@meniga/config

6.1.8 • Public • Published

@meniga/config

Config is a utility library that reads the cosmicConfig property from the window object and merges in a built config object.

@meniga/cli can help create these configs for different environments. See here.

Exports


globalConfig

globalConfig is a wrapper for Config.get, and can be used like this:

const someValue = globalConfig('path/to/config', someDefaultValue)

Example:

import { globalConfig } from '@meniga/config'

const _configItemsPerPage = globalConfig('transactions.itemsPerPage', 50)

getBooleanConfigValue

getBooleanConfigValue makes sure that the value you get from the config is a boolean (e.g. if the config file itself has a string value 'true' you will get back a Boolean(true)). Example:

import { getBooleanConfigValue } from '@meniga/config'

const _configShowCurrentMonthInChart = getBooleanConfigValue('transactions.showCurrentMonthInChart', false)

getIntConfigValue

getIntConfigValue makes sure that the value you get from the config is an integer (e.g. if the config file itself has a string value '10' you will get a Number(10) back). Example:

import { getIntConfigValue } from '@meniga/config'

const _configUndoCategoryChangeTimeout = getIntConfigValue('transactions.undoCategoryChangeTimeout', 3000)

default

The default export is the config class. This class has 4 methods:

  • get(key, defaultValue = null) : gets the vale from the merged config, if null then returns the default value

  • all() : get the whole merged config object

  • pretty() : prints the merged config object out to the console

  • init() : initializes @meniga/config by preloading JSON config files (config/config.json and config/override.json) generated by webpack and exposes them to the get(), all() and pretty() methods. This method should be called during the initialization of your app.

  • load(cosmicJsonConfig, overrideJsonConfig) : Initialize @meniga/config by setting already fetched JSON config files generated by webpack and assigning them to the "window.cosmicConfig" and "window.cosmicOverride" javascript variables.

Readme

Keywords

none

Package Sidebar

Install

npm i @meniga/config

Weekly Downloads

82

Version

6.1.8

License

MIT

Unpacked Size

12.6 kB

Total Files

8

Last publish

Collaborators

  • meniga-npm
  • petermeniga
  • tinna