Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@tko/utils.jsx

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tko/utils.jsx - npm Package Compare versions

Comparing version
4.0.0-alpha8.4
to
4.0.0-alpha9.0
+2
-2
dist/utils.jsx.es6.js
/*!
* TKO JSX Rendering 🥊 @tko/utils.jsx@4.0.0-alpha8.4
* TKO JSX Rendering 🥊 @tko/utils.jsx@4.0.0-alpha9.0
* (c) The Knockout.js Team - https://tko.io

@@ -362,3 +362,3 @@ * License: MIT (http://www.opensource.org/licenses/mit-license.php)

subscriptions.push(
value.subscribe(attr => this.setNodeAttribute(node, name, attr)));
value.subscribe(attr => this.setNodeAttribute(node, name, value)));
}

@@ -365,0 +365,0 @@ this.setNodeAttribute(node, name, value);

@@ -1,1 +0,1 @@

{"version":3,"file":"utils.jsx.es6.js","sources":["../src/jsxClean.js","../src/JsxObserver.js","../src/jsx.js"],"sourcesContent":["import {\n cleanNode\n} from '@tko/utils'\n\nconst DELAY_MS = 25\nconst MAX_CLEAN_AT_ONCE = 1000\nconst cleanNodeQueue = []\nlet cleanNodeTimeoutID = null\n\nexport function queueCleanNode (node) {\n cleanNodeQueue.push(node)\n triggerCleanTimeout()\n}\n\nfunction triggerCleanTimeout () {\n if (!cleanNodeTimeoutID && cleanNodeQueue.length) {\n cleanNodeTimeoutID = setTimeout(flushCleanQueue, DELAY_MS)\n }\n}\n\nfunction flushCleanQueue () {\n cleanNodeTimeoutID = null\n const nodes = cleanNodeQueue.splice(0, MAX_CLEAN_AT_ONCE)\n for (const node of nodes) { cleanNode(node) }\n triggerCleanTimeout()\n}\n","\nimport {LifeCycle} from '@tko/lifecycle'\n\nimport {\n safeStringify, isThenable\n} from '@tko/utils'\n\nimport {\n applyBindings, contextFor\n} from '@tko/bind'\n\nimport {\n isObservable, unwrap, observable\n} from '@tko/observable'\n\nimport {\n isComputed\n} from '@tko/computed'\n\nimport {\n NativeProvider, NATIVE_BINDINGS\n} from '@tko/provider.native'\n\nimport {\n queueCleanNode\n} from './jsxClean'\n\nexport const ORIGINAL_JSX_SYM = Symbol('Knockout - Original JSX')\n\nconst NAMESPACES = {\n svg: 'http://www.w3.org/2000/svg',\n html: 'http://www.w3.org/1999/xhtml',\n xml: 'http://www.w3.org/XML/1998/namespace',\n xlink: 'http://www.w3.org/1999/xlink',\n xmlns: 'http://www.w3.org/2000/xmlns/'\n}\n\nfunction isIterable (v) {\n return v && typeof v[Symbol.iterator] === 'function'\n}\n\n/**\n * JSX object from a pre-processor.\n * @typedef {Object} JSX\n * @property {string} elementName becomes the `tagName`\n * @property {Array.<JSX>} children\n * @property {object} attributes\n */\n\n/**\n * Observe a variety of possible cases from JSX, modifying the\n * `parentNode` at `insertBefore` with the result.\n */\nexport class JsxObserver extends LifeCycle {\n /**\n * @param {any} jsxOrObservable take a long list of permutations\n */\n constructor (jsxOrObservable, parentNode, insertBefore = null, xmlns, noInitialBinding) {\n super()\n\n const parentNodeIsComment = parentNode.nodeType === 8\n\n const parentNodeTarget = this.getParentTarget(parentNode)\n\n if (isObservable(jsxOrObservable)) {\n jsxOrObservable.extend({ trackArrayChanges: true })\n this.subscribe(jsxOrObservable, this.observableArrayChange, 'arrayChange')\n\n if (!insertBefore) {\n const insertAt = parentNodeIsComment ? parentNode.nextSibling : null\n insertBefore = this.createComment('O')\n parentNodeTarget.insertBefore(insertBefore, insertAt)\n } else {\n this.adoptedInsertBefore = true\n }\n }\n\n if (parentNodeIsComment && !insertBefore) {\n // Typcially: insertBefore becomes <!-- /ko -->\n insertBefore = parentNode.nextSibling\n // Mark this so we don't remove the next node - since we didn't create it.\n this.adoptedInsertBefore = true\n }\n\n this.anchorTo(insertBefore || parentNode)\n\n Object.assign(this, {\n insertBefore,\n noInitialBinding,\n parentNode,\n parentNodeTarget,\n xmlns,\n nodeArrayOrObservableAtIndex: [],\n subscriptionsForNode: new Map(),\n })\n\n const jsx = unwrap(jsxOrObservable)\n const computed = isComputed(jsxOrObservable)\n\n if (computed || (jsx !== null && jsx !== undefined)) {\n this.observableArrayChange(this.createInitialAdditions(jsx))\n }\n this.noInitialBinding = false\n }\n\n /**\n * @param {HMTLElement|Comment|HTMLTemplateElement} parentNode\n */\n getParentTarget (parentNode) {\n if ('content' in parentNode) { return parentNode.content }\n if (parentNode.nodeType === 8) { return parentNode.parentNode }\n return parentNode\n }\n\n remove () { this.dispose() }\n dispose () {\n super.dispose()\n const ib = this.insertBefore\n const insertBeforeIsChild = ib && this.parentNodeTarget === ib.parentNode\n if (insertBeforeIsChild && !this.adoptedInsertBefore) {\n this.parentNodeTarget.removeChild(ib)\n }\n this.removeAllPriorNodes()\n Object.assign(this, {\n parentNode: null,\n parentNodeTarget: null,\n insertBefore: null,\n nodeArrayOrObservableAtIndex: []\n })\n for (const subscriptions of this.subscriptionsForNode.values()) {\n subscriptions.forEach(s => s.dispose())\n }\n this.subscriptionsForNode.clear()\n }\n\n createInitialAdditions (possibleIterable) {\n const status = 'added'\n if (typeof possibleIteratable === 'object' &&\n posibleIterable !== null &&\n Symbol.iterator in possibleIterable) {\n possibleIterable = [...possibleIterable]\n }\n\n return Array.isArray(possibleIterable)\n ? possibleIterable.map((value, index) => ({ index, status, value }))\n : [{ status, index: 0, value: possibleIterable }]\n }\n\n /**\n * Note: array change notification indexes are:\n * - to the original array indexes for deletes\n * - to the new array indexes for adds\n * - sorted by index in ascending order\n */\n observableArrayChange (changes) {\n let adds = []\n let dels = []\n for (const index in changes) {\n const change = changes[index]\n if (change.status === 'added') {\n adds.push([change.index, change.value])\n } else {\n dels.unshift([change.index, change.value])\n }\n }\n dels.forEach(change => this.delChange(...change))\n adds.forEach(change => this.addChange(...change))\n }\n\n /**\n * Add a change at the given index.\n *\n * @param {int} index\n * @param {string|object|Array|Observable.string|Observable.Array|Obseravble.object} jsx\n */\n addChange (index, jsx) {\n this.nodeArrayOrObservableAtIndex.splice(index, 0,\n this.injectNode(jsx, this.lastNodeFor(index)))\n }\n\n injectNode (jsx, nextNode) {\n let nodeArrayOrObservable\n\n if (isObservable(jsx)) {\n const {parentNode, xmlns} = this\n const observer = new JsxObserver(jsx, parentNode, nextNode, xmlns, this.noInitialBinding)\n nodeArrayOrObservable = [observer]\n } else if (typeof jsx !== 'string' && isIterable(jsx)) {\n nodeArrayOrObservable = []\n for (const child of jsx) {\n nodeArrayOrObservable.unshift(\n this.injectNode(child, nextNode))\n }\n } else {\n const $context = contextFor(this.parentNode)\n const isInsideTemplate = 'content' in this.parentNode\n const shouldApplyBindings = $context && !isInsideTemplate && !this.noInitialBinding\n\n if (Array.isArray(jsx)) {\n nodeArrayOrObservable = jsx.map(j => this.anyToNode(j))\n } else {\n nodeArrayOrObservable = [this.anyToNode(jsx)]\n }\n\n for (const node of nodeArrayOrObservable) {\n this.parentNodeTarget.insertBefore(node, nextNode)\n if (shouldApplyBindings && this.canApplyBindings(node)) {\n applyBindings($context, node)\n }\n }\n }\n\n return nodeArrayOrObservable\n }\n\n /**\n * True when Node is a type suitable for applyBindings i.e. a HTMLElement\n * or a Comment.\n * @param {Node} node\n */\n canApplyBindings (node) {\n return node.nodeType === 1 || node.nodeType === 8\n }\n\n delChange (index) {\n this.removeNodeArrayOrObservable(\n this.nodeArrayOrObservableAtIndex[index])\n this.nodeArrayOrObservableAtIndex.splice(index, 1)\n }\n\n getSubscriptionsForNode (node) {\n if (!this.subscriptionsForNode.has(node)) {\n const subscriptions = []\n this.subscriptionsForNode.set(node, subscriptions)\n return subscriptions\n }\n return this.subscriptionsForNode.get(node)\n }\n\n isJsx (jsx) {\n return typeof jsx.elementName === 'string' &&\n 'children' in jsx &&\n 'attributes' in jsx\n }\n\n /**\n * @param {any} value acceptable to turn into a Node\n *\n * The one thing `any` cannot be here is an Array or Observable; both those\n * cases are handled with new JsxObservers.\n */\n anyToNode (any) {\n if (isThenable(any)) { return this.futureJsxNode(any) }\n\n switch (typeof any) {\n case 'object':\n if (any instanceof Error) {\n return this.createComment(any.toString())\n }\n if (any === null) {\n return this.createComment(String(any))\n }\n if (any instanceof Node) {\n return this.cloneJSXorMoveNode(any)\n }\n if (Symbol.iterator in any) {\n return any\n }\n break\n case 'function': return this.anyToNode(any())\n case 'undefined':\n case 'Error':\n case 'symbol':\n return this.createComment(String(any))\n case 'string': return this.createTextNode(any)\n case 'boolean':\n case 'number':\n case 'bigint':\n default:\n return this.createTextNode(String(any))\n }\n\n return this.isJsx(any)\n ? this.jsxToNode(any)\n : this.createComment(safeStringify(any))\n }\n\n createComment (string) {\n const node = document.createComment(string)\n node[NATIVE_BINDINGS] = true\n return node\n }\n\n createTextNode (string) {\n const node = document.createTextNode(string)\n node[NATIVE_BINDINGS] = true\n return node\n }\n\n /**\n * Clone a node; if that node was originally from JSX, we clone from there\n * so we preserve binding handlers.\n *\n * @param {HTMLElement} node\n */\n cloneJSXorMoveNode (node) {\n return ORIGINAL_JSX_SYM in node\n ? this.jsxToNode(node[ORIGINAL_JSX_SYM])\n : node\n }\n\n /**\n * @param {JSX} jsx to convert to a node.\n */\n jsxToNode (jsx) {\n const xmlns = jsx.attributes.xmlns || NAMESPACES[jsx.elementName] || this.xmlns\n const node = document.createElementNS(xmlns || NAMESPACES.html, jsx.elementName)\n\n /** Slots need to be able to replicate with the attributes, which\n * are not preserved when cloning from template nodes. */\n node[ORIGINAL_JSX_SYM] = jsx\n\n if (isObservable(jsx.attributes)) {\n const subscriptions = this.getSubscriptionsForNode(node)\n subscriptions.push(\n jsx.attributes.subscribe(attrs => {\n this.updateAttributes(node, unwrap(attrs))\n }))\n }\n this.updateAttributes(node, unwrap(jsx.attributes))\n\n this.addDisposable(new JsxObserver(jsx.children, node, null, xmlns, this.noInitialBinding))\n\n return node\n }\n\n futureJsxNode (promise) {\n const obs = observable()\n promise.then(obs).catch(e => obs(e instanceof Error ? e : Error(e)))\n const jo = new JsxObserver(obs, this.parentNode, null, this.xmlns, this.noInitialBinding)\n this.addDisposable(jo)\n return jo.insertBefore\n }\n\n updateAttributes (node, attributes) {\n const subscriptions = this.getSubscriptionsForNode(node)\n const toRemove = new Set([...node.attributes].map(n => n.name))\n\n for (const [name, value] of Object.entries(attributes || {})) {\n toRemove.delete(name)\n if (isObservable(value)) {\n subscriptions.push(\n value.subscribe(attr => this.setNodeAttribute(node, name, attr)))\n }\n this.setNodeAttribute(node, name, value)\n }\n\n for (const name of toRemove) {\n this.setNodeAttribute(node, name, undefined)\n }\n }\n\n /**\n * See https://stackoverflow.com/a/52572048\n * @param {string} attr element attribute\n * @return {string} namespace argument for setAtttributeNS\n */\n getNamespaceOfAttribute (attr) {\n const [prefix, ...unqualifiedName] = attr.split(':')\n if (prefix === 'xmlns' || (unqualifiedName.length && NAMESPACES[prefix])) {\n return NAMESPACES[prefix]\n }\n return null\n }\n\n /**\n *\n * @param {HTMLElement} node\n * @param {string} name\n * @param {any} valueOrObservable\n */\n setNodeAttribute (node, name, valueOrObservable) {\n const value = unwrap(valueOrObservable)\n NativeProvider.addValueToNode(node, name, valueOrObservable)\n if (value === undefined) {\n node.removeAttributeNS(null, name)\n } else if (isThenable(valueOrObservable)) {\n Promise.resolve(valueOrObservable)\n .then(v => this.setNodeAttribute(node, name, v))\n } else {\n const ns = this.getNamespaceOfAttribute(name)\n node.setAttributeNS(ns, name, String(value))\n }\n }\n\n /**\n * @param {int} index\n * @return {Comment} that immediately precedes this.\n */\n lastNodeFor (index) {\n const nodesAtIndex = this.nodeArrayOrObservableAtIndex[index] || []\n const [lastNodeOfPrior] = nodesAtIndex.slice(-1)\n const insertBefore = lastNodeOfPrior instanceof JsxObserver\n ? lastNodeOfPrior.insertBefore : lastNodeOfPrior || this.insertBefore\n if (insertBefore) { return insertBefore.parentNode ? insertBefore : null }\n return null\n }\n\n removeAllPriorNodes () {\n const {nodeArrayOrObservableAtIndex} = this\n while (nodeArrayOrObservableAtIndex.length) {\n this.removeNodeArrayOrObservable(nodeArrayOrObservableAtIndex.pop())\n }\n }\n\n removeNodeArrayOrObservable (nodeArrayOrObservable) {\n for (const nodeOrObservable of nodeArrayOrObservable) {\n if (nodeOrObservable instanceof JsxObserver) {\n nodeOrObservable.dispose()\n continue\n }\n const node = nodeOrObservable\n delete node[ORIGINAL_JSX_SYM]\n this.detachAndDispose(node)\n const subscriptions = this.subscriptionsForNode.get(node)\n if (subscriptions) {\n subscriptions.forEach(s => s.dispose())\n this.subscriptionsForNode.delete(node)\n }\n }\n }\n\n /**\n * Detach the given node, and dispose of its children.\n *\n * The cleaning can trigger a lot of garbage collection, so we defer that.\n */\n detachAndDispose (node) {\n if (isIterable(node)) {\n for (const child of node) {\n this.detachAndDispose(child)\n }\n } else {\n node.remove()\n }\n queueCleanNode(node)\n }\n}\n\nexport default JsxObserver\n","\nimport {\n removeNode, addDisposeCallback\n} from '@tko/utils'\n\nimport {\n isObservable, unwrap\n} from '@tko/observable'\n\nimport {\n contextFor, applyBindings\n} from '@tko/bind'\n\nimport {\n NativeProvider\n} from '@tko/provider.native'\n\nimport {\n JsxObserver, ORIGINAL_JSX_SYM\n } from './JsxObserver'\n\n/**\n *\n * @param {any} possibleJsx Test whether this value is JSX.\n *\n * True for\n * { elementName }\n * [{elementName}]\n * observable({elementName} | [])\n *\n * Any observable will return truthy if its value is an array that doesn't\n * contain HTML elements. Template nodes should not be observable unless they\n * are JSX.\n *\n * There's a bit of guesswork here that we could nail down with more test cases.\n */\nexport function maybeJsx (possibleJsx) {\n if (isObservable(possibleJsx)) { return true }\n const value = unwrap(possibleJsx)\n if (!value) { return false }\n if (value.elementName) { return true }\n if (!Array.isArray(value) || !value.length) { return false }\n if (value[0] instanceof window.Node) { return false }\n return true\n}\n\nexport function getOriginalJsxForNode (node) {\n return node[ORIGINAL_JSX_SYM]\n}\n\n\n/**\n * Convert JSX into an object that can be consumed by TKO.\n * Mimics React.createElement\n * @param {string} e tagName of the element\n * @param {object|null} a attributes of the element\n * @param {...string|object} c children of the element\n */\nexport function createElement (elementName, attributes, ...children) {\n return elementName === Fragment ? children\n : {\n elementName: elementName,\n attributes: attributes || {},\n children: [...children]\n }\n}\n\nexport const Fragment = Symbol('JSX Fragment')\n \n"],"names":[],"mappings":"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"}
{"version":3,"file":"utils.jsx.es6.js","sources":["../src/jsxClean.js","../src/JsxObserver.js","../src/jsx.js"],"sourcesContent":["import {\n cleanNode\n} from '@tko/utils'\n\nconst DELAY_MS = 25\nconst MAX_CLEAN_AT_ONCE = 1000\nconst cleanNodeQueue = []\nlet cleanNodeTimeoutID = null\n\nexport function queueCleanNode (node) {\n cleanNodeQueue.push(node)\n triggerCleanTimeout()\n}\n\nfunction triggerCleanTimeout () {\n if (!cleanNodeTimeoutID && cleanNodeQueue.length) {\n cleanNodeTimeoutID = setTimeout(flushCleanQueue, DELAY_MS)\n }\n}\n\nfunction flushCleanQueue () {\n cleanNodeTimeoutID = null\n const nodes = cleanNodeQueue.splice(0, MAX_CLEAN_AT_ONCE)\n for (const node of nodes) { cleanNode(node) }\n triggerCleanTimeout()\n}\n","\nimport {LifeCycle} from '@tko/lifecycle'\n\nimport {\n safeStringify, isThenable\n} from '@tko/utils'\n\nimport {\n applyBindings, contextFor\n} from '@tko/bind'\n\nimport {\n isObservable, unwrap, observable\n} from '@tko/observable'\n\nimport {\n isComputed\n} from '@tko/computed'\n\nimport {\n NativeProvider, NATIVE_BINDINGS\n} from '@tko/provider.native'\n\nimport {\n queueCleanNode\n} from './jsxClean'\n\nexport const ORIGINAL_JSX_SYM = Symbol('Knockout - Original JSX')\n\nconst NAMESPACES = {\n svg: 'http://www.w3.org/2000/svg',\n html: 'http://www.w3.org/1999/xhtml',\n xml: 'http://www.w3.org/XML/1998/namespace',\n xlink: 'http://www.w3.org/1999/xlink',\n xmlns: 'http://www.w3.org/2000/xmlns/'\n}\n\nfunction isIterable (v) {\n return v && typeof v[Symbol.iterator] === 'function'\n}\n\n/**\n * JSX object from a pre-processor.\n * @typedef {Object} JSX\n * @property {string} elementName becomes the `tagName`\n * @property {Array.<JSX>} children\n * @property {object} attributes\n */\n\n/**\n * Observe a variety of possible cases from JSX, modifying the\n * `parentNode` at `insertBefore` with the result.\n */\nexport class JsxObserver extends LifeCycle {\n /**\n * @param {any} jsxOrObservable take a long list of permutations\n */\n constructor (jsxOrObservable, parentNode, insertBefore = null, xmlns, noInitialBinding) {\n super()\n\n const parentNodeIsComment = parentNode.nodeType === 8\n\n const parentNodeTarget = this.getParentTarget(parentNode)\n\n if (isObservable(jsxOrObservable)) {\n jsxOrObservable.extend({ trackArrayChanges: true })\n this.subscribe(jsxOrObservable, this.observableArrayChange, 'arrayChange')\n\n if (!insertBefore) {\n const insertAt = parentNodeIsComment ? parentNode.nextSibling : null\n insertBefore = this.createComment('O')\n parentNodeTarget.insertBefore(insertBefore, insertAt)\n } else {\n this.adoptedInsertBefore = true\n }\n }\n\n if (parentNodeIsComment && !insertBefore) {\n // Typcially: insertBefore becomes <!-- /ko -->\n insertBefore = parentNode.nextSibling\n // Mark this so we don't remove the next node - since we didn't create it.\n this.adoptedInsertBefore = true\n }\n\n this.anchorTo(insertBefore || parentNode)\n\n Object.assign(this, {\n insertBefore,\n noInitialBinding,\n parentNode,\n parentNodeTarget,\n xmlns,\n nodeArrayOrObservableAtIndex: [],\n subscriptionsForNode: new Map(),\n })\n\n const jsx = unwrap(jsxOrObservable)\n const computed = isComputed(jsxOrObservable)\n\n if (computed || (jsx !== null && jsx !== undefined)) {\n this.observableArrayChange(this.createInitialAdditions(jsx))\n }\n this.noInitialBinding = false\n }\n\n /**\n * @param {HMTLElement|Comment|HTMLTemplateElement} parentNode\n */\n getParentTarget (parentNode) {\n if ('content' in parentNode) { return parentNode.content }\n if (parentNode.nodeType === 8) { return parentNode.parentNode }\n return parentNode\n }\n\n remove () { this.dispose() }\n dispose () {\n super.dispose()\n const ib = this.insertBefore\n const insertBeforeIsChild = ib && this.parentNodeTarget === ib.parentNode\n if (insertBeforeIsChild && !this.adoptedInsertBefore) {\n this.parentNodeTarget.removeChild(ib)\n }\n this.removeAllPriorNodes()\n Object.assign(this, {\n parentNode: null,\n parentNodeTarget: null,\n insertBefore: null,\n nodeArrayOrObservableAtIndex: []\n })\n for (const subscriptions of this.subscriptionsForNode.values()) {\n subscriptions.forEach(s => s.dispose())\n }\n this.subscriptionsForNode.clear()\n }\n\n createInitialAdditions (possibleIterable) {\n const status = 'added'\n if (typeof possibleIteratable === 'object' &&\n posibleIterable !== null &&\n Symbol.iterator in possibleIterable) {\n possibleIterable = [...possibleIterable]\n }\n\n return Array.isArray(possibleIterable)\n ? possibleIterable.map((value, index) => ({ index, status, value }))\n : [{ status, index: 0, value: possibleIterable }]\n }\n\n /**\n * Note: array change notification indexes are:\n * - to the original array indexes for deletes\n * - to the new array indexes for adds\n * - sorted by index in ascending order\n */\n observableArrayChange (changes) {\n let adds = []\n let dels = []\n for (const index in changes) {\n const change = changes[index]\n if (change.status === 'added') {\n adds.push([change.index, change.value])\n } else {\n dels.unshift([change.index, change.value])\n }\n }\n dels.forEach(change => this.delChange(...change))\n adds.forEach(change => this.addChange(...change))\n }\n\n /**\n * Add a change at the given index.\n *\n * @param {int} index\n * @param {string|object|Array|Observable.string|Observable.Array|Obseravble.object} jsx\n */\n addChange (index, jsx) {\n this.nodeArrayOrObservableAtIndex.splice(index, 0,\n this.injectNode(jsx, this.lastNodeFor(index)))\n }\n\n injectNode (jsx, nextNode) {\n let nodeArrayOrObservable\n\n if (isObservable(jsx)) {\n const {parentNode, xmlns} = this\n const observer = new JsxObserver(jsx, parentNode, nextNode, xmlns, this.noInitialBinding)\n nodeArrayOrObservable = [observer]\n } else if (typeof jsx !== 'string' && isIterable(jsx)) {\n nodeArrayOrObservable = []\n for (const child of jsx) {\n nodeArrayOrObservable.unshift(\n this.injectNode(child, nextNode))\n }\n } else {\n const $context = contextFor(this.parentNode)\n const isInsideTemplate = 'content' in this.parentNode\n const shouldApplyBindings = $context && !isInsideTemplate && !this.noInitialBinding\n\n if (Array.isArray(jsx)) {\n nodeArrayOrObservable = jsx.map(j => this.anyToNode(j))\n } else {\n nodeArrayOrObservable = [this.anyToNode(jsx)]\n }\n\n for (const node of nodeArrayOrObservable) {\n this.parentNodeTarget.insertBefore(node, nextNode)\n if (shouldApplyBindings && this.canApplyBindings(node)) {\n applyBindings($context, node)\n }\n }\n }\n\n return nodeArrayOrObservable\n }\n\n /**\n * True when Node is a type suitable for applyBindings i.e. a HTMLElement\n * or a Comment.\n * @param {Node} node\n */\n canApplyBindings (node) {\n return node.nodeType === 1 || node.nodeType === 8\n }\n\n delChange (index) {\n this.removeNodeArrayOrObservable(\n this.nodeArrayOrObservableAtIndex[index])\n this.nodeArrayOrObservableAtIndex.splice(index, 1)\n }\n\n getSubscriptionsForNode (node) {\n if (!this.subscriptionsForNode.has(node)) {\n const subscriptions = []\n this.subscriptionsForNode.set(node, subscriptions)\n return subscriptions\n }\n return this.subscriptionsForNode.get(node)\n }\n\n isJsx (jsx) {\n return typeof jsx.elementName === 'string' &&\n 'children' in jsx &&\n 'attributes' in jsx\n }\n\n /**\n * @param {any} value acceptable to turn into a Node\n *\n * The one thing `any` cannot be here is an Array or Observable; both those\n * cases are handled with new JsxObservers.\n */\n anyToNode (any) {\n if (isThenable(any)) { return this.futureJsxNode(any) }\n\n switch (typeof any) {\n case 'object':\n if (any instanceof Error) {\n return this.createComment(any.toString())\n }\n if (any === null) {\n return this.createComment(String(any))\n }\n if (any instanceof Node) {\n return this.cloneJSXorMoveNode(any)\n }\n if (Symbol.iterator in any) {\n return any\n }\n break\n case 'function': return this.anyToNode(any())\n case 'undefined':\n case 'Error':\n case 'symbol':\n return this.createComment(String(any))\n case 'string': return this.createTextNode(any)\n case 'boolean':\n case 'number':\n case 'bigint':\n default:\n return this.createTextNode(String(any))\n }\n\n return this.isJsx(any)\n ? this.jsxToNode(any)\n : this.createComment(safeStringify(any))\n }\n\n createComment (string) {\n const node = document.createComment(string)\n node[NATIVE_BINDINGS] = true\n return node\n }\n\n createTextNode (string) {\n const node = document.createTextNode(string)\n node[NATIVE_BINDINGS] = true\n return node\n }\n\n /**\n * Clone a node; if that node was originally from JSX, we clone from there\n * so we preserve binding handlers.\n *\n * @param {HTMLElement} node\n */\n cloneJSXorMoveNode (node) {\n return ORIGINAL_JSX_SYM in node\n ? this.jsxToNode(node[ORIGINAL_JSX_SYM])\n : node\n }\n\n /**\n * @param {JSX} jsx to convert to a node.\n */\n jsxToNode (jsx) {\n const xmlns = jsx.attributes.xmlns || NAMESPACES[jsx.elementName] || this.xmlns\n const node = document.createElementNS(xmlns || NAMESPACES.html, jsx.elementName)\n\n /** Slots need to be able to replicate with the attributes, which\n * are not preserved when cloning from template nodes. */\n node[ORIGINAL_JSX_SYM] = jsx\n\n if (isObservable(jsx.attributes)) {\n const subscriptions = this.getSubscriptionsForNode(node)\n subscriptions.push(\n jsx.attributes.subscribe(attrs => {\n this.updateAttributes(node, unwrap(attrs))\n }))\n }\n this.updateAttributes(node, unwrap(jsx.attributes))\n\n this.addDisposable(new JsxObserver(jsx.children, node, null, xmlns, this.noInitialBinding))\n\n return node\n }\n\n futureJsxNode (promise) {\n const obs = observable()\n promise.then(obs).catch(e => obs(e instanceof Error ? e : Error(e)))\n const jo = new JsxObserver(obs, this.parentNode, null, this.xmlns, this.noInitialBinding)\n this.addDisposable(jo)\n return jo.insertBefore\n }\n\n updateAttributes (node, attributes) {\n const subscriptions = this.getSubscriptionsForNode(node)\n const toRemove = new Set([...node.attributes].map(n => n.name))\n\n for (const [name, value] of Object.entries(attributes || {})) {\n toRemove.delete(name)\n if (isObservable(value)) {\n subscriptions.push(\n value.subscribe(attr => this.setNodeAttribute(node, name, value)))\n }\n this.setNodeAttribute(node, name, value)\n }\n\n for (const name of toRemove) {\n this.setNodeAttribute(node, name, undefined)\n }\n }\n\n /**\n * See https://stackoverflow.com/a/52572048\n * @param {string} attr element attribute\n * @return {string} namespace argument for setAtttributeNS\n */\n getNamespaceOfAttribute (attr) {\n const [prefix, ...unqualifiedName] = attr.split(':')\n if (prefix === 'xmlns' || (unqualifiedName.length && NAMESPACES[prefix])) {\n return NAMESPACES[prefix]\n }\n return null\n }\n\n /**\n *\n * @param {HTMLElement} node\n * @param {string} name\n * @param {any} valueOrObservable\n */\n setNodeAttribute (node, name, valueOrObservable) {\n const value = unwrap(valueOrObservable)\n NativeProvider.addValueToNode(node, name, valueOrObservable)\n if (value === undefined) {\n node.removeAttributeNS(null, name)\n } else if (isThenable(valueOrObservable)) {\n Promise.resolve(valueOrObservable)\n .then(v => this.setNodeAttribute(node, name, v))\n } else {\n const ns = this.getNamespaceOfAttribute(name)\n node.setAttributeNS(ns, name, String(value))\n }\n }\n\n /**\n * @param {int} index\n * @return {Comment} that immediately precedes this.\n */\n lastNodeFor (index) {\n const nodesAtIndex = this.nodeArrayOrObservableAtIndex[index] || []\n const [lastNodeOfPrior] = nodesAtIndex.slice(-1)\n const insertBefore = lastNodeOfPrior instanceof JsxObserver\n ? lastNodeOfPrior.insertBefore : lastNodeOfPrior || this.insertBefore\n if (insertBefore) { return insertBefore.parentNode ? insertBefore : null }\n return null\n }\n\n removeAllPriorNodes () {\n const {nodeArrayOrObservableAtIndex} = this\n while (nodeArrayOrObservableAtIndex.length) {\n this.removeNodeArrayOrObservable(nodeArrayOrObservableAtIndex.pop())\n }\n }\n\n removeNodeArrayOrObservable (nodeArrayOrObservable) {\n for (const nodeOrObservable of nodeArrayOrObservable) {\n if (nodeOrObservable instanceof JsxObserver) {\n nodeOrObservable.dispose()\n continue\n }\n const node = nodeOrObservable\n delete node[ORIGINAL_JSX_SYM]\n this.detachAndDispose(node)\n const subscriptions = this.subscriptionsForNode.get(node)\n if (subscriptions) {\n subscriptions.forEach(s => s.dispose())\n this.subscriptionsForNode.delete(node)\n }\n }\n }\n\n /**\n * Detach the given node, and dispose of its children.\n *\n * The cleaning can trigger a lot of garbage collection, so we defer that.\n */\n detachAndDispose (node) {\n if (isIterable(node)) {\n for (const child of node) {\n this.detachAndDispose(child)\n }\n } else {\n node.remove()\n }\n queueCleanNode(node)\n }\n}\n\nexport default JsxObserver\n","\nimport {\n removeNode, addDisposeCallback\n} from '@tko/utils'\n\nimport {\n isObservable, unwrap\n} from '@tko/observable'\n\nimport {\n contextFor, applyBindings\n} from '@tko/bind'\n\nimport {\n NativeProvider\n} from '@tko/provider.native'\n\nimport {\n JsxObserver, ORIGINAL_JSX_SYM\n } from './JsxObserver'\n\n/**\n *\n * @param {any} possibleJsx Test whether this value is JSX.\n *\n * True for\n * { elementName }\n * [{elementName}]\n * observable({elementName} | [])\n *\n * Any observable will return truthy if its value is an array that doesn't\n * contain HTML elements. Template nodes should not be observable unless they\n * are JSX.\n *\n * There's a bit of guesswork here that we could nail down with more test cases.\n */\nexport function maybeJsx (possibleJsx) {\n if (isObservable(possibleJsx)) { return true }\n const value = unwrap(possibleJsx)\n if (!value) { return false }\n if (value.elementName) { return true }\n if (!Array.isArray(value) || !value.length) { return false }\n if (value[0] instanceof window.Node) { return false }\n return true\n}\n\nexport function getOriginalJsxForNode (node) {\n return node[ORIGINAL_JSX_SYM]\n}\n\n\n/**\n * Convert JSX into an object that can be consumed by TKO.\n * Mimics React.createElement\n * @param {string} e tagName of the element\n * @param {object|null} a attributes of the element\n * @param {...string|object} c children of the element\n */\nexport function createElement (elementName, attributes, ...children) {\n return elementName === Fragment ? children\n : {\n elementName: elementName,\n attributes: attributes || {},\n children: [...children]\n }\n}\n\nexport const Fragment = Symbol('JSX Fragment')\n \n"],"names":[],"mappings":"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"}
/*!
* TKO JSX Rendering 🥊 @tko/utils.jsx@4.0.0-alpha8.4
* TKO JSX Rendering 🥊 @tko/utils.jsx@4.0.0-alpha9.0
* (c) The Knockout.js Team - https://tko.io

@@ -30,5 +30,8 @@ * License: MIT (http://www.opensource.org/licenses/mit-license.php)

var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
var extendStatics = function(d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};

@@ -437,3 +440,3 @@ function __extends(d, b) {

if (isObservable(value)) {
subscriptions.push(value.subscribe(function (attr) { return _this.setNodeAttribute(node, name_1, attr); }));
subscriptions.push(value.subscribe(function (attr) { return _this.setNodeAttribute(node, name_1, value); }));
}

@@ -440,0 +443,0 @@ this_1.setNodeAttribute(node, name_1, value);

@@ -1,1 +0,1 @@

{"version":3,"file":"utils.jsx.js","sources":["../../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n"],"names":[],"mappings":"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"}
{"version":3,"file":"utils.jsx.js","sources":["../../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n"],"names":[],"mappings":"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"}
{
"name": "@tko/utils.jsx",
"version": "4.0.0-alpha8.4",
"version": "4.0.0-alpha9.0",
"description": "TKO JSX Rendering",

@@ -54,3 +54,3 @@ "module": "dist/utils.jsx.js",

],
"gitHead": "a3c1ec00c69067939297a446d79a6cf0eecb7c76"
"gitHead": "90cdb597db01d50725c567810af092e70a5b32d9"
}