cssstyle 5.3.5 → 5.3.7

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.
Files changed (86) hide show
  1. package/lib/CSSStyleDeclaration.js +6 -5
  2. package/lib/generated/implementedProperties.js +1 -1
  3. package/lib/generated/properties.js +2034 -2348
  4. package/lib/generated/propertyDefinitions.js +13033 -0
  5. package/lib/normalize.js +1252 -1095
  6. package/lib/parsers.js +589 -253
  7. package/lib/properties/background.js +90 -80
  8. package/lib/properties/backgroundAttachment.js +12 -15
  9. package/lib/properties/backgroundClip.js +12 -15
  10. package/lib/properties/backgroundColor.js +9 -14
  11. package/lib/properties/backgroundImage.js +12 -27
  12. package/lib/properties/backgroundOrigin.js +12 -15
  13. package/lib/properties/backgroundPosition.js +30 -19
  14. package/lib/properties/backgroundRepeat.js +12 -8
  15. package/lib/properties/backgroundSize.js +23 -17
  16. package/lib/properties/border.js +31 -88
  17. package/lib/properties/borderBottom.js +31 -87
  18. package/lib/properties/borderBottomColor.js +9 -15
  19. package/lib/properties/borderBottomStyle.js +9 -14
  20. package/lib/properties/borderBottomWidth.js +12 -24
  21. package/lib/properties/borderCollapse.js +5 -10
  22. package/lib/properties/borderColor.js +18 -24
  23. package/lib/properties/borderLeft.js +31 -87
  24. package/lib/properties/borderLeftColor.js +9 -15
  25. package/lib/properties/borderLeftStyle.js +9 -14
  26. package/lib/properties/borderLeftWidth.js +12 -24
  27. package/lib/properties/borderRight.js +31 -87
  28. package/lib/properties/borderRightColor.js +9 -15
  29. package/lib/properties/borderRightStyle.js +9 -14
  30. package/lib/properties/borderRightWidth.js +12 -24
  31. package/lib/properties/borderSpacing.js +13 -10
  32. package/lib/properties/borderStyle.js +18 -24
  33. package/lib/properties/borderTop.js +31 -87
  34. package/lib/properties/borderTopColor.js +9 -15
  35. package/lib/properties/borderTopStyle.js +9 -14
  36. package/lib/properties/borderTopWidth.js +12 -24
  37. package/lib/properties/borderWidth.js +19 -37
  38. package/lib/properties/bottom.js +7 -18
  39. package/lib/properties/clear.js +5 -10
  40. package/lib/properties/clip.js +11 -6
  41. package/lib/properties/color.js +5 -11
  42. package/lib/properties/display.js +12 -9
  43. package/lib/properties/flex.js +56 -54
  44. package/lib/properties/flexBasis.js +11 -21
  45. package/lib/properties/flexGrow.js +11 -20
  46. package/lib/properties/flexShrink.js +11 -20
  47. package/lib/properties/float.js +5 -10
  48. package/lib/properties/floodColor.js +5 -11
  49. package/lib/properties/font.js +47 -34
  50. package/lib/properties/fontFamily.js +17 -13
  51. package/lib/properties/fontSize.js +12 -23
  52. package/lib/properties/fontStyle.js +15 -9
  53. package/lib/properties/fontVariant.js +12 -19
  54. package/lib/properties/fontWeight.js +15 -26
  55. package/lib/properties/height.js +8 -18
  56. package/lib/properties/left.js +7 -18
  57. package/lib/properties/lightingColor.js +5 -11
  58. package/lib/properties/lineHeight.js +11 -25
  59. package/lib/properties/margin.js +15 -33
  60. package/lib/properties/marginBottom.js +11 -21
  61. package/lib/properties/marginLeft.js +11 -21
  62. package/lib/properties/marginRight.js +11 -21
  63. package/lib/properties/marginTop.js +11 -21
  64. package/lib/properties/opacity.js +7 -19
  65. package/lib/properties/outlineColor.js +5 -11
  66. package/lib/properties/padding.js +16 -31
  67. package/lib/properties/paddingBottom.js +12 -22
  68. package/lib/properties/paddingLeft.js +12 -22
  69. package/lib/properties/paddingRight.js +12 -22
  70. package/lib/properties/paddingTop.js +12 -22
  71. package/lib/properties/right.js +7 -18
  72. package/lib/properties/stopColor.js +5 -11
  73. package/lib/properties/top.js +7 -18
  74. package/lib/properties/webkitBorderAfterColor.js +5 -11
  75. package/lib/properties/webkitBorderBeforeColor.js +5 -11
  76. package/lib/properties/webkitBorderEndColor.js +5 -11
  77. package/lib/properties/webkitBorderStartColor.js +5 -11
  78. package/lib/properties/webkitColumnRuleColor.js +5 -11
  79. package/lib/properties/webkitTapHighlightColor.js +5 -11
  80. package/lib/properties/webkitTextEmphasisColor.js +5 -11
  81. package/lib/properties/webkitTextFillColor.js +5 -11
  82. package/lib/properties/webkitTextStrokeColor.js +5 -11
  83. package/lib/properties/width.js +8 -18
  84. package/lib/utils/propertyDescriptors.js +49 -13
  85. package/lib/utils/strings.js +6 -0
  86. package/package.json +8 -27
