@warp-drive-types/core-types 0.0.0-alpha.49 → 0.0.0-alpha.50
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/package.json
CHANGED
|
@@ -48,10 +48,10 @@ declare module '@warp-drive/core-types/record' {
|
|
|
48
48
|
type NONE = {
|
|
49
49
|
__NONE: never;
|
|
50
50
|
};
|
|
51
|
-
type __InternalExtract<T extends TypedRecordInstance, V extends TypedRecordInstance, IncludePrefix extends boolean, Ignore, Pre extends string> = V extends T ? IncludePrefix extends false ? V[typeof ResourceType] : Pre : V extends Ignore ? IncludePrefix extends false ? V[typeof ResourceType] : Pre : ExtractUnion<V, IncludePrefix, Ignore | T, Pre
|
|
52
|
-
type __ExtractIfRecord<T extends TypedRecordInstance, V, IncludePrefix extends boolean, Ignore, Pre extends string> = V extends TypedRecordInstance ? __InternalExtract<T, V, IncludePrefix, Ignore, Pre> : never;
|
|
53
|
-
type _ExtractUnion<T extends TypedRecordInstance, IncludePrefix extends boolean, Ignore, Pre> = {
|
|
54
|
-
[K in keyof T]: K extends string ? __ExtractIfRecord<T, Unpacked<Awaited<T[K]>>, IncludePrefix, Ignore, Pre extends string ? `${Pre}.${K}` : K> : never;
|
|
51
|
+
type __InternalExtract<MAX_DEPTH extends _DEPTHCOUNT, T extends TypedRecordInstance, V extends TypedRecordInstance, IncludePrefix extends boolean, Ignore, Pre extends string, DEPTH extends _DEPTHCOUNT> = V extends T ? IncludePrefix extends false ? V[typeof ResourceType] : Pre : V extends Ignore ? IncludePrefix extends false ? V[typeof ResourceType] : Pre : IS_MAX_DEPTH<DEPTH, MAX_DEPTH> extends true ? Pre : ExtractUnion<MAX_DEPTH, V, IncludePrefix, Ignore | T, Pre, INC_DEPTH<DEPTH>>;
|
|
52
|
+
type __ExtractIfRecord<MAX_DEPTH extends _DEPTHCOUNT, T extends TypedRecordInstance, V, IncludePrefix extends boolean, Ignore, Pre extends string, DEPTH extends _DEPTHCOUNT> = V extends TypedRecordInstance ? __InternalExtract<MAX_DEPTH, T, V, IncludePrefix, Ignore, Pre, DEPTH> : never;
|
|
53
|
+
type _ExtractUnion<MAX_DEPTH extends _DEPTHCOUNT, T extends TypedRecordInstance, IncludePrefix extends boolean, Ignore, Pre, DEPTH extends _DEPTHCOUNT> = {
|
|
54
|
+
[K in keyof T]: K extends string ? __ExtractIfRecord<MAX_DEPTH, T, Unpacked<Awaited<T[K]>>, IncludePrefix, Ignore, Pre extends string ? `${Pre}.${K}` : K, DEPTH> : never;
|
|
55
55
|
}[keyof T];
|
|
56
56
|
/**
|
|
57
57
|
* A Utility that extracts either resource types or resource paths from a TypedRecordInstance.
|
|
@@ -71,16 +71,20 @@ declare module '@warp-drive/core-types/record' {
|
|
|
71
71
|
*
|
|
72
72
|
* @typedoc
|
|
73
73
|
*/
|
|
74
|
-
type ExtractUnion<T extends TypedRecordInstance, IncludePrefix extends boolean = false, Ignore = NONE, Pre = NONE> = Exclude<IncludePrefix extends true ? // if we want to include prefix, we union with the prefix. Outer Exclude will filter any "NONE" types
|
|
75
|
-
_ExtractUnion<T, IncludePrefix, Ignore, Pre> | Pre : // Else we just union the types.
|
|
76
|
-
_ExtractUnion<T, IncludePrefix, Ignore, Pre> | T[typeof ResourceType], NONE>;
|
|
74
|
+
type ExtractUnion<MAX_DEPTH extends _DEPTHCOUNT, T extends TypedRecordInstance, IncludePrefix extends boolean = false, Ignore = NONE, Pre = NONE, DEPTH extends _DEPTHCOUNT = 1> = Exclude<IncludePrefix extends true ? // if we want to include prefix, we union with the prefix. Outer Exclude will filter any "NONE" types
|
|
75
|
+
_ExtractUnion<MAX_DEPTH, T, IncludePrefix, Ignore, Pre, DEPTH> | Pre : // Else we just union the types.
|
|
76
|
+
_ExtractUnion<MAX_DEPTH, T, IncludePrefix, Ignore, Pre, DEPTH> | T[typeof ResourceType], NONE>;
|
|
77
|
+
type _DEPTHCOUNT = 1 | 2 | 3 | 4 | 5;
|
|
78
|
+
type INC_DEPTH<START extends _DEPTHCOUNT> = START extends 1 ? 2 : START extends 2 ? 3 : START extends 3 ? 4 : 5;
|
|
79
|
+
type IS_MAX_DEPTH<DEPTH extends _DEPTHCOUNT, MAX_DEPTH extends _DEPTHCOUNT = DEFAULT_MAX_DEPTH> = DEPTH extends MAX_DEPTH ? true : false;
|
|
80
|
+
type DEFAULT_MAX_DEPTH = 3;
|
|
77
81
|
/**
|
|
78
82
|
* A utility that provides the union of all ResourceName for all potential
|
|
79
83
|
* includes for the given TypedRecordInstance.
|
|
80
84
|
*
|
|
81
85
|
* @typedoc
|
|
82
86
|
*/
|
|
83
|
-
export type ExtractSuggestedCacheTypes<T extends TypedRecordInstance> = ExtractUnion<T>;
|
|
87
|
+
export type ExtractSuggestedCacheTypes<T extends TypedRecordInstance, MAX_DEPTH extends _DEPTHCOUNT = DEFAULT_MAX_DEPTH> = ExtractUnion<MAX_DEPTH, T>;
|
|
84
88
|
/**
|
|
85
89
|
* A utility that provides the union type of all valid include paths for the given
|
|
86
90
|
* TypedRecordInstance.
|
|
@@ -89,7 +93,7 @@ declare module '@warp-drive/core-types/record' {
|
|
|
89
93
|
*
|
|
90
94
|
* @typedoc
|
|
91
95
|
*/
|
|
92
|
-
export type Includes<T extends TypedRecordInstance> = ExtractUnion<T, true>;
|
|
96
|
+
export type Includes<T extends TypedRecordInstance, MAX_DEPTH extends _DEPTHCOUNT = DEFAULT_MAX_DEPTH> = ExtractUnion<MAX_DEPTH, T, true>;
|
|
93
97
|
export {};
|
|
94
98
|
}
|
|
95
99
|
//# sourceMappingURL=record.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;;;;OAcG;IACH,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,mBAAmB,GAAG,CAAC,CAAC,OAAO,YAAY,CAAC,GAAG,KAAK,CAAC;AAEjG;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,CAAC,SAAS,mBAAmB,GAAG,CAAC,CAAC,OAAO,YAAY,CAAC,GAAG,MAAM,CAAC;AAE1G,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACjD,KAAK,IAAI,GAAG;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,CAAC;AAE9B,KAAK,iBAAiB,CACpB,CAAC,SAAS,mBAAmB,EAC7B,CAAC,SAAS,mBAAmB,EAC7B,aAAa,SAAS,OAAO,EAC7B,MAAM,EACN,GAAG,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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"}
|