inferred-types 0.54.6 → 0.54.7
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/modules/inferred-types/dist/index.cjs +169 -54
- package/modules/inferred-types/dist/index.cjs.map +1 -1
- package/modules/inferred-types/dist/index.d.ts +21238 -20963
- package/modules/inferred-types/dist/index.js +163 -54
- package/modules/inferred-types/dist/index.js.map +1 -1
- package/modules/runtime/dist/index.cjs +187 -66
- package/modules/runtime/dist/index.cjs.map +1 -1
- package/modules/runtime/dist/index.d.ts +4968 -4799
- package/modules/runtime/dist/index.js +181 -66
- package/modules/runtime/dist/index.js.map +1 -1
- package/modules/types/dist/index.cjs.map +1 -1
- package/modules/types/dist/index.d.ts +8493 -8387
- package/modules/types/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,6 +14,115 @@ function handleDoneFn(val, call_bare_fn = false) {
|
|
|
14
14
|
return isObject(val) || isFunction(val) ? isDoneFn(val) ? val.done() : isFunction(val) ? call_bare_fn ? val() : val : val : isFunction(val) ? call_bare_fn ? val() : val : val;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
// src/initializers/addFnToProps.ts
|
|
18
|
+
function addPropsToFn(fn2, clone_fn) {
|
|
19
|
+
const localFn = clone_fn ? (...args) => fn2(args) : fn2;
|
|
20
|
+
return (obj) => {
|
|
21
|
+
for (const k in obj) {
|
|
22
|
+
localFn[k] = obj[k];
|
|
23
|
+
}
|
|
24
|
+
return localFn;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// src/initializers/addPropsToFn.ts
|
|
29
|
+
function addFnToProps(props, _clone_fn) {
|
|
30
|
+
return (fn2) => {
|
|
31
|
+
const localFn = (...args) => fn2(args);
|
|
32
|
+
for (const k in props) {
|
|
33
|
+
localFn[k] = props[k];
|
|
34
|
+
}
|
|
35
|
+
return localFn;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// src/initializers/createCssSelector.ts
|
|
40
|
+
function createCssSelector(_opt) {
|
|
41
|
+
return (...selectors) => {
|
|
42
|
+
return selectors.join(" ");
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// src/initializers/createFnWithProps.ts
|
|
47
|
+
function createFnWithProps(fn2, props, narrowing = false) {
|
|
48
|
+
const fnWithProps = fn2;
|
|
49
|
+
for (const prop of Object.keys(props)) {
|
|
50
|
+
fnWithProps[prop] = props[prop];
|
|
51
|
+
}
|
|
52
|
+
return isTrue(narrowing) ? fnWithProps : fnWithProps;
|
|
53
|
+
}
|
|
54
|
+
function createFnWithPropsExplicit(fn2, props) {
|
|
55
|
+
const fnWithProps = fn2;
|
|
56
|
+
for (const prop of Object.keys(props)) {
|
|
57
|
+
fnWithProps[prop] = props[prop];
|
|
58
|
+
}
|
|
59
|
+
return fnWithProps;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// src/initializers/defineObj.ts
|
|
63
|
+
function defineObj(literal2 = {}) {
|
|
64
|
+
return (wide2 = {}) => {
|
|
65
|
+
const obj = literal2 ? { ...literal2, ...wide2 } : wide2;
|
|
66
|
+
return obj;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// src/initializers/defineTuple.ts
|
|
71
|
+
function defineTuple(...values) {
|
|
72
|
+
return values.map(
|
|
73
|
+
(i) => isFunction(i) ? handleDoneFn(i(ShapeApiImplementation)) : i
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// src/api/objectToApi.ts
|
|
78
|
+
function objectToApi(obj, def = null) {
|
|
79
|
+
const transformed = Object.keys(obj).reduce(
|
|
80
|
+
(acc, key) => {
|
|
81
|
+
const val = obj[key];
|
|
82
|
+
return {
|
|
83
|
+
...acc,
|
|
84
|
+
[key]: () => val
|
|
85
|
+
};
|
|
86
|
+
},
|
|
87
|
+
{}
|
|
88
|
+
);
|
|
89
|
+
const api2 = {
|
|
90
|
+
__kind: "ObjectApi",
|
|
91
|
+
done: () => def,
|
|
92
|
+
...transformed
|
|
93
|
+
};
|
|
94
|
+
return api2;
|
|
95
|
+
}
|
|
96
|
+
function mapper() {
|
|
97
|
+
return (map2) => {
|
|
98
|
+
return (input) => {
|
|
99
|
+
const api2 = objectToApi(input);
|
|
100
|
+
const rtn = map2(api2);
|
|
101
|
+
return handleDoneFn(rtn);
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
function objectApi() {
|
|
106
|
+
return {
|
|
107
|
+
mapTo: (_defn) => ({
|
|
108
|
+
mapper: mapper()
|
|
109
|
+
}),
|
|
110
|
+
mapToWithType: () => mapper()
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
function defineObjectApi__Fn(_inputDefn) {
|
|
114
|
+
return objectApi();
|
|
115
|
+
}
|
|
116
|
+
var defineObjectApi__Prop = {
|
|
117
|
+
withType: () => {
|
|
118
|
+
return objectApi();
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
var defineObjectApi = createFnWithProps(
|
|
122
|
+
defineObjectApi__Fn,
|
|
123
|
+
defineObjectApi__Prop
|
|
124
|
+
);
|
|
125
|
+
|
|
17
126
|
// src/boolean-logic/ifArray.ts
|
|
18
127
|
function ifArray(val, isAnArray, isNotAnArray) {
|
|
19
128
|
return Array.isArray(val) ? isAnArray(val) : isNotAnArray(val);
|
|
@@ -2061,6 +2170,33 @@ function keysOf(container) {
|
|
|
2061
2170
|
return keys;
|
|
2062
2171
|
}
|
|
2063
2172
|
|
|
2173
|
+
// src/dictionary/narrowObjectTo.ts
|
|
2174
|
+
function callback() {
|
|
2175
|
+
return (cb) => {
|
|
2176
|
+
return (input) => cb(input);
|
|
2177
|
+
};
|
|
2178
|
+
}
|
|
2179
|
+
function narrowFn() {
|
|
2180
|
+
const fn2 = (obj) => obj;
|
|
2181
|
+
return fn2;
|
|
2182
|
+
}
|
|
2183
|
+
function narrowObjectTo(_defn) {
|
|
2184
|
+
return createFnWithPropsExplicit(
|
|
2185
|
+
narrowFn(),
|
|
2186
|
+
{
|
|
2187
|
+
asCallback: callback()
|
|
2188
|
+
}
|
|
2189
|
+
);
|
|
2190
|
+
}
|
|
2191
|
+
function narrowObjectToType() {
|
|
2192
|
+
return createFnWithPropsExplicit(
|
|
2193
|
+
narrowFn(),
|
|
2194
|
+
{
|
|
2195
|
+
asCallback: callback()
|
|
2196
|
+
}
|
|
2197
|
+
);
|
|
2198
|
+
}
|
|
2199
|
+
|
|
2064
2200
|
// src/dictionary/omit.ts
|
|
2065
2201
|
function omit(obj, ...removeKeys) {
|
|
2066
2202
|
const keys = Object.keys(obj);
|
|
@@ -2173,90 +2309,30 @@ function fnMeta(func) {
|
|
|
2173
2309
|
// src/functions/wrapFn.ts
|
|
2174
2310
|
var wrapFn = "NOT IMPLEMENTED";
|
|
2175
2311
|
|
|
2176
|
-
// src/initializers/addFnToProps.ts
|
|
2177
|
-
function addPropsToFn(fn2, clone_fn) {
|
|
2178
|
-
const localFn = clone_fn ? (...args) => fn2(args) : fn2;
|
|
2179
|
-
return (obj) => {
|
|
2180
|
-
for (const k in obj) {
|
|
2181
|
-
localFn[k] = obj[k];
|
|
2182
|
-
}
|
|
2183
|
-
return localFn;
|
|
2184
|
-
};
|
|
2185
|
-
}
|
|
2186
|
-
|
|
2187
|
-
// src/initializers/addPropsToFn.ts
|
|
2188
|
-
function addFnToProps(props, _clone_fn) {
|
|
2189
|
-
return (fn2) => {
|
|
2190
|
-
const localFn = (...args) => fn2(args);
|
|
2191
|
-
for (const k in props) {
|
|
2192
|
-
localFn[k] = props[k];
|
|
2193
|
-
}
|
|
2194
|
-
return localFn;
|
|
2195
|
-
};
|
|
2196
|
-
}
|
|
2197
|
-
|
|
2198
|
-
// src/initializers/createCssSelector.ts
|
|
2199
|
-
function createCssSelector(_opt) {
|
|
2200
|
-
return (...selectors) => {
|
|
2201
|
-
return selectors.join(" ");
|
|
2202
|
-
};
|
|
2203
|
-
}
|
|
2204
|
-
|
|
2205
|
-
// src/initializers/createFnWithProps.ts
|
|
2206
|
-
function createFnWithProps(fn2, props, narrowing = false) {
|
|
2207
|
-
const fnWithProps = fn2;
|
|
2208
|
-
for (const prop of Object.keys(props)) {
|
|
2209
|
-
fnWithProps[prop] = props[prop];
|
|
2210
|
-
}
|
|
2211
|
-
return isTrue(narrowing) ? fnWithProps : fnWithProps;
|
|
2212
|
-
}
|
|
2213
|
-
function createFnWithPropsExplicit(fn2, props) {
|
|
2214
|
-
const fnWithProps = fn2;
|
|
2215
|
-
for (const prop of Object.keys(props)) {
|
|
2216
|
-
fnWithProps[prop] = props[prop];
|
|
2217
|
-
}
|
|
2218
|
-
return fnWithProps;
|
|
2219
|
-
}
|
|
2220
|
-
|
|
2221
|
-
// src/initializers/defineObj.ts
|
|
2222
|
-
function defineObj(literal2 = {}) {
|
|
2223
|
-
return (wide2 = {}) => {
|
|
2224
|
-
const obj = literal2 ? { ...literal2, ...wide2 } : wide2;
|
|
2225
|
-
return obj;
|
|
2226
|
-
};
|
|
2227
|
-
}
|
|
2228
|
-
|
|
2229
|
-
// src/initializers/defineTuple.ts
|
|
2230
|
-
function defineTuple(...values) {
|
|
2231
|
-
return values.map(
|
|
2232
|
-
(i) => isFunction(i) ? handleDoneFn(i(ShapeApiImplementation)) : i
|
|
2233
|
-
);
|
|
2234
|
-
}
|
|
2235
|
-
|
|
2236
2312
|
// src/lists/asArray.ts
|
|
2237
2313
|
function asArray(thing) {
|
|
2238
2314
|
return Array.isArray(thing) === true ? thing : typeof thing === "undefined" ? [] : [thing];
|
|
2239
2315
|
}
|
|
2240
2316
|
|
|
2241
2317
|
// src/lists/createConverter.ts
|
|
2242
|
-
function createConverter(
|
|
2318
|
+
function createConverter(mapper2) {
|
|
2243
2319
|
return (input) => {
|
|
2244
2320
|
let result2;
|
|
2245
2321
|
if (isNothing(input)) {
|
|
2246
|
-
result2 =
|
|
2322
|
+
result2 = mapper2.nothing ? mapper2.nothing(input) : Never;
|
|
2247
2323
|
} else if (isObject(input)) {
|
|
2248
|
-
result2 =
|
|
2324
|
+
result2 = mapper2.object ? mapper2.object(input) : Never;
|
|
2249
2325
|
} else {
|
|
2250
2326
|
switch (typeof input) {
|
|
2251
2327
|
case "string":
|
|
2252
|
-
result2 =
|
|
2328
|
+
result2 = mapper2.string ? mapper2.string(input) : Never;
|
|
2253
2329
|
break;
|
|
2254
2330
|
case "number":
|
|
2255
2331
|
case "bigint":
|
|
2256
|
-
result2 =
|
|
2332
|
+
result2 = mapper2.number ? mapper2.number(input) : Never;
|
|
2257
2333
|
break;
|
|
2258
2334
|
case "boolean":
|
|
2259
|
-
result2 =
|
|
2335
|
+
result2 = mapper2.boolean ? mapper2.boolean(input) : Never;
|
|
2260
2336
|
break;
|
|
2261
2337
|
default:
|
|
2262
2338
|
throw new Error(`Unhandled type: ${typeof input}`);
|
|
@@ -2885,6 +2961,39 @@ function lookupCountryCode(token) {
|
|
|
2885
2961
|
return isNumberLike(token) ? lookupNumericCode(token, "countryCode") : isIso3166Alpha2(uc) ? lookupAlpha2Code(uc, "countryCode") : isIso3166Alpha3(uc) ? lookupAlpha3Code(uc, "countryCode") : isIso3166CountryName(token) ? lookupName(token, "countryCode") : void 0;
|
|
2886
2962
|
}
|
|
2887
2963
|
|
|
2964
|
+
// src/type-conversion/map/createMapper.ts
|
|
2965
|
+
function asMapper(fn2) {
|
|
2966
|
+
const props = {
|
|
2967
|
+
kind: "Mapper",
|
|
2968
|
+
map: (from) => {
|
|
2969
|
+
return from.map(fn2);
|
|
2970
|
+
}
|
|
2971
|
+
};
|
|
2972
|
+
return createFnWithPropsExplicit(fn2, props);
|
|
2973
|
+
}
|
|
2974
|
+
function createObjectMap() {
|
|
2975
|
+
return (map2) => {
|
|
2976
|
+
const fn2 = (input) => {
|
|
2977
|
+
return Object.keys(map2).reduce(
|
|
2978
|
+
(acc, key) => {
|
|
2979
|
+
const val = map2[key];
|
|
2980
|
+
return {
|
|
2981
|
+
...acc,
|
|
2982
|
+
[key]: isFunction(val) ? val(input) : val
|
|
2983
|
+
};
|
|
2984
|
+
},
|
|
2985
|
+
{}
|
|
2986
|
+
);
|
|
2987
|
+
};
|
|
2988
|
+
return fn2;
|
|
2989
|
+
};
|
|
2990
|
+
}
|
|
2991
|
+
function createMapper() {
|
|
2992
|
+
return (fn2) => {
|
|
2993
|
+
return asMapper(fn2);
|
|
2994
|
+
};
|
|
2995
|
+
}
|
|
2996
|
+
|
|
2888
2997
|
// src/type-conversion/mergeObjects.ts
|
|
2889
2998
|
function mergeObjects(defVal, override) {
|
|
2890
2999
|
const intersectingKeys = sharedKeys(defVal, override);
|
|
@@ -4869,12 +4978,15 @@ export {
|
|
|
4869
4978
|
createFnWithProps,
|
|
4870
4979
|
createFnWithPropsExplicit,
|
|
4871
4980
|
createLifoQueue,
|
|
4981
|
+
createMapper,
|
|
4982
|
+
createObjectMap,
|
|
4872
4983
|
createTypeToken,
|
|
4873
4984
|
cssColor,
|
|
4874
4985
|
csv,
|
|
4875
4986
|
defineCss,
|
|
4876
4987
|
defineObj,
|
|
4877
4988
|
defineObject,
|
|
4989
|
+
defineObjectApi,
|
|
4878
4990
|
defineTuple,
|
|
4879
4991
|
endsWith,
|
|
4880
4992
|
ensureLeading,
|
|
@@ -5193,7 +5305,10 @@ export {
|
|
|
5193
5305
|
mergeTuples,
|
|
5194
5306
|
nameLiteral,
|
|
5195
5307
|
narrow,
|
|
5308
|
+
narrowObjectTo,
|
|
5309
|
+
narrowObjectToType,
|
|
5196
5310
|
never,
|
|
5311
|
+
objectToApi,
|
|
5197
5312
|
omit,
|
|
5198
5313
|
optional,
|
|
5199
5314
|
optionalOrNull,
|