Launch Week Day 5: Introducing Reachability for PHP.Learn More
Socket
Book a DemoSign in
Socket

envix

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

envix - npm Package Compare versions

Comparing version
1.2.0
to
1.3.0
+2
dist/read-float.d.ts
export declare function readFloat(key: string): number | undefined;
export declare function readFloat<T>(key: string, alt: T): T | number;
export declare function toFloat(value: any): number | undefined;
+21
-4

@@ -46,8 +46,8 @@ 'use strict';

function readArray(key) {
function readArray(key, alt) {
const value = read(key);
if (typeof value === 'undefined') {
return undefined;
return alt;
}
return value.split(',');
return value.split(',').filter(Boolean);
}

@@ -71,2 +71,10 @@

function toFloat(value) {
const num = Number.parseFloat(value);
if (Number.isNaN(num) || Number.isNaN(value)) {
return undefined;
}
return num;
}
function toInt(value) {

@@ -104,2 +112,10 @@ const num = Number.parseInt(value, 10);

function readFloat(key, alt) {
const value = read(key);
if (typeof value !== 'undefined') {
return toFloat(value) ?? alt;
}
return alt;
}
function readNumber(key, alt) {

@@ -118,3 +134,3 @@ const value = read(key);

}
const nums = value.split(',').map((el)=>toNumber(el));
const nums = value.split(',').filter(Boolean).map((el)=>toNumber(el));
if (nums.some((el)=>typeof el === 'undefined')) {

@@ -140,2 +156,3 @@ return undefined;

exports.readBool = readBool;
exports.readFloat = readFloat;
exports.readInt = readInt;

@@ -142,0 +159,0 @@ exports.readNumber = readNumber;

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"index.cjs","sources":["../src/has.ts","../src/one-of.ts","../src/or-fail.ts","../src/read.ts","../src/read-array.ts","../src/utils/bool.ts","../src/utils/int.ts","../src/utils/number.ts","../src/read-bool.ts","../src/read-int.ts","../src/read-number.ts","../src/read-number-array.ts","../src/write.ts"],"sourcesContent":["import { env } from 'std-env';\n\nexport function has(key: string) : boolean {\n if (Reflect.has(env, key)) {\n return true;\n }\n\n /* istanbul ignore next */\n return Reflect.has(globalThis.process?.env, key);\n}\n","type Unwrap<T> = T extends Array<infer Return> ? Return : T;\nexport function oneOf<T extends any[]>(input: T): Unwrap<T> | undefined {\n for (let i = 0; i < input.length; i++) {\n if (typeof input[i] !== 'undefined') {\n return input[i];\n }\n }\n\n return undefined;\n}\n","export function orFail<T>(output: T) : Exclude<T, undefined> {\n if (typeof output === 'undefined') {\n throw new Error('The environment variable could not be read.');\n }\n\n return output as Exclude<T, undefined>;\n}\n","import { env } from 'std-env';\n\nexport function read() : Record<string, string | undefined>;\nexport function read(key: string) : string | undefined;\nexport function read<T>(key: string, alt: T) : T | string;\nexport function read<T>(key?: string, alt?: T): any {\n if (typeof key === 'undefined') {\n const keys = Reflect.ownKeys(env) as string[];\n const output : Record<string, string | undefined> = {};\n for (let i = 0; i < keys.length; i++) {\n output[keys[i]] = env[keys[i]];\n }\n return output;\n }\n\n if (Reflect.has(env, key)) {\n return env[key];\n }\n\n /* istanbul ignore next */\n if (Reflect.has(globalThis.process?.env, key)) {\n return globalThis.process?.env[key];\n }\n\n return alt;\n}\n","import { read } from './read';\n\nexport function readArray(key: string) : string[] | undefined {\n const value = read(key);\n if (typeof value === 'undefined') {\n return undefined;\n }\n\n return value.split(',');\n}\n","export function toBool(value: any) : boolean | undefined {\n switch (value) {\n case true:\n case 'true':\n case 't':\n case '1':\n return true;\n case false:\n case 'false':\n case 'f':\n case '0':\n return false;\n }\n\n return undefined;\n}\n","export function toInt(value: any) : number | undefined {\n const num = Number.parseInt(value, 10);\n if (Number.isNaN(num)) {\n return undefined;\n }\n\n return num;\n}\n","export function toNumber(value: any) : number | undefined {\n const num = Number(value);\n if (Number.isNaN(num)) {\n return undefined;\n }\n\n return num;\n}\n","import { read } from './read';\nimport { toBool } from './utils';\n\nexport function readBool(key: string) : boolean | undefined;\nexport function readBool<T>(key: string, alt: T) : T | boolean;\nexport function readBool<T>(key: string, alt?: T) : any {\n const value = read(key) as any;\n if (typeof value !== 'undefined') {\n return toBool(value) ?? alt;\n }\n\n return alt;\n}\n","import { read } from './read';\nimport { toInt } from './utils';\n\nexport function readInt(key: string) : number | undefined;\nexport function readInt<T>(key: string, alt: T) : T | number;\nexport function readInt<T>(key: string, alt?: T) : any {\n const value = read(key) as any;\n if (typeof value !== 'undefined') {\n return toInt(value) ?? alt;\n }\n\n return alt;\n}\n","import { read } from './read';\nimport { toNumber } from './utils';\n\nexport function readNumber(key: string) : number | undefined;\nexport function readNumber<T>(key: string, alt: T) : T | number;\nexport function readNumber<T>(key: string, alt?: T) : any {\n const value = read(key) as any;\n if (typeof value !== 'undefined') {\n return toNumber(value) ?? alt;\n }\n\n return alt;\n}\n","import { read } from './read';\nimport { toNumber } from './utils';\n\nexport function readNumberArray(key: string) : number[] | undefined {\n const value = read(key);\n if (!value) {\n return undefined;\n }\n\n const nums = value.split(',').map((el) => toNumber(el));\n if (nums.some((el) => typeof el === 'undefined')) {\n return undefined;\n }\n\n return nums as number[];\n}\n","import { env } from 'std-env';\n\nexport function write(key: string, value: string | undefined) {\n if (typeof value === 'undefined') {\n delete env[key];\n return;\n }\n\n env[key] = value;\n}\n"],"names":["has","key","Reflect","env","globalThis","process","oneOf","input","i","length","undefined","orFail","output","Error","read","alt","keys","ownKeys","readArray","value","split","toBool","toInt","num","Number","parseInt","isNaN","toNumber","readBool","readInt","readNumber","readNumberArray","nums","map","el","some","write"],"mappings":"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"}
{"version":3,"file":"index.cjs","sources":["../src/has.ts","../src/one-of.ts","../src/or-fail.ts","../src/read.ts","../src/read-array.ts","../src/utils/bool.ts","../src/utils/float.ts","../src/utils/int.ts","../src/utils/number.ts","../src/read-bool.ts","../src/read-int.ts","../src/read-float.ts","../src/read-number.ts","../src/read-number-array.ts","../src/write.ts"],"sourcesContent":["import { env } from 'std-env';\n\nexport function has(key: string) : boolean {\n if (Reflect.has(env, key)) {\n return true;\n }\n\n /* istanbul ignore next */\n return Reflect.has(globalThis.process?.env, key);\n}\n","type Unwrap<T> = T extends Array<infer Return> ? Return : T;\nexport function oneOf<T extends any[]>(input: T): Unwrap<T> | undefined {\n for (let i = 0; i < input.length; i++) {\n if (typeof input[i] !== 'undefined') {\n return input[i];\n }\n }\n\n return undefined;\n}\n","export function orFail<T>(output: T) : Exclude<T, undefined> {\n if (typeof output === 'undefined') {\n throw new Error('The environment variable could not be read.');\n }\n\n return output as Exclude<T, undefined>;\n}\n","import { env } from 'std-env';\n\nexport function read() : Record<string, string | undefined>;\nexport function read(key: string) : string | undefined;\nexport function read<T>(key: string, alt: T) : T | string;\nexport function read<T>(key?: string, alt?: T): any {\n if (typeof key === 'undefined') {\n const keys = Reflect.ownKeys(env) as string[];\n const output : Record<string, string | undefined> = {};\n for (let i = 0; i < keys.length; i++) {\n output[keys[i]] = env[keys[i]];\n }\n return output;\n }\n\n if (Reflect.has(env, key)) {\n return env[key];\n }\n\n /* istanbul ignore next */\n if (Reflect.has(globalThis.process?.env, key)) {\n return globalThis.process?.env[key];\n }\n\n return alt;\n}\n","import { read } from './read';\n\nexport function readArray(key: string) : string[] | undefined;\nexport function readArray(key: string, alt: string[]) : string[];\nexport function readArray(key: string, alt?: string[]): any {\n const value = read(key);\n if (typeof value === 'undefined') {\n return alt;\n }\n\n return value.split(',').filter(Boolean);\n}\n","export function toBool(value: any) : boolean | undefined {\n switch (value) {\n case true:\n case 'true':\n case 't':\n case '1':\n return true;\n case false:\n case 'false':\n case 'f':\n case '0':\n return false;\n }\n\n return undefined;\n}\n","export function toFloat(value: any) : number | undefined {\n const num = Number.parseFloat(value);\n if (Number.isNaN(num) || Number.isNaN(value)) {\n return undefined;\n }\n\n return num;\n}\n","export function toInt(value: any) : number | undefined {\n const num = Number.parseInt(value, 10);\n if (Number.isNaN(num)) {\n return undefined;\n }\n\n return num;\n}\n","export function toNumber(value: any) : number | undefined {\n const num = Number(value);\n if (Number.isNaN(num)) {\n return undefined;\n }\n\n return num;\n}\n","import { read } from './read';\nimport { toBool } from './utils';\n\nexport function readBool(key: string) : boolean | undefined;\nexport function readBool<T>(key: string, alt: T) : T | boolean;\nexport function readBool<T>(key: string, alt?: T) : any {\n const value = read(key) as any;\n if (typeof value !== 'undefined') {\n return toBool(value) ?? alt;\n }\n\n return alt;\n}\n","import { read } from './read';\nimport { toInt } from './utils';\n\nexport function readInt(key: string) : number | undefined;\nexport function readInt<T>(key: string, alt: T) : T | number;\nexport function readInt<T>(key: string, alt?: T) : any {\n const value = read(key) as any;\n if (typeof value !== 'undefined') {\n return toInt(value) ?? alt;\n }\n\n return alt;\n}\n","import { read } from './read';\nimport { toFloat } from './utils';\n\nexport function readFloat(key: string) : number | undefined;\nexport function readFloat<T>(key: string, alt: T) : T | number;\nexport function readFloat<T>(key: string, alt?: T) : any {\n const value = read(key) as any;\n if (typeof value !== 'undefined') {\n return toFloat(value) ?? alt;\n }\n\n return alt;\n}\n","import { read } from './read';\nimport { toNumber } from './utils';\n\nexport function readNumber(key: string) : number | undefined;\nexport function readNumber<T>(key: string, alt: T) : T | number;\nexport function readNumber<T>(key: string, alt?: T) : any {\n const value = read(key) as any;\n if (typeof value !== 'undefined') {\n return toNumber(value) ?? alt;\n }\n\n return alt;\n}\n","import { read } from './read';\nimport { toNumber } from './utils';\n\nexport function readNumberArray(key: string) : number[] | undefined {\n const value = read(key);\n if (!value) {\n return undefined;\n }\n\n const nums = value.split(',')\n .filter(Boolean)\n .map((el) => toNumber(el));\n\n if (nums.some((el) => typeof el === 'undefined')) {\n return undefined;\n }\n\n return nums as number[];\n}\n","import { env } from 'std-env';\n\nexport function write(key: string, value: string | undefined) {\n if (typeof value === 'undefined') {\n delete env[key];\n return;\n }\n\n env[key] = value;\n}\n"],"names":["has","key","Reflect","env","globalThis","process","oneOf","input","i","length","undefined","orFail","output","Error","read","alt","keys","ownKeys","readArray","value","split","filter","Boolean","toBool","toFloat","num","Number","parseFloat","isNaN","toInt","parseInt","toNumber","readBool","readInt","readFloat","readNumber","readNumberArray","nums","map","el","some","write"],"mappings":";;;;AAEO,SAASA,IAAIC,GAAW,EAAA;AAC3B,IAAA,IAAIC,OAAQF,CAAAA,GAAG,CAACG,UAAAA,EAAKF,GAAM,CAAA,EAAA;QACvB,OAAO,IAAA,CAAA;AACX,KAAA;+BAGA,OAAOC,OAAQF,CAAAA,GAAG,CAACI,UAAWC,CAAAA,OAAO,EAAEF,GAAKF,EAAAA,GAAAA,CAAAA,CAAAA;AAChD;;ACRO,SAASK,MAAuBC,KAAQ,EAAA;AAC3C,IAAA,IAAK,IAAIC,CAAI,GAAA,CAAA,EAAGA,IAAID,KAAME,CAAAA,MAAM,EAAED,CAAK,EAAA,CAAA;AACnC,QAAA,IAAI,OAAOD,KAAK,CAACC,CAAAA,CAAE,KAAK,WAAa,EAAA;YACjC,OAAOD,KAAK,CAACC,CAAE,CAAA,CAAA;AACnB,SAAA;AACJ,KAAA;IAEA,OAAOE,SAAAA,CAAAA;AACX;;ACTO,SAASC,OAAUC,MAAS,EAAA;IAC/B,IAAI,OAAOA,WAAW,WAAa,EAAA;AAC/B,QAAA,MAAM,IAAIC,KAAM,CAAA,6CAAA,CAAA,CAAA;AACpB,KAAA;IAEA,OAAOD,MAAAA,CAAAA;AACX;;ACDO,SAASE,IAAAA,CAAQb,GAAY,EAAEc,GAAO,EAAA;IACzC,IAAI,OAAOd,QAAQ,WAAa,EAAA;QAC5B,MAAMe,IAAAA,GAAOd,OAAQe,CAAAA,OAAO,CAACd,UAAAA,CAAAA,CAAAA;AAC7B,QAAA,MAAMS,SAA8C,EAAC,CAAA;AACrD,QAAA,IAAK,IAAIJ,CAAI,GAAA,CAAA,EAAGA,IAAIQ,IAAKP,CAAAA,MAAM,EAAED,CAAK,EAAA,CAAA;YAClCI,MAAM,CAACI,IAAI,CAACR,CAAE,CAAA,CAAC,GAAGL,UAAG,CAACa,IAAI,CAACR,CAAAA,CAAE,CAAC,CAAA;AAClC,SAAA;QACA,OAAOI,MAAAA,CAAAA;AACX,KAAA;AAEA,IAAA,IAAIV,OAAQF,CAAAA,GAAG,CAACG,UAAAA,EAAKF,GAAM,CAAA,EAAA;QACvB,OAAOE,UAAG,CAACF,GAAI,CAAA,CAAA;AACnB,KAAA;+BAGA,IAAIC,OAAQF,CAAAA,GAAG,CAACI,UAAWC,CAAAA,OAAO,EAAEF,GAAAA,EAAKF,GAAM,CAAA,EAAA;AAC3C,QAAA,OAAOG,UAAWC,CAAAA,OAAO,EAAEF,GAAG,CAACF,GAAI,CAAA,CAAA;AACvC,KAAA;IAEA,OAAOc,GAAAA,CAAAA;AACX;;ACrBO,SAASG,SAAAA,CAAUjB,GAAW,EAAEc,GAAc,EAAA;AACjD,IAAA,MAAMI,QAAQL,IAAKb,CAAAA,GAAAA,CAAAA,CAAAA;IACnB,IAAI,OAAOkB,UAAU,WAAa,EAAA;QAC9B,OAAOJ,GAAAA,CAAAA;AACX,KAAA;AAEA,IAAA,OAAOI,KAAMC,CAAAA,KAAK,CAAC,GAAA,CAAA,CAAKC,MAAM,CAACC,OAAAA,CAAAA,CAAAA;AACnC;;ACXO,SAASC,OAAOJ,KAAU,EAAA;IAC7B,OAAQA,KAAAA;QACJ,KAAK,IAAA,CAAA;QACL,KAAK,MAAA,CAAA;QACL,KAAK,GAAA,CAAA;QACL,KAAK,GAAA;YACD,OAAO,IAAA,CAAA;QACX,KAAK,KAAA,CAAA;QACL,KAAK,OAAA,CAAA;QACL,KAAK,GAAA,CAAA;QACL,KAAK,GAAA;YACD,OAAO,KAAA,CAAA;AACf,KAAA;IAEA,OAAOT,SAAAA,CAAAA;AACX;;ACfO,SAASc,QAAQL,KAAU,EAAA;IAC9B,MAAMM,GAAAA,GAAMC,MAAOC,CAAAA,UAAU,CAACR,KAAAA,CAAAA,CAAAA;AAC9B,IAAA,IAAIO,OAAOE,KAAK,CAACH,QAAQC,MAAOE,CAAAA,KAAK,CAACT,KAAQ,CAAA,EAAA;QAC1C,OAAOT,SAAAA,CAAAA;AACX,KAAA;IAEA,OAAOe,GAAAA,CAAAA;AACX;;ACPO,SAASI,MAAMV,KAAU,EAAA;AAC5B,IAAA,MAAMM,GAAMC,GAAAA,MAAAA,CAAOI,QAAQ,CAACX,KAAO,EAAA,EAAA,CAAA,CAAA;IACnC,IAAIO,MAAAA,CAAOE,KAAK,CAACH,GAAM,CAAA,EAAA;QACnB,OAAOf,SAAAA,CAAAA;AACX,KAAA;IAEA,OAAOe,GAAAA,CAAAA;AACX;;ACPO,SAASM,SAASZ,KAAU,EAAA;AAC/B,IAAA,MAAMM,MAAMC,MAAOP,CAAAA,KAAAA,CAAAA,CAAAA;IACnB,IAAIO,MAAAA,CAAOE,KAAK,CAACH,GAAM,CAAA,EAAA;QACnB,OAAOf,SAAAA,CAAAA;AACX,KAAA;IAEA,OAAOe,GAAAA,CAAAA;AACX;;ACFO,SAASO,QAAAA,CAAY/B,GAAW,EAAEc,GAAO,EAAA;AAC5C,IAAA,MAAMI,QAAQL,IAAKb,CAAAA,GAAAA,CAAAA,CAAAA;IACnB,IAAI,OAAOkB,UAAU,WAAa,EAAA;AAC9B,QAAA,OAAOI,OAAOJ,KAAUJ,CAAAA,IAAAA,GAAAA,CAAAA;AAC5B,KAAA;IAEA,OAAOA,GAAAA,CAAAA;AACX;;ACPO,SAASkB,OAAAA,CAAWhC,GAAW,EAAEc,GAAO,EAAA;AAC3C,IAAA,MAAMI,QAAQL,IAAKb,CAAAA,GAAAA,CAAAA,CAAAA;IACnB,IAAI,OAAOkB,UAAU,WAAa,EAAA;AAC9B,QAAA,OAAOU,MAAMV,KAAUJ,CAAAA,IAAAA,GAAAA,CAAAA;AAC3B,KAAA;IAEA,OAAOA,GAAAA,CAAAA;AACX;;ACPO,SAASmB,SAAAA,CAAajC,GAAW,EAAEc,GAAO,EAAA;AAC7C,IAAA,MAAMI,QAAQL,IAAKb,CAAAA,GAAAA,CAAAA,CAAAA;IACnB,IAAI,OAAOkB,UAAU,WAAa,EAAA;AAC9B,QAAA,OAAOK,QAAQL,KAAUJ,CAAAA,IAAAA,GAAAA,CAAAA;AAC7B,KAAA;IAEA,OAAOA,GAAAA,CAAAA;AACX;;ACPO,SAASoB,UAAAA,CAAclC,GAAW,EAAEc,GAAO,EAAA;AAC9C,IAAA,MAAMI,QAAQL,IAAKb,CAAAA,GAAAA,CAAAA,CAAAA;IACnB,IAAI,OAAOkB,UAAU,WAAa,EAAA;AAC9B,QAAA,OAAOY,SAASZ,KAAUJ,CAAAA,IAAAA,GAAAA,CAAAA;AAC9B,KAAA;IAEA,OAAOA,GAAAA,CAAAA;AACX;;ACTO,SAASqB,gBAAgBnC,GAAW,EAAA;AACvC,IAAA,MAAMkB,QAAQL,IAAKb,CAAAA,GAAAA,CAAAA,CAAAA;AACnB,IAAA,IAAI,CAACkB,KAAO,EAAA;QACR,OAAOT,SAAAA,CAAAA;AACX,KAAA;AAEA,IAAA,MAAM2B,IAAOlB,GAAAA,KAAAA,CAAMC,KAAK,CAAC,GACpBC,CAAAA,CAAAA,MAAM,CAACC,OAAAA,CAAAA,CACPgB,GAAG,CAAC,CAACC,EAAAA,GAAOR,QAASQ,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA;AAE1B,IAAA,IAAIF,KAAKG,IAAI,CAAC,CAACD,EAAO,GAAA,OAAOA,OAAO,WAAc,CAAA,EAAA;QAC9C,OAAO7B,SAAAA,CAAAA;AACX,KAAA;IAEA,OAAO2B,IAAAA,CAAAA;AACX;;AChBO,SAASI,KAAAA,CAAMxC,GAAW,EAAEkB,KAAyB,EAAA;IACxD,IAAI,OAAOA,UAAU,WAAa,EAAA;QAC9B,OAAOhB,UAAG,CAACF,GAAI,CAAA,CAAA;AACf,QAAA,OAAA;AACJ,KAAA;IAEAE,UAAG,CAACF,IAAI,GAAGkB,KAAAA,CAAAA;AACf;;;;;;;;;;;;;;"}

@@ -8,4 +8,5 @@ export * from './has';

export * from './read-int';
export * from './read-float';
export * from './read-number';
export * from './read-number-array';
export * from './write';

@@ -44,8 +44,8 @@ import { env } from 'std-env';

function readArray(key) {
function readArray(key, alt) {
const value = read(key);
if (typeof value === 'undefined') {
return undefined;
return alt;
}
return value.split(',');
return value.split(',').filter(Boolean);
}

@@ -69,2 +69,10 @@

function toFloat(value) {
const num = Number.parseFloat(value);
if (Number.isNaN(num) || Number.isNaN(value)) {
return undefined;
}
return num;
}
function toInt(value) {

@@ -102,2 +110,10 @@ const num = Number.parseInt(value, 10);

function readFloat(key, alt) {
const value = read(key);
if (typeof value !== 'undefined') {
return toFloat(value) ?? alt;
}
return alt;
}
function readNumber(key, alt) {

@@ -116,3 +132,3 @@ const value = read(key);

}
const nums = value.split(',').map((el)=>toNumber(el));
const nums = value.split(',').filter(Boolean).map((el)=>toNumber(el));
if (nums.some((el)=>typeof el === 'undefined')) {

@@ -132,3 +148,3 @@ return undefined;

export { has, oneOf, orFail, read, readArray, readBool, readInt, readNumber, readNumberArray, write };
export { has, oneOf, orFail, read, readArray, readBool, readFloat, readInt, readNumber, readNumberArray, write };
//# sourceMappingURL=index.mjs.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.mjs","sources":["../src/has.ts","../src/one-of.ts","../src/or-fail.ts","../src/read.ts","../src/read-array.ts","../src/utils/bool.ts","../src/utils/int.ts","../src/utils/number.ts","../src/read-bool.ts","../src/read-int.ts","../src/read-number.ts","../src/read-number-array.ts","../src/write.ts"],"sourcesContent":["import { env } from 'std-env';\n\nexport function has(key: string) : boolean {\n if (Reflect.has(env, key)) {\n return true;\n }\n\n /* istanbul ignore next */\n return Reflect.has(globalThis.process?.env, key);\n}\n","type Unwrap<T> = T extends Array<infer Return> ? Return : T;\nexport function oneOf<T extends any[]>(input: T): Unwrap<T> | undefined {\n for (let i = 0; i < input.length; i++) {\n if (typeof input[i] !== 'undefined') {\n return input[i];\n }\n }\n\n return undefined;\n}\n","export function orFail<T>(output: T) : Exclude<T, undefined> {\n if (typeof output === 'undefined') {\n throw new Error('The environment variable could not be read.');\n }\n\n return output as Exclude<T, undefined>;\n}\n","import { env } from 'std-env';\n\nexport function read() : Record<string, string | undefined>;\nexport function read(key: string) : string | undefined;\nexport function read<T>(key: string, alt: T) : T | string;\nexport function read<T>(key?: string, alt?: T): any {\n if (typeof key === 'undefined') {\n const keys = Reflect.ownKeys(env) as string[];\n const output : Record<string, string | undefined> = {};\n for (let i = 0; i < keys.length; i++) {\n output[keys[i]] = env[keys[i]];\n }\n return output;\n }\n\n if (Reflect.has(env, key)) {\n return env[key];\n }\n\n /* istanbul ignore next */\n if (Reflect.has(globalThis.process?.env, key)) {\n return globalThis.process?.env[key];\n }\n\n return alt;\n}\n","import { read } from './read';\n\nexport function readArray(key: string) : string[] | undefined {\n const value = read(key);\n if (typeof value === 'undefined') {\n return undefined;\n }\n\n return value.split(',');\n}\n","export function toBool(value: any) : boolean | undefined {\n switch (value) {\n case true:\n case 'true':\n case 't':\n case '1':\n return true;\n case false:\n case 'false':\n case 'f':\n case '0':\n return false;\n }\n\n return undefined;\n}\n","export function toInt(value: any) : number | undefined {\n const num = Number.parseInt(value, 10);\n if (Number.isNaN(num)) {\n return undefined;\n }\n\n return num;\n}\n","export function toNumber(value: any) : number | undefined {\n const num = Number(value);\n if (Number.isNaN(num)) {\n return undefined;\n }\n\n return num;\n}\n","import { read } from './read';\nimport { toBool } from './utils';\n\nexport function readBool(key: string) : boolean | undefined;\nexport function readBool<T>(key: string, alt: T) : T | boolean;\nexport function readBool<T>(key: string, alt?: T) : any {\n const value = read(key) as any;\n if (typeof value !== 'undefined') {\n return toBool(value) ?? alt;\n }\n\n return alt;\n}\n","import { read } from './read';\nimport { toInt } from './utils';\n\nexport function readInt(key: string) : number | undefined;\nexport function readInt<T>(key: string, alt: T) : T | number;\nexport function readInt<T>(key: string, alt?: T) : any {\n const value = read(key) as any;\n if (typeof value !== 'undefined') {\n return toInt(value) ?? alt;\n }\n\n return alt;\n}\n","import { read } from './read';\nimport { toNumber } from './utils';\n\nexport function readNumber(key: string) : number | undefined;\nexport function readNumber<T>(key: string, alt: T) : T | number;\nexport function readNumber<T>(key: string, alt?: T) : any {\n const value = read(key) as any;\n if (typeof value !== 'undefined') {\n return toNumber(value) ?? alt;\n }\n\n return alt;\n}\n","import { read } from './read';\nimport { toNumber } from './utils';\n\nexport function readNumberArray(key: string) : number[] | undefined {\n const value = read(key);\n if (!value) {\n return undefined;\n }\n\n const nums = value.split(',').map((el) => toNumber(el));\n if (nums.some((el) => typeof el === 'undefined')) {\n return undefined;\n }\n\n return nums as number[];\n}\n","import { env } from 'std-env';\n\nexport function write(key: string, value: string | undefined) {\n if (typeof value === 'undefined') {\n delete env[key];\n return;\n }\n\n env[key] = value;\n}\n"],"names":["has","key","Reflect","env","globalThis","process","oneOf","input","i","length","undefined","orFail","output","Error","read","alt","keys","ownKeys","readArray","value","split","toBool","toInt","num","Number","parseInt","isNaN","toNumber","readBool","readInt","readNumber","readNumberArray","nums","map","el","some","write"],"mappings":"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"}
{"version":3,"file":"index.mjs","sources":["../src/has.ts","../src/one-of.ts","../src/or-fail.ts","../src/read.ts","../src/read-array.ts","../src/utils/bool.ts","../src/utils/float.ts","../src/utils/int.ts","../src/utils/number.ts","../src/read-bool.ts","../src/read-int.ts","../src/read-float.ts","../src/read-number.ts","../src/read-number-array.ts","../src/write.ts"],"sourcesContent":["import { env } from 'std-env';\n\nexport function has(key: string) : boolean {\n if (Reflect.has(env, key)) {\n return true;\n }\n\n /* istanbul ignore next */\n return Reflect.has(globalThis.process?.env, key);\n}\n","type Unwrap<T> = T extends Array<infer Return> ? Return : T;\nexport function oneOf<T extends any[]>(input: T): Unwrap<T> | undefined {\n for (let i = 0; i < input.length; i++) {\n if (typeof input[i] !== 'undefined') {\n return input[i];\n }\n }\n\n return undefined;\n}\n","export function orFail<T>(output: T) : Exclude<T, undefined> {\n if (typeof output === 'undefined') {\n throw new Error('The environment variable could not be read.');\n }\n\n return output as Exclude<T, undefined>;\n}\n","import { env } from 'std-env';\n\nexport function read() : Record<string, string | undefined>;\nexport function read(key: string) : string | undefined;\nexport function read<T>(key: string, alt: T) : T | string;\nexport function read<T>(key?: string, alt?: T): any {\n if (typeof key === 'undefined') {\n const keys = Reflect.ownKeys(env) as string[];\n const output : Record<string, string | undefined> = {};\n for (let i = 0; i < keys.length; i++) {\n output[keys[i]] = env[keys[i]];\n }\n return output;\n }\n\n if (Reflect.has(env, key)) {\n return env[key];\n }\n\n /* istanbul ignore next */\n if (Reflect.has(globalThis.process?.env, key)) {\n return globalThis.process?.env[key];\n }\n\n return alt;\n}\n","import { read } from './read';\n\nexport function readArray(key: string) : string[] | undefined;\nexport function readArray(key: string, alt: string[]) : string[];\nexport function readArray(key: string, alt?: string[]): any {\n const value = read(key);\n if (typeof value === 'undefined') {\n return alt;\n }\n\n return value.split(',').filter(Boolean);\n}\n","export function toBool(value: any) : boolean | undefined {\n switch (value) {\n case true:\n case 'true':\n case 't':\n case '1':\n return true;\n case false:\n case 'false':\n case 'f':\n case '0':\n return false;\n }\n\n return undefined;\n}\n","export function toFloat(value: any) : number | undefined {\n const num = Number.parseFloat(value);\n if (Number.isNaN(num) || Number.isNaN(value)) {\n return undefined;\n }\n\n return num;\n}\n","export function toInt(value: any) : number | undefined {\n const num = Number.parseInt(value, 10);\n if (Number.isNaN(num)) {\n return undefined;\n }\n\n return num;\n}\n","export function toNumber(value: any) : number | undefined {\n const num = Number(value);\n if (Number.isNaN(num)) {\n return undefined;\n }\n\n return num;\n}\n","import { read } from './read';\nimport { toBool } from './utils';\n\nexport function readBool(key: string) : boolean | undefined;\nexport function readBool<T>(key: string, alt: T) : T | boolean;\nexport function readBool<T>(key: string, alt?: T) : any {\n const value = read(key) as any;\n if (typeof value !== 'undefined') {\n return toBool(value) ?? alt;\n }\n\n return alt;\n}\n","import { read } from './read';\nimport { toInt } from './utils';\n\nexport function readInt(key: string) : number | undefined;\nexport function readInt<T>(key: string, alt: T) : T | number;\nexport function readInt<T>(key: string, alt?: T) : any {\n const value = read(key) as any;\n if (typeof value !== 'undefined') {\n return toInt(value) ?? alt;\n }\n\n return alt;\n}\n","import { read } from './read';\nimport { toFloat } from './utils';\n\nexport function readFloat(key: string) : number | undefined;\nexport function readFloat<T>(key: string, alt: T) : T | number;\nexport function readFloat<T>(key: string, alt?: T) : any {\n const value = read(key) as any;\n if (typeof value !== 'undefined') {\n return toFloat(value) ?? alt;\n }\n\n return alt;\n}\n","import { read } from './read';\nimport { toNumber } from './utils';\n\nexport function readNumber(key: string) : number | undefined;\nexport function readNumber<T>(key: string, alt: T) : T | number;\nexport function readNumber<T>(key: string, alt?: T) : any {\n const value = read(key) as any;\n if (typeof value !== 'undefined') {\n return toNumber(value) ?? alt;\n }\n\n return alt;\n}\n","import { read } from './read';\nimport { toNumber } from './utils';\n\nexport function readNumberArray(key: string) : number[] | undefined {\n const value = read(key);\n if (!value) {\n return undefined;\n }\n\n const nums = value.split(',')\n .filter(Boolean)\n .map((el) => toNumber(el));\n\n if (nums.some((el) => typeof el === 'undefined')) {\n return undefined;\n }\n\n return nums as number[];\n}\n","import { env } from 'std-env';\n\nexport function write(key: string, value: string | undefined) {\n if (typeof value === 'undefined') {\n delete env[key];\n return;\n }\n\n env[key] = value;\n}\n"],"names":["has","key","Reflect","env","globalThis","process","oneOf","input","i","length","undefined","orFail","output","Error","read","alt","keys","ownKeys","readArray","value","split","filter","Boolean","toBool","toFloat","num","Number","parseFloat","isNaN","toInt","parseInt","toNumber","readBool","readInt","readFloat","readNumber","readNumberArray","nums","map","el","some","write"],"mappings":"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"}
export declare function readArray(key: string): string[] | undefined;
export declare function readArray(key: string, alt: string[]): string[];
export * from './bool';
export * from './float';
export * from './int';
export * from './number';
{
"name": "envix",
"version": "1.2.0",
"version": "1.3.0",
"description": "",

@@ -5,0 +5,0 @@ "author": {

@@ -15,2 +15,10 @@ # envix ⚙️

- [Usage](#usage)
- [write](#write)
- [read](#read)
- [readArray](#read-array)
- [readBool](#read-bool)
- [readFloat](#read-float)
- [readInt](#read-int)
- [readNumber](#read-number)
- [readNumberArray](#read-number-array)
- [Contributing](#contributing)

@@ -28,2 +36,3 @@ - [License](#license)

### Write
The write method makes it possible to set an environment variable retrospectively for later accesses.

@@ -37,2 +46,5 @@ ```typescript

### Read
The read method accepts the key of the environment variable as the first argument and an
alternative value as the second argument, which is returned if the variable does not exist.
If no argument is passed, an object with all environment variables is returned.

@@ -52,2 +64,4 @@ ```typescript

### Read Array
The readArray method makes it possible to read an environment variable as a string array.
A fallback value can be defined as the second argument.
```typescript

@@ -60,5 +74,11 @@ import { readArray, write } from 'envix';

// ['bar', 'baz']
readArray('bar', ['foo']); // string[]
// ['foo']
```
### Read Bool
The readBool method makes it possible to read an environment variable as a boolean.
A fallback value can be defined as the second argument.
```typescript

@@ -71,5 +91,43 @@ import { readBool, write } from 'envix';

// true
readBool('bar', false); // boolean
// false
```
### Read Float
The readFloat method makes it possible to read an environment variable as a float.
A fallback value can be defined as the second argument.
```typescript
import { readFloat, write } from 'envix';
write('foo', '1');
readFloat('foo'); // number | undefined
// 1.0
readFloat('bar', 2.0); // number
// 2.0
```
### Read Int
The readInt method makes it possible to read an environment variable as a integer.
A fallback value can be defined as the second argument.
```typescript
import { readInt, write } from 'envix';
write('foo', '1.0');
readInt('foo'); // number | undefined
// 1
readInt('bar', 2); // number
// 2
```
### Read Number
The readNumber method makes it possible to read an environment variable as a number.
A fallback value can be defined as the second argument.
```typescript

@@ -82,5 +140,11 @@ import { readNumber, write } from 'envix';

// 1.0
readNumber('bar', 2.0); // number
// 2.0
```
### Read Number Array
The readNumberArray method makes it possible to read an environment variable as a number array.
A fallback value can be defined as the second argument.
```typescript

@@ -93,2 +157,5 @@ import { readNumberArray, write } from 'envix';

// [1.0,2.1]
readNumberArray('bar', [2,3]); // number[]
// [2,3]
```

@@ -95,0 +162,0 @@