numbeo-helpers

1.0.2 • Public • Published

numbeo-helpers

Helpers for translation data in Numbeo API.

The most basic purpose is getting russian translations of categories names used in API. These categories used in this API methods:

Prices:

  • /api/price_items
  • /api/city_prices
  • /api/country_prices
  • /api/historical_city_prices
  • /api/historical_country_prices
  • /api/city_prices_raw
  • /api/city_prices_archive_raw

Example:

{
   "monthLastUpdate":4,
   "contributors":91,
   "name":"Belgrade, Serbia",
   "prices":[
      {
         "average_price":5.443478260869566,
         "item_name":"Meal, Inexpensive Restaurant, Restaurants",
         "highest_price":7,
         "item_id":1,
         "lowest_price":4
      },
      {
         "average_price":1.8523809523809522,
         "item_name":"Imported Beer (0.33 liter bottle), Restaurants",
         "highest_price":2.3,
         "item_id":5,
         "lowest_price":1.5
      },
      {
         "average_price":0.3611111111111111,
         "item_name":"Lettuce (1 head), Markets",
         "highest_price":0.5,
         "item_id":113,
         "lowest_price":0.25
      },
      {
         "average_price":1.3,
         "item_name":"Cappuccino (regular), Restaurants",
         "highest_price":1.5,
         "item_id":114,
         "lowest_price":1.2
      }
   ],
   "yearLastUpdate":2012,
   "currency":"EUR"
}

Here you see array of objects named prices, and every object have item_id. So, numbeo-helpers working with this IDs.

Also there is one small method for getting textual version of crime and safety indices used by this API methods:

Indices:

  • /api/indices
  • /api/country_indices
  • /api/city_crime
  • /api/country_crime

Example:

{
   "health_care_index":66.75925925925927,
   "crime_index":38.84500915750915,
   "traffic_time_index":17,
   "purchasing_power_incl_rent_index":104.48707062276117,
   "cpi_index":77.32543080858119,
   "pollution_index":69.3103448275862,
   "traffic_index":93.60606499265447,
   "quality_of_life_index":141.4787210994602,
   "cpi_and_rent_index":58.15013366824719,
   "groceries_index":71.8735218572076,
   "safety_index":61.154990842490825,
   "name":"Kuwait",
   "rent_index":37.49969632054832,
   "traffic_co2_index":4256,
   "restaurant_price_index":75.45173244741275,
   "traffic_inefficiency_index":52.48906353257302,
   "property_price_to_income_ratio":6.989395647748136
}

Install

$ npm install numbeo-helpers
$ yarn add numbeo-helpers

Usage

Basic:

const numbeo = require("numbeo-helpers")();

Debug:

const numbeo = require("numbeo-helpers")({"debug": true});

You can pass {"debug": true} in function, so it console.log messages, if you pass something wrong to method. If you don't pass - debug is false by default.

API

numbeo.categoryObjectById(category_id)

Returns object of category by ID.

category_id

Type: number, string

Example:

numbeo.categoryObjectById(1);

Result:

  {
    "id": 1,
    "category_name": {
      "en": "Restaurants",
      "ru": "Рестораны"
    },
    "item_name": {
      "en": "Meal, Inexpensive Restaurant",
      "ru": "Порция, недорогой ресторан"
    },
    "payment_type": "oneoff",
    "slug": "restaurants"
  }

numbeo.nameById(category_id, [locale])

Get name of category by ID on specified language.

category_id

Type: number, string

locale

Type: string Default: ru Supported: ru, en

If locale not specified, then ru will be used.

Example:

numbeo.nameById(2, "ru")

Result:

Порция на двоих, ресторан среднего класса, три блюда

numbeo.allCategoriesByType(category)

Returns array of objects with categories of this type.

category

Type: string Supported: restaurants, markets, transportation, utilities, sportsleisure, childcare, fashion, rent, apartments, finance

Example:

numbeo.allCategoriesByType("finance")

Result:

[ { id: 105,
    category_name:
     { en: 'Salaries And Financing',
       ru: 'Зарплата и финансирование' },
    item_name:
     { en: 'Average Monthly Net Salary (After Tax)',
       ru: 'Месячная (после уплаты налогов)' },
    payment_type: 'monthly',
    slug: 'finance' },
  { id: 106,
    category_name:
     { en: 'Salaries And Financing',
       ru: 'Зарплата и финансирование' },
    item_name:
     { en: 'Mortgage Interest Rate in Percentages (%), Yearly',
       ru: 'Ипотека (%, год)' },
    payment_type: 'yearly',
    slug: 'finance' } ]

numbeo.allCategoriesByPaymentType(payment_type)

Returns array of objects with categories of this payment type.

payment_type

Type: string Supported: oneoff, monthly, yearly (oneoff means one-time payments, e.g. market purchases, taxi payments and suchlike)

Example:

numbeo.allCategoriesByPaymentType("yearly")

Results in:

[ { id: 228,
    category_name: { en: 'Childcare', ru: 'Дети' },
    item_name:
     { en: 'International Primary School, Yearly for 1 Child',
       ru: '' },
    payment_type: 'yearly',
    slug: 'childcare' },
  { id: 106,
    category_name:
     { en: 'Salaries And Financing',
       ru: 'Зарплата и финансирование' },
    item_name:
     { en: 'Mortgage Interest Rate in Percentages (%), Yearly',
       ru: 'Ипотека (%, год)' },
    payment_type: 'yearly',
    slug: 'finance' } ]
 

numbeo.crimeAndSafetyIndex(index, [locale])

Get text description of crime and safety index.

Returns object with text descriptions of crime and safety indices by passing crime index. In Numbeo API safety index is a number opposite to crime index, so it's decriptions is opposite too (high level of crime means low level of safety).

index

Type: number

locale

Type: string Default: ru Supported: ru, en

If locale not specified, then ru will be used.

Example:

numbeo.crimeAndSafetyIndex(18.99726889577763, "ru")

Results in:

{
    "crime": "Очень низкий",
    "safety": "Очень высокий"
}

Testing

$ npm run test

License

MIT © Alexander Sharabarov

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.2
    1
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 1.0.2
    1
  • 1.0.1
    0
  • 1.0.0
    0

Package Sidebar

Install

npm i numbeo-helpers

Weekly Downloads

1

Version

1.0.2

License

MIT

Last publish

Collaborators

  • alcovegan