@spyglassmc/core 0.1.2 → 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 (187) 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.js +4 -10
  5. package/lib/common/externals/BrowserExternals.d.ts +3 -0
  6. package/lib/common/externals/BrowserExternals.js +191 -0
  7. package/lib/common/externals/NodeJsExternals.d.ts +3 -0
  8. package/lib/common/externals/NodeJsExternals.js +151 -0
  9. package/lib/common/externals/downloader.d.ts +31 -0
  10. package/lib/common/externals/downloader.js +32 -0
  11. package/lib/common/externals/index.d.ts +96 -0
  12. package/lib/common/externals/index.js +2 -0
  13. package/lib/common/index.d.ts +2 -1
  14. package/lib/common/index.js +2 -17
  15. package/lib/common/util.d.ts +15 -15
  16. package/lib/common/util.js +30 -77
  17. package/lib/index.d.ts +7 -7
  18. package/lib/index.js +7 -23
  19. package/lib/node/AstNode.d.ts +3 -3
  20. package/lib/node/AstNode.js +10 -16
  21. package/lib/node/BooleanNode.d.ts +2 -2
  22. package/lib/node/BooleanNode.js +4 -7
  23. package/lib/node/CommentNode.d.ts +1 -1
  24. package/lib/node/CommentNode.js +2 -5
  25. package/lib/node/ErrorNode.d.ts +1 -1
  26. package/lib/node/ErrorNode.js +2 -5
  27. package/lib/node/FileNode.d.ts +3 -3
  28. package/lib/node/FileNode.js +2 -5
  29. package/lib/node/FloatNode.d.ts +2 -2
  30. package/lib/node/FloatNode.js +4 -7
  31. package/lib/node/IntegerNode.d.ts +2 -2
  32. package/lib/node/IntegerNode.js +4 -7
  33. package/lib/node/ListNode.d.ts +2 -2
  34. package/lib/node/ListNode.js +2 -5
  35. package/lib/node/LiteralNode.d.ts +3 -3
  36. package/lib/node/LiteralNode.js +4 -7
  37. package/lib/node/LongNode.d.ts +2 -2
  38. package/lib/node/LongNode.js +4 -7
  39. package/lib/node/RecordNode.d.ts +2 -2
  40. package/lib/node/RecordNode.js +2 -5
  41. package/lib/node/ResourceLocationNode.d.ts +5 -5
  42. package/lib/node/ResourceLocationNode.js +9 -12
  43. package/lib/node/Sequence.d.ts +2 -2
  44. package/lib/node/Sequence.js +4 -7
  45. package/lib/node/StringNode.d.ts +4 -4
  46. package/lib/node/StringNode.js +9 -12
  47. package/lib/node/SymbolNode.d.ts +3 -3
  48. package/lib/node/SymbolNode.js +4 -7
  49. package/lib/node/index.d.ts +15 -15
  50. package/lib/node/index.js +15 -31
  51. package/lib/nodejs.d.ts +2 -0
  52. package/lib/nodejs.js +2 -0
  53. package/lib/parser/Parser.d.ts +3 -3
  54. package/lib/parser/Parser.js +1 -4
  55. package/lib/parser/boolean.d.ts +2 -2
  56. package/lib/parser/boolean.js +3 -6
  57. package/lib/parser/comment.d.ts +2 -2
  58. package/lib/parser/comment.js +5 -9
  59. package/lib/parser/empty.d.ts +1 -1
  60. package/lib/parser/empty.js +1 -5
  61. package/lib/parser/error.d.ts +2 -2
  62. package/lib/parser/error.js +5 -9
  63. package/lib/parser/file.d.ts +3 -3
  64. package/lib/parser/file.js +9 -13
  65. package/lib/parser/float.d.ts +4 -4
  66. package/lib/parser/float.js +12 -16
  67. package/lib/parser/index.d.ts +16 -16
  68. package/lib/parser/index.js +16 -38
  69. package/lib/parser/integer.d.ts +4 -4
  70. package/lib/parser/integer.js +10 -14
  71. package/lib/parser/list.d.ts +2 -2
  72. package/lib/parser/list.js +15 -19
  73. package/lib/parser/literal.d.ts +2 -2
  74. package/lib/parser/literal.js +5 -9
  75. package/lib/parser/long.d.ts +4 -4
  76. package/lib/parser/long.js +10 -14
  77. package/lib/parser/record.d.ts +3 -3
  78. package/lib/parser/record.js +20 -24
  79. package/lib/parser/resourceLocation.d.ts +2 -2
  80. package/lib/parser/resourceLocation.js +14 -18
  81. package/lib/parser/string.d.ts +5 -5
  82. package/lib/parser/string.js +36 -42
  83. package/lib/parser/symbol.d.ts +3 -3
  84. package/lib/parser/symbol.js +3 -7
  85. package/lib/parser/util.d.ts +5 -5
  86. package/lib/parser/util.js +38 -56
  87. package/lib/processor/ColorInfoProvider.d.ts +1 -1
  88. package/lib/processor/ColorInfoProvider.js +6 -9
  89. package/lib/processor/InlayHintProvider.d.ts +2 -2
  90. package/lib/processor/InlayHintProvider.js +1 -2
  91. package/lib/processor/SignatureHelpProvider.d.ts +2 -2
  92. package/lib/processor/SignatureHelpProvider.js +1 -2
  93. package/lib/processor/checker/Checker.d.ts +2 -2
  94. package/lib/processor/checker/Checker.js +1 -5
  95. package/lib/processor/checker/builtin.d.ts +4 -4
  96. package/lib/processor/checker/builtin.js +19 -30
  97. package/lib/processor/checker/index.d.ts +2 -2
  98. package/lib/processor/checker/index.js +2 -31
  99. package/lib/processor/colorizer/Colorizer.d.ts +4 -4
  100. package/lib/processor/colorizer/Colorizer.js +8 -11
  101. package/lib/processor/colorizer/builtin.d.ts +3 -3
  102. package/lib/processor/colorizer/builtin.js +33 -46
  103. package/lib/processor/colorizer/index.d.ts +2 -2
  104. package/lib/processor/colorizer/index.js +2 -31
  105. package/lib/processor/completer/Completer.d.ts +4 -4
  106. package/lib/processor/completer/Completer.js +14 -33
  107. package/lib/processor/completer/builtin.d.ts +7 -7
  108. package/lib/processor/completer/builtin.js +46 -62
  109. package/lib/processor/completer/index.d.ts +2 -2
  110. package/lib/processor/completer/index.js +2 -31
  111. package/lib/processor/formatter/Formatter.d.ts +2 -2
  112. package/lib/processor/formatter/Formatter.js +2 -7
  113. package/lib/processor/formatter/builtin.d.ts +3 -3
  114. package/lib/processor/formatter/builtin.js +22 -36
  115. package/lib/processor/formatter/index.d.ts +2 -2
  116. package/lib/processor/formatter/index.js +2 -31
  117. package/lib/processor/index.d.ts +9 -9
  118. package/lib/processor/index.js +9 -25
  119. package/lib/processor/linter/Linter.d.ts +2 -2
  120. package/lib/processor/linter/Linter.js +1 -2
  121. package/lib/processor/linter/builtin/undeclaredSymbol.d.ts +2 -2
  122. package/lib/processor/linter/builtin/undeclaredSymbol.js +20 -24
  123. package/lib/processor/linter/builtin.d.ts +3 -3
  124. package/lib/processor/linter/builtin.js +19 -26
  125. package/lib/processor/linter/index.d.ts +2 -2
  126. package/lib/processor/linter/index.js +2 -31
  127. package/lib/processor/util.d.ts +2 -2
  128. package/lib/processor/util.js +4 -9
  129. package/lib/service/CacheService.d.ts +6 -6
  130. package/lib/service/CacheService.js +32 -56
  131. package/lib/service/Config.d.ts +11 -12
  132. package/lib/service/Config.js +50 -45
  133. package/lib/service/Context.d.ts +13 -13
  134. package/lib/service/Context.js +29 -32
  135. package/lib/service/Dependency.js +2 -5
  136. package/lib/service/Downloader.d.ts +10 -40
  137. package/lib/service/Downloader.js +37 -110
  138. package/lib/service/ErrorReporter.d.ts +2 -2
  139. package/lib/service/ErrorReporter.js +10 -14
  140. package/lib/service/FileService.d.ts +16 -14
  141. package/lib/service/FileService.js +55 -92
  142. package/lib/service/Hover.d.ts +2 -2
  143. package/lib/service/Hover.js +4 -7
  144. package/lib/service/Logger.js +2 -5
  145. package/lib/service/MetaRegistry.d.ts +12 -12
  146. package/lib/service/MetaRegistry.js +62 -73
  147. package/lib/service/Operations.js +3 -9
  148. package/lib/service/Profiler.d.ts +1 -1
  149. package/lib/service/Profiler.js +25 -41
  150. package/lib/service/Project.d.ts +47 -51
  151. package/lib/service/Project.js +199 -239
  152. package/lib/service/Service.d.ts +17 -27
  153. package/lib/service/Service.js +37 -43
  154. package/lib/service/SymbolLocations.d.ts +3 -3
  155. package/lib/service/SymbolLocations.js +4 -7
  156. package/lib/service/SymbolRegistrar.d.ts +1 -1
  157. package/lib/service/SymbolRegistrar.js +1 -2
  158. package/lib/service/fileUtil.d.ts +15 -45
  159. package/lib/service/fileUtil.js +38 -143
  160. package/lib/service/index.d.ts +17 -17
  161. package/lib/service/index.js +17 -35
  162. package/lib/source/IndexMap.d.ts +1 -1
  163. package/lib/source/IndexMap.js +7 -10
  164. package/lib/source/LanguageError.d.ts +2 -2
  165. package/lib/source/LanguageError.js +2 -5
  166. package/lib/source/Location.d.ts +3 -3
  167. package/lib/source/Location.js +6 -9
  168. package/lib/source/Offset.d.ts +1 -1
  169. package/lib/source/Offset.js +4 -7
  170. package/lib/source/Position.js +2 -5
  171. package/lib/source/PositionRange.d.ts +2 -2
  172. package/lib/source/PositionRange.js +14 -17
  173. package/lib/source/Range.d.ts +1 -1
  174. package/lib/source/Range.js +7 -10
  175. package/lib/source/Source.d.ts +3 -3
  176. package/lib/source/Source.js +28 -29
  177. package/lib/source/index.d.ts +8 -8
  178. package/lib/source/index.js +8 -24
  179. package/lib/symbol/Symbol.d.ts +2 -2
  180. package/lib/symbol/Symbol.js +49 -65
  181. package/lib/symbol/SymbolUtil.d.ts +22 -25
  182. package/lib/symbol/SymbolUtil.js +150 -151
  183. package/lib/symbol/UriBinder.d.ts +1 -1
  184. package/lib/symbol/UriBinder.js +1 -2
  185. package/lib/symbol/index.d.ts +3 -3
  186. package/lib/symbol/index.js +3 -19
  187. package/package.json +7 -4
