@webqit/oohtml 5.0.5 → 5.0.7

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.
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../node_modules/@webqit/util/js/isObject.js", "../node_modules/@webqit/util/js/isArray.js", "../node_modules/@webqit/util/js/isTypeFunction.js", "../node_modules/@webqit/util/js/isNull.js", "../node_modules/@webqit/util/js/isUndefined.js", "../node_modules/@webqit/util/js/isTypeObject.js", "../node_modules/@webqit/util/js/isEmpty.js", "../node_modules/@webqit/util/js/isFunction.js", "../node_modules/@webqit/util/js/isNumber.js", "../node_modules/@webqit/util/js/isNumeric.js", "../node_modules/@webqit/util/js/isString.js", "../node_modules/@webqit/util/js/isTypeArray.js", "../node_modules/@webqit/util/arr/pushUnique.js", "../node_modules/@webqit/util/obj/getPrototypeChain.js", "../node_modules/@webqit/util/obj/getAllPropertyNames.js", "../node_modules/@webqit/util/obj/mergeCallback.js", "../node_modules/@webqit/util/obj/merge.js", "../node_modules/@webqit/util/js/wq.js", "../node_modules/@webqit/util/arr/from.js", "../node_modules/@webqit/util/obj/get.js", "../node_modules/@webqit/util/obj/set.js", "../node_modules/@webqit/realdom/src/Scheduler.js", "../node_modules/@webqit/realdom/src/realtime/Util.js", "../node_modules/@webqit/realdom/src/realtime/DOMSpec.js", "../node_modules/@webqit/realdom/src/realtime/Realtime.js", "../node_modules/@webqit/realdom/src/realtime/AttrRealtime.js", "../node_modules/@webqit/realdom/src/realtime/DOMRealtime.js", "../node_modules/@webqit/realdom/src/polyfills.js", "../node_modules/@webqit/realdom/src/index.js", "../node_modules/@webqit/util/str/toTitle.js", "../src/util.js", "../src/context-api/_DOMContextRequestEvent.js", "../src/context-api/DOMContextResponse.js", "../src/context-api/DuplicateContextError.js", "../src/context-api/DOMContexts.js", "../src/context-api/DOMContext.js", "../src/bindings-api/DOMBindingsContext.js", "../src/bindings-api/index.js", "../src/bindings-api/targets.browser.js"],
4
4
  "sourcesContent": ["\n/**\n * Tells if val is pure object.\n *\n * @param object\t \tval\n *\n * @return bool\n */\nexport default function(val) {\n\treturn !Array.isArray(val) && typeof val === 'object' && val;\n};\n", "\n/**\n * Tells if val is of type \"array\".\n *\n * @param object\t \tval\n *\n * @return bool\n */\nexport default function(val) {\n\treturn Array.isArray(val);\n};\n", "\n/**\n * Tells if val is of type \"function\".\n * This holds true for both regular functions and classes.\n *\n * @param object\t \tval\n *\n * @return bool\n */\nexport default function(val) {\n\treturn typeof val === 'function';\n};\n", "\n/**\n * Tells if val is undefined or is null.\n *\n * @param string \tval\n *\n * @return bool\n */\nexport default function(val) {\n\treturn val === null || val === '';\n};\n", "\n/**\n * Tells if val is undefined or is of type \"undefined\".\n *\n * @param string \tval\n *\n * @return bool\n */\nexport default function(val) {\n\treturn arguments.length && (val === undefined || typeof val === 'undefined');\n};\n", "\n/**\n * @imports\n */\nimport _isTypeFunction from './isTypeFunction.js';\n\n/**\n * Tells if val is of type \"object\".\n * This holds true for anything object, including built-ins.\n *\n * @param object\t \tval\n *\n * @return bool\n */\nexport default function(val) {\n\treturn Array.isArray(val) || (typeof val === 'object' && val) || _isTypeFunction(val);\n};\n", "\n/**\n * @imports\n */\nimport _isNull from './isNull.js';\nimport _isUndefined from './isUndefined.js';\nimport _isTypeObject from './isTypeObject.js';\n\n/**\n * Tells if val is empty in its own type.\n * This holds true for NULLs, UNDEFINED, FALSE, 0,\n * objects without keys, empty arrays.\n *\n * @param string \tval\n *\n * @return bool\n */\nexport default function(val) {\n\treturn _isNull(val) || _isUndefined(val) || val === false || val === 0 \n\t\t|| (_isTypeObject(val) && !Object.keys(val).length);\n};\n", "\n/**\n * @imports\n */\nimport _isTypeFunction from './isTypeFunction.js';\n\n/**\n * Tells if val is of type \"function\".\n *\n * @param object \t\tval\n *\n * @return bool\n */\nexport default function(val) {\n\treturn _isTypeFunction(val) || (val && {}.toString.call(val) === '[object function]');\n};\n", "\n/**\n * Tells if val is of type \"number\".\n *\n * @param string \tval\n *\n * @return bool\n */\nexport default function(val) {\n\treturn val instanceof Number || (typeof val === 'number');\n};\n", "\n/**\n * @imports\n */\nimport _isNumber from './isNumber.js';\n/**\n * Tells if val is of type \"string\" or a numeric string.\n * This holds true for both numbers and numeric strings.\n *\n * @param string \tval\n *\n * @return bool\n */\nexport default function(val) {\n\treturn _isNumber(val) || (val !== true && val !== false && val !== null && val !== '' && !isNaN(val * 1));\n};\n", "\n/**\n * Tells if val is of type \"string\".\n *\n * @param string \tval\n *\n * @return bool\n */\nexport default function(val) {\n\treturn val instanceof String || (typeof val === 'string' && val !== null);\n};\n", "\n/**\n * @imports\n */\nimport _isString from './isString.js';\nimport _isUndefined from './isUndefined.js';\n\n/**\n * Tells if val is \"array-like\".\n * This holds true for anything that has a length property.\n *\n * @param object\t \tval\n *\n * @return bool\n */\nexport default function(val) {\n\treturn !_isString(val) && !_isUndefined(val.length);\n};\n", "\n/**\n * Adds an item if not already exist.\n *\n * @param array \tarr\n * @param array\t \t...itms\n *\n * @return array\n */\nexport default function(arr, ...items) {\n\titems.forEach(itm => {\n\t\tif (arr.indexOf(itm) < 0) {\n\t\t\tarr.push(itm);\n\t\t}\n\t});\n\treturn arr;\n};\n", "\n/**\n * @imports\n */\nimport _isArray from '../js/isArray.js';\n\n/**\n * Returns the prototype chain.\n *\n * @param object \t\tobj\n * @param object\t \tuntil\n *\n * @return bool\n */\nexport default function(obj, until) {\n\tuntil = until || Object.prototype;\n\tuntil = until && !_isArray(until) ? [until] : until;\n\t// We get the chain of inheritance\n\tvar prototypalChain = [];\n\tvar obj = obj;\n\twhile((obj && (!until || until.indexOf(obj) < 0) && obj.name !== 'default')) {\n\t\tprototypalChain.push(obj);\n\t\tobj = obj ? Object.getPrototypeOf(obj) : null;\n\t}\n\treturn prototypalChain;\n};\n", "\n/**\n * @imports\n */\nimport _pushUnique from '../arr/pushUnique.js';\nimport _getPrototypeChain from './getPrototypeChain.js';\n\n/**\n * Eagerly retrieves object members all down the prototype chain.\n *\n * @param object\t \tobj\n * @param object\t \tuntil\n *\n * @return array\n */\nexport default function(obj, until) {\n\tvar keysAll = [];\n\t_getPrototypeChain(obj, until).forEach(obj => {\n\t\t_pushUnique(keysAll, ...Object.getOwnPropertyNames(obj));\n\t});\n\treturn keysAll;\n};\n", "\n/**\n * @imports\n */\nimport _isArray from '../js/isArray.js';\nimport _isFunction from '../js/isFunction.js';\nimport _isObject from '../js/isObject.js';\nimport _isTypeObject from '../js/isTypeObject.js';\nimport _isNumeric from '../js/isNumeric.js';\nimport _getAllPropertyNames from './getAllPropertyNames.js';\n\n/**\n * Merges values from subsequent arrays/objects first array/object;\n * optionally recursive\n *\n * @param array ...objs\n *\n * @return void\n */\nexport default function mergeCallback(objs, callback, deepProps = false, isReplace = false, withSymbols = false) {\n\tvar depth = 0;\n\tvar obj1 = objs.shift();\n\tif (_isNumeric(obj1) || obj1 === true || obj1 === false) {\n\t\tdepth = obj1;\n\t\tobj1 = objs.shift();\n\t}\n\tif (!objs.length) {\n\t\tthrow new Error('_merge() requires two or more array/objects.');\n\t}\n\tobjs.forEach((obj2, i) => {\n\t\tif (!_isTypeObject(obj2) && !_isFunction(obj2)) {\n\t\t\treturn;\n\t\t}\n\t\t(deepProps ? _getAllPropertyNames(obj2) : Object.keys(obj2)).forEach(key => {\n\t\t\tif (!callback(key, obj1, obj2, i)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar valAtObj1 = obj1[key];\n\t\t\tvar valAtObj2 = obj2[key];\n\t\t\tif (((_isArray(valAtObj1) && _isArray(valAtObj2)) || (_isObject(valAtObj1) && _isObject(valAtObj2))) \n\t\t\t&& (depth === true || depth > 0)) {\n\t\t\t\t// RECURSE...\n\t\t\t\tobj1[key] = _isArray(valAtObj1) && _isArray(valAtObj2) ? [] : {};\n\t\t\t\tmergeCallback([_isNumeric(depth) ? depth - 1 : depth, obj1[key], valAtObj1, valAtObj2], callback, deepProps, isReplace, withSymbols);\n\t\t\t} else {\n\t\t\t\tif (_isArray(obj1) && _isArray(obj2)) {\n\t\t\t\t\tif (isReplace) {\n\t\t\t\t\t\tobj1[key] = valAtObj2;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tobj1.push(valAtObj2);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// In case we're setting a read-only property\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (withSymbols) {\n\t\t\t\t\t\t\tObject.defineProperty(obj1, key, Object.getOwnPropertyDescriptor(obj2, key));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tobj1[key] = obj2[key];\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch(e) {}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n\treturn obj1;\n};\n", "\n/**\n * @imports\n */\nimport _mergeCallback from './mergeCallback.js';\n\n/**\n * Merges values from subsequent arrays/objects first array/object;\n * optionally recursive\n *\n * @param array ...objs\n *\n * @return void\n */\nexport default function(...objs) {\n\treturn _mergeCallback(objs, (k, obj1, obj2) => {\n\t\treturn true;\n\t}, false/*deepProps*/, false/*isReplace*/, false/*withSymbols*/);\n};\n", "export default function wq(obj, ...namespaces) {\n if (!obj || !['object', 'function'].includes(typeof obj)) {\n throw new Error(`Argument #1 must be of type object`);\n }\n let wq = obj[Symbol.for('wq')];\n if (!wq) {\n wq = new WQInternals;\n Object.defineProperty(obj, Symbol.for('wq'), {\n value: wq,\n // Defaults, but to be explicit...\n enumerable: false,\n configurable: false,\n writable: false\n });\n }\n if (!namespaces.length) {\n return wq;\n }\n let _ns, _wq;\n while ((_ns = namespaces.shift())) {\n if ((_wq = wq) && !(wq = wq.get(_ns))) {\n wq = new WQInternals;\n _wq.set(_ns, wq);\n }\n }\n return wq;\n}\n\nclass WQInternals extends Map {}", "\n/**\n * @imports\n */\nimport _isArray from '../js/isArray.js';\nimport _isTypeArray from '../js/isTypeArray.js';\nimport _isEmpty from '../js/isEmpty.js';\nimport _isObject from '../js/isObject.js';\n\n/**\n * Casts an array-like object to an array.\n *\n * @param mixed \tval\n * @param bool\t \tcastObject\n *\n * @return array\n */\nexport default function(val, castObject = true) {\n\tif (_isArray(val)) {\n\t\treturn val;\n\t};\n\tif (!castObject && _isObject(val)) {\n\t\treturn [val];\n\t};\n\tif (val !== false && val !== 0 && _isEmpty(val)) {\n\t\treturn [];\n\t};\n\tif (_isTypeArray(val)) {\n\t\treturn Array.prototype.slice.call(val);\n\t};\n\tif (_isObject(val)) {\n\t\treturn Object.values(val);\n\t};\n\treturn [val];\n};\n", "\n/**\n * @imports\n */\nimport _isTypeObject from '../js/isTypeObject.js';\nimport _isUndefined from '../js/isUndefined.js';\nimport _isNull from '../js/isNull.js';\nimport _arrFrom from '../arr/from.js';\n\n/**\n * Retrieves the value at the given path.\n *\n * A return value of undefined is ambiguous, and can mean either that the\n * path does not exist, or that the path actually exists but with a value of undefined. If it is required to\n * know whether the path actually exists, pass an object as a third argument.\n * This object will have an \"exists\" key set to true/false.\n *\n * @param object \t\t\t\tctxt\n * @param array \t\t\t\tpath\n * @param object \t\t\t\ttrap\n * @param object \t\t\t\treciever\n *\n * @return mixed\n */\nexport default function(ctxt, path, trap = {}, reciever = {}) {\n\tpath = _arrFrom(path).slice();\n\tvar _ctxt = ctxt;\n\twhile(!_isUndefined(_ctxt) && !_isNull(_ctxt) && path.length) {\n\t\tvar _key = path.shift();\n\t\tif (!(trap.get ? trap.get(_ctxt, _key) : (_isTypeObject(_ctxt) ? _key in _ctxt : _ctxt[_key]))) {\n\t\t\treciever.exists = false;\n\t\t\treturn;\n\t\t}\n\t\t_ctxt = trap.get ? trap.get(_ctxt, _key) : _ctxt[_key];\n\t}\n\treciever.exists = true;\n\treturn _ctxt;\n};\n", "\n/**\n * @imports\n */\nimport _isTypeObject from '../js/isTypeObject.js';\nimport _isFunction from '../js/isFunction.js';\nimport _isNumeric from '../js/isNumeric.js';\nimport _isArray from '../js/isArray.js';\nimport _arrFrom from '../arr/from.js';\nimport _get from './get.js';\n\n/**\n * Sets a value to the given path.\n *\n * @param object \t\t\t\tobj\n * @param array \t\t\t\tpath\n * @param mixed \t\t\t\tval\n * @param object|function \t\tbuildTree\n * @param object \t\t\t\ttrap\n *\n * @return bool\n */\nexport default function(obj, path, val, buildTree = {}, trap = {}) {\n\tconst _set = (target, key, val) => {\n\t\tif (trap.set) {\n\t\t\treturn trap.set(target, key, val);\n\t\t} else {\n\t\t\tif (_isNumeric(path[i]) && _isArray(target)) {\n\t\t\t\ttarget.push(val);\n\t\t\t} else {\n\t\t\t\ttarget[key] = val;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t};\n\tpath = _arrFrom(path);\n\tvar target = obj;\n\tfor(var i = 0; i < path.length; i ++) {\n\t\tif (i < path.length - 1) {\n\t\t\tif (!target || (!_isTypeObject(target) && !_isFunction(target))) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar branch = _get(target, path[i], trap);\n\t\t\tif (!_isTypeObject(branch)) {\n\t\t\t\tif (trap.buildTree === false) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tbranch = _isFunction(trap.buildTree) ? trap.buildTree(i) : (_isNumeric(path[i + 1]) ? [] : {});\n\t\t\t\tvar branchSuccess = _set(target, path[i], branch);\n\t\t\t\tif (!branchSuccess) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttarget = branch;\n\t\t} else {\n\t\t\treturn _set(target, path[i], val);\n\t\t}\n\t}\n};\n", "\n/**\n * ---------------------------\n * Binds callbacks to requestAnimationFrame()\n * to create a central \"read/write\" phases for Ctxt access.\n * ---------------------------\n */\n\t\t\t\nexport default class Scheduler {\n\n\t/**\n\t * Starts the loop.\n\t *\n\t * @return this\n\t */\n\tconstructor( window, synthesis = false ) {\n\t\tObject.defineProperty( this, 'window', { value: window } );\n\t\tObject.defineProperty( this, 'readCallbacks', { value: new Set } );\n\t\tObject.defineProperty( this, 'writeCallbacks', { value: new Set } );\n\t\tObject.defineProperty( this, '_synthesis', { value: 0, writable: true } );\n\t\tif ( !synthesis && this.window.requestAnimationFrame ) {\n\t\t\tthis._loop();\n\t\t} else { this._synthesis ++; }\n\t}\n\n\tget synthesis() { return this._synthesis; }\n\n\tasync synthesizeWhile( callback ) {\n\t\tthis._synthesis ++;\n\t\tthis._fulfill();\n\t\tconst returnValue = await callback();\n\t\tthis._synthesis --;\n\t\treturn returnValue;\n\t}\n\n\t_fulfill() {\n\t\tfor ( const callback of this.readCallbacks ) {\n\t\t\tcallback();\n\t\t\tthis.readCallbacks.delete( callback );\n\t\t}\n\t\tfor ( const callback of this.writeCallbacks ) {\n\t\t\tcallback();\n\t\t\tthis.writeCallbacks.delete( callback );\n\t\t}\n\t}\n\n\t_loop() {\n\t\tthis.window.requestAnimationFrame( () => {\n\t\t\tthis._fulfill();\n\t\t\tthis._loop();\n\t\t} );\n\t}\n\t\n\t/**\n\t * Binds a callback to the \"read\" phase.\n\t *\n\t * @param function \tcallback\n\t * @param bool\t\twithPromise\n\t *\n\t * @return void\n\t */\n\tonread( callback, withPromise = false ) {\n\t\tif ( withPromise ) {\n\t\t\treturn new Promise( resolve => {\n\t\t\t\tif ( this.synthesis ) {\n\t\t\t\t\tresolve( callback() );\n\t\t\t\t} else {\n\t\t\t\t\tthis.readCallbacks.add( () => {\n\t\t\t\t\t\tresolve( callback() );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\tif ( this.synthesis ) {\n\t\t\tPromise.resolve().then( callback );\n\t\t} else {\n\t\t\tthis.readCallbacks.add( callback );\n\t\t}\n\t}\n\t\n\t/**\n\t * Binds a callback to the \"write\" phase.\n\t *\n\t * @param function \tcallback\n\t * @param bool\t\twithPromise\n\t *\n\t * @return void\n\t */\n\tonwrite( callback, withPromise = false ) {\n\t\tif ( withPromise ) {\n\t\t\treturn new Promise( resolve => {\n\t\t\t\tif ( this.synthesis ) {\n\t\t\t\t\tresolve( callback() );\n\t\t\t\t} else {\n\t\t\t\t\tthis.writeCallbacks.add( () => {\n\t\t\t\t\t\tresolve( callback() );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\tif ( this.synthesis ) {\n\t\t\tPromise.resolve().then( callback );\n\t\t} else {\n\t\t\tthis.writeCallbacks.add( callback );\n\t\t}\n\t}\n\t\n\t/**\n\t * A special construct for Ctxt manipulations that span\n\t * one or more read/write cycles.\n\t *\n\t * @param function \tread\n\t * @param function \twrite\n\t * @param mixed\t\tprevTransaction\n\t *\n\t * @return void|mixed\n\t */\n\tcycle( onread, onwrite, prevTransaction ) {\n\t\tthis.onread( () => {\n\t\t\t// Record initial values\n\t\t\tconst readReturn = onread( prevTransaction );\n\t\t\t// Call erite, the transation\n\t\t\tconst callWrite = ( readReturn ) => {\n\t\t\t\tif ( readReturn === undefined ) return;\n\t\t\t\tthis.onwrite( () => {\n\t\t\t\t\tconst writeReturn = onwrite( readReturn, prevTransaction );\n\t\t\t\t\t// Repeat transaction\n\t\t\t\t\tconst repeatTransaction = ( writeReturn ) => {\n\t\t\t\t\t\tif ( writeReturn === undefined ) return;\n\t\t\t\t\t\tthis.cycle( onread, onwrite, writeReturn );\n\t\t\t\t\t};\n\t\t\t\t\t// ---------------------------------------\n\t\t\t\t\t// If \"write\" returns a promise, we wait until it is resolved\n\t\t\t\t\t// ---------------------------------------\n\t\t\t\t\tif ( writeReturn instanceof Promise ) {\n\t\t\t\t\t\twriteReturn.then( repeatTransaction );\n\t\t\t\t\t} else {\n\t\t\t\t\t\trepeatTransaction( writeReturn );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t};\n\t\t\t// ---------------------------------------\n\t\t\t// If \"read\" returns a promise, we wait until it is resolved\n\t\t\t// ---------------------------------------\n\t\t\tif ( readReturn instanceof Promise ) {\n\t\t\t\treadReturn.then( callWrite );\n\t\t\t} else {\n\t\t\t\tcallWrite( readReturn );\n\t\t\t}\n\t\t} );\n\t}\n\n}", "\n\nexport function isXpath( expr ) { return ( expr = expr.trim() ) && expr.startsWith( '(' ) && expr.endsWith( ')' ) }\n\nexport function xpathQuery( window, context, expr, subtree = true ) {\n expr = ( Array.isArray( expr ) ? expr : [ expr ] ).map( x => ( x + '' ).replace( '(', subtree ? '(.//' : '(./' ) ).join( '|' );\n let nodes = [], node;\n try {\n // Throws in firefox and safari where context is a text node\n const result = window.document.evaluate( expr, context, null, window.XPathResult.ANY_TYPE );\n while ( node = result.iterateNext() ) nodes.push( node );\n } catch( e ) {}\n return nodes;\n}\n\nexport function xpathMatch( window, node, expr ) {\n expr = ( Array.isArray( expr ) ? expr : [ expr ] ).map( x => ( x + '' ).replace( '(', '(self::' ) ).join( '|' );\n try {\n // Throws in firefox and safari where context is a text node and query isn't\n return window.document.evaluate( `${ expr }`, node, null, window.XPathResult.BOOLEAN_TYPE ).booleanValue;\n } catch( e ) {}\n}\n\nexport function containsNode( window, a, b, crossRoots = false, testCache = null ) {\n const prevTest = testCache?.get( a )?.get( b );\n if ( typeof prevTest !== 'undefined' ) return prevTest;\n const response = val => {\n if ( !testCache?.has( a ) ) testCache?.set( a, new WeakMap );\n testCache?.get( a )?.set( b, val );\n return val;\n };\n const rootNodeA = a.getRootNode();\n const rootNodeB = b.getRootNode();\n if ( rootNodeA === rootNodeB ) return response( a.contains( b ) );\n if ( crossRoots && rootNodeB instanceof window.ShadowRoot ) return response( containsNode( window, a, rootNodeB.host, crossRoots, testCache ) );\n return response( false );\n}\n\nexport function splitOuter( str, delim = '|' ) {\n return [ ...str ].reduce( ( [ quote, depth, splits, skip ], x ) => {\n if ( !quote && depth === 0 && ( Array.isArray( delim ) ? delim : [ delim ] ).includes( x ) ) {\n return [ quote, depth, [ '' ].concat( splits ) ];\n }\n if ( !quote && [ '(', '[', '{' ].includes( x ) && !splits[ 0 ].endsWith( '\\\\' ) ) depth++;\n if ( !quote && [ ')', ']', '}' ].includes( x ) && !splits[ 0 ].endsWith( '\\\\' ) ) depth--;\n if ( [ '\"', \"'\", '`' ].includes( x ) && !splits[ 0 ].endsWith( '\\\\' ) ) {\n quote = quote === x ? null : ( quote || x );\n }\n splits[ 0 ] += x;\n return [ quote, depth, splits ]\n }, [ null, 0, [ '' ] ] )[ 2 ].reverse();\n}", "\n/**\n * @imports\n */\nimport * as Util from './Util.js';\n\nexport default class DOMSpec {\n constructor( content ) {\n this.content = content;\n this.type = typeof content === 'string' ? 'selector' : 'instance';\n this.kind = this.type === 'instance' ? null : Util.isXpath( content ) ? 'xpath' : 'css';\n if ( this.kind === 'xpath' ) {\n this.isXpathAttr = Util.splitOuter( content.trim().slice( 1, -1 ), '@' ).length > 1;\n }\n }\n toString() { return this.content; }\n}", "\n/**\n * @imports\n */\nimport { _isFunction, _isObject, _wq } from '@webqit/util/js/index.js';\nimport { _from as _arrFrom } from '@webqit/util/arr/index.js';\nimport DOMSpec from './DOMSpec.js';\nimport * as Util from './Util.js';\n\n/**\n *\n * @class Realtime\n */\nexport default class Realtime {\n\n\t/**\n\t * @constructor\n\t *\n\t * @param document|Element\tcontext\n\t */\n\tconstructor( context, namespace, window ) {\n\t\tthis.context = context;\n\t\tthis.namespace = namespace;\n\t\tthis.window = context.defaultView || context.ownerDocument?.defaultView || window;\n\t\tthis.document = this.window.document;\n\t\tthis.webqit = this.window.webqit;\n\t\tObject.defineProperty( this, '#', { value: {} } );\n\t}\n\t\n\t/**\n\t * Resolves arguments\n\t * \n\t * @param Array \t\t\targs \n\t * \n\t * @returns Array\n\t */\n\tresolveArgs( args ) {\n\t\tif ( _isFunction( args[ 0 ] ) ) { args = [ [], ...args ]; }\n\t\telse if ( _isObject( args[ 0 ] ) && !( args[ 0 ] instanceof DOMSpec ) && args.length === 1 ) {\n\t\t\targs = [ [], undefined, args[ 0 ] ];\n\t\t} else if ( _isObject( args[ 1 ] ) && args.length === 2 ) {\n\t\t\targs = [ _arrFrom( args[ 0 ], false/*castObject*/ ), undefined, args[ 1 ] ];\n\t\t} else { args[ 0 ] = _arrFrom( args[ 0 ], false/*castObject*/ ); }\n\t\tif ( args[ 0 ].filter( x => typeof x !== 'string' && !( x instanceof DOMSpec ) && !( x instanceof this.window.Node ) ).length ) {\n\t\t\tthrow new Error( `Argument #2 must be either a string or a Node object, or a list of those.` );\n\t\t}\n\t\targs[ 0 ] = args[ 0 ].map( s => s instanceof DOMSpec ? s : new DOMSpec( s ) );\n\t\treturn args;\n\t}\n\n\t/**\n\t * @registry\n\t *\n\t * @param Array\t\t\t\t...args\n\t * \n\t * @returns Map\n\t */\n\tregistry( ...args ) {\n\t\treturn _wq( this.window, 'realdom', this.namespace, ...args );\n\t}\n\t\t\n\t/**\n\t * @createSignalGenerator\n\t * \n\t * @param Object \t\t\tmo \n\t * \n\t * @returns Object\n\t */\n\tcreateSignalGenerator() {\n\t\treturn {\n\t\t\tgenerate() {\n\t\t\t\t// Abort previous\n\t\t\t\tthis.lastController?.abort();\n\t\t\t\tthis.lastController = new AbortController;\n\t\t\t\tconst flags = { signal: this.lastController.signal };\n\t\t\t\treturn flags;\n\t\t\t},\n\t\t\tdisconnect() { this.lastController?.abort(); }\n\t\t}\n\t}\n\t\t\n\t/**\n\t * Loops through registration objects whose contexts match the event context.\n\t * \n\t * @param String \t\tinterceptionTiming\n\t * @param Object|Array \trecord_s\n\t * @param Function \t\tcallback \n\t * \n\t * @returns void\n\t */\n\tforEachMatchingContext( interceptionTiming, record_s, callback ) {\n\t\tconst { window } = this, deferreds = new Set, testCache = new WeakMap;\n\t\tfor ( const [ registration, deferred ] of this.registry( interceptionTiming ) ) {\n\t\t\tlet $records = [].concat( record_s ).filter( record => Util.containsNode( window, registration.context, record.target, registration.params.subtree === 'cross-roots', testCache ) );\n\t\t\tif ( !$records.length ) continue;\n\t\t\tconst args = [ registration, Array.isArray( record_s ) ? $records : $records[ 0 ] ];\n\t\t\tif ( deferred ) deferreds.add( args ); else callback.call( window, ...args );\n\t\t}\n\t\tfor ( const args of deferreds ) callback.call( window, ...args );\n\t\tdeferreds.clear();\n\t}\n\n\t/**\n\t * @disconnectables\n\t * \n\t * @param AbortSignal \t\tsignal\n\t * @param Array \t\t\t...objects \n\t * \n\t * @returns Object\n\t */\n\tdisconnectables( signal, ...objects ) {\n\t\tconst disconnectable = { disconnect() {\n\t\t\tobjects.forEach( d => (\n\t\t\t\td && _isFunction( d.disconnect ) && d.disconnect() \n\t\t\t\t|| _isFunction( d ) && d() \n\t\t\t\t|| _isObject( d ) && ( d.disconnected = true )\n\t\t\t) );\n\t\t} };\n\t\tif ( signal ) signal.addEventListener( 'abort', () => disconnectable.disconnect() );\n\t\treturn disconnectable;\n\t}\n}\n", "\n/**\n * @imports\n */\nimport { _wq } from '@webqit/util/js/index.js';\nimport Realtime from './Realtime.js';\nimport DOMSpec from './DOMSpec.js';\n\n/**\n *\n * @class AttrRealtime\n */\nexport default class AttrRealtime extends Realtime {\n\n\ttype = 'attr';\n\n\t/**\n\t * @constructor\n\t */\n\tconstructor( context, ...args ) {\n\t\tsuper( context, 'attr', ...args );\n\t}\n\t\n\t/**\n\t * Runs a query.\n\t *\n\t * @param array|string\t\t\t\tspec\n\t * @param function\t\t\t\t\tcallback\n\t * @param object\t\t\t\t\tparams\n\t *\n\t * @return Disconnectable|Void\n\t */\n\tget( spec, callback = undefined, params = {} ) {\n\t\tconst originalFilterIsString = typeof spec === 'string' || spec instanceof DOMSpec;\n\t\t[ spec = [], callback = undefined, params = {} ] = this.resolveArgs( arguments );\n\t\tconst { context } = this;\n\t\t// -------------\n\t\tconst records = attrIntersection( context, spec );\n\t\tif ( !callback ) return records;\n\t\tconst signalGenerator = params.lifecycleSignals && this.createSignalGenerator();\n\t\tif ( !originalFilterIsString ) {\n\t\t\tconst flags = signalGenerator?.generate() || {};\n\t\t\tcallback( records, flags, context );\n\t\t} else {\n\t\t\tfor ( const record of records ) {\n\t\t\t\tconst flags = signalGenerator ? signalGenerator.generate() : {};\n\t\t\t\tcallback( record, flags, context );\n\t\t\t}\n\t\t}\n\t\t// -------------\n\t\tif ( params.live ) {\n\t\t\tif ( signalGenerator ) { params = { ...params, signalGenerator }; }\n\t\t\tconst disconnectable_live = this.observe( originalFilterIsString ? spec[ 0 ] : spec, callback, { newValue: true, ...params } );\n\t\t\treturn this.disconnectables( params.signal, disconnectable_live );\n\t\t}\n\t}\n\n\t/**\n\t * Mutation Observer\n\t * \n\t * @param array|string\t\t\t\tspec\n\t * @param function\t\t\t\t\tcallback\n\t * @param object\t\t\t\t\tparams\n\t * \n\t * @returns Disconnectable\n\t */\n\tobserve( spec, callback, params = {} ) {\n\t\tconst originalFilterIsString = typeof spec === 'string' || spec instanceof DOMSpec;\n\t\t[ spec = [], callback, params = {} ] = this.resolveArgs( arguments );\n\t\t// ------------------------\n\t\tif ( [ 'sync', 'intercept' ].includes( params.timing ) ) return this.observeSync( originalFilterIsString ? spec[ 0 ] : spec, callback, params );\n\t\tif ( params.timing && params.timing !== 'async' ) throw new Error( `Timing option \"${ params.timing }\" invalid.` );\n\t\t// ------------------------\n\t\tconst { context, window, webqit } = this;\n\t\t// ------------------\n\t\tif ( params.eventDetails && !webqit.realdom.attrInterceptionHooks?.intercepting ) {\n\t\t\tattrInterception.call( window, 'intercept', () => {} );\n\t\t}\n\t\t// -------------\n\t\tconst disconnectable = new window.MutationObserver( records => {\n\t\t\trecords = dedupAndIgnoreInternals( records ).map( rcd => withAttrEventDetails.call( window, rcd ) );\n\t\t\tdispatch.call( window, registration, records, context );\n\t\t} );\n\t\t// ------------------\n\t\tconst $params = { attributes: true, attributeOldValue: params.oldValue, subtree: params.subtree && true };\n\t\tif ( spec.length ) { $params.attributeFilter = spec.map( a => a + '' ); }\n\t\tdisconnectable.observe( context, $params );\n\t\t// -------------\n\t\tconst signalGenerator = params.signalGenerator || params.lifecycleSignals && this.createSignalGenerator();\n\t\tconst registration = { context, spec, callback, params, atomics: new Map, originalFilterIsString, signalGenerator, disconnectable };\n\t\t// -------------\n\t\treturn this.disconnectables( params.signal, disconnectable, signalGenerator );\n\t}\n\t\n\t/**\n\t * Mutation Interceptor\n\t * \n\t * @param array|string\t\t\t\tspec\n\t * @param function\t\t\t\t\tcallback\n\t * @param object\t\t\t\t\tparams\n\t * \n\t * @returns Disconnectable\n\t */\n\tobserveSync( spec, callback, params = {} ) {\n\t\tconst originalFilterIsString = typeof spec === 'string' || spec instanceof DOMSpec;\n\t\t[ spec, callback, params = {} ] = this.resolveArgs( arguments );\n\t\tconst { context, window } = this;\n\t\t// -------------\n\t\tif ( params.timing && ![ 'sync', 'intercept' ].includes( params.timing ) ) throw new Error( `Timing option \"${ params.timing }\" invalid.` );\n\t\tconst interceptionTiming = params.timing === 'intercept' ? 'intercept' : 'sync';\n\t\tif ( !this.registry( interceptionTiming ).size ) {\n\t\t\t// One handler per intercept/sync registry\n\t\t\tattrInterception.call( window, interceptionTiming, records => {\n\t\t\t\tthis.forEachMatchingContext( interceptionTiming, records, dispatch );\n\t\t\t} );\n\t\t}\n\t\t// -------------\n\t\tconst disconnectable = { disconnect() { registry.delete( registration ); } };\n\t\tconst signalGenerator = params.signalGenerator || params.lifecycleSignals && this.createSignalGenerator();\n\t\tconst registration = { context, spec, callback, params, atomics: new Map, originalFilterIsString, signalGenerator, disconnectable };\n\t\tconst registry = this.registry( interceptionTiming );\n\t\tregistry.set( registration, !!registration.params.deferred );\n\t\t// -------------\n\t\treturn this.disconnectables( params.signal, disconnectable, signalGenerator );\n\t}\n}\n\n/**\n * Deduplicates records.\n * \n * @param Array \t\t\trecords\n * \n * @returns Array\n */\nfunction dedupAndIgnoreInternals( records ) {\n\treturn records.reduce( ( rcds, rcd, i ) => {\n\t\tif ( rcds[ i - 1 ]?.attributeName === rcd.attributeName ) return rcds;\n\t\tif ( _wq( rcd.target, 'realdom', 'internalAttrInteractions' ).get( rcd.attributeName ) ) return rcds;\n\t\treturn rcds.concat( rcd );\n\t}, [] );\n}\n\n/**\n * Dispatches a mutation record if it matches the observed.\n * \n * @param Object \t\t\tregistration\n * @param Array \t\t\trecords\n * \n * @returns Void\n */\nfunction dispatch( registration, records ) {\n\tconst { context, spec, callback, params, atomics, originalFilterIsString, signalGenerator } = registration;\n\tif (!params.subtree) {\n\t\trecords = records.filter((r) => {\n\t\t\treturn r.target === context;\n\t\t}); \n\t}\n\tif ( !records.length ) return;\n\tconst $spec = spec.map( a => a + '' );\n\tif ( params.atomic && !atomics.size ) {\n\t\trecords = attrIntersection( context, spec, records );\n\t} else if ( params.timing !== 'async' && spec.length ) {\n\t\trecords = records.filter( r => $spec.includes( r.name ) );\n\t}\n\tif ( !records.length ) return;\n\t// Should we care about old / new values being present?\n\tif ( !( params.newValue === null && params.oldValue === null && params.eventDetails ) ) {\n\t\trecords = records.map( rcd => {\n\t\t\tlet exclusion;\n\t\t\tif ( !params.eventDetails ) {\n\t\t\t\t( { event: exclusion, ...rcd } = rcd );\n\t\t\t}\n\t\t\tif ( !params.oldValue && ( 'oldValue' in rcd ) ) {\n\t\t\t\t( { oldValue: exclusion, ...rcd } = rcd );\n\t\t\t}\n\t\t\tif ( !params.newValue && ( 'value' in rcd ) ) {\n\t\t\t\t( { value: exclusion, ...rcd } = rcd );\n\t\t\t} else if ( params.newValue && typeof rcd.value === 'undefined' ) {\n\t\t\t\trcd = { ...rcd, value: internalAttrInteraction( rcd.target, rcd.name, () => rcd.target.getAttribute( rcd.name ) ) };\n\t\t\t}\n\t\t\treturn rcd;\n\t\t} );\n\t}\n\tif ( params.atomic ) {\n\t\trecords.forEach( record => atomics.set( record.name, record ) );\n\t\trecords = Array.from( atomics.entries() ).map( ( [ , value ] ) => value );\n\t}\n\tconst record_s = originalFilterIsString ? records[ 0 ] : records;\n\tconst flags = signalGenerator ? signalGenerator.generate() : {};\n\tcallback( record_s, flags, context );\n}\n\n/**\n */\nfunction internalAttrInteraction( node, attrName, callback ) {\n\tconst savedAttrLocking = _wq( node, 'realdom', 'internalAttrInteractions' ).get( attrName );\n\t_wq( node, 'realdom', 'internalAttrInteractions' ).set( attrName, true );\n\tconst value = callback();\n\t_wq( node, 'realdom', 'internalAttrInteractions' ).set( attrName, savedAttrLocking );\n\treturn value;\n}\n\n/**\n * Helper to determining which records to deliver.\n * \n * @param Object \t\t\tcontext\n * @param Array \t\t\tspec\n * @param Array \t\t\trecords\n * \n * @returns Array\n */\nfunction attrIntersection( context, spec, records = [] ) {\n\tconst _type = { event: null, type: 'attribute' };\n\tif ( spec.length ) {\n\t\treturn spec.map( attrName => {\n\t\t\tattrName = attrName + '';\n\t\t\treturn records.find( r => r.name === attrName ) || { target: context, name: attrName, value: internalAttrInteraction( context, attrName, () => context.getAttribute( attrName ) ), ..._type };\n\t\t} );\n\t}\n\tconst attrs = Array.from( context.attributes );\n\treturn attrs.map( attr => {\n\t\treturn records.find( r => r.name === attr.nodeName ) || { target: context, name: attr.nodeName, value: internalAttrInteraction( context, attr.nodeName, () => attr.nodeValue ), ..._type };\n\t} );\n}\n\n/**\n * Determines the event for an attr mutation record.\n * \n * @param MutationRecord \t{ target, attributeName }\n * \n * @returns Object\n */\nfunction withAttrEventDetails( { target, attributeName, value, oldValue } ) {\n\tconst window = this, registry = window.webqit.realdom.attrInterceptionRecords?.get( target ) || {};\n\tconst event = registry[ attributeName ]?.[ 0 ] || 'mutation';\n\tconst record = { target, name: attributeName, value, oldValue, type: 'observation', event };\n\treturn record;\n}\n\n/**\n * Attributes intersection engine.\n * \n * @param String \t\t\ttiming \n * @param Function \t\t\tcallback \n * \n * @returns \n */\nfunction attrInterception( timing, callback ) {\n\tconst window = this;\n\tconst { webqit, document, Element } = window;\n\tif ( !webqit.realdom.attrInterceptionHooks ) { Object.defineProperty( webqit.realdom, 'attrInterceptionHooks', { value: new Map } ); }\n\tif ( !webqit.realdom.attrInterceptionHooks.has( timing ) ) { webqit.realdom.attrInterceptionHooks.set( timing, new Set ); }\n\twebqit.realdom.attrInterceptionHooks.get( timing ).add( callback );\n\tconst rm = () => webqit.realdom.attrInterceptionHooks.get( timing ).delete( callback );\n\tif ( webqit.realdom.attrInterceptionHooks?.intercepting ) return rm;\n\tconsole.warn( `Attr mutation APIs are now being intercepted.` );\n\twebqit.realdom.attrInterceptionHooks.intercepting = true;\n\tObject.defineProperty( webqit.realdom, 'attrInterceptionRecords', { value: new Map } );\n\n\t// Interception hooks\n\tconst attrIntercept = ( record, defaultAction ) => {\n\t\tif ( !webqit.realdom.attrInterceptionRecords.has( record.target ) ) { webqit.realdom.attrInterceptionRecords.set( record.target, {} ); }\n\t\tconst registry = webqit.realdom.attrInterceptionRecords.get( record.target );\n\t\t// ------------------\n\t\tregistry[ record.name ] = registry[ record.name ] || [];\n\t\tregistry[ record.name ].unshift( record.event );\n\t\tif ( _wq( record.target, 'realdom', 'internalAttrInteractions' ).get( record.name ) ) return defaultAction();\n\t\t// ------------------\n\t\twebqit.realdom.attrInterceptionHooks.get( 'intercept' )?.forEach( callback => callback( [ record ] ) );\n\t\tconst returnValue = defaultAction();\n\t\twebqit.realdom.attrInterceptionHooks.get( 'sync' )?.forEach( callback => callback( [ record ] ) );\n\t\treturn returnValue;\n\t};\n\n\t// Interception observer WILL need to know non-API-based mutations\n\tconst mo = new window.MutationObserver( records => {\n\t\trecords = records.filter( rcd => {\n\t\t\tconst registry = window.webqit.realdom.attrInterceptionRecords?.get( rcd.target ) || {};\n\t\t\treturn !registry[ rcd.attributeName ]?.shift();\n\t\t} );\n\t\trecords = dedupAndIgnoreInternals( records ).map( rcd => withAttrEventDetails.call( window, rcd ) );\n\t\tif ( !records.length ) return;\n\t\twebqit.realdom.attrInterceptionHooks.get( 'intercept' )?.forEach( callback => callback( records ) );\n\t\twebqit.realdom.attrInterceptionHooks.get( 'sync' )?.forEach( callback => callback( records ) );\n\t} );\n\tmo.observe( document, { attributes: true, subtree: true, attributeOldValue: true } );\n\n\t// Intercept DOM attr mutation methods\n\tconst originalApis = Object.create( null );\n\t[ 'setAttribute', 'removeAttribute', 'toggleAttribute', ].forEach( apiName => {\n\t\toriginalApis[ apiName ] = Element.prototype[ apiName ];\n\t\tElement.prototype[ apiName ] = function( ...args ) {\n\t\t\tlet value, oldValue = internalAttrInteraction( this, args[ 0 ], () => this.getAttribute( args[ 0 ] ) );\n\t\t\tif ( [ 'setAttribute', 'toggleAttribute' ].includes( apiName ) ) { value = args[ 1 ]; }\n\t\t\tif ( apiName === 'toggleAttribute' && value === undefined ) {\n\t\t\t\tvalue = oldValue === null ? true : false;\n\t\t\t}\n\t\t\tconst record = { target: this, name: args[ 0 ], value, oldValue, type: 'interception', event: [ this, apiName ] };\n\t\t\tconst exec = () => originalApis[ apiName ].call( this, ...args );\n\t\t\treturn attrIntercept( record, exec );\n\t\t}\n\t} );\n\n\treturn rm;\n}\n", "\n/**\n * @imports\n */\nimport { _isObject } from '@webqit/util/js/index.js';\nimport { _from as _arrFrom } from '@webqit/util/arr/index.js';\nimport AttrRealtime from './AttrRealtime.js';\nimport Realtime from './Realtime.js';\nimport * as Util from './Util.js';\n\n/**\n *\n * @class DOMRealtime\n */\nexport default class DOMRealtime extends Realtime {\n\n\t/**\n\t * @constructor\n\t */\n\tconstructor( context, ...args ) {\n\t\tsuper( context, 'tree', ...args );\n\t}\n\n\t/**\n\t * Alias for ( new AttrRealtime() ).all( ... )\n\t */\n\tattr( filter, callback = undefined, params = {} ) {\n\t\tconst { context, window } = this;\n\t\treturn ( new AttrRealtime( context, window ) ).get( ...arguments );\n\t}\n\n\t/**\n\t * Runs a query.\n\t *\n\t * @param array|Element|string\t\tspec\n\t * @param function\t\t\t\t\tcallback\n\t * @param object\t\t\t\t\tparams\n\t *\n\t * @return Disconnectable|Void\n\t */\n\tquery( spec, callback = undefined, params = {} ) {\n\t\t[ spec, callback = undefined, params = {} ] = this.resolveArgs( arguments );\n\t\tconst { context } = this;\n\t\t// ------------------\n\t\tconst records = new Map, getRecord = target => {\n\t\t\tif ( !records.has( target ) ) { records.set( target, { target, entrants: [], exits: [], type: 'query', event: null } ); }\n\t\t\treturn records.get( target );\n\t\t};\n\t\t// ------------------\n\t\tif ( !params.generation || params.generation === 'entrants' ) {\n\t\t\tif ( !spec.length ) {\n\t\t\t\t//if ( params.subtree ) throw new Error( `The subtree option requires a selector to work.` );\n\t\t\t\t[ ...context.children ].forEach( node => getRecord( context ).entrants.push( node ) );\n\t\t\t} else if ( spec.every( s => s.type === 'selector' ) ) {\n\t\t\t\tconst [ cssSelectors, xpathQueries ] = spec.reduce( ( [ css, xpath ], s ) => {\n\t\t\t\t\treturn s.kind === 'xpath' ? [ css, xpath.concat( s ) ] : [ css.concat( s ), xpath ];\n\t\t\t\t}, [ [], [] ] );\n\t\t\t\tconst matches = [];\n\t\t\t\tif ( params.subtree ) {\n\t\t\t\t\tif ( cssSelectors.length ) { matches.push( ...context.querySelectorAll( cssSelectors.join( ',' ) ) ); }\n\t\t\t\t\tif ( xpathQueries.length ) { matches.push( ...Util.xpathQuery( this.window, context, xpathQueries ) ); }\n\t\t\t\t} else {\n\t\t\t\t\tif ( cssSelectors.length ) { matches.push( ...[ ...context.children ].filter( node => node.matches( cssSelectors ) ) ); }\n\t\t\t\t\tif ( xpathQueries.length ) { matches.push( ...Util.xpathQuery( this.window, context, xpathQueries, false ) ); }\n\t\t\t\t}\n\t\t\t\tmatches.forEach( node => getRecord( node.parentNode || context ).entrants.push( node ) );\n\t\t\t}\n\t\t}\n\t\t// ------------------\n\t\tif ( !callback ) return records;\n\t\tconst disconnectable = { disconnected: false };\n\t\tconst signalGenerator = callback && params.lifecycleSignals && this.createSignalGenerator();\n\t\tfor ( const [ , record ] of records ) {\n\t\t\tif ( disconnectable.disconnected ) break;\n\t\t\tconst flags = signalGenerator?.generate() || {};\n\t\t\tcallback( record, flags, context );\n\t\t}\n\t\t// ------------------\n\t\tif ( params.live ) {\n\t\t\tif ( signalGenerator ) { params = { ...params, signalGenerator }; }\n\t\t\tconst disconnectable_live = this.observe( spec, callback, params );\n\t\t\treturn this.disconnectables( params.signal, disconnectable, disconnectable_live );\n\t\t}\n\t\treturn this.disconnectables( params.signal, disconnectable, signalGenerator );\n\t}\n\n\t/**\n\t * Alias for query( ..., { subtree: false } )\n\t */\n\tchildren( spec, callback = undefined, params = {} ) {\n\t\t[ spec, callback = undefined, params = {} ] = this.resolveArgs( arguments );\n\t\treturn this.query( spec, callback, { ...params, subtree: false } );\n\t}\n\n\t/**\n\t * Alias for query( ..., { subtree: true } )\n\t */\n\tsubtree( spec, callback = undefined, params = {} ) {\n\t\t[ spec, callback = undefined, params = {} ] = this.resolveArgs( arguments );\n\t\treturn this.query( spec, callback, { ...params, subtree: true } );\n\t}\n\n\t/**\n\t * Mutation Observer\n\t * \n\t * @param array|Element|string\t\tspec\n\t * @param function\t\t\t\t\tcallback\n\t * @param object\t\t\t\t\tparams\n\t * \n\t * @returns Disconnectable\n\t */\n\tobserve( spec, callback, params = {} ) {\n\t\t[ spec, callback, params = {} ] = this.resolveArgs( arguments );\n\t\t// ------------------------\n\t\tif ( [ 'sync', 'intercept' ].includes( params.timing ) ) return this.observeSync( spec, callback, params );\n\t\tif ( params.timing && params.timing !== 'async' ) throw new Error( `Timing option \"${ params.timing }\" invalid.` );\n\t\t// ------------------------\n\t\tconst { context, window, webqit, document } = this;\n\t\t// ------------------\n\t\tif ( params.eventDetails ) { webqit.realdom.domInterceptionRecordsAlwaysOn = true; }\n\t\tif ( ( document.readyState === 'loading' || webqit.realdom.domInterceptionRecordsAlwaysOn ) && !webqit.realdom.domInterceptionHooks?.intercepting ) {\n\t\t\tdomInterception.call( window, 'sync', () => {} );\n\t\t}\n\t\t// -------------\n\t\tconst disconnectable = new window.MutationObserver( records => records.forEach( record => {\n\t\t\tdispatch.call( window, registration, withEventDetails.call( window, record ), context );\n\t\t} ) );\n\t\tdisconnectable.observe( context, { childList: true, subtree: params.subtree && true, } );\n\t\tconst signalGenerator = params.signalGenerator || params.lifecycleSignals && this.createSignalGenerator();\n\t\tconst registration = { context, spec, callback, params, signalGenerator, disconnectable };\n\t\t// -------------\n\t\tif ( params.staticSensitivity ) {\n\t\t\tconst disconnectable_attr = staticSensitivity.call( window, registration );\n\t\t\treturn this.disconnectables( params.signal, disconnectable, signalGenerator, disconnectable_attr );\n\t\t}\n\t\treturn this.disconnectables( params.signal, disconnectable, signalGenerator );\n\t}\n\t\n\t/**\n\t * Mutation Interceptor\n\t * \n\t * @param array|Element|string\t\tspec\n\t * @param function\t\t\t\t\tcallback\n\t * @param object\t\t\t\t\tparams\n\t * \n\t * @returns Disconnectable\n\t */\n\tobserveSync( spec, callback, params = {} ) {\n\t\t[ spec, callback, params = {} ] = this.resolveArgs( arguments );\n\t\tconst { context, window } = this;\t\t\n\t\t// -------------\n\t\tif ( params.timing && ![ 'sync', 'intercept' ].includes( params.timing ) ) throw new Error( `Timing option \"${ params.timing }\" invalid.` );\n\t\tconst interceptionTiming = params.timing === 'intercept' ? 'intercept' : 'sync';\n\t\tif ( !this.registry( interceptionTiming ).size ) {\n\t\t\t// One handler per intercept/sync registry\n\t\t\tdomInterception.call( window, interceptionTiming, record => {\n\t\t\t\tthis.forEachMatchingContext( interceptionTiming, record, dispatch );\n\t\t\t} );\n\t\t}\n\t\tconst mo = new window.MutationObserver( records => records.forEach( record => {\n\t\t\tif ( Array.isArray( ( record = withEventDetails.call( window, record ) ).event ) ) return;\n\t\t\tdispatch.call( window, registration, record, context );\n\t\t} ) );\n\t\tmo.observe( context, { childList: true, subtree: params.subtree && true } );\n\t\t// -------------\n\t\tconst disconnectable = { disconnect() {\n\t\t\tregistry.delete( registration );\n\t\t\tmo.disconnect();\n\t\t} };\n\t\tconst signalGenerator = params.signalGenerator || params.lifecycleSignals && this.createSignalGenerator();\n\t\tconst registration = { context, spec, callback, params, signalGenerator, disconnectable };\n\t\tconst registry = this.registry( interceptionTiming );\n\t\tregistry.set( registration, !!registration.params.deferred );\n\t\t// -------------\n\t\tif ( params.staticSensitivity ) {\n\t\t\tconst disconnectable_attr = staticSensitivity.call( window, registration );\n\t\t\treturn this.disconnectables( params.signal, disconnectable, signalGenerator, disconnectable_attr );\n\t\t}\n\t\treturn this.disconnectables( params.signal, disconnectable, signalGenerator );\n\t}\n\n\t/**\n\t * Tracks the connectedness of element references.\n\t *\n\t * @param array|Element\t\t\t\telements\n\t * @param function\t\t\t\t\tcallback\n\t * @param object\t\t\t\t\tparams\n\t *\n\t * @return Disconnectable\n\t */\n\ttrack( elements, callback, params = {} ) {\n\t\tparams = { subtree: true, ...params };\n\t\treturn this.observe( elements, record => {\n\t\t\tif ( record.entrants.length ) callback( true, Array.isArray( elements ) ? record.entrants : record.entrants[ 0 ] );\n\t\t\tif ( record.exits.length ) callback( false, Array.isArray( elements ) ? record.exits : record.exits[ 0 ] );\n\t\t}, params );\n\t}\n}\n\n/**\n * Sensitivty for attribute changes for attribute spec.\n * \n * @param object registration\n * \n * @returns Disconnectable\n */\nfunction staticSensitivity( registration ) {\n\tconst window = this;\n\tconst { context, spec, callback, params, signalGenerator } = registration;\n\tconst cssSelectors = spec.filter( s => s.kind === 'css' );\n\tconst parseDot = selector => selector.match( /\\.([\\w-]+)/g )?.length ? [ 'class' ] : [];\n\tconst parseHash = selector => selector.match( /#([\\w-]+)/g )?.length ? [ 'id' ] : [];\n\tconst parse = selector => [ ...selector.matchAll( /\\[([^\\=\\]]+)(\\=[^\\]]+)?\\]/g ) ].map( x => x[ 1 ] ).concat( parseDot( selector ) ).concat( parseHash( selector ) );\n\tif ( !( registration.$attrs = Array.from( new Set( cssSelectors.filter( s => ( s + '' ).includes( '[' ) ).reduce( ( attrs, selector ) => attrs.concat( parse( selector + '' ) ), [] ) ) ) ).length ) return;\n\t// ---------\n\tconst entrants = new Set, exits = new Set;\n\tentrants.push = val => ( exits.delete( val ), entrants.add( val ) );\n\texits.push = val => ( entrants.delete( val ), exits.add( val ) );\n\tregistration.$deliveryCache = { entrants, exits };\n\t// ---------\n\treturn ( new AttrRealtime( context, window ) ).observe( registration.$attrs, _records => {\n\t\tconst records = new Map, getRecord = target => {\n\t\t\tif ( !records.has( target ) ) { records.set( target, { target, entrants: [], exits: [], type: 'static', event: null } ); }\n\t\t\treturn records.get( target );\n\t\t};\n\t\t// ---------\n\t\tconst matchesCache = new WeakMap;\n\t\tconst matches = node => {\n\t\t\tif ( !matchesCache.has( node ) ) { matchesCache.set( node, cssSelectors.some( s => node.matches( s + '' ) ) ); }\n\t\t\treturn matchesCache.get( node );\n\t\t};\n\t\t// ---------\n\t\tfor ( const _record of _records ) {\n\t\t\t[ 'entrants', 'exits' ].forEach( generation => {\n\t\t\t\tif ( params.generation && generation !== params.generation ) return;\n\t\t\t\tif ( registration.$deliveryCache[ generation ].has( _record.target ) || ( generation === 'entrants' ? !matches( _record.target ) : matches( _record.target ) ) ) return;\n\t\t\t\tregistration.$deliveryCache[ generation ].push( _record.target );\n\t\t\t\tgetRecord( _record.target )[ generation ].push( _record.target );\n\t\t\t\tgetRecord( _record.target ).event = _record.event;\n\t\t\t} );\n\t\t}\n\t\t// ---------\n\t\tfor ( const [ , record ] of records ) {\n\t\t\tconst flags = signalGenerator?.generate() || {};\n\t\t\tcallback( record, flags, context );\n\t\t}\n\t}, { subtree: params.subtree, timing: params.timing, eventDetails: params.eventDetails } );\n}\n\n/**\n * Dispatches a mutation record if it matches the observed.\n * \n * @param Object \t\t\tregistration \n * @param Object \t\t\trecord \n * \n * @returns Void\n */\nfunction dispatch( registration, _record ) {\n\tconst { context, spec, callback, params, signalGenerator, $deliveryCache } = registration;\n\t// ---------\n\tconst record = { ..._record, entrants: [], exits: [] };\n\tif ( !params.eventDetails ) { delete record.event; }\n\t[ 'entrants', 'exits' ].forEach( generation => {\n\t\tif ( params.generation && generation !== params.generation ) return;\n\t\tif ( spec.length ) {\n\t\t\trecord[ generation ] = nodesIntersection.call( this, spec, params.subtree === 'cross-roots', _record[ generation ], _record.event !== 'parse' );\n\t\t} else {\n\t\t\trecord[ generation ] = [ ..._record[ generation ] ];\n\t\t}\n\t\tif ( !$deliveryCache ) return;\n\t\tfor ( const node of record[ generation ] ) {\n\t\t\t$deliveryCache[ generation ].push( node );\n\t\t}\n\t} );\n\t// ---------\n\tif ( !record.entrants.length && !record.exits.length ) return;\n\tconst flags = signalGenerator?.generate() || {};\n\tcallback( record, flags, context );\n}\n\n/**\n * Aggregates instances of els in sources\n * \n * @param Array \t\t\tspec \n * @param Bool \t\t\t\tcrossRoots \n * @param Array \t\t\tsources \n * @param Bool \t\t\t\tdeepIntersect \n * \n * @returns \n */\nfunction nodesIntersection( spec, crossRoots, sources, deepIntersect ) {\n\tsources = Array.isArray( sources ) ? sources : [ ...sources ];\n\tconst match = ( sources, s ) => {\n\t\t// Filter out text nodes\n\t\tif ( s.type === 'selector' ) {\n\t\t\t// Is directly mutated...\n\t\t\tlet matches = s.isXpathAttr ? [] : sources.filter( source => s.kind === 'xpath' ? Util.xpathMatch( this, source, s + '' ) : source.matches && source.matches( s + '' ) );\n\t\t\t// Is contextly mutated...\n\t\t\tif ( deepIntersect || s.isXpathAttr ) {\n\t\t\t\tmatches = sources.reduce( ( collection, source ) => {\n\t\t\t\t\tif ( s.kind === 'xpath' ) { return [ ...collection, ...Util.xpathQuery( this, source, s, deepIntersect ) ]; }\n\t\t\t\t\treturn source.querySelectorAll ? [ ...collection, ...source.querySelectorAll( s + '' ) ] : collection;\n\t\t\t\t}, matches );\n\t\t\t}\n\t\t\tif ( matches.length ) return matches;\n\t\t} else {\n\t\t\t// Is directly mutated...\n\t\t\tif ( sources.includes( s.content ) || (\n\t\t\t\tdeepIntersect && sources.some( source => Util.containsNode( this/* window */, source, s.content, crossRoots ) )\n\t\t\t) ) { return [ s.content ]; }\n\t\t}\n\t};\n\t// Search can be expensive...\n\t// Multiple listeners searching the same thing in the same list?\n\tif ( !sources.$$searchCache ) { sources.$$searchCache = new Map; }\n\treturn spec.reduce( ( matches, s ) => {\n\t\tlet _matches;\n\t\tif ( sources.$$searchCache.has( s.content ) ) {\n\t\t\t_matches = sources.$$searchCache.get( s.content );\n\t\t} else {\n\t\t\t_matches = match( sources, s ) || [];\n\t\t\tif ( s.type === 'instance' ) {\n\t\t\t\tsources.$$searchCache.set( s.content, _matches );\n\t\t\t}\n\t\t}\n\t\treturn matches.concat( _matches );\n\t}, [] );\n}\n\n/**\n * Determines the event for a mutation record\n * \n * @param MutationRecord \t{ target, entrants, exits }\n * \n * @returns Object\n */\nfunction withEventDetails( { target, addedNodes, removedNodes } ) {\n\tlet window = this, event;\n\tevent = _arrFrom( addedNodes ).reduce( ( prev, node ) => prev || window.webqit.realdom.domInterceptionRecords?.get( node ), null );\n\tevent = _arrFrom( removedNodes ).reduce( ( prev, node ) => prev || window.webqit.realdom.domInterceptionRecords?.get( node ), event );\n\tevent = event || window.document.readyState === 'loading' && 'parse' || 'mutation';\n\treturn { target, entrants: addedNodes, exits: removedNodes, type: 'observation', event };\n}\n\n/**\n * DOM intersection engine.\n * \n * @param String \t\t\ttiming \n * @param Function \t\t\tcallback \n * \n * @returns \n */\nfunction domInterception( timing, callback ) {\n\tconst window = this;\n\tconst { webqit, document, Node, CharacterData, Element, HTMLElement, HTMLTemplateElement, DocumentFragment } = window;\n\tif ( !webqit.realdom.domInterceptionHooks ) { Object.defineProperty( webqit.realdom, 'domInterceptionHooks', { value: new Map } ); }\n\tif ( !webqit.realdom.domInterceptionNoRecurse ) { Object.defineProperty( webqit.realdom, 'domInterceptionNoRecurse', { value: new Map } ); }\n\tif ( !webqit.realdom.domInterceptionHooks.has( timing ) ) { webqit.realdom.domInterceptionHooks.set( timing, new Set ); }\n\twebqit.realdom.domInterceptionHooks.get( timing ).add( callback );\n\tconst rm = () => webqit.realdom.domInterceptionHooks.get( timing ).delete( callback );\n\tif ( webqit.realdom.domInterceptionHooks?.intercepting ) return rm;\n\tconsole.warn( `DOM mutation APIs are now being intercepted.` );\n\twebqit.realdom.domInterceptionHooks.intercepting = true;\n\tObject.defineProperty( webqit.realdom, 'domInterceptionRecords', { value: new Map } );\n\n\t// No recursion helper\n\tconst noRecurse = ( node, method, callback ) => {\n\t\twebqit.realdom.domInterceptionNoRecurse.set( node, method );\n\t\tconst returnValue = callback();\n\t\twebqit.realdom.domInterceptionNoRecurse.delete( node );\n\t\treturn returnValue;\n\t};\n\n\t// Interception hooks\n\tconst intercept = ( record, defaultAction ) => {\n\t\trecord.entrants.concat( record.exits ).forEach( node => {\n\t\t\tclearTimeout( webqit.realdom.domInterceptionRecords.get( node )?.timeout ); // Clear any previous that's still active\n\t\t\twebqit.realdom.domInterceptionRecords.set( node, record.event ); // Main: set event details... and next to timeout details\n\t\t\tconst timeout = setTimeout( () => { webqit.realdom.domInterceptionRecords.delete( node ); }, 0 );\n\t\t\tObject.defineProperty( record.event, 'timeout', { value: timeout, configurable: true } );\n\t\t} );\n\t\twebqit.realdom.domInterceptionHooks.get( 'intercept' )?.forEach( callback => callback( record ) );\n\t\tconst returnValue = defaultAction();\n\t\twebqit.realdom.domInterceptionHooks.get( 'sync' )?.forEach( callback => callback( record ) );\n\t\treturn returnValue;\n\t};\n\n\t// Intercept DOM mutation methods\n\tconst _apiNames = {\n\t\t// Note the order\n\t\tShadowRoot: [ 'innerHTML', 'setHTMLUnsafe' ],\n\t\tDocumentFragment: [ 'replaceChildren', 'append', 'prepend' ],\n\t\tDocument: [ 'replaceChildren', 'append', 'prepend' ],\n\t\tHTMLElement: [ 'outerText', 'innerText' ],\n\t\tElement: [ 'append', 'prepend', 'before', 'after', 'insertAdjacentElement', 'insertAdjacentHTML', 'remove', 'replaceChildren', 'replaceWith', 'setHTMLUnsafe', 'innerHTML', 'outerHTML' ],\n\t\tCharacterData: [ 'before', 'after', 'remove', 'replaceWith' ],\n\t\tNode: [ 'insertBefore', 'replaceChild', 'removeChild', 'appendChild', 'textContent', 'nodeValue' ],\n\t};\n\tconst _apiOriginals = {\n\t\t// Note the order\n\t\tShadowRoot: Object.create( null ), // extends DocumentFragment\n\t\tDocumentFragment: Object.create( null ), // extends Node\n\t\tDocument: Object.create( null ), // extends Node\n\t\tHTMLElement: Object.create( null ), // extends Element,\n\t\tElement: Object.create( null ), // extends Node\n\t\tCharacterData: Object.create( null ), // extends Node\n\t\tNode: Object.create( null ),\n\t};\n\n\tconst _apiNamesUnique = new Set( Object.values( _apiNames ).reduce( ( all, apis ) => all.concat( apis ), [] ) );\n\t_apiNamesUnique.forEach( apiName => {\n\t\t\n\t\tObject.keys( _apiNames ).forEach( DOMClassName => {\n\t\t\tif ( !_apiNames[ DOMClassName ].includes( apiName ) ) return;\n\t\t\tconst _apiOriginal = Object.getOwnPropertyDescriptor( window[ DOMClassName ].prototype, apiName );\n\t\t\tif ( !_apiOriginal ) return; // Typically: Element:setHTMLUnsafe\n\t\t\tObject.defineProperty( window[ DOMClassName ].prototype, apiName, 'value' in _apiOriginal ? { ..._apiOriginal, value: method } : { ..._apiOriginal, set: setter } );\n\t\t\t_apiOriginals[ DOMClassName ][ apiName ] = _apiOriginal;\n\t\t} );\n\n\t\tfunction method( ...args ) {\n\t\t\tconst DOMClassName = Object.keys( _apiOriginals ).find( name => this instanceof window[ name ] && ( apiName in _apiOriginals[ name ] ) );\n\t\t\tconst $apiOriginals = _apiOriginals[ DOMClassName ];\n\t\t\t// Instance of Node interface? Abort!\n\t\t\tlet exec = () => $apiOriginals[ apiName ].value.call( this, ...args );\n\t\t\tif ( webqit.realdom.domInterceptionNoRecurse.get( this ) === apiName ) return exec();\n\t\t\t// --------------\n\t\t\t// Obtain exits and entrants\n\t\t\tlet exits = [], entrants = [], target = this;\n\t\t\tif ( [ 'insertBefore' ].includes( apiName ) ) {\n\t\t\t\tentrants = [ args[ 0 ] ];\n\t\t\t} else if ( [ 'insertAdjacentElement', 'insertAdjacentHTML' ].includes( apiName ) ) {\n\t\t\t\tentrants = [ args[ 1 ] ];\n\t\t\t\tif ( [ 'beforebegin', 'afterend' ].includes( args[ 0 ] ) ) {\n\t\t\t\t\ttarget = this.parentNode;\n\t\t\t\t}\n\t\t\t} else if ( [ 'setHTMLUnsafe', 'replaceChildren' ].includes( apiName ) ) {\n\t\t\t\texits = [ ...this.childNodes ];\n\t\t\t\tentrants = apiName === 'replaceChildren' ? [ ...args ] : [ args[ 0 ] ];\n\t\t\t} else if ( [ 'replaceWith', 'remove' ].includes( apiName ) ) {\n\t\t\t\texits = [ this ];\n\t\t\t\tentrants = apiName === 'replaceWith' ? [ ...args ] : [];\n\t\t\t\ttarget = this.parentNode;\n\t\t\t} else if ( [ 'replaceChild' ].includes( apiName ) ) {\n\t\t\t\texits = [ args[ 1 ] ];\n\t\t\t\tentrants = [ args[ 0 ] ];\n\t\t\t} else if ( [ 'removeChild' ].includes( apiName ) ) {\n\t\t\t\texits = [ ...args ];\n\t\t\t} else {\n\t\t\t\t// 'before', 'after', 'append', 'prepend', 'appendChild'\n\t\t\t\tentrants = [ ...args ];\n\t\t\t\tif ( [ 'before', 'after' ].includes( apiName ) ) {\n\t\t\t\t\ttarget = this.parentNode;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// --------------\n\t\t\t// Parse HTML to entrants\n\t\t\tlet apiNameFinal = apiName;\n\t\t\tif ( [ 'insertAdjacentHTML', 'setHTMLUnsafe' ].includes( apiName ) ) {\n\t\t\t\tlet tempNodeName = this.nodeName;\n\t\t\t\tif ( apiName === 'insertAdjacentHTML' && [ 'beforebegin', 'afterend' ].includes( args[ 0 ] ) ) {\n\t\t\t\t\t// We can't handle this... and this is going to throw afterall\n\t\t\t\t\tif ( !this.parentNode ) return $apiOriginals[ apiName ].value.call( this, ...args );\n\t\t\t\t\ttempNodeName = this.parentNode.nodeName;\n\t\t\t\t}\n\t\t\t\tconst temp = document.createElement( tempNodeName.includes( '-' )/* custom-element | #document-fragment */ ? 'div' : tempNodeName );\n\t\t\t\t$apiOriginals.setHTMLUnsafe.value.call( temp, entrants[ 0 ], apiName === 'setHTMLUnsafe' ? args[ 1 ] : {} );\n\t\t\t\tentrants = [ ...temp.childNodes ];\n\t\t\t\t// -------------- \n\t\t\t\tif ( apiName === 'insertAdjacentHTML' ) {\n\t\t\t\t\tapiNameFinal = 'insertAdjacentElement';\n\t\t\t\t\targs[ 1 ] = new DocumentFragment;\n\t\t\t\t\tnoRecurse( args[ 1 ], 'append', () => args[ 1 ].append( ...temp.childNodes ) );\n\t\t\t\t} else {\n\t\t\t\t\tapiNameFinal = 'replaceChildren';\n\t\t\t\t\targs = [ ...temp.childNodes ];\n\t\t\t\t}\n\t\t\t}\n\t\t\t// --------------\n\t\t\tif ( !target ) return exec();\n\t\t\tconst record = { target, entrants, exits, type: 'interception', event: [ this, apiName ] };\n\t\t\treturn intercept( record, () => {\n\t\t\t\treturn $apiOriginals[ apiNameFinal ].value.call( this, ...args );\n\t\t\t} );\n\t\t}\n\n\t\tfunction setter( value ) {\n\t\t\tconst DOMClassName = Object.keys( _apiOriginals ).find( name => this instanceof window[ name ] && ( apiName in _apiOriginals[ name ] ) );\n\t\t\tconst $apiOriginals = _apiOriginals[ DOMClassName ];\n\t\t\t// Instance of Node interface? Abort!\n\t\t\tlet exec = () => $apiOriginals[ apiName ].set.call( this, value );\n\t\t\tif ( this instanceof HTMLScriptElement || webqit.realdom.domInterceptionNoRecurse.get( this ) === apiName ) return exec();\n\t\t\t// --------------\n\t\t\t// Obtain exits and entrants\n\t\t\tlet exits = [], entrants = [], target = this;\n\t\t\tif ( [ 'outerHTML', 'outerText' ].includes( apiName ) ) {\n\t\t\t\texits = [ this ];\n\t\t\t\ttarget = this.parentNode;\n\t\t\t} else {\n\t\t\t\t// 'innerHTML', 'innerText', 'textContent', 'nodeValue'\n\t\t\t\tif ( this instanceof HTMLTemplateElement ) {\n\t\t\t\t\ttarget = this.content;\n\t\t\t\t\texits = [ ...this.content.childNodes ];\n\t\t\t\t} else {\n\t\t\t\t\texits = [ ...this.childNodes ];\n\t\t\t\t}\n\t\t\t}\n\t\t\t// --------------\n\t\t\t// Parse HTML to nodes\n\t\t\tif ( [ 'outerHTML', 'innerHTML' ].includes( apiName ) ) {\n\t\t\t\tlet tempNodeName = this.nodeName;\n\t\t\t\tif ( apiName === 'outerHTML' ) {\n\t\t\t\t\t// We can't handle this... and this is going to throw afterall\n\t\t\t\t\tif ( !this.parentNode ) return exec();\n\t\t\t\t\ttempNodeName = this.parentNode.nodeName;\n\t\t\t\t}\n\t\t\t\tconst temp = document.createElement( tempNodeName.includes( '-' )/* custom-element | #document-fragment */ ? 'div' : tempNodeName );\n\t\t\t\tnoRecurse( temp, apiName, () => temp[ apiName ] = value );\n\t\t\t\tentrants = this instanceof HTMLTemplateElement ? [ ...temp.content.childNodes ] : [ ...temp.childNodes ];\n\t\t\t\tif ( ( this instanceof HTMLTemplateElement && this.hasAttribute( 'src' ) ) || this instanceof ShadowRoot ) {\n\t\t\t\t\tconst getScripts = nodes => nodes.reduce( ( scripts, el ) => {\n\t\t\t\t\t\tif ( el instanceof HTMLScriptElement ) return scripts.concat( el );\n\t\t\t\t\t\tif ( el instanceof HTMLTemplateElement ) return scripts.concat( getScripts( [ el.content ] ) );\n\t\t\t\t\t\tscripts = scripts.concat( getScripts( [ ...( el.querySelectorAll?.( 'template' ) || [] ) ].map( t => t.content ) ) );\n\t\t\t\t\t\treturn scripts.concat( ...( el.querySelectorAll?.( 'script' ) || [] ) );\n\t\t\t\t\t}, [] );\n\t\t\t\t\tfor ( const script of getScripts( entrants ) ) {\n\t\t\t\t\t\tif (this instanceof ShadowRoot) {\n\t\t\t\t\t\t\tscript.setAttribute('data-handling', 'manual');\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst $script = document.createElement( 'script' );\n\t\t\t\t\t\t[ ...script.attributes ].forEach( attr => $script.setAttribute( attr.name, attr.value ) );\n\t\t\t\t\t\t$script.textContent = script.textContent;\n\t\t\t\t\t\tnoRecurse( script, 'replaceWith', () => script.replaceWith( $script ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// -------------- \n\t\t\t\tif ( apiName === 'outerHTML' ) {\n\t\t\t\t\tvalue = new DocumentFragment;\n\t\t\t\t\tnoRecurse( value, 'append', () => value.append( ...entrants ) );\n\t\t\t\t\texec = () => noRecurse( this, 'replaceWith', () => Element.prototype.replaceWith.call( this, value ) );\n\t\t\t\t} else {\n\t\t\t\t\tif ( this instanceof HTMLTemplateElement ) {\n\t\t\t\t\t\texec = () => noRecurse( this.content, 'replaceChildren', () => this.content.replaceChildren( ...entrants ) );\n\t\t\t\t\t} else {\n\t\t\t\t\t\texec = () => noRecurse( this, 'replaceChildren', () => Element.prototype.replaceChildren.call( this, ...entrants ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// --------------\n\t\t\tconst record = { target, entrants, exits, type: 'interception', event: [ this, apiName ] };\n\t\t\treturn intercept( record, exec );\n\t\t}\n\t} );\n\n\treturn rm;\n}\n", "\r\n/**\r\n * Applies all supported polyfills\r\n */\r\nexport default function() {\r\n CSS_escape.call( this );\r\n Node_isConnected.call( this );\r\n Element_matches.call( this );\r\n}\r\n\r\n/**\r\n * Polyfills the window.CSS object.\r\n * \r\n * @return void\r\n */\r\nexport function CSS_escape() {\r\n const window = this;\r\n if ( !window.CSS ) { window.CSS = {} }\r\n if ( !window.CSS.escape ) {\r\n /**\r\n * Polyfills the window.CSS.escape() function.\r\n * \r\n * @param string str \r\n * \r\n * @return string\r\n */\r\n window.CSS.escape = str => str.replace( /([\\:@\\~\\$\\&])/g, '\\\\$1' );\r\n }\r\n}\r\n\r\n/**\r\n * Polyfills the Node.prototype.isConnected property\r\n * \r\n * @see MDN\r\n * \r\n * @return bool\r\n*/\r\nexport function Node_isConnected() {\r\n const window = this;\r\n if ( !( 'isConnected' in window.Node.prototype ) ) {\r\n Object.defineProperty( window.Node.prototype, 'isConnected', { get: function() {\r\n return !this.ownerDocument || !(\r\n this.ownerDocument.compareDocumentPosition( this )\r\n & this.DOCUMENT_POSITION_DISCONNECTED);\r\n } } );\r\n }\r\n}\r\n\r\n/**\r\n * Polyfills the Element.prototype.matches() method\r\n * \r\n * @see MDN\r\n * \r\n * @return void\r\n*/\r\nexport function Element_matches() {\r\n const window = this;\r\n if ( !window.Element.prototype.matches ) {\r\n window.Element.prototype.matches = \r\n window.Element.prototype.matchesSelector || \r\n window.Element.prototype.mozMatchesSelector ||\r\n window.Element.prototype.msMatchesSelector || \r\n window.Element.prototype.oMatchesSelector || \r\n window.Element.prototype.webkitMatchesSelector ||\r\n function( s ) {\r\n var matches = ( this.document || this.ownerDocument ).querySelectorAll( s ),\r\n i = matches.length;\r\n while ( --i >= 0 && matches.item( i ) !== this ) {}\r\n return i > -1; \r\n }\r\n }\r\n}", "\r\n/**\r\n * @imports\r\n */\r\nimport { _isNumeric, _isString, _isFunction } from '@webqit/util/js/index.js';\r\nimport { _set } from '@webqit/util/obj/index.js';\r\nimport Scheduler from './Scheduler.js';\r\nimport DOMRealtime from './realtime/DOMRealtime.js';\r\nimport AttrRealtime from './realtime/AttrRealtime.js';\r\nimport polyfill from './polyfills.js';\r\n\r\nexport default function() {\r\n const window = this;\r\n if ( !window.webqit ) window.webqit = {};\r\n if ( window.webqit.realdom ) return window.webqit.realdom;\r\n window.webqit.realdom = {};\r\n polyfill.call( window );\r\n // ------\r\n window.webqit.realdom.meta = ( ...args ) => meta.call( window, ...args );\r\n window.webqit.realdom.ready = ( ...args ) => ready.call( window, ...args );\r\n // ------\r\n window.webqit.realdom.realtime = ( context, namespace = 'dom' ) => {\r\n if ( namespace === 'dom' ) return new DOMRealtime( context, window );\r\n if ( namespace === 'attr' ) return new AttrRealtime( context, window );\r\n };\r\n // ------\r\n const scheduler = new Scheduler( window );\r\n window.webqit.realdom.schedule = ( type, ...args ) => {\r\n return scheduler[ `on${ type }` ]( ...args );\r\n };\r\n window.webqit.realdom.synthesizeWhile = ( ...args ) => {\r\n return scheduler.synthesizeWhile( ...args );\r\n };\r\n // ------\r\n return window.webqit.realdom;\r\n}\r\n\r\n\r\n/**\r\n * DOM-ready listeners.\r\n * \r\n * @param Function\t \t\tcallback\r\n * \r\n * @return void\r\n */\r\nfunction ready( ...args ) {\r\n let timing = 'interactive', callback;\r\n if ( _isString( args[ 0 ] ) ) {\r\n timing = args[ 0 ];\r\n if ( _isFunction( args[ 1 ] ) ) { callback = args[ 1 ]; }\r\n } else if ( _isFunction( args[ 0 ] ) ) { callback = args[ 0 ]; }\r\n // --------------\r\n const timings = { interactive: [ 'interactive', 'complete' ], complete: [ 'complete' ], };\r\n if ( !timings[ timing ] ) throw new Error( `Invalid ready-state timing: ${ timing }.` );\r\n\tconst window = this;\r\n // --------------\r\n if ( !callback ) {\r\n if ( !window.webqit.realdom.readyStatePromises ) {\r\n window.webqit.realdom.readyStatePromises = {\r\n interactive: new Promise( res => ready.call( this, 'interactive', res ) ),\r\n complete: new Promise( res => ready.call( this, 'complete', res ) ),\r\n };\r\n }\r\n return window.webqit.realdom.readyStatePromises[ timing ];\r\n }\r\n // --------------\r\n\tif ( timings[ timing ].includes( window.document.readyState ) ) return callback( window );\r\n if ( !window.webqit.realdom.readyStateCallbacks ) {\r\n window.webqit.realdom.readyStateCallbacks = { interactive: [], complete: [] };\r\n window.document.addEventListener( 'readystatechange', () => {\r\n const state = window.document.readyState;\r\n for ( const callback of window.webqit.realdom.readyStateCallbacks[ state ].splice( 0 ) ) {\r\n callback( window );\r\n }\r\n }, false );\r\n }\r\n window.webqit.realdom.readyStateCallbacks[ timing ].push( callback );\r\n}\r\n\r\n/**\r\n * A webqit's meta tag props reader.\r\n * \r\n * @param String name\r\n * \r\n * @return Object\r\n */\r\nfunction meta( name ) {\r\n const window = this;\r\n let _content = {}, _el;\r\n if ( _el = window.document.querySelector( `meta[name=\"${ name }\"]` ) ) {\r\n _content = ( _el.content || '' ).split( ';' ).filter( v => v ).reduce( ( _metaVars, directive ) => {\r\n const directiveSplit = directive.split( '=' ).map( d => d.trim() );\r\n _set( _metaVars, directiveSplit[ 0 ].split( '.' ), directiveSplit[ 1 ] === 'true' ? true : (directiveSplit[ 1 ] === 'false' ? false : (\r\n _isNumeric( directiveSplit[ 1 ] ) ? parseInt( directiveSplit[ 1 ] ) : directiveSplit[ 1 ]\r\n ) )\r\n );\r\n return _metaVars;\r\n }, {} );\r\n }\r\n return { get name() { return name; }, get content() { return _el.content; }, json() {\r\n\t\treturn JSON.parse( JSON.stringify( _content ) );\r\n } };\r\n}", "\n/**\n * Converts a string to title case.\n *\n * @param string \tstr\n * @param bool \t\tstrict\n *\n * @return string\n */\nexport default function(str, strict) {\n\tif (typeof str !== 'string') {\n\t\treturn str;\n\t}\n\treturn str.replace(/\\w\\S*/g, function(txt) { return txt.charAt(0).toUpperCase() + ((typeof strict !== undefined && strict) ? txt.substr(1).toLowerCase() : txt.substr(1)); })\n};\n", "\n/**\n * @imports\n */\nimport realdomInit from '@webqit/realdom';\nimport { _wq as __wq } from '@webqit/util/js/index.js';\nimport { _merge } from '@webqit/util/obj/index.js';\nimport { _toTitle } from '@webqit/util/str/index.js';\n\nexport const _wq = ( target, ...args ) => __wq( target, 'oohtml', ...args );\n\nexport const env = {};\n\nexport function _init( name, $config, $defaults ) {\n const window = this, realdom = realdomInit.call( window );\n env.window = window;\n if ( !window.webqitConfig ) {\n window.webqitConfig = realdom.meta( 'webqit' ).json();\n }\n window.webqit || ( window.webqit = {} );\n window.webqit.oohtml || ( window.webqit.oohtml = {} );\n window.webqit.oohtml.configs || ( window.webqit.oohtml.configs = {} );\n // ---------------------\n const configKey = name.toUpperCase().replace( '-', '_' );\n if ( !window.webqit.oohtml.configs[ configKey ] ) {\n window.webqit.oohtml.configs[ configKey ] = {};\n const config = window.webqit.oohtml.configs[ configKey ];\n _merge( 2, config, $defaults, $config, realdom.meta( name ).json() );\n if ( window.webqitConfig.prefix ) {\n Object.keys( config ).forEach( main => {\n Object.keys( config[ main ] ).forEach( key => {\n if ( main === 'api' && typeof config[ main ][ key ] === 'string' ) {\n config[ main ][ key ] = `${ window.webqitConfig.prefix }${ _toTitle( config[ main ][ key ] ) }`\n } else if ( [ 'attr', 'elements' ].includes( main ) && config[ main ][ key ]?.startsWith( 'data-' ) === false ) {\n config[ main ][ key ] = `${ window.webqitConfig.prefix }-${ config[ main ][ key ] }`\n }\n } );\n } );\n }\n }\n // ---------------------\n return { config: window.webqit.oohtml.configs[ configKey ], realdom, window };\n}\n\nexport function getInternalAttrInteraction( node, attrName ) {\n\treturn __wq( node, 'realdom', 'internalAttrInteractions' ).get( attrName );\n}\nexport function internalAttrInteraction( node, attrName, callback ) {\n\tconst savedAttrLocking = __wq( node, 'realdom', 'internalAttrInteractions' ).get( attrName );\n\t__wq( node, 'realdom', 'internalAttrInteractions' ).set( attrName, true );\n\tconst value = callback();\n\t__wq( node, 'realdom', 'internalAttrInteractions' ).set( attrName, savedAttrLocking );\n\treturn value;\n}\n\nexport function _compare( a, b, depth = 1, objectSizing = false ) {\n if ( depth && typeof a === 'object' && a && typeof b === 'object' && b && ( !objectSizing || Object.keys( a ).length === Object.keys( b ).length ) ) {\n for ( let key in a ) {\n if ( !_compare( a[ key ], b[ key ], depth - 1, objectSizing ) ) return false;\n }\n return true;\n }\n if ( Array.isArray( a ) && Array.isArray( b ) && a.length === b.length ) {\n return ( b = b.slice( 0 ).sort() ) && a.slice( 0 ).sort().every( ( valueA, i ) => valueA === b[ i ] );\n }\n return a === b;\n}\n\nexport function _splitOuter( str, delim ) {\n return [ ...str ].reduce( ( [ quote, depth, splits ], x ) => {\n if ( !quote && depth === 0 && ( Array.isArray( delim ) ? delim : [ delim ] ).includes( x ) ) {\n return [ quote, depth, [ '' ].concat( splits ) ];\n }\n if ( !quote && [ '(', '[', '{' ].includes( x ) && !splits[ 0 ].endsWith( '\\\\' ) ) depth++;\n if ( !quote && [ ')', ']', '}' ].includes( x ) && !splits[ 0 ].endsWith( '\\\\' ) ) depth--;\n if ( [ '\"', \"'\", '`' ].includes( x ) && !splits[ 0 ].endsWith( '\\\\' ) ) {\n quote = quote === x ? null : ( quote || x );\n }\n splits[ 0 ] += x;\n return [ quote, depth, splits ]\n }, [ null, 0, [ '' ] ] )[ 2 ].reverse();\n}\n\n// Unique ID generator\nexport const _uniqId = () => ( 0 | Math.random() * 9e6 ).toString( 36 );\n\n// Hash of anything generator\nconst hashTable = new Map;\nexport function _toHash( val ) {\n let hash;\n if ( !( hash = hashTable.get( val ) ) ) {\n hash = _uniqId();\n hashTable.set( val, hash );\n }\n return hash;\n}\n\n// Value of any hash\nexport function _fromHash( hash ) {\n let val;\n hashTable.forEach( ( _hash, _val ) => {\n if ( _hash === hash ) val = _val;\n } );\n return val;\n}", "\n/**\n * @imports\n */\nimport { env } from '../util.js';\n\nexport default function() {\n const { window } = env, { webqit } = window;\n if ( webqit.DOMContextRequestEvent ) return webqit.DOMContextRequestEvent;\n class DOMContextRequestEvent extends window.Event {\n /**\n * @constructor\n */\n constructor( ...args ) {\n const callback = args.pop();\n if ( typeof callback !== 'function' ) throw new Error( `Callback must be provided.` );\n const options = args.pop();\n if ( !options?.kind ) throw new Error( `\"options.kind\" must be specified.` );\n const eventNames = [ 'contextrequest', 'contextclaim' ];\n const type = args.pop() || eventNames[ 0 ];\n if ( !eventNames.includes( type ) ) throw new Error( `Invalid event type. Must be one of: ${ eventNames.join( ',' ) }` );\n // -------------\n const { kind, detail, targetContext, live, signal, diff, ...otherOpts } = options;\n super( type, { ...otherOpts, bubbles: otherOpts.bubbles !== false } );\n // -------------\n Object.defineProperty( this, 'callback', { get: () => callback } );\n Object.defineProperty( this, 'kind', { get: () => kind } );\n Object.defineProperty( this, 'targetContext', { get: () => targetContext } );\n Object.defineProperty( this, 'detail', { get: () => detail } );\n Object.defineProperty( this, 'live', { get: () => live } );\n Object.defineProperty( this, 'signal', { get: () => signal } );\n Object.defineProperty( this, 'diff', { get: () => diff } );\n Object.defineProperty( this, 'options', { get: () => otherOpts } );\n Object.defineProperty( this, 'meta', { value: {} } );\n }\n\n get target() { return super.target || this.meta.target; }\n get answered() { return this.meta.answered || false; }\n\n /**\n * @respondWith\n */\n respondWith( response ) {\n this.meta.answered = true;\n if ( this.diff ) {\n if ( '_prevValue' in this && this._prevValue === response ) return;\n Object.defineProperty( this, '_prevValue', { value: response, configurable: true } );\n }\n return this.callback( response );\n }\n }\n webqit.DOMContextRequestEvent = DOMContextRequestEvent;\n return DOMContextRequestEvent;\n}", "\n/**\n * @imports\n */\nimport { env } from '../util.js';\n\nexport default class DOMContextResponse extends AbortController {\n constructor( callback ) {\n super();\n callback( response => {\n const { window: { webqit: { Observer } } } = env;\n Observer.defineProperty( this, 'value', { value: response, configurable: true, enumerable: true } );\n }, this );\n }\n}", "\nexport default class DuplicateContextError extends Error {}", "\n/**\n * @imports\n */\nimport _DOMContextRequestEvent from './_DOMContextRequestEvent.js';\nimport DOMContextResponse from './DOMContextResponse.js';\nimport DOMContext from './DOMContext.js';\nimport DuplicateContextError from './DuplicateContextError.js';\nimport { _wq } from '../util.js';\n\nconst waitListMappings = new Map;\nexport default class DOMContexts {\n\n /**\n * @instance\n */\n static instance( host ) {\n return _wq( host ).get( 'contexts::instance' ) || new this( host );;\n }\n\n /**\n * @constructor\n */\n constructor( host ) {\n _wq( host ).get( `contexts::instance` )?.dispose();\n _wq( host ).set( `contexts::instance`, this );\n const priv = { host, contexts: new Set };\n Object.defineProperty( this, '#', { get: () => priv } );\n }\n\n /**\n * @Symbol.iterator\n */\n [ Symbol.iterator ] () { return this[ '#' ].contexts[ Symbol.iterator ](); }\n\n /**\n * @length\n */\n get length() { return this[ '#' ].contexts.size; }\n\n /**\n * @find()\n */\n find( ...args ) {\n return [ ...this[ '#' ].contexts ].find( ctx => {\n if ( typeof args[ 0 ] === 'function' ) return args[ 0 ]( ctx );\n return ctx.constructor.kind === args[ 0 ] && ( !args[ 1 ] || ctx.detail === args[ 1 ] );\n } );\n }\n\n /**\n * @attach()\n */\n attach( ctx ) {\n if ( !( ctx instanceof DOMContext) ) throw new TypeError( `Context is not a valid DOMContext instance.` );\n if ( this.find( ctx.constructor.kind, ctx.detail ) ) {\n throw new DuplicateContextError( `Context of same kind \"${ ctx.constructor.kind }\"${ ctx.detail ? ` and detail \"${ ctx.detail }\"` : '' } already exists.` );\n }\n this[ '#' ].contexts.add( ctx );\n ctx.initialize( this[ '#' ].host );\n }\n\n /**\n * @detach()\n */\n detach( ctx ) {\n ctx.dispose( this[ '#' ].host );\n this[ '#' ].contexts.delete( ctx );\n }\n\n /**\n * @request()\n */\n request( ...args ) {\n return new DOMContextResponse( ( emitter, responseInstance ) => {\n if ( typeof args[ args.length - 1 ] !== 'function' ) {\n if ( !args[ args.length - 1 ] ) { args[ args.length - 1 ] = emitter; }\n else { args.push( emitter ); }\n }\n\n let options;\n if ( ( options = args.find( arg => typeof arg === 'object' && arg ) ) && options.live ) {\n if ( options.signal ) options.signal.addEventListener( 'abort', () => responseInstance.abort() );\n args[ args.indexOf( options ) ] = { ...options, signal: responseInstance.signal };\n }\n const event = new ( _DOMContextRequestEvent() )( ...args );\n this[ '#' ].host.dispatchEvent( event );\n } );\n }\n\n}", "\n/**\n * @imports\n */\nimport DOMContexts from './DOMContexts.js';\nimport { env } from '../util.js';\n\nexport default class DOMContext {\n\n /**\n * To be implemented by subclasses\n */\n static kind;\n\n /**\n * @createRequest\n */\n static createRequest() { return { kind: this.kind }; }\n \n /**\n * @constructor\n */\n constructor( detail = null ) {\n Object.defineProperty( this, 'detail', { get: () => detail } );\n Object.defineProperty( this, 'subscriptions', { value: new Set } );\n }\n\n /**\n * @configs\n */\n get configs() {\n const { window: { webqit: { oohtml: { configs } } } } = env;\n return configs;\n }\n\n /**\n * @name\n */\n get name() { return [ env.window.Document, env.window.ShadowRoot ].some( x => this.host instanceof x ) ? Infinity : this.host.getAttribute( this.configs.CONTEXT_API.attr.contextname ); }\n\n /**\n * @subscribed()\n */\n subscribed( event ) {}\n\n /**\n * @handle()\n */\n handle( event ) {}\n\n /**\n * @unsubscribed()\n */\n unsubscribed( event ) {}\n\n /**\n * @matchEvent\n */\n matchEvent( event ) {\n return event.kind === this.constructor.kind\n && ( !event.targetContext || event.targetContext === this.name );\n }\n\n /**\n * @handleEvent()\n */\n handleEvent( event ) {\n if ( this.disposed || typeof event.respondWith !== 'function' ) return;\n if ( event.type === 'contextclaim' ) {\n if ( !( event.detail instanceof DOMContext ) || event.target === this.host ) return;\n const claims = new Set;\n this.subscriptions.forEach( subscriptionEvent => {\n if ( !event.target.contains( subscriptionEvent.target ) || !event.detail.matchEvent( subscriptionEvent ) ) return;\n this.subscriptions.delete( subscriptionEvent );\n this.unsubscribed( subscriptionEvent );\n claims.add( subscriptionEvent );\n } );\n if ( claims.size ) { return event.respondWith( claims ); }\n }\n if ( event.type === 'contextrequest' ) {\n if ( !this.matchEvent( event ) ) return;\n if ( event.live ) {\n this.subscriptions.add( event );\n this.subscribed( event );\n event.signal?.addEventListener( 'abort', () => {\n this.subscriptions.delete( event );\n this.unsubscribed( event );\n } );\n }\n event.stopPropagation();\n return this.handle( event );\n }\n }\n\n /**\n * @initialize()\n */\n initialize( host ) {\n this.host = host;\n this.disposed = false;\n host.addEventListener( 'contextrequest', this );\n host.addEventListener( 'contextclaim', this );\n const { value: claims } = DOMContexts.instance( host ).request( 'contextclaim', { kind: this.constructor.kind, detail: this } );\n claims?.forEach( subscriptionEvent => {\n this.subscriptions.add( subscriptionEvent );\n this.subscribed( subscriptionEvent );\n this.handle( subscriptionEvent );\n } );\n return this;\n }\n \n /**\n * @dispose()\n */\n dispose( host ) {\n this.disposed = true;\n host.removeEventListener( 'contextrequest', this );\n host.removeEventListener( 'contextclaim', this );\n this.subscriptions.forEach( subscriptionEvent => {\n this.subscriptions.delete( subscriptionEvent );\n this.unsubscribed( subscriptionEvent );\n const { target } = subscriptionEvent;\n subscriptionEvent.meta.answered = false;\n target.dispatchEvent( subscriptionEvent );\n } );\n return this;\n }\n\n}", "\n/**\n * @imports\n */\nimport DOMContext from '../context-api/DOMContext.js';\nimport { env } from '../util.js';\n\nexport default class DOMBindingsContext extends DOMContext {\n\n static kind = 'bindings';\n\n /**\n * @createRequest\n */\n static createRequest( detail = null ) {\n const request = super.createRequest();\n if ( detail?.startsWith( '@' ) ) {\n const [ targetContext, ...detail ] = detail.slice( 1 ).split( '.' ).map( s => s.trim() );\n request.targetContext = targetContext;\n request.detail = detail.join( '.' );\n } else { request.detail = detail; }\n return request;\n }\n\n /**\n * @bindingsObj\n */\n get bindingsObj() { return this.host[ this.configs.BINDINGS_API.api.bindings ]; }\n\n /**\n * @matchesEvent\n */\n matchEvent( event ) {\n return super.matchEvent( event )\n && ( !event.detail || !this.detail || ( Array.isArray( event.detail ) ? event.detail[ 0 ] === this.detail : event.detail === this.detail ) );\n }\n\n /**\n * @handle()\n */\n handle( event ) {\n // Any existing event.meta.controller? Abort!\n event.meta.controller?.abort();\n if ( !( event.detail + '' ).trim() ) return event.respondWith( this.bindingsObj );\n const { window: { webqit: { Observer } } } = env;\n event.meta.controller = Observer.reduce( this.bindingsObj, Array.isArray( event.detail ) ? event.detail : [ event.detail ], Observer.get, descriptor => {\n if ( this.disposed ) return; // If already scheduled but aborted as in provider unmounting\n event.respondWith( descriptor.value );\n }, { live: event.live, signal: event.signal, descripted: true } );\n }\n\n /**\n * @unsubscribed()\n */\n unsubscribed( event ) { event.meta.controller?.abort(); }\n}\n", "\n/**\n * @imports\n */\nimport DOMBindingsContext from './DOMBindingsContext.js';\nimport { _wq, _init, _splitOuter } from '../util.js';\n\n/**\n * @init\n * \n * @param Object $config\n */\nexport default function init( $config = {} ) {\n const { config, window } = _init.call( this, 'bindings-api', $config, {\n attr: { bindingsreflection: 'bindings' },\n api: { bind: 'bind', bindings: 'bindings', },\n } );\n window.webqit.DOMBindingsContext = DOMBindingsContext;\n exposeAPIs.call( window, config );\n realtime.call(window, config);\n}\n\n/**\n * @Defs\n * \n * The internal bindings object\n * within elements and the document object.\n */\nfunction getBindings( config, node ) {\n const window = this, { webqit: { Observer, oohtml: { configs: { CONTEXT_API: ctxConfig } } } } = window;\n\tif ( !_wq( node ).has( 'bindings' ) ) {\n\t\tconst bindingsObj = Object.create( null );\n\t\t_wq( node ).set( 'bindings', bindingsObj );\n Observer.observe( bindingsObj, mutations => {\n if ( node instanceof window.Element ) {\n const bindingsParse = parseBindingsAttr( node.getAttribute( config.attr.bindingsreflection ) || '' );\n const bindingsParseBefore = new Map(bindingsParse);\n for ( const m of mutations ) {\n if ( m.detail?.publish !== false ) {\n if ( m.type === 'delete' ) bindingsParse.delete( m.key );\n else bindingsParse.set( m.key, undefined );\n }\n }\n if ( bindingsParse.size && bindingsParse.size !== bindingsParseBefore.size ) {\n node.setAttribute( config.attr.bindingsreflection, `{ ${ [ ...bindingsParse.entries() ].map(([ key, value ]) => value === undefined ? key : `${ key }: ${ value }` ).join( ', ' ) } }` );\n } else if ( !bindingsParse.size ) node.toggleAttribute( config.attr.bindingsreflection, false );\n } else {\n const contextsApi = node[ ctxConfig.api.contexts ];\n for ( const m of mutations ) {\n if ( m.type === 'delete' ) {\n const ctx = contextsApi.find( DOMBindingsContext.kind, m.key );\n if ( ctx ) contextsApi.detach( ctx );\n } else if ( !contextsApi.find( DOMBindingsContext.kind, m.key ) ) {\n contextsApi.attach( new DOMBindingsContext( m.key ) );\n }\n }\n }\n } );\n\t}\n\treturn _wq( node ).get( 'bindings' );\n}\n\n/**\n * Exposes Bindings with native APIs.\n *\n * @param Object config\n *\n * @return Void\n */\nfunction exposeAPIs( config ) {\n\tconst window = this, { webqit: { Observer } } = window;\n // The Bindings APIs\n [ window.Document.prototype, window.Element.prototype, window.ShadowRoot.prototype ].forEach( prototype => {\n // No-conflict assertions\n const type = prototype === window.Document.prototype ? 'Document' : ( prototype === window.ShadowRoot.prototype ? 'ShadowRoot' : 'Element' );\n if ( config.api.bind in prototype ) { throw new Error( `The ${ type } prototype already has a \"${ config.api.bind }\" API!` ); }\n if ( config.api.bindings in prototype ) { throw new Error( `The ${ type } prototype already has a \"${ config.api.bindings }\" API!` ); }\n // Definitions\n Object.defineProperty( prototype, config.api.bind, { value: function( bindings, options = {} ) {\n return applyBindings.call( window, config, this, bindings, options );\n } });\n Object.defineProperty( prototype, config.api.bindings, { get: function() {\n return Observer.proxy( getBindings.call( window, config, this ) );\n } } );\n } );\n}\n\n/**\n * Exposes Bindings with native APIs.\n *\n * @param Object config\n * @param document|Element target\n * @param Object bindings\n * @param Object params\n *\n * @return Void\n */\nfunction applyBindings( config, target, bindings, { merge, diff, publish, namespace } = {} ) {\n const window = this, { webqit: { Observer } } = window;\n const bindingsObj = getBindings.call( this, config, target );\n const $params = { diff, namespace, detail: { publish } };\n const exitingKeys = merge ? [] : Object.keys( bindingsObj ).filter( key => !( key in bindings ) );\n return Observer.batch( bindingsObj, () => {\n if ( exitingKeys.length ) { Observer.deleteProperties( bindingsObj, exitingKeys, $params ); }\n return Observer.set( bindingsObj, bindings, $params );\n }, $params );\n}\n\n/**\n * Performs realtime capture of elements and their attributes\n * and their module query results; then resolves the respective import elements.\n *\n * @param Object config\n *\n * @return Void\n */\nfunction realtime(config) {\n const window = this, { webqit: { realdom, Observer, oohtml: { configs } } } = window;\n // ------------\n const attachBindingsContext = (host, key) => {\n const contextsApi = host[configs.CONTEXT_API.api.contexts];\n if ( !contextsApi.find( DOMBindingsContext.kind, key ) ) {\n contextsApi.attach( new DOMBindingsContext( key ) );\n }\n };\n const detachBindingsContext = (host, key) => {\n let ctx, contextsApi = host[configs.CONTEXT_API.api.contexts];\n while( ctx = contextsApi.find( DOMBindingsContext.kind, key ) ) contextsApi.detach(ctx);\n };\n // ------------\n realdom.realtime(window.document).query( `[${window.CSS.escape(config.attr.bindingsreflection)}]`, record => {\n record.exits.forEach( entry => detachBindingsContext( entry ) );\n record.entrants.forEach(entry => {\n const bindingsParse = parseBindingsAttr( entry.getAttribute( config.attr.bindingsreflection ) || '' );\n const newData = [ ...bindingsParse.entries() ].filter(([ k, v ]) => v !== undefined );\n if ( newData.length ) entry[ config.api.bind ]( Object.fromEntries( newData ), { merge: true, publish: false } );\n for ( const [ key ] of bindingsParse ) {\n attachBindingsContext( entry, key );\n }\n } );\n }, { id: 'bindings:dom', live: true, subtree: 'cross-roots', timing: 'sync', eventDetails: true });\n\trealdom.realtime( window.document, 'attr' ).observe( config.attr.bindingsreflection, record => {\n const bindingsObj = getBindings.call( window, config, record.target );\n const bindingsParse = parseBindingsAttr( record.value || '' );\n const oldBindings = parseBindingsAttr( record.oldValue || '' );\n for ( const key of new Set([ ...bindingsParse.keys(), ...oldBindings.keys() ]) ) {\n if ( !oldBindings.has( key ) ) {\n if ( bindingsParse.get( key ) !== undefined ) Observer.set( bindingsObj, key, bindingsParse.get( key ), { detail: { publish: false } } );\n attachBindingsContext( record.target, key );\n } else if ( !bindingsParse.has( key ) ) {\n if ( oldBindings.get( key ) !== undefined ) Observer.deleteProperty( bindingsObj, key, { detail: { publish: false } } );\n detachBindingsContext( record.target, key );\n } else if ( bindingsParse.get( key ) !== oldBindings.get( key ) ) {\n Observer.set( bindingsObj, key, bindingsParse.get( key ), { detail: { publish: false } } );\n }\n }\n\t}, { id: 'bindings:attr', subtree: 'cross-roots', timing: 'sync', newValue: true, oldValue: true } );\n}\n\nconst parseBindingsAttr = str => {\n str = str.trim();\n return new Map(_splitOuter( str.slice(1, -1), ',' ).filter( s => s.trim() ).map( _str => {\n return _splitOuter( _str, ':' ).map( s => s.trim() );\n }));\n};\n", "\n/**\n * @imports\n */\nimport init from './index.js';\n\n/**\n * @init\n */\ninit.call( window );\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }