envapt 7.0.0-next.0 → 7.0.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/browser/engine/PortableEnvapter.mjs +2 -0
- package/dist/browser/engine/PortableEnvapter.mjs.map +1 -0
- package/dist/browser/engine/installFileApiStubs.mjs +1 -1
- package/dist/browser/engine/installFileApiStubs.mjs.map +1 -1
- package/dist/browser/index.mjs +1 -2
- package/dist/{node → types}/engine/NodeEnvapter.d.mts +0 -2
- package/dist/types/engine/PortableEnvapter.d.mts +14 -0
- package/dist/{node → types}/index.d.mts +0 -2
- package/dist/{browser/index.d.mts → types/index.portable.d.mts} +2 -2
- package/dist/{node/sources/NodeEnvSource.d.cts → types/sources/NodeEnvSource.d.mts} +2 -2
- package/dist/workerd/engine/PortableEnvapter.mjs +2 -0
- package/dist/workerd/engine/PortableEnvapter.mjs.map +1 -0
- package/dist/workerd/engine/installFileApiStubs.mjs +1 -1
- package/dist/workerd/engine/installFileApiStubs.mjs.map +1 -1
- package/dist/workerd/index.mjs +1 -2
- package/package.json +25 -22
- package/dist/browser/index.mjs.map +0 -1
- package/dist/node/config.d.mts +0 -2
- package/dist/node/converters/Converters.d.cts +0 -93
- package/dist/node/converters/Converters.d.mts +0 -95
- package/dist/node/converters/ValueConverter.d.cts +0 -25
- package/dist/node/converters/ValueConverter.d.mts +0 -27
- package/dist/node/core/AdvancedMethods.d.cts +0 -76
- package/dist/node/core/AdvancedMethods.d.mts +0 -78
- package/dist/node/core/EnvapterBase.d.cts +0 -75
- package/dist/node/core/EnvapterBase.d.mts +0 -77
- package/dist/node/core/EnvironmentMethods.d.cts +0 -115
- package/dist/node/core/EnvironmentMethods.d.mts +0 -117
- package/dist/node/core/PrimitiveMethods.d.cts +0 -70
- package/dist/node/core/PrimitiveMethods.d.mts +0 -72
- package/dist/node/decorators/legacy/Envapt.d.cts +0 -218
- package/dist/node/decorators/legacy/Envapt.d.mts +0 -220
- package/dist/node/decorators/legacy/SugarDecorators.d.cts +0 -40
- package/dist/node/decorators/legacy/SugarDecorators.d.mts +0 -42
- package/dist/node/decorators/modern/Envapt.d.cts +0 -218
- package/dist/node/decorators/modern/Envapt.d.mts +0 -220
- package/dist/node/decorators/modern/SugarDecorators.d.cts +0 -40
- package/dist/node/decorators/modern/SugarDecorators.d.mts +0 -42
- package/dist/node/engine/Envapter.d.cts +0 -70
- package/dist/node/engine/Envapter.d.mts +0 -72
- package/dist/node/engine/NodeEnvapter.d.cts +0 -73
- package/dist/node/engine/TemplateResolver.d.cts +0 -17
- package/dist/node/engine/TemplateResolver.d.mts +0 -19
- package/dist/node/index.d.cts +0 -19
- package/dist/node/infra/Debug.d.cts +0 -13
- package/dist/node/infra/Debug.d.mts +0 -15
- package/dist/node/infra/Dotenv.d.cts +0 -17
- package/dist/node/infra/Dotenv.d.mts +0 -19
- package/dist/node/infra/Error.d.cts +0 -72
- package/dist/node/infra/Error.d.mts +0 -74
- package/dist/node/infra/StandardSchema.d.cts +0 -59
- package/dist/node/infra/StandardSchema.d.mts +0 -61
- package/dist/node/legacy.d.cts +0 -4
- package/dist/node/legacy.d.mts +0 -6
- package/dist/node/sources/ManualEnvSource.d.cts +0 -19
- package/dist/node/sources/ManualEnvSource.d.mts +0 -21
- package/dist/node/sources/NodeEnvSource.d.mts +0 -22
- package/dist/node/sources/WorkerEnvSource.d.cts +0 -19
- package/dist/node/sources/WorkerEnvSource.d.mts +0 -21
- package/dist/node/types/Conversion.d.cts +0 -123
- package/dist/node/types/Conversion.d.mts +0 -125
- package/dist/node/types/Decorator.d.cts +0 -26
- package/dist/node/types/Decorator.d.mts +0 -28
- package/dist/node/types/Env.d.cts +0 -17
- package/dist/node/types/Env.d.mts +0 -19
- package/dist/node/types/Options.d.cts +0 -39
- package/dist/node/types/Options.d.mts +0 -41
- package/dist/node/types/Schema.d.cts +0 -12
- package/dist/node/types/Schema.d.mts +0 -14
- package/dist/node/types/Source.d.cts +0 -44
- package/dist/node/types/Source.d.mts +0 -46
- package/dist/workerd/converters/Converters.d.mts +0 -93
- package/dist/workerd/converters/ValueConverter.d.mts +0 -25
- package/dist/workerd/core/AdvancedMethods.d.mts +0 -76
- package/dist/workerd/core/EnvapterBase.d.mts +0 -75
- package/dist/workerd/core/EnvironmentMethods.d.mts +0 -115
- package/dist/workerd/core/PrimitiveMethods.d.mts +0 -70
- package/dist/workerd/decorators/legacy/Envapt.d.mts +0 -218
- package/dist/workerd/decorators/legacy/SugarDecorators.d.mts +0 -40
- package/dist/workerd/decorators/modern/Envapt.d.mts +0 -218
- package/dist/workerd/decorators/modern/SugarDecorators.d.mts +0 -40
- package/dist/workerd/engine/Envapter.d.mts +0 -70
- package/dist/workerd/engine/TemplateResolver.d.mts +0 -17
- package/dist/workerd/index.d.mts +0 -18
- package/dist/workerd/index.mjs.map +0 -1
- package/dist/workerd/infra/Debug.d.mts +0 -13
- package/dist/workerd/infra/Dotenv.d.mts +0 -17
- package/dist/workerd/infra/Error.d.mts +0 -72
- package/dist/workerd/infra/StandardSchema.d.mts +0 -59
- package/dist/workerd/legacy.d.mts +0 -4
- package/dist/workerd/sources/ManualEnvSource.d.mts +0 -19
- package/dist/workerd/sources/WorkerEnvSource.d.mts +0 -19
- package/dist/workerd/types/Conversion.d.mts +0 -123
- package/dist/workerd/types/Decorator.d.mts +0 -26
- package/dist/workerd/types/Env.d.mts +0 -17
- package/dist/workerd/types/Options.d.mts +0 -39
- package/dist/workerd/types/Schema.d.mts +0 -12
- package/dist/workerd/types/Source.d.mts +0 -44
- /package/dist/{node/config.d.cts → types/config.d.mts} +0 -0
- /package/dist/{browser → types}/converters/Converters.d.mts +0 -0
- /package/dist/{browser → types}/converters/ValueConverter.d.mts +0 -0
- /package/dist/{browser → types}/core/AdvancedMethods.d.mts +0 -0
- /package/dist/{browser → types}/core/EnvapterBase.d.mts +0 -0
- /package/dist/{browser → types}/core/EnvironmentMethods.d.mts +0 -0
- /package/dist/{browser → types}/core/PrimitiveMethods.d.mts +0 -0
- /package/dist/{browser → types}/decorators/legacy/Envapt.d.mts +0 -0
- /package/dist/{browser → types}/decorators/legacy/SugarDecorators.d.mts +0 -0
- /package/dist/{browser → types}/decorators/modern/Envapt.d.mts +0 -0
- /package/dist/{browser → types}/decorators/modern/SugarDecorators.d.mts +0 -0
- /package/dist/{browser → types}/engine/Envapter.d.mts +0 -0
- /package/dist/{browser → types}/engine/TemplateResolver.d.mts +0 -0
- /package/dist/{browser → types}/infra/Debug.d.mts +0 -0
- /package/dist/{browser → types}/infra/Dotenv.d.mts +0 -0
- /package/dist/{browser → types}/infra/Error.d.mts +0 -0
- /package/dist/{browser → types}/infra/StandardSchema.d.mts +0 -0
- /package/dist/{browser → types}/legacy.d.mts +0 -0
- /package/dist/{browser → types}/sources/ManualEnvSource.d.mts +0 -0
- /package/dist/{browser → types}/sources/WorkerEnvSource.d.mts +0 -0
- /package/dist/{browser → types}/types/Conversion.d.mts +0 -0
- /package/dist/{browser → types}/types/Decorator.d.mts +0 -0
- /package/dist/{browser → types}/types/Env.d.mts +0 -0
- /package/dist/{browser → types}/types/Options.d.mts +0 -0
- /package/dist/{browser → types}/types/Schema.d.mts +0 -0
- /package/dist/{browser → types}/types/Source.d.mts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# envapt
|
|
2
2
|
|
|
3
|
+
## 7.0.0-next.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 5384199: The `envapt/browser` and `envapt/workerd` builds are now side-effect-free, so a bundler can drop the parts of envapt a consumer never imports. Importing a single export such as `EnvaptError` or `Converters` from the portable builds now ships about 1.3 kB instead of about 22 kB. The filesystem-only APIs (`envPaths`, `baseDir`, `envFileOptions`, `configureProfiles`, `resetProfiles`) still throw `EnvaptError` on the browser and Workers builds, their stubs moved onto the portable `Envapter` class so they install only when that class is used.
|
|
8
|
+
|
|
9
|
+
## 7.0.0-next.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 0bbcc85: Editor auto-import now suggests each public name once instead of once per runtime build. The published type declarations are emitted as a single shared tree that the Node, Workers, and browser entry points all re-export, so `Envapt`, `Envapter`, the converters, and the rest resolve to one declaration. The Workers and browser entries still expose the portable `Envapter` without the file-only APIs. The package no longer ships the redundant per-runtime declaration trees, so the install is smaller.
|
|
14
|
+
|
|
3
15
|
## 7.0.0-next.0
|
|
4
16
|
|
|
5
17
|
### Major Changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PortableEnvapter.mjs","names":[],"sources":["../../../src/engine/PortableEnvapter.ts"],"sourcesContent":["import { Envapter } from './Envapter';\nimport { installFileApiStubs } from './installFileApiStubs';\n\n/**\n * The browser/Workers facade. {@link Envapter} with the filesystem-only configuration APIs\n * (`envPaths`, `baseDir`, `envFileOptions`, `configureProfiles`, `resetProfiles`) stubbed to throw\n * {@link EnvaptError}. The portable types omit those APIs, so the stubs only guard JS callers that\n * bypass the types.\n * @public\n */\nexport class PortableEnvapter extends Envapter {\n // A static block (not a top-level statement in a separate entry) keeps the stub install intrinsic to\n // this class, so it tree-shakes out of a leaf import and needs no sideEffects entry. Depends on the\n // es2022 native static-block emit, lowering the target defeats it.\n static {\n installFileApiStubs(PortableEnvapter);\n }\n}\n"],"mappings":"0GAUA,IAAa,EAAb,MAAa,UAAyB,CAAS,CAI3C,OACI,EAAoB,CAAgB,CACxC,CACJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{EnvaptError as e}from"../infra/Error.mjs";
|
|
1
|
+
import{EnvaptError as e}from"../infra/Error.mjs";const t=[`envPaths`,`baseDir`,`envFileOptions`,`configureProfiles`,`resetProfiles`];function n(t){throw new e(306,`Envapter.${t} requires a filesystem-backed source and is not available in this build.`)}function r(e){for(let r of t)Object.defineProperty(e,r,{configurable:!0,get:()=>n(r),set:()=>n(r)})}export{r as installFileApiStubs};
|
|
2
2
|
//# sourceMappingURL=installFileApiStubs.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installFileApiStubs.mjs","names":[],"sources":["../../../src/engine/installFileApiStubs.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"installFileApiStubs.mjs","names":[],"sources":["../../../src/engine/installFileApiStubs.ts"],"sourcesContent":["import { EnvaptError, EnvaptErrorCodes } from '../infra/Error';\n\nconst FILE_ONLY_APIS = ['envPaths', 'baseDir', 'envFileOptions', 'configureProfiles', 'resetProfiles'] as const;\n\nfunction fileApiUnsupported(api: string): never {\n throw new EnvaptError(\n EnvaptErrorCodes.FileApiUnsupported,\n `Envapter.${api} requires a filesystem-backed source and is not available in this build.`\n );\n}\n\n// Call from a class static block, not an entry top level, or the build drops the stubs from a\n// re-exported entry as a tree-shaken side effect.\nexport function installFileApiStubs(target: object): void {\n for (const api of FILE_ONLY_APIS) {\n Object.defineProperty(target, api, {\n configurable: true,\n get: () => fileApiUnsupported(api),\n set: () => fileApiUnsupported(api)\n });\n }\n}\n"],"mappings":"iDAEA,MAAM,EAAiB,CAAC,WAAY,UAAW,iBAAkB,oBAAqB,eAAe,EAErG,SAAS,EAAmB,EAAoB,CAC5C,MAAM,IAAI,EAAA,IAEN,YAAY,EAAI,yEACpB,CACJ,CAIA,SAAgB,EAAoB,EAAsB,CACtD,IAAK,IAAM,KAAO,EACd,OAAO,eAAe,EAAQ,EAAK,CAC/B,aAAc,GACd,QAAW,EAAmB,CAAG,EACjC,QAAW,EAAmB,CAAG,CACrC,CAAC,CAET"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import{Converters as e,isArrayOf as t}from"./converters/Converters.mjs";import{EnvaptError as n,EnvaptErrorCodes as r}from"./infra/Error.mjs";import{Environment as i}from"./core/EnvironmentMethods.mjs";import{
|
|
2
|
-
//# sourceMappingURL=index.mjs.map
|
|
1
|
+
import{Converters as e,isArrayOf as t}from"./converters/Converters.mjs";import{EnvaptError as n,EnvaptErrorCodes as r}from"./infra/Error.mjs";import{Environment as i}from"./core/EnvironmentMethods.mjs";import{ManualEnvSource as a}from"./sources/ManualEnvSource.mjs";import{WorkerEnvSource as o}from"./sources/WorkerEnvSource.mjs";import{Envapt as s}from"./decorators/modern/Envapt.mjs";import{EnvBool as c,EnvNum as l,EnvStr as u,EnvTime as d,EnvUrl as f}from"./decorators/modern/SugarDecorators.mjs";import{PortableEnvapter as p}from"./engine/PortableEnvapter.mjs";export{e as Converters,c as EnvBool,l as EnvNum,u as EnvStr,d as EnvTime,f as EnvUrl,s as Envapt,n as EnvaptError,r as EnvaptErrorCodes,p as Envapter,i as Environment,a as ManualEnvSource,o as WorkerEnvSource,t as isArrayOf};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Envapter } from "./Envapter.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/engine/PortableEnvapter.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* The browser/Workers facade. {@link Envapter} with the filesystem-only configuration APIs
|
|
6
|
+
* (`envPaths`, `baseDir`, `envFileOptions`, `configureProfiles`, `resetProfiles`) stubbed to throw
|
|
7
|
+
* {@link EnvaptError}. The portable types omit those APIs, so the stubs only guard JS callers that
|
|
8
|
+
* bypass the types.
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
declare class PortableEnvapter extends Envapter {}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { PortableEnvapter };
|
|
14
|
+
//# sourceMappingURL=PortableEnvapter.d.mts.map
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import __tsdown_shims_path from 'node:path';
|
|
2
|
-
import __tsdown_shims_url from 'node:url';
|
|
3
1
|
import { DebugLevel } from "./infra/Debug.mjs";
|
|
4
2
|
import { EnvFileOptions } from "./infra/Dotenv.mjs";
|
|
5
3
|
import { ArrayElement, ArrayOf, ConverterToken, Converters, CustomElementConverter, isArrayOf } from "./converters/Converters.mjs";
|
|
@@ -9,10 +9,10 @@ import { EnvProfile, EnvaptOptions, ProfilesConfig } from "./types/Options.mjs";
|
|
|
9
9
|
import { EnvKeyInput } from "./types/Env.mjs";
|
|
10
10
|
import { BareEnvSource, EnvSource, FileEnvSource } from "./types/Source.mjs";
|
|
11
11
|
import { EnvaptAccessorDecorator, EnvaptFieldDecorator } from "./types/Decorator.mjs";
|
|
12
|
-
import { Envapter } from "./engine/Envapter.mjs";
|
|
13
12
|
import { ManualEnvSource } from "./sources/ManualEnvSource.mjs";
|
|
14
13
|
import { WorkerEnvSource } from "./sources/WorkerEnvSource.mjs";
|
|
15
14
|
import { EnvaptError, EnvaptErrorCodes } from "./infra/Error.mjs";
|
|
16
15
|
import { Envapt } from "./decorators/modern/Envapt.mjs";
|
|
17
16
|
import { EnvBool, EnvNum, EnvStr, EnvTime, EnvUrl } from "./decorators/modern/SugarDecorators.mjs";
|
|
18
|
-
|
|
17
|
+
import { PortableEnvapter } from "./engine/PortableEnvapter.mjs";
|
|
18
|
+
export { type AdvancedConverterReturn, type ArrayElement, type ArrayOf, type BareEnvSource, type BuiltInConverter, type BuiltInConverterFunction, type ConditionalReturn, type ConverterFunction, type ConverterToken, Converters, type CustomElementConverter, type DebugLevel, EnvBool, type EnvFileOptions, type EnvKeyInput, EnvNum, type EnvProfile, type EnvSource, EnvStr, EnvTime, EnvUrl, Envapt, type EnvaptAccessorDecorator, type EnvaptConverter, EnvaptError, EnvaptErrorCodes, type EnvaptFieldDecorator, type EnvaptOptions, PortableEnvapter as Envapter, Environment, type Err, type FileEnvSource, type InferConverterFallbackType, type InferConverterReturnType, type InferPrimitiveReturnType, type InferSchemaInput, type InferSchemaOutput, type JsonValue, ManualEnvSource, type MapOfConverterFunctions, type PrimitiveConstructor, type ProfilesConfig, type SchemaConstraint, type SchemaMustBeSync, type StandardSchemaV1, type TimeFallback, type TimeUnit, WorkerEnvSource, isArrayOf };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FileEnvSource } from "../types/Source.
|
|
1
|
+
import { FileEnvSource } from "../types/Source.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/sources/NodeEnvSource.d.ts
|
|
4
4
|
/**
|
|
@@ -17,4 +17,4 @@ declare class NodeEnvSource implements FileEnvSource {
|
|
|
17
17
|
}
|
|
18
18
|
//#endregion
|
|
19
19
|
export { NodeEnvSource };
|
|
20
|
-
//# sourceMappingURL=NodeEnvSource.d.
|
|
20
|
+
//# sourceMappingURL=NodeEnvSource.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PortableEnvapter.mjs","names":[],"sources":["../../../src/engine/PortableEnvapter.ts"],"sourcesContent":["import { Envapter } from './Envapter';\nimport { installFileApiStubs } from './installFileApiStubs';\n\n/**\n * The browser/Workers facade. {@link Envapter} with the filesystem-only configuration APIs\n * (`envPaths`, `baseDir`, `envFileOptions`, `configureProfiles`, `resetProfiles`) stubbed to throw\n * {@link EnvaptError}. The portable types omit those APIs, so the stubs only guard JS callers that\n * bypass the types.\n * @public\n */\nexport class PortableEnvapter extends Envapter {\n // A static block (not a top-level statement in a separate entry) keeps the stub install intrinsic to\n // this class, so it tree-shakes out of a leaf import and needs no sideEffects entry. Depends on the\n // es2022 native static-block emit, lowering the target defeats it.\n static {\n installFileApiStubs(PortableEnvapter);\n }\n}\n"],"mappings":"0GAUA,IAAa,EAAb,MAAa,UAAyB,CAAS,CAI3C,OACI,EAAoB,CAAgB,CACxC,CACJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{EnvaptError as e}from"../infra/Error.mjs";
|
|
1
|
+
import{EnvaptError as e}from"../infra/Error.mjs";const t=[`envPaths`,`baseDir`,`envFileOptions`,`configureProfiles`,`resetProfiles`];function n(t){throw new e(306,`Envapter.${t} requires a filesystem-backed source and is not available in this build.`)}function r(e){for(let r of t)Object.defineProperty(e,r,{configurable:!0,get:()=>n(r),set:()=>n(r)})}export{r as installFileApiStubs};
|
|
2
2
|
//# sourceMappingURL=installFileApiStubs.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installFileApiStubs.mjs","names":[],"sources":["../../../src/engine/installFileApiStubs.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"installFileApiStubs.mjs","names":[],"sources":["../../../src/engine/installFileApiStubs.ts"],"sourcesContent":["import { EnvaptError, EnvaptErrorCodes } from '../infra/Error';\n\nconst FILE_ONLY_APIS = ['envPaths', 'baseDir', 'envFileOptions', 'configureProfiles', 'resetProfiles'] as const;\n\nfunction fileApiUnsupported(api: string): never {\n throw new EnvaptError(\n EnvaptErrorCodes.FileApiUnsupported,\n `Envapter.${api} requires a filesystem-backed source and is not available in this build.`\n );\n}\n\n// Call from a class static block, not an entry top level, or the build drops the stubs from a\n// re-exported entry as a tree-shaken side effect.\nexport function installFileApiStubs(target: object): void {\n for (const api of FILE_ONLY_APIS) {\n Object.defineProperty(target, api, {\n configurable: true,\n get: () => fileApiUnsupported(api),\n set: () => fileApiUnsupported(api)\n });\n }\n}\n"],"mappings":"iDAEA,MAAM,EAAiB,CAAC,WAAY,UAAW,iBAAkB,oBAAqB,eAAe,EAErG,SAAS,EAAmB,EAAoB,CAC5C,MAAM,IAAI,EAAA,IAEN,YAAY,EAAI,yEACpB,CACJ,CAIA,SAAgB,EAAoB,EAAsB,CACtD,IAAK,IAAM,KAAO,EACd,OAAO,eAAe,EAAQ,EAAK,CAC/B,aAAc,GACd,QAAW,EAAmB,CAAG,EACjC,QAAW,EAAmB,CAAG,CACrC,CAAC,CAET"}
|
package/dist/workerd/index.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import{Converters as e,isArrayOf as t}from"./converters/Converters.mjs";import{EnvaptError as n,EnvaptErrorCodes as r}from"./infra/Error.mjs";import{Environment as i}from"./core/EnvironmentMethods.mjs";import{
|
|
2
|
-
//# sourceMappingURL=index.mjs.map
|
|
1
|
+
import{Converters as e,isArrayOf as t}from"./converters/Converters.mjs";import{EnvaptError as n,EnvaptErrorCodes as r}from"./infra/Error.mjs";import{Environment as i}from"./core/EnvironmentMethods.mjs";import{ManualEnvSource as a}from"./sources/ManualEnvSource.mjs";import{WorkerEnvSource as o}from"./sources/WorkerEnvSource.mjs";import{Envapt as s}from"./decorators/modern/Envapt.mjs";import{EnvBool as c,EnvNum as l,EnvStr as u,EnvTime as d,EnvUrl as f}from"./decorators/modern/SugarDecorators.mjs";import{PortableEnvapter as p}from"./engine/PortableEnvapter.mjs";export{e as Converters,c as EnvBool,l as EnvNum,u as EnvStr,d as EnvTime,f as EnvUrl,s as Envapt,n as EnvaptError,r as EnvaptErrorCodes,p as Envapter,i as Environment,a as ManualEnvSource,o as WorkerEnvSource,t as isArrayOf};
|
package/package.json
CHANGED
|
@@ -1,84 +1,84 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "envapt",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "7.0.0-next.
|
|
4
|
+
"version": "7.0.0-next.2",
|
|
5
5
|
"description": "Type-safe config for TypeScript. Read typed values from any source, process.env, .env files, Cloudflare Workers bindings, browser bundles, or any object you supply. Zero runtime dependencies, one API across Node, Bun, Deno, Workers, and the browser. TC39 accessor decorators (legacy decorators at envapt/legacy), converters, and Standard Schema (zod/valibot/arktype) validation.",
|
|
6
|
-
"types": "./dist/
|
|
6
|
+
"types": "./dist/types/index.d.mts",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": {
|
|
9
9
|
"workerd": {
|
|
10
|
-
"types": "./dist/
|
|
10
|
+
"types": "./dist/types/index.portable.d.mts",
|
|
11
11
|
"default": "./dist/workerd/index.mjs"
|
|
12
12
|
},
|
|
13
13
|
"browser": {
|
|
14
|
-
"types": "./dist/
|
|
14
|
+
"types": "./dist/types/index.portable.d.mts",
|
|
15
15
|
"default": "./dist/browser/index.mjs"
|
|
16
16
|
},
|
|
17
17
|
"node": {
|
|
18
18
|
"import": {
|
|
19
|
-
"types": "./dist/
|
|
19
|
+
"types": "./dist/types/index.d.mts",
|
|
20
20
|
"default": "./dist/node/index.mjs"
|
|
21
21
|
},
|
|
22
22
|
"require": {
|
|
23
|
-
"types": "./dist/
|
|
23
|
+
"types": "./dist/types/index.d.mts",
|
|
24
24
|
"default": "./dist/node/index.cjs"
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"default": {
|
|
28
28
|
"import": {
|
|
29
|
-
"types": "./dist/
|
|
29
|
+
"types": "./dist/types/index.d.mts",
|
|
30
30
|
"default": "./dist/node/index.mjs"
|
|
31
31
|
},
|
|
32
32
|
"require": {
|
|
33
|
-
"types": "./dist/
|
|
33
|
+
"types": "./dist/types/index.d.mts",
|
|
34
34
|
"default": "./dist/node/index.cjs"
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"./workerd": {
|
|
39
|
-
"types": "./dist/
|
|
39
|
+
"types": "./dist/types/index.portable.d.mts",
|
|
40
40
|
"default": "./dist/workerd/index.mjs"
|
|
41
41
|
},
|
|
42
42
|
"./browser": {
|
|
43
|
-
"types": "./dist/
|
|
43
|
+
"types": "./dist/types/index.portable.d.mts",
|
|
44
44
|
"default": "./dist/browser/index.mjs"
|
|
45
45
|
},
|
|
46
46
|
"./config": {
|
|
47
47
|
"import": {
|
|
48
|
-
"types": "./dist/
|
|
48
|
+
"types": "./dist/types/config.d.mts",
|
|
49
49
|
"default": "./dist/node/config.mjs"
|
|
50
50
|
},
|
|
51
51
|
"require": {
|
|
52
|
-
"types": "./dist/
|
|
52
|
+
"types": "./dist/types/config.d.mts",
|
|
53
53
|
"default": "./dist/node/config.cjs"
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
56
|
"./legacy": {
|
|
57
57
|
"workerd": {
|
|
58
|
-
"types": "./dist/
|
|
58
|
+
"types": "./dist/types/legacy.d.mts",
|
|
59
59
|
"default": "./dist/workerd/legacy.mjs"
|
|
60
60
|
},
|
|
61
61
|
"browser": {
|
|
62
|
-
"types": "./dist/
|
|
62
|
+
"types": "./dist/types/legacy.d.mts",
|
|
63
63
|
"default": "./dist/browser/legacy.mjs"
|
|
64
64
|
},
|
|
65
65
|
"node": {
|
|
66
66
|
"import": {
|
|
67
|
-
"types": "./dist/
|
|
67
|
+
"types": "./dist/types/legacy.d.mts",
|
|
68
68
|
"default": "./dist/node/legacy.mjs"
|
|
69
69
|
},
|
|
70
70
|
"require": {
|
|
71
|
-
"types": "./dist/
|
|
71
|
+
"types": "./dist/types/legacy.d.mts",
|
|
72
72
|
"default": "./dist/node/legacy.cjs"
|
|
73
73
|
}
|
|
74
74
|
},
|
|
75
75
|
"default": {
|
|
76
76
|
"import": {
|
|
77
|
-
"types": "./dist/
|
|
77
|
+
"types": "./dist/types/legacy.d.mts",
|
|
78
78
|
"default": "./dist/node/legacy.mjs"
|
|
79
79
|
},
|
|
80
80
|
"require": {
|
|
81
|
-
"types": "./dist/
|
|
81
|
+
"types": "./dist/types/legacy.d.mts",
|
|
82
82
|
"default": "./dist/node/legacy.cjs"
|
|
83
83
|
}
|
|
84
84
|
}
|
|
@@ -86,12 +86,13 @@
|
|
|
86
86
|
},
|
|
87
87
|
"sideEffects": [
|
|
88
88
|
"./dist/node/config.cjs",
|
|
89
|
-
"./dist/node/config.mjs"
|
|
90
|
-
"./dist/browser/index.mjs",
|
|
91
|
-
"./dist/workerd/index.mjs"
|
|
89
|
+
"./dist/node/config.mjs"
|
|
92
90
|
],
|
|
93
91
|
"files": [
|
|
94
|
-
"dist",
|
|
92
|
+
"dist/**/*.mjs",
|
|
93
|
+
"dist/**/*.cjs",
|
|
94
|
+
"dist/**/*.map",
|
|
95
|
+
"dist/types",
|
|
95
96
|
"NOTICE.md",
|
|
96
97
|
"LICENSE",
|
|
97
98
|
"README.md",
|
|
@@ -168,6 +169,8 @@
|
|
|
168
169
|
"test:workers": "tsc --noEmit -p tests/workers/tsconfig.json && vitest run --config vitest.workers.config.ts",
|
|
169
170
|
"test:browser": "tsc --noEmit -p tests/browser/tsconfig.json && vitest run --config vitest.browser.config.ts",
|
|
170
171
|
"test:consumer-build": "node tests/consumer-build/run.mjs",
|
|
172
|
+
"test:tree-shaking": "node tests/tree-shaking/run.mjs",
|
|
173
|
+
"test:exports-dedup": "node tests/exports-dedup/run.mjs",
|
|
171
174
|
"test:tsc-emit": "node tests/tsc-emit/run.mjs",
|
|
172
175
|
"test:stage3-emit": "node tests/stage3-emit/run.mjs",
|
|
173
176
|
"test:all": "node ../../scripts/test-all.mjs",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/browser.ts"],"sourcesContent":["import { Envapter } from './engine/Envapter';\nimport { installFileApiStubs } from './engine/installFileApiStubs';\n\nexport * from './common';\nexport * from './decorators/modern';\nexport { Envapter };\n\ninstallFileApiStubs();\n"],"mappings":"6mBAOA,EAAoB"}
|
package/dist/node/config.d.mts
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
//#region src/converters/Converters.d.ts
|
|
2
|
-
declare const SCALAR: {
|
|
3
|
-
readonly String: "string";
|
|
4
|
-
readonly Number: "number";
|
|
5
|
-
readonly Boolean: "boolean";
|
|
6
|
-
readonly Bigint: "bigint";
|
|
7
|
-
readonly Symbol: "symbol";
|
|
8
|
-
readonly Integer: "integer";
|
|
9
|
-
readonly Float: "float";
|
|
10
|
-
readonly Json: "json";
|
|
11
|
-
readonly Url: "url";
|
|
12
|
-
readonly Regexp: "regexp";
|
|
13
|
-
readonly Date: "date";
|
|
14
|
-
readonly Time: "time";
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* String tokens for every built-in scalar converter.
|
|
18
|
-
* @public
|
|
19
|
-
*/
|
|
20
|
-
type ConverterToken = (typeof SCALAR)[keyof typeof SCALAR];
|
|
21
|
-
/**
|
|
22
|
-
* Custom element converter for use inside {@link Converters.array}. Receives the trimmed,
|
|
23
|
-
* non-empty raw string for one array slot and returns the parsed value.
|
|
24
|
-
* @public
|
|
25
|
-
*/
|
|
26
|
-
type CustomElementConverter<TReturn = unknown> = (raw: string) => TReturn;
|
|
27
|
-
/**
|
|
28
|
-
* Valid element converters for {@link Converters.array}: any scalar token except
|
|
29
|
-
* `json` and `regexp` (those don't compose as array elements), or a custom function.
|
|
30
|
-
* @public
|
|
31
|
-
*/
|
|
32
|
-
type ArrayElement = Exclude<ConverterToken, 'json' | 'regexp'> | CustomElementConverter;
|
|
33
|
-
/**
|
|
34
|
-
* Phantom-branded token produced by {@link Converters.array}. The `T` type parameter carries
|
|
35
|
-
* the element converter through any variable indirection so inference survives. The
|
|
36
|
-
* `__envaptKind` discriminant is present at runtime for dispatch.
|
|
37
|
-
* @public
|
|
38
|
-
*/
|
|
39
|
-
interface ArrayOf<TElement extends ArrayElement = ArrayElement> {
|
|
40
|
-
readonly __envaptKind: 'array';
|
|
41
|
-
readonly of: TElement;
|
|
42
|
-
readonly delimiter: string;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Runtime type guard for tokens produced by {@link Converters.array}.
|
|
46
|
-
* @internal
|
|
47
|
-
*/
|
|
48
|
-
declare function isArrayOf(value: unknown): value is ArrayOf;
|
|
49
|
-
type ArrayScalarElement = Exclude<ConverterToken, 'json' | 'regexp'>;
|
|
50
|
-
declare function buildArrayConverter<TReturn>(opts: {
|
|
51
|
-
of: CustomElementConverter<TReturn>;
|
|
52
|
-
delimiter?: string;
|
|
53
|
-
}): ArrayOf<CustomElementConverter<TReturn>>;
|
|
54
|
-
declare function buildArrayConverter<TToken extends ArrayScalarElement>(opts: {
|
|
55
|
-
of: TToken;
|
|
56
|
-
delimiter?: string;
|
|
57
|
-
}): ArrayOf<TToken>;
|
|
58
|
-
declare function buildArrayConverter(opts?: {
|
|
59
|
-
delimiter?: string;
|
|
60
|
-
}): ArrayOf<'string'>;
|
|
61
|
-
/**
|
|
62
|
-
* Built-in converters for environment variables. Use the scalar tokens (e.g. `Converters.Number`)
|
|
63
|
-
* for primitive types and the {@link Converters.array} builder for delimited lists.
|
|
64
|
-
*
|
|
65
|
-
* @example
|
|
66
|
-
* ```ts
|
|
67
|
-
* \@Envapt('PORT', { converter: Converters.Number, fallback: 3000 })
|
|
68
|
-
* static readonly port: number;
|
|
69
|
-
*
|
|
70
|
-
* \@Envapt('TAGS', { converter: Converters.array({ of: Converters.String, delimiter: ' ' }) })
|
|
71
|
-
* static readonly tags: string[];
|
|
72
|
-
* ```
|
|
73
|
-
*
|
|
74
|
-
* @public
|
|
75
|
-
*/
|
|
76
|
-
declare const Converters: {
|
|
77
|
-
readonly array: typeof buildArrayConverter;
|
|
78
|
-
readonly String: "string";
|
|
79
|
-
readonly Number: "number";
|
|
80
|
-
readonly Boolean: "boolean";
|
|
81
|
-
readonly Bigint: "bigint";
|
|
82
|
-
readonly Symbol: "symbol";
|
|
83
|
-
readonly Integer: "integer";
|
|
84
|
-
readonly Float: "float";
|
|
85
|
-
readonly Json: "json";
|
|
86
|
-
readonly Url: "url";
|
|
87
|
-
readonly Regexp: "regexp";
|
|
88
|
-
readonly Date: "date";
|
|
89
|
-
readonly Time: "time";
|
|
90
|
-
};
|
|
91
|
-
//#endregion
|
|
92
|
-
export { ArrayElement, ArrayOf, ConverterToken, Converters, CustomElementConverter, isArrayOf };
|
|
93
|
-
//# sourceMappingURL=Converters.d.cts.map
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import __tsdown_shims_path from 'node:path';
|
|
2
|
-
import __tsdown_shims_url from 'node:url';
|
|
3
|
-
//#region src/converters/Converters.d.ts
|
|
4
|
-
declare const SCALAR: {
|
|
5
|
-
readonly String: "string";
|
|
6
|
-
readonly Number: "number";
|
|
7
|
-
readonly Boolean: "boolean";
|
|
8
|
-
readonly Bigint: "bigint";
|
|
9
|
-
readonly Symbol: "symbol";
|
|
10
|
-
readonly Integer: "integer";
|
|
11
|
-
readonly Float: "float";
|
|
12
|
-
readonly Json: "json";
|
|
13
|
-
readonly Url: "url";
|
|
14
|
-
readonly Regexp: "regexp";
|
|
15
|
-
readonly Date: "date";
|
|
16
|
-
readonly Time: "time";
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* String tokens for every built-in scalar converter.
|
|
20
|
-
* @public
|
|
21
|
-
*/
|
|
22
|
-
type ConverterToken = (typeof SCALAR)[keyof typeof SCALAR];
|
|
23
|
-
/**
|
|
24
|
-
* Custom element converter for use inside {@link Converters.array}. Receives the trimmed,
|
|
25
|
-
* non-empty raw string for one array slot and returns the parsed value.
|
|
26
|
-
* @public
|
|
27
|
-
*/
|
|
28
|
-
type CustomElementConverter<TReturn = unknown> = (raw: string) => TReturn;
|
|
29
|
-
/**
|
|
30
|
-
* Valid element converters for {@link Converters.array}: any scalar token except
|
|
31
|
-
* `json` and `regexp` (those don't compose as array elements), or a custom function.
|
|
32
|
-
* @public
|
|
33
|
-
*/
|
|
34
|
-
type ArrayElement = Exclude<ConverterToken, 'json' | 'regexp'> | CustomElementConverter;
|
|
35
|
-
/**
|
|
36
|
-
* Phantom-branded token produced by {@link Converters.array}. The `T` type parameter carries
|
|
37
|
-
* the element converter through any variable indirection so inference survives. The
|
|
38
|
-
* `__envaptKind` discriminant is present at runtime for dispatch.
|
|
39
|
-
* @public
|
|
40
|
-
*/
|
|
41
|
-
interface ArrayOf<TElement extends ArrayElement = ArrayElement> {
|
|
42
|
-
readonly __envaptKind: 'array';
|
|
43
|
-
readonly of: TElement;
|
|
44
|
-
readonly delimiter: string;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Runtime type guard for tokens produced by {@link Converters.array}.
|
|
48
|
-
* @internal
|
|
49
|
-
*/
|
|
50
|
-
declare function isArrayOf(value: unknown): value is ArrayOf;
|
|
51
|
-
type ArrayScalarElement = Exclude<ConverterToken, 'json' | 'regexp'>;
|
|
52
|
-
declare function buildArrayConverter<TReturn>(opts: {
|
|
53
|
-
of: CustomElementConverter<TReturn>;
|
|
54
|
-
delimiter?: string;
|
|
55
|
-
}): ArrayOf<CustomElementConverter<TReturn>>;
|
|
56
|
-
declare function buildArrayConverter<TToken extends ArrayScalarElement>(opts: {
|
|
57
|
-
of: TToken;
|
|
58
|
-
delimiter?: string;
|
|
59
|
-
}): ArrayOf<TToken>;
|
|
60
|
-
declare function buildArrayConverter(opts?: {
|
|
61
|
-
delimiter?: string;
|
|
62
|
-
}): ArrayOf<'string'>;
|
|
63
|
-
/**
|
|
64
|
-
* Built-in converters for environment variables. Use the scalar tokens (e.g. `Converters.Number`)
|
|
65
|
-
* for primitive types and the {@link Converters.array} builder for delimited lists.
|
|
66
|
-
*
|
|
67
|
-
* @example
|
|
68
|
-
* ```ts
|
|
69
|
-
* \@Envapt('PORT', { converter: Converters.Number, fallback: 3000 })
|
|
70
|
-
* static readonly port: number;
|
|
71
|
-
*
|
|
72
|
-
* \@Envapt('TAGS', { converter: Converters.array({ of: Converters.String, delimiter: ' ' }) })
|
|
73
|
-
* static readonly tags: string[];
|
|
74
|
-
* ```
|
|
75
|
-
*
|
|
76
|
-
* @public
|
|
77
|
-
*/
|
|
78
|
-
declare const Converters: {
|
|
79
|
-
readonly array: typeof buildArrayConverter;
|
|
80
|
-
readonly String: "string";
|
|
81
|
-
readonly Number: "number";
|
|
82
|
-
readonly Boolean: "boolean";
|
|
83
|
-
readonly Bigint: "bigint";
|
|
84
|
-
readonly Symbol: "symbol";
|
|
85
|
-
readonly Integer: "integer";
|
|
86
|
-
readonly Float: "float";
|
|
87
|
-
readonly Json: "json";
|
|
88
|
-
readonly Url: "url";
|
|
89
|
-
readonly Regexp: "regexp";
|
|
90
|
-
readonly Date: "date";
|
|
91
|
-
readonly Time: "time";
|
|
92
|
-
};
|
|
93
|
-
//#endregion
|
|
94
|
-
export { ArrayElement, ArrayOf, ConverterToken, Converters, CustomElementConverter, isArrayOf };
|
|
95
|
-
//# sourceMappingURL=Converters.d.mts.map
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { EnvaptConverter } from "../types/Conversion.cjs";
|
|
2
|
-
import { StandardSchemaV1 } from "../infra/StandardSchema.cjs";
|
|
3
|
-
import { EnvKeyInput, EnvapterService } from "../types/Env.cjs";
|
|
4
|
-
|
|
5
|
-
//#region src/converters/ValueConverter.d.ts
|
|
6
|
-
/**
|
|
7
|
-
* Convert a resolved environment value to its declared type via built-in, primitive, array,
|
|
8
|
-
* custom, or Standard Schema converters.
|
|
9
|
-
* @internal
|
|
10
|
-
*/
|
|
11
|
-
declare class ValueConverter {
|
|
12
|
-
private readonly envService;
|
|
13
|
-
constructor(envService: EnvapterService);
|
|
14
|
-
convertValue<TFallback>(key: EnvKeyInput, fallback: TFallback | undefined, converter: EnvaptConverter<TFallback> | undefined, hasFallback: boolean): TFallback | null | undefined;
|
|
15
|
-
private processFallbackForConverter;
|
|
16
|
-
private convertPrimitiveToString;
|
|
17
|
-
private processBuiltInConverter;
|
|
18
|
-
private processArrayConverter;
|
|
19
|
-
private processCustomConverter;
|
|
20
|
-
private resolveConverter;
|
|
21
|
-
convertWithSchema(key: EnvKeyInput, schema: StandardSchemaV1, fallback: unknown, hasFallback: boolean): unknown;
|
|
22
|
-
}
|
|
23
|
-
//#endregion
|
|
24
|
-
export { ValueConverter };
|
|
25
|
-
//# sourceMappingURL=ValueConverter.d.cts.map
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import __tsdown_shims_path from 'node:path';
|
|
2
|
-
import __tsdown_shims_url from 'node:url';
|
|
3
|
-
import { EnvaptConverter } from "../types/Conversion.mjs";
|
|
4
|
-
import { StandardSchemaV1 } from "../infra/StandardSchema.mjs";
|
|
5
|
-
import { EnvKeyInput, EnvapterService } from "../types/Env.mjs";
|
|
6
|
-
|
|
7
|
-
//#region src/converters/ValueConverter.d.ts
|
|
8
|
-
/**
|
|
9
|
-
* Convert a resolved environment value to its declared type via built-in, primitive, array,
|
|
10
|
-
* custom, or Standard Schema converters.
|
|
11
|
-
* @internal
|
|
12
|
-
*/
|
|
13
|
-
declare class ValueConverter {
|
|
14
|
-
private readonly envService;
|
|
15
|
-
constructor(envService: EnvapterService);
|
|
16
|
-
convertValue<TFallback>(key: EnvKeyInput, fallback: TFallback | undefined, converter: EnvaptConverter<TFallback> | undefined, hasFallback: boolean): TFallback | null | undefined;
|
|
17
|
-
private processFallbackForConverter;
|
|
18
|
-
private convertPrimitiveToString;
|
|
19
|
-
private processBuiltInConverter;
|
|
20
|
-
private processArrayConverter;
|
|
21
|
-
private processCustomConverter;
|
|
22
|
-
private resolveConverter;
|
|
23
|
-
convertWithSchema(key: EnvKeyInput, schema: StandardSchemaV1, fallback: unknown, hasFallback: boolean): unknown;
|
|
24
|
-
}
|
|
25
|
-
//#endregion
|
|
26
|
-
export { ValueConverter };
|
|
27
|
-
//# sourceMappingURL=ValueConverter.d.mts.map
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { ArrayOf } from "../converters/Converters.cjs";
|
|
2
|
-
import { AdvancedConverterReturn, BuiltInConverter, ConditionalReturn, ConverterFunction, InferConverterReturnType, TimeFallback } from "../types/Conversion.cjs";
|
|
3
|
-
import { InferSchemaOutput, StandardSchemaV1 } from "../infra/StandardSchema.cjs";
|
|
4
|
-
import { SchemaConstraint } from "../types/Schema.cjs";
|
|
5
|
-
import { EnvKeyInput } from "../types/Env.cjs";
|
|
6
|
-
import { PrimitiveMethods } from "./PrimitiveMethods.cjs";
|
|
7
|
-
|
|
8
|
-
//#region src/core/AdvancedMethods.d.ts
|
|
9
|
-
interface GetUsingRequiredOptions<TConverter> {
|
|
10
|
-
converter: TConverter;
|
|
11
|
-
required: true;
|
|
12
|
-
}
|
|
13
|
-
interface GetWithRequiredOptions<TReturnType> {
|
|
14
|
-
converter: ConverterFunction<TReturnType>;
|
|
15
|
-
required: true;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Mixin for advanced methods for environment variable conversion using built-in and custom converters
|
|
19
|
-
* @internal
|
|
20
|
-
*/
|
|
21
|
-
declare class AdvancedMethods extends PrimitiveMethods {
|
|
22
|
-
/**
|
|
23
|
-
* Get an environment variable using a built-in converter.
|
|
24
|
-
*
|
|
25
|
-
* Supports both scalar tokens (e.g. `Converters.Number`) and `ArrayOf<...>` tokens
|
|
26
|
-
* produced by `Converters.array(...)`. The key can be a single name or an ordered list;
|
|
27
|
-
* the first defined value wins.
|
|
28
|
-
*/
|
|
29
|
-
static getUsing<TFallback extends TimeFallback | undefined = undefined>(key: EnvKeyInput, converter: 'time', fallback?: TFallback): ConditionalReturn<number, TFallback>;
|
|
30
|
-
static getUsing<TConverter extends BuiltInConverter | ArrayOf, TFallback = undefined>(key: EnvKeyInput, converter: TConverter, fallback?: TFallback): AdvancedConverterReturn<TConverter, TFallback>;
|
|
31
|
-
static getUsing<TReturn>(key: EnvKeyInput, converter: BuiltInConverter | ArrayOf, fallback?: TReturn): TReturn;
|
|
32
|
-
static getUsing(key: EnvKeyInput, options: GetUsingRequiredOptions<'time'>): number;
|
|
33
|
-
static getUsing<TConverter extends BuiltInConverter | ArrayOf>(key: EnvKeyInput, options: GetUsingRequiredOptions<TConverter>): InferConverterReturnType<TConverter>;
|
|
34
|
-
/**
|
|
35
|
-
* @see {@link AdvancedMethods.getUsing}
|
|
36
|
-
*/
|
|
37
|
-
getUsing<TFallback extends TimeFallback | undefined = undefined>(key: EnvKeyInput, converter: 'time', fallback?: TFallback): ConditionalReturn<number, TFallback>;
|
|
38
|
-
getUsing<TConverter extends BuiltInConverter | ArrayOf, TFallback = undefined>(key: EnvKeyInput, converter: TConverter, fallback?: TFallback): AdvancedConverterReturn<TConverter, TFallback>;
|
|
39
|
-
getUsing<TReturn>(key: EnvKeyInput, converter: BuiltInConverter | ArrayOf, fallback?: TReturn): TReturn;
|
|
40
|
-
getUsing(key: EnvKeyInput, options: GetUsingRequiredOptions<'time'>): number;
|
|
41
|
-
getUsing<TConverter extends BuiltInConverter | ArrayOf>(key: EnvKeyInput, options: GetUsingRequiredOptions<TConverter>): InferConverterReturnType<TConverter>;
|
|
42
|
-
/**
|
|
43
|
-
* Get an environment variable using a custom converter function.
|
|
44
|
-
* Accepts a single key or an ordered list for automatic fallback.
|
|
45
|
-
*/
|
|
46
|
-
static getWith<TReturnType, TFallback extends TReturnType | undefined = undefined>(key: EnvKeyInput, converter: ConverterFunction<TReturnType>, fallback?: TFallback): ConditionalReturn<TReturnType, TFallback>;
|
|
47
|
-
static getWith<TReturnType>(key: EnvKeyInput, options: GetWithRequiredOptions<TReturnType>): TReturnType;
|
|
48
|
-
/**
|
|
49
|
-
* @see {@link AdvancedMethods.getWith}
|
|
50
|
-
*/
|
|
51
|
-
getWith<TReturnType, TFallback extends TReturnType | undefined = undefined>(key: EnvKeyInput, converter: ConverterFunction<TReturnType>, fallback?: TFallback): ConditionalReturn<TReturnType, TFallback>;
|
|
52
|
-
getWith<TReturnType>(key: EnvKeyInput, options: GetWithRequiredOptions<TReturnType>): TReturnType;
|
|
53
|
-
/**
|
|
54
|
-
* Validate an environment variable through a {@link StandardSchemaV1}-conformant schema
|
|
55
|
-
* (zod, valibot, arktype, etc). Throws `MissingEnvValue` if the env value is absent and
|
|
56
|
-
* no fallback is provided. The fallback, when provided, is returned as-is on missing;
|
|
57
|
-
* it does NOT pass through the schema (mirrors custom-converter behavior).
|
|
58
|
-
*
|
|
59
|
-
* Synchronous schemas only. A Promise-returning `validate` triggers an
|
|
60
|
-
* `InvalidUserDefinedConfig` throw at the call site.
|
|
61
|
-
*
|
|
62
|
-
* @example
|
|
63
|
-
* ```ts
|
|
64
|
-
* import { z } from 'zod';
|
|
65
|
-
* const port = Envapter.parse('PORT', z.coerce.number().min(1024).max(65535), 3000);
|
|
66
|
-
* ```
|
|
67
|
-
*/
|
|
68
|
-
static parse<Schema extends StandardSchemaV1>(key: EnvKeyInput, schema: SchemaConstraint<Schema>, fallback?: InferSchemaOutput<Schema>): InferSchemaOutput<Schema>;
|
|
69
|
-
/**
|
|
70
|
-
* @see {@link AdvancedMethods.parse}
|
|
71
|
-
*/
|
|
72
|
-
parse<Schema extends StandardSchemaV1>(key: EnvKeyInput, schema: SchemaConstraint<Schema>, fallback?: InferSchemaOutput<Schema>): InferSchemaOutput<Schema>;
|
|
73
|
-
}
|
|
74
|
-
//#endregion
|
|
75
|
-
export { AdvancedMethods };
|
|
76
|
-
//# sourceMappingURL=AdvancedMethods.d.cts.map
|