@spyglassmc/core 0.1.0 → 0.2.0

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.
Files changed (196) hide show
  1. package/README.md +7 -0
  2. package/lib/browser.d.ts +2 -0
  3. package/lib/browser.js +2 -0
  4. package/lib/common/TwoWayMap.d.ts +21 -0
  5. package/lib/common/TwoWayMap.js +69 -0
  6. package/lib/common/externals/BrowserExternals.d.ts +3 -0
  7. package/lib/common/externals/BrowserExternals.js +191 -0
  8. package/lib/common/externals/NodeJsExternals.d.ts +3 -0
  9. package/lib/common/externals/NodeJsExternals.js +151 -0
  10. package/lib/common/externals/downloader.d.ts +31 -0
  11. package/lib/common/externals/downloader.js +32 -0
  12. package/lib/common/externals/index.d.ts +96 -0
  13. package/lib/common/externals/index.js +2 -0
  14. package/lib/common/index.d.ts +2 -1
  15. package/lib/common/index.js +2 -13
  16. package/lib/common/util.d.ts +17 -34
  17. package/lib/common/util.js +32 -113
  18. package/lib/index.d.ts +7 -7
  19. package/lib/index.js +7 -19
  20. package/lib/node/AstNode.d.ts +3 -3
  21. package/lib/node/AstNode.js +10 -16
  22. package/lib/node/BooleanNode.d.ts +2 -2
  23. package/lib/node/BooleanNode.js +4 -7
  24. package/lib/node/CommentNode.d.ts +1 -1
  25. package/lib/node/CommentNode.js +2 -5
  26. package/lib/node/ErrorNode.d.ts +1 -1
  27. package/lib/node/ErrorNode.js +2 -5
  28. package/lib/node/FileNode.d.ts +3 -3
  29. package/lib/node/FileNode.js +2 -5
  30. package/lib/node/FloatNode.d.ts +2 -2
  31. package/lib/node/FloatNode.js +4 -7
  32. package/lib/node/IntegerNode.d.ts +2 -2
  33. package/lib/node/IntegerNode.js +4 -7
  34. package/lib/node/ListNode.d.ts +2 -2
  35. package/lib/node/ListNode.js +2 -5
  36. package/lib/node/LiteralNode.d.ts +4 -4
  37. package/lib/node/LiteralNode.js +5 -8
  38. package/lib/node/LongNode.d.ts +2 -2
  39. package/lib/node/LongNode.js +4 -7
  40. package/lib/node/RecordNode.d.ts +2 -2
  41. package/lib/node/RecordNode.js +2 -5
  42. package/lib/node/ResourceLocationNode.d.ts +6 -8
  43. package/lib/node/ResourceLocationNode.js +9 -12
  44. package/lib/node/Sequence.d.ts +4 -3
  45. package/lib/node/Sequence.js +4 -6
  46. package/lib/node/StringNode.d.ts +5 -5
  47. package/lib/node/StringNode.js +9 -12
  48. package/lib/node/SymbolNode.d.ts +4 -4
  49. package/lib/node/SymbolNode.js +5 -8
  50. package/lib/node/index.d.ts +15 -15
  51. package/lib/node/index.js +15 -27
  52. package/lib/nodejs.d.ts +2 -0
  53. package/lib/nodejs.js +2 -0
  54. package/lib/parser/Parser.d.ts +3 -3
  55. package/lib/parser/Parser.js +1 -4
  56. package/lib/parser/boolean.d.ts +2 -2
  57. package/lib/parser/boolean.js +3 -6
  58. package/lib/parser/comment.d.ts +2 -2
  59. package/lib/parser/comment.js +5 -9
  60. package/lib/parser/empty.d.ts +1 -1
  61. package/lib/parser/empty.js +1 -5
  62. package/lib/parser/error.d.ts +2 -2
  63. package/lib/parser/error.js +5 -9
  64. package/lib/parser/file.d.ts +3 -3
  65. package/lib/parser/file.js +9 -13
  66. package/lib/parser/float.d.ts +4 -4
  67. package/lib/parser/float.js +12 -16
  68. package/lib/parser/index.d.ts +16 -16
  69. package/lib/parser/index.js +16 -34
  70. package/lib/parser/integer.d.ts +4 -4
  71. package/lib/parser/integer.js +10 -14
  72. package/lib/parser/list.d.ts +2 -2
  73. package/lib/parser/list.js +15 -19
  74. package/lib/parser/literal.d.ts +2 -2
  75. package/lib/parser/literal.js +5 -9
  76. package/lib/parser/long.d.ts +4 -4
  77. package/lib/parser/long.js +10 -14
  78. package/lib/parser/record.d.ts +3 -3
  79. package/lib/parser/record.js +20 -24
  80. package/lib/parser/resourceLocation.d.ts +2 -2
  81. package/lib/parser/resourceLocation.js +14 -18
  82. package/lib/parser/string.d.ts +7 -7
  83. package/lib/parser/string.js +40 -44
  84. package/lib/parser/symbol.d.ts +3 -3
  85. package/lib/parser/symbol.js +3 -7
  86. package/lib/parser/util.d.ts +30 -12
  87. package/lib/parser/util.js +78 -63
  88. package/lib/processor/ColorInfoProvider.d.ts +1 -1
  89. package/lib/processor/ColorInfoProvider.js +6 -9
  90. package/lib/processor/InlayHintProvider.d.ts +2 -2
  91. package/lib/processor/InlayHintProvider.js +1 -2
  92. package/lib/processor/SignatureHelpProvider.d.ts +2 -2
  93. package/lib/processor/SignatureHelpProvider.js +1 -2
  94. package/lib/processor/checker/Checker.d.ts +2 -2
  95. package/lib/processor/checker/Checker.js +1 -5
  96. package/lib/processor/checker/builtin.d.ts +5 -4
  97. package/lib/processor/checker/builtin.js +26 -28
  98. package/lib/processor/checker/index.d.ts +2 -2
  99. package/lib/processor/checker/index.js +2 -27
  100. package/lib/processor/colorizer/Colorizer.d.ts +4 -4
  101. package/lib/processor/colorizer/Colorizer.js +8 -11
  102. package/lib/processor/colorizer/builtin.d.ts +3 -3
  103. package/lib/processor/colorizer/builtin.js +33 -46
  104. package/lib/processor/colorizer/index.d.ts +2 -2
  105. package/lib/processor/colorizer/index.js +2 -27
  106. package/lib/processor/completer/Completer.d.ts +4 -4
  107. package/lib/processor/completer/Completer.js +14 -33
  108. package/lib/processor/completer/builtin.d.ts +7 -7
  109. package/lib/processor/completer/builtin.js +58 -74
  110. package/lib/processor/completer/index.d.ts +2 -2
  111. package/lib/processor/completer/index.js +2 -27
  112. package/lib/processor/formatter/Formatter.d.ts +2 -2
  113. package/lib/processor/formatter/Formatter.js +2 -7
  114. package/lib/processor/formatter/builtin.d.ts +3 -3
  115. package/lib/processor/formatter/builtin.js +22 -36
  116. package/lib/processor/formatter/index.d.ts +2 -2
  117. package/lib/processor/formatter/index.js +2 -27
  118. package/lib/processor/index.d.ts +9 -9
  119. package/lib/processor/index.js +9 -21
  120. package/lib/processor/linter/Linter.d.ts +2 -2
  121. package/lib/processor/linter/Linter.js +1 -2
  122. package/lib/processor/linter/builtin/undeclaredSymbol.d.ts +2 -2
  123. package/lib/processor/linter/builtin/undeclaredSymbol.js +23 -27
  124. package/lib/processor/linter/builtin.d.ts +3 -3
  125. package/lib/processor/linter/builtin.js +19 -31
  126. package/lib/processor/linter/index.d.ts +2 -2
  127. package/lib/processor/linter/index.js +2 -27
  128. package/lib/processor/util.d.ts +2 -2
  129. package/lib/processor/util.js +4 -9
  130. package/lib/service/CacheService.d.ts +6 -6
  131. package/lib/service/CacheService.js +38 -48
  132. package/lib/service/Config.d.ts +17 -16
  133. package/lib/service/Config.js +56 -51
  134. package/lib/service/Context.d.ts +14 -14
  135. package/lib/service/Context.js +30 -32
  136. package/lib/service/Dependency.js +2 -5
  137. package/lib/service/Downloader.d.ts +10 -39
  138. package/lib/service/Downloader.js +37 -106
  139. package/lib/service/ErrorReporter.d.ts +2 -2
  140. package/lib/service/ErrorReporter.js +11 -15
  141. package/lib/service/FileService.d.ts +41 -14
  142. package/lib/service/FileService.js +107 -81
  143. package/lib/service/Hover.d.ts +2 -2
  144. package/lib/service/Hover.js +4 -7
  145. package/lib/service/Logger.js +2 -5
  146. package/lib/service/MetaRegistry.d.ts +12 -12
  147. package/lib/service/MetaRegistry.js +62 -73
  148. package/lib/service/Operations.js +3 -9
  149. package/lib/service/Profiler.d.ts +1 -1
  150. package/lib/service/Profiler.js +25 -41
  151. package/lib/service/Project.d.ts +50 -51
  152. package/lib/service/Project.js +240 -238
  153. package/lib/service/Service.d.ts +19 -29
  154. package/lib/service/Service.js +57 -53
  155. package/lib/service/SymbolLocations.d.ts +3 -3
  156. package/lib/service/SymbolLocations.js +4 -7
  157. package/lib/service/SymbolRegistrar.d.ts +1 -1
  158. package/lib/service/SymbolRegistrar.js +1 -2
  159. package/lib/service/fileUtil.d.ts +21 -41
  160. package/lib/service/fileUtil.js +59 -129
  161. package/lib/service/index.d.ts +17 -17
  162. package/lib/service/index.js +17 -31
  163. package/lib/source/IndexMap.d.ts +1 -1
  164. package/lib/source/IndexMap.js +7 -10
  165. package/lib/source/LanguageError.d.ts +2 -2
  166. package/lib/source/LanguageError.js +3 -6
  167. package/lib/source/Location.d.ts +3 -3
  168. package/lib/source/Location.js +6 -9
  169. package/lib/source/Offset.d.ts +1 -1
  170. package/lib/source/Offset.js +4 -7
  171. package/lib/source/Position.js +2 -5
  172. package/lib/source/PositionRange.d.ts +2 -2
  173. package/lib/source/PositionRange.js +14 -17
  174. package/lib/source/Range.d.ts +1 -1
  175. package/lib/source/Range.js +7 -10
  176. package/lib/source/Source.d.ts +12 -4
  177. package/lib/source/Source.js +84 -29
  178. package/lib/source/index.d.ts +8 -8
  179. package/lib/source/index.js +8 -20
  180. package/lib/symbol/Symbol.d.ts +15 -15
  181. package/lib/symbol/Symbol.js +53 -68
  182. package/lib/symbol/SymbolUtil.d.ts +23 -33
  183. package/lib/symbol/SymbolUtil.js +162 -163
  184. package/lib/symbol/UriBinder.d.ts +1 -1
  185. package/lib/symbol/UriBinder.js +1 -2
  186. package/lib/symbol/index.d.ts +3 -3
  187. package/lib/symbol/index.js +3 -15
  188. package/package.json +7 -4
  189. package/lib/common/Heap.d.ts +0 -1
  190. package/lib/common/Heap.js +0 -2
  191. package/lib/node/TableNode.d.ts +0 -17
  192. package/lib/node/TableNode.js +0 -11
  193. package/lib/parser/table.d.ts +0 -22
  194. package/lib/parser/table.js +0 -97
  195. package/lib/service/CommandExecutor.d.ts +0 -3
  196. package/lib/service/CommandExecutor.js +0 -7
