zcb 0.2.4 → 0.2.6

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.
Files changed (74) hide show
  1. package/README.md +15 -3
  2. package/dist/cjs/cli.cjs +1 -185
  3. package/dist/cjs/cli.cjs.map +1 -1
  4. package/dist/cjs/index.cjs +1 -384
  5. package/dist/cjs/index.cjs.map +1 -1
  6. package/dist/esm/cli.mjs +1 -182
  7. package/dist/esm/cli.mjs.map +1 -1
  8. package/dist/esm/index.mjs +1 -372
  9. package/dist/esm/index.mjs.map +1 -1
  10. package/dist/production.analysis.txt +72 -0
  11. package/dist/types/cjs/createConfigParser.d.cts +1 -1
  12. package/dist/types/cjs/createConfigParser.d.cts.map +1 -1
  13. package/dist/types/cjs/createConfigReader.d.cts +6 -3
  14. package/dist/types/cjs/createConfigReader.d.cts.map +1 -1
  15. package/dist/types/cjs/types.d.cts +2 -2
  16. package/dist/types/cjs/types.d.cts.map +1 -1
  17. package/dist/types/cjs/utils/arrayHasInvalidDefaults.d.cts +1 -1
  18. package/dist/types/cjs/utils/arrayHasInvalidDefaults.d.cts.map +1 -1
  19. package/dist/types/cjs/utils/collateObjectPropertyDefaults.d.cts +2 -2
  20. package/dist/types/cjs/utils/collateObjectPropertyDefaults.d.cts.map +1 -1
  21. package/dist/types/cjs/utils/importValidateTransformWriteConfig.d.cts +1 -1
  22. package/dist/types/cjs/utils/importValidateTransformWriteConfig.d.cts.map +1 -1
  23. package/dist/types/cjs/utils/isSchemaValid.d.cts +1 -1
  24. package/dist/types/cjs/utils/isSchemaValid.d.cts.map +1 -1
  25. package/dist/types/cjs/utils/isValidPropertyDefinition.d.cts +1 -1
  26. package/dist/types/cjs/utils/isValidPropertyDefinition.d.cts.map +1 -1
  27. package/dist/types/cjs/utils/jsonStringifyReplacer.d.cts +1 -1
  28. package/dist/types/cjs/utils/jsonStringifyReplacer.d.cts.map +1 -1
  29. package/dist/types/cjs/utils/objectPropertyHasDefaults.d.cts +1 -1
  30. package/dist/types/cjs/utils/objectPropertyHasDefaults.d.cts.map +1 -1
  31. package/dist/types/cjs/utils/recordHasInvalidDefaults.d.cts +1 -1
  32. package/dist/types/cjs/utils/recordHasInvalidDefaults.d.cts.map +1 -1
  33. package/dist/types/cjs/utils/transformWriteConfig.d.cts +1 -1
  34. package/dist/types/cjs/utils/transformWriteConfig.d.cts.map +1 -1
  35. package/dist/types/esm/createConfigParser.d.ts +1 -1
  36. package/dist/types/esm/createConfigParser.d.ts.map +1 -1
  37. package/dist/types/esm/createConfigReader.d.ts +6 -3
  38. package/dist/types/esm/createConfigReader.d.ts.map +1 -1
  39. package/dist/types/esm/types.d.ts +2 -2
  40. package/dist/types/esm/types.d.ts.map +1 -1
  41. package/dist/types/esm/utils/arrayHasInvalidDefaults.d.ts +1 -1
  42. package/dist/types/esm/utils/arrayHasInvalidDefaults.d.ts.map +1 -1
  43. package/dist/types/esm/utils/collateObjectPropertyDefaults.d.ts +2 -2
  44. package/dist/types/esm/utils/collateObjectPropertyDefaults.d.ts.map +1 -1
  45. package/dist/types/esm/utils/importValidateTransformWriteConfig.d.ts +1 -1
  46. package/dist/types/esm/utils/importValidateTransformWriteConfig.d.ts.map +1 -1
  47. package/dist/types/esm/utils/isSchemaValid.d.ts +1 -1
  48. package/dist/types/esm/utils/isSchemaValid.d.ts.map +1 -1
  49. package/dist/types/esm/utils/isValidPropertyDefinition.d.ts +1 -1
  50. package/dist/types/esm/utils/isValidPropertyDefinition.d.ts.map +1 -1
  51. package/dist/types/esm/utils/jsonStringifyReplacer.d.ts +1 -1
  52. package/dist/types/esm/utils/jsonStringifyReplacer.d.ts.map +1 -1
  53. package/dist/types/esm/utils/objectPropertyHasDefaults.d.ts +1 -1
  54. package/dist/types/esm/utils/objectPropertyHasDefaults.d.ts.map +1 -1
  55. package/dist/types/esm/utils/recordHasInvalidDefaults.d.ts +1 -1
  56. package/dist/types/esm/utils/recordHasInvalidDefaults.d.ts.map +1 -1
  57. package/dist/types/esm/utils/transformWriteConfig.d.ts +1 -1
  58. package/dist/types/esm/utils/transformWriteConfig.d.ts.map +1 -1
  59. package/dist/types/tsconfig.build.tsbuildinfo +1 -1
  60. package/package.json +22 -32
  61. package/src/__testUtils__/builtConfig.ts +1 -0
  62. package/src/createConfigParser.ts +1 -1
  63. package/src/createConfigReader.test.ts +28 -0
  64. package/src/createConfigReader.ts +25 -5
  65. package/src/types.ts +2 -2
  66. package/src/utils/arrayHasInvalidDefaults.ts +1 -1
  67. package/src/utils/collateObjectPropertyDefaults.ts +2 -2
  68. package/src/utils/importValidateTransformWriteConfig.ts +3 -3
  69. package/src/utils/isSchemaValid.ts +1 -1
  70. package/src/utils/isValidPropertyDefinition.ts +1 -1
  71. package/src/utils/jsonStringifyReplacer.ts +1 -1
  72. package/src/utils/objectPropertyHasDefaults.ts +1 -1
  73. package/src/utils/recordHasInvalidDefaults.ts +1 -1
  74. package/src/utils/transformWriteConfig.ts +1 -1
