@eslinted/core 0.0.1-rc.0 → 0.0.1-rc.1
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/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[]>;
|