@blackglory/match 0.3.5 → 0.3.6

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 (217) hide show
  1. package/lib/index.js.map +1 -0
  2. package/lib/match-element.js.map +1 -0
  3. package/lib/match.js.map +1 -0
  4. package/lib/matchers/any-of.js.map +1 -0
  5. package/lib/matchers/child-nodes.js.map +1 -0
  6. package/lib/matchers/children.js.map +1 -0
  7. package/lib/matchers/css.js.map +1 -0
  8. package/lib/matchers/element.js.map +1 -0
  9. package/lib/matchers/multiple.js.map +1 -0
  10. package/lib/matchers/node.js.map +1 -0
  11. package/lib/matchers/optional.js.map +1 -0
  12. package/lib/matchers/repeat.js.map +1 -0
  13. package/lib/matchers/tap.js.map +1 -0
  14. package/lib/matchers/text-content-equals.js.map +1 -0
  15. package/lib/matchers/text-content-includes.js.map +1 -0
  16. package/lib/matchers/text-content-matches.js.map +1 -0
  17. package/lib/matchers/text-node.js.map +1 -0
  18. package/lib/matchers/xpath.js.map +1 -0
  19. package/lib/types.js.map +1 -0
  20. package/lib/utils/concat.js.map +1 -0
  21. package/lib/utils/match-multiple.js.map +1 -0
  22. package/lib/utils/match-one-by-one.js.map +1 -0
  23. package/lib/utils/merge-in-place.js.map +1 -0
  24. package/lib/utils/next-element-sibling.js.map +1 -0
  25. package/lib/utils/next-sibling.js.map +1 -0
  26. package/package.json +9 -25
  27. package/src/index.ts +18 -0
  28. package/src/match-element.ts +23 -0
  29. package/src/match.ts +23 -0
  30. package/src/matchers/any-of.ts +13 -0
  31. package/src/matchers/child-nodes.ts +33 -0
  32. package/src/matchers/children.ts +35 -0
  33. package/src/matchers/css.ts +24 -0
  34. package/src/matchers/element.ts +49 -0
  35. package/src/matchers/multiple.ts +59 -0
  36. package/src/matchers/node.ts +50 -0
  37. package/src/matchers/optional.ts +6 -0
  38. package/src/matchers/repeat.ts +25 -0
  39. package/src/matchers/tap.ts +12 -0
  40. package/src/matchers/text-content-equals.ts +28 -0
  41. package/src/matchers/text-content-includes.ts +28 -0
  42. package/src/matchers/text-content-matches.ts +20 -0
  43. package/src/matchers/text-node.ts +52 -0
  44. package/src/matchers/xpath.ts +54 -0
  45. package/src/types.ts +39 -0
  46. package/src/utils/concat.ts +9 -0
  47. package/src/utils/match-multiple.ts +27 -0
  48. package/src/utils/match-one-by-one.ts +47 -0
  49. package/src/utils/merge-in-place.ts +26 -0
  50. package/src/utils/next-element-sibling.ts +10 -0
  51. package/src/utils/next-sibling.ts +7 -0
  52. package/dist/es2015/index.min.mjs +0 -2
  53. package/dist/es2015/index.min.mjs.map +0 -1
  54. package/dist/es2015/index.mjs +0 -4445
  55. package/dist/es2015/index.mjs.map +0 -1
  56. package/dist/es2015/index.umd.js +0 -4471
  57. package/dist/es2015/index.umd.js.map +0 -1
  58. package/dist/es2015/index.umd.min.js +0 -2
  59. package/dist/es2015/index.umd.min.js.map +0 -1
  60. package/dist/es2018/index.min.mjs +0 -2
  61. package/dist/es2018/index.min.mjs.map +0 -1
  62. package/dist/es2018/index.mjs +0 -4453
  63. package/dist/es2018/index.mjs.map +0 -1
  64. package/dist/es2018/index.umd.js +0 -4479
  65. package/dist/es2018/index.umd.js.map +0 -1
  66. package/dist/es2018/index.umd.min.js +0 -2
  67. package/dist/es2018/index.umd.min.js.map +0 -1
  68. package/lib/es2015/index.js.map +0 -1
  69. package/lib/es2015/match-element.js.map +0 -1
  70. package/lib/es2015/match.js.map +0 -1
  71. package/lib/es2015/matchers/any-of.js.map +0 -1
  72. package/lib/es2015/matchers/child-nodes.js +0 -23
  73. package/lib/es2015/matchers/child-nodes.js.map +0 -1
  74. package/lib/es2015/matchers/children.js +0 -23
  75. package/lib/es2015/matchers/children.js.map +0 -1
  76. package/lib/es2015/matchers/css.js.map +0 -1
  77. package/lib/es2015/matchers/element.js.map +0 -1
  78. package/lib/es2015/matchers/multiple.js.map +0 -1
  79. package/lib/es2015/matchers/node.js.map +0 -1
  80. package/lib/es2015/matchers/optional.js.map +0 -1
  81. package/lib/es2015/matchers/repeat.js.map +0 -1
  82. package/lib/es2015/matchers/tap.js.map +0 -1
  83. package/lib/es2015/matchers/text-content-equals.js.map +0 -1
  84. package/lib/es2015/matchers/text-content-includes.js.map +0 -1
  85. package/lib/es2015/matchers/text-content-matches.js.map +0 -1
  86. package/lib/es2015/matchers/text-node.js.map +0 -1
  87. package/lib/es2015/matchers/xpath.js.map +0 -1
  88. package/lib/es2015/types.js.map +0 -1
  89. package/lib/es2015/utils/concat.js.map +0 -1
  90. package/lib/es2015/utils/match-multiple.js.map +0 -1
  91. package/lib/es2015/utils/match-one-by-one.js.map +0 -1
  92. package/lib/es2015/utils/merge-in-place.js.map +0 -1
  93. package/lib/es2015/utils/next-element-sibling.js.map +0 -1
  94. package/lib/es2015/utils/next-sibling.js.map +0 -1
  95. package/lib/es2018/index.d.ts +0 -17
  96. package/lib/es2018/index.js +0 -38
  97. package/lib/es2018/index.js.map +0 -1
  98. package/lib/es2018/match-element.d.ts +0 -4
  99. package/lib/es2018/match-element.js +0 -22
  100. package/lib/es2018/match-element.js.map +0 -1
  101. package/lib/es2018/match.d.ts +0 -4
  102. package/lib/es2018/match.js +0 -22
  103. package/lib/es2018/match.js.map +0 -1
  104. package/lib/es2018/matchers/any-of.d.ts +0 -6
  105. package/lib/es2018/matchers/any-of.js +0 -10
  106. package/lib/es2018/matchers/any-of.js.map +0 -1
  107. package/lib/es2018/matchers/child-nodes.d.ts +0 -2
  108. package/lib/es2018/matchers/child-nodes.js.map +0 -1
  109. package/lib/es2018/matchers/children.d.ts +0 -2
  110. package/lib/es2018/matchers/children.js.map +0 -1
  111. package/lib/es2018/matchers/css.d.ts +0 -3
  112. package/lib/es2018/matchers/css.js +0 -18
  113. package/lib/es2018/matchers/css.js.map +0 -1
  114. package/lib/es2018/matchers/element.d.ts +0 -4
  115. package/lib/es2018/matchers/element.js +0 -34
  116. package/lib/es2018/matchers/element.js.map +0 -1
  117. package/lib/es2018/matchers/multiple.d.ts +0 -10
  118. package/lib/es2018/matchers/multiple.js +0 -42
  119. package/lib/es2018/matchers/multiple.js.map +0 -1
  120. package/lib/es2018/matchers/node.d.ts +0 -4
  121. package/lib/es2018/matchers/node.js +0 -31
  122. package/lib/es2018/matchers/node.js.map +0 -1
  123. package/lib/es2018/matchers/optional.d.ts +0 -2
  124. package/lib/es2018/matchers/optional.js +0 -9
  125. package/lib/es2018/matchers/optional.js.map +0 -1
  126. package/lib/es2018/matchers/repeat.d.ts +0 -2
  127. package/lib/es2018/matchers/repeat.js +0 -20
  128. package/lib/es2018/matchers/repeat.js.map +0 -1
  129. package/lib/es2018/matchers/tap.d.ts +0 -2
  130. package/lib/es2018/matchers/tap.js +0 -12
  131. package/lib/es2018/matchers/tap.js.map +0 -1
  132. package/lib/es2018/matchers/text-content-equals.d.ts +0 -7
  133. package/lib/es2018/matchers/text-content-equals.js +0 -20
  134. package/lib/es2018/matchers/text-content-equals.js.map +0 -1
  135. package/lib/es2018/matchers/text-content-includes.d.ts +0 -7
  136. package/lib/es2018/matchers/text-content-includes.js +0 -20
  137. package/lib/es2018/matchers/text-content-includes.js.map +0 -1
  138. package/lib/es2018/matchers/text-content-matches.d.ts +0 -6
  139. package/lib/es2018/matchers/text-content-matches.js +0 -16
  140. package/lib/es2018/matchers/text-content-matches.js.map +0 -1
  141. package/lib/es2018/matchers/text-node.d.ts +0 -4
  142. package/lib/es2018/matchers/text-node.js +0 -34
  143. package/lib/es2018/matchers/text-node.js.map +0 -1
  144. package/lib/es2018/matchers/xpath.d.ts +0 -3
  145. package/lib/es2018/matchers/xpath.js +0 -34
  146. package/lib/es2018/matchers/xpath.js.map +0 -1
  147. package/lib/es2018/types.d.ts +0 -18
  148. package/lib/es2018/types.js +0 -3
  149. package/lib/es2018/types.js.map +0 -1
  150. package/lib/es2018/utils/concat.d.ts +0 -1
  151. package/lib/es2018/utils/concat.js +0 -14
  152. package/lib/es2018/utils/concat.js.map +0 -1
  153. package/lib/es2018/utils/match-multiple.d.ts +0 -2
  154. package/lib/es2018/utils/match-multiple.js +0 -21
  155. package/lib/es2018/utils/match-multiple.js.map +0 -1
  156. package/lib/es2018/utils/match-one-by-one.d.ts +0 -2
  157. package/lib/es2018/utils/match-one-by-one.js +0 -38
  158. package/lib/es2018/utils/match-one-by-one.js.map +0 -1
  159. package/lib/es2018/utils/merge-in-place.d.ts +0 -5
  160. package/lib/es2018/utils/merge-in-place.js +0 -31
  161. package/lib/es2018/utils/merge-in-place.js.map +0 -1
  162. package/lib/es2018/utils/next-element-sibling.d.ts +0 -1
  163. package/lib/es2018/utils/next-element-sibling.js +0 -11
  164. package/lib/es2018/utils/next-element-sibling.js.map +0 -1
  165. package/lib/es2018/utils/next-sibling.d.ts +0 -1
  166. package/lib/es2018/utils/next-sibling.js +0 -11
  167. package/lib/es2018/utils/next-sibling.js.map +0 -1
  168. /package/lib/{es2015/index.d.ts → index.d.ts} +0 -0
  169. /package/lib/{es2015/index.js → index.js} +0 -0
  170. /package/lib/{es2015/match-element.d.ts → match-element.d.ts} +0 -0
  171. /package/lib/{es2015/match-element.js → match-element.js} +0 -0
  172. /package/lib/{es2015/match.d.ts → match.d.ts} +0 -0
  173. /package/lib/{es2015/match.js → match.js} +0 -0
  174. /package/lib/{es2015/matchers → matchers}/any-of.d.ts +0 -0
  175. /package/lib/{es2015/matchers → matchers}/any-of.js +0 -0
  176. /package/lib/{es2015/matchers → matchers}/child-nodes.d.ts +0 -0
  177. /package/lib/{es2018/matchers → matchers}/child-nodes.js +0 -0
  178. /package/lib/{es2015/matchers → matchers}/children.d.ts +0 -0
  179. /package/lib/{es2018/matchers → matchers}/children.js +0 -0
  180. /package/lib/{es2015/matchers → matchers}/css.d.ts +0 -0
  181. /package/lib/{es2015/matchers → matchers}/css.js +0 -0
  182. /package/lib/{es2015/matchers → matchers}/element.d.ts +0 -0
  183. /package/lib/{es2015/matchers → matchers}/element.js +0 -0
  184. /package/lib/{es2015/matchers → matchers}/multiple.d.ts +0 -0
  185. /package/lib/{es2015/matchers → matchers}/multiple.js +0 -0
  186. /package/lib/{es2015/matchers → matchers}/node.d.ts +0 -0
  187. /package/lib/{es2015/matchers → matchers}/node.js +0 -0
  188. /package/lib/{es2015/matchers → matchers}/optional.d.ts +0 -0
  189. /package/lib/{es2015/matchers → matchers}/optional.js +0 -0
  190. /package/lib/{es2015/matchers → matchers}/repeat.d.ts +0 -0
  191. /package/lib/{es2015/matchers → matchers}/repeat.js +0 -0
  192. /package/lib/{es2015/matchers → matchers}/tap.d.ts +0 -0
  193. /package/lib/{es2015/matchers → matchers}/tap.js +0 -0
  194. /package/lib/{es2015/matchers → matchers}/text-content-equals.d.ts +0 -0
  195. /package/lib/{es2015/matchers → matchers}/text-content-equals.js +0 -0
  196. /package/lib/{es2015/matchers → matchers}/text-content-includes.d.ts +0 -0
  197. /package/lib/{es2015/matchers → matchers}/text-content-includes.js +0 -0
  198. /package/lib/{es2015/matchers → matchers}/text-content-matches.d.ts +0 -0
  199. /package/lib/{es2015/matchers → matchers}/text-content-matches.js +0 -0
  200. /package/lib/{es2015/matchers → matchers}/text-node.d.ts +0 -0
  201. /package/lib/{es2015/matchers → matchers}/text-node.js +0 -0
  202. /package/lib/{es2015/matchers → matchers}/xpath.d.ts +0 -0
  203. /package/lib/{es2015/matchers → matchers}/xpath.js +0 -0
  204. /package/lib/{es2015/types.d.ts → types.d.ts} +0 -0
  205. /package/lib/{es2015/types.js → types.js} +0 -0
  206. /package/lib/{es2015/utils → utils}/concat.d.ts +0 -0
  207. /package/lib/{es2015/utils → utils}/concat.js +0 -0
  208. /package/lib/{es2015/utils → utils}/match-multiple.d.ts +0 -0
  209. /package/lib/{es2015/utils → utils}/match-multiple.js +0 -0
  210. /package/lib/{es2015/utils → utils}/match-one-by-one.d.ts +0 -0
  211. /package/lib/{es2015/utils → utils}/match-one-by-one.js +0 -0
  212. /package/lib/{es2015/utils → utils}/merge-in-place.d.ts +0 -0
  213. /package/lib/{es2015/utils → utils}/merge-in-place.js +0 -0
  214. /package/lib/{es2015/utils → utils}/next-element-sibling.d.ts +0 -0
  215. /package/lib/{es2015/utils → utils}/next-element-sibling.js +0 -0
  216. /package/lib/{es2015/utils → utils}/next-sibling.d.ts +0 -0
  217. /package/lib/{es2015/utils → utils}/next-sibling.js +0 -0