@@ -1,385 +1,2 @@
1
- 'use strict';
2
-
3
- var lodashEs = require('lodash-es');
4
- var uuid = require('uuid');
5
- var zodToJsonSchema = require('zod-to-json-schema');
6
- var zod = require('zod');
7
- require('core-js/modules/es.array.push.js');
8
-
9
- let NonEmumeralProperties = function (NonEmumeralProperties) {
10
- NonEmumeralProperties["CALLBACKS"] = "__callbacks";
11
- NonEmumeralProperties["DISABLED"] = "__disabled";
12
- NonEmumeralProperties["EXPERIMENT"] = "__experiment";
13
- NonEmumeralProperties["ID"] = "__id";
14
- NonEmumeralProperties["TYPE"] = "__type";
15
- NonEmumeralProperties["ZCB"] = "__zcb";
16
- return NonEmumeralProperties;
17
- }({});
18
- let TransformConfigHandlerAction = function (TransformConfigHandlerAction) {
19
- TransformConfigHandlerAction["DELETE_NODE"] = "deleteNode";
20
- TransformConfigHandlerAction["SKIP_NODE"] = "skipNode";
21
- return TransformConfigHandlerAction;
22
- }({});
23
-
24
- const NON_ENUMERABLE_KEYS = new Set(Object.values(NonEmumeralProperties));
25
- const cloneNonEnumerableValues = (clone, config) => {
26
- for (const nonEnumerableKey of NON_ENUMERABLE_KEYS) {
27
- if (nonEnumerableKey in config) {
28
- Object.defineProperty(clone, nonEnumerableKey, {
29
- configurable: false,
30
- enumerable: false,
31
- value: config[nonEnumerableKey]
32
- });
33
- }
34
- }
35
- return {
36
- value: clone
37
- };
38
- };
39
-
40
- const arrayHasInvalidDefaults = propertyDefinition => {
41
- const {
42
- items
43
- } = propertyDefinition;
44
- return items && typeof items === 'object' && 'default' in items;
45
- };
46
-
47
- const objectPropertyHasDefaults = propertyDefinition => propertyDefinition.properties && Object.values(propertyDefinition.properties).some(value => typeof value === 'object' && 'default' in value);
48
-
49
- const collateObjectPropertyDefaults = propertyDefinition => {
50
- const {
51
- properties
52
- } = propertyDefinition;
53
- if (!properties || !objectPropertyHasDefaults(propertyDefinition)) {
54
- return;
55
- }
56
- return Object.keys(properties).reduce((acc, key) => {
57
- const propertyDef = properties[key];
58
- if (!propertyDef || lodashEs.isBoolean(propertyDef)) {
59
- return acc;
60
- }
61
- if ('default' in propertyDef && !lodashEs.isUndefined(propertyDef.default)) {
62
- acc[key] = propertyDef.default;
63
- }
64
- return acc;
65
- }, {});
66
- };
67
-
68
- const RESERVED_KEYWORDS = new Set(['$disable', '$errors', '$experiment', '$extend', '$flush', '$fork', '$toJson', '$validate', '$values']);
69
- const isPropertyReservedWord = propertyName => RESERVED_KEYWORDS.has(propertyName);
70
-
71
- const isValidPropertyDefinition = propertyDefinition => typeof propertyDefinition === 'object';
72
-
73
- const recordHasInvalidDefaults = propertyDefinition => propertyDefinition.additionalProperties && typeof propertyDefinition.additionalProperties === 'object' && 'default' in propertyDefinition.additionalProperties;
74
-
75
- const collateDefaultValues = jsonSchema => {
76
- const defaultValues = {};
77
- for (const propertyName in jsonSchema.properties) {
78
- if (isPropertyReservedWord(propertyName)) {
79
- throw new Error(`"${propertyName}" is a reserved keyword within the config builder. Please use a different property name. The full list of reserved keywords is: ${[...RESERVED_KEYWORDS].join(', ')}`);
80
- }
81
- const castPropertyName = propertyName;
82
- const propertyDefinition = jsonSchema.properties[propertyName];
83
- if (isValidPropertyDefinition(propertyDefinition)) {
84
- if (propertyDefinition.default) {
85
- defaultValues[castPropertyName] = propertyDefinition.default;
86
- }
87
- if (propertyDefinition.type === 'array' && arrayHasInvalidDefaults(propertyDefinition)) {
88
- throw new Error(`When setting schema array defaults for the array assigned to "${String(castPropertyName)}", set them on the array and not the item.`);
89
- }
90
- if (propertyDefinition.type === 'object') {
91
- if (recordHasInvalidDefaults(propertyDefinition)) {
92
- throw new Error(`When setting schema property defaults for the value of the record assigned to "${String(castPropertyName)}", set them on the record and not the value.`);
93
- }
94
- const propertyDefaults = collateObjectPropertyDefaults(propertyDefinition);
95
- if (propertyDefaults) {
96
- defaultValues[castPropertyName] = propertyDefaults;
97
- }
98
- }
99
- }
100
- }
101
- return defaultValues;
102
- };
103
-
104
- const isDerivedValueCallback = value => typeof value === 'function';
105
-
106
- const isInvalidPropertyOverride = (propertyValue, override = false) => !override && propertyValue !== undefined;
107
-
108
- const isSchemaValid = schema => schema.type !== 'object';
109
-
110
- const isValidValue = (value, depth = 0) => {
111
- if (lodashEs.isPlainObject(value)) {
112
- const object = value;
113
- if (object.__zcb === true) {
114
- return true;
115
- }
116
- if (depth < 1 && Object.values(object).every(v => isValidValue(v, depth + 1))) {
117
- return true;
118
- }
119
- return false;
120
- }
121
- if (Array.isArray(value)) {
122
- if (value.every(v => isValidValue(v, depth + 1))) {
123
- return true;
124
- }
125
- return false;
126
- }
127
- return true;
128
- };
129
-
130
- const jsonStringifyReplacer = (_key, value) => value instanceof zod.ZodType ? zodToJsonSchema.zodToJsonSchema(value, {
131
- errorMessages: true
132
- }) : value;
133
-
134
- const transformArray = (list, handler) => Promise.all(list.map(entry => {
135
- if (lodashEs.isPlainObject(entry)) {
136
- return transformConfig(entry, handler);
137
- }
138
- if (Array.isArray(entry)) {
139
- return transformArray(entry, handler);
140
- }
141
- return entry;
142
- }));
143
- const transformConfig = async (config, handler = []) => {
144
- let transform = {};
145
- const handlers = lodashEs.castArray(handler);
146
- for (const callback of handlers) {
147
- const result = await Promise.resolve(callback(transform, config));
148
- if (result.action === TransformConfigHandlerAction.DELETE_NODE) {
149
- return {};
150
- }
151
- if (result.value) {
152
- transform = result.value;
153
- }
154
- if (result.action === TransformConfigHandlerAction.SKIP_NODE) {
155
- return transform;
156
- }
157
- }
158
- for (const key in config) {
159
- const value = config[key];
160
- if (lodashEs.isPlainObject(value)) {
161
- transform[key] = await transformConfig(value, handler);
162
- } else if (Array.isArray(value)) {
163
- transform[key] = await transformArray(value, handler);
164
- } else {
165
- transform[key] = value;
166
- }
167
- }
168
- return transform;
169
- };
170
- const transformArraySync = (list, handler) => list.map(entry => {
171
- if (lodashEs.isPlainObject(entry)) {
172
- return transformConfigSync(entry, handler);
173
- }
174
- if (Array.isArray(entry)) {
175
- return transformArraySync(entry, handler);
176
- }
177
- return entry;
178
- });
179
- const transformConfigSync = (config, handler = []) => {
180
- let transform = {};
181
- const handlers = lodashEs.castArray(handler);
182
- for (const callback of handlers) {
183
- const result = callback(transform, config);
184
- if (result.action === TransformConfigHandlerAction.DELETE_NODE) {
185
- return {};
186
- }
187
- if (result.value) {
188
- transform = result.value;
189
- }
190
- if (result.action === TransformConfigHandlerAction.SKIP_NODE) {
191
- return transform;
192
- }
193
- }
194
- for (const key in config) {
195
- const value = config[key];
196
- if (lodashEs.isPlainObject(value)) {
197
- transform[key] = transformConfigSync(value, handler);
198
- } else if (Array.isArray(value)) {
199
- transform[key] = transformArraySync(value, handler);
200
- } else {
201
- transform[key] = value;
202
- }
203
- }
204
- return transform;
205
- };
206
-
207
- const createConfigBuilder = (zodSchema, options = {}, derivedValueCallbacks = {}, initialValues = {}) => {
208
- const jsonSchema = zodToJsonSchema.zodToJsonSchema(zodSchema);
209
- if (isSchemaValid(jsonSchema)) {
210
- throw new Error(`The root type of a config schema must be "object", but received "${String(jsonSchema.type)}"`);
211
- }
212
- const uuid$1 = options.overrides?.uuid ?? uuid.v4;
213
- const addNonEnumeralBaseProperties = conf => {
214
- Object.defineProperty(conf, NonEmumeralProperties.ZCB, {
215
- configurable: false,
216
- enumerable: false,
217
- value: true
218
- });
219
- Object.defineProperty(conf, NonEmumeralProperties.ID, {
220
- configurable: false,
221
- enumerable: false,
222
- value: uuid$1()
223
- });
224
- if (options.type) {
225
- Object.defineProperty(conf, NonEmumeralProperties.TYPE, {
226
- configurable: false,
227
- enumerable: false,
228
- value: options.type
229
- });
230
- }
231
- };
232
- const createInitialConfig = () => {
233
- const config = lodashEs.merge(lodashEs.cloneDeep(initialValues), collateDefaultValues(jsonSchema));
234
- addNonEnumeralBaseProperties(config);
235
- return config;
236
- };
237
- let config = createInitialConfig();
238
- let callbacks = {
239
- ...derivedValueCallbacks
240
- };
241
- const configBuilder = {
242
- $disable: () => {
243
- Object.defineProperty(config, NonEmumeralProperties.DISABLED, {
244
- configurable: false,
245
- enumerable: false,
246
- value: true
247
- });
248
- return configBuilder;
249
- },
250
- $errors: () => {
251
- try {
252
- zodSchema.parse(configBuilder.$values());
253
- return [];
254
- } catch (error) {
255
- return error.errors;
256
- }
257
- },
258
- $experiment: key => {
259
- Object.defineProperty(config, NonEmumeralProperties.EXPERIMENT, {
260
- configurable: false,
261
- enumerable: false,
262
- value: key
263
- });
264
- return configBuilder;
265
- },
266
- $extend: builder => {
267
- config = transformConfigSync(builder.$values(), [cloneNonEnumerableValues]);
268
- callbacks = {
269
- ...builder.__callbacks
270
- };
271
- },
272
- $flush: () => {
273
- const values = configBuilder.$values();
274
- config = createInitialConfig();
275
- return values;
276
- },
277
- $fork: () => createConfigBuilder(zodSchema, options, derivedValueCallbacks, initialValues),
278
- $toJson: () => JSON.stringify(configBuilder.$values(), jsonStringifyReplacer, 2),
279
- $validate: () => {
280
- try {
281
- zodSchema.parse(configBuilder.$values());
282
- return true;
283
- } catch (error) {
284
- console.error(error);
285
- return false;
286
- }
287
- },
288
- $values: () => {
289
- for (const property in callbacks) {
290
- const callback = callbacks[property];
291
- if (callback) {
292
- config[property] = callback(config);
293
- }
294
- }
295
- return config;
296
- }
297
- };
298
- Object.defineProperty(configBuilder, NonEmumeralProperties.CALLBACKS, {
299
- configurable: false,
300
- enumerable: false,
301
- value: callbacks
302
- });
303
- for (const propertyName in jsonSchema.properties) {
304
- if (isPropertyReservedWord(propertyName)) {
305
- throw new Error(`"${propertyName}" is a reserved keyword within the config builder. Please use a different property name. The full list of reserved keywords is: ${[...RESERVED_KEYWORDS].join(', ')}`);
306
- }
307
- const castPropertyName = propertyName;
308
- configBuilder[castPropertyName] = (value, override) => {
309
- if (isInvalidPropertyOverride(config[castPropertyName], override)) {
310
- throw new Error(`A value already exists for "${String(castPropertyName)}". 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.`);
311
- }
312
- let propertyValue;
313
- const MAX_DEPTH = 1;
314
- if (!isValidValue(value)) {
315
- throw new Error(`"${String(castPropertyName)}" 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.`);
316
- }
317
- if (isDerivedValueCallback(value)) {
318
- callbacks[castPropertyName] = value;
319
- propertyValue = value(config);
320
- } else {
321
- propertyValue = value;
322
- }
323
- config[castPropertyName] = propertyValue;
324
- return configBuilder;
325
- };
326
- }
327
- return configBuilder;
328
- };
329
-
330
- const runExperiments = callback => async (clone, config) => {
331
- if (NonEmumeralProperties.EXPERIMENT in config && typeof config.__experiment === 'object') {
332
- const {
333
- buckets,
334
- id
335
- } = config.__experiment;
336
- const bucket = await callback(id);
337
- if (bucket && bucket in buckets && buckets[bucket]) {
338
- return buckets[bucket];
339
- }
340
- }
341
- return {
342
- value: clone
343
- };
344
- };
345
-
346
- const createConfigParser = async (config, {
347
- experimentsCallback
348
- } = {}) => {
349
- const handlers = [];
350
- if (experimentsCallback) {
351
- handlers.push(runExperiments(experimentsCallback));
352
- }
353
- return handlers.length > 0 ? await transformConfig(config, handlers) : config;
354
- };
355
-
356
- const createConfigReader = config => {
357
- const configReader = {
358
- read: path => lodashEs.get(config, path),
359
- scope: scope => createConfigReader(lodashEs.get(config, scope))
360
- };
361
- return configReader;
362
- };
363
-
364
- const countryCodes = ['AF', 'AX', 'AL', 'DZ', 'AS', 'AD', 'AO', 'AI', 'AQ', 'AG', 'AR', 'AM', 'AW', 'AU', 'AT', 'AZ', 'BS', 'BH', 'BD', 'BB', 'BY', 'BE', 'BZ', 'BJ', 'BM', 'BT', 'BO', 'BA', 'BW', 'BV', 'BR', 'IO', 'BN', 'BG', 'BF', 'BI', 'KH', 'CM', 'CA', 'CV', 'KY', 'CF', 'TD', 'CL', 'CN', 'CX', 'CC', 'CO', 'KM', 'CG', 'CD', 'CK', 'CR', 'CI', 'HR', 'CU', 'CY', 'CZ', 'DK', 'DJ', 'DM', 'DO', 'EC', 'EG', 'SV', 'GQ', 'ER', 'EE', 'ET', 'FK', 'FO', 'FJ', 'FI', 'FR', 'GF', 'PF', 'TF', 'GA', 'GM', 'GE', 'DE', 'GH', 'GI', 'GR', 'GL', 'GD', 'GP', 'GU', 'GT', 'GG', 'GN', 'GW', 'GY', 'HT', 'HM', 'VA', 'HN', 'HK', 'HU', 'IS', 'IN', 'ID', 'IR', 'IQ', 'IE', 'IM', 'IL', 'IT', 'JM', 'JP', 'JE', 'JO', 'KZ', 'KE', 'KI', 'KR', 'KW', 'KG', 'LA', 'LV', 'LB', 'LS', 'LR', 'LY', 'LI', 'LT', 'LU', 'MO', 'MK', 'MG', 'MW', 'MY', 'MV', 'ML', 'MT', 'MH', 'MQ', 'MR', 'MU', 'YT', 'MX', 'FM', 'MD', 'MC', 'MN', 'ME', 'MS', 'MA', 'MZ', 'MM', 'NA', 'NR', 'NP', 'NL', 'AN', 'NC', 'NZ', 'NI', 'NE', 'NG', 'NU', 'NF', 'MP', 'NO', 'OM', 'PK', 'PW', 'PS', 'PA', 'PG', 'PY', 'PE', 'PH', 'PN', 'PL', 'PT', 'PR', 'QA', 'RE', 'RO', 'RU', 'RW', 'BL', 'SH', 'KN', 'LC', 'MF', 'PM', 'VC', 'WS', 'SM', 'ST', 'SA', 'SN', 'RS', 'SC', 'SL', 'SG', 'SK', 'SI', 'SB', 'SO', 'ZA', 'GS', 'ES', 'LK', 'SD', 'SR', 'SJ', 'SZ', 'SE', 'CH', 'SY', 'TW', 'TJ', 'TZ', 'TH', 'TL', 'TG', 'TK', 'TO', 'TT', 'TN', 'TR', 'TM', 'TC', 'TV', 'UG', 'UA', 'AE', 'GB', 'US', 'UM', 'UY', 'UZ', 'VU', 'VE', 'VN', 'VG', 'VI', 'WF', 'EH', 'YE', 'ZM', 'ZW'];
365
-
366
- const countryNames = ['Afghanistan', 'Albania', 'Algeria', 'Andorra', 'Angola', 'Anguilla', 'Antigua and Barbuda', 'Argentina', 'Armenia', 'Aruba', 'Australia', 'Austria', 'Azerbaijan', 'Bahamas', 'Bahrain', 'Bangladesh', 'Barbados', 'Belarus', 'Belgium', 'Belize', 'Benin', 'Bermuda', 'Bhutan', 'Bolivia', 'Bosnia and Herzegovina', 'Botswana', 'Brazil', 'British Virgin Islands', 'Brunei', 'Bulgaria', 'Burkina Faso', 'Burundi', 'Cambodia', 'Cameroon', 'Cape Verde', 'Cayman Islands', 'Chad', 'Chile', 'China', 'Colombia', 'Congo', 'Cook Islands', 'Costa Rica', 'Cote D Ivoire', 'Croatia', 'Cruise Ship', 'Cuba', 'Cyprus', 'Czech Republic', 'Denmark', 'Djibouti', 'Dominica', 'Dominican Republic', 'Ecuador', 'Egypt', 'El Salvador', 'Equatorial Guinea', 'Estonia', 'Ethiopia', 'Falkland Islands', 'Faroe Islands', 'Fiji', 'Finland', 'France', 'French Polynesia', 'French West Indies', 'Gabon', 'Gambia', 'Georgia', 'Germany', 'Ghana', 'Gibraltar', 'Greece', 'Greenland', 'Grenada', 'Guam', 'Guatemala', 'Guernsey', 'Guinea', 'Guinea Bissau', 'Guyana', 'Haiti', 'Honduras', 'Hong Kong', 'Hungary', 'Iceland', 'India', 'Indonesia', 'Iran', 'Iraq', 'Ireland', 'Isle of Man', 'Israel', 'Italy', 'Jamaica', 'Japan', 'Jersey', 'Jordan', 'Kazakhstan', 'Kenya', 'Kuwait', 'Kyrgyz Republic', 'Laos', 'Latvia', 'Lebanon', 'Lesotho', 'Liberia', 'Libya', 'Liechtenstein', 'Lithuania', 'Luxembourg', 'Macau', 'Macedonia', 'Madagascar', 'Malawi', 'Malaysia', 'Maldives', 'Mali', 'Malta', 'Mauritania', 'Mauritius', 'Mexico', 'Moldova', 'Monaco', 'Mongolia', 'Montenegro', 'Montserrat', 'Morocco', 'Mozambique', 'Namibia', 'Nepal', 'Netherlands', 'Netherlands Antilles', 'New Caledonia', 'New Zealand', 'Nicaragua', 'Niger', 'Nigeria', 'Norway', 'Oman', 'Pakistan', 'Palestine', 'Panama', 'Papua New Guinea', 'Paraguay', 'Peru', 'Philippines', 'Poland', 'Portugal', 'Puerto Rico', 'Qatar', 'Reunion', 'Romania', 'Russia', 'Rwanda', 'Saint Pierre and Miquelon', 'Samoa', 'San Marino', 'Satellite', 'Saudi Arabia', 'Senegal', 'Serbia', 'Seychelles', 'Sierra Leone', 'Singapore', 'Slovakia', 'Slovenia', 'South Africa', 'South Korea', 'Spain', 'Sri Lanka', 'St Kitts and Nevis', 'St Lucia', 'St Vincent', 'St. Lucia', 'Sudan', 'Suriname', 'Swaziland', 'Sweden', 'Switzerland', 'Syria', 'Taiwan', 'Tajikistan', 'Tanzania', 'Thailand', "Timor L'Este", 'Togo', 'Tonga', 'Trinidad and Tobago', 'Tunisia', 'Turkey', 'Turkmenistan', 'Turks and Caicos', 'Uganda', 'Ukraine', 'United Arab Emirates', 'United Kingdom', 'Uruguay', 'Uzbekistan', 'Venezuela', 'Vietnam', 'Virgin Islands (US)', 'Yemen', 'Zambia', 'Zimbabwe'];
367
-
368
- const distanceUnits = ['km', 'mi'];
369
-
370
- const languageCodes = ['aa', 'ab', 'ae', 'af', 'ak', 'am', 'an', 'ar', 'as', 'av', 'ay', 'az', 'ba', 'be', 'bg', 'bi', 'bm', 'bn', 'bo', 'br', 'bs', 'ca', 'ce', 'ch', 'co', 'cr', 'cs', 'cu', 'cv', 'cy', 'da', 'de', 'dv', 'dz', 'ee', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fa', 'ff', 'fi', 'fj', 'fo', 'fr', 'fy', 'ga', 'gd', 'gl', 'gn', 'gu', 'gv', 'ha', 'he', 'hi', 'ho', 'hr', 'ht', 'hu', 'hy', 'hz', 'ia', 'id', 'ie', 'ig', 'ii', 'ik', 'io', 'is', 'it', 'iu', 'ja', 'jv', 'ka', 'kg', 'ki', 'kj', 'kk', 'kl', 'km', 'kn', 'ko', 'kr', 'ks', 'ku', 'kv', 'kw', 'ky', 'la', 'lb', 'lg', 'li', 'ln', 'lo', 'lt', 'lu', 'lv', 'mg', 'mh', 'mi', 'mk', 'ml', 'mn', 'mr', 'ms', 'mt', 'my', 'na', 'nb', 'nd', 'ne', 'ng', 'nl', 'nn', 'no', 'nr', 'nv', 'ny', 'oc', 'oj', 'om', 'or', 'os', 'pa', 'pi', 'pl', 'ps', 'pt', 'qu', 'rm', 'rn', 'ro', 'ru', 'rw', 'sa', 'sc', 'sd', 'se', 'sg', 'si', 'sk', 'sl', 'sm', 'sn', 'so', 'sq', 'sr', 'ss', 'st', 'su', 'sv', 'sw', 'ta', 'te', 'tg', 'th', 'ti', 'tk', 'tl', 'tn', 'to', 'tr', 'ts', 'tt', 'tw', 'ty', 'ug', 'uk', 'ur', 'uz', 've', 'vi', 'vo', 'wa', 'wo', 'xh', 'yi', 'yo', 'za', 'zh', 'zu'];
371
-
372
- const timezones = ['Africa/Abidjan', 'Africa/Accra', 'Africa/Addis_Ababa', 'Africa/Algiers', 'Africa/Asmara', 'Africa/Bamako', 'Africa/Bangui', 'Africa/Banjul', 'Africa/Bissau', 'Africa/Blantyre', 'Africa/Brazzaville', 'Africa/Bujumbura', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Ceuta', 'Africa/Conakry', 'Africa/Dakar', 'Africa/Dar_es_Salaam', 'Africa/Djibouti', 'Africa/Douala', 'Africa/El_Aaiun', 'Africa/Freetown', 'Africa/Gaborone', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Juba', 'Africa/Kampala', 'Africa/Khartoum', 'Africa/Kigali', 'Africa/Kinshasa', 'Africa/Lagos', 'Africa/Libreville', 'Africa/Lome', 'Africa/Luanda', 'Africa/Lubumbashi', 'Africa/Lusaka', 'Africa/Malabo', 'Africa/Maputo', 'Africa/Maseru', 'Africa/Mbabane', 'Africa/Mogadishu', 'Africa/Monrovia', 'Africa/Nairobi', 'Africa/Ndjamena', 'Africa/Niamey', 'Africa/Nouakchott', 'Africa/Ouagadougou', 'Africa/Porto-Novo', 'Africa/Sao_Tome', 'Africa/Tripoli', 'Africa/Tunis', 'Africa/Windhoek', 'America/Adak', 'America/Anchorage', 'America/Anguilla', 'America/Antigua', 'America/Araguaina', 'America/Argentina/Buenos_Aires', 'America/Argentina/Catamarca', 'America/Argentina/Cordoba', 'America/Argentina/Jujuy', 'America/Argentina/La_Rioja', 'America/Argentina/Mendoza', 'America/Argentina/Rio_Gallegos', 'America/Argentina/Salta', 'America/Argentina/San_Juan', 'America/Argentina/San_Luis', 'America/Argentina/Tucuman', 'America/Argentina/Ushuaia', 'America/Aruba', 'America/Asuncion', 'America/Atikokan', 'America/Bahia', 'America/Bahia_Banderas', 'America/Barbados', 'America/Belem', 'America/Belize', 'America/Blanc-Sablon', 'America/Boa_Vista', 'America/Bogota', 'America/Boise', 'America/Cambridge_Bay', 'America/Campo_Grande', 'America/Cancun', 'America/Caracas', 'America/Cayenne', 'America/Cayman', 'America/Chicago', 'America/Chihuahua', 'America/Costa_Rica', 'America/Creston', 'America/Cuiaba', 'America/Curacao', 'America/Danmarkshavn', 'America/Dawson', 'America/Dawson_Creek', 'America/Denver', 'America/Detroit', 'America/Dominica', 'America/Edmonton', 'America/Eirunepe', 'America/El_Salvador', 'America/Fort_Nelson', 'America/Fortaleza', 'America/Glace_Bay', 'America/Godthab', 'America/Goose_Bay', 'America/Grand_Turk', 'America/Grenada', 'America/Guadeloupe', 'America/Guatemala', 'America/Guayaquil', 'America/Guyana', 'America/Halifax', 'America/Havana', 'America/Hermosillo', 'America/Indiana/Indianapolis', 'America/Indiana/Knox', 'America/Indiana/Marengo', 'America/Indiana/Petersburg', 'America/Indiana/Tell_City', 'America/Indiana/Vevay', 'America/Indiana/Vincennes', 'America/Indiana/Winamac', 'America/Inuvik', 'America/Iqaluit', 'America/Jamaica', 'America/Juneau', 'America/Kentucky/Louisville', 'America/Kentucky/Monticello', 'America/Kralendijk', 'America/La_Paz', 'America/Lima', 'America/Los_Angeles', 'America/Lower_Princes', 'America/Maceio', 'America/Managua', 'America/Manaus', 'America/Marigot', 'America/Martinique', 'America/Matamoros', 'America/Mazatlan', 'America/Menominee', 'America/Merida', 'America/Metlakatla', 'America/Mexico_City', 'America/Miquelon', 'America/Moncton', 'America/Monterrey', 'America/Montevideo', 'America/Montserrat', 'America/Nassau', 'America/New_York', 'America/Nipigon', 'America/Nome', 'America/Noronha', 'America/North_Dakota/Beulah', 'America/North_Dakota/Center', 'America/North_Dakota/New_Salem', 'America/Ojinaga', 'America/Panama', 'America/Pangnirtung', 'America/Paramaribo', 'America/Phoenix', 'America/Port-au-Prince', 'America/Port_of_Spain', 'America/Porto_Velho', 'America/Puerto_Rico', 'America/Rainy_River', 'America/Rankin_Inlet', 'America/Recife', 'America/Regina', 'America/Resolute', 'America/Rio_Branco', 'America/Santa_Isabel', 'America/Santarem', 'America/Santiago', 'America/Santo_Domingo', 'America/Sao_Paulo', 'America/Scoresbysund', 'America/Sitka', 'America/St_Barthelemy', 'America/St_Johns', 'America/St_Kitts', 'America/St_Lucia', 'America/St_Thomas', 'America/St_Vincent', 'America/Swift_Current', 'America/Tegucigalpa', 'America/Thule', 'America/Thunder_Bay', 'America/Tijuana', 'America/Toronto', 'America/Tortola', 'America/Vancouver', 'America/Whitehorse', 'America/Winnipeg', 'America/Yakutat', 'America/Yellowknife', 'Antarctica/Casey', 'Antarctica/Davis', 'Antarctica/DumontDUrville', 'Antarctica/Macquarie', 'Antarctica/Mawson', 'Antarctica/McMurdo', 'Antarctica/Palmer', 'Antarctica/Rothera', 'Antarctica/Syowa', 'Antarctica/Troll', 'Antarctica/Vostok', 'Arctic/Longyearbyen', 'Asia/Aden', 'Asia/Almaty', 'Asia/Amman', 'Asia/Anadyr', 'Asia/Aqtau', 'Asia/Aqtobe', 'Asia/Ashgabat', 'Asia/Baghdad', 'Asia/Bahrain', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Beirut', 'Asia/Bishkek', 'Asia/Brunei', 'Asia/Chita', 'Asia/Choibalsan', 'Asia/Colombo', 'Asia/Damascus', 'Asia/Dhaka', 'Asia/Dili', 'Asia/Dubai', 'Asia/Dushanbe', 'Asia/Gaza', 'Asia/Hebron', 'Asia/Ho_Chi_Minh', 'Asia/Hong_Kong', 'Asia/Hovd', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jayapura', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Khandyga', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuching', 'Asia/Kuwait', 'Asia/Macau', 'Asia/Magadan', 'Asia/Makassar', 'Asia/Manila', 'Asia/Muscat', 'Asia/Nicosia', 'Asia/Novokuznetsk', 'Asia/Novosibirsk', 'Asia/Omsk', 'Asia/Oral', 'Asia/Phnom_Penh', 'Asia/Pontianak', 'Asia/Pyongyang', 'Asia/Qatar', 'Asia/Qyzylorda', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Sakhalin', 'Asia/Samarkand', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Thimphu', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Ust-Nera', 'Asia/Vientiane', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Bermuda', 'Atlantic/Canary', 'Atlantic/Cape_Verde', 'Atlantic/Faroe', 'Atlantic/Madeira', 'Atlantic/Reykjavik', 'Atlantic/South_Georgia', 'Atlantic/St_Helena', 'Atlantic/Stanley', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Broken_Hill', 'Australia/Currie', 'Australia/Darwin', 'Australia/Eucla', 'Australia/Hobart', 'Australia/Lindeman', 'Australia/Lord_Howe', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Europe/Amsterdam', 'Europe/Andorra', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Busingen', 'Europe/Chisinau', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Gibraltar', 'Europe/Guernsey', 'Europe/Helsinki', 'Europe/Isle_of_Man', 'Europe/Istanbul', 'Europe/Jersey', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/Luxembourg', 'Europe/Madrid', 'Europe/Malta', 'Europe/Mariehamn', 'Europe/Minsk', 'Europe/Monaco', 'Europe/Moscow', 'Europe/Oslo', 'Europe/Paris', 'Europe/Podgorica', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/San_Marino', 'Europe/Sarajevo', 'Europe/Simferopol', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Tirane', 'Europe/Uzhgorod', 'Europe/Vaduz', 'Europe/Vatican', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Europe/Zaporozhye', 'Europe/Zurich', 'Indian/Antananarivo', 'Indian/Chagos', 'Indian/Christmas', 'Indian/Cocos', 'Indian/Comoro', 'Indian/Kerguelen', 'Indian/Mahe', 'Indian/Maldives', 'Indian/Mauritius', 'Indian/Mayotte', 'Indian/Reunion', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Bougainville', 'Pacific/Chatham', 'Pacific/Chuuk', 'Pacific/Easter', 'Pacific/Efate', 'Pacific/Enderbury', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Funafuti', 'Pacific/Galapagos', 'Pacific/Gambier', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Johnston', 'Pacific/Kiritimati', 'Pacific/Kosrae', 'Pacific/Kwajalein', 'Pacific/Majuro', 'Pacific/Marquesas', 'Pacific/Midway', 'Pacific/Nauru', 'Pacific/Niue', 'Pacific/Norfolk', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Palau', 'Pacific/Pitcairn', 'Pacific/Pohnpei', 'Pacific/Port_Moresby', 'Pacific/Rarotonga', 'Pacific/Saipan', 'Pacific/Tahiti', 'Pacific/Tarawa', 'Pacific/Tongatapu', 'Pacific/Wake', 'Pacific/Wallis'];
373
-
374
- exports.NonEmumeralProperties = NonEmumeralProperties;
375
- exports.TransformConfigHandlerAction = TransformConfigHandlerAction;
376
- exports.cloneNonEnumerableValues = cloneNonEnumerableValues;
377
- exports.countryCodes = countryCodes;
378
- exports.countryNames = countryNames;
379
- exports.createConfigBuilder = createConfigBuilder;
380
- exports.createConfigParser = createConfigParser;
381
- exports.createConfigReader = createConfigReader;
382
- exports.distanceUnits = distanceUnits;
383
- exports.languageCodes = languageCodes;
384
- exports.timezones = timezones;
1
+ "use strict";var a,e,i=require("lodash-es"),r=require("uuid"),n=require("zod-to-json-schema"),o=require("zod");require("core-js/modules/es.array.push.js"),exports.NonEmumeralProperties=void 0,(a=exports.NonEmumeralProperties||(exports.NonEmumeralProperties={})).CALLBACKS="__callbacks",a.DISABLED="__disabled",a.EXPERIMENT="__experiment",a.ID="__id",a.TYPE="__type",a.ZCB="__zcb",exports.TransformConfigHandlerAction=void 0,(e=exports.TransformConfigHandlerAction||(exports.TransformConfigHandlerAction={})).DELETE_NODE="deleteNode",e.SKIP_NODE="skipNode";const t=new Set(Object.values(exports.NonEmumeralProperties)),c=(a,e)=>{for(const i of t)i in e&&Object.defineProperty(a,i,{configurable:!1,enumerable:!1,value:e[i]});return{value:a}},s=a=>{const{items:e}=a;return e&&"object"==typeof e&&"default"in e},u=a=>{const{properties:e}=a;if(e&&(a=>a.properties&&Object.values(a.properties).some((a=>"object"==typeof a&&"default"in a)))(a))return Object.keys(e).reduce(((a,r)=>{const n=e[r];return!n||i.isBoolean(n)||"default"in n&&!i.isUndefined(n.default)&&(a[r]=n.default),a}),{})},A=new Set(["$disable","$errors","$experiment","$extend","$flush","$fork","$toJson","$validate","$values"]),l=a=>A.has(a),m=a=>"object"==typeof a,d=a=>a.additionalProperties&&"object"==typeof a.additionalProperties&&"default"in a.additionalProperties,f=a=>"function"==typeof a,p=(a,e=!1)=>!e&&void 0!==a,g=(a,e=0)=>{if(i.isPlainObject(a)){const i=a;return!0===i.__zcb||!!(e<1&&Object.values(i).every((a=>g(a,e+1))))}return!Array.isArray(a)||!!a.every((a=>g(a,e+1)))},h=(a,e)=>e instanceof o.ZodType?n.zodToJsonSchema(e,{errorMessages:!0}):e,b=(a,e)=>Promise.all(a.map((a=>i.isPlainObject(a)?E(a,e):Array.isArray(a)?b(a,e):a))),E=async(a,e=[])=>{let r={};const n=i.castArray(e);for(const e of n){const i=await Promise.resolve(e(r,a));if(i.action===exports.TransformConfigHandlerAction.DELETE_NODE)return{};if(i.value&&(r=i.value),i.action===exports.TransformConfigHandlerAction.SKIP_NODE)return r}for(const n in a){const o=a[n];i.isPlainObject(o)?r[n]=await E(o,e):Array.isArray(o)?r[n]=await b(o,e):r[n]=o}return r},y=(a,e)=>a.map((a=>i.isPlainObject(a)?P(a,e):Array.isArray(a)?y(a,e):a)),P=(a,e=[])=>{let r={};const n=i.castArray(e);for(const e of n){const i=e(r,a);if(i.action===exports.TransformConfigHandlerAction.DELETE_NODE)return{};if(i.value&&(r=i.value),i.action===exports.TransformConfigHandlerAction.SKIP_NODE)return r}for(const n in a){const o=a[n];i.isPlainObject(o)?r[n]=P(o,e):Array.isArray(o)?r[n]=y(o,e):r[n]=o}return r},S=(a,e={},o={},t={})=>{const b=n.zodToJsonSchema(a);if("object"!==b.type)throw new Error(`The root type of a config schema must be "object", but received "${String(b.type)}"`);const E=e.overrides?.uuid??r.v4,y=()=>{const a=i.merge(i.cloneDeep(t),(a=>{const e={};for(const i in a.properties){if(l(i))throw new Error(`"${i}" is a reserved keyword within the config builder. Please use a different property name. The full list of reserved keywords is: ${[...A].join(", ")}`);const r=i,n=a.properties[i];if(m(n)){if(n.default&&(e[r]=n.default),"array"===n.type&&s(n))throw new Error(`When setting schema array defaults for the array assigned to "${String(r)}", set them on the array and not the item.`);if("object"===n.type){if(d(n))throw new Error(`When setting schema property defaults for the value of the record assigned to "${String(r)}", set them on the record and not the value.`);const a=u(n);a&&(e[r]=a)}}}return e})(b));var r;return r=a,Object.defineProperty(r,exports.NonEmumeralProperties.ZCB,{configurable:!1,enumerable:!1,value:!0}),Object.defineProperty(r,exports.NonEmumeralProperties.ID,{configurable:!1,enumerable:!1,value:E()}),e.type&&Object.defineProperty(r,exports.NonEmumeralProperties.TYPE,{configurable:!1,enumerable:!1,value:e.type}),a};let M=y(),k={...o};const C={$disable:()=>(Object.defineProperty(M,exports.NonEmumeralProperties.DISABLED,{configurable:!1,enumerable:!1,value:!0}),C),$errors:()=>{try{return a.parse(C.$values()),[]}catch(a){return a.errors}},$experiment:a=>(Object.defineProperty(M,exports.NonEmumeralProperties.EXPERIMENT,{configurable:!1,enumerable:!1,value:a}),C),$extend:a=>{M=P(a.$values(),[c]),k={...a.__callbacks}},$flush:()=>{const a=C.$values();return M=y(),a},$fork:()=>S(a,e,o,t),$toJson:()=>JSON.stringify(C.$values(),h,2),$validate:()=>{try{return a.parse(C.$values()),!0}catch(a){return console.error(a),!1}},$values:()=>{for(const a in k){const e=k[a];e&&(M[a]=e(M))}return M}};Object.defineProperty(C,exports.NonEmumeralProperties.CALLBACKS,{configurable:!1,enumerable:!1,value:k});for(const a in b.properties){if(l(a))throw new Error(`"${a}" is a reserved keyword within the config builder. Please use a different property name. The full list of reserved keywords is: ${[...A].join(", ")}`);const e=a;C[e]=(a,i)=>{if(p(M[e],i))throw new Error(`A value already exists for "${String(e)}". 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.`);let r;if(!g(a))throw new Error(`"${String(e)}" value has a depth greater than 1. To pass in objects with a depth greater than 1, create a builder for that config slice.`);return f(a)?(k[e]=a,r=a(M)):r=a,M[e]=r,C}}return C},M=a=>({read:(e,{vars:r}={})=>{if(!r)return i.get(a,e);const n=i.get(a,e);if(!i.isString(n))throw new Error("config reader received variables to use in string template, but the path did not resolve to a string.");return Object.keys(r).reduce(((a,e)=>a.replace(new RegExp(`{{${e}}}`),String(r[e]))),n)},scope:e=>M(i.get(a,e))});exports.cloneNonEnumerableValues=c,exports.countryCodes=["AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BA","BW","BV","BR","IO","BN","BG","BF","BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CY","CZ","DK","DJ","DM","DO","EC","EG","SV","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KR","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","AN","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SK","SI","SB","SO","ZA","GS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW"],exports.countryNames=["Afghanistan","Albania","Algeria","Andorra","Angola","Anguilla","Antigua and Barbuda","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia and Herzegovina","Botswana","Brazil","British Virgin Islands","Brunei","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Cape Verde","Cayman Islands","Chad","Chile","China","Colombia","Congo","Cook Islands","Costa Rica","Cote D Ivoire","Croatia","Cruise Ship","Cuba","Cyprus","Czech Republic","Denmark","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Estonia","Ethiopia","Falkland Islands","Faroe Islands","Fiji","Finland","France","French Polynesia","French West Indies","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guam","Guatemala","Guernsey","Guinea","Guinea Bissau","Guyana","Haiti","Honduras","Hong Kong","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Isle of Man","Israel","Italy","Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kuwait","Kyrgyz Republic","Laos","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Macau","Macedonia","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Mauritania","Mauritius","Mexico","Moldova","Monaco","Mongolia","Montenegro","Montserrat","Morocco","Mozambique","Namibia","Nepal","Netherlands","Netherlands Antilles","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","Norway","Oman","Pakistan","Palestine","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Poland","Portugal","Puerto Rico","Qatar","Reunion","Romania","Russia","Rwanda","Saint Pierre and Miquelon","Samoa","San Marino","Satellite","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Slovakia","Slovenia","South Africa","South Korea","Spain","Sri Lanka","St Kitts and Nevis","St Lucia","St Vincent","St. Lucia","Sudan","Suriname","Swaziland","Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand","Timor L'Este","Togo","Tonga","Trinidad and Tobago","Tunisia","Turkey","Turkmenistan","Turks and Caicos","Uganda","Ukraine","United Arab Emirates","United Kingdom","Uruguay","Uzbekistan","Venezuela","Vietnam","Virgin Islands (US)","Yemen","Zambia","Zimbabwe"],exports.createConfigBuilder=S,exports.createConfigParser=async(a,{experimentsCallback:e}={})=>{const i=[];var r;return e&&i.push((r=e,async(a,e)=>{if(exports.NonEmumeralProperties.EXPERIMENT in e&&"object"==typeof e.__experiment){const{buckets:a,id:i}=e.__experiment,n=await r(i);if(n&&n in a&&a[n])return a[n]}return{value:a}})),i.length>0?await E(a,i):a},exports.createConfigReader=M,exports.distanceUnits=["km","mi"],exports.languageCodes=["aa","ab","ae","af","ak","am","an","ar","as","av","ay","az","ba","be","bg","bi","bm","bn","bo","br","bs","ca","ce","ch","co","cr","cs","cu","cv","cy","da","de","dv","dz","ee","el","en","eo","es","et","eu","fa","ff","fi","fj","fo","fr","fy","ga","gd","gl","gn","gu","gv","ha","he","hi","ho","hr","ht","hu","hy","hz","ia","id","ie","ig","ii","ik","io","is","it","iu","ja","jv","ka","kg","ki","kj","kk","kl","km","kn","ko","kr","ks","ku","kv","kw","ky","la","lb","lg","li","ln","lo","lt","lu","lv","mg","mh","mi","mk","ml","mn","mr","ms","mt","my","na","nb","nd","ne","ng","nl","nn","no","nr","nv","ny","oc","oj","om","or","os","pa","pi","pl","ps","pt","qu","rm","rn","ro","ru","rw","sa","sc","sd","se","sg","si","sk","sl","sm","sn","so","sq","sr","ss","st","su","sv","sw","ta","te","tg","th","ti","tk","tl","tn","to","tr","ts","tt","tw","ty","ug","uk","ur","uz","ve","vi","vo","wa","wo","xh","yi","yo","za","zh","zu"],exports.timezones=["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fort_Nelson","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"];
385
2
  //# sourceMappingURL=index.cjs.map