@spyglassmc/core 0.1.0 → 0.1.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spyglassmc/core",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "author": "SPGoding",
@@ -21,7 +21,7 @@
21
21
  "p-limit": "^3.1.0",
22
22
  "rfdc": "^1.3.0",
23
23
  "vscode-languageserver-textdocument": "^1.0.4",
24
- "@spyglassmc/locales": "0.1.0"
24
+ "@spyglassmc/locales": "0.1.1"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/decompress": "^4.2.3",
@@ -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