@@ -1,23 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ResourceLocationNode = void 0;
4
- const common_1 = require("../common");
5
- const source_1 = require("../source");
6
- var ResourceLocationNode;
1
+ import { ResourceLocation } from '../common/index.js';
2
+ import { Range } from '../source/index.js';
3
+ export var ResourceLocationNode;
7
4
  (function (ResourceLocationNode) {
8
5
  /**
9
6
  * The prefix for tags.
10
7
  */
11
- const TagPrefix = common_1.ResourceLocation.TagPrefix;
8
+ const TagPrefix = ResourceLocation.TagPrefix;
12
9
  /**
13
10
  * The seperator of namespace and path.
14
11
  */
15
- const NamespacePathSep = common_1.ResourceLocation.NamespacePathSep;
12
+ const NamespacePathSep = ResourceLocation.NamespacePathSep;
16
13
  /**
17
14
  * The seperator between different path segments.
18
15
  */
19
- const PathSep = common_1.ResourceLocation.PathSep;
20
- const DefaultNamespace = common_1.ResourceLocation.DefaultNamespace;
16
+ const PathSep = ResourceLocation.PathSep;
17
+ const DefaultNamespace = ResourceLocation.DefaultNamespace;
21
18
  /* istanbul ignore next */
22
19
  function is(obj) {
23
20
  return obj?.type === 'resource_location';
@@ -26,7 +23,7 @@ var ResourceLocationNode;
26
23
  function mock(range, options) {
27
24
  return {
28
25
  type: 'resource_location',
29
- range: source_1.Range.get(range),
26
+ range: Range.get(range),
30
27
  options,
31
28
  };
32
29
  }
@@ -61,5 +58,5 @@ var ResourceLocationNode;
61
58
  return node.isTag ? `${TagPrefix}${id}` : id;
62
59
  }
63
60
  ResourceLocationNode.toString = toString;
64
- })(ResourceLocationNode = exports.ResourceLocationNode || (exports.ResourceLocationNode = {}));
61
+ })(ResourceLocationNode || (ResourceLocationNode = {}));
65
62
  //# sourceMappingURL=ResourceLocationNode.js.map
