less 4.0.1-alpha.0 → 4.1.2

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 (187) hide show
  1. package/.eslintignore +2 -1
  2. package/.eslintrc.json +70 -2
  3. package/Gruntfile.js +8 -23
  4. package/dist/less.js +1161 -1132
  5. package/dist/less.min.js +3 -3
  6. package/dist/less.min.js.map +1 -1
  7. package/lib/less/constants.js +2 -1
  8. package/lib/less/constants.js.map +1 -1
  9. package/lib/less/contexts.js +2 -20
  10. package/lib/less/contexts.js.map +1 -1
  11. package/lib/less/data/index.js +3 -5
  12. package/lib/less/data/index.js.map +1 -1
  13. package/lib/less/environment/abstract-plugin-loader.js +3 -5
  14. package/lib/less/environment/abstract-plugin-loader.js.map +1 -1
  15. package/lib/less/environment/environment.js +2 -4
  16. package/lib/less/environment/environment.js.map +1 -1
  17. package/lib/less/functions/boolean.js +14 -6
  18. package/lib/less/functions/boolean.js.map +1 -1
  19. package/lib/less/functions/color-blending.js +2 -4
  20. package/lib/less/functions/color-blending.js.map +1 -1
  21. package/lib/less/functions/color.js +7 -9
  22. package/lib/less/functions/color.js.map +1 -1
  23. package/lib/less/functions/data-uri.js +5 -26
  24. package/lib/less/functions/data-uri.js.map +1 -1
  25. package/lib/less/functions/default.js +2 -4
  26. package/lib/less/functions/default.js.map +1 -1
  27. package/lib/less/functions/function-caller.js +7 -12
  28. package/lib/less/functions/function-caller.js.map +1 -1
  29. package/lib/less/functions/index.js +14 -16
  30. package/lib/less/functions/index.js.map +1 -1
  31. package/lib/less/functions/list.js +11 -13
  32. package/lib/less/functions/list.js.map +1 -1
  33. package/lib/less/functions/math-helper.js +2 -4
  34. package/lib/less/functions/math-helper.js.map +1 -1
  35. package/lib/less/functions/math.js +2 -4
  36. package/lib/less/functions/math.js.map +1 -1
  37. package/lib/less/functions/number.js +4 -6
  38. package/lib/less/functions/number.js.map +1 -1
  39. package/lib/less/functions/string.js +4 -6
  40. package/lib/less/functions/string.js.map +1 -1
  41. package/lib/less/functions/svg.js +6 -8
  42. package/lib/less/functions/svg.js.map +1 -1
  43. package/lib/less/functions/types.js +11 -12
  44. package/lib/less/functions/types.js.map +1 -1
  45. package/lib/less/import-manager.js +6 -27
  46. package/lib/less/import-manager.js.map +1 -1
  47. package/lib/less/index.js +25 -43
  48. package/lib/less/index.js.map +1 -1
  49. package/lib/less/less-error.js +2 -20
  50. package/lib/less/less-error.js.map +1 -1
  51. package/lib/less/parse-tree.js +4 -6
  52. package/lib/less/parse-tree.js.map +1 -1
  53. package/lib/less/parse.js +6 -27
  54. package/lib/less/parse.js.map +1 -1
  55. package/lib/less/parser/parser-input.js +2 -4
  56. package/lib/less/parser/parser-input.js.map +1 -1
  57. package/lib/less/parser/parser.js +10 -31
  58. package/lib/less/parser/parser.js.map +1 -1
  59. package/lib/less/render.js +2 -20
  60. package/lib/less/render.js.map +1 -1
  61. package/lib/less/source-map-output.js +5 -1
  62. package/lib/less/source-map-output.js.map +1 -1
  63. package/lib/less/transform-tree.js +4 -6
  64. package/lib/less/transform-tree.js.map +1 -1
  65. package/lib/less/tree/anonymous.js +22 -41
  66. package/lib/less/tree/anonymous.js.map +1 -1
  67. package/lib/less/tree/assignment.js +15 -34
  68. package/lib/less/tree/assignment.js.map +1 -1
  69. package/lib/less/tree/atrule.js +49 -68
  70. package/lib/less/tree/atrule.js.map +1 -1
  71. package/lib/less/tree/attribute.js +16 -35
  72. package/lib/less/tree/attribute.js.map +1 -1
  73. package/lib/less/tree/call.js +20 -39
  74. package/lib/less/tree/call.js.map +1 -1
  75. package/lib/less/tree/color.js +75 -94
  76. package/lib/less/tree/color.js.map +1 -1
  77. package/lib/less/tree/combinator.js +16 -35
  78. package/lib/less/tree/combinator.js.map +1 -1
  79. package/lib/less/tree/comment.js +17 -36
  80. package/lib/less/tree/comment.js.map +1 -1
  81. package/lib/less/tree/condition.js +16 -35
  82. package/lib/less/tree/condition.js.map +1 -1
  83. package/lib/less/tree/debug-info.js.map +1 -1
  84. package/lib/less/tree/declaration.js +36 -74
  85. package/lib/less/tree/declaration.js.map +1 -1
  86. package/lib/less/tree/detached-ruleset.js +19 -57
  87. package/lib/less/tree/detached-ruleset.js.map +1 -1
  88. package/lib/less/tree/dimension.js +36 -53
  89. package/lib/less/tree/dimension.js.map +1 -1
  90. package/lib/less/tree/element.js +34 -53
  91. package/lib/less/tree/element.js.map +1 -1
  92. package/lib/less/tree/expression.js +23 -61
  93. package/lib/less/tree/expression.js.map +1 -1
  94. package/lib/less/tree/extend.js +34 -53
  95. package/lib/less/tree/extend.js.map +1 -1
  96. package/lib/less/tree/import.js +46 -84
  97. package/lib/less/tree/import.js.map +1 -1
  98. package/lib/less/tree/index.js +71 -46
  99. package/lib/less/tree/index.js.map +1 -1
  100. package/lib/less/tree/javascript.js +16 -35
  101. package/lib/less/tree/javascript.js.map +1 -1
  102. package/lib/less/tree/js-eval-node.js +14 -31
  103. package/lib/less/tree/js-eval-node.js.map +1 -1
  104. package/lib/less/tree/keyword.js +10 -29
  105. package/lib/less/tree/keyword.js.map +1 -1
  106. package/lib/less/tree/media.js +40 -78
  107. package/lib/less/tree/media.js.map +1 -1
  108. package/lib/less/tree/mixin-call.js +34 -47
  109. package/lib/less/tree/mixin-call.js.map +1 -1
  110. package/lib/less/tree/mixin-definition.js +51 -89
  111. package/lib/less/tree/mixin-definition.js.map +1 -1
  112. package/lib/less/tree/namespace-value.js +22 -37
  113. package/lib/less/tree/namespace-value.js.map +1 -1
  114. package/lib/less/tree/negative.js +14 -33
  115. package/lib/less/tree/negative.js.map +1 -1
  116. package/lib/less/tree/node.js +20 -7
  117. package/lib/less/tree/node.js.map +1 -1
  118. package/lib/less/tree/operation.js +22 -59
  119. package/lib/less/tree/operation.js.map +1 -1
  120. package/lib/less/tree/paren.js +12 -31
  121. package/lib/less/tree/paren.js.map +1 -1
  122. package/lib/less/tree/property.js +21 -36
  123. package/lib/less/tree/property.js.map +1 -1
  124. package/lib/less/tree/quoted.js +25 -44
  125. package/lib/less/tree/quoted.js.map +1 -1
  126. package/lib/less/tree/ruleset.js +69 -107
  127. package/lib/less/tree/ruleset.js.map +1 -1
  128. package/lib/less/tree/selector.js +38 -57
  129. package/lib/less/tree/selector.js.map +1 -1
  130. package/lib/less/tree/unicode-descriptor.js +8 -27
  131. package/lib/less/tree/unicode-descriptor.js.map +1 -1
  132. package/lib/less/tree/unit.js +38 -76
  133. package/lib/less/tree/unit.js.map +1 -1
  134. package/lib/less/tree/url.js +20 -39
  135. package/lib/less/tree/url.js.map +1 -1
  136. package/lib/less/tree/value.js +21 -40
  137. package/lib/less/tree/value.js.map +1 -1
  138. package/lib/less/tree/variable-call.js +17 -36
  139. package/lib/less/tree/variable-call.js.map +1 -1
  140. package/lib/less/tree/variable.js +21 -36
  141. package/lib/less/tree/variable.js.map +1 -1
  142. package/lib/less/utils.js +5 -33
  143. package/lib/less/utils.js.map +1 -1
  144. package/lib/less/visitors/extend-visitor.js +5 -26
  145. package/lib/less/visitors/extend-visitor.js.map +1 -1
  146. package/lib/less/visitors/import-sequencer.js.map +1 -1
  147. package/lib/less/visitors/import-visitor.js +5 -26
  148. package/lib/less/visitors/import-visitor.js.map +1 -1
  149. package/lib/less/visitors/index.js +7 -9
  150. package/lib/less/visitors/index.js.map +1 -1
  151. package/lib/less/visitors/join-selector-visitor.js +2 -4
  152. package/lib/less/visitors/join-selector-visitor.js.map +1 -1
  153. package/lib/less/visitors/to-css-visitor.js +7 -7
  154. package/lib/less/visitors/to-css-visitor.js.map +1 -1
  155. package/lib/less/visitors/visitor.js +2 -4
  156. package/lib/less/visitors/visitor.js.map +1 -1
  157. package/lib/less-browser/add-default-options.js +2 -4
  158. package/lib/less-browser/add-default-options.js.map +1 -1
  159. package/lib/less-browser/bootstrap.js +4 -6
  160. package/lib/less-browser/bootstrap.js.map +1 -1
  161. package/lib/less-browser/browser.js +2 -20
  162. package/lib/less-browser/browser.js.map +1 -1
  163. package/lib/less-browser/error-reporting.js +3 -24
  164. package/lib/less-browser/error-reporting.js.map +1 -1
  165. package/lib/less-browser/file-manager.js +17 -36
  166. package/lib/less-browser/file-manager.js.map +1 -1
  167. package/lib/less-browser/image-size.js +2 -4
  168. package/lib/less-browser/image-size.js.map +1 -1
  169. package/lib/less-browser/index.js +9 -11
  170. package/lib/less-browser/index.js.map +1 -1
  171. package/lib/less-browser/plugin-loader.js +10 -29
  172. package/lib/less-browser/plugin-loader.js.map +1 -1
  173. package/lib/less-node/file-manager.js +15 -34
  174. package/lib/less-node/file-manager.js.map +1 -1
  175. package/lib/less-node/image-size.js +4 -6
  176. package/lib/less-node/image-size.js.map +1 -1
  177. package/lib/less-node/index.js +6 -8
  178. package/lib/less-node/index.js.map +1 -1
  179. package/lib/less-node/plugin-loader.js +23 -42
  180. package/lib/less-node/plugin-loader.js.map +1 -1
  181. package/lib/less-node/url-file-manager.js +24 -39
  182. package/lib/less-node/url-file-manager.js.map +1 -1
  183. package/package.json +20 -17
  184. package/test/index.js +20 -2
  185. package/test/less-test.js +36 -16
  186. package/tsconfig.json +6 -0
  187. package/LICENSE +0 -177
