@eslinted/core 12.0.1 → 13.0.0-rc.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. package/dist/factory/global.d.ts +1 -1
  2. package/dist/factory/options/html.d.ts +1 -1
  3. package/dist/factory/options/html.d.ts.map +1 -1
  4. package/dist/factory/options/html.js.map +1 -1
  5. package/dist/factory/options/json.d.ts +1 -1
  6. package/dist/factory/options/json.d.ts.map +1 -1
  7. package/dist/factory/options/json.js.map +1 -1
  8. package/dist/factory/options/jsonc.d.ts +1 -1
  9. package/dist/factory/options/jsonc.d.ts.map +1 -1
  10. package/dist/factory/options/jsonc.js.map +1 -1
  11. package/dist/factory/options/option/index.d.ts +40 -2978
  12. package/dist/factory/options/option/index.d.ts.map +1 -1
  13. package/dist/factory/options/option/index.js.map +1 -1
  14. package/dist/factory/options/option/template/index.d.ts +10 -6
  15. package/dist/factory/options/option/template/index.d.ts.map +1 -1
  16. package/dist/factory/options/option/template/languageOptions.d.ts +6 -5
  17. package/dist/factory/options/option/template/languageOptions.d.ts.map +1 -1
  18. package/dist/factory/options/svelte.d.ts +1 -1
  19. package/dist/objects/config/global/system.d.ts +1 -1
  20. package/dist/objects/config/global/system.d.ts.map +1 -1
  21. package/dist/objects/config/scoped.d.ts +1 -5
  22. package/dist/objects/config/scoped.d.ts.map +1 -1
  23. package/dist/objects/rule/record/index.d.ts +1 -1
  24. package/dist/objects/rule/record/index.d.ts.map +1 -1
  25. package/package.json +1 -1
  26. package/src/factory/options/html.ts +1 -2
  27. package/src/factory/options/json.ts +1 -2
  28. package/src/factory/options/jsonc.ts +1 -2
  29. package/src/factory/options/option/index.ts +19 -16
  30. package/src/factory/options/option/template/index.ts +22 -7
  31. package/src/factory/options/option/template/languageOptions.ts +18 -13
  32. package/src/factory/options/svelte.ts +1 -1
  33. package/src/objects/config/global/system.ts +11 -12
  34. package/src/objects/config/scoped.ts +1 -5
  35. package/src/objects/rule/record/index.ts +2 -1
  36. package/typings/common/literals/chars/alpha.d.ts +0 -4
  37. package/typings/common/literals/chars/digit.d.ts +0 -12
  38. package/typings/common/literals/chars/digits/base64.d.ts +0 -13
  39. package/typings/common/literals/chars/digits/hexchar.d.ts +0 -9
  40. package/typings/common/literals/chars/lower.d.ts +0 -1
  41. package/typings/common/literals/chars/upper.d.ts +0 -28
  42. package/typings/common/literals/numbers/base32.d.ts +0 -19
  43. package/typings/common/literals/numbers/base64.d.ts +0 -35
  44. package/typings/common/literals/numbers/binary.d.ts +0 -4
  45. package/typings/common/literals/numbers/decimal.d.ts +0 -5
  46. package/typings/common/literals/numbers/hexadecimal.d.ts +0 -10
  47. package/typings/common/literals/numbers/octal.d.ts +0 -7
  48. package/typings/common/literals/numbers/quatral.d.ts +0 -4
  49. package/typings/common/literals/numbers/ternary.d.ts +0 -4
  50. package/typings/common/primitive.d.ts +0 -5
  51. package/typings/common/tester.d.ts +0 -8
  52. package/typings/common/utility/constructor.d.ts +0 -3
  53. package/typings/common/utility/interface/identity.d.ts +0 -11
  54. package/typings/common/utility/interface/identity.spec.d.ts +0 -63
  55. package/typings/common/utility/interface/index.d.ts +0 -5
  56. package/typings/common/utility/interface/keys.d.ts +0 -3
  57. package/typings/common/utility/interface/keys.spec.d.ts +0 -67
  58. package/typings/common/utility/interface/optional.d.ts +0 -7
  59. package/typings/common/utility/interface/optional.spec.d.ts +0 -34
  60. package/typings/common/utility/interface/partially.d.ts +0 -1
  61. package/typings/common/utility/interface/property/index.d.ts +0 -8
  62. package/typings/common/utility/interface/property/properties.d.ts +0 -6
  63. package/typings/common/utility/interface/table/index.d.ts +0 -3
  64. package/typings/common/utility/interface/table/tables.d.ts +0 -5
  65. package/typings/common/utility/iterable/arrayful.d.ts +0 -1
  66. package/typings/common/utility/iterable/flat/index.d.ts +0 -3
  67. package/typings/common/utility/iterable/flat/unflat.d.ts +0 -3
  68. package/typings/common/utility/iterable/identity.d.ts +0 -1
  69. package/typings/common/utility/iterable/identity.spec.d.ts +0 -59
  70. package/typings/common/utility/iterable/index.d.ts +0 -15
  71. package/typings/common/utility/iterable/index.spec.d.ts +0 -18
  72. package/typings/common/utility/iterable/tuple.d.ts +0 -11
  73. package/typings/common/utility/iterable/tuple.spec.d.ts +0 -14
  74. package/typings/common/utility/iterable/tuples.d.ts +0 -10
  75. package/typings/common/utility/null/index.d.ts +0 -1
  76. package/typings/common/utility/null/index.spec.d.ts +0 -13
  77. package/typings/common/utility/null/nullable.d.ts +0 -1
  78. package/typings/common/utility/null/nullable.spec.d.ts +0 -13
  79. package/typings/common/utility/primitive/cast/number.d.ts +0 -13
  80. package/typings/common/utility/primitive/cast/number.spec.d.ts +0 -57
  81. package/typings/common/utility/primitive/index.d.ts +0 -11
  82. package/typings/common/utility/primitive/index.spec.d.ts +0 -27
  83. package/typings/common/utility/primitive/length.d.ts +0 -5
  84. package/typings/common/utility/primitive/length.spec.d.ts +0 -26
  85. package/typings/common/utility/primitive/literal.d.ts +0 -1
  86. package/typings/common/utility/primitive/literal.spec.d.ts +0 -17
  87. package/typings/common/utility/primitive/literalful.d.ts +0 -3
  88. package/typings/common/utility/primitive/literalful.spec.d.ts +0 -20
  89. package/typings/common/utility/primitive/numeric.d.ts +0 -1
  90. package/typings/common/utility/primitive/numeric.spec.d.ts +0 -30
  91. package/typings/common/utility/primitive/truth.d.ts +0 -3
  92. package/typings/common/utility/primitive/truth.spec.d.ts +0 -22
  93. package/typings/common/validated/char.d.ts +0 -1
  94. package/typings/common/validated/index.d.ts +0 -2
  95. package/typings/common/validated/numberful.d.ts +0 -1
  96. package/typings/common/validated/properties/finite.d.ts +0 -2
  97. package/typings/common/validated/properties/int.d.ts +0 -2
  98. package/typings/common/validated/properties/length.d.ts +0 -3
  99. package/typings/common/validated/properties/polarity.d.ts +0 -5
  100. package/typings/common/validated/stringful.d.ts +0 -1
