@jesscss/scss-parser 2.0.0-alpha.10

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.
@@ -0,0 +1,336 @@
1
+ import type { Combinator, FusedRule } from 'parseman';
2
+ import { cssSyntax } from '@jesscss/parser-shared/recognition';
3
+ import { cssPseudoSyntax } from '@jesscss/parser-shared/pseudo-consts';
4
+ import { opaqueAtRuleRecognition } from '@jesscss/parser-shared/opaque-at-rule';
5
+ import type { AtRuleBlock, AtRuleStatement, Collection, Color, Comment, ComplexSelector, CompoundSelector, Declaration, Dimension, ExtendInstruction, For, ForBinding, FunctionCall, GeneralEnclosed, GuardNode, If, ImportAtRule, Interpolation, Keyword, MixinCall, MixinDef, ModuleImport, OpaqueAtRuleBlock, Param, Quoted, Stylesheet, Rule, SelectorList, SimpleSelector, SimpleToken, Statement, StyleImport, Url, ValueNode, ValueSlot, VariableDeclaration, VariableReference } from '@jesscss/core/ast';
6
+ type Token = {
7
+ readonly value: string;
8
+ };
9
+ type ScssValuePair = {
10
+ readonly separator: string;
11
+ readonly value: ValueSlot;
12
+ };
13
+ type ScssCallArg = {
14
+ readonly value: ValueSlot;
15
+ readonly name?: string;
16
+ readonly spread?: boolean;
17
+ };
18
+ type ScssComplexTail = {
19
+ readonly comb: ' ' | '>' | '+' | '~' | '||';
20
+ readonly compound: CompoundSelector;
21
+ };
22
+ type ScssRules = {
23
+ Stylesheet: Combinator<Stylesheet>;
24
+ ScssAstDocument: Combinator<Stylesheet>;
25
+ VariableDeclaration: Combinator<VariableDeclaration>;
26
+ DirectScssComment: Combinator<Comment>;
27
+ DirectScssVarReference: Combinator<VariableReference>;
28
+ SassInterpolation: Combinator<Interpolation>;
29
+ DirectScssQuoted: Combinator<Quoted | Interpolation>;
30
+ DirectScssStaticQuoted: Combinator<Quoted>;
31
+ DirectScssKeyword: Combinator<Keyword>;
32
+ DirectScssCustomPropertyValue: Combinator<Keyword>;
33
+ DirectScssColor: Combinator<Color>;
34
+ DirectScssUnicodeRange: Combinator<ValueNode>;
35
+ DirectScssDimension: Combinator<Dimension>;
36
+ DirectScssInterpolatedUrlValue: Combinator<Interpolation>;
37
+ DirectScssInterpolatedValue: Combinator<Interpolation>;
38
+ DirectScssParen: Combinator<ValueNode>;
39
+ DirectScssMapEntry: Combinator<Declaration>;
40
+ DirectScssMap: Combinator<Collection>;
41
+ DirectScssReturn: Combinator<Declaration>;
42
+ DirectScssFunction: Combinator<VariableDeclaration>;
43
+ DirectScssSquare: Combinator<ValueNode>;
44
+ ScssValueAtom: Combinator<ValueNode>;
45
+ DirectScssMathUnary: Combinator<ValueNode>;
46
+ DirectScssMathProduct: Combinator<ValueNode>;
47
+ DirectScssMathSum: Combinator<ValueNode>;
48
+ DirectScssMathTopProduct: Combinator<ValueNode>;
49
+ DirectScssMathTopSum: Combinator<ValueNode>;
50
+ DirectScssValueTerm: Combinator<ValueSlot>;
51
+ DirectScssValuePair: Combinator<ScssValuePair>;
52
+ DirectScssValue: Combinator<ValueSlot>;
53
+ DirectScssImportant: Combinator<true>;
54
+ DirectScssInterpolatedProperty: Combinator<Interpolation>;
55
+ DirectScssCustomPropertyName: Combinator<string | Interpolation>;
56
+ DirectScssCustomPart: Combinator<unknown>;
57
+ DirectScssCustomInnerPart: Combinator<unknown>;
58
+ DirectScssCustomParen: Combinator<readonly unknown[]>;
59
+ DirectScssCustomSquare: Combinator<readonly unknown[]>;
60
+ DirectScssCustomCurly: Combinator<readonly unknown[]>;
61
+ DirectScssCustomValue: Combinator<ValueNode>;
62
+ DirectScssCustomDeclaration: Combinator<Declaration>;
63
+ DirectScssDeclaration: Combinator<Declaration>;
64
+ DirectScssStaticNestedPropertyLeaf: Combinator<Declaration>;
65
+ DirectScssStaticNestedProperty: Combinator<Declaration>;
66
+ ScssImport: Combinator<ImportAtRule>;
67
+ DirectScssUseAs: Combinator<string>;
68
+ DirectScssUse: Combinator<StyleImport | ModuleImport>;
69
+ DirectScssForward: Combinator<StyleImport>;
70
+ DirectScssStaticImportUrl: Combinator<Url>;
71
+ DirectScssStaticImportLayer: Combinator<ValueNode>;
72
+ DirectScssStaticImportDeclaration: Combinator<ValueNode>;
73
+ DirectScssStaticImportSupports: Combinator<FunctionCall>;
74
+ DirectScssStaticImportQualifier: Combinator<ValueNode>;
75
+ DirectScssStaticImportMediaFeature: Combinator<ValueNode>;
76
+ DirectScssStaticImportMediaInParens: Combinator<ValueNode>;
77
+ DirectScssStaticImportMediaCondition: Combinator<ValueNode>;
78
+ DirectScssStaticImportMediaOnlyClause: Combinator<ValueNode>;
79
+ DirectScssStaticImportMediaClause: Combinator<ValueNode>;
80
+ DirectScssStaticImportMediaPrelude: Combinator<ValueNode>;
81
+ DirectScssStaticImportTail: Combinator<ValueNode>;
82
+ DirectScssMixinParam: Combinator<Param>;
83
+ DirectScssMixinParams: Combinator<Param[]>;
84
+ ScssMixinCallArg: Combinator<ScssCallArg>;
85
+ DirectScssMixinCall: Combinator<MixinCall>;
86
+ DirectScssMixinDef: Combinator<MixinDef>;
87
+ DirectScssEachName: Combinator<string>;
88
+ DirectScssEachBinding: Combinator<ForBinding>;
89
+ DirectScssEach: Combinator<For>;
90
+ DirectScssFor: Combinator<For>;
91
+ DirectScssIfCondition: Combinator<GuardNode>;
92
+ DirectScssIfAnd: Combinator<GuardNode>;
93
+ DirectScssIfTerm: Combinator<GuardNode>;
94
+ DirectScssIfAtom: Combinator<GuardNode>;
95
+ DirectScssIfComparison: Combinator<GuardNode>;
96
+ DirectScssIfBody: Combinator<Statement[]>;
97
+ DirectScssIfStaticRule: Combinator<Rule>;
98
+ DirectScssIfStaticConditionalBlock: Combinator<AtRuleBlock>;
99
+ DirectScssIf: Combinator<If>;
100
+ DirectScssQueryFeature: Combinator<ValueNode>;
101
+ DirectScssQueryFunction: Combinator<FunctionCall>;
102
+ DirectScssQueryInParens: Combinator<ValueNode>;
103
+ DirectScssQueryCondition: Combinator<ValueNode>;
104
+ DirectScssQueryClause: Combinator<ValueNode>;
105
+ DirectScssQueryPreludeTail: Combinator<ValueNode>;
106
+ DirectScssQueryPrelude: Combinator<ValueNode>;
107
+ DirectScssSupportsAtom: Combinator<ValueNode>;
108
+ DirectScssGeneralTemplate: Combinator<Interpolation>;
109
+ DirectScssGeneralTemplateParen: Combinator<Interpolation>;
110
+ DirectScssGeneralTemplateSquare: Combinator<Interpolation>;
111
+ DirectScssGeneralTemplateBrace: Combinator<Interpolation>;
112
+ DirectScssGeneralTemplateDoubleQuoted: Combinator<Interpolation>;
113
+ DirectScssGeneralTemplateSingleQuoted: Combinator<Interpolation>;
114
+ DirectScssGeneralEnclosed: Combinator<GeneralEnclosed>;
115
+ DirectScssSupportsFeature: Combinator<ValueNode>;
116
+ DirectScssSupportsInParens: Combinator<ValueNode>;
117
+ DirectScssSupportsNot: Combinator<Keyword>;
118
+ DirectScssSupportsAndOr: Combinator<Keyword>;
119
+ DirectScssSupportsCondition: Combinator<ValueNode>;
120
+ DirectScssSupportsPrelude: Combinator<ValueNode>;
121
+ DirectScssStaticMediaPrelude: Combinator<ValueNode>;
122
+ /** Static-only generic CSS header capture for known passthrough blocks. */
123
+ DirectScssStaticAtPrelude: Combinator<ValueNode | null>;
124
+ DirectScssStaticAtPreludeAtom: Combinator<Token>;
125
+ DirectScssStaticAtPreludeParen: Combinator<Token>;
126
+ DirectScssStaticAtPreludeSquare: Combinator<Token>;
127
+ DirectScssStaticAtPreludeDoubleQuoted: Combinator<Token>;
128
+ DirectScssStaticAtPreludeSingleQuoted: Combinator<Token>;
129
+ DirectScssAtRuleStatement: Combinator<AtRuleStatement>;
130
+ DirectScssScopeBlock: Combinator<AtRuleBlock>;
131
+ DirectScssNestedScopeBlock: Combinator<AtRuleBlock>;
132
+ DirectScssConditionalBlock: Combinator<AtRuleBlock>;
133
+ DirectScssStartingStyleBlock: Combinator<AtRuleBlock>;
134
+ DirectScssLayerBlock: Combinator<AtRuleBlock>;
135
+ /** Static `@document` / `@-moz-document` with a frame-one stylesheet body. */
136
+ DirectScssDocumentBlock: Combinator<AtRuleBlock>;
137
+ DirectScssPageMarginBox: Combinator<AtRuleBlock>;
138
+ DirectScssPageBlock: Combinator<AtRuleBlock>;
139
+ DirectScssFontFeatureValueBlock: Combinator<AtRuleBlock>;
140
+ DirectScssFontFeatureValuesBlock: Combinator<AtRuleBlock>;
141
+ DirectScssFontFace: Combinator<AtRuleBlock>;
142
+ DirectScssCounterStyle: Combinator<AtRuleBlock>;
143
+ DirectScssPropertyName: Combinator<Keyword>;
144
+ DirectScssPropertyAtRule: Combinator<AtRuleBlock>;
145
+ DirectScssKeyframeSelector: Combinator<SimpleSelector>;
146
+ DirectScssKeyframeBlock: Combinator<Rule>;
147
+ DirectScssKeyframes: Combinator<AtRuleBlock>;
148
+ DirectScssNestedConditionalBlock: Combinator<AtRuleBlock>;
149
+ DirectScssNestedStartingStyleBlock: Combinator<AtRuleBlock>;
150
+ DirectScssNestedLayerBlock: Combinator<AtRuleBlock>;
151
+ DirectScssSimple: Combinator<SimpleSelector>;
152
+ DirectScssInterpolatedSimple: Combinator<SimpleSelector>;
153
+ DirectScssPlaceholder: Combinator<SimpleSelector>;
154
+ DirectScssAttribute: Combinator<SimpleSelector>;
155
+ DirectScssPseudoArgument: Combinator<string>;
156
+ DirectScssStaticSelectorPseudoArgument: Combinator<string>;
157
+ DirectScssStaticSelectorPseudoItem: Combinator<string>;
158
+ DirectScssStaticSelectorPseudoTail: Combinator<string>;
159
+ DirectScssStaticPseudoArgument: Combinator<string>;
160
+ DirectScssStaticPseudoGroup: Combinator<string>;
161
+ DirectScssStaticPseudoSquare: Combinator<string>;
162
+ DirectScssPseudo: Combinator<SimpleToken>;
163
+ DirectScssNestingSelector: Combinator<SimpleSelector>;
164
+ DirectScssCompound: Combinator<CompoundSelector>;
165
+ DirectScssComplexTail: Combinator<ScssComplexTail>;
166
+ DirectScssComplex: Combinator<ComplexSelector>;
167
+ DirectScssSelectorTail: Combinator<ComplexSelector>;
168
+ DirectScssSelector: Combinator<SelectorList>;
169
+ DirectScssExtend: Combinator<ExtendInstruction>;
170
+ DirectScssOpaquePrelude: Combinator<string | null>;
171
+ DirectScssOpaqueBody: Combinator<string>;
172
+ DirectScssOpaqueAtRuleBlock: Combinator<OpaqueAtRuleBlock>;
173
+ DirectScssOpaqueAtRuleStatement: Combinator<AtRuleStatement>;
174
+ DirectScssRule: Combinator<Rule>;
175
+ rw: Combinator<unknown>;
176
+ whitespace: Combinator<unknown>;
177
+ };
178
+ type ScssInputRules = ScssRules & typeof cssSyntax & typeof cssPseudoSyntax & typeof opaqueAtRuleRecognition;
179
+ export declare const scssFactory: (g: ScssInputRules) => {
180
+ Stylesheet: Combinator<Stylesheet>;
181
+ ScssAstDocument: Combinator<Stylesheet>;
182
+ VariableDeclaration: Combinator<VariableDeclaration>;
183
+ DirectScssComment: Combinator<Comment>;
184
+ DirectScssVarReference: Combinator<VariableReference>;
185
+ SassInterpolation: Combinator<Interpolation>;
186
+ DirectScssQuoted: Combinator<Interpolation | Quoted>;
187
+ DirectScssStaticQuoted: Combinator<Quoted>;
188
+ DirectScssKeyword: Combinator<Keyword>;
189
+ DirectScssCustomPropertyValue: Combinator<Keyword>;
190
+ DirectScssColor: Combinator<Color>;
191
+ DirectScssUnicodeRange: Combinator<ValueNode>;
192
+ DirectScssDimension: Combinator<Dimension>;
193
+ DirectScssInterpolatedUrlValue: Combinator<Interpolation>;
194
+ DirectScssInterpolatedValue: Combinator<Interpolation>;
195
+ DirectScssParen: Combinator<ValueNode>;
196
+ DirectScssMapEntry: Combinator<Declaration>;
197
+ DirectScssMap: Combinator<Collection>;
198
+ DirectScssReturn: Combinator<Declaration>;
199
+ DirectScssFunction: Combinator<VariableDeclaration>;
200
+ DirectScssSquare: Combinator<ValueNode>;
201
+ ScssValueAtom: Combinator<ValueNode>;
202
+ DirectScssMathUnary: Combinator<ValueNode>;
203
+ DirectScssMathProduct: Combinator<ValueNode>;
204
+ DirectScssMathSum: Combinator<ValueNode>;
205
+ DirectScssMathTopProduct: Combinator<ValueNode>;
206
+ DirectScssMathTopSum: Combinator<ValueNode>;
207
+ DirectScssValueTerm: Combinator<ValueSlot>;
208
+ DirectScssValuePair: Combinator<ScssValuePair>;
209
+ DirectScssValue: Combinator<ValueSlot>;
210
+ DirectScssImportant: Combinator<true>;
211
+ DirectScssInterpolatedProperty: Combinator<Interpolation>;
212
+ DirectScssCustomPropertyName: Combinator<string | Interpolation>;
213
+ DirectScssCustomPart: Combinator<unknown>;
214
+ DirectScssCustomInnerPart: Combinator<unknown>;
215
+ DirectScssCustomParen: Combinator<readonly unknown[]>;
216
+ DirectScssCustomSquare: Combinator<readonly unknown[]>;
217
+ DirectScssCustomCurly: Combinator<readonly unknown[]>;
218
+ DirectScssCustomValue: Combinator<ValueNode>;
219
+ DirectScssCustomDeclaration: Combinator<Declaration>;
220
+ DirectScssDeclaration: Combinator<Declaration>;
221
+ DirectScssStaticNestedPropertyLeaf: Combinator<Declaration>;
222
+ DirectScssStaticNestedProperty: Combinator<Declaration>;
223
+ ScssImport: Combinator<ImportAtRule>;
224
+ DirectScssUseAs: Combinator<string>;
225
+ DirectScssUse: Combinator<ModuleImport | StyleImport>;
226
+ DirectScssForward: Combinator<StyleImport>;
227
+ DirectScssStaticImportUrl: Combinator<Url>;
228
+ DirectScssStaticImportLayer: Combinator<ValueNode>;
229
+ DirectScssStaticImportDeclaration: Combinator<ValueNode>;
230
+ DirectScssStaticImportSupports: Combinator<FunctionCall>;
231
+ DirectScssStaticImportQualifier: Combinator<ValueNode>;
232
+ DirectScssStaticImportMediaFeature: Combinator<ValueNode>;
233
+ DirectScssStaticImportMediaInParens: Combinator<ValueNode>;
234
+ DirectScssStaticImportMediaCondition: Combinator<ValueNode>;
235
+ DirectScssStaticImportMediaOnlyClause: Combinator<ValueNode>;
236
+ DirectScssStaticImportMediaClause: Combinator<ValueNode>;
237
+ DirectScssStaticImportMediaPrelude: Combinator<ValueNode>;
238
+ DirectScssStaticImportTail: Combinator<ValueNode>;
239
+ DirectScssMixinParam: Combinator<Param>;
240
+ DirectScssMixinParams: Combinator<Param[]>;
241
+ ScssMixinCallArg: Combinator<ScssCallArg>;
242
+ DirectScssMixinCall: Combinator<MixinCall>;
243
+ DirectScssMixinDef: Combinator<MixinDef>;
244
+ DirectScssEachName: Combinator<string>;
245
+ DirectScssEachBinding: Combinator<ForBinding>;
246
+ DirectScssEach: Combinator<For>;
247
+ DirectScssFor: Combinator<For>;
248
+ DirectScssIfCondition: Combinator<GuardNode>;
249
+ DirectScssIfAnd: Combinator<GuardNode>;
250
+ DirectScssIfTerm: Combinator<GuardNode>;
251
+ DirectScssIfAtom: Combinator<GuardNode>;
252
+ DirectScssIfComparison: Combinator<GuardNode>;
253
+ DirectScssIfBody: Combinator<Statement[]>;
254
+ DirectScssIfStaticRule: Combinator<Rule>;
255
+ DirectScssIfStaticConditionalBlock: Combinator<AtRuleBlock>;
256
+ DirectScssIf: Combinator<If>;
257
+ DirectScssQueryFeature: Combinator<ValueNode>;
258
+ DirectScssQueryFunction: Combinator<FunctionCall>;
259
+ DirectScssQueryInParens: Combinator<ValueNode>;
260
+ DirectScssQueryCondition: Combinator<ValueNode>;
261
+ DirectScssQueryClause: Combinator<ValueNode>;
262
+ DirectScssQueryPreludeTail: Combinator<ValueNode>;
263
+ DirectScssQueryPrelude: Combinator<ValueNode>;
264
+ DirectScssSupportsAtom: Combinator<ValueNode>;
265
+ DirectScssGeneralTemplate: Combinator<Interpolation>;
266
+ DirectScssGeneralTemplateParen: Combinator<Interpolation>;
267
+ DirectScssGeneralTemplateSquare: Combinator<Interpolation>;
268
+ DirectScssGeneralTemplateBrace: Combinator<Interpolation>;
269
+ DirectScssGeneralTemplateDoubleQuoted: Combinator<Interpolation>;
270
+ DirectScssGeneralTemplateSingleQuoted: Combinator<Interpolation>;
271
+ DirectScssGeneralEnclosed: Combinator<GeneralEnclosed>;
272
+ DirectScssSupportsFeature: Combinator<ValueNode>;
273
+ DirectScssSupportsInParens: Combinator<ValueNode>;
274
+ DirectScssSupportsNot: Combinator<Keyword>;
275
+ DirectScssSupportsAndOr: Combinator<Keyword>;
276
+ DirectScssSupportsCondition: Combinator<ValueNode>;
277
+ DirectScssSupportsPrelude: Combinator<ValueNode>;
278
+ DirectScssStaticMediaPrelude: Combinator<ValueNode>;
279
+ DirectScssStaticAtPrelude: Combinator<ValueNode | null>;
280
+ DirectScssStaticAtPreludeAtom: Combinator<Token>;
281
+ DirectScssStaticAtPreludeParen: Combinator<Token>;
282
+ DirectScssStaticAtPreludeSquare: Combinator<Token>;
283
+ DirectScssStaticAtPreludeDoubleQuoted: Combinator<Token>;
284
+ DirectScssStaticAtPreludeSingleQuoted: Combinator<Token>;
285
+ DirectScssAtRuleStatement: Combinator<AtRuleStatement>;
286
+ DirectScssScopeBlock: Combinator<AtRuleBlock>;
287
+ DirectScssNestedScopeBlock: Combinator<AtRuleBlock>;
288
+ DirectScssConditionalBlock: Combinator<AtRuleBlock>;
289
+ DirectScssStartingStyleBlock: Combinator<AtRuleBlock>;
290
+ DirectScssLayerBlock: Combinator<AtRuleBlock>;
291
+ DirectScssDocumentBlock: Combinator<AtRuleBlock>;
292
+ DirectScssPageMarginBox: Combinator<AtRuleBlock>;
293
+ DirectScssPageBlock: Combinator<AtRuleBlock>;
294
+ DirectScssFontFeatureValueBlock: Combinator<AtRuleBlock>;
295
+ DirectScssFontFeatureValuesBlock: Combinator<AtRuleBlock>;
296
+ DirectScssNestedConditionalBlock: Combinator<AtRuleBlock>;
297
+ DirectScssNestedStartingStyleBlock: Combinator<AtRuleBlock>;
298
+ DirectScssNestedLayerBlock: Combinator<AtRuleBlock>;
299
+ DirectScssFontFace: Combinator<AtRuleBlock>;
300
+ DirectScssCounterStyle: Combinator<AtRuleBlock>;
301
+ DirectScssPropertyName: Combinator<Keyword>;
302
+ DirectScssPropertyAtRule: Combinator<AtRuleBlock>;
303
+ DirectScssKeyframeSelector: Combinator<SimpleSelector>;
304
+ DirectScssKeyframeBlock: Combinator<Rule>;
305
+ DirectScssKeyframes: Combinator<AtRuleBlock>;
306
+ DirectScssOpaquePrelude: Combinator<string | null>;
307
+ DirectScssOpaqueBody: Combinator<string>;
308
+ DirectScssOpaqueAtRuleBlock: Combinator<OpaqueAtRuleBlock>;
309
+ DirectScssOpaqueAtRuleStatement: Combinator<AtRuleStatement>;
310
+ DirectScssSimple: Combinator<SimpleSelector>;
311
+ DirectScssInterpolatedSimple: Combinator<SimpleSelector>;
312
+ DirectScssPlaceholder: Combinator<SimpleSelector>;
313
+ DirectScssAttribute: Combinator<SimpleSelector>;
314
+ DirectScssPseudoArgument: Combinator<string>;
315
+ DirectScssStaticSelectorPseudoArgument: Combinator<string>;
316
+ DirectScssStaticSelectorPseudoItem: Combinator<string>;
317
+ DirectScssStaticSelectorPseudoTail: Combinator<string>;
318
+ DirectScssStaticPseudoArgument: Combinator<string>;
319
+ DirectScssStaticPseudoGroup: Combinator<string>;
320
+ DirectScssStaticPseudoSquare: Combinator<string>;
321
+ DirectScssPseudo: Combinator<SimpleToken>;
322
+ DirectScssNestingSelector: Combinator<SimpleSelector>;
323
+ DirectScssCompound: Combinator<CompoundSelector>;
324
+ DirectScssComplexTail: Combinator<ScssComplexTail>;
325
+ DirectScssComplex: Combinator<ComplexSelector>;
326
+ DirectScssSelectorTail: Combinator<ComplexSelector>;
327
+ DirectScssSelector: Combinator<SelectorList>;
328
+ DirectScssExtend: Combinator<ExtendInstruction>;
329
+ DirectScssRule: Combinator<Rule>;
330
+ rw: Combinator<string[]>;
331
+ whitespace: Combinator<string[]>;
332
+ };
333
+ export declare const scssGrammar: Record<keyof ScssRules, FusedRule>;
334
+ export declare const scssAstGrammar: Record<keyof ScssRules, FusedRule>;
335
+ export declare const scssCstGrammar: Record<keyof ScssRules, FusedRule>;
336
+ export {};