@markuplint/pug-parser 3.7.0 → 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts +1 -1
- package/lib/pug-parser/index.d.ts +97 -111
- package/package.json +6 -6
package/lib/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { parse } from './parse';
|
|
2
|
-
export declare const endTag =
|
|
2
|
+
export declare const endTag = "never";
|
|
@@ -1,21 +1,7 @@
|
|
|
1
1
|
export declare function pugParse(pug: string): ASTBlock;
|
|
2
2
|
export type ASTBlock = PugAST<ASTNode>;
|
|
3
|
-
export type ASTNode =
|
|
4
|
-
|
|
5
|
-
| ASTTextNode
|
|
6
|
-
| ASTCodeNode
|
|
7
|
-
| ASTComment
|
|
8
|
-
| ASTDoctype
|
|
9
|
-
| ASTIncludeNode
|
|
10
|
-
| ASTMixinNode
|
|
11
|
-
| ASTMixinSlotNode
|
|
12
|
-
| ASTFilterNode
|
|
13
|
-
| ASTEachNode
|
|
14
|
-
| ASTConditionalNode
|
|
15
|
-
| ASTCaseNode
|
|
16
|
-
| ASTCaseWhenNode;
|
|
17
|
-
export type ASTTagNode = Omit<PugASTTagNode<ASTAttr, ASTBlock>, 'attributeBlocks' | 'selfClosing' | 'isInline'> &
|
|
18
|
-
AdditionalASTData;
|
|
3
|
+
export type ASTNode = ASTTagNode | ASTTextNode | ASTCodeNode | ASTComment | ASTDoctype | ASTIncludeNode | ASTMixinNode | ASTMixinSlotNode | ASTFilterNode | ASTEachNode | ASTConditionalNode | ASTCaseNode | ASTCaseWhenNode;
|
|
4
|
+
export type ASTTagNode = Omit<PugASTTagNode<ASTAttr, ASTBlock>, 'attributeBlocks' | 'selfClosing' | 'isInline'> & AdditionalASTData;
|
|
19
5
|
export type ASTTextNode = Omit<PugASTTextNode, 'val'> & AdditionalASTData;
|
|
20
6
|
export type ASTCodeNode = PugASTCodeNode & AdditionalASTData;
|
|
21
7
|
export type ASTComment = PugASTCommentNode & AdditionalASTData;
|
|
@@ -26,135 +12,135 @@ export type ASTMixinSlotNode = PugASTMixinSlotNode & AdditionalASTData;
|
|
|
26
12
|
export type ASTFilterNode = PugASTFilterNode<ASTAttr, ASTBlock> & AdditionalASTData;
|
|
27
13
|
export type ASTEachNode = PugASTEachNode<ASTBlock> & AdditionalASTData;
|
|
28
14
|
export type ASTConditionalNode = Omit<PugASTConditionalNode<ASTBlock>, 'consequent' | 'alternate'> & {
|
|
29
|
-
|
|
15
|
+
block: ASTBlock;
|
|
30
16
|
} & AdditionalASTData;
|
|
31
17
|
export type ASTCaseNode = PugASTCaseNode<ASTBlock> & AdditionalASTData;
|
|
32
18
|
export type ASTCaseWhenNode = PugASTCaseWhenNode<ASTBlock> & AdditionalASTData;
|
|
33
19
|
export type ASTAttr = PugASTAttr & AdditionalASTData;
|
|
34
20
|
type AdditionalASTData = {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
21
|
+
raw: string;
|
|
22
|
+
offset: number;
|
|
23
|
+
endOffset: number;
|
|
24
|
+
endLine: number;
|
|
25
|
+
endColumn: number;
|
|
40
26
|
};
|
|
41
27
|
interface PugAST<N> {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
28
|
+
type: 'Block';
|
|
29
|
+
nodes: N[];
|
|
30
|
+
line: number;
|
|
45
31
|
}
|
|
46
32
|
type PugASTTagNode<A, B> = {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
33
|
+
type: 'Tag';
|
|
34
|
+
name: string;
|
|
35
|
+
selfClosing: boolean;
|
|
36
|
+
attrs: A[];
|
|
37
|
+
attributeBlocks: never[];
|
|
38
|
+
isInline: boolean;
|
|
39
|
+
line: number;
|
|
40
|
+
column: number;
|
|
41
|
+
block: B;
|
|
56
42
|
};
|
|
57
43
|
type PugASTTextNode = {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
44
|
+
type: 'Text';
|
|
45
|
+
val: string;
|
|
46
|
+
isHtml?: true;
|
|
47
|
+
line: number;
|
|
48
|
+
column: number;
|
|
63
49
|
};
|
|
64
50
|
type PugASTCodeNode = {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
51
|
+
type: 'Code';
|
|
52
|
+
val: string;
|
|
53
|
+
buffer: boolean;
|
|
54
|
+
mustEscape: boolean;
|
|
55
|
+
isInline: boolean;
|
|
56
|
+
line: number;
|
|
57
|
+
column: number;
|
|
72
58
|
};
|
|
73
59
|
type PugASTCommentNode = {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
60
|
+
type: 'Comment';
|
|
61
|
+
val: string;
|
|
62
|
+
buffer: boolean;
|
|
63
|
+
line: number;
|
|
64
|
+
column: number;
|
|
79
65
|
};
|
|
80
66
|
type PugASTDoctypeNode = {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
67
|
+
type: 'Doctype';
|
|
68
|
+
val: string;
|
|
69
|
+
line: number;
|
|
70
|
+
column: number;
|
|
85
71
|
};
|
|
86
72
|
type PugASTIncludeNode<B> = {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
73
|
+
type: 'Include';
|
|
74
|
+
file: {
|
|
75
|
+
type: 'FileReference';
|
|
76
|
+
path: string;
|
|
77
|
+
line: number;
|
|
78
|
+
column: number;
|
|
79
|
+
};
|
|
80
|
+
block: B;
|
|
81
|
+
line: number;
|
|
82
|
+
column: number;
|
|
97
83
|
};
|
|
98
84
|
type PugASTEachNode<B> = {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
85
|
+
type: 'Each';
|
|
86
|
+
obj: string;
|
|
87
|
+
val: string;
|
|
88
|
+
key: string | null;
|
|
89
|
+
block: B;
|
|
90
|
+
line: number;
|
|
91
|
+
column: number;
|
|
106
92
|
};
|
|
107
93
|
type PugASTMixinNode<A, B> = {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
94
|
+
type: 'Mixin';
|
|
95
|
+
name: string;
|
|
96
|
+
args: string;
|
|
97
|
+
call: boolean;
|
|
98
|
+
block: B | null;
|
|
99
|
+
attrs?: A[];
|
|
100
|
+
attributeBlocks: never[];
|
|
101
|
+
line: number;
|
|
102
|
+
column: number;
|
|
117
103
|
};
|
|
118
104
|
type PugASTMixinSlotNode = {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
105
|
+
type: 'MixinBlock';
|
|
106
|
+
line: number;
|
|
107
|
+
column: number;
|
|
122
108
|
};
|
|
123
109
|
type PugASTFilterNode<A, B> = {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
110
|
+
type: 'Filter';
|
|
111
|
+
name: string;
|
|
112
|
+
block: B;
|
|
113
|
+
attrs: A[];
|
|
114
|
+
line: number;
|
|
115
|
+
column: number;
|
|
130
116
|
};
|
|
131
117
|
type PugASTConditionalNode<B> = {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
118
|
+
type: 'Conditional';
|
|
119
|
+
test: string;
|
|
120
|
+
consequent: B;
|
|
121
|
+
alternate?: B | PugASTConditionalNode<B>;
|
|
122
|
+
line: number;
|
|
123
|
+
column: number;
|
|
138
124
|
};
|
|
139
125
|
type PugASTCaseNode<B> = {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
126
|
+
type: 'Case';
|
|
127
|
+
expr: string;
|
|
128
|
+
block: B;
|
|
129
|
+
line: number;
|
|
130
|
+
column: number;
|
|
145
131
|
};
|
|
146
132
|
type PugASTCaseWhenNode<B> = {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
133
|
+
type: 'When';
|
|
134
|
+
expr: string;
|
|
135
|
+
block: B;
|
|
136
|
+
line: number;
|
|
137
|
+
column: number;
|
|
152
138
|
};
|
|
153
139
|
type PugASTAttr = {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
140
|
+
name: string;
|
|
141
|
+
val: string | true;
|
|
142
|
+
mustEscape: boolean;
|
|
143
|
+
line: number;
|
|
144
|
+
column: number;
|
|
159
145
|
};
|
|
160
146
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@markuplint/pug-parser",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.8.0",
|
|
4
4
|
"description": "Pug parser for markuplint",
|
|
5
5
|
"repository": "git@github.com:markuplint/markuplint.git",
|
|
6
6
|
"author": "Yusuke Hirao <yusukehirao@me.com>",
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
"clean": "tsc --build --clean"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@markuplint/html-parser": "3.
|
|
20
|
-
"@markuplint/ml-ast": "3.
|
|
21
|
-
"@markuplint/parser-utils": "3.
|
|
19
|
+
"@markuplint/html-parser": "3.9.0",
|
|
20
|
+
"@markuplint/ml-ast": "3.2.0",
|
|
21
|
+
"@markuplint/parser-utils": "3.9.0",
|
|
22
22
|
"pug-lexer": "^5.0.1",
|
|
23
23
|
"pug-parser": "^6.0.0",
|
|
24
|
-
"tslib": "^2.5.
|
|
24
|
+
"tslib": "^2.5.3"
|
|
25
25
|
},
|
|
26
|
-
"gitHead": "
|
|
26
|
+
"gitHead": "9547b8dca20736a93e4d01af2d61bee314ba5718"
|
|
27
27
|
}
|