@eslinted/core 12.0.0 → 13.0.0-rc.0
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/dist/factory/global.d.ts +26 -0
- package/dist/factory/global.d.ts.map +1 -0
- package/dist/factory/global.js +39 -0
- package/dist/factory/global.js.map +1 -0
- package/dist/factory/index.d.ts +1 -0
- package/dist/factory/index.d.ts.map +1 -1
- package/dist/factory/index.js +1 -0
- package/dist/factory/index.js.map +1 -1
- package/dist/factory/options/html.d.ts +1 -1
- package/dist/factory/options/html.d.ts.map +1 -1
- package/dist/factory/options/html.js.map +1 -1
- package/dist/factory/options/json.d.ts +1 -1
- package/dist/factory/options/json.d.ts.map +1 -1
- package/dist/factory/options/json.js.map +1 -1
- package/dist/factory/options/jsonc.d.ts +1 -1
- package/dist/factory/options/jsonc.d.ts.map +1 -1
- package/dist/factory/options/jsonc.js.map +1 -1
- package/dist/factory/options/option/index.d.ts +40 -2978
- package/dist/factory/options/option/index.d.ts.map +1 -1
- package/dist/factory/options/option/index.js.map +1 -1
- package/dist/factory/options/option/template/index.d.ts +10 -6
- package/dist/factory/options/option/template/index.d.ts.map +1 -1
- package/dist/factory/options/option/template/languageOptions.d.ts +6 -5
- package/dist/factory/options/option/template/languageOptions.d.ts.map +1 -1
- package/dist/factory/options/svelte.d.ts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -26
- package/dist/index.js.map +1 -1
- package/dist/objects/config/global/system.d.ts +1 -1
- package/dist/objects/config/global/system.d.ts.map +1 -1
- package/dist/objects/config/scoped.d.ts +1 -5
- package/dist/objects/config/scoped.d.ts.map +1 -1
- package/dist/objects/rule/record/index.d.ts +1 -1
- package/dist/objects/rule/record/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/factory/global.ts +43 -0
- package/src/factory/index.ts +1 -0
- package/src/factory/options/html.ts +1 -2
- package/src/factory/options/json.ts +1 -2
- package/src/factory/options/jsonc.ts +1 -2
- package/src/factory/options/option/index.ts +19 -16
- package/src/factory/options/option/template/index.ts +22 -7
- package/src/factory/options/option/template/languageOptions.ts +18 -13
- package/src/factory/options/svelte.ts +1 -1
- package/src/index.ts +15 -30
- package/src/objects/config/global/system.ts +11 -12
- package/src/objects/config/scoped.ts +1 -5
- package/src/objects/rule/record/index.ts +2 -1
- package/typings/common/literals/chars/alpha.d.ts +0 -4
- package/typings/common/literals/chars/digit.d.ts +0 -12
- package/typings/common/literals/chars/digits/base64.d.ts +0 -13
- package/typings/common/literals/chars/digits/hexchar.d.ts +0 -9
- package/typings/common/literals/chars/lower.d.ts +0 -1
- package/typings/common/literals/chars/upper.d.ts +0 -28
- package/typings/common/literals/numbers/base32.d.ts +0 -19
- package/typings/common/literals/numbers/base64.d.ts +0 -35
- package/typings/common/literals/numbers/binary.d.ts +0 -4
- package/typings/common/literals/numbers/decimal.d.ts +0 -5
- package/typings/common/literals/numbers/hexadecimal.d.ts +0 -10
- package/typings/common/literals/numbers/octal.d.ts +0 -7
- package/typings/common/literals/numbers/quatral.d.ts +0 -4
- package/typings/common/literals/numbers/ternary.d.ts +0 -4
- package/typings/common/primitive.d.ts +0 -5
- package/typings/common/tester.d.ts +0 -8
- package/typings/common/utility/constructor.d.ts +0 -3
- package/typings/common/utility/interface/identity.d.ts +0 -11
- package/typings/common/utility/interface/identity.spec.d.ts +0 -63
- package/typings/common/utility/interface/index.d.ts +0 -5
- package/typings/common/utility/interface/keys.d.ts +0 -3
- package/typings/common/utility/interface/keys.spec.d.ts +0 -67
- package/typings/common/utility/interface/optional.d.ts +0 -7
- package/typings/common/utility/interface/optional.spec.d.ts +0 -34
- package/typings/common/utility/interface/partially.d.ts +0 -1
- package/typings/common/utility/interface/property/index.d.ts +0 -8
- package/typings/common/utility/interface/property/properties.d.ts +0 -6
- package/typings/common/utility/interface/table/index.d.ts +0 -3
- package/typings/common/utility/interface/table/tables.d.ts +0 -5
- package/typings/common/utility/iterable/arrayful.d.ts +0 -1
- package/typings/common/utility/iterable/flat/index.d.ts +0 -3
- package/typings/common/utility/iterable/flat/unflat.d.ts +0 -3
- package/typings/common/utility/iterable/identity.d.ts +0 -1
- package/typings/common/utility/iterable/identity.spec.d.ts +0 -59
- package/typings/common/utility/iterable/index.d.ts +0 -15
- package/typings/common/utility/iterable/index.spec.d.ts +0 -18
- package/typings/common/utility/iterable/tuple.d.ts +0 -11
- package/typings/common/utility/iterable/tuple.spec.d.ts +0 -14
- package/typings/common/utility/iterable/tuples.d.ts +0 -10
- package/typings/common/utility/null/index.d.ts +0 -1
- package/typings/common/utility/null/index.spec.d.ts +0 -13
- package/typings/common/utility/null/nullable.d.ts +0 -1
- package/typings/common/utility/null/nullable.spec.d.ts +0 -13
- package/typings/common/utility/primitive/cast/number.d.ts +0 -13
- package/typings/common/utility/primitive/cast/number.spec.d.ts +0 -57
- package/typings/common/utility/primitive/index.d.ts +0 -11
- package/typings/common/utility/primitive/index.spec.d.ts +0 -27
- package/typings/common/utility/primitive/length.d.ts +0 -5
- package/typings/common/utility/primitive/length.spec.d.ts +0 -26
- package/typings/common/utility/primitive/literal.d.ts +0 -1
- package/typings/common/utility/primitive/literal.spec.d.ts +0 -17
- package/typings/common/utility/primitive/literalful.d.ts +0 -3
- package/typings/common/utility/primitive/literalful.spec.d.ts +0 -20
- package/typings/common/utility/primitive/numeric.d.ts +0 -1
- package/typings/common/utility/primitive/numeric.spec.d.ts +0 -30
- package/typings/common/utility/primitive/truth.d.ts +0 -3
- package/typings/common/utility/primitive/truth.spec.d.ts +0 -22
- package/typings/common/validated/char.d.ts +0 -1
- package/typings/common/validated/index.d.ts +0 -2
- package/typings/common/validated/numberful.d.ts +0 -1
- package/typings/common/validated/properties/finite.d.ts +0 -2
- package/typings/common/validated/properties/int.d.ts +0 -2
- package/typings/common/validated/properties/length.d.ts +0 -3
- package/typings/common/validated/properties/polarity.d.ts +0 -5
- package/typings/common/validated/stringful.d.ts +0 -1
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
declare type upper =
|
|
2
|
-
| "A"
|
|
3
|
-
| "B"
|
|
4
|
-
| "C"
|
|
5
|
-
| "D"
|
|
6
|
-
| "E"
|
|
7
|
-
| "F"
|
|
8
|
-
| "G"
|
|
9
|
-
| "H"
|
|
10
|
-
| "I"
|
|
11
|
-
| "J"
|
|
12
|
-
| "K"
|
|
13
|
-
| "L"
|
|
14
|
-
| "M"
|
|
15
|
-
| "N"
|
|
16
|
-
| "O"
|
|
17
|
-
| "P"
|
|
18
|
-
| "Q"
|
|
19
|
-
| "R"
|
|
20
|
-
| "S"
|
|
21
|
-
| "T"
|
|
22
|
-
| "U"
|
|
23
|
-
| "V"
|
|
24
|
-
| "W"
|
|
25
|
-
| "X"
|
|
26
|
-
| "Y"
|
|
27
|
-
| "Z"
|
|
28
|
-
;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
declare type base64 =
|
|
2
|
-
| base32
|
|
3
|
-
| 32
|
|
4
|
-
| 33
|
|
5
|
-
| 34
|
|
6
|
-
| 35
|
|
7
|
-
| 36
|
|
8
|
-
| 37
|
|
9
|
-
| 38
|
|
10
|
-
| 39
|
|
11
|
-
| 40
|
|
12
|
-
| 41
|
|
13
|
-
| 42
|
|
14
|
-
| 43
|
|
15
|
-
| 44
|
|
16
|
-
| 45
|
|
17
|
-
| 46
|
|
18
|
-
| 47
|
|
19
|
-
| 48
|
|
20
|
-
| 49
|
|
21
|
-
| 50
|
|
22
|
-
| 51
|
|
23
|
-
| 52
|
|
24
|
-
| 53
|
|
25
|
-
| 54
|
|
26
|
-
| 55
|
|
27
|
-
| 56
|
|
28
|
-
| 57
|
|
29
|
-
| 58
|
|
30
|
-
| 59
|
|
31
|
-
| 60
|
|
32
|
-
| 61
|
|
33
|
-
| 62
|
|
34
|
-
| 63
|
|
35
|
-
;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
declare type Tester<TF extends { T: unknown; F?: unknown }> =
|
|
2
|
-
& (OmitNever<TF["T"]> extends TF["T"] ? true : never)
|
|
3
|
-
& (object extends OmitNever<TF["F"]> ? true : undefined extends OmitNever<TF["F"]> ? true : never);
|
|
4
|
-
declare type OmitNever<R> = { [
|
|
5
|
-
K in keyof R as R[K] extends never
|
|
6
|
-
? never
|
|
7
|
-
: K
|
|
8
|
-
]: R[K] };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
declare type Interface<R extends object> = [R] extends [object]
|
|
2
|
-
? [Extract<R, readonly unknown[]>] extends [never]
|
|
3
|
-
? Required<R> extends Record<infer K, unknown>
|
|
4
|
-
? Exclude<K, string> extends never
|
|
5
|
-
? literalful<K & string> extends never
|
|
6
|
-
? never
|
|
7
|
-
: R
|
|
8
|
-
: never
|
|
9
|
-
: never
|
|
10
|
-
: never
|
|
11
|
-
: never;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
declare namespace Interface {
|
|
2
|
-
export type T = Interface<{ a: 5 }>;
|
|
3
|
-
export type T0 = Interface<{
|
|
4
|
-
a: 1;
|
|
5
|
-
b?: 2;
|
|
6
|
-
}>;
|
|
7
|
-
export type T1 = Interface<{
|
|
8
|
-
a: 1;
|
|
9
|
-
b: 2;
|
|
10
|
-
}>;
|
|
11
|
-
export type T2 = Interface<Record<"a", unknown>>;
|
|
12
|
-
export type T3 = Interface<Record<"a" | "b", unknown>>;
|
|
13
|
-
export type N = Interface<never>;
|
|
14
|
-
export type N0 = Interface<object>;
|
|
15
|
-
export type N0a = Interface<Record<"a" | "b" | 5, unknown>>;
|
|
16
|
-
export type N0b = Interface<Record<"a" | "b" | number, unknown>>;
|
|
17
|
-
export type N0c = Interface<Record<string, unknown>>;
|
|
18
|
-
export type N0d = Interface<Record<string | number, unknown>>;
|
|
19
|
-
export type N0e = Interface<Record<stringful, string>>;
|
|
20
|
-
export type N0f = Interface<Record<stringful | "5", string>>;
|
|
21
|
-
export type N1 = Interface<[]>;
|
|
22
|
-
export type N1b = Interface<[1]>;
|
|
23
|
-
export type N1c = Interface<[1, 1]>;
|
|
24
|
-
export type N1d = Interface<number[]>;
|
|
25
|
-
export type N1e = Interface<readonly []>;
|
|
26
|
-
export type N1f = Interface<readonly [1]>;
|
|
27
|
-
export type N1g = Interface<readonly [1, 1]>;
|
|
28
|
-
export type N1h = Interface<readonly number[]>;
|
|
29
|
-
export type N2 = Interface<() => void>;
|
|
30
|
-
export type N2a = Interface<(a: string) => boolean>;
|
|
31
|
-
export type N2b = Interface<(a: string) => string[]>;
|
|
32
|
-
export type N2c = Interface<(a: string) => object>;
|
|
33
|
-
export type N5 = Interface<[] | { a: 1 }>;
|
|
34
|
-
export type N5a = Interface<[30] | { a: 1 }>;
|
|
35
|
-
export type N5b = Interface<object | []>;
|
|
36
|
-
export type N5c = Interface<
|
|
37
|
-
| {
|
|
38
|
-
a: 1;
|
|
39
|
-
b: 2;
|
|
40
|
-
}
|
|
41
|
-
| {
|
|
42
|
-
a: 1;
|
|
43
|
-
b: 2;
|
|
44
|
-
c: 2;
|
|
45
|
-
}
|
|
46
|
-
>;
|
|
47
|
-
|
|
48
|
-
// export type N3 = Interface<stringful>;
|
|
49
|
-
// export type N3b = Interface<numberful>;
|
|
50
|
-
// export type N13c = Interface<string>;
|
|
51
|
-
// export type N13d = Interface<"cool">;
|
|
52
|
-
// export type N13e = Interface<number>;
|
|
53
|
-
// export type N13f = Interface<0>;
|
|
54
|
-
// export type N13g = Interface<1>;
|
|
55
|
-
// export type N13h = Interface<true>;
|
|
56
|
-
// export type N13i = Interface<false>;
|
|
57
|
-
// export type N13j = Interface<boolean>;
|
|
58
|
-
// export type N14 = Interface<null>;
|
|
59
|
-
// export type N14a = Interface<undefined>;
|
|
60
|
-
// export type N14c = Interface<unknown>;
|
|
61
|
-
// export type N15 = Interface<string | { a: cool }>;
|
|
62
|
-
// export type N15b = Interface<Record<"a" | "b" | string, unknown>>;
|
|
63
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
declare namespace Keys {
|
|
2
|
-
const RESULT: {
|
|
3
|
-
positive: typeof POSITIVE | 1;
|
|
4
|
-
negative: typeof NEGATIVE | 0;
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
export const POSITIVE: {
|
|
8
|
-
T: Keys<{ a: 5 }>;
|
|
9
|
-
T0: Keys<{
|
|
10
|
-
a: 1;
|
|
11
|
-
b?: 2;
|
|
12
|
-
}>;
|
|
13
|
-
T1: Keys<{
|
|
14
|
-
a: 1;
|
|
15
|
-
b: 2;
|
|
16
|
-
}>;
|
|
17
|
-
} extends Record<string, string> ? "PASS" : never;
|
|
18
|
-
const s: unique symbol;
|
|
19
|
-
|
|
20
|
-
export const NEGATIVE: {
|
|
21
|
-
N: Keys<never>;
|
|
22
|
-
N0: Keys<{ [s]: 1 }>;
|
|
23
|
-
N1: Keys<Record<string, 1>>;
|
|
24
|
-
N1b: Keys<Record<stringful, 1>>;
|
|
25
|
-
N1c: Keys<Record<"", 1>>;
|
|
26
|
-
N1d: Keys<Record<number, 1>>;
|
|
27
|
-
N2: Keys<Record<stringful | "30", 1>>;
|
|
28
|
-
N2b: Keys<Record<stringful | "", 1>>;
|
|
29
|
-
N2c: Keys<Record<number | "", 1>>;
|
|
30
|
-
N2d: Keys<Record<number | "c", 1>>;
|
|
31
|
-
N2e: Keys<object>;
|
|
32
|
-
N2f: Keys<{
|
|
33
|
-
a: 1;
|
|
34
|
-
[ful]: "cool";
|
|
35
|
-
}>;
|
|
36
|
-
N3: Keys<[]>;
|
|
37
|
-
N3a: Keys<readonly [1, 1]>;
|
|
38
|
-
N4: Keys<
|
|
39
|
-
| {
|
|
40
|
-
a: 1;
|
|
41
|
-
b: 1;
|
|
42
|
-
}
|
|
43
|
-
| object
|
|
44
|
-
>;
|
|
45
|
-
N5: Keys<[1] | { a: 1 }>;
|
|
46
|
-
N5a: Keys<
|
|
47
|
-
| {
|
|
48
|
-
a: 1;
|
|
49
|
-
b: 1;
|
|
50
|
-
}
|
|
51
|
-
| { c: 1 }
|
|
52
|
-
>;
|
|
53
|
-
N5b: Keys<
|
|
54
|
-
| {
|
|
55
|
-
a: 1;
|
|
56
|
-
b: 1;
|
|
57
|
-
}
|
|
58
|
-
| { c?: 1 }
|
|
59
|
-
>;
|
|
60
|
-
|
|
61
|
-
// N10: Keys<null>;
|
|
62
|
-
// N10a: Keys<undefined>;
|
|
63
|
-
// N10b: Keys<void>;
|
|
64
|
-
// N10c: Keys<unknown>;
|
|
65
|
-
// N11c: Keys<Record<string | "30", 1>>;
|
|
66
|
-
} extends Record<string, never> ? "PASS" : never;
|
|
67
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
declare namespace Optional {
|
|
2
|
-
export type T = Optional<{
|
|
3
|
-
a: 1;
|
|
4
|
-
b: 1;
|
|
5
|
-
c: 1;
|
|
6
|
-
}, "c">;
|
|
7
|
-
export type T1c = "a" extends keyof T ? true : false; // true
|
|
8
|
-
export type T1b = "b" extends keyof T ? true : false; // true
|
|
9
|
-
export type T1 = "c" extends keyof T ? true : false; // true
|
|
10
|
-
export type T2 = {
|
|
11
|
-
a: 1;
|
|
12
|
-
b: 1;
|
|
13
|
-
} extends T ? true : false; // true
|
|
14
|
-
export type T2b = {
|
|
15
|
-
a: 1;
|
|
16
|
-
b: 1;
|
|
17
|
-
c: 1;
|
|
18
|
-
} extends T ? true : false; // true
|
|
19
|
-
export type T2c = {
|
|
20
|
-
a: 1;
|
|
21
|
-
b: 1;
|
|
22
|
-
c: 1;
|
|
23
|
-
z: 9001;
|
|
24
|
-
} extends T ? true : false; // true
|
|
25
|
-
export type N_null = {
|
|
26
|
-
a: 1;
|
|
27
|
-
b: 1;
|
|
28
|
-
c: 1;
|
|
29
|
-
} extends T ? true : false; // true
|
|
30
|
-
export type N = {
|
|
31
|
-
b: 1;
|
|
32
|
-
c: 1;
|
|
33
|
-
} extends T ? true : false; // false
|
|
34
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
declare type Partially<K extends string, V> = Partial<Recordful<K, V>>;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
declare type Field<K extends string, OK extends string = never> = Property<K, OK, string>;
|
|
2
|
-
declare type Flag<OK extends string, K extends string = never> = Property<K, OK, boolean>;
|
|
3
|
-
declare type Limit<K extends string, OK extends string = never> = Property<K, OK, Record<"min" | "max", number>>;
|
|
4
|
-
declare type List<K extends string, OK extends string = never> = Property<K, OK, readonly string[]>;
|
|
5
|
-
declare type Listish<K extends string, OK extends string = never> = Property<K, OK, Unflat>;
|
|
6
|
-
declare type Scalar<K extends string, OK extends string = never> = Property<K, OK, number>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
declare type Arrayful<I = string> = ArrayN<1, I>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
declare type IsArray<A> = [A] extends [readonly unknown[]] ? A : never;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
declare namespace ArrayType {
|
|
2
|
-
export type T0 = IsArray<[]>;
|
|
3
|
-
export type T1 = IsArray<[1, 1]>;
|
|
4
|
-
export type T2 = IsArray<string[]>;
|
|
5
|
-
export type T3 = IsArray<readonly []>;
|
|
6
|
-
export type T4 = IsArray<readonly [1, 1]>;
|
|
7
|
-
export type T5 = IsArray<readonly string[]>;
|
|
8
|
-
export type T6 = IsArray<[[]]>;
|
|
9
|
-
export type T7 = IsArray<string[] | int[]>;
|
|
10
|
-
export type T8 = IsArray<(string | int)[]>;
|
|
11
|
-
export type T9 = IsArray<
|
|
12
|
-
| []
|
|
13
|
-
| [5, 10]
|
|
14
|
-
| string []
|
|
15
|
-
| readonly []
|
|
16
|
-
| readonly [5, 10]
|
|
17
|
-
| readonly string[]
|
|
18
|
-
>;
|
|
19
|
-
export type T10 = IsArray<[1?, ...string[]]>;
|
|
20
|
-
export type T11 = IsArray<[1] | [1, 2?]>;
|
|
21
|
-
export type N0 = IsArray<"">;
|
|
22
|
-
export type N1 = IsArray<"test">;
|
|
23
|
-
export type N2 = IsArray<string>;
|
|
24
|
-
export type N3 = IsArray<boolean>;
|
|
25
|
-
export type N4 = IsArray<true>;
|
|
26
|
-
export type N5 = IsArray<false>;
|
|
27
|
-
export type N6 = IsArray<0>;
|
|
28
|
-
export type N7 = IsArray<1>;
|
|
29
|
-
export type N8 = IsArray<number>;
|
|
30
|
-
export type N9 = IsArray<null>;
|
|
31
|
-
export type N10 = IsArray<undefined>;
|
|
32
|
-
export type N11 = IsArray<unknown>;
|
|
33
|
-
export type N12 = IsArray<never>;
|
|
34
|
-
export type N13 = IsArray<void>;
|
|
35
|
-
export type N14 = IsArray<() => void>;
|
|
36
|
-
export type N15 = IsArray<(a: string) => []>;
|
|
37
|
-
export type N16 = IsArray<Record<string, unknown>>;
|
|
38
|
-
export type N17 = IsArray<Record<number, 5>>;
|
|
39
|
-
export type N18 = IsArray<stringful>;
|
|
40
|
-
export type N19 = IsArray<{ 0: string }>;
|
|
41
|
-
export type N20 = IsArray<{
|
|
42
|
-
0: string;
|
|
43
|
-
length: 1;
|
|
44
|
-
}>;
|
|
45
|
-
export type N21 = IsArray<symbol>;
|
|
46
|
-
export type N22 = IsArray<object>;
|
|
47
|
-
export type N23 = IsArray<
|
|
48
|
-
| []
|
|
49
|
-
| object
|
|
50
|
-
>;
|
|
51
|
-
export type N24 = IsArray<
|
|
52
|
-
| []
|
|
53
|
-
| string
|
|
54
|
-
>;
|
|
55
|
-
export type N25 = IsArray<
|
|
56
|
-
| []
|
|
57
|
-
| null
|
|
58
|
-
>;
|
|
59
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
declare type ArrayN<N extends number = 0, I = string> = [I] extends [never]
|
|
2
|
-
? never
|
|
3
|
-
: N extends number
|
|
4
|
-
? `${N}` extends `-${string}`
|
|
5
|
-
? never
|
|
6
|
-
: `${N}` extends `${string}.${string}`
|
|
7
|
-
? never
|
|
8
|
-
: N extends 0 /* TODO: constrain to posint */
|
|
9
|
-
? [...I[]]
|
|
10
|
-
: ArrayBuilder<N, I>
|
|
11
|
-
: never;
|
|
12
|
-
|
|
13
|
-
type ArrayBuilder<N extends number, I, H extends I[] = []> = H["length"] extends N
|
|
14
|
-
? [...H, ...I[]]
|
|
15
|
-
: ArrayBuilder<N, I, [...H, I]>;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
declare namespace ArrayN {
|
|
2
|
-
type T = ArrayN;
|
|
3
|
-
|
|
4
|
-
// type T0 = ArrayN<0>; // string[]
|
|
5
|
-
// type T0a = ArrayN<-0>; // string[]
|
|
6
|
-
export type T1 = ArrayN<1>;
|
|
7
|
-
type T2 = ArrayN<2>;
|
|
8
|
-
type T3 = ArrayN<1.00000>;
|
|
9
|
-
type Tn = ArrayN<number>; // string[]
|
|
10
|
-
type Tna = ArrayN<typeof NaN>; // string[]
|
|
11
|
-
type Tnb = ArrayN<typeof Infinity>; // string[]
|
|
12
|
-
type F = ArrayN<never>;
|
|
13
|
-
type F1 = ArrayN<-1>;
|
|
14
|
-
type F2 = ArrayN<1.1>;
|
|
15
|
-
type F3 = ArrayN<-1.1>;
|
|
16
|
-
type F4 = ArrayN<-1.00000>;
|
|
17
|
-
type F4a = ArrayN<9.999999999>;
|
|
18
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
declare type Tuple<N extends number = 2, I = string> = [I] extends [never]
|
|
2
|
-
? never
|
|
3
|
-
: N extends number
|
|
4
|
-
? N extends 0 /* TODO: constrain posint */
|
|
5
|
-
? readonly []
|
|
6
|
-
: TupleBuilder<N, I>
|
|
7
|
-
: never;
|
|
8
|
-
|
|
9
|
-
type TupleBuilder<N extends number, I, H extends readonly I[] = readonly []> = H["length"] extends N
|
|
10
|
-
? H
|
|
11
|
-
: TupleBuilder<N, I, readonly [...H, I]>;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
declare namespace Tuple {
|
|
2
|
-
export type T = Tuple;
|
|
3
|
-
export type T0 = Tuple<0>;
|
|
4
|
-
export type T0a = Tuple<1>;
|
|
5
|
-
export type T0b = Tuple<3>;
|
|
6
|
-
export type T1 = Tuple<2, string | number>;
|
|
7
|
-
export type T2 = Tuple<2 | 3>;
|
|
8
|
-
export type T3 = Tuple<2 | 3, string | number>;
|
|
9
|
-
export type T4 = Tuple<never>;
|
|
10
|
-
export type T4a = Tuple<0>;
|
|
11
|
-
export type T4b = Tuple<0 | 1>;
|
|
12
|
-
export type T4c = Tuple<1, never>;
|
|
13
|
-
export type T4d = Tuple<never, never>;
|
|
14
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
declare type Monad<I = string> = Tuple<1, I>;
|
|
2
|
-
declare type Dyad<I = string> = Tuple<2, I>;
|
|
3
|
-
declare type Triad<I = string> = Tuple<3, I>;
|
|
4
|
-
declare type Quad<I = string> = Tuple<4, I>;
|
|
5
|
-
declare type Pentad<I = string> = Tuple<5, I>;
|
|
6
|
-
declare type Hexad<I = string> = Tuple<6, I>;
|
|
7
|
-
declare type Heptad<I = string> = Tuple<7, I>;
|
|
8
|
-
declare type Octad<I = string> = Tuple<8, I>;
|
|
9
|
-
declare type Nonad<I = string> = Tuple<9, I>;
|
|
10
|
-
declare type Decad<I = string> = Tuple<10, I>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
declare type Null<T> = null | T;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
declare namespace Null {
|
|
2
|
-
type OK = Tester<TF> | 0;
|
|
3
|
-
type TF = {
|
|
4
|
-
T: {
|
|
5
|
-
T0: Null<string>;
|
|
6
|
-
T1: Null<string | null>;
|
|
7
|
-
T2: Null<string | undefined>;
|
|
8
|
-
T3: Null<string | null | undefined>;
|
|
9
|
-
T4: Null<string | int | null>;
|
|
10
|
-
T6: Null<NonNullable<undefined | string>>;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
declare type Nullable<T> = Null<NonNullable<T>>;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
declare namespace Nullable {
|
|
2
|
-
type OK = Tester<TF> | 0;
|
|
3
|
-
type TF = {
|
|
4
|
-
T: {
|
|
5
|
-
T0: Nullable<string>;
|
|
6
|
-
T1: Nullable<string | null>;
|
|
7
|
-
T2: Nullable<string | undefined>;
|
|
8
|
-
T3: Nullable<string | null | undefined>;
|
|
9
|
-
T4: Nullable<string | int | null>;
|
|
10
|
-
T6: Nullable<NonNullable<undefined | string>>;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
declare type ToNumber<Value extends string> = literalful<Value> extends never
|
|
2
|
-
? never
|
|
3
|
-
: literalful<Value> extends literalful<Exclude<literalful<Value>, "0" | "-0" >>
|
|
4
|
-
? literalful<Value> extends `${infer Number extends number}`
|
|
5
|
-
? number extends Number
|
|
6
|
-
? never
|
|
7
|
-
: Number
|
|
8
|
-
: never
|
|
9
|
-
: literalful<Exclude<literalful<Value>, "0" | "-0" >> extends `${infer Number extends number}`
|
|
10
|
-
? number extends Number
|
|
11
|
-
? never
|
|
12
|
-
: 0 | Number
|
|
13
|
-
: never;
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
declare namespace ToNumber {
|
|
2
|
-
export type OK = Tester<TF> | 0;
|
|
3
|
-
export type TF = {
|
|
4
|
-
T: {
|
|
5
|
-
T0: ToNumber<"0">;
|
|
6
|
-
T0a: ToNumber<"-0">;
|
|
7
|
-
T1: ToNumber<"0" | "-0">;
|
|
8
|
-
T2: ToNumber<"0" | "1">;
|
|
9
|
-
T2a: ToNumber<"-0" | "1">;
|
|
10
|
-
T2d: ToNumber<"0" | "-1">;
|
|
11
|
-
T2e: ToNumber<"-0" | "-1">;
|
|
12
|
-
T3: ToNumber<"1">;
|
|
13
|
-
T3a: ToNumber<"-1">;
|
|
14
|
-
T4: ToNumber<"0.1">;
|
|
15
|
-
T4b: ToNumber<"-0.1">;
|
|
16
|
-
T6: ToNumber<"5" | "9">;
|
|
17
|
-
T6a: ToNumber<"5" | "-9">;
|
|
18
|
-
T6b: ToNumber<"5" | "0.9">;
|
|
19
|
-
T6c: ToNumber<"5" | "-0.9">;
|
|
20
|
-
Tn: ToNumber<`1${1 | 2 | 3 | 4}`>;
|
|
21
|
-
Tna: ToNumber<`-1${1 | 2 | 3 | 4}`>;
|
|
22
|
-
Tnb: ToNumber<`1${1 | 2 | 3 | 4}` | `-1${1 | 2 | 3 | 4}`>;
|
|
23
|
-
Tnc: ToNumber<"-0" | `1${1 | 2 | 3 | 4}` | `-1${1 | 2 | 3 | 4}`>;
|
|
24
|
-
};
|
|
25
|
-
F: {
|
|
26
|
-
F0: ToNumber<string>;
|
|
27
|
-
F1: ToNumber<"">;
|
|
28
|
-
F2: ToNumber<"NaN">;
|
|
29
|
-
F2a: ToNumber<"Infinity">;
|
|
30
|
-
F2b: ToNumber<"-Infinity">;
|
|
31
|
-
F3: ToNumber<"0.0">;
|
|
32
|
-
F3a: ToNumber<"-0.0">;
|
|
33
|
-
F3d: ToNumber<"1.0">;
|
|
34
|
-
F3e: ToNumber<"-1.0">;
|
|
35
|
-
F4: ToNumber<"0.0" | "-0">;
|
|
36
|
-
F4a: ToNumber<"-0.0" | "-0">;
|
|
37
|
-
F4b: ToNumber<"-0.0" | "0">;
|
|
38
|
-
F4c: ToNumber<"0.0" | "-1">;
|
|
39
|
-
F4d: ToNumber<"-0.0" | "-1">;
|
|
40
|
-
F4e: ToNumber<"0.0" | "1">;
|
|
41
|
-
F4f: ToNumber<"-0.0" | "1">;
|
|
42
|
-
F4g: ToNumber<"0" | "-1.0">;
|
|
43
|
-
F4h: ToNumber<"-0" | "-1.0">;
|
|
44
|
-
F4i: ToNumber<"0.0" | "-1.0">;
|
|
45
|
-
F4j: ToNumber<"-0.0" | "-1.0">;
|
|
46
|
-
F5: ToNumber<".1">;
|
|
47
|
-
F5a: ToNumber<"-.1">;
|
|
48
|
-
F6: ToNumber<"" | "0">;
|
|
49
|
-
F6a: ToNumber<"" | "1">;
|
|
50
|
-
F6b: ToNumber<"1" | ".9">;
|
|
51
|
-
F6c: ToNumber<"5" | ".9">;
|
|
52
|
-
F6d: ToNumber<"5" | "-.9">;
|
|
53
|
-
Fn: ToNumber<`1${number}`>;
|
|
54
|
-
Fna: ToNumber<`-1${number}`>;
|
|
55
|
-
};
|
|
56
|
-
};
|
|
57
|
-
}
|