sass-embedded 1.0.0-beta.1 → 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.
- package/CHANGELOG.md +49 -1
- package/README.md +3 -3
- package/dist/.gitignore +2 -1
- package/dist/lib/index.js +29 -2
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/src/{embedded/compiler.js → async-compiler.js} +13 -13
- package/dist/lib/src/async-compiler.js.map +1 -0
- package/dist/lib/src/compile.js +170 -69
- package/dist/lib/src/compile.js.map +1 -1
- package/dist/lib/src/compiler-path.js +18 -0
- package/dist/lib/src/compiler-path.js.map +1 -0
- package/dist/lib/src/deprotofy-span.js +51 -0
- package/dist/lib/src/deprotofy-span.js.map +1 -0
- package/dist/lib/src/{embedded/dispatcher.js → dispatcher.js} +63 -57
- package/dist/lib/src/dispatcher.js.map +1 -0
- package/dist/lib/src/exception.js +20 -0
- package/dist/lib/src/exception.js.map +1 -0
- package/dist/lib/src/function-registry.js +81 -0
- package/dist/lib/src/function-registry.js.map +1 -0
- package/dist/lib/src/legacy.js +133 -0
- package/dist/lib/src/legacy.js.map +1 -0
- package/dist/lib/src/{embedded/message-transformer.js → message-transformer.js} +35 -34
- package/dist/lib/src/message-transformer.js.map +1 -0
- package/dist/lib/src/{embedded/packet-transformer.js → packet-transformer.js} +2 -1
- package/dist/lib/src/packet-transformer.js.map +1 -0
- package/dist/lib/src/protofier.js +205 -0
- package/dist/lib/src/protofier.js.map +1 -0
- package/dist/lib/src/{embedded/request-tracker.js → request-tracker.js} +1 -0
- package/dist/lib/src/request-tracker.js.map +1 -0
- package/dist/lib/src/sync-compiler.js +52 -0
- package/dist/lib/src/sync-compiler.js.map +1 -0
- package/dist/lib/src/{exception/span.js → sync-process/event.js} +2 -2
- package/dist/lib/src/sync-process/event.js.map +1 -0
- package/dist/lib/src/sync-process/index.js +122 -0
- package/dist/lib/src/sync-process/index.js.map +1 -0
- package/dist/lib/src/sync-process/sync-message-port.js +128 -0
- package/dist/lib/src/sync-process/sync-message-port.js.map +1 -0
- package/dist/lib/src/sync-process/worker.js +51 -0
- package/dist/lib/src/sync-process/worker.js.map +1 -0
- package/dist/lib/src/utils.js +64 -42
- package/dist/lib/src/utils.js.map +1 -1
- package/dist/lib/src/value/boolean.js +40 -0
- package/dist/lib/src/value/boolean.js.map +1 -0
- package/dist/lib/src/value/color.js +258 -0
- package/dist/lib/src/value/color.js.map +1 -0
- package/dist/lib/src/value/index.js +147 -0
- package/dist/lib/src/value/index.js.map +1 -0
- package/dist/lib/src/value/list.js +99 -0
- package/dist/lib/src/value/list.js.map +1 -0
- package/dist/lib/src/value/map.js +91 -0
- package/dist/lib/src/value/map.js.map +1 -0
- package/dist/lib/src/value/null.js +35 -0
- package/dist/lib/src/value/null.js.map +1 -0
- package/dist/lib/src/value/number.js +579 -0
- package/dist/lib/src/value/number.js.map +1 -0
- package/dist/lib/src/value/string.js +117 -0
- package/dist/lib/src/value/string.js.map +1 -0
- package/dist/lib/src/value/utils.js +120 -0
- package/dist/lib/src/value/utils.js.map +1 -0
- package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.js +1738 -261
- package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.js.map +1 -1
- package/dist/package.json +63 -0
- package/dist/tool/utils.js +78 -90
- package/dist/tool/utils.js.map +1 -1
- package/dist/types/compile.d.ts +152 -0
- package/dist/types/exception.d.ts +41 -0
- package/dist/types/importer.d.ts +294 -0
- package/dist/types/index.d.ts +76 -0
- package/dist/types/legacy/exception.d.ts +54 -0
- package/dist/types/legacy/function.d.ts +652 -0
- package/dist/types/legacy/importer.d.ts +168 -0
- package/dist/types/legacy/options.d.ts +642 -0
- package/dist/types/legacy/plugin_this.d.ts +70 -0
- package/dist/types/legacy/render.d.ts +139 -0
- package/dist/types/logger/index.d.ts +94 -0
- package/dist/types/logger/source_location.d.ts +21 -0
- package/dist/types/logger/source_span.d.ts +34 -0
- package/dist/types/options.d.ts +408 -0
- package/dist/types/util/promise_or.d.ts +17 -0
- package/dist/types/value/argument_list.d.ts +47 -0
- package/dist/types/value/boolean.d.ts +29 -0
- package/dist/types/value/color.d.ts +107 -0
- package/dist/types/value/function.d.ts +22 -0
- package/dist/types/value/index.d.ts +173 -0
- package/dist/types/value/list.d.ts +54 -0
- package/dist/types/value/map.d.ts +41 -0
- package/dist/types/value/number.d.ts +305 -0
- package/dist/types/value/string.d.ts +84 -0
- package/download-compiler-for-end-user.js +1 -6
- package/package.json +25 -21
- package/dist/lib/index.d.ts +0 -1
- package/dist/lib/src/compile.d.ts +0 -20
- package/dist/lib/src/embedded/compiler.d.ts +0 -19
- package/dist/lib/src/embedded/compiler.js.map +0 -1
- package/dist/lib/src/embedded/dispatcher.d.ts +0 -60
- package/dist/lib/src/embedded/dispatcher.js.map +0 -1
- package/dist/lib/src/embedded/message-transformer.d.ts +0 -47
- package/dist/lib/src/embedded/message-transformer.js.map +0 -1
- package/dist/lib/src/embedded/packet-transformer.d.ts +0 -34
- package/dist/lib/src/embedded/packet-transformer.js.map +0 -1
- package/dist/lib/src/embedded/request-tracker.d.ts +0 -20
- package/dist/lib/src/embedded/request-tracker.js.map +0 -1
- package/dist/lib/src/exception/exception.d.ts +0 -19
- package/dist/lib/src/exception/exception.js +0 -36
- package/dist/lib/src/exception/exception.js.map +0 -1
- package/dist/lib/src/exception/location.d.ts +0 -11
- package/dist/lib/src/exception/location.js +0 -6
- package/dist/lib/src/exception/location.js.map +0 -1
- package/dist/lib/src/exception/span.d.ts +0 -29
- package/dist/lib/src/exception/span.js.map +0 -1
- package/dist/lib/src/node-sass/render.d.ts +0 -60
- package/dist/lib/src/node-sass/render.js +0 -125
- package/dist/lib/src/node-sass/render.js.map +0 -1
- package/dist/lib/src/utils.d.ts +0 -14
- package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.d.ts +0 -1
- package/dist/tool/utils.d.ts +0 -29
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2021 Google Inc. Use of this source code is governed by an
|
|
3
|
+
// MIT-style license that can be found in the LICENSE file or at
|
|
4
|
+
// https://opensource.org/licenses/MIT.
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SassList = void 0;
|
|
7
|
+
const immutable_1 = require("immutable");
|
|
8
|
+
const index_1 = require("./index");
|
|
9
|
+
const map_1 = require("./map");
|
|
10
|
+
const utils_1 = require("../utils");
|
|
11
|
+
// All empty SassList and SassMaps should have the same hashcode, so this caches
|
|
12
|
+
// the value.
|
|
13
|
+
const emptyListHashCode = (0, immutable_1.hash)([]);
|
|
14
|
+
/** A SassScript list. */
|
|
15
|
+
class SassList extends index_1.Value {
|
|
16
|
+
constructor(contentsOrOptions, options) {
|
|
17
|
+
var _a;
|
|
18
|
+
super();
|
|
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
|
+
}
|
|
26
|
+
if (this.contentsInternal.size > 1 && (options === null || options === void 0 ? void 0 : options.separator) === null) {
|
|
27
|
+
throw Error('Non-null separator required for SassList with more than one element.');
|
|
28
|
+
}
|
|
29
|
+
this.separatorInternal =
|
|
30
|
+
(options === null || options === void 0 ? void 0 : options.separator) === undefined ? ',' : options.separator;
|
|
31
|
+
this.hasBracketsInternal = (_a = options === null || options === void 0 ? void 0 : options.brackets) !== null && _a !== void 0 ? _a : false;
|
|
32
|
+
}
|
|
33
|
+
get asList() {
|
|
34
|
+
return this.contentsInternal;
|
|
35
|
+
}
|
|
36
|
+
/** Whether `this` has brackets. */
|
|
37
|
+
get hasBrackets() {
|
|
38
|
+
return this.hasBracketsInternal;
|
|
39
|
+
}
|
|
40
|
+
/** `this`'s list separator. */
|
|
41
|
+
get separator() {
|
|
42
|
+
return this.separatorInternal;
|
|
43
|
+
}
|
|
44
|
+
get lengthAsList() {
|
|
45
|
+
return this.contentsInternal.size;
|
|
46
|
+
}
|
|
47
|
+
get(index) {
|
|
48
|
+
return this.contentsInternal.get(index);
|
|
49
|
+
}
|
|
50
|
+
assertList() {
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
assertMap(name) {
|
|
54
|
+
if (this.contentsInternal.isEmpty())
|
|
55
|
+
return new map_1.SassMap();
|
|
56
|
+
throw (0, utils_1.valueError)(`${this} is not a map`, name);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* If `this` is empty, returns an empty OrderedMap.
|
|
60
|
+
*
|
|
61
|
+
* Otherwise, returns null.
|
|
62
|
+
*/
|
|
63
|
+
tryMap() {
|
|
64
|
+
return this.contentsInternal.isEmpty() ? new map_1.SassMap() : null;
|
|
65
|
+
}
|
|
66
|
+
equals(other) {
|
|
67
|
+
if ((other instanceof SassList || other instanceof map_1.SassMap) &&
|
|
68
|
+
this.contentsInternal.isEmpty() &&
|
|
69
|
+
other.asList.isEmpty()) {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
if (!(other instanceof SassList) ||
|
|
73
|
+
this.hasBrackets !== other.hasBrackets ||
|
|
74
|
+
this.separator !== other.separator) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
return this.contentsInternal.equals(other.asList);
|
|
78
|
+
}
|
|
79
|
+
hashCode() {
|
|
80
|
+
return this.contentsInternal.isEmpty()
|
|
81
|
+
? emptyListHashCode
|
|
82
|
+
: this.contentsInternal.hashCode() ^
|
|
83
|
+
(0, immutable_1.hash)(this.hasBrackets) ^
|
|
84
|
+
(0, immutable_1.hash)(this.separator);
|
|
85
|
+
}
|
|
86
|
+
toString() {
|
|
87
|
+
let string = '';
|
|
88
|
+
if (this.hasBrackets)
|
|
89
|
+
string += '[';
|
|
90
|
+
string += `${this.contentsInternal.join(this.separator === ' ' || this.separator === null
|
|
91
|
+
? ' '
|
|
92
|
+
: `${this.separator} `)}`;
|
|
93
|
+
if (this.hasBrackets)
|
|
94
|
+
string += ']';
|
|
95
|
+
return string;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.SassList = SassList;
|
|
99
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../lib/src/value/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2021 Google Inc. Use of this source code is governed by an
|
|
3
|
+
// MIT-style license that can be found in the LICENSE file or at
|
|
4
|
+
// https://opensource.org/licenses/MIT.
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SassMap = void 0;
|
|
7
|
+
const immutable_1 = require("immutable");
|
|
8
|
+
const index_1 = require("./index");
|
|
9
|
+
const list_1 = require("./list");
|
|
10
|
+
/** A SassScript map */
|
|
11
|
+
class SassMap extends index_1.Value {
|
|
12
|
+
/** Returns a map that contains `contents`. */
|
|
13
|
+
constructor(contents) {
|
|
14
|
+
super();
|
|
15
|
+
this.contentsInternal = contents !== null && contents !== void 0 ? contents : (0, immutable_1.OrderedMap)();
|
|
16
|
+
}
|
|
17
|
+
/** The separator for `this`'s contents as a list. */
|
|
18
|
+
get separator() {
|
|
19
|
+
return this.contentsInternal.isEmpty() ? null : ',';
|
|
20
|
+
}
|
|
21
|
+
/** `this`'s contents. */
|
|
22
|
+
get contents() {
|
|
23
|
+
return this.contentsInternal;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Returns an immutable list of `contents`'s keys and values as two-element
|
|
27
|
+
* `SassList`s.
|
|
28
|
+
*/
|
|
29
|
+
get asList() {
|
|
30
|
+
const list = [];
|
|
31
|
+
for (const entry of this.contents.entries()) {
|
|
32
|
+
list.push(new list_1.SassList(entry, { separator: ' ' }));
|
|
33
|
+
}
|
|
34
|
+
return (0, immutable_1.List)(list);
|
|
35
|
+
}
|
|
36
|
+
get lengthAsList() {
|
|
37
|
+
return this.contentsInternal.size;
|
|
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
|
+
}
|
|
50
|
+
assertMap() {
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
tryMap() {
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
equals(other) {
|
|
57
|
+
if (other instanceof list_1.SassList &&
|
|
58
|
+
this.contents.size === 0 &&
|
|
59
|
+
other.asList.size === 0) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
if (!(other instanceof SassMap) ||
|
|
63
|
+
this.contents.size !== other.contents.size) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
for (const [key, value] of this.contents.entries()) {
|
|
67
|
+
const otherValue = other.contents.get(key);
|
|
68
|
+
if (otherValue === undefined || !otherValue.equals(value)) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
hashCode() {
|
|
75
|
+
return this.contents.isEmpty()
|
|
76
|
+
? new list_1.SassList().hashCode()
|
|
77
|
+
: // SassMaps with the same key-value pairs are considered equal
|
|
78
|
+
// regardless of key-value order, so this hash must be order
|
|
79
|
+
// independent. Since OrderedMap.hashCode() encodes the key-value order,
|
|
80
|
+
// we use a manual XOR accumulator instead.
|
|
81
|
+
this.contents.reduce((accumulator, value, key) => accumulator ^ value.hashCode() ^ key.hashCode(), 0);
|
|
82
|
+
}
|
|
83
|
+
toString() {
|
|
84
|
+
let string = '(';
|
|
85
|
+
string += Array.from(this.contents.entries(), ([key, value]) => `${key}: ${value}`).join(', ');
|
|
86
|
+
string += ')';
|
|
87
|
+
return string;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.SassMap = SassMap;
|
|
91
|
+
//# sourceMappingURL=map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../lib/src/value/map.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2021 Google Inc. Use of this source code is governed by an
|
|
3
|
+
// MIT-style license that can be found in the LICENSE file or at
|
|
4
|
+
// https://opensource.org/licenses/MIT.
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.sassNull = void 0;
|
|
7
|
+
const immutable_1 = require("immutable");
|
|
8
|
+
const index_1 = require("./index");
|
|
9
|
+
const hashCode = (0, immutable_1.hash)(null);
|
|
10
|
+
// SassScript null. Cannot be constructed; exists only as the exported
|
|
11
|
+
// singleton.
|
|
12
|
+
class SassNull extends index_1.Value {
|
|
13
|
+
constructor() {
|
|
14
|
+
super();
|
|
15
|
+
Object.freeze(this);
|
|
16
|
+
}
|
|
17
|
+
get isTruthy() {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
get realNull() {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
equals(other) {
|
|
24
|
+
return this === other;
|
|
25
|
+
}
|
|
26
|
+
hashCode() {
|
|
27
|
+
return hashCode;
|
|
28
|
+
}
|
|
29
|
+
toString() {
|
|
30
|
+
return 'sassNull';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/** The singleton instance of SassScript null. */
|
|
34
|
+
exports.sassNull = new SassNull();
|
|
35
|
+
//# sourceMappingURL=null.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"null.js","sourceRoot":"","sources":["../../../../lib/src/value/null.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,yCAA+B;AAE/B,mCAA8B;AAE9B,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,CAAC;AAE5B,sEAAsE;AACtE,aAAa;AACb,MAAM,QAAS,SAAQ,aAAK;IAC1B;QACE,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,KAAY;QACjB,OAAO,IAAI,KAAK,KAAK,CAAC;IACxB,CAAC;IAED,QAAQ;QACN,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,QAAQ;QACN,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAED,iDAAiD;AACpC,QAAA,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC"}
|