view-ignored 0.0.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/README.md +85 -0
- package/bin/viewig +2 -0
- package/lib/bin.d.ts +3 -0
- package/lib/bin.d.ts.map +1 -0
- package/lib/bin.js +4 -0
- package/lib/bin.js.map +1 -0
- package/lib/browser/binds.d.ts +22 -0
- package/lib/browser/binds.d.ts.map +1 -0
- package/lib/browser/binds.js +14 -0
- package/lib/browser/binds.js.map +1 -0
- package/lib/browser/fileinfo.d.ts +35 -0
- package/lib/browser/fileinfo.d.ts.map +1 -0
- package/lib/browser/fileinfo.js +42 -0
- package/lib/browser/fileinfo.js.map +1 -0
- package/lib/browser/index.d.ts +4 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +4 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/lib.d.ts +122 -0
- package/lib/browser/lib.d.ts.map +1 -0
- package/lib/browser/lib.js +114 -0
- package/lib/browser/lib.js.map +1 -0
- package/lib/browser/looker.d.ts +60 -0
- package/lib/browser/looker.d.ts.map +1 -0
- package/lib/browser/looker.js +80 -0
- package/lib/browser/looker.js.map +1 -0
- package/lib/browser/plugins/git.d.ts +10 -0
- package/lib/browser/plugins/git.d.ts.map +1 -0
- package/lib/browser/plugins/git.js +23 -0
- package/lib/browser/plugins/git.js.map +1 -0
- package/lib/browser/plugins/npm.d.ts +12 -0
- package/lib/browser/plugins/npm.d.ts.map +1 -0
- package/lib/browser/plugins/npm.js +70 -0
- package/lib/browser/plugins/npm.js.map +1 -0
- package/lib/browser/plugins/vsce.d.ts +10 -0
- package/lib/browser/plugins/vsce.d.ts.map +1 -0
- package/lib/browser/plugins/vsce.js +23 -0
- package/lib/browser/plugins/vsce.js.map +1 -0
- package/lib/browser/plugins/yarn.d.ts +15 -0
- package/lib/browser/plugins/yarn.d.ts.map +1 -0
- package/lib/browser/plugins/yarn.js +46 -0
- package/lib/browser/plugins/yarn.js.map +1 -0
- package/lib/browser/sorting.d.ts +31 -0
- package/lib/browser/sorting.d.ts.map +1 -0
- package/lib/browser/sorting.js +121 -0
- package/lib/browser/sorting.js.map +1 -0
- package/lib/browser/sourcepattern.d.ts +25 -0
- package/lib/browser/sourcepattern.d.ts.map +1 -0
- package/lib/browser/sourcepattern.js +45 -0
- package/lib/browser/sourcepattern.js.map +1 -0
- package/lib/browser/styling.d.ts +16 -0
- package/lib/browser/styling.d.ts.map +1 -0
- package/lib/browser/styling.js +116 -0
- package/lib/browser/styling.js.map +1 -0
- package/lib/browser/tools/index.d.ts +3 -0
- package/lib/browser/tools/index.d.ts.map +1 -0
- package/lib/browser/tools/index.js +3 -0
- package/lib/browser/tools/index.js.map +1 -0
- package/lib/browser/tools/sorting.d.ts +31 -0
- package/lib/browser/tools/sorting.d.ts.map +1 -0
- package/lib/browser/tools/sorting.js +121 -0
- package/lib/browser/tools/sorting.js.map +1 -0
- package/lib/browser/tools/styles.d.ts +16 -0
- package/lib/browser/tools/styles.d.ts.map +1 -0
- package/lib/browser/tools/styles.js +116 -0
- package/lib/browser/tools/styles.js.map +1 -0
- package/lib/cli.d.ts +26 -0
- package/lib/cli.d.ts.map +1 -0
- package/lib/cli.js +134 -0
- package/lib/cli.js.map +1 -0
- package/lib/config.d.ts +80 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/config.js +105 -0
- package/lib/config.js.map +1 -0
- package/lib/git.d.ts +13 -0
- package/lib/git.d.ts.map +1 -0
- package/lib/git.js +37 -0
- package/lib/git.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +4 -0
- package/lib/index.js.map +1 -0
- package/lib/lib.d.ts +5 -0
- package/lib/lib.d.ts.map +1 -0
- package/lib/lib.js +5 -0
- package/lib/lib.js.map +1 -0
- package/lib/plugins/git.d.ts +9 -0
- package/lib/plugins/git.js +22 -0
- package/lib/plugins/git.js.map +1 -0
- package/lib/plugins/npm.d.ts +12 -0
- package/lib/plugins/npm.js +74 -0
- package/lib/plugins/npm.js.map +1 -0
- package/lib/plugins/vsce.d.ts +9 -0
- package/lib/plugins/vsce.js +22 -0
- package/lib/plugins/vsce.js.map +1 -0
- package/lib/plugins/yarn.d.ts +15 -0
- package/lib/plugins/yarn.js +50 -0
- package/lib/plugins/yarn.js.map +1 -0
- package/lib/tools/index.d.ts +3 -0
- package/lib/tools/index.js +4 -0
- package/lib/tools/index.js.map +1 -0
- package/lib/tools/methods.d.ts +16 -0
- package/lib/tools/methods.js +81 -0
- package/lib/tools/methods.js.map +1 -0
- package/lib/tools/sorting.d.ts +30 -0
- package/lib/tools/sorting.js +121 -0
- package/lib/tools/sorting.js.map +1 -0
- package/lib/tools/styles.d.ts +15 -0
- package/lib/tools/styles.js +123 -0
- package/lib/tools/styles.js.map +1 -0
- package/lib/util/index.d.ts +3 -0
- package/lib/util/index.js +4 -0
- package/lib/util/index.js.map +1 -0
- package/lib/util/presets.d.ts +24 -0
- package/lib/util/presets.js +129 -0
- package/lib/util/presets.js.map +1 -0
- package/lib/util/sorting.d.ts +30 -0
- package/lib/util/sorting.js +121 -0
- package/lib/util/sorting.js.map +1 -0
- package/lib/util/styles.d.ts +8 -0
- package/lib/util/styles.js +52 -0
- package/lib/util/styles.js.map +1 -0
- package/package.json +94 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styling.js","sourceRoot":"","sources":["../../src/browser/styling.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare const sortNameList: readonly ["firstFolders", "firstFiles", "type", "mixed", "modified"];
|
|
2
|
+
export type SortName = typeof sortNameList[number];
|
|
3
|
+
export type SortFunc = (a: string, b: string) => number;
|
|
4
|
+
export declare const Sorters: {
|
|
5
|
+
/**
|
|
6
|
+
* Files and folders are sorted by their names.
|
|
7
|
+
* Folders are displayed before files.
|
|
8
|
+
*/
|
|
9
|
+
readonly firstFolders: (a: string, b: string) => number;
|
|
10
|
+
/**
|
|
11
|
+
* Files and folders are sorted by their names.
|
|
12
|
+
* Files are displayed before folders.
|
|
13
|
+
*/
|
|
14
|
+
readonly firstFiles: (a: string, b: string) => number;
|
|
15
|
+
/**
|
|
16
|
+
* Files and folders are sorted by last modified date in descending order.
|
|
17
|
+
* Folders are displayed before files.
|
|
18
|
+
*/
|
|
19
|
+
readonly modified: (a: string, b: string, aDate: Date, bDate: Date) => number;
|
|
20
|
+
/**
|
|
21
|
+
* Files and folders are grouped by extension type then sorted by thir names.
|
|
22
|
+
* Folders are displayed before files.
|
|
23
|
+
*/
|
|
24
|
+
readonly type: (a: string, b: string) => number;
|
|
25
|
+
/**
|
|
26
|
+
* Files and folders are sorted by their names.
|
|
27
|
+
* Files are interwoven with folders.
|
|
28
|
+
*/
|
|
29
|
+
readonly mixed: (a: string, b: string) => number;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=sorting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sorting.d.ts","sourceRoot":"","sources":["../../../src/browser/tools/sorting.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,sEAAuE,CAAA;AAChG,MAAM,MAAM,QAAQ,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;AAClD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;AAUvD,eAAO,MAAM,OAAO;IACnB;;;OAGG;+BACa,MAAM,KAAK,MAAM,KAAG,MAAM;IAqB1C;;;OAGG;6BACW,MAAM,KAAK,MAAM,KAAG,MAAM;IAqBxC;;;OAGG;2BACS,MAAM,KAAK,MAAM,SAAS,IAAI,SAAS,IAAI,KAAG,MAAM;IAqBhE;;;OAGG;uBACK,MAAM,KAAK,MAAM,KAAG,MAAM;IAuBlC;;;OAGG;wBACM,MAAM,KAAK,MAAM,KAAG,MAAM;CAG1B,CAAA"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
export const sortNameList = ["firstFolders", "firstFiles", "type", "mixed", "modified"];
|
|
3
|
+
function slicePath(p) {
|
|
4
|
+
const slashIndex = p.indexOf('/');
|
|
5
|
+
const next = p.substring(0, slashIndex);
|
|
6
|
+
const other = p.substring(slashIndex + 1);
|
|
7
|
+
const isLast = next === '' && (p.lastIndexOf('/') === slashIndex);
|
|
8
|
+
return [slashIndex < 0 ? other : next, other, isLast];
|
|
9
|
+
}
|
|
10
|
+
export const Sorters = {
|
|
11
|
+
/**
|
|
12
|
+
* Files and folders are sorted by their names.
|
|
13
|
+
* Folders are displayed before files.
|
|
14
|
+
*/
|
|
15
|
+
firstFolders(a, b) {
|
|
16
|
+
let comp = 0;
|
|
17
|
+
let next1, others1, next2, others2, last1, last2;
|
|
18
|
+
for (; comp === 0;) {
|
|
19
|
+
[next1, others1, last1] = slicePath(a);
|
|
20
|
+
a = others1;
|
|
21
|
+
[next2, others2, last2] = slicePath(b);
|
|
22
|
+
b = others2;
|
|
23
|
+
comp = Sorters.mixed(next1, next2);
|
|
24
|
+
if (last1 || last2) {
|
|
25
|
+
if (last1 === last2) {
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
if (last1 === false) {
|
|
29
|
+
return -1;
|
|
30
|
+
}
|
|
31
|
+
return +1;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return comp;
|
|
35
|
+
},
|
|
36
|
+
/**
|
|
37
|
+
* Files and folders are sorted by their names.
|
|
38
|
+
* Files are displayed before folders.
|
|
39
|
+
*/
|
|
40
|
+
firstFiles(a, b) {
|
|
41
|
+
let comp = 0;
|
|
42
|
+
let next1, others1, next2, others2, last1, last2;
|
|
43
|
+
for (; comp === 0;) {
|
|
44
|
+
[next1, others1, last1] = slicePath(a);
|
|
45
|
+
a = others1;
|
|
46
|
+
[next2, others2, last2] = slicePath(b);
|
|
47
|
+
b = others2;
|
|
48
|
+
comp = Sorters.mixed(next1, next2);
|
|
49
|
+
if (last1 || last2) {
|
|
50
|
+
if (last1 === last2) {
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
if (last1 === true) {
|
|
54
|
+
return -1;
|
|
55
|
+
}
|
|
56
|
+
return +1;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return comp;
|
|
60
|
+
},
|
|
61
|
+
/**
|
|
62
|
+
* Files and folders are sorted by last modified date in descending order.
|
|
63
|
+
* Folders are displayed before files.
|
|
64
|
+
*/
|
|
65
|
+
modified(a, b, aDate, bDate) {
|
|
66
|
+
let comp = 0;
|
|
67
|
+
let others1, others2, last1, last2;
|
|
68
|
+
for (; comp === 0;) {
|
|
69
|
+
[, others1, last1] = slicePath(a);
|
|
70
|
+
a = others1;
|
|
71
|
+
[, others2, last2] = slicePath(b);
|
|
72
|
+
b = others2;
|
|
73
|
+
comp = aDate.getTime() - bDate.getTime();
|
|
74
|
+
if (last1 || last2) {
|
|
75
|
+
if (last1 === last2) {
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
if (last1 === false) {
|
|
79
|
+
return -1;
|
|
80
|
+
}
|
|
81
|
+
return +1;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return comp;
|
|
85
|
+
},
|
|
86
|
+
/**
|
|
87
|
+
* Files and folders are grouped by extension type then sorted by thir names.
|
|
88
|
+
* Folders are displayed before files.
|
|
89
|
+
*/
|
|
90
|
+
type(a, b) {
|
|
91
|
+
let comp = 0;
|
|
92
|
+
let next1, others1, next2, others2, last1, last2;
|
|
93
|
+
for (; comp === 0;) {
|
|
94
|
+
[next1, others1, last1] = slicePath(a);
|
|
95
|
+
a = others1;
|
|
96
|
+
[next2, others2, last2] = slicePath(b);
|
|
97
|
+
b = others2;
|
|
98
|
+
const ppa = path.parse(next1);
|
|
99
|
+
const ppb = path.parse(next2);
|
|
100
|
+
comp = Sorters.mixed(ppa.ext, ppb.ext) || Sorters.mixed(ppa.name, ppb.name);
|
|
101
|
+
if (last1 || last2) {
|
|
102
|
+
if (last1 === last2) {
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
if (last1 === false) {
|
|
106
|
+
return -1;
|
|
107
|
+
}
|
|
108
|
+
return +1;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return comp;
|
|
112
|
+
},
|
|
113
|
+
/**
|
|
114
|
+
* Files and folders are sorted by their names.
|
|
115
|
+
* Files are interwoven with folders.
|
|
116
|
+
*/
|
|
117
|
+
mixed(a, b) {
|
|
118
|
+
return a.localeCompare(b, undefined, { ignorePunctuation: false });
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=sorting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sorting.js","sourceRoot":"","sources":["../../../src/browser/tools/sorting.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FilterName, FileInfo } from "../index.js";
|
|
2
|
+
import { ChalkInstance } from "chalk";
|
|
3
|
+
export declare const styleNameList: readonly ["tree", "paths", "treeEmoji", "treeNerd"];
|
|
4
|
+
export type StyleName = typeof styleNameList[number];
|
|
5
|
+
export type Style = (oc: ChalkInstance, files: FileInfo[], style: StyleName, filter: FilterName) => void;
|
|
6
|
+
export declare const Styles: Record<StyleName, Style>;
|
|
7
|
+
export interface StyleCondition {
|
|
8
|
+
prefix?: string;
|
|
9
|
+
postfix?: string;
|
|
10
|
+
ifAny?: string;
|
|
11
|
+
ifEmoji?: string;
|
|
12
|
+
ifNerd?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function styleCondition(styleName: StyleName | undefined, condition: StyleCondition): string;
|
|
15
|
+
export declare function styleConditionFile(styleName: StyleName | undefined, filePath: string): string;
|
|
16
|
+
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/browser/tools/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGlD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,eAAO,MAAM,aAAa,qDAAsD,CAAA;AAChF,MAAM,MAAM,SAAS,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;AACpD,MAAM,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAA;AAQxG,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAS3C,CAAA;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AACD,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,SAAS,EAAE,cAAc,GAAG,MAAM,CAmBlG;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA6E7F"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { stdout } from "process";
|
|
2
|
+
import { default as tree } from "treeify";
|
|
3
|
+
import jsonifyPaths from "jsonify-paths";
|
|
4
|
+
import path from "path";
|
|
5
|
+
export const styleNameList = ['tree', 'paths', 'treeEmoji', 'treeNerd'];
|
|
6
|
+
const printTree = function (oc, files, styleName) {
|
|
7
|
+
const pathsAsObject = jsonifyPaths.from(files.map(f => f.toString({ styleName, usePrefix: true, chalk: oc }, false)), { delimiter: "/" });
|
|
8
|
+
const pathsAsTree = tree.asTree(pathsAsObject, true, true);
|
|
9
|
+
stdout.write(pathsAsTree);
|
|
10
|
+
};
|
|
11
|
+
export const Styles = {
|
|
12
|
+
paths(oc, files, styleName) {
|
|
13
|
+
stdout.write(files.map(f => `${f.toString({ styleName, usePrefix: true, chalk: oc })}`)
|
|
14
|
+
.join('\n') + "\n");
|
|
15
|
+
},
|
|
16
|
+
tree: printTree,
|
|
17
|
+
treeEmoji: printTree,
|
|
18
|
+
treeNerd: printTree
|
|
19
|
+
};
|
|
20
|
+
export function styleCondition(styleName, condition) {
|
|
21
|
+
var _a, _b, _c, _d, _e;
|
|
22
|
+
if (styleName === undefined) {
|
|
23
|
+
return '';
|
|
24
|
+
}
|
|
25
|
+
const isNerd = styleName.toLowerCase().includes('nerd');
|
|
26
|
+
const isEmoji = styleName.toLowerCase().includes('emoji');
|
|
27
|
+
let result = '';
|
|
28
|
+
if (isEmoji) {
|
|
29
|
+
result = (_a = condition.ifEmoji) !== null && _a !== void 0 ? _a : result;
|
|
30
|
+
}
|
|
31
|
+
else if (isNerd) {
|
|
32
|
+
result = (_b = condition.ifNerd) !== null && _b !== void 0 ? _b : result;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
result = (_c = condition.ifAny) !== null && _c !== void 0 ? _c : result;
|
|
36
|
+
}
|
|
37
|
+
if (result !== '') {
|
|
38
|
+
result = ((_d = condition.prefix) !== null && _d !== void 0 ? _d : '') + result + ((_e = condition.postfix) !== null && _e !== void 0 ? _e : '');
|
|
39
|
+
}
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
42
|
+
export function styleConditionFile(styleName, filePath) {
|
|
43
|
+
const parsed = path.parse(filePath);
|
|
44
|
+
let icon = '';
|
|
45
|
+
switch (parsed.ext.toLocaleLowerCase()) {
|
|
46
|
+
case ".js":
|
|
47
|
+
case ".cjs":
|
|
48
|
+
case ".mjs":
|
|
49
|
+
icon = '\ue60c';
|
|
50
|
+
break;
|
|
51
|
+
case ".ts":
|
|
52
|
+
case ".cts":
|
|
53
|
+
case ".mts":
|
|
54
|
+
icon = '\ue628';
|
|
55
|
+
break;
|
|
56
|
+
case ".styl":
|
|
57
|
+
icon = '\ue600';
|
|
58
|
+
break;
|
|
59
|
+
case ".less":
|
|
60
|
+
icon = '\ue60b';
|
|
61
|
+
break;
|
|
62
|
+
case ".scss":
|
|
63
|
+
case ".sass":
|
|
64
|
+
icon = '\ue603';
|
|
65
|
+
break;
|
|
66
|
+
case ".go":
|
|
67
|
+
icon = '\ue65e';
|
|
68
|
+
break;
|
|
69
|
+
case ".json":
|
|
70
|
+
case ".jsonc":
|
|
71
|
+
case ".json5":
|
|
72
|
+
icon = '\ue60b';
|
|
73
|
+
break;
|
|
74
|
+
case ".yml":
|
|
75
|
+
case ".yaml":
|
|
76
|
+
icon = '\ue6a8';
|
|
77
|
+
break;
|
|
78
|
+
case ".gitignore":
|
|
79
|
+
icon = '\ue65d';
|
|
80
|
+
break;
|
|
81
|
+
case ".npmignore":
|
|
82
|
+
icon = '\ue616';
|
|
83
|
+
break;
|
|
84
|
+
case ".dockerignore":
|
|
85
|
+
icon = '\ue650';
|
|
86
|
+
break;
|
|
87
|
+
default:
|
|
88
|
+
icon = '\ue64e';
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
switch (parsed.name.toLocaleLowerCase()) {
|
|
92
|
+
case "readme":
|
|
93
|
+
icon = '\ue66a';
|
|
94
|
+
break;
|
|
95
|
+
case "changelog":
|
|
96
|
+
icon = '\ue641';
|
|
97
|
+
break;
|
|
98
|
+
case "tsconfig":
|
|
99
|
+
icon = '\ue69d';
|
|
100
|
+
break;
|
|
101
|
+
case "eslint.config":
|
|
102
|
+
icon = '\ue655';
|
|
103
|
+
break;
|
|
104
|
+
case "stylelint.config":
|
|
105
|
+
icon = '\ue695';
|
|
106
|
+
break;
|
|
107
|
+
default:
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
return styleCondition(styleName, {
|
|
111
|
+
ifEmoji: '📄',
|
|
112
|
+
ifNerd: icon,
|
|
113
|
+
postfix: ' '
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/browser/tools/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAEhC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,CAAU,CAAA;AAIhF,MAAM,SAAS,GAAU,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS;IACtD,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAA;IACzI,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC1D,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAA6B;IAC/C,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS;QACzB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CACrB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;aAC/D,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IACrB,CAAC;IACD,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,SAAS;CACnB,CAAA;AASD,MAAM,UAAU,cAAc,CAAC,SAAgC,EAAE,SAAyB;;IACzF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAA;IACV,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACvD,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAEzD,IAAI,MAAM,GAAW,EAAE,CAAA;IACvB,IAAI,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,MAAA,SAAS,CAAC,OAAO,mCAAI,MAAM,CAAA;IACrC,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QACnB,MAAM,GAAG,MAAA,SAAS,CAAC,MAAM,mCAAI,MAAM,CAAA;IACpC,CAAC;SAAM,CAAC;QACP,MAAM,GAAG,MAAA,SAAS,CAAC,KAAK,mCAAI,MAAM,CAAA;IACnC,CAAC;IACD,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QACnB,MAAM,GAAG,CAAC,MAAA,SAAS,CAAC,MAAM,mCAAI,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,MAAA,SAAS,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAA;IACvE,CAAC;IACD,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAgC,EAAE,QAAgB;IACpF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACnC,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,QAAQ,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACxC,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACV,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM;QACP,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACV,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM;QACP,KAAK,OAAO;YACX,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM;QACP,KAAK,OAAO;YACX,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM;QACP,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACX,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM;QACP,KAAK,KAAK;YACT,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM;QAEP,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACZ,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM;QACP,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACX,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM;QAEP,KAAK,YAAY;YAChB,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM;QACP,KAAK,YAAY;YAChB,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM;QACP,KAAK,eAAe;YACnB,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM;QAEP;YACC,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM;IACR,CAAC;IACD,QAAQ,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACzC,KAAK,QAAQ;YACZ,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM;QACP,KAAK,WAAW;YACf,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM;QACP,KAAK,UAAU;YACd,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM;QACP,KAAK,eAAe;YACnB,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM;QACP,KAAK,kBAAkB;YACtB,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM;QAEP;YACC,MAAM;IACR,CAAC;IACD,OAAO,cAAc,CAAC,SAAS,EAAE;QAChC,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,GAAG;KACZ,CAAC,CAAA;AACH,CAAC"}
|
package/lib/cli.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Argument, program } from "commander";
|
|
2
|
+
import { FilterName, Sorting, Styling } from "./index.js";
|
|
3
|
+
import { ConfigKey, Config } from "./config.js";
|
|
4
|
+
export { program };
|
|
5
|
+
export interface Flags {
|
|
6
|
+
color: string;
|
|
7
|
+
target: string;
|
|
8
|
+
filter: FilterName;
|
|
9
|
+
sort: Sorting.SortName;
|
|
10
|
+
style: Styling.StyleName;
|
|
11
|
+
}
|
|
12
|
+
export declare const scanProgram: import("commander").Command;
|
|
13
|
+
export declare const cfgProgram: import("commander").Command;
|
|
14
|
+
export declare const argConfigKeyVal: Argument;
|
|
15
|
+
export declare const argConfigKey: Argument;
|
|
16
|
+
export declare function parseArgKey(key: string): string;
|
|
17
|
+
export declare function parseArgKeyVal(pair: string): [ConfigKey, Config[ConfigKey]];
|
|
18
|
+
export declare function actionScan(flags: Flags): Promise<void>;
|
|
19
|
+
export declare function actionCfgPath(): void;
|
|
20
|
+
export declare function actionCfgReset(): void;
|
|
21
|
+
export declare function actionCfgSet(pair: [ConfigKey, Config[ConfigKey]]): void;
|
|
22
|
+
export declare function actionCfgUnset(key: ConfigKey | undefined): void;
|
|
23
|
+
export declare function actionCfgGet(key: ConfigKey | undefined, options: {
|
|
24
|
+
safe?: boolean;
|
|
25
|
+
}): void;
|
|
26
|
+
//# sourceMappingURL=cli.d.ts.map
|
package/lib/cli.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAgC,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAY,UAAU,EAAe,OAAO,EAAE,OAAO,EAAW,MAAM,YAAY,CAAC;AAC1F,OAAO,EAA+B,SAAS,EAAE,MAAM,EAAiC,MAAM,aAAa,CAAC;AAG5G,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB,MAAM,WAAW,KAAK;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC,SAAS,CAAA;CACxB;AAED,eAAO,MAAM,WAAW,6BAGU,CAAA;AAUlC,eAAO,MAAM,UAAU,6BAGiB,CAAA;AAExC,eAAO,MAAM,eAAe,UAAuE,CAAA;AACnG,eAAO,MAAM,YAAY,UAA0D,CAAA;AAsBnF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAW3E;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAqC5D;AAED,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED,wBAAgB,cAAc,IAAI,IAAI,CAIrC;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAKvE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAM/D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,EAAE,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAG1F"}
|
package/lib/cli.js
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import fs from "fs";
|
|
11
|
+
import { stdout } from "process";
|
|
12
|
+
import { Chalk } from "chalk";
|
|
13
|
+
import { Argument, InvalidArgumentError, Option, program } from "commander";
|
|
14
|
+
import { scanProject, Sorting, Styling, Binding } from "./index.js";
|
|
15
|
+
import { configValues, configManager, configKeyList, configFilePath } from "./config.js";
|
|
16
|
+
configManager.load();
|
|
17
|
+
export { program };
|
|
18
|
+
export const scanProgram = program
|
|
19
|
+
.command("scan")
|
|
20
|
+
.aliases(['sc'])
|
|
21
|
+
.description('get ignored paths');
|
|
22
|
+
scanProgram
|
|
23
|
+
.addOption(new Option("-clr, --color <level>").default(configManager.get("color")).choices(configValues.color))
|
|
24
|
+
.addOption(new Option("-t, --target <ignorer>").default(configManager.get("target")).choices(configValues.target))
|
|
25
|
+
.addOption(new Option("-fl, --filter <filter>").default(configManager.get("filter")).choices(configValues.filter))
|
|
26
|
+
.addOption(new Option("-sr, --sort <sorter>").default(configManager.get("sort")).choices(configValues.sort))
|
|
27
|
+
.addOption(new Option("-st, --style <style>").default(configManager.get("style")).choices(configValues.style))
|
|
28
|
+
.action(actionScan);
|
|
29
|
+
export const cfgProgram = program
|
|
30
|
+
.command("config")
|
|
31
|
+
.alias('cfg')
|
|
32
|
+
.description('cli config manipulation');
|
|
33
|
+
export const argConfigKeyVal = new Argument('<pair>', 'pair "key=value"').argParser(parseArgKeyVal);
|
|
34
|
+
export const argConfigKey = new Argument('[key]', 'setting').choices(configKeyList);
|
|
35
|
+
cfgProgram
|
|
36
|
+
.command('path').description('print the config file path')
|
|
37
|
+
.action(actionCfgPath);
|
|
38
|
+
cfgProgram
|
|
39
|
+
.command('reset').description('reset config by deleting the file. alias for no-prop unset')
|
|
40
|
+
.action(actionCfgReset);
|
|
41
|
+
cfgProgram
|
|
42
|
+
.command('set').description('set config property using syntax "key=value"')
|
|
43
|
+
.addArgument(argConfigKeyVal)
|
|
44
|
+
.action(actionCfgSet);
|
|
45
|
+
cfgProgram
|
|
46
|
+
.command('unset').description("unset all configuration values or a specific one")
|
|
47
|
+
.addArgument(argConfigKey)
|
|
48
|
+
.action(actionCfgUnset);
|
|
49
|
+
cfgProgram
|
|
50
|
+
.command('get').description('print a list of all configuration values or a specific one')
|
|
51
|
+
.option('--safe', 'use default value(s) as fallback for printing')
|
|
52
|
+
.addArgument(argConfigKey)
|
|
53
|
+
.action(actionCfgGet);
|
|
54
|
+
export function parseArgKey(key) {
|
|
55
|
+
if (!configKeyList.includes(key)) {
|
|
56
|
+
throw new InvalidArgumentError(`Allowed config properties are ${configKeyList.join(', ')}. Got ${key}.`);
|
|
57
|
+
}
|
|
58
|
+
return key;
|
|
59
|
+
}
|
|
60
|
+
export function parseArgKeyVal(pair) {
|
|
61
|
+
const result = pair.split('=');
|
|
62
|
+
if (result.length !== 2) {
|
|
63
|
+
throw new InvalidArgumentError(`Invalid syntax. Expected 'setting=value'. Got '${pair}'.`);
|
|
64
|
+
}
|
|
65
|
+
const [key, val] = result;
|
|
66
|
+
parseArgKey(key);
|
|
67
|
+
if (!configValues[key].includes(val)) {
|
|
68
|
+
throw new InvalidArgumentError(`Allowed config properties are ${configValues[key].join(', ')}. Got '${val}'.`);
|
|
69
|
+
}
|
|
70
|
+
return result;
|
|
71
|
+
}
|
|
72
|
+
export function actionScan(flags) {
|
|
73
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
var _a, _b;
|
|
75
|
+
const start = Date.now();
|
|
76
|
+
const colorLevel = Math.max(0, Math.min(Number((_a = flags.color) !== null && _a !== void 0 ? _a : 3), 3));
|
|
77
|
+
/** Chalk, but configured by view-ignored cli. */
|
|
78
|
+
const chalk = new Chalk({ level: colorLevel });
|
|
79
|
+
const looked = yield scanProject(flags.target, { filter: flags.filter });
|
|
80
|
+
if (!looked) {
|
|
81
|
+
stdout.write(`Bad source for ${flags.target}.`);
|
|
82
|
+
stdout.write('\n');
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
const sorter = Sorting.Sorters[flags.sort];
|
|
86
|
+
const cacheEditDates = new Map();
|
|
87
|
+
for (const look of looked) {
|
|
88
|
+
cacheEditDates.set(look, fs.statSync(look.filePath).mtime);
|
|
89
|
+
}
|
|
90
|
+
const bind = Binding.targetBindMap.get(flags.target);
|
|
91
|
+
const lookedSorted = looked.sort((a, b) => sorter(a.toString(), b.toString(), cacheEditDates.get(a), cacheEditDates.get(b)));
|
|
92
|
+
stdout.write(process.cwd() + "\n");
|
|
93
|
+
Styling.Styles[flags.style](chalk, lookedSorted, flags.style, flags.filter);
|
|
94
|
+
const time = Date.now() - start;
|
|
95
|
+
stdout.write(`\n`);
|
|
96
|
+
const checkSymbol = Styling.styleCondition(flags.style, { ifEmoji: '✅', ifNerd: '\uf00c', postfix: ' ' });
|
|
97
|
+
const fastSymbol = Styling.styleCondition(flags.style, { ifEmoji: '⚡', ifNerd: '\udb85\udc0c' });
|
|
98
|
+
stdout.write(`${chalk.green(checkSymbol)}Done in ${time < 400 ? chalk.yellow(fastSymbol) : ''}${time}ms.`);
|
|
99
|
+
stdout.write(`\n\n`);
|
|
100
|
+
stdout.write(`${looked.length} files listed for ${bind.name} (${flags.filter}).`);
|
|
101
|
+
stdout.write('\n\n');
|
|
102
|
+
const infoSymbol = Styling.styleCondition(flags.style, { ifEmoji: 'ℹ️', ifNerd: '\ue66a', postfix: ' ' });
|
|
103
|
+
stdout.write(`${chalk.blue(infoSymbol)}You can use '${chalk.magenta((_b = bind.check) !== null && _b !== void 0 ? _b : "")}' to check if the list is valid.`);
|
|
104
|
+
stdout.write('\n');
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
export function actionCfgPath() {
|
|
108
|
+
stdout.write(configFilePath);
|
|
109
|
+
stdout.write('\n');
|
|
110
|
+
}
|
|
111
|
+
export function actionCfgReset() {
|
|
112
|
+
configManager.unset().save();
|
|
113
|
+
stdout.write(configManager.getPairString());
|
|
114
|
+
stdout.write('\n');
|
|
115
|
+
}
|
|
116
|
+
export function actionCfgSet(pair) {
|
|
117
|
+
const [key, val] = pair;
|
|
118
|
+
configManager.set(key, val).save();
|
|
119
|
+
stdout.write(configManager.getPairString(key));
|
|
120
|
+
stdout.write('\n');
|
|
121
|
+
}
|
|
122
|
+
export function actionCfgUnset(key) {
|
|
123
|
+
if (key !== undefined) {
|
|
124
|
+
configManager.unset(key).save();
|
|
125
|
+
}
|
|
126
|
+
stdout.write(configManager.getPairString(key));
|
|
127
|
+
stdout.write('\n');
|
|
128
|
+
}
|
|
129
|
+
export function actionCfgGet(key, options) {
|
|
130
|
+
var _a;
|
|
131
|
+
stdout.write(configManager.getPairString(key, (_a = options.safe) !== null && _a !== void 0 ? _a : false));
|
|
132
|
+
stdout.write('\n');
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=cli.js.map
|
package/lib/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/lib/config.d.ts
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { ColorSupportLevel } from "chalk";
|
|
2
|
+
import { FilterName, Sorting, Styling } from "./browser/index.js";
|
|
3
|
+
export declare const configFileName = ".view-ignored";
|
|
4
|
+
export declare const configFilePath: string;
|
|
5
|
+
export declare const configKeyList: readonly ["color", "target", "filter", "sort", "style"];
|
|
6
|
+
export type ConfigKey = typeof configKeyList[number] & keyof Config;
|
|
7
|
+
export type Config = {
|
|
8
|
+
color: `${ColorSupportLevel}`;
|
|
9
|
+
target: string;
|
|
10
|
+
filter: FilterName;
|
|
11
|
+
sort: Sorting.SortName;
|
|
12
|
+
style: Styling.StyleName;
|
|
13
|
+
};
|
|
14
|
+
export declare const configDefault: Config;
|
|
15
|
+
export declare const configValues: {
|
|
16
|
+
readonly color: readonly ["1", "2", "3", "4"];
|
|
17
|
+
readonly target: string[];
|
|
18
|
+
readonly filter: readonly ["ignored", "included", "all"];
|
|
19
|
+
readonly sort: readonly ["firstFolders", "firstFiles", "type", "mixed", "modified"];
|
|
20
|
+
readonly style: readonly ["tree", "paths", "treeEmoji", "treeNerd"];
|
|
21
|
+
};
|
|
22
|
+
export declare function configPartialGood(cfg: unknown): cfg is Partial<Config>;
|
|
23
|
+
export declare const configManager: {
|
|
24
|
+
/**
|
|
25
|
+
* Contains custom settings.
|
|
26
|
+
*/
|
|
27
|
+
readonly data: Partial<Config>;
|
|
28
|
+
readonly load: () => {
|
|
29
|
+
/**
|
|
30
|
+
* Contains custom settings.
|
|
31
|
+
*/
|
|
32
|
+
readonly data: Partial<Config>;
|
|
33
|
+
readonly load: any;
|
|
34
|
+
/**
|
|
35
|
+
* Saves config to the file. If there are no settings, the file will be deleted, if exists.
|
|
36
|
+
*/
|
|
37
|
+
readonly save: () => any;
|
|
38
|
+
readonly set: <T extends "sort" | "filter" | "color" | "target" | "style">(key: T, value: Config[T]) => any;
|
|
39
|
+
/**
|
|
40
|
+
* Deletes specific key or all keys from config.
|
|
41
|
+
* @param key Config property name.
|
|
42
|
+
*/
|
|
43
|
+
readonly unset: <T_1 extends "sort" | "filter" | "color" | "target" | "style">(key?: T_1 | undefined) => any;
|
|
44
|
+
/**
|
|
45
|
+
* Returns specific property value.
|
|
46
|
+
* @param key Config property name.
|
|
47
|
+
* @param fallbackDefault If `true`, default config value will be used when property from config file is `undefined`. Default `true`.
|
|
48
|
+
*/
|
|
49
|
+
readonly get: <T_2 extends "sort" | "filter" | "color" | "target" | "style", UseDefault extends boolean>(key: T_2, fallbackDefault?: UseDefault) => Config[T_2] | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* If key specified, returns string in format `"key=value"`. Otherwise, returns string with all pairs, separated with '\n' in format `"key=value\nkey=value\n..."` without new line ending.
|
|
52
|
+
* @param key Config property name.
|
|
53
|
+
* @param fallbackDefault If `true`, default config value will be used when property from config file is `undefined`. Default `true`.
|
|
54
|
+
*/
|
|
55
|
+
readonly getPairString: <T_3 extends "sort" | "filter" | "color" | "target" | "style">(key?: T_3 | undefined, fallbackDefault?: boolean) => string;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Saves config to the file. If there are no settings, the file will be deleted, if exists.
|
|
59
|
+
*/
|
|
60
|
+
readonly save: () => any;
|
|
61
|
+
readonly set: <T extends "sort" | "filter" | "color" | "target" | "style">(key: T, value: Config[T]) => any;
|
|
62
|
+
/**
|
|
63
|
+
* Deletes specific key or all keys from config.
|
|
64
|
+
* @param key Config property name.
|
|
65
|
+
*/
|
|
66
|
+
readonly unset: <T_1 extends "sort" | "filter" | "color" | "target" | "style">(key?: T_1 | undefined) => any;
|
|
67
|
+
/**
|
|
68
|
+
* Returns specific property value.
|
|
69
|
+
* @param key Config property name.
|
|
70
|
+
* @param fallbackDefault If `true`, default config value will be used when property from config file is `undefined`. Default `true`.
|
|
71
|
+
*/
|
|
72
|
+
readonly get: <T_2 extends "sort" | "filter" | "color" | "target" | "style", UseDefault extends boolean>(key: T_2, fallbackDefault?: UseDefault) => Config[T_2] | undefined;
|
|
73
|
+
/**
|
|
74
|
+
* If key specified, returns string in format `"key=value"`. Otherwise, returns string with all pairs, separated with '\n' in format `"key=value\nkey=value\n..."` without new line ending.
|
|
75
|
+
* @param key Config property name.
|
|
76
|
+
* @param fallbackDefault If `true`, default config value will be used when property from config file is `undefined`. Default `true`.
|
|
77
|
+
*/
|
|
78
|
+
readonly getPairString: <T_3 extends "sort" | "filter" | "color" | "target" | "style">(key?: T_3 | undefined, fallbackDefault?: boolean) => string;
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,UAAU,EAA2B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAM1F,eAAO,MAAM,cAAc,kBAAkB,CAAA;AAC7C,eAAO,MAAM,cAAc,QAA0C,CAAA;AAErE,eAAO,MAAM,aAAa,yDAA8F,CAAA;AACxH,MAAM,MAAM,SAAS,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,MAAM,CAAA;AACnE,MAAM,MAAM,MAAM,GAAG;IACjB,KAAK,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC;CAC5B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,MAM3B,CAAA;AACD,eAAO,MAAM,YAAY;;;;;;CAMf,CAAA;AAEV,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAUtE;AAED,eAAO,MAAM,aAAa;IACtB;;OAEG;;;QAFH;;WAEG;;;QAaH;;WAEG;;wFAW2B,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC;QAIjD;;;WAGG;;QAWH;;;;WAIG;6IAC4E,UAAU;QAQzF;;;;WAIG;wIAC0D,OAAO,KAAU,MAAM;;IAjDpF;;OAEG;;oFAW2B,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC;IAIjD;;;OAGG;;IAWH;;;;OAIG;yIAC4E,UAAU;IAQzF;;;;OAIG;oIAC0D,OAAO,KAAU,MAAM;CAO9E,CAAA"}
|