@arkenv/nextjs 0.0.3 → 0.0.4
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/README.md +89 -0
- package/dist/client.cjs +2 -0
- package/dist/client.cjs.map +1 -0
- package/dist/client.d.cts +23 -0
- package/dist/client.d.cts.map +1 -0
- package/dist/client.d.ts +23 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +2 -0
- package/dist/client.js.map +1 -0
- package/dist/config.cjs +38 -0
- package/dist/config.cjs.map +1 -0
- package/dist/config.d.cts +71 -0
- package/dist/config.d.cts.map +1 -0
- package/dist/config.d.ts +71 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +38 -0
- package/dist/config.js.map +1 -0
- package/dist/create-env-BfXQtLQM.js +2 -0
- package/dist/create-env-BfXQtLQM.js.map +1 -0
- package/dist/create-env-DDWVuzwL.cjs +2 -0
- package/dist/create-env-DDWVuzwL.cjs.map +1 -0
- package/dist/index-Bn3pRiJy.d.ts +187 -0
- package/dist/index-Bn3pRiJy.d.ts.map +1 -0
- package/dist/index-C6bpQ5GU.d.cts +187 -0
- package/dist/index-C6bpQ5GU.d.cts.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -5
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/react-server.cjs +1 -1
- package/dist/react-server.cjs.map +1 -1
- package/dist/react-server.d.cts +7 -5
- package/dist/react-server.d.cts.map +1 -1
- package/dist/react-server.d.ts +7 -5
- package/dist/react-server.d.ts.map +1 -1
- package/dist/react-server.js +1 -1
- package/dist/react-server.js.map +1 -1
- package/dist/server.cjs +2 -0
- package/dist/server.cjs.map +1 -0
- package/dist/server.d.cts +22 -0
- package/dist/server.d.cts.map +1 -0
- package/dist/server.d.ts +23 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +2 -0
- package/dist/server.js.map +1 -0
- package/dist/shared.cjs +2 -0
- package/dist/shared.cjs.map +1 -0
- package/dist/shared.d.cts +17 -0
- package/dist/shared.d.cts.map +1 -0
- package/dist/shared.d.ts +17 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +2 -0
- package/dist/shared.js.map +1 -0
- package/dist/types-BN4fEChy.d.ts +12 -0
- package/dist/types-BN4fEChy.d.ts.map +1 -0
- package/dist/types-DBqiLw5v.d.cts +12 -0
- package/dist/types-DBqiLw5v.d.cts.map +1 -0
- package/package.json +75 -3
- package/dist/create-env-NTGNQN-0.cjs +0 -2
- package/dist/create-env-NTGNQN-0.cjs.map +0 -1
- package/dist/create-env-u3WlRe7_.js +0 -2
- package/dist/create-env-u3WlRe7_.js.map +0 -1
- package/dist/index-Bu2HxG6d.d.cts +0 -90
- package/dist/index-Bu2HxG6d.d.cts.map +0 -1
- package/dist/index-DLivsH0-.d.ts +0 -90
- package/dist/index-DLivsH0-.d.ts.map +0 -1
package/dist/react-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-server.js","names":[],"sources":["../src/react-server.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"react-server.js","names":[],"sources":["../src/react-server.ts"],"sourcesContent":["import type { SchemaShape } from \"@repo/types\";\nimport type { EnvSchema, Infer } from \"arkenv\";\nimport { createEnvInternal } from \"./create-env\";\n\n/**\n * Create a validated, type-safe environment configuration for Next.js applications (Server-side RSC entry point).\n *\n * @param options The environment validation configuration options\n * @returns A validated, readonly environment variables object wrapped in a security proxy\n * @throws An error if any client-side variable is not prefixed with `NEXT_PUBLIC_`\n * @throws An error if any client or shared variable is missing from `runtimeEnv`\n * @deprecated Use the codegen workflow by wrapping your config with `withArkEnv` from `@arkenv/nextjs/config` and importing `createEnv` from `./env.gen.ts`.\n */\nexport function createEnv<\n\tconst TServer extends SchemaShape = {},\n\tconst TClient extends SchemaShape = {},\n\tconst TShared extends SchemaShape = {},\n>(options: {\n\tserver?: EnvSchema<TServer>;\n\tclient?: EnvSchema<TClient> & {\n\t\t[K in keyof TClient]: K extends `NEXT_PUBLIC_${string}` ? unknown : never;\n\t};\n\tshared?: EnvSchema<TShared>;\n\truntimeEnv: Record<keyof TClient | keyof TShared, unknown> &\n\t\tRecord<string, unknown>;\n}): Readonly<Infer<TServer & TClient & TShared>> {\n\ttype ReturnType = Readonly<Infer<TServer & TClient & TShared>>;\n\treturn createEnvInternal(options, true) as ReturnType;\n}\n\nexport type { Infer } from \"arkenv\";\nexport { type } from \"arkenv\";\n\n/**\n * ArkEnv's Next.js integration export, an alias for {@link createEnv}\n *\n * {@link https://arkenv.js.org | ArkEnv} is a typesafe environment variables validator from editor to runtime.\n *\n * @deprecated Use the codegen workflow by wrapping your config with `withArkEnv` from `@arkenv/nextjs/config` and importing `createEnv` from `./env.gen.ts`.\n */\nconst arkenv = createEnv;\nexport default arkenv;\n"],"mappings":"2EAaA,SAAgB,EAId,EAQ+C,CAEhD,OAAO,EAAkB,EAAS,GAAK,CAaxC,MAAM,EAAS"}
|
package/dist/server.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./create-env-DDWVuzwL.cjs`);require(`./config.cjs`);let t=require(`arkenv`);require(`server-only`);function n(t,n){if(t&&typeof t==`object`&&(`runtimeEnv`in t||`server`in t||`shared`in t)){if(`client`in t)throw Error(`server entry point only accepts 'server' and 'shared' schemas.`);return e.t(t,!0)}return e.t(t,n,{isServer:!0})}const r=n;exports.createEnv=n,exports.default=r,Object.defineProperty(exports,`type`,{enumerable:!0,get:function(){return t.type}});
|
|
2
|
+
//# sourceMappingURL=server.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.cjs","names":["createEnvInternal","arkenv"],"sources":["../src/server.ts"],"sourcesContent":["import \"server-only\";\nimport type { $ } from \"@repo/scope\";\nimport type { SchemaShape } from \"@repo/types\";\nimport type { EnvSchema } from \"arkenv\";\nimport type { type as at, distill } from \"arktype\";\nimport { createEnvInternal } from \"./create-env\";\nimport type { MergeExtends } from \"./types\";\n\n/**\n * Create a validated, type-safe environment configuration for Next.js applications (Server entry point).\n */\nexport function createEnv<\n\tconst TSchema extends SchemaShape = {},\n\tconst TExtends extends readonly unknown[] = [],\n>(\n\tschema: EnvSchema<TSchema>,\n\toptions?: {\n\t\textends?: [...TExtends];\n\t\truntimeEnv?: Record<keyof TSchema | string, unknown>;\n\t},\n): Readonly<distill.Out<at.infer<TSchema, $>> & MergeExtends<TExtends>>;\n\nexport function createEnv<\n\tconst TServer extends SchemaShape = {},\n\tconst TShared extends SchemaShape = {},\n\tconst TExtends extends readonly unknown[] = [],\n>(options: {\n\tserver?: EnvSchema<TServer>;\n\tshared?: EnvSchema<TShared>;\n\textends?: [...TExtends];\n\truntimeEnv?: Record<keyof TShared, unknown> & Record<string, unknown>;\n}): Readonly<\n\tdistill.Out<at.infer<TServer & TShared, $>> & MergeExtends<TExtends>\n>;\n\nexport function createEnv(schemaOrOptions: any, optionsOrIsServer?: any): any {\n\tconst isLegacy =\n\t\tschemaOrOptions &&\n\t\ttypeof schemaOrOptions === \"object\" &&\n\t\t(\"runtimeEnv\" in schemaOrOptions ||\n\t\t\t\"server\" in schemaOrOptions ||\n\t\t\t\"shared\" in schemaOrOptions);\n\n\tif (isLegacy) {\n\t\tif (\"client\" in schemaOrOptions) {\n\t\t\tthrow new Error(\n\t\t\t\t\"server entry point only accepts 'server' and 'shared' schemas.\",\n\t\t\t);\n\t\t}\n\t\treturn createEnvInternal(schemaOrOptions, true);\n\t}\n\n\treturn createEnvInternal(schemaOrOptions, optionsOrIsServer, {\n\t\tisServer: true,\n\t});\n}\n\nexport { type } from \"arkenv\";\n\nconst arkenv = createEnv;\nexport default arkenv;\n"],"mappings":"mNAmCA,SAAgB,EAAU,EAAsB,EAA8B,CAQ7E,GANC,GACA,OAAO,GAAoB,WAC1B,eAAgB,GAChB,WAAY,GACZ,WAAY,GAEA,CACb,GAAI,WAAY,EACf,MAAU,MACT,iEACA,CAEF,OAAOA,EAAAA,EAAkB,EAAiB,GAAK,CAGhD,OAAOA,EAAAA,EAAkB,EAAiB,EAAmB,CAC5D,SAAU,GACV,CAAC,CAKH,MAAMC,EAAS"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { r as $, t as SchemaShape } from "./index-C6bpQ5GU.cjs";
|
|
2
|
+
import { t as MergeExtends } from "./types-DBqiLw5v.cjs";
|
|
3
|
+
import { distill, type as type$1 } from "arktype";
|
|
4
|
+
import { EnvSchema, type } from "arkenv";
|
|
5
|
+
//#region src/server.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Create a validated, type-safe environment configuration for Next.js applications (Server entry point).
|
|
8
|
+
*/
|
|
9
|
+
declare function createEnv<const TSchema extends SchemaShape = {}, const TExtends extends readonly unknown[] = []>(schema: EnvSchema<TSchema>, options?: {
|
|
10
|
+
extends?: [...TExtends];
|
|
11
|
+
runtimeEnv?: Record<keyof TSchema | string, unknown>;
|
|
12
|
+
}): Readonly<distill.Out<type$1.infer<TSchema, $>> & MergeExtends<TExtends>>;
|
|
13
|
+
declare function createEnv<const TServer extends SchemaShape = {}, const TShared extends SchemaShape = {}, const TExtends extends readonly unknown[] = []>(options: {
|
|
14
|
+
server?: EnvSchema<TServer>;
|
|
15
|
+
shared?: EnvSchema<TShared>;
|
|
16
|
+
extends?: [...TExtends];
|
|
17
|
+
runtimeEnv?: Record<keyof TShared, unknown> & Record<string, unknown>;
|
|
18
|
+
}): Readonly<distill.Out<type$1.infer<TServer & TShared, $>> & MergeExtends<TExtends>>;
|
|
19
|
+
declare const arkenv: typeof createEnv;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { createEnv, arkenv as default, type };
|
|
22
|
+
//# sourceMappingURL=server.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.cts","names":[],"sources":["../src/server.ts"],"mappings":";;;;;;AAWA;;iBAAgB,SAAA,uBACO,WAAA,sDAAA,CAGtB,MAAA,EAAQ,SAAA,CAAU,OAAA,GAClB,OAAA;EACC,OAAA,OAAc,QAAA;EACd,UAAA,GAAa,MAAA,OAAa,OAAA;AAAA,IAEzB,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,MAAA,CAAG,KAAA,CAAM,OAAA,EAAS,CAAA,KAAM,YAAA,CAAa,QAAA;AAAA,iBAE7C,SAAA,uBACO,WAAA,6BACA,WAAA,sDAAA,CAErB,OAAA;EACD,MAAA,GAAS,SAAA,CAAU,OAAA;EACnB,MAAA,GAAS,SAAA,CAAU,OAAA;EACnB,OAAA,OAAc,QAAA;EACd,UAAA,GAAa,MAAA,OAAa,OAAA,aAAoB,MAAA;AAAA,IAC3C,QAAA,CACH,OAAA,CAAQ,GAAA,CAAI,MAAA,CAAG,KAAA,CAAM,OAAA,GAAU,OAAA,EAAS,CAAA,KAAM,YAAA,CAAa,QAAA;AAAA,cA2BtD,MAAA,SAAM,SAAA"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { r as $, t as SchemaShape } from "./index-Bn3pRiJy.js";
|
|
2
|
+
import { t as MergeExtends } from "./types-BN4fEChy.js";
|
|
3
|
+
import { EnvSchema, type } from "arkenv";
|
|
4
|
+
import { distill, type as type$1 } from "arktype";
|
|
5
|
+
|
|
6
|
+
//#region src/server.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Create a validated, type-safe environment configuration for Next.js applications (Server entry point).
|
|
9
|
+
*/
|
|
10
|
+
declare function createEnv<const TSchema extends SchemaShape = {}, const TExtends extends readonly unknown[] = []>(schema: EnvSchema<TSchema>, options?: {
|
|
11
|
+
extends?: [...TExtends];
|
|
12
|
+
runtimeEnv?: Record<keyof TSchema | string, unknown>;
|
|
13
|
+
}): Readonly<distill.Out<type$1.infer<TSchema, $>> & MergeExtends<TExtends>>;
|
|
14
|
+
declare function createEnv<const TServer extends SchemaShape = {}, const TShared extends SchemaShape = {}, const TExtends extends readonly unknown[] = []>(options: {
|
|
15
|
+
server?: EnvSchema<TServer>;
|
|
16
|
+
shared?: EnvSchema<TShared>;
|
|
17
|
+
extends?: [...TExtends];
|
|
18
|
+
runtimeEnv?: Record<keyof TShared, unknown> & Record<string, unknown>;
|
|
19
|
+
}): Readonly<distill.Out<type$1.infer<TServer & TShared, $>> & MergeExtends<TExtends>>;
|
|
20
|
+
declare const arkenv: typeof createEnv;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { createEnv, arkenv as default, type };
|
|
23
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","names":[],"sources":["../src/server.ts"],"mappings":";;;;;;;AAWA;;iBAAgB,SAAA,uBACO,WAAA,sDAAA,CAGtB,MAAA,EAAQ,SAAA,CAAU,OAAA,GAClB,OAAA;EACC,OAAA,OAAc,QAAA;EACd,UAAA,GAAa,MAAA,OAAa,OAAA;AAAA,IAEzB,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,MAAA,CAAG,KAAA,CAAM,OAAA,EAAS,CAAA,KAAM,YAAA,CAAa,QAAA;AAAA,iBAE7C,SAAA,uBACO,WAAA,6BACA,WAAA,sDAAA,CAErB,OAAA;EACD,MAAA,GAAS,SAAA,CAAU,OAAA;EACnB,MAAA,GAAS,SAAA,CAAU,OAAA;EACnB,OAAA,OAAc,QAAA;EACd,UAAA,GAAa,MAAA,OAAa,OAAA,aAAoB,MAAA;AAAA,IAC3C,QAAA,CACH,OAAA,CAAQ,GAAA,CAAI,MAAA,CAAG,KAAA,CAAM,OAAA,GAAU,OAAA,EAAS,CAAA,KAAM,YAAA,CAAa,QAAA;AAAA,cA2BtD,MAAA,SAAM,SAAA"}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"./create-env-BfXQtLQM.js";import{type as t}from"arkenv";import"server-only";function n(t,n){if(t&&typeof t==`object`&&(`runtimeEnv`in t||`server`in t||`shared`in t)){if(`client`in t)throw Error(`server entry point only accepts 'server' and 'shared' schemas.`);return e(t,!0)}return e(t,n,{isServer:!0})}const r=n;export{n as createEnv,r as default,t as type};
|
|
2
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","names":[],"sources":["../src/server.ts"],"sourcesContent":["import \"server-only\";\nimport type { $ } from \"@repo/scope\";\nimport type { SchemaShape } from \"@repo/types\";\nimport type { EnvSchema } from \"arkenv\";\nimport type { type as at, distill } from \"arktype\";\nimport { createEnvInternal } from \"./create-env\";\nimport type { MergeExtends } from \"./types\";\n\n/**\n * Create a validated, type-safe environment configuration for Next.js applications (Server entry point).\n */\nexport function createEnv<\n\tconst TSchema extends SchemaShape = {},\n\tconst TExtends extends readonly unknown[] = [],\n>(\n\tschema: EnvSchema<TSchema>,\n\toptions?: {\n\t\textends?: [...TExtends];\n\t\truntimeEnv?: Record<keyof TSchema | string, unknown>;\n\t},\n): Readonly<distill.Out<at.infer<TSchema, $>> & MergeExtends<TExtends>>;\n\nexport function createEnv<\n\tconst TServer extends SchemaShape = {},\n\tconst TShared extends SchemaShape = {},\n\tconst TExtends extends readonly unknown[] = [],\n>(options: {\n\tserver?: EnvSchema<TServer>;\n\tshared?: EnvSchema<TShared>;\n\textends?: [...TExtends];\n\truntimeEnv?: Record<keyof TShared, unknown> & Record<string, unknown>;\n}): Readonly<\n\tdistill.Out<at.infer<TServer & TShared, $>> & MergeExtends<TExtends>\n>;\n\nexport function createEnv(schemaOrOptions: any, optionsOrIsServer?: any): any {\n\tconst isLegacy =\n\t\tschemaOrOptions &&\n\t\ttypeof schemaOrOptions === \"object\" &&\n\t\t(\"runtimeEnv\" in schemaOrOptions ||\n\t\t\t\"server\" in schemaOrOptions ||\n\t\t\t\"shared\" in schemaOrOptions);\n\n\tif (isLegacy) {\n\t\tif (\"client\" in schemaOrOptions) {\n\t\t\tthrow new Error(\n\t\t\t\t\"server entry point only accepts 'server' and 'shared' schemas.\",\n\t\t\t);\n\t\t}\n\t\treturn createEnvInternal(schemaOrOptions, true);\n\t}\n\n\treturn createEnvInternal(schemaOrOptions, optionsOrIsServer, {\n\t\tisServer: true,\n\t});\n}\n\nexport { type } from \"arkenv\";\n\nconst arkenv = createEnv;\nexport default arkenv;\n"],"mappings":"+FAmCA,SAAgB,EAAU,EAAsB,EAA8B,CAQ7E,GANC,GACA,OAAO,GAAoB,WAC1B,eAAgB,GAChB,WAAY,GACZ,WAAY,GAEA,CACb,GAAI,WAAY,EACf,MAAU,MACT,iEACA,CAEF,OAAO,EAAkB,EAAiB,GAAK,CAGhD,OAAO,EAAkB,EAAiB,EAAmB,CAC5D,SAAU,GACV,CAAC,CAKH,MAAM,EAAS"}
|
package/dist/shared.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./create-env-DDWVuzwL.cjs`);require(`./config.cjs`);let t=require(`arkenv`);function n(t,n){return e.t(t,n,{isServer:typeof window>`u`,isShared:!0})}const r=n;exports.createEnv=n,exports.default=r,Object.defineProperty(exports,`type`,{enumerable:!0,get:function(){return t.type}});
|
|
2
|
+
//# sourceMappingURL=shared.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.cjs","names":["createEnvInternal","arkenv"],"sources":["../src/shared.ts"],"sourcesContent":["import type { $ } from \"@repo/scope\";\nimport type { SchemaShape } from \"@repo/types\";\nimport type { EnvSchema } from \"arkenv\";\nimport type { type as at, distill } from \"arktype\";\nimport { createEnvInternal } from \"./create-env\";\nimport type { MergeExtends } from \"./types\";\n\n/**\n * Create a validated, type-safe environment configuration for Next.js applications (Shared entry point).\n */\nexport function createEnv<\n\tconst TSchema extends SchemaShape = {},\n\tconst TExtends extends readonly unknown[] = [],\n>(\n\tschema: EnvSchema<TSchema>,\n\toptions?: {\n\t\textends?: [...TExtends];\n\t\truntimeEnv?: Record<keyof TSchema | string, unknown>;\n\t},\n): Readonly<distill.Out<at.infer<TSchema, $>> & MergeExtends<TExtends>> {\n\tconst isServer = typeof window === \"undefined\";\n\treturn createEnvInternal(schema, options, {\n\t\tisServer,\n\t\tisShared: true,\n\t}) as any;\n}\n\nexport { type } from \"arkenv\";\n\nconst arkenv = createEnv;\nexport default arkenv;\n"],"mappings":"4LAUA,SAAgB,EAIf,EACA,EAIuE,CAEvE,OAAOA,EAAAA,EAAkB,EAAQ,EAAS,CACzC,SAFgB,OAAO,OAAW,IAGlC,SAAU,GACV,CAAC,CAKH,MAAMC,EAAS"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { r as $, t as SchemaShape } from "./index-C6bpQ5GU.cjs";
|
|
2
|
+
import { t as MergeExtends } from "./types-DBqiLw5v.cjs";
|
|
3
|
+
import { distill, type as type$1 } from "arktype";
|
|
4
|
+
import { EnvSchema, type } from "arkenv";
|
|
5
|
+
|
|
6
|
+
//#region src/shared.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Create a validated, type-safe environment configuration for Next.js applications (Shared entry point).
|
|
9
|
+
*/
|
|
10
|
+
declare function createEnv<const TSchema extends SchemaShape = {}, const TExtends extends readonly unknown[] = []>(schema: EnvSchema<TSchema>, options?: {
|
|
11
|
+
extends?: [...TExtends];
|
|
12
|
+
runtimeEnv?: Record<keyof TSchema | string, unknown>;
|
|
13
|
+
}): Readonly<distill.Out<type$1.infer<TSchema, $>> & MergeExtends<TExtends>>;
|
|
14
|
+
declare const arkenv: typeof createEnv;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { createEnv, arkenv as default, type };
|
|
17
|
+
//# sourceMappingURL=shared.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.cts","names":[],"sources":["../src/shared.ts"],"mappings":";;;;;;;AAUA;;iBAAgB,SAAA,uBACO,WAAA,sDAAA,CAGtB,MAAA,EAAQ,SAAA,CAAU,OAAA,GAClB,OAAA;EACC,OAAA,OAAc,QAAA;EACd,UAAA,GAAa,MAAA,OAAa,OAAA;AAAA,IAEzB,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,MAAA,CAAG,KAAA,CAAM,OAAA,EAAS,CAAA,KAAM,YAAA,CAAa,QAAA;AAAA,cAUvD,MAAA,SAAM,SAAA"}
|
package/dist/shared.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { r as $, t as SchemaShape } from "./index-Bn3pRiJy.js";
|
|
2
|
+
import { t as MergeExtends } from "./types-BN4fEChy.js";
|
|
3
|
+
import { EnvSchema, type } from "arkenv";
|
|
4
|
+
import { distill, type as type$1 } from "arktype";
|
|
5
|
+
|
|
6
|
+
//#region src/shared.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Create a validated, type-safe environment configuration for Next.js applications (Shared entry point).
|
|
9
|
+
*/
|
|
10
|
+
declare function createEnv<const TSchema extends SchemaShape = {}, const TExtends extends readonly unknown[] = []>(schema: EnvSchema<TSchema>, options?: {
|
|
11
|
+
extends?: [...TExtends];
|
|
12
|
+
runtimeEnv?: Record<keyof TSchema | string, unknown>;
|
|
13
|
+
}): Readonly<distill.Out<type$1.infer<TSchema, $>> & MergeExtends<TExtends>>;
|
|
14
|
+
declare const arkenv: typeof createEnv;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { createEnv, arkenv as default, type };
|
|
17
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","names":[],"sources":["../src/shared.ts"],"mappings":";;;;;;;AAUA;;iBAAgB,SAAA,uBACO,WAAA,sDAAA,CAGtB,MAAA,EAAQ,SAAA,CAAU,OAAA,GAClB,OAAA;EACC,OAAA,OAAc,QAAA;EACd,UAAA,GAAa,MAAA,OAAa,OAAA;AAAA,IAEzB,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,MAAA,CAAG,KAAA,CAAM,OAAA,EAAS,CAAA,KAAM,YAAA,CAAa,QAAA;AAAA,cAUvD,MAAA,SAAM,SAAA"}
|
package/dist/shared.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","names":[],"sources":["../src/shared.ts"],"sourcesContent":["import type { $ } from \"@repo/scope\";\nimport type { SchemaShape } from \"@repo/types\";\nimport type { EnvSchema } from \"arkenv\";\nimport type { type as at, distill } from \"arktype\";\nimport { createEnvInternal } from \"./create-env\";\nimport type { MergeExtends } from \"./types\";\n\n/**\n * Create a validated, type-safe environment configuration for Next.js applications (Shared entry point).\n */\nexport function createEnv<\n\tconst TSchema extends SchemaShape = {},\n\tconst TExtends extends readonly unknown[] = [],\n>(\n\tschema: EnvSchema<TSchema>,\n\toptions?: {\n\t\textends?: [...TExtends];\n\t\truntimeEnv?: Record<keyof TSchema | string, unknown>;\n\t},\n): Readonly<distill.Out<at.infer<TSchema, $>> & MergeExtends<TExtends>> {\n\tconst isServer = typeof window === \"undefined\";\n\treturn createEnvInternal(schema, options, {\n\t\tisServer,\n\t\tisShared: true,\n\t}) as any;\n}\n\nexport { type } from \"arkenv\";\n\nconst arkenv = createEnv;\nexport default arkenv;\n"],"mappings":"2EAUA,SAAgB,EAIf,EACA,EAIuE,CAEvE,OAAO,EAAkB,EAAQ,EAAS,CACzC,SAFgB,OAAO,OAAW,IAGlC,SAAU,GACV,CAAC,CAKH,MAAM,EAAS"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { n as InferType } from "./index-Bn3pRiJy.js";
|
|
2
|
+
|
|
3
|
+
//#region src/types.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Shared type utilities for Next.js entry points.
|
|
6
|
+
*/
|
|
7
|
+
type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
|
|
8
|
+
type ResolveExtendsElement<T> = [InferType<T>] extends [never] ? T : InferType<T>;
|
|
9
|
+
type MergeExtends<TExtends extends readonly unknown[] | undefined> = TExtends extends readonly unknown[] ? UnionToIntersection<ResolveExtendsElement<TExtends[number]>> : {};
|
|
10
|
+
//#endregion
|
|
11
|
+
export { MergeExtends as t };
|
|
12
|
+
//# sourceMappingURL=types-BN4fEChy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-BN4fEChy.d.ts","names":[],"sources":["../src/types.ts"],"mappings":";;;;;AAMA;KAAY,mBAAA,OACX,CAAA,gBACI,CAAA,EAAG,CAAA,6BAEG,CAAA,sBACR,CAAA;AAAA,KAGS,qBAAA,OAA4B,SAAA,CAAU,CAAA,qBAC/C,CAAA,GACA,SAAA,CAAU,CAAA;AAAA,KAED,YAAA,oDACX,QAAA,8BACG,mBAAA,CAAoB,qBAAA,CAAsB,QAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { n as InferType } from "./index-C6bpQ5GU.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/types.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Shared type utilities for Next.js entry points.
|
|
6
|
+
*/
|
|
7
|
+
type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
|
|
8
|
+
type ResolveExtendsElement<T> = [InferType<T>] extends [never] ? T : InferType<T>;
|
|
9
|
+
type MergeExtends<TExtends extends readonly unknown[] | undefined> = TExtends extends readonly unknown[] ? UnionToIntersection<ResolveExtendsElement<TExtends[number]>> : {};
|
|
10
|
+
//#endregion
|
|
11
|
+
export { MergeExtends as t };
|
|
12
|
+
//# sourceMappingURL=types-DBqiLw5v.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-DBqiLw5v.d.cts","names":[],"sources":["../src/types.ts"],"mappings":";;;;;AAMA;KAAY,mBAAA,OACX,CAAA,gBACI,CAAA,EAAG,CAAA,6BAEG,CAAA,sBACR,CAAA;AAAA,KAGS,qBAAA,OAA4B,SAAA,CAAU,CAAA,qBAC/C,CAAA,GACA,SAAA,CAAU,CAAA;AAAA,KAED,YAAA,oDACX,QAAA,8BACG,mBAAA,CAAoB,qBAAA,CAAsB,QAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arkenv/nextjs",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"author": "Yam Borodetsky <yam@yam.codes>",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
"main": "./dist/index.cjs",
|
|
10
10
|
"module": "./dist/index.js",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"
|
|
12
|
+
"chokidar": "^4.0.3",
|
|
13
|
+
"server-only": "^0.0.1",
|
|
14
|
+
"arkenv": "0.11.1"
|
|
13
15
|
},
|
|
14
16
|
"devDependencies": {
|
|
15
17
|
"@size-limit/preset-small-lib": "12.1.0",
|
|
@@ -28,6 +30,21 @@
|
|
|
28
30
|
"next": "^13.4.0 || ^14.0.0 || ^15.0.0 || ^16.0.0-0"
|
|
29
31
|
},
|
|
30
32
|
"exports": {
|
|
33
|
+
"./shared": {
|
|
34
|
+
"types": "./dist/shared.d.ts",
|
|
35
|
+
"import": "./dist/shared.js",
|
|
36
|
+
"require": "./dist/shared.cjs"
|
|
37
|
+
},
|
|
38
|
+
"./server": {
|
|
39
|
+
"types": "./dist/server.d.ts",
|
|
40
|
+
"import": "./dist/server.js",
|
|
41
|
+
"require": "./dist/server.cjs"
|
|
42
|
+
},
|
|
43
|
+
"./client": {
|
|
44
|
+
"types": "./dist/client.d.ts",
|
|
45
|
+
"import": "./dist/client.js",
|
|
46
|
+
"require": "./dist/client.cjs"
|
|
47
|
+
},
|
|
31
48
|
".": {
|
|
32
49
|
"react-server": {
|
|
33
50
|
"types": "./dist/index.d.ts",
|
|
@@ -39,6 +56,11 @@
|
|
|
39
56
|
"import": "./dist/index.js",
|
|
40
57
|
"require": "./dist/index.cjs"
|
|
41
58
|
}
|
|
59
|
+
},
|
|
60
|
+
"./config": {
|
|
61
|
+
"types": "./dist/config.d.ts",
|
|
62
|
+
"import": "./dist/config.js",
|
|
63
|
+
"require": "./dist/config.cjs"
|
|
42
64
|
}
|
|
43
65
|
},
|
|
44
66
|
"bugs": "https://github.com/yamcodes/arkenv/labels/%40arkenv%2Fnextjs",
|
|
@@ -60,12 +82,62 @@
|
|
|
60
82
|
"types": "./dist/index.d.ts",
|
|
61
83
|
"size-limit": [
|
|
62
84
|
{
|
|
85
|
+
"name": "@arkenv/nextjs",
|
|
63
86
|
"path": "dist/index.js",
|
|
64
87
|
"limit": "3 kB",
|
|
65
88
|
"import": "*",
|
|
66
89
|
"ignore": [
|
|
67
90
|
"next",
|
|
68
|
-
"arktype"
|
|
91
|
+
"arktype",
|
|
92
|
+
"arkenv"
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"name": "@arkenv/nextjs/shared",
|
|
97
|
+
"path": "dist/shared.js",
|
|
98
|
+
"limit": "1.5 kB",
|
|
99
|
+
"import": "*",
|
|
100
|
+
"ignore": [
|
|
101
|
+
"next",
|
|
102
|
+
"arktype",
|
|
103
|
+
"arkenv"
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "@arkenv/nextjs/server",
|
|
108
|
+
"path": "dist/server.js",
|
|
109
|
+
"limit": "2 kB",
|
|
110
|
+
"import": "*",
|
|
111
|
+
"ignore": [
|
|
112
|
+
"next",
|
|
113
|
+
"arktype",
|
|
114
|
+
"server-only",
|
|
115
|
+
"arkenv"
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "@arkenv/nextjs/client",
|
|
120
|
+
"path": "dist/client.js",
|
|
121
|
+
"limit": "2 kB",
|
|
122
|
+
"import": "*",
|
|
123
|
+
"ignore": [
|
|
124
|
+
"next",
|
|
125
|
+
"arktype",
|
|
126
|
+
"arkenv"
|
|
127
|
+
]
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "@arkenv/nextjs/config",
|
|
131
|
+
"path": "dist/config.js",
|
|
132
|
+
"limit": "2 kB",
|
|
133
|
+
"import": "*",
|
|
134
|
+
"ignore": [
|
|
135
|
+
"next",
|
|
136
|
+
"arktype",
|
|
137
|
+
"arkenv",
|
|
138
|
+
"chokidar",
|
|
139
|
+
"node:fs",
|
|
140
|
+
"node:path"
|
|
69
141
|
]
|
|
70
142
|
}
|
|
71
143
|
],
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
let e=require(`arkenv`);function t(t,n){let r=t.server||{},i=t.client||{},a=t.shared||{},o=t.runtimeEnv;for(let e of Object.keys(i))if(!e.startsWith(`NEXT_PUBLIC_`))throw Error(`Client-side environment variables must be prefixed with 'NEXT_PUBLIC_'. Found invalid key: ${e}`);let s=[...Object.keys(i),...Object.keys(a)];for(let e of s)if(!(e in o))throw Error(`Missing key in runtimeEnv: ${e}. All client and shared environment variables must be explicitly destructured in runtimeEnv.`);let c={};for(let e of Object.keys(o))o[e]!==void 0&&(c[e]=o[e]);if(n)for(let e of Object.keys(r))c[e]===void 0&&process.env[e]!==void 0&&(c[e]=process.env[e]);let l=(0,e.createEnv)(n?{...r,...i,...a}:{...i,...a},{env:c});return new Proxy(l,{get(e,t,o){if(typeof t==`string`&&t in r&&!(t in i)&&!(t in a)&&!n)throw Error(`Accessing server-side environment variable '${t}' on the client is not allowed.`);return Reflect.get(e,t,o)}})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
|
|
2
|
-
//# sourceMappingURL=create-env-NTGNQN-0.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-env-NTGNQN-0.cjs","names":[],"sources":["../src/create-env.ts"],"sourcesContent":["import type { SchemaShape } from \"@repo/types\";\nimport { createEnv as coreCreateEnv } from \"arkenv\";\n\n/**\n * Validate and wrap environment variables in a security proxy.\n *\n * @internal\n *\n * @remarks\n * This internal module contains the core Next.js environment validation logic. It is split from\n * the public entry points to separate execution paths (RSC vs. SSR/Client) at the bundler layer.\n *\n * **Trade-offs & Design Decisions:**\n * 1. **Bundler Resolution (isServer)**: The `isServer` flag is statically hardcoded by the respective\n * entry points (`src/index.ts` and `src/react-server.ts`) resolved via package conditional exports\n * (`react-server` vs `default`). This resolves client component SSR environment poisoning without\n * relying on fragile runtime heuristics.\n * 2. **Type Circuit Breaker (unknown return)**: This function returns `unknown` rather than the complex,\n * recursive ArkType validation types. This prevents TypeScript's compiler from recursively evaluating\n * type mapping depths inside the internal implementation, bypassing `TS2589` instantiation limits.\n *\n * @param options The environment validation configuration options\n * @param isServer Whether the code is running in a server component (RSC) context\n * @returns A validated, readonly environment variables object wrapped in a security proxy\n * @throws An error if any client-side variable is not prefixed with `NEXT_PUBLIC_`\n * @throws An error if any client or shared variable is missing from `runtimeEnv`\n */\nexport function createEnvInternal(\n\toptions: {\n\t\tserver?: SchemaShape;\n\t\tclient?: Record<string, unknown>;\n\t\tshared?: SchemaShape;\n\t\truntimeEnv: Record<string, unknown>;\n\t},\n\tisServer: boolean,\n): unknown {\n\tconst server = options.server || {};\n\tconst client = options.client || {};\n\tconst shared = options.shared || {};\n\tconst runtimeEnv = options.runtimeEnv;\n\n\t// Validate options\n\t// For client keys, check prefix\n\tfor (const key of Object.keys(client)) {\n\t\tif (!key.startsWith(\"NEXT_PUBLIC_\")) {\n\t\t\tthrow new Error(\n\t\t\t\t`Client-side environment variables must be prefixed with 'NEXT_PUBLIC_'. Found invalid key: ${key}`,\n\t\t\t);\n\t\t}\n\t}\n\n\t// Check runtimeEnv has all client and shared keys\n\tconst requiredKeys = [...Object.keys(client), ...Object.keys(shared)];\n\tfor (const key of requiredKeys) {\n\t\tif (!(key in runtimeEnv)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Missing key in runtimeEnv: ${key}. All client and shared environment variables must be explicitly destructured in runtimeEnv.`,\n\t\t\t);\n\t\t}\n\t}\n\n\t// Prepare combined environment for core validation\n\tconst combinedEnv: Record<string, string | undefined> = {};\n\n\tfor (const key of Object.keys(runtimeEnv)) {\n\t\tif (runtimeEnv[key] !== undefined) {\n\t\t\tcombinedEnv[key] = runtimeEnv[key] as string;\n\t\t}\n\t}\n\n\tif (isServer) {\n\t\t// Fallback server keys to process.env if omitted or undefined\n\t\tfor (const key of Object.keys(server)) {\n\t\t\tif (combinedEnv[key] === undefined && process.env[key] !== undefined) {\n\t\t\t\tcombinedEnv[key] = process.env[key];\n\t\t\t}\n\t\t}\n\t}\n\n\t// Select schema based on environment\n\tconst schema = isServer\n\t\t? { ...server, ...client, ...shared }\n\t\t: { ...client, ...shared };\n\n\t// Run core validation\n\t// Note: We cast schema to `any` here to avoid a compilation TS2589 error\n\t// (Type instantiation is excessively deep and possibly infinite).\n\t// Evaluating the full generic intersection schema under `EnvSchema<T>`\n\t// exceeds TypeScript's instantiation limits for generic components.\n\tconst validated = coreCreateEnv(schema as any, { env: combinedEnv });\n\n\t// Return a Proxy wrapper\n\treturn new Proxy(validated, {\n\t\tget(target, prop, receiver) {\n\t\t\tif (typeof prop === \"string\") {\n\t\t\t\tconst isServerOnlyKey =\n\t\t\t\t\tprop in server && !(prop in client) && !(prop in shared);\n\t\t\t\tif (isServerOnlyKey && !isServer) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Accessing server-side environment variable '${prop}' on the client is not allowed.`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn Reflect.get(target, prop, receiver);\n\t\t},\n\t});\n}\n"],"mappings":"wBA2BA,SAAgB,EACf,EAMA,EACU,CACV,IAAM,EAAS,EAAQ,QAAU,EAAE,CAC7B,EAAS,EAAQ,QAAU,EAAE,CAC7B,EAAS,EAAQ,QAAU,EAAE,CAC7B,EAAa,EAAQ,WAI3B,IAAK,IAAM,KAAO,OAAO,KAAK,EAAO,CACpC,GAAI,CAAC,EAAI,WAAW,eAAe,CAClC,MAAU,MACT,8FAA8F,IAC9F,CAKH,IAAM,EAAe,CAAC,GAAG,OAAO,KAAK,EAAO,CAAE,GAAG,OAAO,KAAK,EAAO,CAAC,CACrE,IAAK,IAAM,KAAO,EACjB,GAAI,EAAE,KAAO,GACZ,MAAU,MACT,8BAA8B,EAAI,8FAClC,CAKH,IAAM,EAAkD,EAAE,CAE1D,IAAK,IAAM,KAAO,OAAO,KAAK,EAAW,CACpC,EAAW,KAAS,IAAA,KACvB,EAAY,GAAO,EAAW,IAIhC,GAAI,MAEE,IAAM,KAAO,OAAO,KAAK,EAAO,CAChC,EAAY,KAAS,IAAA,IAAa,QAAQ,IAAI,KAAS,IAAA,KAC1D,EAAY,GAAO,QAAQ,IAAI,IAelC,IAAM,GAAA,EAAA,EAAA,WATS,EACZ,CAAE,GAAG,EAAQ,GAAG,EAAQ,GAAG,EAAQ,CACnC,CAAE,GAAG,EAAQ,GAAG,EAAQ,CAOoB,CAAE,IAAK,EAAa,CAAC,CAGpE,OAAO,IAAI,MAAM,EAAW,CAC3B,IAAI,EAAQ,EAAM,EAAU,CAC3B,GAAI,OAAO,GAAS,UAElB,KAAQ,GAAU,EAAE,KAAQ,IAAW,EAAE,KAAQ,IAC3B,CAAC,EACvB,MAAU,MACT,+CAA+C,EAAK,iCACpD,CAGH,OAAO,QAAQ,IAAI,EAAQ,EAAM,EAAS,EAE3C,CAAC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createEnv as e}from"arkenv";function t(t,n){let r=t.server||{},i=t.client||{},a=t.shared||{},o=t.runtimeEnv;for(let e of Object.keys(i))if(!e.startsWith(`NEXT_PUBLIC_`))throw Error(`Client-side environment variables must be prefixed with 'NEXT_PUBLIC_'. Found invalid key: ${e}`);let s=[...Object.keys(i),...Object.keys(a)];for(let e of s)if(!(e in o))throw Error(`Missing key in runtimeEnv: ${e}. All client and shared environment variables must be explicitly destructured in runtimeEnv.`);let c={};for(let e of Object.keys(o))o[e]!==void 0&&(c[e]=o[e]);if(n)for(let e of Object.keys(r))c[e]===void 0&&process.env[e]!==void 0&&(c[e]=process.env[e]);let l=e(n?{...r,...i,...a}:{...i,...a},{env:c});return new Proxy(l,{get(e,t,o){if(typeof t==`string`&&t in r&&!(t in i)&&!(t in a)&&!n)throw Error(`Accessing server-side environment variable '${t}' on the client is not allowed.`);return Reflect.get(e,t,o)}})}export{t};
|
|
2
|
-
//# sourceMappingURL=create-env-u3WlRe7_.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-env-u3WlRe7_.js","names":["coreCreateEnv"],"sources":["../src/create-env.ts"],"sourcesContent":["import type { SchemaShape } from \"@repo/types\";\nimport { createEnv as coreCreateEnv } from \"arkenv\";\n\n/**\n * Validate and wrap environment variables in a security proxy.\n *\n * @internal\n *\n * @remarks\n * This internal module contains the core Next.js environment validation logic. It is split from\n * the public entry points to separate execution paths (RSC vs. SSR/Client) at the bundler layer.\n *\n * **Trade-offs & Design Decisions:**\n * 1. **Bundler Resolution (isServer)**: The `isServer` flag is statically hardcoded by the respective\n * entry points (`src/index.ts` and `src/react-server.ts`) resolved via package conditional exports\n * (`react-server` vs `default`). This resolves client component SSR environment poisoning without\n * relying on fragile runtime heuristics.\n * 2. **Type Circuit Breaker (unknown return)**: This function returns `unknown` rather than the complex,\n * recursive ArkType validation types. This prevents TypeScript's compiler from recursively evaluating\n * type mapping depths inside the internal implementation, bypassing `TS2589` instantiation limits.\n *\n * @param options The environment validation configuration options\n * @param isServer Whether the code is running in a server component (RSC) context\n * @returns A validated, readonly environment variables object wrapped in a security proxy\n * @throws An error if any client-side variable is not prefixed with `NEXT_PUBLIC_`\n * @throws An error if any client or shared variable is missing from `runtimeEnv`\n */\nexport function createEnvInternal(\n\toptions: {\n\t\tserver?: SchemaShape;\n\t\tclient?: Record<string, unknown>;\n\t\tshared?: SchemaShape;\n\t\truntimeEnv: Record<string, unknown>;\n\t},\n\tisServer: boolean,\n): unknown {\n\tconst server = options.server || {};\n\tconst client = options.client || {};\n\tconst shared = options.shared || {};\n\tconst runtimeEnv = options.runtimeEnv;\n\n\t// Validate options\n\t// For client keys, check prefix\n\tfor (const key of Object.keys(client)) {\n\t\tif (!key.startsWith(\"NEXT_PUBLIC_\")) {\n\t\t\tthrow new Error(\n\t\t\t\t`Client-side environment variables must be prefixed with 'NEXT_PUBLIC_'. Found invalid key: ${key}`,\n\t\t\t);\n\t\t}\n\t}\n\n\t// Check runtimeEnv has all client and shared keys\n\tconst requiredKeys = [...Object.keys(client), ...Object.keys(shared)];\n\tfor (const key of requiredKeys) {\n\t\tif (!(key in runtimeEnv)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Missing key in runtimeEnv: ${key}. All client and shared environment variables must be explicitly destructured in runtimeEnv.`,\n\t\t\t);\n\t\t}\n\t}\n\n\t// Prepare combined environment for core validation\n\tconst combinedEnv: Record<string, string | undefined> = {};\n\n\tfor (const key of Object.keys(runtimeEnv)) {\n\t\tif (runtimeEnv[key] !== undefined) {\n\t\t\tcombinedEnv[key] = runtimeEnv[key] as string;\n\t\t}\n\t}\n\n\tif (isServer) {\n\t\t// Fallback server keys to process.env if omitted or undefined\n\t\tfor (const key of Object.keys(server)) {\n\t\t\tif (combinedEnv[key] === undefined && process.env[key] !== undefined) {\n\t\t\t\tcombinedEnv[key] = process.env[key];\n\t\t\t}\n\t\t}\n\t}\n\n\t// Select schema based on environment\n\tconst schema = isServer\n\t\t? { ...server, ...client, ...shared }\n\t\t: { ...client, ...shared };\n\n\t// Run core validation\n\t// Note: We cast schema to `any` here to avoid a compilation TS2589 error\n\t// (Type instantiation is excessively deep and possibly infinite).\n\t// Evaluating the full generic intersection schema under `EnvSchema<T>`\n\t// exceeds TypeScript's instantiation limits for generic components.\n\tconst validated = coreCreateEnv(schema as any, { env: combinedEnv });\n\n\t// Return a Proxy wrapper\n\treturn new Proxy(validated, {\n\t\tget(target, prop, receiver) {\n\t\t\tif (typeof prop === \"string\") {\n\t\t\t\tconst isServerOnlyKey =\n\t\t\t\t\tprop in server && !(prop in client) && !(prop in shared);\n\t\t\t\tif (isServerOnlyKey && !isServer) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Accessing server-side environment variable '${prop}' on the client is not allowed.`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn Reflect.get(target, prop, receiver);\n\t\t},\n\t});\n}\n"],"mappings":"mCA2BA,SAAgB,EACf,EAMA,EACU,CACV,IAAM,EAAS,EAAQ,QAAU,EAAE,CAC7B,EAAS,EAAQ,QAAU,EAAE,CAC7B,EAAS,EAAQ,QAAU,EAAE,CAC7B,EAAa,EAAQ,WAI3B,IAAK,IAAM,KAAO,OAAO,KAAK,EAAO,CACpC,GAAI,CAAC,EAAI,WAAW,eAAe,CAClC,MAAU,MACT,8FAA8F,IAC9F,CAKH,IAAM,EAAe,CAAC,GAAG,OAAO,KAAK,EAAO,CAAE,GAAG,OAAO,KAAK,EAAO,CAAC,CACrE,IAAK,IAAM,KAAO,EACjB,GAAI,EAAE,KAAO,GACZ,MAAU,MACT,8BAA8B,EAAI,8FAClC,CAKH,IAAM,EAAkD,EAAE,CAE1D,IAAK,IAAM,KAAO,OAAO,KAAK,EAAW,CACpC,EAAW,KAAS,IAAA,KACvB,EAAY,GAAO,EAAW,IAIhC,GAAI,MAEE,IAAM,KAAO,OAAO,KAAK,EAAO,CAChC,EAAY,KAAS,IAAA,IAAa,QAAQ,IAAI,KAAS,IAAA,KAC1D,EAAY,GAAO,QAAQ,IAAI,IAelC,IAAM,EAAYA,EATH,EACZ,CAAE,GAAG,EAAQ,GAAG,EAAQ,GAAG,EAAQ,CACnC,CAAE,GAAG,EAAQ,GAAG,EAAQ,CAOoB,CAAE,IAAK,EAAa,CAAC,CAGpE,OAAO,IAAI,MAAM,EAAW,CAC3B,IAAI,EAAQ,EAAM,EAAU,CAC3B,GAAI,OAAO,GAAS,UAElB,KAAQ,GAAU,EAAE,KAAQ,IAAW,EAAE,KAAQ,IAC3B,CAAC,EACvB,MAAU,MACT,+CAA+C,EAAK,iCACpD,CAGH,OAAO,QAAQ,IAAI,EAAQ,EAAM,EAAS,EAE3C,CAAC"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import * as _$arktype from "arktype";
|
|
2
|
-
import { type } from "arktype";
|
|
3
|
-
import * as _$arktype_internal_keywords_string_ts0 from "arktype/internal/keywords/string.ts";
|
|
4
|
-
import * as _$arktype_internal_attributes_ts0 from "arktype/internal/attributes.ts";
|
|
5
|
-
|
|
6
|
-
//#region ../internal/scope/dist/index.d.ts
|
|
7
|
-
//#region src/root.d.ts
|
|
8
|
-
/**
|
|
9
|
-
* The root scope for the ArkEnv library,
|
|
10
|
-
* containing extensions to the ArkType scopes with ArkEnv-specific types
|
|
11
|
-
* like `string.host` and `number.port`.
|
|
12
|
-
*/
|
|
13
|
-
declare const $: _$arktype.Scope<{
|
|
14
|
-
string: _$arktype.Submodule<{
|
|
15
|
-
trim: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.trim.$ & {
|
|
16
|
-
" arkInferred": (In: string) => _$arktype_internal_attributes_ts0.To<string>;
|
|
17
|
-
}>;
|
|
18
|
-
normalize: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.normalize.$ & {
|
|
19
|
-
" arkInferred": (In: string) => _$arktype_internal_attributes_ts0.To<string>;
|
|
20
|
-
}>;
|
|
21
|
-
root: string;
|
|
22
|
-
alpha: string;
|
|
23
|
-
alphanumeric: string;
|
|
24
|
-
hex: string;
|
|
25
|
-
base64: _$arktype.Submodule<{
|
|
26
|
-
root: string;
|
|
27
|
-
url: string;
|
|
28
|
-
} & {
|
|
29
|
-
" arkInferred": string;
|
|
30
|
-
}>;
|
|
31
|
-
capitalize: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.capitalize.$ & {
|
|
32
|
-
" arkInferred": (In: string) => _$arktype_internal_attributes_ts0.To<string>;
|
|
33
|
-
}>;
|
|
34
|
-
creditCard: string;
|
|
35
|
-
date: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.stringDate.$ & {
|
|
36
|
-
" arkInferred": string;
|
|
37
|
-
}>;
|
|
38
|
-
digits: string;
|
|
39
|
-
email: string;
|
|
40
|
-
integer: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.stringInteger.$ & {
|
|
41
|
-
" arkInferred": string;
|
|
42
|
-
}>;
|
|
43
|
-
ip: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.ip.$ & {
|
|
44
|
-
" arkInferred": string;
|
|
45
|
-
}>;
|
|
46
|
-
json: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.stringJson.$ & {
|
|
47
|
-
" arkInferred": string;
|
|
48
|
-
}>;
|
|
49
|
-
lower: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.lower.$ & {
|
|
50
|
-
" arkInferred": (In: string) => _$arktype_internal_attributes_ts0.To<string>;
|
|
51
|
-
}>;
|
|
52
|
-
numeric: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.stringNumeric.$ & {
|
|
53
|
-
" arkInferred": string;
|
|
54
|
-
}>;
|
|
55
|
-
regex: string;
|
|
56
|
-
semver: string;
|
|
57
|
-
upper: _$arktype.Submodule<{
|
|
58
|
-
root: (In: string) => _$arktype_internal_attributes_ts0.To<string>;
|
|
59
|
-
preformatted: string;
|
|
60
|
-
} & {
|
|
61
|
-
" arkInferred": (In: string) => _$arktype_internal_attributes_ts0.To<string>;
|
|
62
|
-
}>;
|
|
63
|
-
url: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.url.$ & {
|
|
64
|
-
" arkInferred": string;
|
|
65
|
-
}>;
|
|
66
|
-
uuid: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.uuid.$ & {
|
|
67
|
-
" arkInferred": string;
|
|
68
|
-
}>;
|
|
69
|
-
" arkInferred": string;
|
|
70
|
-
host: string;
|
|
71
|
-
}>;
|
|
72
|
-
number: _$arktype.Submodule<{
|
|
73
|
-
NaN: number;
|
|
74
|
-
Infinity: number;
|
|
75
|
-
root: number;
|
|
76
|
-
integer: number;
|
|
77
|
-
" arkInferred": number;
|
|
78
|
-
epoch: number;
|
|
79
|
-
safe: number;
|
|
80
|
-
NegativeInfinity: number;
|
|
81
|
-
port: number;
|
|
82
|
-
}>;
|
|
83
|
-
}>;
|
|
84
|
-
type $ = (typeof $)["t"]; //#endregion
|
|
85
|
-
//#endregion
|
|
86
|
-
//#region ../internal/types/dist/schema.d.ts
|
|
87
|
-
type SchemaShape = Record<string, unknown>;
|
|
88
|
-
//#endregion
|
|
89
|
-
export { $ as n, SchemaShape as t };
|
|
90
|
-
//# sourceMappingURL=index-Bu2HxG6d.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-Bu2HxG6d.d.cts","names":["_$arktype","_$arktype_internal_keywords_string_ts0","_$arktype_internal_attributes_ts0","$","trim","To","Submodule","normalize","capitalize","stringDate","stringInteger","ip","stringJson","lower","stringNumeric","url","uuid","Scope","string","In","root","alpha","alphanumeric","hex","base64","creditCard","date","digits","email","integer","json","numeric","regex","semver","upper","preformatted","host","number","NaN","Infinity","epoch","safe","NegativeInfinity","port","$","Type","SchemaShape","Record","CompiledEnvSchema"],"sources":["../../internal/scope/dist/index.d.ts","../../internal/types/dist/schema.d.ts"],"mappings":";;;;;;;;AAEoF;;;;cAQtEG,CAAAA,EAAGH,SAAAA,CAAUiB,KAAAA;EACzBC,MAAAA,EAAQlB,SAAAA,CAAUM,SAAAA;IAChBF,IAAAA,EAAMJ,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCG,IAAAA,CAAKD,CAAAA;MACpE,cAAA,GAAiBgB,EAAAA,aAAejB,iCAAAA,CAAkCG,EAAAA;IAAAA;IAEpEE,SAAAA,EAAWP,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCM,SAAAA,CAAUJ,CAAAA;MAC9E,cAAA,GAAiBgB,EAAAA,aAAejB,iCAAAA,CAAkCG,EAAAA;IAAAA;IAEpEe,IAAAA;IACAC,KAAAA;IACAC,YAAAA;IACAC,GAAAA;IACAC,MAAAA,EAAQxB,SAAAA,CAAUM,SAAAA;MAChBc,IAAAA;MACAL,GAAAA;IAAAA;MAEA,cAAA;IAAA;IAEFP,UAAAA,EAAYR,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCO,UAAAA,CAAWL,CAAAA;MAChF,cAAA,GAAiBgB,EAAAA,aAAejB,iCAAAA,CAAkCG,EAAAA;IAAAA;IAEpEoB,UAAAA;IACAC,IAAAA,EAAM1B,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCQ,UAAAA,CAAWN,CAAAA;MAC1E,cAAA;IAAA;IAEFwB,MAAAA;IACAC,KAAAA;IACAC,OAAAA,EAAS7B,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCS,aAAAA,CAAcP,CAAAA;MAChF,cAAA;IAAA;IAEFQ,EAAAA,EAAIX,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCU,EAAAA,CAAGR,CAAAA;MAChE,cAAA;IAAA;IAEF2B,IAAAA,EAAM9B,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCW,UAAAA,CAAWT,CAAAA;MAC1E,cAAA;IAAA;IAEFU,KAAAA,EAAOb,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCY,KAAAA,CAAMV,CAAAA;MACtE,cAAA,GAAiBgB,EAAAA,aAAejB,iCAAAA,CAAkCG,EAAAA;IAAAA;IAEpE0B,OAAAA,EAAS/B,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCa,aAAAA,CAAcX,CAAAA;MAChF,cAAA;IAAA;IAEF6B,KAAAA;IACAC,MAAAA;IACAC,KAAAA,EAAOlC,SAAAA,CAAUM,SAAAA;MACfc,IAAAA,GAAOD,EAAAA,aAAejB,iCAAAA,CAAkCG,EAAAA;MACxD8B,YAAAA;IAAAA;MAEA,cAAA,GAAiBhB,EAAAA,aAAejB,iCAAAA,CAAkCG,EAAAA;IAAAA;IAEpEU,GAAAA,EAAKf,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCc,GAAAA,CAAIZ,CAAAA;MAClE,cAAA;IAAA;IAEFa,IAAAA,EAAMhB,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCe,IAAAA,CAAKb,CAAAA;MACpE,cAAA;IAAA;IAEF,cAAA;IACAiC,IAAAA;EAAAA;EAEFC,MAAAA,EAAQrC,SAAAA,CAAUM,SAAAA;IAChBgC,GAAAA;IACAC,QAAAA;IACAnB,IAAAA;IACAS,OAAAA;IACA,cAAA;IACAW,KAAAA;IACAC,IAAAA;IACAC,gBAAAA;IACAC,IAAAA;EAAAA;AAAAA;AAAAA,KAGCxC,CAAAA,WAAYA,CAAAA;;;KC/EL2C,WAAAA,GAAcC,MAAAA"}
|
package/dist/index-DLivsH0-.d.ts
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import * as _$arktype from "arktype";
|
|
2
|
-
import { type } from "arktype";
|
|
3
|
-
import * as _$arktype_internal_keywords_string_ts0 from "arktype/internal/keywords/string.ts";
|
|
4
|
-
import * as _$arktype_internal_attributes_ts0 from "arktype/internal/attributes.ts";
|
|
5
|
-
|
|
6
|
-
//#region ../internal/scope/dist/index.d.ts
|
|
7
|
-
//#region src/root.d.ts
|
|
8
|
-
/**
|
|
9
|
-
* The root scope for the ArkEnv library,
|
|
10
|
-
* containing extensions to the ArkType scopes with ArkEnv-specific types
|
|
11
|
-
* like `string.host` and `number.port`.
|
|
12
|
-
*/
|
|
13
|
-
declare const $: _$arktype.Scope<{
|
|
14
|
-
string: _$arktype.Submodule<{
|
|
15
|
-
trim: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.trim.$ & {
|
|
16
|
-
" arkInferred": (In: string) => _$arktype_internal_attributes_ts0.To<string>;
|
|
17
|
-
}>;
|
|
18
|
-
normalize: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.normalize.$ & {
|
|
19
|
-
" arkInferred": (In: string) => _$arktype_internal_attributes_ts0.To<string>;
|
|
20
|
-
}>;
|
|
21
|
-
root: string;
|
|
22
|
-
alpha: string;
|
|
23
|
-
alphanumeric: string;
|
|
24
|
-
hex: string;
|
|
25
|
-
base64: _$arktype.Submodule<{
|
|
26
|
-
root: string;
|
|
27
|
-
url: string;
|
|
28
|
-
} & {
|
|
29
|
-
" arkInferred": string;
|
|
30
|
-
}>;
|
|
31
|
-
capitalize: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.capitalize.$ & {
|
|
32
|
-
" arkInferred": (In: string) => _$arktype_internal_attributes_ts0.To<string>;
|
|
33
|
-
}>;
|
|
34
|
-
creditCard: string;
|
|
35
|
-
date: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.stringDate.$ & {
|
|
36
|
-
" arkInferred": string;
|
|
37
|
-
}>;
|
|
38
|
-
digits: string;
|
|
39
|
-
email: string;
|
|
40
|
-
integer: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.stringInteger.$ & {
|
|
41
|
-
" arkInferred": string;
|
|
42
|
-
}>;
|
|
43
|
-
ip: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.ip.$ & {
|
|
44
|
-
" arkInferred": string;
|
|
45
|
-
}>;
|
|
46
|
-
json: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.stringJson.$ & {
|
|
47
|
-
" arkInferred": string;
|
|
48
|
-
}>;
|
|
49
|
-
lower: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.lower.$ & {
|
|
50
|
-
" arkInferred": (In: string) => _$arktype_internal_attributes_ts0.To<string>;
|
|
51
|
-
}>;
|
|
52
|
-
numeric: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.stringNumeric.$ & {
|
|
53
|
-
" arkInferred": string;
|
|
54
|
-
}>;
|
|
55
|
-
regex: string;
|
|
56
|
-
semver: string;
|
|
57
|
-
upper: _$arktype.Submodule<{
|
|
58
|
-
root: (In: string) => _$arktype_internal_attributes_ts0.To<string>;
|
|
59
|
-
preformatted: string;
|
|
60
|
-
} & {
|
|
61
|
-
" arkInferred": (In: string) => _$arktype_internal_attributes_ts0.To<string>;
|
|
62
|
-
}>;
|
|
63
|
-
url: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.url.$ & {
|
|
64
|
-
" arkInferred": string;
|
|
65
|
-
}>;
|
|
66
|
-
uuid: _$arktype.Submodule<_$arktype_internal_keywords_string_ts0.uuid.$ & {
|
|
67
|
-
" arkInferred": string;
|
|
68
|
-
}>;
|
|
69
|
-
" arkInferred": string;
|
|
70
|
-
host: string;
|
|
71
|
-
}>;
|
|
72
|
-
number: _$arktype.Submodule<{
|
|
73
|
-
NaN: number;
|
|
74
|
-
Infinity: number;
|
|
75
|
-
root: number;
|
|
76
|
-
integer: number;
|
|
77
|
-
" arkInferred": number;
|
|
78
|
-
epoch: number;
|
|
79
|
-
safe: number;
|
|
80
|
-
NegativeInfinity: number;
|
|
81
|
-
port: number;
|
|
82
|
-
}>;
|
|
83
|
-
}>;
|
|
84
|
-
type $ = (typeof $)["t"]; //#endregion
|
|
85
|
-
//#endregion
|
|
86
|
-
//#region ../internal/types/dist/schema.d.ts
|
|
87
|
-
type SchemaShape = Record<string, unknown>;
|
|
88
|
-
//#endregion
|
|
89
|
-
export { $ as n, SchemaShape as t };
|
|
90
|
-
//# sourceMappingURL=index-DLivsH0-.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-DLivsH0-.d.ts","names":["_$arktype","_$arktype_internal_keywords_string_ts0","_$arktype_internal_attributes_ts0","$","trim","To","Submodule","normalize","capitalize","stringDate","stringInteger","ip","stringJson","lower","stringNumeric","url","uuid","Scope","string","In","root","alpha","alphanumeric","hex","base64","creditCard","date","digits","email","integer","json","numeric","regex","semver","upper","preformatted","host","number","NaN","Infinity","epoch","safe","NegativeInfinity","port","$","Type","SchemaShape","Record","CompiledEnvSchema"],"sources":["../../internal/scope/dist/index.d.ts","../../internal/types/dist/schema.d.ts"],"mappings":";;;;;;;;AAEoF;;;;cAQtEG,CAAAA,EAAGH,SAAAA,CAAUiB,KAAAA;EACzBC,MAAAA,EAAQlB,SAAAA,CAAUM,SAAAA;IAChBF,IAAAA,EAAMJ,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCG,IAAAA,CAAKD,CAAAA;MACpE,cAAA,GAAiBgB,EAAAA,aAAejB,iCAAAA,CAAkCG,EAAAA;IAAAA;IAEpEE,SAAAA,EAAWP,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCM,SAAAA,CAAUJ,CAAAA;MAC9E,cAAA,GAAiBgB,EAAAA,aAAejB,iCAAAA,CAAkCG,EAAAA;IAAAA;IAEpEe,IAAAA;IACAC,KAAAA;IACAC,YAAAA;IACAC,GAAAA;IACAC,MAAAA,EAAQxB,SAAAA,CAAUM,SAAAA;MAChBc,IAAAA;MACAL,GAAAA;IAAAA;MAEA,cAAA;IAAA;IAEFP,UAAAA,EAAYR,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCO,UAAAA,CAAWL,CAAAA;MAChF,cAAA,GAAiBgB,EAAAA,aAAejB,iCAAAA,CAAkCG,EAAAA;IAAAA;IAEpEoB,UAAAA;IACAC,IAAAA,EAAM1B,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCQ,UAAAA,CAAWN,CAAAA;MAC1E,cAAA;IAAA;IAEFwB,MAAAA;IACAC,KAAAA;IACAC,OAAAA,EAAS7B,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCS,aAAAA,CAAcP,CAAAA;MAChF,cAAA;IAAA;IAEFQ,EAAAA,EAAIX,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCU,EAAAA,CAAGR,CAAAA;MAChE,cAAA;IAAA;IAEF2B,IAAAA,EAAM9B,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCW,UAAAA,CAAWT,CAAAA;MAC1E,cAAA;IAAA;IAEFU,KAAAA,EAAOb,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCY,KAAAA,CAAMV,CAAAA;MACtE,cAAA,GAAiBgB,EAAAA,aAAejB,iCAAAA,CAAkCG,EAAAA;IAAAA;IAEpE0B,OAAAA,EAAS/B,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCa,aAAAA,CAAcX,CAAAA;MAChF,cAAA;IAAA;IAEF6B,KAAAA;IACAC,MAAAA;IACAC,KAAAA,EAAOlC,SAAAA,CAAUM,SAAAA;MACfc,IAAAA,GAAOD,EAAAA,aAAejB,iCAAAA,CAAkCG,EAAAA;MACxD8B,YAAAA;IAAAA;MAEA,cAAA,GAAiBhB,EAAAA,aAAejB,iCAAAA,CAAkCG,EAAAA;IAAAA;IAEpEU,GAAAA,EAAKf,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCc,GAAAA,CAAIZ,CAAAA;MAClE,cAAA;IAAA;IAEFa,IAAAA,EAAMhB,SAAAA,CAAUM,SAAAA,CAAUL,sCAAAA,CAAuCe,IAAAA,CAAKb,CAAAA;MACpE,cAAA;IAAA;IAEF,cAAA;IACAiC,IAAAA;EAAAA;EAEFC,MAAAA,EAAQrC,SAAAA,CAAUM,SAAAA;IAChBgC,GAAAA;IACAC,QAAAA;IACAnB,IAAAA;IACAS,OAAAA;IACA,cAAA;IACAW,KAAAA;IACAC,IAAAA;IACAC,gBAAAA;IACAC,IAAAA;EAAAA;AAAAA;AAAAA,KAGCxC,CAAAA,WAAYA,CAAAA;;;KC/EL2C,WAAAA,GAAcC,MAAAA"}
|