@blackglory/match 0.3.5 → 0.4.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 (242) hide show
  1. package/README.md +21 -32
  2. package/lib/index.d.ts +17 -0
  3. package/lib/index.js +18 -0
  4. package/lib/index.js.map +1 -0
  5. package/lib/{es2015/match-element.d.ts → match-element.d.ts} +1 -1
  6. package/lib/match-element.js +18 -0
  7. package/lib/match-element.js.map +1 -0
  8. package/lib/{es2015/match.d.ts → match.d.ts} +1 -1
  9. package/lib/match.js +18 -0
  10. package/lib/match.js.map +1 -0
  11. package/lib/{es2015/matchers → matchers}/any-of.d.ts +1 -1
  12. package/lib/matchers/any-of.js +6 -0
  13. package/lib/matchers/any-of.js.map +1 -0
  14. package/lib/{es2015/matchers → matchers}/child-nodes.d.ts +1 -1
  15. package/lib/matchers/child-nodes.js +24 -0
  16. package/lib/matchers/child-nodes.js.map +1 -0
  17. package/lib/{es2015/matchers → matchers}/children.d.ts +1 -1
  18. package/lib/matchers/children.js +24 -0
  19. package/lib/matchers/children.js.map +1 -0
  20. package/lib/{es2015/matchers → matchers}/css.d.ts +1 -1
  21. package/lib/matchers/css.js +14 -0
  22. package/lib/matchers/css.js.map +1 -0
  23. package/lib/{es2015/matchers → matchers}/element.d.ts +1 -1
  24. package/lib/matchers/element.js +30 -0
  25. package/lib/matchers/element.js.map +1 -0
  26. package/lib/{es2018/matchers → matchers}/multiple.d.ts +1 -1
  27. package/lib/matchers/multiple.js +39 -0
  28. package/lib/matchers/multiple.js.map +1 -0
  29. package/lib/{es2015/matchers → matchers}/node.d.ts +1 -1
  30. package/lib/matchers/node.js +27 -0
  31. package/lib/matchers/node.js.map +1 -0
  32. package/lib/{es2015/matchers → matchers}/optional.d.ts +1 -1
  33. package/lib/matchers/optional.js +5 -0
  34. package/lib/matchers/optional.js.map +1 -0
  35. package/lib/{es2015/matchers → matchers}/repeat.d.ts +1 -1
  36. package/lib/matchers/repeat.js +16 -0
  37. package/lib/matchers/repeat.js.map +1 -0
  38. package/lib/{es2015/matchers → matchers}/tap.d.ts +1 -1
  39. package/lib/matchers/tap.js +8 -0
  40. package/lib/matchers/tap.js.map +1 -0
  41. package/lib/{es2018/matchers → matchers}/text-content-equals.d.ts +1 -1
  42. package/lib/matchers/text-content-equals.js +16 -0
  43. package/lib/matchers/text-content-equals.js.map +1 -0
  44. package/lib/{es2018/matchers → matchers}/text-content-includes.d.ts +1 -1
  45. package/lib/matchers/text-content-includes.js +16 -0
  46. package/lib/matchers/text-content-includes.js.map +1 -0
  47. package/lib/{es2015/matchers → matchers}/text-content-matches.d.ts +1 -1
  48. package/lib/matchers/text-content-matches.js +12 -0
  49. package/lib/matchers/text-content-matches.js.map +1 -0
  50. package/lib/{es2015/matchers → matchers}/text-node.d.ts +1 -1
  51. package/lib/matchers/text-node.js +30 -0
  52. package/lib/matchers/text-node.js.map +1 -0
  53. package/lib/{es2015/matchers → matchers}/xpath.d.ts +1 -1
  54. package/lib/{es2015/matchers → matchers}/xpath.js +7 -11
  55. package/lib/matchers/xpath.js.map +1 -0
  56. package/lib/types.d.ts +18 -0
  57. package/lib/types.js +2 -0
  58. package/lib/types.js.map +1 -0
  59. package/lib/{es2015/utils → utils}/concat.js +1 -5
  60. package/lib/utils/concat.js.map +1 -0
  61. package/lib/{es2015/utils → utils}/match-multiple.d.ts +4 -1
  62. package/lib/utils/match-multiple.js +20 -0
  63. package/lib/utils/match-multiple.js.map +1 -0
  64. package/lib/{es2015/utils → utils}/match-one-by-one.d.ts +1 -1
  65. package/lib/{es2015/utils → utils}/match-one-by-one.js +9 -9
  66. package/lib/utils/match-one-by-one.js.map +1 -0
  67. package/lib/utils/merge-in-place.d.ts +1 -0
  68. package/lib/{es2015/utils → utils}/merge-in-place.js +5 -9
  69. package/lib/utils/merge-in-place.js.map +1 -0
  70. package/lib/utils/next-element-sibling.js +7 -0
  71. package/lib/utils/next-element-sibling.js.map +1 -0
  72. package/lib/utils/next-sibling.js +7 -0
  73. package/lib/utils/next-sibling.js.map +1 -0
  74. package/package.json +34 -49
  75. package/src/index.ts +18 -0
  76. package/src/match-element.ts +23 -0
  77. package/src/match.ts +23 -0
  78. package/src/matchers/any-of.ts +13 -0
  79. package/src/matchers/child-nodes.ts +33 -0
  80. package/src/matchers/children.ts +35 -0
  81. package/src/matchers/css.ts +24 -0
  82. package/src/matchers/element.ts +49 -0
  83. package/src/matchers/multiple.ts +59 -0
  84. package/src/matchers/node.ts +50 -0
  85. package/src/matchers/optional.ts +6 -0
  86. package/src/matchers/repeat.ts +25 -0
  87. package/src/matchers/tap.ts +12 -0
  88. package/src/matchers/text-content-equals.ts +28 -0
  89. package/src/matchers/text-content-includes.ts +28 -0
  90. package/src/matchers/text-content-matches.ts +20 -0
  91. package/src/matchers/text-node.ts +52 -0
  92. package/src/matchers/xpath.ts +54 -0
  93. package/src/types.ts +39 -0
  94. package/src/utils/concat.ts +9 -0
  95. package/src/utils/match-multiple.ts +27 -0
  96. package/src/utils/match-one-by-one.ts +47 -0
  97. package/src/utils/merge-in-place.ts +26 -0
  98. package/src/utils/next-element-sibling.ts +10 -0
  99. package/src/utils/next-sibling.ts +7 -0
  100. package/dist/es2015/index.min.mjs +0 -2
  101. package/dist/es2015/index.min.mjs.map +0 -1
  102. package/dist/es2015/index.mjs +0 -4445
  103. package/dist/es2015/index.mjs.map +0 -1
  104. package/dist/es2015/index.umd.js +0 -4471
  105. package/dist/es2015/index.umd.js.map +0 -1
  106. package/dist/es2015/index.umd.min.js +0 -2
  107. package/dist/es2015/index.umd.min.js.map +0 -1
  108. package/dist/es2018/index.min.mjs +0 -2
  109. package/dist/es2018/index.min.mjs.map +0 -1
  110. package/dist/es2018/index.mjs +0 -4453
  111. package/dist/es2018/index.mjs.map +0 -1
  112. package/dist/es2018/index.umd.js +0 -4479
  113. package/dist/es2018/index.umd.js.map +0 -1
  114. package/dist/es2018/index.umd.min.js +0 -2
  115. package/dist/es2018/index.umd.min.js.map +0 -1
  116. package/lib/es2015/index.d.ts +0 -17
  117. package/lib/es2015/index.js +0 -38
  118. package/lib/es2015/index.js.map +0 -1
  119. package/lib/es2015/match-element.js +0 -22
  120. package/lib/es2015/match-element.js.map +0 -1
  121. package/lib/es2015/match.js +0 -22
  122. package/lib/es2015/match.js.map +0 -1
  123. package/lib/es2015/matchers/any-of.js +0 -10
  124. package/lib/es2015/matchers/any-of.js.map +0 -1
  125. package/lib/es2015/matchers/child-nodes.js +0 -23
  126. package/lib/es2015/matchers/child-nodes.js.map +0 -1
  127. package/lib/es2015/matchers/children.js +0 -23
  128. package/lib/es2015/matchers/children.js.map +0 -1
  129. package/lib/es2015/matchers/css.js +0 -18
  130. package/lib/es2015/matchers/css.js.map +0 -1
  131. package/lib/es2015/matchers/element.js +0 -34
  132. package/lib/es2015/matchers/element.js.map +0 -1
  133. package/lib/es2015/matchers/multiple.d.ts +0 -10
  134. package/lib/es2015/matchers/multiple.js +0 -42
  135. package/lib/es2015/matchers/multiple.js.map +0 -1
  136. package/lib/es2015/matchers/node.js +0 -31
  137. package/lib/es2015/matchers/node.js.map +0 -1
  138. package/lib/es2015/matchers/optional.js +0 -9
  139. package/lib/es2015/matchers/optional.js.map +0 -1
  140. package/lib/es2015/matchers/repeat.js +0 -20
  141. package/lib/es2015/matchers/repeat.js.map +0 -1
  142. package/lib/es2015/matchers/tap.js +0 -12
  143. package/lib/es2015/matchers/tap.js.map +0 -1
  144. package/lib/es2015/matchers/text-content-equals.d.ts +0 -7
  145. package/lib/es2015/matchers/text-content-equals.js +0 -20
  146. package/lib/es2015/matchers/text-content-equals.js.map +0 -1
  147. package/lib/es2015/matchers/text-content-includes.d.ts +0 -7
  148. package/lib/es2015/matchers/text-content-includes.js +0 -20
  149. package/lib/es2015/matchers/text-content-includes.js.map +0 -1
  150. package/lib/es2015/matchers/text-content-matches.js +0 -16
  151. package/lib/es2015/matchers/text-content-matches.js.map +0 -1
  152. package/lib/es2015/matchers/text-node.js +0 -34
  153. package/lib/es2015/matchers/text-node.js.map +0 -1
  154. package/lib/es2015/matchers/xpath.js.map +0 -1
  155. package/lib/es2015/types.d.ts +0 -18
  156. package/lib/es2015/types.js +0 -3
  157. package/lib/es2015/types.js.map +0 -1
  158. package/lib/es2015/utils/concat.js.map +0 -1
  159. package/lib/es2015/utils/match-multiple.js +0 -21
  160. package/lib/es2015/utils/match-multiple.js.map +0 -1
  161. package/lib/es2015/utils/match-one-by-one.js.map +0 -1
  162. package/lib/es2015/utils/merge-in-place.d.ts +0 -5
  163. package/lib/es2015/utils/merge-in-place.js.map +0 -1
  164. package/lib/es2015/utils/next-element-sibling.js +0 -11
  165. package/lib/es2015/utils/next-element-sibling.js.map +0 -1
  166. package/lib/es2015/utils/next-sibling.js +0 -11
  167. package/lib/es2015/utils/next-sibling.js.map +0 -1
  168. package/lib/es2018/index.d.ts +0 -17
  169. package/lib/es2018/index.js +0 -38
  170. package/lib/es2018/index.js.map +0 -1
  171. package/lib/es2018/match-element.d.ts +0 -4
  172. package/lib/es2018/match-element.js +0 -22
  173. package/lib/es2018/match-element.js.map +0 -1
  174. package/lib/es2018/match.d.ts +0 -4
  175. package/lib/es2018/match.js +0 -22
  176. package/lib/es2018/match.js.map +0 -1
  177. package/lib/es2018/matchers/any-of.d.ts +0 -6
  178. package/lib/es2018/matchers/any-of.js +0 -10
  179. package/lib/es2018/matchers/any-of.js.map +0 -1
  180. package/lib/es2018/matchers/child-nodes.d.ts +0 -2
  181. package/lib/es2018/matchers/child-nodes.js +0 -27
  182. package/lib/es2018/matchers/child-nodes.js.map +0 -1
  183. package/lib/es2018/matchers/children.d.ts +0 -2
  184. package/lib/es2018/matchers/children.js +0 -27
  185. package/lib/es2018/matchers/children.js.map +0 -1
  186. package/lib/es2018/matchers/css.d.ts +0 -3
  187. package/lib/es2018/matchers/css.js +0 -18
  188. package/lib/es2018/matchers/css.js.map +0 -1
  189. package/lib/es2018/matchers/element.d.ts +0 -4
  190. package/lib/es2018/matchers/element.js +0 -34
  191. package/lib/es2018/matchers/element.js.map +0 -1
  192. package/lib/es2018/matchers/multiple.js +0 -42
  193. package/lib/es2018/matchers/multiple.js.map +0 -1
  194. package/lib/es2018/matchers/node.d.ts +0 -4
  195. package/lib/es2018/matchers/node.js +0 -31
  196. package/lib/es2018/matchers/node.js.map +0 -1
  197. package/lib/es2018/matchers/optional.d.ts +0 -2
  198. package/lib/es2018/matchers/optional.js +0 -9
  199. package/lib/es2018/matchers/optional.js.map +0 -1
  200. package/lib/es2018/matchers/repeat.d.ts +0 -2
  201. package/lib/es2018/matchers/repeat.js +0 -20
  202. package/lib/es2018/matchers/repeat.js.map +0 -1
  203. package/lib/es2018/matchers/tap.d.ts +0 -2
  204. package/lib/es2018/matchers/tap.js +0 -12
  205. package/lib/es2018/matchers/tap.js.map +0 -1
  206. package/lib/es2018/matchers/text-content-equals.js +0 -20
  207. package/lib/es2018/matchers/text-content-equals.js.map +0 -1
  208. package/lib/es2018/matchers/text-content-includes.js +0 -20
  209. package/lib/es2018/matchers/text-content-includes.js.map +0 -1
  210. package/lib/es2018/matchers/text-content-matches.d.ts +0 -6
  211. package/lib/es2018/matchers/text-content-matches.js +0 -16
  212. package/lib/es2018/matchers/text-content-matches.js.map +0 -1
  213. package/lib/es2018/matchers/text-node.d.ts +0 -4
  214. package/lib/es2018/matchers/text-node.js +0 -34
  215. package/lib/es2018/matchers/text-node.js.map +0 -1
  216. package/lib/es2018/matchers/xpath.d.ts +0 -3
  217. package/lib/es2018/matchers/xpath.js +0 -34
  218. package/lib/es2018/matchers/xpath.js.map +0 -1
  219. package/lib/es2018/types.d.ts +0 -18
  220. package/lib/es2018/types.js +0 -3
  221. package/lib/es2018/types.js.map +0 -1
  222. package/lib/es2018/utils/concat.d.ts +0 -1
  223. package/lib/es2018/utils/concat.js +0 -14
  224. package/lib/es2018/utils/concat.js.map +0 -1
  225. package/lib/es2018/utils/match-multiple.d.ts +0 -2
  226. package/lib/es2018/utils/match-multiple.js +0 -21
  227. package/lib/es2018/utils/match-multiple.js.map +0 -1
  228. package/lib/es2018/utils/match-one-by-one.d.ts +0 -2
  229. package/lib/es2018/utils/match-one-by-one.js +0 -38
  230. package/lib/es2018/utils/match-one-by-one.js.map +0 -1
  231. package/lib/es2018/utils/merge-in-place.d.ts +0 -5
  232. package/lib/es2018/utils/merge-in-place.js +0 -31
  233. package/lib/es2018/utils/merge-in-place.js.map +0 -1
  234. package/lib/es2018/utils/next-element-sibling.d.ts +0 -1
  235. package/lib/es2018/utils/next-element-sibling.js +0 -11
  236. package/lib/es2018/utils/next-element-sibling.js.map +0 -1
  237. package/lib/es2018/utils/next-sibling.d.ts +0 -1
  238. package/lib/es2018/utils/next-sibling.js +0 -11
  239. package/lib/es2018/utils/next-sibling.js.map +0 -1
  240. /package/lib/{es2015/utils → utils}/concat.d.ts +0 -0
  241. /package/lib/{es2015/utils → utils}/next-element-sibling.d.ts +0 -0
  242. /package/lib/{es2015/utils → utils}/next-sibling.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"text-node.js","sourceRoot":"","sources":["../../../src/matchers/text-node.ts"],"names":[],"mappings":";;;AACA,6CAAqD;AACrD,0CAAsC;AACtC,yCAAwC;AACxC,0DAAoD;AAapD,SAAgB,QAAQ,CAAC,GAAG,IAGkB;IAE5C,IAAI,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;QACpB,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,GACxB,IAA4D,CAAA;QAC9D,MAAM,IAAI,GAAG,IAAA,eAAM,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAE7C,OAAO,CAAC,GAAG,QAAuC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAA;KACnF;IAED,IAAI,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;QACrB,MAAM,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,GACvB,IAAkE,CAAA;QAEpE,OAAO,UAAkC,IAAU;YACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACrD,IAAI,MAAM,EAAE;gBACV,IAAA,6BAAY,EAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;aAChD;YACD,OAAO,MAAM,CAAA;QACf,CAAC,CAAA;KACF;IAED,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,IAAoD,CAAA;IAE1E,OAAO,UAAkC,IAAU;QACjD,IAAI,IAAA,wBAAY,EAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAA;QACpC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAEtC,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACxD,CAAC,CAAA;AACH,CAAC;AAlCD,4BAkCC"}
