@herb-tools/core 0.8.10 → 0.9.1
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.
- package/dist/herb-core.browser.js +22728 -320
- package/dist/herb-core.browser.js.map +1 -1
- package/dist/herb-core.cjs +22815 -321
- package/dist/herb-core.cjs.map +1 -1
- package/dist/herb-core.esm.js +22728 -320
- package/dist/herb-core.esm.js.map +1 -1
- package/dist/herb-core.umd.js +22815 -321
- package/dist/herb-core.umd.js.map +1 -1
- package/dist/types/ast-utils.d.ts +185 -4
- package/dist/types/backend.d.ts +6 -6
- package/dist/types/diagnostic.d.ts +6 -0
- package/dist/types/errors.d.ts +390 -25
- package/dist/types/extract-ruby-options.d.ts +6 -0
- package/dist/types/herb-backend.d.ts +15 -7
- package/dist/types/index.d.ts +2 -0
- package/dist/types/node-type-guards.d.ts +113 -32
- package/dist/types/nodes.d.ts +465 -49
- package/dist/types/parse-result.d.ts +7 -1
- package/dist/types/parser-options.d.ts +33 -2
- package/dist/types/prism/index.d.ts +28 -0
- package/dist/types/prism/inspect.d.ts +3 -0
- package/dist/types/util.d.ts +0 -1
- package/dist/types/visitor.d.ts +19 -1
- package/package.json +4 -1
- package/src/ast-utils.ts +564 -8
- package/src/backend.ts +7 -7
- package/src/diagnostic.ts +7 -0
- package/src/errors.ts +1221 -76
- package/src/extract-ruby-options.ts +11 -0
- package/src/herb-backend.ts +30 -15
- package/src/index.ts +2 -0
- package/src/node-type-guards.ts +281 -33
- package/src/nodes.ts +1309 -100
- package/src/parse-result.ts +11 -0
- package/src/parser-options.ts +62 -2
- package/src/prism/index.ts +44 -0
- package/src/prism/inspect.ts +118 -0
- package/src/util.ts +0 -12
- package/src/visitor.ts +66 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Node, NodeType, ERBNode } from "./nodes.js";
|
|
2
2
|
import { Token } from "./token.js";
|
|
3
3
|
import { ParseResult } from "./parse-result.js";
|
|
4
|
-
import { DocumentNode, LiteralNode, HTMLOpenTagNode, HTMLCloseTagNode, HTMLElementNode, HTMLAttributeValueNode, HTMLAttributeNameNode, HTMLAttributeNode, HTMLTextNode, HTMLCommentNode, HTMLDoctypeNode, XMLDeclarationNode, CDATANode, WhitespaceNode, ERBContentNode, ERBEndNode, ERBElseNode, ERBIfNode, ERBBlockNode, ERBWhenNode, ERBCaseNode, ERBCaseMatchNode, ERBWhileNode, ERBUntilNode, ERBForNode, ERBRescueNode, ERBEnsureNode, ERBBeginNode, ERBUnlessNode, ERBYieldNode, ERBInNode } from "./nodes.js";
|
|
4
|
+
import { DocumentNode, LiteralNode, HTMLOpenTagNode, HTMLConditionalOpenTagNode, HTMLCloseTagNode, HTMLOmittedCloseTagNode, HTMLVirtualCloseTagNode, HTMLElementNode, HTMLConditionalElementNode, HTMLAttributeValueNode, HTMLAttributeNameNode, HTMLAttributeNode, RubyLiteralNode, RubyHTMLAttributesSplatNode, ERBOpenTagNode, HTMLTextNode, HTMLCommentNode, HTMLDoctypeNode, XMLDeclarationNode, CDATANode, WhitespaceNode, ERBContentNode, ERBEndNode, ERBElseNode, ERBIfNode, ERBBlockNode, ERBWhenNode, ERBCaseNode, ERBCaseMatchNode, ERBWhileNode, ERBUntilNode, ERBForNode, ERBRescueNode, ERBEnsureNode, ERBBeginNode, ERBUnlessNode, RubyRenderLocalNode, ERBRenderNode, ERBYieldNode, ERBInNode } from "./nodes.js";
|
|
5
5
|
/**
|
|
6
6
|
* Type guard functions for AST nodes.
|
|
7
7
|
* These functions provide type checking by combining both instanceof
|
|
@@ -11,127 +11,163 @@ import { DocumentNode, LiteralNode, HTMLOpenTagNode, HTMLCloseTagNode, HTMLEleme
|
|
|
11
11
|
/**
|
|
12
12
|
* Checks if a node is a DocumentNode
|
|
13
13
|
*/
|
|
14
|
-
export declare function isDocumentNode(node: Node): node is DocumentNode;
|
|
14
|
+
export declare function isDocumentNode(node: Node | null | undefined): node is DocumentNode;
|
|
15
15
|
/**
|
|
16
16
|
* Checks if a node is a LiteralNode
|
|
17
17
|
*/
|
|
18
|
-
export declare function isLiteralNode(node: Node): node is LiteralNode;
|
|
18
|
+
export declare function isLiteralNode(node: Node | null | undefined): node is LiteralNode;
|
|
19
19
|
/**
|
|
20
20
|
* Checks if a node is a HTMLOpenTagNode
|
|
21
21
|
*/
|
|
22
|
-
export declare function isHTMLOpenTagNode(node: Node): node is HTMLOpenTagNode;
|
|
22
|
+
export declare function isHTMLOpenTagNode(node: Node | null | undefined): node is HTMLOpenTagNode;
|
|
23
|
+
/**
|
|
24
|
+
* Checks if a node is a HTMLConditionalOpenTagNode
|
|
25
|
+
*/
|
|
26
|
+
export declare function isHTMLConditionalOpenTagNode(node: Node | null | undefined): node is HTMLConditionalOpenTagNode;
|
|
23
27
|
/**
|
|
24
28
|
* Checks if a node is a HTMLCloseTagNode
|
|
25
29
|
*/
|
|
26
|
-
export declare function isHTMLCloseTagNode(node: Node): node is HTMLCloseTagNode;
|
|
30
|
+
export declare function isHTMLCloseTagNode(node: Node | null | undefined): node is HTMLCloseTagNode;
|
|
31
|
+
/**
|
|
32
|
+
* Checks if a node is a HTMLOmittedCloseTagNode
|
|
33
|
+
*/
|
|
34
|
+
export declare function isHTMLOmittedCloseTagNode(node: Node | null | undefined): node is HTMLOmittedCloseTagNode;
|
|
35
|
+
/**
|
|
36
|
+
* Checks if a node is a HTMLVirtualCloseTagNode
|
|
37
|
+
*/
|
|
38
|
+
export declare function isHTMLVirtualCloseTagNode(node: Node | null | undefined): node is HTMLVirtualCloseTagNode;
|
|
27
39
|
/**
|
|
28
40
|
* Checks if a node is a HTMLElementNode
|
|
29
41
|
*/
|
|
30
|
-
export declare function isHTMLElementNode(node: Node): node is HTMLElementNode;
|
|
42
|
+
export declare function isHTMLElementNode(node: Node | null | undefined): node is HTMLElementNode;
|
|
43
|
+
/**
|
|
44
|
+
* Checks if a node is a HTMLConditionalElementNode
|
|
45
|
+
*/
|
|
46
|
+
export declare function isHTMLConditionalElementNode(node: Node | null | undefined): node is HTMLConditionalElementNode;
|
|
31
47
|
/**
|
|
32
48
|
* Checks if a node is a HTMLAttributeValueNode
|
|
33
49
|
*/
|
|
34
|
-
export declare function isHTMLAttributeValueNode(node: Node): node is HTMLAttributeValueNode;
|
|
50
|
+
export declare function isHTMLAttributeValueNode(node: Node | null | undefined): node is HTMLAttributeValueNode;
|
|
35
51
|
/**
|
|
36
52
|
* Checks if a node is a HTMLAttributeNameNode
|
|
37
53
|
*/
|
|
38
|
-
export declare function isHTMLAttributeNameNode(node: Node): node is HTMLAttributeNameNode;
|
|
54
|
+
export declare function isHTMLAttributeNameNode(node: Node | null | undefined): node is HTMLAttributeNameNode;
|
|
39
55
|
/**
|
|
40
56
|
* Checks if a node is a HTMLAttributeNode
|
|
41
57
|
*/
|
|
42
|
-
export declare function isHTMLAttributeNode(node: Node): node is HTMLAttributeNode;
|
|
58
|
+
export declare function isHTMLAttributeNode(node: Node | null | undefined): node is HTMLAttributeNode;
|
|
59
|
+
/**
|
|
60
|
+
* Checks if a node is a RubyLiteralNode
|
|
61
|
+
*/
|
|
62
|
+
export declare function isRubyLiteralNode(node: Node | null | undefined): node is RubyLiteralNode;
|
|
63
|
+
/**
|
|
64
|
+
* Checks if a node is a RubyHTMLAttributesSplatNode
|
|
65
|
+
*/
|
|
66
|
+
export declare function isRubyHTMLAttributesSplatNode(node: Node | null | undefined): node is RubyHTMLAttributesSplatNode;
|
|
67
|
+
/**
|
|
68
|
+
* Checks if a node is a ERBOpenTagNode
|
|
69
|
+
*/
|
|
70
|
+
export declare function isERBOpenTagNode(node: Node | null | undefined): node is ERBOpenTagNode;
|
|
43
71
|
/**
|
|
44
72
|
* Checks if a node is a HTMLTextNode
|
|
45
73
|
*/
|
|
46
|
-
export declare function isHTMLTextNode(node: Node): node is HTMLTextNode;
|
|
74
|
+
export declare function isHTMLTextNode(node: Node | null | undefined): node is HTMLTextNode;
|
|
47
75
|
/**
|
|
48
76
|
* Checks if a node is a HTMLCommentNode
|
|
49
77
|
*/
|
|
50
|
-
export declare function isHTMLCommentNode(node: Node): node is HTMLCommentNode;
|
|
78
|
+
export declare function isHTMLCommentNode(node: Node | null | undefined): node is HTMLCommentNode;
|
|
51
79
|
/**
|
|
52
80
|
* Checks if a node is a HTMLDoctypeNode
|
|
53
81
|
*/
|
|
54
|
-
export declare function isHTMLDoctypeNode(node: Node): node is HTMLDoctypeNode;
|
|
82
|
+
export declare function isHTMLDoctypeNode(node: Node | null | undefined): node is HTMLDoctypeNode;
|
|
55
83
|
/**
|
|
56
84
|
* Checks if a node is a XMLDeclarationNode
|
|
57
85
|
*/
|
|
58
|
-
export declare function isXMLDeclarationNode(node: Node): node is XMLDeclarationNode;
|
|
86
|
+
export declare function isXMLDeclarationNode(node: Node | null | undefined): node is XMLDeclarationNode;
|
|
59
87
|
/**
|
|
60
88
|
* Checks if a node is a CDATANode
|
|
61
89
|
*/
|
|
62
|
-
export declare function isCDATANode(node: Node): node is CDATANode;
|
|
90
|
+
export declare function isCDATANode(node: Node | null | undefined): node is CDATANode;
|
|
63
91
|
/**
|
|
64
92
|
* Checks if a node is a WhitespaceNode
|
|
65
93
|
*/
|
|
66
|
-
export declare function isWhitespaceNode(node: Node): node is WhitespaceNode;
|
|
94
|
+
export declare function isWhitespaceNode(node: Node | null | undefined): node is WhitespaceNode;
|
|
67
95
|
/**
|
|
68
96
|
* Checks if a node is a ERBContentNode
|
|
69
97
|
*/
|
|
70
|
-
export declare function isERBContentNode(node: Node): node is ERBContentNode;
|
|
98
|
+
export declare function isERBContentNode(node: Node | null | undefined): node is ERBContentNode;
|
|
71
99
|
/**
|
|
72
100
|
* Checks if a node is a ERBEndNode
|
|
73
101
|
*/
|
|
74
|
-
export declare function isERBEndNode(node: Node): node is ERBEndNode;
|
|
102
|
+
export declare function isERBEndNode(node: Node | null | undefined): node is ERBEndNode;
|
|
75
103
|
/**
|
|
76
104
|
* Checks if a node is a ERBElseNode
|
|
77
105
|
*/
|
|
78
|
-
export declare function isERBElseNode(node: Node): node is ERBElseNode;
|
|
106
|
+
export declare function isERBElseNode(node: Node | null | undefined): node is ERBElseNode;
|
|
79
107
|
/**
|
|
80
108
|
* Checks if a node is a ERBIfNode
|
|
81
109
|
*/
|
|
82
|
-
export declare function isERBIfNode(node: Node): node is ERBIfNode;
|
|
110
|
+
export declare function isERBIfNode(node: Node | null | undefined): node is ERBIfNode;
|
|
83
111
|
/**
|
|
84
112
|
* Checks if a node is a ERBBlockNode
|
|
85
113
|
*/
|
|
86
|
-
export declare function isERBBlockNode(node: Node): node is ERBBlockNode;
|
|
114
|
+
export declare function isERBBlockNode(node: Node | null | undefined): node is ERBBlockNode;
|
|
87
115
|
/**
|
|
88
116
|
* Checks if a node is a ERBWhenNode
|
|
89
117
|
*/
|
|
90
|
-
export declare function isERBWhenNode(node: Node): node is ERBWhenNode;
|
|
118
|
+
export declare function isERBWhenNode(node: Node | null | undefined): node is ERBWhenNode;
|
|
91
119
|
/**
|
|
92
120
|
* Checks if a node is a ERBCaseNode
|
|
93
121
|
*/
|
|
94
|
-
export declare function isERBCaseNode(node: Node): node is ERBCaseNode;
|
|
122
|
+
export declare function isERBCaseNode(node: Node | null | undefined): node is ERBCaseNode;
|
|
95
123
|
/**
|
|
96
124
|
* Checks if a node is a ERBCaseMatchNode
|
|
97
125
|
*/
|
|
98
|
-
export declare function isERBCaseMatchNode(node: Node): node is ERBCaseMatchNode;
|
|
126
|
+
export declare function isERBCaseMatchNode(node: Node | null | undefined): node is ERBCaseMatchNode;
|
|
99
127
|
/**
|
|
100
128
|
* Checks if a node is a ERBWhileNode
|
|
101
129
|
*/
|
|
102
|
-
export declare function isERBWhileNode(node: Node): node is ERBWhileNode;
|
|
130
|
+
export declare function isERBWhileNode(node: Node | null | undefined): node is ERBWhileNode;
|
|
103
131
|
/**
|
|
104
132
|
* Checks if a node is a ERBUntilNode
|
|
105
133
|
*/
|
|
106
|
-
export declare function isERBUntilNode(node: Node): node is ERBUntilNode;
|
|
134
|
+
export declare function isERBUntilNode(node: Node | null | undefined): node is ERBUntilNode;
|
|
107
135
|
/**
|
|
108
136
|
* Checks if a node is a ERBForNode
|
|
109
137
|
*/
|
|
110
|
-
export declare function isERBForNode(node: Node): node is ERBForNode;
|
|
138
|
+
export declare function isERBForNode(node: Node | null | undefined): node is ERBForNode;
|
|
111
139
|
/**
|
|
112
140
|
* Checks if a node is a ERBRescueNode
|
|
113
141
|
*/
|
|
114
|
-
export declare function isERBRescueNode(node: Node): node is ERBRescueNode;
|
|
142
|
+
export declare function isERBRescueNode(node: Node | null | undefined): node is ERBRescueNode;
|
|
115
143
|
/**
|
|
116
144
|
* Checks if a node is a ERBEnsureNode
|
|
117
145
|
*/
|
|
118
|
-
export declare function isERBEnsureNode(node: Node): node is ERBEnsureNode;
|
|
146
|
+
export declare function isERBEnsureNode(node: Node | null | undefined): node is ERBEnsureNode;
|
|
119
147
|
/**
|
|
120
148
|
* Checks if a node is a ERBBeginNode
|
|
121
149
|
*/
|
|
122
|
-
export declare function isERBBeginNode(node: Node): node is ERBBeginNode;
|
|
150
|
+
export declare function isERBBeginNode(node: Node | null | undefined): node is ERBBeginNode;
|
|
123
151
|
/**
|
|
124
152
|
* Checks if a node is a ERBUnlessNode
|
|
125
153
|
*/
|
|
126
|
-
export declare function isERBUnlessNode(node: Node): node is ERBUnlessNode;
|
|
154
|
+
export declare function isERBUnlessNode(node: Node | null | undefined): node is ERBUnlessNode;
|
|
155
|
+
/**
|
|
156
|
+
* Checks if a node is a RubyRenderLocalNode
|
|
157
|
+
*/
|
|
158
|
+
export declare function isRubyRenderLocalNode(node: Node | null | undefined): node is RubyRenderLocalNode;
|
|
159
|
+
/**
|
|
160
|
+
* Checks if a node is a ERBRenderNode
|
|
161
|
+
*/
|
|
162
|
+
export declare function isERBRenderNode(node: Node | null | undefined): node is ERBRenderNode;
|
|
127
163
|
/**
|
|
128
164
|
* Checks if a node is a ERBYieldNode
|
|
129
165
|
*/
|
|
130
|
-
export declare function isERBYieldNode(node: Node): node is ERBYieldNode;
|
|
166
|
+
export declare function isERBYieldNode(node: Node | null | undefined): node is ERBYieldNode;
|
|
131
167
|
/**
|
|
132
168
|
* Checks if a node is a ERBInNode
|
|
133
169
|
*/
|
|
134
|
-
export declare function isERBInNode(node: Node): node is ERBInNode;
|
|
170
|
+
export declare function isERBInNode(node: Node | null | undefined): node is ERBInNode;
|
|
135
171
|
/**
|
|
136
172
|
* Convenience type guards for common node categories
|
|
137
173
|
*/
|
|
@@ -169,11 +205,18 @@ type NodeTypeToClass = {
|
|
|
169
205
|
"AST_DOCUMENT_NODE": DocumentNode;
|
|
170
206
|
"AST_LITERAL_NODE": LiteralNode;
|
|
171
207
|
"AST_HTML_OPEN_TAG_NODE": HTMLOpenTagNode;
|
|
208
|
+
"AST_HTML_CONDITIONAL_OPEN_TAG_NODE": HTMLConditionalOpenTagNode;
|
|
172
209
|
"AST_HTML_CLOSE_TAG_NODE": HTMLCloseTagNode;
|
|
210
|
+
"AST_HTML_OMITTED_CLOSE_TAG_NODE": HTMLOmittedCloseTagNode;
|
|
211
|
+
"AST_HTML_VIRTUAL_CLOSE_TAG_NODE": HTMLVirtualCloseTagNode;
|
|
173
212
|
"AST_HTML_ELEMENT_NODE": HTMLElementNode;
|
|
213
|
+
"AST_HTML_CONDITIONAL_ELEMENT_NODE": HTMLConditionalElementNode;
|
|
174
214
|
"AST_HTML_ATTRIBUTE_VALUE_NODE": HTMLAttributeValueNode;
|
|
175
215
|
"AST_HTML_ATTRIBUTE_NAME_NODE": HTMLAttributeNameNode;
|
|
176
216
|
"AST_HTML_ATTRIBUTE_NODE": HTMLAttributeNode;
|
|
217
|
+
"AST_RUBY_LITERAL_NODE": RubyLiteralNode;
|
|
218
|
+
"AST_RUBY_HTML_ATTRIBUTES_SPLAT_NODE": RubyHTMLAttributesSplatNode;
|
|
219
|
+
"AST_ERB_OPEN_TAG_NODE": ERBOpenTagNode;
|
|
177
220
|
"AST_HTML_TEXT_NODE": HTMLTextNode;
|
|
178
221
|
"AST_HTML_COMMENT_NODE": HTMLCommentNode;
|
|
179
222
|
"AST_HTML_DOCTYPE_NODE": HTMLDoctypeNode;
|
|
@@ -195,6 +238,8 @@ type NodeTypeToClass = {
|
|
|
195
238
|
"AST_ERB_ENSURE_NODE": ERBEnsureNode;
|
|
196
239
|
"AST_ERB_BEGIN_NODE": ERBBeginNode;
|
|
197
240
|
"AST_ERB_UNLESS_NODE": ERBUnlessNode;
|
|
241
|
+
"AST_RUBY_RENDER_LOCAL_NODE": RubyRenderLocalNode;
|
|
242
|
+
"AST_ERB_RENDER_NODE": ERBRenderNode;
|
|
198
243
|
"AST_ERB_YIELD_NODE": ERBYieldNode;
|
|
199
244
|
"AST_ERB_IN_NODE": ERBInNode;
|
|
200
245
|
};
|
|
@@ -319,14 +364,30 @@ export declare function filterLiteralNodes(nodes: Node[]): LiteralNode[];
|
|
|
319
364
|
* Filters an array of nodes to only include HTMLOpenTagNode nodes
|
|
320
365
|
*/
|
|
321
366
|
export declare function filterHTMLOpenTagNodes(nodes: Node[]): HTMLOpenTagNode[];
|
|
367
|
+
/**
|
|
368
|
+
* Filters an array of nodes to only include HTMLConditionalOpenTagNode nodes
|
|
369
|
+
*/
|
|
370
|
+
export declare function filterHTMLConditionalOpenTagNodes(nodes: Node[]): HTMLConditionalOpenTagNode[];
|
|
322
371
|
/**
|
|
323
372
|
* Filters an array of nodes to only include HTMLCloseTagNode nodes
|
|
324
373
|
*/
|
|
325
374
|
export declare function filterHTMLCloseTagNodes(nodes: Node[]): HTMLCloseTagNode[];
|
|
375
|
+
/**
|
|
376
|
+
* Filters an array of nodes to only include HTMLOmittedCloseTagNode nodes
|
|
377
|
+
*/
|
|
378
|
+
export declare function filterHTMLOmittedCloseTagNodes(nodes: Node[]): HTMLOmittedCloseTagNode[];
|
|
379
|
+
/**
|
|
380
|
+
* Filters an array of nodes to only include HTMLVirtualCloseTagNode nodes
|
|
381
|
+
*/
|
|
382
|
+
export declare function filterHTMLVirtualCloseTagNodes(nodes: Node[]): HTMLVirtualCloseTagNode[];
|
|
326
383
|
/**
|
|
327
384
|
* Filters an array of nodes to only include HTMLElementNode nodes
|
|
328
385
|
*/
|
|
329
386
|
export declare function filterHTMLElementNodes(nodes: Node[]): HTMLElementNode[];
|
|
387
|
+
/**
|
|
388
|
+
* Filters an array of nodes to only include HTMLConditionalElementNode nodes
|
|
389
|
+
*/
|
|
390
|
+
export declare function filterHTMLConditionalElementNodes(nodes: Node[]): HTMLConditionalElementNode[];
|
|
330
391
|
/**
|
|
331
392
|
* Filters an array of nodes to only include HTMLAttributeValueNode nodes
|
|
332
393
|
*/
|
|
@@ -339,6 +400,18 @@ export declare function filterHTMLAttributeNameNodes(nodes: Node[]): HTMLAttribu
|
|
|
339
400
|
* Filters an array of nodes to only include HTMLAttributeNode nodes
|
|
340
401
|
*/
|
|
341
402
|
export declare function filterHTMLAttributeNodes(nodes: Node[]): HTMLAttributeNode[];
|
|
403
|
+
/**
|
|
404
|
+
* Filters an array of nodes to only include RubyLiteralNode nodes
|
|
405
|
+
*/
|
|
406
|
+
export declare function filterRubyLiteralNodes(nodes: Node[]): RubyLiteralNode[];
|
|
407
|
+
/**
|
|
408
|
+
* Filters an array of nodes to only include RubyHTMLAttributesSplatNode nodes
|
|
409
|
+
*/
|
|
410
|
+
export declare function filterRubyHTMLAttributesSplatNodes(nodes: Node[]): RubyHTMLAttributesSplatNode[];
|
|
411
|
+
/**
|
|
412
|
+
* Filters an array of nodes to only include ERBOpenTagNode nodes
|
|
413
|
+
*/
|
|
414
|
+
export declare function filterERBOpenTagNodes(nodes: Node[]): ERBOpenTagNode[];
|
|
342
415
|
/**
|
|
343
416
|
* Filters an array of nodes to only include HTMLTextNode nodes
|
|
344
417
|
*/
|
|
@@ -423,6 +496,14 @@ export declare function filterERBBeginNodes(nodes: Node[]): ERBBeginNode[];
|
|
|
423
496
|
* Filters an array of nodes to only include ERBUnlessNode nodes
|
|
424
497
|
*/
|
|
425
498
|
export declare function filterERBUnlessNodes(nodes: Node[]): ERBUnlessNode[];
|
|
499
|
+
/**
|
|
500
|
+
* Filters an array of nodes to only include RubyRenderLocalNode nodes
|
|
501
|
+
*/
|
|
502
|
+
export declare function filterRubyRenderLocalNodes(nodes: Node[]): RubyRenderLocalNode[];
|
|
503
|
+
/**
|
|
504
|
+
* Filters an array of nodes to only include ERBRenderNode nodes
|
|
505
|
+
*/
|
|
506
|
+
export declare function filterERBRenderNodes(nodes: Node[]): ERBRenderNode[];
|
|
426
507
|
/**
|
|
427
508
|
* Filters an array of nodes to only include ERBYieldNode nodes
|
|
428
509
|
*/
|