sass-embedded 1.0.0-beta.5 → 1.0.0-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/.gitignore +1 -1
  3. package/dist/lib/index.js +11 -4
  4. package/dist/lib/index.js.map +1 -1
  5. package/dist/lib/src/{embedded-compiler/compiler.js → async-compiler.js} +9 -17
  6. package/dist/lib/src/async-compiler.js.map +1 -0
  7. package/dist/lib/src/compile.js +167 -79
  8. package/dist/lib/src/compile.js.map +1 -1
  9. package/dist/lib/src/compiler-path.js +18 -0
  10. package/dist/lib/src/compiler-path.js.map +1 -0
  11. package/dist/lib/src/{embedded-protocol/utils.js → deprotofy-span.js} +16 -18
  12. package/dist/lib/src/deprotofy-span.js.map +1 -0
  13. package/dist/lib/src/{embedded-protocol/dispatcher.js → dispatcher.js} +45 -40
  14. package/dist/lib/src/dispatcher.js.map +1 -0
  15. package/dist/lib/src/exception.js +20 -0
  16. package/dist/lib/src/exception.js.map +1 -0
  17. package/dist/lib/src/function-registry.js +81 -0
  18. package/dist/lib/src/function-registry.js.map +1 -0
  19. package/dist/lib/src/{node-sass/render.js → legacy.js} +45 -39
  20. package/dist/lib/src/legacy.js.map +1 -0
  21. package/dist/lib/src/{embedded-protocol/message-transformer.js → message-transformer.js} +2 -2
  22. package/dist/lib/src/message-transformer.js.map +1 -0
  23. package/dist/lib/src/{embedded-compiler/packet-transformer.js → packet-transformer.js} +0 -0
  24. package/dist/lib/src/packet-transformer.js.map +1 -0
  25. package/dist/lib/src/protofier.js +205 -0
  26. package/dist/lib/src/protofier.js.map +1 -0
  27. package/dist/lib/src/{embedded-protocol/request-tracker.js → request-tracker.js} +0 -0
  28. package/dist/lib/src/request-tracker.js.map +1 -0
  29. package/dist/lib/src/sync-compiler.js +52 -0
  30. package/dist/lib/src/sync-compiler.js.map +1 -0
  31. package/dist/lib/src/{exception/span.js → sync-process/event.js} +2 -2
  32. package/dist/lib/src/sync-process/event.js.map +1 -0
  33. package/dist/lib/src/sync-process/index.js +122 -0
  34. package/dist/lib/src/sync-process/index.js.map +1 -0
  35. package/dist/lib/src/sync-process/sync-message-port.js +128 -0
  36. package/dist/lib/src/sync-process/sync-message-port.js.map +1 -0
  37. package/dist/lib/src/sync-process/worker.js +51 -0
  38. package/dist/lib/src/sync-process/worker.js.map +1 -0
  39. package/dist/lib/src/utils.js +43 -1
  40. package/dist/lib/src/utils.js.map +1 -1
  41. package/dist/lib/src/value/boolean.js +3 -3
  42. package/dist/lib/src/value/boolean.js.map +1 -1
  43. package/dist/lib/src/value/color.js +89 -98
  44. package/dist/lib/src/value/color.js.map +1 -1
  45. package/dist/lib/src/value/{value.js → index.js} +5 -1
  46. package/dist/lib/src/value/index.js.map +1 -0
  47. package/dist/lib/src/value/list.js +15 -18
  48. package/dist/lib/src/value/list.js.map +1 -1
  49. package/dist/lib/src/value/map.js +17 -10
  50. package/dist/lib/src/value/map.js.map +1 -1
  51. package/dist/lib/src/value/null.js +2 -2
  52. package/dist/lib/src/value/number.js +20 -26
  53. package/dist/lib/src/value/number.js.map +1 -1
  54. package/dist/lib/src/value/string.js +14 -9
  55. package/dist/lib/src/value/string.js.map +1 -1
  56. package/dist/lib/src/value/utils.js +7 -1
  57. package/dist/lib/src/value/utils.js.map +1 -1
  58. package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.js +1395 -101
  59. package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.js.map +1 -1
  60. package/dist/package.json +6 -4
  61. package/dist/tool/utils.js +34 -9
  62. package/dist/tool/utils.js.map +1 -1
  63. package/dist/types/compile.d.ts +152 -0
  64. package/dist/types/exception.d.ts +41 -0
  65. package/dist/types/importer.d.ts +294 -0
  66. package/dist/types/index.d.ts +76 -0
  67. package/dist/types/legacy/exception.d.ts +54 -0
  68. package/dist/types/legacy/function.d.ts +652 -0
  69. package/dist/types/legacy/importer.d.ts +168 -0
  70. package/dist/types/legacy/options.d.ts +642 -0
  71. package/dist/types/legacy/plugin_this.d.ts +70 -0
  72. package/dist/types/legacy/render.d.ts +139 -0
  73. package/dist/types/logger/index.d.ts +94 -0
  74. package/dist/types/logger/source_location.d.ts +21 -0
  75. package/dist/types/logger/source_span.d.ts +34 -0
  76. package/dist/types/options.d.ts +408 -0
  77. package/dist/types/util/promise_or.d.ts +17 -0
  78. package/dist/types/value/argument_list.d.ts +47 -0
  79. package/dist/types/value/boolean.d.ts +29 -0
  80. package/dist/types/value/color.d.ts +107 -0
  81. package/dist/types/value/function.d.ts +22 -0
  82. package/dist/types/value/index.d.ts +173 -0
  83. package/dist/types/value/list.d.ts +54 -0
  84. package/dist/types/value/map.d.ts +41 -0
  85. package/dist/types/value/number.d.ts +305 -0
  86. package/dist/types/value/string.d.ts +84 -0
  87. package/package.json +6 -4
  88. package/dist/lib/index.d.ts +0 -10
  89. package/dist/lib/src/compile.d.ts +0 -22
  90. package/dist/lib/src/embedded-compiler/compiler.d.ts +0 -19
  91. package/dist/lib/src/embedded-compiler/compiler.js.map +0 -1
  92. package/dist/lib/src/embedded-compiler/packet-transformer.d.ts +0 -34
  93. package/dist/lib/src/embedded-compiler/packet-transformer.js.map +0 -1
  94. package/dist/lib/src/embedded-protocol/dispatcher.d.ts +0 -60
  95. package/dist/lib/src/embedded-protocol/dispatcher.js.map +0 -1
  96. package/dist/lib/src/embedded-protocol/message-transformer.d.ts +0 -47
  97. package/dist/lib/src/embedded-protocol/message-transformer.js.map +0 -1
  98. package/dist/lib/src/embedded-protocol/request-tracker.d.ts +0 -20
  99. package/dist/lib/src/embedded-protocol/request-tracker.js.map +0 -1
  100. package/dist/lib/src/embedded-protocol/utils.d.ts +0 -7
  101. package/dist/lib/src/embedded-protocol/utils.js.map +0 -1
  102. package/dist/lib/src/exception/exception.d.ts +0 -19
  103. package/dist/lib/src/exception/exception.js +0 -37
  104. package/dist/lib/src/exception/exception.js.map +0 -1
  105. package/dist/lib/src/exception/location.d.ts +0 -11
  106. package/dist/lib/src/exception/location.js +0 -6
  107. package/dist/lib/src/exception/location.js.map +0 -1
  108. package/dist/lib/src/exception/span.d.ts +0 -29
  109. package/dist/lib/src/exception/span.js.map +0 -1
  110. package/dist/lib/src/node-sass/render.d.ts +0 -61
  111. package/dist/lib/src/node-sass/render.js.map +0 -1
  112. package/dist/lib/src/utils.d.ts +0 -16
  113. package/dist/lib/src/value/boolean.d.ts +0 -25
  114. package/dist/lib/src/value/color.d.ts +0 -89
  115. package/dist/lib/src/value/list.d.ts +0 -41
  116. package/dist/lib/src/value/map.d.ts +0 -26
  117. package/dist/lib/src/value/null.d.ts +0 -12
  118. package/dist/lib/src/value/number.d.ts +0 -189
  119. package/dist/lib/src/value/string.d.ts +0 -56
  120. package/dist/lib/src/value/utils.d.ts +0 -44
  121. package/dist/lib/src/value/value.d.ts +0 -108
  122. package/dist/lib/src/value/value.js.map +0 -1
  123. package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.d.ts +0 -1
  124. package/dist/tool/utils.d.ts +0 -32
