@warp-drive-types/core-types 0.0.0-beta.5 → 0.0.0-beta.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/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
declare module '@warp-drive/core-types/record' {
|
|
2
|
-
import type {
|
|
2
|
+
import type { Type } from '@warp-drive/core-types/symbols';
|
|
3
3
|
/**
|
|
4
4
|
* Records may be anything, They don't even
|
|
5
5
|
* have to be objects.
|
|
6
6
|
*
|
|
7
|
-
* Whatever they are, if they have a
|
|
7
|
+
* Whatever they are, if they have a Type
|
|
8
8
|
* property, that property will be used by EmberData
|
|
9
9
|
* and WarpDrive to provide better type safety and
|
|
10
10
|
* intellisense.
|
|
@@ -24,32 +24,32 @@ declare module '@warp-drive/core-types/record' {
|
|
|
24
24
|
* take advantage of this to provide better type
|
|
25
25
|
* safety and intellisense.
|
|
26
26
|
*
|
|
27
|
-
* @property {
|
|
27
|
+
* @property {Type} [Type]
|
|
28
28
|
* @type {string}
|
|
29
29
|
* @typedoc
|
|
30
30
|
*/
|
|
31
|
-
[
|
|
31
|
+
[Type]: string;
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
|
-
* A type utility that extracts the
|
|
34
|
+
* A type utility that extracts the Type if available,
|
|
35
35
|
* otherwise it returns never.
|
|
36
36
|
*
|
|
37
37
|
* @typedoc
|
|
38
38
|
*/
|
|
39
|
-
export type TypeFromInstance<T> = T extends TypedRecordInstance ? T[typeof
|
|
39
|
+
export type TypeFromInstance<T> = T extends TypedRecordInstance ? T[typeof Type] : never;
|
|
40
40
|
/**
|
|
41
|
-
* A type utility that extracts the
|
|
41
|
+
* A type utility that extracts the Type if available,
|
|
42
42
|
* otherwise it returns string
|
|
43
43
|
*
|
|
44
44
|
* @typedoc
|
|
45
45
|
*/
|
|
46
|
-
export type TypeFromInstanceOrString<T> = T extends TypedRecordInstance ? T[typeof
|
|
46
|
+
export type TypeFromInstanceOrString<T> = T extends TypedRecordInstance ? T[typeof Type] : string;
|
|
47
47
|
type IsUniqueSymbol<T> = T extends `___(unique) Symbol(${string})` ? true : false;
|
|
48
48
|
type Unpacked<T> = T extends (infer U)[] ? U : T;
|
|
49
49
|
type NONE = {
|
|
50
50
|
__NONE: never;
|
|
51
51
|
};
|
|
52
|
-
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
|
|
52
|
+
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 Type] : Pre : V extends Ignore ? IncludePrefix extends false ? V[typeof Type] : Pre : IS_MAX_DEPTH<DEPTH, MAX_DEPTH> extends true ? Pre : ExtractUnion<MAX_DEPTH, V, IncludePrefix, Ignore | T, Pre, INC_DEPTH<DEPTH>>;
|
|
53
53
|
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;
|
|
54
54
|
type _ExtractUnion<MAX_DEPTH extends _DEPTHCOUNT, T extends TypedRecordInstance, IncludePrefix extends boolean, Ignore, Pre, DEPTH extends _DEPTHCOUNT> = {
|
|
55
55
|
[K in keyof T]: IsUniqueSymbol<K> extends true ? never : K extends string ? __ExtractIfRecord<MAX_DEPTH, T, Unpacked<Awaited<T[K]>>, IncludePrefix, Ignore, Pre extends string ? `${Pre}.${K}` : K, DEPTH> : never;
|
|
@@ -74,7 +74,7 @@ declare module '@warp-drive/core-types/record' {
|
|
|
74
74
|
*/
|
|
75
75
|
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
|
|
76
76
|
_ExtractUnion<MAX_DEPTH, T, IncludePrefix, Ignore, Pre, DEPTH> | Pre : // Else we just union the types.
|
|
77
|
-
_ExtractUnion<MAX_DEPTH, T, IncludePrefix, Ignore, Pre, DEPTH> | T[typeof
|
|
77
|
+
_ExtractUnion<MAX_DEPTH, T, IncludePrefix, Ignore, Pre, DEPTH> | T[typeof Type], NONE>;
|
|
78
78
|
type _DEPTHCOUNT = 1 | 2 | 3 | 4 | 5;
|
|
79
79
|
type INC_DEPTH<START extends _DEPTHCOUNT> = START extends 1 ? 2 : START extends 2 ? 3 : START extends 3 ? 4 : 5;
|
|
80
80
|
type IS_MAX_DEPTH<DEPTH extends _DEPTHCOUNT, MAX_DEPTH extends _DEPTHCOUNT = DEFAULT_MAX_DEPTH> = DEPTH extends MAX_DEPTH ? true : false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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"}
|