@@ -1,40 +1,23 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- var __importDefault = (this && this.__importDefault) || function (mod) {
16
- return (mod && mod.__esModule) ? mod : { "default": mod };
17
- };
18
2
  Object.defineProperty(exports, "__esModule", { value: true });
19
- var node_1 = __importDefault(require("./node"));
20
- var element_1 = __importDefault(require("./element"));
21
- var less_error_1 = __importDefault(require("../less-error"));
22
- var Selector = /** @class */ (function (_super) {
23
- __extends(Selector, _super);
24
- function Selector(elements, extendList, condition, index, currentFileInfo, visibilityInfo) {
25
- var _this = _super.call(this) || this;
26
- _this.extendList = extendList;
27
- _this.condition = condition;
28
- _this.evaldCondition = !condition;
29
- _this._index = index;
30
- _this._fileInfo = currentFileInfo;
31
- _this.elements = _this.getElements(elements);
32
- _this.mixinElements_ = undefined;
33
- _this.copyVisibilityInfo(visibilityInfo);
34
- _this.setParent(_this.elements, _this);
35
- return _this;
36
- }
37
- Selector.prototype.accept = function (visitor) {
3
+ var tslib_1 = require("tslib");
4
+ var node_1 = tslib_1.__importDefault(require("./node"));
5
+ var element_1 = tslib_1.__importDefault(require("./element"));
6
+ var less_error_1 = tslib_1.__importDefault(require("../less-error"));
7
+ var Selector = function (elements, extendList, condition, index, currentFileInfo, visibilityInfo) {
8
+ this.extendList = extendList;
9
+ this.condition = condition;
10
+ this.evaldCondition = !condition;
11
+ this._index = index;
12
+ this._fileInfo = currentFileInfo;
13
+ this.elements = this.getElements(elements);
14
+ this.mixinElements_ = undefined;
15
+ this.copyVisibilityInfo(visibilityInfo);
16
+ this.setParent(this.elements, this);
17
+ };
18
+ Selector.prototype = Object.assign(new node_1.default(), {
19
+ type: 'Selector',
20
+ accept: function (visitor) {
38
21
  if (this.elements) {
39
22
  this.elements = visitor.visitArray(this.elements);
40
23
  }
@@ -44,15 +27,15 @@ var Selector = /** @class */ (function (_super) {
44
27
  if (this.condition) {
45
28
  this.condition = visitor.visit(this.condition);
46
29
  }
47
- };
48
- Selector.prototype.createDerived = function (elements, extendList, evaldCondition) {
30
+ },
31
+ createDerived: function (elements, extendList, evaldCondition) {
49
32
  elements = this.getElements(elements);
50
33
  var newSelector = new Selector(elements, extendList || this.extendList, null, this.getIndex(), this.fileInfo(), this.visibilityInfo());
51
34
  newSelector.evaldCondition = (evaldCondition != null) ? evaldCondition : this.evaldCondition;
52
35
  newSelector.mediaEmpty = this.mediaEmpty;
53
36
  return newSelector;
54
- };
55
- Selector.prototype.getElements = function (els) {
37
+ },
38
+ getElements: function (els) {
56
39
  if (!els) {
57
40
  return [new element_1.default('', '&', false, this._index, this._fileInfo)];
58
41
  }
@@ -68,13 +51,13 @@ var Selector = /** @class */ (function (_super) {
68
51
  });
69
52
  }
70
53
  return els;
71
- };
72
- Selector.prototype.createEmptySelectors = function () {
54
+ },
55
+ createEmptySelectors: function () {
73
56
  var el = new element_1.default('', '&', false, this._index, this._fileInfo), sels = [new Selector([el], null, null, this._index, this._fileInfo)];
74
57
  sels[0].mediaEmpty = true;
75
58
  return sels;
76
- };
77
- Selector.prototype.match = function (other) {
59
+ },
60
+ match: function (other) {
78
61
  var elements = this.elements;
79
62
  var len = elements.length;
80
63
  var olen;
@@ -92,8 +75,8 @@ var Selector = /** @class */ (function (_super) {
92
75
  }
93
76
  }
94
77
  return olen; // return number of matched elements
95
- };
96
- Selector.prototype.mixinElements = function () {
78
+ },
79
+ mixinElements: function () {
97
80
  if (this.mixinElements_) {
98
81
  return this.mixinElements_;
99
82
  }
@@ -109,22 +92,22 @@ var Selector = /** @class */ (function (_super) {
109
92
  elements = [];
110
93
  }
111
94
  return (this.mixinElements_ = elements);
112
- };
113
- Selector.prototype.isJustParentSelector = function () {
95
+ },
96
+ isJustParentSelector: function () {
114
97
  return !this.mediaEmpty &&
115
98
  this.elements.length === 1 &&
116
99
  this.elements[0].value === '&' &&
117
100
  (this.elements[0].combinator.value === ' ' || this.elements[0].combinator.value === '');
118
- };
119
- Selector.prototype.eval = function (context) {
101
+ },
102
+ eval: function (context) {
120
103
  var evaldCondition = this.condition && this.condition.eval(context);
121
104
  var elements = this.elements;
122
105
  var extendList = this.extendList;
123
106
  elements = elements && elements.map(function (e) { return e.eval(context); });
124
107
  extendList = extendList && extendList.map(function (extend) { return extend.eval(context); });
125
108
  return this.createDerived(elements, extendList, evaldCondition);
126
- };
127
- Selector.prototype.genCSS = function (context, output) {
109
+ },
110
+ genCSS: function (context, output) {
128
111
  var i, element;
129
112
  if ((!context || !context.firstSelector) && this.elements[0].combinator.value === '') {
130
113
  output.add(' ', this.fileInfo(), this.getIndex());
@@ -133,12 +116,10 @@ var Selector = /** @class */ (function (_super) {
133
116
  element = this.elements[i];
134
117
  element.genCSS(context, output);
135
118
  }
136
- };
137
- Selector.prototype.getIsOutput = function () {
119
+ },
120
+ getIsOutput: function () {
138
121
  return this.evaldCondition;
139
- };
140
- return Selector;
141
- }(node_1.default));
142
- Selector.prototype.type = 'Selector';
122
+ }
123
+ });
143
124
  exports.default = Selector;
144
125
  //# sourceMappingURL=selector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selector.js","sourceRoot":"","sources":["../../../src/less/tree/selector.js"],"names":[],"mappings":"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","sourcesContent":["import Node from './node';\nimport Element from './element';\nimport LessError from '../less-error';\n\nclass Selector extends Node {\n constructor(elements, extendList, condition, index, currentFileInfo, visibilityInfo) {\n super();\n\n this.extendList = extendList;\n this.condition = condition;\n this.evaldCondition = !condition;\n this._index = index;\n this._fileInfo = currentFileInfo;\n this.elements = this.getElements(elements);\n this.mixinElements_ = undefined;\n this.copyVisibilityInfo(visibilityInfo);\n this.setParent(this.elements, this);\n }\n\n accept(visitor) {\n if (this.elements) {\n this.elements = visitor.visitArray(this.elements);\n }\n if (this.extendList) {\n this.extendList = visitor.visitArray(this.extendList);\n }\n if (this.condition) {\n this.condition = visitor.visit(this.condition);\n }\n }\n\n createDerived(elements, extendList, evaldCondition) {\n elements = this.getElements(elements);\n const newSelector = new Selector(elements, extendList || this.extendList,\n null, this.getIndex(), this.fileInfo(), this.visibilityInfo());\n newSelector.evaldCondition = (evaldCondition != null) ? evaldCondition : this.evaldCondition;\n newSelector.mediaEmpty = this.mediaEmpty;\n return newSelector;\n }\n\n getElements(els) {\n if (!els) {\n return [new Element('', '&', false, this._index, this._fileInfo)];\n }\n if (typeof els === 'string') {\n this.parse.parseNode(\n els, \n ['selector'],\n this._index, \n this._fileInfo, \n function(err, result) {\n if (err) {\n throw new LessError({\n index: err.index,\n message: err.message\n }, this.parse.imports, this._fileInfo.filename);\n }\n els = result[0].elements;\n });\n }\n return els;\n }\n\n createEmptySelectors() {\n const el = new Element('', '&', false, this._index, this._fileInfo), sels = [new Selector([el], null, null, this._index, this._fileInfo)];\n sels[0].mediaEmpty = true;\n return sels;\n }\n\n match(other) {\n const elements = this.elements;\n const len = elements.length;\n let olen;\n let i;\n\n other = other.mixinElements();\n olen = other.length;\n if (olen === 0 || len < olen) {\n return 0;\n } else {\n for (i = 0; i < olen; i++) {\n if (elements[i].value !== other[i]) {\n return 0;\n }\n }\n }\n\n return olen; // return number of matched elements\n }\n\n mixinElements() {\n if (this.mixinElements_) {\n return this.mixinElements_;\n }\n\n let elements = this.elements.map( function(v) {\n return v.combinator.value + (v.value.value || v.value);\n }).join('').match(/[,&#\\*\\.\\w-]([\\w-]|(\\\\.))*/g);\n\n if (elements) {\n if (elements[0] === '&') {\n elements.shift();\n }\n } else {\n elements = [];\n }\n\n return (this.mixinElements_ = elements);\n }\n\n isJustParentSelector() {\n return !this.mediaEmpty &&\n this.elements.length === 1 &&\n this.elements[0].value === '&' &&\n (this.elements[0].combinator.value === ' ' || this.elements[0].combinator.value === '');\n }\n\n eval(context) {\n const evaldCondition = this.condition && this.condition.eval(context);\n let elements = this.elements;\n let extendList = this.extendList;\n\n elements = elements && elements.map(function (e) { return e.eval(context); });\n extendList = extendList && extendList.map(function(extend) { return extend.eval(context); });\n\n return this.createDerived(elements, extendList, evaldCondition);\n }\n\n genCSS(context, output) {\n let i, element;\n if ((!context || !context.firstSelector) && this.elements[0].combinator.value === '') {\n output.add(' ', this.fileInfo(), this.getIndex());\n }\n for (i = 0; i < this.elements.length; i++) {\n element = this.elements[i];\n element.genCSS(context, output);\n }\n }\n\n getIsOutput() {\n return this.evaldCondition;\n }\n}\n\nSelector.prototype.type = 'Selector';\nexport default Selector;\n"]}
1
+ {"version":3,"file":"selector.js","sourceRoot":"","sources":["../../../src/less/tree/selector.js"],"names":[],"mappings":"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","sourcesContent":["import Node from './node';\nimport Element from './element';\nimport LessError from '../less-error';\n\nconst Selector = function(elements, extendList, condition, index, currentFileInfo, visibilityInfo) {\n this.extendList = extendList;\n this.condition = condition;\n this.evaldCondition = !condition;\n this._index = index;\n this._fileInfo = currentFileInfo;\n this.elements = this.getElements(elements);\n this.mixinElements_ = undefined;\n this.copyVisibilityInfo(visibilityInfo);\n this.setParent(this.elements, this);\n};\n\nSelector.prototype = Object.assign(new Node(), {\n type: 'Selector',\n\n accept(visitor) {\n if (this.elements) {\n this.elements = visitor.visitArray(this.elements);\n }\n if (this.extendList) {\n this.extendList = visitor.visitArray(this.extendList);\n }\n if (this.condition) {\n this.condition = visitor.visit(this.condition);\n }\n },\n\n createDerived(elements, extendList, evaldCondition) {\n elements = this.getElements(elements);\n const newSelector = new Selector(elements, extendList || this.extendList,\n null, this.getIndex(), this.fileInfo(), this.visibilityInfo());\n newSelector.evaldCondition = (evaldCondition != null) ? evaldCondition : this.evaldCondition;\n newSelector.mediaEmpty = this.mediaEmpty;\n return newSelector;\n },\n\n getElements(els) {\n if (!els) {\n return [new Element('', '&', false, this._index, this._fileInfo)];\n }\n if (typeof els === 'string') {\n this.parse.parseNode(\n els, \n ['selector'],\n this._index, \n this._fileInfo, \n function(err, result) {\n if (err) {\n throw new LessError({\n index: err.index,\n message: err.message\n }, this.parse.imports, this._fileInfo.filename);\n }\n els = result[0].elements;\n });\n }\n return els;\n },\n\n createEmptySelectors() {\n const el = new Element('', '&', false, this._index, this._fileInfo), sels = [new Selector([el], null, null, this._index, this._fileInfo)];\n sels[0].mediaEmpty = true;\n return sels;\n },\n\n match(other) {\n const elements = this.elements;\n const len = elements.length;\n let olen;\n let i;\n\n other = other.mixinElements();\n olen = other.length;\n if (olen === 0 || len < olen) {\n return 0;\n } else {\n for (i = 0; i < olen; i++) {\n if (elements[i].value !== other[i]) {\n return 0;\n }\n }\n }\n\n return olen; // return number of matched elements\n },\n\n mixinElements() {\n if (this.mixinElements_) {\n return this.mixinElements_;\n }\n\n let elements = this.elements.map( function(v) {\n return v.combinator.value + (v.value.value || v.value);\n }).join('').match(/[,&#\\*\\.\\w-]([\\w-]|(\\\\.))*/g);\n\n if (elements) {\n if (elements[0] === '&') {\n elements.shift();\n }\n } else {\n elements = [];\n }\n\n return (this.mixinElements_ = elements);\n },\n\n isJustParentSelector() {\n return !this.mediaEmpty &&\n this.elements.length === 1 &&\n this.elements[0].value === '&' &&\n (this.elements[0].combinator.value === ' ' || this.elements[0].combinator.value === '');\n },\n\n eval(context) {\n const evaldCondition = this.condition && this.condition.eval(context);\n let elements = this.elements;\n let extendList = this.extendList;\n\n elements = elements && elements.map(function (e) { return e.eval(context); });\n extendList = extendList && extendList.map(function(extend) { return extend.eval(context); });\n\n return this.createDerived(elements, extendList, evaldCondition);\n },\n\n genCSS(context, output) {\n let i, element;\n if ((!context || !context.firstSelector) && this.elements[0].combinator.value === '') {\n output.add(' ', this.fileInfo(), this.getIndex());\n }\n for (i = 0; i < this.elements.length; i++) {\n element = this.elements[i];\n element.genCSS(context, output);\n }\n },\n\n getIsOutput() {\n return this.evaldCondition;\n }\n});\n\nexport default Selector;\n"]}
@@ -1,31 +1,12 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- var __importDefault = (this && this.__importDefault) || function (mod) {
16
- return (mod && mod.__esModule) ? mod : { "default": mod };
17
- };
18
2
  Object.defineProperty(exports, "__esModule", { value: true });
19
- var node_1 = __importDefault(require("./node"));
20
- var UnicodeDescriptor = /** @class */ (function (_super) {
21
- __extends(UnicodeDescriptor, _super);
22
- function UnicodeDescriptor(value) {
23
- var _this = _super.call(this) || this;
24
- _this.value = value;
25
- return _this;
26
- }
27
- return UnicodeDescriptor;
28
- }(node_1.default));
29
- UnicodeDescriptor.prototype.type = 'UnicodeDescriptor';
3
+ var tslib_1 = require("tslib");
4
+ var node_1 = tslib_1.__importDefault(require("./node"));
5
+ var UnicodeDescriptor = function (value) {
6
+ this.value = value;
7
+ };
8
+ UnicodeDescriptor.prototype = Object.assign(new node_1.default(), {
9
+ type: 'UnicodeDescriptor'
10
+ });
30
11
  exports.default = UnicodeDescriptor;
31
12
  //# sourceMappingURL=unicode-descriptor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unicode-descriptor.js","sourceRoot":"","sources":["../../../src/less/tree/unicode-descriptor.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAE1B;IAAgC,qCAAI;IAChC,2BAAY,KAAK;QAAjB,YACI,iBAAO,SAGV;QADG,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;;IACvB,CAAC;IACL,wBAAC;AAAD,CAAC,AAND,CAAgC,cAAI,GAMnC;AAED,iBAAiB,CAAC,SAAS,CAAC,IAAI,GAAG,mBAAmB,CAAC;AAEvD,kBAAe,iBAAiB,CAAC","sourcesContent":["import Node from './node';\n\nclass UnicodeDescriptor extends Node {\n constructor(value) {\n super();\n\n this.value = value;\n }\n}\n\nUnicodeDescriptor.prototype.type = 'UnicodeDescriptor';\n\nexport default UnicodeDescriptor;\n"]}
1
+ {"version":3,"file":"unicode-descriptor.js","sourceRoot":"","sources":["../../../src/less/tree/unicode-descriptor.js"],"names":[],"mappings":";;;AAAA,wDAA0B;AAE1B,IAAM,iBAAiB,GAAG,UAAS,KAAK;IACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,CAAC,CAAA;AAED,iBAAiB,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,cAAI,EAAE,EAAE;IACpD,IAAI,EAAE,mBAAmB;CAC5B,CAAC,CAAA;AAEF,kBAAe,iBAAiB,CAAC","sourcesContent":["import Node from './node';\n\nconst UnicodeDescriptor = function(value) {\n this.value = value;\n}\n\nUnicodeDescriptor.prototype = Object.assign(new Node(), {\n type: 'UnicodeDescriptor'\n})\n\nexport default UnicodeDescriptor;\n"]}
@@ -1,61 +1,25 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
18
- }) : (function(o, m, k, k2) {
19
- if (k2 === undefined) k2 = k;
20
- o[k2] = m[k];
21
- }));
22
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
- Object.defineProperty(o, "default", { enumerable: true, value: v });
24
- }) : function(o, v) {
25
- o["default"] = v;
26
- });
27
- var __importStar = (this && this.__importStar) || function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
2
  Object.defineProperty(exports, "__esModule", { value: true });
