less 3.13.1 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/Gruntfile.js +1 -1
  2. package/bin/lessc +14 -3
  3. package/dist/less.js +11156 -11157
  4. package/dist/less.min.js +3 -3
  5. package/dist/less.min.js.map +1 -1
  6. package/lib/less/constants.js +2 -2
  7. package/lib/less/constants.js.map +1 -1
  8. package/lib/less/contexts.js +88 -110
  9. package/lib/less/contexts.js.map +1 -1
  10. package/lib/less/data/index.js +3 -5
  11. package/lib/less/data/index.js.map +1 -1
  12. package/lib/less/default-options.js +57 -53
  13. package/lib/less/default-options.js.map +1 -1
  14. package/lib/less/environment/abstract-file-manager.js +6 -6
  15. package/lib/less/environment/abstract-file-manager.js.map +1 -1
  16. package/lib/less/environment/abstract-plugin-loader.js +7 -13
  17. package/lib/less/environment/abstract-plugin-loader.js.map +1 -1
  18. package/lib/less/environment/environment.js +9 -11
  19. package/lib/less/environment/environment.js.map +1 -1
  20. package/lib/less/functions/boolean.js +14 -6
  21. package/lib/less/functions/boolean.js.map +1 -1
  22. package/lib/less/functions/color-blending.js +2 -4
  23. package/lib/less/functions/color-blending.js.map +1 -1
  24. package/lib/less/functions/color.js +41 -9
  25. package/lib/less/functions/color.js.map +1 -1
  26. package/lib/less/functions/data-uri.js +5 -26
  27. package/lib/less/functions/data-uri.js.map +1 -1
  28. package/lib/less/functions/default.js +2 -4
  29. package/lib/less/functions/default.js.map +1 -1
  30. package/lib/less/functions/function-caller.js +19 -35
  31. package/lib/less/functions/function-caller.js.map +1 -1
  32. package/lib/less/functions/index.js +14 -16
  33. package/lib/less/functions/index.js.map +1 -1
  34. package/lib/less/functions/list.js +21 -12
  35. package/lib/less/functions/list.js.map +1 -1
  36. package/lib/less/functions/math-helper.js +2 -4
  37. package/lib/less/functions/math-helper.js.map +1 -1
  38. package/lib/less/functions/math.js +2 -4
  39. package/lib/less/functions/math.js.map +1 -1
  40. package/lib/less/functions/number.js +12 -8
  41. package/lib/less/functions/number.js.map +1 -1
  42. package/lib/less/functions/string.js +4 -6
  43. package/lib/less/functions/string.js.map +1 -1
  44. package/lib/less/functions/svg.js +6 -8
  45. package/lib/less/functions/svg.js.map +1 -1
  46. package/lib/less/functions/types.js +9 -11
  47. package/lib/less/functions/types.js.map +1 -1
  48. package/lib/less/import-manager.js +6 -27
  49. package/lib/less/import-manager.js.map +1 -1
  50. package/lib/less/index.js +48 -82
  51. package/lib/less/index.js.map +1 -1
  52. package/lib/less/less-error.js +6 -24
  53. package/lib/less/less-error.js.map +1 -1
  54. package/lib/less/parse-tree.js +8 -8
  55. package/lib/less/parse-tree.js.map +1 -1
  56. package/lib/less/parse.js +11 -31
  57. package/lib/less/parse.js.map +1 -1
  58. package/lib/less/parser/chunker.js +4 -2
  59. package/lib/less/parser/chunker.js.map +1 -1
  60. package/lib/less/parser/parser-input.js +2 -4
  61. package/lib/less/parser/parser-input.js.map +1 -1
  62. package/lib/less/parser/parser.js +8 -29
  63. package/lib/less/parser/parser.js.map +1 -1
  64. package/lib/less/plugin-manager.js +2 -3
  65. package/lib/less/plugin-manager.js.map +1 -1
  66. package/lib/less/render.js +6 -22
  67. package/lib/less/render.js.map +1 -1
  68. package/lib/less/source-map-builder.js +4 -2
  69. package/lib/less/source-map-builder.js.map +1 -1
  70. package/lib/less/source-map-output.js +5 -7
  71. package/lib/less/source-map-output.js.map +1 -1
  72. package/lib/less/transform-tree.js +9 -9
  73. package/lib/less/transform-tree.js.map +1 -1
  74. package/lib/less/tree/anonymous.js +19 -20
  75. package/lib/less/tree/anonymous.js.map +1 -1
  76. package/lib/less/tree/assignment.js +22 -23
  77. package/lib/less/tree/assignment.js.map +1 -1
  78. package/lib/less/tree/atrule.js +105 -116
  79. package/lib/less/tree/atrule.js.map +1 -1
  80. package/lib/less/tree/attribute.js +18 -19
  81. package/lib/less/tree/attribute.js.map +1 -1
  82. package/lib/less/tree/call.js +68 -69
  83. package/lib/less/tree/call.js.map +1 -1
  84. package/lib/less/tree/color.js +163 -172
  85. package/lib/less/tree/color.js.map +1 -1
  86. package/lib/less/tree/combinator.js +9 -10
  87. package/lib/less/tree/combinator.js.map +1 -1
  88. package/lib/less/tree/comment.js +15 -16
  89. package/lib/less/tree/comment.js.map +1 -1
  90. package/lib/less/tree/condition.js +29 -30
  91. package/lib/less/tree/condition.js.map +1 -1
  92. package/lib/less/tree/debug-info.js +32 -30
  93. package/lib/less/tree/debug-info.js.map +1 -1
  94. package/lib/less/tree/declaration.js +71 -95
  95. package/lib/less/tree/declaration.js.map +1 -1
  96. package/lib/less/tree/detached-ruleset.js +18 -38
  97. package/lib/less/tree/detached-ruleset.js.map +1 -1
  98. package/lib/less/tree/dimension.js +126 -129
  99. package/lib/less/tree/dimension.js.map +1 -1
  100. package/lib/less/tree/element.js +40 -41
  101. package/lib/less/tree/element.js.map +1 -1
  102. package/lib/less/tree/expression.js +55 -74
  103. package/lib/less/tree/expression.js.map +1 -1
  104. package/lib/less/tree/extend.js +28 -34
  105. package/lib/less/tree/extend.js.map +1 -1
  106. package/lib/less/tree/import.js +120 -140
  107. package/lib/less/tree/import.js.map +1 -1
  108. package/lib/less/tree/index.js +37 -39
  109. package/lib/less/tree/index.js.map +1 -1
  110. package/lib/less/tree/javascript.js +23 -24
  111. package/lib/less/tree/javascript.js.map +1 -1
  112. package/lib/less/tree/js-eval-node.js +51 -50
  113. package/lib/less/tree/js-eval-node.js.map +1 -1
  114. package/lib/less/tree/keyword.js +10 -11
  115. package/lib/less/tree/keyword.js.map +1 -1
  116. package/lib/less/tree/media.js +111 -131
  117. package/lib/less/tree/media.js.map +1 -1
  118. package/lib/less/tree/mixin-call.js +156 -160
  119. package/lib/less/tree/mixin-call.js.map +1 -1
  120. package/lib/less/tree/mixin-definition.js +164 -184
  121. package/lib/less/tree/mixin-definition.js.map +1 -1
  122. package/lib/less/tree/namespace-value.js +53 -57
  123. package/lib/less/tree/namespace-value.js.map +1 -1
  124. package/lib/less/tree/negative.js +16 -17
  125. package/lib/less/tree/negative.js.map +1 -1
  126. package/lib/less/tree/node.js +39 -39
  127. package/lib/less/tree/node.js.map +1 -1
  128. package/lib/less/tree/operation.js +41 -63
  129. package/lib/less/tree/operation.js.map +1 -1
  130. package/lib/less/tree/paren.js +13 -14
  131. package/lib/less/tree/paren.js.map +1 -1
  132. package/lib/less/tree/property.js +48 -49
  133. package/lib/less/tree/property.js.map +1 -1
  134. package/lib/less/tree/quoted.js +50 -51
  135. package/lib/less/tree/quoted.js.map +1 -1
  136. package/lib/less/tree/ruleset.js +665 -702
  137. package/lib/less/tree/ruleset.js.map +1 -1
  138. package/lib/less/tree/selector.js +105 -106
  139. package/lib/less/tree/selector.js.map +1 -1
  140. package/lib/less/tree/unicode-descriptor.js +5 -6
  141. package/lib/less/tree/unicode-descriptor.js.map +1 -1
  142. package/lib/less/tree/unit.js +99 -120
  143. package/lib/less/tree/unit.js.map +1 -1
  144. package/lib/less/tree/url.js +44 -45
  145. package/lib/less/tree/url.js.map +1 -1
  146. package/lib/less/tree/value.js +27 -26
  147. package/lib/less/tree/value.js.map +1 -1
  148. package/lib/less/tree/variable-call.js +30 -31
  149. package/lib/less/tree/variable-call.js.map +1 -1
  150. package/lib/less/tree/variable.js +46 -48
  151. package/lib/less/tree/variable.js.map +1 -1
  152. package/lib/less/utils.js +5 -23
  153. package/lib/less/utils.js.map +1 -1
  154. package/lib/less/visitors/extend-visitor.js +14 -41
  155. package/lib/less/visitors/extend-visitor.js.map +1 -1
  156. package/lib/less/visitors/import-sequencer.js +2 -7
  157. package/lib/less/visitors/import-sequencer.js.map +1 -1
  158. package/lib/less/visitors/import-visitor.js +7 -33
  159. package/lib/less/visitors/import-visitor.js.map +1 -1
  160. package/lib/less/visitors/index.js +7 -9
  161. package/lib/less/visitors/index.js.map +1 -1
  162. package/lib/less/visitors/join-selector-visitor.js +2 -4
  163. package/lib/less/visitors/join-selector-visitor.js.map +1 -1
  164. package/lib/less/visitors/to-css-visitor.js +4 -6
  165. package/lib/less/visitors/to-css-visitor.js.map +1 -1
  166. package/lib/less/visitors/visitor.js +4 -12
  167. package/lib/less/visitors/visitor.js.map +1 -1
  168. package/lib/less-browser/add-default-options.js +2 -4
  169. package/lib/less-browser/add-default-options.js.map +1 -1
  170. package/lib/less-browser/bootstrap.js +4 -6
  171. package/lib/less-browser/bootstrap.js.map +1 -1
  172. package/lib/less-browser/browser.js +2 -20
  173. package/lib/less-browser/browser.js.map +1 -1
  174. package/lib/less-browser/error-reporting.js +3 -24
  175. package/lib/less-browser/error-reporting.js.map +1 -1
  176. package/lib/less-browser/file-manager.js +17 -36
  177. package/lib/less-browser/file-manager.js.map +1 -1
  178. package/lib/less-browser/image-size.js +2 -4
  179. package/lib/less-browser/image-size.js.map +1 -1
  180. package/lib/less-browser/index.js +9 -11
  181. package/lib/less-browser/index.js.map +1 -1
  182. package/lib/less-browser/plugin-loader.js +10 -29
  183. package/lib/less-browser/plugin-loader.js.map +1 -1
  184. package/lib/less-node/file-manager.js +15 -34
  185. package/lib/less-node/file-manager.js.map +1 -1
  186. package/lib/less-node/image-size.js +4 -6
  187. package/lib/less-node/image-size.js.map +1 -1
  188. package/lib/less-node/index.js +10 -16
  189. package/lib/less-node/index.js.map +1 -1
  190. package/lib/less-node/plugin-loader.js +23 -42
  191. package/lib/less-node/plugin-loader.js.map +1 -1
  192. package/lib/less-node/url-file-manager.js +23 -38
  193. package/lib/less-node/url-file-manager.js.map +1 -1
  194. package/package.json +12 -9
  195. package/test/browser/less/errors/image-height-error.txt +1 -1
  196. package/test/browser/less/errors/image-size-error.txt +1 -1
  197. package/test/browser/less/errors/image-width-error.txt +1 -1
  198. package/test/index.js +28 -9
  199. package/test/less-test.js +36 -16
  200. package/tsconfig.json +1 -0