@@ -0,0 +1,20 @@
1
+ import { ITerminalMatcher } from '@src/types'
2
+ import { isNull } from '@blackglory/types'
3
+
4
+ interface ITextContentMatchesOptions {
5
+ trim?: boolean
6
+ }
7
+
8
+ export function textContentMatches(
9
+ pattern: RegExp
10
+ , { trim = false }: ITextContentMatchesOptions = {}
11
+ ): ITerminalMatcher<Node> {
12
+ return (node: Node) => {
13
+ if (isNull(node.textContent)) return false
14
+
15
+ let textContent = node.textContent
16
+ if (trim) textContent = textContent.trim()
17
+
18
+ return pattern.test(textContent)
19
+ }
20
+ }
@@ -0,0 +1,52 @@
1
+ import { INestedMatcher, ITerminalMatcher, IReadonlyContext } from '@src/types'
2
+ import { isArray, isString } from '@blackglory/types'
3
+ import { concat } from '@utils/concat'
4
+ import { isntTextNode } from 'extra-dom'
5
+ import { mergeInPlace } from '@utils/merge-in-place'
6
+
7
+ export function textNode(
8
+ strings: TemplateStringsArray
9
+ , ...values: string[]
10
+ ): (...matchers: Array<ITerminalMatcher<Node>>) => INestedMatcher<Node>
11
+ export function textNode(
12
+ name: string
13
+ , ...matchers: Array<ITerminalMatcher<Node>>
14
+ ): INestedMatcher<Node>
15
+ export function textNode(
16
+ ...matchers: Array<ITerminalMatcher<Node>>
17
+ ): INestedMatcher<Node>
18
+ export function textNode(...args:
19
+ | [strings: TemplateStringsArray, ...values: string[]]
20
+ | [name: string, ...matchers: Array<ITerminalMatcher<Node>>]
21
+ | [...matchers: Array<ITerminalMatcher<Node>>]
22
+ ) {
23
+ if (isArray(args[0])) {
24
+ const [strings, ...values] =
25
+ args as [strings: TemplateStringsArray, ...values: string[]]
26
+ const name = concat(strings, values).join('')
27
+
28
+ return (...matchers: Array<ITerminalMatcher<Node>>) => textNode(name, ...matchers)
29
+ }
30
+
31
+ if (isString(args[0])) {
32
+ const [name, ...matchers] =
33
+ args as [name: string, ...matchers: Array<ITerminalMatcher<Node>>]
34
+
35
+ return function (this: IReadonlyContext, node: Node) {
36
+ const result = textNode(...matchers).call(this, node)
37
+ if (result) {
38
+ mergeInPlace(this.collection, { [name]: node })
39
+ }
40
+ return result
41
+ }
42
+ }
43
+
44
+ const [...matchers] = args as [...matchers: Array<ITerminalMatcher<Node>>]
45
+
46
+ return function (this: IReadonlyContext, node: Node) {
47
+ if (isntTextNode(node)) return false
48
+ if (matchers.length === 0) return true
49
+
50
+ return matchers.every(match => match.call(this, node))
51
+ }
52
+ }
@@ -0,0 +1,54 @@
1
+ import { ITerminalMatcher, IReadonlyContext } from '@src/types'
2
+ import { isString } from '@blackglory/types'
3
+ import { concat } from '@utils/concat'
4
+ import { assert } from '@blackglory/errors'
5
+
6
+ const UNORDERED_NODE_ITERATOR_TYPE =
7
+ 'XPathResult' in globalThis
8
+ ? XPathResult.UNORDERED_NODE_ITERATOR_TYPE
9
+ : 4
10
+
11
+ export function xpath(
12
+ strings: TemplateStringsArray
13
+ , ...values: string[]
14
+ ): ITerminalMatcher<Node>
15
+ export function xpath(
16
+ experssion: string
17
+ ): ITerminalMatcher<Node>
18
+ export function xpath(...args:
19
+ | [expression: string]
20
+ | [strings: TemplateStringsArray, ...values: string[]]
21
+ ): ITerminalMatcher<Node> {
22
+ if (isString(args[0])) {
23
+ const [expression] = args
24
+ assert(expression.startsWith('//*'), 'XPath expressions must start with "//*"')
25
+
26
+ return function (
27
+ this: Pick<IReadonlyContext, 'document'>
28
+ , node: Node
29
+ ): boolean {
30
+ return xpathMatches(this.document, expression, node)
31
+ }
32
+ } else {
33
+ const [strings, ...values] = args
34
+ const expression = concat(strings, values).join('')
35
+
36
+ return xpath(expression)
37
+ }
38
+ }
39
+
40
+ function xpathMatches(document: Document, expression: string, node: Node): boolean {
41
+ const iterator = document.evaluate(
42
+ expression
43
+ , node
44
+ , null
45
+ , UNORDERED_NODE_ITERATOR_TYPE
46
+ , null
47
+ )
48
+
49
+ let value
50
+ while ((value = iterator.iterateNext()) !== null) {
51
+ if (value === node) return true
52
+ }
53
+ return false
54
+ }
package/src/types.ts ADDED
@@ -0,0 +1,39 @@
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
+
9
+ export interface IReadonlyContext {
10
+ readonly document: Document
11
+ readonly next: (node: Node, distance?: number) => Node | undefined
12
+ readonly collection: {
13
+ readonly [name: string]: Node | Node[]
14
+ }
15
+ }
16
+
17
+ export type IMatcher<T extends Node> =
18
+ | ITerminalMatcher<T>
19
+ | INestedMatcher<T>
20
+ | ISkipMatcher<T>
21
+ | (
22
+ <T extends Node>(this: IReadonlyContext, node: T) =>
23
+ boolean | number | Iterable<number>
24
+ )
25
+
26
+ export type INestedMatcher<T extends Node> = (
27
+ this: IReadonlyContext
28
+ , node: T
29
+ ) => boolean
30
+
31
+ export type ISkipMatcher<T extends Node> = (
32
+ this: IReadonlyContext
33
+ , node: T
34
+ ) => number | Iterable<number> | false
35
+
36
+ export type ITerminalMatcher<T extends Node> = (
37
+ this: IReadonlyContext
38
+ , node: T
39
+ ) => boolean
@@ -0,0 +1,9 @@
1
+ export function concat(strings: TemplateStringsArray, values: string[]): string[] {
2
+ const result = []
3
+ for (let i = 0, len = values.length; i < len; i++) {
4
+ result.push(strings[i])
5
+ result.push(values[i])
6
+ }
7
+ result.push(strings[strings.length - 1])
8
+ return result
9
+ }
@@ -0,0 +1,27 @@
1
+ import { countup } from 'extra-generator'
2
+ import { INestedMatcher, ITerminalMatcher, IReadonlyContext } from '@src/types'
3
+
4
+ /**
5
+ * @returns {number} 返回值为成功匹配的元素个数, 当此值等于ubound时, 代表匹配成功.
6
+ */
7
+ export function matchMultiple<T extends Node>(
8
+ this: IReadonlyContext
9
+ , node: T
10
+ , ubound: number
11
+ , matcher: INestedMatcher<T> | ITerminalMatcher<T>
12
+ ): number {
13
+ let currentNode: T | null = node
14
+
15
+ for (const round of countup(1, ubound)) {
16
+ if (!currentNode) return round - 1
17
+
18
+ const result = matcher.call(this, currentNode)
19
+ if (result) {
20
+ currentNode = this.next(currentNode) as T | null
21
+ } else {
22
+ return round - 1
23
+ }
24
+ }
25
+
26
+ return ubound
27
+ }
@@ -0,0 +1,47 @@
1
+ import { IMatcher, IReadonlyContext } from '@src/types'
2
+ import { isBoolean, isNumber, isIterable } from '@blackglory/types'
3
+
4
+ export function matchOneByOne<T extends Node>(
5
+ context: IReadonlyContext
6
+ , source: T | null
7
+ , ...matchers: Array<IMatcher<T>>
8
+ ): boolean {
9
+ if (matchers.length === 0) return true
10
+ if (!source) return false
11
+
12
+ const [matcher, ...otherMatchers] = matchers
13
+
14
+ const result = Reflect.apply(matcher, context, [source]) as ReturnType<typeof matcher>
15
+
16
+ // TerminalMatcher
17
+ if (isBoolean(result)) {
18
+ if (result) {
19
+ const nextNode = context.next(source) as T | null
20
+ return matchOneByOne(context, nextNode, ...otherMatchers)
21
+ } else {
22
+ return false
23
+ }
24
+ }
25
+
26
+ // 此处一定是成功匹配, 因为SkipMatcher在失败时会返回false.
27
+ if (isNumber(result)) {
28
+ const distance = result
29
+ const nextNode = context.next(source, distance) as T | null
30
+ return matchOneByOne(context, nextNode, ...otherMatchers)
31
+ }
32
+
33
+ // SkipMatcher返回Iterable意味着存在多种可能性, 可能出现失败回溯.
34
+ if (isIterable(result)) {
35
+ for (const distance of result) {
36
+ const nextNode = context.next(source, distance) as T | null
37
+ if (matchOneByOne(context, nextNode, ...otherMatchers)) {
38
+ return true
39
+ }
40
+ }
41
+
42
+ // 尝试了所有可能性, 未发现可以匹配的结果
43
+ return false
44
+ }
45
+
46
+ throw new Error('Unknown return value')
47
+ }
@@ -0,0 +1,26 @@
1
+ import { isArray } from '@blackglory/types'
2
+
3
+ export function mergeInPlace<T>(
4
+ target: { [key: string]: T | T[] }
5
+ , source: { [key: string]: T | T[] }
6
+ ): void {
7
+ for (const [key, value] of Object.entries(source)) {
8
+ if (target[key]) {
9
+ if (isArray(target[key])) {
10
+ if (isArray(value)) {
11
+ target[key] = [...target[key] as T[], ...value]
12
+ } else {
13
+ target[key] = [...target[key] as T[], value]
14
+ }
15
+ } else {
16
+ if (isArray(value)) {
17
+ target[key] = [target[key] as T, ...value]
18
+ } else {
19
+ target[key] = [target[key] as T, value]
20
+ }
21
+ }
22
+ } else {
23
+ target[key] = value
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,10 @@
1
+ import * as ExtraDOM from 'extra-dom'
2
+
3
+ export function nextElementSibling(
4
+ node: Node
5
+ , distance: number = 1
6
+ ): Node | undefined {
7
+ if (distance === 0) return node
8
+
9
+ return ExtraDOM.nextElementSibling(node, distance)
10
+ }
@@ -0,0 +1,7 @@
1
+ import * as ExtraDOM from 'extra-dom'
2
+
3
+ export function nextSibling(node: Node, distance: number = 1): Node | undefined {
4
+ if (distance === 0) return node
5
+
6
+ return ExtraDOM.nextSibling(node, distance)
7
+ }
@@ -1,2 +0,0 @@
1
- var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n={},e={},r={};function o(t){return t.cloneNode(!0)}r.copyNodesToChildNodes=r.cloneNodes=r.clone=void 0,r.clone=o,r.cloneNodes=function(t){return t.map((t=>o(t)))},r.copyNodesToChildNodes=function(t,n){t.forEach((t=>n.appendChild(t)))};var i={};i.removeAllChildren=void 0,i.removeAllChildren=function(t){for(;t.firstChild;)t.removeChild(t.firstChild)},e.flatMap=void 0;const s=r,a=i;e.flatMap=function t(n,e){return(0,s.cloneNodes)(e((0,s.clone)(n))).map((n=>{const r=[];for(const o of n.childNodes)r.push(...(0,s.cloneNodes)(t(o,e)));return(0,a.removeAllChildren)(n),(0,s.copyNodesToChildNodes)(r,n),n}))};var c={map:void 0};const u=r;c.map=function t(n,e){const r=(0,u.clone)(e((0,u.clone)(n)));for(const n of r.childNodes)r.replaceChild(t(n,e),n);return r};var l={filter:void 0};const f=e;l.filter=function(t,n){const e=(0,f.flatMap)(t,(t=>n(t)?[t]:[]));if(1===e.length)return e[0]};var d,y,v={},p={},m={},b={},h={},g={};g.go=void 0,g.go=function(t){return t()},d=h,y=t&&t.__createBinding||(Object.create?function(t,n,e,r){void 0===r&&(r=e),Object.defineProperty(t,r,{enumerable:!0,get:function(){return n[e]}})}:function(t,n,e,r){void 0===r&&(r=e),t[r]=n[e]}),(t&&t.__exportStar||function(t,n){for(var e in t)"default"===e||Object.prototype.hasOwnProperty.call(n,e)||y(n,t,e)})(g,d);var N={},E={CustomError:void 0};class O extends Error{get name(){return this.constructor.name}}E.CustomError=O;var T={ExpectedError:void 0};const A=E;class w extends A.CustomError{}T.ExpectedError=w;var S={AssertionError:void 0};const _=E;class R extends _.CustomError{}S.AssertionError=R;var I={};I.normalize=void 0,I.normalize=function(t){var n;return{name:t.name,message:t.message,stack:null!==(n=t.stack)&&void 0!==n?n:null}};var D={refute:void 0};const P=T;D.refute=function(t,n){if(t)throw new P.ExpectedError(n)};var j={assert:void 0};const x=S;j.assert=function(t,n){if(!t)throw new x.AssertionError(n)},function(n){var e=t&&t.__createBinding||(Object.create?function(t,n,e,r){void 0===r&&(r=e),Object.defineProperty(t,r,{enumerable:!0,get:function(){return n[e]}})}:function(t,n,e,r){void 0===r&&(r=e),t[r]=n[e]}),r=t&&t.__exportStar||function(t,n){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||e(n,t,r)};r(E,n),r(T,n),r(S,n),r(I,n),r(D,n),r(j,n)}(N),b.chunkAsync=void 0;const C=h,B=N;b.chunkAsync=function(t,n){return(0,B.assert)(Number.isInteger(n),"The parameter size must be an integer"),(0,B.assert)(n>0,"The parameter size must be greater than 0"),(0,C.go)((async function*(){let e=[];for await(const r of t)e.push(r),e.length>=n&&(yield e,e=[]);e.length&&(yield e)}))};var U={},J={},M={};function Y(t){return Array.isArray(t)}M.isntEmptyArray=M.isEmptyArray=M.isntArray=M.isArray=void 0,M.isArray=Y,M.isntArray=function(t){return!Y(t)},M.isEmptyArray=function(t){return 0===t.length},M.isntEmptyArray=function(t){return 0!==t.length};var q={},k={};function F(t){return null===t}k.isntNull=k.isNull=void 0,k.isNull=F,k.isntNull=function(t){return!F(t)};var L={};function X(t){return void 0===t}L.isntUndefined=L.isUndefined=void 0,L.isUndefined=X,L.isntUndefined=function(t){return!X(t)},q.isntAsyncIterable=q.isAsyncIterable=void 0;const z=k,G=L;function H(t){return(0,z.isntNull)(t)&&(0,G.isntUndefined)(t)&&"function"==typeof t[Symbol.asyncIterator]}q.isAsyncIterable=H,q.isntAsyncIterable=function(t){return!H(t)};var $={};function W(t){return"bigint"==typeof t}$.isntBigInt=$.isBigInt=void 0,$.isBigInt=W,$.isntBigInt=function(t){return!W(t)};var V={};function K(t){return"boolean"==typeof t}V.isntBoolean=V.isBoolean=void 0,V.isBoolean=K,V.isntBoolean=function(t){return!K(t)};var Q={},Z={};function tt(t){return"string"==typeof t}Z.isntString=Z.isString=void 0,Z.isString=tt,Z.isntString=function(t){return!tt(t)},Q.isntChar=Q.isChar=void 0;const nt=Z;function et(t){return(0,nt.isString)(t)&&1===t.length}Q.isChar=et,Q.isntChar=function(t){return!et(t)};var rt={};function ot(t){return t instanceof Date}rt.isntDate=rt.isDate=void 0,rt.isDate=ot,rt.isntDate=function(t){return!ot(t)};var it={};it.inEnum=void 0,it.inEnum=function(t,n){return Object.values(n).includes(t)};var st={};function at(t){return t instanceof Error}st.isntError=st.isError=void 0,st.isError=at,st.isntError=function(t){return!at(t)};var ct={};function ut(t){return!t}ct.isntFalsy=ct.isFalsy=void 0,ct.isFalsy=ut,ct.isntFalsy=function(t){return!ut(t)};var lt={};function ft(t){return"function"==typeof t}lt.isntFunction=lt.isFunction=void 0,lt.isFunction=ft,lt.isntFunction=function(t){return!ft(t)};var dt={};dt.isntIterable=dt.isIterable=void 0;const yt=k,vt=L;function pt(t){return(0,yt.isntNull)(t)&&(0,vt.isntUndefined)(t)&&"function"==typeof t[Symbol.iterator]}dt.isIterable=pt,dt.isntIterable=function(t){return!pt(t)};var mt={},bt={};function ht(t){return null!==t&&"object"==typeof t}bt.isntEmptyObject=bt.isEmptyObject=bt.isRecord=bt.isntObject=bt.isObject=void 0,bt.isObject=ht,bt.isntObject=function(t){return!ht(t)},bt.isRecord=function(t){return ht(t)},bt.isEmptyObject=function(t){return 0===Object.keys(t).length},bt.isntEmptyObject=function(t){return 0!==Object.keys(t).length};var gt={};function Nt(t){return"number"==typeof t}gt.isntNumber=gt.isNumber=void 0,gt.isNumber=Nt,gt.isntNumber=function(t){return!Nt(t)},mt.isntJsonRpcError=mt.isJsonRpcError=mt.isntJsonRpcSuccess=mt.isJsonRpcSuccess=mt.isntJsonRpcRequest=mt.isJsonRpcRequest=mt.isntJsonRpcNotification=mt.isJsonRpcNotification=void 0;const Et=M,Ot=bt,Tt=Z,At=gt,wt=L;function St(t){return(0,Tt.isString)(t)||(0,At.isNumber)(t)}function _t(t){return(0,Et.isArray)(t)||(0,Ot.isObject)(t)}function Rt(t){return(0,Ot.isRecord)(t)&&(0,Tt.isString)(t.jsonrpc)&&(0,Tt.isString)(t.method)&&(0,wt.isUndefined)(t.id)&&_t(t.params)}function It(t){return(0,Ot.isRecord)(t)&&(0,Tt.isString)(t.jsonrpc)&&(0,Tt.isString)(t.method)&&St(t.id)&&_t(t.params)}function Dt(t){return(0,Ot.isRecord)(t)&&(0,Tt.isString)(t.jsonrpc)&&(0,Tt.isString)(t.id)&&"result"in t}function Pt(t){return(0,Ot.isRecord)(t)&&(0,Tt.isString)(t.jsonrpc)&&St(t.id)&&function(t){return(0,Ot.isRecord)(t)&&(0,At.isNumber)(t.code)&&(0,Tt.isString)(t.message)&&((0,wt.isUndefined)(t.data)||(0,Ot.isObject)(t.data))}(t.error)}mt.isJsonRpcNotification=Rt,mt.isntJsonRpcNotification=function(t){return!Rt(t)},mt.isJsonRpcRequest=It,mt.isntJsonRpcRequest=function(t){return!It(t)},mt.isJsonRpcSuccess=Dt,mt.isntJsonRpcSuccess=function(t){return!Dt(t)},mt.isJsonRpcError=Pt,mt.isntJsonRpcError=function(t){return!Pt(t)};var jt={};jt.isntJson=jt.isJson=void 0,jt.isJson=function(t){try{return JSON.stringify(t),!0}catch(t){return!1}},jt.isntJson=function t(n){return!t()};var xt={};xt.isAbsoluteURL=void 0,xt.isAbsoluteURL=function(t){try{return new URL(t),!0}catch(t){return!1}},function(n){var e=t&&t.__createBinding||(Object.create?function(t,n,e,r){void 0===r&&(r=e),Object.defineProperty(t,r,{enumerable:!0,get:function(){return n[e]}})}:function(t,n,e,r){void 0===r&&(r=e),t[r]=n[e]}),r=t&&t.__exportStar||function(t,n){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||e(n,t,r)};r(M,n),r(q,n),r($,n),r(V,n),r(Q,n),r(rt,n),r(it,n),r(st,n),r(ct,n),r(lt,n),r(dt,n),r(mt,n),r(jt,n),r(k,n),r(gt,n),r(bt,n),r(Z,n),r(L,n),r(xt,n)}(J),U.chunkByAsync=void 0;const Ct=J;U.chunkByAsync=function(t,n){return(0,Ct.isAsyncIterable)(t)?async function*(t){let e=[],r=0;for await(const o of t)e.push(o),await n(o,r)&&(yield e,e=[]),r++;e.length&&(yield e)}(t):async function*(t){let e=[],r=0;for(const o of t)e.push(o),await n(o,r)&&(yield e,e=[]),r++;e.length&&(yield e)}(t)};var Bt={};Bt.chunkBy=void 0,Bt.chunkBy=function*(t,n){let e=[],r=0;for(const o of t)e.push(o),n(o,r)&&(yield e,e=[]),r++;e.length&&(yield e)};var Ut={chunk:void 0};const Jt=h,Mt=N;Ut.chunk=function(t,n){return(0,Mt.assert)(Number.isInteger(n),"The parameter size must be an integer"),(0,Mt.assert)(n>0,"The parameter size must be greater than 0"),(0,Jt.go)((function*(){let e=[];for(const r of t)e.push(r),e.length>=n&&(yield e,e=[]);e.length&&(yield e)}))};var Yt={concatAsync:void 0};const qt=J,kt=h;Yt.concatAsync=function(t,...n){return(0,kt.go)((async function*(){for(const e of[t,...n])if((0,qt.isAsyncIterable)(e))for await(const t of e)yield t;else for(const t of e)yield t}))};var Ft={concat:void 0};const Lt=h;Ft.concat=function(t,...n){return(0,Lt.go)((function*(){for(const e of[t,...n])yield*e}))};var Xt={},zt={};zt.copyIterable=zt.copyAsyncIterable=void 0,zt.copyAsyncIterable=async function*(t){for await(const n of t)yield n},zt.copyIterable=function*(t){for(const n of t)yield n},Xt.dropAsync=void 0;const Gt=h,Ht=zt,$t=N;Xt.dropAsync=function(t,n){return(0,$t.assert)(Number.isInteger(n),"The parameter count must be an integer"),(0,$t.assert)(n>=0,"The parameter count must be greater than or equal to 0"),0===n?(0,Ht.copyAsyncIterable)(t):(0,Gt.go)((async function*(){var e;const r=t[Symbol.asyncIterator]();let o;try{let t;for(;!(({value:t,done:o}=await r.next()),o||n<=0);)n--;for(;!o;)yield t,({value:t,done:o}=await r.next())}finally{o||await(null===(e=r.return)||void 0===e?void 0:e.call(r))}}))};var Wt={dropRightAsync:void 0};const Vt=h,Kt=zt,Qt=N;Wt.dropRightAsync=function(t,n){return(0,Qt.assert)(Number.isInteger(n),"The parameter count must be an integer"),(0,Qt.assert)(n>=0,"The parameter count must be greater than or equal to 0"),0===n?(0,Kt.copyAsyncIterable)(t):(0,Vt.go)((async function*(){const e=(await async function(t){const n=[];for await(const e of t)n.push(e);return n}(t)).slice(0,-n);for(const t of e)yield t}))};var Zt={dropRight:void 0};const tn=h,nn=zt,en=N;Zt.dropRight=function(t,n){return(0,en.assert)(Number.isInteger(n),"The parameter count must be an integer"),(0,en.assert)(n>=0,"The parameter count must be greater than or equal to 0"),0===n?(0,nn.copyIterable)(t):(0,tn.go)((function*(){const e=Array.from(t);yield*e.slice(0,-n)}))};var rn={dropUntilAsync:void 0};const on=J;rn.dropUntilAsync=function(t,n){return(0,on.isAsyncIterable)(t)?async function*(t){var e;const r=t[Symbol.asyncIterator]();let o;try{let t,i=0;for(;!(({value:t,done:o}=await r.next()),o||await n(t,i++)););for(;!o;)yield t,({value:t,done:o}=await r.next())}finally{o||await(null===(e=r.return)||void 0===e?void 0:e.call(r))}}(t):async function*(t){var e;const r=t[Symbol.iterator]();let o;try{let t,i=0;for(;!(({value:t,done:o}=r.next()),o||await n(t,i++)););for(;!o;)yield t,({value:t,done:o}=r.next())}finally{o||null===(e=r.return)||void 0===e||e.call(r)}}(t)};var sn={};sn.dropUntil=void 0,sn.dropUntil=function*(t,n){var e;const r=t[Symbol.iterator]();let o;try{let t,i=0;for(;!(({value:t,done:o}=r.next()),o||n(t,i++)););for(;!o;)yield t,({value:t,done:o}=r.next())}finally{o||null===(e=r.return)||void 0===e||e.call(r)}};var an={drop:void 0};const cn=h,un=zt,ln=N;an.drop=function(t,n){return(0,ln.assert)(Number.isInteger(n),"The parameter count must be an integer"),(0,ln.assert)(n>=0,"The parameter count must be greater than or equal to 0"),0===n?(0,un.copyIterable)(t):(0,cn.go)((function*(){var e;const r=t[Symbol.iterator]();let o;try{let t;for(;!(({value:t,done:o}=r.next()),o||n<=0);)n--;for(;!o;)yield t,({value:t,done:o}=r.next())}finally{o||null===(e=r.return)||void 0===e||e.call(r)}}))};var fn={filterAsync:void 0};const dn=J;fn.filterAsync=function(t,n){return(0,dn.isAsyncIterable)(t)?async function*(t){let e=0;for await(const r of t)await n(r,e)&&(yield r),e++}(t):async function*(t){let e=0;for(const r of t)await n(r,e)&&(yield r),e++}(t)};var yn={};yn.filter=void 0,yn.filter=function*(t,n){let e=0;for(const r of t)n(r,e)&&(yield r),e++};var vn={},pn={},mn={flattenByAsync:void 0};const bn=J;function hn(t){return(0,bn.isIterable)(t)&&(0,bn.isntChar)(t)}mn.flattenByAsync=function(t,n){return(0,bn.isAsyncIterable)(t)?async function*(t){const r=1;for await(const o of t)hn(o)&&await n(o,r)?yield*e(o,r+1):yield o}(t):function(t){return e(t,1)}(t);async function*e(t,r){for(const o of t)hn(o)&&await n(o,r)?yield*e(o,r+1):yield o}},pn.flattenDeepAsync=void 0;const gn=mn,Nn=N;pn.flattenDeepAsync=function(t,n=1/0){return(0,Nn.assert)(n===1/0||Number.isInteger(n),"The parameter depth must be an integer"),(0,Nn.assert)(n>=0,"The parameter depth must be greater than or equal to 0"),(0,gn.flattenByAsync)(t,((t,e)=>e<=n))},vn.flattenAsync=void 0;const En=pn;vn.flattenAsync=function(t){return(0,En.flattenDeepAsync)(t,1)};var On={flattenBy:void 0};const Tn=J;On.flattenBy=function(t,n){return function*t(e,r){for(const i of e)o=i,(0,Tn.isIterable)(o)&&(0,Tn.isntChar)(o)&&n(i,r)?yield*t(i,r+1):yield i;var o}(t,1)};var An={flattenDeep:void 0};const wn=On,Sn=N;An.flattenDeep=function(t,n=1/0){return(0,Sn.assert)(n===1/0||Number.isInteger(n),"The parameter depth must be an integer"),(0,Sn.assert)(n>=0,"The parameter depth must be greater than or equal to 0"),(0,wn.flattenBy)(t,((t,e)=>e<=n))};var _n={flatten:void 0};const Rn=An;_n.flatten=function(t){return(0,Rn.flattenDeep)(t,1)};var In={mapAsync:void 0};const Dn=J;In.mapAsync=function(t,n){return(0,Dn.isAsyncIterable)(t)?async function*(t){let e=0;for await(const r of t)yield await n(r,e),e++}(t):async function*(t){let e=0;for(const r of t)yield await n(r,e),e++}(t)};var Pn={};Pn.map=void 0,Pn.map=function*(t,n){let e=0;for(const r of t)yield n(r,e),e++};var jn={repeatAsync:void 0};const xn=h,Cn=N;jn.repeatAsync=function(t,n){return(0,Cn.assert)(n===1/0||Number.isInteger(n),"The parameter times must be an integer"),(0,Cn.assert)(n>=0,"The parameter times must be greater than or equal to 0"),n===1/0&&function(){if("production"===process.env.NODE_ENV)return;console.warn("When iterable has no elements and times is Infinity, repeat() will be in dead loop")}(),(0,xn.go)((async function*(){const e=[];if(n>0){for await(const n of t)yield n,e.push(n);n--}for(;n>0;)yield*e,n--}))};var Bn={repeat:void 0};const Un=h,Jn=N;Bn.repeat=function(t,n){return(0,Jn.assert)(n===1/0||Number.isInteger(n),"The parameter times must be an integer"),(0,Jn.assert)(n>=0,"The parameter times must be greater than or equal to 0"),n===1/0&&function(){if("production"===process.env.NODE_ENV)return;console.warn("When iterable has no elements and times is Infinity, repeat() will be in dead loop")}(),(0,Un.go)((function*(){const e=[];if(n>0){for(const n of t)yield n,e.push(n);n--}for(;n>0;)yield*e,n--}))};var Mn={sliceAsync:void 0};const Yn=h,qn=N;Mn.sliceAsync=function(t,n,e=1/0){return(0,qn.assert)(Number.isInteger(n),"The parameter start must be an integer"),(0,qn.assert)(n>=0,"The parameter start must be greater than or equal to 0"),(0,qn.assert)(Number.isInteger(e),"The parameter end must be an integer"),(0,qn.assert)(e>=n,"The parameter end must be greater than or equal to start"),(0,Yn.go)((async function*(){let r=0;for await(const o of t){if(r>=e)break;r>=n&&(yield o),r++}}))};var kn={slice:void 0};const Fn=h,Ln=N;kn.slice=function(t,n,e=1/0){return(0,Ln.assert)(Number.isInteger(n),"The parameter start must be an integer"),(0,Ln.assert)(n>=0,"The parameter start must be greater than or equal to 0"),(0,Ln.assert)(Number.isInteger(e),"The parameter end must be an integer"),(0,Ln.assert)(e>=n,"The parameter end must be greater than or equal to start"),(0,Fn.go)((function*(){let r=0;for(const o of t){if(r>=e)break;r>=n&&(yield o),r++}}))};var Xn={};Xn.splitAsync=void 0,Xn.splitAsync=async function*(t,n){let e=[];for await(const r of t)r===n?(yield e,e=[]):e.push(r);yield e};var zn={splitByAsync:void 0};const Gn=J;zn.splitByAsync=function(t,n){return(0,Gn.isAsyncIterable)(t)?async function*(t){let e=[],r=0;for await(const o of t)await n(o,r)?(yield e,e=[]):e.push(o),r++;yield e}(t):async function*(t){let e=[],r=0;for(const o of t)await n(o,r)?(yield e,e=[]):e.push(o),r++;yield e}(t)};var Hn={};Hn.splitBy=void 0,Hn.splitBy=function*(t,n){let e=[],r=0;for(const o of t)n(o,r)?(yield e,e=[]):e.push(o),r++;yield e};var $n={};$n.split=void 0,$n.split=function*(t,n){let e=[];for(const r of t)r===n?(yield e,e=[]):e.push(r);yield e};var Wn={takeAsync:void 0};const Vn=h,Kn=N;Wn.takeAsync=function(t,n){return(0,Kn.assert)(Number.isInteger(n),"The parameter count must be an integer"),(0,Kn.assert)(n>=0,"The parameter count must be greater than or equal to 0"),(0,Vn.go)((async function*(){if(0!==n)for await(const e of t)if(yield e,0===--n)break}))};var Qn={takeRightAsync:void 0};const Zn=h,te=N;Qn.takeRightAsync=function(t,n){return(0,te.assert)(Number.isInteger(n),"The parameter count must be an integer"),(0,te.assert)(n>=0,"The parameter count must be greater than or equal to 0"),(0,Zn.go)((async function*(){var e;const r=t[Symbol.asyncIterator]();let o;try{const t=[];let i;for(;({value:i,done:o}=await r.next()),!o;)t.push(i),t.length>n&&t.shift();yield*t}finally{o||await(null===(e=r.return)||void 0===e?void 0:e.call(r))}}))};var ne={takeRight:void 0};const ee=h,re=N;ne.takeRight=function(t,n){return(0,re.assert)(Number.isInteger(n),"The parameter count must be an integer"),(0,re.assert)(n>=0,"The parameter count must be greater than or equal to 0"),(0,ee.go)((function*(){var e;const r=t[Symbol.iterator]();let o;try{const t=[];let i;for(;({value:i,done:o}=r.next()),!o;)t.push(i),t.length>n&&t.shift();yield*t}finally{o||null===(e=r.return)||void 0===e||e.call(r)}}))};var oe={takeUntilAsync:void 0};const ie=J;oe.takeUntilAsync=function(t,n){return(0,ie.isAsyncIterable)(t)?async function*(t){let e=0;for await(const r of t){if(await n(r,e))break;yield r,e++}}(t):async function*(t){let e=0;for(const r of t){if(await n(r,e))break;yield r,e++}}(t)};var se={};se.takeUntil=void 0,se.takeUntil=function*(t,n){let e=0;for(const r of t){if(n(r,e))break;yield r,e++}};var ae={take:void 0};const ce=h,ue=N;ae.take=function(t,n){return(0,ue.assert)(Number.isInteger(n),"The parameter count must be an integer"),(0,ue.assert)(n>=0,"The parameter count must be greater than or equal to 0"),(0,ce.go)((function*(){if(0!==n)for(const e of t)if(yield e,0===--n)break}))};var le={tapAsync:void 0};const fe=J;le.tapAsync=function(t,n){return(0,fe.isAsyncIterable)(t)?async function*(t){let e=0;for await(const r of t)await n(r,e),yield r,e++}(t):async function*(t){let e=0;for(const r of t)await n(r,e),yield r,e++}(t)};var de={};de.tap=void 0,de.tap=function*(t,n){let e=0;for(const r of t)n(r,e),yield r,e++};var ye={};ye.toAsyncIterable=void 0,ye.toAsyncIterable=async function*(t){for(const n of t)yield n};var ve={};ve.transformAsync=void 0,ve.transformAsync=async function*(t,n){yield*n(t)};var pe={};pe.transform=void 0,pe.transform=function*(t,n){yield*n(t)};var me={};me.uniqAsync=void 0,me.uniqAsync=async function*(t){const n=new Set;for await(const e of t)n.has(e)||(yield e,n.add(e))};var be={uniqByAsync:void 0};const he=J;be.uniqByAsync=function(t,n){return(0,he.isAsyncIterable)(t)?async function*(t){const e=new Set;let r=0;for await(const o of t){const t=await n(o,r);e.has(t)||(yield o,e.add(t)),r++}}(t):async function*(t){const e=new Set;let r=0;for(const o of t){const t=await n(o,r);e.has(t)||(yield o,e.add(t)),r++}}(t)};var ge={};ge.uniqBy=void 0,ge.uniqBy=function*(t,n){const e=new Set;let r=0;for(const o of t){const t=n(o,r);e.has(t)||(yield o,e.add(t)),r++}};var Ne={};Ne.uniq=void 0,Ne.uniq=function*(t){const n=new Set;for(const e of t)n.has(e)||(yield e,n.add(e))};var Ee={zipAsync:void 0};const Oe=J;var Te;!function(t){t[t.Sync=0]="Sync",t[t.Async=1]="Async"}(Te||(Te={})),Ee.zipAsync=function(t,...n){return async function*(...t){var n,e,r,o;const i=t.length,s=t.map((t=>(0,Oe.isAsyncIterable)(t)?[Te.Async,t[Symbol.asyncIterator]()]:[Te.Sync,t[Symbol.iterator]()])),a=s.map((()=>!1));try{for(;;){const t=new Array(i);for(let n=0;n<i;n++){const[e,r]=s[n];let o;if(o=e===Te.Async?await r.next():r.next(),o.done)return void(a[n]=!0);t[n]=o.value}yield t}}finally{const t=s.filter(((t,n)=>!a[n]));for(const[i,s]of t)i===Te.Async?await(null===(e=(n=s).return)||void 0===e?void 0:e.call(n)):null===(o=(r=s).return)||void 0===o||o.call(r)}}(t,...n)};var Ae={};Ae.zip=void 0,Ae.zip=function(t,...n){return function*(...t){const n=t.length,e=t.map((t=>t[Symbol.iterator]())),r=e.map((()=>!1));try{for(;;){const t=new Array(n);for(let o=0;o<n;o++){const{value:n,done:i}=e[o].next();if(i)return void(r[o]=!0);t[o]=n}yield t}}finally{e.filter(((t,n)=>!r[n])).forEach((t=>{var n;return null===(n=t.return)||void 0===n?void 0:n.call(t)}))}}(t,...n)},function(n){var e=t&&t.__createBinding||(Object.create?function(t,n,e,r){void 0===r&&(r=e),Object.defineProperty(t,r,{enumerable:!0,get:function(){return n[e]}})}:function(t,n,e,r){void 0===r&&(r=e),t[r]=n[e]}),r=t&&t.__exportStar||function(t,n){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||e(n,t,r)};r(b,n),r(U,n),r(Bt,n),r(Ut,n),r(Yt,n),r(Ft,n),r(Xt,n),r(Wt,n),r(Zt,n),r(rn,n),r(sn,n),r(an,n),r(fn,n),r(yn,n),r(vn,n),r(mn,n),r(On,n),r(pn,n),r(An,n),r(_n,n),r(In,n),r(Pn,n),r(jn,n),r(Bn,n),r(Mn,n),r(kn,n),r(Xn,n),r(zn,n),r(Hn,n),r($n,n),r(Wn,n),r(Qn,n),r(ne,n),r(oe,n),r(se,n),r(ae,n),r(le,n),r(de,n),r(ye,n),r(ve,n),r(pe,n),r(me,n),r(be,n),r(ge,n),r(Ne,n),r(Ee,n),r(Ae,n)}(m);var we={},Se={};Se.consume=void 0,Se.consume=function(t,n){return n(t)};var _e={eachAsync:void 0};const Re=J;_e.eachAsync=function(t,n){return(0,Re.isAsyncIterable)(t)?async function(t){let e=0;for await(const r of t)await n(r,e),e++}(t):async function(t){let e=0;for(const r of t)await n(r,e),e++}(t)};var Ie={};Ie.each=void 0,Ie.each=function(t,n){let e=0;for(const r of t)n(r,e),e++};var De={everyAsync:void 0};const Pe=J;De.everyAsync=function(t,n){return(0,Pe.isAsyncIterable)(t)?async function(t){let e=0;for await(const r of t){if(!await n(r,e))return!1;e++}return!0}(t):async function(t){let e=0;for(const r of t){if(!await n(r,e))return!1;e++}return!0}(t)};var je={};je.every=void 0,je.every=function(t,n){let e=0;for(const r of t){if(!n(r,e))return!1;e++}return!0};var xe={findAsync:void 0};const Ce=J;xe.findAsync=function(t,n){return(0,Ce.isAsyncIterable)(t)?async function(t){let e=0;for await(const r of t){if(await n(r,e))return r;e++}return}(t):async function(t){let e=0;for(const r of t){if(await n(r,e))return r;e++}return}(t)};var Be={};Be.find=void 0,Be.find=function(t,n){let e=0;for(const r of t){if(n(r,e))return r;e++}};var Ue={};Ue.firstAsync=void 0,Ue.firstAsync=async function(t){for await(const n of t)return n};var Je={};Je.first=void 0,Je.first=function(t){for(const n of t)return n};var Me={};Me.includesAsync=void 0,Me.includesAsync=async function(t,n){for await(const e of t)if(e===n)return!0;return!1};var Ye={};Ye.includes=void 0,Ye.includes=function(t,n){for(const e of t)if(e===n)return!0;return!1};var qe={};qe.matchAsync=void 0,qe.matchAsync=async function(t,n){const e=n.length;let r=0;for await(const o of t)if(o===n[r]&&r++,r===e)return!0;return!1};var ke={};ke.match=void 0,ke.match=function(t,n){const e=n.length;let r=0;for(const o of t)if(o===n[r]&&r++,r===e)return!0;return!1};var Fe={reduceAsync:void 0};const Le=J;Fe.reduceAsync=function(t,n,e){return(0,Le.isUndefined)(e)?function(t,n){return(0,Le.isAsyncIterable)(t)?e(t):r(t);async function e(t){var e;const r=t[Symbol.asyncIterator]();let o;try{let t,s=await i(r),a=1;for(;({value:t,done:o}=await r.next()),!o;)s=await n(s,t,a++);return s}finally{o||await(null===(e=r.return)||void 0===e?void 0:e.call(r))}async function i(t){const n=await t.next();if(n.done)throw o=!0,new Error("Reduce of empty iterable with no initial value");return n.value}}async function r(t){var e;const r=t[Symbol.iterator]();let o;try{let t,s=i(r),a=1;for(;({value:t,done:o}=r.next()),!o;)s=await n(s,t,a++);return s}finally{o||null===(e=r.return)||void 0===e||e.call(r)}function i(t){const n=t.next();if(n.done)throw o=!0,new Error("Reduce of empty iterable with no initial value");return n.value}}}(t,n):function(t,n,e){return(0,Le.isAsyncIterable)(t)?o(t):r(t);async function r(t){let r=e,o=0;for(const e of t)r=await n(r,e,o++);return r}async function o(t){let r=e,o=0;for await(const e of t)r=await n(r,e,o++);return r}}(t,n,e)};var Xe={reduce:void 0};const ze=J;Xe.reduce=function(t,n,e){return(0,ze.isUndefined)(e)?function(t,n){var e;const r=t[Symbol.iterator]();let o;try{let t,s=i(r),a=1;for(;({value:t,done:o}=r.next()),!o;)s=n(s,t,a++);return s}finally{o||null===(e=r.return)||void 0===e||e.call(r)}function i(t){const n=t.next();if(n.done)throw o=!0,new Error("Reduce of empty iterable with no initial value");return n.value}}(t,n):function(t,n,e){let r=e,o=0;for(const e of t)r=n(r,e,o++);return r}(t,n,e)};var Ge={someAsync:void 0};const He=J;Ge.someAsync=function(t,n){return(0,He.isAsyncIterable)(t)?async function(t){let e=0;for await(const r of t){if(await n(r,e))return!0;e++}return!1}(t):async function(t){let e=0;for(const r of t){if(await n(r,e))return!0;e++}return!1}(t)};var $e={};$e.some=void 0,$e.some=function(t,n){let e=0;for(const r of t){if(n(r,e))return!0;e++}return!1};var We={};We.lastAsync=void 0,We.lastAsync=async function(t){var n;const e=t[Symbol.asyncIterator]();let r;try{let t,o;for(;({value:t,done:r}=await e.next()),!r;)o=t;return o}finally{r||await(null===(n=e.return)||void 0===n?void 0:n.call(e))}};var Ve={};Ve.last=void 0,Ve.last=function(t){var n;const e=t[Symbol.iterator]();let r;try{let t,o;for(;({value:t,done:r}=e.next()),!r;)o=t;return o}finally{r||null===(n=e.return)||void 0===n||n.call(e)}};var Ke={toArrayAsync:void 0};const Qe=Se;Ke.toArrayAsync=function(t){return(0,Qe.consume)(t,(async t=>{const n=[];for await(const e of t)n.push(e);return n}))};var Ze={toArray:void 0};const tr=Se;Ze.toArray=function(t){return(0,tr.consume)(t,(t=>Array.from(t)))};var nr={toSetAsync:void 0};const er=Se;nr.toSetAsync=function(t){return(0,er.consume)(t,(async t=>{const n=new Set;for await(const e of t)n.add(e);return n}))};var rr={toSet:void 0};const or=Se;rr.toSet=function(t){return(0,or.consume)(t,(t=>new Set(t)))},function(n){var e=t&&t.__createBinding||(Object.create?function(t,n,e,r){void 0===r&&(r=e),Object.defineProperty(t,r,{enumerable:!0,get:function(){return n[e]}})}:function(t,n,e,r){void 0===r&&(r=e),t[r]=n[e]}),r=t&&t.__exportStar||function(t,n){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||e(n,t,r)};r(Se,n),r(_e,n),r(Ie,n),r(De,n),r(je,n),r(xe,n),r(Be,n),r(Ue,n),r(Je,n),r(Me,n),r(Ye,n),r(qe,n),r(ke,n),r(Fe,n),r(Xe,n),r(Ge,n),r($e,n),r(We,n),r(Ve,n),r(Ke,n),r(Ze,n),r(nr,n),r(rr,n)}(we),function(n){var e=t&&t.__createBinding||(Object.create?function(t,n,e,r){void 0===r&&(r=e),Object.defineProperty(t,r,{enumerable:!0,get:function(){return n[e]}})}:function(t,n,e,r){void 0===r&&(r=e),t[r]=n[e]}),r=t&&t.__exportStar||function(t,n){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||e(n,t,r)};r(m,n),r(we,n)}(p),v.unwrap=void 0;const ir=e,sr=p;v.unwrap=function t(n,e){return(0,ir.flatMap)(n,(n=>e(n)?(0,sr.toArray)((0,sr.flatten)((0,sr.map)(n.childNodes,(n=>t(n,e))))):[n]))};var ar={},cr={},ur={};ur.traverseDescendantNodes=void 0,ur.traverseDescendantNodes=function*t(n){for(const e of n.childNodes)yield e,yield*t(e)},cr.findInDescendantNodes=void 0;const lr=ur,fr=p;cr.findInDescendantNodes=function(t,n){return(0,fr.find)((0,lr.traverseDescendantNodes)(t),(t=>n(t)))},ar.find=void 0;const dr=cr;ar.find=function(t,n){return n(t)?t:(0,dr.findInDescendantNodes)(t,n)};var yr={};yr.parse=void 0,yr.parse=function(t){const n=document.createElement("div");return n.innerHTML=t,[...n.childNodes]};var vr={};vr.stringify=void 0,vr.stringify=function(t){const n=document.createElement("div");return t.forEach((t=>n.append(t.cloneNode(!0)))),n.innerHTML};var pr={normalize:void 0};const mr=yr,br=vr;pr.normalize=function(t){return(0,br.stringify)((0,mr.parse)(t))};var hr={};hr.removeAttributes=void 0,hr.removeAttributes=function(t,n){if(t instanceof Element){const e=Array.from(t.attributes).map((t=>t.name));for(const r of e)n(r)&&t.removeAttribute(r)}};var gr={},Nr={},Er={};!function(t){t.NodeType=void 0;const n="Node"in globalThis;var e;(e=t.NodeType||(t.NodeType={}))[e.ELEMENT_NODE=n?globalThis.Node.ELEMENT_NODE:1]="ELEMENT_NODE",e[e.ATTRIBUTE_NODE=n?globalThis.Node.ATTRIBUTE_NODE:2]="ATTRIBUTE_NODE",e[e.TEXT_NODE=n?globalThis.Node.TEXT_NODE:3]="TEXT_NODE",e[e.CDATA_SECTION_NODE=n?globalThis.Node.CDATA_SECTION_NODE:4]="CDATA_SECTION_NODE",e[e.ENTITY_REFERENCE_NODE=n?globalThis.Node.ENTITY_REFERENCE_NODE:5]="ENTITY_REFERENCE_NODE",e[e.ENTITY_NODE=n?globalThis.Node.ENTITY_NODE:6]="ENTITY_NODE",e[e.PROCESSING_INSTRUCTION_NODE=n?globalThis.Node.PROCESSING_INSTRUCTION_NODE:7]="PROCESSING_INSTRUCTION_NODE",e[e.COMMENT_NODE=n?globalThis.Node.COMMENT_NODE:8]="COMMENT_NODE",e[e.DOCUMENT_NODE=n?globalThis.Node.DOCUMENT_NODE:9]="DOCUMENT_NODE",e[e.DOCUMENT_TYPE_NODE=n?globalThis.Node.DOCUMENT_TYPE_NODE:10]="DOCUMENT_TYPE_NODE",e[e.DOCUMENT_FRAGMENT_NODE=n?globalThis.Node.DOCUMENT_FRAGMENT_NODE:11]="DOCUMENT_FRAGMENT_NODE",e[e.NOTATION_NODE=n?globalThis.Node.NOTATION_NODE:12]="NOTATION_NODE"}(Er);var Or={},Tr={};function Ar(t){return Array.isArray(t)}Tr.isntEmptyArray=Tr.isEmptyArray=Tr.isntArray=Tr.isArray=void 0,Tr.isArray=Ar,Tr.isntArray=function(t){return!Ar(t)},Tr.isEmptyArray=function(t){return 0===t.length},Tr.isntEmptyArray=function(t){return 0!==t.length};var wr={},Sr={};function _r(t){return null===t}Sr.isntNull=Sr.isNull=void 0,Sr.isNull=_r,Sr.isntNull=function(t){return!_r(t)};var Rr={};function Ir(t){return void 0===t}Rr.isntUndefined=Rr.isUndefined=void 0,Rr.isUndefined=Ir,Rr.isntUndefined=function(t){return!Ir(t)},wr.isntAsyncIterable=wr.isAsyncIterable=void 0;const Dr=Sr,Pr=Rr;function jr(t){return(0,Dr.isntNull)(t)&&(0,Pr.isntUndefined)(t)&&"function"==typeof t[Symbol.asyncIterator]}wr.isAsyncIterable=jr,wr.isntAsyncIterable=function(t){return!jr(t)};var xr={};function Cr(t){return"bigint"==typeof t}xr.isntBigInt=xr.isBigInt=void 0,xr.isBigInt=Cr,xr.isntBigInt=function(t){return!Cr(t)};var Br={};function Ur(t){return"boolean"==typeof t}Br.isntBoolean=Br.isBoolean=void 0,Br.isBoolean=Ur,Br.isntBoolean=function(t){return!Ur(t)};var Jr={},Mr={};function Yr(t){return"string"==typeof t}Mr.isntString=Mr.isString=void 0,Mr.isString=Yr,Mr.isntString=function(t){return!Yr(t)},Jr.isntChar=Jr.isChar=void 0;const qr=Mr;function kr(t){return(0,qr.isString)(t)&&1===t.length}Jr.isChar=kr,Jr.isntChar=function(t){return!kr(t)};var Fr={};function Lr(t){return t instanceof Date}Fr.isntDate=Fr.isDate=void 0,Fr.isDate=Lr,Fr.isntDate=function(t){return!Lr(t)};var Xr={};Xr.inEnum=void 0,Xr.inEnum=function(t,n){return Object.values(n).includes(t)};var zr={};function Gr(t){return t instanceof Error}zr.isntError=zr.isError=void 0,zr.isError=Gr,zr.isntError=function(t){return!Gr(t)};var Hr={};function $r(t){return!t}Hr.isntFalsy=Hr.isFalsy=void 0,Hr.isFalsy=$r,Hr.isntFalsy=function(t){return!$r(t)};var Wr={};function Vr(t){return"function"==typeof t}Wr.isntFunction=Wr.isFunction=void 0,Wr.isFunction=Vr,Wr.isntFunction=function(t){return!Vr(t)};var Kr={};Kr.isntIterable=Kr.isIterable=void 0;const Qr=Sr,Zr=Rr;function to(t){return(0,Qr.isntNull)(t)&&(0,Zr.isntUndefined)(t)&&"function"==typeof t[Symbol.iterator]}Kr.isIterable=to,Kr.isntIterable=function(t){return!to(t)};var no={},eo={};var ro=Function.prototype,oo=Object.prototype,io=ro.toString,so=oo.hasOwnProperty,ao=io.call(Object),co=oo.toString,uo=function(t,n){return function(e){return t(n(e))}}(Object.getPrototypeOf,Object);var lo=function(t){if(!function(t){return!!t&&"object"==typeof t}(t)||"[object Object]"!=co.call(t)||function(t){var n=!1;if(null!=t&&"function"!=typeof t.toString)try{n=!!(t+"")}catch(t){}return n}(t))return!1;var n=uo(t);if(null===n)return!0;var e=so.call(n,"constructor")&&n.constructor;return"function"==typeof e&&e instanceof e&&io.call(e)==ao},fo=t&&t.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};eo.isntEmptyObject=eo.isEmptyObject=eo.isntPlainObject=eo.isPlainObject=eo.isntObject=eo.isObject=void 0;const yo=fo(lo);function vo(t){return null!==t&&"object"==typeof t}function po(t){return(0,yo.default)(t)}eo.isObject=vo,eo.isntObject=function(t){return!vo(t)},eo.isPlainObject=po,eo.isntPlainObject=function(t){return!po(t)},eo.isEmptyObject=function(t){return 0===Object.keys(t).length},eo.isntEmptyObject=function(t){return 0!==Object.keys(t).length};var mo={};function bo(t){return"number"==typeof t}mo.isntNumber=mo.isNumber=void 0,mo.isNumber=bo,mo.isntNumber=function(t){return!bo(t)},no.isntJsonRpcError=no.isJsonRpcError=no.isntJsonRpcSuccess=no.isJsonRpcSuccess=no.isntJsonRpcRequest=no.isJsonRpcRequest=no.isntJsonRpcNotification=no.isJsonRpcNotification=void 0;const ho=Tr,go=eo,No=Mr,Eo=mo,Oo=Rr;function To(t){return(0,No.isString)(t)||(0,Eo.isNumber)(t)}function Ao(t){return(0,ho.isArray)(t)||(0,go.isObject)(t)}function wo(t){return(0,go.isPlainObject)(t)&&(0,No.isString)(t.jsonrpc)&&(0,No.isString)(t.method)&&(0,Oo.isUndefined)(t.id)&&Ao(t.params)}function So(t){return(0,go.isPlainObject)(t)&&(0,No.isString)(t.jsonrpc)&&(0,No.isString)(t.method)&&To(t.id)&&Ao(t.params)}function _o(t){return(0,go.isPlainObject)(t)&&(0,No.isString)(t.jsonrpc)&&(0,No.isString)(t.id)&&"result"in t}function Ro(t){return(0,go.isPlainObject)(t)&&(0,No.isString)(t.jsonrpc)&&To(t.id)&&function(t){return(0,go.isPlainObject)(t)&&(0,Eo.isNumber)(t.code)&&(0,No.isString)(t.message)&&((0,Oo.isUndefined)(t.data)||(0,go.isObject)(t.data))}(t.error)}no.isJsonRpcNotification=wo,no.isntJsonRpcNotification=function(t){return!wo(t)},no.isJsonRpcRequest=So,no.isntJsonRpcRequest=function(t){return!So(t)},no.isJsonRpcSuccess=_o,no.isntJsonRpcSuccess=function(t){return!_o(t)},no.isJsonRpcError=Ro,no.isntJsonRpcError=function(t){return!Ro(t)};var Io={};Io.isntJson=Io.isJson=void 0,Io.isJson=function(t){try{return JSON.stringify(t),!0}catch(t){return!1}},Io.isntJson=function t(n){return!t()};var Do={};Do.isAbsoluteURL=void 0,Do.isAbsoluteURL=function(t){try{return new URL(t),!0}catch(t){return!1}},function(n){var e=t&&t.__createBinding||(Object.create?function(t,n,e,r){void 0===r&&(r=e),Object.defineProperty(t,r,{enumerable:!0,get:function(){return n[e]}})}:function(t,n,e,r){void 0===r&&(r=e),t[r]=n[e]}),r=t&&t.__exportStar||function(t,n){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||e(n,t,r)};r(Tr,n),r(wr,n),r(xr,n),r(Br,n),r(Jr,n),r(Fr,n),r(Xr,n),r(zr,n),r(Hr,n),r(Wr,n),r(Kr,n),r(no,n),r(Io,n),r(Sr,n),r(mo,n),r(eo,n),r(Mr,n),r(Rr,n),r(Do,n)}(Or),Nr.isDocument=void 0;const Po=Er,jo=Or;Nr.isDocument=function(t){return"HTMLDocument"in globalThis&&t instanceof HTMLDocument||(0,jo.isObject)(t)&&t.nodeType===Po.NodeType.DOCUMENT_NODE};var xo={isElement:void 0};const Co=Er,Bo=Or;xo.isElement=function(t){return"HTMLElement"in globalThis&&t instanceof HTMLElement||(0,Bo.isObject)(t)&&t.nodeType===Co.NodeType.ELEMENT_NODE},gr.getBySelector=void 0;const Uo=Nr,Jo=xo;gr.getBySelector=function(t){const n=((0,Jo.isElement)(this)||(0,Uo.isDocument)(this)?this:document).querySelector(t);if(n)return n;throw new Error(`Could not find any elements matching ${t}`)};var Mo={getAllBySelector:void 0};const Yo=Nr,qo=xo;Mo.getAllBySelector=function(t){const n=((0,qo.isElement)(this)||(0,Yo.isDocument)(this)?this:document).querySelectorAll(t);if(n.length)return Array.from(n);throw new Error(`Could not find any elements matching ${t}`)};var ko={};ko.traverseAncestorNodes=void 0,ko.traverseAncestorNodes=function*t(n){const e=n.parentNode;e&&(yield e,yield*t(e))};var Fo={findInAncestorNodes:void 0};const Lo=ko,Xo=p;Fo.findInAncestorNodes=function(t,n){return(0,Xo.find)((0,Lo.traverseAncestorNodes)(t),(t=>n(t)))};var zo={};zo.findInFollowingSiblingNodes=void 0,zo.findInFollowingSiblingNodes=function t(n,e){const r=n.nextSibling;if(r)return e(r)?r:t(r,e)};var Go={};Go.findInPrecedingSiblingNodes=void 0,Go.findInPrecedingSiblingNodes=function t(n,e){const r=n.previousSibling;if(r)return e(r)?r:t(r,e)};var Ho={parentNode:void 0};const $o=N;function Wo(t,n){const e=t.parentNode;if(e)return 1===n?e:Wo(e,n-1)}Ho.parentNode=function(t,n=1){return(0,$o.assert)(Number.isInteger(n),"parameter distance must be an integer"),(0,$o.assert)(n>=1,"parameter distance must be greater than or equal to 1"),Wo(t,n)};var Vo={nextSibling:void 0};const Ko=N;function Qo(t,n){const e=t.nextSibling;if(e)return 1===n?e:Qo(e,n-1)}Vo.nextSibling=function(t,n=1){return(0,Ko.assert)(Number.isInteger(n),"parameter distance must be an integer"),(0,Ko.assert)(n>=1,"parameter distance must be greater than or equal to 1"),Qo(t,n)};var Zo={previousSibling:void 0};const ti=N;Zo.previousSibling=function(t,n=1){return(0,ti.assert)(Number.isInteger(n),"parameter distance must be an integer"),(0,ti.assert)(n>=1,"parameter distance must be greater than or equal to 1"),function t(n,e=1){const r=n.previousSibling;if(!r)return;return 1===e?r:t(r,e-1)}(t,n)};var ni={nextElementSibling:void 0};const ei=xo,ri=N;function oi(t,n){const e=t.nextSibling;if(e)return(0,ei.isElement)(e)?1===n?e:oi(e,n-1):oi(e,n)}ni.nextElementSibling=function(t,n=1){return(0,ri.assert)(Number.isInteger(n),"parameter distance must be an integer"),(0,ri.assert)(n>=1,"parameter distance must be greater than or equal to 1"),oi(t,n)};var ii={previousElementSibling:void 0};const si=xo,ai=N;ii.previousElementSibling=function(t,n=1){return(0,ai.assert)(Number.isInteger(n),"parameter distance must be an integer"),(0,ai.assert)(n>=1,"parameter distance must be greater than or equal to 1"),function t(n,e=1){const r=n.previousSibling;if(!r)return;return(0,si.isElement)(r)?1===e?r:t(r,e-1):t(r,e)}(t,n)};var ci={isntDocument:void 0};const ui=Nr;ci.isntDocument=function(t){return!(0,ui.isDocument)(t)};var li={isntElement:void 0};const fi=xo;li.isntElement=function(t){return!(0,fi.isElement)(t)};var di={isNode:void 0};const yi=Or;di.isNode=function(t){return"Node"in globalThis&&t instanceof Node||(0,yi.isObject)(t)&&"nodeType"in t};var vi={isntNode:void 0};const pi=di;vi.isntNode=function(t){return!(0,pi.isNode)(t)};var mi={isTextNode:void 0};const bi=Er,hi=Or;mi.isTextNode=function(t){return"Text"in globalThis&&t instanceof Text||(0,hi.isObject)(t)&&t.nodeType===bi.NodeType.TEXT_NODE};var gi={isntTextNode:void 0};const Ni=mi;gi.isntTextNode=function(t){return!(0,Ni.isTextNode)(t)};var Ei={isParentNode:void 0};const Oi=di;Ei.isParentNode=function(t){return(0,Oi.isNode)(t)&&"children"in t};var Ti={isntParentNode:void 0};const Ai=Ei;Ti.isntParentNode=function(t){return!(0,Ai.isParentNode)(t)};var wi={};!function(t){t.XPathResultType=void 0;const n="XPathResult"in globalThis;var e;(e=t.XPathResultType||(t.XPathResultType={}))[e.ANY_TYPE=n?globalThis.XPathResult.ANY_TYPE:0]="ANY_TYPE",e[e.NUMBER_TYPE=n?globalThis.XPathResult.NUMBER_TYPE:1]="NUMBER_TYPE",e[e.STRING_TYPE=n?globalThis.XPathResult.STRING_TYPE:2]="STRING_TYPE",e[e.BOOLEAN_TYPE=n?globalThis.XPathResult.BOOLEAN_TYPE:3]="BOOLEAN_TYPE",e[e.UNORDERED_NODE_ITERATOR_TYPE=n?globalThis.XPathResult.UNORDERED_NODE_ITERATOR_TYPE:4]="UNORDERED_NODE_ITERATOR_TYPE",e[e.ORDERED_NODE_ITERATOR_TYPE=n?globalThis.XPathResult.ORDERED_NODE_ITERATOR_TYPE:5]="ORDERED_NODE_ITERATOR_TYPE",e[e.UNORDERED_NODE_SNAPSHOT_TYPE=n?globalThis.XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:6]="UNORDERED_NODE_SNAPSHOT_TYPE",e[e.ORDERED_NODE_SNAPSHOT_TYPE=n?globalThis.XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:7]="ORDERED_NODE_SNAPSHOT_TYPE",e[e.ANY_UNORDERED_NODE_TYPE=n?globalThis.XPathResult.ANY_UNORDERED_NODE_TYPE:8]="ANY_UNORDERED_NODE_TYPE",e[e.FIRST_ORDERED_NODE_TYPE=n?globalThis.XPathResult.FIRST_ORDERED_NODE_TYPE:9]="FIRST_ORDERED_NODE_TYPE"}(wi);var Si={replaceBrWithNewline:void 0};const _i=c;Si.replaceBrWithNewline=function(t){return(0,_i.map)(t,(t=>"BR"===t.nodeName?document.createTextNode("\n"):t))};var Ri={};Ri.isBefore=void 0,Ri.isBefore=function(t,n){return!!(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)};var Ii={};function Di(t,n,...e){if(0===e.length)return!0;if(!n)return!1;const[r,...o]=e,i=Reflect.apply(r,t,[n]);if(J.isBoolean(i)){if(i){const e=t.next(n);return Di(t,e,...o)}return!1}if(J.isNumber(i)){const e=i,r=t.next(n,e);return Di(t,r,...o)}if(J.isIterable(i)){for(const e of i){const r=t.next(n,e);if(Di(t,r,...o))return!0}return!1}throw new Error("Unknown return value")}function Pi(t,e=1){return 0===e?t:n.nextSibling(t,e)}function ji(t,...e){const r={document:n.isDocument(this)?this:globalThis.document,collection:{},next:Pi};return Di(r,t,...e)?r.collection:null}function xi(t,e=1){return 0===e?t:n.nextElementSibling(t,e)}function Ci(t,...e){const r={document:n.isDocument(this)?this:globalThis.document,collection:{},next:xi};return Di(r,t,...e)?r.collection:null}function Bi(...t){return function(n){return t.some((t=>t.call(this,n)))}}function Ui(t,n){for(const[e,r]of Object.entries(n))t[e]?J.isArray(t[e])?J.isArray(r)?t[e]=[...t[e],...r]:t[e]=[...t[e],r]:J.isArray(r)?t[e]=[t[e],...r]:t[e]=[t[e],r]:t[e]=r}function Ji(...t){return function(n){if(0===t.length)return 0===n.childNodes.length;if(0===n.childNodes.length)return!1;const e=Object.assign(Object.assign({},this),{collection:{},next:Pi}),r=Di(e,n.childNodes[0],...t);return r&&Ui(this.collection,e.collection),r}}function Mi(...t){return function(n){if(0===t.length)return 0===n.children.length;if(0===n.children.length)return!1;const e=Object.assign(Object.assign({},this),{collection:{},next:xi}),r=Di(e,n.children[0],...t);return r&&Ui(this.collection,e.collection),r}}function Yi(t,n){const e=[];for(let r=0,o=n.length;r<o;r++)e.push(t[r]),e.push(n[r]);return e.push(t[t.length-1]),e}function qi(...t){if(J.isString(t[0])){const[n]=t;return t=>t.matches(n)}{const[n,...e]=t;return qi(Yi(n,e).join(""))}}function ki(...t){if(J.isArray(t[0])){const[n,...e]=t,r=Yi(n,e).join("");return(...t)=>ki(r,...t)}if(J.isString(t[0])){const[n,...e]=t;return function(t){const r=ki(...e).call(this,t);return r&&Ui(this.collection,{[n]:t}),r}}const[...e]=t;return function(t){return!n.isntElement(t)&&(0===e.length||e.every((n=>n.call(this,t))))}}Ii.isAfter=void 0,Ii.isAfter=function(t,n){return!!(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING)},function(n){var r=t&&t.__createBinding||(Object.create?function(t,n,e,r){void 0===r&&(r=e),Object.defineProperty(t,r,{enumerable:!0,get:function(){return n[e]}})}:function(t,n,e,r){void 0===r&&(r=e),t[r]=n[e]}),o=t&&t.__exportStar||function(t,n){for(var e in t)"default"===e||Object.prototype.hasOwnProperty.call(n,e)||r(n,t,e)};o(e,n),o(c,n),o(l,n),o(v,n),o(ar,n),o(yr,n),o(vr,n),o(pr,n),o(i,n),o(hr,n),o(gr,n),o(Mo,n),o(ko,n),o(Fo,n),o(ur,n),o(cr,n),o(zo,n),o(Go,n),o(Ho,n),o(Vo,n),o(Zo,n),o(ni,n),o(ii,n),o(Nr,n),o(ci,n),o(xo,n),o(li,n),o(di,n),o(vi,n),o(mi,n),o(gi,n),o(Ei,n),o(Ti,n),o(Er,n),o(wi,n),o(Si,n),o(Ri,n),o(Ii,n)}(n);var Fi={},Li={};Li.of=void 0,Li.of=function*(t){yield t};var Xi={repeat:void 0};const zi=N,Gi=h;Xi.repeat=function(t,n=1/0){return(0,zi.assert)(n===1/0||Number.isInteger(n),"The parameter times must be an integer"),(0,Gi.go)((function*(){for(;n-- >0;)yield t}))};var Hi={};Hi.countdown=void 0,Hi.countdown=function*(t,n){if(!(t<n))for(let e=t;e>=n;e--)yield e};var $i={};$i.countup=void 0,$i.countup=function*(t,n){if(!(t>n))for(let e=t;e<=n;e++)yield e};var Wi={range:void 0};const Vi=N;Wi.range=function(t,n,e=1){return(0,Vi.assert)(e>0,"step parameter must be greater than 0"),function*(t,n,e){if(t<n)for(let r=t;r<n;r+=e)yield r;else for(let r=t;r>n;r-=e)yield r}(t,n,e)};var Ki={};Ki.stringifyJSONStream=void 0,Ki.stringifyJSONStream=function*(t){var n;const e=t[Symbol.iterator]();let r;try{let t;for(({value:t,done:r}=e.next()),yield"[",r||(yield JSON.stringify(t));({value:t,done:r}=e.next()),!r;)yield","+JSON.stringify(t);yield"]"}finally{r||null===(n=e.return)||void 0===n||n.call(e)}};var Qi={};Qi.stringifyJSONStreamAsync=void 0,Qi.stringifyJSONStreamAsync=async function*(t){var n;const e=t[Symbol.asyncIterator]();let r;try{let t;for(({value:t,done:r}=await e.next()),yield"[",r||(yield JSON.stringify(t));({value:t,done:r}=await e.next()),!r;)yield","+JSON.stringify(t);yield"]"}finally{r||await(null===(n=e.return)||void 0===n?void 0:n.call(e))}};var Zi={};Zi.stringifyNDJSONStream=void 0,Zi.stringifyNDJSONStream=function*(t){var n;const e=t[Symbol.iterator]();let r;try{let t;for(({value:t,done:r}=e.next()),r||(yield JSON.stringify(t));({value:t,done:r}=e.next()),!r;)yield"\n"+JSON.stringify(t)}finally{r||null===(n=e.return)||void 0===n||n.call(e)}};var ts={};ts.stringifyNDJSONStreamAsync=void 0,ts.stringifyNDJSONStreamAsync=async function*(t){var n;const e=t[Symbol.asyncIterator]();let r;try{let t;for(({value:t,done:r}=await e.next()),r||(yield JSON.stringify(t));({value:t,done:r}=await e.next()),!r;)yield"\n"+JSON.stringify(t)}finally{r||await(null===(n=e.return)||void 0===n?void 0:n.call(e))}};var ns={};ns.sse=void 0,ns.sse=function*(t){t.event&&(yield`event: ${t.event}\n`);for(const n of t.data.split("\n"))yield`data: ${n}\n`;t.id&&(yield`id: ${t.id}\n`),t.retry&&(yield`retry: ${t.retry}\n`),yield"\n"};var es={},rs={},os={},is=17976931348623157e292,ss=/^\s+|\s+$/g,as=/^[-+]0x[0-9a-f]+$/i,cs=/^0b[01]+$/i,us=/^0o[0-7]+$/i,ls=parseInt,fs=Object.prototype.toString;function ds(t,n){var e;if("function"!=typeof n)throw new TypeError("Expected a function");return t=function(t){var n=function(t){if(!t)return 0===t?t:0;if(Infinity===(t=function(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==fs.call(t)}(t))return NaN;if(ys(t)){var n="function"==typeof t.valueOf?t.valueOf():t;t=ys(n)?n+"":n}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(ss,"");var e=cs.test(t);return e||us.test(t)?ls(t.slice(2),e?2:8):as.test(t)?NaN:+t}(t))||-Infinity===t){return(t<0?-1:1)*is}return t==t?t:0}(t),e=n%1;return n==n?e?n-e:n:0}(t),function(){return--t>0&&(e=n.apply(this,arguments)),t<=1&&(n=void 0),e}}function ys(t){var n=typeof t;return!!t&&("object"==n||"function"==n)}var vs=function(t){return ds(2,t)},ps=t&&t.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};os.lazy=void 0;const ms=ps(vs);os.lazy=function(t){return(0,ms.default)(t)};var bs={lazyFunction:void 0};const hs=os;bs.lazyFunction=function(t){const n=(0,hs.lazy)(t);return(...t)=>n()(...t)},function(n){var e=t&&t.__createBinding||(Object.create?function(t,n,e,r){void 0===r&&(r=e),Object.defineProperty(t,r,{enumerable:!0,get:function(){return n[e]}})}:function(t,n,e,r){void 0===r&&(r=e),t[r]=n[e]}),r=t&&t.__exportStar||function(t,n){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||e(n,t,r)};r(os,n),r(bs,n)}(rs);var gs,Ns=t&&t.__classPrivateFieldGet||function(t,n,e,r){if("a"===e&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof n?t!==n||!r:!n.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===e?r:"a"===e?r.call(t):r?r.value:n.get(t)},Es=t&&t.__classPrivateFieldSet||function(t,n,e,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof n?t!==n||!o:!n.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(t,e):o?o.value=e:n.set(t,e),e};es.ReusableIterable=void 0;const Os=rs;class Ts{constructor(t){gs.set(this,void 0),this.getIterator=(0,Os.lazy)((()=>t[Symbol.iterator]()))}get done(){return Ns(this,gs,"f")}close(){var t,n;this.done||(Es(this,gs,!0,"f"),null===(n=(t=this.getIterator()).return)||void 0===n||n.call(t))}[(gs=new WeakMap,Symbol.iterator)](){return{next:()=>{if(Ns(this,gs,"f"))return{done:!0,value:void 0};const{value:t,done:n}=this.getIterator().next();return n&&Es(this,gs,!0,"f"),{value:t,done:n}}}}}es.ReusableIterable=Ts;var As,ws={},Ss=t&&t.__classPrivateFieldGet||function(t,n,e,r){if("a"===e&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof n?t!==n||!r:!n.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===e?r:"a"===e?r.call(t):r?r.value:n.get(t)},_s=t&&t.__classPrivateFieldSet||function(t,n,e,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof n?t!==n||!o:!n.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(t,e):o?o.value=e:n.set(t,e),e};ws.ReusableAsyncIterable=void 0;const Rs=rs;class Is{constructor(t){As.set(this,void 0),this.getIterator=(0,Rs.lazy)((()=>t[Symbol.asyncIterator]()))}get done(){return Ss(this,As,"f")}async close(){var t,n;this.done||(_s(this,As,!0,"f"),await(null===(n=(t=this.getIterator()).return)||void 0===n?void 0:n.call(t)))}[(As=new WeakMap,Symbol.asyncIterator)](){return{next:async()=>{if(Ss(this,As,"f"))return{done:!0,value:void 0};const{value:t,done:n}=await this.getIterator().next();return n&&_s(this,As,!0,"f"),{value:t,done:n}}}}}ws.ReusableAsyncIterable=Is;var Ds,Ps={};function js(t,n,e){let r=t;for(const t of Fi.countup(1,n)){if(!r)return t-1;if(!e.call(this,r))return t-1;r=this.next(r)}return n}function xs([t,n],e,r={greedy:!0}){return N.assert(Number.isInteger(t),"parameter min must be an integer"),N.assert(Number.isInteger(n)||n===1/0,"parameter max must be an integer or Infinity"),N.assert(t>=0,"parameter min must be greater than or equal to 0"),N.assert(t<=n,"parameter max must be greater than or equal to min"),function*(o){if(r.greedy){let r=n;for(;;){const n=js.call(this,o,r,e);if(n<t)break;if(yield n,r=n-1,r<t)break}}else for(const r of Fi.countup(t,n)){const t=js.call(this,o,r,e);if(t<r)break;t===r&&(yield r)}}}function Cs(...t){if(J.isArray(t[0])){const[n,...e]=t,r=Yi(n,e).join("");return(...t)=>Cs(r,...t)}if(J.isString(t[0])){const[n,...e]=t;return function(t){const r=Cs(...e).call(this,t);return r&&Ui(this.collection,{[n]:t}),r}}const[...n]=t;return function(t){return 0===n.length||n.every((n=>n.call(this,t)))}}function Bs(t){return xs([0,1],t,{greedy:!0})}function Us(t,n){return N.assert(Number.isInteger(t),"parameter times must be an integer"),N.assert(t>=0,"parameter number must be greater than or equal to 0"),function(e){return js.call(this,e,t,n)===t&&t}}function Js(t,n){return function(e){const r=t.call(this,e);return n(r),r}}function Ms(t,{caseSensitive:n=!0,trim:e=!1}={}){return r=>{if(J.isNull(r.textContent))return!1;let o=r.textContent;return n||(o=o.toLowerCase(),t=t.toLowerCase()),e&&(o=o.trim()),o===t}}function Ys(t,{caseSensitive:n=!0,trim:e=!1}={}){return r=>{if(J.isNull(r.textContent))return!1;let o=r.textContent;return n||(o=o.toLowerCase(),t=t.toLowerCase()),e&&(o=o.trim()),o.includes(t)}}function qs(t,{trim:n=!1}={}){return e=>{if(J.isNull(e.textContent))return!1;let r=e.textContent;return n&&(r=r.trim()),t.test(r)}}function ks(...t){if(J.isArray(t[0])){const[n,...e]=t,r=Yi(n,e).join("");return(...t)=>ks(r,...t)}if(J.isString(t[0])){const[n,...e]=t;return function(t){const r=ks(...e).call(this,t);return r&&Ui(this.collection,{[n]:t}),r}}const[...e]=t;return function(t){return!n.isntTextNode(t)&&(0===e.length||e.every((n=>n.call(this,t))))}}Ps.timestampBasedId=void 0,Ps.timestampBasedId=function*(){const t=Date.now();yield[t,0];let n=t,e=0;for(;;){const t=Date.now();t===n?yield[n,++e]:(e=0,n=t,yield[n,e])}},function(n){var e=t&&t.__createBinding||(Object.create?function(t,n,e,r){void 0===r&&(r=e),Object.defineProperty(t,r,{enumerable:!0,get:function(){return n[e]}})}:function(t,n,e,r){void 0===r&&(r=e),t[r]=n[e]}),r=t&&t.__exportStar||function(t,n){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||e(n,t,r)};r(Li,n),r(Xi,n),r(Hi,n),r($i,n),r(Wi,n),r(Ki,n),r(Qi,n),r(Zi,n),r(ts,n),r(ns,n),r(es,n),r(ws,n),r(Ps,n)}(Fi),function(t){t[t.Min=0]="Min",t[t.Max=1]="Max"}(Ds||(Ds={}));const Fs="XPathResult"in globalThis?XPathResult.UNORDERED_NODE_ITERATOR_TYPE:4;function Ls(...t){if(J.isString(t[0])){const[n]=t;return N.assert(n.startsWith("//*"),'XPath expressions must start with "//*"'),function(t){return function(t,n,e){const r=t.evaluate(n,e,null,Fs,null);let o;for(;null!==(o=r.iterateNext());)if(o===e)return!0;return!1}(this.document,n,t)}}{const[n,...e]=t;return Ls(Yi(n,e).join(""))}}export{Bi as anyOf,Ji as childNodes,Mi as children,qi as css,ki as element,ji as match,Ci as matchElement,xs as multiple,Cs as node,Bs as optional,Us as repeat,Js as tap,Ms as textContentEquals,Ys as textContentIncludes,qs as textContentMatches,ks as textNode,Ls as xpath};
2
- //# sourceMappingURL=index.min.mjs.map