@eslinted/core 12.0.0 → 13.0.0-rc.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. package/dist/factory/global.d.ts +26 -0
  2. package/dist/factory/global.d.ts.map +1 -0
  3. package/dist/factory/global.js +39 -0
  4. package/dist/factory/global.js.map +1 -0
  5. package/dist/factory/index.d.ts +1 -0
  6. package/dist/factory/index.d.ts.map +1 -1
  7. package/dist/factory/index.js +1 -0
  8. package/dist/factory/index.js.map +1 -1
  9. package/dist/factory/options/html.d.ts +1 -1
  10. package/dist/factory/options/html.d.ts.map +1 -1
  11. package/dist/factory/options/html.js.map +1 -1
  12. package/dist/factory/options/json.d.ts +1 -1
  13. package/dist/factory/options/json.d.ts.map +1 -1
  14. package/dist/factory/options/json.js.map +1 -1
  15. package/dist/factory/options/jsonc.d.ts +1 -1
  16. package/dist/factory/options/jsonc.d.ts.map +1 -1
  17. package/dist/factory/options/jsonc.js.map +1 -1
  18. package/dist/factory/options/option/index.d.ts +40 -2978
  19. package/dist/factory/options/option/index.d.ts.map +1 -1
  20. package/dist/factory/options/option/index.js.map +1 -1
  21. package/dist/factory/options/option/template/index.d.ts +10 -6
  22. package/dist/factory/options/option/template/index.d.ts.map +1 -1
  23. package/dist/factory/options/option/template/languageOptions.d.ts +6 -5
  24. package/dist/factory/options/option/template/languageOptions.d.ts.map +1 -1
  25. package/dist/factory/options/svelte.d.ts +1 -1
  26. package/dist/index.d.ts +1 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +4 -26
  29. package/dist/index.js.map +1 -1
  30. package/dist/objects/config/global/system.d.ts +1 -1
  31. package/dist/objects/config/global/system.d.ts.map +1 -1
  32. package/dist/objects/config/scoped.d.ts +1 -5
  33. package/dist/objects/config/scoped.d.ts.map +1 -1
  34. package/dist/objects/rule/record/index.d.ts +1 -1
  35. package/dist/objects/rule/record/index.d.ts.map +1 -1
  36. package/package.json +1 -1
  37. package/src/factory/global.ts +43 -0
  38. package/src/factory/index.ts +1 -0
  39. package/src/factory/options/html.ts +1 -2
  40. package/src/factory/options/json.ts +1 -2
  41. package/src/factory/options/jsonc.ts +1 -2
  42. package/src/factory/options/option/index.ts +19 -16
  43. package/src/factory/options/option/template/index.ts +22 -7
  44. package/src/factory/options/option/template/languageOptions.ts +18 -13
  45. package/src/factory/options/svelte.ts +1 -1
  46. package/src/index.ts +15 -30
  47. package/src/objects/config/global/system.ts +11 -12
  48. package/src/objects/config/scoped.ts +1 -5
  49. package/src/objects/rule/record/index.ts +2 -1
  50. package/typings/common/literals/chars/alpha.d.ts +0 -4
  51. package/typings/common/literals/chars/digit.d.ts +0 -12
  52. package/typings/common/literals/chars/digits/base64.d.ts +0 -13
  53. package/typings/common/literals/chars/digits/hexchar.d.ts +0 -9
  54. package/typings/common/literals/chars/lower.d.ts +0 -1
  55. package/typings/common/literals/chars/upper.d.ts +0 -28
  56. package/typings/common/literals/numbers/base32.d.ts +0 -19
  57. package/typings/common/literals/numbers/base64.d.ts +0 -35
  58. package/typings/common/literals/numbers/binary.d.ts +0 -4
  59. package/typings/common/literals/numbers/decimal.d.ts +0 -5
  60. package/typings/common/literals/numbers/hexadecimal.d.ts +0 -10
  61. package/typings/common/literals/numbers/octal.d.ts +0 -7
  62. package/typings/common/literals/numbers/quatral.d.ts +0 -4
  63. package/typings/common/literals/numbers/ternary.d.ts +0 -4
  64. package/typings/common/primitive.d.ts +0 -5
  65. package/typings/common/tester.d.ts +0 -8
  66. package/typings/common/utility/constructor.d.ts +0 -3
  67. package/typings/common/utility/interface/identity.d.ts +0 -11
  68. package/typings/common/utility/interface/identity.spec.d.ts +0 -63
  69. package/typings/common/utility/interface/index.d.ts +0 -5
  70. package/typings/common/utility/interface/keys.d.ts +0 -3
  71. package/typings/common/utility/interface/keys.spec.d.ts +0 -67
  72. package/typings/common/utility/interface/optional.d.ts +0 -7
  73. package/typings/common/utility/interface/optional.spec.d.ts +0 -34
  74. package/typings/common/utility/interface/partially.d.ts +0 -1
  75. package/typings/common/utility/interface/property/index.d.ts +0 -8
  76. package/typings/common/utility/interface/property/properties.d.ts +0 -6
  77. package/typings/common/utility/interface/table/index.d.ts +0 -3
  78. package/typings/common/utility/interface/table/tables.d.ts +0 -5
  79. package/typings/common/utility/iterable/arrayful.d.ts +0 -1
  80. package/typings/common/utility/iterable/flat/index.d.ts +0 -3
  81. package/typings/common/utility/iterable/flat/unflat.d.ts +0 -3
  82. package/typings/common/utility/iterable/identity.d.ts +0 -1
  83. package/typings/common/utility/iterable/identity.spec.d.ts +0 -59
  84. package/typings/common/utility/iterable/index.d.ts +0 -15
  85. package/typings/common/utility/iterable/index.spec.d.ts +0 -18
  86. package/typings/common/utility/iterable/tuple.d.ts +0 -11
  87. package/typings/common/utility/iterable/tuple.spec.d.ts +0 -14
  88. package/typings/common/utility/iterable/tuples.d.ts +0 -10
  89. package/typings/common/utility/null/index.d.ts +0 -1
  90. package/typings/common/utility/null/index.spec.d.ts +0 -13
  91. package/typings/common/utility/null/nullable.d.ts +0 -1
  92. package/typings/common/utility/null/nullable.spec.d.ts +0 -13
  93. package/typings/common/utility/primitive/cast/number.d.ts +0 -13
  94. package/typings/common/utility/primitive/cast/number.spec.d.ts +0 -57
  95. package/typings/common/utility/primitive/index.d.ts +0 -11
  96. package/typings/common/utility/primitive/index.spec.d.ts +0 -27
  97. package/typings/common/utility/primitive/length.d.ts +0 -5
  98. package/typings/common/utility/primitive/length.spec.d.ts +0 -26
  99. package/typings/common/utility/primitive/literal.d.ts +0 -1
  100. package/typings/common/utility/primitive/literal.spec.d.ts +0 -17
  101. package/typings/common/utility/primitive/literalful.d.ts +0 -3
  102. package/typings/common/utility/primitive/literalful.spec.d.ts +0 -20
  103. package/typings/common/utility/primitive/numeric.d.ts +0 -1
  104. package/typings/common/utility/primitive/numeric.spec.d.ts +0 -30
  105. package/typings/common/utility/primitive/truth.d.ts +0 -3
  106. package/typings/common/utility/primitive/truth.spec.d.ts +0 -22
  107. package/typings/common/validated/char.d.ts +0 -1
  108. package/typings/common/validated/index.d.ts +0 -2
  109. package/typings/common/validated/numberful.d.ts +0 -1
  110. package/typings/common/validated/properties/finite.d.ts +0 -2
  111. package/typings/common/validated/properties/int.d.ts +0 -2
  112. package/typings/common/validated/properties/length.d.ts +0 -3
  113. package/typings/common/validated/properties/polarity.d.ts +0 -5
  114. 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,19 +0,0 @@
