@tbela99/css-parser 1.3.2 → 1.3.4
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/CHANGELOG.md +12 -0
- package/README.md +59 -20
- package/dist/index-umd-web.js +1846 -1075
- package/dist/index.cjs +1941 -1202
- package/dist/index.d.ts +914 -181
- package/dist/lib/ast/expand.js +5 -10
- package/dist/lib/ast/features/calc.js +8 -8
- package/dist/lib/ast/features/inlinecssvariables.js +9 -8
- package/dist/lib/ast/features/prefix.js +5 -15
- package/dist/lib/ast/features/shorthand.js +5 -6
- package/dist/lib/ast/features/transform.js +18 -25
- package/dist/lib/ast/features/type.js +4 -2
- package/dist/lib/ast/minify.js +56 -112
- package/dist/lib/ast/transform/compute.js +2 -4
- package/dist/lib/ast/transform/matrix.js +20 -20
- package/dist/lib/ast/transform/minify.js +105 -12
- package/dist/lib/ast/transform/rotate.js +11 -11
- package/dist/lib/ast/transform/scale.js +6 -6
- package/dist/lib/ast/transform/skew.js +4 -4
- package/dist/lib/ast/transform/translate.js +3 -3
- package/dist/lib/ast/transform/utils.js +30 -37
- package/dist/lib/ast/types.js +16 -4
- package/dist/lib/ast/walk.js +172 -70
- package/dist/lib/fs/resolve.js +12 -7
- package/dist/lib/parser/declaration/list.js +3 -1
- package/dist/lib/parser/parse.js +441 -161
- package/dist/lib/parser/tokenize.js +12 -14
- package/dist/lib/renderer/render.js +7 -7
- package/dist/lib/syntax/color/cmyk.js +6 -3
- package/dist/lib/syntax/color/color-mix.js +2 -3
- package/dist/lib/syntax/color/color.js +28 -6
- package/dist/lib/syntax/color/hex.js +3 -0
- package/dist/lib/syntax/color/hsl.js +18 -7
- package/dist/lib/syntax/color/hwb.js +3 -3
- package/dist/lib/syntax/color/lab.js +4 -4
- package/dist/lib/syntax/color/lch.js +7 -4
- package/dist/lib/syntax/color/oklab.js +4 -4
- package/dist/lib/syntax/color/oklch.js +18 -6
- package/dist/lib/syntax/color/relativecolor.js +9 -56
- package/dist/lib/syntax/color/srgb.js +1 -1
- package/dist/lib/syntax/syntax.js +36 -18
- package/dist/lib/validation/at-rules/container.js +11 -0
- package/dist/lib/validation/at-rules/counter-style.js +11 -0
- package/dist/lib/validation/at-rules/font-feature-values.js +11 -0
- package/dist/lib/validation/at-rules/keyframes.js +11 -0
- package/dist/lib/validation/at-rules/layer.js +11 -0
- package/dist/lib/validation/at-rules/media.js +11 -0
- package/dist/lib/validation/at-rules/page-margin-box.js +11 -0
- package/dist/lib/validation/at-rules/page.js +11 -0
- package/dist/lib/validation/at-rules/supports.js +11 -0
- package/dist/lib/validation/at-rules/when.js +11 -0
- package/dist/lib/validation/config.js +0 -2
- package/dist/lib/validation/config.json.js +21 -9
- package/dist/lib/validation/parser/parse.js +53 -2
- package/dist/lib/validation/syntax.js +199 -36
- package/dist/node.js +63 -36
- package/dist/web.js +84 -25
- package/package.json +7 -5
- package/dist/lib/validation/parser/types.js +0 -54
|
@@ -528,7 +528,7 @@ function isColor(token) {
|
|
|
528
528
|
}
|
|
529
529
|
if (token.typ == EnumToken.IdenTokenType) {
|
|
530
530
|
// named color
|
|
531
|
-
return token.val.toLowerCase() in COLORS_NAMES;
|
|
531
|
+
return token.val.toLowerCase() in COLORS_NAMES || 'currentcolor' === token.val.toLowerCase() || 'transparent' === token.val.toLowerCase();
|
|
532
532
|
}
|
|
533
533
|
let isLegacySyntax = false;
|
|
534
534
|
if (token.typ == EnumToken.FunctionTokenType) {
|
|
@@ -581,8 +581,13 @@ function isColor(token) {
|
|
|
581
581
|
return false;
|
|
582
582
|
}
|
|
583
583
|
}
|
|
584
|
-
if (children[i].typ == EnumToken.FunctionTokenType
|
|
585
|
-
|
|
584
|
+
if (children[i].typ == EnumToken.FunctionTokenType) {
|
|
585
|
+
if ('var' == children[i].val.toLowerCase()) {
|
|
586
|
+
continue;
|
|
587
|
+
}
|
|
588
|
+
if (!mathFuncs.includes(children[i].val)) {
|
|
589
|
+
return false;
|
|
590
|
+
}
|
|
586
591
|
}
|
|
587
592
|
}
|
|
588
593
|
if (children.length == 4 || (isRelative && children.length == 6)) {
|
|
@@ -869,23 +874,29 @@ function isNumber(name) {
|
|
|
869
874
|
}
|
|
870
875
|
return true;
|
|
871
876
|
}
|
|
872
|
-
function isDimension(name) {
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
877
|
+
// export function isDimension(name: string) {
|
|
878
|
+
//
|
|
879
|
+
// let index: number = name.length;
|
|
880
|
+
//
|
|
881
|
+
// while (index--) {
|
|
882
|
+
//
|
|
883
|
+
// if (isLetter(<number>name.charCodeAt(index))) {
|
|
884
|
+
//
|
|
885
|
+
// continue
|
|
886
|
+
// }
|
|
887
|
+
//
|
|
888
|
+
// index++;
|
|
889
|
+
// break;
|
|
890
|
+
// }
|
|
891
|
+
//
|
|
892
|
+
// const number: string = name.slice(0, index);
|
|
893
|
+
// return number.length > 0 && isIdentStart(name.charCodeAt(index)) && isNumber(number);
|
|
894
|
+
// }
|
|
884
895
|
function isPercentage(name) {
|
|
885
896
|
return name.endsWith('%') && isNumber(name.slice(0, -1));
|
|
886
897
|
}
|
|
887
|
-
function isFlex(
|
|
888
|
-
return
|
|
898
|
+
function isFlex(dimension) {
|
|
899
|
+
return 'unit' in dimension && 'fr' == dimension.unit.toLowerCase();
|
|
889
900
|
}
|
|
890
901
|
function parseDimension(name) {
|
|
891
902
|
let index = name.length;
|
|
@@ -901,6 +912,9 @@ function parseDimension(name) {
|
|
|
901
912
|
val: +name.slice(0, index),
|
|
902
913
|
unit: name.slice(index)
|
|
903
914
|
};
|
|
915
|
+
if (index < 0 || Number.isNaN(dimension.val)) {
|
|
916
|
+
return null;
|
|
917
|
+
}
|
|
904
918
|
if (isAngle(dimension)) {
|
|
905
919
|
// @ts-ignore
|
|
906
920
|
dimension.typ = EnumToken.AngleTokenType;
|
|
@@ -924,6 +938,10 @@ function parseDimension(name) {
|
|
|
924
938
|
// @ts-ignore
|
|
925
939
|
dimension.typ = EnumToken.FrequencyTokenType;
|
|
926
940
|
}
|
|
941
|
+
else if (isFlex(dimension)) {
|
|
942
|
+
// @ts-ignore
|
|
943
|
+
dimension.typ = EnumToken.FlexTokenType;
|
|
944
|
+
}
|
|
927
945
|
return dimension;
|
|
928
946
|
}
|
|
929
947
|
function isHexColor(name) {
|
|
@@ -958,4 +976,4 @@ function isWhiteSpace(codepoint) {
|
|
|
958
976
|
codepoint == 0xa || codepoint == 0xc || codepoint == 0xd;
|
|
959
977
|
}
|
|
960
978
|
|
|
961
|
-
export { colorFontTech, fontFeaturesTech, fontFormat, isAngle, isAtKeyword, isColor, isColorspace, isDigit,
|
|
979
|
+
export { colorFontTech, fontFeaturesTech, fontFormat, isAngle, isAtKeyword, isColor, isColorspace, isDigit, isFlex, isFrequency, isFunction, isHash, isHexColor, isHueInterpolationMethod, isIdent, isIdentCodepoint, isIdentColor, isIdentStart, isLength, isNewLine, isNumber, isPercentage, isPercentageToken, isPolarColorspace, isPseudo, isRectangularOrthogonalColorspace, isResolution, isTime, isWhiteSpace, mathFuncs, mediaTypes, mozExtensions, parseColor, parseDimension, pseudoAliasMap, pseudoElements, transformFunctions, webkitExtensions, wildCardFuncs };
|
|
@@ -11,6 +11,17 @@ import { splitTokenList } from '../utils/list.js';
|
|
|
11
11
|
|
|
12
12
|
const validateContainerScrollStateFeature = validateContainerSizeFeature;
|
|
13
13
|
function validateAtRuleContainer(atRule, options, root) {
|
|
14
|
+
if (!Array.isArray(atRule.chi)) {
|
|
15
|
+
// @ts-ignore
|
|
16
|
+
return {
|
|
17
|
+
valid: SyntaxValidationResult.Drop,
|
|
18
|
+
matches: [],
|
|
19
|
+
node: atRule,
|
|
20
|
+
syntax: '@' + atRule.nam,
|
|
21
|
+
error: 'expected supports body',
|
|
22
|
+
tokens: []
|
|
23
|
+
};
|
|
24
|
+
}
|
|
14
25
|
// media-query-list
|
|
15
26
|
if (!Array.isArray(atRule.tokens) || atRule.tokens.length == 0) {
|
|
16
27
|
// @ts-ignore
|
|
@@ -8,6 +8,17 @@ import '../../syntax/color/utils/constants.js';
|
|
|
8
8
|
import '../../renderer/sourcemap/lib/encode.js';
|
|
9
9
|
|
|
10
10
|
function validateAtRuleCounterStyle(atRule, options, root) {
|
|
11
|
+
if (!Array.isArray(atRule.chi)) {
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
return {
|
|
14
|
+
valid: SyntaxValidationResult.Drop,
|
|
15
|
+
matches: [],
|
|
16
|
+
node: atRule,
|
|
17
|
+
syntax: '@' + atRule.nam,
|
|
18
|
+
error: 'expected supports body',
|
|
19
|
+
tokens: []
|
|
20
|
+
};
|
|
21
|
+
}
|
|
11
22
|
// media-query-list
|
|
12
23
|
if (!Array.isArray(atRule.tokens) || atRule.tokens.length == 0) {
|
|
13
24
|
// @ts-ignore
|
|
@@ -12,6 +12,17 @@ import '../syntax.js';
|
|
|
12
12
|
import '../config.js';
|
|
13
13
|
|
|
14
14
|
function validateAtRuleFontFeatureValues(atRule, options, root) {
|
|
15
|
+
if (!Array.isArray(atRule.chi)) {
|
|
16
|
+
// @ts-ignore
|
|
17
|
+
return {
|
|
18
|
+
valid: SyntaxValidationResult.Drop,
|
|
19
|
+
matches: [],
|
|
20
|
+
node: atRule,
|
|
21
|
+
syntax: '@' + atRule.nam,
|
|
22
|
+
error: 'expected supports body',
|
|
23
|
+
tokens: []
|
|
24
|
+
};
|
|
25
|
+
}
|
|
15
26
|
if (!Array.isArray(atRule.tokens) || atRule.tokens.length == 0) {
|
|
16
27
|
// @ts-ignore
|
|
17
28
|
return {
|
|
@@ -9,6 +9,17 @@ import '../../renderer/sourcemap/lib/encode.js';
|
|
|
9
9
|
import { consumeWhitespace } from '../utils/whitespace.js';
|
|
10
10
|
|
|
11
11
|
function validateAtRuleKeyframes(atRule, options, root) {
|
|
12
|
+
if (!Array.isArray(atRule.chi)) {
|
|
13
|
+
// @ts-ignore
|
|
14
|
+
return {
|
|
15
|
+
valid: SyntaxValidationResult.Drop,
|
|
16
|
+
matches: [],
|
|
17
|
+
node: atRule,
|
|
18
|
+
syntax: '@' + atRule.nam,
|
|
19
|
+
error: 'expected supports body',
|
|
20
|
+
tokens: []
|
|
21
|
+
};
|
|
22
|
+
}
|
|
12
23
|
if (!Array.isArray(atRule.tokens) || atRule.tokens.length == 0) {
|
|
13
24
|
// @ts-ignore
|
|
14
25
|
return {
|
|
@@ -12,6 +12,17 @@ import '../syntax.js';
|
|
|
12
12
|
import '../config.js';
|
|
13
13
|
|
|
14
14
|
function validateAtRuleLayer(atRule, options, root) {
|
|
15
|
+
if (!Array.isArray(atRule.chi)) {
|
|
16
|
+
// @ts-ignore
|
|
17
|
+
return {
|
|
18
|
+
valid: SyntaxValidationResult.Drop,
|
|
19
|
+
matches: [],
|
|
20
|
+
node: atRule,
|
|
21
|
+
syntax: '@' + atRule.nam,
|
|
22
|
+
error: 'expected supports body',
|
|
23
|
+
tokens: []
|
|
24
|
+
};
|
|
25
|
+
}
|
|
15
26
|
// media-query-list
|
|
16
27
|
if (!Array.isArray(atRule.tokens) || atRule.tokens.length == 0) {
|
|
17
28
|
// @ts-ignore
|
|
@@ -10,6 +10,17 @@ import { consumeWhitespace } from '../utils/whitespace.js';
|
|
|
10
10
|
import { splitTokenList } from '../utils/list.js';
|
|
11
11
|
|
|
12
12
|
function validateAtRuleMedia(atRule, options, root) {
|
|
13
|
+
if (!Array.isArray(atRule.chi)) {
|
|
14
|
+
// @ts-ignore
|
|
15
|
+
return {
|
|
16
|
+
valid: SyntaxValidationResult.Drop,
|
|
17
|
+
matches: [],
|
|
18
|
+
node: atRule,
|
|
19
|
+
syntax: '@' + atRule.nam,
|
|
20
|
+
error: 'expected supports body',
|
|
21
|
+
tokens: []
|
|
22
|
+
};
|
|
23
|
+
}
|
|
13
24
|
// media-query-list
|
|
14
25
|
if (!Array.isArray(atRule.tokens) || atRule.tokens.length == 0) {
|
|
15
26
|
// @ts-ignore
|
|
@@ -8,6 +8,17 @@ import '../../syntax/color/utils/constants.js';
|
|
|
8
8
|
import '../../renderer/sourcemap/lib/encode.js';
|
|
9
9
|
|
|
10
10
|
function validateAtRulePageMarginBox(atRule, options, root) {
|
|
11
|
+
if (!Array.isArray(atRule.chi)) {
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
return {
|
|
14
|
+
valid: SyntaxValidationResult.Drop,
|
|
15
|
+
matches: [],
|
|
16
|
+
node: atRule,
|
|
17
|
+
syntax: '@' + atRule.nam,
|
|
18
|
+
error: 'expected supports body',
|
|
19
|
+
tokens: []
|
|
20
|
+
};
|
|
21
|
+
}
|
|
11
22
|
if (Array.isArray(atRule.tokens) && atRule.tokens.length > 0) {
|
|
12
23
|
// @ts-ignore
|
|
13
24
|
return {
|
|
@@ -9,6 +9,17 @@ import '../../renderer/sourcemap/lib/encode.js';
|
|
|
9
9
|
import { splitTokenList } from '../utils/list.js';
|
|
10
10
|
|
|
11
11
|
function validateAtRulePage(atRule, options, root) {
|
|
12
|
+
if (!Array.isArray(atRule.chi)) {
|
|
13
|
+
// @ts-ignore
|
|
14
|
+
return {
|
|
15
|
+
valid: SyntaxValidationResult.Drop,
|
|
16
|
+
matches: [],
|
|
17
|
+
node: atRule,
|
|
18
|
+
syntax: '@' + atRule.nam,
|
|
19
|
+
error: 'expected supports body',
|
|
20
|
+
tokens: []
|
|
21
|
+
};
|
|
22
|
+
}
|
|
12
23
|
// media-query-list
|
|
13
24
|
if (!Array.isArray(atRule.tokens) || atRule.tokens.length == 0) {
|
|
14
25
|
// @ts-ignore
|
|
@@ -23,6 +23,17 @@ function validateAtRuleSupports(atRule, options, root) {
|
|
|
23
23
|
tokens: []
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
+
if (!Array.isArray(atRule.chi)) {
|
|
27
|
+
// @ts-ignore
|
|
28
|
+
return {
|
|
29
|
+
valid: SyntaxValidationResult.Drop,
|
|
30
|
+
matches: [],
|
|
31
|
+
node: atRule,
|
|
32
|
+
syntax: '@' + atRule.nam,
|
|
33
|
+
error: 'expected supports body',
|
|
34
|
+
tokens: []
|
|
35
|
+
};
|
|
36
|
+
}
|
|
26
37
|
const result = validateAtRuleSupportsConditions(atRule, atRule.tokens);
|
|
27
38
|
if (result) {
|
|
28
39
|
if (result.node == null) {
|
|
@@ -12,6 +12,17 @@ import { validateMediaFeature, validateMediaCondition } from './media.js';
|
|
|
12
12
|
import { validateSupportCondition } from './supports.js';
|
|
13
13
|
|
|
14
14
|
function validateAtRuleWhen(atRule, options, root) {
|
|
15
|
+
if (!Array.isArray(atRule.chi)) {
|
|
16
|
+
// @ts-ignore
|
|
17
|
+
return {
|
|
18
|
+
valid: SyntaxValidationResult.Drop,
|
|
19
|
+
matches: [],
|
|
20
|
+
node: atRule,
|
|
21
|
+
syntax: '@' + atRule.nam,
|
|
22
|
+
error: 'expected supports body',
|
|
23
|
+
tokens: []
|
|
24
|
+
};
|
|
25
|
+
}
|
|
15
26
|
const slice = Array.isArray(atRule.tokens) ? atRule.tokens.slice() : [];
|
|
16
27
|
consumeWhitespace(slice);
|
|
17
28
|
if (slice.length == 0) {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import config from './config.json.js';
|
|
2
|
-
import './parser/types.js';
|
|
3
2
|
import { parseSyntax } from './parser/parse.js';
|
|
4
3
|
|
|
5
4
|
const parsedSyntaxes = new Map();
|
|
@@ -51,7 +50,6 @@ function getParsedSyntax(group, key) {
|
|
|
51
50
|
const index = group + '.' + keys.join('.');
|
|
52
51
|
// @ts-ignore
|
|
53
52
|
if (!parsedSyntaxes.has(index)) {
|
|
54
|
-
// @ts-ignore
|
|
55
53
|
const syntax = parseSyntax(obj.syntax);
|
|
56
54
|
// @ts-ignore
|
|
57
55
|
parsedSyntaxes.set(index, syntax.chi);
|
|
@@ -1619,6 +1619,9 @@ var declarations = {
|
|
|
1619
1619
|
"text-anchor": {
|
|
1620
1620
|
syntax: "start | middle | end"
|
|
1621
1621
|
},
|
|
1622
|
+
"text-autospace": {
|
|
1623
|
+
syntax: "normal | <autospace> | auto"
|
|
1624
|
+
},
|
|
1622
1625
|
"text-box": {
|
|
1623
1626
|
syntax: "normal | <'text-box-trim'> || <'text-box-edge'>"
|
|
1624
1627
|
},
|
|
@@ -4186,19 +4189,28 @@ var atRules = {
|
|
|
4186
4189
|
}
|
|
4187
4190
|
}
|
|
4188
4191
|
},
|
|
4189
|
-
|
|
4190
|
-
syntax: "<string>"
|
|
4192
|
+
"@nest": {
|
|
4191
4193
|
},
|
|
4192
|
-
|
|
4193
|
-
syntax: "
|
|
4194
|
+
"@stylistic": {
|
|
4195
|
+
syntax: " @stylistic { <feature-value-declaration-list> } "
|
|
4194
4196
|
},
|
|
4195
|
-
|
|
4196
|
-
syntax: "<
|
|
4197
|
+
"@historical-forms": {
|
|
4198
|
+
syntax: " @historical-forms { <feature-value-declaration-list> } "
|
|
4197
4199
|
},
|
|
4198
|
-
|
|
4199
|
-
syntax: "
|
|
4200
|
+
"@styleset": {
|
|
4201
|
+
syntax: " @styleset { <feature-value-declaration-list> } "
|
|
4200
4202
|
},
|
|
4201
|
-
"
|
|
4203
|
+
"@character-variant": {
|
|
4204
|
+
syntax: " @character-variant { <feature-value-declaration-list> } "
|
|
4205
|
+
},
|
|
4206
|
+
"@swash": {
|
|
4207
|
+
syntax: " @swash { <feature-value-declaration-list> } "
|
|
4208
|
+
},
|
|
4209
|
+
"@ornaments": {
|
|
4210
|
+
syntax: " @ornaments { <feature-value-declaration-list> } "
|
|
4211
|
+
},
|
|
4212
|
+
"@annotation": {
|
|
4213
|
+
syntax: " @annotation { <feature-value-declaration-list> } "
|
|
4202
4214
|
}
|
|
4203
4215
|
};
|
|
4204
4216
|
var config = {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ValidationTokenEnum } from './types.js';
|
|
2
1
|
import { isIdent, isPseudo } from '../../syntax/syntax.js';
|
|
3
2
|
import { EnumToken } from '../../ast/types.js';
|
|
4
3
|
import '../../ast/minify.js';
|
|
@@ -9,6 +8,58 @@ import '../../parser/utils/config.js';
|
|
|
9
8
|
import '../../syntax/color/utils/constants.js';
|
|
10
9
|
import '../../renderer/sourcemap/lib/encode.js';
|
|
11
10
|
|
|
11
|
+
var ValidationTokenEnum;
|
|
12
|
+
(function (ValidationTokenEnum) {
|
|
13
|
+
ValidationTokenEnum[ValidationTokenEnum["Root"] = 0] = "Root";
|
|
14
|
+
ValidationTokenEnum[ValidationTokenEnum["Keyword"] = 1] = "Keyword";
|
|
15
|
+
ValidationTokenEnum[ValidationTokenEnum["PropertyType"] = 2] = "PropertyType";
|
|
16
|
+
ValidationTokenEnum[ValidationTokenEnum["DeclarationType"] = 3] = "DeclarationType";
|
|
17
|
+
ValidationTokenEnum[ValidationTokenEnum["AtRule"] = 4] = "AtRule";
|
|
18
|
+
ValidationTokenEnum[ValidationTokenEnum["ValidationFunctionDefinition"] = 5] = "ValidationFunctionDefinition";
|
|
19
|
+
ValidationTokenEnum[ValidationTokenEnum["OpenBracket"] = 6] = "OpenBracket";
|
|
20
|
+
ValidationTokenEnum[ValidationTokenEnum["CloseBracket"] = 7] = "CloseBracket";
|
|
21
|
+
ValidationTokenEnum[ValidationTokenEnum["OpenParenthesis"] = 8] = "OpenParenthesis";
|
|
22
|
+
ValidationTokenEnum[ValidationTokenEnum["CloseParenthesis"] = 9] = "CloseParenthesis";
|
|
23
|
+
ValidationTokenEnum[ValidationTokenEnum["Comma"] = 10] = "Comma";
|
|
24
|
+
ValidationTokenEnum[ValidationTokenEnum["Pipe"] = 11] = "Pipe";
|
|
25
|
+
ValidationTokenEnum[ValidationTokenEnum["Column"] = 12] = "Column";
|
|
26
|
+
ValidationTokenEnum[ValidationTokenEnum["Star"] = 13] = "Star";
|
|
27
|
+
ValidationTokenEnum[ValidationTokenEnum["OpenCurlyBrace"] = 14] = "OpenCurlyBrace";
|
|
28
|
+
ValidationTokenEnum[ValidationTokenEnum["CloseCurlyBrace"] = 15] = "CloseCurlyBrace";
|
|
29
|
+
ValidationTokenEnum[ValidationTokenEnum["HashMark"] = 16] = "HashMark";
|
|
30
|
+
ValidationTokenEnum[ValidationTokenEnum["QuestionMark"] = 17] = "QuestionMark";
|
|
31
|
+
ValidationTokenEnum[ValidationTokenEnum["Function"] = 18] = "Function";
|
|
32
|
+
ValidationTokenEnum[ValidationTokenEnum["Number"] = 19] = "Number";
|
|
33
|
+
ValidationTokenEnum[ValidationTokenEnum["Whitespace"] = 20] = "Whitespace";
|
|
34
|
+
ValidationTokenEnum[ValidationTokenEnum["Parenthesis"] = 21] = "Parenthesis";
|
|
35
|
+
ValidationTokenEnum[ValidationTokenEnum["Bracket"] = 22] = "Bracket";
|
|
36
|
+
ValidationTokenEnum[ValidationTokenEnum["Block"] = 23] = "Block";
|
|
37
|
+
ValidationTokenEnum[ValidationTokenEnum["AtLeastOnce"] = 24] = "AtLeastOnce";
|
|
38
|
+
ValidationTokenEnum[ValidationTokenEnum["Separator"] = 25] = "Separator";
|
|
39
|
+
ValidationTokenEnum[ValidationTokenEnum["Exclamation"] = 26] = "Exclamation";
|
|
40
|
+
ValidationTokenEnum[ValidationTokenEnum["Ampersand"] = 27] = "Ampersand";
|
|
41
|
+
ValidationTokenEnum[ValidationTokenEnum["PipeToken"] = 28] = "PipeToken";
|
|
42
|
+
ValidationTokenEnum[ValidationTokenEnum["ColumnToken"] = 29] = "ColumnToken";
|
|
43
|
+
ValidationTokenEnum[ValidationTokenEnum["AmpersandToken"] = 30] = "AmpersandToken";
|
|
44
|
+
ValidationTokenEnum[ValidationTokenEnum["Parens"] = 31] = "Parens";
|
|
45
|
+
ValidationTokenEnum[ValidationTokenEnum["PseudoClassToken"] = 32] = "PseudoClassToken";
|
|
46
|
+
ValidationTokenEnum[ValidationTokenEnum["PseudoClassFunctionToken"] = 33] = "PseudoClassFunctionToken";
|
|
47
|
+
ValidationTokenEnum[ValidationTokenEnum["StringToken"] = 34] = "StringToken";
|
|
48
|
+
ValidationTokenEnum[ValidationTokenEnum["AtRuleDefinition"] = 35] = "AtRuleDefinition";
|
|
49
|
+
ValidationTokenEnum[ValidationTokenEnum["DeclarationNameToken"] = 36] = "DeclarationNameToken";
|
|
50
|
+
ValidationTokenEnum[ValidationTokenEnum["DeclarationDefinitionToken"] = 37] = "DeclarationDefinitionToken";
|
|
51
|
+
ValidationTokenEnum[ValidationTokenEnum["SemiColon"] = 38] = "SemiColon";
|
|
52
|
+
ValidationTokenEnum[ValidationTokenEnum["Character"] = 39] = "Character";
|
|
53
|
+
ValidationTokenEnum[ValidationTokenEnum["InfinityToken"] = 40] = "InfinityToken";
|
|
54
|
+
})(ValidationTokenEnum || (ValidationTokenEnum = {}));
|
|
55
|
+
var ValidationSyntaxGroupEnum;
|
|
56
|
+
(function (ValidationSyntaxGroupEnum) {
|
|
57
|
+
ValidationSyntaxGroupEnum["Declarations"] = "declarations";
|
|
58
|
+
ValidationSyntaxGroupEnum["Functions"] = "functions";
|
|
59
|
+
ValidationSyntaxGroupEnum["Syntaxes"] = "syntaxes";
|
|
60
|
+
ValidationSyntaxGroupEnum["Selectors"] = "selectors";
|
|
61
|
+
ValidationSyntaxGroupEnum["AtRules"] = "atRules";
|
|
62
|
+
})(ValidationSyntaxGroupEnum || (ValidationSyntaxGroupEnum = {}));
|
|
12
63
|
const skipped = [
|
|
13
64
|
ValidationTokenEnum.Star,
|
|
14
65
|
ValidationTokenEnum.HashMark,
|
|
@@ -1040,4 +1091,4 @@ function minify(ast) {
|
|
|
1040
1091
|
return ast;
|
|
1041
1092
|
}
|
|
1042
1093
|
|
|
1043
|
-
export { parseSyntax, renderSyntax };
|
|
1094
|
+
export { ValidationSyntaxGroupEnum, ValidationTokenEnum, parseSyntax, renderSyntax };
|