@@ -1,5 +1,5 @@
1
- import type { AstNode } from '../node';
2
- import type { Range } from '../source';
1
+ import type { AstNode } from '../node/index.js';
2
+ import type { Range } from '../source/index.js';
3
3
  export interface SequenceNode<CN extends AstNode = AstNode> extends AstNode {
4
4
  /**
5
5
  * An array of `AstNode`s that fully make up this node.
@@ -1,12 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SequenceUtil = exports.SequenceUtilDiscriminator = void 0;
4
- exports.SequenceUtilDiscriminator = Symbol('SequenceUtilDiscriminator');
5
- var SequenceUtil;
1
+ export const SequenceUtilDiscriminator = Symbol('SequenceUtilDiscriminator');
2
+ export var SequenceUtil;
6
3
  (function (SequenceUtil) {
7
4
  function is(obj) {
8
- return !!obj && obj[exports.SequenceUtilDiscriminator];
5
+ return !!obj && obj[SequenceUtilDiscriminator];
9
6
  }
10
7
  SequenceUtil.is = is;
11
- })(SequenceUtil = exports.SequenceUtil || (exports.SequenceUtil = {}));
8
+ })(SequenceUtil || (SequenceUtil = {}));
12
9
  //# sourceMappingURL=Sequence.js.map
@@ -1,7 +1,7 @@
1
- import type { Parser } from '../parser';
2
- import type { ColorTokenType } from '../processor';
3
- import type { IndexMap, RangeLike } from '../source';
4
- import type { AstNode } from './AstNode';
1
+ import type { Parser } from '../parser/index.js';
2
+ import type { ColorTokenType } from '../processor/index.js';
3
+ import type { IndexMap, RangeLike } from '../source/index.js';
4
+ import type { AstNode } from './AstNode.js';
5
5
  export declare const EscapeChars: readonly ["\"", "'", "\\", "b", "f", "n", "r", "t"];
6
6
  export declare type EscapeChar = typeof EscapeChars[number];
7
7
  export declare namespace EscapeChar {
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StringNode = exports.EscapeTable = exports.EscapeChar = exports.EscapeChars = void 0;
4
- const source_1 = require("../source");
5
- exports.EscapeChars = ['"', "'", '\\', 'b', 'f', 'n', 'r', 't'];
6
- var EscapeChar;
1
+ import { Range } from '../source/index.js';
2
+ export const EscapeChars = ['"', "'", '\\', 'b', 'f', 'n', 'r', 't'];
3
+ export var EscapeChar;
7
4
  (function (EscapeChar) {
8
5
  /* istanbul ignore next */
9
6
  function is(expected, c) {
10
7
  return expected ? expected.includes(c) : false;
11
8
  }
12
9
  EscapeChar.is = is;
13
- })(EscapeChar = exports.EscapeChar || (exports.EscapeChar = {}));
14
- exports.EscapeTable = new Map([
10
+ })(EscapeChar || (EscapeChar = {}));
11
+ export const EscapeTable = new Map([
15
12
  ['"', '"'],
16
13
  ["'", "'"],
17
14
  ['\\', '\\'],
@@ -21,7 +18,7 @@ exports.EscapeTable = new Map([
21
18
  ['r', '\r'],
22
19
  ['t', '\t'],
23
20
  ]);
24
- var StringNode;
21
+ export var StringNode;
25
22
  (function (StringNode) {
26
23
  /* istanbul ignore next */
27
24
  function is(obj) {
@@ -29,15 +26,15 @@ var StringNode;
29
26
  }
30
27
  StringNode.is = is;
31
28
  function mock(range, options) {
32
- range = source_1.Range.get(range);
29
+ range = Range.get(range);
33
30
  return {
34
31
  type: 'string',
35
32
  range,
36
33
  options,
37
34
  value: '',
38
- valueMap: [{ inner: source_1.Range.create(0), outer: source_1.Range.create(range.start) }],
35
+ valueMap: [{ inner: Range.create(0), outer: Range.create(range.start) }],
39
36
  };
40
37
  }
41
38
  StringNode.mock = mock;
42
- })(StringNode = exports.StringNode || (exports.StringNode = {}));
39
+ })(StringNode || (StringNode = {}));
43
40
  //# sourceMappingURL=StringNode.js.map
