JSPM

  • Created
  • Published
  • Downloads 182
  • Score
    100M100P100Q79925F
  • License MIT

Geo data, primarily ISO territories, languages etc. Data fetched mostly from CLDR.

Package Exports

  • larvitgeodata
  • larvitgeodata/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (larvitgeodata) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Build Status

larvitgeodata

Node module for geo data, primarily ISO territories, languages etc

Installation

npm i larvitgeodata;

Usage

In your start script file, run this:

const Geo = require('larvitgeodata');
const DB = require('larvitdb');
const { Log } = require('larvitutils');

let	geo;

const db = new Db({...}); // See https://github.com/larvit/larvitdb for details on how to configure the database

geo = new Geo({
    db,

    // Optional
    'log':	new Log('info')
});

await geo.ready(); // Throws on error
// Database is full, do cool stuff with it.

Territories

const result = await geo.getTerritories(); // Throws on error
// result:
// [{'iso3166_1_num': 4, 'iso3166_1_alpha_3': 'AFG', 'iso3166_1_alpha_2': 'AF', 'label': 'Afghanistan'},...]

Languages

const result = geo.getLanguages(); // Throws on error
// Example result:
// [{'iso639_3': 'aar', 'iso639_1': 'aa', 'type': 'living', 'scope': 'individual', 'label': 'Afar'},...]

Different label languages

The lists can show labels on different languages, here are some examples:

const result = await geo.getTerritories({'labelLang': 'swe'}); // Throws on error
// result:
// [...,{'iso3166_1_num': 166, 'iso3166_1_alpha_3': 'CCK', 'iso3166_1_alpha_2': 'CC', 'label': 'Kokosöarna'},...]

Currencies

Returns a list of currencies with iso4217 code with a localized display name and symbol and/or an english "description" that is similar to display name. "labelLang" expects the iso 639-1 iso code of the language.

const result = await geo.getCurrencies({'labelLang': 'en', 'descriptions': false}); // Throws on error
// result:
// "[...,{"iso_4217":"adp","description":"Andorran Peseta","symbol":null,"displayName":"Andorran Peseta"},...]