@@ -1,30 +1,9 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
2
  Object.defineProperty(exports, "__esModule", { value: true });
25
- var node_1 = __importDefault(require("./node"));
26
- var unit_conversions_1 = __importDefault(require("../data/unit-conversions"));
27
- var utils = __importStar(require("../utils"));
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"));
28
7
  var Unit = function (numerator, denominator, backupUnit) {
29
8
  this.numerator = numerator ? utils.copyArray(numerator).sort() : [];
30
9
  this.denominator = denominator ? utils.copyArray(denominator).sort() : [];
@@ -35,107 +14,107 @@ var Unit = function (numerator, denominator, backupUnit) {
35
14
  this.backupUnit = numerator[0];
36
15
  }
37
16
  };
38
- Unit.prototype = new node_1.default();
39
- Unit.prototype.clone = function () {
40
- return new Unit(utils.copyArray(this.numerator), utils.copyArray(this.denominator), this.backupUnit);
41
- };
42
- Unit.prototype.genCSS = function (context, output) {
43
- // Dimension checks the unit is singular and throws an error if in strict math mode.
44
- var strictUnits = context && context.strictUnits;
45
- if (this.numerator.length === 1) {
46
- output.add(this.numerator[0]); // the ideal situation
47
- }
48
- else if (!strictUnits && this.backupUnit) {
49
- output.add(this.backupUnit);
50
- }
51
- else if (!strictUnits && this.denominator.length) {
52
- output.add(this.denominator[0]);
53
- }
54
- };
55
- Unit.prototype.toString = function () {
56
- var i;
57
- var returnStr = this.numerator.join('*');
58
- for (i = 0; i < this.denominator.length; i++) {
59
- returnStr += "/" + this.denominator[i];
60
- }
61
- return returnStr;
62
- };
63
- Unit.prototype.compare = function (other) {
64
- return this.is(other.toString()) ? 0 : undefined;
65
- };
66
- Unit.prototype.is = function (unitString) {
67
- return this.toString().toUpperCase() === unitString.toUpperCase();
68
- };
69
- Unit.prototype.isLength = function () {
70
- return RegExp('^(px|em|ex|ch|rem|in|cm|mm|pc|pt|ex|vw|vh|vmin|vmax)$', 'gi').test(this.toCSS());
71
- };
72
- Unit.prototype.isEmpty = function () {
73
- return this.numerator.length === 0 && this.denominator.length === 0;
74
- };
75
- Unit.prototype.isSingular = function () {
76
- return this.numerator.length <= 1 && this.denominator.length === 0;
77
- };
78
- Unit.prototype.map = function (callback) {
79
- var i;
80
- for (i = 0; i < this.numerator.length; i++) {
81
- this.numerator[i] = callback(this.numerator[i], false);
82
- }
83
- for (i = 0; i < this.denominator.length; i++) {
84
- this.denominator[i] = callback(this.denominator[i], true);
85
- }
86
- };
87
- Unit.prototype.usedUnits = function () {
88
- var group;
89
- var result = {};
90
- var mapUnit;
91
- var groupName;
92
- mapUnit = function (atomicUnit) {
93
- /* jshint loopfunc:true */
94
- if (group.hasOwnProperty(atomicUnit) && !result[groupName]) {
95
- result[groupName] = atomicUnit;
17
+ Unit.prototype = Object.assign(new node_1.default(), {
18
+ type: 'Unit',
19
+ clone: function () {
20
+ return new Unit(utils.copyArray(this.numerator), utils.copyArray(this.denominator), this.backupUnit);
21
+ },
22
+ genCSS: function (context, output) {
23
+ // Dimension checks the unit is singular and throws an error if in strict math mode.
24
+ var strictUnits = context && context.strictUnits;
25
+ if (this.numerator.length === 1) {
26
+ output.add(this.numerator[0]); // the ideal situation
96
27
  }
97
- return atomicUnit;
98
- };
99
- for (groupName in unit_conversions_1.default) {
100
- if (unit_conversions_1.default.hasOwnProperty(groupName)) {
101
- group = unit_conversions_1.default[groupName];
102
- this.map(mapUnit);
28
+ else if (!strictUnits && this.backupUnit) {
29
+ output.add(this.backupUnit);
103
30
  }
104
- }
105
- return result;
106
- };
107
- Unit.prototype.cancel = function () {
108
- var counter = {};
109
- var atomicUnit;
110
- var i;
111
- for (i = 0; i < this.numerator.length; i++) {
112
- atomicUnit = this.numerator[i];
113
- counter[atomicUnit] = (counter[atomicUnit] || 0) + 1;
114
- }
115
- for (i = 0; i < this.denominator.length; i++) {
116
- atomicUnit = this.denominator[i];
117
- counter[atomicUnit] = (counter[atomicUnit] || 0) - 1;
118
- }
119
- this.numerator = [];
120
- this.denominator = [];
121
- for (atomicUnit in counter) {
122
- if (counter.hasOwnProperty(atomicUnit)) {
123
- var count = counter[atomicUnit];
124
- if (count > 0) {
125
- for (i = 0; i < count; i++) {
126
- this.numerator.push(atomicUnit);
127
- }
31
+ else if (!strictUnits && this.denominator.length) {
32
+ output.add(this.denominator[0]);
33
+ }
34
+ },
35
+ toString: function () {
36
+ var i, returnStr = this.numerator.join('*');
37
+ for (i = 0; i < this.denominator.length; i++) {
38
+ returnStr += "/" + this.denominator[i];
39
+ }
40
+ return returnStr;
41
+ },
42
+ compare: function (other) {
43
+ return this.is(other.toString()) ? 0 : undefined;
44
+ },
45
+ is: function (unitString) {
46
+ return this.toString().toUpperCase() === unitString.toUpperCase();
47
+ },
48
+ isLength: function () {
49
+ return RegExp('^(px|em|ex|ch|rem|in|cm|mm|pc|pt|ex|vw|vh|vmin|vmax)$', 'gi').test(this.toCSS());
50
+ },
51
+ isEmpty: function () {
52
+ return this.numerator.length === 0 && this.denominator.length === 0;
53
+ },
54
+ isSingular: function () {
55
+ return this.numerator.length <= 1 && this.denominator.length === 0;
56
+ },
57
+ map: function (callback) {
58
+ var i;
59
+ for (i = 0; i < this.numerator.length; i++) {
60
+ this.numerator[i] = callback(this.numerator[i], false);
61
+ }
62
+ for (i = 0; i < this.denominator.length; i++) {
63
+ this.denominator[i] = callback(this.denominator[i], true);
64
+ }
65
+ },
66
+ usedUnits: function () {
67
+ var group;
68
+ var result = {};
69
+ var mapUnit;
70
+ var groupName;
71
+ mapUnit = function (atomicUnit) {
72
+ /* jshint loopfunc:true */
73
+ if (group.hasOwnProperty(atomicUnit) && !result[groupName]) {
74
+ result[groupName] = atomicUnit;
75
+ }
76
+ return atomicUnit;
77
+ };
78
+ for (groupName in unit_conversions_1.default) {
79
+ if (unit_conversions_1.default.hasOwnProperty(groupName)) {
80
+ group = unit_conversions_1.default[groupName];
81
+ this.map(mapUnit);
128
82
  }
129
- else if (count < 0) {
130
- for (i = 0; i < -count; i++) {
131
- this.denominator.push(atomicUnit);
83
+ }
84
+ return result;
85
+ },
86
+ cancel: function () {
87
+ var counter = {};
88
+ var atomicUnit;
89
+ var i;
90
+ for (i = 0; i < this.numerator.length; i++) {
91
+ atomicUnit = this.numerator[i];
92
+ counter[atomicUnit] = (counter[atomicUnit] || 0) + 1;
93
+ }
94
+ for (i = 0; i < this.denominator.length; i++) {
95
+ atomicUnit = this.denominator[i];
96
+ counter[atomicUnit] = (counter[atomicUnit] || 0) - 1;
97
+ }
98
+ this.numerator = [];
99
+ this.denominator = [];
100
+ for (atomicUnit in counter) {
101
+ if (counter.hasOwnProperty(atomicUnit)) {
102
+ var count = counter[atomicUnit];
103
+ if (count > 0) {
104
+ for (i = 0; i < count; i++) {
105
+ this.numerator.push(atomicUnit);
106
+ }
107
+ }
108
+ else if (count < 0) {
109
+ for (i = 0; i < -count; i++) {
110
+ this.denominator.push(atomicUnit);
111
+ }
132
112
  }
133
113
  }
134
114
  }
115
+ this.numerator.sort();
116
+ this.denominator.sort();
135
117
  }
136
- this.numerator.sort();
137
- this.denominator.sort();
138
- };
139
- Unit.prototype.type = 'Unit';
118
+ });
140
119
  exports.default = Unit;
141
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\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 = new Node();\n\nUnit.prototype.clone = function() {\n return new Unit(utils.copyArray(this.numerator), utils.copyArray(this.denominator), this.backupUnit);\n};\n\nUnit.prototype.genCSS = function(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\nUnit.prototype.toString = function() {\n let i;\n let returnStr = this.numerator.join('*');\n for (i = 0; i < this.denominator.length; i++) {\n returnStr += `/${this.denominator[i]}`;\n }\n return returnStr;\n};\n\nUnit.prototype.compare = function(other) {\n return this.is(other.toString()) ? 0 : undefined;\n};\n\nUnit.prototype.is = function(unitString) {\n return this.toString().toUpperCase() === unitString.toUpperCase();\n};\n\nUnit.prototype.isLength = function() {\n return RegExp('^(px|em|ex|ch|rem|in|cm|mm|pc|pt|ex|vw|vh|vmin|vmax)$', 'gi').test(this.toCSS());\n};\n\nUnit.prototype.isEmpty = function() {\n return this.numerator.length === 0 && this.denominator.length === 0;\n};\n\nUnit.prototype.isSingular = function() {\n return this.numerator.length <= 1 && this.denominator.length === 0;\n};\n\nUnit.prototype.map = function(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\nUnit.prototype.usedUnits = function() {\n let group;\n const result = {};\n let mapUnit;\n let groupName;\n\n mapUnit = 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\nUnit.prototype.cancel = function() {\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\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,60 +1,59 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- var node_1 = __importDefault(require("./node"));
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
+ }
7
8
  var URL = function (val, index, currentFileInfo, isEvald) {
8
9
  this.value = val;
9
10
  this._index = index;
10
11
  this._fileInfo = currentFileInfo;
11
12
  this.isEvald = isEvald;
12
13
  };
13
- URL.prototype = new node_1.default();
14
- URL.prototype.accept = function (visitor) {
15
- this.value = visitor.visit(this.value);
16
- };
17
- URL.prototype.genCSS = function (context, output) {
18
- output.add('url(');
19
- this.value.genCSS(context, output);
20
- output.add(')');
21
- };
22
- URL.prototype.eval = function (context) {
23
- var val = this.value.eval(context);
24
- var rootpath;
25
- if (!this.isEvald) {
26
- // Add the rootpath if the URL requires a rewrite
27
- rootpath = this.fileInfo() && this.fileInfo().rootpath;
28
- if (typeof rootpath === 'string' &&
29
- typeof val.value === 'string' &&
30
- context.pathRequiresRewrite(val.value)) {
31
- if (!val.quote) {
32
- rootpath = escapePath(rootpath);
33
- }
34
- val.value = context.rewritePath(val.value, rootpath);
35
- }
36
- else {
37
- val.value = context.normalizePath(val.value);
38
- }
39
- // Add url args if enabled
40
- if (context.urlArgs) {
41
- if (!val.value.match(/^\s*data:/)) {
42
- var delimiter = val.value.indexOf('?') === -1 ? '?' : '&';
43
- var urlArgs = delimiter + context.urlArgs;
44
- if (val.value.indexOf('#') !== -1) {
45
- val.value = val.value.replace('#', urlArgs + "#");
14
+ URL.prototype = Object.assign(new node_1.default(), {
15
+ type: 'Url',
16
+ accept: function (visitor) {
17
+ this.value = visitor.visit(this.value);
18
+ },
19
+ genCSS: function (context, output) {
20
+ output.add('url(');
21
+ this.value.genCSS(context, output);
22
+ output.add(')');
23
+ },
24
+ eval: function (context) {
25
+ var val = this.value.eval(context);
26
+ var rootpath;
27
+ if (!this.isEvald) {
28
+ // Add the rootpath if the URL requires a rewrite
29
+ rootpath = this.fileInfo() && this.fileInfo().rootpath;
30
+ if (typeof rootpath === 'string' &&
31
+ typeof val.value === 'string' &&
32
+ context.pathRequiresRewrite(val.value)) {
33
+ if (!val.quote) {
34
+ rootpath = escapePath(rootpath);
46
35
  }
47
- else {
48
- val.value += urlArgs;
36
+ val.value = context.rewritePath(val.value, rootpath);
37
+ }
38
+ else {
39
+ val.value = context.normalizePath(val.value);
40
+ }
41
+ // Add url args if enabled
42
+ if (context.urlArgs) {
43
+ if (!val.value.match(/^\s*data:/)) {
44
+ var delimiter = val.value.indexOf('?') === -1 ? '?' : '&';
45
+ var urlArgs = delimiter + context.urlArgs;
46
+ if (val.value.indexOf('#') !== -1) {
47
+ val.value = val.value.replace('#', urlArgs + "#");
48
+ }
49
+ else {
50
+ val.value += urlArgs;
51
+ }
49
52
  }
50
53
  }
51
54
  }
55
+ return new URL(val, this.getIndex(), this.fileInfo(), true);
52
56
  }
53
- return new URL(val, this.getIndex(), this.fileInfo(), true);
54
- };
55
- URL.prototype.type = 'Url';
56
- function escapePath(path) {
57
- return path.replace(/[\(\)'"\s]/g, function (match) { return "\\" + match; });
58
- }
57
+ });
59
58
  exports.default = URL;
60
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\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 = new Node();\n\nURL.prototype.accept = function(visitor) {\n this.value = visitor.visit(this.value);\n};\n\nURL.prototype.genCSS = function(context, output) {\n output.add('url(');\n this.value.genCSS(context, output);\n output.add(')');\n};\n\nURL.prototype.eval = function(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\nURL.prototype.type = 'Url';\n\nfunction escapePath(path) {\n return path.replace(/[\\(\\)'\"\\s]/g, match => `\\\\${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,9 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- var node_1 = __importDefault(require("./node"));
3
+ var tslib_1 = require("tslib");
4
+ var node_1 = tslib_1.__importDefault(require("./node"));
7
5
  var Value = function (value) {
8
6
  if (!value) {
9
7
  throw new Error('Value requires an array argument');
@@ -15,29 +13,32 @@ var Value = function (value) {
15
13
  this.value = value;
16
14
  }
17
15
  };
18
- Value.prototype = new node_1.default();
19
- Value.prototype.accept = function (visitor) {
20
- if (this.value) {
21
- this.value = visitor.visitArray(this.value);
22
- }
23
- };
24
- Value.prototype.eval = function (context) {
25
- if (this.value.length === 1) {
26
- return this.value[0].eval(context);
27
- }
28
- else {
29
- return new Value(this.value.map(function (v) { return v.eval(context); }));
30
- }
31
- };
32
- Value.prototype.genCSS = function (context, output) {
33
- var i;
34
- for (i = 0; i < this.value.length; i++) {
35
- this.value[i].genCSS(context, output);
36
- if (i + 1 < this.value.length) {
37
- output.add((context && context.compress) ? ',' : ', ');
16
+ Value.prototype = Object.assign(new node_1.default(), {
17
+ type: 'Value',
18
+ accept: function (visitor) {
19
+ if (this.value) {
20
+ this.value = visitor.visitArray(this.value);
21
+ }
22
+ },
23
+ eval: function (context) {
24
+ if (this.value.length === 1) {
25
+ return this.value[0].eval(context);
26
+ }
27
+ else {
28
+ return new Value(this.value.map(function (v) {
29
+ return v.eval(context);
30
+ }));
31
+ }
32
+ },
33
+ genCSS: function (context, output) {
34
+ var i;
35
+ for (i = 0; i < this.value.length; i++) {
36
+ this.value[i].genCSS(context, output);
37
+ if (i + 1 < this.value.length) {
38
+ output.add((context && context.compress) ? ',' : ', ');
39
+ }
38
40
  }
39
41
  }
40
- };
41
- Value.prototype.type = 'Value';
42
+ });
42
43
  exports.default = Value;
43
44
  //# sourceMappingURL=value.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../src/less/tree/value.js"],"names":[],"mappings":";;;;;AAAA,gDAA0B;AAE1B,IAAM,KAAK,GAAG,UAAS,KAAK;IACxB,IAAI,CAAC,KAAK,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KACvD;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACvB,IAAI,CAAC,KAAK,GAAG,CAAE,KAAK,CAAE,CAAC;KAC1B;SACI;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;AACL,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,GAAG,IAAI,cAAI,EAAE,CAAC;AAE7B,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,UAAS,OAAO;IACrC,IAAI,IAAI,CAAC,KAAK,EAAE;QACZ,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/C;AACL,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,UAAS,OAAO;IACnC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACtC;SAAM;QACH,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAf,CAAe,CAAC,CAAC,CAAC;KAC1D;AACL,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,UAAS,OAAO,EAAE,MAAM;IAC7C,IAAI,CAAC,CAAC;IACN,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC1D;KACJ;AACL,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC;AAC/B,kBAAe,KAAK,CAAC","sourcesContent":["import Node from './node';\n\nconst Value = function(value) {\n if (!value) {\n throw new Error('Value requires an array argument');\n }\n if (!Array.isArray(value)) {\n this.value = [ value ];\n }\n else {\n this.value = value;\n }\n};\n\nValue.prototype = new Node();\n\nValue.prototype.accept = function(visitor) {\n if (this.value) {\n this.value = visitor.visitArray(this.value);\n }\n};\n\nValue.prototype.eval = function(context) {\n if (this.value.length === 1) {\n return this.value[0].eval(context);\n } else {\n return new Value(this.value.map(v => v.eval(context)));\n }\n};\n\nValue.prototype.genCSS = function(context, output) {\n let i;\n for (i = 0; i < this.value.length; i++) {\n this.value[i].genCSS(context, output);\n if (i + 1 < this.value.length) {\n output.add((context && context.compress) ? ',' : ', ');\n }\n }\n};\n\nValue.prototype.type = 'Value';\nexport default Value;\n"]}
1
+ {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../src/less/tree/value.js"],"names":[],"mappings":";;;AAAA,wDAA0B;AAE1B,IAAM,KAAK,GAAG,UAAS,KAAK;IACxB,IAAI,CAAC,KAAK,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KACvD;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACvB,IAAI,CAAC,KAAK,GAAG,CAAE,KAAK,CAAE,CAAC;KAC1B;SACI;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;AACL,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,cAAI,EAAE,EAAE;IACxC,IAAI,EAAE,OAAO;IAEb,MAAM,YAAC,OAAO;QACV,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/C;IACL,CAAC;IAED,IAAI,YAAC,OAAO;QACR,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACtC;aAAM;YACH,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;gBACvC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC,CAAC;SACP;IACL,CAAC;IAED,MAAM,YAAC,OAAO,EAAE,MAAM;QAClB,IAAI,CAAC,CAAC;QACN,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC1D;SACJ;IACL,CAAC;CACJ,CAAC,CAAC;AAEH,kBAAe,KAAK,CAAC","sourcesContent":["import Node from './node';\n\nconst Value = function(value) {\n if (!value) {\n throw new Error('Value requires an array argument');\n }\n if (!Array.isArray(value)) {\n this.value = [ value ];\n }\n else {\n this.value = value;\n }\n};\n\nValue.prototype = Object.assign(new Node(), {\n type: 'Value',\n\n accept(visitor) {\n if (this.value) {\n this.value = visitor.visitArray(this.value);\n }\n },\n\n eval(context) {\n if (this.value.length === 1) {\n return this.value[0].eval(context);\n } else {\n return new Value(this.value.map(function (v) {\n return v.eval(context);\n }));\n }\n },\n\n genCSS(context, output) {\n let i;\n for (i = 0; i < this.value.length; i++) {\n this.value[i].genCSS(context, output);\n if (i + 1 < this.value.length) {\n output.add((context && context.compress) ? ',' : ', ');\n }\n }\n }\n});\n\nexport default Value;\n"]}
@@ -1,44 +1,43 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- var node_1 = __importDefault(require("./node"));
7
- var variable_1 = __importDefault(require("./variable"));
8
- var ruleset_1 = __importDefault(require("./ruleset"));
9
- var detached_ruleset_1 = __importDefault(require("./detached-ruleset"));
10
- var less_error_1 = __importDefault(require("../less-error"));
3
+ var tslib_1 = require("tslib");
4
+ var node_1 = tslib_1.__importDefault(require("./node"));
5
+ var variable_1 = tslib_1.__importDefault(require("./variable"));
6
+ var ruleset_1 = tslib_1.__importDefault(require("./ruleset"));
7
+ var detached_ruleset_1 = tslib_1.__importDefault(require("./detached-ruleset"));
8
+ var less_error_1 = tslib_1.__importDefault(require("../less-error"));
11
9
  var VariableCall = function (variable, index, currentFileInfo) {
12
10
  this.variable = variable;
13
11
  this._index = index;
14
12
  this._fileInfo = currentFileInfo;
15
13
  this.allowRoot = true;
16
14
  };
17
- VariableCall.prototype = new node_1.default();
18
- VariableCall.prototype.eval = function (context) {
19
- var rules;
20
- var detachedRuleset = new variable_1.default(this.variable, this.getIndex(), this.fileInfo()).eval(context);
21
- var error = new less_error_1.default({ message: "Could not evaluate variable call " + this.variable });
22
- if (!detachedRuleset.ruleset) {
23
- if (detachedRuleset.rules) {
24
- rules = detachedRuleset;
25
- }
26
- else if (Array.isArray(detachedRuleset)) {
27
- rules = new ruleset_1.default('', detachedRuleset);
28
- }
29
- else if (Array.isArray(detachedRuleset.value)) {
30
- rules = new ruleset_1.default('', detachedRuleset.value);
15
+ VariableCall.prototype = Object.assign(new node_1.default(), {
16
+ type: 'VariableCall',
17
+ eval: function (context) {
18
+ var rules;
19
+ var detachedRuleset = new variable_1.default(this.variable, this.getIndex(), this.fileInfo()).eval(context);
20
+ var error = new less_error_1.default({ message: "Could not evaluate variable call " + this.variable });
21
+ if (!detachedRuleset.ruleset) {
22
+ if (detachedRuleset.rules) {
23
+ rules = detachedRuleset;
24
+ }
25
+ else if (Array.isArray(detachedRuleset)) {
26
+ rules = new ruleset_1.default('', detachedRuleset);
27
+ }
28
+ else if (Array.isArray(detachedRuleset.value)) {
29
+ rules = new ruleset_1.default('', detachedRuleset.value);
30
+ }
31
+ else {
32
+ throw error;
33
+ }
34
+ detachedRuleset = new detached_ruleset_1.default(rules);
31
35
  }
32
- else {
33
- throw error;
36
+ if (detachedRuleset.ruleset) {
37
+ return detachedRuleset.callEval(context);
34
38
  }
35
- detachedRuleset = new detached_ruleset_1.default(rules);
39
+ throw error;
36
40
  }
37
- if (detachedRuleset.ruleset) {
38
- return detachedRuleset.callEval(context);
39
- }
40
- throw error;
41
- };
42
- VariableCall.prototype.type = 'VariableCall';
41
+ });
43
42
  exports.default = VariableCall;
44
43
  //# sourceMappingURL=variable-call.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"variable-call.js","sourceRoot":"","sources":["../../../src/less/tree/variable-call.js"],"names":[],"mappings":";;;;;AAAA,gDAA0B;AAC1B,wDAAkC;AAClC,sDAAgC;AAChC,wEAAiD;AACjD,6DAAsC;AAEtC,IAAM,YAAY,GAAG,UAAS,QAAQ,EAAE,KAAK,EAAE,eAAe;IAC1D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;IACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAC1B,CAAC,CAAC;AAEF,YAAY,CAAC,SAAS,GAAG,IAAI,cAAI,EAAE,CAAC;AAEpC,YAAY,CAAC,SAAS,CAAC,IAAI,GAAG,UAAS,OAAO;IAC1C,IAAI,KAAK,CAAC;IACV,IAAI,eAAe,GAAG,IAAI,kBAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClG,IAAM,KAAK,GAAG,IAAI,oBAAS,CAAC,EAAC,OAAO,EAAE,sCAAoC,IAAI,CAAC,QAAU,EAAC,CAAC,CAAC;IAE5F,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;QAC1B,IAAI,eAAe,CAAC,KAAK,EAAE;YACvB,KAAK,GAAG,eAAe,CAAC;SAC3B;aACI,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;YACrC,KAAK,GAAG,IAAI,iBAAO,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;SAC5C;aACI,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;YAC3C,KAAK,GAAG,IAAI,iBAAO,CAAC,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;SAClD;aACI;YACD,MAAM,KAAK,CAAC;SACf;QACD,eAAe,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;KAChD;IAED,IAAI,eAAe,CAAC,OAAO,EAAE;QACzB,OAAO,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;KAC5C;IACD,MAAM,KAAK,CAAC;AAChB,CAAC,CAAC;AAEF,YAAY,CAAC,SAAS,CAAC,IAAI,GAAG,cAAc,CAAC;AAC7C,kBAAe,YAAY,CAAC","sourcesContent":["import Node from './node';\nimport Variable from './variable';\nimport Ruleset from './ruleset';\nimport DetachedRuleset from './detached-ruleset';\nimport LessError from '../less-error';\n\nconst VariableCall = function(variable, index, currentFileInfo) {\n this.variable = variable;\n this._index = index;\n this._fileInfo = currentFileInfo;\n this.allowRoot = true;\n};\n\nVariableCall.prototype = new Node();\n\nVariableCall.prototype.eval = function(context) {\n let rules;\n let detachedRuleset = new Variable(this.variable, this.getIndex(), this.fileInfo()).eval(context);\n const error = new LessError({message: `Could not evaluate variable call ${this.variable}`});\n\n if (!detachedRuleset.ruleset) {\n if (detachedRuleset.rules) {\n rules = detachedRuleset;\n }\n else if (Array.isArray(detachedRuleset)) {\n rules = new Ruleset('', detachedRuleset);\n }\n else if (Array.isArray(detachedRuleset.value)) {\n rules = new Ruleset('', detachedRuleset.value);\n }\n else {\n throw error;\n }\n detachedRuleset = new DetachedRuleset(rules);\n }\n\n if (detachedRuleset.ruleset) {\n return detachedRuleset.callEval(context);\n }\n throw error;\n};\n\nVariableCall.prototype.type = 'VariableCall';\nexport default VariableCall;\n"]}
1
+ {"version":3,"file":"variable-call.js","sourceRoot":"","sources":["../../../src/less/tree/variable-call.js"],"names":[],"mappings":";;;AAAA,wDAA0B;AAC1B,gEAAkC;AAClC,8DAAgC;AAChC,gFAAiD;AACjD,qEAAsC;AAEtC,IAAM,YAAY,GAAG,UAAS,QAAQ,EAAE,KAAK,EAAE,eAAe;IAC1D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;IACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAC1B,CAAC,CAAC;AAEF,YAAY,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,cAAI,EAAE,EAAE;IAC/C,IAAI,EAAE,cAAc;IAEpB,IAAI,YAAC,OAAO;QACR,IAAI,KAAK,CAAC;QACV,IAAI,eAAe,GAAG,IAAI,kBAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClG,IAAM,KAAK,GAAG,IAAI,oBAAS,CAAC,EAAC,OAAO,EAAE,sCAAoC,IAAI,CAAC,QAAU,EAAC,CAAC,CAAC;QAE5F,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;YAC1B,IAAI,eAAe,CAAC,KAAK,EAAE;gBACvB,KAAK,GAAG,eAAe,CAAC;aAC3B;iBACI,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;gBACrC,KAAK,GAAG,IAAI,iBAAO,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;aAC5C;iBACI,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;gBAC3C,KAAK,GAAG,IAAI,iBAAO,CAAC,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;aAClD;iBACI;gBACD,MAAM,KAAK,CAAC;aACf;YACD,eAAe,GAAG,IAAI,0BAAe,CAAC,KAAK,CAAC,CAAC;SAChD;QAED,IAAI,eAAe,CAAC,OAAO,EAAE;YACzB,OAAO,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAC5C;QACD,MAAM,KAAK,CAAC;IAChB,CAAC;CACJ,CAAC,CAAC;AAEH,kBAAe,YAAY,CAAC","sourcesContent":["import Node from './node';\nimport Variable from './variable';\nimport Ruleset from './ruleset';\nimport DetachedRuleset from './detached-ruleset';\nimport LessError from '../less-error';\n\nconst VariableCall = function(variable, index, currentFileInfo) {\n this.variable = variable;\n this._index = index;\n this._fileInfo = currentFileInfo;\n this.allowRoot = true;\n};\n\nVariableCall.prototype = Object.assign(new Node(), {\n type: 'VariableCall',\n\n eval(context) {\n let rules;\n let detachedRuleset = new Variable(this.variable, this.getIndex(), this.fileInfo()).eval(context);\n const error = new LessError({message: `Could not evaluate variable call ${this.variable}`});\n\n if (!detachedRuleset.ruleset) {\n if (detachedRuleset.rules) {\n rules = detachedRuleset;\n }\n else if (Array.isArray(detachedRuleset)) {\n rules = new Ruleset('', detachedRuleset);\n }\n else if (Array.isArray(detachedRuleset.value)) {\n rules = new Ruleset('', detachedRuleset.value);\n }\n else {\n throw error;\n }\n detachedRuleset = new DetachedRuleset(rules);\n }\n\n if (detachedRuleset.ruleset) {\n return detachedRuleset.callEval(context);\n }\n throw error;\n }\n});\n\nexport default VariableCall;\n"]}