@@ -1,6 +1,6 @@
1
- import type { RangeLike } from '../source';
2
- import type { SymbolAccessType, SymbolUsageType } from '../symbol';
3
- import type { AstNode } from './AstNode';
1
+ import type { RangeLike } from '../source/index.js';
2
+ import type { SymbolAccessType, SymbolUsageType } from '../symbol/index.js';
3
+ import type { AstNode } from './AstNode.js';
4
4
  export interface SymbolOptions {
5
5
  category: string;
6
6
  parentPath?: string[];
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SymbolNode = void 0;
4
- const source_1 = require("../source");
5
- var SymbolNode;
1
+ import { Range } from '../source/index.js';
2
+ export var SymbolNode;
6
3
  (function (SymbolNode) {
7
4
  /* istanbul ignore next */
8
5
  function is(obj) {
@@ -12,11 +9,11 @@ var SymbolNode;
12
9
  function mock(range, options) {
13
10
  return {
14
11
  type: 'symbol',
15
- range: source_1.Range.get(range),
12
+ range: Range.get(range),
16
13
  options,
17
14
  value: '',
18
15
  };
19
16
  }
20
17
  SymbolNode.mock = mock;
21
- })(SymbolNode = exports.SymbolNode || (exports.SymbolNode = {}));
18
+ })(SymbolNode || (SymbolNode = {}));
22
19
  //# sourceMappingURL=SymbolNode.js.map
