UNPKG

1.33 kBJavaScriptView Raw
1var __assign = (this && this.__assign) || function () {
2 __assign = Object.assign || function(t) {
3 for (var s, i = 1, n = arguments.length; i < n; i++) {
4 s = arguments[i];
5 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6 t[p] = s[p];
7 }
8 return t;
9 };
10 return __assign.apply(this, arguments);
11};
12import { isClassOrId } from './utils';
13export function makeIsolateSink(namespace) {
14 return function (sink, scope) {
15 if (scope === ':root') {
16 return sink;
17 }
18 return sink.map(function (node) {
19 if (!node) {
20 return node;
21 }
22 var scopeObj = getScopeObj(scope);
23 var newNode = __assign({}, node, { data: __assign({}, node.data, { isolate: !node.data || !Array.isArray(node.data.isolate)
24 ? namespace.concat([scopeObj])
25 : node.data.isolate }) });
26 return __assign({}, newNode, { key: newNode.key !== undefined
27 ? newNode.key
28 : JSON.stringify(newNode.data.isolate) });
29 });
30 };
31}
32export function getScopeObj(scope) {
33 return {
34 type: isClassOrId(scope) ? 'sibling' : 'total',
35 scope: scope,
36 };
37}
38//# sourceMappingURL=isolate.js.map
\No newline at end of file