@cichol/sass-bridge 5.4.5 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dists/index.d.ts +7 -10
- package/dists/index.js +4 -5
- package/package.json +9 -15
- package/dists/index.cjs +0 -237
- package/dists/index.d.cts +0 -28
package/dists/index.d.ts
CHANGED
|
@@ -9,20 +9,17 @@ export declare function getFunctions(...moduleImports: Promise<{
|
|
|
9
9
|
default: Constructor;
|
|
10
10
|
}>[]): Promise<Record<string, CustomFunction<'async'>>>;
|
|
11
11
|
|
|
12
|
-
declare type JavaScriptType<Base = Primitives | Color | NumberWithUnit | StringWithQuotes> =
|
|
12
|
+
declare type JavaScriptType<Base = Primitives | Color | NumberWithUnit | StringWithQuotes> =
|
|
13
|
+
| Base
|
|
14
|
+
| JavaScriptType<Base>[]
|
|
15
|
+
| Map<JavaScriptType<Base>, JavaScriptType<Base>>
|
|
13
16
|
|
|
14
|
-
declare type NumberWithUnit = {
|
|
15
|
-
value: number;
|
|
16
|
-
unit: string;
|
|
17
|
-
};
|
|
17
|
+
declare type NumberWithUnit = { value: number, unit: string }
|
|
18
18
|
|
|
19
|
-
declare type Primitives = boolean | number | string | null
|
|
19
|
+
declare type Primitives = boolean | number | string | null
|
|
20
20
|
|
|
21
21
|
export declare function sassFunction(signature: string): <This, Args extends any[], Return extends JavaScriptType>(target: (this: This, ...args: Args) => Return | Promise<Return>, context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Return | Promise<Return>>) => void;
|
|
22
22
|
|
|
23
|
-
declare type StringWithQuotes = {
|
|
24
|
-
value: string;
|
|
25
|
-
quotes: boolean;
|
|
26
|
-
};
|
|
23
|
+
declare type StringWithQuotes = { value: string, quotes: boolean }
|
|
27
24
|
|
|
28
25
|
export { }
|
package/dists/index.js
CHANGED
|
@@ -5,11 +5,10 @@ import _Reflect$apply from 'core-js-pure/features/reflect/apply.js';
|
|
|
5
5
|
import _flatMapInstanceProperty from 'core-js-pure/features/instance/flat-map.js';
|
|
6
6
|
import _filterInstanceProperty from 'core-js-pure/features/instance/filter.js';
|
|
7
7
|
import _Reflect$getPrototypeOf from 'core-js-pure/features/reflect/get-prototype-of.js';
|
|
8
|
-
import _Symbol
|
|
8
|
+
import _Symbol from 'core-js-pure/features/symbol/index.js';
|
|
9
9
|
import _Array$from from 'core-js-pure/features/array/from.js';
|
|
10
10
|
import _entriesInstanceProperty from 'core-js-pure/features/instance/entries.js';
|
|
11
11
|
import _Object$fromEntries from 'core-js-pure/features/object/from-entries.js';
|
|
12
|
-
import _pushInstanceProperty from 'core-js-pure/features/instance/push.js';
|
|
13
12
|
import _fillInstanceProperty from 'core-js-pure/features/instance/fill.js';
|
|
14
13
|
import chroma from 'chroma-js';
|
|
15
14
|
import * as sass from 'sass';
|
|
@@ -78,7 +77,7 @@ function sassToJavaScriptType(sassValue) {
|
|
|
78
77
|
} = sassColor;
|
|
79
78
|
const channels = [...sassColor.channels];
|
|
80
79
|
if (alpha) {
|
|
81
|
-
|
|
80
|
+
channels.push(alpha);
|
|
82
81
|
}
|
|
83
82
|
return chroma(...channels, space);
|
|
84
83
|
}
|
|
@@ -207,9 +206,9 @@ async function getFunctions(...moduleImports) {
|
|
|
207
206
|
const modules = await _Promise.all(_mapInstanceProperty(moduleImports).call(moduleImports, module => module.then(({
|
|
208
207
|
default: Module
|
|
209
208
|
}) => new Module())));
|
|
210
|
-
const entries = _flatMapInstanceProperty(_context = _filterInstanceProperty(_context2 = _mapInstanceProperty(modules).call(modules, module =>
|
|
209
|
+
const entries = _flatMapInstanceProperty(_context = _filterInstanceProperty(_context2 = _mapInstanceProperty(modules).call(modules, module => _Reflect$getPrototypeOf(module)?.constructor?.[_Symbol.metadata]?.functionMap)).call(_context2, functionMap => !!functionMap)).call(_context, functionMap => _Array$from(_entriesInstanceProperty(functionMap).call(functionMap)));
|
|
211
210
|
return _Object$fromEntries(entries);
|
|
212
211
|
}
|
|
213
212
|
|
|
214
213
|
export { getFunctions, sassFunction };
|
|
215
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZXMvdHlwZXMudHMiLCIuLi9zb3VyY2VzL3R5cGUtY29udmVydGVyL3Nhc3MtdG8tamF2YXNjcmlwdC50cyIsIi4uL3NvdXJjZXMvdHlwZS1jb252ZXJ0ZXIvamF2YXNjcmlwdC10by1zYXNzLnRzIiwiLi4vc291cmNlcy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IHR5cGUgeyBDb2xvciB9IGZyb20gJ2Nocm9tYS1qcydcbmltcG9ydCAqIGFzIHNhc3MgZnJvbSAnc2FzcydcblxuLy8gVHlwZSBkZWZpbml0aW9ucy5cbmV4cG9ydCB0eXBlIFByaW1pdGl2ZXMgPSBib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nIHwgbnVsbFxuXG5leHBvcnQgdHlwZSBOdW1iZXJXaXRoVW5pdCA9IHsgdmFsdWU6IG51bWJlciwgdW5pdDogc3RyaW5nIH1cblxuZXhwb3J0IHR5cGUgU3RyaW5nV2l0aFF1b3RlcyA9IHsgdmFsdWU6IHN0cmluZywgcXVvdGVzOiBib29sZWFuIH1cblxuZXhwb3J0IHR5cGUgSmF2YVNjcmlwdFR5cGU8QmFzZSA9IFByaW1pdGl2ZXMgfCBDb2xvciB8IE51bWJlcldpdGhVbml0IHwgU3RyaW5nV2l0aFF1b3Rlcz4gPVxuXHR8IEJhc2Vcblx0fCBKYXZhU2NyaXB0VHlwZTxCYXNlPltdXG5cdHwgTWFwPEphdmFTY3JpcHRUeXBlPEJhc2U+LCBKYXZhU2NyaXB0VHlwZTxCYXNlPj5cblxuZXhwb3J0IGNvbnN0IFNhc3NUUlVFID0gc2Fzcy5zYXNzVHJ1ZVxuZXhwb3J0IHR5cGUgU2Fzc1RSVUUgPSB0eXBlb2YgU2Fzc1RSVUVcblxuZXhwb3J0IGNvbnN0IFNhc3NGQUxTRSA9IHNhc3Muc2Fzc0ZhbHNlXG5leHBvcnQgdHlwZSBTYXNzRkFMU0UgPSB0eXBlb2YgU2Fzc0ZBTFNFXG5cbmV4cG9ydCBjb25zdCBTYXNzTlVMTCA9IHNhc3Muc2Fzc051bGxcbmV4cG9ydCB0eXBlIFNhc3NOVUxMID0gdHlwZW9mIFNhc3NOVUxMXG5cbmV4cG9ydCBjb25zdCB7IFNhc3NOdW1iZXIgfSA9IHNhc3NcbmV4cG9ydCB0eXBlIFNhc3NOdW1iZXIgPSBzYXNzLlNhc3NOdW1iZXJcblxuZXhwb3J0IGNvbnN0IHsgU2Fzc1N0cmluZyB9ID0gc2Fzc1xuZXhwb3J0IHR5cGUgU2Fzc1N0cmluZyA9IHNhc3MuU2Fzc1N0cmluZ1xuXG5leHBvcnQgY29uc3QgeyBTYXNzQ29sb3IgfSA9IHNhc3NcbmV4cG9ydCB0eXBlIFNhc3NDb2xvciA9IHNhc3MuU2Fzc0NvbG9yXG5cbmV4cG9ydCBjb25zdCB7IFNhc3NMaXN0IH0gPSBzYXNzXG5leHBvcnQgdHlwZSBTYXNzTGlzdCA9IHNhc3MuU2Fzc0xpc3RcblxuZXhwb3J0IGNvbnN0IHsgU2Fzc01hcCB9ID0gc2Fzc1xuZXhwb3J0IHR5cGUgU2Fzc01hcCA9IHNhc3MuU2Fzc01hcFxuXG5leHBvcnQgY29uc3QgeyBTYXNzQm9vbGVhbiB9ID0gc2Fzc1xuZXhwb3J0IHR5cGUgU2Fzc0Jvb2xlYW4gPSBzYXNzLlNhc3NCb29sZWFuXG5cbmV4cG9ydCB7IFZhbHVlIGFzIFNhc3NUeXBlIH0gZnJvbSAnc2FzcydcbiIsIi8vIFRoaXJkLXBhcnR5IG1vZHVsZXMuXG5pbXBvcnQgY2hyb21hIGZyb20gJ2Nocm9tYS1qcydcblxuLy8gTG9jYWwgaGVscGVycy5cbmltcG9ydCB7XG5cdHR5cGUgSmF2YVNjcmlwdFR5cGUsXG5cdHR5cGUgU2Fzc1R5cGUsXG5cdFNhc3NCb29sZWFuLFxuXHRTYXNzTnVtYmVyLFxuXHRTYXNzU3RyaW5nLFxuXHRTYXNzQ29sb3IsXG5cdFNhc3NMaXN0LFxuXHRTYXNzTWFwLFxufSBmcm9tICcuLi90eXBlcydcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2Fzc1RvSmF2YVNjcmlwdFR5cGUoc2Fzc1ZhbHVlOiBTYXNzVHlwZSk6IEphdmFTY3JpcHRUeXBlIHtcblx0c3dpdGNoICh0cnVlKSB7XG5cdGNhc2Ugc2Fzc1ZhbHVlIGluc3RhbmNlb2YgU2Fzc0Jvb2xlYW46IHtcblx0XHRyZXR1cm4gc2Fzc1ZhbHVlLnZhbHVlXG5cdH1cblxuXHRjYXNlIHNhc3NWYWx1ZSBpbnN0YW5jZW9mIFNhc3NTdHJpbmc6IHtcblx0XHRyZXR1cm4gc2Fzc1ZhbHVlLnRleHRcblx0fVxuXG5cdGNhc2Ugc2Fzc1ZhbHVlIGluc3RhbmNlb2YgU2Fzc051bWJlcjoge1xuXHRcdGNvbnN0IHsgdmFsdWUsIG51bWVyYXRvclVuaXRzLCBkZW5vbWluYXRvclVuaXRzIH0gPSBzYXNzVmFsdWVcblxuXHRcdGNvbnN0IHVuaXQgPSBzYXNzVmFsdWUuaGFzVW5pdHNcblx0XHRcdD8gbnVtZXJhdG9yVW5pdHMuam9pbignKicpICsgKGRlbm9taW5hdG9yVW5pdHMuc2l6ZSA+IDAgPyBgLyR7ZGVub21pbmF0b3JVbml0cy5qb2luKCcqJyl9YCA6ICcnKVxuXHRcdFx0OiAnJ1xuXG5cdFx0cmV0dXJuIHVuaXQgPyB7IHZhbHVlLCB1bml0IH0gOiB2YWx1ZVxuXHR9XG5cblx0Y2FzZSBzYXNzVmFsdWUgaW5zdGFuY2VvZiBTYXNzQ29sb3I6IHtcblx0XHRjb25zdCBzYXNzQ29sb3IgPSBzYXNzVmFsdWUudG9TcGFjZSgncmdiJylcblx0XHRjb25zdCB7IGFscGhhLCBzcGFjZSB9ID0gc2Fzc0NvbG9yXG5cdFx0Y29uc3QgY2hhbm5lbHMgPSBbIC4uLnNhc3NDb2xvci5jaGFubmVscyBdIGFzIFsgbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyIF1cblxuXHRcdGlmIChhbHBoYSkge1xuXHRcdFx0Y2hhbm5lbHMucHVzaChhbHBoYSlcblx0XHR9XG5cblx0XHRyZXR1cm4gY2hyb21hKC4uLmNoYW5uZWxzLCBzcGFjZSBhcyAncmdiJylcblx0fVxuXG5cdGNhc2Ugc2Fzc1ZhbHVlIGluc3RhbmNlb2YgU2Fzc0xpc3Q6IHtcblx0XHRjb25zdCBsaXN0VmFsdWUgPSBzYXNzVmFsdWUuYXNMaXN0XG5cdFx0Y29uc3QgbGVuZ3RoID0gbGlzdFZhbHVlLnNpemVcblx0XHRjb25zdCBhcnJheSA9IEFycmF5KGxlbmd0aCkuZmlsbCh1bmRlZmluZWQpIGFzIFNhc3NUeXBlW11cblxuXHRcdGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7IGluZGV4ICs9IDEpIHtcblx0XHRcdGFycmF5W2luZGV4XSA9IGxpc3RWYWx1ZS5nZXQoaW5kZXgpIGFzIFNhc3NUeXBlXG5cdFx0fVxuXG5cdFx0cmV0dXJuIGFycmF5Lm1hcCh2YWx1ZSA9PiBzYXNzVG9KYXZhU2NyaXB0VHlwZSh2YWx1ZSkpXG5cdH1cblxuXHRjYXNlIHNhc3NWYWx1ZSBpbnN0YW5jZW9mIFNhc3NNYXA6IHtcblx0XHRjb25zdCBtYXBWYWx1ZSA9IHNhc3NWYWx1ZS5jb250ZW50c1xuXG5cdFx0Y29uc3QgZW50cmllcyA9IEFycmF5LmZyb20obWFwVmFsdWUuZW50cmllcygpKVxuXHRcdFx0Lm1hcCgoWyBrZXksIHZhbHVlIF0pID0+IFsgc2Fzc1RvSmF2YVNjcmlwdFR5cGUoa2V5KSwgc2Fzc1RvSmF2YVNjcmlwdFR5cGUodmFsdWUpIF0pXG5cblx0XHRyZXR1cm4gbmV3IE1hcChlbnRyaWVzIGFzIFtKYXZhU2NyaXB0VHlwZSwgSmF2YVNjcmlwdFR5cGVdW10pXG5cdH1cblxuXHRkZWZhdWx0OiB7XG5cdFx0cmV0dXJuIG51bGxcblx0fVxuXHR9XG59XG4iLCIvLyBOb2RlLmpzIGJ1aWx0LWluIEFQSXMuXG5pbXBvcnQgdXRpbCBmcm9tICd1dGlsJ1xuXG4vLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IEltbXV0YWJsZSBmcm9tICdpbW11dGFibGUnXG5cbi8vIExvY2FsIGhlbHBlcnMuXG5pbXBvcnQge1xuXHR0eXBlIE51bWJlcldpdGhVbml0LFxuXHR0eXBlIFN0cmluZ1dpdGhRdW90ZXMsXG5cdHR5cGUgSmF2YVNjcmlwdFR5cGUsXG5cdHR5cGUgU2Fzc1R5cGUsXG5cdFNhc3NOdW1iZXIsXG5cdFNhc3NTdHJpbmcsXG5cdFNhc3NDb2xvcixcblx0U2Fzc0xpc3QsXG5cdFNhc3NNYXAsXG5cdFNhc3NUUlVFLFxuXHRTYXNzRkFMU0UsXG5cdFNhc3NOVUxMLFxufSBmcm9tICcuLi90eXBlcydcblxuLy8gSGVscGVyIGZ1bmN0aW9ucy5cbmZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlPzogdW5rbm93bik6IHZhbHVlIGlzIG9iamVjdCB7XG5cdGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsdWVcblxuXHRyZXR1cm4gISF2YWx1ZSAmJiAodHlwZSA9PT0gJ29iamVjdCcgfHwgdHlwZSA9PT0gJ2Z1bmN0aW9uJylcbn1cblxuZnVuY3Rpb24gaXNNYXAodmFsdWU/OiB1bmtub3duKTogdmFsdWUgaXMgTWFwPHVua25vd24sIHVua25vd24+IHtcblx0aWYgKHZhbHVlIGluc3RhbmNlb2YgTWFwKSByZXR1cm4gdHJ1ZVxuXHRpZiAodXRpbC50eXBlcy5pc01hcCh2YWx1ZSkpIHJldHVybiB0cnVlXG5cblx0cmV0dXJuIGlzT2JqZWN0KHZhbHVlKSAmJiBTeW1ib2wudG9TdHJpbmdUYWcgaW4gdmFsdWUgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSA9PT0gJ01hcCdcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gamF2YVNjcmlwdFRvU2Fzc1R5cGUocmF3VmFsdWU6IEphdmFTY3JpcHRUeXBlKTogU2Fzc1R5cGUge1xuXHRzd2l0Y2ggKHRydWUpIHtcblx0Y2FzZSB0eXBlb2YgcmF3VmFsdWUgPT09ICdib29sZWFuJzoge1xuXHRcdGNvbnN0IGJvb2xlYW5WYWx1ZSA9IHJhd1ZhbHVlXG5cblx0XHRyZXR1cm4gYm9vbGVhblZhbHVlID8gU2Fzc1RSVUUgOiBTYXNzRkFMU0Vcblx0fVxuXG5cdGNhc2UgdHlwZW9mIHJhd1ZhbHVlID09PSAnbnVtYmVyJzoge1xuXHRcdGNvbnN0IG51bWJlclZhbHVlID0gcmF3VmFsdWVcblxuXHRcdHJldHVybiBuZXcgU2Fzc051bWJlcihudW1iZXJWYWx1ZSlcblx0fVxuXG5cdGNhc2UgaXNPYmplY3QocmF3VmFsdWUpICYmIFsgJ3ZhbHVlJywgJ3VuaXQnIF0uZXZlcnkocHJvcGVydHlLZXkgPT4gcHJvcGVydHlLZXkgaW4gcmF3VmFsdWUpOiB7XG5cdFx0Y29uc3QgeyB2YWx1ZSwgdW5pdCB9ID0gcmF3VmFsdWUgYXMgTnVtYmVyV2l0aFVuaXRcblxuXHRcdHJldHVybiBuZXcgU2Fzc051bWJlcih2YWx1ZSwgdW5pdClcblx0fVxuXG5cdGNhc2UgdHlwZW9mIHJhd1ZhbHVlID09PSAnc3RyaW5nJzoge1xuXHRcdGNvbnN0IHN0cmluZ1ZhbHVlID0gcmF3VmFsdWVcblxuXHRcdHJldHVybiBuZXcgU2Fzc1N0cmluZyhzdHJpbmdWYWx1ZSlcblx0fVxuXG5cdGNhc2UgaXNPYmplY3QocmF3VmFsdWUpICYmIFsgJ3ZhbHVlJywgJ3F1b3RlcycgXS5ldmVyeShwcm9wZXJ0eUtleSA9PiBwcm9wZXJ0eUtleSBpbiByYXdWYWx1ZSk6IHtcblx0XHRjb25zdCB7IHZhbHVlOiBzdHJpbmdWYWx1ZSwgcXVvdGVzIH0gPSByYXdWYWx1ZSBhcyBTdHJpbmdXaXRoUXVvdGVzXG5cblx0XHRyZXR1cm4gbmV3IFNhc3NTdHJpbmcoc3RyaW5nVmFsdWUsIHsgcXVvdGVzIH0pXG5cdH1cblxuXHRjYXNlIGlzT2JqZWN0KHJhd1ZhbHVlKSAmJiAnX3JnYicgaW4gcmF3VmFsdWU6IHtcblx0XHRjb25zdCBbIHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhIF0gPSByYXdWYWx1ZS5yZ2JhKCkgYXMgbnVtYmVyW11cblxuXHRcdHJldHVybiBuZXcgU2Fzc0NvbG9yKHsgcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEgfSlcblx0fVxuXG5cdGNhc2UgQXJyYXkuaXNBcnJheShyYXdWYWx1ZSk6IHtcblx0XHRyZXR1cm4gbmV3IFNhc3NMaXN0KHJhd1ZhbHVlLm1hcChqYXZhU2NyaXB0VG9TYXNzVHlwZSkpXG5cdH1cblxuXHRjYXNlIGlzTWFwKHJhd1ZhbHVlKToge1xuXHRcdGNvbnN0IG1hcFZhbHVlID0gcmF3VmFsdWUgYXMgTWFwPEphdmFTY3JpcHRUeXBlLCBKYXZhU2NyaXB0VHlwZT5cblxuXHRcdGNvbnN0IGl0ZXJhYmxlID0gQXJyYXkuZnJvbShtYXBWYWx1ZS5lbnRyaWVzKCkpXG5cdFx0XHQubWFwKGVudHJ5ID0+IChcblx0XHRcdFx0ZW50cnkubWFwKGphdmFTY3JpcHRUb1Nhc3NUeXBlKSBhcyBbIFNhc3NUeXBlLCBTYXNzVHlwZSBdXG5cdFx0XHQpKVxuXG5cdFx0cmV0dXJuIG5ldyBTYXNzTWFwKEltbXV0YWJsZS5PcmRlcmVkTWFwKGl0ZXJhYmxlKSlcblx0fVxuXG5cdGRlZmF1bHQ6IHtcblx0XHRyZXR1cm4gU2Fzc05VTExcblx0fVxuXHR9XG59XG4iLCIvLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IHR5cGUgeyBDdXN0b21GdW5jdGlvbiB9IGZyb20gJ3Nhc3MnXG5cbi8vIExvY2FsIGhlbHBlcnMuXG5pbXBvcnQgdHlwZSB7IFNhc3NUeXBlLCBKYXZhU2NyaXB0VHlwZSB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBzYXNzVG9KYXZhU2NyaXB0VHlwZSwgamF2YVNjcmlwdFRvU2Fzc1R5cGUgfSBmcm9tICcuL3R5cGUtY29udmVydGVyJ1xuXG4vLyBUeXBlIGRlZmluaXRpb25zLlxuaW50ZXJmYWNlIENvbnN0cnVjdG9yIHtcblx0bmV3ICguLi5hcmdzOiBhbnlbXSk6IG9iamVjdFxufVxuXG5pbnRlcmZhY2UgQnJpZGdlZEZ1bmN0aW9uIHtcblx0KHJhd0FyZ3M6IFNhc3NUeXBlW10pOiBQcm9taXNlPFNhc3NUeXBlPlxufVxuXG50eXBlIEJyaWRnZWRGdW5jdGlvbk1hcCA9IE1hcDxzdHJpbmcsIEJyaWRnZWRGdW5jdGlvbj5cblxuZXhwb3J0IGZ1bmN0aW9uIHNhc3NGdW5jdGlvbihzaWduYXR1cmU6IHN0cmluZykge1xuXHRyZXR1cm4gZnVuY3Rpb24gZGVjb3JhdGU8VGhpcywgQXJncyBleHRlbmRzIGFueVtdLCBSZXR1cm4gZXh0ZW5kcyBKYXZhU2NyaXB0VHlwZT4oXG5cdFx0dGFyZ2V0OiAodGhpczogVGhpcywgLi4uYXJnczogQXJncykgPT4gUmV0dXJuIHwgUHJvbWlzZTxSZXR1cm4+LFxuXHRcdGNvbnRleHQ6IENsYXNzTWV0aG9kRGVjb3JhdG9yQ29udGV4dDxUaGlzLCAodGhpczogVGhpcywgLi4uYXJnczogQXJncykgPT4gUmV0dXJuIHwgUHJvbWlzZTxSZXR1cm4+Pixcblx0KTogdm9pZCB7XG5cdFx0aWYgKGNvbnRleHQucHJpdmF0ZSkge1xuXHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignTm90IHN1cHBvcnRlZCBvbiBwcml2YXRlIG1ldGhvZHMuJylcblx0XHR9XG5cblx0XHRjb250ZXh0Lm1ldGFkYXRhLmZ1bmN0aW9uTWFwID8/PSBuZXcgTWFwPHN0cmluZywgQnJpZGdlZEZ1bmN0aW9uPigpXG5cblx0XHRjb25zdCB7IGZ1bmN0aW9uTWFwIH0gPSBjb250ZXh0Lm1ldGFkYXRhIGFzIHsgZnVuY3Rpb25NYXA6IEJyaWRnZWRGdW5jdGlvbk1hcCB9XG5cblx0XHRjb250ZXh0LmFkZEluaXRpYWxpemVyKGZ1bmN0aW9uIGluaXRpYWxpemUodGhpczogVGhpcykge1xuXHRcdFx0Y29uc3QgYnJpZGdlZEZ1bmN0aW9uOiBCcmlkZ2VkRnVuY3Rpb24gPSBhc3luYyAocmF3QXJnczogU2Fzc1R5cGVbXSk6IFByb21pc2U8U2Fzc1R5cGU+ID0+IHtcblx0XHRcdFx0Y29uc3QgYXJncyA9IHJhd0FyZ3MubWFwKHNhc3NUb0phdmFTY3JpcHRUeXBlKVxuXHRcdFx0XHRjb25zdCByZXN1bHQgPSBhd2FpdCBQcm9taXNlLnJlc29sdmUoUmVmbGVjdC5hcHBseSh0YXJnZXQsIHRoaXMsIGFyZ3MpKSBhcyBKYXZhU2NyaXB0VHlwZVxuXG5cdFx0XHRcdHJldHVybiBqYXZhU2NyaXB0VG9TYXNzVHlwZShyZXN1bHQpXG5cdFx0XHR9XG5cblx0XHRcdGZ1bmN0aW9uTWFwLnNldChzaWduYXR1cmUsIGJyaWRnZWRGdW5jdGlvbilcblx0XHR9KVxuXHR9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRGdW5jdGlvbnMoXG5cdC4uLm1vZHVsZUltcG9ydHM6IFByb21pc2U8eyBkZWZhdWx0OiBDb25zdHJ1Y3RvciB9PltdXG4pOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIEN1c3RvbUZ1bmN0aW9uPCdhc3luYyc+Pj4ge1xuXHRjb25zdCBtb2R1bGVzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG5cdFx0bW9kdWxlSW1wb3J0cy5tYXAobW9kdWxlID0+IChcblx0XHRcdG1vZHVsZS50aGVuKCh7IGRlZmF1bHQ6IE1vZHVsZSB9KSA9PiBuZXcgTW9kdWxlKCkpXG5cdFx0KSksXG5cdClcblxuXHRjb25zdCBlbnRyaWVzID0gbW9kdWxlc1xuXHRcdC5tYXAobW9kdWxlID0+IChcblx0XHRcdFJlZmxlY3QuZ2V0UHJvdG90eXBlT2YobW9kdWxlKT8uY29uc3RydWN0b3I/LltTeW1ib2wubWV0YWRhdGFdPy5mdW5jdGlvbk1hcCBhcyBCcmlkZ2VkRnVuY3Rpb25NYXBcblx0XHQpKVxuXHRcdC5maWx0ZXIoZnVuY3Rpb25NYXAgPT4gISFmdW5jdGlvbk1hcClcblx0XHQuZmxhdE1hcChmdW5jdGlvbk1hcCA9PiBBcnJheS5mcm9tKGZ1bmN0aW9uTWFwLmVudHJpZXMoKSkpXG5cblx0cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhlbnRyaWVzKVxufVxuIl0sIm5hbWVzIjpbIlNhc3NUUlVFIiwic2FzcyIsInNhc3NUcnVlIiwiU2Fzc0ZBTFNFIiwic2Fzc0ZhbHNlIiwiU2Fzc05VTEwiLCJzYXNzTnVsbCIsIlNhc3NOdW1iZXIiLCJTYXNzU3RyaW5nIiwiU2Fzc0NvbG9yIiwiU2Fzc0xpc3QiLCJTYXNzTWFwIiwiU2Fzc0Jvb2xlYW4iLCJzYXNzVG9KYXZhU2NyaXB0VHlwZSIsInNhc3NWYWx1ZSIsInZhbHVlIiwidGV4dCIsIm51bWVyYXRvclVuaXRzIiwiZGVub21pbmF0b3JVbml0cyIsInVuaXQiLCJoYXNVbml0cyIsImpvaW4iLCJzaXplIiwic2Fzc0NvbG9yIiwidG9TcGFjZSIsImFscGhhIiwic3BhY2UiLCJjaGFubmVscyIsIl9wdXNoSW5zdGFuY2VQcm9wZXJ0eSIsImNhbGwiLCJjaHJvbWEiLCJfY29udGV4dCIsImxpc3RWYWx1ZSIsImFzTGlzdCIsImxlbmd0aCIsImFycmF5IiwiX2ZpbGxJbnN0YW5jZVByb3BlcnR5IiwiQXJyYXkiLCJ1bmRlZmluZWQiLCJpbmRleCIsImdldCIsIl9tYXBJbnN0YW5jZVByb3BlcnR5IiwiX2NvbnRleHQyIiwibWFwVmFsdWUiLCJjb250ZW50cyIsImVudHJpZXMiLCJfQXJyYXkkZnJvbSIsIl9lbnRyaWVzSW5zdGFuY2VQcm9wZXJ0eSIsImtleSIsIl9NYXAiLCJpc09iamVjdCIsInR5cGUiLCJpc01hcCIsInV0aWwiLCJ0eXBlcyIsIl9TeW1ib2wkdG9TdHJpbmdUYWciLCJqYXZhU2NyaXB0VG9TYXNzVHlwZSIsInJhd1ZhbHVlIiwiYm9vbGVhblZhbHVlIiwibnVtYmVyVmFsdWUiLCJfZXZlcnlJbnN0YW5jZVByb3BlcnR5IiwicHJvcGVydHlLZXkiLCJzdHJpbmdWYWx1ZSIsInF1b3RlcyIsInJlZCIsImdyZWVuIiwiYmx1ZSIsInJnYmEiLCJfQXJyYXkkaXNBcnJheSIsIl9jb250ZXh0MyIsIml0ZXJhYmxlIiwiZW50cnkiLCJJbW11dGFibGUiLCJPcmRlcmVkTWFwIiwic2Fzc0Z1bmN0aW9uIiwic2lnbmF0dXJlIiwiZGVjb3JhdGUiLCJ0YXJnZXQiLCJjb250ZXh0IiwicHJpdmF0ZSIsIlR5cGVFcnJvciIsIm1ldGFkYXRhIiwiZnVuY3Rpb25NYXAiLCJhZGRJbml0aWFsaXplciIsImluaXRpYWxpemUiLCJicmlkZ2VkRnVuY3Rpb24iLCJyYXdBcmdzIiwiYXJncyIsInJlc3VsdCIsIl9Qcm9taXNlIiwicmVzb2x2ZSIsIl9SZWZsZWN0JGFwcGx5Iiwic2V0IiwiZ2V0RnVuY3Rpb25zIiwibW9kdWxlSW1wb3J0cyIsIm1vZHVsZXMiLCJhbGwiLCJtb2R1bGUiLCJ0aGVuIiwiZGVmYXVsdCIsIk1vZHVsZSIsIl9mbGF0TWFwSW5zdGFuY2VQcm9wZXJ0eSIsIl9maWx0ZXJJbnN0YW5jZVByb3BlcnR5IiwiX1JlZmxlY3QkZ2V0UHJvdG90eXBlT2YiLCJjb25zdHJ1Y3RvciIsIl9TeW1ib2wkbWV0YWRhdGEiLCJfT2JqZWN0JGZyb21FbnRyaWVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7O0FBSUE7O0FBWU8sTUFBTUEsUUFBUSxHQUFHQyxJQUFJLENBQUNDLFFBQVE7QUFHOUIsTUFBTUMsU0FBUyxHQUFHRixJQUFJLENBQUNHLFNBQVM7QUFHaEMsTUFBTUMsUUFBUSxHQUFHSixJQUFJLENBQUNLLFFBQVE7QUFHOUIsTUFBTTtBQUFFQyxFQUFBQTtBQUFXLENBQUMsR0FBR04sSUFBSTtBQUczQixNQUFNO0FBQUVPLEVBQUFBO0FBQVcsQ0FBQyxHQUFHUCxJQUFJO0FBRzNCLE1BQU07QUFBRVEsRUFBQUE7QUFBVSxDQUFDLEdBQUdSLElBQUk7QUFHMUIsTUFBTTtBQUFFUyxFQUFBQTtBQUFTLENBQUMsR0FBR1QsSUFBSTtBQUd6QixNQUFNO0FBQUVVLEVBQUFBO0FBQVEsQ0FBQyxHQUFHVixJQUFJO0FBR3hCLE1BQU07QUFBRVcsRUFBQUE7QUFBWSxDQUFDLEdBQUdYLElBQUk7O0FDekJwQixTQUFTWSxvQkFBb0JBLENBQUNDLFNBQW1CLEVBQWtCO0FBQ2pGLEVBQUEsUUFBUSxJQUFJO0lBQ1osS0FBS0EsU0FBUyxZQUFZRixXQUFXO0FBQUUsTUFBQTtRQUN0QyxPQUFPRSxTQUFTLENBQUNDLEtBQUs7QUFDdkIsTUFBQTtJQUVBLEtBQUtELFNBQVMsWUFBWU4sVUFBVTtBQUFFLE1BQUE7UUFDckMsT0FBT00sU0FBUyxDQUFDRSxJQUFJO0FBQ3RCLE1BQUE7SUFFQSxLQUFLRixTQUFTLFlBQVlQLFVBQVU7QUFBRSxNQUFBO1FBQ3JDLE1BQU07VUFBRVEsS0FBSztVQUFFRSxjQUFjO0FBQUVDLFVBQUFBO0FBQWlCLFNBQUMsR0FBR0osU0FBUztBQUU3RCxRQUFBLE1BQU1LLElBQUksR0FBR0wsU0FBUyxDQUFDTSxRQUFRLEdBQzVC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
|
|
214
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZXMvdHlwZXMudHMiLCIuLi9zb3VyY2VzL3R5cGUtY29udmVydGVyL3Nhc3MtdG8tamF2YXNjcmlwdC50cyIsIi4uL3NvdXJjZXMvdHlwZS1jb252ZXJ0ZXIvamF2YXNjcmlwdC10by1zYXNzLnRzIiwiLi4vc291cmNlcy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IHR5cGUgeyBDb2xvciB9IGZyb20gJ2Nocm9tYS1qcydcbmltcG9ydCAqIGFzIHNhc3MgZnJvbSAnc2FzcydcblxuLy8gVHlwZSBkZWZpbml0aW9ucy5cbmV4cG9ydCB0eXBlIFByaW1pdGl2ZXMgPSBib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nIHwgbnVsbFxuXG5leHBvcnQgdHlwZSBOdW1iZXJXaXRoVW5pdCA9IHsgdmFsdWU6IG51bWJlciwgdW5pdDogc3RyaW5nIH1cblxuZXhwb3J0IHR5cGUgU3RyaW5nV2l0aFF1b3RlcyA9IHsgdmFsdWU6IHN0cmluZywgcXVvdGVzOiBib29sZWFuIH1cblxuZXhwb3J0IHR5cGUgSmF2YVNjcmlwdFR5cGU8QmFzZSA9IFByaW1pdGl2ZXMgfCBDb2xvciB8IE51bWJlcldpdGhVbml0IHwgU3RyaW5nV2l0aFF1b3Rlcz4gPVxuXHR8IEJhc2Vcblx0fCBKYXZhU2NyaXB0VHlwZTxCYXNlPltdXG5cdHwgTWFwPEphdmFTY3JpcHRUeXBlPEJhc2U+LCBKYXZhU2NyaXB0VHlwZTxCYXNlPj5cblxuZXhwb3J0IGNvbnN0IFNhc3NUUlVFID0gc2Fzcy5zYXNzVHJ1ZVxuZXhwb3J0IHR5cGUgU2Fzc1RSVUUgPSB0eXBlb2YgU2Fzc1RSVUVcblxuZXhwb3J0IGNvbnN0IFNhc3NGQUxTRSA9IHNhc3Muc2Fzc0ZhbHNlXG5leHBvcnQgdHlwZSBTYXNzRkFMU0UgPSB0eXBlb2YgU2Fzc0ZBTFNFXG5cbmV4cG9ydCBjb25zdCBTYXNzTlVMTCA9IHNhc3Muc2Fzc051bGxcbmV4cG9ydCB0eXBlIFNhc3NOVUxMID0gdHlwZW9mIFNhc3NOVUxMXG5cbmV4cG9ydCBjb25zdCB7IFNhc3NOdW1iZXIgfSA9IHNhc3NcbmV4cG9ydCB0eXBlIFNhc3NOdW1iZXIgPSBzYXNzLlNhc3NOdW1iZXJcblxuZXhwb3J0IGNvbnN0IHsgU2Fzc1N0cmluZyB9ID0gc2Fzc1xuZXhwb3J0IHR5cGUgU2Fzc1N0cmluZyA9IHNhc3MuU2Fzc1N0cmluZ1xuXG5leHBvcnQgY29uc3QgeyBTYXNzQ29sb3IgfSA9IHNhc3NcbmV4cG9ydCB0eXBlIFNhc3NDb2xvciA9IHNhc3MuU2Fzc0NvbG9yXG5cbmV4cG9ydCBjb25zdCB7IFNhc3NMaXN0IH0gPSBzYXNzXG5leHBvcnQgdHlwZSBTYXNzTGlzdCA9IHNhc3MuU2Fzc0xpc3RcblxuZXhwb3J0IGNvbnN0IHsgU2Fzc01hcCB9ID0gc2Fzc1xuZXhwb3J0IHR5cGUgU2Fzc01hcCA9IHNhc3MuU2Fzc01hcFxuXG5leHBvcnQgY29uc3QgeyBTYXNzQm9vbGVhbiB9ID0gc2Fzc1xuZXhwb3J0IHR5cGUgU2Fzc0Jvb2xlYW4gPSBzYXNzLlNhc3NCb29sZWFuXG5cbmV4cG9ydCB7IFZhbHVlIGFzIFNhc3NUeXBlIH0gZnJvbSAnc2FzcydcbiIsIi8vIFRoaXJkLXBhcnR5IG1vZHVsZXMuXG5pbXBvcnQgY2hyb21hIGZyb20gJ2Nocm9tYS1qcydcblxuLy8gTG9jYWwgaGVscGVycy5cbmltcG9ydCB7XG5cdHR5cGUgSmF2YVNjcmlwdFR5cGUsXG5cdHR5cGUgU2Fzc1R5cGUsXG5cdFNhc3NCb29sZWFuLFxuXHRTYXNzTnVtYmVyLFxuXHRTYXNzU3RyaW5nLFxuXHRTYXNzQ29sb3IsXG5cdFNhc3NMaXN0LFxuXHRTYXNzTWFwLFxufSBmcm9tICcjdHlwZXMnXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHNhc3NUb0phdmFTY3JpcHRUeXBlKHNhc3NWYWx1ZTogU2Fzc1R5cGUpOiBKYXZhU2NyaXB0VHlwZSB7XG5cdHN3aXRjaCAodHJ1ZSkge1xuXHRjYXNlIHNhc3NWYWx1ZSBpbnN0YW5jZW9mIFNhc3NCb29sZWFuOiB7XG5cdFx0cmV0dXJuIHNhc3NWYWx1ZS52YWx1ZVxuXHR9XG5cblx0Y2FzZSBzYXNzVmFsdWUgaW5zdGFuY2VvZiBTYXNzU3RyaW5nOiB7XG5cdFx0cmV0dXJuIHNhc3NWYWx1ZS50ZXh0XG5cdH1cblxuXHRjYXNlIHNhc3NWYWx1ZSBpbnN0YW5jZW9mIFNhc3NOdW1iZXI6IHtcblx0XHRjb25zdCB7IHZhbHVlLCBudW1lcmF0b3JVbml0cywgZGVub21pbmF0b3JVbml0cyB9ID0gc2Fzc1ZhbHVlXG5cblx0XHRjb25zdCB1bml0ID0gc2Fzc1ZhbHVlLmhhc1VuaXRzXG5cdFx0XHQ/IG51bWVyYXRvclVuaXRzLmpvaW4oJyonKSArIChkZW5vbWluYXRvclVuaXRzLnNpemUgPiAwID8gYC8ke2Rlbm9taW5hdG9yVW5pdHMuam9pbignKicpfWAgOiAnJylcblx0XHRcdDogJydcblxuXHRcdHJldHVybiB1bml0ID8geyB2YWx1ZSwgdW5pdCB9IDogdmFsdWVcblx0fVxuXG5cdGNhc2Ugc2Fzc1ZhbHVlIGluc3RhbmNlb2YgU2Fzc0NvbG9yOiB7XG5cdFx0Y29uc3Qgc2Fzc0NvbG9yID0gc2Fzc1ZhbHVlLnRvU3BhY2UoJ3JnYicpXG5cdFx0Y29uc3QgeyBhbHBoYSwgc3BhY2UgfSA9IHNhc3NDb2xvclxuXHRcdGNvbnN0IGNoYW5uZWxzID0gWyAuLi5zYXNzQ29sb3IuY2hhbm5lbHMgXSBhcyBbIG51bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlciBdXG5cblx0XHRpZiAoYWxwaGEpIHtcblx0XHRcdGNoYW5uZWxzLnB1c2goYWxwaGEpXG5cdFx0fVxuXG5cdFx0cmV0dXJuIGNocm9tYSguLi5jaGFubmVscywgc3BhY2UgYXMgJ3JnYicpXG5cdH1cblxuXHRjYXNlIHNhc3NWYWx1ZSBpbnN0YW5jZW9mIFNhc3NMaXN0OiB7XG5cdFx0Y29uc3QgbGlzdFZhbHVlID0gc2Fzc1ZhbHVlLmFzTGlzdFxuXHRcdGNvbnN0IGxlbmd0aCA9IGxpc3RWYWx1ZS5zaXplXG5cdFx0Y29uc3QgYXJyYXkgPSBBcnJheShsZW5ndGgpLmZpbGwodW5kZWZpbmVkKSBhcyBTYXNzVHlwZVtdXG5cblx0XHRmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCArPSAxKSB7XG5cdFx0XHRhcnJheVtpbmRleF0gPSBsaXN0VmFsdWUuZ2V0KGluZGV4KSBhcyBTYXNzVHlwZVxuXHRcdH1cblxuXHRcdHJldHVybiBhcnJheS5tYXAodmFsdWUgPT4gc2Fzc1RvSmF2YVNjcmlwdFR5cGUodmFsdWUpKVxuXHR9XG5cblx0Y2FzZSBzYXNzVmFsdWUgaW5zdGFuY2VvZiBTYXNzTWFwOiB7XG5cdFx0Y29uc3QgbWFwVmFsdWUgPSBzYXNzVmFsdWUuY29udGVudHNcblxuXHRcdGNvbnN0IGVudHJpZXMgPSBBcnJheS5mcm9tKG1hcFZhbHVlLmVudHJpZXMoKSlcblx0XHRcdC5tYXAoKFsga2V5LCB2YWx1ZSBdKSA9PiBbIHNhc3NUb0phdmFTY3JpcHRUeXBlKGtleSksIHNhc3NUb0phdmFTY3JpcHRUeXBlKHZhbHVlKSBdKVxuXG5cdFx0cmV0dXJuIG5ldyBNYXAoZW50cmllcyBhcyBbSmF2YVNjcmlwdFR5cGUsIEphdmFTY3JpcHRUeXBlXVtdKVxuXHR9XG5cblx0ZGVmYXVsdDoge1xuXHRcdHJldHVybiBudWxsXG5cdH1cblx0fVxufVxuIiwiLy8gTm9kZS5qcyBidWlsdC1pbiBBUElzLlxuaW1wb3J0IHV0aWwgZnJvbSAndXRpbCdcblxuLy8gVGhpcmQtcGFydHkgbW9kdWxlcy5cbmltcG9ydCBJbW11dGFibGUgZnJvbSAnaW1tdXRhYmxlJ1xuXG4vLyBMb2NhbCBoZWxwZXJzLlxuaW1wb3J0IHtcblx0dHlwZSBOdW1iZXJXaXRoVW5pdCxcblx0dHlwZSBTdHJpbmdXaXRoUXVvdGVzLFxuXHR0eXBlIEphdmFTY3JpcHRUeXBlLFxuXHR0eXBlIFNhc3NUeXBlLFxuXHRTYXNzTnVtYmVyLFxuXHRTYXNzU3RyaW5nLFxuXHRTYXNzQ29sb3IsXG5cdFNhc3NMaXN0LFxuXHRTYXNzTWFwLFxuXHRTYXNzVFJVRSxcblx0U2Fzc0ZBTFNFLFxuXHRTYXNzTlVMTCxcbn0gZnJvbSAnI3R5cGVzJ1xuXG4vLyBIZWxwZXIgZnVuY3Rpb25zLlxuZnVuY3Rpb24gaXNPYmplY3QodmFsdWU/OiB1bmtub3duKTogdmFsdWUgaXMgb2JqZWN0IHtcblx0Y29uc3QgdHlwZSA9IHR5cGVvZiB2YWx1ZVxuXG5cdHJldHVybiAhIXZhbHVlICYmICh0eXBlID09PSAnb2JqZWN0JyB8fCB0eXBlID09PSAnZnVuY3Rpb24nKVxufVxuXG5mdW5jdGlvbiBpc01hcCh2YWx1ZT86IHVua25vd24pOiB2YWx1ZSBpcyBNYXA8dW5rbm93biwgdW5rbm93bj4ge1xuXHRpZiAodmFsdWUgaW5zdGFuY2VvZiBNYXApIHJldHVybiB0cnVlXG5cdGlmICh1dGlsLnR5cGVzLmlzTWFwKHZhbHVlKSkgcmV0dXJuIHRydWVcblxuXHRyZXR1cm4gaXNPYmplY3QodmFsdWUpICYmIFN5bWJvbC50b1N0cmluZ1RhZyBpbiB2YWx1ZSAmJiB2YWx1ZVtTeW1ib2wudG9TdHJpbmdUYWddID09PSAnTWFwJ1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBqYXZhU2NyaXB0VG9TYXNzVHlwZShyYXdWYWx1ZTogSmF2YVNjcmlwdFR5cGUpOiBTYXNzVHlwZSB7XG5cdHN3aXRjaCAodHJ1ZSkge1xuXHRjYXNlIHR5cGVvZiByYXdWYWx1ZSA9PT0gJ2Jvb2xlYW4nOiB7XG5cdFx0Y29uc3QgYm9vbGVhblZhbHVlID0gcmF3VmFsdWVcblxuXHRcdHJldHVybiBib29sZWFuVmFsdWUgPyBTYXNzVFJVRSA6IFNhc3NGQUxTRVxuXHR9XG5cblx0Y2FzZSB0eXBlb2YgcmF3VmFsdWUgPT09ICdudW1iZXInOiB7XG5cdFx0Y29uc3QgbnVtYmVyVmFsdWUgPSByYXdWYWx1ZVxuXG5cdFx0cmV0dXJuIG5ldyBTYXNzTnVtYmVyKG51bWJlclZhbHVlKVxuXHR9XG5cblx0Y2FzZSBpc09iamVjdChyYXdWYWx1ZSkgJiYgWyAndmFsdWUnLCAndW5pdCcgXS5ldmVyeShwcm9wZXJ0eUtleSA9PiBwcm9wZXJ0eUtleSBpbiByYXdWYWx1ZSk6IHtcblx0XHRjb25zdCB7IHZhbHVlLCB1bml0IH0gPSByYXdWYWx1ZSBhcyBOdW1iZXJXaXRoVW5pdFxuXG5cdFx0cmV0dXJuIG5ldyBTYXNzTnVtYmVyKHZhbHVlLCB1bml0KVxuXHR9XG5cblx0Y2FzZSB0eXBlb2YgcmF3VmFsdWUgPT09ICdzdHJpbmcnOiB7XG5cdFx0Y29uc3Qgc3RyaW5nVmFsdWUgPSByYXdWYWx1ZVxuXG5cdFx0cmV0dXJuIG5ldyBTYXNzU3RyaW5nKHN0cmluZ1ZhbHVlKVxuXHR9XG5cblx0Y2FzZSBpc09iamVjdChyYXdWYWx1ZSkgJiYgWyAndmFsdWUnLCAncXVvdGVzJyBdLmV2ZXJ5KHByb3BlcnR5S2V5ID0+IHByb3BlcnR5S2V5IGluIHJhd1ZhbHVlKToge1xuXHRcdGNvbnN0IHsgdmFsdWU6IHN0cmluZ1ZhbHVlLCBxdW90ZXMgfSA9IHJhd1ZhbHVlIGFzIFN0cmluZ1dpdGhRdW90ZXNcblxuXHRcdHJldHVybiBuZXcgU2Fzc1N0cmluZyhzdHJpbmdWYWx1ZSwgeyBxdW90ZXMgfSlcblx0fVxuXG5cdGNhc2UgaXNPYmplY3QocmF3VmFsdWUpICYmICdfcmdiJyBpbiByYXdWYWx1ZToge1xuXHRcdGNvbnN0IFsgcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEgXSA9IHJhd1ZhbHVlLnJnYmEoKSBhcyBudW1iZXJbXVxuXG5cdFx0cmV0dXJuIG5ldyBTYXNzQ29sb3IoeyByZWQsIGdyZWVuLCBibHVlLCBhbHBoYSB9KVxuXHR9XG5cblx0Y2FzZSBBcnJheS5pc0FycmF5KHJhd1ZhbHVlKToge1xuXHRcdHJldHVybiBuZXcgU2Fzc0xpc3QocmF3VmFsdWUubWFwKGphdmFTY3JpcHRUb1Nhc3NUeXBlKSlcblx0fVxuXG5cdGNhc2UgaXNNYXAocmF3VmFsdWUpOiB7XG5cdFx0Y29uc3QgbWFwVmFsdWUgPSByYXdWYWx1ZSBhcyBNYXA8SmF2YVNjcmlwdFR5cGUsIEphdmFTY3JpcHRUeXBlPlxuXG5cdFx0Y29uc3QgaXRlcmFibGUgPSBBcnJheS5mcm9tKG1hcFZhbHVlLmVudHJpZXMoKSlcblx0XHRcdC5tYXAoZW50cnkgPT4gKFxuXHRcdFx0XHRlbnRyeS5tYXAoamF2YVNjcmlwdFRvU2Fzc1R5cGUpIGFzIFsgU2Fzc1R5cGUsIFNhc3NUeXBlIF1cblx0XHRcdCkpXG5cblx0XHRyZXR1cm4gbmV3IFNhc3NNYXAoSW1tdXRhYmxlLk9yZGVyZWRNYXAoaXRlcmFibGUpKVxuXHR9XG5cblx0ZGVmYXVsdDoge1xuXHRcdHJldHVybiBTYXNzTlVMTFxuXHR9XG5cdH1cbn1cbiIsIi8vIFRoaXJkLXBhcnR5IG1vZHVsZXMuXG5pbXBvcnQgdHlwZSB7IEN1c3RvbUZ1bmN0aW9uIH0gZnJvbSAnc2FzcydcblxuLy8gTG9jYWwgaGVscGVycy5cbmltcG9ydCB0eXBlIHsgU2Fzc1R5cGUsIEphdmFTY3JpcHRUeXBlIH0gZnJvbSAnI3R5cGVzJ1xuaW1wb3J0IHNhc3NUb0phdmFTY3JpcHRUeXBlIGZyb20gJyN0eXBlLWNvbnZlcnRlci9zYXNzLXRvLWphdmFzY3JpcHQnXG5pbXBvcnQgamF2YVNjcmlwdFRvU2Fzc1R5cGUgZnJvbSAnI3R5cGUtY29udmVydGVyL2phdmFzY3JpcHQtdG8tc2FzcydcblxuLy8gVHlwZSBkZWZpbml0aW9ucy5cbmludGVyZmFjZSBDb25zdHJ1Y3RvciB7XG5cdG5ldyAoLi4uYXJnczogYW55W10pOiBvYmplY3Rcbn1cblxuaW50ZXJmYWNlIEJyaWRnZWRGdW5jdGlvbiB7XG5cdChyYXdBcmdzOiBTYXNzVHlwZVtdKTogUHJvbWlzZTxTYXNzVHlwZT5cbn1cblxudHlwZSBCcmlkZ2VkRnVuY3Rpb25NYXAgPSBNYXA8c3RyaW5nLCBCcmlkZ2VkRnVuY3Rpb24+XG5cbmV4cG9ydCBmdW5jdGlvbiBzYXNzRnVuY3Rpb24oc2lnbmF0dXJlOiBzdHJpbmcpIHtcblx0cmV0dXJuIGZ1bmN0aW9uIGRlY29yYXRlPFRoaXMsIEFyZ3MgZXh0ZW5kcyBhbnlbXSwgUmV0dXJuIGV4dGVuZHMgSmF2YVNjcmlwdFR5cGU+KFxuXHRcdHRhcmdldDogKHRoaXM6IFRoaXMsIC4uLmFyZ3M6IEFyZ3MpID0+IFJldHVybiB8IFByb21pc2U8UmV0dXJuPixcblx0XHRjb250ZXh0OiBDbGFzc01ldGhvZERlY29yYXRvckNvbnRleHQ8VGhpcywgKHRoaXM6IFRoaXMsIC4uLmFyZ3M6IEFyZ3MpID0+IFJldHVybiB8IFByb21pc2U8UmV0dXJuPj4sXG5cdCk6IHZvaWQge1xuXHRcdGlmIChjb250ZXh0LnByaXZhdGUpIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ05vdCBzdXBwb3J0ZWQgb24gcHJpdmF0ZSBtZXRob2RzLicpXG5cdFx0fVxuXG5cdFx0Y29udGV4dC5tZXRhZGF0YS5mdW5jdGlvbk1hcCA/Pz0gbmV3IE1hcDxzdHJpbmcsIEJyaWRnZWRGdW5jdGlvbj4oKVxuXG5cdFx0Y29uc3QgeyBmdW5jdGlvbk1hcCB9ID0gY29udGV4dC5tZXRhZGF0YSBhcyB7IGZ1bmN0aW9uTWFwOiBCcmlkZ2VkRnVuY3Rpb25NYXAgfVxuXG5cdFx0Y29udGV4dC5hZGRJbml0aWFsaXplcihmdW5jdGlvbiBpbml0aWFsaXplKHRoaXM6IFRoaXMpIHtcblx0XHRcdGNvbnN0IGJyaWRnZWRGdW5jdGlvbjogQnJpZGdlZEZ1bmN0aW9uID0gYXN5bmMgKHJhd0FyZ3M6IFNhc3NUeXBlW10pOiBQcm9taXNlPFNhc3NUeXBlPiA9PiB7XG5cdFx0XHRcdGNvbnN0IGFyZ3MgPSByYXdBcmdzLm1hcChzYXNzVG9KYXZhU2NyaXB0VHlwZSlcblx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKFJlZmxlY3QuYXBwbHkodGFyZ2V0LCB0aGlzLCBhcmdzKSkgYXMgSmF2YVNjcmlwdFR5cGVcblxuXHRcdFx0XHRyZXR1cm4gamF2YVNjcmlwdFRvU2Fzc1R5cGUocmVzdWx0KVxuXHRcdFx0fVxuXG5cdFx0XHRmdW5jdGlvbk1hcC5zZXQoc2lnbmF0dXJlLCBicmlkZ2VkRnVuY3Rpb24pXG5cdFx0fSlcblx0fVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RnVuY3Rpb25zKFxuXHQuLi5tb2R1bGVJbXBvcnRzOiBQcm9taXNlPHsgZGVmYXVsdDogQ29uc3RydWN0b3IgfT5bXVxuKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBDdXN0b21GdW5jdGlvbjwnYXN5bmMnPj4+IHtcblx0Y29uc3QgbW9kdWxlcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdG1vZHVsZUltcG9ydHMubWFwKG1vZHVsZSA9PiAoXG5cdFx0XHRtb2R1bGUudGhlbigoeyBkZWZhdWx0OiBNb2R1bGUgfSkgPT4gbmV3IE1vZHVsZSgpKVxuXHRcdCkpLFxuXHQpXG5cblx0Y29uc3QgZW50cmllcyA9IG1vZHVsZXNcblx0XHQubWFwKG1vZHVsZSA9PiAoXG5cdFx0XHRSZWZsZWN0LmdldFByb3RvdHlwZU9mKG1vZHVsZSk/LmNvbnN0cnVjdG9yPy5bU3ltYm9sLm1ldGFkYXRhXT8uZnVuY3Rpb25NYXAgYXMgQnJpZGdlZEZ1bmN0aW9uTWFwXG5cdFx0KSlcblx0XHQuZmlsdGVyKGZ1bmN0aW9uTWFwID0+ICEhZnVuY3Rpb25NYXApXG5cdFx0LmZsYXRNYXAoZnVuY3Rpb25NYXAgPT4gQXJyYXkuZnJvbShmdW5jdGlvbk1hcC5lbnRyaWVzKCkpKVxuXG5cdHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoZW50cmllcylcbn1cbiJdLCJuYW1lcyI6WyJTYXNzVFJVRSIsInNhc3MiLCJzYXNzVHJ1ZSIsIlNhc3NGQUxTRSIsInNhc3NGYWxzZSIsIlNhc3NOVUxMIiwic2Fzc051bGwiLCJTYXNzTnVtYmVyIiwiU2Fzc1N0cmluZyIsIlNhc3NDb2xvciIsIlNhc3NMaXN0IiwiU2Fzc01hcCIsIlNhc3NCb29sZWFuIiwic2Fzc1RvSmF2YVNjcmlwdFR5cGUiLCJzYXNzVmFsdWUiLCJ2YWx1ZSIsInRleHQiLCJudW1lcmF0b3JVbml0cyIsImRlbm9taW5hdG9yVW5pdHMiLCJ1bml0IiwiaGFzVW5pdHMiLCJqb2luIiwic2l6ZSIsInNhc3NDb2xvciIsInRvU3BhY2UiLCJhbHBoYSIsInNwYWNlIiwiY2hhbm5lbHMiLCJwdXNoIiwiY2hyb21hIiwiX2NvbnRleHQiLCJsaXN0VmFsdWUiLCJhc0xpc3QiLCJsZW5ndGgiLCJhcnJheSIsIl9maWxsSW5zdGFuY2VQcm9wZXJ0eSIsIkFycmF5IiwiY2FsbCIsInVuZGVmaW5lZCIsImluZGV4IiwiZ2V0IiwiX21hcEluc3RhbmNlUHJvcGVydHkiLCJfY29udGV4dDIiLCJtYXBWYWx1ZSIsImNvbnRlbnRzIiwiZW50cmllcyIsIl9BcnJheSRmcm9tIiwiX2VudHJpZXNJbnN0YW5jZVByb3BlcnR5Iiwia2V5IiwiX01hcCIsImlzT2JqZWN0IiwidHlwZSIsImlzTWFwIiwidXRpbCIsInR5cGVzIiwiX1N5bWJvbCR0b1N0cmluZ1RhZyIsImphdmFTY3JpcHRUb1Nhc3NUeXBlIiwicmF3VmFsdWUiLCJib29sZWFuVmFsdWUiLCJudW1iZXJWYWx1ZSIsIl9ldmVyeUluc3RhbmNlUHJvcGVydHkiLCJwcm9wZXJ0eUtleSIsInN0cmluZ1ZhbHVlIiwicXVvdGVzIiwicmVkIiwiZ3JlZW4iLCJibHVlIiwicmdiYSIsIl9BcnJheSRpc0FycmF5IiwiX2NvbnRleHQzIiwiaXRlcmFibGUiLCJlbnRyeSIsIkltbXV0YWJsZSIsIk9yZGVyZWRNYXAiLCJzYXNzRnVuY3Rpb24iLCJzaWduYXR1cmUiLCJkZWNvcmF0ZSIsInRhcmdldCIsImNvbnRleHQiLCJwcml2YXRlIiwiVHlwZUVycm9yIiwibWV0YWRhdGEiLCJmdW5jdGlvbk1hcCIsImFkZEluaXRpYWxpemVyIiwiaW5pdGlhbGl6ZSIsImJyaWRnZWRGdW5jdGlvbiIsInJhd0FyZ3MiLCJhcmdzIiwicmVzdWx0IiwiX1Byb21pc2UiLCJyZXNvbHZlIiwiX1JlZmxlY3QkYXBwbHkiLCJzZXQiLCJnZXRGdW5jdGlvbnMiLCJtb2R1bGVJbXBvcnRzIiwibW9kdWxlcyIsImFsbCIsIm1vZHVsZSIsInRoZW4iLCJkZWZhdWx0IiwiTW9kdWxlIiwiX2ZsYXRNYXBJbnN0YW5jZVByb3BlcnR5IiwiX2ZpbHRlckluc3RhbmNlUHJvcGVydHkiLCJfUmVmbGVjdCRnZXRQcm90b3R5cGVPZiIsImNvbnN0cnVjdG9yIiwiX1N5bWJvbCIsIl9PYmplY3QkZnJvbUVudHJpZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7OztBQUlBOztBQVlPLE1BQU1BLFFBQVEsR0FBR0MsSUFBSSxDQUFDQyxRQUFRO0FBRzlCLE1BQU1DLFNBQVMsR0FBR0YsSUFBSSxDQUFDRyxTQUFTO0FBR2hDLE1BQU1DLFFBQVEsR0FBR0osSUFBSSxDQUFDSyxRQUFRO0FBRzlCLE1BQU07QUFBRUMsRUFBQUE7QUFBVyxDQUFDLEdBQUdOLElBQUk7QUFHM0IsTUFBTTtBQUFFTyxFQUFBQTtBQUFXLENBQUMsR0FBR1AsSUFBSTtBQUczQixNQUFNO0FBQUVRLEVBQUFBO0FBQVUsQ0FBQyxHQUFHUixJQUFJO0FBRzFCLE1BQU07QUFBRVMsRUFBQUE7QUFBUyxDQUFDLEdBQUdULElBQUk7QUFHekIsTUFBTTtBQUFFVSxFQUFBQTtBQUFRLENBQUMsR0FBR1YsSUFBSTtBQUd4QixNQUFNO0FBQUVXLEVBQUFBO0FBQVksQ0FBQyxHQUFHWCxJQUFJOztBQ3pCcEIsU0FBU1ksb0JBQW9CQSxDQUFDQyxTQUFtQixFQUFrQjtBQUNqRixFQUFBLFFBQVEsSUFBSTtJQUNaLEtBQUtBLFNBQVMsWUFBWUYsV0FBVztBQUFFLE1BQUE7UUFDdEMsT0FBT0UsU0FBUyxDQUFDQyxLQUFLO0FBQ3ZCLE1BQUE7SUFFQSxLQUFLRCxTQUFTLFlBQVlOLFVBQVU7QUFBRSxNQUFBO1FBQ3JDLE9BQU9NLFNBQVMsQ0FBQ0UsSUFBSTtBQUN0QixNQUFBO0lBRUEsS0FBS0YsU0FBUyxZQUFZUCxVQUFVO0FBQUUsTUFBQTtRQUNyQyxNQUFNO1VBQUVRLEtBQUs7VUFBRUUsY0FBYztBQUFFQyxVQUFBQTtBQUFpQixTQUFDLEdBQUdKLFNBQVM7QUFFN0QsUUFBQSxNQUFNSyxJ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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cichol/sass-bridge",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"description": "A bridge interface to define Sass custom functions.",
|
|
5
5
|
"homepage": "https://github.com/morrighan/packages",
|
|
6
6
|
"bugs": {
|
|
@@ -13,22 +13,16 @@
|
|
|
13
13
|
"url": "https://www.cichol.com/"
|
|
14
14
|
},
|
|
15
15
|
"type": "module",
|
|
16
|
-
"main": "./dists/index.cjs",
|
|
17
|
-
"module": "./dists/index.js",
|
|
18
|
-
"types": "./dists/index.d.ts",
|
|
19
16
|
"exports": {
|
|
20
17
|
".": {
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
"types": "./dists/index.d.ts"
|
|
24
|
-
},
|
|
25
|
-
"require": {
|
|
26
|
-
"default": "./dists/index.cjs",
|
|
27
|
-
"types": "./dists/index.d.cts"
|
|
28
|
-
}
|
|
18
|
+
"default": "./dists/index.js",
|
|
19
|
+
"types": "./dists/index.d.ts"
|
|
29
20
|
},
|
|
30
21
|
"./package.json": "./package.json"
|
|
31
22
|
},
|
|
23
|
+
"imports": {
|
|
24
|
+
"#*": "./sources/*.ts"
|
|
25
|
+
},
|
|
32
26
|
"repository": {
|
|
33
27
|
"type": "git",
|
|
34
28
|
"url": "git+https://github.com/morrighan/packages.git",
|
|
@@ -41,11 +35,11 @@
|
|
|
41
35
|
"immutable": "^5.1.5"
|
|
42
36
|
},
|
|
43
37
|
"peerDependencies": {
|
|
44
|
-
"sass": "^1.
|
|
38
|
+
"sass": "^1.99.0"
|
|
45
39
|
},
|
|
46
40
|
"engines": {
|
|
47
|
-
"node": "^
|
|
48
|
-
"npm": "^11.
|
|
41
|
+
"node": "^24.15.0",
|
|
42
|
+
"npm": "^11.12.1"
|
|
49
43
|
},
|
|
50
44
|
"publishConfig": {
|
|
51
45
|
"registry": "https://registry.npmjs.org/",
|
package/dists/index.cjs
DELETED
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var _Map = require('core-js-pure/features/map/index.js');
|
|
4
|
-
var _mapInstanceProperty = require('core-js-pure/features/instance/map.js');
|
|
5
|
-
var _Promise = require('core-js-pure/features/promise/index.js');
|
|
6
|
-
var _Reflect$apply = require('core-js-pure/features/reflect/apply.js');
|
|
7
|
-
var _flatMapInstanceProperty = require('core-js-pure/features/instance/flat-map.js');
|
|
8
|
-
var _filterInstanceProperty = require('core-js-pure/features/instance/filter.js');
|
|
9
|
-
var _Reflect$getPrototypeOf = require('core-js-pure/features/reflect/get-prototype-of.js');
|
|
10
|
-
var _Symbol$metadata = require('core-js-pure/features/symbol/metadata.js');
|
|
11
|
-
var _Array$from = require('core-js-pure/features/array/from.js');
|
|
12
|
-
var _entriesInstanceProperty = require('core-js-pure/features/instance/entries.js');
|
|
13
|
-
var _Object$fromEntries = require('core-js-pure/features/object/from-entries.js');
|
|
14
|
-
var _pushInstanceProperty = require('core-js-pure/features/instance/push.js');
|
|
15
|
-
var _fillInstanceProperty = require('core-js-pure/features/instance/fill.js');
|
|
16
|
-
var chroma = require('chroma-js');
|
|
17
|
-
var sass = require('sass');
|
|
18
|
-
var _Symbol$toStringTag = require('core-js-pure/features/symbol/to-string-tag.js');
|
|
19
|
-
var _everyInstanceProperty = require('core-js-pure/features/instance/every.js');
|
|
20
|
-
var _Array$isArray = require('core-js-pure/features/array/is-array.js');
|
|
21
|
-
var util = require('util');
|
|
22
|
-
var Immutable = require('immutable');
|
|
23
|
-
|
|
24
|
-
function _interopNamespaceDefault(e) {
|
|
25
|
-
var n = Object.create(null);
|
|
26
|
-
if (e) {
|
|
27
|
-
Object.keys(e).forEach(function (k) {
|
|
28
|
-
if (k !== 'default') {
|
|
29
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
30
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function () { return e[k]; }
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
n.default = e;
|
|
38
|
-
return Object.freeze(n);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
var sass__namespace = /*#__PURE__*/_interopNamespaceDefault(sass);
|
|
42
|
-
|
|
43
|
-
// Third-party modules.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
// Type definitions.
|
|
47
|
-
|
|
48
|
-
const SassTRUE = sass__namespace.sassTrue;
|
|
49
|
-
const SassFALSE = sass__namespace.sassFalse;
|
|
50
|
-
const SassNULL = sass__namespace.sassNull;
|
|
51
|
-
const {
|
|
52
|
-
SassNumber
|
|
53
|
-
} = sass__namespace;
|
|
54
|
-
const {
|
|
55
|
-
SassString
|
|
56
|
-
} = sass__namespace;
|
|
57
|
-
const {
|
|
58
|
-
SassColor
|
|
59
|
-
} = sass__namespace;
|
|
60
|
-
const {
|
|
61
|
-
SassList
|
|
62
|
-
} = sass__namespace;
|
|
63
|
-
const {
|
|
64
|
-
SassMap
|
|
65
|
-
} = sass__namespace;
|
|
66
|
-
const {
|
|
67
|
-
SassBoolean
|
|
68
|
-
} = sass__namespace;
|
|
69
|
-
|
|
70
|
-
function sassToJavaScriptType(sassValue) {
|
|
71
|
-
switch (true) {
|
|
72
|
-
case sassValue instanceof SassBoolean:
|
|
73
|
-
{
|
|
74
|
-
return sassValue.value;
|
|
75
|
-
}
|
|
76
|
-
case sassValue instanceof SassString:
|
|
77
|
-
{
|
|
78
|
-
return sassValue.text;
|
|
79
|
-
}
|
|
80
|
-
case sassValue instanceof SassNumber:
|
|
81
|
-
{
|
|
82
|
-
const {
|
|
83
|
-
value,
|
|
84
|
-
numeratorUnits,
|
|
85
|
-
denominatorUnits
|
|
86
|
-
} = sassValue;
|
|
87
|
-
const unit = sassValue.hasUnits ? numeratorUnits.join('*') + (denominatorUnits.size > 0 ? `/${denominatorUnits.join('*')}` : '') : '';
|
|
88
|
-
return unit ? {
|
|
89
|
-
value,
|
|
90
|
-
unit
|
|
91
|
-
} : value;
|
|
92
|
-
}
|
|
93
|
-
case sassValue instanceof SassColor:
|
|
94
|
-
{
|
|
95
|
-
const sassColor = sassValue.toSpace('rgb');
|
|
96
|
-
const {
|
|
97
|
-
alpha,
|
|
98
|
-
space
|
|
99
|
-
} = sassColor;
|
|
100
|
-
const channels = [...sassColor.channels];
|
|
101
|
-
if (alpha) {
|
|
102
|
-
_pushInstanceProperty(channels).call(channels, alpha);
|
|
103
|
-
}
|
|
104
|
-
return chroma(...channels, space);
|
|
105
|
-
}
|
|
106
|
-
case sassValue instanceof SassList:
|
|
107
|
-
{
|
|
108
|
-
var _context;
|
|
109
|
-
const listValue = sassValue.asList;
|
|
110
|
-
const length = listValue.size;
|
|
111
|
-
const array = _fillInstanceProperty(_context = Array(length)).call(_context, undefined);
|
|
112
|
-
for (let index = 0; index < length; index += 1) {
|
|
113
|
-
array[index] = listValue.get(index);
|
|
114
|
-
}
|
|
115
|
-
return _mapInstanceProperty(array).call(array, value => sassToJavaScriptType(value));
|
|
116
|
-
}
|
|
117
|
-
case sassValue instanceof SassMap:
|
|
118
|
-
{
|
|
119
|
-
var _context2;
|
|
120
|
-
const mapValue = sassValue.contents;
|
|
121
|
-
const entries = _mapInstanceProperty(_context2 = _Array$from(_entriesInstanceProperty(mapValue).call(mapValue))).call(_context2, ([key, value]) => [sassToJavaScriptType(key), sassToJavaScriptType(value)]);
|
|
122
|
-
return new _Map(entries);
|
|
123
|
-
}
|
|
124
|
-
default:
|
|
125
|
-
{
|
|
126
|
-
return null;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
// Helper functions.
|
|
132
|
-
function isObject(value) {
|
|
133
|
-
const type = typeof value;
|
|
134
|
-
return !!value && (type === 'object' || type === 'function');
|
|
135
|
-
}
|
|
136
|
-
function isMap(value) {
|
|
137
|
-
if (value instanceof _Map) return true;
|
|
138
|
-
if (util.types.isMap(value)) return true;
|
|
139
|
-
return isObject(value) && _Symbol$toStringTag in value && value[_Symbol$toStringTag] === 'Map';
|
|
140
|
-
}
|
|
141
|
-
function javaScriptToSassType(rawValue) {
|
|
142
|
-
var _context, _context2;
|
|
143
|
-
switch (true) {
|
|
144
|
-
case typeof rawValue === 'boolean':
|
|
145
|
-
{
|
|
146
|
-
const booleanValue = rawValue;
|
|
147
|
-
return booleanValue ? SassTRUE : SassFALSE;
|
|
148
|
-
}
|
|
149
|
-
case typeof rawValue === 'number':
|
|
150
|
-
{
|
|
151
|
-
const numberValue = rawValue;
|
|
152
|
-
return new SassNumber(numberValue);
|
|
153
|
-
}
|
|
154
|
-
case isObject(rawValue) && _everyInstanceProperty(_context = ['value', 'unit']).call(_context, propertyKey => propertyKey in rawValue):
|
|
155
|
-
{
|
|
156
|
-
const {
|
|
157
|
-
value,
|
|
158
|
-
unit
|
|
159
|
-
} = rawValue;
|
|
160
|
-
return new SassNumber(value, unit);
|
|
161
|
-
}
|
|
162
|
-
case typeof rawValue === 'string':
|
|
163
|
-
{
|
|
164
|
-
const stringValue = rawValue;
|
|
165
|
-
return new SassString(stringValue);
|
|
166
|
-
}
|
|
167
|
-
case isObject(rawValue) && _everyInstanceProperty(_context2 = ['value', 'quotes']).call(_context2, propertyKey => propertyKey in rawValue):
|
|
168
|
-
{
|
|
169
|
-
const {
|
|
170
|
-
value: stringValue,
|
|
171
|
-
quotes
|
|
172
|
-
} = rawValue;
|
|
173
|
-
return new SassString(stringValue, {
|
|
174
|
-
quotes
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
case isObject(rawValue) && '_rgb' in rawValue:
|
|
178
|
-
{
|
|
179
|
-
const [red, green, blue, alpha] = rawValue.rgba();
|
|
180
|
-
return new SassColor({
|
|
181
|
-
red,
|
|
182
|
-
green,
|
|
183
|
-
blue,
|
|
184
|
-
alpha
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
case _Array$isArray(rawValue):
|
|
188
|
-
{
|
|
189
|
-
return new SassList(_mapInstanceProperty(rawValue).call(rawValue, javaScriptToSassType));
|
|
190
|
-
}
|
|
191
|
-
case isMap(rawValue):
|
|
192
|
-
{
|
|
193
|
-
var _context3;
|
|
194
|
-
const mapValue = rawValue;
|
|
195
|
-
const iterable = _mapInstanceProperty(_context3 = _Array$from(_entriesInstanceProperty(mapValue).call(mapValue))).call(_context3, entry => _mapInstanceProperty(entry).call(entry, javaScriptToSassType));
|
|
196
|
-
return new SassMap(Immutable.OrderedMap(iterable));
|
|
197
|
-
}
|
|
198
|
-
default:
|
|
199
|
-
{
|
|
200
|
-
return SassNULL;
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
// Type definitions.
|
|
206
|
-
|
|
207
|
-
function sassFunction(signature) {
|
|
208
|
-
return function decorate(target, context) {
|
|
209
|
-
if (context.private) {
|
|
210
|
-
throw new TypeError('Not supported on private methods.');
|
|
211
|
-
}
|
|
212
|
-
context.metadata.functionMap ??= new _Map();
|
|
213
|
-
const {
|
|
214
|
-
functionMap
|
|
215
|
-
} = context.metadata;
|
|
216
|
-
context.addInitializer(function initialize() {
|
|
217
|
-
const bridgedFunction = async rawArgs => {
|
|
218
|
-
const args = _mapInstanceProperty(rawArgs).call(rawArgs, sassToJavaScriptType);
|
|
219
|
-
const result = await _Promise.resolve(_Reflect$apply(target, this, args));
|
|
220
|
-
return javaScriptToSassType(result);
|
|
221
|
-
};
|
|
222
|
-
functionMap.set(signature, bridgedFunction);
|
|
223
|
-
});
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
async function getFunctions(...moduleImports) {
|
|
227
|
-
var _context, _context2;
|
|
228
|
-
const modules = await _Promise.all(_mapInstanceProperty(moduleImports).call(moduleImports, module => module.then(({
|
|
229
|
-
default: Module
|
|
230
|
-
}) => new Module())));
|
|
231
|
-
const entries = _flatMapInstanceProperty(_context = _filterInstanceProperty(_context2 = _mapInstanceProperty(modules).call(modules, module => (_Reflect$getPrototypeOf(module)?.constructor)[_Symbol$metadata]?.functionMap)).call(_context2, functionMap => !!functionMap)).call(_context, functionMap => _Array$from(_entriesInstanceProperty(functionMap).call(functionMap)));
|
|
232
|
-
return _Object$fromEntries(entries);
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
exports.getFunctions = getFunctions;
|
|
236
|
-
exports.sassFunction = sassFunction;
|
|
237
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2pzIiwic291cmNlcyI6WyIuLi9zb3VyY2VzL3R5cGVzLnRzIiwiLi4vc291cmNlcy90eXBlLWNvbnZlcnRlci9zYXNzLXRvLWphdmFzY3JpcHQudHMiLCIuLi9zb3VyY2VzL3R5cGUtY29udmVydGVyL2phdmFzY3JpcHQtdG8tc2Fzcy50cyIsIi4uL3NvdXJjZXMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcmQtcGFydHkgbW9kdWxlcy5cbmltcG9ydCB0eXBlIHsgQ29sb3IgfSBmcm9tICdjaHJvbWEtanMnXG5pbXBvcnQgKiBhcyBzYXNzIGZyb20gJ3Nhc3MnXG5cbi8vIFR5cGUgZGVmaW5pdGlvbnMuXG5leHBvcnQgdHlwZSBQcmltaXRpdmVzID0gYm9vbGVhbiB8IG51bWJlciB8IHN0cmluZyB8IG51bGxcblxuZXhwb3J0IHR5cGUgTnVtYmVyV2l0aFVuaXQgPSB7IHZhbHVlOiBudW1iZXIsIHVuaXQ6IHN0cmluZyB9XG5cbmV4cG9ydCB0eXBlIFN0cmluZ1dpdGhRdW90ZXMgPSB7IHZhbHVlOiBzdHJpbmcsIHF1b3RlczogYm9vbGVhbiB9XG5cbmV4cG9ydCB0eXBlIEphdmFTY3JpcHRUeXBlPEJhc2UgPSBQcmltaXRpdmVzIHwgQ29sb3IgfCBOdW1iZXJXaXRoVW5pdCB8IFN0cmluZ1dpdGhRdW90ZXM+ID1cblx0fCBCYXNlXG5cdHwgSmF2YVNjcmlwdFR5cGU8QmFzZT5bXVxuXHR8IE1hcDxKYXZhU2NyaXB0VHlwZTxCYXNlPiwgSmF2YVNjcmlwdFR5cGU8QmFzZT4+XG5cbmV4cG9ydCBjb25zdCBTYXNzVFJVRSA9IHNhc3Muc2Fzc1RydWVcbmV4cG9ydCB0eXBlIFNhc3NUUlVFID0gdHlwZW9mIFNhc3NUUlVFXG5cbmV4cG9ydCBjb25zdCBTYXNzRkFMU0UgPSBzYXNzLnNhc3NGYWxzZVxuZXhwb3J0IHR5cGUgU2Fzc0ZBTFNFID0gdHlwZW9mIFNhc3NGQUxTRVxuXG5leHBvcnQgY29uc3QgU2Fzc05VTEwgPSBzYXNzLnNhc3NOdWxsXG5leHBvcnQgdHlwZSBTYXNzTlVMTCA9IHR5cGVvZiBTYXNzTlVMTFxuXG5leHBvcnQgY29uc3QgeyBTYXNzTnVtYmVyIH0gPSBzYXNzXG5leHBvcnQgdHlwZSBTYXNzTnVtYmVyID0gc2Fzcy5TYXNzTnVtYmVyXG5cbmV4cG9ydCBjb25zdCB7IFNhc3NTdHJpbmcgfSA9IHNhc3NcbmV4cG9ydCB0eXBlIFNhc3NTdHJpbmcgPSBzYXNzLlNhc3NTdHJpbmdcblxuZXhwb3J0IGNvbnN0IHsgU2Fzc0NvbG9yIH0gPSBzYXNzXG5leHBvcnQgdHlwZSBTYXNzQ29sb3IgPSBzYXNzLlNhc3NDb2xvclxuXG5leHBvcnQgY29uc3QgeyBTYXNzTGlzdCB9ID0gc2Fzc1xuZXhwb3J0IHR5cGUgU2Fzc0xpc3QgPSBzYXNzLlNhc3NMaXN0XG5cbmV4cG9ydCBjb25zdCB7IFNhc3NNYXAgfSA9IHNhc3NcbmV4cG9ydCB0eXBlIFNhc3NNYXAgPSBzYXNzLlNhc3NNYXBcblxuZXhwb3J0IGNvbnN0IHsgU2Fzc0Jvb2xlYW4gfSA9IHNhc3NcbmV4cG9ydCB0eXBlIFNhc3NCb29sZWFuID0gc2Fzcy5TYXNzQm9vbGVhblxuXG5leHBvcnQgeyBWYWx1ZSBhcyBTYXNzVHlwZSB9IGZyb20gJ3Nhc3MnXG4iLCIvLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IGNocm9tYSBmcm9tICdjaHJvbWEtanMnXG5cbi8vIExvY2FsIGhlbHBlcnMuXG5pbXBvcnQge1xuXHR0eXBlIEphdmFTY3JpcHRUeXBlLFxuXHR0eXBlIFNhc3NUeXBlLFxuXHRTYXNzQm9vbGVhbixcblx0U2Fzc051bWJlcixcblx0U2Fzc1N0cmluZyxcblx0U2Fzc0NvbG9yLFxuXHRTYXNzTGlzdCxcblx0U2Fzc01hcCxcbn0gZnJvbSAnLi4vdHlwZXMnXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHNhc3NUb0phdmFTY3JpcHRUeXBlKHNhc3NWYWx1ZTogU2Fzc1R5cGUpOiBKYXZhU2NyaXB0VHlwZSB7XG5cdHN3aXRjaCAodHJ1ZSkge1xuXHRjYXNlIHNhc3NWYWx1ZSBpbnN0YW5jZW9mIFNhc3NCb29sZWFuOiB7XG5cdFx0cmV0dXJuIHNhc3NWYWx1ZS52YWx1ZVxuXHR9XG5cblx0Y2FzZSBzYXNzVmFsdWUgaW5zdGFuY2VvZiBTYXNzU3RyaW5nOiB7XG5cdFx0cmV0dXJuIHNhc3NWYWx1ZS50ZXh0XG5cdH1cblxuXHRjYXNlIHNhc3NWYWx1ZSBpbnN0YW5jZW9mIFNhc3NOdW1iZXI6IHtcblx0XHRjb25zdCB7IHZhbHVlLCBudW1lcmF0b3JVbml0cywgZGVub21pbmF0b3JVbml0cyB9ID0gc2Fzc1ZhbHVlXG5cblx0XHRjb25zdCB1bml0ID0gc2Fzc1ZhbHVlLmhhc1VuaXRzXG5cdFx0XHQ/IG51bWVyYXRvclVuaXRzLmpvaW4oJyonKSArIChkZW5vbWluYXRvclVuaXRzLnNpemUgPiAwID8gYC8ke2Rlbm9taW5hdG9yVW5pdHMuam9pbignKicpfWAgOiAnJylcblx0XHRcdDogJydcblxuXHRcdHJldHVybiB1bml0ID8geyB2YWx1ZSwgdW5pdCB9IDogdmFsdWVcblx0fVxuXG5cdGNhc2Ugc2Fzc1ZhbHVlIGluc3RhbmNlb2YgU2Fzc0NvbG9yOiB7XG5cdFx0Y29uc3Qgc2Fzc0NvbG9yID0gc2Fzc1ZhbHVlLnRvU3BhY2UoJ3JnYicpXG5cdFx0Y29uc3QgeyBhbHBoYSwgc3BhY2UgfSA9IHNhc3NDb2xvclxuXHRcdGNvbnN0IGNoYW5uZWxzID0gWyAuLi5zYXNzQ29sb3IuY2hhbm5lbHMgXSBhcyBbIG51bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlciBdXG5cblx0XHRpZiAoYWxwaGEpIHtcblx0XHRcdGNoYW5uZWxzLnB1c2goYWxwaGEpXG5cdFx0fVxuXG5cdFx0cmV0dXJuIGNocm9tYSguLi5jaGFubmVscywgc3BhY2UgYXMgJ3JnYicpXG5cdH1cblxuXHRjYXNlIHNhc3NWYWx1ZSBpbnN0YW5jZW9mIFNhc3NMaXN0OiB7XG5cdFx0Y29uc3QgbGlzdFZhbHVlID0gc2Fzc1ZhbHVlLmFzTGlzdFxuXHRcdGNvbnN0IGxlbmd0aCA9IGxpc3RWYWx1ZS5zaXplXG5cdFx0Y29uc3QgYXJyYXkgPSBBcnJheShsZW5ndGgpLmZpbGwodW5kZWZpbmVkKSBhcyBTYXNzVHlwZVtdXG5cblx0XHRmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCArPSAxKSB7XG5cdFx0XHRhcnJheVtpbmRleF0gPSBsaXN0VmFsdWUuZ2V0KGluZGV4KSBhcyBTYXNzVHlwZVxuXHRcdH1cblxuXHRcdHJldHVybiBhcnJheS5tYXAodmFsdWUgPT4gc2Fzc1RvSmF2YVNjcmlwdFR5cGUodmFsdWUpKVxuXHR9XG5cblx0Y2FzZSBzYXNzVmFsdWUgaW5zdGFuY2VvZiBTYXNzTWFwOiB7XG5cdFx0Y29uc3QgbWFwVmFsdWUgPSBzYXNzVmFsdWUuY29udGVudHNcblxuXHRcdGNvbnN0IGVudHJpZXMgPSBBcnJheS5mcm9tKG1hcFZhbHVlLmVudHJpZXMoKSlcblx0XHRcdC5tYXAoKFsga2V5LCB2YWx1ZSBdKSA9PiBbIHNhc3NUb0phdmFTY3JpcHRUeXBlKGtleSksIHNhc3NUb0phdmFTY3JpcHRUeXBlKHZhbHVlKSBdKVxuXG5cdFx0cmV0dXJuIG5ldyBNYXAoZW50cmllcyBhcyBbSmF2YVNjcmlwdFR5cGUsIEphdmFTY3JpcHRUeXBlXVtdKVxuXHR9XG5cblx0ZGVmYXVsdDoge1xuXHRcdHJldHVybiBudWxsXG5cdH1cblx0fVxufVxuIiwiLy8gTm9kZS5qcyBidWlsdC1pbiBBUElzLlxuaW1wb3J0IHV0aWwgZnJvbSAndXRpbCdcblxuLy8gVGhpcmQtcGFydHkgbW9kdWxlcy5cbmltcG9ydCBJbW11dGFibGUgZnJvbSAnaW1tdXRhYmxlJ1xuXG4vLyBMb2NhbCBoZWxwZXJzLlxuaW1wb3J0IHtcblx0dHlwZSBOdW1iZXJXaXRoVW5pdCxcblx0dHlwZSBTdHJpbmdXaXRoUXVvdGVzLFxuXHR0eXBlIEphdmFTY3JpcHRUeXBlLFxuXHR0eXBlIFNhc3NUeXBlLFxuXHRTYXNzTnVtYmVyLFxuXHRTYXNzU3RyaW5nLFxuXHRTYXNzQ29sb3IsXG5cdFNhc3NMaXN0LFxuXHRTYXNzTWFwLFxuXHRTYXNzVFJVRSxcblx0U2Fzc0ZBTFNFLFxuXHRTYXNzTlVMTCxcbn0gZnJvbSAnLi4vdHlwZXMnXG5cbi8vIEhlbHBlciBmdW5jdGlvbnMuXG5mdW5jdGlvbiBpc09iamVjdCh2YWx1ZT86IHVua25vd24pOiB2YWx1ZSBpcyBvYmplY3Qge1xuXHRjb25zdCB0eXBlID0gdHlwZW9mIHZhbHVlXG5cblx0cmV0dXJuICEhdmFsdWUgJiYgKHR5cGUgPT09ICdvYmplY3QnIHx8IHR5cGUgPT09ICdmdW5jdGlvbicpXG59XG5cbmZ1bmN0aW9uIGlzTWFwKHZhbHVlPzogdW5rbm93bik6IHZhbHVlIGlzIE1hcDx1bmtub3duLCB1bmtub3duPiB7XG5cdGlmICh2YWx1ZSBpbnN0YW5jZW9mIE1hcCkgcmV0dXJuIHRydWVcblx0aWYgKHV0aWwudHlwZXMuaXNNYXAodmFsdWUpKSByZXR1cm4gdHJ1ZVxuXG5cdHJldHVybiBpc09iamVjdCh2YWx1ZSkgJiYgU3ltYm9sLnRvU3RyaW5nVGFnIGluIHZhbHVlICYmIHZhbHVlW1N5bWJvbC50b1N0cmluZ1RhZ10gPT09ICdNYXAnXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGphdmFTY3JpcHRUb1Nhc3NUeXBlKHJhd1ZhbHVlOiBKYXZhU2NyaXB0VHlwZSk6IFNhc3NUeXBlIHtcblx0c3dpdGNoICh0cnVlKSB7XG5cdGNhc2UgdHlwZW9mIHJhd1ZhbHVlID09PSAnYm9vbGVhbic6IHtcblx0XHRjb25zdCBib29sZWFuVmFsdWUgPSByYXdWYWx1ZVxuXG5cdFx0cmV0dXJuIGJvb2xlYW5WYWx1ZSA/IFNhc3NUUlVFIDogU2Fzc0ZBTFNFXG5cdH1cblxuXHRjYXNlIHR5cGVvZiByYXdWYWx1ZSA9PT0gJ251bWJlcic6IHtcblx0XHRjb25zdCBudW1iZXJWYWx1ZSA9IHJhd1ZhbHVlXG5cblx0XHRyZXR1cm4gbmV3IFNhc3NOdW1iZXIobnVtYmVyVmFsdWUpXG5cdH1cblxuXHRjYXNlIGlzT2JqZWN0KHJhd1ZhbHVlKSAmJiBbICd2YWx1ZScsICd1bml0JyBdLmV2ZXJ5KHByb3BlcnR5S2V5ID0+IHByb3BlcnR5S2V5IGluIHJhd1ZhbHVlKToge1xuXHRcdGNvbnN0IHsgdmFsdWUsIHVuaXQgfSA9IHJhd1ZhbHVlIGFzIE51bWJlcldpdGhVbml0XG5cblx0XHRyZXR1cm4gbmV3IFNhc3NOdW1iZXIodmFsdWUsIHVuaXQpXG5cdH1cblxuXHRjYXNlIHR5cGVvZiByYXdWYWx1ZSA9PT0gJ3N0cmluZyc6IHtcblx0XHRjb25zdCBzdHJpbmdWYWx1ZSA9IHJhd1ZhbHVlXG5cblx0XHRyZXR1cm4gbmV3IFNhc3NTdHJpbmcoc3RyaW5nVmFsdWUpXG5cdH1cblxuXHRjYXNlIGlzT2JqZWN0KHJhd1ZhbHVlKSAmJiBbICd2YWx1ZScsICdxdW90ZXMnIF0uZXZlcnkocHJvcGVydHlLZXkgPT4gcHJvcGVydHlLZXkgaW4gcmF3VmFsdWUpOiB7XG5cdFx0Y29uc3QgeyB2YWx1ZTogc3RyaW5nVmFsdWUsIHF1b3RlcyB9ID0gcmF3VmFsdWUgYXMgU3RyaW5nV2l0aFF1b3Rlc1xuXG5cdFx0cmV0dXJuIG5ldyBTYXNzU3RyaW5nKHN0cmluZ1ZhbHVlLCB7IHF1b3RlcyB9KVxuXHR9XG5cblx0Y2FzZSBpc09iamVjdChyYXdWYWx1ZSkgJiYgJ19yZ2InIGluIHJhd1ZhbHVlOiB7XG5cdFx0Y29uc3QgWyByZWQsIGdyZWVuLCBibHVlLCBhbHBoYSBdID0gcmF3VmFsdWUucmdiYSgpIGFzIG51bWJlcltdXG5cblx0XHRyZXR1cm4gbmV3IFNhc3NDb2xvcih7IHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhIH0pXG5cdH1cblxuXHRjYXNlIEFycmF5LmlzQXJyYXkocmF3VmFsdWUpOiB7XG5cdFx0cmV0dXJuIG5ldyBTYXNzTGlzdChyYXdWYWx1ZS5tYXAoamF2YVNjcmlwdFRvU2Fzc1R5cGUpKVxuXHR9XG5cblx0Y2FzZSBpc01hcChyYXdWYWx1ZSk6IHtcblx0XHRjb25zdCBtYXBWYWx1ZSA9IHJhd1ZhbHVlIGFzIE1hcDxKYXZhU2NyaXB0VHlwZSwgSmF2YVNjcmlwdFR5cGU+XG5cblx0XHRjb25zdCBpdGVyYWJsZSA9IEFycmF5LmZyb20obWFwVmFsdWUuZW50cmllcygpKVxuXHRcdFx0Lm1hcChlbnRyeSA9PiAoXG5cdFx0XHRcdGVudHJ5Lm1hcChqYXZhU2NyaXB0VG9TYXNzVHlwZSkgYXMgWyBTYXNzVHlwZSwgU2Fzc1R5cGUgXVxuXHRcdFx0KSlcblxuXHRcdHJldHVybiBuZXcgU2Fzc01hcChJbW11dGFibGUuT3JkZXJlZE1hcChpdGVyYWJsZSkpXG5cdH1cblxuXHRkZWZhdWx0OiB7XG5cdFx0cmV0dXJuIFNhc3NOVUxMXG5cdH1cblx0fVxufVxuIiwiLy8gVGhpcmQtcGFydHkgbW9kdWxlcy5cbmltcG9ydCB0eXBlIHsgQ3VzdG9tRnVuY3Rpb24gfSBmcm9tICdzYXNzJ1xuXG4vLyBMb2NhbCBoZWxwZXJzLlxuaW1wb3J0IHR5cGUgeyBTYXNzVHlwZSwgSmF2YVNjcmlwdFR5cGUgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgc2Fzc1RvSmF2YVNjcmlwdFR5cGUsIGphdmFTY3JpcHRUb1Nhc3NUeXBlIH0gZnJvbSAnLi90eXBlLWNvbnZlcnRlcidcblxuLy8gVHlwZSBkZWZpbml0aW9ucy5cbmludGVyZmFjZSBDb25zdHJ1Y3RvciB7XG5cdG5ldyAoLi4uYXJnczogYW55W10pOiBvYmplY3Rcbn1cblxuaW50ZXJmYWNlIEJyaWRnZWRGdW5jdGlvbiB7XG5cdChyYXdBcmdzOiBTYXNzVHlwZVtdKTogUHJvbWlzZTxTYXNzVHlwZT5cbn1cblxudHlwZSBCcmlkZ2VkRnVuY3Rpb25NYXAgPSBNYXA8c3RyaW5nLCBCcmlkZ2VkRnVuY3Rpb24+XG5cbmV4cG9ydCBmdW5jdGlvbiBzYXNzRnVuY3Rpb24oc2lnbmF0dXJlOiBzdHJpbmcpIHtcblx0cmV0dXJuIGZ1bmN0aW9uIGRlY29yYXRlPFRoaXMsIEFyZ3MgZXh0ZW5kcyBhbnlbXSwgUmV0dXJuIGV4dGVuZHMgSmF2YVNjcmlwdFR5cGU+KFxuXHRcdHRhcmdldDogKHRoaXM6IFRoaXMsIC4uLmFyZ3M6IEFyZ3MpID0+IFJldHVybiB8IFByb21pc2U8UmV0dXJuPixcblx0XHRjb250ZXh0OiBDbGFzc01ldGhvZERlY29yYXRvckNvbnRleHQ8VGhpcywgKHRoaXM6IFRoaXMsIC4uLmFyZ3M6IEFyZ3MpID0+IFJldHVybiB8IFByb21pc2U8UmV0dXJuPj4sXG5cdCk6IHZvaWQge1xuXHRcdGlmIChjb250ZXh0LnByaXZhdGUpIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ05vdCBzdXBwb3J0ZWQgb24gcHJpdmF0ZSBtZXRob2RzLicpXG5cdFx0fVxuXG5cdFx0Y29udGV4dC5tZXRhZGF0YS5mdW5jdGlvbk1hcCA/Pz0gbmV3IE1hcDxzdHJpbmcsIEJyaWRnZWRGdW5jdGlvbj4oKVxuXG5cdFx0Y29uc3QgeyBmdW5jdGlvbk1hcCB9ID0gY29udGV4dC5tZXRhZGF0YSBhcyB7IGZ1bmN0aW9uTWFwOiBCcmlkZ2VkRnVuY3Rpb25NYXAgfVxuXG5cdFx0Y29udGV4dC5hZGRJbml0aWFsaXplcihmdW5jdGlvbiBpbml0aWFsaXplKHRoaXM6IFRoaXMpIHtcblx0XHRcdGNvbnN0IGJyaWRnZWRGdW5jdGlvbjogQnJpZGdlZEZ1bmN0aW9uID0gYXN5bmMgKHJhd0FyZ3M6IFNhc3NUeXBlW10pOiBQcm9taXNlPFNhc3NUeXBlPiA9PiB7XG5cdFx0XHRcdGNvbnN0IGFyZ3MgPSByYXdBcmdzLm1hcChzYXNzVG9KYXZhU2NyaXB0VHlwZSlcblx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKFJlZmxlY3QuYXBwbHkodGFyZ2V0LCB0aGlzLCBhcmdzKSkgYXMgSmF2YVNjcmlwdFR5cGVcblxuXHRcdFx0XHRyZXR1cm4gamF2YVNjcmlwdFRvU2Fzc1R5cGUocmVzdWx0KVxuXHRcdFx0fVxuXG5cdFx0XHRmdW5jdGlvbk1hcC5zZXQoc2lnbmF0dXJlLCBicmlkZ2VkRnVuY3Rpb24pXG5cdFx0fSlcblx0fVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RnVuY3Rpb25zKFxuXHQuLi5tb2R1bGVJbXBvcnRzOiBQcm9taXNlPHsgZGVmYXVsdDogQ29uc3RydWN0b3IgfT5bXVxuKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBDdXN0b21GdW5jdGlvbjwnYXN5bmMnPj4+IHtcblx0Y29uc3QgbW9kdWxlcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdG1vZHVsZUltcG9ydHMubWFwKG1vZHVsZSA9PiAoXG5cdFx0XHRtb2R1bGUudGhlbigoeyBkZWZhdWx0OiBNb2R1bGUgfSkgPT4gbmV3IE1vZHVsZSgpKVxuXHRcdCkpLFxuXHQpXG5cblx0Y29uc3QgZW50cmllcyA9IG1vZHVsZXNcblx0XHQubWFwKG1vZHVsZSA9PiAoXG5cdFx0XHRSZWZsZWN0LmdldFByb3RvdHlwZU9mKG1vZHVsZSk/LmNvbnN0cnVjdG9yPy5bU3ltYm9sLm1ldGFkYXRhXT8uZnVuY3Rpb25NYXAgYXMgQnJpZGdlZEZ1bmN0aW9uTWFwXG5cdFx0KSlcblx0XHQuZmlsdGVyKGZ1bmN0aW9uTWFwID0+ICEhZnVuY3Rpb25NYXApXG5cdFx0LmZsYXRNYXAoZnVuY3Rpb25NYXAgPT4gQXJyYXkuZnJvbShmdW5jdGlvbk1hcC5lbnRyaWVzKCkpKVxuXG5cdHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoZW50cmllcylcbn1cbiJdLCJuYW1lcyI6WyJTYXNzVFJVRSIsInNhc3MiLCJzYXNzVHJ1ZSIsIlNhc3NGQUxTRSIsInNhc3NGYWxzZSIsIlNhc3NOVUxMIiwic2Fzc051bGwiLCJTYXNzTnVtYmVyIiwiU2Fzc1N0cmluZyIsIlNhc3NDb2xvciIsIlNhc3NMaXN0IiwiU2Fzc01hcCIsIlNhc3NCb29sZWFuIiwic2Fzc1RvSmF2YVNjcmlwdFR5cGUiLCJzYXNzVmFsdWUiLCJ2YWx1ZSIsInRleHQiLCJudW1lcmF0b3JVbml0cyIsImRlbm9taW5hdG9yVW5pdHMiLCJ1bml0IiwiaGFzVW5pdHMiLCJqb2luIiwic2l6ZSIsInNhc3NDb2xvciIsInRvU3BhY2UiLCJhbHBoYSIsInNwYWNlIiwiY2hhbm5lbHMiLCJfcHVzaEluc3RhbmNlUHJvcGVydHkiLCJjYWxsIiwiY2hyb21hIiwiX2NvbnRleHQiLCJsaXN0VmFsdWUiLCJhc0xpc3QiLCJsZW5ndGgiLCJhcnJheSIsIl9maWxsSW5zdGFuY2VQcm9wZXJ0eSIsIkFycmF5IiwidW5kZWZpbmVkIiwiaW5kZXgiLCJnZXQiLCJfbWFwSW5zdGFuY2VQcm9wZXJ0eSIsIl9jb250ZXh0MiIsIm1hcFZhbHVlIiwiY29udGVudHMiLCJlbnRyaWVzIiwiX0FycmF5JGZyb20iLCJfZW50cmllc0luc3RhbmNlUHJvcGVydHkiLCJrZXkiLCJfTWFwIiwiaXNPYmplY3QiLCJ0eXBlIiwiaXNNYXAiLCJ1dGlsIiwidHlwZXMiLCJfU3ltYm9sJHRvU3RyaW5nVGFnIiwiamF2YVNjcmlwdFRvU2Fzc1R5cGUiLCJyYXdWYWx1ZSIsImJvb2xlYW5WYWx1ZSIsIm51bWJlclZhbHVlIiwiX2V2ZXJ5SW5zdGFuY2VQcm9wZXJ0eSIsInByb3BlcnR5S2V5Iiwic3RyaW5nVmFsdWUiLCJxdW90ZXMiLCJyZWQiLCJncmVlbiIsImJsdWUiLCJyZ2JhIiwiX0FycmF5JGlzQXJyYXkiLCJfY29udGV4dDMiLCJpdGVyYWJsZSIsImVudHJ5IiwiSW1tdXRhYmxlIiwiT3JkZXJlZE1hcCIsInNhc3NGdW5jdGlvbiIsInNpZ25hdHVyZSIsImRlY29yYXRlIiwidGFyZ2V0IiwiY29udGV4dCIsInByaXZhdGUiLCJUeXBlRXJyb3IiLCJtZXRhZGF0YSIsImZ1bmN0aW9uTWFwIiwiYWRkSW5pdGlhbGl6ZXIiLCJpbml0aWFsaXplIiwiYnJpZGdlZEZ1bmN0aW9uIiwicmF3QXJncyIsImFyZ3MiLCJyZXN1bHQiLCJfUHJvbWlzZSIsInJlc29sdmUiLCJfUmVmbGVjdCRhcHBseSIsInNldCIsImdldEZ1bmN0aW9ucyIsIm1vZHVsZUltcG9ydHMiLCJtb2R1bGVzIiwiYWxsIiwibW9kdWxlIiwidGhlbiIsImRlZmF1bHQiLCJNb2R1bGUiLCJfZmxhdE1hcEluc3RhbmNlUHJvcGVydHkiLCJfZmlsdGVySW5zdGFuY2VQcm9wZXJ0eSIsIl9SZWZsZWN0JGdldFByb3RvdHlwZU9mIiwiY29uc3RydWN0b3IiLCJfU3ltYm9sJG1ldGFkYXRhIiwiX09iamVjdCRmcm9tRW50cmllcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7OztBQUlBOztBQVlPLE1BQU1BLFFBQVEsR0FBR0MsZUFBSSxDQUFDQyxRQUFRO0FBRzlCLE1BQU1DLFNBQVMsR0FBR0YsZUFBSSxDQUFDRyxTQUFTO0FBR2hDLE1BQU1DLFFBQVEsR0FBR0osZUFBSSxDQUFDSyxRQUFRO0FBRzlCLE1BQU07QUFBRUMsRUFBQUE7QUFBVyxDQUFDLEdBQUdOLGVBQUk7QUFHM0IsTUFBTTtBQUFFTyxFQUFBQTtBQUFXLENBQUMsR0FBR1AsZUFBSTtBQUczQixNQUFNO0FBQUVRLEVBQUFBO0FBQVUsQ0FBQyxHQUFHUixlQUFJO0FBRzFCLE1BQU07QUFBRVMsRUFBQUE7QUFBUyxDQUFDLEdBQUdULGVBQUk7QUFHekIsTUFBTTtBQUFFVSxFQUFBQTtBQUFRLENBQUMsR0FBR1YsZUFBSTtBQUd4QixNQUFNO0FBQUVXLEVBQUFBO0FBQVksQ0FBQyxHQUFHWCxlQUFJOztBQ3pCcEIsU0FBU1ksb0JBQW9CQSxDQUFDQyxTQUFtQixFQUFrQjtBQUNqRixFQUFBLFFBQVEsSUFBSTtJQUNaLEtBQUtBLFNBQVMsWUFBWUYsV0FBVztBQUFFLE1BQUE7UUFDdEMsT0FBT0UsU0FBUyxDQUFDQyxLQUFLO0FBQ3ZCLE1BQUE7SUFFQSxLQUFLRCxTQUFTLFlBQVlOLFVBQVU7QUFBRSxNQUFBO1FBQ3JDLE9BQU9NLFNBQVMsQ0FBQ0UsSUFBSTtBQUN0QixNQUFBO0lBRUEsS0FBS0YsU0FBUyxZQUFZUCxVQUFVO0FBQUUsTUFBQTtRQUNyQyxNQUFNO1VBQUVRLEtBQUs7VUFBRUUsY0FBYztBQUFFQyxVQUFBQTtBQUFpQixTQUFDLEdBQUdKLFNBQVM7QUFFN0QsUUFBQSxNQUFNSyxJQUFJLEdBQUdM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
|
package/dists/index.d.cts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { Color } from 'chroma-js';
|
|
2
|
-
import type { CustomFunction } from 'sass';
|
|
3
|
-
|
|
4
|
-
declare interface Constructor {
|
|
5
|
-
new (...args: any[]): object;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export declare function getFunctions(...moduleImports: Promise<{
|
|
9
|
-
default: Constructor;
|
|
10
|
-
}>[]): Promise<Record<string, CustomFunction<'async'>>>;
|
|
11
|
-
|
|
12
|
-
declare type JavaScriptType<Base = Primitives | Color | NumberWithUnit | StringWithQuotes> = Base | JavaScriptType<Base>[] | Map<JavaScriptType<Base>, JavaScriptType<Base>>;
|
|
13
|
-
|
|
14
|
-
declare type NumberWithUnit = {
|
|
15
|
-
value: number;
|
|
16
|
-
unit: string;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
declare type Primitives = boolean | number | string | null;
|
|
20
|
-
|
|
21
|
-
export declare function sassFunction(signature: string): <This, Args extends any[], Return extends JavaScriptType>(target: (this: This, ...args: Args) => Return | Promise<Return>, context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Return | Promise<Return>>) => void;
|
|
22
|
-
|
|
23
|
-
declare type StringWithQuotes = {
|
|
24
|
-
value: string;
|
|
25
|
-
quotes: boolean;
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export { }
|