@@ -1,16 +1,16 @@
1
- export * from './AstNode';
2
- export * from './BooleanNode';
3
- export * from './CommentNode';
4
- export * from './ErrorNode';
5
- export * from './FileNode';
6
- export * from './FloatNode';
7
- export * from './IntegerNode';
8
- export * from './ListNode';
9
- export * from './LiteralNode';
10
- export * from './LongNode';
11
- export * from './RecordNode';
12
- export * from './ResourceLocationNode';
13
- export * from './Sequence';
14
- export * from './StringNode';
15
- export * from './SymbolNode';
1
+ export * from './AstNode.js';
2
+ export * from './BooleanNode.js';
3
+ export * from './CommentNode.js';
4
+ export * from './ErrorNode.js';
5
+ export * from './FileNode.js';
6
+ export * from './FloatNode.js';
7
+ export * from './IntegerNode.js';
8
+ export * from './ListNode.js';
9
+ export * from './LiteralNode.js';
10
+ export * from './LongNode.js';
11
+ export * from './RecordNode.js';
12
+ export * from './ResourceLocationNode.js';
13
+ export * from './Sequence.js';
14
+ export * from './StringNode.js';
15
+ export * from './SymbolNode.js';
16
16
  //# sourceMappingURL=index.d.ts.map
package/lib/node/index.js CHANGED
@@ -1,32 +1,16 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./AstNode"), exports);
18
- __exportStar(require("./BooleanNode"), exports);
19
- __exportStar(require("./CommentNode"), exports);
20
- __exportStar(require("./ErrorNode"), exports);
21
- __exportStar(require("./FileNode"), exports);
22
- __exportStar(require("./FloatNode"), exports);
23
- __exportStar(require("./IntegerNode"), exports);
24
- __exportStar(require("./ListNode"), exports);
25
- __exportStar(require("./LiteralNode"), exports);
26
- __exportStar(require("./LongNode"), exports);
27
- __exportStar(require("./RecordNode"), exports);
28
- __exportStar(require("./ResourceLocationNode"), exports);
29
- __exportStar(require("./Sequence"), exports);
30
- __exportStar(require("./StringNode"), exports);
31
- __exportStar(require("./SymbolNode"), exports);
1
+ export * from './AstNode.js';
2
+ export * from './BooleanNode.js';
3
+ export * from './CommentNode.js';
4
+ export * from './ErrorNode.js';
5
+ export * from './FileNode.js';
6
+ export * from './FloatNode.js';
7
+ export * from './IntegerNode.js';
8
+ export * from './ListNode.js';
9
+ export * from './LiteralNode.js';
10
+ export * from './LongNode.js';
11
+ export * from './RecordNode.js';
12
+ export * from './ResourceLocationNode.js';
13
+ export * from './Sequence.js';
14
+ export * from './StringNode.js';
15
+ export * from './SymbolNode.js';
32
16
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ export * from './common/externals/NodeJsExternals.js';
2
+ //# sourceMappingURL=nodejs.d.ts.map
package/lib/nodejs.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from './common/externals/NodeJsExternals.js';
2
+ //# sourceMappingURL=nodejs.js.map
@@ -1,6 +1,6 @@
1
- import type { AstNode } from '../node';
2
- import type { ParserContext } from '../service';
3
- import type { Source } from '../source';
1
+ import type { AstNode } from '../node/index.js';
2
+ import type { ParserContext } from '../service/index.js';
3
+ import type { Source } from '../source/index.js';
4
4
  /**
5
5
  * A parser.
6
6
  */
@@ -1,5 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Failure = void 0;
4
- exports.Failure = Symbol('Failure');
1
+ export const Failure = Symbol('Failure');
5
2
  //# sourceMappingURL=Parser.js.map
