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

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 CHANGED
@@ -1,3 +1,11 @@
1
+ ## 1.0.0-beta.8
2
+
3
+ * Fully support the new JS API:
4
+ * Support custom importers for the new JS API.
5
+ * Support custom loggers for the new JS API.
6
+ * Support the `SassArgumentList` value type.
7
+ * Support the `SassFunction` value type.
8
+
1
9
  ## 1.0.0-beta.7
2
10
 
3
11
  * Expose the `Exception` class and ensure that syntax errors match the official
package/dist/lib/index.js CHANGED
@@ -3,25 +3,29 @@
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.info = exports.render = exports.compileStringAsync = exports.compileAsync = exports.compileString = exports.compile = exports.Exception = exports.SassString = exports.SassNumber = exports.sassNull = exports.SassMap = exports.SassList = exports.SassColor = exports.sassTrue = exports.sassFalse = exports.Value = void 0;
6
+ exports.Logger = exports.info = exports.render = exports.compileStringAsync = exports.compileAsync = exports.compileString = exports.compile = exports.Exception = exports.sassNull = exports.Value = exports.SassString = exports.SassNumber = exports.SassMap = exports.SassFunction = exports.SassColor = exports.sassTrue = exports.sassFalse = exports.SassArgumentList = exports.SassList = void 0;
7
7
  const pkg = require("../package.json");
8
- var value_1 = require("./src/value");
9
- Object.defineProperty(exports, "Value", { enumerable: true, get: function () { return value_1.Value; } });
8
+ var list_1 = require("./src/value/list");
9
+ Object.defineProperty(exports, "SassList", { enumerable: true, get: function () { return list_1.SassList; } });
10
+ var argument_list_1 = require("./src/value/argument-list");
11
+ Object.defineProperty(exports, "SassArgumentList", { enumerable: true, get: function () { return argument_list_1.SassArgumentList; } });
10
12
  var boolean_1 = require("./src/value/boolean");
11
13
  Object.defineProperty(exports, "sassFalse", { enumerable: true, get: function () { return boolean_1.sassFalse; } });
12
14
  Object.defineProperty(exports, "sassTrue", { enumerable: true, get: function () { return boolean_1.sassTrue; } });
13
15
  var color_1 = require("./src/value/color");
14
16
  Object.defineProperty(exports, "SassColor", { enumerable: true, get: function () { return color_1.SassColor; } });
15
- var list_1 = require("./src/value/list");
16
- Object.defineProperty(exports, "SassList", { enumerable: true, get: function () { return list_1.SassList; } });
17
+ var function_1 = require("./src/value/function");
18
+ Object.defineProperty(exports, "SassFunction", { enumerable: true, get: function () { return function_1.SassFunction; } });
17
19
  var map_1 = require("./src/value/map");
18
20
  Object.defineProperty(exports, "SassMap", { enumerable: true, get: function () { return map_1.SassMap; } });
19
- var null_1 = require("./src/value/null");
20
- Object.defineProperty(exports, "sassNull", { enumerable: true, get: function () { return null_1.sassNull; } });
21
21
  var number_1 = require("./src/value/number");
22
22
  Object.defineProperty(exports, "SassNumber", { enumerable: true, get: function () { return number_1.SassNumber; } });
23
23
  var string_1 = require("./src/value/string");
24
24
  Object.defineProperty(exports, "SassString", { enumerable: true, get: function () { return string_1.SassString; } });
25
+ var value_1 = require("./src/value");
26
+ Object.defineProperty(exports, "Value", { enumerable: true, get: function () { return value_1.Value; } });
27
+ var null_1 = require("./src/value/null");
28
+ Object.defineProperty(exports, "sassNull", { enumerable: true, get: function () { return null_1.sassNull; } });
25
29
  var exception_1 = require("./src/exception");
26
30
  Object.defineProperty(exports, "Exception", { enumerable: true, get: function () { return exception_1.Exception; } });
27
31
  var compile_1 = require("./src/compile");
