@eslinted/core 0.0.1-rc.0 → 0.0.1-rc.1
Sign up to get free protection for your applications and to get access to all the features.
- package/interface/IConfig.d.ts +21 -0
- package/interface/files/IFiles.d.ts +1 -0
- package/interface/option/IOption.d.ts +25 -0
- package/interface/option/language/IOLanguage.d.ts +15 -0
- package/interface/option/language/ecma/IOLanguageEcma.d.ts +20 -0
- package/interface/option/language/globals/IOLanguageGlobals.d.ts +3 -0
- package/interface/option/language/parser/IOLanguageParser.d.ts +3 -0
- package/interface/option/language/parserOptions/IOLanguageParserOptions.d.ts +5 -0
- package/interface/option/language/source/IOLanguageSource.d.ts +12 -0
- package/interface/option/linter/IOLinter.d.ts +30 -0
- package/interface/option/name/IOName.d.ts +3 -0
- package/interface/option/plugins/IOPlugins.d.ts +3 -0
- package/interface/option/processor/IOProcessor.d.ts +3 -0
- package/interface/rules/IRules.d.ts +1 -0
- package/interface/rules/rule/IRule.d.ts +1 -0
- package/interface/rules/rule/state/RuleSeverity.d.ts +5 -0
- package/package.json +2 -2
- package/tsconfig.json +4 -2
- package/types/literal/number/base32.d.ts +19 -0
- package/types/literal/number/base64.d.ts +35 -0
- package/types/literal/number/binary.d.ts +4 -0
- package/types/literal/number/decimal.d.ts +5 -0
- package/types/literal/number/hex.d.ts +10 -0
- package/types/literal/number/octal.d.ts +7 -0
- package/types/literal/number/quatral.d.ts +4 -0
- package/types/literal/number/ternary.d.ts +4 -0
- package/types/literal/string/base64char.d.ts +13 -0
- package/types/literal/string/digit.d.ts +12 -0
- package/types/literal/string/hexchar.d.ts +9 -0
- package/types/literal/string/letter.d.ts +35 -0
- package/types/safe/Safe.d.ts +2 -0
- package/types/safe/numbers/finite/Finite.d.ts +2 -0
- package/types/safe/numbers/finite.d.ts +1 -0
- package/types/safe/numbers/fint.d.ts +1 -0
- package/types/safe/numbers/int/Int.d.ts +2 -0
- package/types/safe/numbers/int.d.ts +1 -0
- package/types/safe/numbers/numberful.d.ts +1 -0
- package/types/safe/numbers/polarity/Negative.d.ts +4 -0
- package/types/safe/numbers/polarity/Positive.d.ts +4 -0
- package/types/safe/numbers/polarity/pole/Pole.d.ts +18 -0
- package/types/safe/primitive.d.ts +5 -0
- package/types/safe/strings/char.d.ts +1 -0
- package/types/safe/strings/length/PropLength.d.ts +3 -0
- package/types/safe/strings/stringful.d.ts +1 -0
- package/types/utility/interface/construct/Particord.d.ts +1 -0
- package/types/utility/interface/construct/Property.d.ts +8 -0
- package/types/utility/interface/construct/Recordful.d.ts +5 -0
- package/types/utility/interface/construct/Table.d.ts +3 -0
- package/types/utility/interface/construct/properties/Field.d.ts +1 -0
- package/types/utility/interface/construct/properties/Flag.d.ts +1 -0
- package/types/utility/interface/construct/properties/Limit.d.ts +8 -0
- package/types/utility/interface/construct/properties/List.d.ts +1 -0
- package/types/utility/interface/construct/properties/Listish.d.ts +1 -0
- package/types/utility/interface/construct/properties/Scalar.d.ts +1 -0
- package/types/utility/interface/construct/tables/FieldTable.d.ts +1 -0
- package/types/utility/interface/construct/tables/FlagTable.d.ts +1 -0
- package/types/utility/interface/construct/tables/ListTable.d.ts +1 -0
- package/types/utility/interface/construct/tables/ListishTable.d.ts +1 -0
- package/types/utility/interface/construct/tables/ScalarTable.d.ts +1 -0
- package/types/utility/interface/identity/Interface.d.ts +80 -0
- package/types/utility/interface/identity/Keys.d.ts +71 -0
- package/types/utility/interface/transform/Unrequire.d.ts +45 -0
- package/types/utility/iterable/construct/ArrayN.d.ts +12 -0
- package/types/utility/iterable/construct/Tuple.d.ts +27 -0
- package/types/utility/iterable/construct/arrays/Arrays.d.ts +1 -0
- package/types/utility/iterable/construct/tuples/Tuples.d.ts +9 -0
- package/types/utility/iterable/identity/DyadType.d.ts +3 -0
- package/types/utility/iterable/identity/MonadType.d.ts +48 -0
- package/types/utility/iterable/identity/TriadType.d.ts +3 -0
- package/types/utility/iterable/identity/array/ArrayType.d.ts +65 -0
- package/types/utility/iterable/identity/array/length/ArrayLength.d.ts +16 -0
- package/types/utility/iterable/transform/Join.d.ts +19 -0
- package/types/utility/iterable/transform/Unflat.d.ts +3 -0
- package/types/utility/iterable/transform/stringarray/Chain.d.ts +30 -0
- package/types/utility/iterable/transform/stringarray/PathN.d.ts +3 -0
- package/types/utility/iterable/transform/stringarray/stringify/Stringify.d.ts +5 -0
- package/types/utility/length/Length.d.ts +35 -0
- package/types/utility/null/null.d.ts +1 -0
- package/types/utility/null/nullable.d.ts +1 -0
- package/types/utility/primitive/Primeval.d.ts +42 -0
- package/types/utility/primitive/boolean/True.d.ts +30 -0
- package/types/utility/primitive/number/Numbered.d.ts +35 -0
- package/types/utility/primitive/string/literal.d.ts +22 -0
- package/types/utility/primitive/string/literalful.d.ts +28 -0
@@ -0,0 +1,21 @@
|
|
1
|
+
declare interface IConfig {
|
2
|
+
rules: IRule;
|
3
|
+
files: string[];
|
4
|
+
name: `linted/scope:${string}`;
|
5
|
+
linterOptions: {
|
6
|
+
noInlineConfig: true;
|
7
|
+
reportUnusedDisableDirectives: "error";
|
8
|
+
};
|
9
|
+
languageOptions: {
|
10
|
+
sourceType?:
|
11
|
+
| "module"
|
12
|
+
| "script"
|
13
|
+
;
|
14
|
+
ecmaVersion?: "latest";
|
15
|
+
globals?: Record<string, true>;
|
16
|
+
parser?: unknown;
|
17
|
+
parserOptions?: Record<string, unknown>;
|
18
|
+
};
|
19
|
+
plugins: Record<string, Record<"configs", unknown>>;
|
20
|
+
processor?: string;
|
21
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
declare interface IFiles { files: string[] }
|
@@ -0,0 +1,25 @@
|
|
1
|
+
declare type IOption<
|
2
|
+
Name extends string,
|
3
|
+
NoInline extends boolean,
|
4
|
+
ReportUnused extends boolean | IOLinter.States,
|
5
|
+
PluginId extends string,
|
6
|
+
Ecma extends number | IOLanguageEcma.Ecma,
|
7
|
+
Source extends IOLanguageSource.Source,
|
8
|
+
UseParser extends boolean,
|
9
|
+
ParserOptions extends object,
|
10
|
+
GlobalTypes extends string,
|
11
|
+
ProcessorId extends string,
|
12
|
+
> =
|
13
|
+
& IFiles
|
14
|
+
& IOName<Name>
|
15
|
+
& IOLinter<NoInline, ReportUnused>
|
16
|
+
& IOPlugins<PluginId>
|
17
|
+
& IOLanguage<
|
18
|
+
Ecma,
|
19
|
+
Source,
|
20
|
+
UseParser,
|
21
|
+
ParserOptions,
|
22
|
+
GlobalTypes
|
23
|
+
>
|
24
|
+
& IOProcessor<ProcessorId>
|
25
|
+
;
|
@@ -0,0 +1,15 @@
|
|
1
|
+
declare type IOLanguage<
|
2
|
+
Ecma extends number | IOLanguageEcma.Ecma,
|
3
|
+
Source extends IOLanguageSource.Source,
|
4
|
+
UseParser extends boolean,
|
5
|
+
ParserOptions extends object,
|
6
|
+
GlobalTypes extends string,
|
7
|
+
> = {
|
8
|
+
languageOptions:
|
9
|
+
& IOLanguageEcma<Ecma>
|
10
|
+
& IOLanguageSource<Source>
|
11
|
+
& IOLanguageGlobals<GlobalTypes>
|
12
|
+
& IOLanguageParser<UseParser>
|
13
|
+
& IOLanguageParserOptions<ParserOptions>
|
14
|
+
;
|
15
|
+
};
|
@@ -0,0 +1,20 @@
|
|
1
|
+
declare type IOLanguageEcma<Ecma extends number | IOLanguageEcma.Ecma> = [Ecma] extends [number]
|
2
|
+
? Numbered<Ecma> extends never
|
3
|
+
? object
|
4
|
+
: { ecmaVersion: Numbered<Ecma> }
|
5
|
+
|
6
|
+
: [Ecma] extends [string]
|
7
|
+
? literalful<Ecma> extends never
|
8
|
+
? object
|
9
|
+
: literalful<Ecma> extends IOLanguageEcma.Ecma
|
10
|
+
? { ecmaVersion: literalful<Ecma> }
|
11
|
+
: object
|
12
|
+
: object;
|
13
|
+
|
14
|
+
declare namespace IOLanguageEcma {
|
15
|
+
export type Ecma =
|
16
|
+
| `${number}`
|
17
|
+
| `ES${number}`
|
18
|
+
| `es${number}`
|
19
|
+
| "latest";
|
20
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
declare type IOLanguageSource<Source extends IOLanguageSource.Source> = literalful<Source> extends never
|
2
|
+
? object
|
3
|
+
: literalful<Source> extends IOLanguageSource.Source
|
4
|
+
? { sourceType: literalful<Source> }
|
5
|
+
: object;
|
6
|
+
|
7
|
+
declare namespace IOLanguageSource {
|
8
|
+
export type Source =
|
9
|
+
| "module"
|
10
|
+
| "script"
|
11
|
+
| "commonjs";
|
12
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
declare type IOLinter<
|
2
|
+
NoInline extends boolean,
|
3
|
+
ReportUnused extends
|
4
|
+
| boolean
|
5
|
+
| IOLinter.States,
|
6
|
+
> = {
|
7
|
+
linterOptions: {
|
8
|
+
noInlineConfig: True<NoInline> extends never
|
9
|
+
? false
|
10
|
+
: True<NoInline>;
|
11
|
+
reportUnusedDisableDirectives: [ReportUnused] extends [boolean]
|
12
|
+
? True<ReportUnused> extends never
|
13
|
+
? false
|
14
|
+
: True<ReportUnused>
|
15
|
+
: [ReportUnused] extends [string]
|
16
|
+
? literalful<ReportUnused> extends never
|
17
|
+
? false
|
18
|
+
: literalful<ReportUnused> extends IOLinter.States
|
19
|
+
? literalful<ReportUnused>
|
20
|
+
: false
|
21
|
+
: false;
|
22
|
+
};
|
23
|
+
};
|
24
|
+
|
25
|
+
declare namespace IOLinter {
|
26
|
+
export type States =
|
27
|
+
| "error"
|
28
|
+
| "warn"
|
29
|
+
| "off";
|
30
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
declare interface IRules { rules: IRule }
|
@@ -0,0 +1 @@
|
|
1
|
+
type IRule = Record<string, RuleSeverity | [RuleSeverity, ...unknown[]]>;
|
package/package.json
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
{
|
2
2
|
"name": "@eslinted/core",
|
3
|
-
"version": "0.0.1-rc.
|
3
|
+
"version": "0.0.1-rc.1",
|
4
4
|
"description": "",
|
5
5
|
"keywords": [],
|
6
6
|
"license": "MIT",
|
7
7
|
"type": "module",
|
8
8
|
"private": false,
|
9
9
|
"config": {
|
10
|
-
"PACKAGE_JSON_VERSION": "20.9.
|
10
|
+
"PACKAGE_JSON_VERSION": "20.9.1"
|
11
11
|
},
|
12
12
|
"repository": {
|
13
13
|
"type": "git",
|
package/tsconfig.json
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"display": "@jimbojet/tsc",
|
3
|
-
"_version": "5.5.
|
3
|
+
"_version": "5.5.8",
|
4
4
|
"$schema": "https://json.schemastore.org/tsconfig",
|
5
5
|
"include": [
|
6
|
-
"src/**/*.ts",
|
7
6
|
"*.config.ts",
|
7
|
+
"src/**/*.ts",
|
8
|
+
"interface/**/*.d.ts",
|
9
|
+
"types/**/*.d.ts",
|
8
10
|
],
|
9
11
|
"compilerOptions": {
|
10
12
|
/* Visit https://aka.ms/tsconfig to read more about this file */
|
@@ -0,0 +1,35 @@
|
|
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
|
+
;
|
@@ -0,0 +1,35 @@
|
|
1
|
+
declare type letter =
|
2
|
+
| lower
|
3
|
+
| upper
|
4
|
+
;
|
5
|
+
|
6
|
+
declare type lower = Lowercase<upper>;
|
7
|
+
|
8
|
+
declare type upper =
|
9
|
+
| "A"
|
10
|
+
| "B"
|
11
|
+
| "C"
|
12
|
+
| "D"
|
13
|
+
| "E"
|
14
|
+
| "F"
|
15
|
+
| "G"
|
16
|
+
| "H"
|
17
|
+
| "I"
|
18
|
+
| "J"
|
19
|
+
| "K"
|
20
|
+
| "L"
|
21
|
+
| "M"
|
22
|
+
| "N"
|
23
|
+
| "O"
|
24
|
+
| "P"
|
25
|
+
| "Q"
|
26
|
+
| "R"
|
27
|
+
| "S"
|
28
|
+
| "T"
|
29
|
+
| "U"
|
30
|
+
| "V"
|
31
|
+
| "W"
|
32
|
+
| "X"
|
33
|
+
| "Y"
|
34
|
+
| "Z"
|
35
|
+
;
|
@@ -0,0 +1 @@
|
|
1
|
+
declare type finite = Finite<numberful>;
|
@@ -0,0 +1 @@
|
|
1
|
+
declare type fint = Finite<int>;
|
@@ -0,0 +1 @@
|
|
1
|
+
declare type int = Int<numberful>;
|
@@ -0,0 +1 @@
|
|
1
|
+
declare type numberful = Safe<number, "numberful">;
|
@@ -0,0 +1,18 @@
|
|
1
|
+
declare const pole: unique symbol;
|
2
|
+
declare const min: unique symbol;
|
3
|
+
declare type Pole<
|
4
|
+
N extends number,
|
5
|
+
P extends
|
6
|
+
| "-"
|
7
|
+
| "+"
|
8
|
+
,
|
9
|
+
Zero,
|
10
|
+
> =
|
11
|
+
& N
|
12
|
+
& {
|
13
|
+
[pole]: P;
|
14
|
+
[min]: Zero extends false
|
15
|
+
? P extends "+" ? 1 : -1
|
16
|
+
: 0;
|
17
|
+
}
|
18
|
+
;
|
@@ -0,0 +1 @@
|
|
1
|
+
declare type char = stringful & PropLength<1>;
|
@@ -0,0 +1 @@
|
|
1
|
+
declare type stringful = Safe<string, "stringful"> & { 0: stringful & PropLength<1> };
|
@@ -0,0 +1 @@
|
|
1
|
+
declare type Particord<K extends string, V> = Partial<Recordful<K, V>>;
|
@@ -0,0 +1 @@
|
|
1
|
+
declare type Field<K extends string, OK extends string = never> = Property<K, OK, string>;
|
@@ -0,0 +1 @@
|
|
1
|
+
declare type Flag<OK extends string, K extends string = never> = Property<K, OK, boolean>;
|
@@ -0,0 +1 @@
|
|
1
|
+
declare type List<K extends string, OK extends string = never> = Property<K, OK, readonly string[]>;
|
@@ -0,0 +1 @@
|
|
1
|
+
declare type Listish<K extends string, OK extends string = never> = Property<K, OK, Unflat>;
|
@@ -0,0 +1 @@
|
|
1
|
+
declare type Scalar<K extends string, OK extends string = never> = Property<K, OK, number>;
|
@@ -0,0 +1 @@
|
|
1
|
+
declare type FieldTable = Table<string>;
|
@@ -0,0 +1 @@
|
|
1
|
+
declare type FlagTable = Table<boolean>;
|
@@ -0,0 +1 @@
|
|
1
|
+
declare type ListTable = Table<readonly string[]>;
|
@@ -0,0 +1 @@
|
|
1
|
+
declare type ListishTable = Table<Unflat>;
|
@@ -0,0 +1 @@
|
|
1
|
+
declare type ScalarTable = Table<number>;
|
@@ -0,0 +1,80 @@
|
|
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;
|
12
|
+
|
13
|
+
declare namespace InterfaceTest {
|
14
|
+
export type T = Interface<{ a: 5 }>;
|
15
|
+
export type T0 = Interface<{
|
16
|
+
a: 1;
|
17
|
+
b?: 2;
|
18
|
+
}>;
|
19
|
+
export type T1 = Interface<{
|
20
|
+
a: 1;
|
21
|
+
b: 2;
|
22
|
+
}>;
|
23
|
+
export type T2 = Interface<Record<"a", unknown>>;
|
24
|
+
export type T3 = Interface<Record<"a" | "b", unknown>>;
|
25
|
+
}
|
26
|
+
|
27
|
+
declare namespace NotInterface {
|
28
|
+
export type N = Interface<never>;
|
29
|
+
export type N0 = Interface<object>;
|
30
|
+
export type N0a = Interface<Record<"a" | "b" | 5, unknown>>;
|
31
|
+
export type N0b = Interface<Record<"a" | "b" | number, unknown>>;
|
32
|
+
export type N0c = Interface<Record<string, unknown>>;
|
33
|
+
export type N0d = Interface<Record<string | number, unknown>>;
|
34
|
+
export type N0e = Interface<Record<stringful, string>>;
|
35
|
+
export type N0f = Interface<Record<stringful | "5", string>>;
|
36
|
+
export type N1 = Interface<[]>;
|
37
|
+
export type N1b = Interface<[1]>;
|
38
|
+
export type N1c = Interface<[1, 1]>;
|
39
|
+
export type N1d = Interface<number[]>;
|
40
|
+
export type N1e = Interface<readonly []>;
|
41
|
+
export type N1f = Interface<readonly [1]>;
|
42
|
+
export type N1g = Interface<readonly [1, 1]>;
|
43
|
+
export type N1h = Interface<readonly number[]>;
|
44
|
+
export type N2 = Interface<()=> void>;
|
45
|
+
export type N2a = Interface<(a: string)=> boolean>;
|
46
|
+
export type N2b = Interface<(a: string)=> string[]>;
|
47
|
+
export type N2c = Interface<(a: string)=> object>;
|
48
|
+
export type N5 = Interface<[] | { a: 1 }>;
|
49
|
+
export type N5a = Interface<[30] | { a: 1 }>;
|
50
|
+
export type N5b = Interface<object | []>;
|
51
|
+
export type N5c = Interface<
|
52
|
+
| {
|
53
|
+
a: 1;
|
54
|
+
b: 2;
|
55
|
+
}
|
56
|
+
| {
|
57
|
+
a: 1;
|
58
|
+
b: 2;
|
59
|
+
c: 2;
|
60
|
+
}
|
61
|
+
>;
|
62
|
+
|
63
|
+
// export type N3 = Interface<stringful>;
|
64
|
+
// export type N3b = Interface<numberful>;
|
65
|
+
// export type N13c = Interface<string>;
|
66
|
+
// export type N13d = Interface<"cool">;
|
67
|
+
// export type N13e = Interface<number>;
|
68
|
+
// export type N13f = Interface<0>;
|
69
|
+
// export type N13g = Interface<1>;
|
70
|
+
// export type N13h = Interface<true>;
|
71
|
+
// export type N13i = Interface<false>;
|
72
|
+
// export type N13j = Interface<boolean>;
|
73
|
+
// export type N14 = Interface<null>;
|
74
|
+
// export type N14a = Interface<undefined>;
|
75
|
+
// export type N14c = Interface<unknown>;
|
76
|
+
// export type N15 = Interface<string | { a: cool }>;
|
77
|
+
// export type N15b = Interface<Record<"a" | "b" | string, unknown>>;
|
78
|
+
}
|
79
|
+
|
80
|
+
type gg = Extract<{ a: 5 }, readonly unknown[]>;
|