@@ -7,7 +7,7 @@ const lineShorthand = "border-color";
7
7
  const positionShorthand = "border-top";
8
8
  const shorthand = "border";
9
9
 
10
- module.exports.parse = function parse(v, opt = {}) {
10
+ module.exports.parse = (v, opt = {}) => {
11
11
  const { globalObject } = opt;
12
12
  if (v === "") {
13
13
  return v;
@@ -17,15 +17,7 @@ module.exports.parse = function parse(v, opt = {}) {
17
17
  inArray: true
18
18
  });
19
19
  if (Array.isArray(value) && value.length === 1) {
20
- const [{ name, type }] = value;
21
- switch (type) {
22
- case "GlobalKeyword": {
23
- return name;
24
- }
25
- default: {
26
- return parsers.parseColor(value);
27
- }
28
- }
20
+ return parsers.resolveColorValue(value);
29
21
  } else if (typeof value === "string") {
30
22
  return value;
31
23
  }
@@ -33,7 +25,7 @@ module.exports.parse = function parse(v, opt = {}) {
33
25
 
34
26
  module.exports.definition = {
35
27
  set(v) {
36
- v = parsers.prepareValue(v, this._global);
28
+ v = parsers.prepareValue(v);
37
29
  if (parsers.hasVarFunc(v)) {
38
30
  this._borderSetter(property, v, "");
39
31
  } else {
@@ -44,10 +36,10 @@ module.exports.definition = {
44
36
  const shorthandPriority = this._priorities.get(shorthand);
45
37
  const linePriority = this._priorities.get(lineShorthand);
46
38
  const positionPriority = this._priorities.get(positionShorthand);
47
- let priority = this._priorities.get(property) ?? "";
48
- if ((shorthandPriority || linePriority || positionPriority) && priority) {
49
- priority = "";
50
- }
39
+ const priority =
40
+ !(shorthandPriority || linePriority || positionPriority) && this._priorities.has(property)
41
+ ? this._priorities.get(property)
42
+ : "";
51
43
  this._borderSetter(property, val, priority);
52
44
  }
53
45
  }
@@ -58,3 +50,5 @@ module.exports.definition = {
58
50
  enumerable: true,
59
51
  configurable: true
60
52
  };
53
+
54
+ module.exports.property = property;
@@ -7,7 +7,7 @@ const lineShorthand = "border-style";
7
7
  const positionShorthand = "border-top";
8
8
  const shorthand = "border";
9
9
 
10
- module.exports.parse = function parse(v, opt = {}) {
10
+ module.exports.parse = (v, opt = {}) => {
11
11
  const { globalObject } = opt;
12
12
  if (v === "") {
13
13
  return v;
@@ -17,14 +17,7 @@ module.exports.parse = function parse(v, opt = {}) {
17
17
  inArray: true
18
18
  });
19
19
  if (Array.isArray(value) && value.length === 1) {
20
- const [{ name, type }] = value;
21
- switch (type) {
22
- case "GlobalKeyword":
23
- case "Identifier": {
24
- return name;
25
- }
26
- default:
27
- }
20
+ return parsers.resolveKeywordValue(value);
28
21
  } else if (typeof value === "string") {
29
22
  return value;
30
23
  }
@@ -32,7 +25,7 @@ module.exports.parse = function parse(v, opt = {}) {
32
25
 
33
26
  module.exports.definition = {
34
27
  set(v) {
35
- v = parsers.prepareValue(v, this._global);
28
+ v = parsers.prepareValue(v);
36
29
  if (parsers.hasVarFunc(v)) {
37
30
  this._borderSetter(property, v, "");
38
31
  } else {
@@ -43,10 +36,10 @@ module.exports.definition = {
43
36
  const shorthandPriority = this._priorities.get(shorthand);
44
37
  const linePriority = this._priorities.get(lineShorthand);
45
38
  const positionPriority = this._priorities.get(positionShorthand);
46
- let priority = this._priorities.get(property) ?? "";
47
- if ((shorthandPriority || linePriority || positionPriority) && priority) {
48
- priority = "";
49
- }
39
+ const priority =
40
+ !(shorthandPriority || linePriority || positionPriority) && this._priorities.has(property)
41
+ ? this._priorities.get(property)
42
+ : "";
50
43
  this._borderSetter(property, val, priority);
51
44
  }
52
45
  }
@@ -57,3 +50,5 @@ module.exports.definition = {
57
50
  enumerable: true,
58
51
  configurable: true
59
52
  };
53
+
54
+ module.exports.property = property;
@@ -7,7 +7,7 @@ const lineShorthand = "border-width";
7
7
  const positionShorthand = "border-top";
8
8
  const shorthand = "border";
9
9
 
10
- module.exports.parse = function parse(v, opt = {}) {
10
+ module.exports.parse = (v, opt = {}) => {
11
11
  const { globalObject } = opt;
12
12
  if (v === "") {
13
13
  return v;
@@ -17,24 +17,10 @@ module.exports.parse = function parse(v, opt = {}) {
17
17
  inArray: true
18
18
  });
19
19
  if (Array.isArray(value) && value.length === 1) {
20
- const [{ isNumber, name, type, value: itemValue }] = value;
21
- switch (type) {
22
- case "Calc": {
23
- if (isNumber) {
24
- return;
25
- }
26
- return `${name}(${itemValue})`;
27
- }
28
- case "GlobalKeyword":
29
- case "Identifier": {
30
- return name;
31
- }
32
- default: {
33
- return parsers.parseLength(value, {
34
- min: 0
35
- });
36
- }
37
- }
20
+ return parsers.resolveNumericValue(value, {
21
+ min: 0,
22
+ type: "length"
23
+ });
38
24
  } else if (typeof value === "string") {
39
25
  return value;
40
26
  }
@@ -42,7 +28,7 @@ module.exports.parse = function parse(v, opt = {}) {
42
28
 
43
29
  module.exports.definition = {
44
30
  set(v) {
45
- v = parsers.prepareValue(v, this._global);
31
+ v = parsers.prepareValue(v);
46
32
  if (parsers.hasVarFunc(v)) {
47
33
  this._borderSetter(property, v, "");
48
34
  } else {
@@ -53,10 +39,10 @@ module.exports.definition = {
53
39
  const shorthandPriority = this._priorities.get(shorthand);
54
40
  const linePriority = this._priorities.get(lineShorthand);
55
41
  const positionPriority = this._priorities.get(positionShorthand);
56
- let priority = this._priorities.get(property) ?? "";
57
- if ((shorthandPriority || linePriority || positionPriority) && priority) {
58
- priority = "";
59
- }
42
+ const priority =
43
+ !(shorthandPriority || linePriority || positionPriority) && this._priorities.has(property)
44
+ ? this._priorities.get(property)
45
+ : "";
60
46
  this._borderSetter(property, val, priority);
61
47
  }
62
48
  }
@@ -67,3 +53,5 @@ module.exports.definition = {
67
53
  enumerable: true,
68
54
  configurable: true
69
55
  };
56
+
57
+ module.exports.property = property;
@@ -10,13 +10,13 @@ const property = "border-width";
10
10
  const shorthand = "border";
11
11
 
12
12
  module.exports.shorthandFor = new Map([
13
- ["border-top-width", borderTopWidth],
14
- ["border-right-width", borderRightWidth],
15
- ["border-bottom-width", borderBottomWidth],
16
- ["border-left-width", borderLeftWidth]
13
+ [borderTopWidth.property, borderTopWidth],
14
+ [borderRightWidth.property, borderRightWidth],
15
+ [borderBottomWidth.property, borderBottomWidth],
16
+ [borderLeftWidth.property, borderLeftWidth]
17
17
  ]);
18
18
 
19
- module.exports.parse = function parse(v, opt = {}) {
19
+ module.exports.parse = (v, opt = {}) => {
20
20
  const { globalObject } = opt;
21
21
  if (v === "") {
22
22
  return v;
@@ -31,35 +31,14 @@ module.exports.parse = function parse(v, opt = {}) {
31
31
  return;
32
32
  }
33
33
  for (const value of values) {
34
- const { isNumber, name, type, value: itemValue } = value;
35
- switch (type) {
36
- case "Calc": {
37
- if (isNumber) {
38
- return;
39
- }
40
- parsedValues.push(`${name}(${itemValue})`);
41
- break;
42
- }
43
- case "GlobalKeyword": {
44
- if (values.length !== 1) {
45
- return;
46
- }
47
- return name;
48
- }
49
- case "Identifier": {
50
- parsedValues.push(name);
51
- break;
52
- }
53
- default: {
54
- const parsedValue = parsers.parseLength([value], {
55
- min: 0
56
- });
57
- if (!parsedValue) {
58
- return;
59
- }
60
- parsedValues.push(parsedValue);
61
- }
34
+ const parsedValue = parsers.resolveNumericValue([value], {
35
+ length: values.length,
36
+ type: "length"
37
+ });
38
+ if (!parsedValue) {
39
+ return;
62
40
  }
41
+ parsedValues.push(parsedValue);
63
42
  }
64
43
  } else if (typeof values === "string") {
65
44
  parsedValues.push(values);
@@ -106,7 +85,7 @@ module.exports.parse = function parse(v, opt = {}) {
106
85
 
107
86
  module.exports.definition = {
108
87
  set(v) {
109
- v = parsers.prepareValue(v, this._global);
88
+ v = parsers.prepareValue(v);
110
89
  if (parsers.hasVarFunc(v)) {
111
90
  this._borderSetter(property, v, "");
112
91
  } else {
@@ -114,9 +93,10 @@ module.exports.definition = {
114
93
  globalObject: this._global
115
94
  });
116
95
  if (Array.isArray(val) || typeof val === "string") {
117
- const shorthandPriority = this._priorities.get(shorthand);
118
- const prior = this._priorities.get(property) ?? "";
119
- const priority = shorthandPriority && prior ? "" : prior;
96
+ const priority =
97
+ !this._priorities.get(shorthand) && this._priorities.has(property)
98
+ ? this._priorities.get(property)
99
+ : "";
120
100
  this._borderSetter(property, val, priority);
121
101
  }
122
102
  }
@@ -127,3 +107,5 @@ module.exports.definition = {
127
107
  enumerable: true,
128
108
  configurable: true
129
109
  };
110
+
111
+ module.exports.property = property;
@@ -4,7 +4,7 @@ const parsers = require("../parsers");
4
4
 
5
5
  const property = "bottom";
6
6
 
7
- module.exports.parse = function parse(v, opt = {}) {
7
+ module.exports.parse = (v, opt = {}) => {
8
8
  const { globalObject } = opt;
9
9
  if (v === "") {
10
10
  return v;
@@ -14,22 +14,9 @@ module.exports.parse = function parse(v, opt = {}) {
14
14
  inArray: true
15
15
  });
16
16
  if (Array.isArray(value) && value.length === 1) {
17
- const [{ isNumber, name, raw, type }] = value;
18
- switch (type) {
19
- case "Calc": {
20
- if (!isNumber) {
21
- return raw;
22
- }
23
- break;
24
- }
25
- case "GlobalKeyword":
26
- case "Identifier": {
27
- return name;
28
- }
29
- default: {
30
- return parsers.parseLengthPercentage(value);
31
- }
32
- }
17
+ return parsers.resolveNumericValue(value, {
18
+ type: "length"
19
+ });
33
20
  } else if (typeof value === "string") {
34
21
  return value;
35
22
  }
@@ -37,7 +24,7 @@ module.exports.parse = function parse(v, opt = {}) {
37
24
 
38
25
  module.exports.definition = {
39
26
  set(v) {
40
- v = parsers.prepareValue(v, this._global);
27
+ v = parsers.prepareValue(v);
41
28
  if (parsers.hasVarFunc(v)) {
42
29
  this._setProperty(property, v);
43
30
  } else {
@@ -56,3 +43,5 @@ module.exports.definition = {
56
43
  enumerable: true,
57
44
  configurable: true
58
45
  };
46
+
47
+ module.exports.property = property;
@@ -4,7 +4,7 @@ const parsers = require("../parsers");
4
4
 
5
5
  const property = "clear";
6
6
 
7
- module.exports.parse = function parse(v, opt = {}) {
7
+ module.exports.parse = (v, opt = {}) => {
8
8
  const { globalObject } = opt;
9
9
  if (v === "") {
10
10
  return v;
@@ -14,14 +14,7 @@ module.exports.parse = function parse(v, opt = {}) {
14
14
  inArray: true
15
15
  });
16
16
  if (Array.isArray(value) && value.length === 1) {
17
- const [{ name, type }] = value;
18
- switch (type) {
19
- case "GlobalKeyword":
20
- case "Identifier": {
21
- return name;
22
- }
23
- default:
24
- }
17
+ return parsers.resolveKeywordValue(value);
25
18
  } else if (typeof value === "string") {
26
19
  return value;
27
20
  }
@@ -29,7 +22,7 @@ module.exports.parse = function parse(v, opt = {}) {
29
22
 
30
23
  module.exports.definition = {
31
24
  set(v) {
32
- v = parsers.prepareValue(v, this._global);
25
+ v = parsers.prepareValue(v);
33
26
  if (parsers.hasVarFunc(v)) {
34
27
  this._setProperty(property, v);
35
28
  } else {
@@ -48,3 +41,5 @@ module.exports.definition = {
48
41
  enumerable: true,
49
42
  configurable: true
50
43
  };
44
+
45
+ module.exports.property = property;
@@ -6,11 +6,12 @@ const parsers = require("../parsers");
6
6
 
7
7
  const property = "clip";
8
8
 
9
- module.exports.parse = function parse(v, opt = {}) {
9
+ module.exports.parse = (v, opt = {}) => {
10
10
  const { globalObject } = opt;
11
11
  if (v === "") {
12
12
  return v;
13
13
  }
14
+ const { AST_TYPES } = parsers;
14
15
  const value = parsers.parsePropertyValue(property, v, {
15
16
  globalObject,
16
17
  inArray: true
@@ -18,14 +19,16 @@ module.exports.parse = function parse(v, opt = {}) {
18
19
  if (Array.isArray(value) && value.length === 1) {
19
20
  const [{ name, type, value: itemValue }] = value;
20
21
  switch (type) {
21
- case "Function": {
22
+ case AST_TYPES.FUNCTION: {
22
23
  const values = parsers.splitValue(itemValue, {
23
24
  delimiter: ","
24
25
  });
25
26
  const parsedValues = [];
26
27
  for (const item of values) {
27
28
  const parsedValue = parsers.parseCSS(item, { context: "value" }, true);
28
- const val = parsers.parseLength(parsedValue.children);
29
+ const val = parsers.resolveNumericValue(parsedValue.children, {
30
+ type: "length"
31
+ });
29
32
  if (val) {
30
33
  parsedValues.push(val);
31
34
  } else {
@@ -34,8 +37,8 @@ module.exports.parse = function parse(v, opt = {}) {
34
37
  }
35
38
  return `${name}(${parsedValues.join(", ")})`;
36
39
  }
37
- case "GlobalKeyword":
38
- case "Identifier": {
40
+ case AST_TYPES.GLOBAL_KEYWORD:
41
+ case AST_TYPES.IDENTIFIER: {
39
42
  return name;
40
43
  }
41
44
  default:
@@ -47,7 +50,7 @@ module.exports.parse = function parse(v, opt = {}) {
47
50
 
48
51
  module.exports.definition = {
49
52
  set(v) {
50
- v = parsers.prepareValue(v, this._global);
53
+ v = parsers.prepareValue(v);
51
54
  if (parsers.hasVarFunc(v)) {
52
55
  this._setProperty(property, v);
53
56
  } else {
@@ -66,3 +69,5 @@ module.exports.definition = {
66
69
  enumerable: true,
67
70
  configurable: true
68
71
  };
72
+
73
+ module.exports.property = property;
@@ -4,7 +4,7 @@ const parsers = require("../parsers");
4
4
 
5
5
  const property = "color";
6
6
 
7
- module.exports.parse = function parse(v, opt = {}) {
7
+ module.exports.parse = (v, opt = {}) => {
8
8
  const { globalObject } = opt;
9
9
  if (v === "") {
10
10
  return v;
@@ -14,15 +14,7 @@ module.exports.parse = function parse(v, opt = {}) {
14
14
  inArray: true
15
15
  });
16
16
  if (Array.isArray(value) && value.length === 1) {
17
- const [{ name, type }] = value;
18
- switch (type) {
19
- case "GlobalKeyword": {
20
- return name;
21
- }
22
- default: {
23
- return parsers.parseColor(value);
24
- }
25
- }
17
+ return parsers.resolveColorValue(value);
26
18
  } else if (typeof value === "string") {
27
19
  return value;
28
20
  }
@@ -30,7 +22,7 @@ module.exports.parse = function parse(v, opt = {}) {
30
22
 
31
23
  module.exports.definition = {
32
24
  set(v) {
33
- v = parsers.prepareValue(v, this._global);
25
+ v = parsers.prepareValue(v);
34
26
  if (parsers.hasVarFunc(v)) {
35
27
  this._setProperty(property, v);
36
28
  } else {
@@ -49,3 +41,5 @@ module.exports.definition = {
49
41
  enumerable: true,
50
42
  configurable: true
51
43
  };
44
+
45
+ module.exports.property = property;
@@ -8,11 +8,12 @@ const property = "display";
8
8
  const displayOutside = ["block", "inline", "run-in"];
9
9
  const displayFlow = ["flow", "flow-root"];
10
10
 
11
- module.exports.parse = function parse(v, opt = {}) {
11
+ module.exports.parse = (v, opt = {}) => {
12
12
  const { globalObject } = opt;
13
13
  if (v === "") {
14
14
  return v;
15
15
  }
16
+ const { AST_TYPES } = parsers;
16
17
  const value = parsers.parsePropertyValue(property, v, {
17
18
  globalObject,
18
19
  inArray: true
@@ -22,10 +23,10 @@ module.exports.parse = function parse(v, opt = {}) {
22
23
  case 1: {
23
24
  const [{ name, type }] = value;
24
25
  switch (type) {
25
- case "GlobalKeyword": {
26
+ case AST_TYPES.GLOBAL_KEYWORD: {
26
27
  return name;
27
28
  }
28
- case "Identifier": {
29
+ case AST_TYPES.IDENTIFIER: {
29
30
  if (name === "flow") {
30
31
  return "block";
31
32
  }
@@ -37,8 +38,8 @@ module.exports.parse = function parse(v, opt = {}) {
37
38
  }
38
39
  case 2: {
39
40
  const [part1, part2] = value;
40
- const val1 = part1.type === "Identifier" && part1.name;
41
- const val2 = part2.type === "Identifier" && part2.name;
41
+ const val1 = part1.type === AST_TYPES.IDENTIFIER && part1.name;
42
+ const val2 = part2.type === AST_TYPES.IDENTIFIER && part2.name;
42
43
  if (val1 && val2) {
43
44
  let outerValue = "";
44
45
  let innerValue = "";
@@ -122,9 +123,9 @@ module.exports.parse = function parse(v, opt = {}) {
122
123
  }
123
124
  case 3: {
124
125
  const [part1, part2, part3] = value;
125
- const val1 = part1.type === "Identifier" && part1.name;
126
- const val2 = part2.type === "Identifier" && part2.name;
127
- const val3 = part3.type === "Identifier" && part3.name;
126
+ const val1 = part1.type === AST_TYPES.IDENTIFIER && part1.name;
127
+ const val2 = part2.type === AST_TYPES.IDENTIFIER && part2.name;
128
+ const val3 = part3.type === AST_TYPES.IDENTIFIER && part3.name;
128
129
  if (val1 && val2 && part3) {
129
130
  let outerValue = "";
130
131
  let flowValue = "";
@@ -186,7 +187,7 @@ module.exports.parse = function parse(v, opt = {}) {
186
187
 
187
188
  module.exports.definition = {
188
189
  set(v) {
189
- v = parsers.prepareValue(v, this._global);
190
+ v = parsers.prepareValue(v);
190
191
  if (parsers.hasVarFunc(v)) {
191
192
  this._setProperty(property, v);
192
193
  } else {
@@ -205,3 +206,5 @@ module.exports.definition = {
205
206
  enumerable: true,
206
207
  configurable: true
207
208
  };
209
+
210
+ module.exports.property = property;