@@ -1,4 +1,4 @@
1
- import type { BooleanNode } from '../node/BooleanNode';
2
- import type { InfallibleParser } from './Parser';
1
+ import type { BooleanNode } from '../node/BooleanNode.js';
2
+ import type { InfallibleParser } from './Parser.js';
3
3
  export declare const boolean: InfallibleParser<BooleanNode>;
4
4
  //# sourceMappingURL=boolean.d.ts.map
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.boolean = void 0;
4
- const literal_1 = require("./literal");
5
- const util_1 = require("./util");
6
- exports.boolean = (0, util_1.map)((0, literal_1.literal)('false', 'true'), res => ({
1
+ import { literal } from './literal.js';
2
+ import { map } from './util.js';
3
+ export const boolean = map(literal('false', 'true'), res => ({
7
4
  type: 'boolean',
8
5
  range: res.range,
9
6
  value: res.value === '' ? undefined : res.value === 'true',
@@ -1,5 +1,5 @@
1
- import type { CommentNode } from '../node';
2
- import type { Parser } from './Parser';
1
+ import type { CommentNode } from '../node/index.js';
2
+ import type { Parser } from './Parser.js';
3
3
  interface Options {
4
4
  singleLinePrefixes: Set<string>;
5
5
  includesEol?: boolean;
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.comment = void 0;
4
- const source_1 = require("../source");
5
- const Parser_1 = require("./Parser");
1
+ import { Range } from '../source/index.js';
2
+ import { Failure } from './Parser.js';
6
3
  /**
7
4
  * `Failure` when three isn't a comment.
8
5
  */
9
- function comment({ singleLinePrefixes, includesEol }) {
6
+ export function comment({ singleLinePrefixes, includesEol }) {
10
7
  return (src, _ctx) => {
11
8
  const start = src.cursor;
12
9
  const ans = {
13
10
  type: 'comment',
14
- range: source_1.Range.create(start),
11
+ range: Range.create(start),
15
12
  comment: '',
16
13
  };
17
14
  for (const prefix of singleLinePrefixes) {
@@ -27,8 +24,7 @@ function comment({ singleLinePrefixes, includesEol }) {
27
24
  return ans;
28
25
  }
29
26
  }
30
- return Parser_1.Failure;
27
+ return Failure;
31
28
  };
32
29
  }
33
- exports.comment = comment;
34
30
  //# sourceMappingURL=comment.js.map
@@ -1,3 +1,3 @@
1
- import type { InfallibleParser } from './Parser';
1
+ import type { InfallibleParser } from './Parser.js';
2
2
  export declare const empty: InfallibleParser<undefined>;
3
3
  //# sourceMappingURL=empty.d.ts.map
@@ -1,7 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.empty = void 0;
4
1
  /* istanbul ignore next */
5
- const empty = () => undefined;
6
- exports.empty = empty;
2
+ export const empty = () => undefined;
7
3
  //# sourceMappingURL=empty.js.map
@@ -1,5 +1,5 @@
1
- import type { ErrorNode } from '../node';
2
- import type { InfallibleParser } from './Parser';
1
+ import type { ErrorNode } from '../node/index.js';
2
+ import type { InfallibleParser } from './Parser.js';
3
3
  /**
4
4
  * Returns an error node containing all the remaining text (including whitespace),
5
5
  * or returns `undefined` if the `Source` has already reached its end.
@@ -1,22 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.error = void 0;
4
- const locales_1 = require("@spyglassmc/locales");
5
- const source_1 = require("../source");
1
+ import { localize } from '@spyglassmc/locales';
2
+ import { Range } from '../source/index.js';
6
3
  /**
7
4
  * Returns an error node containing all the remaining text (including whitespace),
8
5
  * or returns `undefined` if the `Source` has already reached its end.
9
6
  */
10
- const error = (src, ctx) => {
7
+ export const error = (src, ctx) => {
11
8
  if (!src.canRead()) {
12
9
  return undefined;
13
10
  }
14
11
  const ans = {
15
12
  type: 'error',
16
- range: source_1.Range.create(src, () => src.skipRemaining()),
13
+ range: Range.create(src, () => src.skipRemaining()),
17
14
  };
18
- ctx.err.report((0, locales_1.localize)('error.unparseable-content'), ans);
15
+ ctx.err.report(localize('error.unparseable-content'), ans);
19
16
  return ans;
20
17
  };
21
- exports.error = error;
22
18
  //# sourceMappingURL=error.js.map
@@ -1,6 +1,6 @@
1
- import type { FileNode } from '../node';
2
- import { AstNode } from '../node';
3
- import type { InfallibleParser } from './Parser';
1
+ import type { FileNode } from '../node/index.js';
2
+ import { AstNode } from '../node/index.js';
3
+ import type { InfallibleParser } from './Parser.js';
4
4
  /**
5
5
  * Dispatches to the corresponding parser for the language.
6
6
  * @throws If there's no parser registered for this language ID.
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.file = void 0;
4
- const node_1 = require("../node");
5
- const source_1 = require("../source");
6
- const error_1 = require("./error");
7
- const Parser_1 = require("./Parser");
1
+ import { AstNode } from '../node/index.js';
2
+ import { Range } from '../source/index.js';
3
+ import { error } from './error.js';
4
+ import { Failure } from './Parser.js';
8
5
  /**
9
6
  * Dispatches to the corresponding parser for the language.
10
7
  * @throws If there's no parser registered for this language ID.
11
8
  */
12
- function file() {
9
+ export function file() {
13
10
  return (src, ctx) => {
14
- const fullRange = source_1.Range.create(src, src.string.length);
11
+ const fullRange = Range.create(src, src.string.length);
15
12
  const ans = {
16
13
  type: 'file',
17
14
  range: fullRange,
@@ -22,16 +19,15 @@ function file() {
22
19
  src.skipWhitespace();
23
20
  const parser = ctx.meta.getParserForLanguageId(ctx.doc.languageId);
24
21
  const result = parser(src, ctx);
25
- if (result && result !== Parser_1.Failure) {
22
+ if (result && result !== Failure) {
26
23
  ans.children.push(result);
27
24
  }
28
25
  if (src.skipWhitespace().canRead()) {
29
- ans.children.push((0, error_1.error)(src, ctx));
26
+ ans.children.push(error(src, ctx));
30
27
  }
31
- node_1.AstNode.setParents(ans);
28
+ AstNode.setParents(ans);
32
29
  ans.parserErrors = ctx.err.dump();
33
30
  return ans;
34
31
  };
35
32
  }
36
- exports.file = file;
37
33
  //# sourceMappingURL=file.js.map
@@ -1,7 +1,7 @@
1
- import type { FloatNode } from '../node';
2
- import type { ParserContext } from '../service';
3
- import { Source } from '../source';
4
- import type { InfallibleParser, Parser } from './Parser';
1
+ import type { FloatNode } from '../node/index.js';
2
+ import type { ParserContext } from '../service/index.js';
3
+ import { Source } from '../source/index.js';
4
+ import type { InfallibleParser, Parser } from './Parser.js';
5
5
  interface OptionsBase {
6
6
  pattern: RegExp;
7
7
  /**
@@ -1,27 +1,24 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.float = void 0;
4
- const locales_1 = require("@spyglassmc/locales");
5
- const source_1 = require("../source");
6
- const Parser_1 = require("./Parser");
1
+ import { localize } from '@spyglassmc/locales';
2
+ import { Range, Source } from '../source/index.js';
3
+ import { Failure } from './Parser.js';
7
4
  const fallbackOnOutOfRange = (ans, _src, ctx, options) => {
8
- ctx.err.report((0, locales_1.localize)('expected', (0, locales_1.localize)('float.between', options.min ?? '-∞', options.max ?? '+∞')), ans, 3 /* ErrorSeverity.Error */);
5
+ ctx.err.report(localize('expected', localize('float.between', options.min ?? '-∞', options.max ?? '+∞')), ans, 3 /* ErrorSeverity.Error */);
9
6
  };
10
- function float(options) {
7
+ export function float(options) {
11
8
  return (src, ctx) => {
12
9
  const ans = {
13
10
  type: 'float',
14
- range: source_1.Range.create(src),
11
+ range: Range.create(src),
15
12
  value: 0,
16
13
  };
17
14
  if (src.peek() === '-' || src.peek() === '+') {
18
15
  src.skip();
19
16
  }
20
- while (src.canRead() && source_1.Source.isDigit(src.peek())) {
17
+ while (src.canRead() && Source.isDigit(src.peek())) {
21
18
  src.skip();
22
19
  }
23
20
  if (src.trySkip('.')) {
24
- while (src.canRead() && source_1.Source.isDigit(src.peek())) {
21
+ while (src.canRead() && Source.isDigit(src.peek())) {
25
22
  src.skip();
26
23
  }
27
24
  }
@@ -30,7 +27,7 @@ function float(options) {
30
27
  if (src.peek() === '-' || src.peek() === '+') {
31
28
  src.skip();
32
29
  }
33
- while (src.canRead() && source_1.Source.isDigit(src.peek())) {
30
+ while (src.canRead() && Source.isDigit(src.peek())) {
34
31
  src.skip();
35
32
  }
36
33
  }
@@ -39,12 +36,12 @@ function float(options) {
39
36
  ans.value = parseFloat(raw) || 0;
40
37
  if (!raw) {
41
38
  if (options.failsOnEmpty) {
42
- return Parser_1.Failure;
39
+ return Failure;
43
40
  }
44
- ctx.err.report((0, locales_1.localize)('expected', (0, locales_1.localize)('float')), ans);
41
+ ctx.err.report(localize('expected', localize('float')), ans);
45
42
  }
46
43
  else if (!options.pattern.test(raw)) {
47
- ctx.err.report((0, locales_1.localize)('parser.float.illegal', options.pattern), ans);
44
+ ctx.err.report(localize('parser.float.illegal', options.pattern), ans);
48
45
  }
49
46
  else if ((options.min && ans.value < options.min) || (options.max && ans.value > options.max)) {
50
47
  const onOutOfRange = options.onOutOfRange ?? fallbackOnOutOfRange;
@@ -53,5 +50,4 @@ function float(options) {
53
50
  return ans;
54
51
  };
55
52
  }
56
- exports.float = float;
57
53
  //# sourceMappingURL=float.js.map
@@ -1,17 +1,17 @@
1
- export * from './boolean';
2
- export * from './comment';
3
- export * from './empty';
4
- export * from './error';
5
- export * from './file';
6
- export { float } from './float';
7
- export { integer } from './integer';
8
- export { list } from './list';
9
- export * from './literal';
10
- export { long } from './long';
11
- export * from './Parser';
12
- export { record } from './record';
13
- export * from './resourceLocation';
14
- export * from './string';
15
- export * from './symbol';
16
- export * from './util';
1
+ export * from './boolean.js';
2
+ export * from './comment.js';
3
+ export * from './empty.js';
4
+ export * from './error.js';
5
+ export * from './file.js';
6
+ export { float } from './float.js';
7
+ export { integer } from './integer.js';
8
+ export { list } from './list.js';
9
+ export * from './literal.js';
10
+ export { long } from './long.js';
11
+ export * from './Parser.js';
12
+ export { record } from './record.js';
13
+ export * from './resourceLocation.js';
14
+ export * from './string.js';
15
+ export * from './symbol.js';
16
+ export * from './util.js';
17
17
  //# sourceMappingURL=index.d.ts.map
@@ -1,40 +1,18 @@
1
- "use strict";
2
1
  /* istanbul ignore file */
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
- };
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.record = exports.long = exports.list = exports.integer = exports.float = void 0;
19
- __exportStar(require("./boolean"), exports);
20
- __exportStar(require("./comment"), exports);
21
- __exportStar(require("./empty"), exports);
22
- __exportStar(require("./error"), exports);
23
- __exportStar(require("./file"), exports);
24
- var float_1 = require("./float");
25
- Object.defineProperty(exports, "float", { enumerable: true, get: function () { return float_1.float; } });
26
- var integer_1 = require("./integer");
27
- Object.defineProperty(exports, "integer", { enumerable: true, get: function () { return integer_1.integer; } });
28
- var list_1 = require("./list");
29
- Object.defineProperty(exports, "list", { enumerable: true, get: function () { return list_1.list; } });
30
- __exportStar(require("./literal"), exports);
31
- var long_1 = require("./long");
32
- Object.defineProperty(exports, "long", { enumerable: true, get: function () { return long_1.long; } });
33
- __exportStar(require("./Parser"), exports);
34
- var record_1 = require("./record");
35
- Object.defineProperty(exports, "record", { enumerable: true, get: function () { return record_1.record; } });
36
- __exportStar(require("./resourceLocation"), exports);
37
- __exportStar(require("./string"), exports);
38
- __exportStar(require("./symbol"), exports);
39
- __exportStar(require("./util"), exports);
2
+ export * from './boolean.js';
3
+ export * from './comment.js';
4
+ export * from './empty.js';
5
+ export * from './error.js';
6
+ export * from './file.js';
7
+ export { float } from './float.js';
8
+ export { integer } from './integer.js';
9
+ export { list } from './list.js';
10
+ export * from './literal.js';
11
+ export { long } from './long.js';
12
+ export * from './Parser.js';
13
+ export { record } from './record.js';
14
+ export * from './resourceLocation.js';
15
+ export * from './string.js';
16
+ export * from './symbol.js';
17
+ export * from './util.js';
40
18
  //# sourceMappingURL=index.js.map