mol_type_all 0.0.1820 → 0.0.1822
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 +1 -1
- package/web.d.ts +189 -0
- package/web.d.ts.map +1 -1
package/package.json
CHANGED
package/web.d.ts
CHANGED
|
@@ -1,3 +1,192 @@
|
|
|
1
|
+
declare let _$_: {
|
|
2
|
+
new (): {};
|
|
3
|
+
} & typeof globalThis;
|
|
4
|
+
declare class $ extends _$_ {
|
|
5
|
+
}
|
|
6
|
+
declare namespace $ {
|
|
7
|
+
export type $ = typeof $$;
|
|
8
|
+
export class $$ extends $ {
|
|
9
|
+
static $: $;
|
|
10
|
+
}
|
|
11
|
+
namespace $$ {
|
|
12
|
+
type $$ = $;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
declare namespace $ {
|
|
18
|
+
type $mol_type_equals<A, B> = (<X>() => X extends A ? 1 : 2) extends (<X>() => X extends B ? 1 : 2) ? unknown : never;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
declare namespace $ {
|
|
22
|
+
type $mol_type_error<Message, Info = {}> = Message & {
|
|
23
|
+
$mol_type_error: Info;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
declare namespace $ {
|
|
28
|
+
type $mol_type_assert<Actual, Expected extends $mol_type_equals<Actual, Expected> | $mol_type_error<'Assert failed', {
|
|
29
|
+
actual: Actual;
|
|
30
|
+
expected: Expected;
|
|
31
|
+
}>> = Actual;
|
|
32
|
+
type $mol_type_assert_never<Actual extends never> = Actual;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
declare namespace $ {
|
|
36
|
+
type $mol_type_tail<Tuple extends readonly any[]> = ((...tail: Tuple) => any) extends ((head: any, ...tail: infer Tail) => any) ? Tail : never;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
declare namespace $ {
|
|
40
|
+
type $mol_type_append<Tuple extends readonly any[], Item extends any> = [...Tuple, Item];
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
declare namespace $ {
|
|
44
|
+
type $mol_type_head<Tuple extends readonly any[]> = Tuple['length'] extends 0 ? never : Tuple[0];
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
declare namespace $ {
|
|
48
|
+
type Parse<Str extends string, Res extends Int = Zero> = Str extends `${infer Letter extends keyof Digits}${infer Tail}` ? Parse<Tail, Plus<[
|
|
49
|
+
Mult<[Res, Ten]>,
|
|
50
|
+
Digit<Letter>
|
|
51
|
+
]>> : Res;
|
|
52
|
+
type Check<Value> = Parse<`${Extract<Value, number | string>}`> extends never ? $mol_type_error<'Is not Int'> : number | string;
|
|
53
|
+
type Digits = {
|
|
54
|
+
'0': 0;
|
|
55
|
+
'1': 1;
|
|
56
|
+
'2': 2;
|
|
57
|
+
'3': 3;
|
|
58
|
+
'4': 4;
|
|
59
|
+
'5': 5;
|
|
60
|
+
'6': 6;
|
|
61
|
+
'7': 7;
|
|
62
|
+
'8': 8;
|
|
63
|
+
'9': 9;
|
|
64
|
+
};
|
|
65
|
+
type Digit<Letter extends string> = Up<Digits[Extract<Letter, keyof Digits>]>;
|
|
66
|
+
type Int = unknown[];
|
|
67
|
+
type Pair = [Int, Int];
|
|
68
|
+
type Zero = [];
|
|
69
|
+
type One = [0];
|
|
70
|
+
type Ten = Up<10>;
|
|
71
|
+
type Down<Value extends Int> = Value["length"];
|
|
72
|
+
type Up<Value extends number, Res extends Int = Zero> = Value extends Down<Res> ? Res : Up<Value, Next<Res>>;
|
|
73
|
+
type Next<Value extends Int> = Plus<[Value, One]>;
|
|
74
|
+
type Prev<Value extends Int> = Minus<[Value, One]>;
|
|
75
|
+
export type $mol_type_int_plus<Left extends Check<Left>, Right extends Check<Right>> = Down<Plus<[
|
|
76
|
+
Parse<`${Left}`>,
|
|
77
|
+
Parse<`${Right}`>
|
|
78
|
+
]>>;
|
|
79
|
+
type Plus<Arg extends Pair> = [...Arg[0], ...Arg[1]];
|
|
80
|
+
export type $mol_type_int_minus<Left extends Check<Left>, Right extends Check<Right>> = Down<Minus<[
|
|
81
|
+
Parse<`${Left}`>,
|
|
82
|
+
Parse<`${Right}`>
|
|
83
|
+
]>>;
|
|
84
|
+
type Minus<Arg extends Pair> = Arg[0] extends [...Arg[1], ...infer Res] ? Extract<Res, Int> : never;
|
|
85
|
+
export type $mol_type_int_mult<Left extends Check<Left>, Right extends Check<Right>> = Down<Mult<[
|
|
86
|
+
Parse<`${Left}`>,
|
|
87
|
+
Parse<`${Right}`>
|
|
88
|
+
]>>;
|
|
89
|
+
type Mult<Arg extends Pair, Res extends Int = Zero> = Arg[1] extends Zero ? Res : Mult<[
|
|
90
|
+
Arg[0],
|
|
91
|
+
Prev<Arg[1]>
|
|
92
|
+
], Plus<[Res, Arg[0]]>>;
|
|
93
|
+
export type $mol_type_int_pow<Left extends Check<Left>, Right extends Check<Right>> = Down<Pow<[
|
|
94
|
+
Parse<`${Left}`>,
|
|
95
|
+
Parse<`${Right}`>
|
|
96
|
+
]>>;
|
|
97
|
+
type Pow<Arg extends Pair, Res extends Int = One> = Arg[1] extends Zero ? Res : Pow<[
|
|
98
|
+
Arg[0],
|
|
99
|
+
Prev<Arg[1]>
|
|
100
|
+
], Mult<[Res, Arg[0]]>>;
|
|
101
|
+
export type $mol_type_int_range<Lo extends Check<Lo>, Hi extends Check<Hi>> = Down<Range<[
|
|
102
|
+
Parse<`${Lo}`>,
|
|
103
|
+
Parse<`${Hi}`>
|
|
104
|
+
]>>;
|
|
105
|
+
type Range<Args extends Pair> = keyof Args[0] extends keyof Args[1] ? Plus<[
|
|
106
|
+
Args[0],
|
|
107
|
+
Parse<Exclude<keyof Minus<[Args[1], Args[0]]>, symbol | number>>
|
|
108
|
+
]> : never;
|
|
109
|
+
export type $mol_type_int_ordered<Left extends Check<Left>, Right extends Check<Right>> = keyof Parse<`${Left}`> extends keyof Parse<`${Right}`> ? unknown : never;
|
|
110
|
+
type Calc<Expr extends string> = Expr extends `${infer Left}(${infer Inner})${infer Right}` ? Calc<`${Left}${Down<Calc<Inner>>}${Right}`> : Expr extends `${infer Left}..${infer Right}` ? Range<[Calc<Left>, Calc<Right>]> : Expr extends `${infer Left}+${infer Right}` ? Plus<[Calc<Left>, Calc<Right>]> : Expr extends `${infer Left}-${infer Right}` ? Minus<[Calc<Left>, Calc<Right>]> : Expr extends `${infer Left}*${infer Right}` ? Mult<[Calc<Left>, Calc<Right>]> : Expr extends `${infer Left}^${infer Right}` ? Pow<[Calc<Left>, Calc<Right>]> : Expr extends `${infer Left} ` ? Calc<Left> : Expr extends ` ${infer Right}` ? Calc<Right> : Parse<Expr>;
|
|
111
|
+
export type $mol_type_int_calc<Expr extends string> = Down<Calc<Expr>>;
|
|
112
|
+
export {};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
declare namespace $ {
|
|
116
|
+
type $mol_type_intersect<Union> = (Union extends any ? (_: Union) => void : never) extends ((_: infer Intersection) => void) ? Intersection : never;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
declare namespace $ {
|
|
120
|
+
type $mol_type_keys_extract<Input, Upper, Lower = never> = {
|
|
121
|
+
[Field in keyof Input]: unknown extends Input[Field] ? never : Input[Field] extends never ? never : Input[Field] extends Upper ? [
|
|
122
|
+
Lower
|
|
123
|
+
] extends [Input[Field]] ? Field : never : never;
|
|
124
|
+
}[keyof Input];
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
declare namespace $ {
|
|
128
|
+
type $mol_type_keys_exclude<Input, Upper> = Exclude<keyof Input, $mol_type_keys_extract<Input, Upper>>;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
declare namespace $ {
|
|
132
|
+
type $mol_type_merge<Intersection> = Intersection extends (...a: any[]) => any ? Intersection : Intersection extends new (...a: any[]) => any ? Intersection : Intersection extends object ? $mol_type_merge_object<Intersection> extends Intersection ? unknown extends $mol_type_equals<{
|
|
133
|
+
[Key in keyof Intersection]: Intersection[Key];
|
|
134
|
+
}, Intersection> ? Intersection : {
|
|
135
|
+
[Key in keyof Intersection]: $mol_type_merge<Intersection[Key]>;
|
|
136
|
+
} : Intersection : Intersection;
|
|
137
|
+
type $mol_type_merge_object<Intersection> = {
|
|
138
|
+
[Key in keyof Intersection]: Intersection[Key];
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
declare namespace $ {
|
|
143
|
+
type $mol_type_omit<Input, Upper> = Pick<Input, $mol_type_keys_exclude<Input, Upper>>;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
declare namespace $ {
|
|
147
|
+
type $mol_type_param<Func, Index extends number> = Func extends (...params: infer Params) => any ? Params[Index] : Func extends new (...params: infer Params2) => any ? Params2[Index] : never;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
declare namespace $ {
|
|
151
|
+
type $mol_type_partial_deep<Val> = Val extends object ? Val extends Function ? Val : {
|
|
152
|
+
[field in keyof Val]?: $mol_type_partial_deep<Val[field]> | undefined;
|
|
153
|
+
} : Val;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
declare namespace $ {
|
|
157
|
+
type $mol_type_override<Base, Over> = Omit<Base, keyof Over> & Over;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
declare namespace $ {
|
|
161
|
+
type $mol_type_partial_undefined<Val> = $mol_type_merge<$mol_type_override<Partial<Val>, Pick<Val, {
|
|
162
|
+
[Field in keyof Val]: undefined extends Val[Field] ? never : Field;
|
|
163
|
+
}[keyof Val]>>>;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
declare namespace $ {
|
|
167
|
+
type $mol_type_pick<Input, Upper> = Pick<Input, $mol_type_keys_extract<Input, Upper>>;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
declare namespace $ {
|
|
171
|
+
type $mol_type_prepend<Item extends any, Tuple extends readonly any[]> = ((head: Item, ...args: Tuple) => any) extends ((...args: infer Result) => any) ? Result : never;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
declare namespace $ {
|
|
175
|
+
type $mol_type_result<Func> = Func extends (...params: any) => infer Result ? Result : Func extends new (...params: any) => infer Result ? Result : never;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
declare namespace $ {
|
|
179
|
+
type $mol_type_reverse<Tuple extends readonly any[], Reversed extends readonly any[] = []> = {
|
|
180
|
+
0: Reversed;
|
|
181
|
+
1: $mol_type_reverse<$mol_type_tail<Tuple>, $mol_type_prepend<$mol_type_head<Tuple>, Reversed>>;
|
|
182
|
+
}[Tuple['length'] extends 0 ? 0 : 1];
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
declare namespace $ {
|
|
186
|
+
type $mol_type_unary_func = ((param: any) => any);
|
|
187
|
+
type $mol_type_unary_class = new (param: any) => any;
|
|
188
|
+
type $mol_type_unary = $mol_type_unary_func | $mol_type_unary_class;
|
|
189
|
+
}
|
|
1
190
|
|
|
2
191
|
export = $;
|
|
3
192
|
//# sourceMappingURL=web.d.ts.map
|
package/web.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../mam.d.ts","../../equals/equals.d.ts","../../error/error.d.ts","../../assert/assert.d.ts","../../tail/tail.d.ts","../../append/append.d.ts","../../head/head.d.ts","../../int/int.d.ts","../../intersect/intersect.d.ts","../../keys/extract/extract.d.ts","../../keys/exclude/exclude.d.ts","../../merge/merge.d.ts","../../omit/omit.d.ts","../../param/param.d.ts","../../partial/deep/deep.d.ts","../../override/override.d.ts","../../partial/undefined/undefined.d.ts","../../pick/pick.d.ts","../../prepend/prepend.d.ts","../../result/result.d.ts","../../reverse/reverse.d.ts","../../unary/unary.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACfA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACPA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnEA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACPA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACVA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;ACLA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;ACLA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;ACNA;AACA;AACA;AACA;AACA;AACA","sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]}
|