clarity-pattern-parser 3.0.16 → 4.0.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 (168) hide show
  1. package/README.md +0 -191
  2. package/dist/ast/Node.d.ts +4 -5
  3. package/dist/index.browser.js +476 -731
  4. package/dist/index.browser.js.map +1 -1
  5. package/dist/index.d.ts +10 -18
  6. package/dist/index.esm.js +469 -716
  7. package/dist/index.esm.js.map +1 -1
  8. package/dist/index.js +476 -731
  9. package/dist/index.js.map +1 -1
  10. package/dist/patterns/And.d.ts +24 -0
  11. package/dist/patterns/Literal.d.ts +19 -0
  12. package/dist/patterns/LookAhead.d.ts +8 -0
  13. package/dist/patterns/Not.d.ts +11 -0
  14. package/dist/patterns/Or.d.ts +22 -0
  15. package/dist/patterns/Pattern.d.ts +6 -7
  16. package/dist/patterns/{RecursivePattern.d.ts → Recursive.d.ts} +4 -4
  17. package/dist/patterns/Reference.d.ts +14 -0
  18. package/dist/patterns/Regex.d.ts +21 -0
  19. package/dist/patterns/Repeat.d.ts +20 -0
  20. package/package.json +1 -1
  21. package/src/CursorHistory.ts +1 -1
  22. package/src/ast/Node.ts +20 -17
  23. package/src/ast/Visitor.ts +14 -18
  24. package/src/index.ts +17 -33
  25. package/src/patterns/And.ts +178 -0
  26. package/src/patterns/Literal.ts +91 -0
  27. package/src/patterns/Not.ts +50 -0
  28. package/src/patterns/Or.ts +132 -0
  29. package/src/patterns/Pattern.ts +31 -47
  30. package/src/patterns/Recursive.ts +92 -0
  31. package/src/patterns/{ReferencePattern.ts → Reference.ts} +32 -28
  32. package/src/patterns/Regex.ts +123 -0
  33. package/src/patterns/Repeat.ts +155 -0
  34. package/src/tests/{AndValue.test.ts → And.test.ts} +31 -41
  35. package/src/tests/CursorHistory.test.ts +6 -6
  36. package/src/tests/Cusor.test.ts +7 -10
  37. package/src/tests/Literal.test.ts +3 -5
  38. package/src/tests/LookAhead.test.ts +2 -51
  39. package/src/tests/Not.test.ts +51 -0
  40. package/src/tests/Or.test.ts +113 -0
  41. package/src/tests/Pattern.test.ts +40 -139
  42. package/src/tests/{RecursivePattern.test.ts → Recursive.test.ts} +10 -8
  43. package/src/tests/Reference.test.ts +16 -0
  44. package/src/tests/{RepeatValue.test.ts → Repeat.test.ts} +10 -42
  45. package/src/tests/TextSuggester.test.ts +20 -28
  46. package/src/tests/{NodeVisitor.test.ts → Visitor.test.ts} +42 -21
  47. package/src/tests/cssPatterns/cssValue.ts +2 -2
  48. package/src/tests/cssPatterns/divider.ts +2 -2
  49. package/src/tests/cssPatterns/hex.ts +2 -2
  50. package/src/tests/cssPatterns/method.ts +7 -9
  51. package/src/tests/cssPatterns/name.ts +2 -2
  52. package/src/tests/cssPatterns/number.ts +2 -2
  53. package/src/tests/cssPatterns/optionalSpaces.ts +1 -2
  54. package/src/tests/cssPatterns/spaces.ts +2 -2
  55. package/src/tests/cssPatterns/unit.ts +3 -3
  56. package/src/tests/cssPatterns/value.ts +2 -2
  57. package/src/tests/cssPatterns/values.ts +2 -2
  58. package/src/tests/htmlPatterns/element.ts +18 -33
  59. package/src/tests/javascriptPatterns/boolean.ts +2 -3
  60. package/src/tests/javascriptPatterns/json.ts +14 -26
  61. package/src/tests/javascriptPatterns/name.ts +3 -20
  62. package/src/tests/javascriptPatterns/number.ts +2 -2
  63. package/src/tests/javascriptPatterns/objectLiteral.ts +9 -16
  64. package/src/tests/javascriptPatterns/string.ts +26 -24
  65. package/src/tests/javascriptPatterns/unit.ts +3 -6
  66. package/src/tests/javascriptPatterns/whitespace.ts +8 -12
  67. package/src/tests/naturalLanguage/filter.ts +16 -33
  68. package/src/tests/patterns/sentence.ts +8 -8
  69. package/dist/Cursor.js +0 -105
  70. package/dist/Cursor.js.map +0 -1
  71. package/dist/CursorHistory.js +0 -104
  72. package/dist/CursorHistory.js.map +0 -1
  73. package/dist/Permutor.d.ts +0 -13
  74. package/dist/Permutor.js +0 -52
  75. package/dist/Permutor.js.map +0 -1
  76. package/dist/TextSuggester.js +0 -244
  77. package/dist/TextSuggester.js.map +0 -1
  78. package/dist/ast/CompositeNode.d.ts +0 -6
  79. package/dist/ast/CompositeNode.js +0 -17
  80. package/dist/ast/CompositeNode.js.map +0 -1
  81. package/dist/ast/Node.js +0 -16
  82. package/dist/ast/Node.js.map +0 -1
  83. package/dist/ast/NodeVisitor.d.ts +0 -31
  84. package/dist/ast/ValueNode.d.ts +0 -6
  85. package/dist/ast/ValueNode.js +0 -14
  86. package/dist/ast/ValueNode.js.map +0 -1
  87. package/dist/ast/Visitor.js +0 -209
  88. package/dist/ast/Visitor.js.map +0 -1
  89. package/dist/patterns/ParseError.js +0 -9
  90. package/dist/patterns/ParseError.js.map +0 -1
  91. package/dist/patterns/Pattern.js +0 -127
  92. package/dist/patterns/Pattern.js.map +0 -1
  93. package/dist/patterns/RecursivePattern.js +0 -65
  94. package/dist/patterns/RecursivePattern.js.map +0 -1
  95. package/dist/patterns/composite/AndComposite.d.ts +0 -22
  96. package/dist/patterns/composite/AndComposite.js +0 -117
  97. package/dist/patterns/composite/AndComposite.js.map +0 -1
  98. package/dist/patterns/composite/CompositePattern.d.ts +0 -4
  99. package/dist/patterns/composite/CompositePattern.js +0 -7
  100. package/dist/patterns/composite/CompositePattern.js.map +0 -1
  101. package/dist/patterns/composite/OptionalComposite.d.ts +0 -10
  102. package/dist/patterns/composite/OptionalComposite.js +0 -29
  103. package/dist/patterns/composite/OptionalComposite.js.map +0 -1
  104. package/dist/patterns/composite/OrComposite.d.ts +0 -16
  105. package/dist/patterns/composite/OrComposite.js +0 -69
  106. package/dist/patterns/composite/OrComposite.js.map +0 -1
  107. package/dist/patterns/composite/RepeatComposite.d.ts +0 -21
  108. package/dist/patterns/composite/RepeatComposite.js +0 -88
  109. package/dist/patterns/composite/RepeatComposite.js.map +0 -1
  110. package/dist/patterns/value/AndValue.d.ts +0 -21
  111. package/dist/patterns/value/AndValue.js +0 -118
  112. package/dist/patterns/value/AndValue.js.map +0 -1
  113. package/dist/patterns/value/AnyOfThese.d.ts +0 -18
  114. package/dist/patterns/value/AnyOfThese.js +0 -59
  115. package/dist/patterns/value/AnyOfThese.js.map +0 -1
  116. package/dist/patterns/value/Literal.d.ts +0 -20
  117. package/dist/patterns/value/Literal.js +0 -63
  118. package/dist/patterns/value/Literal.js.map +0 -1
  119. package/dist/patterns/value/NotValue.d.ts +0 -17
  120. package/dist/patterns/value/NotValue.js +0 -70
  121. package/dist/patterns/value/NotValue.js.map +0 -1
  122. package/dist/patterns/value/OptionalValue.d.ts +0 -9
  123. package/dist/patterns/value/OptionalValue.js +0 -32
  124. package/dist/patterns/value/OptionalValue.js.map +0 -1
  125. package/dist/patterns/value/OrValue.d.ts +0 -19
  126. package/dist/patterns/value/OrValue.js +0 -73
  127. package/dist/patterns/value/OrValue.js.map +0 -1
  128. package/dist/patterns/value/RegexValue.d.ts +0 -19
  129. package/dist/patterns/value/RegexValue.js +0 -69
  130. package/dist/patterns/value/RegexValue.js.map +0 -1
  131. package/dist/patterns/value/RepeatValue.d.ts +0 -19
  132. package/dist/patterns/value/RepeatValue.js +0 -89
  133. package/dist/patterns/value/RepeatValue.js.map +0 -1
  134. package/dist/patterns/value/ValuePattern.d.ts +0 -5
  135. package/dist/patterns/value/ValuePattern.js +0 -7
  136. package/dist/patterns/value/ValuePattern.js.map +0 -1
  137. package/src/Permutor.ts +0 -64
  138. package/src/ast/CompositeNode.ts +0 -26
  139. package/src/ast/ValueNode.ts +0 -28
  140. package/src/patterns/RecursivePattern.ts +0 -86
  141. package/src/patterns/composite/AndComposite.ts +0 -159
  142. package/src/patterns/composite/CompositePattern.ts +0 -7
  143. package/src/patterns/composite/OptionalComposite.ts +0 -37
  144. package/src/patterns/composite/OrComposite.ts +0 -96
  145. package/src/patterns/composite/RepeatComposite.ts +0 -130
  146. package/src/patterns/value/AndValue.ts +0 -152
  147. package/src/patterns/value/AnyOfThese.ts +0 -81
  148. package/src/patterns/value/Literal.ts +0 -92
  149. package/src/patterns/value/NotValue.ts +0 -95
  150. package/src/patterns/value/OptionalValue.ts +0 -39
  151. package/src/patterns/value/OrValue.ts +0 -103
  152. package/src/patterns/value/RegexValue.ts +0 -103
  153. package/src/patterns/value/RepeatValue.ts +0 -131
  154. package/src/patterns/value/ValuePattern.ts +0 -8
  155. package/src/tests/AndComposite.test.ts +0 -102
  156. package/src/tests/AnyOfThese.test.ts +0 -74
  157. package/src/tests/CompositeNode.test.ts +0 -33
  158. package/src/tests/NotValue.test.ts +0 -76
  159. package/src/tests/OptionalValue.test.ts +0 -50
  160. package/src/tests/OrComposite.test.ts +0 -75
  161. package/src/tests/OrValue.test.ts +0 -171
  162. package/src/tests/Permutor.test.ts +0 -30
  163. package/src/tests/ReferencePattern.test.ts +0 -24
  164. package/src/tests/RegexValue.test.ts +0 -22
  165. package/src/tests/RepeatComposite.test.ts +0 -58
  166. package/src/tests/ValueNode.test.ts +0 -24
  167. package/src/tests/javascriptPatterns/varStatement.ts +0 -0
  168. package/src/tests/readmeDemo.test.ts +0 -124
