define-constants

1.1.0 • Public • Published

define-constants

NPM version Build Status Coverage Status

Gets rid of repeating stuff when declaring self-defined constants.

Instead of typing things twice:

const MY_CONSTANT = "MY_COSNTANT" // note a mistype
const MY_FAVOURITE_CONSTANT = "MY_FAVOURITE_CONSTANT"
const MY_CONSTANT_FOR_FUN = "MY_CONSTANT_FOR_FUN"

You can type things once:

import defineConstants from 'define-constants'
 
const {
    MY_CONSTANT,
    MY_FAVOURITE_CONSTANT,
    MY_CONSTANT_FOR_FUN,
} = defineConstants()
 
// MY_CONSTANT === "MY_CONSTANT"
// MY_FAVOURITE_CONSTANT === "MY_FAVOURITE_CONSTANT"
// MY_CONSTANT_FOR_FUN === "MY_CONSTANT_FOR_FUN"

and get them correct. Anyway your console.log(MY_VARIABLE) will show the right text and you will never get frustrated searching for a mistyped constant.

You can also add some namespace to your constants:

const {
    MY_NAMESPACE,
} = defineConstants()
 
const {
    MY_CONSTANT,
    MY_FAVOURITE_CONSTANT,
    MY_CONSTANT_FOR_FUN,
} = defineConstants(MY_NAMESPACE)
 
// MY_CONSTANT === "MY_NAMESPACE.MY_CONSTANT"
// MY_FAVOURITE_CONSTANT === "MY_NAMESPACE.MY_FAVOURITE_CONSTANT"
// MY_CONSTANT_FOR_FUN === "MY_NAMESPACE.MY_CONSTANT_FOR_FUN"

Tweak namespace delimiter if you wish:

const {
    MY_CONSTANT,
    MY_FAVOURITE_CONSTANT,
    MY_CONSTANT_FOR_FUN,
} = defineConstants("MY_NAMESPACE", "/")
 
// MY_CONSTANT === "MY_NAMESPACE/MY_CONSTANT"
// MY_FAVOURITE_CONSTANT === "MY_NAMESPACE/MY_FAVOURITE_CONSTANT"
// MY_CONSTANT_FOR_FUN === "MY_NAMESPACE/MY_CONSTANT_FOR_FUN"

TODO: babel plugin to transform the code at compile time.

API

Table of Contents

defineConstants

Parameters

  • namespace string (optional, default "")
  • delimiter string (optional, default ".")

Returns {} an object with properties containing their names as values.

Readme

Keywords

Package Sidebar

Install

npm i define-constants

Weekly Downloads

1

Version

1.1.0

License

MIT

Unpacked Size

7.28 kB

Total Files

7

Last publish

Collaborators

  • vadzim