@@ -3,10 +3,28 @@
3
3
  // MIT-style license that can be found in the LICENSE file or at
4
4
  // https://opensource.org/licenses/MIT.
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.withoutExtension = exports.pathToUrlString = exports.valueError = exports.hostError = exports.compilerError = exports.asImmutableList = exports.isNullOrUndefined = void 0;
6
+ exports.putIfAbsent = exports.withoutExtension = exports.pathToUrlString = exports.valueError = exports.hostError = exports.mandatoryError = exports.compilerError = exports.asImmutableList = exports.isNullOrUndefined = exports.catchOr = exports.thenOr = void 0;
7
7
  const immutable_1 = require("immutable");
8
8
  const p = require("path");
9
9
  const url = require("url");
10
+ function thenOr(promiseOrValue, callback) {
11
+ return promiseOrValue instanceof Promise
12
+ ? promiseOrValue.then(callback)
13
+ : callback(promiseOrValue);
14
+ }
15
+ exports.thenOr = thenOr;
16
+ function catchOr(promiseOrValueCallback, callback) {
17
+ try {
18
+ const result = promiseOrValueCallback();
19
+ return result instanceof Promise
20
+ ? result.catch(callback)
21
+ : result;
22
+ }
23
+ catch (error) {
24
+ return callback(error);
25
+ }
26
+ }
27
+ exports.catchOr = catchOr;
10
28
  /** Checks for null or undefined. */