@@ -32,4 +36,7 @@ Object.defineProperty(exports, "compileStringAsync", { enumerable: true, get: fu
32
36
  var legacy_1 = require("./src/legacy");
33
37
  Object.defineProperty(exports, "render", { enumerable: true, get: function () { return legacy_1.render; } });
34
38
  exports.info = `sass-embedded\t${pkg.version}`;
39
+ exports.Logger = {
40
+ silent: { warn() { }, debug() { } },
41
+ };
35
42
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,uCAAuC;AAEvC,qCAAkC;AAA1B,8FAAA,KAAK,OAAA;AACb,+CAAqE;AAAhD,oGAAA,SAAS,OAAA;AAAE,mGAAA,QAAQ,OAAA;AACxC,2CAA4C;AAApC,kGAAA,SAAS,OAAA;AACjB,yCAAyD;AAAlC,gGAAA,QAAQ,OAAA;AAC/B,uCAAwC;AAAhC,8FAAA,OAAO,OAAA;AACf,yCAA0C;AAAlC,gGAAA,QAAQ,OAAA;AAChB,6CAA8C;AAAtC,oGAAA,UAAU,OAAA;AAClB,6CAA8C;AAAtC,oGAAA,UAAU,OAAA;AAElB,6CAA0C;AAAlC,sGAAA,SAAS,OAAA;AACjB,yCAKuB;AAJrB,kGAAA,OAAO,OAAA;AACP,wGAAA,aAAa,OAAA;AACb,uGAAA,YAAY,OAAA;AACZ,6GAAA,kBAAkB,OAAA;AAEpB,uCAAoC;AAA5B,gGAAA,MAAM,OAAA;AAED,QAAA,IAAI,GAAG,kBAAkB,GAAG,CAAC,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,uCAAuC;AAEvC,yCAAyD;AAAlC,gGAAA,QAAQ,OAAA;AAC/B,2DAA2D;AAAnD,iHAAA,gBAAgB,OAAA;AACxB,+CAAqE;AAAhD,oGAAA,SAAS,OAAA;AAAE,mGAAA,QAAQ,OAAA;AACxC,2CAA4C;AAApC,kGAAA,SAAS,OAAA;AACjB,iDAAkD;AAA1C,wGAAA,YAAY,OAAA;AACpB,uCAAwC;AAAhC,8FAAA,OAAO,OAAA;AACf,6CAA8C;AAAtC,oGAAA,UAAU,OAAA;AAClB,6CAA8C;AAAtC,oGAAA,UAAU,OAAA;AAClB,qCAAkC;AAA1B,8FAAA,KAAK,OAAA;AACb,yCAA0C;AAAlC,gGAAA,QAAQ,OAAA;AAEhB,6CAA0C;AAAlC,sGAAA,SAAS,OAAA;AACjB,yCAKuB;AAJrB,kGAAA,OAAO,OAAA;AACP,wGAAA,aAAa,OAAA;AACb,uGAAA,YAAY,OAAA;AACZ,6GAAA,kBAAkB,OAAA;AAEpB,uCAAoC;AAA5B,gGAAA,MAAM,OAAA;AAED,QAAA,IAAI,GAAG,kBAAkB,GAAG,CAAC,OAAO,EAAE,CAAC;AAEvC,QAAA,MAAM,GAAG;IACpB,MAAM,EAAE,EAAC,IAAI,KAAI,CAAC,EAAE,KAAK,KAAI,CAAC,EAAC;CAChC,CAAC"}
@@ -4,7 +4,6 @@
4
4
  // https://opensource.org/licenses/MIT.
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.compileStringAsync = exports.compileAsync = exports.compileString = exports.compile = void 0;
7
- const p = require("path");
8
7
  const supportsColor = require("supports-color");
9
8
  const proto = require("./vendor/embedded-protocol/embedded_sass_pb");
10
9
  const utils = require("./utils");
@@ -12,66 +11,58 @@ const async_compiler_1 = require("./async-compiler");
12
11
  const dispatcher_1 = require("./dispatcher");
13
12
  const exception_1 = require("./exception");
14
13
  const function_registry_1 = require("./function-registry");
14
+ const importer_registry_1 = require("./importer-registry");
15
15
  const message_transformer_1 = require("./message-transformer");
16
16
  const packet_transformer_1 = require("./packet-transformer");
17
17
  const sync_compiler_1 = require("./sync-compiler");
18
+ const deprotofy_span_1 = require("./deprotofy-span");
18
19
  function compile(path, options) {
19
- // TODO(awjin): Create logger, importer, function registries.
20
- return compileRequestSync(newCompilePathRequest(path, options), options);
20
+ const importers = new importer_registry_1.ImporterRegistry(options);
21
+ return compileRequestSync(newCompilePathRequest(path, importers, options), importers, options);
21
22
  }
22
23
  exports.compile = compile;
23
24
  function compileString(source, options) {
24
- // TODO(awjin): Create logger, importer, function registries.
25
- return compileRequestSync(newCompileStringRequest(source, options), options);
25
+ const importers = new importer_registry_1.ImporterRegistry(options);
26
+ return compileRequestSync(newCompileStringRequest(source, importers, options), importers, options);
26
27
  }
27
28
  exports.compileString = compileString;
28
29
  function compileAsync(path, options) {
29
- // TODO(awjin): Create logger, importer, function registries.
30
- return compileRequestAsync(newCompilePathRequest(path, options), options);
30
+ const importers = new importer_registry_1.ImporterRegistry(options);
31
+ return compileRequestAsync(newCompilePathRequest(path, importers, options), importers, options);
31
32
  }
32
33
  exports.compileAsync = compileAsync;
33
34
  function compileStringAsync(source, options) {
34
- // TODO(awjin): Create logger, importer, function registries.
35
- return compileRequestAsync(newCompileStringRequest(source, options), options);
35
+ const importers = new importer_registry_1.ImporterRegistry(options);
36
+ return compileRequestAsync(newCompileStringRequest(source, importers, options), importers, options);
36
37
  }
37
38
  exports.compileStringAsync = compileStringAsync;
38
39
  // Creates a request for compiling a file.
39
- function newCompilePathRequest(path, options) {
40
- // TODO(awjin): Populate request with importer/function IDs.
41
- const request = newCompileRequest(options);
40
+ function newCompilePathRequest(path, importers, options) {
41
+ const request = newCompileRequest(importers, options);
42
42
  request.setPath(path);
43
43
  return request;
44
44
  }
45
45
  // Creates a request for compiling a string.
46
- function newCompileStringRequest(source, options) {
47
- // TODO(awjin): Populate request with importer/function IDs.
46
+ function newCompileStringRequest(source, importers, options) {
48
47
  var _a;
49
48
  const input = new proto.InboundMessage.CompileRequest.StringInput();
50
49
  input.setSource(source);
51
- switch ((_a = options === null || options === void 0 ? void 0 : options.syntax) !== null && _a !== void 0 ? _a : 'scss') {
52
- case 'scss':
53
- input.setSyntax(proto.Syntax.SCSS);
54
- break;
55
- case 'indented':
56
- input.setSyntax(proto.Syntax.INDENTED);
57
- break;
58
- case 'css':
59
- input.setSyntax(proto.Syntax.CSS);
60
- break;
61
- default:
62
- throw new Error(`Unknown options.syntax: "${options === null || options === void 0 ? void 0 : options.syntax}"`);
63
- }
50
+ input.setSyntax(utils.protofySyntax((_a = options === null || options === void 0 ? void 0 : options.syntax) !== null && _a !== void 0 ? _a : 'scss'));
64
51
  if (options === null || options === void 0 ? void 0 : options.url)
65
52
  input.setUrl(options.url.toString());
66
- const request = newCompileRequest(options);
53
+ if (options && 'importer' in options) {
54
+ input.setImporter(importers.register(options.importer));
55
+ }
56
+ const request = newCompileRequest(importers, options);
67
57
  request.setString(input);
68
58
  return request;
69
59
  }
70
60
  // Creates a compilation request for the given `options` without adding any
71
61
  // input-specific options.
72
- function newCompileRequest(options) {
73
- var _a, _b, _c, _d;
62
+ function newCompileRequest(importers, options) {
63
+ var _a, _b, _c;
74
64
  const request = new proto.InboundMessage.CompileRequest();
65
+ request.setImportersList(importers.importers);
75
66
  request.setGlobalFunctionsList(Object.keys((_a = options === null || options === void 0 ? void 0 : options.functions) !== null && _a !== void 0 ? _a : {}));
76
67
  request.setSourceMap(!!(options === null || options === void 0 ? void 0 : options.sourceMap));
77
68
  request.setAlertColor((_b = options === null || options === void 0 ? void 0 : options.alertColor) !== null && _b !== void 0 ? _b : !!supportsColor.stdout);
@@ -88,37 +79,24 @@ function newCompileRequest(options) {
88
79
  default:
89
80
  throw new Error(`Unknown options.style: "${options === null || options === void 0 ? void 0 : options.style}"`);
90
81
  }
91
- for (const path of (_d = options === null || options === void 0 ? void 0 : options.loadPaths) !== null && _d !== void 0 ? _d : []) {
92
- const importer = new proto.InboundMessage.CompileRequest.Importer();
93
- importer.setPath(p.resolve(path));
94
- request.addImporters(importer);
95
- }
96
82
  return request;
97
83
  }
98
84
  // Spins up a compiler, then sends it a compile request. Returns a promise that
99
85
  // resolves with the CompileResult. Throws if there were any protocol or
100
86
  // compilation errors. Shuts down the compiler after compilation.
101
- async function compileRequestAsync(request, options) {
102
- const functionRegistry = new function_registry_1.FunctionRegistry(options === null || options === void 0 ? void 0 : options.functions);
87
+ async function compileRequestAsync(request, importers, options) {
88
+ const functions = new function_registry_1.FunctionRegistry(options === null || options === void 0 ? void 0 : options.functions);
103
89
  const embeddedCompiler = new async_compiler_1.AsyncEmbeddedCompiler();
104
90
  try {
105
- // TODO(awjin): Pass import and function registries' handler functions to
106
- // dispatcher.
107
91
  const dispatcher = createDispatcher(embeddedCompiler.stdout$, buffer => {
108
92
  embeddedCompiler.writeStdin(buffer);
109
93
  }, {
110
- handleImportRequest: () => {
111
- throw Error('Custom importers not yet implemented.');
112
- },
113
- handleFileImportRequest: () => {
114
- throw Error('Custom file importers not yet implemented.');
115
- },
116
- handleCanonicalizeRequest: () => {
117
- throw Error('Canonicalize not yet implemented.');
118
- },
119
- handleFunctionCallRequest: request => functionRegistry.call(request),
94
+ handleImportRequest: request => importers.import(request),
95
+ handleFileImportRequest: request => importers.fileImport(request),
96
+ handleCanonicalizeRequest: request => importers.canonicalize(request),
97
+ handleFunctionCallRequest: request => functions.call(request),
120
98
  });
121
- // TODO(awjin): Subscribe logger to dispatcher's log events.
99
+ dispatcher.logEvents$.subscribe(event => handleLogEvent(options, event));
122
100
  return handleCompileResponse(await new Promise((resolve, reject) => dispatcher.sendCompileRequest(request, (err, response) => {
123
101
  if (err) {
124
102
  reject(err);
@@ -136,27 +114,19 @@ async function compileRequestAsync(request, options) {
136
114
  // Spins up a compiler, then sends it a compile request. Returns a promise that
137
115
  // resolves with the CompileResult. Throws if there were any protocol or
138
116
  // compilation errors. Shuts down the compiler after compilation.
139
- function compileRequestSync(request, options) {
140
- const functionRegistry = new function_registry_1.FunctionRegistry(options === null || options === void 0 ? void 0 : options.functions);
117
+ function compileRequestSync(request, importers, options) {
118
+ const functions = new function_registry_1.FunctionRegistry(options === null || options === void 0 ? void 0 : options.functions);
141
119
  const embeddedCompiler = new sync_compiler_1.SyncEmbeddedCompiler();
142
120
  try {
143
- // TODO(awjin): Pass import and function registries' handler functions to
144
- // dispatcher.
145
121
  const dispatcher = createDispatcher(embeddedCompiler.stdout$, buffer => {
146
122
  embeddedCompiler.writeStdin(buffer);
147
123
  }, {
148
- handleImportRequest: () => {
149
- throw Error('Custom importers not yet implemented.');
150
- },
151
- handleFileImportRequest: () => {
152
- throw Error('Custom file importers not yet implemented.');
153
- },
154
- handleCanonicalizeRequest: () => {
155
- throw Error('Canonicalize not yet implemented.');
156
- },
157
- handleFunctionCallRequest: request => functionRegistry.call(request),
124
+ handleImportRequest: request => importers.import(request),
125
+ handleFileImportRequest: request => importers.fileImport(request),
126
+ handleCanonicalizeRequest: request => importers.canonicalize(request),
127
+ handleFunctionCallRequest: request => functions.call(request),
158
128
  });
159
- // TODO(awjin): Subscribe logger to dispatcher's log events.
129
+ dispatcher.logEvents$.subscribe(event => handleLogEvent(options, event));
160
130
  let error;
161
131
  let response;
162
132
  dispatcher.sendCompileRequest(request, (error_, response_) => {
@@ -190,6 +160,37 @@ function createDispatcher(stdout, writeStdin, handlers) {
190
160
  const messageTransformer = new message_transformer_1.MessageTransformer(packetTransformer.outboundProtobufs$, packet => packetTransformer.writeInboundProtobuf(packet));
191
161
  return new dispatcher_1.Dispatcher(messageTransformer.outboundMessages$, message => messageTransformer.writeInboundMessage(message), handlers);
192
162
  }
163
+ /** Handles a log event according to `options`. */
164
+ function handleLogEvent(options, event) {
165
+ var _a, _b;
166
+ if (event.getType() === proto.LogEventType.DEBUG) {
167
+ if ((_a = options === null || options === void 0 ? void 0 : options.logger) === null || _a === void 0 ? void 0 : _a.debug) {
168
+ options.logger.debug(event.getMessage(), {
169
+ span: (0, deprotofy_span_1.deprotofySourceSpan)(event.getSpan()),
170
+ });
171
+ }
172
+ else {
173
+ console.error(event.getFormatted());
174
+ }
175
+ }
176
+ else {
177
+ if ((_b = options === null || options === void 0 ? void 0 : options.logger) === null || _b === void 0 ? void 0 : _b.warn) {
178
+ const params = {
179
+ deprecation: event.getType() === proto.LogEventType.DEPRECATION_WARNING,
180
+ };
181
+ const spanProto = event.getSpan();
182
+ if (spanProto)
183
+ params.span = (0, deprotofy_span_1.deprotofySourceSpan)(spanProto);
184
+ const stack = event.getStackTrace();
185
+ if (stack)
186
+ params.stack = stack;
187
+ options.logger.warn(event.getMessage(), params);
188
+ }
189
+ else {
190
+ console.error(event.getFormatted());
191
+ }
192
+ }
193
+ }
193
194
  /**
194
195
  * Converts a `CompileResponse` into a `CompileResult`.
195
196
  *
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../lib/src/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../lib/src/compile.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,19 @@ const embedded_sass_pb_1 = require("./vendor/embedded-protocol/embedded_sass_pb"
10
10
  const utils_1 = require("./utils");
11
11
  const protofier_1 = require("./protofier");
12
12
  const value_1 = require("./value");
13
+ /**
14
+ * The next ID to use for a function. The embedded protocol requires that
15
+ * function IDs be globally unique.
16
+ */
17
+ let nextFunctionID = 0;
18
+ /**
19
+ * Tracks functions that are defined on the host so that the compiler can
20
+ * execute them.
21
+ */
13
22
  class FunctionRegistry {
14
23
  constructor(functionsBySignature) {
15
24
  this.functionsByName = new Map();
16
- this.functionsById = new Array();
25
+ this.functionsById = new Map();
17
26
  this.idsByFunction = new Map();
18
27
  for (const [signature, fn] of Object.entries(functionsBySignature !== null && functionsBySignature !== void 0 ? functionsBySignature : {})) {
19
28
  const openParen = signature.indexOf('(');
@@ -26,8 +35,9 @@ class FunctionRegistry {
26
35
  /** Registers `fn` as a function that can be called using the returned ID. */
27
36
  register(fn) {
28
37
  return utils.putIfAbsent(this.idsByFunction, fn, () => {
29
- const id = this.functionsById.length;
30
- this.functionsById.push(fn);
38
+ const id = nextFunctionID;
39
+ nextFunctionID += 1;
40
+ this.functionsById.set(id, fn);
31
41
  return id;
32
42
  });
33
43
  }
@@ -35,7 +45,7 @@ class FunctionRegistry {
35
45
  * Returns the function to which `request` refers and returns its response.
36
46
  */
37
47
  call(request) {
38
- const protofier = new protofier_1.Protofier();
48
+ const protofier = new protofier_1.Protofier(this);
39
49
  const fn = this.get(request);
40
50
  return (0, utils_1.catchOr)(() => {
41
51
  return (0, utils_1.thenOr)(fn(request
@@ -50,6 +60,7 @@ class FunctionRegistry {
50
60
  }
51
61
  const response = new embedded_sass_pb_1.InboundMessage.FunctionCallResponse();
52
62
  response.setSuccess(protofier.protofy(result));
63
+ response.setAccessedArgumentListsList(protofier.accessedArgumentLists);
53
64
  return response;
54
65
  });
55
66
  }, error => {
@@ -69,7 +80,7 @@ class FunctionRegistry {
69
80
  `named "${request.getName()}"`);
70
81
  }
71
82
  else {
72
- const fn = this.functionsById[request.getFunctionId()];
83
+ const fn = this.functionsById.get(request.getFunctionId());
73
84
  if (fn)
74
85
  return fn;
75
86
  throw new Error('Invalid OutboundMessage.FunctionCallRequest: there is no function ' +
@@ -1 +1 @@
1
- {"version":3,"file":"function-registry.js","sourceRoot":"","sources":["../../../lib/src/function-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function-registry.js","sourceRoot":"","sources":["../../../lib/src/function-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ // Copyright 2021 Google LLC. 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.ImporterRegistry = void 0;
7
+ const p = require("path");
8
+ const url_1 = require("url");
9
+ const util_1 = require("util");
10
+ const utils = require("./utils");
11
+ const embedded_sass_pb_1 = require("./vendor/embedded-protocol/embedded_sass_pb");
12
+ const utils_1 = require("./utils");
13
+ /**
14
+ * A registry of importers defined in the host that can be invoked by the
15
+ * compiler.
16
+ */
17
+ class ImporterRegistry {
18
+ constructor(options) {
19
+ var _a, _b;
20
+ /** A map from importer IDs to their corresponding importers. */
21
+ this.importersById = new Map();
22
+ /** A map from file importer IDs to their corresponding importers. */
23
+ this.fileImportersById = new Map();
24
+ /** The next ID to use for an importer. */
25
+ this.id = 0;
26
+ this.importers = ((_a = options === null || options === void 0 ? void 0 : options.importers) !== null && _a !== void 0 ? _a : [])
27
+ .map(importer => this.register(importer))
28
+ .concat(((_b = options === null || options === void 0 ? void 0 : options.loadPaths) !== null && _b !== void 0 ? _b : []).map(path => {
29
+ const proto = new embedded_sass_pb_1.InboundMessage.CompileRequest.Importer();
30
+ proto.setPath(p.resolve(path));
31
+ return proto;
32
+ }));
33
+ }
34
+ /** Converts an importer to a proto without adding it to `this.importers`. */
35
+ register(importer) {
36
+ const proto = new embedded_sass_pb_1.InboundMessage.CompileRequest.Importer();
37
+ if ('canonicalize' in importer) {
38
+ if ('findFileUrl' in importer) {
39
+ throw new Error('Importer may not contain both canonicalize() and findFileUrl(): ' +
40
+ (0, util_1.inspect)(importer));
41
+ }
42
+ proto.setImporterId(this.id);
43
+ this.importersById.set(this.id, importer);
44
+ }
45
+ else {
46
+ proto.setFileImporterId(this.id);
47
+ this.fileImportersById.set(this.id, importer);
48
+ }
49
+ this.id += 1;
50
+ return proto;
51
+ }
52
+ /** Handles a canonicalization request. */
53
+ canonicalize(request) {
54
+ const importer = this.importersById.get(request.getImporterId());
55
+ if (!importer) {
56
+ throw utils.compilerError('Unknown CanonicalizeRequest.importer_id');
57
+ }
58
+ return (0, utils_1.catchOr)(() => {
59
+ return (0, utils_1.thenOr)(importer.canonicalize(request.getUrl(), {
60
+ fromImport: request.getFromImport(),
61
+ }), url => {
62
+ const proto = new embedded_sass_pb_1.InboundMessage.CanonicalizeResponse();
63
+ if (url !== null)
64
+ proto.setUrl(url.toString());
65
+ return proto;
66
+ });
67
+ }, error => {
68
+ const proto = new embedded_sass_pb_1.InboundMessage.CanonicalizeResponse();
69
+ proto.setError(`${error}`);
70
+ return proto;
71
+ });
72
+ }
73
+ /** Handles an import request. */
74
+ import(request) {
75
+ const importer = this.importersById.get(request.getImporterId());
76
+ if (!importer) {
77
+ throw utils.compilerError('Unknown ImportRequest.importer_id');
78
+ }
79
+ return (0, utils_1.catchOr)(() => {
80
+ return (0, utils_1.thenOr)(importer.load(new url_1.URL(request.getUrl())), result => {
81
+ const proto = new embedded_sass_pb_1.InboundMessage.ImportResponse();
82
+ if (result) {
83
+ const success = new embedded_sass_pb_1.InboundMessage.ImportResponse.ImportSuccess();
84
+ success.setContents(result.contents);
85
+ success.setSyntax(utils.protofySyntax(result.syntax));
86
+ if (result.sourceMapUrl) {
87
+ success.setSourceMapUrl(result.sourceMapUrl.toString());
88
+ }
89
+ proto.setSuccess(success);
90
+ }
91
+ return proto;
92
+ });
93
+ }, error => {
94
+ const proto = new embedded_sass_pb_1.InboundMessage.ImportResponse();
95
+ proto.setError(`${error}`);
96
+ return proto;
97
+ });
98
+ }
99
+ /** Handles a file import request. */
100
+ fileImport(request) {
101
+ const importer = this.fileImportersById.get(request.getImporterId());
102
+ if (!importer) {
103
+ throw utils.compilerError('Unknown FileImportRequest.importer_id');
104
+ }
105
+ return (0, utils_1.catchOr)(() => {
106
+ return (0, utils_1.thenOr)(importer.findFileUrl(request.getUrl(), {
107
+ fromImport: request.getFromImport(),
108
+ }), url => {
109
+ const proto = new embedded_sass_pb_1.InboundMessage.FileImportResponse();
110
+ if (url) {
111
+ if (url.protocol !== 'file:') {
112
+ throw (`FileImporter ${(0, util_1.inspect)(importer)} returned non-file: URL ` +
113
+ +`"${url}" for URL "${request.getUrl()}".`);
114
+ }
115
+ proto.setFileUrl(url.toString());
116
+ }
117
+ return proto;
118
+ });
119
+ }, error => {
120
+ const proto = new embedded_sass_pb_1.InboundMessage.FileImportResponse();
121
+ proto.setError(`${error}`);
122
+ return proto;
123
+ });
124
+ }
125
+ }
126
+ exports.ImporterRegistry = ImporterRegistry;
127
+ //# sourceMappingURL=importer-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importer-registry.js","sourceRoot":"","sources":["../../../lib/src/importer-registry.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,0BAA0B;AAC1B,6BAAwB;AACxB,+BAA6B;AAE7B,iCAAiC;AAEjC,kFAGqD;AACrD,mCAAmD;AAEnD;;;GAGG;AACH,MAAa,gBAAgB;IAa3B,YAAY,OAAuB;;QATnC,gEAAgE;QAC/C,kBAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;QAEnE,qEAAqE;QACpD,sBAAiB,GAAG,IAAI,GAAG,EAA8B,CAAC;QAE3E,0CAA0C;QAClC,OAAE,GAAG,CAAC,CAAC;QAGb,IAAI,CAAC,SAAS,GAAG,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,EAAE,CAAC;aACxC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACxC,MAAM,CACL,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACpC,MAAM,KAAK,GAAG,IAAI,iCAAc,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC3D,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CACH,CAAC;IACN,CAAC;IAED,6EAA6E;IAC7E,QAAQ,CACN,QAA6C;QAE7C,MAAM,KAAK,GAAG,IAAI,iCAAc,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC3D,IAAI,cAAc,IAAI,QAAQ,EAAE;YAC9B,IAAI,aAAa,IAAI,QAAQ,EAAE;gBAC7B,MAAM,IAAI,KAAK,CACb,kEAAkE;oBAChE,IAAA,cAAO,EAAC,QAAQ,CAAC,CACpB,CAAC;aACH;YAED,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;SAC3C;aAAM;YACL,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;SAC/C;QACD,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0CAA0C;IAC1C,YAAY,CACV,OAA4C;QAE5C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,KAAK,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC;SACtE;QAED,OAAO,IAAA,eAAO,EACZ,GAAG,EAAE;YACH,OAAO,IAAA,cAAM,EACX,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;gBACtC,UAAU,EAAE,OAAO,CAAC,aAAa,EAAE;aACpC,CAAC,EACF,GAAG,CAAC,EAAE;gBACJ,MAAM,KAAK,GAAG,IAAI,iCAAc,CAAC,oBAAoB,EAAE,CAAC;gBACxD,IAAI,GAAG,KAAK,IAAI;oBAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC/C,OAAO,KAAK,CAAC;YACf,CAAC,CACF,CAAC;QACJ,CAAC,EACD,KAAK,CAAC,EAAE;YACN,MAAM,KAAK,GAAG,IAAI,iCAAc,CAAC,oBAAoB,EAAE,CAAC;YACxD,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,MAAM,CACJ,OAAsC;QAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,KAAK,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;SAChE;QAED,OAAO,IAAA,eAAO,EACZ,GAAG,EAAE;YACH,OAAO,IAAA,cAAM,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE;gBAC/D,MAAM,KAAK,GAAG,IAAI,iCAAc,CAAC,cAAc,EAAE,CAAC;gBAClD,IAAI,MAAM,EAAE;oBACV,MAAM,OAAO,GAAG,IAAI,iCAAc,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;oBAClE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACrC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;oBACtD,IAAI,MAAM,CAAC,YAAY,EAAE;wBACvB,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;qBACzD;oBACD,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;iBAC3B;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC,EACD,KAAK,CAAC,EAAE;YACN,MAAM,KAAK,GAAG,IAAI,iCAAc,CAAC,cAAc,EAAE,CAAC;YAClD,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,UAAU,CACR,OAA0C;QAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,KAAK,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC;SACpE;QAED,OAAO,IAAA,eAAO,EACZ,GAAG,EAAE;YACH,OAAO,IAAA,cAAM,EACX,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;gBACrC,UAAU,EAAE,OAAO,CAAC,aAAa,EAAE;aACpC,CAAC,EACF,GAAG,CAAC,EAAE;gBACJ,MAAM,KAAK,GAAG,IAAI,iCAAc,CAAC,kBAAkB,EAAE,CAAC;gBACtD,IAAI,GAAG,EAAE;oBACP,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE;wBAC5B,MAAM,CACJ,gBAAgB,IAAA,cAAO,EAAC,QAAQ,CAAC,0BAA0B;4BAC3D,CAAC,IAAI,GAAG,cAAc,OAAO,CAAC,MAAM,EAAE,IAAI,CAC3C,CAAC;qBACH;oBACD,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;iBAClC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CACF,CAAC;QACJ,CAAC,EACD,KAAK,CAAC,EAAE;YACN,MAAM,KAAK,GAAG,IAAI,iCAAc,CAAC,kBAAkB,EAAE,CAAC;YACtD,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AApJD,4CAoJC"}
@@ -7,7 +7,9 @@ exports.Protofier = void 0;
7
7
  const immutable_1 = require("immutable");
8
8
  const proto = require("./vendor/embedded-protocol/embedded_sass_pb");
9
9
  const utils = require("./utils");
10
+ const argument_list_1 = require("./value/argument-list");
10
11
  const color_1 = require("./value/color");
12
+ const function_1 = require("./value/function");
11
13
  const list_1 = require("./value/list");
12
14
  const map_1 = require("./value/map");
13
15
  const number_1 = require("./value/number");
@@ -21,6 +23,26 @@ const boolean_1 = require("./value/boolean");
21
23
  * custom function call.
22
24
  */
23
25
  class Protofier {
26
+ constructor(
27
+ /**
28
+ * The registry of custom functions that can be invoked by the compiler.
29
+ * This is used to register first-class functions so that the compiler may
30
+ * invoke them.
31
+ */
32
+ functions) {
33
+ this.functions = functions;
34
+ /** All the argument lists returned by `deprotofy()`. */
35
+ this.argumentLists = [];
36
+ }
37
+ /**
38
+ * Returns IDs of all argument lists passed to `deprotofy()` whose keywords
39
+ * have been accessed.
40
+ */
41
+ get accessedArgumentLists() {
42
+ return this.argumentLists
43
+ .filter(list => list.keywordsAccessed)
44
+ .map(list => list.id);
45
+ }
24
46
  /** Converts `value` to its protocol buffer representation. */
25
47
  protofy(value) {
26
48
  const result = new proto.Value();
@@ -60,6 +82,19 @@ class Protofier {
60
82
  }
61
83
  result.setList(list);
62
84
  }
85
+ else if (value instanceof argument_list_1.SassArgumentList) {
86
+ const list = new proto.Value.ArgumentList();
87
+ list.setId(value.id);
88
+ list.setSeparator(this.protofySeparator(value.separator));
89
+ for (const element of value.asList) {
90
+ list.addContents(this.protofy(element));
91
+ }
92
+ const keywords = list.getKeywordsMap();
93
+ for (const [key, mapValue] of value.keywordsInternal) {
94
+ keywords.set(key, this.protofy(mapValue));
95
+ }
96
+ result.setArgumentList(list);
97
+ }
63
98
  else if (value instanceof map_1.SassMap) {
64
99
  const map = new proto.Value.Map();
65
100
  for (const [key, mapValue] of value.contents) {
@@ -70,6 +105,19 @@ class Protofier {
70
105
  }
71
106
  result.setMap(map);
72
107
  }
108
+ else if (value instanceof function_1.SassFunction) {
109
+ if (value.id !== undefined) {
110
+ const fn = new proto.Value.CompilerFunction();
111
+ fn.setId(value.id);
112
+ result.setCompilerFunction(fn);
113
+ }
114
+ else {
115
+ const fn = new proto.Value.HostFunction();
116
+ fn.setId(this.functions.register(value.callback));
117
+ fn.setSignature(value.signature);
118
+ result.setHostFunction(fn);
119
+ }
120
+ }
73
121
  else if (value === boolean_1.sassTrue) {
74
122
  result.setSingleton(proto.SingletonValue.TRUE);
75
123
  }
@@ -150,6 +198,21 @@ class Protofier {
150
198
  }
151
199
  return new list_1.SassList(contents.map(element => this.deprotofy(element)), { separator, brackets: list.getHasBrackets() });
152
200
  }
201
+ case proto.Value.ValueCase.ARGUMENT_LIST: {
202
+ const list = value.getArgumentList();
203
+ const separator = this.deprotofySeparator(list.getSeparator());
204
+ const contents = list.getContentsList();
205
+ if (separator === null && contents.length > 1) {
206
+ throw utils.compilerError(`Value.List ${list} can't have an undecided separator because it ` +
207
+ `has ${contents.length} elements`);
208
+ }
209
+ const result = new argument_list_1.SassArgumentList(contents.map(element => this.deprotofy(element)), (0, immutable_1.OrderedMap)([...list.getKeywordsMap().entries()].map(([key, value]) => [
210
+ key,
211
+ this.deprotofy(value),
212
+ ])), separator, list.getId());
213
+ this.argumentLists.push(result);
214
+ return result;
215
+ }
153
216
  case proto.Value.ValueCase.MAP:
154
217
  return new map_1.SassMap((0, immutable_1.OrderedMap)(value
155
218
  .getMap()
@@ -163,6 +226,10 @@ class Protofier {
163
226
  throw utils.mandatoryError('Value.Map.Entry.value');
164
227
  return [this.deprotofy(key), this.deprotofy(value)];
165
228
  })));
229
+ case proto.Value.ValueCase.COMPILER_FUNCTION:
230
+ return new function_1.SassFunction(value.getCompilerFunction().getId());
231
+ case proto.Value.ValueCase.HOST_FUNCTION:
232
+ throw utils.compilerError('The compiler may not send Value.host_function.');
166
233
  case proto.Value.ValueCase.SINGLETON:
167
234
  switch (value.getSingleton()) {
168
235
  case proto.SingletonValue.TRUE:
@@ -1 +1 @@
1
- {"version":3,"file":"protofier.js","sourceRoot":"","sources":["../../../lib/src/protofier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protofier.js","sourceRoot":"","sources":["../../../lib/src/protofier.ts"],"names":[],"mappings":"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"}
@@ -3,16 +3,25 @@
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.putIfAbsent = exports.withoutExtension = exports.pathToUrlString = exports.valueError = exports.hostError = exports.mandatoryError = exports.compilerError = exports.asImmutableList = exports.isNullOrUndefined = exports.catchOr = exports.thenOr = void 0;
6
+ exports.putIfAbsent = exports.protofySyntax = 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
+ const proto = require("./vendor/embedded-protocol/embedded_sass_pb");
11
+ /**
12
+ * The equivalent of `Promise.then()`, except that if the first argument is a
13
+ * plain value it synchronously invokes `callback()` and returns its result.
14
+ */
10
15
  function thenOr(promiseOrValue, callback) {
11
16
  return promiseOrValue instanceof Promise
12
17
  ? promiseOrValue.then(callback)
13
18
  : callback(promiseOrValue);
14
19
  }
15
20
  exports.thenOr = thenOr;
21
+ /**
22
+ * The equivalent of `Promise.catch()`, except that if the first argument throws
23
+ * synchronously it synchronously invokes `callback()` and returns its result.
24
+ */
16
25
  function catchOr(promiseOrValueCallback, callback) {
17
26
  try {
18
27
  const result = promiseOrValueCallback();
@@ -72,6 +81,20 @@ function withoutExtension(path) {
72
81
  return path.substring(0, path.length - extension.length);
73
82
  }
74
83
  exports.withoutExtension = withoutExtension;
84
+ /** Converts a JS syntax string into a protobuf syntax enum. */
85
+ function protofySyntax(syntax) {
86
+ switch (syntax) {
87
+ case 'scss':
88
+ return proto.Syntax.SCSS;
89
+ case 'indented':
90
+ return proto.Syntax.INDENTED;
91
+ case 'css':
92
+ return proto.Syntax.CSS;
93
+ default:
94
+ throw new Error(`Unknown syntax: "${syntax}"`);
95
+ }
96
+ }
97
+ exports.protofySyntax = protofySyntax;
75
98
  /**
76
99
  * Dart-style utility. See
77
100
  * http://go/dart-api/stable/2.8.4/dart-core/Map/putIfAbsent.html.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/src/utils.ts"],"names":[],"mappings":"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"}
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;AAE3B,qEAAqE;AAQrE;;;GAGG;AACH,SAAgB,MAAM,CACpB,cAAkC,EAClC,QAA0C;IAE1C,OAAO,cAAc,YAAY,OAAO;QACtC,CAAC,CAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAwB;QACvD,CAAC,CAAC,QAAQ,CAAC,cAAmB,CAAC,CAAC;AACpC,CAAC;AAPD,wBAOC;AAED;;;GAGG;AACH,SAAgB,OAAO,CACrB,sBAAgD,EAChD,QAAgD;IAEhD,IAAI;QACF,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAC;QACxC,OAAO,MAAM,YAAY,OAAO;YAC9B,CAAC,CAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAwB;YAChD,CAAC,CAAC,MAAM,CAAC;KACZ;IAAC,OAAO,KAAc,EAAE;QACvB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;KACxB;AACH,CAAC;AAZD,0BAYC;AAED,oCAAoC;AACpC,SAAgB,iBAAiB,CAC/B,MAA4B;IAE5B,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC;AACjD,CAAC;AAJD,8CAIC;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;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAO,aAAa,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC;AAFD,wCAEC;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;AAED,+DAA+D;AAC/D,SAAgB,aAAa,CAC3B,MAAc;IAEd,QAAQ,MAAM,EAAE;QACd,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;QAE3B,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;QAE/B,KAAK,KAAK;YACR,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;QAE1B;YACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,GAAG,CAAC,CAAC;KAClD;AACH,CAAC;AAhBD,sCAgBC;AAED;;;GAGG;AACH,SAAgB,WAAW,CACzB,GAAc,EACd,GAAM,EACN,QAAiB;IAEjB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,GAAG,KAAK,SAAS,EAAE;QACrB,OAAO,GAAG,CAAC;KACZ;SAAM;QACL,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC1B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACrB,OAAO,MAAM,CAAC;KACf;AACH,CAAC;AAbD,kCAaC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ // Copyright 2021 Google LLC. 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.SassArgumentList = void 0;
7
+ const immutable_1 = require("immutable");
8
+ const list_1 = require("./list");
9
+ class SassArgumentList extends list_1.SassList {
10
+ constructor(contents, keywords, separator, id) {
11
+ super(contents, { separator });
12
+ /**
13
+ * Whether the `keywords` getter has been accessed.
14
+ *
15
+ * This is marked as public so that the protofier can access it, but it's not
16
+ * part of the package's public API and should not be accessed by user code.
17
+ * It may be renamed or removed without warning in the future.
18
+ */
19
+ this.keywordsAccessed = false;
20
+ this.keywordsInternal = (0, immutable_1.isOrderedMap)(keywords)
21
+ ? keywords
22
+ : (0, immutable_1.OrderedMap)(keywords);
23
+ this.id = id !== null && id !== void 0 ? id : 0;
24
+ }
25
+ get keywords() {
26
+ this.keywordsAccessed = true;
27
+ return this.keywordsInternal;
28
+ }
29
+ }
30
+ exports.SassArgumentList = SassArgumentList;
31
+ //# sourceMappingURL=argument-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"argument-list.js","sourceRoot":"","sources":["../../../../lib/src/value/argument-list.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,yCAAyD;AAEzD,iCAA+C;AAG/C,MAAa,gBAAiB,SAAQ,eAAQ;IAsC5C,YACE,QAA+B,EAC/B,QAA2D,EAC3D,SAAyB,EACzB,EAAW;QAEX,KAAK,CAAC,QAAQ,EAAE,EAAC,SAAS,EAAC,CAAC,CAAC;QApB/B;;;;;;WAMG;QACH,qBAAgB,GAAG,KAAK,CAAC;QAcvB,IAAI,CAAC,gBAAgB,GAAG,IAAA,wBAAY,EAAC,QAAQ,CAAC;YAC5C,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAA,sBAAU,EAAC,QAAQ,CAAC,CAAC;QACzB,IAAI,CAAC,EAAE,GAAG,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,CAAC,CAAC;IACpB,CAAC;IAhBD,IAAI,QAAQ;QACV,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;CAcF;AAlDD,4CAkDC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ // Copyright 2021 Google LLC. 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.SassFunction = void 0;
7
+ const immutable_1 = require("immutable");
8
+ const index_1 = require("./index");
9
+ /** A first-class SassScript function. */
10
+ class SassFunction extends index_1.Value {
11
+ constructor(idOrSignature, callback) {
12
+ super();
13
+ if (typeof idOrSignature === 'number') {
14
+ this.id = idOrSignature;
15
+ }
16
+ else {
17
+ this.signature = idOrSignature;
18
+ this.callback = callback;
19
+ }
20
+ }
21
+ equals(other) {
22
+ return this.id === undefined
23
+ ? other === this
24
+ : other instanceof SassFunction && other.id === this.id;
25
+ }
26
+ hashCode() {
27
+ return this.id === undefined ? (0, immutable_1.hash)(this.signature) : (0, immutable_1.hash)(this.id);
28
+ }
29
+ toString() {
30
+ return this.signature ? this.signature : `<compiler function ${this.id}>`;
31
+ }
32
+ }
33
+ exports.SassFunction = SassFunction;
34
+ //# sourceMappingURL=function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../../lib/src/value/function.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,yCAA+B;AAG/B,mCAA8B;AAE9B,yCAAyC;AACzC,MAAa,YAAa,SAAQ,aAAK;IAiCrC,YACE,aAA8B,EAC9B,QAAiC;QAEjC,KAAK,EAAE,CAAC;QAER,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;YACrC,IAAI,CAAC,EAAE,GAAG,aAAa,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,QAAS,CAAC;SAC3B;IACH,CAAC;IAED,MAAM,CAAC,KAAY;QACjB,OAAO,IAAI,CAAC,EAAE,KAAK,SAAS;YAC1B,CAAC,CAAC,KAAK,KAAK,IAAI;YAChB,CAAC,CAAC,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;IAC5D,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,IAAI,CAAC,EAAE,GAAG,CAAC;IAC5E,CAAC;CACF;AA5DD,oCA4DC"}
package/dist/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "sass-embedded",
3
- "version": "1.0.0-beta.7",
3
+ "version": "1.0.0-beta.8",
4
4
  "protocol-version": "1.0.0-beta.16",
5
- "compiler-version": "1.0.0-beta.14",
5
+ "compiler-version": "1.0.0-beta.15",
6
6
  "description": "Node.js library that communicates with Embedded Dart Sass using the Embedded Sass protocol",
7
7
  "repository": "sass/embedded-host-node",
8
8
  "author": "Google Inc.",
@@ -59,10 +59,10 @@ const BUILD_PATH = 'build';
59
59
  * if an error occurs.
60
60
  */
61
61
  async function getEmbeddedProtocol(outPath, options) {
62
- var _a;
63
62
  const repo = 'embedded-protocol';
64
- if (!options || 'version' in options) {
65
- const version = (_a = options === null || options === void 0 ? void 0 : options.version) !== null && _a !== void 0 ? _a : pkg['protocol-version'];
63
+ options !== null && options !== void 0 ? options : (options = defaultVersionOption('protocol-version'));
64
+ if ('version' in options) {
65
+ const version = options === null || options === void 0 ? void 0 : options.version;
66
66
  await downloadRelease({
67
67
  repo,
68
68
  assetUrl: `https://github.com/sass/${repo}/archive/${version}${ARCHIVE_EXTENSION}`,
@@ -92,10 +92,10 @@ exports.getEmbeddedProtocol = getEmbeddedProtocol;
92
92
  * if an error occurs.
93
93
  */
94
94
  async function getDartSassEmbedded(outPath, options) {
95
- var _a;
96
95
  const repo = 'dart-sass-embedded';
97
- if (!options || 'version' in options) {
98
- const version = (_a = options === null || options === void 0 ? void 0 : options.version) !== null && _a !== void 0 ? _a : pkg['compiler-version'];
96
+ options !== null && options !== void 0 ? options : (options = defaultVersionOption('compiler-version'));
97
+ if ('version' in options) {
98
+ const version = options === null || options === void 0 ? void 0 : options.version;
99
99
  await downloadRelease({
100
100
  repo,
101
101
  assetUrl: `https://github.com/sass/${repo}/releases/download/` +
@@ -216,6 +216,12 @@ function buildDartSassEmbedded(repoPath) {
216
216
  silent: true,
217
217
  });
218
218
  }
219
+ // Given the name of a field in `package.json`, returns the default version
220
+ // option described by that field.
221
+ function defaultVersionOption(pkgField) {
222
+ const version = pkg[pkgField];
223
+ return version.endsWith('-dev') ? { ref: 'main' } : { version };
224
+ }
219
225
  // Links or copies the contents of `source` into `destination`.
220
226
  async function link(source, destination) {
221
227
  await cleanDir(destination);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../tool/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../tool/utils.ts"],"names":[],"mappings":"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"}
@@ -68,9 +68,10 @@ export type LegacySyncFunction = (
68
68
  * });
69
69
  * ```
70
70
  *
71
- * @param args - One argument for each argument that's declared in the signature
72
- * that's passed to [[LegacySharedOptions.functions]]. If the signature [takes
73
- * arbitrary arguments](https://sass-lang.com/documentation/at-rules/function#taking-arbitrary-arguments),
71
+ * This is passed one argument for each argument that's declared in the
72
+ * signature that's passed to [[LegacySharedOptions.functions]]. If the
73
+ * signature [takes arbitrary
74
+ * arguments](https://sass-lang.com/documentation/at-rules/function#taking-arbitrary-arguments),
74
75
  * they're passed as a single argument list in the last argument before the
75
76
  * callback.
76
77
  *
@@ -79,10 +80,57 @@ export type LegacySyncFunction = (
79
80
  * APIs. Use [[CustomFunction]] with [[compile]], [[compileString]],
80
81
  * [[compileAsync]], and [[compileStringAsync]] instead.
81
82
  */
82
- export type LegacyAsyncFunction = (
83
- this: LegacyPluginThis,
84
- ...args: [...LegacyValue[], (result: LegacyValue) => void]
85
- ) => void;
83
+ export type LegacyAsyncFunction =
84
+ | ((this: LegacyPluginThis, done: (result: LegacyValue) => void) => void)
85
+ | ((
86
+ this: LegacyPluginThis,
87
+ arg1: LegacyValue,
88
+ done: (result: LegacyValue) => void
89
+ ) => void)
90
+ | ((
91
+ this: LegacyPluginThis,
92
+ arg1: LegacyValue,
93
+ arg2: LegacyValue,
94
+ done: (result: LegacyValue) => void
95
+ ) => void)
96
+ | ((
97
+ this: LegacyPluginThis,
98
+ arg1: LegacyValue,
99
+ arg2: LegacyValue,
100
+ arg3: LegacyValue,
101
+ done: (result: LegacyValue) => void
102
+ ) => void)
103
+ | ((
104
+ this: LegacyPluginThis,
105
+ arg1: LegacyValue,
106
+ arg2: LegacyValue,
107
+ arg3: LegacyValue,
108
+ arg4: LegacyValue,
109
+ done: (result: LegacyValue) => void
110
+ ) => void)
111
+ | ((
112
+ this: LegacyPluginThis,
113
+ arg1: LegacyValue,
114
+ arg2: LegacyValue,
115
+ arg3: LegacyValue,
116
+ arg4: LegacyValue,
117
+ arg5: LegacyValue,
118
+ done: (result: LegacyValue) => void
119
+ ) => void)
120
+ | ((
121
+ this: LegacyPluginThis,
122
+ arg1: LegacyValue,
123
+ arg2: LegacyValue,
124
+ arg3: LegacyValue,
125
+ arg4: LegacyValue,
126
+ arg5: LegacyValue,
127
+ arg6: LegacyValue,
128
+ done: (result: LegacyValue) => void
129
+ ) => void)
130
+ | ((
131
+ this: LegacyPluginThis,
132
+ ...args: [...LegacyValue[], (result: LegacyValue) => void]
133
+ ) => void);
86
134
 
87
135
  /**
88
136
  * A callback that implements a custom Sass function. For [[renderSync]], this
@@ -13,6 +13,9 @@ export interface LegacyPluginThis {
13
13
  * [[renderSync]].
14
14
  */
15
15
  options: {
16
+ /** The same [[LegacyPluginThis]] instance that contains this object. */
17
+ context: LegacyPluginThis;
18
+
16
19
  /**
17
20
  * The value passed to [[LegacyFileOptions.file]] or
18
21
  * [[LegacyStringOptions.file]].
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "sass-embedded",
3
- "version": "1.0.0-beta.7",
3
+ "version": "1.0.0-beta.8",
4
4
  "protocol-version": "1.0.0-beta.16",
5
- "compiler-version": "1.0.0-beta.14",
5
+ "compiler-version": "1.0.0-beta.15",
6
6
  "description": "Node.js library that communicates with Embedded Dart Sass using the Embedded Sass protocol",
7
7
  "repository": "sass/embedded-host-node",
8
8
  "author": "Google Inc.",