@@ -1,3 +0,0 @@
1
- import { ITerminalMatcher } from '../types';
2
- export declare function xpath(strings: TemplateStringsArray, ...values: string[]): ITerminalMatcher<Node>;
3
- export declare function xpath(experssion: string): ITerminalMatcher<Node>;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.xpath = void 0;
4
- const types_1 = require("@blackglory/types");
5
- const concat_1 = require("../utils/concat");
6
- const errors_1 = require("@blackglory/errors");
7
- const UNORDERED_NODE_ITERATOR_TYPE = 'XPathResult' in globalThis
8
- ? XPathResult.UNORDERED_NODE_ITERATOR_TYPE
9
- : 4;
10
- function xpath(...args) {
11
- if ((0, types_1.isString)(args[0])) {
12
- const [expression] = args;
13
- (0, errors_1.assert)(expression.startsWith('//*'), 'XPath expressions must start with "//*"');
14
- return function (node) {
15
- return xpathMatches(this.document, expression, node);
16
- };
17
- }
18
- else {
19
- const [strings, ...values] = args;
20
- const expression = (0, concat_1.concat)(strings, values).join('');
21
- return xpath(expression);
22
- }
23
- }
24
- exports.xpath = xpath;
25
- function xpathMatches(document, expression, node) {
26
- const iterator = document.evaluate(expression, node, null, UNORDERED_NODE_ITERATOR_TYPE, null);
27
- let value;
28
- while ((value = iterator.iterateNext()) !== null) {
29
- if (value === node)
30
- return true;
31
- }
32
- return false;
33
- }
34
- //# sourceMappingURL=xpath.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xpath.js","sourceRoot":"","sources":["../../../src/matchers/xpath.ts"],"names":[],"mappings":";;;AACA,6CAA4C;AAC5C,0CAAsC;AACtC,+CAA2C;AAE3C,MAAM,4BAA4B,GAChC,aAAa,IAAI,UAAU;IAC3B,CAAC,CAAC,WAAW,CAAC,4BAA4B;IAC1C,CAAC,CAAC,CAAC,CAAA;AASL,SAAgB,KAAK,CAAC,GAAG,IAE6B;IAEpD,IAAI,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;QACrB,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;QACzB,IAAA,eAAM,EAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,yCAAyC,CAAC,CAAA;QAE/E,OAAO,UAEL,IAAU;YAEV,OAAO,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;QACtD,CAAC,CAAA;KACF;SAAM;QACL,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAAA;QACjC,MAAM,UAAU,GAAG,IAAA,eAAM,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEnD,OAAO,KAAK,CAAC,UAAU,CAAC,CAAA;KACzB;AACH,CAAC;AApBD,sBAoBC;AAED,SAAS,YAAY,CAAC,QAAkB,EAAE,UAAkB,EAAE,IAAU;IACtE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAChC,UAAU,EACV,IAAI,EACJ,IAAI,EACJ,4BAA4B,EAC5B,IAAI,CACL,CAAA;IAED,IAAI,KAAK,CAAA;IACT,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,IAAI,EAAE;QAChD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;KAChC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1,18 +0,0 @@
1
- export interface IContext {
2
- readonly document: Document;
3
- readonly next: (node: Node, distance?: number) => Node | undefined;
4
- readonly collection: {
5
- [name: string]: Node | Node[];
6
- };
7
- }
8
- export interface IReadonlyContext {
9
- readonly document: Document;
10
- readonly next: (node: Node, distance?: number) => Node | undefined;
11
- readonly collection: {
12
- readonly [name: string]: Node | Node[];
13
- };
14
- }
15
- export declare type IMatcher<T extends Node> = ITerminalMatcher<T> | INestedMatcher<T> | ISkipMatcher<T> | (<T extends Node>(this: IReadonlyContext, node: T) => boolean | number | Iterable<number>);
16
- export declare type INestedMatcher<T extends Node> = (this: IReadonlyContext, node: T) => boolean;
17
- export declare type ISkipMatcher<T extends Node> = (this: IReadonlyContext, node: T) => number | Iterable<number> | false;
18
- export declare type ITerminalMatcher<T extends Node> = (this: IReadonlyContext, node: T) => boolean;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- export declare function concat(strings: TemplateStringsArray, values: string[]): string[];
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.concat = void 0;
4
- function concat(strings, values) {
5
- const result = [];
6
- for (let i = 0, len = values.length; i < len; i++) {
7
- result.push(strings[i]);
8
- result.push(values[i]);
9
- }
10
- result.push(strings[strings.length - 1]);
11
- return result;
12
- }
13
- exports.concat = concat;
14
- //# sourceMappingURL=concat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"concat.js","sourceRoot":"","sources":["../../../src/utils/concat.ts"],"names":[],"mappings":";;;AAAA,SAAgB,MAAM,CAAC,OAA6B,EAAE,MAAgB;IACpE,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QACjD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QACvB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;KACvB;IACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IACxC,OAAO,MAAM,CAAA;AACf,CAAC;AARD,wBAQC"}
@@ -1,2 +0,0 @@
1
- import { INestedMatcher, ITerminalMatcher, IReadonlyContext } from '../types';
2
- export declare function matchMultiple<T extends Node>(this: IReadonlyContext, node: T, ubound: number, matcher: INestedMatcher<T> | ITerminalMatcher<T>): number;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.matchMultiple = void 0;
4
- const extra_generator_1 = require("extra-generator");
5
- function matchMultiple(node, ubound, matcher) {
6
- let currentNode = node;
7
- for (const round of (0, extra_generator_1.countup)(1, ubound)) {
8
- if (!currentNode)
9
- return round - 1;
10
- const result = matcher.call(this, currentNode);
11
- if (result) {
12
- currentNode = this.next(currentNode);
13
- }
14
- else {
15
- return round - 1;
16
- }
17
- }
18
- return ubound;
19
- }
20
- exports.matchMultiple = matchMultiple;
21
- //# sourceMappingURL=match-multiple.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"match-multiple.js","sourceRoot":"","sources":["../../../src/utils/match-multiple.ts"],"names":[],"mappings":";;;AAAA,qDAAyC;AAMzC,SAAgB,aAAa,CAE3B,IAAO,EACP,MAAc,EACd,OAAgD;IAEhD,IAAI,WAAW,GAAa,IAAI,CAAA;IAEhC,KAAK,MAAM,KAAK,IAAI,IAAA,yBAAO,EAAC,CAAC,EAAE,MAAM,CAAC,EAAE;QACtC,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,GAAG,CAAC,CAAA;QAElC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QAC9C,IAAI,MAAM,EAAE;YACV,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAa,CAAA;SACjD;aAAM;YACL,OAAO,KAAK,GAAG,CAAC,CAAA;SACjB;KACF;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AApBD,sCAoBC"}
@@ -1,2 +0,0 @@
1
- import { IMatcher, IReadonlyContext } from '../types';
2
- export declare function matchOneByOne<T extends Node>(context: IReadonlyContext, source: T | null, ...matchers: Array<IMatcher<T>>): boolean;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.matchOneByOne = void 0;
4
- const types_1 = require("@blackglory/types");
5
- function matchOneByOne(context, source, ...matchers) {
6
- if (matchers.length === 0)
7
- return true;
8
- if (!source)
9
- return false;
10
- const [matcher, ...otherMatchers] = matchers;
11
- const result = Reflect.apply(matcher, context, [source]);
12
- if ((0, types_1.isBoolean)(result)) {
13
- if (result) {
14
- const nextNode = context.next(source);
15
- return matchOneByOne(context, nextNode, ...otherMatchers);
16
- }
17
- else {
18
- return false;
19
- }
20
- }
21
- if ((0, types_1.isNumber)(result)) {
22
- const distance = result;
23
- const nextNode = context.next(source, distance);
24
- return matchOneByOne(context, nextNode, ...otherMatchers);
25
- }
26
- if ((0, types_1.isIterable)(result)) {
27
- for (const distance of result) {
28
- const nextNode = context.next(source, distance);
29
- if (matchOneByOne(context, nextNode, ...otherMatchers)) {
30
- return true;
31
- }
32
- }
33
- return false;
34
- }
35
- throw new Error('Unknown return value');
36
- }
37
- exports.matchOneByOne = matchOneByOne;
38
- //# sourceMappingURL=match-one-by-one.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"match-one-by-one.js","sourceRoot":"","sources":["../../../src/utils/match-one-by-one.ts"],"names":[],"mappings":";;;AACA,6CAAmE;AAEnE,SAAgB,aAAa,CAC3B,OAAyB,EACzB,MAAgB,EAChB,GAAG,QAA4B;IAE/B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACtC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAEzB,MAAM,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,GAAG,QAAQ,CAAA;IAE5C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAA+B,CAAA;IAGtF,IAAI,IAAA,iBAAS,EAAC,MAAM,CAAC,EAAE;QACrB,IAAI,MAAM,EAAE;YACV,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAa,CAAA;YACjD,OAAO,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,CAAA;SAC1D;aAAM;YACL,OAAO,KAAK,CAAA;SACb;KACF;IAGD,IAAI,IAAA,gBAAQ,EAAC,MAAM,CAAC,EAAE;QACpB,MAAM,QAAQ,GAAG,MAAM,CAAA;QACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAa,CAAA;QAC3D,OAAO,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,CAAA;KAC1D;IAGD,IAAI,IAAA,kBAAU,EAAC,MAAM,CAAC,EAAE;QACtB,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE;YAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAa,CAAA;YAC3D,IAAI,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,EAAE;gBACtD,OAAO,IAAI,CAAA;aACZ;SACF;QAGD,OAAO,KAAK,CAAA;KACb;IAED,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;AACzC,CAAC;AA3CD,sCA2CC"}
@@ -1,5 +0,0 @@
1
- export declare function mergeInPlace<T>(target: {
2
- [key: string]: T | T[];
3
- }, source: {
4
- [key: string]: T | T[];
5
- }): void;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mergeInPlace = void 0;
4
- const types_1 = require("@blackglory/types");
5
- function mergeInPlace(target, source) {
6
- for (const [key, value] of Object.entries(source)) {
7
- if (target[key]) {
8
- if ((0, types_1.isArray)(target[key])) {
9
- if ((0, types_1.isArray)(value)) {
10
- target[key] = [...target[key], ...value];
11
- }
12
- else {
13
- target[key] = [...target[key], value];
14
- }
15
- }
16
- else {
17
- if ((0, types_1.isArray)(value)) {
18
- target[key] = [target[key], ...value];
19
- }
20
- else {
21
- target[key] = [target[key], value];
22
- }
23
- }
24
- }
25
- else {
26
- target[key] = value;
27
- }
28
- }
29
- }
30
- exports.mergeInPlace = mergeInPlace;
31
- //# sourceMappingURL=merge-in-place.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"merge-in-place.js","sourceRoot":"","sources":["../../../src/utils/merge-in-place.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAE3C,SAAgB,YAAY,CAC1B,MAAkC,EAClC,MAAkC;IAElC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACjD,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;YACf,IAAI,IAAA,eAAO,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBACxB,IAAI,IAAA,eAAO,EAAC,KAAK,CAAC,EAAE;oBAClB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAQ,EAAE,GAAG,KAAK,CAAC,CAAA;iBAChD;qBAAM;oBACL,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAQ,EAAE,KAAK,CAAC,CAAA;iBAC7C;aACF;iBAAM;gBACL,IAAI,IAAA,eAAO,EAAC,KAAK,CAAC,EAAE;oBAClB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAM,EAAE,GAAG,KAAK,CAAC,CAAA;iBAC3C;qBAAM;oBACL,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAM,EAAE,KAAK,CAAC,CAAA;iBACxC;aACF;SACF;aAAM;YACL,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;SACpB;KACF;AACH,CAAC;AAvBD,oCAuBC"}
@@ -1 +0,0 @@
1
- export declare function nextElementSibling(node: Node, distance?: number): Node | undefined;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nextElementSibling = void 0;
4
- const ExtraDOM = require("extra-dom");
5
- function nextElementSibling(node, distance = 1) {
6
- if (distance === 0)
7
- return node;
8
- return ExtraDOM.nextElementSibling(node, distance);
9
- }
10
- exports.nextElementSibling = nextElementSibling;
11
- //# sourceMappingURL=next-element-sibling.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"next-element-sibling.js","sourceRoot":"","sources":["../../../src/utils/next-element-sibling.ts"],"names":[],"mappings":";;;AAAA,sCAAqC;AAErC,SAAgB,kBAAkB,CAChC,IAAU,EACV,WAAmB,CAAC;IAEpB,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAE/B,OAAO,QAAQ,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AACpD,CAAC;AAPD,gDAOC"}
@@ -1 +0,0 @@
1
- export declare function nextSibling(node: Node, distance?: number): Node | undefined;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nextSibling = void 0;
4
- const ExtraDOM = require("extra-dom");
5
- function nextSibling(node, distance = 1) {
6
- if (distance === 0)
7
- return node;
8
- return ExtraDOM.nextSibling(node, distance);
9
- }
10
- exports.nextSibling = nextSibling;
11
- //# sourceMappingURL=next-sibling.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"next-sibling.js","sourceRoot":"","sources":["../../../src/utils/next-sibling.ts"],"names":[],"mappings":";;;AAAA,sCAAqC;AAErC,SAAgB,WAAW,CAAC,IAAU,EAAE,WAAmB,CAAC;IAC1D,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAE/B,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AAC7C,CAAC;AAJD,kCAIC"}
File without changes
File without changes