1.0.3 • Published 11 days ago

@teamteanpm2024/iste-magnam-accusantium v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
11 days ago

@teamteanpm2024/iste-magnam-accusantium

Converts process.env into a neatly packed object.

Usage

import config from '@teamteanpm2024/iste-magnam-accusantium';

const myConfig = await config();

What it does

It turns the environment variables below...

API_PORT=3000
API_BASE_URL="http://api.myapp.com/"
API_AUTH_TOKEN=myauthtoken
API_USER_KEYS_0="key1"
API_USER_KEYS_1="key2"
API_USER_KEYS_2="key3"

...into the data below.

{
	api: {
		port: '3000',
		baseUrl: 'http://api.myapp.com',
		authToken: 'myauthtoken',
		userKeys: [
			'key1',
			'key2',
			'key3'
		]
	}
}

Validation

The isvalid package is build into the library and can be used to validate the configuration.

See the documentation for isvalid on how to format the schema.

Example

const myConfig = await config({
	'port': {
		type: Number,
		required: true,
		range: '-65535'
	}
}, /* options = { defaults: { unknownKeys: 'allow' } } */);

The above example will throw an error if the data cannot be validated. It will, though, because of the way isvalid works, convert the port to a Number.

See the isvalid documentation for available options.

The comment in the example is there to show what options config uses per default.

License

See license in LICENSE.

Symbol.toStringTagcolumnstraversefastifyfast-deep-cloneparentsetPrototypeOfdom-testing-librarystylingfunctionsslicezodindicatorwrapstringifierpathspeclazyispnpm9deleteCSSconsumeopencreatevaluecheckmatchesisConcatSpreadableECMAScript 3cjkirqparsecompileransifunctionlinuxstable$.extendES8tostringtagUint32ArrayoptimistuuidcharacterscolumntermbrowserlistautoprefixerregularwgetstreamsObject.assignlesscssprocesscirculartimeStreamsArray.prototype.includesurlsObject.keysflaggetOwnPropertyDescriptorlanguagejsxfilterexpressstyleseditorcoreobjecttranspileinterruptsemitdefaultObject.isdescriptionpatchieIteratormake dirregexpfindajaxtoSortedmovevestcss nestingsigintclassescryptopromiseArrayBuffer#slicees2017parentscharactercollection.es6definePropertyoncees2016touchpromisesfile systemutilityinternal slotutilitiespicomatchfast-clonejwtreusedescriptorqueuetapearraydeep-copytakeargparseoperating-systemsettingsquoteaccessorcallbindjestmetadataxhrargsArray.prototype.containshookspluginsearchpropdirfigletweaksetutilshimform-validationwebsite-0dragcomparemiddlewarepackage.jsonspinnerastutilstypescriptmixinsslotsharedarraybufferlinewrapinternalArrayBufferregexrmdirboundconnectyamlcallboundoptimizertoStringTagconfigurablergbdataviewObject.entriesmkdirpserializecommandintrinsicpurepoint-freevalidatorBigUint64Arrayenderfullhardlinkssuperagentpostcss-pluginiterateerrorSymbolmimeWeakSetcmdnegative zerosyntaxerrorjapanesehelpersopenses-abstractbufferbindbyteLengthutil.inspecteslintbrowserObjectpackage managerprefixECMAScript 2018nodeasyncclientESReactiveXsanitizereduxcopywhichrecursivetrimEndconcatMapESnextloadingWebSocketsCSSStyleDeclarationruntime[[Prototype]]loggingframeworkauthenticationFloat32ArrayprotobufopenersequenceclassnamefromstarthookformlimitedstreamtapfastTypeBoxregular expressionsvalidationtrimLeftbyteECMAScript 2019performancemkdirlistenersjQueryexebcryptES7typemacoswritetoolkitgetassertionhandlersawaitvariables in csslintdatapasswordrequestcorsECMAScript 2023animationnamesfilenegativereact-hooks@@toStringTagStyleSheetcurriedbreakserializerargumentsclicommand-lineencryptionfull-widthpackagestypedrm -rfUnderscorepackageJSONmime-dbschematoobjectES2018libphonenumberfunctionaljasmineprotocol-buffersthreetelephonedayjsoutputwatchertypedarrayestreeiterationstylecryptfindupdeep-cloneJSON-SchemaES2023pipelogkeyssymbolperformantdebugconcurrencyformattingshellpreserve-symlinksPromisees7WebSocketreadReflect.getPrototypeOfeventsbabel-coreECMAScript 2021directorynativees-shim APIRegExp#flagslimitconcatartYAMLtrimStartimmercontainsenumerablestatusMicrosoftHyBinameinstallargumentcss variableObject.definePropertywidthremovewebdeepclonewalkassertexectrimRightprettyECMAScript 5ES5throatimportpositivesetworkspace:*iterator256watchinga11yramdaless mixinscollectionbusyjsdomes-shimstyped arrayidletypanionaccessibilityquerystringmimetypesextracodesspinnerswatchregular expressionwaitnumberpyyamlrobustjsonpathpropertyextendnpmfindLastIndexlaststructuredCloneargv6to5String.prototype.matchAllreducerless compilerFunction.prototype.namejsdiffmkdirsgradients css3linkprivate dataES3inspectUint8ClampedArrayreduceinvariantbundlerstreams2optiones2018flattenObject.valuesformapifindLaststylesheetjsonschemapolyfillvariablesECMAScript 2022tacitmonorepoio-tsreactratees2015ECMAScript 2017computed-typeskarmayupdatephonestatelessless.jslrurangeerrorgesturesjsarktypegradients cssArray.prototype.flatMaptddinferencesameValueZeromruuninstallshrinkwrapxdg-opengettersharedES2019popmotionprotottypropertiescss lessextensionmapdropArray.prototype.filterMapmakelengthqsviewforms0prototypegetoptfind-upES2021json-schemaArray.prototype.flathasdiffeast-asian-widthwindowsreact-hook-formfixed-widthbyteOffsetglobcompile lesspushecmascriptES2017PushdeepdeepcopyefficientUint16ArrayeveryprogresstypeerrorStreames8fpenvwhatwgl10nassertsdotenvprunefastclonegetPrototypeOfTypeScriptcall-bindavasortedassignshebangtranspilerObject.fromEntriesduplexcore-jssignalsgroupByequalsettermochagetintrinsicpostcssomittoolsfetchchineseeventEmitterrmprivaterequireresolveupjavascriptsigtermincludestestingsafebatchInt8ArrayratelimitbabelponyfillxdgRx_.extendsanitizationjoiweakmapdatastructureES2016loggermatchforEachfast-copytrimapparraysECMAScript 2020immutablesyntaxclassnameschaitesterobjBigInt64ArrayES2020URLSearchParamscacheawesomesauceECMAScript 7hashxtermkoreanES2022Setscheme-validationinstallerwordbreakgrouphigher-orderdependency manager
1.0.2

12 days ago

1.0.3

11 days ago

1.0.1

13 days ago

1.0.0

14 days ago