@witchcraft/expressit 0.1.3 → 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 (285) hide show
  1. package/README.md +7 -5
  2. package/dist/Lexer.js +2 -2
  3. package/dist/Parser.d.ts +14 -29
  4. package/dist/Parser.d.ts.map +1 -1
  5. package/dist/Parser.js +120 -135
  6. package/dist/ast/builders/array.d.ts +1 -3
  7. package/dist/ast/builders/array.d.ts.map +1 -1
  8. package/dist/ast/builders/array.js +3 -5
  9. package/dist/ast/builders/condition.d.ts +5 -11
  10. package/dist/ast/builders/condition.d.ts.map +1 -1
  11. package/dist/ast/builders/condition.js +2 -3
  12. package/dist/ast/builders/delim.d.ts +1 -1
  13. package/dist/ast/builders/error.d.ts +3 -4
  14. package/dist/ast/builders/error.d.ts.map +1 -1
  15. package/dist/ast/builders/error.js +6 -2
  16. package/dist/ast/builders/expression.d.ts +3 -7
  17. package/dist/ast/builders/expression.d.ts.map +1 -1
  18. package/dist/ast/builders/expression.js +3 -5
  19. package/dist/ast/builders/group.d.ts +3 -8
  20. package/dist/ast/builders/group.d.ts.map +1 -1
  21. package/dist/ast/builders/group.js +3 -3
  22. package/dist/ast/builders/pos.d.ts +1 -2
  23. package/dist/ast/builders/pos.d.ts.map +1 -1
  24. package/dist/ast/builders/token.d.ts +3 -5
  25. package/dist/ast/builders/token.d.ts.map +1 -1
  26. package/dist/ast/builders/token.js +3 -4
  27. package/dist/ast/builders/type.d.ts +1 -1
  28. package/dist/ast/builders/variable.d.ts +3 -5
  29. package/dist/ast/builders/variable.d.ts.map +1 -1
  30. package/dist/ast/builders/variable.js +2 -3
  31. package/dist/ast/createArrayNode.d.ts +3 -0
  32. package/dist/ast/createArrayNode.d.ts.map +1 -0
  33. package/dist/ast/createArrayNode.js +12 -0
  34. package/dist/ast/createConditionNode.d.ts +11 -0
  35. package/dist/ast/createConditionNode.d.ts.map +1 -0
  36. package/dist/ast/createConditionNode.js +18 -0
  37. package/dist/ast/createExpressionNode.d.ts +3 -0
  38. package/dist/ast/createExpressionNode.d.ts.map +1 -0
  39. package/dist/ast/createExpressionNode.js +14 -0
  40. package/dist/ast/createGroupNode.d.ts +5 -0
  41. package/dist/ast/createGroupNode.d.ts.map +1 -0
  42. package/dist/ast/createGroupNode.js +14 -0
  43. package/dist/ast/createNormalizedCondition.d.ts +3 -0
  44. package/dist/ast/createNormalizedCondition.d.ts.map +1 -0
  45. package/dist/ast/createNormalizedCondition.js +10 -0
  46. package/dist/ast/createNormalizedExpression.d.ts +3 -0
  47. package/dist/ast/createNormalizedExpression.d.ts.map +1 -0
  48. package/dist/ast/createNormalizedExpression.js +10 -0
  49. package/dist/ast/createToken.d.ts +6 -0
  50. package/dist/ast/createToken.d.ts.map +1 -0
  51. package/dist/ast/createToken.js +15 -0
  52. package/dist/ast/createVariableNode.d.ts +3 -0
  53. package/dist/ast/createVariableNode.d.ts.map +1 -0
  54. package/dist/ast/createVariableNode.js +12 -0
  55. package/dist/ast/error.d.ts +3 -0
  56. package/dist/ast/error.d.ts.map +1 -0
  57. package/dist/ast/error.js +9 -0
  58. package/dist/ast/handlers.d.ts +5 -12
  59. package/dist/ast/handlers.d.ts.map +1 -1
  60. package/dist/ast/handlers.js +21 -29
  61. package/dist/ast/index.d.ts +9 -1
  62. package/dist/ast/index.d.ts.map +1 -1
  63. package/dist/ast/index.js +18 -2
  64. package/dist/defaults/defaultConditionNormalizer.d.ts +3 -0
  65. package/dist/defaults/defaultConditionNormalizer.d.ts.map +1 -0
  66. package/dist/defaults/defaultKeyParser.d.ts +3 -0
  67. package/dist/defaults/defaultKeyParser.d.ts.map +1 -0
  68. package/dist/defaults/defaultPrefixApplier.d.ts +3 -0
  69. package/dist/defaults/defaultPrefixApplier.d.ts.map +1 -0
  70. package/dist/defaults/defaultValueComparer.d.ts +3 -0
  71. package/dist/defaults/defaultValueComparer.d.ts.map +1 -0
  72. package/dist/{helpers/general → defaults}/index.d.ts +0 -2
  73. package/dist/defaults/index.d.ts.map +1 -0
  74. package/dist/{helpers/general → defaults}/index.js +0 -4
  75. package/dist/index.d.ts +2 -1
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +3 -1
  78. package/dist/{helpers/errors.d.ts → internal/ExpressitError.d.ts} +3 -2
  79. package/dist/internal/ExpressitError.d.ts.map +1 -0
  80. package/dist/{helpers/errors.js → internal/ExpressitError.js} +2 -2
  81. package/dist/internal/applyBoolean.d.ts.map +1 -0
  82. package/dist/{helpers/general → internal}/applyPrefix.d.ts +1 -1
  83. package/dist/internal/applyPrefix.d.ts.map +1 -0
  84. package/dist/{helpers/parser → internal}/checkParserOpts.d.ts +2 -1
  85. package/dist/internal/checkParserOpts.d.ts.map +1 -0
  86. package/dist/{helpers/parser → internal}/checkParserOpts.js +14 -14
  87. package/dist/internal/escapeVariableOrPrefix.d.ts +2 -0
  88. package/dist/internal/escapeVariableOrPrefix.d.ts.map +1 -0
  89. package/dist/internal/escapeVariableOrPrefix.js +38 -0
  90. package/dist/internal/extractPosition.d.ts +5 -0
  91. package/dist/internal/extractPosition.d.ts.map +1 -0
  92. package/dist/internal/getUnclosedRightParenCount.d.ts +4 -0
  93. package/dist/internal/getUnclosedRightParenCount.d.ts.map +1 -0
  94. package/dist/{helpers/parser → internal}/getUnclosedRightParenCount.js +1 -1
  95. package/dist/{helpers/parser → internal}/parseParserOptions.d.ts +1 -1
  96. package/dist/internal/parseParserOptions.d.ts.map +1 -0
  97. package/dist/{helpers/parser → internal}/parseParserOptions.js +4 -4
  98. package/dist/internal/unescape.d.ts.map +1 -0
  99. package/dist/package.json.js +7 -7
  100. package/dist/types/ast.d.ts +195 -6
  101. package/dist/types/ast.d.ts.map +1 -1
  102. package/dist/types/ast.js +2 -0
  103. package/dist/types/autocomplete.d.ts +5 -6
  104. package/dist/types/autocomplete.d.ts.map +1 -1
  105. package/dist/types/parser.d.ts +17 -22
  106. package/dist/types/parser.d.ts.map +1 -1
  107. package/dist/utils/extractTokens.d.ts +2 -4
  108. package/dist/utils/extractTokens.d.ts.map +1 -1
  109. package/dist/utils/extractTokens.js +14 -18
  110. package/dist/utils/generateParentsMap.d.ts +10 -0
  111. package/dist/utils/generateParentsMap.d.ts.map +1 -0
  112. package/dist/utils/generateParentsMap.js +73 -0
  113. package/dist/utils/getCursorInfo.d.ts +1 -1
  114. package/dist/utils/getCursorInfo.d.ts.map +1 -1
  115. package/dist/utils/getCursorInfo.js +3 -5
  116. package/dist/utils/getOppositeDelimiter.d.ts +2 -1
  117. package/dist/utils/getOppositeDelimiter.d.ts.map +1 -1
  118. package/dist/utils/getOppositeDelimiter.js +6 -5
  119. package/dist/utils/getParent.d.ts +5 -0
  120. package/dist/utils/getParent.d.ts.map +1 -0
  121. package/dist/utils/getParent.js +6 -0
  122. package/dist/utils/getSurroundingErrors.d.ts +3 -4
  123. package/dist/utils/getSurroundingErrors.d.ts.map +1 -1
  124. package/dist/utils/getSurroundingErrors.js +3 -3
  125. package/dist/utils/index.d.ts +4 -0
  126. package/dist/utils/index.d.ts.map +1 -1
  127. package/dist/utils/index.js +8 -0
  128. package/dist/utils/isNode.d.ts +10 -0
  129. package/dist/utils/isNode.d.ts.map +1 -0
  130. package/dist/utils/isNode.js +6 -0
  131. package/dist/utils/isToken.d.ts +8 -0
  132. package/dist/utils/isToken.d.ts.map +1 -0
  133. package/dist/utils/isToken.js +6 -0
  134. package/dist/utils/prettyAst.d.ts +1 -2
  135. package/dist/utils/prettyAst.d.ts.map +1 -1
  136. package/dist/utils/prettyAst.js +19 -26
  137. package/package.json +7 -7
  138. package/src/Lexer.ts +2 -2
  139. package/src/Parser.ts +158 -165
  140. package/src/ast/builders/array.ts +4 -9
  141. package/src/ast/builders/condition.ts +10 -15
  142. package/src/ast/builders/delim.ts +1 -1
  143. package/src/ast/builders/error.ts +10 -6
  144. package/src/ast/builders/expression.ts +17 -23
  145. package/src/ast/builders/group.ts +7 -11
  146. package/src/ast/builders/pos.ts +2 -3
  147. package/src/ast/builders/token.ts +6 -7
  148. package/src/ast/builders/type.ts +1 -1
  149. package/src/ast/builders/variable.ts +6 -8
  150. package/src/ast/createArrayNode.ts +17 -0
  151. package/src/ast/createConditionNode.ts +58 -0
  152. package/src/ast/createExpressionNode.ts +21 -0
  153. package/src/ast/createGroupNode.ts +46 -0
  154. package/src/ast/createNormalizedCondition.ts +12 -0
  155. package/src/ast/createNormalizedExpression.ts +9 -0
  156. package/src/ast/createToken.ts +26 -0
  157. package/src/ast/createVariableNode.ts +18 -0
  158. package/src/ast/error.ts +9 -0
  159. package/src/ast/handlers.ts +26 -37
  160. package/src/ast/index.ts +9 -1
  161. package/src/{helpers/general → defaults}/defaultConditionNormalizer.ts +1 -1
  162. package/src/{helpers/general → defaults}/defaultKeyParser.ts +1 -1
  163. package/src/{helpers/general → defaults}/defaultPrefixApplier.ts +1 -1
  164. package/src/{helpers/general → defaults}/defaultValueComparer.ts +1 -1
  165. package/src/{helpers/general → defaults}/index.ts +0 -2
  166. package/src/index.ts +2 -1
  167. package/src/{helpers/errors.ts → internal/ExpressitError.ts} +2 -2
  168. package/src/{helpers/general → internal}/applyPrefix.ts +1 -1
  169. package/src/{helpers/parser → internal}/checkParserOpts.ts +16 -15
  170. package/src/internal/escapeVariableOrPrefix.ts +36 -0
  171. package/src/{helpers/parser → internal}/extractPosition.ts +2 -2
  172. package/src/{helpers/parser → internal}/getUnclosedRightParenCount.ts +1 -2
  173. package/src/{helpers/parser → internal}/parseParserOptions.ts +5 -5
  174. package/src/types/ast.ts +292 -7
  175. package/src/types/autocomplete.ts +5 -7
  176. package/src/types/parser.ts +17 -22
  177. package/src/utils/extractTokens.ts +16 -20
  178. package/src/utils/generateParentsMap.ts +60 -0
  179. package/src/utils/getCursorInfo.ts +4 -6
  180. package/src/utils/getOppositeDelimiter.ts +11 -10
  181. package/src/utils/getParent.ts +16 -0
  182. package/src/utils/getSurroundingErrors.ts +10 -9
  183. package/src/utils/index.ts +4 -0
  184. package/src/utils/isNode.ts +12 -0
  185. package/src/utils/isToken.ts +10 -0
  186. package/src/utils/prettyAst.ts +20 -17
  187. package/dist/ast/classes/ArrayNode.d.ts +0 -18
  188. package/dist/ast/classes/ArrayNode.d.ts.map +0 -1
  189. package/dist/ast/classes/ArrayNode.js +0 -55
  190. package/dist/ast/classes/Condition.d.ts +0 -13
  191. package/dist/ast/classes/Condition.d.ts.map +0 -1
  192. package/dist/ast/classes/Condition.js +0 -21
  193. package/dist/ast/classes/ConditionNode.d.ts +0 -73
  194. package/dist/ast/classes/ConditionNode.d.ts.map +0 -1
  195. package/dist/ast/classes/ConditionNode.js +0 -101
  196. package/dist/ast/classes/ErrorToken.d.ts +0 -27
  197. package/dist/ast/classes/ErrorToken.d.ts.map +0 -1
  198. package/dist/ast/classes/ErrorToken.js +0 -47
  199. package/dist/ast/classes/Expression.d.ts +0 -13
  200. package/dist/ast/classes/Expression.d.ts.map +0 -1
  201. package/dist/ast/classes/Expression.js +0 -19
  202. package/dist/ast/classes/ExpressionNode.d.ts +0 -21
  203. package/dist/ast/classes/ExpressionNode.d.ts.map +0 -1
  204. package/dist/ast/classes/ExpressionNode.js +0 -57
  205. package/dist/ast/classes/GroupNode.d.ts +0 -64
  206. package/dist/ast/classes/GroupNode.d.ts.map +0 -1
  207. package/dist/ast/classes/GroupNode.js +0 -69
  208. package/dist/ast/classes/Node.d.ts +0 -22
  209. package/dist/ast/classes/Node.d.ts.map +0 -1
  210. package/dist/ast/classes/Node.js +0 -28
  211. package/dist/ast/classes/Token.d.ts +0 -27
  212. package/dist/ast/classes/Token.d.ts.map +0 -1
  213. package/dist/ast/classes/Token.js +0 -28
  214. package/dist/ast/classes/ValidToken.d.ts +0 -26
  215. package/dist/ast/classes/ValidToken.d.ts.map +0 -1
  216. package/dist/ast/classes/ValidToken.js +0 -49
  217. package/dist/ast/classes/VariableNode.d.ts +0 -33
  218. package/dist/ast/classes/VariableNode.d.ts.map +0 -1
  219. package/dist/ast/classes/VariableNode.js +0 -58
  220. package/dist/ast/classes/index.d.ts +0 -12
  221. package/dist/ast/classes/index.d.ts.map +0 -1
  222. package/dist/ast/classes/index.js +0 -24
  223. package/dist/helpers/errors.d.ts.map +0 -1
  224. package/dist/helpers/general/applyBoolean.d.ts.map +0 -1
  225. package/dist/helpers/general/applyPrefix.d.ts.map +0 -1
  226. package/dist/helpers/general/defaultConditionNormalizer.d.ts +0 -3
  227. package/dist/helpers/general/defaultConditionNormalizer.d.ts.map +0 -1
  228. package/dist/helpers/general/defaultKeyParser.d.ts +0 -3
  229. package/dist/helpers/general/defaultKeyParser.d.ts.map +0 -1
  230. package/dist/helpers/general/defaultPrefixApplier.d.ts +0 -3
  231. package/dist/helpers/general/defaultPrefixApplier.d.ts.map +0 -1
  232. package/dist/helpers/general/defaultValueComparer.d.ts +0 -3
  233. package/dist/helpers/general/defaultValueComparer.d.ts.map +0 -1
  234. package/dist/helpers/general/index.d.ts.map +0 -1
  235. package/dist/helpers/index.d.ts +0 -4
  236. package/dist/helpers/index.d.ts.map +0 -1
  237. package/dist/helpers/index.js +0 -8
  238. package/dist/helpers/parser/assignParents.d.ts +0 -4
  239. package/dist/helpers/parser/assignParents.d.ts.map +0 -1
  240. package/dist/helpers/parser/assignParents.js +0 -71
  241. package/dist/helpers/parser/checkParserOpts.d.ts.map +0 -1
  242. package/dist/helpers/parser/extractPosition.d.ts +0 -5
  243. package/dist/helpers/parser/extractPosition.d.ts.map +0 -1
  244. package/dist/helpers/parser/getUnclosedRightParenCount.d.ts +0 -4
  245. package/dist/helpers/parser/getUnclosedRightParenCount.d.ts.map +0 -1
  246. package/dist/helpers/parser/index.d.ts +0 -9
  247. package/dist/helpers/parser/index.d.ts.map +0 -1
  248. package/dist/helpers/parser/index.js +0 -18
  249. package/dist/helpers/parser/parseParserOptions.d.ts.map +0 -1
  250. package/dist/helpers/parser/seal.d.ts +0 -8
  251. package/dist/helpers/parser/seal.d.ts.map +0 -1
  252. package/dist/helpers/parser/seal.js +0 -10
  253. package/dist/helpers/parser/setParent.d.ts +0 -6
  254. package/dist/helpers/parser/setParent.d.ts.map +0 -1
  255. package/dist/helpers/parser/setParent.js +0 -4
  256. package/dist/helpers/parser/unescape.d.ts.map +0 -1
  257. package/src/ast/classes/ArrayNode.ts +0 -46
  258. package/src/ast/classes/Condition.ts +0 -22
  259. package/src/ast/classes/ConditionNode.ts +0 -141
  260. package/src/ast/classes/ErrorToken.ts +0 -49
  261. package/src/ast/classes/Expression.ts +0 -26
  262. package/src/ast/classes/ExpressionNode.ts +0 -62
  263. package/src/ast/classes/GroupNode.ts +0 -127
  264. package/src/ast/classes/Node.ts +0 -47
  265. package/src/ast/classes/Token.ts +0 -59
  266. package/src/ast/classes/ValidToken.ts +0 -56
  267. package/src/ast/classes/VariableNode.ts +0 -67
  268. package/src/ast/classes/index.ts +0 -13
  269. package/src/helpers/index.ts +0 -6
  270. package/src/helpers/parser/assignParents.ts +0 -51
  271. package/src/helpers/parser/index.ts +0 -10
  272. package/src/helpers/parser/seal.ts +0 -14
  273. package/src/helpers/parser/setParent.ts +0 -5
  274. /package/dist/{helpers/general → defaults}/defaultConditionNormalizer.js +0 -0
  275. /package/dist/{helpers/general → defaults}/defaultKeyParser.js +0 -0
  276. /package/dist/{helpers/general → defaults}/defaultPrefixApplier.js +0 -0
  277. /package/dist/{helpers/general → defaults}/defaultValueComparer.js +0 -0
  278. /package/dist/{helpers/general → internal}/applyBoolean.d.ts +0 -0
  279. /package/dist/{helpers/general → internal}/applyBoolean.js +0 -0
  280. /package/dist/{helpers/general → internal}/applyPrefix.js +0 -0
  281. /package/dist/{helpers/parser → internal}/extractPosition.js +0 -0
  282. /package/dist/{helpers/parser → internal}/unescape.d.ts +0 -0
  283. /package/dist/{helpers/parser → internal}/unescape.js +0 -0
  284. /package/src/{helpers/general → internal}/applyBoolean.ts +0 -0
  285. /package/src/{helpers/parser → internal}/unescape.ts +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ### 🚧 WORK IN PROGRESS 🚧
