define-constants

Gets rid of repeating stuff when declaring self-defined constants.
Instead of typing things twice:
const MY_CONSTANT = "MY_COSNTANT"
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()
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)
Tweak namespace delimiter if you wish:
const {
MY_CONSTANT,
MY_FAVOURITE_CONSTANT,
MY_CONSTANT_FOR_FUN,
} = defineConstants("MY_NAMESPACE", "/")
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.