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