inferred-types 0.53.10 → 0.53.12
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 +1 -1
- package/modules/inferred-types/dist/index.cjs.map +1 -1
- package/modules/inferred-types/dist/index.d.ts +109 -36
- package/modules/inferred-types/dist/index.js +1 -1
- package/modules/inferred-types/dist/index.js.map +1 -1
- package/modules/runtime/dist/index.cjs +1 -1
- package/modules/runtime/dist/index.cjs.map +1 -1
- package/modules/runtime/dist/index.d.ts +76 -19
- package/modules/runtime/dist/index.js +1 -1
- package/modules/runtime/dist/index.js.map +1 -1
- package/modules/types/dist/index.d.ts +31 -15
- package/package.json +1 -1
|
@@ -624,6 +624,13 @@ interface Thenable {
|
|
|
624
624
|
}
|
|
625
625
|
|
|
626
626
|
type TupleRange = [required: number, optional: number];
|
|
627
|
+
type _Tuple<TType = unknown, TLength extends number | TupleRange | `${number}+` = 0> = 0 extends TLength ? TType extends any[] ? Readonly<TType> : readonly TType[] : TLength extends number ? Readonly<FixedLengthArray<TType, TLength>> : TLength extends TupleRange ? Readonly<[
|
|
628
|
+
...FixedLengthArray<TType, TLength[0]>,
|
|
629
|
+
...FixedLengthArray<TType | undefined, TLength[1]>
|
|
630
|
+
]> : TLength extends `${infer Num extends number}+` ? Num extends number ? Readonly<[
|
|
631
|
+
...FixedLengthArray<TType, Num>,
|
|
632
|
+
...TType[]
|
|
633
|
+
]> : never : never;
|
|
627
634
|
/**
|
|
628
635
|
* **Tuple**`<TType,TLength>`
|
|
629
636
|
*
|
|
@@ -639,13 +646,7 @@ type TupleRange = [required: number, optional: number];
|
|
|
639
646
|
* type T2 = Tuple<string, 4>;
|
|
640
647
|
* ```
|
|
641
648
|
*/
|
|
642
|
-
type Tuple<TType = unknown, TLength extends number | TupleRange | `${number}+` = 0> =
|
|
643
|
-
...FixedLengthArray<TType, TLength[0]>,
|
|
644
|
-
...FixedLengthArray<TType | undefined, TLength[1]>
|
|
645
|
-
]> : TLength extends `${infer Num extends number}+` ? Num extends number ? Readonly<[
|
|
646
|
-
...FixedLengthArray<TType, Num>,
|
|
647
|
-
...TType[]
|
|
648
|
-
]> : never : never;
|
|
649
|
+
type Tuple<TType = unknown, TLength extends number | TupleRange | `${number}+` = 0> = _Tuple<TType, TLength> extends readonly unknown[] ? _Tuple<TType, TLength> : never;
|
|
649
650
|
|
|
650
651
|
type Process$1x<TVal, TDefault> = TVal extends Something ? TVal : TDefault;
|
|
651
652
|
/**
|
|
@@ -9946,6 +9947,14 @@ type IterateOverDefinitions<T extends readonly unknown[], TElse> = {
|
|
|
9946
9947
|
[K in keyof T]: ToType$1<T[K], TElse>;
|
|
9947
9948
|
};
|
|
9948
9949
|
type TypeDefinition = NarrowableScalar | ShapeCallback;
|
|
9950
|
+
type _FromDefineObject<T extends Required<DefineObject>> = {
|
|
9951
|
+
[K in keyof T]: T[K] extends SimpleToken ? SimpleType<T[K]> : T[K] extends ShapeCallback ? ReturnType<HandleDoneFn<T[K]>> : never;
|
|
9952
|
+
};
|
|
9953
|
+
/**
|
|
9954
|
+
* Converts a `DefineObject` definition into the type that it is
|
|
9955
|
+
* defining.
|
|
9956
|
+
*/
|
|
9957
|
+
type FromDefineObject<T extends DefineObject> = MakeKeysOptional<_FromDefineObject<Required<T>>, UnionToTuple$1<OptionalKeys<T>> extends readonly ObjectKey[] ? UnionToTuple$1<OptionalKeys<T>> : never>;
|
|
9949
9958
|
/**
|
|
9950
9959
|
* **FromDefn**`<T, [TElse]>`
|
|
9951
9960
|
*
|
|
@@ -9961,9 +9970,7 @@ type TypeDefinition = NarrowableScalar | ShapeCallback;
|
|
|
9961
9970
|
* Note: when dictionary objects are found the _values_ will be
|
|
9962
9971
|
* interrogated for ShapeCallback's.
|
|
9963
9972
|
*/
|
|
9964
|
-
type FromDefn$1<T, TElse = Constant$1<"not-set">> = T extends DefineObject ?
|
|
9965
|
-
[K in keyof T]: T[K] extends SimpleToken ? SimpleType<T[K]> : T[K] extends ShapeCallback ? HandleDoneFn<T[K]> : never;
|
|
9966
|
-
} : T extends readonly unknown[] ? IterateOverDefinitions<T, TElse> : ToType$1<T, TElse>;
|
|
9973
|
+
type FromDefn$1<T, TElse = Constant$1<"not-set">> = T extends DefineObject ? FromDefineObject<T> : T extends readonly unknown[] ? IterateOverDefinitions<T, TElse> : ToType$1<T, TElse>;
|
|
9967
9974
|
|
|
9968
9975
|
type WideTokenNames = "string" | "number" | "boolean" | "null" | "undefined" | "never" | "unknown" | "string[]" | "number[]" | "boolean[]" | "unknown[]";
|
|
9969
9976
|
type ConvertWideTokenNames<T extends WideTokenNames> = T extends "string" ? string : T extends "number" ? number : T extends "boolean" ? boolean : T extends "null" ? null : T extends "undefined" ? undefined : T extends "never" ? never : T extends "unknown" ? unknown : T extends "string[]" ? string[] : T extends "number[]" ? number[] : T extends "boolean[]" ? boolean[] : T extends "unknown[]" ? unknown[] : never;
|
|
@@ -10291,6 +10298,48 @@ type Process$e<TObj extends Dictionary, TKeys extends ObjectKey> = [] extends TK
|
|
|
10291
10298
|
*/
|
|
10292
10299
|
type WithoutKeys<TObj extends Dictionary, TKeys extends ObjectKey | readonly ObjectKey[]> = TKeys extends readonly ObjectKey[] ? Process$e<TObj, TupleToUnion<TKeys>> : ExpandDictionary<Process$e<TObj, TKeys extends readonly ObjectKey[] ? TupleToUnion<TKeys> : TKeys>>;
|
|
10293
10300
|
|
|
10301
|
+
type ProcessTupleKeys<TObj extends AnyObject, TKeys extends readonly ObjectKey[]> = ExpandDictionary<WithoutKeys<TObj, TKeys> & {
|
|
10302
|
+
[K in keyof WithKeys<TObj, TKeys>]?: K extends keyof TObj ? TObj[K] : never;
|
|
10303
|
+
}>;
|
|
10304
|
+
type ProcessUnionKeys<TObj extends AnyObject, TKeys extends (string | symbol)> = ExpandDictionary<WithoutKeys<TObj, TKeys> & {
|
|
10305
|
+
[K in keyof WithKeys<TObj, TKeys>]?: K extends keyof TObj ? TObj[K] : never;
|
|
10306
|
+
}>;
|
|
10307
|
+
/**
|
|
10308
|
+
* **MakeKeysOptional**`<TObj, TKeys>`
|
|
10309
|
+
*
|
|
10310
|
+
* Makes a set of keys on a known object `TObj` become
|
|
10311
|
+
* _optional_ parameters while leaving the other properties
|
|
10312
|
+
* "as is".
|
|
10313
|
+
*
|
|
10314
|
+
* **Related:** `MakeKeysRequired`
|
|
10315
|
+
*/
|
|
10316
|
+
type MakeKeysOptional<TObj extends AnyObject, TKeys extends (string | symbol) | readonly ObjectKey[]> = IsWideContainer<TObj> extends true ? TObj : TKeys extends readonly ObjectKey[] ? ProcessTupleKeys<TObj, TKeys> : TKeys extends (string | symbol) ? IsWideUnion<TKeys> extends true ? never : ProcessUnionKeys<TObj, TKeys> : never;
|
|
10317
|
+
|
|
10318
|
+
/**
|
|
10319
|
+
* **OptionalKeys**`<T,[V]>`
|
|
10320
|
+
*
|
|
10321
|
+
* Provides a union type of the _keys_ in `T` which are
|
|
10322
|
+
* **optional** properties.
|
|
10323
|
+
*
|
|
10324
|
+
* **Note:** you also may optionally filter further by specifying a value
|
|
10325
|
+
* by the _value_ of the key and then only keys which are required AND
|
|
10326
|
+
* who extend `V` will be included in the union.
|
|
10327
|
+
*
|
|
10328
|
+
* **Related:** `OptionalKeys`, `RequiredProps` * Provides a union type of the _keys_ in `T` which are
|
|
10329
|
+
* **required** properties.
|
|
10330
|
+
*
|
|
10331
|
+
* **Note:** you also may optionally filter further by specifying a value
|
|
10332
|
+
* by the _value_ of the key and then only keys which are required AND
|
|
10333
|
+
* who extend `V` will be included in the union.
|
|
10334
|
+
*
|
|
10335
|
+
* **Related:** `RequiredKeys`, `RequiredProps`
|
|
10336
|
+
*/
|
|
10337
|
+
type OptionalKeys<T extends AnyObject, V = Unset> = {
|
|
10338
|
+
[K in keyof T]-?: EmptyObject extends {
|
|
10339
|
+
[P in K]: T[K];
|
|
10340
|
+
} ? If<IsEqual<V, Unset>, K, K extends V ? K : never> : never;
|
|
10341
|
+
}[keyof T];
|
|
10342
|
+
|
|
10294
10343
|
/**
|
|
10295
10344
|
* **CombinedKeys**`<A,B>`
|
|
10296
10345
|
*
|
|
@@ -10797,7 +10846,9 @@ type TypeTuple<TType extends Narrowable = Narrowable, TDesc extends string = str
|
|
|
10797
10846
|
*
|
|
10798
10847
|
* - typically used though a function of type `DefineObjectApi`
|
|
10799
10848
|
*/
|
|
10800
|
-
|
|
10849
|
+
interface DefineObject {
|
|
10850
|
+
[key: string]: SimpleToken | ShapeCallback;
|
|
10851
|
+
}
|
|
10801
10852
|
|
|
10802
10853
|
type BuildObj<T extends readonly string[] | Dictionary | [Dictionary], TType> = T extends Dictionary ? T : T extends [Dictionary] ? T[0] : T extends string[] ? CreateKV<T, TType> : never;
|
|
10803
10854
|
/**
|
|
@@ -11355,6 +11406,7 @@ declare function getYesterday(): Iso8601Date<"explicit">;
|
|
|
11355
11406
|
*/
|
|
11356
11407
|
declare function isLeapYear(val: NumberLike | Record<string, any> | Date | number): boolean;
|
|
11357
11408
|
|
|
11409
|
+
type Returns$1<T extends DefineObject, P extends readonly (keyof T & string)[]> = P["length"] extends 0 ? FromDefineObject<T> : MakeKeysOptional<T, P> extends DefineObject ? FromDefineObject<MakeKeysOptional<T, P>> : never;
|
|
11358
11410
|
/**
|
|
11359
11411
|
* Takes an object definition where the values are either
|
|
11360
11412
|
* `SimpleToken` representations of a type or a `ShapeCallback`.
|
|
@@ -11362,7 +11414,7 @@ declare function isLeapYear(val: NumberLike | Record<string, any> | Date | numbe
|
|
|
11362
11414
|
* In both cases the runtime type is left unchanged but the
|
|
11363
11415
|
* type is converted to represent the designed object shape.
|
|
11364
11416
|
*/
|
|
11365
|
-
declare function defineObject<T extends DefineObject>(defn: T):
|
|
11417
|
+
declare function defineObject<T extends DefineObject, P extends readonly (keyof T & string)[]>(defn: T, ..._optProps: P): Returns$1<T, P>;
|
|
11366
11418
|
|
|
11367
11419
|
/**
|
|
11368
11420
|
* **entries**
|
|
@@ -13330,8 +13382,10 @@ declare function isArray(value: unknown): value is unknown[];
|
|
|
13330
13382
|
* **isBoolean**(value)
|
|
13331
13383
|
*
|
|
13332
13384
|
* Type guard which validates that type is a boolean value.
|
|
13385
|
+
*
|
|
13386
|
+
* **Related:** `isBooleanLike()`
|
|
13333
13387
|
*/
|
|
13334
|
-
declare function isBoolean
|
|
13388
|
+
declare function isBoolean(value: unknown): value is boolean;
|
|
13335
13389
|
|
|
13336
13390
|
/**
|
|
13337
13391
|
* **isBooleanLike**`(val)`
|
|
@@ -13405,17 +13459,20 @@ declare function isFalse(i: unknown): i is false;
|
|
|
13405
13459
|
declare function isFalsy<V extends Narrowable>(val: V): val is V & FalsyValue;
|
|
13406
13460
|
|
|
13407
13461
|
/**
|
|
13408
|
-
* **
|
|
13462
|
+
* **isFnWithParams**(input, [...params | count])
|
|
13409
13463
|
*
|
|
13410
13464
|
* Type guard which checks whether a give variable is a function
|
|
13411
13465
|
* which contains at least one parameter.
|
|
13412
13466
|
*
|
|
13413
|
-
* -
|
|
13414
|
-
*
|
|
13467
|
+
* - the optional second parameter may be used to express the **types** of
|
|
13468
|
+
* the expected parameters or just the expected **count** of parameters
|
|
13469
|
+
* - if you set the parameter types, it will check that the
|
|
13470
|
+
* correct amount of parameters are set but can only _assume_ the types of
|
|
13471
|
+
* the parameters are as you have expressed
|
|
13415
13472
|
*/
|
|
13416
|
-
declare function isFnWithParams<T, P extends readonly SimpleToken[]>(input: T, ...params: P): input is T & AsNarrowingFn<
|
|
13473
|
+
declare function isFnWithParams<T, P extends (readonly SimpleToken[]) | [number]>(input: T, ...params: P): input is T & AsNarrowingFn<"length" extends keyof T ? T["length"] extends 0 ? IsLiteral<P["length"]> extends true ? Tuple<any, P["length"]> : [any, ...any[]] : [any, ...any[]] : P extends readonly SimpleToken[] ? {
|
|
13417
13474
|
[K in keyof P]: SimpleType<P[K]>;
|
|
13418
|
-
}, T extends TypedFunction ? ReturnType<T> : unknown>;
|
|
13475
|
+
} : P extends [number] ? Tuple<any, P[0]> : never, T extends TypedFunction ? ReturnType<T> : unknown>;
|
|
13419
13476
|
|
|
13420
13477
|
/**
|
|
13421
13478
|
* **isFunction**(value)
|
|
@@ -13424,7 +13481,7 @@ declare function isFnWithParams<T, P extends readonly SimpleToken[]>(input: T, .
|
|
|
13424
13481
|
*
|
|
13425
13482
|
* **Related:** `isFnWithParams`, `ifFunction`
|
|
13426
13483
|
*/
|
|
13427
|
-
declare function isFunction
|
|
13484
|
+
declare function isFunction(value: unknown): value is TypedFunction;
|
|
13428
13485
|
|
|
13429
13486
|
/**
|
|
13430
13487
|
* **isHexadecimal**`(val)`
|