@websolutespa/bom-next 3.0.2 → 4.0.0-next.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 (234) hide show
  1. package/CHANGELOG.md +17 -7
  2. package/dist/_virtual/{_rolldown/runtime.js → rolldown_runtime.js} +7 -4
  3. package/dist/client/client.d.ts.map +1 -1
  4. package/dist/client/client.js +17 -6
  5. package/dist/client/client.js.map +1 -1
  6. package/dist/client/extra.d.ts +3 -3
  7. package/dist/client/extra.d.ts.map +1 -1
  8. package/dist/client/extra.js +10 -5
  9. package/dist/client/extra.js.map +1 -1
  10. package/dist/client/label.d.ts.map +1 -1
  11. package/dist/client/label.js +10 -5
  12. package/dist/client/label.js.map +1 -1
  13. package/dist/client/layout.d.ts +3 -3
  14. package/dist/client/layout.d.ts.map +1 -1
  15. package/dist/client/layout.js +10 -5
  16. package/dist/client/layout.js.map +1 -1
  17. package/dist/client/local.collection.d.ts.map +1 -1
  18. package/dist/client/local.collection.js +4 -2
  19. package/dist/client/local.collection.js.map +1 -1
  20. package/dist/client/metadata.d.ts +3 -3
  21. package/dist/client/metadata.d.ts.map +1 -1
  22. package/dist/client/metadata.js +48 -40
  23. package/dist/client/metadata.js.map +1 -1
  24. package/dist/client/page.d.ts +3 -3
  25. package/dist/client/page.d.ts.map +1 -1
  26. package/dist/client/page.js +10 -5
  27. package/dist/client/page.js.map +1 -1
  28. package/dist/client/useApi.d.ts +7 -7
  29. package/dist/client/useApi.d.ts.map +1 -1
  30. package/dist/client/useApi.js +2 -1
  31. package/dist/client/useApi.js.map +1 -1
  32. package/dist/client/useCollectionApi.d.ts +6 -6
  33. package/dist/client/useCollectionApi.d.ts.map +1 -1
  34. package/dist/client/useCollectionApi.js +4 -2
  35. package/dist/client/useCollectionApi.js.map +1 -1
  36. package/dist/client/useExtra.d.ts.map +1 -1
  37. package/dist/client/useExtra.js +5 -2
  38. package/dist/client/useExtra.js.map +1 -1
  39. package/dist/client/useHttp.d.ts.map +1 -1
  40. package/dist/client/useHttp.js +9 -6
  41. package/dist/client/useHttp.js.map +1 -1
  42. package/dist/client/useLabel.d.ts.map +1 -1
  43. package/dist/client/useLabel.js +5 -2
  44. package/dist/client/useLabel.js.map +1 -1
  45. package/dist/client/useLayout.d.ts.map +1 -1
  46. package/dist/client/useLayout.js +5 -2
  47. package/dist/client/useLayout.js.map +1 -1
  48. package/dist/client/useLink.d.ts.map +1 -1
  49. package/dist/client/useLink.js +7 -3
  50. package/dist/client/useLink.js.map +1 -1
  51. package/dist/client/useMetaData.d.ts.map +1 -1
  52. package/dist/client/useMetaData.js +5 -2
  53. package/dist/client/useMetaData.js.map +1 -1
  54. package/dist/client/usePage.d.ts.map +1 -1
  55. package/dist/client/usePage.js +5 -2
  56. package/dist/client/usePage.js.map +1 -1
  57. package/dist/client/useUser.d.ts.map +1 -1
  58. package/dist/client/useUser.js +5 -2
  59. package/dist/client/useUser.js.map +1 -1
  60. package/dist/client/user.d.ts.map +1 -1
  61. package/dist/client/user.js +17 -11
  62. package/dist/client/user.js.map +1 -1
  63. package/dist/exports/client.js +2 -1
  64. package/dist/exports/instrumentation.js +2 -1
  65. package/dist/exports/proxy.js +2 -1
  66. package/dist/exports/server.js +2 -1
  67. package/dist/index.js +2 -1
  68. package/dist/instrumentation/client.d.ts.map +1 -1
  69. package/dist/instrumentation/client.js +2 -1
  70. package/dist/instrumentation/client.js.map +1 -1
  71. package/dist/instrumentation/sentry/capture.requestError.js +4 -1
  72. package/dist/instrumentation/sentry/capture.requestError.js.map +1 -1
  73. package/dist/instrumentation/sentry/capture.routerTransitionStart.js +2 -1
  74. package/dist/instrumentation/sentry/capture.routerTransitionStart.js.map +1 -1
  75. package/dist/instrumentation/sentry/config.client.js +10 -2
  76. package/dist/instrumentation/sentry/config.client.js.map +1 -0
  77. package/dist/instrumentation/sentry/config.edge.js +10 -2
  78. package/dist/instrumentation/sentry/config.edge.js.map +1 -0
  79. package/dist/instrumentation/sentry/config.server.js +10 -2
  80. package/dist/instrumentation/sentry/config.server.js.map +1 -0
  81. package/dist/instrumentation/server.d.ts.map +1 -1
  82. package/dist/instrumentation/server.js +8 -5
  83. package/dist/instrumentation/server.js.map +1 -1
  84. package/dist/instrumentation/types.d.ts.map +1 -1
  85. package/dist/lib/breadcrumb.d.ts.map +1 -1
  86. package/dist/lib/breadcrumb.js +6 -1
  87. package/dist/lib/breadcrumb.js.map +1 -1
  88. package/dist/lib/const.d.ts.map +1 -1
  89. package/dist/lib/const.js +1 -1
  90. package/dist/lib/const.js.map +1 -1
  91. package/dist/lib/http.d.ts.map +1 -1
  92. package/dist/lib/http.js +6 -3
  93. package/dist/lib/http.js.map +1 -1
  94. package/dist/lib/label.d.ts.map +1 -1
  95. package/dist/lib/label.js +4 -3
  96. package/dist/lib/label.js.map +1 -1
  97. package/dist/lib/layout.defaults.d.ts.map +1 -1
  98. package/dist/lib/layout.defaults.js +1 -1
  99. package/dist/lib/layout.defaults.js.map +1 -1
  100. package/dist/lib/link.d.ts.map +1 -1
  101. package/dist/lib/link.js +2 -1
  102. package/dist/lib/link.js.map +1 -1
  103. package/dist/lib/meta-data.d.ts.map +1 -1
  104. package/dist/lib/open-graph.d.ts.map +1 -1
  105. package/dist/lib/pagination.d.ts.map +1 -1
  106. package/dist/lib/pagination.js +4 -2
  107. package/dist/lib/pagination.js.map +1 -1
  108. package/dist/lib/route.d.ts.map +1 -1
  109. package/dist/lib/route.js +9 -3
  110. package/dist/lib/route.js.map +1 -1
  111. package/dist/lib/store.d.ts.map +1 -1
  112. package/dist/lib/store.js +31 -31
  113. package/dist/lib/store.js.map +1 -1
  114. package/dist/lib/structured-data.d.ts.map +1 -1
  115. package/dist/lib/twitter-card.d.ts.map +1 -1
  116. package/dist/lib/utils.d.ts.map +1 -1
  117. package/dist/lib/utils.js +3 -2
  118. package/dist/lib/utils.js.map +1 -1
  119. package/dist/mock.d.ts.map +1 -1
  120. package/dist/node_modules/@selderee/plugin-htmlparser2/lib/hp2-builder.js +3 -2
  121. package/dist/node_modules/@selderee/plugin-htmlparser2/lib/hp2-builder.js.map +1 -1
  122. package/dist/node_modules/deepmerge/dist/cjs.js +17 -9
  123. package/dist/node_modules/deepmerge/dist/cjs.js.map +1 -1
  124. package/dist/node_modules/dom-serializer/lib/esm/foreignNames.js +2 -2
  125. package/dist/node_modules/dom-serializer/lib/esm/foreignNames.js.map +1 -1
  126. package/dist/node_modules/dom-serializer/lib/esm/index.js +10 -15
  127. package/dist/node_modules/dom-serializer/lib/esm/index.js.map +1 -1
  128. package/dist/node_modules/domelementtype/lib/esm/index.js +12 -12
  129. package/dist/node_modules/domelementtype/lib/esm/index.js.map +1 -1
  130. package/dist/node_modules/domhandler/lib/esm/index.js +4 -3
  131. package/dist/node_modules/domhandler/lib/esm/index.js.map +1 -1
  132. package/dist/node_modules/domhandler/lib/esm/node.js +8 -7
  133. package/dist/node_modules/domhandler/lib/esm/node.js.map +1 -1
  134. package/dist/node_modules/entities/lib/esm/decode.js +33 -32
  135. package/dist/node_modules/entities/lib/esm/decode.js.map +1 -1
  136. package/dist/node_modules/entities/lib/esm/decode_codepoint.js +5 -5
  137. package/dist/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -1
  138. package/dist/node_modules/entities/lib/esm/escape.js +14 -6
  139. package/dist/node_modules/entities/lib/esm/escape.js.map +1 -1
  140. package/dist/node_modules/entities/lib/esm/generated/decode-data-html.js +2 -2
  141. package/dist/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -1
  142. package/dist/node_modules/entities/lib/esm/generated/decode-data-xml.js +2 -2
  143. package/dist/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -1
  144. package/dist/node_modules/html-to-text/lib/html-to-text.js +45 -33
  145. package/dist/node_modules/html-to-text/lib/html-to-text.js.map +1 -1
  146. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Parser.js +25 -25
  147. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Parser.js.map +1 -1
  148. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Tokenizer.js +76 -73
  149. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Tokenizer.js.map +1 -1
  150. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/index.js +4 -3
  151. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/index.js.map +1 -1
  152. package/dist/node_modules/leac/lib/leac.js +72 -72
  153. package/dist/node_modules/leac/lib/leac.js.map +1 -1
  154. package/dist/node_modules/parseley/lib/parseley.js +37 -33
  155. package/dist/node_modules/parseley/lib/parseley.js.map +1 -1
  156. package/dist/node_modules/peberminta/lib/core.js +4 -4
  157. package/dist/node_modules/peberminta/lib/core.js.map +1 -1
  158. package/dist/node_modules/selderee/lib/selderee.js +16 -10
  159. package/dist/node_modules/selderee/lib/selderee.js.map +1 -1
  160. package/dist/proxy/protected-route.d.ts.map +1 -1
  161. package/dist/proxy/protected-route.js +11 -6
  162. package/dist/proxy/protected-route.js.map +1 -1
  163. package/dist/proxy/proxy.d.ts.map +1 -1
  164. package/dist/proxy/proxy.js +17 -2
  165. package/dist/proxy/proxy.js.map +1 -1
  166. package/dist/proxy/route-auto-detection.d.ts.map +1 -1
  167. package/dist/proxy/route-auto-detection.js +26 -14
  168. package/dist/proxy/route-auto-detection.js.map +1 -1
  169. package/dist/proxy/route-proxy.d.ts.map +1 -1
  170. package/dist/proxy/route-proxy.js +22 -5
  171. package/dist/proxy/route-proxy.js.map +1 -1
  172. package/dist/server/context.d.ts.map +1 -1
  173. package/dist/server/context.js +20 -2
  174. package/dist/server/context.js.map +1 -1
  175. package/dist/server/handlers/auth.handler.d.ts.map +1 -1
  176. package/dist/server/handlers/auth.handler.js +4 -2
  177. package/dist/server/handlers/auth.handler.js.map +1 -1
  178. package/dist/server/handlers/captions.handler.d.ts.map +1 -1
  179. package/dist/server/handlers/captions.handler.js +4 -2
  180. package/dist/server/handlers/captions.handler.js.map +1 -1
  181. package/dist/server/handlers/collection.handler.d.ts.map +1 -1
  182. package/dist/server/handlers/collection.handler.js +2 -1
  183. package/dist/server/handlers/collection.handler.js.map +1 -1
  184. package/dist/server/handlers/error-response.js +6 -2
  185. package/dist/server/handlers/error-response.js.map +1 -1
  186. package/dist/server/handlers/index.handler.d.ts.map +1 -1
  187. package/dist/server/handlers/index.handler.js +2 -1
  188. package/dist/server/handlers/index.handler.js.map +1 -1
  189. package/dist/server/handlers/preview.handler.d.ts.map +1 -1
  190. package/dist/server/handlers/preview.handler.js +6 -3
  191. package/dist/server/handlers/preview.handler.js.map +1 -1
  192. package/dist/server/handlers/registry.handler.d.ts.map +1 -1
  193. package/dist/server/handlers/registry.handler.js +14 -9
  194. package/dist/server/handlers/registry.handler.js.map +1 -1
  195. package/dist/server/handlers/route.handler.d.ts.map +1 -1
  196. package/dist/server/handlers/route.handler.js +12 -3
  197. package/dist/server/handlers/route.handler.js.map +1 -1
  198. package/dist/server/handlers/sitemap.handler.d.ts.map +1 -1
  199. package/dist/server/handlers/sitemap.handler.js +12 -9
  200. package/dist/server/handlers/sitemap.handler.js.map +1 -1
  201. package/dist/server/handlers/static-params.handler.d.ts.map +1 -1
  202. package/dist/server/handlers/static-params.handler.js +13 -8
  203. package/dist/server/handlers/static-params.handler.js.map +1 -1
  204. package/dist/server/handlers/vars.handler.d.ts.map +1 -1
  205. package/dist/server/handlers/vars.handler.js +5 -4
  206. package/dist/server/handlers/vars.handler.js.map +1 -1
  207. package/dist/server/layout.js +34 -12
  208. package/dist/server/layout.js.map +1 -1
  209. package/dist/server/lazy.d.ts.map +1 -1
  210. package/dist/server/lazy.js +5 -2
  211. package/dist/server/lazy.js.map +1 -1
  212. package/dist/server/local-api.d.ts.map +1 -1
  213. package/dist/server/local-api.js +12 -6
  214. package/dist/server/local-api.js.map +1 -1
  215. package/dist/server/metadata.d.ts.map +1 -1
  216. package/dist/server/metadata.js +5 -1
  217. package/dist/server/metadata.js.map +1 -1
  218. package/dist/server/mixer-payload.d.ts +1 -1
  219. package/dist/server/mixer-payload.d.ts.map +1 -1
  220. package/dist/server/mixer.d.ts.map +1 -1
  221. package/dist/server/mixer.js +183 -57
  222. package/dist/server/mixer.js.map +1 -1
  223. package/dist/server/page.d.ts.map +1 -1
  224. package/dist/server/page.js +15 -4
  225. package/dist/server/page.js.map +1 -1
  226. package/dist/server/utils.d.ts.map +1 -1
  227. package/dist/server/utils.js +4 -2
  228. package/dist/server/utils.js.map +1 -1
  229. package/dist/server/utmz.d.ts.map +1 -1
  230. package/dist/server/utmz.js +1 -1
  231. package/dist/server/utmz.js.map +1 -1
  232. package/dist/types.d.ts +1 -1
  233. package/dist/types.d.ts.map +1 -1
  234. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../../../../../node_modules/html-to-text/node_modules/htmlparser2/lib/esm/index.js"],"sourcesContent":["import { Parser } from \"./Parser.js\";\nexport { Parser } from \"./Parser.js\";\nimport { DomHandler, } from \"domhandler\";\nexport { DomHandler, \n// Old name for DomHandler\nDomHandler as DefaultHandler, } from \"domhandler\";\n// Helper methods\n/**\n * Parses the data, returns the resulting document.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM builder.\n */\nexport function parseDocument(data, options) {\n const handler = new DomHandler(undefined, options);\n new Parser(handler, options).end(data);\n return handler.root;\n}\n/**\n * Parses data, returns an array of the root nodes.\n *\n * Note that the root nodes still have a `Document` node as their parent.\n * Use `parseDocument` to get the `Document` node instead.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM builder.\n * @deprecated Use `parseDocument` instead.\n */\nexport function parseDOM(data, options) {\n return parseDocument(data, options).children;\n}\n/**\n * Creates a parser instance, with an attached DOM handler.\n *\n * @param callback A callback that will be called once parsing has been completed.\n * @param options Optional options for the parser and DOM builder.\n * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM.\n */\nexport function createDomStream(callback, options, elementCallback) {\n const handler = new DomHandler(callback, options, elementCallback);\n return new Parser(handler, options);\n}\nexport { default as Tokenizer, } from \"./Tokenizer.js\";\n/*\n * All of the following exports exist for backwards-compatibility.\n * They should probably be removed eventually.\n */\nexport * as ElementType from \"domelementtype\";\nimport { getFeed } from \"domutils\";\nexport { getFeed } from \"domutils\";\nconst parseFeedDefaultOptions = { xmlMode: true };\n/**\n * Parse a feed.\n *\n * @param feed The feed that should be parsed, as a string.\n * @param options Optionally, options for parsing. When using this, you should set `xmlMode` to `true`.\n */\nexport function parseFeed(feed, options = parseFeedDefaultOptions) {\n return getFeed(parseDOM(feed, options));\n}\nexport * as DomUtils from \"domutils\";\n//# sourceMappingURL=index.js.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;AAaA,SAAgB,cAAc,MAAM,SAAS;CACzC,MAAM,UAAU,IAAI,WAAW,KAAA,GAAW,OAAO;CACjD,IAAI,OAAO,SAAS,OAAO,CAAC,CAAC,IAAI,IAAI;CACrC,OAAO,QAAQ;AACnB"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../../../../../node_modules/html-to-text/node_modules/htmlparser2/lib/esm/index.js"],"sourcesContent":["import { Parser } from \"./Parser.js\";\nexport { Parser } from \"./Parser.js\";\nimport { DomHandler, } from \"domhandler\";\nexport { DomHandler, \n// Old name for DomHandler\nDomHandler as DefaultHandler, } from \"domhandler\";\n// Helper methods\n/**\n * Parses the data, returns the resulting document.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM builder.\n */\nexport function parseDocument(data, options) {\n const handler = new DomHandler(undefined, options);\n new Parser(handler, options).end(data);\n return handler.root;\n}\n/**\n * Parses data, returns an array of the root nodes.\n *\n * Note that the root nodes still have a `Document` node as their parent.\n * Use `parseDocument` to get the `Document` node instead.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM builder.\n * @deprecated Use `parseDocument` instead.\n */\nexport function parseDOM(data, options) {\n return parseDocument(data, options).children;\n}\n/**\n * Creates a parser instance, with an attached DOM handler.\n *\n * @param callback A callback that will be called once parsing has been completed.\n * @param options Optional options for the parser and DOM builder.\n * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM.\n */\nexport function createDomStream(callback, options, elementCallback) {\n const handler = new DomHandler(callback, options, elementCallback);\n return new Parser(handler, options);\n}\nexport { default as Tokenizer, } from \"./Tokenizer.js\";\n/*\n * All of the following exports exist for backwards-compatibility.\n * They should probably be removed eventually.\n */\nexport * as ElementType from \"domelementtype\";\nimport { getFeed } from \"domutils\";\nexport { getFeed } from \"domutils\";\nconst parseFeedDefaultOptions = { xmlMode: true };\n/**\n * Parse a feed.\n *\n * @param feed The feed that should be parsed, as a string.\n * @param options Optionally, options for parsing. When using this, you should set `xmlMode` to `true`.\n */\nexport function parseFeed(feed, options = parseFeedDefaultOptions) {\n return getFeed(parseDOM(feed, options));\n}\nexport * as DomUtils from \"domutils\";\n//# sourceMappingURL=index.js.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;AAaA,SAAgB,cAAc,MAAM,SAAS;CACzC,MAAM,UAAU,IAAI,WAAW,QAAW;CAC1C,IAAI,OAAO,SAAS,SAAS,IAAI,KAAK;AACtC,QAAO,QAAQ;AAClB"}