2
2
  [![NPM Version (with latest tag)](https://img.shields.io/npm/v/%40witchcraft%2Fexpressit/latest)](https://www.npmjs.com/package/@witchcraft/expressit/v/latest)
3
- [![NPM Version (with beta tag)](https://img.shields.io/npm/v/%40witchcraft%2Fexpressit/beta)](https://www.npmjs.com/package/@witchcraft/expressit/v/beta)
3
+ <!-- [![NPM Version (with beta tag)](https://img.shields.io/npm/v/%40witchcraft%2Fexpressit/beta)](https://www.npmjs.com/package/@witchcraft/expressit/v/beta) -->
4
4
  [![Build](https://github.com/witchcraftjs/expressit/actions/workflows/build.yml/badge.svg)](https://github.com/witchcraftjs/expressit/actions/workflows/build.yml)
5
5
  [![Docs](https://github.com/witchcraftjs/expressit/workflows/Docs/badge.svg)](https://github.com/witchcraftjs/expressit/actions/workflows/docs.yml)
6
6
  [![Release](https://github.com/witchcraftjs/expressit/actions/workflows/release.yml/badge.svg)](https://github.com/witchcraftjs/expressit/actions/workflows/release.yml)
@@ -34,7 +34,7 @@ pnpm install @witchcraft/expressit
34
34
  - **Other Useful Utility Functions:**
35
35
  - `extractTokens`, `getCursorInfo`, `getOppositeDelimiter`, `getSurroundingErrors` - useful for adding custom syntax highlighting.
36
36
  - `prettyAst` - pretty prints a compact version of the ast for debugging
37
- - other minor helpers - `isDelimiter`, `isQuote`, etc.
37
+ - other minor utilities - `isDelimiter`, `isQuote`, etc.
38
38
  - **Pre-Configured Parsers** - Includes a pre-configured boolean parser (intended for parsing shortcut contexts in a similar way to VS Code).
39
39
  - **Lots of Docs and Tests**
40
40
 
@@ -43,7 +43,6 @@ pnpm install @witchcraft/expressit
43
43
  ```ts
44
44
  // while you can import from "@witchcraft/expressit", if using something like vite, it's recommended you do not use barrel imports.
45
45
  import { Parser } from "@witchcraft/expressit/Parser.js"
46
- import { ErrorToken } from "@witchcraft/expressit/classes/ErrorToken.js"
47
46
 
48
47
  const parser = new Parser({/* opts */})
49
48
  const context = {
@@ -57,8 +56,11 @@ const parser = new Parser({/* opts */})
57
56
 
58
57
  const ast = parser.parse(input)
59
58
 
60
- if (ast instanceof ErrorToken || !ast.valid) {
59
+ if (!ast.valid) {
61
60
  // ...show regular errors (no input, missing tokens, etc)
61
+ if (ast.isToken) {
62
+ // empty input
63
+ }
62
64
  } else {
63
65
  // validation can be controlled by parser options
64
66
  const errors = parser.validate(ast)
@@ -67,7 +69,7 @@ const parser = new Parser({/* opts */})
67
69
 
68
70
  // ON AUTOCOMPLETE
69
71
  const suggestions = parser.autosuggest(input, ast, cursor)
70
- const completions = parser.autocomplete(suggestions, {
72
+ const completions = parser.autocomplete(ast,suggestions, {
71
73
  // known possible suggestions
72
74
  variables: ["c", "d", "e"],
73
75
  // can also be values, prefixes, keywords, properties, etc
package/dist/Lexer.js CHANGED
@@ -6,8 +6,8 @@ var __publicField = (obj, key, value) => {
6
6
  };
7
7
  import { isBlank } from "@alanscodelog/utils/isBlank.js";
8
8
  import { pushIfNotIn } from "@alanscodelog/utils/pushIfNotIn.js";
9
- import { checkParserOpts } from "./helpers/parser/checkParserOpts.js";
10
- import { parseParserOptions } from "./helpers/parser/parseParserOptions.js";
9
+ import { checkParserOpts } from "./internal/checkParserOpts.js";
10
+ import { parseParserOptions } from "./internal/parseParserOptions.js";
11
11
  const regexFlags = /^[a-zA-Z]+/;
12
12
  const BRACKET_PREFIX = "BRACKET";
13
13
  var $T = /* @__PURE__ */ (($T2) => {
package/dist/Parser.d.ts CHANGED
@@ -1,13 +1,6 @@
1
- import type { AddParameters } from "@alanscodelog/utils/types";
2
- import { ArrayNode } from "./ast/classes/ArrayNode.js";
3
- import { ConditionNode } from "./ast/classes/ConditionNode.js";
4
- import { GroupNode } from "./ast/classes/GroupNode.js";
5
- import { Condition, Expression } from "./ast/classes/index.js";
6
- import { ValidToken } from "./ast/classes/ValidToken.js";
7
- import { VariableNode } from "./ast/classes/VariableNode.js";
8
1
  import * as handle from "./ast/handlers.js";
9
2
  import { $C, $T, type Token, type TokenCategoryType, type TokenType } from "./Lexer.js";
10
- import type { ParserResults } from "./types/ast.js";
3
+ import type { ArrayNode, ConditionNode, GroupNode, NormalizedCondition, NormalizedExpression, ParserResults, ValidToken, VariableNode } from "./types/ast.js";
11
4
  import { type AnyToken, type Completion, type Position, type Suggestion, TOKEN_TYPE } from "./types/index.js";
12
5
  import type { FullParserOptions, ParserOptions } from "./types/parser.js";
13
6
  /**
@@ -47,16 +40,8 @@ export declare class Parser<T extends {} = {}> {
47
40
  shift: number;
48
41
  rawInput: string;
49
42
  }): ParserResults;
50
- subParserOne?: Parser<T> & {
51
- parse: AddParameters<Parser<T>["parse"], [{
52
- seal: boolean;
53
- }]>;
54
- };
55
- subParserTwo?: Parser<T> & {
56
- parse: AddParameters<Parser<T>["parse"], [{
57
- seal: boolean;
58
- }]>;
59
- };
43
+ subParserOne?: Parser<T>;
44
+ subParserTwo?: Parser<T>;
60
45
  createSubParserIfNotExists(opts: ParserOptions<T>, which?: "One" | "Two"): Parser["subParserOne"];
61
46
  transformCategoryToken<TC extends $C>(token: Token, categoryToken: TokenCategoryType<TC>): Token<TC>;
62
47
  getCategoryTokens<TType extends $C>(type: TType): TokenCategoryType<TType>["entries"] | undefined;
@@ -118,31 +103,31 @@ export declare class Parser<T extends {} = {}> {
118
103
  ruleBracketR(): ValidToken<TOKEN_TYPE.BRACKETR> | undefined;
119
104
  ruleNot(): ValidToken<TOKEN_TYPE.NOT> | undefined;
120
105
  /**
121
- * Given a list of @see Suggestion entries, the parser options, and a list of variables, prefixes, operators, etc, and the preferred quote type, returns a list of @see Completion entries.
106
+ * Given the ast, a list of {@link Suggestion} entries, the parser options, and a list of variables, prefixes, operators, etc, and the preferred quote type, returns a list of {@link Completion} entries.
122
107
  *
123
108
  * It takes care of suggesting the correct delimiters for fixes, quoting variables/prefixes if it would not be possible to parse them unquoted, and separating symbol from non-symbol (word) operators.
124
109
  *
125
- * Does not add whitespace or group requirements. The suggestion information is still in the completion if you wish to show these. But they should not be added to the completion value if using @see autoreplace which will take care of it.
110
+ * Does not add whitespace or group requirements. The suggestion information is still in the completion if you wish to show these. But they should not be added to the completion value if using {@link autoreplace} which will take care of it.
126
111
  *
127
- * Is not aware of existing values. You will have to use @see getCursorInfo to understand the context in which the suggestion was made, so that, for example, you could filter out used regex flags.
112
+ * Is not aware of existing values. You will have to use {@link getCursorInfo} to understand the context in which the suggestion was made, so that, for example, you could filter out used regex flags.
128
113
  */
129
- autocomplete(suggestions: Suggestion[], { values, arrayValues, variables, prefixes, properties, expandedPropertyOperators, customPropertyOperators, keywords, regexFlags, quote, }?: Partial<Record<"variables" | "values" | "arrayValues" | "prefixes" | "properties" | "regexFlags" | "expandedPropertyOperators" | "customPropertyOperators", string[]>> & {
114
+ autocomplete(ast: ParserResults, suggestions: Suggestion[], { values, arrayValues, variables, prefixes, properties, expandedPropertyOperators, customPropertyOperators, keywords, regexFlags, quote, }?: Partial<Record<"variables" | "values" | "arrayValues" | "prefixes" | "properties" | "regexFlags" | "expandedPropertyOperators" | "customPropertyOperators", string[]>> & {
130
115
  quote?: string;
131
116
  keywords?: FullParserOptions<T>["keywords"];
132
117
  }): Completion[];
133
118
  /**
134
- * Given the input string and a @see Completion consisting of the value of the replacement and a @see Suggestion entry, returns the replacement string and the new position of the cursor.
119
+ * Given the input string and a {@link Completion} consisting of the value of the replacement and a {@link Suggestion} entry, returns the replacement string and the new position of the cursor.
135
120
  *
136
- * The value passed should be escaped if it's needed (or quoted). @see autocomplete already takes care of quoting variables if you're using it.
121
+ * The value passed should be escaped if it's needed (or quoted). {@link autocomplete} already takes care of quoting variables if you're using it.
137
122
  */
138
123
  autoreplace(input: string, { value, suggestion }: Completion): {
139
124
  replacement: string;
140
125
  cursor: number;
141
126
  };
142
127
  /**
143
- * Returns a list of suggestions ( @see Suggestion ). These are not a list of autocomplete entries (with values), but more a list of entries describing possible suggestions. This list can then be passed to @see Parser["autocomplete"] to build a list to show users, from which you can then pick an entry to pass to @see Parser["autoreplace"] .
128
+ * Returns a list of suggestions ( {@link Suggestion} ). These are not a list of autocomplete entries (with values), but more a list of entries describing possible suggestions. This list can then be passed to {@link Parser}["autocomplete"] to build a list to show users, from which you can then pick an entry to pass to {@link Parser}["autoreplace"] .
144
129
  *
145
- * The list returned is "unsorted", but there is still some logic to the order. Fixes for errors are suggested first, in the order returned by @see getSurroundingErrors. Regular suggestions come after in the following order: prefixes if enabled, variables, boolean symbol operators, then boolean word operators.
130
+ * The list returned is "unsorted", but there is still some logic to the order. Fixes for errors are suggested first, in the order returned by {@link getSurroundingErrors}. Regular suggestions come after in the following order: prefixes if enabled, variables, boolean symbol operators, then boolean word operators.
146
131
  *
147
132
  * When the cursor is between two tokens that have possible suggestions, only suggestion types for the token before are returned. For example:
148
133
  *
@@ -167,7 +152,7 @@ export declare class Parser<T extends {} = {}> {
167
152
  *
168
153
  * How the ast is evaluated for different operators can be controlled by the {@link ParserOptions.valueComparer valueComparer} option.
169
154
  */
170
- evaluate(ast: Expression<any, any> | Condition<any, any>, context: Record<string, any>): boolean;
155
+ evaluate(ast: NormalizedExpression<any, any> | NormalizedCondition<any, any>, context: Record<string, any>): boolean;
171
156
  /**
172
157
  * Given the set of indexes returned by {@link getBestIndex}, the set of existing indexes in a database, and the index to sort by\*, will return a list of the best/shortest sets of indexes.
173
158
  *
@@ -195,11 +180,11 @@ export declare class Parser<T extends {} = {}> {
195
180
  *
196
181
  * Queries like `(a || b) && (a || c)` would require all the variables to be indexed `[Set(a), Set(b), Set(c)]`.
197
182
  */
198
- getIndexes(ast: Condition | Expression): Set<string>[];
183
+ getIndexes(ast: NormalizedCondition | NormalizedExpression): Set<string>[];
199
184
  /**
200
185
  * Normalizes the ast by applying {@link GroupNode GroupNodes} and converting {@link ConditionNode ConditionNodes} to {@link NormalizedConditionNode NormalizedConditionNodes}.
201
186
  */
202
- normalize<TType extends string, TValue>(ast: ParserResults): Condition<TType, TValue> | Expression<TType, TValue>;
187
+ normalize<TType extends string, TValue>(ast: ParserResults): NormalizedCondition<TType, TValue> | NormalizedExpression<TType, TValue>;
203
188
  /**
204
189
  * Allows pre-validating ASTs for syntax highlighting purposes.
205
190
  * Works similar to evaluate. Internally it will use the prefixApplier, keyParser, and valueValidator (instead of comparer).
@@ -1 +1 @@
1
- {"version":3,"file":"Parser.d.ts","sourceRoot":"","sources":["../src/Parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Parser.d.ts","sourceRoot":"","sources":["../src/Parser.ts"],"names":[],"mappings":"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"}