@@ -1,16 +1,4 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./Symbol"), exports);
14
- __exportStar(require("./SymbolUtil"), exports);
15
- __exportStar(require("./UriBinder"), exports);
1
+ export * from './Symbol.js';
2
+ export * from './SymbolUtil.js';
3
+ export * from './UriBinder.js';
16
4
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@spyglassmc/core",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
+ "type": "module",
4
5
  "main": "lib/index.js",
5
6
  "types": "lib/index.d.ts",
6
7
  "author": "SPGoding",
@@ -13,19 +14,21 @@
13
14
  "release:dry": "npm publish --dry-run"
14
15
  },
15
16
  "dependencies": {
17
+ "base64-arraybuffer": "^1.0.2",
16
18
  "binary-search": "^1.3.6",
17
19
  "chokidar": "^3.5.2",
18
20
  "decompress": "^4.2.1",
19
21
  "follow-redirects": "^1.14.8",
20
22
  "globby": "^11.0.4",
21
- "p-limit": "^3.1.0",
23
+ "pako": "^2.0.4",
22
24
  "rfdc": "^1.3.0",
23
25
  "vscode-languageserver-textdocument": "^1.0.4",
24
- "@spyglassmc/locales": "0.1.0"
26
+ "@spyglassmc/locales": "0.2.0"
25
27
  },