@@ -1,101 +1,101 @@
1
- //#region ../../node_modules/leac/lib/leac.mjs
1
+ //#region ../../../node_modules/leac/lib/leac.mjs
2
2
  const e = /\n/g;
3
- function n(n) {
4
- const o = [...n.matchAll(e)].map(((e) => e.index || 0));
5
- o.unshift(-1);
6
- const s = t(o, 0, o.length);
7
- return (e) => r(s, e);
3
+ function n(n$1) {
4
+ const o$1 = [...n$1.matchAll(e)].map(((e$1) => e$1.index || 0));
5
+ o$1.unshift(-1);
6
+ const s$1 = t(o$1, 0, o$1.length);
7
+ return (e$1) => r(s$1, e$1);
8
8
  }
9
- function t(e, n, r) {
10
- if (r - n == 1) return {
11
- offset: e[n],
12
- index: n + 1
9
+ function t(e$1, n$1, r$1) {
10
+ if (r$1 - n$1 == 1) return {
11
+ offset: e$1[n$1],
12
+ index: n$1 + 1
13
13
  };
14
- const o = Math.ceil((n + r) / 2), s = t(e, n, o), l = t(e, o, r);
14
+ const o$1 = Math.ceil((n$1 + r$1) / 2), s$1 = t(e$1, n$1, o$1), l$1 = t(e$1, o$1, r$1);
15
15
  return {
16
- offset: s.offset,
17
- low: s,
18
- high: l
16
+ offset: s$1.offset,
17
+ low: s$1,
18
+ high: l$1
19
19
  };
20
20
  }
21
- function r(e, n) {
22
- return function(e) {
23
- return Object.prototype.hasOwnProperty.call(e, "index");
24
- }(e) ? {
25
- line: e.index,
26
- column: n - e.offset
27
- } : r(e.high.offset < n ? e.high : e.low, n);
21
+ function r(e$1, n$1) {
22
+ return function(e$2) {
23
+ return Object.prototype.hasOwnProperty.call(e$2, "index");
24
+ }(e$1) ? {
25
+ line: e$1.index,
26
+ column: n$1 - e$1.offset
27
+ } : r(e$1.high.offset < n$1 ? e$1.high : e$1.low, n$1);
28
28
  }
29
- function o(e, t = "", r = {}) {
30
- const o = "string" != typeof t ? t : r, l = "string" == typeof t ? t : "", c = e.map(s), f = !!o.lineNumbers;
31
- return function(e, t = 0) {
32
- const r = f ? n(e) : () => ({
29
+ function o(e$1, t$1 = "", r$1 = {}) {
30
+ const o$1 = "string" != typeof t$1 ? t$1 : r$1, l$1 = "string" == typeof t$1 ? t$1 : "", c$1 = e$1.map(s), f = !!o$1.lineNumbers;
31
+ return function(e$2, t$2 = 0) {
32
+ const r$2 = f ? n(e$2) : () => ({
33
33
  line: 0,
34
34
  column: 0
35
35
  });
36
- let o = t;
37
- const s = [];
38
- e: for (; o < e.length;) {
39
- let n = !1;
40
- for (const t of c) {
41
- t.regex.lastIndex = o;
42
- const c = t.regex.exec(e);
43
- if (c && c[0].length > 0) {
44
- if (!t.discard) {
45
- const e = r(o), n = "string" == typeof t.replace ? c[0].replace(new RegExp(t.regex.source, t.regex.flags), t.replace) : c[0];
46
- s.push({
47
- state: l,
48
- name: t.name,
49
- text: n,
50
- offset: o,
51
- len: c[0].length,
52
- line: e.line,
53
- column: e.column
36
+ let o$2 = t$2;
37
+ const s$1 = [];
38
+ e: for (; o$2 < e$2.length;) {
39
+ let n$1 = !1;
40
+ for (const t$3 of c$1) {
41
+ t$3.regex.lastIndex = o$2;
42
+ const c$2 = t$3.regex.exec(e$2);
43
+ if (c$2 && c$2[0].length > 0) {
44
+ if (!t$3.discard) {
45
+ const e$3 = r$2(o$2), n$2 = "string" == typeof t$3.replace ? c$2[0].replace(new RegExp(t$3.regex.source, t$3.regex.flags), t$3.replace) : c$2[0];
46
+ s$1.push({
47
+ state: l$1,
48
+ name: t$3.name,
49
+ text: n$2,
50
+ offset: o$2,
51
+ len: c$2[0].length,
52
+ line: e$3.line,
53
+ column: e$3.column
54
54
  });
55
55
  }
56
- if (o = t.regex.lastIndex, n = !0, t.push) {
57
- const n = t.push(e, o);
58
- s.push(...n.tokens), o = n.offset;
56
+ if (o$2 = t$3.regex.lastIndex, n$1 = !0, t$3.push) {
57
+ const n$2 = t$3.push(e$2, o$2);
58
+ s$1.push(...n$2.tokens), o$2 = n$2.offset;
59
59
  }
60
- if (t.pop) break e;
60
+ if (t$3.pop) break e;
61
61
  break;
62
62
  }
63
63
  }
64
- if (!n) break;
64
+ if (!n$1) break;
65
65
  }
66
66
  return {
67
- tokens: s,
68
- offset: o,
69
- complete: e.length <= o
67
+ tokens: s$1,
68
+ offset: o$2,
69
+ complete: e$2.length <= o$2
70
70
  };
71
71
  };
72
72
  }
73
- function s(e, n) {
73
+ function s(e$1, n$1) {
74
74
  return {
75
- ...e,
76
- regex: l(e, n)
75
+ ...e$1,
76
+ regex: l(e$1, n$1)
77
77
  };
78
78
  }
79
- function l(e, n) {
80
- if (0 === e.name.length) throw new Error(`Rule #${n} has empty name, which is not allowed.`);
81
- if (function(e) {
82
- return Object.prototype.hasOwnProperty.call(e, "regex");
83
- }(e)) return function(e) {
84
- if (e.global) throw new Error(`Regular expression /${e.source}/${e.flags} contains the global flag, which is not allowed.`);
85
- return e.sticky ? e : new RegExp(e.source, e.flags + "y");
86
- }(e.regex);
87
- if (function(e) {
88
- return Object.prototype.hasOwnProperty.call(e, "str");
89
- }(e)) {
90
- if (0 === e.str.length) throw new Error(`Rule #${n} ("${e.name}") has empty "str" property, which is not allowed.`);
91
- return new RegExp(c(e.str), "y");
79
+ function l(e$1, n$1) {
80
+ if (0 === e$1.name.length) throw new Error(`Rule #${n$1} has empty name, which is not allowed.`);
81
+ if (function(e$2) {
82
+ return Object.prototype.hasOwnProperty.call(e$2, "regex");
83
+ }(e$1)) return function(e$2) {
84
+ if (e$2.global) throw new Error(`Regular expression /${e$2.source}/${e$2.flags} contains the global flag, which is not allowed.`);
85
+ return e$2.sticky ? e$2 : new RegExp(e$2.source, e$2.flags + "y");
86
+ }(e$1.regex);
87
+ if (function(e$2) {
88
+ return Object.prototype.hasOwnProperty.call(e$2, "str");
89
+ }(e$1)) {
90
+ if (0 === e$1.str.length) throw new Error(`Rule #${n$1} ("${e$1.name}") has empty "str" property, which is not allowed.`);
91
+ return new RegExp(c(e$1.str), "y");
92
92
  }
93
- return new RegExp(c(e.name), "y");
93
+ return new RegExp(c(e$1.name), "y");
94
94
  }
95
- function c(e) {
96
- return e.replace(/[-[\]{}()*+!<=:?./\\^$|#\s,]/g, "\\$&");
95
+ function c(e$1) {
96
+ return e$1.replace(/[-[\]{}()*+!<=:?./\\^$|#\s,]/g, "\\$&");
97
97
  }
98
- //#endregion
99
- export { o as createLexer };
100
98
 
99
+ //#endregion
100
+ export { o };
101
101
  //# sourceMappingURL=leac.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"leac.js","names":[],"sources":["../../../../../../node_modules/leac/lib/leac.mjs"],"sourcesContent":["const e=/\\n/g;function n(n){const o=[...n.matchAll(e)].map((e=>e.index||0));o.unshift(-1);const s=t(o,0,o.length);return e=>r(s,e)}function t(e,n,r){if(r-n==1)return{offset:e[n],index:n+1};const o=Math.ceil((n+r)/2),s=t(e,n,o),l=t(e,o,r);return{offset:s.offset,low:s,high:l}}function r(e,n){return function(e){return Object.prototype.hasOwnProperty.call(e,\"index\")}(e)?{line:e.index,column:n-e.offset}:r(e.high.offset<n?e.high:e.low,n)}function o(e,t=\"\",r={}){const o=\"string\"!=typeof t?t:r,l=\"string\"==typeof t?t:\"\",c=e.map(s),f=!!o.lineNumbers;return function(e,t=0){const r=f?n(e):()=>({line:0,column:0});let o=t;const s=[];e:for(;o<e.length;){let n=!1;for(const t of c){t.regex.lastIndex=o;const c=t.regex.exec(e);if(c&&c[0].length>0){if(!t.discard){const e=r(o),n=\"string\"==typeof t.replace?c[0].replace(new RegExp(t.regex.source,t.regex.flags),t.replace):c[0];s.push({state:l,name:t.name,text:n,offset:o,len:c[0].length,line:e.line,column:e.column})}if(o=t.regex.lastIndex,n=!0,t.push){const n=t.push(e,o);s.push(...n.tokens),o=n.offset}if(t.pop)break e;break}}if(!n)break}return{tokens:s,offset:o,complete:e.length<=o}}}function s(e,n){return{...e,regex:l(e,n)}}function l(e,n){if(0===e.name.length)throw new Error(`Rule #${n} has empty name, which is not allowed.`);if(function(e){return Object.prototype.hasOwnProperty.call(e,\"regex\")}(e))return function(e){if(e.global)throw new Error(`Regular expression /${e.source}/${e.flags} contains the global flag, which is not allowed.`);return e.sticky?e:new RegExp(e.source,e.flags+\"y\")}(e.regex);if(function(e){return Object.prototype.hasOwnProperty.call(e,\"str\")}(e)){if(0===e.str.length)throw new Error(`Rule #${n} (\"${e.name}\") has empty \"str\" property, which is not allowed.`);return new RegExp(c(e.str),\"y\")}return new RegExp(c(e.name),\"y\")}function c(e){return e.replace(/[-[\\]{}()*+!<=:?./\\\\^$|#\\s,]/g,\"\\\\$&\")}export{o as createLexer};\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"leac.js","names":["n","o","e","s","r","l","t","c"],"sources":["../../../../../../../node_modules/leac/lib/leac.mjs"],"sourcesContent":["const e=/\\n/g;function n(n){const o=[...n.matchAll(e)].map((e=>e.index||0));o.unshift(-1);const s=t(o,0,o.length);return e=>r(s,e)}function t(e,n,r){if(r-n==1)return{offset:e[n],index:n+1};const o=Math.ceil((n+r)/2),s=t(e,n,o),l=t(e,o,r);return{offset:s.offset,low:s,high:l}}function r(e,n){return function(e){return Object.prototype.hasOwnProperty.call(e,\"index\")}(e)?{line:e.index,column:n-e.offset}:r(e.high.offset<n?e.high:e.low,n)}function o(e,t=\"\",r={}){const o=\"string\"!=typeof t?t:r,l=\"string\"==typeof t?t:\"\",c=e.map(s),f=!!o.lineNumbers;return function(e,t=0){const r=f?n(e):()=>({line:0,column:0});let o=t;const s=[];e:for(;o<e.length;){let n=!1;for(const t of c){t.regex.lastIndex=o;const c=t.regex.exec(e);if(c&&c[0].length>0){if(!t.discard){const e=r(o),n=\"string\"==typeof t.replace?c[0].replace(new RegExp(t.regex.source,t.regex.flags),t.replace):c[0];s.push({state:l,name:t.name,text:n,offset:o,len:c[0].length,line:e.line,column:e.column})}if(o=t.regex.lastIndex,n=!0,t.push){const n=t.push(e,o);s.push(...n.tokens),o=n.offset}if(t.pop)break e;break}}if(!n)break}return{tokens:s,offset:o,complete:e.length<=o}}}function s(e,n){return{...e,regex:l(e,n)}}function l(e,n){if(0===e.name.length)throw new Error(`Rule #${n} has empty name, which is not allowed.`);if(function(e){return Object.prototype.hasOwnProperty.call(e,\"regex\")}(e))return function(e){if(e.global)throw new Error(`Regular expression /${e.source}/${e.flags} contains the global flag, which is not allowed.`);return e.sticky?e:new RegExp(e.source,e.flags+\"y\")}(e.regex);if(function(e){return Object.prototype.hasOwnProperty.call(e,\"str\")}(e)){if(0===e.str.length)throw new Error(`Rule #${n} (\"${e.name}\") has empty \"str\" property, which is not allowed.`);return new RegExp(c(e.str),\"y\")}return new RegExp(c(e.name),\"y\")}function c(e){return e.replace(/[-[\\]{}()*+!<=:?./\\\\^$|#\\s,]/g,\"\\\\$&\")}export{o as createLexer};\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { createLexer as o } from "../../leac/lib/leac.js";
2
- import { ab, abc, choice, eitherOr as otherwise, flatten, left, leftAssoc2, many, many1, map, middle, option, right, token } from "../../peberminta/lib/core.js";
3
- //#region ../../node_modules/parseley/lib/parseley.mjs
1
+ import { o } from "../../leac/lib/leac.js";
2
+ import { ab, abc, choice, flatten, left, leftAssoc2, many, many1, map, middle, option, otherwise, right, token } from "../../peberminta/lib/core.js";
3
+
4
+ //#region ../../../node_modules/parseley/lib/parseley.mjs
4
5
  const ws = `(?:[ \\t\\r\\n\\f]*)`;
5
6
  const nl = `(?:\\n|\\r\\n|\\r|\\f)`;
6
7
  const nonascii = `[^\\x00-\\x7F]`;
@@ -57,7 +58,7 @@ const lexEscapedString = o([
57
58
  },
58
59
  {
59
60
  name: "any",
60
- regex: /* @__PURE__ */ new RegExp("[\\s\\S]", "i")
61
+ regex: new RegExp("[\\s\\S]", "i")
61
62
  }
62
63
  ]);
63
64
  function sumSpec([a0, a1, a2], [b0, b1, b2]) {
@@ -80,13 +81,14 @@ const anyChar_ = token((t) => t.name === "any" ? t.text : void 0);
80
81
  const escapedString_ = map(many(choice(unicodeEscapedSequence_, escapedSequence_, anyChar_)), (cs) => cs.join(""));
81
82
  function unescape(escapedString) {
82
83
  const lexerResult = lexEscapedString(escapedString);
83
- return escapedString_({
84
+ const result = escapedString_({
84
85
  tokens: lexerResult.tokens,
85
86
  options: void 0
86
- }, 0).value;
87
+ }, 0);
88
+ return result.value;
87
89
  }
88
- function literal(name) {
89
- return token((t) => t.name === name ? true : void 0);
90
+ function literal(name$1) {
91
+ return token((t) => t.name === name$1 ? true : void 0);
90
92
  }
91
93
  const whitespace_ = token((t) => t.name === "ws" ? null : void 0);
92
94
  const optionalWhitespace_ = option(whitespace_, null);
@@ -97,11 +99,11 @@ const identifier_ = token((t) => t.name === "ident" ? unescape(t.text) : void 0)
97
99
  const hashId_ = token((t) => t.name === "hash" ? unescape(t.text.slice(1)) : void 0);
98
100
  const string_ = token((t) => t.name.startsWith("str") ? unescape(t.text.slice(1, -1)) : void 0);
99
101
  const namespace_ = left(option(identifier_, ""), literal("|"));
100
- const qualifiedName_ = otherwise(ab(namespace_, identifier_, (ns, name) => ({
101
- name,
102
+ const qualifiedName_ = otherwise(ab(namespace_, identifier_, (ns, name$1) => ({
103
+ name: name$1,
102
104
  namespace: ns
103
- })), map(identifier_, (name) => ({
104
- name,
105
+ })), map(identifier_, (name$1) => ({
106
+ name: name$1,
105
107
  namespace: null
106
108
  })));
107
109
  const uniSelector_ = otherwise(ab(namespace_, literal("*"), (ns) => ({
@@ -121,9 +123,9 @@ const uniSelector_ = otherwise(ab(namespace_, literal("*"), (ns) => ({
121
123
  0
122
124
  ]
123
125
  })));
124
- const tagSelector_ = map(qualifiedName_, ({ name, namespace }) => ({
126
+ const tagSelector_ = map(qualifiedName_, ({ name: name$1, namespace }) => ({
125
127
  type: "tag",
126
- name,
128
+ name: name$1,
127
129
  namespace,
128
130
  specificity: [
129
131
  0,
@@ -131,18 +133,18 @@ const tagSelector_ = map(qualifiedName_, ({ name, namespace }) => ({
131
133
  1
132
134
  ]
133
135
  }));
134
- const classSelector_ = ab(literal("."), identifier_, (fullstop, name) => ({
136
+ const classSelector_ = ab(literal("."), identifier_, (fullstop, name$1) => ({
135
137
  type: "class",
136
- name,
138
+ name: name$1,
137
139
  specificity: [
138
140
  0,
139
141
  1,
140
142
  0
141
143
  ]
142
144
  }));
143
- const idSelector_ = map(hashId_, (name) => ({
145
+ const idSelector_ = map(hashId_, (name$1) => ({
144
146
  type: "id",
145
- name,
147
+ name: name$1,
146
148
  specificity: [
147
149
  1,
148
150
  0,
@@ -154,6 +156,7 @@ const attrModifier_ = token((t) => {
154
156
  if (t.text === "i" || t.text === "I") return "i";
155
157
  if (t.text === "s" || t.text === "S") return "s";
156
158
  }
159
+ return void 0;
157
160
  });
158
161
  const attrValue_ = otherwise(ab(string_, option(right(optionalWhitespace_, attrModifier_), null), (v, mod) => ({
159
162
  value: v,
@@ -163,9 +166,9 @@ const attrValue_ = otherwise(ab(string_, option(right(optionalWhitespace_, attrM
163
166
  modifier: mod
164
167
  })));
165
168
  const attrMatcher_ = choice(map(literal("="), () => "="), ab(literal("~"), literal("="), () => "~="), ab(literal("|"), literal("="), () => "|="), ab(literal("^"), literal("="), () => "^="), ab(literal("$"), literal("="), () => "$="), ab(literal("*"), literal("="), () => "*="));
166
- const attrPresenceSelector_ = abc(literal("["), optionallySpaced(qualifiedName_), literal("]"), (lbr, { name, namespace }) => ({
169
+ const attrPresenceSelector_ = abc(literal("["), optionallySpaced(qualifiedName_), literal("]"), (lbr, { name: name$1, namespace }) => ({
167
170
  type: "attrPresence",
168
- name,
171
+ name: name$1,
169
172
  namespace,
170
173
  specificity: [
171
174
  0,
@@ -173,9 +176,9 @@ const attrPresenceSelector_ = abc(literal("["), optionallySpaced(qualifiedName_)
173
176
  0
174
177
  ]
175
178
  }));
176
- const attrValueSelector_ = middle(literal("["), abc(optionallySpaced(qualifiedName_), attrMatcher_, optionallySpaced(attrValue_), ({ name, namespace }, matcher, { value, modifier }) => ({
179
+ const attrValueSelector_ = middle(literal("["), abc(optionallySpaced(qualifiedName_), attrMatcher_, optionallySpaced(attrValue_), ({ name: name$1, namespace }, matcher, { value, modifier }) => ({
177
180
  type: "attrValue",
178
- name,
181
+ name: name$1,
179
182
  namespace,
180
183
  matcher,
181
184
  value,
@@ -198,17 +201,17 @@ const compoundSelector_ = map(otherwise(flatten(typeSelector_, many(subclassSele
198
201
  });
199
202
  const combinator_ = choice(map(literal(">"), () => ">"), map(literal("+"), () => "+"), map(literal("~"), () => "~"), ab(literal("|"), literal("|"), () => "||"));
200
203
  const combinatorSeparator_ = otherwise(optionallySpaced(combinator_), map(whitespace_, () => " "));
201
- const complexSelector_ = leftAssoc2(compoundSelector_, map(combinatorSeparator_, (c) => (left, right) => ({
204
+ const complexSelector_ = leftAssoc2(compoundSelector_, map(combinatorSeparator_, (c) => (left$1, right$1) => ({
202
205
  type: "compound",
203
- list: [...right.list, {
206
+ list: [...right$1.list, {
204
207
  type: "combinator",
205
208
  combinator: c,
206
- left,
207
- specificity: left.specificity
209
+ left: left$1,
210
+ specificity: left$1.specificity
208
211
  }],
209
- specificity: sumSpec(left.specificity, right.specificity)
212
+ specificity: sumSpec(left$1.specificity, right$1.specificity)
210
213
  })), compoundSelector_);
211
- leftAssoc2(map(complexSelector_, (s) => ({
214
+ const listSelector_ = leftAssoc2(map(complexSelector_, (s) => ({
212
215
  type: "list",
213
216
  list: [s]
214
217
  })), map(optionallySpaced(literal(",")), () => (acc, next) => ({
@@ -225,8 +228,8 @@ function parse_(parser, str) {
225
228
  }, 0);
226
229
  if (!result.matched) throw new Error(`No match for "${str}" input!`);
227
230
  if (result.position < lexerResult.tokens.length) {
228
- const token = lexerResult.tokens[result.position];
229
- throw new Error(`The input "${str}" was only partially parsed, stopped at offset ${token.offset}!\n` + prettyPrintPosition(str, token.offset, token.len));
231
+ const token$1 = lexerResult.tokens[result.position];
232
+ throw new Error(`The input "${str}" was only partially parsed, stopped at offset ${token$1.offset}!\n` + prettyPrintPosition(str, token$1.offset, token$1.len));
230
233
  }
231
234
  return result.value;
232
235
  }
@@ -260,10 +263,10 @@ function _codePoint(char) {
260
263
  return `\\${char.codePointAt(0).toString(16)} `;
261
264
  }
262
265
  function _serIdent(str) {
263
- return str.replace(/(^[0-9])|(^-[0-9])|(^-$)|([-0-9a-zA-Z_]|[^\x00-\x7F])|(\x00)|([\x01-\x1f]|\x7f)|([\s\S])/g, (m, d1, d2, hy, safe, nl, ctrl, other) => d1 ? _codePoint(d1) : d2 ? "-" + _codePoint(d2.slice(1)) : hy ? "\\-" : safe ? safe : nl ? "�" : ctrl ? _codePoint(ctrl) : "\\" + other);
266
+ return str.replace(/(^[0-9])|(^-[0-9])|(^-$)|([-0-9a-zA-Z_]|[^\x00-\x7F])|(\x00)|([\x01-\x1f]|\x7f)|([\s\S])/g, (m, d1, d2, hy, safe, nl$1, ctrl, other) => d1 ? _codePoint(d1) : d2 ? "-" + _codePoint(d2.slice(1)) : hy ? "\\-" : safe ? safe : nl$1 ? "�" : ctrl ? _codePoint(ctrl) : "\\" + other);
264
267
  }
265
268
  function _serStr(str) {
266
- return str.replace(/(")|(\\)|(\x00)|([\x01-\x1f]|\x7f)/g, (m, dq, bs, nl, ctrl) => dq ? "\\\"" : bs ? "\\\\" : nl ? "�" : _codePoint(ctrl));
269
+ return str.replace(/(")|(\\)|(\x00)|([\x01-\x1f]|\x7f)/g, (m, dq, bs, nl$1, ctrl) => dq ? "\\\"" : bs ? "\\\\" : nl$1 ? "�" : _codePoint(ctrl));
267
270
  }
268
271
  function normalize(selector) {
269
272
  if (!selector.type) throw new Error("This is not an AST node.");
@@ -278,6 +281,7 @@ function normalize(selector) {
278
281
  case "list":
279
282
  selector.list.forEach(normalize);
280
283
  selector.list.sort((a, b) => serialize(a) < serialize(b) ? -1 : 1);
284
+ break;
281
285
  }
282
286
  return selector;
283
287
  }
@@ -304,7 +308,7 @@ function _compareArrays(a, b) {
304
308
  }
305
309
  return a.length - b.length;
306
310
  }
311
+
307
312
  //#endregion
308
313
  export { compareSpecificity, normalize, parse1, serialize };
309
-
310
314
  //# sourceMappingURL=parseley.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseley.js","names":["createLexer","p.token","p.map","p.many","p.or","p.option","p.middle","p.left","p.eitherOr","p.ab","p.right","p.choice","p.abc","p.flatten","p.many1","p.leftAssoc2"],"sources":["../../../../../../node_modules/parseley/lib/parseley.mjs"],"sourcesContent":["import { createLexer } from 'leac';\nimport * as p from 'peberminta';\n\nvar ast = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nconst ws = `(?:[ \\\\t\\\\r\\\\n\\\\f]*)`;\nconst nl = `(?:\\\\n|\\\\r\\\\n|\\\\r|\\\\f)`;\nconst nonascii = `[^\\\\x00-\\\\x7F]`;\nconst unicode = `(?:\\\\\\\\[0-9a-f]{1,6}(?:\\\\r\\\\n|[ \\\\n\\\\r\\\\t\\\\f])?)`;\nconst escape = `(?:\\\\\\\\[^\\\\n\\\\r\\\\f0-9a-f])`;\nconst nmstart = `(?:[_a-z]|${nonascii}|${unicode}|${escape})`;\nconst nmchar = `(?:[_a-z0-9-]|${nonascii}|${unicode}|${escape})`;\nconst name = `(?:${nmchar}+)`;\nconst ident = `(?:[-]?${nmstart}${nmchar}*)`;\nconst string1 = `'([^\\\\n\\\\r\\\\f\\\\\\\\']|\\\\\\\\${nl}|${nonascii}|${unicode}|${escape})*'`;\nconst string2 = `\"([^\\\\n\\\\r\\\\f\\\\\\\\\"]|\\\\\\\\${nl}|${nonascii}|${unicode}|${escape})*\"`;\nconst lexSelector = createLexer([\n { name: 'ws', regex: new RegExp(ws) },\n { name: 'hash', regex: new RegExp(`#${name}`, 'i') },\n { name: 'ident', regex: new RegExp(ident, 'i') },\n { name: 'str1', regex: new RegExp(string1, 'i') },\n { name: 'str2', regex: new RegExp(string2, 'i') },\n { name: '*' },\n { name: '.' },\n { name: ',' },\n { name: '[' },\n { name: ']' },\n { name: '=' },\n { name: '>' },\n { name: '|' },\n { name: '+' },\n { name: '~' },\n { name: '^' },\n { name: '$' },\n]);\nconst lexEscapedString = createLexer([\n { name: 'unicode', regex: new RegExp(unicode, 'i') },\n { name: 'escape', regex: new RegExp(escape, 'i') },\n { name: 'any', regex: new RegExp('[\\\\s\\\\S]', 'i') }\n]);\nfunction sumSpec([a0, a1, a2], [b0, b1, b2]) {\n return [a0 + b0, a1 + b1, a2 + b2];\n}\nfunction sumAllSpec(ss) {\n return ss.reduce(sumSpec, [0, 0, 0]);\n}\nconst unicodeEscapedSequence_ = p.token((t) => t.name === 'unicode' ? String.fromCodePoint(parseInt(t.text.slice(1), 16)) : undefined);\nconst escapedSequence_ = p.token((t) => t.name === 'escape' ? t.text.slice(1) : undefined);\nconst anyChar_ = p.token((t) => t.name === 'any' ? t.text : undefined);\nconst escapedString_ = p.map(p.many(p.or(unicodeEscapedSequence_, escapedSequence_, anyChar_)), (cs) => cs.join(''));\nfunction unescape(escapedString) {\n const lexerResult = lexEscapedString(escapedString);\n const result = escapedString_({ tokens: lexerResult.tokens, options: undefined }, 0);\n return result.value;\n}\nfunction literal(name) {\n return p.token((t) => t.name === name ? true : undefined);\n}\nconst whitespace_ = p.token((t) => t.name === 'ws' ? null : undefined);\nconst optionalWhitespace_ = p.option(whitespace_, null);\nfunction optionallySpaced(parser) {\n return p.middle(optionalWhitespace_, parser, optionalWhitespace_);\n}\nconst identifier_ = p.token((t) => t.name === 'ident' ? unescape(t.text) : undefined);\nconst hashId_ = p.token((t) => t.name === 'hash' ? unescape(t.text.slice(1)) : undefined);\nconst string_ = p.token((t) => t.name.startsWith('str') ? unescape(t.text.slice(1, -1)) : undefined);\nconst namespace_ = p.left(p.option(identifier_, ''), literal('|'));\nconst qualifiedName_ = p.eitherOr(p.ab(namespace_, identifier_, (ns, name) => ({ name: name, namespace: ns })), p.map(identifier_, (name) => ({ name: name, namespace: null })));\nconst uniSelector_ = p.eitherOr(p.ab(namespace_, literal('*'), (ns) => ({ type: 'universal', namespace: ns, specificity: [0, 0, 0] })), p.map(literal('*'), () => ({ type: 'universal', namespace: null, specificity: [0, 0, 0] })));\nconst tagSelector_ = p.map(qualifiedName_, ({ name, namespace }) => ({\n type: 'tag',\n name: name,\n namespace: namespace,\n specificity: [0, 0, 1]\n}));\nconst classSelector_ = p.ab(literal('.'), identifier_, (fullstop, name) => ({\n type: 'class',\n name: name,\n specificity: [0, 1, 0]\n}));\nconst idSelector_ = p.map(hashId_, (name) => ({\n type: 'id',\n name: name,\n specificity: [1, 0, 0]\n}));\nconst attrModifier_ = p.token((t) => {\n if (t.name === 'ident') {\n if (t.text === 'i' || t.text === 'I') {\n return 'i';\n }\n if (t.text === 's' || t.text === 'S') {\n return 's';\n }\n }\n return undefined;\n});\nconst attrValue_ = p.eitherOr(p.ab(string_, p.option(p.right(optionalWhitespace_, attrModifier_), null), (v, mod) => ({ value: v, modifier: mod })), p.ab(identifier_, p.option(p.right(whitespace_, attrModifier_), null), (v, mod) => ({ value: v, modifier: mod })));\nconst attrMatcher_ = p.choice(p.map(literal('='), () => '='), p.ab(literal('~'), literal('='), () => '~='), p.ab(literal('|'), literal('='), () => '|='), p.ab(literal('^'), literal('='), () => '^='), p.ab(literal('$'), literal('='), () => '$='), p.ab(literal('*'), literal('='), () => '*='));\nconst attrPresenceSelector_ = p.abc(literal('['), optionallySpaced(qualifiedName_), literal(']'), (lbr, { name, namespace }) => ({\n type: 'attrPresence',\n name: name,\n namespace: namespace,\n specificity: [0, 1, 0]\n}));\nconst attrValueSelector_ = p.middle(literal('['), p.abc(optionallySpaced(qualifiedName_), attrMatcher_, optionallySpaced(attrValue_), ({ name, namespace }, matcher, { value, modifier }) => ({\n type: 'attrValue',\n name: name,\n namespace: namespace,\n matcher: matcher,\n value: value,\n modifier: modifier,\n specificity: [0, 1, 0]\n})), literal(']'));\nconst attrSelector_ = p.eitherOr(attrPresenceSelector_, attrValueSelector_);\nconst typeSelector_ = p.eitherOr(uniSelector_, tagSelector_);\nconst subclassSelector_ = p.choice(idSelector_, classSelector_, attrSelector_);\nconst compoundSelector_ = p.map(p.eitherOr(p.flatten(typeSelector_, p.many(subclassSelector_)), p.many1(subclassSelector_)), (ss) => {\n return {\n type: 'compound',\n list: ss,\n specificity: sumAllSpec(ss.map(s => s.specificity))\n };\n});\nconst combinator_ = p.choice(p.map(literal('>'), () => '>'), p.map(literal('+'), () => '+'), p.map(literal('~'), () => '~'), p.ab(literal('|'), literal('|'), () => '||'));\nconst combinatorSeparator_ = p.eitherOr(optionallySpaced(combinator_), p.map(whitespace_, () => ' '));\nconst complexSelector_ = p.leftAssoc2(compoundSelector_, p.map(combinatorSeparator_, (c) => (left, right) => ({\n type: 'compound',\n list: [...right.list, { type: 'combinator', combinator: c, left: left, specificity: left.specificity }],\n specificity: sumSpec(left.specificity, right.specificity)\n})), compoundSelector_);\nconst listSelector_ = p.leftAssoc2(p.map(complexSelector_, (s) => ({ type: 'list', list: [s] })), p.map(optionallySpaced(literal(',')), () => (acc, next) => ({ type: 'list', list: [...acc.list, next] })), complexSelector_);\nfunction parse_(parser, str) {\n if (!(typeof str === 'string' || str instanceof String)) {\n throw new Error('Expected a selector string. Actual input is not a string!');\n }\n const lexerResult = lexSelector(str);\n if (!lexerResult.complete) {\n throw new Error(`The input \"${str}\" was only partially tokenized, stopped at offset ${lexerResult.offset}!\\n` +\n prettyPrintPosition(str, lexerResult.offset));\n }\n const result = optionallySpaced(parser)({ tokens: lexerResult.tokens, options: undefined }, 0);\n if (!result.matched) {\n throw new Error(`No match for \"${str}\" input!`);\n }\n if (result.position < lexerResult.tokens.length) {\n const token = lexerResult.tokens[result.position];\n throw new Error(`The input \"${str}\" was only partially parsed, stopped at offset ${token.offset}!\\n` +\n prettyPrintPosition(str, token.offset, token.len));\n }\n return result.value;\n}\nfunction prettyPrintPosition(str, offset, len = 1) {\n return `${str.replace(/(\\t)|(\\r)|(\\n)/g, (m, t, r) => t ? '\\u2409' : r ? '\\u240d' : '\\u240a')}\\n${''.padEnd(offset)}${'^'.repeat(len)}`;\n}\nfunction parse(str) {\n return parse_(listSelector_, str);\n}\nfunction parse1(str) {\n return parse_(complexSelector_, str);\n}\n\nfunction serialize(selector) {\n if (!selector.type) {\n throw new Error('This is not an AST node.');\n }\n switch (selector.type) {\n case 'universal':\n return _serNs(selector.namespace) + '*';\n case 'tag':\n return _serNs(selector.namespace) + _serIdent(selector.name);\n case 'class':\n return '.' + _serIdent(selector.name);\n case 'id':\n return '#' + _serIdent(selector.name);\n case 'attrPresence':\n return `[${_serNs(selector.namespace)}${_serIdent(selector.name)}]`;\n case 'attrValue':\n return `[${_serNs(selector.namespace)}${_serIdent(selector.name)}${selector.matcher}\"${_serStr(selector.value)}\"${(selector.modifier ? selector.modifier : '')}]`;\n case 'combinator':\n return serialize(selector.left) + selector.combinator;\n case 'compound':\n return selector.list.reduce((acc, node) => {\n if (node.type === 'combinator') {\n return serialize(node) + acc;\n }\n else {\n return acc + serialize(node);\n }\n }, '');\n case 'list':\n return selector.list.map(serialize).join(',');\n }\n}\nfunction _serNs(ns) {\n return (ns || ns === '')\n ? _serIdent(ns) + '|'\n : '';\n}\nfunction _codePoint(char) {\n return `\\\\${char.codePointAt(0).toString(16)} `;\n}\nfunction _serIdent(str) {\n return str.replace(\n /(^[0-9])|(^-[0-9])|(^-$)|([-0-9a-zA-Z_]|[^\\x00-\\x7F])|(\\x00)|([\\x01-\\x1f]|\\x7f)|([\\s\\S])/g, (m, d1, d2, hy, safe, nl, ctrl, other) => d1 ? _codePoint(d1) :\n d2 ? '-' + _codePoint(d2.slice(1)) :\n hy ? '\\\\-' :\n safe ? safe :\n nl ? '\\ufffd' :\n ctrl ? _codePoint(ctrl) :\n '\\\\' + other);\n}\nfunction _serStr(str) {\n return str.replace(\n /(\")|(\\\\)|(\\x00)|([\\x01-\\x1f]|\\x7f)/g, (m, dq, bs, nl, ctrl) => dq ? '\\\\\"' :\n bs ? '\\\\\\\\' :\n nl ? '\\ufffd' :\n _codePoint(ctrl));\n}\nfunction normalize(selector) {\n if (!selector.type) {\n throw new Error('This is not an AST node.');\n }\n switch (selector.type) {\n case 'compound': {\n selector.list.forEach(normalize);\n selector.list.sort((a, b) => _compareArrays(_getSelectorPriority(a), _getSelectorPriority(b)));\n break;\n }\n case 'combinator': {\n normalize(selector.left);\n break;\n }\n case 'list': {\n selector.list.forEach(normalize);\n selector.list.sort((a, b) => (serialize(a) < serialize(b)) ? -1 : 1);\n break;\n }\n }\n return selector;\n}\nfunction _getSelectorPriority(selector) {\n switch (selector.type) {\n case 'universal':\n return [1];\n case 'tag':\n return [1];\n case 'id':\n return [2];\n case 'class':\n return [3, selector.name];\n case 'attrPresence':\n return [4, serialize(selector)];\n case 'attrValue':\n return [5, serialize(selector)];\n case 'combinator':\n return [15, serialize(selector)];\n }\n}\nfunction compareSelectors(a, b) {\n return _compareArrays(a.specificity, b.specificity);\n}\nfunction compareSpecificity(a, b) {\n return _compareArrays(a, b);\n}\nfunction _compareArrays(a, b) {\n if (!Array.isArray(a) || !Array.isArray(b)) {\n throw new Error('Arguments must be arrays.');\n }\n const shorter = (a.length < b.length) ? a.length : b.length;\n for (let i = 0; i < shorter; i++) {\n if (a[i] === b[i]) {\n continue;\n }\n return (a[i] < b[i]) ? -1 : 1;\n }\n return a.length - b.length;\n}\n\nexport { ast as Ast, compareSelectors, compareSpecificity, normalize, parse, parse1, serialize };\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"parseley.js","names":["createLexer","name","left","right","token","nl"],"sources":["../../../../../../../node_modules/parseley/lib/parseley.mjs"],"sourcesContent":["import { createLexer } from 'leac';\nimport * as p from 'peberminta';\n\nvar ast = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nconst ws = `(?:[ \\\\t\\\\r\\\\n\\\\f]*)`;\nconst nl = `(?:\\\\n|\\\\r\\\\n|\\\\r|\\\\f)`;\nconst nonascii = `[^\\\\x00-\\\\x7F]`;\nconst unicode = `(?:\\\\\\\\[0-9a-f]{1,6}(?:\\\\r\\\\n|[ \\\\n\\\\r\\\\t\\\\f])?)`;\nconst escape = `(?:\\\\\\\\[^\\\\n\\\\r\\\\f0-9a-f])`;\nconst nmstart = `(?:[_a-z]|${nonascii}|${unicode}|${escape})`;\nconst nmchar = `(?:[_a-z0-9-]|${nonascii}|${unicode}|${escape})`;\nconst name = `(?:${nmchar}+)`;\nconst ident = `(?:[-]?${nmstart}${nmchar}*)`;\nconst string1 = `'([^\\\\n\\\\r\\\\f\\\\\\\\']|\\\\\\\\${nl}|${nonascii}|${unicode}|${escape})*'`;\nconst string2 = `\"([^\\\\n\\\\r\\\\f\\\\\\\\\"]|\\\\\\\\${nl}|${nonascii}|${unicode}|${escape})*\"`;\nconst lexSelector = createLexer([\n { name: 'ws', regex: new RegExp(ws) },\n { name: 'hash', regex: new RegExp(`#${name}`, 'i') },\n { name: 'ident', regex: new RegExp(ident, 'i') },\n { name: 'str1', regex: new RegExp(string1, 'i') },\n { name: 'str2', regex: new RegExp(string2, 'i') },\n { name: '*' },\n { name: '.' },\n { name: ',' },\n { name: '[' },\n { name: ']' },\n { name: '=' },\n { name: '>' },\n { name: '|' },\n { name: '+' },\n { name: '~' },\n { name: '^' },\n { name: '$' },\n]);\nconst lexEscapedString = createLexer([\n { name: 'unicode', regex: new RegExp(unicode, 'i') },\n { name: 'escape', regex: new RegExp(escape, 'i') },\n { name: 'any', regex: new RegExp('[\\\\s\\\\S]', 'i') }\n]);\nfunction sumSpec([a0, a1, a2], [b0, b1, b2]) {\n return [a0 + b0, a1 + b1, a2 + b2];\n}\nfunction sumAllSpec(ss) {\n return ss.reduce(sumSpec, [0, 0, 0]);\n}\nconst unicodeEscapedSequence_ = p.token((t) => t.name === 'unicode' ? String.fromCodePoint(parseInt(t.text.slice(1), 16)) : undefined);\nconst escapedSequence_ = p.token((t) => t.name === 'escape' ? t.text.slice(1) : undefined);\nconst anyChar_ = p.token((t) => t.name === 'any' ? t.text : undefined);\nconst escapedString_ = p.map(p.many(p.or(unicodeEscapedSequence_, escapedSequence_, anyChar_)), (cs) => cs.join(''));\nfunction unescape(escapedString) {\n const lexerResult = lexEscapedString(escapedString);\n const result = escapedString_({ tokens: lexerResult.tokens, options: undefined }, 0);\n return result.value;\n}\nfunction literal(name) {\n return p.token((t) => t.name === name ? true : undefined);\n}\nconst whitespace_ = p.token((t) => t.name === 'ws' ? null : undefined);\nconst optionalWhitespace_ = p.option(whitespace_, null);\nfunction optionallySpaced(parser) {\n return p.middle(optionalWhitespace_, parser, optionalWhitespace_);\n}\nconst identifier_ = p.token((t) => t.name === 'ident' ? unescape(t.text) : undefined);\nconst hashId_ = p.token((t) => t.name === 'hash' ? unescape(t.text.slice(1)) : undefined);\nconst string_ = p.token((t) => t.name.startsWith('str') ? unescape(t.text.slice(1, -1)) : undefined);\nconst namespace_ = p.left(p.option(identifier_, ''), literal('|'));\nconst qualifiedName_ = p.eitherOr(p.ab(namespace_, identifier_, (ns, name) => ({ name: name, namespace: ns })), p.map(identifier_, (name) => ({ name: name, namespace: null })));\nconst uniSelector_ = p.eitherOr(p.ab(namespace_, literal('*'), (ns) => ({ type: 'universal', namespace: ns, specificity: [0, 0, 0] })), p.map(literal('*'), () => ({ type: 'universal', namespace: null, specificity: [0, 0, 0] })));\nconst tagSelector_ = p.map(qualifiedName_, ({ name, namespace }) => ({\n type: 'tag',\n name: name,\n namespace: namespace,\n specificity: [0, 0, 1]\n}));\nconst classSelector_ = p.ab(literal('.'), identifier_, (fullstop, name) => ({\n type: 'class',\n name: name,\n specificity: [0, 1, 0]\n}));\nconst idSelector_ = p.map(hashId_, (name) => ({\n type: 'id',\n name: name,\n specificity: [1, 0, 0]\n}));\nconst attrModifier_ = p.token((t) => {\n if (t.name === 'ident') {\n if (t.text === 'i' || t.text === 'I') {\n return 'i';\n }\n if (t.text === 's' || t.text === 'S') {\n return 's';\n }\n }\n return undefined;\n});\nconst attrValue_ = p.eitherOr(p.ab(string_, p.option(p.right(optionalWhitespace_, attrModifier_), null), (v, mod) => ({ value: v, modifier: mod })), p.ab(identifier_, p.option(p.right(whitespace_, attrModifier_), null), (v, mod) => ({ value: v, modifier: mod })));\nconst attrMatcher_ = p.choice(p.map(literal('='), () => '='), p.ab(literal('~'), literal('='), () => '~='), p.ab(literal('|'), literal('='), () => '|='), p.ab(literal('^'), literal('='), () => '^='), p.ab(literal('$'), literal('='), () => '$='), p.ab(literal('*'), literal('='), () => '*='));\nconst attrPresenceSelector_ = p.abc(literal('['), optionallySpaced(qualifiedName_), literal(']'), (lbr, { name, namespace }) => ({\n type: 'attrPresence',\n name: name,\n namespace: namespace,\n specificity: [0, 1, 0]\n}));\nconst attrValueSelector_ = p.middle(literal('['), p.abc(optionallySpaced(qualifiedName_), attrMatcher_, optionallySpaced(attrValue_), ({ name, namespace }, matcher, { value, modifier }) => ({\n type: 'attrValue',\n name: name,\n namespace: namespace,\n matcher: matcher,\n value: value,\n modifier: modifier,\n specificity: [0, 1, 0]\n})), literal(']'));\nconst attrSelector_ = p.eitherOr(attrPresenceSelector_, attrValueSelector_);\nconst typeSelector_ = p.eitherOr(uniSelector_, tagSelector_);\nconst subclassSelector_ = p.choice(idSelector_, classSelector_, attrSelector_);\nconst compoundSelector_ = p.map(p.eitherOr(p.flatten(typeSelector_, p.many(subclassSelector_)), p.many1(subclassSelector_)), (ss) => {\n return {\n type: 'compound',\n list: ss,\n specificity: sumAllSpec(ss.map(s => s.specificity))\n };\n});\nconst combinator_ = p.choice(p.map(literal('>'), () => '>'), p.map(literal('+'), () => '+'), p.map(literal('~'), () => '~'), p.ab(literal('|'), literal('|'), () => '||'));\nconst combinatorSeparator_ = p.eitherOr(optionallySpaced(combinator_), p.map(whitespace_, () => ' '));\nconst complexSelector_ = p.leftAssoc2(compoundSelector_, p.map(combinatorSeparator_, (c) => (left, right) => ({\n type: 'compound',\n list: [...right.list, { type: 'combinator', combinator: c, left: left, specificity: left.specificity }],\n specificity: sumSpec(left.specificity, right.specificity)\n})), compoundSelector_);\nconst listSelector_ = p.leftAssoc2(p.map(complexSelector_, (s) => ({ type: 'list', list: [s] })), p.map(optionallySpaced(literal(',')), () => (acc, next) => ({ type: 'list', list: [...acc.list, next] })), complexSelector_);\nfunction parse_(parser, str) {\n if (!(typeof str === 'string' || str instanceof String)) {\n throw new Error('Expected a selector string. Actual input is not a string!');\n }\n const lexerResult = lexSelector(str);\n if (!lexerResult.complete) {\n throw new Error(`The input \"${str}\" was only partially tokenized, stopped at offset ${lexerResult.offset}!\\n` +\n prettyPrintPosition(str, lexerResult.offset));\n }\n const result = optionallySpaced(parser)({ tokens: lexerResult.tokens, options: undefined }, 0);\n if (!result.matched) {\n throw new Error(`No match for \"${str}\" input!`);\n }\n if (result.position < lexerResult.tokens.length) {\n const token = lexerResult.tokens[result.position];\n throw new Error(`The input \"${str}\" was only partially parsed, stopped at offset ${token.offset}!\\n` +\n prettyPrintPosition(str, token.offset, token.len));\n }\n return result.value;\n}\nfunction prettyPrintPosition(str, offset, len = 1) {\n return `${str.replace(/(\\t)|(\\r)|(\\n)/g, (m, t, r) => t ? '\\u2409' : r ? '\\u240d' : '\\u240a')}\\n${''.padEnd(offset)}${'^'.repeat(len)}`;\n}\nfunction parse(str) {\n return parse_(listSelector_, str);\n}\nfunction parse1(str) {\n return parse_(complexSelector_, str);\n}\n\nfunction serialize(selector) {\n if (!selector.type) {\n throw new Error('This is not an AST node.');\n }\n switch (selector.type) {\n case 'universal':\n return _serNs(selector.namespace) + '*';\n case 'tag':\n return _serNs(selector.namespace) + _serIdent(selector.name);\n case 'class':\n return '.' + _serIdent(selector.name);\n case 'id':\n return '#' + _serIdent(selector.name);\n case 'attrPresence':\n return `[${_serNs(selector.namespace)}${_serIdent(selector.name)}]`;\n case 'attrValue':\n return `[${_serNs(selector.namespace)}${_serIdent(selector.name)}${selector.matcher}\"${_serStr(selector.value)}\"${(selector.modifier ? selector.modifier : '')}]`;\n case 'combinator':\n return serialize(selector.left) + selector.combinator;\n case 'compound':\n return selector.list.reduce((acc, node) => {\n if (node.type === 'combinator') {\n return serialize(node) + acc;\n }\n else {\n return acc + serialize(node);\n }\n }, '');\n case 'list':\n return selector.list.map(serialize).join(',');\n }\n}\nfunction _serNs(ns) {\n return (ns || ns === '')\n ? _serIdent(ns) + '|'\n : '';\n}\nfunction _codePoint(char) {\n return `\\\\${char.codePointAt(0).toString(16)} `;\n}\nfunction _serIdent(str) {\n return str.replace(\n /(^[0-9])|(^-[0-9])|(^-$)|([-0-9a-zA-Z_]|[^\\x00-\\x7F])|(\\x00)|([\\x01-\\x1f]|\\x7f)|([\\s\\S])/g, (m, d1, d2, hy, safe, nl, ctrl, other) => d1 ? _codePoint(d1) :\n d2 ? '-' + _codePoint(d2.slice(1)) :\n hy ? '\\\\-' :\n safe ? safe :\n nl ? '\\ufffd' :\n ctrl ? _codePoint(ctrl) :\n '\\\\' + other);\n}\nfunction _serStr(str) {\n return str.replace(\n /(\")|(\\\\)|(\\x00)|([\\x01-\\x1f]|\\x7f)/g, (m, dq, bs, nl, ctrl) => dq ? '\\\\\"' :\n bs ? '\\\\\\\\' :\n nl ? '\\ufffd' :\n _codePoint(ctrl));\n}\nfunction normalize(selector) {\n if (!selector.type) {\n throw new Error('This is not an AST node.');\n }\n switch (selector.type) {\n case 'compound': {\n selector.list.forEach(normalize);\n selector.list.sort((a, b) => _compareArrays(_getSelectorPriority(a), _getSelectorPriority(b)));\n break;\n }\n case 'combinator': {\n normalize(selector.left);\n break;\n }\n case 'list': {\n selector.list.forEach(normalize);\n selector.list.sort((a, b) => (serialize(a) < serialize(b)) ? -1 : 1);\n break;\n }\n }\n return selector;\n}\nfunction _getSelectorPriority(selector) {\n switch (selector.type) {\n case 'universal':\n return [1];\n case 'tag':\n return [1];\n case 'id':\n return [2];\n case 'class':\n return [3, selector.name];\n case 'attrPresence':\n return [4, serialize(selector)];\n case 'attrValue':\n return [5, serialize(selector)];\n case 'combinator':\n return [15, serialize(selector)];\n }\n}\nfunction compareSelectors(a, b) {\n return _compareArrays(a.specificity, b.specificity);\n}\nfunction compareSpecificity(a, b) {\n return _compareArrays(a, b);\n}\nfunction _compareArrays(a, b) {\n if (!Array.isArray(a) || !Array.isArray(b)) {\n throw new Error('Arguments must be arrays.');\n }\n const shorter = (a.length < b.length) ? a.length : b.length;\n for (let i = 0; i < shorter; i++) {\n if (a[i] === b[i]) {\n continue;\n }\n return (a[i] < b[i]) ? -1 : 1;\n }\n return a.length - b.length;\n}\n\nexport { ast as Ast, compareSelectors, compareSpecificity, normalize, parse, parse1, serialize };\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/peberminta/lib/core.mjs
1
+ //#region ../../../node_modules/peberminta/lib/core.mjs
2
2
  function token(onToken, onEnd) {
3
3
  return (data, i) => {
4
4
  let position = i;
@@ -135,7 +135,7 @@ function chainReduce(acc, f) {
135
135
  };
136
136
  }
137
137
  function reduceLeft(acc, p, reducer) {
138
- return chainReduce(acc, (acc) => map(p, (v, data, i, j) => reducer(acc, v, data, i, j)));
138
+ return chainReduce(acc, (acc$1) => map(p, (v, data, i, j) => reducer(acc$1, v, data, i, j)));
139
139
  }
140
140
  function leftAssoc2(pLeft, pOper, pRight) {
141
141
  return chain(pLeft, (v0) => reduceLeft(v0, ab(pOper, pRight, (f, y) => [f, y]), (acc, [f, y]) => f(acc, y)));
@@ -143,7 +143,7 @@ function leftAssoc2(pLeft, pOper, pRight) {
143
143
  function chain(p, f) {
144
144
  return (data, i) => mapOuter(p(data, i), (m1) => f(m1.value, data, i, m1.position)(data, m1.position));
145
145
  }
146
- //#endregion
147
- export { ab, abc, all, all as and, chain, chainReduce, choice, choice as or, otherwise as eitherOr, otherwise, flatten, flatten1, left, leftAssoc2, many, many1, many1 as some, map, middle, option, reduceLeft, right, takeWhile, token };
148
146
 
147
+ //#endregion
148
+ export { ab, abc, choice, flatten, left, leftAssoc2, many, many1, map, middle, option, otherwise, right, token };
149
149
  //# sourceMappingURL=core.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","names":[],"sources":["../../../../../../node_modules/peberminta/lib/core.mjs"],"sourcesContent":["import { clamp, escapeWhitespace } from './util.mjs';\n\nfunction emit(value) {\n return (data, i) => ({\n matched: true,\n position: i,\n value: value\n });\n}\nfunction make(\nf) {\n return (data, i) => ({\n matched: true,\n position: i,\n value: f(data, i)\n });\n}\nfunction action(\nf) {\n return (data, i) => {\n f(data, i);\n return {\n matched: true,\n position: i,\n value: null\n };\n };\n}\nfunction fail(\ndata, i) {\n return { matched: false };\n}\nfunction error(message) {\n return (data, i) => {\n throw new Error((message instanceof Function) ? message(data, i) : message);\n };\n}\nfunction token(\nonToken,\nonEnd) {\n return (data, i) => {\n let position = i;\n let value = undefined;\n if (i < data.tokens.length) {\n value = onToken(data.tokens[i], data, i);\n if (value !== undefined) {\n position++;\n }\n }\n else {\n onEnd?.(data, i);\n }\n return (value === undefined)\n ? { matched: false }\n : {\n matched: true,\n position: position,\n value: value\n };\n };\n}\nfunction any(data, i) {\n return (i < data.tokens.length)\n ? {\n matched: true,\n position: i + 1,\n value: data.tokens[i]\n }\n : { matched: false };\n}\nfunction satisfy(\ntest) {\n return (data, i) => (i < data.tokens.length && test(data.tokens[i], data, i))\n ? {\n matched: true,\n position: i + 1,\n value: data.tokens[i]\n }\n : { matched: false };\n}\nfunction mapInner(r, f) {\n return (r.matched) ? ({\n matched: true,\n position: r.position,\n value: f(r.value, r.position)\n }) : r;\n}\nfunction mapOuter(r, f) {\n return (r.matched) ? f(r) : r;\n}\nfunction map(p, mapper) {\n return (data, i) => mapInner(p(data, i), (v, j) => mapper(v, data, i, j));\n}\nfunction map1(p,\nmapper) {\n return (data, i) => mapOuter(p(data, i), (m) => mapper(m, data, i));\n}\nfunction peek(p, f) {\n return (data, i) => {\n const r = p(data, i);\n f(r, data, i);\n return r;\n };\n}\nfunction option(p, def) {\n return (data, i) => {\n const r = p(data, i);\n return (r.matched)\n ? r\n : {\n matched: true,\n position: i,\n value: def\n };\n };\n}\nfunction not(p) {\n return (data, i) => {\n const r = p(data, i);\n return (r.matched)\n ? { matched: false }\n : {\n matched: true,\n position: i,\n value: true\n };\n };\n}\nfunction choice(...ps) {\n return (data, i) => {\n for (const p of ps) {\n const result = p(data, i);\n if (result.matched) {\n return result;\n }\n }\n return { matched: false };\n };\n}\nfunction otherwise(pa, pb) {\n return (data, i) => {\n const r1 = pa(data, i);\n return (r1.matched)\n ? r1\n : pb(data, i);\n };\n}\nfunction longest(...ps) {\n return (data, i) => {\n let match = undefined;\n for (const p of ps) {\n const result = p(data, i);\n if (result.matched && (!match || match.position < result.position)) {\n match = result;\n }\n }\n return match || { matched: false };\n };\n}\nfunction takeWhile(p,\ntest) {\n return (data, i) => {\n const values = [];\n let success = true;\n do {\n const r = p(data, i);\n if (r.matched && test(r.value, values.length + 1, data, i, r.position)) {\n values.push(r.value);\n i = r.position;\n }\n else {\n success = false;\n }\n } while (success);\n return {\n matched: true,\n position: i,\n value: values\n };\n };\n}\nfunction takeUntil(p,\ntest) {\n return takeWhile(p, (value, n, data, i, j) => !test(value, n, data, i, j));\n}\nfunction takeWhileP(pValue, pTest) {\n return takeWhile(pValue, (value, n, data, i) => pTest(data, i).matched);\n}\nfunction takeUntilP(pValue, pTest) {\n return takeWhile(pValue, (value, n, data, i) => !pTest(data, i).matched);\n}\nfunction many(p) {\n return takeWhile(p, () => true);\n}\nfunction many1(p) {\n return ab(p, many(p), (head, tail) => [head, ...tail]);\n}\nfunction ab(pa, pb, join) {\n return (data, i) => mapOuter(pa(data, i), (ma) => mapInner(pb(data, ma.position), (vb, j) => join(ma.value, vb, data, i, j)));\n}\nfunction left(pa, pb) {\n return ab(pa, pb, (va) => va);\n}\nfunction right(pa, pb) {\n return ab(pa, pb, (va, vb) => vb);\n}\nfunction abc(pa, pb, pc, join) {\n return (data, i) => mapOuter(pa(data, i), (ma) => mapOuter(pb(data, ma.position), (mb) => mapInner(pc(data, mb.position), (vc, j) => join(ma.value, mb.value, vc, data, i, j))));\n}\nfunction middle(pa, pb, pc) {\n return abc(pa, pb, pc, (ra, rb) => rb);\n}\nfunction all(...ps) {\n return (data, i) => {\n const result = [];\n let position = i;\n for (const p of ps) {\n const r1 = p(data, position);\n if (r1.matched) {\n result.push(r1.value);\n position = r1.position;\n }\n else {\n return { matched: false };\n }\n }\n return {\n matched: true,\n position: position,\n value: result\n };\n };\n}\nfunction skip(...ps) {\n return map(all(...ps), () => null);\n}\nfunction flatten(...ps) {\n return flatten1(all(...ps));\n}\nfunction flatten1(p) {\n return map(p, (vs) => vs.flatMap((v) => v));\n}\nfunction sepBy1(pValue, pSep) {\n return ab(pValue, many(right(pSep, pValue)), (head, tail) => [head, ...tail]);\n}\nfunction sepBy(pValue, pSep) {\n return otherwise(sepBy1(pValue, pSep), emit([]));\n}\nfunction chainReduce(acc,\nf) {\n return (data, i) => {\n let loop = true;\n let acc1 = acc;\n let pos = i;\n do {\n const r = f(acc1, data, pos)(data, pos);\n if (r.matched) {\n acc1 = r.value;\n pos = r.position;\n }\n else {\n loop = false;\n }\n } while (loop);\n return {\n matched: true,\n position: pos,\n value: acc1\n };\n };\n}\nfunction reduceLeft(acc, p,\nreducer) {\n return chainReduce(acc, (acc) => map(p, (v, data, i, j) => reducer(acc, v, data, i, j)));\n}\nfunction reduceRight(p, acc,\nreducer) {\n return map(many(p), (vs, data, i, j) => vs.reduceRight((acc, v) => reducer(v, acc, data, i, j), acc));\n}\nfunction leftAssoc1(pLeft, pOper) {\n return chain(pLeft, (v0) => reduceLeft(v0, pOper, (acc, f) => f(acc)));\n}\nfunction rightAssoc1(pOper, pRight) {\n return ab(reduceRight(pOper, (y) => y, (f, acc) => (y) => f(acc(y))), pRight, (f, v) => f(v));\n}\nfunction leftAssoc2(pLeft, pOper, pRight) {\n return chain(pLeft, (v0) => reduceLeft(v0, ab(pOper, pRight, (f, y) => [f, y]), (acc, [f, y]) => f(acc, y)));\n}\nfunction rightAssoc2(pLeft, pOper, pRight) {\n return ab(reduceRight(ab(pLeft, pOper, (x, f) => [x, f]), (y) => y, ([x, f], acc) => (y) => f(x, acc(y))), pRight, (f, v) => f(v));\n}\nfunction condition(cond, pTrue, pFalse) {\n return (data, i) => (cond(data, i))\n ? pTrue(data, i)\n : pFalse(data, i);\n}\nfunction decide(p) {\n return (data, i) => mapOuter(p(data, i), (m1) => m1.value(data, m1.position));\n}\nfunction chain(p,\nf) {\n return (data, i) => mapOuter(p(data, i), (m1) => f(m1.value, data, i, m1.position)(data, m1.position));\n}\nfunction ahead(p) {\n return (data, i) => mapOuter(p(data, i), (m1) => ({\n matched: true,\n position: i,\n value: m1.value\n }));\n}\nfunction recursive(f) {\n return function (data, i) {\n return f()(data, i);\n };\n}\nfunction start(data, i) {\n return (i !== 0)\n ? { matched: false }\n : {\n matched: true,\n position: i,\n value: true\n };\n}\nfunction end(data, i) {\n return (i < data.tokens.length)\n ? { matched: false }\n : {\n matched: true,\n position: i,\n value: true\n };\n}\nfunction remainingTokensNumber(data, i) {\n return data.tokens.length - i;\n}\nfunction parserPosition(data, i, formatToken, contextTokens = 3) {\n const len = data.tokens.length;\n const lowIndex = clamp(0, i - contextTokens, len - contextTokens);\n const highIndex = clamp(contextTokens, i + 1 + contextTokens, len);\n const tokensSlice = data.tokens.slice(lowIndex, highIndex);\n const lines = [];\n const indexWidth = String(highIndex - 1).length + 1;\n if (i < 0) {\n lines.push(`${String(i).padStart(indexWidth)} >>`);\n }\n if (0 < lowIndex) {\n lines.push('...'.padStart(indexWidth + 6));\n }\n for (let j = 0; j < tokensSlice.length; j++) {\n const index = lowIndex + j;\n lines.push(`${String(index).padStart(indexWidth)} ${(index === i ? '>' : ' ')} ${escapeWhitespace(formatToken(tokensSlice[j]))}`);\n }\n if (highIndex < len) {\n lines.push('...'.padStart(indexWidth + 6));\n }\n if (len <= i) {\n lines.push(`${String(i).padStart(indexWidth)} >>`);\n }\n return lines.join('\\n');\n}\nfunction parse(parser, tokens, options, formatToken = JSON.stringify) {\n const data = { tokens: tokens, options: options };\n const result = parser(data, 0);\n if (!result.matched) {\n throw new Error('No match');\n }\n if (result.position < data.tokens.length) {\n throw new Error(`Partial match. Parsing stopped at:\\n${parserPosition(data, result.position, formatToken)}`);\n }\n return result.value;\n}\nfunction tryParse(parser, tokens, options) {\n const result = parser({ tokens: tokens, options: options }, 0);\n return (result.matched)\n ? result.value\n : undefined;\n}\nfunction match(matcher, tokens, options) {\n const result = matcher({ tokens: tokens, options: options }, 0);\n return result.value;\n}\n\nexport { ab, abc, action, ahead, all, all as and, any, chain, chainReduce, choice, condition, decide, skip as discard, otherwise as eitherOr, emit, end, end as eof, error, fail, flatten, flatten1, left, leftAssoc1, leftAssoc2, longest, ahead as lookAhead, make, many, many1, map, map1, match, middle, not, emit as of, option, choice as or, otherwise, parse, parserPosition, peek, recursive, reduceLeft, reduceRight, remainingTokensNumber, right, rightAssoc1, rightAssoc2, satisfy, sepBy, sepBy1, skip, many1 as some, start, takeUntil, takeUntilP, takeWhile, takeWhileP, token, tryParse };\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"core.js","names":["acc"],"sources":["../../../../../../../node_modules/peberminta/lib/core.mjs"],"sourcesContent":["import { clamp, escapeWhitespace } from './util.mjs';\n\nfunction emit(value) {\n return (data, i) => ({\n matched: true,\n position: i,\n value: value\n });\n}\nfunction make(\nf) {\n return (data, i) => ({\n matched: true,\n position: i,\n value: f(data, i)\n });\n}\nfunction action(\nf) {\n return (data, i) => {\n f(data, i);\n return {\n matched: true,\n position: i,\n value: null\n };\n };\n}\nfunction fail(\ndata, i) {\n return { matched: false };\n}\nfunction error(message) {\n return (data, i) => {\n throw new Error((message instanceof Function) ? message(data, i) : message);\n };\n}\nfunction token(\nonToken,\nonEnd) {\n return (data, i) => {\n let position = i;\n let value = undefined;\n if (i < data.tokens.length) {\n value = onToken(data.tokens[i], data, i);\n if (value !== undefined) {\n position++;\n }\n }\n else {\n onEnd?.(data, i);\n }\n return (value === undefined)\n ? { matched: false }\n : {\n matched: true,\n position: position,\n value: value\n };\n };\n}\nfunction any(data, i) {\n return (i < data.tokens.length)\n ? {\n matched: true,\n position: i + 1,\n value: data.tokens[i]\n }\n : { matched: false };\n}\nfunction satisfy(\ntest) {\n return (data, i) => (i < data.tokens.length && test(data.tokens[i], data, i))\n ? {\n matched: true,\n position: i + 1,\n value: data.tokens[i]\n }\n : { matched: false };\n}\nfunction mapInner(r, f) {\n return (r.matched) ? ({\n matched: true,\n position: r.position,\n value: f(r.value, r.position)\n }) : r;\n}\nfunction mapOuter(r, f) {\n return (r.matched) ? f(r) : r;\n}\nfunction map(p, mapper) {\n return (data, i) => mapInner(p(data, i), (v, j) => mapper(v, data, i, j));\n}\nfunction map1(p,\nmapper) {\n return (data, i) => mapOuter(p(data, i), (m) => mapper(m, data, i));\n}\nfunction peek(p, f) {\n return (data, i) => {\n const r = p(data, i);\n f(r, data, i);\n return r;\n };\n}\nfunction option(p, def) {\n return (data, i) => {\n const r = p(data, i);\n return (r.matched)\n ? r\n : {\n matched: true,\n position: i,\n value: def\n };\n };\n}\nfunction not(p) {\n return (data, i) => {\n const r = p(data, i);\n return (r.matched)\n ? { matched: false }\n : {\n matched: true,\n position: i,\n value: true\n };\n };\n}\nfunction choice(...ps) {\n return (data, i) => {\n for (const p of ps) {\n const result = p(data, i);\n if (result.matched) {\n return result;\n }\n }\n return { matched: false };\n };\n}\nfunction otherwise(pa, pb) {\n return (data, i) => {\n const r1 = pa(data, i);\n return (r1.matched)\n ? r1\n : pb(data, i);\n };\n}\nfunction longest(...ps) {\n return (data, i) => {\n let match = undefined;\n for (const p of ps) {\n const result = p(data, i);\n if (result.matched && (!match || match.position < result.position)) {\n match = result;\n }\n }\n return match || { matched: false };\n };\n}\nfunction takeWhile(p,\ntest) {\n return (data, i) => {\n const values = [];\n let success = true;\n do {\n const r = p(data, i);\n if (r.matched && test(r.value, values.length + 1, data, i, r.position)) {\n values.push(r.value);\n i = r.position;\n }\n else {\n success = false;\n }\n } while (success);\n return {\n matched: true,\n position: i,\n value: values\n };\n };\n}\nfunction takeUntil(p,\ntest) {\n return takeWhile(p, (value, n, data, i, j) => !test(value, n, data, i, j));\n}\nfunction takeWhileP(pValue, pTest) {\n return takeWhile(pValue, (value, n, data, i) => pTest(data, i).matched);\n}\nfunction takeUntilP(pValue, pTest) {\n return takeWhile(pValue, (value, n, data, i) => !pTest(data, i).matched);\n}\nfunction many(p) {\n return takeWhile(p, () => true);\n}\nfunction many1(p) {\n return ab(p, many(p), (head, tail) => [head, ...tail]);\n}\nfunction ab(pa, pb, join) {\n return (data, i) => mapOuter(pa(data, i), (ma) => mapInner(pb(data, ma.position), (vb, j) => join(ma.value, vb, data, i, j)));\n}\nfunction left(pa, pb) {\n return ab(pa, pb, (va) => va);\n}\nfunction right(pa, pb) {\n return ab(pa, pb, (va, vb) => vb);\n}\nfunction abc(pa, pb, pc, join) {\n return (data, i) => mapOuter(pa(data, i), (ma) => mapOuter(pb(data, ma.position), (mb) => mapInner(pc(data, mb.position), (vc, j) => join(ma.value, mb.value, vc, data, i, j))));\n}\nfunction middle(pa, pb, pc) {\n return abc(pa, pb, pc, (ra, rb) => rb);\n}\nfunction all(...ps) {\n return (data, i) => {\n const result = [];\n let position = i;\n for (const p of ps) {\n const r1 = p(data, position);\n if (r1.matched) {\n result.push(r1.value);\n position = r1.position;\n }\n else {\n return { matched: false };\n }\n }\n return {\n matched: true,\n position: position,\n value: result\n };\n };\n}\nfunction skip(...ps) {\n return map(all(...ps), () => null);\n}\nfunction flatten(...ps) {\n return flatten1(all(...ps));\n}\nfunction flatten1(p) {\n return map(p, (vs) => vs.flatMap((v) => v));\n}\nfunction sepBy1(pValue, pSep) {\n return ab(pValue, many(right(pSep, pValue)), (head, tail) => [head, ...tail]);\n}\nfunction sepBy(pValue, pSep) {\n return otherwise(sepBy1(pValue, pSep), emit([]));\n}\nfunction chainReduce(acc,\nf) {\n return (data, i) => {\n let loop = true;\n let acc1 = acc;\n let pos = i;\n do {\n const r = f(acc1, data, pos)(data, pos);\n if (r.matched) {\n acc1 = r.value;\n pos = r.position;\n }\n else {\n loop = false;\n }\n } while (loop);\n return {\n matched: true,\n position: pos,\n value: acc1\n };\n };\n}\nfunction reduceLeft(acc, p,\nreducer) {\n return chainReduce(acc, (acc) => map(p, (v, data, i, j) => reducer(acc, v, data, i, j)));\n}\nfunction reduceRight(p, acc,\nreducer) {\n return map(many(p), (vs, data, i, j) => vs.reduceRight((acc, v) => reducer(v, acc, data, i, j), acc));\n}\nfunction leftAssoc1(pLeft, pOper) {\n return chain(pLeft, (v0) => reduceLeft(v0, pOper, (acc, f) => f(acc)));\n}\nfunction rightAssoc1(pOper, pRight) {\n return ab(reduceRight(pOper, (y) => y, (f, acc) => (y) => f(acc(y))), pRight, (f, v) => f(v));\n}\nfunction leftAssoc2(pLeft, pOper, pRight) {\n return chain(pLeft, (v0) => reduceLeft(v0, ab(pOper, pRight, (f, y) => [f, y]), (acc, [f, y]) => f(acc, y)));\n}\nfunction rightAssoc2(pLeft, pOper, pRight) {\n return ab(reduceRight(ab(pLeft, pOper, (x, f) => [x, f]), (y) => y, ([x, f], acc) => (y) => f(x, acc(y))), pRight, (f, v) => f(v));\n}\nfunction condition(cond, pTrue, pFalse) {\n return (data, i) => (cond(data, i))\n ? pTrue(data, i)\n : pFalse(data, i);\n}\nfunction decide(p) {\n return (data, i) => mapOuter(p(data, i), (m1) => m1.value(data, m1.position));\n}\nfunction chain(p,\nf) {\n return (data, i) => mapOuter(p(data, i), (m1) => f(m1.value, data, i, m1.position)(data, m1.position));\n}\nfunction ahead(p) {\n return (data, i) => mapOuter(p(data, i), (m1) => ({\n matched: true,\n position: i,\n value: m1.value\n }));\n}\nfunction recursive(f) {\n return function (data, i) {\n return f()(data, i);\n };\n}\nfunction start(data, i) {\n return (i !== 0)\n ? { matched: false }\n : {\n matched: true,\n position: i,\n value: true\n };\n}\nfunction end(data, i) {\n return (i < data.tokens.length)\n ? { matched: false }\n : {\n matched: true,\n position: i,\n value: true\n };\n}\nfunction remainingTokensNumber(data, i) {\n return data.tokens.length - i;\n}\nfunction parserPosition(data, i, formatToken, contextTokens = 3) {\n const len = data.tokens.length;\n const lowIndex = clamp(0, i - contextTokens, len - contextTokens);\n const highIndex = clamp(contextTokens, i + 1 + contextTokens, len);\n const tokensSlice = data.tokens.slice(lowIndex, highIndex);\n const lines = [];\n const indexWidth = String(highIndex - 1).length + 1;\n if (i < 0) {\n lines.push(`${String(i).padStart(indexWidth)} >>`);\n }\n if (0 < lowIndex) {\n lines.push('...'.padStart(indexWidth + 6));\n }\n for (let j = 0; j < tokensSlice.length; j++) {\n const index = lowIndex + j;\n lines.push(`${String(index).padStart(indexWidth)} ${(index === i ? '>' : ' ')} ${escapeWhitespace(formatToken(tokensSlice[j]))}`);\n }\n if (highIndex < len) {\n lines.push('...'.padStart(indexWidth + 6));\n }\n if (len <= i) {\n lines.push(`${String(i).padStart(indexWidth)} >>`);\n }\n return lines.join('\\n');\n}\nfunction parse(parser, tokens, options, formatToken = JSON.stringify) {\n const data = { tokens: tokens, options: options };\n const result = parser(data, 0);\n if (!result.matched) {\n throw new Error('No match');\n }\n if (result.position < data.tokens.length) {\n throw new Error(`Partial match. Parsing stopped at:\\n${parserPosition(data, result.position, formatToken)}`);\n }\n return result.value;\n}\nfunction tryParse(parser, tokens, options) {\n const result = parser({ tokens: tokens, options: options }, 0);\n return (result.matched)\n ? result.value\n : undefined;\n}\nfunction match(matcher, tokens, options) {\n const result = matcher({ tokens: tokens, options: options }, 0);\n return result.value;\n}\n\nexport { ab, abc, action, ahead, all, all as and, any, chain, chainReduce, choice, condition, decide, skip as discard, otherwise as eitherOr, emit, end, end as eof, error, fail, flatten, flatten1, left, leftAssoc1, leftAssoc2, longest, ahead as lookAhead, make, many, many1, map, map1, match, middle, not, emit as of, option, choice as or, otherwise, parse, parserPosition, peek, recursive, reduceLeft, reduceRight, remainingTokensNumber, right, rightAssoc1, rightAssoc2, satisfy, sepBy, sepBy1, skip, many1 as some, start, takeUntil, takeUntilP, takeWhile, takeWhileP, token, tryParse };\n"],"x_google_ignoreList":[0],"mappings":"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"}