UNPKG

@cycle/dom

Version:

The standard DOM Driver for Cycle.js, based on Snabbdom

38 lines 1.33 kB
var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; import { isClassOrId } from './utils'; export function makeIsolateSink(namespace) { return function (sink, scope) { if (scope === ':root') { return sink; } return sink.map(function (node) { if (!node) { return node; } var scopeObj = getScopeObj(scope); var newNode = __assign({}, node, { data: __assign({}, node.data, { isolate: !node.data || !Array.isArray(node.data.isolate) ? namespace.concat([scopeObj]) : node.data.isolate }) }); return __assign({}, newNode, { key: newNode.key !== undefined ? newNode.key : JSON.stringify(newNode.data.isolate) }); }); }; } export function getScopeObj(scope) { return { type: isClassOrId(scope) ? 'sibling' : 'total', scope: scope, }; } //# sourceMappingURL=isolate.js.map