11
29
  function isNullOrUndefined(object) {
12
30
  return object === null || object === undefined;
@@ -22,6 +40,14 @@ function compilerError(message) {
22
40
  return Error(`Compiler caused error: ${message}.`);
23
41
  }
24
42
  exports.compilerError = compilerError;
43
+ /**
44
+ * Returns a `compilerError()` indicating that the given `field` should have
45
+ * been included but was not.
46
+ */
47
+ function mandatoryError(field) {
48
+ return compilerError(`Missing mandatory field ${field}`);
49
+ }
50
+ exports.mandatoryError = mandatoryError;
25
51
  /** Constructs a host-caused Error. */
26
52
  function hostError(message) {
27
53
  return Error(`Compiler reported error: ${message}.`);
@@ -46,4 +72,20 @@ function withoutExtension(path) {
46
72
  return path.substring(0, path.length - extension.length);
47
73
  }
48
74
  exports.withoutExtension = withoutExtension;
75
+ /**
76
+ * Dart-style utility. See
77
+ * http://go/dart-api/stable/2.8.4/dart-core/Map/putIfAbsent.html.
78
+ */
79
+ function putIfAbsent(map, key, provider) {
80
+ const val = map.get(key);
81
+ if (val !== undefined) {
82
+ return val;
83
+ }
84
+ else {
85
+ const newVal = provider();
86
+ map.set(key, newVal);
87
+ return newVal;
88
+ }
89
+ }
90
+ exports.putIfAbsent = putIfAbsent;
49
91
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/src/utils.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,yCAA+B;AAC/B,0BAA0B;AAC1B,2BAA2B;AAI3B,oCAAoC;AACpC,SAAgB,iBAAiB,CAAI,MAAS;IAC5C,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC;AACjD,CAAC;AAFD,8CAEC;AAED,iDAAiD;AACjD,SAAgB,eAAe,CAAI,UAAyB;IAC1D,OAAO,gBAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,UAAU,CAAC,CAAC;AACjE,CAAC;AAFD,0CAEC;AAED,0CAA0C;AAC1C,SAAgB,aAAa,CAAC,OAAe;IAC3C,OAAO,KAAK,CAAC,0BAA0B,OAAO,GAAG,CAAC,CAAC;AACrD,CAAC;AAFD,sCAEC;AAED,sCAAsC;AACtC,SAAgB,SAAS,CAAC,OAAe;IACvC,OAAO,KAAK,CAAC,4BAA4B,OAAO,GAAG,CAAC,CAAC;AACvD,CAAC;AAFD,8BAEC;AAED,2DAA2D;AAC3D,SAAgB,UAAU,CAAC,OAAe,EAAE,IAAa;IACvD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;AAC/D,CAAC;AAFD,gCAEC;AAED,4EAA4E;AAC5E,SAAgB,eAAe,CAAC,IAAY;IAC1C,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IAElE,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1E,OAAO,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtD,CAAC;AALD,0CAKC;AAED,0DAA0D;AAC1D,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAHD,4CAGC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/src/utils.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,10 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.sassFalse = exports.sassTrue = void 0;
7
7
  const immutable_1 = require("immutable");
8
- const value_1 = require("./value");
8
+ const index_1 = require("./index");
9
9
  const trueHash = (0, immutable_1.hash)(true);
10
10
  const falseHash = (0, immutable_1.hash)(false);
11
- class SassBooleanInternal extends value_1.Value {
11
+ class SassBooleanInternal extends index_1.Value {
12
12
  constructor(valueInternal) {
13
13
  super();
14
14
  this.valueInternal = valueInternal;
@@ -24,7 +24,7 @@ class SassBooleanInternal extends value_1.Value {
24
24
  return this;
25
25
  }
26
26
  equals(other) {
27
- return other instanceof SassBooleanInternal && this.value === other.value;
27
+ return this === other;
28
28
  }
29
29
  hashCode() {
30
30
  return this.value ? trueHash : falseHash;
@@ -1 +1 @@
1
- {"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../../lib/src/value/boolean.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,yCAA+B;AAE/B,mCAA8B;AAY9B,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,CAAC;AAC5B,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,KAAK,CAAC,CAAC;AAE9B,MAAM,mBAAoB,SAAQ,aAAK;IACrC,YAA6B,aAAsB;QACjD,KAAK,EAAE,CAAC;QADmB,kBAAa,GAAb,aAAa,CAAS;QAEjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,KAAY;QACjB,OAAO,KAAK,YAAY,mBAAmB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;IAC5E,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3C,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;IAC/C,CAAC;CACF;AAED,iDAAiD;AACpC,QAAA,QAAQ,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAEtD,kDAAkD;AACrC,QAAA,SAAS,GAAG,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../../lib/src/value/boolean.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,yCAA+B;AAE/B,mCAA8B;AAY9B,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,CAAC;AAC5B,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,KAAK,CAAC,CAAC;AAE9B,MAAM,mBAAoB,SAAQ,aAAK;IACrC,YAA6B,aAAsB;QACjD,KAAK,EAAE,CAAC;QADmB,kBAAa,GAAb,aAAa,CAAS;QAEjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,KAAY;QACjB,OAAO,IAAI,KAAK,KAAK,CAAC;IACxB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3C,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;IAC/C,CAAC;CACF;AAED,iDAAiD;AACpC,QAAA,QAAQ,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAEtD,kDAAkD;AACrC,QAAA,SAAS,GAAG,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC"}
@@ -4,79 +4,45 @@
4
4
  // https://opensource.org/licenses/MIT.
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.SassColor = void 0;
7
- const value_1 = require("./value");
7
+ const index_1 = require("./index");
8
8
  const utils_1 = require("./utils");
9
9
  const immutable_1 = require("immutable");
10
10
  /** A SassScript color. */
11
- class SassColor extends value_1.Value {
11
+ class SassColor extends index_1.Value {
12
12
  constructor(color) {
13
13
  super();
14
14
  if ('red' in color) {
15
- this.redInternal = color.red;
16
- this.greenInternal = color.green;
17
- this.blueInternal = color.blue;
15
+ this.redInternal = (0, utils_1.fuzzyAssertInRange)(Math.round(color.red), 0, 255, 'red');
16
+ this.greenInternal = (0, utils_1.fuzzyAssertInRange)(Math.round(color.green), 0, 255, 'green');
17
+ this.blueInternal = (0, utils_1.fuzzyAssertInRange)(Math.round(color.blue), 0, 255, 'blue');
18
18
  }
19
- else {
20
- this.hueInternal = color.hue;
21
- this.saturationInternal = color.saturation;
22
- this.lightnessInternal = color.lightness;
19
+ else if ('saturation' in color) {
20
+ this.hueInternal = (0, utils_1.positiveMod)(color.hue, 360);
21
+ this.saturationInternal = (0, utils_1.fuzzyAssertInRange)(color.saturation, 0, 100, 'saturation');
22
+ this.lightnessInternal = (0, utils_1.fuzzyAssertInRange)(color.lightness, 0, 100, 'lightness');
23
23
  }
24
- this.alphaInternal = color.alpha;
25
- }
26
- /**
27
- * Creates an RGB color.
28
- *
29
- * Throws an error if `red`, `green`, and `blue` aren't between `0` and `255`,
30
- * or if `alpha` isn't between `0` and `1`.
31
- */
32
- static rgb(red, green, blue, alpha) {
33
- return new SassColor({
34
- red: (0, utils_1.fuzzyAssertInRange)(red, 0, 255, 'red'),
35
- green: (0, utils_1.fuzzyAssertInRange)(green, 0, 255, 'green'),
36
- blue: (0, utils_1.fuzzyAssertInRange)(blue, 0, 255, 'blue'),
37
- alpha: alpha === undefined ? 1 : (0, utils_1.fuzzyAssertInRange)(alpha, 0, 1, 'alpha'),
38
- });
39
- }
40
- /**
41
- * Creates an HSL color.
42
- *
43
- * Throws an error if `saturation` or `lightness` aren't between `0` and
44
- * `100`, or if `alpha` isn't between `0` and `1`.
45
- */
46
- static hsl(hue, saturation, lightness, alpha) {
47
- return new SassColor({
48
- hue: hue % 360,
49
- saturation: (0, utils_1.fuzzyAssertInRange)(saturation, 0, 100, 'saturation'),
50
- lightness: (0, utils_1.fuzzyAssertInRange)(lightness, 0, 100, 'lightness'),
51
- alpha: alpha === undefined ? 1 : (0, utils_1.fuzzyAssertInRange)(alpha, 0, 1, 'alpha'),
52
- });
53
- }
54
- /**
55
- * Creates an HWB color.
56
- *
57
- * Throws an error if `whiteness` or `blackness` aren't between `0` and `100`,
58
- * or if `alpha` isn't between `0` and `1`.
59
- */
60
- static hwb(hue, whiteness, blackness, alpha) {
61
- // From https://www.w3.org/TR/css-color-4/#hwb-to-rgb
62
- const scaledHue = (hue % 360) / 360;
63
- let scaledWhiteness = (0, utils_1.fuzzyAssertInRange)(whiteness, 0, 100, 'whiteness') / 100;
64
- let scaledBlackness = (0, utils_1.fuzzyAssertInRange)(blackness, 0, 100, 'blackness') / 100;
65
- const sum = scaledWhiteness + scaledBlackness;
66
- if (sum > 1) {
67
- scaledWhiteness /= sum;
68
- scaledBlackness /= sum;
69
- }
70
- const factor = 1 - scaledWhiteness - scaledBlackness;
71
- function toRgb(hue) {
72
- const channel = hueToRgb(0, 1, hue) * factor + scaledWhiteness;
73
- return (0, utils_1.fuzzyRound)(channel * 255);
24
+ else {
25
+ // From https://www.w3.org/TR/css-color-4/#hwb-to-rgb
26
+ const scaledHue = (0, utils_1.positiveMod)(color.hue, 360) / 360;
27
+ let scaledWhiteness = (0, utils_1.fuzzyAssertInRange)(color.whiteness, 0, 100, 'whiteness') / 100;
28
+ let scaledBlackness = (0, utils_1.fuzzyAssertInRange)(color.blackness, 0, 100, 'blackness') / 100;
29
+ const sum = scaledWhiteness + scaledBlackness;
30
+ if (sum > 1) {
31
+ scaledWhiteness /= sum;
32
+ scaledBlackness /= sum;
33
+ }
34
+ // Because HWB is (currently) used much less frequently than HSL or RGB, we
35
+ // don't cache its values because we expect the memory overhead of doing so
36
+ // to outweigh the cost of recalculating it on access. Instead, we eagerly
37
+ // convert it to RGB and then convert back if necessary.
38
+ this.redInternal = hwbToRgb(scaledHue + 1 / 3, scaledWhiteness, scaledBlackness);
39
+ this.greenInternal = hwbToRgb(scaledHue, scaledWhiteness, scaledBlackness);
40
+ this.blueInternal = hwbToRgb(scaledHue - 1 / 3, scaledWhiteness, scaledBlackness);
74
41
  }
75
- // Because HWB is (currently) used much less frequently than HSL or RGB, we
76
- // don't cache its values because we expect the memory overhead of doing so
77
- // to outweigh the cost of recalculating it on access. Instead, we eagerly
78
- // convert it to RGB and then convert back if necessary.
79
- return SassColor.rgb(toRgb(scaledHue + 1 / 3), toRgb(scaledHue), toRgb(scaledHue - 1 / 3), alpha);
42
+ this.alphaInternal =
43
+ color.alpha === undefined
44
+ ? 1
45
+ : (0, utils_1.fuzzyAssertInRange)(color.alpha, 0, 1, 'alpha');
80
46
  }
81
47
  /** `this`'s red channel. */
82
48
  get red() {
@@ -138,41 +104,60 @@ class SassColor extends value_1.Value {
138
104
  get alpha() {
139
105
  return this.alphaInternal;
140
106
  }
141
- assertColor() {
142
- return this;
143
- }
144
107
  /**
145
- * Returns a copy of `this` with its RGB channels changed to `red`, `green`,
146
- * `blue`, and/or `alpha`.
147
- */
148
- changeRgb(options) {
149
- var _a, _b, _c, _d;
150
- return SassColor.rgb((_a = options.red) !== null && _a !== void 0 ? _a : this.red, (_b = options.green) !== null && _b !== void 0 ? _b : this.green, (_c = options.blue) !== null && _c !== void 0 ? _c : this.blue, (_d = options.alpha) !== null && _d !== void 0 ? _d : this.alpha);
151
- }
152
- /**
153
- * Returns a copy of `this` with its HSL values changed to `hue`,
154
- * `saturation`, `lightness`, and/or `alpha`.
108
+ * Whether `this` has already calculated the HSL components for the color.
109
+ *
110
+ * This is an internal property that's not an official part of Sass's JS API,
111
+ * and may be broken at any time.
155
112
  */
156
- changeHsl(options) {
157
- var _a, _b, _c, _d;
158
- return SassColor.hsl((_a = options.hue) !== null && _a !== void 0 ? _a : this.hue, (_b = options.saturation) !== null && _b !== void 0 ? _b : this.saturation, (_c = options.lightness) !== null && _c !== void 0 ? _c : this.lightness, (_d = options.alpha) !== null && _d !== void 0 ? _d : this.alpha);
113
+ get hasCalculatedHsl() {
114
+ return !!this.hueInternal;
159
115
  }
160
- /**
161
- * Returns a copy of `this` with its HWB values changed to `hue`, `whiteness`,
162
- * `blackness`, and/or `alpha`.
163
- */
164
- changeHwb(options) {
165
- var _a, _b, _c, _d;
166
- return SassColor.hwb((_a = options.hue) !== null && _a !== void 0 ? _a : this.hue, (_b = options.whiteness) !== null && _b !== void 0 ? _b : this.whiteness, (_c = options.blackness) !== null && _c !== void 0 ? _c : this.blackness, (_d = options.alpha) !== null && _d !== void 0 ? _d : this.alpha);
116
+ assertColor() {
117
+ return this;
167
118
  }
168
- /** Returns a copy of `this` with its alpha channel changed to `alpha`. */
169
- changeAlpha(alpha) {
170
- return new SassColor({
171
- red: this.red,
172
- green: this.green,
173
- blue: this.blue,
174
- alpha: (0, utils_1.fuzzyAssertInRange)(alpha, 0, 1, 'alpha'),
175
- });
119
+ change(color) {
120
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
121
+ if ('whiteness' in color || 'blackness' in color) {
122
+ return new SassColor({
123
+ hue: (_a = color.hue) !== null && _a !== void 0 ? _a : this.hue,
124
+ whiteness: (_b = color.whiteness) !== null && _b !== void 0 ? _b : this.whiteness,
125
+ blackness: (_c = color.blackness) !== null && _c !== void 0 ? _c : this.blackness,
126
+ alpha: (_d = color.alpha) !== null && _d !== void 0 ? _d : this.alpha,
127
+ });
128
+ }
129
+ else if ('hue' in color ||
130
+ 'saturation' in color ||
131
+ 'lightness' in color) {
132
+ // Tell TypeScript this isn't a Partial<HwbColor>.
133
+ const hsl = color;
134
+ return new SassColor({
135
+ hue: (_e = hsl.hue) !== null && _e !== void 0 ? _e : this.hue,
136
+ saturation: (_f = hsl.saturation) !== null && _f !== void 0 ? _f : this.saturation,
137
+ lightness: (_g = hsl.lightness) !== null && _g !== void 0 ? _g : this.lightness,
138
+ alpha: (_h = hsl.alpha) !== null && _h !== void 0 ? _h : this.alpha,
139
+ });
140
+ }
141
+ else if ('red' in color ||
142
+ 'green' in color ||
143
+ 'blue' in color ||
144
+ this.redInternal) {
145
+ const rgb = color;
146
+ return new SassColor({
147
+ red: (_j = rgb.red) !== null && _j !== void 0 ? _j : this.red,
148
+ green: (_k = rgb.green) !== null && _k !== void 0 ? _k : this.green,
149
+ blue: (_l = rgb.blue) !== null && _l !== void 0 ? _l : this.blue,
150
+ alpha: (_m = rgb.alpha) !== null && _m !== void 0 ? _m : this.alpha,
151
+ });
152
+ }
153
+ else {
154
+ return new SassColor({
155
+ hue: this.hue,
156
+ saturation: this.saturation,
157
+ lightness: this.lightness,
158
+ alpha: (_o = color.alpha) !== null && _o !== void 0 ? _o : this.alpha,
159
+ });
160
+ }
176
161
  }
177
162
  equals(other) {
178
163
  return (other instanceof SassColor &&
@@ -206,13 +191,13 @@ class SassColor extends value_1.Value {
206
191
  this.hueInternal = 0;
207
192
  }
208
193
  else if (max === scaledRed) {
209
- this.hueInternal = ((60 * (scaledGreen - scaledBlue)) / delta) % 360;
194
+ this.hueInternal = (0, utils_1.positiveMod)((60 * (scaledGreen - scaledBlue)) / delta, 360);
210
195
  }
211
196
  else if (max === scaledGreen) {
212
- this.hueInternal = (120 + (60 * (scaledBlue - scaledRed)) / delta) % 360;
197
+ this.hueInternal = (0, utils_1.positiveMod)(120 + (60 * (scaledBlue - scaledRed)) / delta, 360);
213
198
  }
214
199
  else if (max === scaledBlue) {
215
- this.hueInternal = (240 + (60 * (scaledRed - scaledGreen)) / delta) % 360;
200
+ this.hueInternal = (0, utils_1.positiveMod)(240 + (60 * (scaledRed - scaledGreen)) / delta, 360);
216
201
  }
217
202
  this.lightnessInternal = 50 * (max + min);
218
203
  if (max === min) {
@@ -245,6 +230,12 @@ class SassColor extends value_1.Value {
245
230
  }
246
231
  }
247
232
  exports.SassColor = SassColor;
233
+ // A helper for converting HWB colors to RGB.
234
+ function hwbToRgb(hue, scaledWhiteness, scaledBlackness) {
235
+ const factor = 1 - scaledWhiteness - scaledBlackness;
236
+ const channel = hueToRgb(0, 1, hue) * factor + scaledWhiteness;
237
+ return (0, utils_1.fuzzyRound)(channel * 255);
238
+ }
248
239
  // An algorithm from the CSS3 spec: http://www.w3.org/TR/css3-color/#hsl-color.
249
240
  function hueToRgb(m1, m2, hue) {
250
241
  if (hue < 0)
@@ -1 +1 @@
1
- {"version":3,"file":"color.js","sourceRoot":"","sources":["../../../../lib/src/value/color.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"color.js","sourceRoot":"","sources":["../../../../lib/src/value/color.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,10 @@ class Value {
75
75
  }
76
76
  return index < 0 ? this.lengthAsList + index : index - 1;
77
77
  }
78
+ /** Returns `this.asList.get(index)`. */
79
+ get(index) {
80
+ return index < 1 && index >= -1 ? this : undefined;
81
+ }
78
82
  /**
79
83
  * Casts `this` to `SassBoolean`; throws if `this` isn't a boolean.
80
84
  *
@@ -140,4 +144,4 @@ class Value {
140
144
  }
141
145
  }
142
146
  exports.Value = Value;
143
- //# sourceMappingURL=value.js.map
147
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/src/value/index.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,yCAA4C;AAQ5C,oCAAoC;AAEpC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAsB,KAAK;IACzB,uCAAuC;IACvC,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0EAA0E;IAC1E,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAwB;IACxB,IAAI,MAAM;QACR,OAAO,IAAA,gBAAI,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,0CAA0C;IAC1C,IAAI,SAAS;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+CAA+C;IAC/C,IAAI,WAAW;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yDAAyD;IACzD,0BAA0B;IAC1B,IAAc,YAAY;QACxB,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,oBAAoB,CAAC,SAAgB,EAAE,IAAa;QAClD,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC,SAAS,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;SACzC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE;YACvC,MAAM,IAAA,kBAAU,EACd,iBAAiB,SAAS,oBAAoB,IAAI,CAAC,YAAY,YAAY,EAC3E,IAAI,CACL,CAAC;SACH;QACD,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,wCAAwC;IACxC,GAAG,CAAC,KAAa;QACf,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,IAAa;QACzB,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,IAAa;QACvB,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,IAAa;QAC1B,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,8BAA8B,EAAE,IAAI,CAAC,CAAC;QAC9D,uDAAuD;IACzD,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,IAAa;QACrB,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,eAAe,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,IAAa;QACxB,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,IAAa;QACxB,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;CAUF;AAjJD,sBAiJC"}
@@ -5,22 +5,24 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.SassList = void 0;
7
7
  const immutable_1 = require("immutable");
8
- const value_1 = require("./value");
8
+ const index_1 = require("./index");
9
9
  const map_1 = require("./map");
10
10
  const utils_1 = require("../utils");
11
11
  // All empty SassList and SassMaps should have the same hashcode, so this caches
12
12
  // the value.
13
13
  const emptyListHashCode = (0, immutable_1.hash)([]);
14
14
  /** A SassScript list. */
15
- class SassList extends value_1.Value {
16
- /**
17
- * Returns a list that contains `contents`, with the given `separator` and
18
- * `brackets`.
19
- */
20
- constructor(contents, options) {
15
+ class SassList extends index_1.Value {
16
+ constructor(contentsOrOptions, options) {
21
17
  var _a;
22
18
  super();
23
- this.contentsInternal = (0, utils_1.asImmutableList)(contents);
19
+ if ((0, immutable_1.isList)(contentsOrOptions) || Array.isArray(contentsOrOptions)) {
20
+ this.contentsInternal = (0, utils_1.asImmutableList)(contentsOrOptions);
21
+ }
22
+ else {
23
+ this.contentsInternal = (0, immutable_1.List)();
24
+ options = contentsOrOptions;
25
+ }
24
26
  if (this.contentsInternal.size > 1 && (options === null || options === void 0 ? void 0 : options.separator) === null) {
25
27
  throw Error('Non-null separator required for SassList with more than one element.');
26
28
  }
@@ -28,14 +30,6 @@ class SassList extends value_1.Value {
28
30
  (options === null || options === void 0 ? void 0 : options.separator) === undefined ? ',' : options.separator;
29
31
  this.hasBracketsInternal = (_a = options === null || options === void 0 ? void 0 : options.brackets) !== null && _a !== void 0 ? _a : false;
30
32
  }
31
- /** Returns an empty list with the given `separator` and `brackets`. */
32
- static empty(options) {
33
- var _a;
34
- return new SassList([], {
35
- separator: (_a = options === null || options === void 0 ? void 0 : options.separator) !== null && _a !== void 0 ? _a : null,
36
- brackets: options === null || options === void 0 ? void 0 : options.brackets,
37
- });
38
- }
39
33
  get asList() {
40
34
  return this.contentsInternal;
41
35
  }
@@ -50,12 +44,15 @@ class SassList extends value_1.Value {
50
44
  get lengthAsList() {
51
45
  return this.contentsInternal.size;
52
46
  }
47
+ get(index) {
48
+ return this.contentsInternal.get(index);
49
+ }
53
50
  assertList() {
54
51
  return this;
55
52
  }
56
53
  assertMap(name) {
57
54
  if (this.contentsInternal.isEmpty())
58
- return map_1.SassMap.empty();
55
+ return new map_1.SassMap();
59
56
  throw (0, utils_1.valueError)(`${this} is not a map`, name);
60
57
  }
61
58
  /**
@@ -64,7 +61,7 @@ class SassList extends value_1.Value {
64
61
  * Otherwise, returns null.
65
62
  */
66
63
  tryMap() {
67
- return this.contentsInternal.isEmpty() ? (0, immutable_1.OrderedMap)() : null;
64
+ return this.contentsInternal.isEmpty() ? new map_1.SassMap() : null;
68
65
  }
69
66
  equals(other) {
70
67
  if ((other instanceof SassList || other instanceof map_1.SassMap) &&
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../lib/src/value/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../lib/src/value/list.ts"],"names":[],"mappings":"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"}
@@ -5,18 +5,14 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.SassMap = void 0;
7
7
  const immutable_1 = require("immutable");
8
- const value_1 = require("./value");
8
+ const index_1 = require("./index");
9
9
  const list_1 = require("./list");
10
10
  /** A SassScript map */
11
- class SassMap extends value_1.Value {
11
+ class SassMap extends index_1.Value {
12
12
  /** Returns a map that contains `contents`. */
13
13
  constructor(contents) {
14
14
  super();
15
- this.contentsInternal = contents;
16
- }
17
- /** Returns an empty map. */
18
- static empty() {
19
- return new SassMap((0, immutable_1.OrderedMap)());
15
+ this.contentsInternal = contents !== null && contents !== void 0 ? contents : (0, immutable_1.OrderedMap)();
20
16
  }
21
17
  /** The separator for `this`'s contents as a list. */
22
18
  get separator() {
@@ -33,18 +29,29 @@ class SassMap extends value_1.Value {
33
29
  get asList() {
34
30
  const list = [];
35
31
  for (const entry of this.contents.entries()) {
36
- list.push(new list_1.SassList(entry));
32
+ list.push(new list_1.SassList(entry, { separator: ' ' }));
37
33
  }
38
34
  return (0, immutable_1.List)(list);
39
35
  }
40
36
  get lengthAsList() {
41
37
  return this.contentsInternal.size;
42
38
  }
39
+ get(indexOrKey) {
40
+ if (indexOrKey instanceof index_1.Value) {
41
+ return this.contentsInternal.get(indexOrKey);
42
+ }
43
+ else {
44
+ const entry = this.contentsInternal
45
+ .entrySeq()
46
+ .get(Math.floor(indexOrKey));
47
+ return entry ? new list_1.SassList(entry, { separator: ' ' }) : undefined;
48
+ }
49
+ }
43
50
  assertMap() {
44
51
  return this;
45
52
  }
46
53
  tryMap() {
47
- return this.contents;
54
+ return this;
48
55
  }
49
56
  equals(other) {
50
57
  if (other instanceof list_1.SassList &&
@@ -66,7 +73,7 @@ class SassMap extends value_1.Value {
66
73
  }
67
74
  hashCode() {
68
75
  return this.contents.isEmpty()
69
- ? list_1.SassList.empty().hashCode()
76
+ ? new list_1.SassList().hashCode()
70
77
  : // SassMaps with the same key-value pairs are considered equal
71
78
  // regardless of key-value order, so this hash must be order
72
79
  // independent. Since OrderedMap.hashCode() encodes the key-value order,
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../lib/src/value/map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../lib/src/value/map.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,11 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.sassNull = void 0;
7
7
  const immutable_1 = require("immutable");
8
- const value_1 = require("./value");
8
+ const index_1 = require("./index");
9
9
  const hashCode = (0, immutable_1.hash)(null);
10
10
  // SassScript null. Cannot be constructed; exists only as the exported
11
11
  // singleton.
12
- class SassNull extends value_1.Value {
12
+ class SassNull extends index_1.Value {
13
13
  constructor() {
14
14
  super();
15
15
  Object.freeze(this);