@@ -1,4 +0,4 @@ | ||
| import { CleanedEnvAccessors } from './types'; | ||
| export declare const strictProxyMiddleware: <T extends object>(envObj: T, rawEnv: unknown) => T; | ||
| import { CleanedEnvAccessors, StrictProxyMiddlewareOptions } from './types'; | ||
| export declare const strictProxyMiddleware: <T extends object>(envObj: T, rawEnv: unknown, options?: StrictProxyMiddlewareOptions) => T; | ||
| export declare const accessorMiddleware: <T>(envObj: T, rawEnv: unknown) => T & CleanedEnvAccessors; | ||
| export declare const applyDefaultMiddleware: <T>(cleanedEnv: T, rawEnv: unknown) => T & CleanedEnvAccessors; |
| "use strict"; | ||
| exports.__esModule = true; | ||
| exports.applyDefaultMiddleware = exports.accessorMiddleware = exports.strictProxyMiddleware = void 0; | ||
| var strictProxyMiddleware = function (envObj, rawEnv) { | ||
| var strictProxyMiddleware = function (envObj, rawEnv, options) { | ||
| if (options === void 0) { options = {}; } | ||
| var _a = options.extraInspectables, extraInspectables = _a === void 0 ? [] : _a; | ||
| var inspectables = [ | ||
@@ -30,3 +32,5 @@ 'length', | ||
| // `envObj.hasOwnProperty('string')` to work. | ||
| if (inspectables.includes(name) || inspectSymbolStrings.includes(name.toString())) { | ||
| if (inspectables.includes(name) || | ||
| inspectSymbolStrings.includes(name.toString()) || | ||
| extraInspectables.includes(name)) { | ||
| // @ts-expect-error TS doesn't like symbol types as indexers | ||
@@ -33,0 +37,0 @@ return target[name]; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":";;;AAEO,IAAM,qBAAqB,GAAG,UAAmB,MAAS,EAAE,MAAe;IAChF,IAAM,YAAY,GAAG;QACnB,QAAQ;QACR,SAAS;QACT,gBAAgB;QAChB,QAAQ;QACR,MAAM,CAAC,WAAW;QAClB,MAAM,CAAC,QAAQ;QAEf,WAAW;QACX,iBAAiB;QACjB,UAAU;QAEV,8BAA8B;QAC9B,UAAU;QAEV,4EAA4E;QAC5E,MAAM;QACN,iDAAiD;QACjD,YAAY;KACb,CAAA;IACD,IAAM,oBAAoB,GAAG,CAAC,6BAA6B,EAAE,oCAAoC,CAAC,CAAA;IAElG,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;QACvB,GAAG,YAAC,MAAM,EAAE,IAAY;;YACtB,2DAA2D;YAC3D,uEAAuE;YACvE,uEAAuE;YACvE,6CAA6C;YAC7C,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE;gBACjF,4DAA4D;gBAC5D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;aACpB;YAED,IAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;YAC7C,IAAI,CAAC,SAAS,EAAE;gBACd,IAAI,OAAO,MAAM,KAAK,QAAQ,KAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,uDAAG,IAAI,CAAC,CAAA,EAAE;oBAChE,MAAM,IAAI,cAAc,CACtB,4BAAqB,IAAI,iHAA8G,CACxI,CAAA;iBACF;gBAED,MAAM,IAAI,cAAc,CAAC,uCAAgC,IAAI,CAAE,CAAC,CAAA;aACjE;YAED,OAAO,MAAM,CAAC,IAAe,CAAC,CAAA;QAChC,CAAC;QAED,GAAG,YAAC,OAAO,EAAE,IAAY;YACvB,MAAM,IAAI,SAAS,CAAC,yDAAkD,IAAI,CAAE,CAAC,CAAA;QAC/E,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AApDY,QAAA,qBAAqB,yBAoDjC;AAEM,IAAM,kBAAkB,GAAG,UAAI,MAAS,EAAE,MAAe;IAC9D,wEAAwE;IACxE,gFAAgF;IAEhF,mEAAmE;IACnE,IAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAA;IAE1D,4CAA4C;IAC5C,IAAM,MAAM,GAAG,CAAC,eAAe,IAAI,eAAe,KAAK,YAAY,CAAA;IAEnE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE;QAC9B,aAAa,EAAE,EAAE,KAAK,EAAE,eAAe,KAAK,aAAa,EAAE;QAC3D,KAAK,EAAE,EAAE,KAAK,EAAE,eAAe,KAAK,aAAa,EAAE;QACnD,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;QAC/B,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;QACzB,MAAM,EAAE,EAAE,KAAK,EAAE,eAAe,KAAK,MAAM,EAAE;KAC9C,CAAC,CAAA;IACF,OAAO,MAAiC,CAAA;AAC1C,CAAC,CAAA;AAlBY,QAAA,kBAAkB,sBAkB9B;AAEM,IAAM,sBAAsB,GAAG,UAAI,UAAa,EAAE,MAAe;IACtE,mGAAmG;IACnG,qGAAqG;IACrG,qEAAqE;IACrE,4EAA4E;IAC5E,OAAO,IAAA,6BAAqB,EAAC,IAAA,0BAAkB,EAAC,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;AAC9E,CAAC,CAAA;AANY,QAAA,sBAAsB,0BAMlC"} | ||
| {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"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"} |
+8
-0
@@ -107,2 +107,10 @@ export interface Spec<T> { | ||
| } | ||
| export interface StrictProxyMiddlewareOptions { | ||
| /** | ||
| * A list of extra inspectable properties to add to the middleware. | ||
| * | ||
| * This is useful if you want to add support for framework-specific values. | ||
| */ | ||
| extraInspectables?: string[]; | ||
| } | ||
| export {}; |
+1
-1
| { | ||
| "name": "envalid", | ||
| "version": "8.0.0-beta.1", | ||
| "version": "8.0.0-beta.2", | ||
| "description": "Validation for your environment variables", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
+12
-3
@@ -1,4 +0,9 @@ | ||
| import { CleanedEnvAccessors } from './types' | ||
| import { CleanedEnvAccessors, StrictProxyMiddlewareOptions } from './types' | ||
| export const strictProxyMiddleware = <T extends object>(envObj: T, rawEnv: unknown) => { | ||
| export const strictProxyMiddleware = <T extends object>( | ||
| envObj: T, | ||
| rawEnv: unknown, | ||
| options: StrictProxyMiddlewareOptions = {}, | ||
| ) => { | ||
| const { extraInspectables = [] } = options | ||
| const inspectables = [ | ||
@@ -32,3 +37,7 @@ 'length', | ||
| // `envObj.hasOwnProperty('string')` to work. | ||
| if (inspectables.includes(name) || inspectSymbolStrings.includes(name.toString())) { | ||
| if ( | ||
| inspectables.includes(name) || | ||
| inspectSymbolStrings.includes(name.toString()) || | ||
| extraInspectables.includes(name) | ||
| ) { | ||
| // @ts-expect-error TS doesn't like symbol types as indexers | ||
@@ -35,0 +44,0 @@ return target[name] |
+9
-0
@@ -139,1 +139,10 @@ export interface Spec<T> { | ||
| } | ||
| export interface StrictProxyMiddlewareOptions { | ||
| /** | ||
| * A list of extra inspectable properties to add to the middleware. | ||
| * | ||
| * This is useful if you want to add support for framework-specific values. | ||
| */ | ||
| extraInspectables?: string[] | ||
| } |
81008
1.4%1389
2.13%