26
28
  "devDependencies": {
27
29
  "@types/decompress": "^4.2.3",
28
- "@types/follow-redirects": "^1.14.1"
30
+ "@types/follow-redirects": "^1.14.1",
31
+ "@types/pako": "^2.0.0"
29
32
  },
30
33
  "publishConfig": {
31
34
  "access": "public"
@@ -1 +0,0 @@
1
- //# sourceMappingURL=Heap.d.ts.map
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=Heap.js.map
@@ -1,17 +0,0 @@
1
- import type { Range } from '../source';
2
- import type { AstNode } from './AstNode';
3
- export interface TableNode<K extends AstNode, V extends AstNode> extends AstNode {
4
- readonly children: PairNode<K, V>[];
5
- }
6
- export interface PairNode<K extends AstNode, V extends AstNode> extends AstNode {
7
- readonly type: 'pair';
8
- readonly children?: [K, V] | [K] | [V];
9
- readonly key?: K;
10
- readonly sep?: Range;
11
- readonly value?: V;
12
- readonly end?: Range;
13
- }
14
- export declare namespace PairNode {
15
- function is<K extends AstNode, V extends AstNode>(node: AstNode | undefined): node is PairNode<K, V>;
16
- }
17
- //# sourceMappingURL=TableNode.d.ts.map
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PairNode = void 0;
4
- var PairNode;
5
- (function (PairNode) {
6
- function is(node) {
7
- return node?.type === 'pair';
8
- }
9
- PairNode.is = is;
10
- })(PairNode = exports.PairNode || (exports.PairNode = {}));
11
- //# sourceMappingURL=TableNode.js.map
@@ -1,22 +0,0 @@
1
- import type { AstNode } from '../node';
2
- import type { TableNode } from '../node/RecordNode';
3
- import type { InfallibleParser, Parser } from './Parser';
4
- /** @internal For test only */
5
- export interface Options<K extends AstNode, V extends AstNode> {
6
- start: string;
7
- pair: {
8
- key: Parser<K>;
9
- sep: string;
10
- value: Parser<V> | {
11
- get: (tableResult: TableNode<K, V>, keyResult: K | undefined) => Parser<V>;
12
- };
13
- end: string;
14
- trailingEnd: boolean;
15
- };
16
- end: string;
17
- }
18
- /**
19
- * @returns A parser that parses something coming in a key-value pair form. e.g. SNBT objects, entity selector arguments.
20
- */
21
- export declare function table<K extends AstNode, V extends AstNode>({ start, pair, end }: Options<K, V>): InfallibleParser<TableNode<K, V>>;
22
- //# sourceMappingURL=table.d.ts.map
@@ -1,97 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.table = void 0;
4
- const locales_1 = require("@spyglassmc/locales");
5
- const source_1 = require("../source");
6
- const Parser_1 = require("./Parser");
7
- const util_1 = require("./util");
8
- /**
9
- * @returns A parser that parses something coming in a key-value pair form. e.g. SNBT objects, entity selector arguments.
10
- */
11
- function table({ start, pair, end }) {
12
- return (src, ctx) => {
13
- const ans = {
14
- type: 'table',
15
- range: source_1.Range.create(src),
16
- children: [],
17
- };
18
- if (src.trySkip(start)) {
19
- src.skipWhitespace();
20
- let requiresPairEnd = false;
21
- let hasPairEnd = false;
22
- while (src.canRead() && src.peek(end.length) !== end) {
23
- const pairStart = src.cursor;
24
- let key;
25
- let value;
26
- // Pair end of the last pair.
27
- if (requiresPairEnd && !hasPairEnd) {
28
- ctx.err.report((0, locales_1.localize)('expected', (0, locales_1.localeQuote)(pair.end)), src);
29
- }
30
- // Key.
31
- const keyStart = src.cursor;
32
- const { result: keyResult, updateSrcAndCtx: updateForKey, endCursor: keyEnd } = (0, util_1.attempt)(pair.key, src, ctx);
33
- if (keyResult === Parser_1.Failure || (keyEnd - keyStart === 0 && ![pair.sep, pair.end, end, '\r', '\n', '\t', ' '].includes(src.peek()))) {
34
- ctx.err.report((0, locales_1.localize)('expected', (0, locales_1.localize)('parser.table.key')), source_1.Range.create(src, () => src.skipUntilOrEnd(pair.sep, pair.end, end, '\r', '\n')));
35
- }
36
- else {
37
- updateForKey();
38
- key = keyResult;
39
- }
40
- // K-V sep.
41
- let sepCharRange = undefined;
42
- src.skipWhitespace();
43
- if (src.peek(pair.sep.length) === pair.sep) {
44
- sepCharRange = source_1.Range.create(src, () => src.skip(pair.sep.length));
45
- }
46
- else {
47
- ctx.err.report((0, locales_1.localize)('expected', (0, locales_1.localeQuote)(pair.sep)), src);
48
- }
49
- // Value.
50
- src.skipWhitespace();
51
- const valueParser = typeof pair.value === 'function' ? pair.value : pair.value.get(ans, key);
52
- const valueStart = src.cursor;
53
- const { result: valueResult, updateSrcAndCtx: updateForValue, endCursor: valueEnd } = (0, util_1.attempt)(valueParser, src, ctx);
54
- if (valueResult === Parser_1.Failure || (valueEnd - valueStart === 0 && ![pair.sep, pair.end, end, '\r', '\n', '\t', ' '].includes(src.peek()))) {
55
- ctx.err.report((0, locales_1.localize)('expected', (0, locales_1.localize)('parser.table.value')), source_1.Range.create(src, () => src.skipUntilOrEnd(pair.sep, pair.end, end, '\r', '\n')));
56
- }
57
- else {
58
- updateForValue();
59
- value = valueResult;
60
- }
61
- // Pair end.
62
- let endCharRange = undefined;
63
- src.skipWhitespace();
64
- requiresPairEnd = true;
65
- if (hasPairEnd = src.peek(pair.end.length) === pair.end) {
66
- endCharRange = source_1.Range.create(src, () => src.skip(pair.end.length));
67
- }
68
- // Create pair.
69
- ans.children.push({
70
- type: 'pair',
71
- range: source_1.Range.create(pairStart, src),
72
- ...(key || value) ? { children: [key, value].filter(v => !!v) } : {},
73
- key,
74
- sep: sepCharRange,
75
- value,
76
- end: endCharRange,
77
- });
78
- src.skipWhitespace();
79
- }
80
- // Trailing pair end.
81
- if (hasPairEnd && !pair.trailingEnd) {
82
- ctx.err.report((0, locales_1.localize)('parser.table.trailing-end'), ans.children[ans.children.length - 1].end);
83
- }
84
- // End.
85
- if (!src.trySkip(end)) {
86
- ctx.err.report((0, locales_1.localize)('expected', (0, locales_1.localeQuote)(end)), src);
87
- }
88
- }
89
- else {
90
- ctx.err.report((0, locales_1.localize)('expected', (0, locales_1.localeQuote)(start)), src);
91
- }
92
- ans.range.end = src.cursor;
93
- return ans;
94
- };
95
- }
96
- exports.table = table;
97
- //# sourceMappingURL=table.js.map
@@ -1,3 +0,0 @@
1
- export declare class CommandExecutor {
2
- }
3
- //# sourceMappingURL=CommandExecutor.d.ts.map
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CommandExecutor = void 0;
4
- class CommandExecutor {
5
- }
6
- exports.CommandExecutor = CommandExecutor;
7
- //# sourceMappingURL=CommandExecutor.js.map