-
Notifications
You must be signed in to change notification settings - Fork 0
/
NodeIterator.cljs
349 lines (226 loc) · 10.7 KB
/
NodeIterator.cljs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
(ns web.NodeIterator
"The NodeIterator interface represents an iterator over the members
a list of the nodes in a subtree of the DOM. The nodes will be
in document order."
(:refer-clojure :exclude [filter]))
(defn detach
"Method.
The NodeIterator.detach() method is a no-op, kept for backward
only.
`nodeIterator.detach();`
See also: `https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator/detach`"
[this ]
(-> this (.detach)))
(defn previous-node
"Method.
The NodeIterator.previousNode() method returns the previous node
the set represented by the `web.NodeIterator` and moves the position
the iterator backwards within the set.
`node = nodeIterator.previousNode();`
See also: `https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator/previousNode`"
[this ]
(-> this (.previousNode)))
(defn next-node
"Method.
The NodeIterator.nextNode() method returns the next node in the
represented by the `web.NodeIterator` and advances the position
the iterator within the set. The first call to nextNode() returns
first node in the set.
`node = nodeIterator.nextNode();`
See also: `https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator/nextNode`"
[this ]
(-> this (.nextNode)))
(defn root
"Property.
The NodeIterator.root read-only property represents the `web.Node`
is the root of what the `web.NodeIterator` traverses.
`root = nodeIterator.root;`
See also: `https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator/root`"
[this]
(-> this (.-root)))
(defn set-root!
"Property.
The NodeIterator.root read-only property represents the `web.Node`
is the root of what the `web.NodeIterator` traverses.
`root = nodeIterator.root;`
See also: `https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator/root`"
[this val]
(aset this "root" val))
(defn what-to-show
"Property.
The NodeIterator.whatToShow read-only property represents an
integer representing a bitmask signifying what types of nodes
be returned by the `web.NodeIterator`.
`var nodeTypes = nodeIterator.whatToShow;
The values that can be combined to form the bitmask are:
\\t\\t\\tConstant
\\t\\t\\tNumerical value
\\t\\t\\tDescription
\\t\\t\\tNodeFilter.SHOW_ALL
\\t\\t\\t-1 (that is the max value of unsigned long)
\\t\\t\\tShows all nodes.
\\t\\t\\tNodeFilter.SHOW_ATTRIBUTE
\\t\\t\\t2
\\t\\t\\tShows attribute `web.Attr` nodes. This is meaningful only when creating a `web.NodeIterator` or `web.TreeWalker` with an `web.Attr` node as its root; in this case, it means that the attribute node will appear in the first position of the iteration or traversal. Since attributes are never children of other nodes, they do not appear when traversing over the document tree.
\\t\\t\\tNodeFilter.SHOW_CDATA_SECTION
\\t\\t\\t8
\\t\\t\\tShows `web.CDATASection` nodes.
\\t\\t\\tNodeFilter.SHOW_COMMENT
\\t\\t\\t128
\\t\\t\\tShows `web.Comment` nodes.
\\t\\t\\tNodeFilter.SHOW_DOCUMENT
\\t\\t\\t256
\\t\\t\\tShows `web.Document` nodes.
\\t\\t\\tNodeFilter.SHOW_DOCUMENT_FRAGMENT
\\t\\t\\t1024
\\t\\t\\tShows `web.web-components.DocumentFragment` nodes.
\\t\\t\\tNodeFilter.SHOW_DOCUMENT_TYPE
\\t\\t\\t512
\\t\\t\\tShows `web.DocumentType` nodes.
\\t\\t\\tNodeFilter.SHOW_ELEMENT
\\t\\t\\t1
\\t\\t\\tShows `web.Element` nodes.
\\t\\t\\tNodeFilter.SHOW_ENTITY
\\t\\t\\t32
\\t\\t\\tShows `Entity` nodes. This is meaningful only when creating a `web.NodeIterator` or `web.TreeWalker` with an `Entity` node as its root; in this case, it means that the `Entity` node will appear in the first position of the traversal. Since entities are not part of the document tree, they do not appear when traversing over the document tree.
\\t\\t\\tNodeFilter.SHOW_ENTITY_REFERENCE
\\t\\t\\t16
\\t\\t\\tShows `EntityReference` nodes.
\\t\\t\\tNodeFilter.SHOW_NOTATION
\\t\\t\\t2048
\\t\\t\\tShows `web.other.Notation` nodes. This is meaningful only when creating a `web.NodeIterator` or `web.TreeWalker` with a `web.other.Notation` node as its root; in this case, it means that the `web.other.Notation` node will appear in the first position of the traversal. Since entities are not part of the document tree, they do not appear when traversing over the document tree.
\\t\\t\\tNodeFilter.SHOW_PROCESSING_INSTRUCTION
\\t\\t\\t64
\\t\\t\\tShows `web.ProcessingInstruction` nodes.
\\t\\t\\tNodeFilter.SHOW_TEXT
\\t\\t\\t4
\\t\\t\\tShows `web.Text` nodes.`
See also: `https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator/whatToShow`"
[this]
(-> this (.-whatToShow)))
(defn set-what-to-show!
"Property.
The NodeIterator.whatToShow read-only property represents an
integer representing a bitmask signifying what types of nodes
be returned by the `web.NodeIterator`.
`var nodeTypes = nodeIterator.whatToShow;
The values that can be combined to form the bitmask are:
\\t\\t\\tConstant
\\t\\t\\tNumerical value
\\t\\t\\tDescription
\\t\\t\\tNodeFilter.SHOW_ALL
\\t\\t\\t-1 (that is the max value of unsigned long)
\\t\\t\\tShows all nodes.
\\t\\t\\tNodeFilter.SHOW_ATTRIBUTE
\\t\\t\\t2
\\t\\t\\tShows attribute `web.Attr` nodes. This is meaningful only when creating a `web.NodeIterator` or `web.TreeWalker` with an `web.Attr` node as its root; in this case, it means that the attribute node will appear in the first position of the iteration or traversal. Since attributes are never children of other nodes, they do not appear when traversing over the document tree.
\\t\\t\\tNodeFilter.SHOW_CDATA_SECTION
\\t\\t\\t8
\\t\\t\\tShows `web.CDATASection` nodes.
\\t\\t\\tNodeFilter.SHOW_COMMENT
\\t\\t\\t128
\\t\\t\\tShows `web.Comment` nodes.
\\t\\t\\tNodeFilter.SHOW_DOCUMENT
\\t\\t\\t256
\\t\\t\\tShows `web.Document` nodes.
\\t\\t\\tNodeFilter.SHOW_DOCUMENT_FRAGMENT
\\t\\t\\t1024
\\t\\t\\tShows `web.web-components.DocumentFragment` nodes.
\\t\\t\\tNodeFilter.SHOW_DOCUMENT_TYPE
\\t\\t\\t512
\\t\\t\\tShows `web.DocumentType` nodes.
\\t\\t\\tNodeFilter.SHOW_ELEMENT
\\t\\t\\t1
\\t\\t\\tShows `web.Element` nodes.
\\t\\t\\tNodeFilter.SHOW_ENTITY
\\t\\t\\t32
\\t\\t\\tShows `Entity` nodes. This is meaningful only when creating a `web.NodeIterator` or `web.TreeWalker` with an `Entity` node as its root; in this case, it means that the `Entity` node will appear in the first position of the traversal. Since entities are not part of the document tree, they do not appear when traversing over the document tree.
\\t\\t\\tNodeFilter.SHOW_ENTITY_REFERENCE
\\t\\t\\t16
\\t\\t\\tShows `EntityReference` nodes.
\\t\\t\\tNodeFilter.SHOW_NOTATION
\\t\\t\\t2048
\\t\\t\\tShows `web.other.Notation` nodes. This is meaningful only when creating a `web.NodeIterator` or `web.TreeWalker` with a `web.other.Notation` node as its root; in this case, it means that the `web.other.Notation` node will appear in the first position of the traversal. Since entities are not part of the document tree, they do not appear when traversing over the document tree.
\\t\\t\\tNodeFilter.SHOW_PROCESSING_INSTRUCTION
\\t\\t\\t64
\\t\\t\\tShows `web.ProcessingInstruction` nodes.
\\t\\t\\tNodeFilter.SHOW_TEXT
\\t\\t\\t4
\\t\\t\\tShows `web.Text` nodes.`
See also: `https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator/whatToShow`"
[this val]
(aset this "whatToShow" val))
(defn filter
"Property.
The NodeIterator.filter read-only method returns a `web.NodeFilter`
that is an object implement an acceptNode(node) method, used
screen nodes.
`nodeFilter = nodeIterator.filter;`
See also: `https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator/filter`"
[this]
(-> this (.-filter)))
(defn set-filter!
"Property.
The NodeIterator.filter read-only method returns a `web.NodeFilter`
that is an object implement an acceptNode(node) method, used
screen nodes.
`nodeFilter = nodeIterator.filter;`
See also: `https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator/filter`"
[this val]
(aset this "filter" val))
(defn expand-entity-references
"Property.
The NodeIterator.expandEntityReferences read-only property returns
`js.Boolean` flag indicating whether or not the children of entity
nodes are visible to the `web.NodeIterator`.
`expand = nodeIterator.expandEntityReferences;`
See also: `https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator/expandEntityReferences`"
[this]
(-> this (.-expandEntityReferences)))
(defn set-expand-entity-references!
"Property.
The NodeIterator.expandEntityReferences read-only property returns
`js.Boolean` flag indicating whether or not the children of entity
nodes are visible to the `web.NodeIterator`.
`expand = nodeIterator.expandEntityReferences;`
See also: `https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator/expandEntityReferences`"
[this val]
(aset this "expandEntityReferences" val))
(defn reference-node
"Property.
The NodeIterator.referenceNode read-only returns the `web.Node`
which the iterator is anchored; as new nodes are inserted, the
remains anchored to the reference node as specified by this property.
`node = nodeIterator.referenceNode;`
See also: `https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator/referenceNode`"
[this]
(-> this (.-referenceNode)))
(defn set-reference-node!
"Property.
The NodeIterator.referenceNode read-only returns the `web.Node`
which the iterator is anchored; as new nodes are inserted, the
remains anchored to the reference node as specified by this property.
`node = nodeIterator.referenceNode;`
See also: `https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator/referenceNode`"
[this val]
(aset this "referenceNode" val))
(defn pointer-before-reference-node
"Property.
The NodeIterator.pointerBeforeReferenceNode read-only property
a `js.Boolean` flag that indicates whether the `web.NodeFilter`
anchored before (if this value is true) or after (if this value
false) the anchor node indicated by the `NodeIterator.referenceNode`
`flag = nodeIterator.pointerBeforeReferenceNode;`
See also: `https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator/pointerBeforeReferenceNode`"
[this]
(-> this (.-pointerBeforeReferenceNode)))
(defn set-pointer-before-reference-node!
"Property.
The NodeIterator.pointerBeforeReferenceNode read-only property
a `js.Boolean` flag that indicates whether the `web.NodeFilter`
anchored before (if this value is true) or after (if this value
false) the anchor node indicated by the `NodeIterator.referenceNode`
`flag = nodeIterator.pointerBeforeReferenceNode;`
See also: `https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator/pointerBeforeReferenceNode`"
[this val]
(aset this "pointerBeforeReferenceNode" val))