1
- declare type base32 =
2
- | hexadecimal
3
- | 16
4
- | 17
5
- | 18
6
- | 19
7
- | 20
8
- | 21
9
- | 22
10
- | 23
11
- | 24
12
- | 25
13
- | 26
14
- | 27
15
- | 28
16
- | 29
17
- | 30
18
- | 31
19
- ;
@@ -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,4 +0,0 @@
1
- declare type binary =
2
- | 0
3
- | 1
4
- ;
@@ -1,5 +0,0 @@
1
- declare type decimal =
2
- | octal
3
- | 8
4
- | 9
5
- ;
@@ -1,10 +0,0 @@
1
- declare type hexadecimal =
2
- | decimal
3
- | 9
4
- | 10
5
- | 11
6
- | 12
7
- | 13
8
- | 14
9
- | 15
10
- ;
@@ -1,7 +0,0 @@
1
- declare type octal =
2
- | quatral
3
- | 4
4
- | 5
5
- | 6
6
- | 7
7
- ;
@@ -1,4 +0,0 @@
1
- declare type quatral =
2
- | ternary
3
- | 3
4
- ;
@@ -1,4 +0,0 @@
1
- declare type ternary =
2
- | binary
3
- | 2
4
- ;
@@ -1,5 +0,0 @@
1
- declare type primitive =
2
- | string
3
- | number
4
- | boolean
5
- ;
@@ -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,3 +0,0 @@
1
- declare type Constructor<C> = C extends abstract new (...args: infer A) => infer O
2
- ? new (...args: A) => O
3
- : never;
@@ -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,5 +0,0 @@
1
- declare type Recordful<K extends string, V> = [V] extends [never]
2
- ? never
3
- : literalful<K> extends never
4
- ? never
5
- : Record<literalful<K>, V>;
@@ -1,3 +0,0 @@
1
- declare type Keys<R extends object> = Interface<R> extends never
2
- ? never
3
- : keyof Interface<R>;
@@ -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,7 +0,0 @@
1
- declare type Optional<R extends object, OK extends string> = Interface<R> extends never
2
- ? never
3
- : literalful<OK> extends never
4
- ? never
5
- : OK extends keyof R
6
- ? Omit<Interface<R>, literalful<OK>> & Partial<Pick<Interface<R>, literalful<OK>>>
7
- : never;
@@ -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,8 +0,0 @@
1
- declare type Property<K extends string, OK extends string, V> = literalful<K> extends never
2
- ? Partially<OK, V>
3
- : Recordful<K, V>
4
- & (
5
- literalful<OK> extends never
6
- ? Recordful<K, V>
7
- : Partially<OK, V>
8
- );
@@ -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,3 +0,0 @@
1
- declare type Table<V = unknown> = [V] extends [never]
2
- ? never
3
- : Record<string, V>;
@@ -1,5 +0,0 @@
1
- declare type FieldTable = Table<string>;
2
- declare type FlagTable = Table<boolean>;
3
- declare type ListTable = Table<readonly string[]>;
4
- declare type ListishTable = Table<Unflat>;
5
- declare type ScalarTable = Table<number>;
@@ -1 +0,0 @@
1
- declare type Arrayful<I = string> = ArrayN<1, I>;
@@ -1,3 +0,0 @@
1
- declare type Flat<A extends readonly unknown[]> = A extends readonly (infer B)[]
2
- ? B
3
- : never;
@@ -1,3 +0,0 @@
1
- declare type Unflat<In = string, RO extends boolean = true> = [In] extends [never]
2
- ? never
3
- : In | (Truth<RO> extends never ? In[] : readonly In[]);
@@ -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
- }
@@ -1,11 +0,0 @@
1
- declare type Primitive<P extends T, T extends primitive> = [T] extends [primitive]
2
- ? [P] extends [T]
3
- ? Extract<P, object> extends never
4
- ? Exclude<P, T> extends never
5
- ? T extends P
6
- ? never
7
- : P
8
- : never
9
- : never
10
- : never
11
- : never;