zcb 0.0.9 → 0.0.11
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/dist/main/cli.mjs.map +1 -1
- package/dist/main/index.mjs.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/types/cli.d.ts +6 -0
- package/dist/types/cli.d.ts.map +1 -0
- package/dist/types/createConfigBuilder.d.ts +16 -0
- package/dist/types/createConfigBuilder.d.ts.map +1 -0
- package/dist/types/createConfigParser.d.ts +3 -0
- package/dist/types/createConfigParser.d.ts.map +1 -0
- package/dist/types/createConfigReader.d.ts +38 -0
- package/dist/types/createConfigReader.d.ts.map +1 -0
- package/dist/types/data/countryCodes.d.ts +2 -0
- package/dist/types/data/countryCodes.d.ts.map +1 -0
- package/dist/types/data/countryNames.d.ts +2 -0
- package/dist/types/data/countryNames.d.ts.map +1 -0
- package/dist/types/data/distanceUnits.d.ts +2 -0
- package/dist/types/data/distanceUnits.d.ts.map +1 -0
- package/dist/types/data/languageCodes.d.ts +2 -0
- package/dist/types/data/languageCodes.d.ts.map +1 -0
- package/dist/types/data/timezones.d.ts +2 -0
- package/dist/types/data/timezones.d.ts.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/transformers/cloneNonEnumerableValues.d.ts +3 -0
- package/dist/types/transformers/cloneNonEnumerableValues.d.ts.map +1 -0
- package/dist/types/transformers/removeDisabledSlices.d.ts +3 -0
- package/dist/types/transformers/removeDisabledSlices.d.ts.map +1 -0
- package/dist/types/transformers/runExperiments.d.ts +3 -0
- package/dist/types/transformers/runExperiments.d.ts.map +1 -0
- package/dist/types/transformers/setupExperiments.d.ts +3 -0
- package/dist/types/transformers/setupExperiments.d.ts.map +1 -0
- package/dist/types/types.d.ts +45 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/utils/arrayHasInvalidDefaults.d.ts +3 -0
- package/dist/types/utils/arrayHasInvalidDefaults.d.ts.map +1 -0
- package/dist/types/utils/importValidateTransformWriteConfig.d.ts +3 -0
- package/dist/types/utils/importValidateTransformWriteConfig.d.ts.map +1 -0
- package/dist/types/utils/isDerivedValueCallback.d.ts +2 -0
- package/dist/types/utils/isDerivedValueCallback.d.ts.map +1 -0
- package/dist/types/utils/isInvalidPropertyOverride.d.ts +2 -0
- package/dist/types/utils/isInvalidPropertyOverride.d.ts.map +1 -0
- package/dist/types/utils/isPropertyReservedWord.d.ts +3 -0
- package/dist/types/utils/isPropertyReservedWord.d.ts.map +1 -0
- package/dist/types/utils/isSchemaValid.d.ts +3 -0
- package/dist/types/utils/isSchemaValid.d.ts.map +1 -0
- package/dist/types/utils/isValidPropertyDefinition.d.ts +3 -0
- package/dist/types/utils/isValidPropertyDefinition.d.ts.map +1 -0
- package/dist/types/utils/isValidValue.d.ts +2 -0
- package/dist/types/utils/isValidValue.d.ts.map +1 -0
- package/dist/types/utils/objectHasInvalidDefaults.d.ts +3 -0
- package/dist/types/utils/objectHasInvalidDefaults.d.ts.map +1 -0
- package/dist/types/utils/recordHasInvalidDefaults.d.ts +3 -0
- package/dist/types/utils/recordHasInvalidDefaults.d.ts.map +1 -0
- package/dist/types/utils/transformConfig.d.ts +4 -0
- package/dist/types/utils/transformConfig.d.ts.map +1 -0
- package/dist/types/utils/transformWriteConfig.d.ts +3 -0
- package/dist/types/utils/transformWriteConfig.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/createConfigBuilder.test.ts +2 -2
- package/src/createConfigBuilder.ts +21 -23
- package/src/utils/importValidateTransformWriteConfig.ts +26 -31
- package/tsconfig.build.json +2 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"distanceUnits.d.ts","sourceRoot":"","sources":["../../../src/data/distanceUnits.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,uBAAwB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const languageCodes: readonly ["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"];
|
|
2
|
+
//# sourceMappingURL=languageCodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"languageCodes.d.ts","sourceRoot":"","sources":["../../../src/data/languageCodes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,qlCAwLhB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const timezones: readonly ["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"];
|
|
2
|
+
//# sourceMappingURL=timezones.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timezones.d.ts","sourceRoot":"","sources":["../../../src/data/timezones.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,y+PAkaZ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './createConfigBuilder.ts';
|
|
2
|
+
export * from './createConfigParser.ts';
|
|
3
|
+
export * from './createConfigReader.ts';
|
|
4
|
+
export * from './data/countryCodes.ts';
|
|
5
|
+
export * from './data/countryNames.ts';
|
|
6
|
+
export * from './data/distanceUnits.ts';
|
|
7
|
+
export * from './data/languageCodes.ts';
|
|
8
|
+
export * from './data/timezones.ts';
|
|
9
|
+
export * from './types.ts';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloneNonEnumerableValues.d.ts","sourceRoot":"","sources":["../../../src/transformers/cloneNonEnumerableValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAKrG,eAAO,MAAM,wBAAwB,EAAE,0BAkBtC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeDisabledSlices.d.ts","sourceRoot":"","sources":["../../../src/transformers/removeDisabledSlices.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,0BAA0B,EAChC,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,oBAAoB,EAAE,0BAalC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runExperiments.d.ts","sourceRoot":"","sources":["../../../src/transformers/runExperiments.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,cAAc,aACd,sBAAsB,KAAG,sBAcnC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupExperiments.d.ts","sourceRoot":"","sources":["../../../src/transformers/setupExperiments.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,gBAAgB,aAChB,wBAAwB,KAAG,sBAmBrC,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { List } from 'ts-toolbelt';
|
|
2
|
+
import type { Includes, Join } from 'type-fest';
|
|
3
|
+
export type AnyRecord = Record<string, any>;
|
|
4
|
+
export type Buckets<Config extends AnyRecord> = Record<string, Experiment<Config>>;
|
|
5
|
+
export interface ConfigParserOptions {
|
|
6
|
+
experimentsCallback?: RunExperimentsCallback;
|
|
7
|
+
}
|
|
8
|
+
export interface Experiment<Config extends AnyRecord> {
|
|
9
|
+
action?: TransformConfigHandlerAction;
|
|
10
|
+
value?: Config;
|
|
11
|
+
}
|
|
12
|
+
export declare enum NonEmumeralProperties {
|
|
13
|
+
CALLBACKS = "__callbacks",
|
|
14
|
+
DISABLED = "__disabled",
|
|
15
|
+
EXPERIMENT = "__experiment",
|
|
16
|
+
ZCB = "__zcb"
|
|
17
|
+
}
|
|
18
|
+
export type Path<Config extends object> = Join<Leaves<Config>, '.'>;
|
|
19
|
+
export type RunExperimentsCallback = (id: string) => Promise<string>;
|
|
20
|
+
export type Scope<Config extends object> = Join<Paths<Config>, '.'>;
|
|
21
|
+
export type SetupExperimentsCallback = <Config extends AnyRecord>(id: string, clone: Config, config: Config) => Promise<Buckets<Config>>;
|
|
22
|
+
export type TransformConfigHandler = <Config extends AnyRecord>(clone: Config, config: Config) => TransformConfigHandlerReturnType<Config> | Promise<TransformConfigHandlerReturnType<Config>>;
|
|
23
|
+
export type TransformConfigHandlerSync = <Config extends AnyRecord>(clone: Config, config: Config) => TransformConfigHandlerReturnType<Config>;
|
|
24
|
+
export declare enum TransformConfigHandlerAction {
|
|
25
|
+
DELETE_NODE = "deleteNode",
|
|
26
|
+
SKIP_NODE = "skipNode"
|
|
27
|
+
}
|
|
28
|
+
export interface TransformConfigHandlerReturnType<Config extends AnyRecord> {
|
|
29
|
+
action?: TransformConfigHandlerAction;
|
|
30
|
+
value?: Config;
|
|
31
|
+
}
|
|
32
|
+
export interface WriteConfigOptions {
|
|
33
|
+
experimentsCallback?: SetupExperimentsCallback;
|
|
34
|
+
outputFile: string;
|
|
35
|
+
}
|
|
36
|
+
export type Leaves<T, Path extends string[] = []> = T extends string ? Path : {
|
|
37
|
+
[K in keyof T & string]: Leaves<T[K], [...Path, K]>;
|
|
38
|
+
}[keyof T & string];
|
|
39
|
+
export type Paths<T, Path extends string[] = []> = T extends string ? Path : {
|
|
40
|
+
[K in keyof T & string]: T[K] extends object ? Paths<T[K], [...Path, K]> : Path;
|
|
41
|
+
}[keyof T & string];
|
|
42
|
+
export type LeavesScopeDiffs<T1 extends readonly string[][], T2 extends string[]> = {
|
|
43
|
+
[K1 in keyof T1]: List.Length<List.Intersect<T1[K1], T2, '<-contains'>> extends 1 ? List.Length<T1[K1]> extends 1 ? Includes<T2, T1[K1][0]> extends false ? T1[K1] : never : List.Diff<T1[K1], T2> : never;
|
|
44
|
+
}[number];
|
|
45
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrayHasInvalidDefaults.d.ts","sourceRoot":"","sources":["../../../src/utils/arrayHasInvalidDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,uBAAuB,uBAAwB,WAAW,wBAGtE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"importValidateTransformWriteConfig.d.ts","sourceRoot":"","sources":["../../../src/utils/importValidateTransformWriteConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAK1C,eAAO,MAAM,kCAAkC,cAClC,MAAM,cACL,MAAM,WACT,QAAQ,2BACQ,MAAM,SA2ChC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isDerivedValueCallback.d.ts","sourceRoot":"","sources":["../../../src/utils/isDerivedValueCallback.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,sBAAsB,iBAAkB,GAAG,KAAK,GAAG,SAAS,GAAG,eAC/C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isInvalidPropertyOverride.d.ts","sourceRoot":"","sources":["../../../src/utils/isInvalidPropertyOverride.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,yBAAyB,kBAAmB,GAAG,gCAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isPropertyReservedWord.d.ts","sourceRoot":"","sources":["../../../src/utils/isPropertyReservedWord.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,aAU5B,CAAC;AAEH,eAAO,MAAM,sBAAsB,iBAAkB,MAAM,YAAwC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isSchemaValid.d.ts","sourceRoot":"","sources":["../../../src/utils/isSchemaValid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,aAAa,WAAY,WAAW,YAA6B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isValidPropertyDefinition.d.ts","sourceRoot":"","sources":["../../../src/utils/isValidPropertyDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEtE,eAAO,MAAM,yBAAyB,uBAChB,qBAAqB,GAAG,SAAS,sCACuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isValidValue.d.ts","sourceRoot":"","sources":["../../../src/utils/isValidValue.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,UAAW,OAAO,qBAAc,OAwBxD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectHasInvalidDefaults.d.ts","sourceRoot":"","sources":["../../../src/utils/objectHasInvalidDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,wBAAwB,uBAAwB,WAAW,wBAEqC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recordHasInvalidDefaults.d.ts","sourceRoot":"","sources":["../../../src/utils/recordHasInvalidDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,wBAAwB,uBAAwB,WAAW,wBAGlB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type AnyRecord, type TransformConfigHandler, type TransformConfigHandlerSync } from '../types.ts';
|
|
2
|
+
export declare const transformConfig: <Config extends AnyRecord>(config: Config, handler?: TransformConfigHandler | TransformConfigHandler[]) => Promise<Config>;
|
|
3
|
+
export declare const transformConfigSync: <Config extends AnyRecord>(config: Config, handler?: TransformConfigHandlerSync | TransformConfigHandlerSync[]) => Config;
|
|
4
|
+
//# sourceMappingURL=transformConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformConfig.d.ts","sourceRoot":"","sources":["../../../src/utils/transformConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,sBAAsB,EAE3B,KAAK,0BAA0B,EAChC,MAAM,aAAa,CAAC;AAoBrB,eAAO,MAAM,eAAe,uDAEjB,sBAAsB,GAAG,sBAAsB,EAAE,oBAkC3D,CAAC;AAmBF,eAAO,MAAM,mBAAmB,uDAErB,0BAA0B,GAAG,0BAA0B,EAAE,WAkCnE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformWriteConfig.d.ts","sourceRoot":"","sources":["../../../src/utils/transformWriteConfig.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAA0B,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAG9E,eAAO,MAAM,oBAAoB,+EAEM,kBAAkB,kBAoBxD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zcb",
|
|
3
3
|
"description": "Build configs with type safety from zod schema.",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.11",
|
|
5
5
|
"author": "Dylan Aubrey",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://github.com/badbatch/zod-config-builder",
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
"commit": "commit",
|
|
121
121
|
"compile": "pnpm run /^compile:.*/",
|
|
122
122
|
"compile:main": "rollup -c ./rollup.config.cjs",
|
|
123
|
-
"compile:types": "tsc --project ./tsconfig.json",
|
|
123
|
+
"compile:types": "tsc --project ./tsconfig.build.json",
|
|
124
124
|
"cut:changelog": "changelog",
|
|
125
125
|
"cut:post-version": "pnpm run build",
|
|
126
126
|
"lint": "eslint . --ext .ts,.cjs",
|
|
@@ -483,7 +483,7 @@ describe('createConfigBuilder', () => {
|
|
|
483
483
|
.languageCodes(['en'])
|
|
484
484
|
.locales(({ countryCode, languageCodes }) =>
|
|
485
485
|
// eslint-disable-next-line jest/no-conditional-in-test
|
|
486
|
-
languageCodes?.length && countryCode ? languageCodes.map(code => `${code}_${countryCode}`) : []
|
|
486
|
+
languageCodes?.length && countryCode ? languageCodes.map(code => `${code}_${countryCode}` as const) : []
|
|
487
487
|
);
|
|
488
488
|
|
|
489
489
|
expect(config.values()).toEqual({ countryCode: 'GB', languageCodes: ['en'], locales: ['en_GB'] });
|
|
@@ -498,7 +498,7 @@ describe('createConfigBuilder', () => {
|
|
|
498
498
|
.languageCodes(['en'])
|
|
499
499
|
.locales(({ countryCode, languageCodes }) =>
|
|
500
500
|
// eslint-disable-next-line jest/no-conditional-in-test
|
|
501
|
-
languageCodes?.length && countryCode ? languageCodes.map(code => `${code}_${countryCode}`) : []
|
|
501
|
+
languageCodes?.length && countryCode ? languageCodes.map(code => `${code}_${countryCode}` as const) : []
|
|
502
502
|
)
|
|
503
503
|
.languageCodes(['fr'], true);
|
|
504
504
|
|
|
@@ -14,6 +14,23 @@ import { objectHasInvalidDefaults } from './utils/objectHasInvalidDefaults.ts';
|
|
|
14
14
|
import { recordHasInvalidDefaults } from './utils/recordHasInvalidDefaults.ts';
|
|
15
15
|
import { transformConfigSync } from './utils/transformConfig.ts';
|
|
16
16
|
|
|
17
|
+
export type ConfigBuilder<ZodTypes> = {
|
|
18
|
+
[Key in keyof Required<ZodTypes>]: (
|
|
19
|
+
value: ZodTypes[Key] | ((c: ZodTypes) => ZodTypes[Key]),
|
|
20
|
+
override?: boolean
|
|
21
|
+
) => ConfigBuilder<ZodTypes>;
|
|
22
|
+
} & {
|
|
23
|
+
disable: () => ConfigBuilder<ZodTypes>;
|
|
24
|
+
errors: () => ZodError['errors'];
|
|
25
|
+
experiment: (key: string) => ConfigBuilder<ZodTypes>;
|
|
26
|
+
extend: (configBuilder: ConfigBuilder<ZodTypes>) => ConfigBuilder<ZodTypes>;
|
|
27
|
+
flush: () => ZodTypes;
|
|
28
|
+
fork: () => ConfigBuilder<ZodTypes>;
|
|
29
|
+
toJson: () => string;
|
|
30
|
+
validate: () => boolean;
|
|
31
|
+
values: () => ZodTypes;
|
|
32
|
+
};
|
|
33
|
+
|
|
17
34
|
export const createConfigBuilder = <ZodTypes>(
|
|
18
35
|
zodSchema: z.ZodSchema,
|
|
19
36
|
derivedValueCallbacks: Partial<
|
|
@@ -27,31 +44,12 @@ export const createConfigBuilder = <ZodTypes>(
|
|
|
27
44
|
initialValues: Partial<{
|
|
28
45
|
[Key in keyof ZodTypes]: ZodTypes[Key];
|
|
29
46
|
}> = {}
|
|
30
|
-
) => {
|
|
47
|
+
): ConfigBuilder<ZodTypes> => {
|
|
31
48
|
type Config = {
|
|
32
49
|
[Key in keyof ZodTypes]: ZodTypes[Key];
|
|
33
50
|
};
|
|
34
51
|
|
|
35
|
-
type RequiredConfig = Required<Config>;
|
|
36
52
|
type DerivedValueCallback<K extends keyof Config = keyof Config> = (c: Config) => Config[K];
|
|
37
|
-
|
|
38
|
-
type ConfigBuilder = {
|
|
39
|
-
[Key in keyof RequiredConfig]: (
|
|
40
|
-
value: Config[Key] | DerivedValueCallback<Key>,
|
|
41
|
-
override?: boolean
|
|
42
|
-
) => ConfigBuilder;
|
|
43
|
-
} & {
|
|
44
|
-
disable: () => ConfigBuilder;
|
|
45
|
-
errors: () => ZodError['errors'];
|
|
46
|
-
experiment: (key: string) => ConfigBuilder;
|
|
47
|
-
extend: (configBuilder: ConfigBuilder) => ConfigBuilder;
|
|
48
|
-
flush: () => Config;
|
|
49
|
-
fork: () => ConfigBuilder;
|
|
50
|
-
toJson: () => string;
|
|
51
|
-
validate: () => boolean;
|
|
52
|
-
values: () => Config;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
53
|
let config = initialValues as Config;
|
|
56
54
|
|
|
57
55
|
Object.defineProperty(config, NonEmumeralProperties.ZCB, {
|
|
@@ -89,7 +87,7 @@ export const createConfigBuilder = <ZodTypes>(
|
|
|
89
87
|
|
|
90
88
|
return configBuilder;
|
|
91
89
|
},
|
|
92
|
-
extend: (configBuilder: ConfigBuilder) => {
|
|
90
|
+
extend: (configBuilder: ConfigBuilder<Config>) => {
|
|
93
91
|
config = transformConfigSync<Config>(configBuilder.values(), [cloneNonEnumerableValues]);
|
|
94
92
|
// @ts-expect-error private property
|
|
95
93
|
callbacks = { ...configBuilder.__callbacks } as Partial<Record<keyof Config, DerivedValueCallback>>;
|
|
@@ -128,7 +126,7 @@ export const createConfigBuilder = <ZodTypes>(
|
|
|
128
126
|
|
|
129
127
|
return config;
|
|
130
128
|
},
|
|
131
|
-
} as unknown as ConfigBuilder
|
|
129
|
+
} as unknown as ConfigBuilder<ZodTypes>;
|
|
132
130
|
|
|
133
131
|
Object.defineProperty(configBuilder, NonEmumeralProperties.CALLBACKS, {
|
|
134
132
|
configurable: false,
|
|
@@ -216,7 +214,7 @@ export const createConfigBuilder = <ZodTypes>(
|
|
|
216
214
|
|
|
217
215
|
config[castProperty] = propertyValue;
|
|
218
216
|
return configBuilder;
|
|
219
|
-
}) as ConfigBuilder[keyof Config];
|
|
217
|
+
}) as ConfigBuilder<Config>[keyof Config];
|
|
220
218
|
}
|
|
221
219
|
|
|
222
220
|
return configBuilder;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { resolve } from 'node:path';
|
|
2
2
|
import shelljs from 'shelljs';
|
|
3
3
|
import type { Commands } from '../cli.ts';
|
|
4
|
+
import type { ConfigBuilder } from '../createConfigBuilder.ts';
|
|
4
5
|
import type { SetupExperimentsCallback } from '../types.ts';
|
|
5
6
|
import { transformWriteConfig } from './transformWriteConfig.ts';
|
|
6
7
|
|
|
@@ -11,43 +12,37 @@ export const importValidateTransformWriteConfig = (
|
|
|
11
12
|
experimentCallbackFile?: string
|
|
12
13
|
) => {
|
|
13
14
|
import(resolve(process.cwd(), inputFile))
|
|
14
|
-
.then(
|
|
15
|
-
({
|
|
16
|
-
|
|
17
|
-
}: {
|
|
18
|
-
default: ReturnType<typeof import('../createConfigBuilder.ts')['createConfigBuilder']>;
|
|
19
|
-
}) => {
|
|
20
|
-
if (!configBuilder.validate()) {
|
|
21
|
-
shelljs.echo(`zcd ${command} => invalid config`);
|
|
22
|
-
shelljs.echo(`zcd ${command} => config values:\n${configBuilder.toJson()}\n`);
|
|
23
|
-
shelljs.echo(`zcd ${command} => errors:\n${JSON.stringify(configBuilder.errors(), undefined, 2)}\n`);
|
|
24
|
-
shelljs.exit(1);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
shelljs.echo('zcd ${command} => valid config');
|
|
15
|
+
.then(({ default: configBuilder }: { default: ConfigBuilder<object> }) => {
|
|
16
|
+
if (!configBuilder.validate()) {
|
|
17
|
+
shelljs.echo(`zcd ${command} => invalid config`);
|
|
28
18
|
shelljs.echo(`zcd ${command} => config values:\n${configBuilder.toJson()}\n`);
|
|
19
|
+
shelljs.echo(`zcd ${command} => errors:\n${JSON.stringify(configBuilder.errors(), undefined, 2)}\n`);
|
|
20
|
+
shelljs.exit(1);
|
|
21
|
+
}
|
|
29
22
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
.then(({ default: experimentsCallback }: { default: SetupExperimentsCallback }) => {
|
|
33
|
-
void transformWriteConfig(configBuilder.values(), { experimentsCallback, outputFile });
|
|
34
|
-
})
|
|
35
|
-
.catch((error: unknown) => {
|
|
36
|
-
if (error instanceof Error) {
|
|
37
|
-
shelljs.echo(`zcd ${command} => error message: ${error.message}`);
|
|
23
|
+
shelljs.echo('zcd ${command} => valid config');
|
|
24
|
+
shelljs.echo(`zcd ${command} => config values:\n${configBuilder.toJson()}\n`);
|
|
38
25
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
26
|
+
if (experimentCallbackFile) {
|
|
27
|
+
import(resolve(process.cwd(), experimentCallbackFile))
|
|
28
|
+
.then(({ default: experimentsCallback }: { default: SetupExperimentsCallback }) => {
|
|
29
|
+
void transformWriteConfig(configBuilder.values(), { experimentsCallback, outputFile });
|
|
30
|
+
})
|
|
31
|
+
.catch((error: unknown) => {
|
|
32
|
+
if (error instanceof Error) {
|
|
33
|
+
shelljs.echo(`zcd ${command} => error message: ${error.message}`);
|
|
44
34
|
|
|
45
|
-
|
|
46
|
-
|
|
35
|
+
if (error.stack) {
|
|
36
|
+
shelljs.echo(`zcd ${command} => error stack:\n${error.stack}\n`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
47
40
|
|
|
48
|
-
|
|
41
|
+
return;
|
|
49
42
|
}
|
|
50
|
-
|
|
43
|
+
|
|
44
|
+
void transformWriteConfig(configBuilder.values(), { outputFile });
|
|
45
|
+
})
|
|
51
46
|
.catch((error: unknown) => {
|
|
52
47
|
if (error instanceof Error) {
|
|
53
48
|
shelljs.echo(`zcd ${command} => error message: ${error.message}`);
|