38
- var node_1 = __importDefault(require("./node"));
39
- var unit_conversions_1 = __importDefault(require("../data/unit-conversions"));
40
- var utils = __importStar(require("../utils"));
41
- var Unit = /** @class */ (function (_super) {
42
- __extends(Unit, _super);
43
- function Unit(numerator, denominator, backupUnit) {
44
- var _this = _super.call(this) || this;
45
- _this.numerator = numerator ? utils.copyArray(numerator).sort() : [];
46
- _this.denominator = denominator ? utils.copyArray(denominator).sort() : [];
47
- if (backupUnit) {
48
- _this.backupUnit = backupUnit;
49
- }
50
- else if (numerator && numerator.length) {
51
- _this.backupUnit = numerator[0];
52
- }
53
- return _this;
3
+ var tslib_1 = require("tslib");
4
+ var node_1 = tslib_1.__importDefault(require("./node"));
5
+ var unit_conversions_1 = tslib_1.__importDefault(require("../data/unit-conversions"));
6
+ var utils = tslib_1.__importStar(require("../utils"));
7
+ var Unit = function (numerator, denominator, backupUnit) {
8
+ this.numerator = numerator ? utils.copyArray(numerator).sort() : [];
9
+ this.denominator = denominator ? utils.copyArray(denominator).sort() : [];
10
+ if (backupUnit) {
11
+ this.backupUnit = backupUnit;
54
12
  }
55
- Unit.prototype.clone = function () {
13
+ else if (numerator && numerator.length) {
14
+ this.backupUnit = numerator[0];
15
+ }
16
+ };
17
+ Unit.prototype = Object.assign(new node_1.default(), {
18
+ type: 'Unit',
19
+ clone: function () {
56
20
  return new Unit(utils.copyArray(this.numerator), utils.copyArray(this.denominator), this.backupUnit);
57
- };
58
- Unit.prototype.genCSS = function (context, output) {
21
+ },
22
+ genCSS: function (context, output) {
59
23
  // Dimension checks the unit is singular and throws an error if in strict math mode.
60
24
  var strictUnits = context && context.strictUnits;
61
25
  if (this.numerator.length === 1) {
@@ -67,30 +31,30 @@ var Unit = /** @class */ (function (_super) {
67
31
  else if (!strictUnits && this.denominator.length) {
68
32
  output.add(this.denominator[0]);
69
33
  }
70
- };
71
- Unit.prototype.toString = function () {
34
+ },
35
+ toString: function () {
72
36
  var i, returnStr = this.numerator.join('*');
73
37
  for (i = 0; i < this.denominator.length; i++) {
74
38
  returnStr += "/" + this.denominator[i];
75
39
  }
76
40
  return returnStr;
77
- };
78
- Unit.prototype.compare = function (other) {
41
+ },
42
+ compare: function (other) {
79
43
  return this.is(other.toString()) ? 0 : undefined;
80
- };
81
- Unit.prototype.is = function (unitString) {
44
+ },
45
+ is: function (unitString) {
82
46
  return this.toString().toUpperCase() === unitString.toUpperCase();
83
- };
84
- Unit.prototype.isLength = function () {
47
+ },
48
+ isLength: function () {
85
49
  return RegExp('^(px|em|ex|ch|rem|in|cm|mm|pc|pt|ex|vw|vh|vmin|vmax)$', 'gi').test(this.toCSS());
86
- };
87
- Unit.prototype.isEmpty = function () {
50
+ },
51
+ isEmpty: function () {
88
52
  return this.numerator.length === 0 && this.denominator.length === 0;
89
- };
90
- Unit.prototype.isSingular = function () {
53
+ },
54
+ isSingular: function () {
91
55
  return this.numerator.length <= 1 && this.denominator.length === 0;
92
- };
93
- Unit.prototype.map = function (callback) {
56
+ },
57
+ map: function (callback) {
94
58
  var i;
95
59
  for (i = 0; i < this.numerator.length; i++) {
96
60
  this.numerator[i] = callback(this.numerator[i], false);
@@ -98,8 +62,8 @@ var Unit = /** @class */ (function (_super) {
98
62
  for (i = 0; i < this.denominator.length; i++) {
99
63
  this.denominator[i] = callback(this.denominator[i], true);
100
64
  }
101
- };
102
- Unit.prototype.usedUnits = function () {
65
+ },
66
+ usedUnits: function () {
103
67
  var group;
104
68
  var result = {};
105
69
  var mapUnit;
@@ -118,8 +82,8 @@ var Unit = /** @class */ (function (_super) {
118
82
  }
119
83
  }
120
84
  return result;
121
- };
122
- Unit.prototype.cancel = function () {
85
+ },
86
+ cancel: function () {
123
87
  var counter = {};
124
88
  var atomicUnit;
125
89
  var i;
@@ -150,9 +114,7 @@ var Unit = /** @class */ (function (_super) {
150
114
  }
151
115
  this.numerator.sort();
152
116
  this.denominator.sort();
153
- };
154
- return Unit;
155
- }(node_1.default));
156
- Unit.prototype.type = 'Unit';
117
+ }
118
+ });
157
119
  exports.default = Unit;
158
120
  //# sourceMappingURL=unit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unit.js","sourceRoot":"","sources":["../../../src/less/tree/unit.js"],"names":[],"mappings":"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","sourcesContent":["import Node from './node';\nimport unitConversions from '../data/unit-conversions';\nimport * as utils from '../utils';\n\nclass Unit extends Node {\n constructor(numerator, denominator, backupUnit) {\n super();\n\n this.numerator = numerator ? utils.copyArray(numerator).sort() : [];\n this.denominator = denominator ? utils.copyArray(denominator).sort() : [];\n if (backupUnit) {\n this.backupUnit = backupUnit;\n } else if (numerator && numerator.length) {\n this.backupUnit = numerator[0];\n }\n }\n\n clone() {\n return new Unit(utils.copyArray(this.numerator), utils.copyArray(this.denominator), this.backupUnit);\n }\n\n genCSS(context, output) {\n // Dimension checks the unit is singular and throws an error if in strict math mode.\n const strictUnits = context && context.strictUnits;\n if (this.numerator.length === 1) {\n output.add(this.numerator[0]); // the ideal situation\n } else if (!strictUnits && this.backupUnit) {\n output.add(this.backupUnit);\n } else if (!strictUnits && this.denominator.length) {\n output.add(this.denominator[0]);\n }\n }\n\n toString() {\n let i, returnStr = this.numerator.join('*');\n for (i = 0; i < this.denominator.length; i++) {\n returnStr += `/${this.denominator[i]}`;\n }\n return returnStr;\n }\n\n compare(other) {\n return this.is(other.toString()) ? 0 : undefined;\n }\n\n is(unitString) {\n return this.toString().toUpperCase() === unitString.toUpperCase();\n }\n\n isLength() {\n return RegExp('^(px|em|ex|ch|rem|in|cm|mm|pc|pt|ex|vw|vh|vmin|vmax)$', 'gi').test(this.toCSS());\n }\n\n isEmpty() {\n return this.numerator.length === 0 && this.denominator.length === 0;\n }\n\n isSingular() {\n return this.numerator.length <= 1 && this.denominator.length === 0;\n }\n\n map(callback) {\n let i;\n\n for (i = 0; i < this.numerator.length; i++) {\n this.numerator[i] = callback(this.numerator[i], false);\n }\n\n for (i = 0; i < this.denominator.length; i++) {\n this.denominator[i] = callback(this.denominator[i], true);\n }\n }\n\n usedUnits() {\n let group;\n const result = {};\n let mapUnit;\n let groupName;\n\n mapUnit = function (atomicUnit) {\n /* jshint loopfunc:true */\n if (group.hasOwnProperty(atomicUnit) && !result[groupName]) {\n result[groupName] = atomicUnit;\n }\n\n return atomicUnit;\n };\n\n for (groupName in unitConversions) {\n if (unitConversions.hasOwnProperty(groupName)) {\n group = unitConversions[groupName];\n\n this.map(mapUnit);\n }\n }\n\n return result;\n }\n\n cancel() {\n const counter = {};\n let atomicUnit;\n let i;\n\n for (i = 0; i < this.numerator.length; i++) {\n atomicUnit = this.numerator[i];\n counter[atomicUnit] = (counter[atomicUnit] || 0) + 1;\n }\n\n for (i = 0; i < this.denominator.length; i++) {\n atomicUnit = this.denominator[i];\n counter[atomicUnit] = (counter[atomicUnit] || 0) - 1;\n }\n\n this.numerator = [];\n this.denominator = [];\n\n for (atomicUnit in counter) {\n if (counter.hasOwnProperty(atomicUnit)) {\n const count = counter[atomicUnit];\n\n if (count > 0) {\n for (i = 0; i < count; i++) {\n this.numerator.push(atomicUnit);\n }\n } else if (count < 0) {\n for (i = 0; i < -count; i++) {\n this.denominator.push(atomicUnit);\n }\n }\n }\n }\n\n this.numerator.sort();\n this.denominator.sort();\n }\n}\n\nUnit.prototype.type = 'Unit';\nexport default Unit;\n"]}
1
+ {"version":3,"file":"unit.js","sourceRoot":"","sources":["../../../src/less/tree/unit.js"],"names":[],"mappings":"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","sourcesContent":["import Node from './node';\nimport unitConversions from '../data/unit-conversions';\nimport * as utils from '../utils';\n\nconst Unit = function(numerator, denominator, backupUnit) {\n this.numerator = numerator ? utils.copyArray(numerator).sort() : [];\n this.denominator = denominator ? utils.copyArray(denominator).sort() : [];\n if (backupUnit) {\n this.backupUnit = backupUnit;\n } else if (numerator && numerator.length) {\n this.backupUnit = numerator[0];\n }\n};\n\nUnit.prototype = Object.assign(new Node(), {\n type: 'Unit',\n\n clone() {\n return new Unit(utils.copyArray(this.numerator), utils.copyArray(this.denominator), this.backupUnit);\n },\n\n genCSS(context, output) {\n // Dimension checks the unit is singular and throws an error if in strict math mode.\n const strictUnits = context && context.strictUnits;\n if (this.numerator.length === 1) {\n output.add(this.numerator[0]); // the ideal situation\n } else if (!strictUnits && this.backupUnit) {\n output.add(this.backupUnit);\n } else if (!strictUnits && this.denominator.length) {\n output.add(this.denominator[0]);\n }\n },\n\n toString() {\n let i, returnStr = this.numerator.join('*');\n for (i = 0; i < this.denominator.length; i++) {\n returnStr += `/${this.denominator[i]}`;\n }\n return returnStr;\n },\n\n compare(other) {\n return this.is(other.toString()) ? 0 : undefined;\n },\n\n is(unitString) {\n return this.toString().toUpperCase() === unitString.toUpperCase();\n },\n\n isLength() {\n return RegExp('^(px|em|ex|ch|rem|in|cm|mm|pc|pt|ex|vw|vh|vmin|vmax)$', 'gi').test(this.toCSS());\n },\n\n isEmpty() {\n return this.numerator.length === 0 && this.denominator.length === 0;\n },\n\n isSingular() {\n return this.numerator.length <= 1 && this.denominator.length === 0;\n },\n\n map(callback) {\n let i;\n\n for (i = 0; i < this.numerator.length; i++) {\n this.numerator[i] = callback(this.numerator[i], false);\n }\n\n for (i = 0; i < this.denominator.length; i++) {\n this.denominator[i] = callback(this.denominator[i], true);\n }\n },\n\n usedUnits() {\n let group;\n const result = {};\n let mapUnit;\n let groupName;\n\n mapUnit = function (atomicUnit) {\n /* jshint loopfunc:true */\n if (group.hasOwnProperty(atomicUnit) && !result[groupName]) {\n result[groupName] = atomicUnit;\n }\n\n return atomicUnit;\n };\n\n for (groupName in unitConversions) {\n if (unitConversions.hasOwnProperty(groupName)) {\n group = unitConversions[groupName];\n\n this.map(mapUnit);\n }\n }\n\n return result;\n },\n\n cancel() {\n const counter = {};\n let atomicUnit;\n let i;\n\n for (i = 0; i < this.numerator.length; i++) {\n atomicUnit = this.numerator[i];\n counter[atomicUnit] = (counter[atomicUnit] || 0) + 1;\n }\n\n for (i = 0; i < this.denominator.length; i++) {\n atomicUnit = this.denominator[i];\n counter[atomicUnit] = (counter[atomicUnit] || 0) - 1;\n }\n\n this.numerator = [];\n this.denominator = [];\n\n for (atomicUnit in counter) {\n if (counter.hasOwnProperty(atomicUnit)) {\n const count = counter[atomicUnit];\n\n if (count > 0) {\n for (i = 0; i < count; i++) {\n this.numerator.push(atomicUnit);\n }\n } else if (count < 0) {\n for (i = 0; i < -count; i++) {\n this.denominator.push(atomicUnit);\n }\n }\n }\n }\n\n this.numerator.sort();\n this.denominator.sort();\n }\n});\n\nexport default Unit;\n"]}
@@ -1,41 +1,27 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- var __importDefault = (this && this.__importDefault) || function (mod) {
16
- return (mod && mod.__esModule) ? mod : { "default": mod };
17
- };
18
2
  Object.defineProperty(exports, "__esModule", { value: true });
19
- var node_1 = __importDefault(require("./node"));
20
- var URL = /** @class */ (function (_super) {
21
- __extends(URL, _super);
22
- function URL(val, index, currentFileInfo, isEvald) {
23
- var _this = _super.call(this) || this;
24
- _this.value = val;
25
- _this._index = index;
26
- _this._fileInfo = currentFileInfo;
27
- _this.isEvald = isEvald;
28
- return _this;
29
- }
30
- URL.prototype.accept = function (visitor) {
3
+ var tslib_1 = require("tslib");
4
+ var node_1 = tslib_1.__importDefault(require("./node"));
5
+ function escapePath(path) {
6
+ return path.replace(/[\(\)'"\s]/g, function (match) { return "\\" + match; });
7
+ }
8
+ var URL = function (val, index, currentFileInfo, isEvald) {
9
+ this.value = val;
10
+ this._index = index;
11
+ this._fileInfo = currentFileInfo;
12
+ this.isEvald = isEvald;
13
+ };
14
+ URL.prototype = Object.assign(new node_1.default(), {
15
+ type: 'Url',
16
+ accept: function (visitor) {
31
17
  this.value = visitor.visit(this.value);
32
- };
33
- URL.prototype.genCSS = function (context, output) {
18
+ },
19
+ genCSS: function (context, output) {
34
20
  output.add('url(');
35
21
  this.value.genCSS(context, output);
36
22
  output.add(')');
37
- };
38
- URL.prototype.eval = function (context) {
23
+ },
24
+ eval: function (context) {
39
25
  var val = this.value.eval(context);
40
26
  var rootpath;
41
27
  if (!this.isEvald) {
@@ -67,12 +53,7 @@ var URL = /** @class */ (function (_super) {
67
53
  }
68
54
  }
69
55
  return new URL(val, this.getIndex(), this.fileInfo(), true);
70
- };
71
- return URL;
72
- }(node_1.default));
73
- URL.prototype.type = 'Url';
74
- function escapePath(path) {
75
- return path.replace(/[\(\)'"\s]/g, function (match) { return "\\" + match; });
76
- }
56
+ }
57
+ });
77
58
  exports.default = URL;
78
59
  //# sourceMappingURL=url.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/less/tree/url.js"],"names":[],"mappings":"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","sourcesContent":["import Node from './node';\n\nclass URL extends Node {\n constructor(val, index, currentFileInfo, isEvald) {\n super();\n\n this.value = val;\n this._index = index;\n this._fileInfo = currentFileInfo;\n this.isEvald = isEvald;\n }\n\n accept(visitor) {\n this.value = visitor.visit(this.value);\n }\n\n genCSS(context, output) {\n output.add('url(');\n this.value.genCSS(context, output);\n output.add(')');\n }\n\n eval(context) {\n const val = this.value.eval(context);\n let rootpath;\n\n if (!this.isEvald) {\n // Add the rootpath if the URL requires a rewrite\n rootpath = this.fileInfo() && this.fileInfo().rootpath;\n if (typeof rootpath === 'string' &&\n typeof val.value === 'string' &&\n context.pathRequiresRewrite(val.value)) {\n if (!val.quote) {\n rootpath = escapePath(rootpath);\n }\n val.value = context.rewritePath(val.value, rootpath);\n } else {\n val.value = context.normalizePath(val.value);\n }\n\n // Add url args if enabled\n if (context.urlArgs) {\n if (!val.value.match(/^\\s*data:/)) {\n const delimiter = val.value.indexOf('?') === -1 ? '?' : '&';\n const urlArgs = delimiter + context.urlArgs;\n if (val.value.indexOf('#') !== -1) {\n val.value = val.value.replace('#', `${urlArgs}#`);\n } else {\n val.value += urlArgs;\n }\n }\n }\n }\n\n return new URL(val, this.getIndex(), this.fileInfo(), true);\n }\n}\n\nURL.prototype.type = 'Url';\n\nfunction escapePath(path) {\n return path.replace(/[\\(\\)'\"\\s]/g, function(match) { return `\\\\${match}`; });\n}\n\nexport default URL;\n"]}
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/less/tree/url.js"],"names":[],"mappings":"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","sourcesContent":["import Node from './node';\n\nfunction escapePath(path) {\n return path.replace(/[\\(\\)'\"\\s]/g, function(match) { return `\\\\${match}`; });\n}\n\nconst URL = function(val, index, currentFileInfo, isEvald) {\n this.value = val;\n this._index = index;\n this._fileInfo = currentFileInfo;\n this.isEvald = isEvald;\n};\n\nURL.prototype = Object.assign(new Node(), {\n type: 'Url',\n\n accept(visitor) {\n this.value = visitor.visit(this.value);\n },\n\n genCSS(context, output) {\n output.add('url(');\n this.value.genCSS(context, output);\n output.add(')');\n },\n\n eval(context) {\n const val = this.value.eval(context);\n let rootpath;\n\n if (!this.isEvald) {\n // Add the rootpath if the URL requires a rewrite\n rootpath = this.fileInfo() && this.fileInfo().rootpath;\n if (typeof rootpath === 'string' &&\n typeof val.value === 'string' &&\n context.pathRequiresRewrite(val.value)) {\n if (!val.quote) {\n rootpath = escapePath(rootpath);\n }\n val.value = context.rewritePath(val.value, rootpath);\n } else {\n val.value = context.normalizePath(val.value);\n }\n\n // Add url args if enabled\n if (context.urlArgs) {\n if (!val.value.match(/^\\s*data:/)) {\n const delimiter = val.value.indexOf('?') === -1 ? '?' : '&';\n const urlArgs = delimiter + context.urlArgs;\n if (val.value.indexOf('#') !== -1) {\n val.value = val.value.replace('#', `${urlArgs}#`);\n } else {\n val.value += urlArgs;\n }\n }\n }\n }\n\n return new URL(val, this.getIndex(), this.fileInfo(), true);\n }\n});\n\nexport default URL;\n"]}
@@ -1,43 +1,26 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- var __importDefault = (this && this.__importDefault) || function (mod) {
16
- return (mod && mod.__esModule) ? mod : { "default": mod };
17
- };
18
2
  Object.defineProperty(exports, "__esModule", { value: true });
19
- var node_1 = __importDefault(require("./node"));
20
- var Value = /** @class */ (function (_super) {
21
- __extends(Value, _super);
22
- function Value(value) {
23
- var _this = _super.call(this) || this;
24
- if (!value) {
25
- throw new Error('Value requires an array argument');
26
- }
27
- if (!Array.isArray(value)) {
28
- _this.value = [value];
29
- }
30
- else {
31
- _this.value = value;
32
- }
33
- return _this;
3
+ var tslib_1 = require("tslib");
4
+ var node_1 = tslib_1.__importDefault(require("./node"));
5
+ var Value = function (value) {
6
+ if (!value) {
7
+ throw new Error('Value requires an array argument');
34
8
  }
35
- Value.prototype.accept = function (visitor) {
9
+ if (!Array.isArray(value)) {
10
+ this.value = [value];
11
+ }
12
+ else {
13
+ this.value = value;
14
+ }
15
+ };
16
+ Value.prototype = Object.assign(new node_1.default(), {
17
+ type: 'Value',
18
+ accept: function (visitor) {
36
19
  if (this.value) {
37
20
  this.value = visitor.visitArray(this.value);
38
21
  }
39
- };
40
- Value.prototype.eval = function (context) {
22
+ },
23
+ eval: function (context) {
41
24
  if (this.value.length === 1) {
42
25
  return this.value[0].eval(context);
43
26
  }
@@ -46,8 +29,8 @@ var Value = /** @class */ (function (_super) {
46
29
  return v.eval(context);
47
30
  }));
48
31
  }
49
- };
50
- Value.prototype.genCSS = function (context, output) {
32
+ },
33
+ genCSS: function (context, output) {
51
34
  var i;
52
35
  for (i = 0; i < this.value.length; i++) {
53
36
  this.value[i].genCSS(context, output);
@@ -55,9 +38,7 @@ var Value = /** @class */ (function (_super) {
55
38
  output.add((context && context.compress) ? ',' : ', ');
56
39
  }
57
40
  }
58
- };
59
- return Value;
60
- }(node_1.default));
61
- Value.prototype.type = 'Value';
41
+ }
42
+ });
62
43
  exports.default = Value;
63
44
  //# sourceMappingURL=value.js.map