@@ -1,124 +0,0 @@
1
- /** @jest-environment node */
2
- import {
3
- Cursor,
4
- Literal,
5
- AndValue,
6
- OrValue,
7
- RepeatValue,
8
- NotValue,
9
- AndComposite,
10
- } from "../index";
11
-
12
- describe("Readme.md", () => {
13
- test("value", () => {
14
- const forwardSlashes = new Literal("forward-slashes", "//");
15
- const newLine = new Literal("new-line", "\n");
16
- const returnCarriage = new Literal("return-carriage", "\r");
17
- const windowsNewLine = new AndValue("windows-new-line", [
18
- returnCarriage,
19
- newLine,
20
- ]);
21
- const lineEnd = new OrValue("line-end", [newLine, windowsNewLine]);
22
- const character = new NotValue("character", lineEnd);
23
- const comment = new RepeatValue("comment", character);
24
-
25
- const lineEndingComment = new AndValue("line-ending-comment", [
26
- forwardSlashes,
27
- comment,
28
- lineEnd,
29
- ]);
30
-
31
- const string = "// This is a comment\n";
32
- const cursor = new Cursor(string);
33
- const node = lineEndingComment.parse(cursor);
34
-
35
- expect(node?.name).toBe("line-ending-comment"); // --> true
36
- expect(node?.value).toBe(string); // --> true
37
-
38
- const expectedValue = {
39
- children: [],
40
- value: "// This is a comment\n",
41
- type: "and-value",
42
- name: "line-ending-comment",
43
- startIndex: 0,
44
- endIndex: 20,
45
- isComposite: false,
46
- };
47
-
48
- expect(JSON.stringify(node)).toBe(JSON.stringify(expectedValue)); // --> true
49
- });
50
-
51
- test("composite", () => {
52
- const forwardSlashes = new Literal("forward-slashes", "//");
53
- const newLine = new Literal("new-line", "\n");
54
- const returnCarriage = new Literal("return-carriage", "\r");
55
- const windowsNewLine = new AndValue("windows-new-line", [
56
- returnCarriage,
57
- newLine,
58
- ]);
59
- const lineEnd = new OrValue("line-end", [newLine, windowsNewLine]);
60
- const character = new NotValue("character", lineEnd);
61
- const comment = new RepeatValue("comment", character);
62
-
63
- const lineEndingComment = new AndComposite("line-ending-comment", [
64
- forwardSlashes,
65
- comment,
66
- lineEnd,
67
- ]);
68
-
69
- const string = "// This is a comment\n";
70
- const cursor = new Cursor(string);
71
- const node = lineEndingComment.parse(cursor);
72
-
73
- expect(node?.name).toBe("line-ending-comment");
74
-
75
- expect(node?.children[0].name).toBe("forward-slashes");
76
- expect(node?.children[0].value).toBe("//");
77
-
78
- expect(node?.children[1].name).toBe("comment");
79
- expect(node?.children[1].value).toBe(" This is a comment");
80
-
81
- expect(node?.children[2].name).toBe("line-end");
82
- expect(node?.children[2].value).toBe("\n");
83
-
84
- const expectedValue = {
85
- children: [
86
- {
87
- children: [],
88
- value: "//",
89
- type: "literal",
90
- name: "forward-slashes",
91
- startIndex: 0,
92
- endIndex: 1,
93
- isComposite: false,
94
- },
95
- {
96
- children: [],
97
- value: " This is a comment",
98
- type: "repeat-value",
99
- name: "comment",
100
- startIndex: 2,
101
- endIndex: 19,
102
- isComposite: false,
103
- },
104
- {
105
- children: [],
106
- value: "\n",
107
- type: "or-value",
108
- name: "line-end",
109
- startIndex: 20,
110
- endIndex: 20,
111
- isComposite: false,
112
- },
113
- ],
114
- value: "",
115
- type: "and-composite",
116
- name: "line-ending-comment",
117
- startIndex: 0,
118
- endIndex: 20,
119
- isComposite: true,
120
- };
121
-
122
- expect(JSON.stringify(node)).toBe(JSON.stringify(expectedValue)); // --> true
123
- });
124
- });