zcb 0.2.2 → 0.2.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 +4 -2
- package/dist/cjs/index.cjs +2 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/types/cjs/createConfigBuilder.d.cts +3 -0
- package/dist/types/cjs/createConfigBuilder.d.cts.map +1 -1
- package/dist/types/cjs/transformers/cloneNonEnumerableValues.d.cts.map +1 -1
- package/dist/types/esm/createConfigBuilder.d.ts +3 -0
- package/dist/types/esm/createConfigBuilder.d.ts.map +1 -1
- package/dist/types/esm/transformers/cloneNonEnumerableValues.d.ts.map +1 -1
- package/dist/types/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/createConfigBuilder.ts +6 -1
- package/src/transformers/cloneNonEnumerableValues.ts +6 -3
package/README.md
CHANGED
|
@@ -12,6 +12,8 @@ Use our cli module to build and/or watch a config builder file and transform it
|
|
|
12
12
|
|
|
13
13
|
Import that literally typed config in your components along with `zcb` and create a config reader with scoping abilities, config path autocomplete and return value preview.
|
|
14
14
|
|
|
15
|
+
These three features can be used together in the above workflow or separeately. For example, you can just use the config builder to build a type-safe config for use in your application, or you could handcraft a locales file and use the config reader to read its values.
|
|
16
|
+
|
|
15
17
|
## Installation
|
|
16
18
|
|
|
17
19
|
```sh
|
|
@@ -112,7 +114,7 @@ import {
|
|
|
112
114
|
} from './schema.ts';
|
|
113
115
|
|
|
114
116
|
const configBuilder = createConfigBuilder<ConfigType>(configSchema);
|
|
115
|
-
const routeBuilder = createConfigBuilder<RouteType>(routeSchema, { path: ({ page }) => kebabCase(page) });
|
|
117
|
+
const routeBuilder = createConfigBuilder<RouteType>(routeSchema, undefined, { path: ({ page }) => kebabCase(page) });
|
|
116
118
|
const pageBuilder = createConfigBuilder<PageType>(pageSchema);
|
|
117
119
|
const sectionBuilder = createConfigBuilder<SectionType>(sectionSchema);
|
|
118
120
|
const subsectionBuilder = sectionBuilder.$fork();
|
|
@@ -201,7 +203,7 @@ Use to return the config values as an object.
|
|
|
201
203
|
|
|
202
204
|
Use the script below or its `build` equivalent to transform a config builder file into a file that default exports a literally typed object like the one in the following example.
|
|
203
205
|
|
|
204
|
-
If you require native ESM support, use `NODE_OPTIONS="--loader ts-node/esm"
|
|
206
|
+
If you require native ESM support, use `NODE_OPTIONS="--loader ts-node/esm"`.
|
|
205
207
|
|
|
206
208
|
```sh
|
|
207
209
|
NODE_OPTIONS="--loader ts-node/register" npx zcb watch ./configBuilder.ts ./builtConfig.ts
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -209,6 +209,7 @@ const createConfigBuilder = (zodSchema, options = {}, derivedValueCallbacks = {}
|
|
|
209
209
|
if (isSchemaValid(jsonSchema)) {
|
|
210
210
|
throw new Error(`The root type of a config schema must be "object", but received "${String(jsonSchema.type)}"`);
|
|
211
211
|
}
|
|
212
|
+
const uuid$1 = options.overrides?.uuid ?? uuid.v4;
|
|
212
213
|
const addNonEnumeralBaseProperties = conf => {
|
|
213
214
|
Object.defineProperty(conf, NonEmumeralProperties.ZCB, {
|
|
214
215
|
configurable: false,
|
|
@@ -218,7 +219,7 @@ const createConfigBuilder = (zodSchema, options = {}, derivedValueCallbacks = {}
|
|
|
218
219
|
Object.defineProperty(conf, NonEmumeralProperties.ID, {
|
|
219
220
|
configurable: false,
|
|
220
221
|
enumerable: false,
|
|
221
|
-
value: uuid
|
|
222
|
+
value: uuid$1()
|
|
222
223
|
});
|
|
223
224
|
if (options.type) {
|
|
224
225
|
Object.defineProperty(conf, NonEmumeralProperties.TYPE, {
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../zod-config-builder/src//types.ts","../zod-config-builder/src//transformers/cloneNonEnumerableValues.ts","../zod-config-builder/src//utils/arrayHasInvalidDefaults.ts","../zod-config-builder/src//utils/objectPropertyHasDefaults.ts","../zod-config-builder/src//utils/collateObjectPropertyDefaults.ts","../zod-config-builder/src//utils/isPropertyReservedWord.ts","../zod-config-builder/src//utils/isValidPropertyDefinition.ts","../zod-config-builder/src//utils/recordHasInvalidDefaults.ts","../zod-config-builder/src//utils/collateDefaultValues.ts","../zod-config-builder/src//utils/isDerivedValueCallback.ts","../zod-config-builder/src//utils/isInvalidPropertyOverride.ts","../zod-config-builder/src//utils/isSchemaValid.ts","../zod-config-builder/src//utils/isValidValue.ts","../zod-config-builder/src//utils/jsonStringifyReplacer.ts","../zod-config-builder/src//utils/transformConfig.ts","../zod-config-builder/src//createConfigBuilder.ts","../zod-config-builder/src//transformers/runExperiments.ts","../zod-config-builder/src//createConfigParser.ts","../zod-config-builder/src//createConfigReader.ts","../zod-config-builder/src//data/countryCodes.ts","../zod-config-builder/src//data/countryNames.ts","../zod-config-builder/src//data/distanceUnits.ts","../zod-config-builder/src//data/languageCodes.ts","../zod-config-builder/src//data/timezones.ts"],"sourcesContent":["import type { List } from 'ts-toolbelt';\nimport type { Includes, Join } from 'type-fest';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyRecord = Record<string, any>;\n\nexport type Buckets<Config extends AnyRecord> = Record<string, Experiment<Config>>;\n\nexport interface ConfigParserOptions {\n experimentsCallback?: RunExperimentsCallback;\n}\n\nexport interface Experiment<Config extends AnyRecord> {\n action?: TransformConfigHandlerAction;\n value?: Config;\n}\n\nexport enum NonEmumeralProperties {\n CALLBACKS = '__callbacks',\n DISABLED = '__disabled',\n EXPERIMENT = '__experiment',\n ID = '__id',\n TYPE = '__type',\n ZCB = '__zcb',\n}\n\nexport type Path<Config extends object> = Join<Leaves<Config>, '.'>;\n\nexport type RunExperimentsCallback = (id: string) => Promise<string>;\n\nexport type Scope<Config extends object> = Join<Paths<Config>, '.'>;\n\nexport type SetupExperimentsCallback = <Config extends AnyRecord>(\n id: string,\n clone: Config,\n config: Config\n) => Promise<Buckets<Config>>;\n\nexport type TransformConfigHandler = <Config extends AnyRecord>(\n clone: Config,\n config: Config\n) => TransformConfigHandlerReturnType<Config> | Promise<TransformConfigHandlerReturnType<Config>>;\n\nexport type TransformConfigHandlerSync = <Config extends AnyRecord>(\n clone: Config,\n config: Config\n) => TransformConfigHandlerReturnType<Config>;\n\nexport enum TransformConfigHandlerAction {\n DELETE_NODE = 'deleteNode',\n SKIP_NODE = 'skipNode',\n}\n\nexport interface TransformConfigHandlerReturnType<Config extends AnyRecord> {\n action?: TransformConfigHandlerAction;\n value?: Config;\n}\n\nexport interface WriteConfigOptions {\n experimentsCallback?: SetupExperimentsCallback;\n outputFile: string;\n}\n\nexport type Leaves<T, LeafPath extends string[] = []> = T extends string\n ? LeafPath\n : {\n [K in keyof T & string]: Leaves<T[K], [...LeafPath, K]>;\n }[keyof T & string];\n\nexport type Paths<T, LeafPath extends string[] = []> = T extends string\n ? LeafPath\n : {\n [K in keyof T & string]: T[K] extends object ? Paths<T[K], [...LeafPath, K]> : LeafPath;\n }[keyof T & string];\n\nexport type LeavesScopeDiffs<T1 extends readonly string[][], T2 extends string[]> = {\n [K1 in keyof T1]: List.Length<List.Intersect<T1[K1], T2, '<-contains'>> extends 1\n ? List.Length<T1[K1]> extends 1\n ? Includes<T2, T1[K1][0]> extends false\n ? T1[K1]\n : never\n : List.Diff<T1[K1], T2>\n : never;\n}[number];\n","import { type AnyRecord, NonEmumeralProperties, type TransformConfigHandlerSync } from '../types.ts';\n\nconst NON_ENUMERABLE_KEYS = new Set(Object.values(NonEmumeralProperties));\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const cloneNonEnumerableValues: TransformConfigHandlerSync = <Config extends AnyRecord>(\n clone: Config,\n config: Config\n) => {\n for (const nonEnumerableKey of NON_ENUMERABLE_KEYS) {\n if (nonEnumerableKey in config) {\n Object.defineProperty(clone, nonEnumerableKey, {\n configurable: false,\n enumerable: false,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n value: config[nonEnumerableKey],\n });\n }\n }\n\n return {\n value: clone,\n };\n};\n","import type { JSONSchema7 } from 'json-schema';\n\nexport const arrayHasInvalidDefaults = (propertyDefinition: JSONSchema7) => {\n const { items } = propertyDefinition;\n return items && typeof items === 'object' && 'default' in items;\n};\n","import type { JSONSchema7 } from 'json-schema';\n\nexport const objectPropertyHasDefaults = (propertyDefinition: JSONSchema7) =>\n propertyDefinition.properties &&\n Object.values(propertyDefinition.properties).some(value => typeof value === 'object' && 'default' in value);\n","import type { JSONSchema7 } from 'json-schema';\nimport { isBoolean, isUndefined } from 'lodash-es';\nimport type { Jsonifiable } from 'type-fest';\nimport { objectPropertyHasDefaults } from './objectPropertyHasDefaults.ts';\n\nexport const collateObjectPropertyDefaults = (propertyDefinition: JSONSchema7) => {\n const { properties } = propertyDefinition;\n\n if (!properties || !objectPropertyHasDefaults(propertyDefinition)) {\n return;\n }\n\n return Object.keys(properties).reduce<Record<string, Jsonifiable>>((acc, key) => {\n const propertyDef = properties[key];\n\n if (!propertyDef || isBoolean(propertyDef)) {\n return acc;\n }\n\n if ('default' in propertyDef && !isUndefined(propertyDef.default)) {\n acc[key] = propertyDef.default;\n }\n\n return acc;\n }, {});\n};\n","export const RESERVED_KEYWORDS = new Set([\n '$disable',\n '$errors',\n '$experiment',\n '$extend',\n '$flush',\n '$fork',\n '$toJson',\n '$validate',\n '$values',\n]);\n\nexport const isPropertyReservedWord = (propertyName: string) => RESERVED_KEYWORDS.has(propertyName);\n","import type { JSONSchema7, JSONSchema7Definition } from 'json-schema';\n\nexport const isValidPropertyDefinition = (\n propertyDefinition: JSONSchema7Definition | undefined\n): propertyDefinition is JSONSchema7 => typeof propertyDefinition === 'object';\n","import type { JSONSchema7 } from 'json-schema';\n\nexport const recordHasInvalidDefaults = (propertyDefinition: JSONSchema7) =>\n propertyDefinition.additionalProperties &&\n typeof propertyDefinition.additionalProperties === 'object' &&\n 'default' in propertyDefinition.additionalProperties;\n","import { type JSONSchema7 } from 'json-schema';\nimport { arrayHasInvalidDefaults } from './arrayHasInvalidDefaults.ts';\nimport { collateObjectPropertyDefaults } from './collateObjectPropertyDefaults.ts';\nimport { RESERVED_KEYWORDS, isPropertyReservedWord } from './isPropertyReservedWord.ts';\nimport { isValidPropertyDefinition } from './isValidPropertyDefinition.ts';\nimport { recordHasInvalidDefaults } from './recordHasInvalidDefaults.ts';\n\nexport const collateDefaultValues = <Config>(jsonSchema: JSONSchema7) => {\n const defaultValues = {} as Partial<Config>;\n\n for (const propertyName in jsonSchema.properties) {\n if (isPropertyReservedWord(propertyName)) {\n throw new Error(\n `\"${propertyName}\" is a reserved keyword within the config builder. Please use a different property name. The full list of reserved keywords is: ${[\n ...RESERVED_KEYWORDS,\n ].join(', ')}`\n );\n }\n\n const castPropertyName = propertyName as keyof Config;\n const propertyDefinition = jsonSchema.properties[propertyName];\n\n if (isValidPropertyDefinition(propertyDefinition)) {\n if (propertyDefinition.default) {\n defaultValues[castPropertyName] = propertyDefinition.default as Config[keyof Config];\n }\n\n if (propertyDefinition.type === 'array' && arrayHasInvalidDefaults(propertyDefinition)) {\n throw new Error(\n `When setting schema array defaults for the array assigned to \"${String(\n castPropertyName\n )}\", set them on the array and not the item.`\n );\n }\n\n if (propertyDefinition.type === 'object') {\n if (recordHasInvalidDefaults(propertyDefinition)) {\n throw new Error(\n `When setting schema property defaults for the value of the record assigned to \"${String(\n castPropertyName\n )}\", set them on the record and not the value.`\n );\n }\n\n const propertyDefaults = collateObjectPropertyDefaults(propertyDefinition);\n\n if (propertyDefaults) {\n defaultValues[castPropertyName] = propertyDefaults as Config[keyof Config];\n }\n }\n }\n }\n\n return defaultValues;\n};\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const isDerivedValueCallback = <T extends (c: any) => any>(value: any): value is T =>\n typeof value === 'function';\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const isInvalidPropertyOverride = (propertyValue: any, override = false) =>\n !override && propertyValue !== undefined;\n","import type { JSONSchema7 } from 'json-schema';\n\nexport const isSchemaValid = (schema: JSONSchema7) => schema.type !== 'object';\n","import { isPlainObject } from 'lodash-es';\n\nexport const isValidValue = (value: unknown, depth = 0): boolean => {\n if (isPlainObject(value)) {\n const object = value as Record<string, unknown>;\n\n if (object.__zcb === true) {\n return true;\n }\n\n if (depth < 1 && Object.values(object).every(v => isValidValue(v, depth + 1))) {\n return true;\n }\n\n return false;\n }\n\n if (Array.isArray(value)) {\n if (value.every(v => isValidValue(v, depth + 1))) {\n return true;\n }\n\n return false;\n }\n\n return true;\n};\n","import type { Jsonifiable } from 'type-fest';\nimport { ZodType } from 'zod';\nimport { zodToJsonSchema } from 'zod-to-json-schema';\n\nexport const jsonStringifyReplacer = (_key: string, value: Jsonifiable) =>\n value instanceof ZodType ? zodToJsonSchema(value, { errorMessages: true }) : value;\n","import { castArray, isPlainObject } from 'lodash-es';\nimport {\n type AnyRecord,\n type TransformConfigHandler,\n TransformConfigHandlerAction,\n type TransformConfigHandlerSync,\n} from '../types.ts';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst transformArray = (list: any[], handler: TransformConfigHandler | TransformConfigHandler[]): Promise<any[]> =>\n Promise.all(\n list.map(entry => {\n if (isPlainObject(entry)) {\n return transformConfig(entry, handler);\n }\n\n if (Array.isArray(entry)) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return transformArray(entry, handler);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return entry;\n })\n );\n\nexport const transformConfig = async <Config extends AnyRecord>(\n config: Config,\n handler: TransformConfigHandler | TransformConfigHandler[] = []\n): Promise<Config> => {\n let transform = {} as Config;\n const handlers = castArray(handler);\n\n for (const callback of handlers) {\n const result = await Promise.resolve(callback(transform, config));\n\n if (result.action === TransformConfigHandlerAction.DELETE_NODE) {\n return {} as Config;\n }\n\n if (result.value) {\n transform = result.value;\n }\n\n if (result.action === TransformConfigHandlerAction.SKIP_NODE) {\n return transform;\n }\n }\n\n for (const key in config) {\n const value = config[key];\n\n if (isPlainObject(value)) {\n transform[key] = await transformConfig(value, handler);\n } else if (Array.isArray(value)) {\n transform[key] = (await transformArray(value, handler)) as Config[Extract<keyof Config, string>];\n } else {\n transform[key] = value;\n }\n }\n\n return transform;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst transformArraySync = (list: any[], handler: TransformConfigHandlerSync | TransformConfigHandlerSync[]): any[] =>\n list.map(entry => {\n if (isPlainObject(entry)) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return transformConfigSync(entry, handler);\n }\n\n if (Array.isArray(entry)) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return transformArraySync(entry, handler);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return entry;\n });\n\nexport const transformConfigSync = <Config extends AnyRecord>(\n config: Config,\n handler: TransformConfigHandlerSync | TransformConfigHandlerSync[] = []\n): Config => {\n let transform = {} as Config;\n const handlers = castArray(handler);\n\n for (const callback of handlers) {\n const result = callback(transform, config);\n\n if (result.action === TransformConfigHandlerAction.DELETE_NODE) {\n return {} as Config;\n }\n\n if (result.value) {\n transform = result.value;\n }\n\n if (result.action === TransformConfigHandlerAction.SKIP_NODE) {\n return transform;\n }\n }\n\n for (const key in config) {\n const value = config[key];\n\n if (isPlainObject(value)) {\n transform[key] = transformConfigSync(value, handler);\n } else if (Array.isArray(value)) {\n transform[key] = transformArraySync(value, handler) as Config[Extract<keyof Config, string>];\n } else {\n transform[key] = value;\n }\n }\n\n return transform;\n};\n","import { type JSONSchema7 } from 'json-schema';\nimport { cloneDeep, merge } from 'lodash-es';\nimport { v4 as uuidV4 } from 'uuid';\nimport { type ZodError, type z } from 'zod';\nimport { zodToJsonSchema } from 'zod-to-json-schema';\nimport { cloneNonEnumerableValues } from './transformers/cloneNonEnumerableValues.ts';\nimport { NonEmumeralProperties } from './types.ts';\nimport { collateDefaultValues } from './utils/collateDefaultValues.ts';\nimport { isDerivedValueCallback } from './utils/isDerivedValueCallback.ts';\nimport { isInvalidPropertyOverride } from './utils/isInvalidPropertyOverride.ts';\nimport { RESERVED_KEYWORDS, isPropertyReservedWord } from './utils/isPropertyReservedWord.ts';\nimport { isSchemaValid } from './utils/isSchemaValid.ts';\nimport { isValidValue } from './utils/isValidValue.ts';\nimport { jsonStringifyReplacer } from './utils/jsonStringifyReplacer.ts';\nimport { transformConfigSync } from './utils/transformConfig.ts';\n\nexport type ConfigBuilder<ZodTypes> = {\n [Key in keyof Required<ZodTypes>]: (\n value: ZodTypes[Key] | ((c: ZodTypes) => ZodTypes[Key]),\n override?: boolean\n ) => ConfigBuilder<ZodTypes>;\n} & {\n $disable: () => ConfigBuilder<ZodTypes>;\n $errors: () => ZodError['errors'];\n $experiment: (key: string) => ConfigBuilder<ZodTypes>;\n $extend: (configBuilder: ConfigBuilder<ZodTypes>) => ConfigBuilder<ZodTypes>;\n $flush: () => ZodTypes;\n $fork: () => ConfigBuilder<ZodTypes>;\n $toJson: () => string;\n $validate: () => boolean;\n $values: () => ZodTypes;\n};\n\nexport type CreateConfigBuilderOptions = {\n type?: string;\n};\n\nexport const createConfigBuilder = <ZodTypes>(\n zodSchema: z.ZodSchema,\n options: CreateConfigBuilderOptions = {},\n derivedValueCallbacks: Partial<\n Record<\n keyof ZodTypes,\n (c: {\n [Key in keyof ZodTypes]: ZodTypes[Key];\n }) => ZodTypes[keyof ZodTypes]\n >\n > = {},\n initialValues: Partial<{\n [Key in keyof ZodTypes]: ZodTypes[Key];\n }> = {}\n): ConfigBuilder<ZodTypes> => {\n type Config = {\n [Key in keyof ZodTypes]: ZodTypes[Key];\n };\n\n type DerivedValueCallback<K extends keyof Config = keyof Config> = (c: Config) => Config[K];\n\n const jsonSchema = zodToJsonSchema(zodSchema) as JSONSchema7;\n\n if (isSchemaValid(jsonSchema)) {\n throw new Error(`The root type of a config schema must be \"object\", but received \"${String(jsonSchema.type)}\"`);\n }\n\n const addNonEnumeralBaseProperties = (conf: Config) => {\n Object.defineProperty(conf, NonEmumeralProperties.ZCB, {\n configurable: false,\n enumerable: false,\n value: true,\n });\n\n Object.defineProperty(conf, NonEmumeralProperties.ID, {\n configurable: false,\n enumerable: false,\n value: uuidV4(),\n });\n\n if (options.type) {\n Object.defineProperty(conf, NonEmumeralProperties.TYPE, {\n configurable: false,\n enumerable: false,\n value: options.type,\n });\n }\n };\n\n const createInitialConfig = () => {\n const config = merge(cloneDeep(initialValues), collateDefaultValues(jsonSchema)) as Config;\n addNonEnumeralBaseProperties(config);\n return config;\n };\n\n let config = createInitialConfig();\n let callbacks: Partial<Record<keyof Config, DerivedValueCallback>> = { ...derivedValueCallbacks };\n\n const configBuilder = {\n $disable: () => {\n Object.defineProperty(config, NonEmumeralProperties.DISABLED, {\n configurable: false,\n enumerable: false,\n value: true,\n });\n\n return configBuilder;\n },\n $errors: () => {\n try {\n zodSchema.parse(configBuilder.$values());\n return [];\n } catch (error: unknown) {\n return (error as ZodError).errors;\n }\n },\n $experiment: (key: string) => {\n Object.defineProperty(config, NonEmumeralProperties.EXPERIMENT, {\n configurable: false,\n enumerable: false,\n value: key,\n });\n\n return configBuilder;\n },\n $extend: (builder: ConfigBuilder<Config>) => {\n config = transformConfigSync<Config>(builder.$values(), [cloneNonEnumerableValues]);\n // @ts-expect-error private property\n callbacks = { ...builder.__callbacks } as Partial<Record<keyof Config, DerivedValueCallback>>;\n },\n $flush: () => {\n const values = configBuilder.$values();\n config = createInitialConfig();\n return values;\n },\n $fork: () => createConfigBuilder<Config>(zodSchema, options, derivedValueCallbacks, initialValues),\n $toJson: () => JSON.stringify(configBuilder.$values(), jsonStringifyReplacer, 2),\n $validate: () => {\n try {\n zodSchema.parse(configBuilder.$values());\n return true;\n } catch (error: unknown) {\n console.error(error);\n return false;\n }\n },\n $values: () => {\n for (const property in callbacks) {\n const callback = callbacks[property];\n\n if (callback) {\n config[property as keyof Config] = callback(config);\n }\n }\n\n return config;\n },\n } as unknown as ConfigBuilder<ZodTypes>;\n\n Object.defineProperty(configBuilder, NonEmumeralProperties.CALLBACKS, {\n configurable: false,\n enumerable: false,\n value: callbacks,\n });\n\n for (const propertyName in jsonSchema.properties) {\n if (isPropertyReservedWord(propertyName)) {\n throw new Error(\n `\"${propertyName}\" is a reserved keyword within the config builder. Please use a different property name. The full list of reserved keywords is: ${[\n ...RESERVED_KEYWORDS,\n ].join(', ')}`\n );\n }\n\n const castPropertyName = propertyName as keyof Config;\n\n configBuilder[castPropertyName] = ((value: Config[keyof Config] | DerivedValueCallback, override?: boolean) => {\n if (isInvalidPropertyOverride(config[castPropertyName], override)) {\n throw new Error(\n `A value already exists for \"${String(\n castPropertyName\n )}\". You may be trying to add a new values before flushing the old one. If you intended to override the existing value, pass in true as the second argument.`\n );\n }\n\n let propertyValue: Config[keyof Config];\n const MAX_DEPTH = 1;\n\n if (!isValidValue(value)) {\n throw new Error(\n `\"${String(\n castPropertyName\n )}\" value has a depth greater than ${MAX_DEPTH}. To pass in objects with a depth greater than ${MAX_DEPTH}, create a builder for that config slice.`\n );\n }\n\n if (isDerivedValueCallback<DerivedValueCallback>(value)) {\n callbacks[castPropertyName] = value;\n propertyValue = value(config);\n } else {\n propertyValue = value;\n }\n\n config[castPropertyName] = propertyValue;\n return configBuilder;\n }) as ConfigBuilder<Config>[keyof Config];\n }\n\n return configBuilder;\n};\n","import {\n type AnyRecord,\n type Buckets,\n NonEmumeralProperties,\n type RunExperimentsCallback,\n type TransformConfigHandler,\n} from '../types.ts';\n\nexport const runExperiments =\n (callback: RunExperimentsCallback): TransformConfigHandler =>\n async <Config extends AnyRecord>(clone: Config, config: Config) => {\n if (NonEmumeralProperties.EXPERIMENT in config && typeof config.__experiment === 'object') {\n const { buckets, id } = config.__experiment as { buckets: Buckets<Config>; id: string };\n const bucket = await callback(id);\n\n if (bucket && bucket in buckets && buckets[bucket]) {\n return buckets[bucket]!;\n }\n }\n\n return {\n value: clone,\n };\n };\n","import { runExperiments } from './transformers/runExperiments.ts';\nimport type { ConfigParserOptions, TransformConfigHandler } from './types.ts';\nimport { transformConfig } from './utils/transformConfig.ts';\n\nexport const createConfigParser = async <Config extends object>(\n config: Config,\n { experimentsCallback }: ConfigParserOptions = {}\n) => {\n const handlers: TransformConfigHandler[] = [];\n\n if (experimentsCallback) {\n handlers.push(runExperiments(experimentsCallback));\n }\n\n return handlers.length > 0 ? await transformConfig(config, handlers) : config;\n};\n","import { get } from 'lodash-es';\nimport type { Get } from 'type-fest';\nimport type { Path, Scope } from './types.ts';\n\nexport interface ConfigReader<Config extends object> {\n read: <P extends Path<Config>>(path: P) => Get<Config, P>;\n scope: <S extends Scope<Config>>(scope: S) => ConfigReader<Get<Config, S>>;\n}\n\nexport const createConfigReader = <Config extends object>(config: Config): ConfigReader<Config> => {\n const configReader = {\n read: <P extends Path<Config>>(path: P) => get(config, path),\n scope: <S extends Scope<Config>>(scope: S) => createConfigReader(get(config, scope) as Get<Config, S>),\n } as ConfigReader<Config>;\n\n return configReader;\n};\n","export const countryCodes = [\n 'AF',\n 'AX',\n 'AL',\n 'DZ',\n 'AS',\n 'AD',\n 'AO',\n 'AI',\n 'AQ',\n 'AG',\n 'AR',\n 'AM',\n 'AW',\n 'AU',\n 'AT',\n 'AZ',\n 'BS',\n 'BH',\n 'BD',\n 'BB',\n 'BY',\n 'BE',\n 'BZ',\n 'BJ',\n 'BM',\n 'BT',\n 'BO',\n 'BA',\n 'BW',\n 'BV',\n 'BR',\n 'IO',\n 'BN',\n 'BG',\n 'BF',\n 'BI',\n 'KH',\n 'CM',\n 'CA',\n 'CV',\n 'KY',\n 'CF',\n 'TD',\n 'CL',\n 'CN',\n 'CX',\n 'CC',\n 'CO',\n 'KM',\n 'CG',\n 'CD',\n 'CK',\n 'CR',\n 'CI',\n 'HR',\n 'CU',\n 'CY',\n 'CZ',\n 'DK',\n 'DJ',\n 'DM',\n 'DO',\n 'EC',\n 'EG',\n 'SV',\n 'GQ',\n 'ER',\n 'EE',\n 'ET',\n 'FK',\n 'FO',\n 'FJ',\n 'FI',\n 'FR',\n 'GF',\n 'PF',\n 'TF',\n 'GA',\n 'GM',\n 'GE',\n 'DE',\n 'GH',\n 'GI',\n 'GR',\n 'GL',\n 'GD',\n 'GP',\n 'GU',\n 'GT',\n 'GG',\n 'GN',\n 'GW',\n 'GY',\n 'HT',\n 'HM',\n 'VA',\n 'HN',\n 'HK',\n 'HU',\n 'IS',\n 'IN',\n 'ID',\n 'IR',\n 'IQ',\n 'IE',\n 'IM',\n 'IL',\n 'IT',\n 'JM',\n 'JP',\n 'JE',\n 'JO',\n 'KZ',\n 'KE',\n 'KI',\n 'KR',\n 'KW',\n 'KG',\n 'LA',\n 'LV',\n 'LB',\n 'LS',\n 'LR',\n 'LY',\n 'LI',\n 'LT',\n 'LU',\n 'MO',\n 'MK',\n 'MG',\n 'MW',\n 'MY',\n 'MV',\n 'ML',\n 'MT',\n 'MH',\n 'MQ',\n 'MR',\n 'MU',\n 'YT',\n 'MX',\n 'FM',\n 'MD',\n 'MC',\n 'MN',\n 'ME',\n 'MS',\n 'MA',\n 'MZ',\n 'MM',\n 'NA',\n 'NR',\n 'NP',\n 'NL',\n 'AN',\n 'NC',\n 'NZ',\n 'NI',\n 'NE',\n 'NG',\n 'NU',\n 'NF',\n 'MP',\n 'NO',\n 'OM',\n 'PK',\n 'PW',\n 'PS',\n 'PA',\n 'PG',\n 'PY',\n 'PE',\n 'PH',\n 'PN',\n 'PL',\n 'PT',\n 'PR',\n 'QA',\n 'RE',\n 'RO',\n 'RU',\n 'RW',\n 'BL',\n 'SH',\n 'KN',\n 'LC',\n 'MF',\n 'PM',\n 'VC',\n 'WS',\n 'SM',\n 'ST',\n 'SA',\n 'SN',\n 'RS',\n 'SC',\n 'SL',\n 'SG',\n 'SK',\n 'SI',\n 'SB',\n 'SO',\n 'ZA',\n 'GS',\n 'ES',\n 'LK',\n 'SD',\n 'SR',\n 'SJ',\n 'SZ',\n 'SE',\n 'CH',\n 'SY',\n 'TW',\n 'TJ',\n 'TZ',\n 'TH',\n 'TL',\n 'TG',\n 'TK',\n 'TO',\n 'TT',\n 'TN',\n 'TR',\n 'TM',\n 'TC',\n 'TV',\n 'UG',\n 'UA',\n 'AE',\n 'GB',\n 'US',\n 'UM',\n 'UY',\n 'UZ',\n 'VU',\n 'VE',\n 'VN',\n 'VG',\n 'VI',\n 'WF',\n 'EH',\n 'YE',\n 'ZM',\n 'ZW',\n] as const;\n","export const countryNames = [\n 'Afghanistan',\n 'Albania',\n 'Algeria',\n 'Andorra',\n 'Angola',\n 'Anguilla',\n 'Antigua and Barbuda',\n 'Argentina',\n 'Armenia',\n 'Aruba',\n 'Australia',\n 'Austria',\n 'Azerbaijan',\n 'Bahamas',\n 'Bahrain',\n 'Bangladesh',\n 'Barbados',\n 'Belarus',\n 'Belgium',\n 'Belize',\n 'Benin',\n 'Bermuda',\n 'Bhutan',\n 'Bolivia',\n 'Bosnia and Herzegovina',\n 'Botswana',\n 'Brazil',\n 'British Virgin Islands',\n 'Brunei',\n 'Bulgaria',\n 'Burkina Faso',\n 'Burundi',\n 'Cambodia',\n 'Cameroon',\n 'Cape Verde',\n 'Cayman Islands',\n 'Chad',\n 'Chile',\n 'China',\n 'Colombia',\n 'Congo',\n 'Cook Islands',\n 'Costa Rica',\n 'Cote D Ivoire',\n 'Croatia',\n 'Cruise Ship',\n 'Cuba',\n 'Cyprus',\n 'Czech Republic',\n 'Denmark',\n 'Djibouti',\n 'Dominica',\n 'Dominican Republic',\n 'Ecuador',\n 'Egypt',\n 'El Salvador',\n 'Equatorial Guinea',\n 'Estonia',\n 'Ethiopia',\n 'Falkland Islands',\n 'Faroe Islands',\n 'Fiji',\n 'Finland',\n 'France',\n 'French Polynesia',\n 'French West Indies',\n 'Gabon',\n 'Gambia',\n 'Georgia',\n 'Germany',\n 'Ghana',\n 'Gibraltar',\n 'Greece',\n 'Greenland',\n 'Grenada',\n 'Guam',\n 'Guatemala',\n 'Guernsey',\n 'Guinea',\n 'Guinea Bissau',\n 'Guyana',\n 'Haiti',\n 'Honduras',\n 'Hong Kong',\n 'Hungary',\n 'Iceland',\n 'India',\n 'Indonesia',\n 'Iran',\n 'Iraq',\n 'Ireland',\n 'Isle of Man',\n 'Israel',\n 'Italy',\n 'Jamaica',\n 'Japan',\n 'Jersey',\n 'Jordan',\n 'Kazakhstan',\n 'Kenya',\n 'Kuwait',\n 'Kyrgyz Republic',\n 'Laos',\n 'Latvia',\n 'Lebanon',\n 'Lesotho',\n 'Liberia',\n 'Libya',\n 'Liechtenstein',\n 'Lithuania',\n 'Luxembourg',\n 'Macau',\n 'Macedonia',\n 'Madagascar',\n 'Malawi',\n 'Malaysia',\n 'Maldives',\n 'Mali',\n 'Malta',\n 'Mauritania',\n 'Mauritius',\n 'Mexico',\n 'Moldova',\n 'Monaco',\n 'Mongolia',\n 'Montenegro',\n 'Montserrat',\n 'Morocco',\n 'Mozambique',\n 'Namibia',\n 'Nepal',\n 'Netherlands',\n 'Netherlands Antilles',\n 'New Caledonia',\n 'New Zealand',\n 'Nicaragua',\n 'Niger',\n 'Nigeria',\n 'Norway',\n 'Oman',\n 'Pakistan',\n 'Palestine',\n 'Panama',\n 'Papua New Guinea',\n 'Paraguay',\n 'Peru',\n 'Philippines',\n 'Poland',\n 'Portugal',\n 'Puerto Rico',\n 'Qatar',\n 'Reunion',\n 'Romania',\n 'Russia',\n 'Rwanda',\n 'Saint Pierre and Miquelon',\n 'Samoa',\n 'San Marino',\n 'Satellite',\n 'Saudi Arabia',\n 'Senegal',\n 'Serbia',\n 'Seychelles',\n 'Sierra Leone',\n 'Singapore',\n 'Slovakia',\n 'Slovenia',\n 'South Africa',\n 'South Korea',\n 'Spain',\n 'Sri Lanka',\n 'St Kitts and Nevis',\n 'St Lucia',\n 'St Vincent',\n 'St. Lucia',\n 'Sudan',\n 'Suriname',\n 'Swaziland',\n 'Sweden',\n 'Switzerland',\n 'Syria',\n 'Taiwan',\n 'Tajikistan',\n 'Tanzania',\n 'Thailand',\n \"Timor L'Este\",\n 'Togo',\n 'Tonga',\n 'Trinidad and Tobago',\n 'Tunisia',\n 'Turkey',\n 'Turkmenistan',\n 'Turks and Caicos',\n 'Uganda',\n 'Ukraine',\n 'United Arab Emirates',\n 'United Kingdom',\n 'Uruguay',\n 'Uzbekistan',\n 'Venezuela',\n 'Vietnam',\n 'Virgin Islands (US)',\n 'Yemen',\n 'Zambia',\n 'Zimbabwe',\n] as const;\n","export const distanceUnits = ['km', 'mi'] as const;\n","export const languageCodes = [\n 'aa',\n 'ab',\n 'ae',\n 'af',\n 'ak',\n 'am',\n 'an',\n 'ar',\n 'as',\n 'av',\n 'ay',\n 'az',\n 'ba',\n 'be',\n 'bg',\n 'bi',\n 'bm',\n 'bn',\n 'bo',\n 'br',\n 'bs',\n 'ca',\n 'ce',\n 'ch',\n 'co',\n 'cr',\n 'cs',\n 'cu',\n 'cv',\n 'cy',\n 'da',\n 'de',\n 'dv',\n 'dz',\n 'ee',\n 'el',\n 'en',\n 'eo',\n 'es',\n 'et',\n 'eu',\n 'fa',\n 'ff',\n 'fi',\n 'fj',\n 'fo',\n 'fr',\n 'fy',\n 'ga',\n 'gd',\n 'gl',\n 'gn',\n 'gu',\n 'gv',\n 'ha',\n 'he',\n 'hi',\n 'ho',\n 'hr',\n 'ht',\n 'hu',\n 'hy',\n 'hz',\n 'ia',\n 'id',\n 'ie',\n 'ig',\n 'ii',\n 'ik',\n 'io',\n 'is',\n 'it',\n 'iu',\n 'ja',\n 'jv',\n 'ka',\n 'kg',\n 'ki',\n 'kj',\n 'kk',\n 'kl',\n 'km',\n 'kn',\n 'ko',\n 'kr',\n 'ks',\n 'ku',\n 'kv',\n 'kw',\n 'ky',\n 'la',\n 'lb',\n 'lg',\n 'li',\n 'ln',\n 'lo',\n 'lt',\n 'lu',\n 'lv',\n 'mg',\n 'mh',\n 'mi',\n 'mk',\n 'ml',\n 'mn',\n 'mr',\n 'ms',\n 'mt',\n 'my',\n 'na',\n 'nb',\n 'nd',\n 'ne',\n 'ng',\n 'nl',\n 'nn',\n 'no',\n 'nr',\n 'nv',\n 'ny',\n 'oc',\n 'oj',\n 'om',\n 'or',\n 'os',\n 'pa',\n 'pi',\n 'pl',\n 'ps',\n 'pt',\n 'qu',\n 'rm',\n 'rn',\n 'ro',\n 'ru',\n 'rw',\n 'sa',\n 'sc',\n 'sd',\n 'se',\n 'sg',\n 'si',\n 'sk',\n 'sl',\n 'sm',\n 'sn',\n 'so',\n 'sq',\n 'sr',\n 'ss',\n 'st',\n 'su',\n 'sv',\n 'sw',\n 'ta',\n 'te',\n 'tg',\n 'th',\n 'ti',\n 'tk',\n 'tl',\n 'tn',\n 'to',\n 'tr',\n 'ts',\n 'tt',\n 'tw',\n 'ty',\n 'ug',\n 'uk',\n 'ur',\n 'uz',\n 've',\n 'vi',\n 'vo',\n 'wa',\n 'wo',\n 'xh',\n 'yi',\n 'yo',\n 'za',\n 'zh',\n 'zu',\n] as const;\n","export const timezones = [\n 'Africa/Abidjan',\n 'Africa/Accra',\n 'Africa/Addis_Ababa',\n 'Africa/Algiers',\n 'Africa/Asmara',\n 'Africa/Bamako',\n 'Africa/Bangui',\n 'Africa/Banjul',\n 'Africa/Bissau',\n 'Africa/Blantyre',\n 'Africa/Brazzaville',\n 'Africa/Bujumbura',\n 'Africa/Cairo',\n 'Africa/Casablanca',\n 'Africa/Ceuta',\n 'Africa/Conakry',\n 'Africa/Dakar',\n 'Africa/Dar_es_Salaam',\n 'Africa/Djibouti',\n 'Africa/Douala',\n 'Africa/El_Aaiun',\n 'Africa/Freetown',\n 'Africa/Gaborone',\n 'Africa/Harare',\n 'Africa/Johannesburg',\n 'Africa/Juba',\n 'Africa/Kampala',\n 'Africa/Khartoum',\n 'Africa/Kigali',\n 'Africa/Kinshasa',\n 'Africa/Lagos',\n 'Africa/Libreville',\n 'Africa/Lome',\n 'Africa/Luanda',\n 'Africa/Lubumbashi',\n 'Africa/Lusaka',\n 'Africa/Malabo',\n 'Africa/Maputo',\n 'Africa/Maseru',\n 'Africa/Mbabane',\n 'Africa/Mogadishu',\n 'Africa/Monrovia',\n 'Africa/Nairobi',\n 'Africa/Ndjamena',\n 'Africa/Niamey',\n 'Africa/Nouakchott',\n 'Africa/Ouagadougou',\n 'Africa/Porto-Novo',\n 'Africa/Sao_Tome',\n 'Africa/Tripoli',\n 'Africa/Tunis',\n 'Africa/Windhoek',\n 'America/Adak',\n 'America/Anchorage',\n 'America/Anguilla',\n 'America/Antigua',\n 'America/Araguaina',\n 'America/Argentina/Buenos_Aires',\n 'America/Argentina/Catamarca',\n 'America/Argentina/Cordoba',\n 'America/Argentina/Jujuy',\n 'America/Argentina/La_Rioja',\n 'America/Argentina/Mendoza',\n 'America/Argentina/Rio_Gallegos',\n 'America/Argentina/Salta',\n 'America/Argentina/San_Juan',\n 'America/Argentina/San_Luis',\n 'America/Argentina/Tucuman',\n 'America/Argentina/Ushuaia',\n 'America/Aruba',\n 'America/Asuncion',\n 'America/Atikokan',\n 'America/Bahia',\n 'America/Bahia_Banderas',\n 'America/Barbados',\n 'America/Belem',\n 'America/Belize',\n 'America/Blanc-Sablon',\n 'America/Boa_Vista',\n 'America/Bogota',\n 'America/Boise',\n 'America/Cambridge_Bay',\n 'America/Campo_Grande',\n 'America/Cancun',\n 'America/Caracas',\n 'America/Cayenne',\n 'America/Cayman',\n 'America/Chicago',\n 'America/Chihuahua',\n 'America/Costa_Rica',\n 'America/Creston',\n 'America/Cuiaba',\n 'America/Curacao',\n 'America/Danmarkshavn',\n 'America/Dawson',\n 'America/Dawson_Creek',\n 'America/Denver',\n 'America/Detroit',\n 'America/Dominica',\n 'America/Edmonton',\n 'America/Eirunepe',\n 'America/El_Salvador',\n 'America/Fort_Nelson',\n 'America/Fortaleza',\n 'America/Glace_Bay',\n 'America/Godthab',\n 'America/Goose_Bay',\n 'America/Grand_Turk',\n 'America/Grenada',\n 'America/Guadeloupe',\n 'America/Guatemala',\n 'America/Guayaquil',\n 'America/Guyana',\n 'America/Halifax',\n 'America/Havana',\n 'America/Hermosillo',\n 'America/Indiana/Indianapolis',\n 'America/Indiana/Knox',\n 'America/Indiana/Marengo',\n 'America/Indiana/Petersburg',\n 'America/Indiana/Tell_City',\n 'America/Indiana/Vevay',\n 'America/Indiana/Vincennes',\n 'America/Indiana/Winamac',\n 'America/Inuvik',\n 'America/Iqaluit',\n 'America/Jamaica',\n 'America/Juneau',\n 'America/Kentucky/Louisville',\n 'America/Kentucky/Monticello',\n 'America/Kralendijk',\n 'America/La_Paz',\n 'America/Lima',\n 'America/Los_Angeles',\n 'America/Lower_Princes',\n 'America/Maceio',\n 'America/Managua',\n 'America/Manaus',\n 'America/Marigot',\n 'America/Martinique',\n 'America/Matamoros',\n 'America/Mazatlan',\n 'America/Menominee',\n 'America/Merida',\n 'America/Metlakatla',\n 'America/Mexico_City',\n 'America/Miquelon',\n 'America/Moncton',\n 'America/Monterrey',\n 'America/Montevideo',\n 'America/Montserrat',\n 'America/Nassau',\n 'America/New_York',\n 'America/Nipigon',\n 'America/Nome',\n 'America/Noronha',\n 'America/North_Dakota/Beulah',\n 'America/North_Dakota/Center',\n 'America/North_Dakota/New_Salem',\n 'America/Ojinaga',\n 'America/Panama',\n 'America/Pangnirtung',\n 'America/Paramaribo',\n 'America/Phoenix',\n 'America/Port-au-Prince',\n 'America/Port_of_Spain',\n 'America/Porto_Velho',\n 'America/Puerto_Rico',\n 'America/Rainy_River',\n 'America/Rankin_Inlet',\n 'America/Recife',\n 'America/Regina',\n 'America/Resolute',\n 'America/Rio_Branco',\n 'America/Santa_Isabel',\n 'America/Santarem',\n 'America/Santiago',\n 'America/Santo_Domingo',\n 'America/Sao_Paulo',\n 'America/Scoresbysund',\n 'America/Sitka',\n 'America/St_Barthelemy',\n 'America/St_Johns',\n 'America/St_Kitts',\n 'America/St_Lucia',\n 'America/St_Thomas',\n 'America/St_Vincent',\n 'America/Swift_Current',\n 'America/Tegucigalpa',\n 'America/Thule',\n 'America/Thunder_Bay',\n 'America/Tijuana',\n 'America/Toronto',\n 'America/Tortola',\n 'America/Vancouver',\n 'America/Whitehorse',\n 'America/Winnipeg',\n 'America/Yakutat',\n 'America/Yellowknife',\n 'Antarctica/Casey',\n 'Antarctica/Davis',\n 'Antarctica/DumontDUrville',\n 'Antarctica/Macquarie',\n 'Antarctica/Mawson',\n 'Antarctica/McMurdo',\n 'Antarctica/Palmer',\n 'Antarctica/Rothera',\n 'Antarctica/Syowa',\n 'Antarctica/Troll',\n 'Antarctica/Vostok',\n 'Arctic/Longyearbyen',\n 'Asia/Aden',\n 'Asia/Almaty',\n 'Asia/Amman',\n 'Asia/Anadyr',\n 'Asia/Aqtau',\n 'Asia/Aqtobe',\n 'Asia/Ashgabat',\n 'Asia/Baghdad',\n 'Asia/Bahrain',\n 'Asia/Baku',\n 'Asia/Bangkok',\n 'Asia/Beirut',\n 'Asia/Bishkek',\n 'Asia/Brunei',\n 'Asia/Chita',\n 'Asia/Choibalsan',\n 'Asia/Colombo',\n 'Asia/Damascus',\n 'Asia/Dhaka',\n 'Asia/Dili',\n 'Asia/Dubai',\n 'Asia/Dushanbe',\n 'Asia/Gaza',\n 'Asia/Hebron',\n 'Asia/Ho_Chi_Minh',\n 'Asia/Hong_Kong',\n 'Asia/Hovd',\n 'Asia/Irkutsk',\n 'Asia/Jakarta',\n 'Asia/Jayapura',\n 'Asia/Jerusalem',\n 'Asia/Kabul',\n 'Asia/Kamchatka',\n 'Asia/Karachi',\n 'Asia/Kathmandu',\n 'Asia/Khandyga',\n 'Asia/Kolkata',\n 'Asia/Krasnoyarsk',\n 'Asia/Kuala_Lumpur',\n 'Asia/Kuching',\n 'Asia/Kuwait',\n 'Asia/Macau',\n 'Asia/Magadan',\n 'Asia/Makassar',\n 'Asia/Manila',\n 'Asia/Muscat',\n 'Asia/Nicosia',\n 'Asia/Novokuznetsk',\n 'Asia/Novosibirsk',\n 'Asia/Omsk',\n 'Asia/Oral',\n 'Asia/Phnom_Penh',\n 'Asia/Pontianak',\n 'Asia/Pyongyang',\n 'Asia/Qatar',\n 'Asia/Qyzylorda',\n 'Asia/Rangoon',\n 'Asia/Riyadh',\n 'Asia/Sakhalin',\n 'Asia/Samarkand',\n 'Asia/Seoul',\n 'Asia/Shanghai',\n 'Asia/Singapore',\n 'Asia/Srednekolymsk',\n 'Asia/Taipei',\n 'Asia/Tashkent',\n 'Asia/Tbilisi',\n 'Asia/Tehran',\n 'Asia/Thimphu',\n 'Asia/Tokyo',\n 'Asia/Ulaanbaatar',\n 'Asia/Urumqi',\n 'Asia/Ust-Nera',\n 'Asia/Vientiane',\n 'Asia/Vladivostok',\n 'Asia/Yakutsk',\n 'Asia/Yekaterinburg',\n 'Asia/Yerevan',\n 'Atlantic/Azores',\n 'Atlantic/Bermuda',\n 'Atlantic/Canary',\n 'Atlantic/Cape_Verde',\n 'Atlantic/Faroe',\n 'Atlantic/Madeira',\n 'Atlantic/Reykjavik',\n 'Atlantic/South_Georgia',\n 'Atlantic/St_Helena',\n 'Atlantic/Stanley',\n 'Australia/Adelaide',\n 'Australia/Brisbane',\n 'Australia/Broken_Hill',\n 'Australia/Currie',\n 'Australia/Darwin',\n 'Australia/Eucla',\n 'Australia/Hobart',\n 'Australia/Lindeman',\n 'Australia/Lord_Howe',\n 'Australia/Melbourne',\n 'Australia/Perth',\n 'Australia/Sydney',\n 'Europe/Amsterdam',\n 'Europe/Andorra',\n 'Europe/Athens',\n 'Europe/Belgrade',\n 'Europe/Berlin',\n 'Europe/Bratislava',\n 'Europe/Brussels',\n 'Europe/Bucharest',\n 'Europe/Budapest',\n 'Europe/Busingen',\n 'Europe/Chisinau',\n 'Europe/Copenhagen',\n 'Europe/Dublin',\n 'Europe/Gibraltar',\n 'Europe/Guernsey',\n 'Europe/Helsinki',\n 'Europe/Isle_of_Man',\n 'Europe/Istanbul',\n 'Europe/Jersey',\n 'Europe/Kaliningrad',\n 'Europe/Kiev',\n 'Europe/Lisbon',\n 'Europe/Ljubljana',\n 'Europe/London',\n 'Europe/Luxembourg',\n 'Europe/Madrid',\n 'Europe/Malta',\n 'Europe/Mariehamn',\n 'Europe/Minsk',\n 'Europe/Monaco',\n 'Europe/Moscow',\n 'Europe/Oslo',\n 'Europe/Paris',\n 'Europe/Podgorica',\n 'Europe/Prague',\n 'Europe/Riga',\n 'Europe/Rome',\n 'Europe/Samara',\n 'Europe/San_Marino',\n 'Europe/Sarajevo',\n 'Europe/Simferopol',\n 'Europe/Skopje',\n 'Europe/Sofia',\n 'Europe/Stockholm',\n 'Europe/Tallinn',\n 'Europe/Tirane',\n 'Europe/Uzhgorod',\n 'Europe/Vaduz',\n 'Europe/Vatican',\n 'Europe/Vienna',\n 'Europe/Vilnius',\n 'Europe/Volgograd',\n 'Europe/Warsaw',\n 'Europe/Zagreb',\n 'Europe/Zaporozhye',\n 'Europe/Zurich',\n 'Indian/Antananarivo',\n 'Indian/Chagos',\n 'Indian/Christmas',\n 'Indian/Cocos',\n 'Indian/Comoro',\n 'Indian/Kerguelen',\n 'Indian/Mahe',\n 'Indian/Maldives',\n 'Indian/Mauritius',\n 'Indian/Mayotte',\n 'Indian/Reunion',\n 'Pacific/Apia',\n 'Pacific/Auckland',\n 'Pacific/Bougainville',\n 'Pacific/Chatham',\n 'Pacific/Chuuk',\n 'Pacific/Easter',\n 'Pacific/Efate',\n 'Pacific/Enderbury',\n 'Pacific/Fakaofo',\n 'Pacific/Fiji',\n 'Pacific/Funafuti',\n 'Pacific/Galapagos',\n 'Pacific/Gambier',\n 'Pacific/Guadalcanal',\n 'Pacific/Guam',\n 'Pacific/Honolulu',\n 'Pacific/Johnston',\n 'Pacific/Kiritimati',\n 'Pacific/Kosrae',\n 'Pacific/Kwajalein',\n 'Pacific/Majuro',\n 'Pacific/Marquesas',\n 'Pacific/Midway',\n 'Pacific/Nauru',\n 'Pacific/Niue',\n 'Pacific/Norfolk',\n 'Pacific/Noumea',\n 'Pacific/Pago_Pago',\n 'Pacific/Palau',\n 'Pacific/Pitcairn',\n 'Pacific/Pohnpei',\n 'Pacific/Port_Moresby',\n 'Pacific/Rarotonga',\n 'Pacific/Saipan',\n 'Pacific/Tahiti',\n 'Pacific/Tarawa',\n 'Pacific/Tongatapu',\n 'Pacific/Wake',\n 'Pacific/Wallis',\n] as const;\n"],"names":["NonEmumeralProperties","TransformConfigHandlerAction","NON_ENUMERABLE_KEYS","Set","Object","values","cloneNonEnumerableValues","clone","config","nonEnumerableKey","defineProperty","configurable","enumerable","value","arrayHasInvalidDefaults","propertyDefinition","items","objectPropertyHasDefaults","properties","some","collateObjectPropertyDefaults","keys","reduce","acc","key","propertyDef","isBoolean","isUndefined","default","RESERVED_KEYWORDS","isPropertyReservedWord","propertyName","has","isValidPropertyDefinition","recordHasInvalidDefaults","additionalProperties","collateDefaultValues","jsonSchema","defaultValues","Error","join","castPropertyName","type","String","propertyDefaults","isDerivedValueCallback","isInvalidPropertyOverride","propertyValue","override","undefined","isSchemaValid","schema","isValidValue","depth","isPlainObject","object","__zcb","every","v","Array","isArray","jsonStringifyReplacer","_key","ZodType","zodToJsonSchema","errorMessages","transformArray","list","handler","Promise","all","map","entry","transformConfig","transform","handlers","castArray","callback","result","resolve","action","DELETE_NODE","SKIP_NODE","transformArraySync","transformConfigSync","createConfigBuilder","zodSchema","options","derivedValueCallbacks","initialValues","addNonEnumeralBaseProperties","conf","ZCB","ID","uuidV4","TYPE","createInitialConfig","merge","cloneDeep","callbacks","configBuilder","$disable","DISABLED","$errors","parse","$values","error","errors","$experiment","EXPERIMENT","$extend","builder","__callbacks","$flush","$fork","$toJson","JSON","stringify","$validate","console","property","CALLBACKS","MAX_DEPTH","runExperiments","__experiment","buckets","id","bucket","createConfigParser","experimentsCallback","push","length","createConfigReader","configReader","read","path","get","scope","countryCodes","countryNames","distanceUnits","languageCodes","timezones"],"mappings":"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AI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IA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AAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,I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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../zod-config-builder/src//types.ts","../zod-config-builder/src//transformers/cloneNonEnumerableValues.ts","../zod-config-builder/src//utils/arrayHasInvalidDefaults.ts","../zod-config-builder/src//utils/objectPropertyHasDefaults.ts","../zod-config-builder/src//utils/collateObjectPropertyDefaults.ts","../zod-config-builder/src//utils/isPropertyReservedWord.ts","../zod-config-builder/src//utils/isValidPropertyDefinition.ts","../zod-config-builder/src//utils/recordHasInvalidDefaults.ts","../zod-config-builder/src//utils/collateDefaultValues.ts","../zod-config-builder/src//utils/isDerivedValueCallback.ts","../zod-config-builder/src//utils/isInvalidPropertyOverride.ts","../zod-config-builder/src//utils/isSchemaValid.ts","../zod-config-builder/src//utils/isValidValue.ts","../zod-config-builder/src//utils/jsonStringifyReplacer.ts","../zod-config-builder/src//utils/transformConfig.ts","../zod-config-builder/src//createConfigBuilder.ts","../zod-config-builder/src//transformers/runExperiments.ts","../zod-config-builder/src//createConfigParser.ts","../zod-config-builder/src//createConfigReader.ts","../zod-config-builder/src//data/countryCodes.ts","../zod-config-builder/src//data/countryNames.ts","../zod-config-builder/src//data/distanceUnits.ts","../zod-config-builder/src//data/languageCodes.ts","../zod-config-builder/src//data/timezones.ts"],"sourcesContent":["import type { List } from 'ts-toolbelt';\nimport type { Includes, Join } from 'type-fest';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyRecord = Record<string, any>;\n\nexport type Buckets<Config extends AnyRecord> = Record<string, Experiment<Config>>;\n\nexport interface ConfigParserOptions {\n experimentsCallback?: RunExperimentsCallback;\n}\n\nexport interface Experiment<Config extends AnyRecord> {\n action?: TransformConfigHandlerAction;\n value?: Config;\n}\n\nexport enum NonEmumeralProperties {\n CALLBACKS = '__callbacks',\n DISABLED = '__disabled',\n EXPERIMENT = '__experiment',\n ID = '__id',\n TYPE = '__type',\n ZCB = '__zcb',\n}\n\nexport type Path<Config extends object> = Join<Leaves<Config>, '.'>;\n\nexport type RunExperimentsCallback = (id: string) => Promise<string>;\n\nexport type Scope<Config extends object> = Join<Paths<Config>, '.'>;\n\nexport type SetupExperimentsCallback = <Config extends AnyRecord>(\n id: string,\n clone: Config,\n config: Config\n) => Promise<Buckets<Config>>;\n\nexport type TransformConfigHandler = <Config extends AnyRecord>(\n clone: Config,\n config: Config\n) => TransformConfigHandlerReturnType<Config> | Promise<TransformConfigHandlerReturnType<Config>>;\n\nexport type TransformConfigHandlerSync = <Config extends AnyRecord>(\n clone: Config,\n config: Config\n) => TransformConfigHandlerReturnType<Config>;\n\nexport enum TransformConfigHandlerAction {\n DELETE_NODE = 'deleteNode',\n SKIP_NODE = 'skipNode',\n}\n\nexport interface TransformConfigHandlerReturnType<Config extends AnyRecord> {\n action?: TransformConfigHandlerAction;\n value?: Config;\n}\n\nexport interface WriteConfigOptions {\n experimentsCallback?: SetupExperimentsCallback;\n outputFile: string;\n}\n\nexport type Leaves<T, LeafPath extends string[] = []> = T extends string\n ? LeafPath\n : {\n [K in keyof T & string]: Leaves<T[K], [...LeafPath, K]>;\n }[keyof T & string];\n\nexport type Paths<T, LeafPath extends string[] = []> = T extends string\n ? LeafPath\n : {\n [K in keyof T & string]: T[K] extends object ? Paths<T[K], [...LeafPath, K]> : LeafPath;\n }[keyof T & string];\n\nexport type LeavesScopeDiffs<T1 extends readonly string[][], T2 extends string[]> = {\n [K1 in keyof T1]: List.Length<List.Intersect<T1[K1], T2, '<-contains'>> extends 1\n ? List.Length<T1[K1]> extends 1\n ? Includes<T2, T1[K1][0]> extends false\n ? T1[K1]\n : never\n : List.Diff<T1[K1], T2>\n : never;\n}[number];\n","import { type AnyRecord, NonEmumeralProperties, type TransformConfigHandlerSync } from '../types.ts';\n\nconst NON_ENUMERABLE_KEYS = new Set(Object.values(NonEmumeralProperties));\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const cloneNonEnumerableValues: TransformConfigHandlerSync = <\n Config1 extends AnyRecord,\n Config2 extends AnyRecord\n>(\n clone: Config1,\n config: Config2\n) => {\n for (const nonEnumerableKey of NON_ENUMERABLE_KEYS) {\n if (nonEnumerableKey in config) {\n Object.defineProperty(clone, nonEnumerableKey, {\n configurable: false,\n enumerable: false,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n value: config[nonEnumerableKey],\n });\n }\n }\n\n return {\n value: clone,\n };\n};\n","import type { JSONSchema7 } from 'json-schema';\n\nexport const arrayHasInvalidDefaults = (propertyDefinition: JSONSchema7) => {\n const { items } = propertyDefinition;\n return items && typeof items === 'object' && 'default' in items;\n};\n","import type { JSONSchema7 } from 'json-schema';\n\nexport const objectPropertyHasDefaults = (propertyDefinition: JSONSchema7) =>\n propertyDefinition.properties &&\n Object.values(propertyDefinition.properties).some(value => typeof value === 'object' && 'default' in value);\n","import type { JSONSchema7 } from 'json-schema';\nimport { isBoolean, isUndefined } from 'lodash-es';\nimport type { Jsonifiable } from 'type-fest';\nimport { objectPropertyHasDefaults } from './objectPropertyHasDefaults.ts';\n\nexport const collateObjectPropertyDefaults = (propertyDefinition: JSONSchema7) => {\n const { properties } = propertyDefinition;\n\n if (!properties || !objectPropertyHasDefaults(propertyDefinition)) {\n return;\n }\n\n return Object.keys(properties).reduce<Record<string, Jsonifiable>>((acc, key) => {\n const propertyDef = properties[key];\n\n if (!propertyDef || isBoolean(propertyDef)) {\n return acc;\n }\n\n if ('default' in propertyDef && !isUndefined(propertyDef.default)) {\n acc[key] = propertyDef.default;\n }\n\n return acc;\n }, {});\n};\n","export const RESERVED_KEYWORDS = new Set([\n '$disable',\n '$errors',\n '$experiment',\n '$extend',\n '$flush',\n '$fork',\n '$toJson',\n '$validate',\n '$values',\n]);\n\nexport const isPropertyReservedWord = (propertyName: string) => RESERVED_KEYWORDS.has(propertyName);\n","import type { JSONSchema7, JSONSchema7Definition } from 'json-schema';\n\nexport const isValidPropertyDefinition = (\n propertyDefinition: JSONSchema7Definition | undefined\n): propertyDefinition is JSONSchema7 => typeof propertyDefinition === 'object';\n","import type { JSONSchema7 } from 'json-schema';\n\nexport const recordHasInvalidDefaults = (propertyDefinition: JSONSchema7) =>\n propertyDefinition.additionalProperties &&\n typeof propertyDefinition.additionalProperties === 'object' &&\n 'default' in propertyDefinition.additionalProperties;\n","import { type JSONSchema7 } from 'json-schema';\nimport { arrayHasInvalidDefaults } from './arrayHasInvalidDefaults.ts';\nimport { collateObjectPropertyDefaults } from './collateObjectPropertyDefaults.ts';\nimport { RESERVED_KEYWORDS, isPropertyReservedWord } from './isPropertyReservedWord.ts';\nimport { isValidPropertyDefinition } from './isValidPropertyDefinition.ts';\nimport { recordHasInvalidDefaults } from './recordHasInvalidDefaults.ts';\n\nexport const collateDefaultValues = <Config>(jsonSchema: JSONSchema7) => {\n const defaultValues = {} as Partial<Config>;\n\n for (const propertyName in jsonSchema.properties) {\n if (isPropertyReservedWord(propertyName)) {\n throw new Error(\n `\"${propertyName}\" is a reserved keyword within the config builder. Please use a different property name. The full list of reserved keywords is: ${[\n ...RESERVED_KEYWORDS,\n ].join(', ')}`\n );\n }\n\n const castPropertyName = propertyName as keyof Config;\n const propertyDefinition = jsonSchema.properties[propertyName];\n\n if (isValidPropertyDefinition(propertyDefinition)) {\n if (propertyDefinition.default) {\n defaultValues[castPropertyName] = propertyDefinition.default as Config[keyof Config];\n }\n\n if (propertyDefinition.type === 'array' && arrayHasInvalidDefaults(propertyDefinition)) {\n throw new Error(\n `When setting schema array defaults for the array assigned to \"${String(\n castPropertyName\n )}\", set them on the array and not the item.`\n );\n }\n\n if (propertyDefinition.type === 'object') {\n if (recordHasInvalidDefaults(propertyDefinition)) {\n throw new Error(\n `When setting schema property defaults for the value of the record assigned to \"${String(\n castPropertyName\n )}\", set them on the record and not the value.`\n );\n }\n\n const propertyDefaults = collateObjectPropertyDefaults(propertyDefinition);\n\n if (propertyDefaults) {\n defaultValues[castPropertyName] = propertyDefaults as Config[keyof Config];\n }\n }\n }\n }\n\n return defaultValues;\n};\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const isDerivedValueCallback = <T extends (c: any) => any>(value: any): value is T =>\n typeof value === 'function';\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const isInvalidPropertyOverride = (propertyValue: any, override = false) =>\n !override && propertyValue !== undefined;\n","import type { JSONSchema7 } from 'json-schema';\n\nexport const isSchemaValid = (schema: JSONSchema7) => schema.type !== 'object';\n","import { isPlainObject } from 'lodash-es';\n\nexport const isValidValue = (value: unknown, depth = 0): boolean => {\n if (isPlainObject(value)) {\n const object = value as Record<string, unknown>;\n\n if (object.__zcb === true) {\n return true;\n }\n\n if (depth < 1 && Object.values(object).every(v => isValidValue(v, depth + 1))) {\n return true;\n }\n\n return false;\n }\n\n if (Array.isArray(value)) {\n if (value.every(v => isValidValue(v, depth + 1))) {\n return true;\n }\n\n return false;\n }\n\n return true;\n};\n","import type { Jsonifiable } from 'type-fest';\nimport { ZodType } from 'zod';\nimport { zodToJsonSchema } from 'zod-to-json-schema';\n\nexport const jsonStringifyReplacer = (_key: string, value: Jsonifiable) =>\n value instanceof ZodType ? zodToJsonSchema(value, { errorMessages: true }) : value;\n","import { castArray, isPlainObject } from 'lodash-es';\nimport {\n type AnyRecord,\n type TransformConfigHandler,\n TransformConfigHandlerAction,\n type TransformConfigHandlerSync,\n} from '../types.ts';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst transformArray = (list: any[], handler: TransformConfigHandler | TransformConfigHandler[]): Promise<any[]> =>\n Promise.all(\n list.map(entry => {\n if (isPlainObject(entry)) {\n return transformConfig(entry, handler);\n }\n\n if (Array.isArray(entry)) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return transformArray(entry, handler);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return entry;\n })\n );\n\nexport const transformConfig = async <Config extends AnyRecord>(\n config: Config,\n handler: TransformConfigHandler | TransformConfigHandler[] = []\n): Promise<Config> => {\n let transform = {} as Config;\n const handlers = castArray(handler);\n\n for (const callback of handlers) {\n const result = await Promise.resolve(callback(transform, config));\n\n if (result.action === TransformConfigHandlerAction.DELETE_NODE) {\n return {} as Config;\n }\n\n if (result.value) {\n transform = result.value;\n }\n\n if (result.action === TransformConfigHandlerAction.SKIP_NODE) {\n return transform;\n }\n }\n\n for (const key in config) {\n const value = config[key];\n\n if (isPlainObject(value)) {\n transform[key] = await transformConfig(value, handler);\n } else if (Array.isArray(value)) {\n transform[key] = (await transformArray(value, handler)) as Config[Extract<keyof Config, string>];\n } else {\n transform[key] = value;\n }\n }\n\n return transform;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst transformArraySync = (list: any[], handler: TransformConfigHandlerSync | TransformConfigHandlerSync[]): any[] =>\n list.map(entry => {\n if (isPlainObject(entry)) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return transformConfigSync(entry, handler);\n }\n\n if (Array.isArray(entry)) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return transformArraySync(entry, handler);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return entry;\n });\n\nexport const transformConfigSync = <Config extends AnyRecord>(\n config: Config,\n handler: TransformConfigHandlerSync | TransformConfigHandlerSync[] = []\n): Config => {\n let transform = {} as Config;\n const handlers = castArray(handler);\n\n for (const callback of handlers) {\n const result = callback(transform, config);\n\n if (result.action === TransformConfigHandlerAction.DELETE_NODE) {\n return {} as Config;\n }\n\n if (result.value) {\n transform = result.value;\n }\n\n if (result.action === TransformConfigHandlerAction.SKIP_NODE) {\n return transform;\n }\n }\n\n for (const key in config) {\n const value = config[key];\n\n if (isPlainObject(value)) {\n transform[key] = transformConfigSync(value, handler);\n } else if (Array.isArray(value)) {\n transform[key] = transformArraySync(value, handler) as Config[Extract<keyof Config, string>];\n } else {\n transform[key] = value;\n }\n }\n\n return transform;\n};\n","import { type JSONSchema7 } from 'json-schema';\nimport { cloneDeep, merge } from 'lodash-es';\nimport { v4 as uuidV4 } from 'uuid';\nimport { type ZodError, type z } from 'zod';\nimport { zodToJsonSchema } from 'zod-to-json-schema';\nimport { cloneNonEnumerableValues } from './transformers/cloneNonEnumerableValues.ts';\nimport { NonEmumeralProperties } from './types.ts';\nimport { collateDefaultValues } from './utils/collateDefaultValues.ts';\nimport { isDerivedValueCallback } from './utils/isDerivedValueCallback.ts';\nimport { isInvalidPropertyOverride } from './utils/isInvalidPropertyOverride.ts';\nimport { RESERVED_KEYWORDS, isPropertyReservedWord } from './utils/isPropertyReservedWord.ts';\nimport { isSchemaValid } from './utils/isSchemaValid.ts';\nimport { isValidValue } from './utils/isValidValue.ts';\nimport { jsonStringifyReplacer } from './utils/jsonStringifyReplacer.ts';\nimport { transformConfigSync } from './utils/transformConfig.ts';\n\nexport type ConfigBuilder<ZodTypes> = {\n [Key in keyof Required<ZodTypes>]: (\n value: ZodTypes[Key] | ((c: ZodTypes) => ZodTypes[Key]),\n override?: boolean\n ) => ConfigBuilder<ZodTypes>;\n} & {\n $disable: () => ConfigBuilder<ZodTypes>;\n $errors: () => ZodError['errors'];\n $experiment: (key: string) => ConfigBuilder<ZodTypes>;\n $extend: (configBuilder: ConfigBuilder<ZodTypes>) => ConfigBuilder<ZodTypes>;\n $flush: () => ZodTypes;\n $fork: () => ConfigBuilder<ZodTypes>;\n $toJson: () => string;\n $validate: () => boolean;\n $values: () => ZodTypes;\n};\n\nexport type CreateConfigBuilderOptions = {\n overrides?: {\n uuid?: () => string;\n };\n type?: string;\n};\n\nexport const createConfigBuilder = <ZodTypes>(\n zodSchema: z.ZodSchema,\n options: CreateConfigBuilderOptions = {},\n derivedValueCallbacks: Partial<\n Record<\n keyof ZodTypes,\n (c: {\n [Key in keyof ZodTypes]: ZodTypes[Key];\n }) => ZodTypes[keyof ZodTypes]\n >\n > = {},\n initialValues: Partial<{\n [Key in keyof ZodTypes]: ZodTypes[Key];\n }> = {}\n): ConfigBuilder<ZodTypes> => {\n type Config = {\n [Key in keyof ZodTypes]: ZodTypes[Key];\n };\n\n type DerivedValueCallback<K extends keyof Config = keyof Config> = (c: Config) => Config[K];\n\n const jsonSchema = zodToJsonSchema(zodSchema) as JSONSchema7;\n\n if (isSchemaValid(jsonSchema)) {\n throw new Error(`The root type of a config schema must be \"object\", but received \"${String(jsonSchema.type)}\"`);\n }\n\n const uuid = options.overrides?.uuid ?? uuidV4;\n\n const addNonEnumeralBaseProperties = (conf: Config) => {\n Object.defineProperty(conf, NonEmumeralProperties.ZCB, {\n configurable: false,\n enumerable: false,\n value: true,\n });\n\n Object.defineProperty(conf, NonEmumeralProperties.ID, {\n configurable: false,\n enumerable: false,\n value: uuid(),\n });\n\n if (options.type) {\n Object.defineProperty(conf, NonEmumeralProperties.TYPE, {\n configurable: false,\n enumerable: false,\n value: options.type,\n });\n }\n };\n\n const createInitialConfig = () => {\n const config = merge(cloneDeep(initialValues), collateDefaultValues(jsonSchema)) as Config;\n addNonEnumeralBaseProperties(config);\n return config;\n };\n\n let config = createInitialConfig();\n let callbacks: Partial<Record<keyof Config, DerivedValueCallback>> = { ...derivedValueCallbacks };\n\n const configBuilder = {\n $disable: () => {\n Object.defineProperty(config, NonEmumeralProperties.DISABLED, {\n configurable: false,\n enumerable: false,\n value: true,\n });\n\n return configBuilder;\n },\n $errors: () => {\n try {\n zodSchema.parse(configBuilder.$values());\n return [];\n } catch (error: unknown) {\n return (error as ZodError).errors;\n }\n },\n $experiment: (key: string) => {\n Object.defineProperty(config, NonEmumeralProperties.EXPERIMENT, {\n configurable: false,\n enumerable: false,\n value: key,\n });\n\n return configBuilder;\n },\n $extend: (builder: ConfigBuilder<Config>) => {\n config = transformConfigSync<Config>(builder.$values(), [cloneNonEnumerableValues]);\n // @ts-expect-error private property\n callbacks = { ...builder.__callbacks } as Partial<Record<keyof Config, DerivedValueCallback>>;\n },\n $flush: () => {\n const values = configBuilder.$values();\n config = createInitialConfig();\n return values;\n },\n $fork: () => createConfigBuilder<Config>(zodSchema, options, derivedValueCallbacks, initialValues),\n $toJson: () => JSON.stringify(configBuilder.$values(), jsonStringifyReplacer, 2),\n $validate: () => {\n try {\n zodSchema.parse(configBuilder.$values());\n return true;\n } catch (error: unknown) {\n console.error(error);\n return false;\n }\n },\n $values: () => {\n for (const property in callbacks) {\n const callback = callbacks[property];\n\n if (callback) {\n config[property as keyof Config] = callback(config);\n }\n }\n\n return config;\n },\n } as unknown as ConfigBuilder<ZodTypes>;\n\n Object.defineProperty(configBuilder, NonEmumeralProperties.CALLBACKS, {\n configurable: false,\n enumerable: false,\n value: callbacks,\n });\n\n for (const propertyName in jsonSchema.properties) {\n if (isPropertyReservedWord(propertyName)) {\n throw new Error(\n `\"${propertyName}\" is a reserved keyword within the config builder. Please use a different property name. The full list of reserved keywords is: ${[\n ...RESERVED_KEYWORDS,\n ].join(', ')}`\n );\n }\n\n const castPropertyName = propertyName as keyof Config;\n\n configBuilder[castPropertyName] = ((value: Config[keyof Config] | DerivedValueCallback, override?: boolean) => {\n if (isInvalidPropertyOverride(config[castPropertyName], override)) {\n throw new Error(\n `A value already exists for \"${String(\n castPropertyName\n )}\". You may be trying to add a new values before flushing the old one. If you intended to override the existing value, pass in true as the second argument.`\n );\n }\n\n let propertyValue: Config[keyof Config];\n const MAX_DEPTH = 1;\n\n if (!isValidValue(value)) {\n throw new Error(\n `\"${String(\n castPropertyName\n )}\" value has a depth greater than ${MAX_DEPTH}. To pass in objects with a depth greater than ${MAX_DEPTH}, create a builder for that config slice.`\n );\n }\n\n if (isDerivedValueCallback<DerivedValueCallback>(value)) {\n callbacks[castPropertyName] = value;\n propertyValue = value(config);\n } else {\n propertyValue = value;\n }\n\n config[castPropertyName] = propertyValue;\n return configBuilder;\n }) as ConfigBuilder<Config>[keyof Config];\n }\n\n return configBuilder;\n};\n","import {\n type AnyRecord,\n type Buckets,\n NonEmumeralProperties,\n type RunExperimentsCallback,\n type TransformConfigHandler,\n} from '../types.ts';\n\nexport const runExperiments =\n (callback: RunExperimentsCallback): TransformConfigHandler =>\n async <Config extends AnyRecord>(clone: Config, config: Config) => {\n if (NonEmumeralProperties.EXPERIMENT in config && typeof config.__experiment === 'object') {\n const { buckets, id } = config.__experiment as { buckets: Buckets<Config>; id: string };\n const bucket = await callback(id);\n\n if (bucket && bucket in buckets && buckets[bucket]) {\n return buckets[bucket]!;\n }\n }\n\n return {\n value: clone,\n };\n };\n","import { runExperiments } from './transformers/runExperiments.ts';\nimport type { ConfigParserOptions, TransformConfigHandler } from './types.ts';\nimport { transformConfig } from './utils/transformConfig.ts';\n\nexport const createConfigParser = async <Config extends object>(\n config: Config,\n { experimentsCallback }: ConfigParserOptions = {}\n) => {\n const handlers: TransformConfigHandler[] = [];\n\n if (experimentsCallback) {\n handlers.push(runExperiments(experimentsCallback));\n }\n\n return handlers.length > 0 ? await transformConfig(config, handlers) : config;\n};\n","import { get } from 'lodash-es';\nimport type { Get } from 'type-fest';\nimport type { Path, Scope } from './types.ts';\n\nexport interface ConfigReader<Config extends object> {\n read: <P extends Path<Config>>(path: P) => Get<Config, P>;\n scope: <S extends Scope<Config>>(scope: S) => ConfigReader<Get<Config, S>>;\n}\n\nexport const createConfigReader = <Config extends object>(config: Config): ConfigReader<Config> => {\n const configReader = {\n read: <P extends Path<Config>>(path: P) => get(config, path),\n scope: <S extends Scope<Config>>(scope: S) => createConfigReader(get(config, scope) as Get<Config, S>),\n } as ConfigReader<Config>;\n\n return configReader;\n};\n","export const countryCodes = [\n 'AF',\n 'AX',\n 'AL',\n 'DZ',\n 'AS',\n 'AD',\n 'AO',\n 'AI',\n 'AQ',\n 'AG',\n 'AR',\n 'AM',\n 'AW',\n 'AU',\n 'AT',\n 'AZ',\n 'BS',\n 'BH',\n 'BD',\n 'BB',\n 'BY',\n 'BE',\n 'BZ',\n 'BJ',\n 'BM',\n 'BT',\n 'BO',\n 'BA',\n 'BW',\n 'BV',\n 'BR',\n 'IO',\n 'BN',\n 'BG',\n 'BF',\n 'BI',\n 'KH',\n 'CM',\n 'CA',\n 'CV',\n 'KY',\n 'CF',\n 'TD',\n 'CL',\n 'CN',\n 'CX',\n 'CC',\n 'CO',\n 'KM',\n 'CG',\n 'CD',\n 'CK',\n 'CR',\n 'CI',\n 'HR',\n 'CU',\n 'CY',\n 'CZ',\n 'DK',\n 'DJ',\n 'DM',\n 'DO',\n 'EC',\n 'EG',\n 'SV',\n 'GQ',\n 'ER',\n 'EE',\n 'ET',\n 'FK',\n 'FO',\n 'FJ',\n 'FI',\n 'FR',\n 'GF',\n 'PF',\n 'TF',\n 'GA',\n 'GM',\n 'GE',\n 'DE',\n 'GH',\n 'GI',\n 'GR',\n 'GL',\n 'GD',\n 'GP',\n 'GU',\n 'GT',\n 'GG',\n 'GN',\n 'GW',\n 'GY',\n 'HT',\n 'HM',\n 'VA',\n 'HN',\n 'HK',\n 'HU',\n 'IS',\n 'IN',\n 'ID',\n 'IR',\n 'IQ',\n 'IE',\n 'IM',\n 'IL',\n 'IT',\n 'JM',\n 'JP',\n 'JE',\n 'JO',\n 'KZ',\n 'KE',\n 'KI',\n 'KR',\n 'KW',\n 'KG',\n 'LA',\n 'LV',\n 'LB',\n 'LS',\n 'LR',\n 'LY',\n 'LI',\n 'LT',\n 'LU',\n 'MO',\n 'MK',\n 'MG',\n 'MW',\n 'MY',\n 'MV',\n 'ML',\n 'MT',\n 'MH',\n 'MQ',\n 'MR',\n 'MU',\n 'YT',\n 'MX',\n 'FM',\n 'MD',\n 'MC',\n 'MN',\n 'ME',\n 'MS',\n 'MA',\n 'MZ',\n 'MM',\n 'NA',\n 'NR',\n 'NP',\n 'NL',\n 'AN',\n 'NC',\n 'NZ',\n 'NI',\n 'NE',\n 'NG',\n 'NU',\n 'NF',\n 'MP',\n 'NO',\n 'OM',\n 'PK',\n 'PW',\n 'PS',\n 'PA',\n 'PG',\n 'PY',\n 'PE',\n 'PH',\n 'PN',\n 'PL',\n 'PT',\n 'PR',\n 'QA',\n 'RE',\n 'RO',\n 'RU',\n 'RW',\n 'BL',\n 'SH',\n 'KN',\n 'LC',\n 'MF',\n 'PM',\n 'VC',\n 'WS',\n 'SM',\n 'ST',\n 'SA',\n 'SN',\n 'RS',\n 'SC',\n 'SL',\n 'SG',\n 'SK',\n 'SI',\n 'SB',\n 'SO',\n 'ZA',\n 'GS',\n 'ES',\n 'LK',\n 'SD',\n 'SR',\n 'SJ',\n 'SZ',\n 'SE',\n 'CH',\n 'SY',\n 'TW',\n 'TJ',\n 'TZ',\n 'TH',\n 'TL',\n 'TG',\n 'TK',\n 'TO',\n 'TT',\n 'TN',\n 'TR',\n 'TM',\n 'TC',\n 'TV',\n 'UG',\n 'UA',\n 'AE',\n 'GB',\n 'US',\n 'UM',\n 'UY',\n 'UZ',\n 'VU',\n 'VE',\n 'VN',\n 'VG',\n 'VI',\n 'WF',\n 'EH',\n 'YE',\n 'ZM',\n 'ZW',\n] as const;\n","export const countryNames = [\n 'Afghanistan',\n 'Albania',\n 'Algeria',\n 'Andorra',\n 'Angola',\n 'Anguilla',\n 'Antigua and Barbuda',\n 'Argentina',\n 'Armenia',\n 'Aruba',\n 'Australia',\n 'Austria',\n 'Azerbaijan',\n 'Bahamas',\n 'Bahrain',\n 'Bangladesh',\n 'Barbados',\n 'Belarus',\n 'Belgium',\n 'Belize',\n 'Benin',\n 'Bermuda',\n 'Bhutan',\n 'Bolivia',\n 'Bosnia and Herzegovina',\n 'Botswana',\n 'Brazil',\n 'British Virgin Islands',\n 'Brunei',\n 'Bulgaria',\n 'Burkina Faso',\n 'Burundi',\n 'Cambodia',\n 'Cameroon',\n 'Cape Verde',\n 'Cayman Islands',\n 'Chad',\n 'Chile',\n 'China',\n 'Colombia',\n 'Congo',\n 'Cook Islands',\n 'Costa Rica',\n 'Cote D Ivoire',\n 'Croatia',\n 'Cruise Ship',\n 'Cuba',\n 'Cyprus',\n 'Czech Republic',\n 'Denmark',\n 'Djibouti',\n 'Dominica',\n 'Dominican Republic',\n 'Ecuador',\n 'Egypt',\n 'El Salvador',\n 'Equatorial Guinea',\n 'Estonia',\n 'Ethiopia',\n 'Falkland Islands',\n 'Faroe Islands',\n 'Fiji',\n 'Finland',\n 'France',\n 'French Polynesia',\n 'French West Indies',\n 'Gabon',\n 'Gambia',\n 'Georgia',\n 'Germany',\n 'Ghana',\n 'Gibraltar',\n 'Greece',\n 'Greenland',\n 'Grenada',\n 'Guam',\n 'Guatemala',\n 'Guernsey',\n 'Guinea',\n 'Guinea Bissau',\n 'Guyana',\n 'Haiti',\n 'Honduras',\n 'Hong Kong',\n 'Hungary',\n 'Iceland',\n 'India',\n 'Indonesia',\n 'Iran',\n 'Iraq',\n 'Ireland',\n 'Isle of Man',\n 'Israel',\n 'Italy',\n 'Jamaica',\n 'Japan',\n 'Jersey',\n 'Jordan',\n 'Kazakhstan',\n 'Kenya',\n 'Kuwait',\n 'Kyrgyz Republic',\n 'Laos',\n 'Latvia',\n 'Lebanon',\n 'Lesotho',\n 'Liberia',\n 'Libya',\n 'Liechtenstein',\n 'Lithuania',\n 'Luxembourg',\n 'Macau',\n 'Macedonia',\n 'Madagascar',\n 'Malawi',\n 'Malaysia',\n 'Maldives',\n 'Mali',\n 'Malta',\n 'Mauritania',\n 'Mauritius',\n 'Mexico',\n 'Moldova',\n 'Monaco',\n 'Mongolia',\n 'Montenegro',\n 'Montserrat',\n 'Morocco',\n 'Mozambique',\n 'Namibia',\n 'Nepal',\n 'Netherlands',\n 'Netherlands Antilles',\n 'New Caledonia',\n 'New Zealand',\n 'Nicaragua',\n 'Niger',\n 'Nigeria',\n 'Norway',\n 'Oman',\n 'Pakistan',\n 'Palestine',\n 'Panama',\n 'Papua New Guinea',\n 'Paraguay',\n 'Peru',\n 'Philippines',\n 'Poland',\n 'Portugal',\n 'Puerto Rico',\n 'Qatar',\n 'Reunion',\n 'Romania',\n 'Russia',\n 'Rwanda',\n 'Saint Pierre and Miquelon',\n 'Samoa',\n 'San Marino',\n 'Satellite',\n 'Saudi Arabia',\n 'Senegal',\n 'Serbia',\n 'Seychelles',\n 'Sierra Leone',\n 'Singapore',\n 'Slovakia',\n 'Slovenia',\n 'South Africa',\n 'South Korea',\n 'Spain',\n 'Sri Lanka',\n 'St Kitts and Nevis',\n 'St Lucia',\n 'St Vincent',\n 'St. Lucia',\n 'Sudan',\n 'Suriname',\n 'Swaziland',\n 'Sweden',\n 'Switzerland',\n 'Syria',\n 'Taiwan',\n 'Tajikistan',\n 'Tanzania',\n 'Thailand',\n \"Timor L'Este\",\n 'Togo',\n 'Tonga',\n 'Trinidad and Tobago',\n 'Tunisia',\n 'Turkey',\n 'Turkmenistan',\n 'Turks and Caicos',\n 'Uganda',\n 'Ukraine',\n 'United Arab Emirates',\n 'United Kingdom',\n 'Uruguay',\n 'Uzbekistan',\n 'Venezuela',\n 'Vietnam',\n 'Virgin Islands (US)',\n 'Yemen',\n 'Zambia',\n 'Zimbabwe',\n] as const;\n","export const distanceUnits = ['km', 'mi'] as const;\n","export const languageCodes = [\n 'aa',\n 'ab',\n 'ae',\n 'af',\n 'ak',\n 'am',\n 'an',\n 'ar',\n 'as',\n 'av',\n 'ay',\n 'az',\n 'ba',\n 'be',\n 'bg',\n 'bi',\n 'bm',\n 'bn',\n 'bo',\n 'br',\n 'bs',\n 'ca',\n 'ce',\n 'ch',\n 'co',\n 'cr',\n 'cs',\n 'cu',\n 'cv',\n 'cy',\n 'da',\n 'de',\n 'dv',\n 'dz',\n 'ee',\n 'el',\n 'en',\n 'eo',\n 'es',\n 'et',\n 'eu',\n 'fa',\n 'ff',\n 'fi',\n 'fj',\n 'fo',\n 'fr',\n 'fy',\n 'ga',\n 'gd',\n 'gl',\n 'gn',\n 'gu',\n 'gv',\n 'ha',\n 'he',\n 'hi',\n 'ho',\n 'hr',\n 'ht',\n 'hu',\n 'hy',\n 'hz',\n 'ia',\n 'id',\n 'ie',\n 'ig',\n 'ii',\n 'ik',\n 'io',\n 'is',\n 'it',\n 'iu',\n 'ja',\n 'jv',\n 'ka',\n 'kg',\n 'ki',\n 'kj',\n 'kk',\n 'kl',\n 'km',\n 'kn',\n 'ko',\n 'kr',\n 'ks',\n 'ku',\n 'kv',\n 'kw',\n 'ky',\n 'la',\n 'lb',\n 'lg',\n 'li',\n 'ln',\n 'lo',\n 'lt',\n 'lu',\n 'lv',\n 'mg',\n 'mh',\n 'mi',\n 'mk',\n 'ml',\n 'mn',\n 'mr',\n 'ms',\n 'mt',\n 'my',\n 'na',\n 'nb',\n 'nd',\n 'ne',\n 'ng',\n 'nl',\n 'nn',\n 'no',\n 'nr',\n 'nv',\n 'ny',\n 'oc',\n 'oj',\n 'om',\n 'or',\n 'os',\n 'pa',\n 'pi',\n 'pl',\n 'ps',\n 'pt',\n 'qu',\n 'rm',\n 'rn',\n 'ro',\n 'ru',\n 'rw',\n 'sa',\n 'sc',\n 'sd',\n 'se',\n 'sg',\n 'si',\n 'sk',\n 'sl',\n 'sm',\n 'sn',\n 'so',\n 'sq',\n 'sr',\n 'ss',\n 'st',\n 'su',\n 'sv',\n 'sw',\n 'ta',\n 'te',\n 'tg',\n 'th',\n 'ti',\n 'tk',\n 'tl',\n 'tn',\n 'to',\n 'tr',\n 'ts',\n 'tt',\n 'tw',\n 'ty',\n 'ug',\n 'uk',\n 'ur',\n 'uz',\n 've',\n 'vi',\n 'vo',\n 'wa',\n 'wo',\n 'xh',\n 'yi',\n 'yo',\n 'za',\n 'zh',\n 'zu',\n] as const;\n","export const timezones = [\n 'Africa/Abidjan',\n 'Africa/Accra',\n 'Africa/Addis_Ababa',\n 'Africa/Algiers',\n 'Africa/Asmara',\n 'Africa/Bamako',\n 'Africa/Bangui',\n 'Africa/Banjul',\n 'Africa/Bissau',\n 'Africa/Blantyre',\n 'Africa/Brazzaville',\n 'Africa/Bujumbura',\n 'Africa/Cairo',\n 'Africa/Casablanca',\n 'Africa/Ceuta',\n 'Africa/Conakry',\n 'Africa/Dakar',\n 'Africa/Dar_es_Salaam',\n 'Africa/Djibouti',\n 'Africa/Douala',\n 'Africa/El_Aaiun',\n 'Africa/Freetown',\n 'Africa/Gaborone',\n 'Africa/Harare',\n 'Africa/Johannesburg',\n 'Africa/Juba',\n 'Africa/Kampala',\n 'Africa/Khartoum',\n 'Africa/Kigali',\n 'Africa/Kinshasa',\n 'Africa/Lagos',\n 'Africa/Libreville',\n 'Africa/Lome',\n 'Africa/Luanda',\n 'Africa/Lubumbashi',\n 'Africa/Lusaka',\n 'Africa/Malabo',\n 'Africa/Maputo',\n 'Africa/Maseru',\n 'Africa/Mbabane',\n 'Africa/Mogadishu',\n 'Africa/Monrovia',\n 'Africa/Nairobi',\n 'Africa/Ndjamena',\n 'Africa/Niamey',\n 'Africa/Nouakchott',\n 'Africa/Ouagadougou',\n 'Africa/Porto-Novo',\n 'Africa/Sao_Tome',\n 'Africa/Tripoli',\n 'Africa/Tunis',\n 'Africa/Windhoek',\n 'America/Adak',\n 'America/Anchorage',\n 'America/Anguilla',\n 'America/Antigua',\n 'America/Araguaina',\n 'America/Argentina/Buenos_Aires',\n 'America/Argentina/Catamarca',\n 'America/Argentina/Cordoba',\n 'America/Argentina/Jujuy',\n 'America/Argentina/La_Rioja',\n 'America/Argentina/Mendoza',\n 'America/Argentina/Rio_Gallegos',\n 'America/Argentina/Salta',\n 'America/Argentina/San_Juan',\n 'America/Argentina/San_Luis',\n 'America/Argentina/Tucuman',\n 'America/Argentina/Ushuaia',\n 'America/Aruba',\n 'America/Asuncion',\n 'America/Atikokan',\n 'America/Bahia',\n 'America/Bahia_Banderas',\n 'America/Barbados',\n 'America/Belem',\n 'America/Belize',\n 'America/Blanc-Sablon',\n 'America/Boa_Vista',\n 'America/Bogota',\n 'America/Boise',\n 'America/Cambridge_Bay',\n 'America/Campo_Grande',\n 'America/Cancun',\n 'America/Caracas',\n 'America/Cayenne',\n 'America/Cayman',\n 'America/Chicago',\n 'America/Chihuahua',\n 'America/Costa_Rica',\n 'America/Creston',\n 'America/Cuiaba',\n 'America/Curacao',\n 'America/Danmarkshavn',\n 'America/Dawson',\n 'America/Dawson_Creek',\n 'America/Denver',\n 'America/Detroit',\n 'America/Dominica',\n 'America/Edmonton',\n 'America/Eirunepe',\n 'America/El_Salvador',\n 'America/Fort_Nelson',\n 'America/Fortaleza',\n 'America/Glace_Bay',\n 'America/Godthab',\n 'America/Goose_Bay',\n 'America/Grand_Turk',\n 'America/Grenada',\n 'America/Guadeloupe',\n 'America/Guatemala',\n 'America/Guayaquil',\n 'America/Guyana',\n 'America/Halifax',\n 'America/Havana',\n 'America/Hermosillo',\n 'America/Indiana/Indianapolis',\n 'America/Indiana/Knox',\n 'America/Indiana/Marengo',\n 'America/Indiana/Petersburg',\n 'America/Indiana/Tell_City',\n 'America/Indiana/Vevay',\n 'America/Indiana/Vincennes',\n 'America/Indiana/Winamac',\n 'America/Inuvik',\n 'America/Iqaluit',\n 'America/Jamaica',\n 'America/Juneau',\n 'America/Kentucky/Louisville',\n 'America/Kentucky/Monticello',\n 'America/Kralendijk',\n 'America/La_Paz',\n 'America/Lima',\n 'America/Los_Angeles',\n 'America/Lower_Princes',\n 'America/Maceio',\n 'America/Managua',\n 'America/Manaus',\n 'America/Marigot',\n 'America/Martinique',\n 'America/Matamoros',\n 'America/Mazatlan',\n 'America/Menominee',\n 'America/Merida',\n 'America/Metlakatla',\n 'America/Mexico_City',\n 'America/Miquelon',\n 'America/Moncton',\n 'America/Monterrey',\n 'America/Montevideo',\n 'America/Montserrat',\n 'America/Nassau',\n 'America/New_York',\n 'America/Nipigon',\n 'America/Nome',\n 'America/Noronha',\n 'America/North_Dakota/Beulah',\n 'America/North_Dakota/Center',\n 'America/North_Dakota/New_Salem',\n 'America/Ojinaga',\n 'America/Panama',\n 'America/Pangnirtung',\n 'America/Paramaribo',\n 'America/Phoenix',\n 'America/Port-au-Prince',\n 'America/Port_of_Spain',\n 'America/Porto_Velho',\n 'America/Puerto_Rico',\n 'America/Rainy_River',\n 'America/Rankin_Inlet',\n 'America/Recife',\n 'America/Regina',\n 'America/Resolute',\n 'America/Rio_Branco',\n 'America/Santa_Isabel',\n 'America/Santarem',\n 'America/Santiago',\n 'America/Santo_Domingo',\n 'America/Sao_Paulo',\n 'America/Scoresbysund',\n 'America/Sitka',\n 'America/St_Barthelemy',\n 'America/St_Johns',\n 'America/St_Kitts',\n 'America/St_Lucia',\n 'America/St_Thomas',\n 'America/St_Vincent',\n 'America/Swift_Current',\n 'America/Tegucigalpa',\n 'America/Thule',\n 'America/Thunder_Bay',\n 'America/Tijuana',\n 'America/Toronto',\n 'America/Tortola',\n 'America/Vancouver',\n 'America/Whitehorse',\n 'America/Winnipeg',\n 'America/Yakutat',\n 'America/Yellowknife',\n 'Antarctica/Casey',\n 'Antarctica/Davis',\n 'Antarctica/DumontDUrville',\n 'Antarctica/Macquarie',\n 'Antarctica/Mawson',\n 'Antarctica/McMurdo',\n 'Antarctica/Palmer',\n 'Antarctica/Rothera',\n 'Antarctica/Syowa',\n 'Antarctica/Troll',\n 'Antarctica/Vostok',\n 'Arctic/Longyearbyen',\n 'Asia/Aden',\n 'Asia/Almaty',\n 'Asia/Amman',\n 'Asia/Anadyr',\n 'Asia/Aqtau',\n 'Asia/Aqtobe',\n 'Asia/Ashgabat',\n 'Asia/Baghdad',\n 'Asia/Bahrain',\n 'Asia/Baku',\n 'Asia/Bangkok',\n 'Asia/Beirut',\n 'Asia/Bishkek',\n 'Asia/Brunei',\n 'Asia/Chita',\n 'Asia/Choibalsan',\n 'Asia/Colombo',\n 'Asia/Damascus',\n 'Asia/Dhaka',\n 'Asia/Dili',\n 'Asia/Dubai',\n 'Asia/Dushanbe',\n 'Asia/Gaza',\n 'Asia/Hebron',\n 'Asia/Ho_Chi_Minh',\n 'Asia/Hong_Kong',\n 'Asia/Hovd',\n 'Asia/Irkutsk',\n 'Asia/Jakarta',\n 'Asia/Jayapura',\n 'Asia/Jerusalem',\n 'Asia/Kabul',\n 'Asia/Kamchatka',\n 'Asia/Karachi',\n 'Asia/Kathmandu',\n 'Asia/Khandyga',\n 'Asia/Kolkata',\n 'Asia/Krasnoyarsk',\n 'Asia/Kuala_Lumpur',\n 'Asia/Kuching',\n 'Asia/Kuwait',\n 'Asia/Macau',\n 'Asia/Magadan',\n 'Asia/Makassar',\n 'Asia/Manila',\n 'Asia/Muscat',\n 'Asia/Nicosia',\n 'Asia/Novokuznetsk',\n 'Asia/Novosibirsk',\n 'Asia/Omsk',\n 'Asia/Oral',\n 'Asia/Phnom_Penh',\n 'Asia/Pontianak',\n 'Asia/Pyongyang',\n 'Asia/Qatar',\n 'Asia/Qyzylorda',\n 'Asia/Rangoon',\n 'Asia/Riyadh',\n 'Asia/Sakhalin',\n 'Asia/Samarkand',\n 'Asia/Seoul',\n 'Asia/Shanghai',\n 'Asia/Singapore',\n 'Asia/Srednekolymsk',\n 'Asia/Taipei',\n 'Asia/Tashkent',\n 'Asia/Tbilisi',\n 'Asia/Tehran',\n 'Asia/Thimphu',\n 'Asia/Tokyo',\n 'Asia/Ulaanbaatar',\n 'Asia/Urumqi',\n 'Asia/Ust-Nera',\n 'Asia/Vientiane',\n 'Asia/Vladivostok',\n 'Asia/Yakutsk',\n 'Asia/Yekaterinburg',\n 'Asia/Yerevan',\n 'Atlantic/Azores',\n 'Atlantic/Bermuda',\n 'Atlantic/Canary',\n 'Atlantic/Cape_Verde',\n 'Atlantic/Faroe',\n 'Atlantic/Madeira',\n 'Atlantic/Reykjavik',\n 'Atlantic/South_Georgia',\n 'Atlantic/St_Helena',\n 'Atlantic/Stanley',\n 'Australia/Adelaide',\n 'Australia/Brisbane',\n 'Australia/Broken_Hill',\n 'Australia/Currie',\n 'Australia/Darwin',\n 'Australia/Eucla',\n 'Australia/Hobart',\n 'Australia/Lindeman',\n 'Australia/Lord_Howe',\n 'Australia/Melbourne',\n 'Australia/Perth',\n 'Australia/Sydney',\n 'Europe/Amsterdam',\n 'Europe/Andorra',\n 'Europe/Athens',\n 'Europe/Belgrade',\n 'Europe/Berlin',\n 'Europe/Bratislava',\n 'Europe/Brussels',\n 'Europe/Bucharest',\n 'Europe/Budapest',\n 'Europe/Busingen',\n 'Europe/Chisinau',\n 'Europe/Copenhagen',\n 'Europe/Dublin',\n 'Europe/Gibraltar',\n 'Europe/Guernsey',\n 'Europe/Helsinki',\n 'Europe/Isle_of_Man',\n 'Europe/Istanbul',\n 'Europe/Jersey',\n 'Europe/Kaliningrad',\n 'Europe/Kiev',\n 'Europe/Lisbon',\n 'Europe/Ljubljana',\n 'Europe/London',\n 'Europe/Luxembourg',\n 'Europe/Madrid',\n 'Europe/Malta',\n 'Europe/Mariehamn',\n 'Europe/Minsk',\n 'Europe/Monaco',\n 'Europe/Moscow',\n 'Europe/Oslo',\n 'Europe/Paris',\n 'Europe/Podgorica',\n 'Europe/Prague',\n 'Europe/Riga',\n 'Europe/Rome',\n 'Europe/Samara',\n 'Europe/San_Marino',\n 'Europe/Sarajevo',\n 'Europe/Simferopol',\n 'Europe/Skopje',\n 'Europe/Sofia',\n 'Europe/Stockholm',\n 'Europe/Tallinn',\n 'Europe/Tirane',\n 'Europe/Uzhgorod',\n 'Europe/Vaduz',\n 'Europe/Vatican',\n 'Europe/Vienna',\n 'Europe/Vilnius',\n 'Europe/Volgograd',\n 'Europe/Warsaw',\n 'Europe/Zagreb',\n 'Europe/Zaporozhye',\n 'Europe/Zurich',\n 'Indian/Antananarivo',\n 'Indian/Chagos',\n 'Indian/Christmas',\n 'Indian/Cocos',\n 'Indian/Comoro',\n 'Indian/Kerguelen',\n 'Indian/Mahe',\n 'Indian/Maldives',\n 'Indian/Mauritius',\n 'Indian/Mayotte',\n 'Indian/Reunion',\n 'Pacific/Apia',\n 'Pacific/Auckland',\n 'Pacific/Bougainville',\n 'Pacific/Chatham',\n 'Pacific/Chuuk',\n 'Pacific/Easter',\n 'Pacific/Efate',\n 'Pacific/Enderbury',\n 'Pacific/Fakaofo',\n 'Pacific/Fiji',\n 'Pacific/Funafuti',\n 'Pacific/Galapagos',\n 'Pacific/Gambier',\n 'Pacific/Guadalcanal',\n 'Pacific/Guam',\n 'Pacific/Honolulu',\n 'Pacific/Johnston',\n 'Pacific/Kiritimati',\n 'Pacific/Kosrae',\n 'Pacific/Kwajalein',\n 'Pacific/Majuro',\n 'Pacific/Marquesas',\n 'Pacific/Midway',\n 'Pacific/Nauru',\n 'Pacific/Niue',\n 'Pacific/Norfolk',\n 'Pacific/Noumea',\n 'Pacific/Pago_Pago',\n 'Pacific/Palau',\n 'Pacific/Pitcairn',\n 'Pacific/Pohnpei',\n 'Pacific/Port_Moresby',\n 'Pacific/Rarotonga',\n 'Pacific/Saipan',\n 'Pacific/Tahiti',\n 'Pacific/Tarawa',\n 'Pacific/Tongatapu',\n 'Pacific/Wake',\n 'Pacific/Wallis',\n] as const;\n"],"names":["NonEmumeralProperties","TransformConfigHandlerAction","NON_ENUMERABLE_KEYS","Set","Object","values","cloneNonEnumerableValues","clone","config","nonEnumerableKey","defineProperty","configurable","enumerable","value","arrayHasInvalidDefaults","propertyDefinition","items","objectPropertyHasDefaults","properties","some","collateObjectPropertyDefaults","keys","reduce","acc","key","propertyDef","isBoolean","isUndefined","default","RESERVED_KEYWORDS","isPropertyReservedWord","propertyName","has","isValidPropertyDefinition","recordHasInvalidDefaults","additionalProperties","collateDefaultValues","jsonSchema","defaultValues","Error","join","castPropertyName","type","String","propertyDefaults","isDerivedValueCallback","isInvalidPropertyOverride","propertyValue","override","undefined","isSchemaValid","schema","isValidValue","depth","isPlainObject","object","__zcb","every","v","Array","isArray","jsonStringifyReplacer","_key","ZodType","zodToJsonSchema","errorMessages","transformArray","list","handler","Promise","all","map","entry","transformConfig","transform","handlers","castArray","callback","result","resolve","action","DELETE_NODE","SKIP_NODE","transformArraySync","transformConfigSync","createConfigBuilder","zodSchema","options","derivedValueCallbacks","initialValues","uuid","overrides","uuidV4","addNonEnumeralBaseProperties","conf","ZCB","ID","TYPE","createInitialConfig","merge","cloneDeep","callbacks","configBuilder","$disable","DISABLED","$errors","parse","$values","error","errors","$experiment","EXPERIMENT","$extend","builder","__callbacks","$flush","$fork","$toJson","JSON","stringify","$validate","console","property","CALLBACKS","MAX_DEPTH","runExperiments","__experiment","buckets","id","bucket","createConfigParser","experimentsCallback","push","length","createConfigReader","configReader","read","path","get","scope","countryCodes","countryNames","distanceUnits","languageCodes","timezones"],"mappings":"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CJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EA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ACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,E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"}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -207,6 +207,7 @@ const createConfigBuilder = (zodSchema, options = {}, derivedValueCallbacks = {}
|
|
|
207
207
|
if (isSchemaValid(jsonSchema)) {
|
|
208
208
|
throw new Error(`The root type of a config schema must be "object", but received "${String(jsonSchema.type)}"`);
|
|
209
209
|
}
|
|
210
|
+
const uuid = options.overrides?.uuid ?? v4;
|
|
210
211
|
const addNonEnumeralBaseProperties = conf => {
|
|
211
212
|
Object.defineProperty(conf, NonEmumeralProperties.ZCB, {
|
|
212
213
|
configurable: false,
|
|
@@ -216,7 +217,7 @@ const createConfigBuilder = (zodSchema, options = {}, derivedValueCallbacks = {}
|
|
|
216
217
|
Object.defineProperty(conf, NonEmumeralProperties.ID, {
|
|
217
218
|
configurable: false,
|
|
218
219
|
enumerable: false,
|
|
219
|
-
value:
|
|
220
|
+
value: uuid()
|
|
220
221
|
});
|
|
221
222
|
if (options.type) {
|
|
222
223
|
Object.defineProperty(conf, NonEmumeralProperties.TYPE, {
|