@tko/utils.component
Advanced tools
| /*! | ||
| * Registry and loading utilities for web components 🥊 @tko/utils.component@4.0.0-alpha8.0 | ||
| * Registry and loading utilities for web components 🥊 @tko/utils.component@4.0.0-alpha8.1 | ||
| * (c) The Knockout.js Team - https://tko.io | ||
@@ -459,2 +459,3 @@ * License: MIT (http://www.opensource.org/licenses/mit-license.php) | ||
| export default index; | ||
| export { ComponentABC }; | ||
| //# sourceMappingURL=utils.component.es6.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"utils.component.es6.js","sources":["../src/registry.js","../src/loaders.js","../src/ComponentABC.js","../src/index.js"],"sourcesContent":["\nimport {\n subscribable, dependencyDetection\n} from '@tko/observable'\n\nimport {\n getObjectOwnProperty, tasks\n} from '@tko/utils'\n\nvar loadingSubscribablesCache = {}, // Tracks component loads that are currently in flight\n loadedDefinitionsCache = {} // Tracks component loads that have already completed\n\nfunction loadComponentAndNotify (componentName, callback) {\n var _subscribable = getObjectOwnProperty(loadingSubscribablesCache, componentName),\n completedAsync\n if (!_subscribable) {\n // It's not started loading yet. Start loading, and when it's done, move it to loadedDefinitionsCache.\n _subscribable = loadingSubscribablesCache[componentName] = new subscribable()\n _subscribable.subscribe(callback)\n\n beginLoadingComponent(componentName, function (definition, config) {\n var isSynchronousComponent = !!(config && config.synchronous)\n loadedDefinitionsCache[componentName] = { definition: definition, isSynchronousComponent: isSynchronousComponent }\n delete loadingSubscribablesCache[componentName]\n\n // For API consistency, all loads complete asynchronously. However we want to avoid\n // adding an extra task schedule if it's unnecessary (i.e., the completion is already\n // async).\n //\n // You can bypass the 'always asynchronous' feature by putting the synchronous:true\n // flag on your component configuration when you register it.\n if (completedAsync || isSynchronousComponent) {\n // Note that notifySubscribers ignores any dependencies read within the callback.\n // See comment in loaderRegistryBehaviors.js for reasoning\n _subscribable.notifySubscribers(definition)\n } else {\n tasks.schedule(function () {\n _subscribable.notifySubscribers(definition)\n })\n }\n })\n completedAsync = true\n } else {\n _subscribable.subscribe(callback)\n }\n}\n\nfunction beginLoadingComponent (componentName, callback) {\n getFirstResultFromLoaders('getConfig', [componentName], function (config) {\n if (config) {\n // We have a config, so now load its definition\n getFirstResultFromLoaders('loadComponent', [componentName, config], function (definition) {\n callback(definition, config)\n })\n } else {\n // The component has no config - it's unknown to all the loaders.\n // Note that this is not an error (e.g., a module loading error) - that would abort the\n // process and this callback would not run. For this callback to run, all loaders must\n // have confirmed they don't know about this component.\n callback(null, null)\n }\n })\n}\n\nfunction getFirstResultFromLoaders (methodName, argsExceptCallback, callback, candidateLoaders) {\n // On the first call in the stack, start with the full set of loaders\n if (!candidateLoaders) {\n candidateLoaders = registry.loaders.slice(0) // Use a copy, because we'll be mutating this array\n }\n\n // Try the next candidate\n var currentCandidateLoader = candidateLoaders.shift()\n if (currentCandidateLoader) {\n var methodInstance = currentCandidateLoader[methodName]\n if (methodInstance) {\n var wasAborted = false,\n synchronousReturnValue = methodInstance.apply(currentCandidateLoader, argsExceptCallback.concat(function (result) {\n if (wasAborted) {\n callback(null)\n } else if (result !== null) {\n // This candidate returned a value. Use it.\n callback(result)\n } else {\n // Try the next candidate\n getFirstResultFromLoaders(methodName, argsExceptCallback, callback, candidateLoaders)\n }\n }))\n\n // Currently, loaders may not return anything synchronously. This leaves open the possibility\n // that we'll extend the API to support synchronous return values in the future. It won't be\n // a breaking change, because currently no loader is allowed to return anything except undefined.\n if (synchronousReturnValue !== undefined) {\n wasAborted = true\n\n // Method to suppress exceptions will remain undocumented. This is only to keep\n // KO's specs running tidily, since we can observe the loading got aborted without\n // having exceptions cluttering up the console too.\n if (!currentCandidateLoader.suppressLoaderExceptions) {\n throw new Error('Component loaders must supply values by invoking the callback, not by returning values synchronously.')\n }\n }\n } else {\n // This candidate doesn't have the relevant handler. Synchronously move on to the next one.\n getFirstResultFromLoaders(methodName, argsExceptCallback, callback, candidateLoaders)\n }\n } else {\n // No candidates returned a value\n callback(null)\n }\n}\n\nexport var registry = {\n get (componentName, callback) {\n var cachedDefinition = getObjectOwnProperty(loadedDefinitionsCache, componentName)\n if (cachedDefinition) {\n // It's already loaded and cached. Reuse the same definition object.\n // Note that for API consistency, even cache hits complete asynchronously by default.\n // You can bypass this by putting synchronous:true on your component config.\n if (cachedDefinition.isSynchronousComponent) {\n dependencyDetection.ignore(function () { // See comment in loaderRegistryBehaviors.js for reasoning\n callback(cachedDefinition.definition)\n })\n } else {\n tasks.schedule(function () { callback(cachedDefinition.definition) })\n }\n } else {\n // Join the loading process that is already underway, or start a new one.\n loadComponentAndNotify(componentName, callback)\n }\n },\n\n clearCachedDefinition (componentName) {\n delete loadedDefinitionsCache[componentName]\n },\n\n _getFirstResultFromLoaders: getFirstResultFromLoaders,\n\n loaders: []\n}\n","\nimport {\n isDomElement, isDocumentFragment, tagNameLower, parseHtmlFragment,\n makeArray, cloneNodes, hasOwnProperty\n} from '@tko/utils'\n\nimport {registry} from './registry'\n\n// The default loader is responsible for two things:\n// 1. Maintaining the default in-memory registry of component configuration objects\n// (i.e., the thing you're writing to when you call ko.components.register(someName, ...))\n// 2. Answering requests for components by fetching configuration objects\n// from that default in-memory registry and resolving them into standard\n// component definition objects (of the form { createViewModel: ..., template: ... })\n// Custom loaders may override either of these facilities, i.e.,\n// 1. To supply configuration objects from some other source (e.g., conventions)\n// 2. Or, to resolve configuration objects by loading viewmodels/templates via arbitrary logic.\n\nexport var defaultConfigRegistry = {}\nexport const VIEW_MODEL_FACTORY = Symbol('Knockout View Model ViewModel factory')\n\nexport function register (componentName, config) {\n if (!config) {\n throw new Error('Invalid configuration for ' + componentName)\n }\n\n if (isRegistered(componentName)) {\n throw new Error('Component ' + componentName + ' is already registered')\n }\n\n const ceok = componentName.includes('-') && componentName.toLowerCase() === componentName\n\n if (!config.ignoreCustomElementWarning && !ceok) {\n console.log(`\n🥊 Knockout warning: components for custom elements must be lowercase and contain a dash. To ignore this warning, add to the 'config' of .register(componentName, config):\n\n ignoreCustomElementWarning: true\n `)\n }\n\n defaultConfigRegistry[componentName] = config\n}\n\nexport function isRegistered (componentName) {\n return hasOwnProperty(defaultConfigRegistry, componentName)\n}\n\nexport function unregister (componentName) {\n delete defaultConfigRegistry[componentName]\n registry.clearCachedDefinition(componentName)\n}\n\nexport var defaultLoader = {\n getConfig: function (componentName, callback) {\n var result = hasOwnProperty(defaultConfigRegistry, componentName)\n ? defaultConfigRegistry[componentName]\n : null\n callback(result)\n },\n\n loadComponent: function (componentName, config, callback) {\n var errorCallback = makeErrorCallback(componentName)\n possiblyGetConfigFromAmd(errorCallback, config, function (loadedConfig) {\n resolveConfig(componentName, errorCallback, loadedConfig, callback)\n })\n },\n\n loadTemplate: function (componentName, templateConfig, callback) {\n resolveTemplate(makeErrorCallback(componentName), templateConfig, callback)\n },\n\n loadViewModel: function (componentName, viewModelConfig, callback) {\n resolveViewModel(makeErrorCallback(componentName), viewModelConfig, callback)\n }\n}\n\nvar createViewModelKey = 'createViewModel'\n\n// Takes a config object of the form { template: ..., viewModel: ... }, and asynchronously convert it\n// into the standard component definition format:\n// { template: <ArrayOfDomNodes>, createViewModel: function(params, componentInfo) { ... } }.\n// Since both template and viewModel may need to be resolved asynchronously, both tasks are performed\n// in parallel, and the results joined when both are ready. We don't depend on any promises infrastructure,\n// so this is implemented manually below.\nfunction resolveConfig (componentName, errorCallback, config, callback) {\n var result = {},\n makeCallBackWhenZero = 2,\n tryIssueCallback = function () {\n if (--makeCallBackWhenZero === 0) {\n callback(result)\n }\n },\n templateConfig = config['template'],\n viewModelConfig = config['viewModel']\n\n if (templateConfig) {\n possiblyGetConfigFromAmd(errorCallback, templateConfig, function (loadedConfig) {\n registry._getFirstResultFromLoaders('loadTemplate', [componentName, loadedConfig], function (resolvedTemplate) {\n result['template'] = resolvedTemplate\n tryIssueCallback()\n })\n })\n } else {\n tryIssueCallback()\n }\n\n if (viewModelConfig) {\n possiblyGetConfigFromAmd(errorCallback, viewModelConfig, function (loadedConfig) {\n registry._getFirstResultFromLoaders('loadViewModel', [componentName, loadedConfig], function (resolvedViewModel) {\n result[createViewModelKey] = resolvedViewModel\n tryIssueCallback()\n })\n })\n } else {\n tryIssueCallback()\n }\n}\n\nfunction resolveTemplate (errorCallback, templateConfig, callback) {\n if (typeof templateConfig === 'string') {\n // Markup - parse it\n callback(parseHtmlFragment(templateConfig))\n } else if (templateConfig instanceof Array) {\n // Assume already an array of DOM nodes - pass through unchanged\n callback(templateConfig)\n } else if (isDocumentFragment(templateConfig)) {\n // Document fragment - use its child nodes\n callback(makeArray(templateConfig.childNodes))\n } else if (templateConfig.element) {\n var element = templateConfig.element\n if (isDomElement(element)) {\n // Element instance - copy its child nodes\n callback(cloneNodesFromTemplateSourceElement(element))\n } else if (typeof element === 'string') {\n // Element ID - find it, then copy its child nodes\n var elemInstance = document.getElementById(element)\n if (elemInstance) {\n callback(cloneNodesFromTemplateSourceElement(elemInstance))\n } else {\n errorCallback('Cannot find element with ID ' + element)\n }\n } else {\n errorCallback('Unknown element type: ' + element)\n }\n } else if (templateConfig.elementName) {\n // JSX in the style of babel-plugin-transform-jsx\n callback(templateConfig)\n } else {\n errorCallback('Unknown template value: ' + templateConfig)\n }\n}\n\nfunction resolveViewModel (errorCallback, viewModelConfig, callback) {\n if (viewModelConfig[VIEW_MODEL_FACTORY]) {\n callback((...args) => viewModelConfig[VIEW_MODEL_FACTORY](...args))\n } else if (typeof viewModelConfig === 'function') {\n // Constructor - convert to standard factory function format\n // By design, this does *not* supply componentInfo to the constructor, as the intent is that\n // componentInfo contains non-viewmodel data (e.g., the component's element) that should only\n // be used in factory functions, not viewmodel constructors.\n callback(function (params /*, componentInfo */) {\n return new viewModelConfig(params)\n })\n } else if (typeof viewModelConfig[createViewModelKey] === 'function') {\n // Already a factory function - use it as-is\n callback(viewModelConfig[createViewModelKey])\n } else if ('instance' in viewModelConfig) {\n // Fixed object instance - promote to createViewModel format for API consistency\n var fixedInstance = viewModelConfig['instance']\n callback(function (/* params, componentInfo */) {\n return fixedInstance\n })\n } else if ('viewModel' in viewModelConfig) {\n // Resolved AMD module whose value is of the form { viewModel: ... }\n resolveViewModel(errorCallback, viewModelConfig['viewModel'], callback)\n } else {\n errorCallback('Unknown viewModel value: ' + viewModelConfig)\n }\n}\n\nfunction cloneNodesFromTemplateSourceElement (elemInstance) {\n switch (tagNameLower(elemInstance)) {\n case 'script':\n return parseHtmlFragment(elemInstance.text)\n case 'textarea':\n return parseHtmlFragment(elemInstance.value)\n case 'template':\n // For browsers with proper <template> element support (i.e., where the .content property\n // gives a document fragment), use that document fragment.\n if (isDocumentFragment(elemInstance.content)) {\n return cloneNodes(elemInstance.content.childNodes)\n }\n }\n\n // Regular elements such as <div>, and <template> elements on old browsers that don't really\n // understand <template> and just treat it as a regular container\n return cloneNodes(elemInstance.childNodes)\n}\n\nfunction possiblyGetConfigFromAmd (errorCallback, config, callback) {\n if (typeof config.require === 'string') {\n // The config is the value of an AMD module\n if (window.amdRequire || window.require) {\n (window.amdRequire || window.require)([config.require], callback)\n } else {\n errorCallback('Uses require, but no AMD loader is present')\n }\n } else {\n callback(config)\n }\n}\n\nfunction makeErrorCallback (componentName) {\n return function (message) {\n throw new Error('Component \\'' + componentName + '\\': ' + message)\n }\n}\n\n// By default, the default loader is the only registered component loader\nregistry.loaders.push(defaultLoader)\n","/**\n * Component --- Abstract Base Class\n *\n * This simplifies and compartmentalizes Components. Use this:\n *\n * class CompX extends ComponentABC {\n * \tstatic get element () { return 'comp-x-id' }\n * \tstatic get sync () { return false }\n * \tstatic get elementName () { return 'comp-x' }\n * }\n * CompX.register()\n *\n * instead of:\n *\n * class CompX {}\n *\n * ko.components.register('comp-x', {\n * viewModel: CompX,\n * synchronous: false,\n * template: { element: 'comp-x' }\n * })\n *\n * As well, gain all the benefits of a LifeCycle, namely automated\n * event and subscription addition/removal.\n *\n * NOTE: A Component created this way can add events to the component node\n * with `this.addEventListener(type, action)`.\n */\nimport {LifeCycle} from '@tko/lifecycle'\nimport {register, VIEW_MODEL_FACTORY} from './loaders'\n\nexport class ComponentABC extends LifeCycle {\n\t/**\n * The tag name of the custom element. For example 'my-component'.\n * By default converts the class name from camel case to kebab case.\n\t * @return {string} The custom node name of this component.\n\t */\n static get customElementName () {\n return this.name.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase()\n }\n\n\t/**\n\t * Overload this to return:\n\t * 1. A string of markup\n\t * 2. An array of DOM nodes\n\t * 3. A document fragment\n\t * 4. An AMD module (with `{require: 'some/template'}`)\n\t * @return {mixed} One of the accepted template types for the ComponentBinding.\n\t */\n static get template () {\n if ('template' in this.prototype) { return }\n return { element: this.element }\n }\n\n\t/**\n\t * This is called by the default `template`. Overload this to return:\n\t * 1. The element ID\n\t * 2. A DOM node itself\n\t * @return {string|HTMLElement} either the element ID or actual element.\n\t */\n static get element () {\n throw new Error('[ComponentABC] `element` must be overloaded.')\n }\n\n\t/**\n\t * @return {bool} True if the component shall load synchronously\n\t */\n static get sync () { return true }\n\n /**\n * Construct a new instance of the model. When using ComponentABC as a\n * base class, we do pass in the $element and $componentTemplateNodes.\n * @param {Object} params\n * @param {{element: HTMLElement, templateNodes: [HTMLElement]}} componentInfo\n */\n static [VIEW_MODEL_FACTORY] (params, componentInfo) {\n return new this(params, componentInfo)\n }\n\n static register (name = this.customElementName) {\n const viewModel = this\n const {template} = this\n const synchronous = this.sync\n register(name, { viewModel, template, synchronous })\n }\n}\n","\nimport {registry} from './registry'\n\nimport { ComponentABC } from './ComponentABC'\n\nimport {\n register,\n isRegistered,\n unregister,\n defaultLoader,\n defaultConfigRegistry\n} from './loaders'\n\nexport default {\n ComponentABC,\n // -- Registry --\n get: registry.get,\n clearCachedDefinition: registry.clearCachedDefinition,\n\n // -- Loader --\n register,\n isRegistered,\n unregister,\n defaultLoader,\n // \"Privately\" expose the underlying config registry for use in old-IE shim\n _allRegisteredComponents: defaultConfigRegistry,\n\n get loaders () { return registry.loaders },\n set loaders (loaders) { registry.loaders = loaders }\n}\n"],"names":[],"mappings":";;;;;;;;;;AASA,IAAI,yBAAyB,GAAG,EAAE;EAChC,sBAAsB,GAAG,GAAE;;AAE7B,SAAS,sBAAsB,EAAE,aAAa,EAAE,QAAQ,EAAE;EACxD,IAAI,aAAa,GAAG,oBAAoB,CAAC,yBAAyB,EAAE,aAAa,CAAC;IAChF,eAAc;EAChB,IAAI,CAAC,aAAa,EAAE;;IAElB,aAAa,GAAG,yBAAyB,CAAC,aAAa,CAAC,GAAG,IAAI,YAAY,GAAE;IAC7E,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAC;;IAEjC,qBAAqB,CAAC,aAAa,EAAE,UAAU,UAAU,EAAE,MAAM,EAAE;MACjE,IAAI,sBAAsB,GAAG,CAAC,EAAE,MAAM,IAAI,MAAM,CAAC,WAAW,EAAC;MAC7D,sBAAsB,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,sBAAsB,EAAE,sBAAsB,GAAE;MAClH,OAAO,yBAAyB,CAAC,aAAa,EAAC;;;;;;;;MAQ/C,IAAI,cAAc,IAAI,sBAAsB,EAAE;;;QAG5C,aAAa,CAAC,iBAAiB,CAAC,UAAU,EAAC;OAC5C,MAAM;QACL,KAAK,CAAC,QAAQ,CAAC,YAAY;UACzB,aAAa,CAAC,iBAAiB,CAAC,UAAU,EAAC;SAC5C,EAAC;OACH;KACF,EAAC;IACF,cAAc,GAAG,KAAI;GACtB,MAAM;IACL,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAC;GAClC;CACF;;AAED,SAAS,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE;EACvD,yBAAyB,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,UAAU,MAAM,EAAE;IACxE,IAAI,MAAM,EAAE;;MAEV,yBAAyB,CAAC,eAAe,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,UAAU,UAAU,EAAE;QACxF,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAC;OAC7B,EAAC;KACH,MAAM;;;;;MAKL,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAC;KACrB;GACF,EAAC;CACH;;AAED,SAAS,yBAAyB,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,gBAAgB,EAAE;;EAE9F,IAAI,CAAC,gBAAgB,EAAE;IACrB,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAC;GAC7C;;;EAGD,IAAI,sBAAsB,GAAG,gBAAgB,CAAC,KAAK,GAAE;EACrD,IAAI,sBAAsB,EAAE;IAC1B,IAAI,cAAc,GAAG,sBAAsB,CAAC,UAAU,EAAC;IACvD,IAAI,cAAc,EAAE;MAClB,IAAI,UAAU,GAAG,KAAK;QACpB,sBAAsB,GAAG,cAAc,CAAC,KAAK,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,MAAM,CAAC,UAAU,MAAM,EAAE;UAChH,IAAI,UAAU,EAAE;YACd,QAAQ,CAAC,IAAI,EAAC;WACf,MAAM,IAAI,MAAM,KAAK,IAAI,EAAE;;YAE1B,QAAQ,CAAC,MAAM,EAAC;WACjB,MAAM;;YAEL,yBAAyB,CAAC,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,gBAAgB,EAAC;WACtF;SACF,CAAC,EAAC;;;;;MAKL,IAAI,sBAAsB,KAAK,SAAS,EAAE;QACxC,UAAU,GAAG,KAAI;;;;;QAKjB,IAAI,CAAC,sBAAsB,CAAC,wBAAwB,EAAE;UACpD,MAAM,IAAI,KAAK,CAAC,uGAAuG,CAAC;SACzH;OACF;KACF,MAAM;;MAEL,yBAAyB,CAAC,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,gBAAgB,EAAC;KACtF;GACF,MAAM;;IAEL,QAAQ,CAAC,IAAI,EAAC;GACf;CACF;;AAED,IAAW,QAAQ,GAAG;EACpB,GAAG,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE;IAC5B,IAAI,gBAAgB,GAAG,oBAAoB,CAAC,sBAAsB,EAAE,aAAa,EAAC;IAClF,IAAI,gBAAgB,EAAE;;;;MAIpB,IAAI,gBAAgB,CAAC,sBAAsB,EAAE;QAC3C,mBAAmB,CAAC,MAAM,CAAC,YAAY;UACrC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAC;SACtC,EAAC;OACH,MAAM;QACL,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAC,EAAE,EAAC;OACtE;KACF,MAAM;;MAEL,sBAAsB,CAAC,aAAa,EAAE,QAAQ,EAAC;KAChD;GACF;;EAED,qBAAqB,CAAC,CAAC,aAAa,EAAE;IACpC,OAAO,sBAAsB,CAAC,aAAa,EAAC;GAC7C;;EAED,0BAA0B,EAAE,yBAAyB;;EAErD,OAAO,EAAE,EAAE;CACZ;;AClID;;;;;;;;;;AAUA,IAAW,qBAAqB,GAAG,GAAE;AACrC,MAAa,kBAAkB,GAAG,MAAM,CAAC,uCAAuC,EAAC;;AAEjF,SAAgB,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE;EAC/C,IAAI,CAAC,MAAM,EAAE;IACX,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,aAAa,CAAC;GAC9D;;EAED,IAAI,YAAY,CAAC,aAAa,CAAC,EAAE;IAC/B,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,aAAa,GAAG,wBAAwB,CAAC;GACzE;;EAED,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,WAAW,EAAE,KAAK,cAAa;;EAEzF,IAAI,CAAC,MAAM,CAAC,0BAA0B,IAAI,CAAC,IAAI,EAAE;IAC/C,OAAO,CAAC,GAAG,CAAC,CAAC;;;;IAIb,CAAC,EAAC;GACH;;EAED,qBAAqB,CAAC,aAAa,CAAC,GAAG,OAAM;CAC9C;;AAED,SAAgB,YAAY,EAAE,aAAa,EAAE;EAC3C,OAAO,cAAc,CAAC,qBAAqB,EAAE,aAAa,CAAC;CAC5D;;AAED,SAAgB,UAAU,EAAE,aAAa,EAAE;EACzC,OAAO,qBAAqB,CAAC,aAAa,EAAC;EAC3C,QAAQ,CAAC,qBAAqB,CAAC,aAAa,EAAC;CAC9C;;AAED,IAAW,aAAa,GAAG;EACzB,SAAS,EAAE,UAAU,aAAa,EAAE,QAAQ,EAAE;IAC5C,IAAI,MAAM,GAAG,cAAc,CAAC,qBAAqB,EAAE,aAAa,CAAC;cACvD,qBAAqB,CAAC,aAAa,CAAC;cACpC,KAAI;IACd,QAAQ,CAAC,MAAM,EAAC;GACjB;;EAED,aAAa,EAAE,UAAU,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE;IACxD,IAAI,aAAa,GAAG,iBAAiB,CAAC,aAAa,EAAC;IACpD,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,YAAY,EAAE;MACtE,aAAa,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAC;KACpE,EAAC;GACH;;EAED,YAAY,EAAE,UAAU,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE;IAC/D,eAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAC;GAC5E;;EAED,aAAa,EAAE,UAAU,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE;IACjE,gBAAgB,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAC;GAC9E;EACF;;AAED,IAAI,kBAAkB,GAAG,kBAAiB;;;;;;;;AAQ1C,SAAS,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE;EACtE,IAAI,MAAM,GAAG,EAAE;IACb,oBAAoB,GAAG,CAAC;IACxB,gBAAgB,GAAG,YAAY;MAC7B,IAAI,EAAE,oBAAoB,KAAK,CAAC,EAAE;QAChC,QAAQ,CAAC,MAAM,EAAC;OACjB;KACF;IACD,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;IACnC,eAAe,GAAG,MAAM,CAAC,WAAW,EAAC;;EAEvC,IAAI,cAAc,EAAE;IAClB,wBAAwB,CAAC,aAAa,EAAE,cAAc,EAAE,UAAU,YAAY,EAAE;MAC9E,QAAQ,CAAC,0BAA0B,CAAC,cAAc,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,UAAU,gBAAgB,EAAE;QAC7G,MAAM,CAAC,UAAU,CAAC,GAAG,iBAAgB;QACrC,gBAAgB,GAAE;OACnB,EAAC;KACH,EAAC;GACH,MAAM;IACL,gBAAgB,GAAE;GACnB;;EAED,IAAI,eAAe,EAAE;IACnB,wBAAwB,CAAC,aAAa,EAAE,eAAe,EAAE,UAAU,YAAY,EAAE;MAC/E,QAAQ,CAAC,0BAA0B,CAAC,eAAe,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,UAAU,iBAAiB,EAAE;QAC/G,MAAM,CAAC,kBAAkB,CAAC,GAAG,kBAAiB;QAC9C,gBAAgB,GAAE;OACnB,EAAC;KACH,EAAC;GACH,MAAM;IACL,gBAAgB,GAAE;GACnB;CACF;;AAED,SAAS,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE;EACjE,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;;IAEtC,QAAQ,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAC;GAC5C,MAAM,IAAI,cAAc,YAAY,KAAK,EAAE;;IAE1C,QAAQ,CAAC,cAAc,EAAC;GACzB,MAAM,IAAI,kBAAkB,CAAC,cAAc,CAAC,EAAE;;IAE7C,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,EAAC;GAC/C,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE;IACjC,IAAI,OAAO,GAAG,cAAc,CAAC,QAAO;IACpC,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE;;MAEzB,QAAQ,CAAC,mCAAmC,CAAC,OAAO,CAAC,EAAC;KACvD,MAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;;MAEtC,IAAI,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAC;MACnD,IAAI,YAAY,EAAE;QAChB,QAAQ,CAAC,mCAAmC,CAAC,YAAY,CAAC,EAAC;OAC5D,MAAM;QACL,aAAa,CAAC,8BAA8B,GAAG,OAAO,EAAC;OACxD;KACF,MAAM;MACL,aAAa,CAAC,wBAAwB,GAAG,OAAO,EAAC;KAClD;GACF,MAAM,IAAI,cAAc,CAAC,WAAW,EAAE;;IAErC,QAAQ,CAAC,cAAc,EAAC;GACzB,MAAM;IACL,aAAa,CAAC,0BAA0B,GAAG,cAAc,EAAC;GAC3D;CACF;;AAED,SAAS,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE;EACnE,IAAI,eAAe,CAAC,kBAAkB,CAAC,EAAE;IACvC,QAAQ,CAAC,CAAC,GAAG,IAAI,KAAK,eAAe,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC,EAAC;GACpE,MAAM,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE;;;;;IAKhD,QAAQ,CAAC,UAAU,MAAM,uBAAuB;MAC9C,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC;KACnC,EAAC;GACH,MAAM,IAAI,OAAO,eAAe,CAAC,kBAAkB,CAAC,KAAK,UAAU,EAAE;;IAEpE,QAAQ,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAC;GAC9C,MAAM,IAAI,UAAU,IAAI,eAAe,EAAE;;IAExC,IAAI,aAAa,GAAG,eAAe,CAAC,UAAU,EAAC;IAC/C,QAAQ,CAAC,uCAAuC;MAC9C,OAAO,aAAa;KACrB,EAAC;GACH,MAAM,IAAI,WAAW,IAAI,eAAe,EAAE;;IAEzC,gBAAgB,CAAC,aAAa,EAAE,eAAe,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAC;GACxE,MAAM;IACL,aAAa,CAAC,2BAA2B,GAAG,eAAe,EAAC;GAC7D;CACF;;AAED,SAAS,mCAAmC,EAAE,YAAY,EAAE;EAC1D,QAAQ,YAAY,CAAC,YAAY,CAAC;IAChC,KAAK,QAAQ;MACX,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC;IAC7C,KAAK,UAAU;MACb,OAAO,iBAAiB,CAAC,YAAY,CAAC,KAAK,CAAC;IAC9C,KAAK,UAAU;;;MAGb,IAAI,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;QAC5C,OAAO,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC;OACnD;GACJ;;;;EAID,OAAO,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC;CAC3C;;AAED,SAAS,wBAAwB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE;EAClE,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE;;IAEtC,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,EAAE;MACvC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAC;KAClE,MAAM;MACL,aAAa,CAAC,4CAA4C,EAAC;KAC5D;GACF,MAAM;IACL,QAAQ,CAAC,MAAM,EAAC;GACjB;CACF;;AAED,SAAS,iBAAiB,EAAE,aAAa,EAAE;EACzC,OAAO,UAAU,OAAO,EAAE;IACxB,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC;GACnE;CACF;;;AAGD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;;AC3NpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA;AAGA,MAAa,YAAY,SAAS,SAAS,CAAC;;;;;;EAM1C,WAAW,iBAAiB,CAAC,GAAG;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE;GACtE;;;;;;;;;;EAUD,WAAW,QAAQ,CAAC,GAAG;IACrB,IAAI,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE;IAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;GACjC;;;;;;;;EAQD,WAAW,OAAO,CAAC,GAAG;IACpB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC;GAChE;;;;;EAKD,WAAW,IAAI,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE;;;;;;;;EAQlC,QAAQ,kBAAkB,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE;IAClD,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC;GACvC;;EAED,OAAO,QAAQ,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE;IAC9C,MAAM,SAAS,GAAG,KAAI;IACtB,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAI;IACvB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAI;IAC7B,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAC;GACrD;CACF;;ACxED,YAAe;EACb,YAAY;;EAEZ,GAAG,EAAE,QAAQ,CAAC,GAAG;EACjB,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;;;EAGrD,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,aAAa;;EAEb,wBAAwB,EAAE,qBAAqB;;EAE/C,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,QAAQ,CAAC,OAAO,EAAE;EAC1C,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAO,EAAE;CACrD;;"} | ||
| {"version":3,"file":"utils.component.es6.js","sources":["../src/registry.js","../src/loaders.js","../src/ComponentABC.js","../src/index.js"],"sourcesContent":["\nimport {\n subscribable, dependencyDetection\n} from '@tko/observable'\n\nimport {\n getObjectOwnProperty, tasks\n} from '@tko/utils'\n\nvar loadingSubscribablesCache = {}, // Tracks component loads that are currently in flight\n loadedDefinitionsCache = {} // Tracks component loads that have already completed\n\nfunction loadComponentAndNotify (componentName, callback) {\n var _subscribable = getObjectOwnProperty(loadingSubscribablesCache, componentName),\n completedAsync\n if (!_subscribable) {\n // It's not started loading yet. Start loading, and when it's done, move it to loadedDefinitionsCache.\n _subscribable = loadingSubscribablesCache[componentName] = new subscribable()\n _subscribable.subscribe(callback)\n\n beginLoadingComponent(componentName, function (definition, config) {\n var isSynchronousComponent = !!(config && config.synchronous)\n loadedDefinitionsCache[componentName] = { definition: definition, isSynchronousComponent: isSynchronousComponent }\n delete loadingSubscribablesCache[componentName]\n\n // For API consistency, all loads complete asynchronously. However we want to avoid\n // adding an extra task schedule if it's unnecessary (i.e., the completion is already\n // async).\n //\n // You can bypass the 'always asynchronous' feature by putting the synchronous:true\n // flag on your component configuration when you register it.\n if (completedAsync || isSynchronousComponent) {\n // Note that notifySubscribers ignores any dependencies read within the callback.\n // See comment in loaderRegistryBehaviors.js for reasoning\n _subscribable.notifySubscribers(definition)\n } else {\n tasks.schedule(function () {\n _subscribable.notifySubscribers(definition)\n })\n }\n })\n completedAsync = true\n } else {\n _subscribable.subscribe(callback)\n }\n}\n\nfunction beginLoadingComponent (componentName, callback) {\n getFirstResultFromLoaders('getConfig', [componentName], function (config) {\n if (config) {\n // We have a config, so now load its definition\n getFirstResultFromLoaders('loadComponent', [componentName, config], function (definition) {\n callback(definition, config)\n })\n } else {\n // The component has no config - it's unknown to all the loaders.\n // Note that this is not an error (e.g., a module loading error) - that would abort the\n // process and this callback would not run. For this callback to run, all loaders must\n // have confirmed they don't know about this component.\n callback(null, null)\n }\n })\n}\n\nfunction getFirstResultFromLoaders (methodName, argsExceptCallback, callback, candidateLoaders) {\n // On the first call in the stack, start with the full set of loaders\n if (!candidateLoaders) {\n candidateLoaders = registry.loaders.slice(0) // Use a copy, because we'll be mutating this array\n }\n\n // Try the next candidate\n var currentCandidateLoader = candidateLoaders.shift()\n if (currentCandidateLoader) {\n var methodInstance = currentCandidateLoader[methodName]\n if (methodInstance) {\n var wasAborted = false,\n synchronousReturnValue = methodInstance.apply(currentCandidateLoader, argsExceptCallback.concat(function (result) {\n if (wasAborted) {\n callback(null)\n } else if (result !== null) {\n // This candidate returned a value. Use it.\n callback(result)\n } else {\n // Try the next candidate\n getFirstResultFromLoaders(methodName, argsExceptCallback, callback, candidateLoaders)\n }\n }))\n\n // Currently, loaders may not return anything synchronously. This leaves open the possibility\n // that we'll extend the API to support synchronous return values in the future. It won't be\n // a breaking change, because currently no loader is allowed to return anything except undefined.\n if (synchronousReturnValue !== undefined) {\n wasAborted = true\n\n // Method to suppress exceptions will remain undocumented. This is only to keep\n // KO's specs running tidily, since we can observe the loading got aborted without\n // having exceptions cluttering up the console too.\n if (!currentCandidateLoader.suppressLoaderExceptions) {\n throw new Error('Component loaders must supply values by invoking the callback, not by returning values synchronously.')\n }\n }\n } else {\n // This candidate doesn't have the relevant handler. Synchronously move on to the next one.\n getFirstResultFromLoaders(methodName, argsExceptCallback, callback, candidateLoaders)\n }\n } else {\n // No candidates returned a value\n callback(null)\n }\n}\n\nexport var registry = {\n get (componentName, callback) {\n var cachedDefinition = getObjectOwnProperty(loadedDefinitionsCache, componentName)\n if (cachedDefinition) {\n // It's already loaded and cached. Reuse the same definition object.\n // Note that for API consistency, even cache hits complete asynchronously by default.\n // You can bypass this by putting synchronous:true on your component config.\n if (cachedDefinition.isSynchronousComponent) {\n dependencyDetection.ignore(function () { // See comment in loaderRegistryBehaviors.js for reasoning\n callback(cachedDefinition.definition)\n })\n } else {\n tasks.schedule(function () { callback(cachedDefinition.definition) })\n }\n } else {\n // Join the loading process that is already underway, or start a new one.\n loadComponentAndNotify(componentName, callback)\n }\n },\n\n clearCachedDefinition (componentName) {\n delete loadedDefinitionsCache[componentName]\n },\n\n _getFirstResultFromLoaders: getFirstResultFromLoaders,\n\n loaders: []\n}\n","\nimport {\n isDomElement, isDocumentFragment, tagNameLower, parseHtmlFragment,\n makeArray, cloneNodes, hasOwnProperty\n} from '@tko/utils'\n\nimport {registry} from './registry'\n\n// The default loader is responsible for two things:\n// 1. Maintaining the default in-memory registry of component configuration objects\n// (i.e., the thing you're writing to when you call ko.components.register(someName, ...))\n// 2. Answering requests for components by fetching configuration objects\n// from that default in-memory registry and resolving them into standard\n// component definition objects (of the form { createViewModel: ..., template: ... })\n// Custom loaders may override either of these facilities, i.e.,\n// 1. To supply configuration objects from some other source (e.g., conventions)\n// 2. Or, to resolve configuration objects by loading viewmodels/templates via arbitrary logic.\n\nexport var defaultConfigRegistry = {}\nexport const VIEW_MODEL_FACTORY = Symbol('Knockout View Model ViewModel factory')\n\nexport function register (componentName, config) {\n if (!config) {\n throw new Error('Invalid configuration for ' + componentName)\n }\n\n if (isRegistered(componentName)) {\n throw new Error('Component ' + componentName + ' is already registered')\n }\n\n const ceok = componentName.includes('-') && componentName.toLowerCase() === componentName\n\n if (!config.ignoreCustomElementWarning && !ceok) {\n console.log(`\n🥊 Knockout warning: components for custom elements must be lowercase and contain a dash. To ignore this warning, add to the 'config' of .register(componentName, config):\n\n ignoreCustomElementWarning: true\n `)\n }\n\n defaultConfigRegistry[componentName] = config\n}\n\nexport function isRegistered (componentName) {\n return hasOwnProperty(defaultConfigRegistry, componentName)\n}\n\nexport function unregister (componentName) {\n delete defaultConfigRegistry[componentName]\n registry.clearCachedDefinition(componentName)\n}\n\nexport var defaultLoader = {\n getConfig: function (componentName, callback) {\n var result = hasOwnProperty(defaultConfigRegistry, componentName)\n ? defaultConfigRegistry[componentName]\n : null\n callback(result)\n },\n\n loadComponent: function (componentName, config, callback) {\n var errorCallback = makeErrorCallback(componentName)\n possiblyGetConfigFromAmd(errorCallback, config, function (loadedConfig) {\n resolveConfig(componentName, errorCallback, loadedConfig, callback)\n })\n },\n\n loadTemplate: function (componentName, templateConfig, callback) {\n resolveTemplate(makeErrorCallback(componentName), templateConfig, callback)\n },\n\n loadViewModel: function (componentName, viewModelConfig, callback) {\n resolveViewModel(makeErrorCallback(componentName), viewModelConfig, callback)\n }\n}\n\nvar createViewModelKey = 'createViewModel'\n\n// Takes a config object of the form { template: ..., viewModel: ... }, and asynchronously convert it\n// into the standard component definition format:\n// { template: <ArrayOfDomNodes>, createViewModel: function(params, componentInfo) { ... } }.\n// Since both template and viewModel may need to be resolved asynchronously, both tasks are performed\n// in parallel, and the results joined when both are ready. We don't depend on any promises infrastructure,\n// so this is implemented manually below.\nfunction resolveConfig (componentName, errorCallback, config, callback) {\n var result = {},\n makeCallBackWhenZero = 2,\n tryIssueCallback = function () {\n if (--makeCallBackWhenZero === 0) {\n callback(result)\n }\n },\n templateConfig = config['template'],\n viewModelConfig = config['viewModel']\n\n if (templateConfig) {\n possiblyGetConfigFromAmd(errorCallback, templateConfig, function (loadedConfig) {\n registry._getFirstResultFromLoaders('loadTemplate', [componentName, loadedConfig], function (resolvedTemplate) {\n result['template'] = resolvedTemplate\n tryIssueCallback()\n })\n })\n } else {\n tryIssueCallback()\n }\n\n if (viewModelConfig) {\n possiblyGetConfigFromAmd(errorCallback, viewModelConfig, function (loadedConfig) {\n registry._getFirstResultFromLoaders('loadViewModel', [componentName, loadedConfig], function (resolvedViewModel) {\n result[createViewModelKey] = resolvedViewModel\n tryIssueCallback()\n })\n })\n } else {\n tryIssueCallback()\n }\n}\n\nfunction resolveTemplate (errorCallback, templateConfig, callback) {\n if (typeof templateConfig === 'string') {\n // Markup - parse it\n callback(parseHtmlFragment(templateConfig))\n } else if (templateConfig instanceof Array) {\n // Assume already an array of DOM nodes - pass through unchanged\n callback(templateConfig)\n } else if (isDocumentFragment(templateConfig)) {\n // Document fragment - use its child nodes\n callback(makeArray(templateConfig.childNodes))\n } else if (templateConfig.element) {\n var element = templateConfig.element\n if (isDomElement(element)) {\n // Element instance - copy its child nodes\n callback(cloneNodesFromTemplateSourceElement(element))\n } else if (typeof element === 'string') {\n // Element ID - find it, then copy its child nodes\n var elemInstance = document.getElementById(element)\n if (elemInstance) {\n callback(cloneNodesFromTemplateSourceElement(elemInstance))\n } else {\n errorCallback('Cannot find element with ID ' + element)\n }\n } else {\n errorCallback('Unknown element type: ' + element)\n }\n } else if (templateConfig.elementName) {\n // JSX in the style of babel-plugin-transform-jsx\n callback(templateConfig)\n } else {\n errorCallback('Unknown template value: ' + templateConfig)\n }\n}\n\nfunction resolveViewModel (errorCallback, viewModelConfig, callback) {\n if (viewModelConfig[VIEW_MODEL_FACTORY]) {\n callback((...args) => viewModelConfig[VIEW_MODEL_FACTORY](...args))\n } else if (typeof viewModelConfig === 'function') {\n // Constructor - convert to standard factory function format\n // By design, this does *not* supply componentInfo to the constructor, as the intent is that\n // componentInfo contains non-viewmodel data (e.g., the component's element) that should only\n // be used in factory functions, not viewmodel constructors.\n callback(function (params /*, componentInfo */) {\n return new viewModelConfig(params)\n })\n } else if (typeof viewModelConfig[createViewModelKey] === 'function') {\n // Already a factory function - use it as-is\n callback(viewModelConfig[createViewModelKey])\n } else if ('instance' in viewModelConfig) {\n // Fixed object instance - promote to createViewModel format for API consistency\n var fixedInstance = viewModelConfig['instance']\n callback(function (/* params, componentInfo */) {\n return fixedInstance\n })\n } else if ('viewModel' in viewModelConfig) {\n // Resolved AMD module whose value is of the form { viewModel: ... }\n resolveViewModel(errorCallback, viewModelConfig['viewModel'], callback)\n } else {\n errorCallback('Unknown viewModel value: ' + viewModelConfig)\n }\n}\n\nfunction cloneNodesFromTemplateSourceElement (elemInstance) {\n switch (tagNameLower(elemInstance)) {\n case 'script':\n return parseHtmlFragment(elemInstance.text)\n case 'textarea':\n return parseHtmlFragment(elemInstance.value)\n case 'template':\n // For browsers with proper <template> element support (i.e., where the .content property\n // gives a document fragment), use that document fragment.\n if (isDocumentFragment(elemInstance.content)) {\n return cloneNodes(elemInstance.content.childNodes)\n }\n }\n\n // Regular elements such as <div>, and <template> elements on old browsers that don't really\n // understand <template> and just treat it as a regular container\n return cloneNodes(elemInstance.childNodes)\n}\n\nfunction possiblyGetConfigFromAmd (errorCallback, config, callback) {\n if (typeof config.require === 'string') {\n // The config is the value of an AMD module\n if (window.amdRequire || window.require) {\n (window.amdRequire || window.require)([config.require], callback)\n } else {\n errorCallback('Uses require, but no AMD loader is present')\n }\n } else {\n callback(config)\n }\n}\n\nfunction makeErrorCallback (componentName) {\n return function (message) {\n throw new Error('Component \\'' + componentName + '\\': ' + message)\n }\n}\n\n// By default, the default loader is the only registered component loader\nregistry.loaders.push(defaultLoader)\n","/**\n * Component --- Abstract Base Class\n *\n * This simplifies and compartmentalizes Components. Use this:\n *\n * class CompX extends ComponentABC {\n * \tstatic get element () { return 'comp-x-id' }\n * \tstatic get sync () { return false }\n * \tstatic get elementName () { return 'comp-x' }\n * }\n * CompX.register()\n *\n * instead of:\n *\n * class CompX {}\n *\n * ko.components.register('comp-x', {\n * viewModel: CompX,\n * synchronous: false,\n * template: { element: 'comp-x' }\n * })\n *\n * As well, gain all the benefits of a LifeCycle, namely automated\n * event and subscription addition/removal.\n *\n * NOTE: A Component created this way can add events to the component node\n * with `this.addEventListener(type, action)`.\n */\nimport {LifeCycle} from '@tko/lifecycle'\nimport {register, VIEW_MODEL_FACTORY} from './loaders'\n\nexport class ComponentABC extends LifeCycle {\n\t/**\n * The tag name of the custom element. For example 'my-component'.\n * By default converts the class name from camel case to kebab case.\n\t * @return {string} The custom node name of this component.\n\t */\n static get customElementName () {\n return this.name.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase()\n }\n\n\t/**\n\t * Overload this to return:\n\t * 1. A string of markup\n\t * 2. An array of DOM nodes\n\t * 3. A document fragment\n\t * 4. An AMD module (with `{require: 'some/template'}`)\n\t * @return {mixed} One of the accepted template types for the ComponentBinding.\n\t */\n static get template () {\n if ('template' in this.prototype) { return }\n return { element: this.element }\n }\n\n\t/**\n\t * This is called by the default `template`. Overload this to return:\n\t * 1. The element ID\n\t * 2. A DOM node itself\n\t * @return {string|HTMLElement} either the element ID or actual element.\n\t */\n static get element () {\n throw new Error('[ComponentABC] `element` must be overloaded.')\n }\n\n\t/**\n\t * @return {bool} True if the component shall load synchronously\n\t */\n static get sync () { return true }\n\n /**\n * Construct a new instance of the model. When using ComponentABC as a\n * base class, we do pass in the $element and $componentTemplateNodes.\n * @param {Object} params\n * @param {{element: HTMLElement, templateNodes: [HTMLElement]}} componentInfo\n */\n static [VIEW_MODEL_FACTORY] (params, componentInfo) {\n return new this(params, componentInfo)\n }\n\n static register (name = this.customElementName) {\n const viewModel = this\n const {template} = this\n const synchronous = this.sync\n register(name, { viewModel, template, synchronous })\n }\n}\n","\nimport {registry} from './registry'\n\nimport { ComponentABC } from './ComponentABC'\n\nimport {\n register,\n isRegistered,\n unregister,\n defaultLoader,\n defaultConfigRegistry\n} from './loaders'\n\nexport { ComponentABC }\n\nexport default {\n ComponentABC,\n // -- Registry --\n get: registry.get,\n clearCachedDefinition: registry.clearCachedDefinition,\n\n // -- Loader --\n register,\n isRegistered,\n unregister,\n defaultLoader,\n // \"Privately\" expose the underlying config registry for use in old-IE shim\n _allRegisteredComponents: defaultConfigRegistry,\n\n get loaders () { return registry.loaders },\n set loaders (loaders) { registry.loaders = loaders }\n}\n"],"names":[],"mappings":"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"} |
| /*! | ||
| * Registry and loading utilities for web components 🥊 @tko/utils.component@4.0.0-alpha8.0 | ||
| * Registry and loading utilities for web components 🥊 @tko/utils.component@4.0.0-alpha8.1 | ||
| * (c) The Knockout.js Team - https://tko.io | ||
@@ -483,2 +483,3 @@ * License: MIT (http://www.opensource.org/licenses/mit-license.php) | ||
| export default index; | ||
| export { ComponentABC }; | ||
| //# sourceMappingURL=utils.component.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"utils.component.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.component.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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"} |
+3
-3
| { | ||
| "name": "@tko/utils.component", | ||
| "version": "4.0.0-alpha8.0", | ||
| "version": "4.0.0-alpha8.1", | ||
| "description": "Registry and loading utilities for web components", | ||
@@ -24,3 +24,3 @@ "module": "dist/utils.component.js", | ||
| "@tko/provider.multi": "^4.0.0-alpha8.0", | ||
| "@tko/provider.virtual": "^4.0.0-alpha8.0" | ||
| "@tko/provider.virtual": "^4.0.0-alpha8.1" | ||
| }, | ||
@@ -56,3 +56,3 @@ "karma": { | ||
| ], | ||
| "gitHead": "b54a8edff45bb0bb0788d363d0dbb7f2aec2e37d" | ||
| "gitHead": "2c31e07b6c6e9af895c495382782acb7b6ec2e1f" | ||
| } |
80533
0.1%881
0.23%