inferred-types 0.53.10 → 0.53.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/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 +74 -15
- 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 +56 -5
- package/modules/runtime/dist/index.js +1 -1
- package/modules/runtime/dist/index.js.map +1 -1
- package/modules/types/dist/index.d.ts +16 -8
- package/package.json +1 -1
|
@@ -9946,6 +9946,14 @@ type IterateOverDefinitions<T extends readonly unknown[], TElse> = {
|
|
|
9946
9946
|
[K in keyof T]: ToType$1<T[K], TElse>;
|
|
9947
9947
|
};
|
|
9948
9948
|
type TypeDefinition = NarrowableScalar | ShapeCallback;
|
|
9949
|
+
type _FromDefineObject<T extends Required<DefineObject>> = {
|
|
9950
|
+
[K in keyof T]: T[K] extends SimpleToken ? SimpleType<T[K]> : T[K] extends ShapeCallback ? ReturnType<HandleDoneFn<T[K]>> : never;
|
|
9951
|
+
};
|
|
9952
|
+
/**
|
|
9953
|
+
* Converts a `DefineObject` definition into the type that it is
|
|
9954
|
+
* defining.
|
|
9955
|
+
*/
|
|
9956
|
+
type FromDefineObject<T extends DefineObject> = MakeKeysOptional<_FromDefineObject<Required<T>>, UnionToTuple$1<OptionalKeys<T>> extends readonly ObjectKey[] ? UnionToTuple$1<OptionalKeys<T>> : never>;
|
|
9949
9957
|
/**
|
|
9950
9958
|
* **FromDefn**`<T, [TElse]>`
|
|
9951
9959
|
*
|
|
@@ -9961,9 +9969,7 @@ type TypeDefinition = NarrowableScalar | ShapeCallback;
|
|
|
9961
9969
|
* Note: when dictionary objects are found the _values_ will be
|
|
9962
9970
|
* interrogated for ShapeCallback's.
|
|
9963
9971
|
*/
|
|
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>;
|
|
9972
|
+
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
9973
|
|
|
9968
9974
|
type WideTokenNames = "string" | "number" | "boolean" | "null" | "undefined" | "never" | "unknown" | "string[]" | "number[]" | "boolean[]" | "unknown[]";
|
|
9969
9975
|
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 +10297,48 @@ type Process$e<TObj extends Dictionary, TKeys extends ObjectKey> = [] extends TK
|
|
|
10291
10297
|
*/
|
|
10292
10298
|
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
10299
|
|
|
10300
|
+
type ProcessTupleKeys<TObj extends AnyObject, TKeys extends readonly ObjectKey[]> = ExpandDictionary<WithoutKeys<TObj, TKeys> & {
|
|
10301
|
+
[K in keyof WithKeys<TObj, TKeys>]?: K extends keyof TObj ? TObj[K] : never;
|
|
10302
|
+
}>;
|
|
10303
|
+
type ProcessUnionKeys<TObj extends AnyObject, TKeys extends (string | symbol)> = ExpandDictionary<WithoutKeys<TObj, TKeys> & {
|
|
10304
|
+
[K in keyof WithKeys<TObj, TKeys>]?: K extends keyof TObj ? TObj[K] : never;
|
|
10305
|
+
}>;
|
|
10306
|
+
/**
|
|
10307
|
+
* **MakeKeysOptional**`<TObj, TKeys>`
|
|
10308
|
+
*
|
|
10309
|
+
* Makes a set of keys on a known object `TObj` become
|
|
10310
|
+
* _optional_ parameters while leaving the other properties
|
|
10311
|
+
* "as is".
|
|
10312
|
+
*
|
|
10313
|
+
* **Related:** `MakeKeysRequired`
|
|
10314
|
+
*/
|
|
10315
|
+
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;
|
|
10316
|
+
|
|
10317
|
+
/**
|
|
10318
|
+
* **OptionalKeys**`<T,[V]>`
|
|
10319
|
+
*
|
|
10320
|
+
* Provides a union type of the _keys_ in `T` which are
|
|
10321
|
+
* **optional** properties.
|
|
10322
|
+
*
|
|
10323
|
+
* **Note:** you also may optionally filter further by specifying a value
|
|
10324
|
+
* by the _value_ of the key and then only keys which are required AND
|
|
10325
|
+
* who extend `V` will be included in the union.
|
|
10326
|
+
*
|
|
10327
|
+
* **Related:** `OptionalKeys`, `RequiredProps` * Provides a union type of the _keys_ in `T` which are
|
|
10328
|
+
* **required** properties.
|
|
10329
|
+
*
|
|
10330
|
+
* **Note:** you also may optionally filter further by specifying a value
|
|
10331
|
+
* by the _value_ of the key and then only keys which are required AND
|
|
10332
|
+
* who extend `V` will be included in the union.
|
|
10333
|
+
*
|
|
10334
|
+
* **Related:** `RequiredKeys`, `RequiredProps`
|
|
10335
|
+
*/
|
|
10336
|
+
type OptionalKeys<T extends AnyObject, V = Unset> = {
|
|
10337
|
+
[K in keyof T]-?: EmptyObject extends {
|
|
10338
|
+
[P in K]: T[K];
|
|
10339
|
+
} ? If<IsEqual<V, Unset>, K, K extends V ? K : never> : never;
|
|
10340
|
+
}[keyof T];
|
|
10341
|
+
|
|
10294
10342
|
/**
|
|
10295
10343
|
* **CombinedKeys**`<A,B>`
|
|
10296
10344
|
*
|
|
@@ -10797,7 +10845,9 @@ type TypeTuple<TType extends Narrowable = Narrowable, TDesc extends string = str
|
|
|
10797
10845
|
*
|
|
10798
10846
|
* - typically used though a function of type `DefineObjectApi`
|
|
10799
10847
|
*/
|
|
10800
|
-
|
|
10848
|
+
interface DefineObject {
|
|
10849
|
+
[key: string]: SimpleToken | ShapeCallback;
|
|
10850
|
+
}
|
|
10801
10851
|
|
|
10802
10852
|
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
10853
|
/**
|
|
@@ -11355,6 +11405,7 @@ declare function getYesterday(): Iso8601Date<"explicit">;
|
|
|
11355
11405
|
*/
|
|
11356
11406
|
declare function isLeapYear(val: NumberLike | Record<string, any> | Date | number): boolean;
|
|
11357
11407
|
|
|
11408
|
+
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
11409
|
/**
|
|
11359
11410
|
* Takes an object definition where the values are either
|
|
11360
11411
|
* `SimpleToken` representations of a type or a `ShapeCallback`.
|
|
@@ -11362,7 +11413,7 @@ declare function isLeapYear(val: NumberLike | Record<string, any> | Date | numbe
|
|
|
11362
11413
|
* In both cases the runtime type is left unchanged but the
|
|
11363
11414
|
* type is converted to represent the designed object shape.
|
|
11364
11415
|
*/
|
|
11365
|
-
declare function defineObject<T extends DefineObject>(defn: T):
|
|
11416
|
+
declare function defineObject<T extends DefineObject, P extends readonly (keyof T & string)[]>(defn: T, ..._optProps: P): Returns$1<T, P>;
|
|
11366
11417
|
|
|
11367
11418
|
/**
|
|
11368
11419
|
* **entries**
|