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.

/define-constants/

    Package Sidebar

    Install

    npm i define-constants

    Weekly Downloads

    4

    Version

    1.1.0

    License

    MIT

    Unpacked Size

    7.28 kB

    Total Files

    7

    Last publish

    Collaborators

    • vadzim