@@ -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;
@@ -1,27 +0,0 @@
1
- declare namespace Primitive {
2
- export type T0 = Primitive<"fast", string>;
3
- export type T0a = Primitive<"", string>;
4
- export type T0b = Primitive<"fast" | "good", string>;
5
- export type T0c = Primitive<"fast" | "", string>;
6
- export type T1 = Primitive<5, number>;
7
- export type T1a = Primitive<0, number>;
8
- export type T2 = Primitive<true, boolean>;
9
- export type T2a = Primitive<false, boolean>;
10
- export type N0 = Primitive<string, string>;
11
- export type N0a = Primitive<number, number>;
12
- export type N0b = Primitive<boolean, boolean>;
13
- export type N1 = Primitive<stringful, string>;
14
- export type N1b = Primitive<numberful, number>;
15
-
16
- // export type N2 = Primeval<number | 5, number>;
17
- // export type N2a = Primeval<string | "good", string>;
18
- // export type N2b = Primeval<boolean | true, boolean>;
19
- // export type N3 = Primeval<5, number | object>;
20
- // export type N3a = Primeval<symbol, symbol>;
21
- // export type N3b = Primeval<object, object>;
22
- // export type N3c = Primeval<[], readonly unknown[]>;
23
- // export type N3d = Primeval<()=> 5, Function>;
24
- // export type N3e = Primeval<5, unknown>;
25
- // export type N3f = Primeval<true | 10, boolean>;
26
- // export type N3g = Primeval<string | "good", string>;
27
- }
@@ -1,5 +0,0 @@
1
- declare type LengthValue<N extends number> = [N] extends [number]
2
- ? [number] extends [N]
3
- ? 0
4
- : Numeric<N>
5
- : never;
@@ -1,26 +0,0 @@
1
- declare namespace LengthValue {
2
- export type T0 = LengthValue<0>;
3
- export type T0a = LengthValue<0.0>; // 0
4
- export type T0b = LengthValue<number>; // 0
5
- export type T1 = LengthValue<1>;
6
- export type T1a = LengthValue<1.0>; // 1
7
- export type T2 = LengthValue<1.1>; // 1.1
8
- export type T3 = LengthValue<1 | 5>; // 1 | 5
9
- export type T3b = LengthValue<0 | 1 | 5>; // 0 | 1 | 5
10
- export type N = LengthValue<never>;
11
-
12
- // export type N0 = Length<unknown>;
13
- // export type N0a = Length<undefined>;
14
- // export type N0b = Length<null>;
15
- // export type N0c = Length<void>;
16
- // export type N0d = Length<undefined>;
17
- // export type N0e = Length<undefined>;
18
- // export type N1 = Length<"1">;
19
- // export type N1a = Length<true>;
20
- // export type N1b = Length<[5, 5]>;
21
- // export type N1c = Length<()=> void>;
22
- // export type N1d = Length<object>;
23
- // export type N2 = Length<null | 1>;
24
- // export type N2a = Length<true | 1>;
25
- // export type N2b = Length<number | 1>; // 0
26
- }
@@ -1 +0,0 @@
1
- declare type literal<S extends string> = Primitive<S, string>;
@@ -1,17 +0,0 @@
1
- declare namespace literal {
2
- export type T = literal<"">;
3
- export type T0 = literal<"a">;
4
- export type T1 = literal<"a" | "b">;
5
- export type T1b = literal<"a" | "">;
6
- export type N = literal<never>;
7
- export type N0 = literal<string>;
8
-
9
- // export type N1 = literal<unknown>;
10
- // export type N2 = literal<null>;
11
- // export type N3 = literal<undefined>;
12
- // export type N4 = literal<void>;
13
- // export type N5 = literal<object>;
14
- // export type N6 = literal<()=> "a">;
15
- // export type N7 = literal<symbol>;
16
- // export type N8 = literal<"a" | 5>;
17
- }
@@ -1,3 +0,0 @@
1
- declare type literalful<S extends string> = "" extends literal<S>
2
- ? never
3
- : literal<S>;
@@ -1,20 +0,0 @@
1
- declare namespace literalful {
2
- export type T0 = literalful<"a">;
3
- export type T1 = literalful<"a" | "b">;
4
- export type N0 = literalful<never>;
5
- export type N1 = literalful<"">;
6
- export type N2 = literalful<string>;
7
- export type N2b = literalful<stringful>;
8
- export type N3 = literalful<"" | "a">;
9
-
10
- // export type N5 = literalful<"a" | string>;
11
- // export type N5a = literalful<unknown>;
12
- // export type N5b = literalful<null>;
13
- // export type N5c = literalful<undefined>;
14
- // export type N5d = literalful<void>;
15
- // export type N5e = literalful<[]>;
16
- // export type N5f = literalful<object>;
17
- // export type N5g = literalful<()=> "a">;
18
- // export type N5h = literalful<symbol>;
19
- // export type N5i = literalful<"a" | 5>;
20
- }
@@ -1 +0,0 @@
1
- declare type Numeric<N extends number> = Primitive<N, number>;
@@ -1,30 +0,0 @@
1
- declare namespace Numeric {
2
- export type T0 = Numeric<0>;
3
- export type T1 = Numeric<0.0>;
4
- export type T2 = Numeric<1>;
5
- export type T3 = Numeric<1.0>;
6
- export type T4 = Numeric<1.1>;
7
- export type T5 = Numeric<1 | 5>;
8
- export type N0 = Numeric<number>;
9
- export type N0b = Numeric<numberful>;
10
- export type N0c = Numeric<number | numberful>;
11
- export type N0d = Numeric<1 | numberful>;
12
- export type N1 = Numeric<never>;
13
-
14
- // export type N0e = Numbered<1 | number>;
15
- // export type N2 = Numbered<"cool">;
16
- // export type N3 = Numbered<"NaN">;
17
- // export type N4 = Numbered<"5">;
18
- // export type N5 = Numbered<string>;
19
- // export type N6 = Numbered<boolean>;
20
- // export type N6a = Numbered<true>;
21
- // export type N6b = Numbered<false>;
22
- // export type N7 = Numbered<null>;
23
- // export type N8 = Numbered<undefined>;
24
- // export type N9 = Numbered<void>;
25
- // export type N10 = Numbered<object>;
26
- // export type N11 = Numbered<[]>;
27
- // export type N12 = Numbered<5 | true>;
28
- // export type N13 = Numbered<() => 5>;
29
- // export type N14 = Numbered<symbol>;
30
- }
@@ -1,3 +0,0 @@
1
- declare type Truth<B extends boolean> = true extends Primitive<B, boolean>
2
- ? Primitive<B, boolean>
3
- : never;