qcobjects 2.5.139-beta → 2.5.141-beta
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.
- package/VERSION +1 -1
- package/build/findPackageNodePath.js +5 -3
- package/build/index.cjs +1 -1
- package/package.json +1 -1
- package/public/browser/QCObjects.js +3 -3
- package/public/browser/QCObjects.js.map +3 -3
- package/public/cjs/index.cjs +3 -3
- package/public/cjs/index.cjs.map +3 -3
- package/public/esm/index.mjs +1 -1
- package/public/esm/index.mjs.map +2 -2
- package/public/types/index.d.ts.map +1 -1
- package/src/findPackageNodePath.ts +0 -1
- package/src/index.cts +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/is_raw_class.ts", "../../src/ObjectName.ts", "../../src/getType.ts", "../../src/make_global.ts", "../../src/PrimaryCollections.ts", "../../src/Export.ts", "../../src/_import_.ts", "../../src/platform.ts", "../../src/Logger.ts", "../../src/Cast.ts", "../../src/DOMCreateElement.ts", "../../src/IncrementInstanceID.ts", "../../src/introspection.ts", "../../src/Package.ts", "../../src/InheritClass.ts", "../../src/isQCObjects.ts", "../../src/is_a.ts", "../../src/is_forbidden_name.ts", "../../src/LegacyCopy.ts", "../../src/Class.ts", "../../src/ClassFactory.ts", "../../src/Base64.ts", "../../src/basePath.ts", "../../src/DataStringify.ts", "../../src/domain.ts", "../../src/New.ts", "../../src/secretKey.ts", "../../src/Crypt.ts", "../../src/ConfigSettings.ts", "../../src/CONFIG.ts", "../../src/Processor.ts", "../../src/routings.ts", "../../src/asyncLoad.ts", "../../src/ComplexStorageCache.ts", "../../src/serviceLoader.ts", "../../src/tag_filter.ts", "../../src/componentLoader.ts", "../../src/Component.ts", "../../src/ComponentFactory.ts", "../../src/Service.ts", "../../src/globalSettings.ts", "../../src/top.ts", "../../src/captureFalseTouch.ts", "../../src/range.ts", "../../src/defaultProcessors.ts", "../../src/findPackageNodePath.ts", "../../src/Import.ts", "../../src/mathFunctions.ts", "../../src/NamespaceRef.ts", "../../src/Ready.ts", "../../src/ArrayCollection.ts", "../../src/Tag.ts", "../../src/shortCode.ts", "../../src/super.ts", "../../src/waitUntil.ts", "../../src/subelements.ts", "../../src/loadSDK.ts", "../../src/MainProcess.ts", "../../src/QCObjects.ts", "../../src/assign.ts", "../../src/BackendMicroservice.ts", "../../src/DefaultTemplateHandler.ts", "../../src/RegisterClass.ts", "../../src/SourceJS.ts", "../../src/SourceCSS.ts", "../../src/WidgetsFactory.ts", "../../src/Controller.ts", "../../src/View.ts", "../../src/VO.ts", "../../src/Effect.ts", "../../src/TransitionEffect.ts", "../../src/Timer.ts", "../../src/DDO.ts", "../../src/Toggle.ts", "../../src/DocumentLayout.ts"],
|
|
4
|
-
"sourcesContent": ["export const __is_raw_class__ = (o_c: any): boolean => {\n return !!((typeof o_c === \"function\" && o_c.toString().startsWith(\"class\")));\n};\n", "/**\n * Returns the object or function name\n *\n * @param Object or function\n */\nexport const ObjectName = (o: any):string => {\n let ret = \"\";\n if (typeof o === \"function\" && Object.hasOwn(o, \"name\") && o.name !== \"\") {\n ret = o.name;\n } else if (typeof o !== \"undefined\" && typeof o.constructor === \"function\" && o.constructor.name !== \"\") {\n ret = o.constructor.name;\n } else if (typeof o !== \"undefined\" && typeof o.constructor === \"object\") {\n ret = o.constructor.toString().replace(/\\[(.*?)\\]/g, \"$1\").split(\" \").slice(1).join(\"\");\n }\n return ret;\n};", "import { __is_raw_class__ } from \"./is_raw_class\";\nimport { ObjectName } from \"./ObjectName\";\n\n/**\n * Determine the type of the Object for any QCObjects Object\n *\n * @param {Object} object\n */\nexport const __getType__ = function __getType__(o_c: any): any {\n let _ret_ = \"\";\n switch (true) {\n case typeof o_c === \"object\" &&\n (!!o_c.constructor &&\n !!o_c.constructor.name)\n && o_c.constructor.name !== \"\":\n _ret_ = o_c.constructor.name;\n break;\n case typeof o_c === \"function\" && !!o_c.name:\n _ret_ = o_c.name;\n break;\n case __is_raw_class__(o_c) && !!o_c.name:\n _ret_ = o_c.name;\n break;\n case (!!o_c && !!o_c.__classType) && o_c.__classType !== \"\":\n _ret_ = o_c.__classType;\n break;\n case (!!o_c && !!o_c.__definition) && (!!o_c.__definition.__classType) && o_c.__definition.__classType !== \"\":\n _ret_ = o_c.__definition.__classType;\n break;\n default:\n _ret_ = ObjectName(o_c);\n break;\n }\n return _ret_;\n};\n", "import { _top, set } from \"./top\";\ndeclare const global:any;\ndeclare const globalThis:any;\n\nexport const __make_global__ = (f:any):void => {\n if (!!f && !!f.name) {\n if (typeof _top !== \"undefined\" && typeof f !== \"undefined\" && _top !== null && !Object.hasOwn(_top,f.name)) {\n set(f.name, f);\n } else if (typeof global !== \"undefined\"){\n global[f.name] = f;\n } else if (typeof globalThis !== \"undefined\"){\n globalThis[f.name] = f;\n }\n \n }\n\n};", "import { T_QC_CLASSES, T_QC_PACKAGES } from \"types\";\nimport { __getType__ } from \"./getType\";\nimport { __make_global__ } from \"./make_global\";\n\nexport var _QC_CLASSES: T_QC_CLASSES = {};\nexport var _QC_PACKAGES: T_QC_PACKAGES = {};\nexport var _QC_PACKAGES_IMPORTED: any[] = [];\nexport var _QC_READY_LISTENERS: any[] = [];\n\nexport const __register_class__ = function (_class_: any, __namespace?: string): any {\n const __classType = __getType__(_class_);\n let name = _class_.name || __classType;\n if (name.toLowerCase() === \"function\") {\n name = __classType;\n }\n if (typeof _class_.__definition === \"undefined\") {\n _class_.__definition = {};\n }\n _class_.__definition.__classType = __classType;\n if (typeof __namespace !== \"undefined\") {\n _class_.__definition.__namespace = __namespace;\n }\n _QC_CLASSES[name] = _class_;\n __make_global__(_class_);\n return _QC_CLASSES[name];\n};\n\nexport const get_QC_CLASS = (name:string):any => {\n return _QC_CLASSES[name];\n};\n\nconst _get_packages_names = function <T>(_packages: any): T[] {\n let _keys: any[] = [];\n for (const _k of Object.keys(_packages)) {\n if (\n typeof _packages[_k] !== \"undefined\" &&\n typeof _packages[_k] !== \"function\" &&\n Object.hasOwn(_packages[_k], \"length\") &&\n _packages[_k].length > 0\n ) {\n _keys.push(_k);\n _keys = _keys.concat(_get_packages_names(_packages[_k]));\n }\n }\n return _keys as T[];\n};\n\n\nexport const getPackagesNamesList = (): any[] => {\n return _get_packages_names(_QC_PACKAGES);\n};\n\nexport const getPackagesList = (): any[] => {\n return [...getPackagesNamesList()].map(<T>(packagename: string): T => {\n const _classesList: any[] = _QC_PACKAGES[packagename] as any[];\n let _ret_: any = undefined;\n if (_classesList) {\n _ret_ = {\n packageName: packagename,\n classesList: _classesList.filter(function (): boolean {\n return true;\n })\n };\n }\n return _ret_ as T;\n }).filter(function (_p: any): boolean {\n return typeof _p !== \"undefined\";\n });\n};\n\nexport const getClassesList = (): any[] => {\n let _classesList: any[] = [];\n [...getPackagesList()].forEach(function <T>(_package_element: any): T {\n _classesList = _classesList.concat(_package_element.classesList.map(\n (_class_element: any) => {\n return {\n packageName: _package_element.packageName,\n className: `${_package_element.packageName}.${__getType__(_class_element)}`,\n classFactory: _class_element\n };\n }\n ));\n return _package_element as T;\n });\n\n return _classesList;\n};\n\nexport const getClassesNamesList = (): any[] => {\n return [...getClassesList()].map(<T>(_class_element: any): T => {\n return _class_element.className as T;\n });\n};\n\nexport const set_QC_PACKAGE = (packageName: string, _qc_packages: any[]):void => {\n _QC_PACKAGES[packageName] = _qc_packages;\n};\n\n", "import { __make_global__ } from \"./make_global\";\n\nexport const Export = function (f: any):void {\n return __make_global__(f);\n};\nExport.prototype.toString = function () {\n return \"Export(function or symbol) { [QCObjects native code] }\";\n};\n", "import { logger } from \"./Logger\";\n\nasync function _import_(name:string):Promise<any> {\n logger.debug(`Importing ${name}...`);\n function isPackage(name:string) {\n logger.debug(`Validating if ${name} is a package name...`);\n // Simple check to determine if the name is a package\n // This can be enhanced based on your specific needs\n return !name.startsWith(\".\") && !name.startsWith(\"/\") && !name.includes(\"/\");\n }\n \n try {\n // Ensure the name has a .js extension if it's not a package\n const hasExtension = /\\.[^/\\\\]+$/.test(name);\n if (!hasExtension && !isPackage(name)) {\n logger.debug(`${name} does not have an extension and is not a package. Adding js extension.`);\n name += \".js\";\n }\n \n const m:any = await import(name);\n return m;\n } catch (error:any) {\n logger.warn(`Failed to load module: ${error}`);\n }\n }\n \nexport {_import_};", "import { _import_ } from \"./_import_\";\nimport { logger } from \"./Logger\";\n\nexport const isDeno:boolean = (typeof window !== \"undefined\" && \"Deno\" in window);\nexport const isBrowser:boolean = (typeof window !== \"undefined\" && typeof window.self !== \"undefined\" && window === window.self) && !isDeno;\nexport const isNodeCommonJS:boolean = (typeof module !== \"undefined\");\n// eslint-disable-next-line no-unused-vars\nexport const deno_require = (name:string):void => { /* not yet implemented */};\nexport const _require_ = (name:string):any => {\n \n return (isDeno)?(deno_require(name)):(\n ( (name):any => {\n let r:any;\n try {\n (async () => {\n r = await _import_(name);\n })().then((m:any) => {\n r = (m && m.default) || m;\n })\n .catch ((e:any) => {\n logger.warn(`An error ocurred: ${e}`);\n });\n\n } catch (e:any) {\n logger.debug(`An error ocurred importing module. ${e}`);\n r = {export:{}};\n }\n return r;\n } ) (name)\n );\n};\ndeclare const cordova: any;\n\nexport const is_phonegap:boolean = (\n function () {\n return (typeof cordova !== \"undefined\");\n }\n)();", "import { Export } from \"./Export\";\nimport { isBrowser } from \"./platform\";\n\nexport class Logger {\n debugEnabled = true;\n infoEnabled = true;\n warnEnabled = true;\n debug(message: string): void {\n if (this.debugEnabled) {\n console.log(\"\\x1b[35m%s\\x1b[0m\", `[DEBUG][${performance.now().toLocaleString()}] ${message}`);\n }\n }\n\n info(message: string): void {\n let color;\n if (this.infoEnabled) {\n if (isBrowser) {\n color = \"\\x1b[103m%s\\x1b[0m\";\n } else {\n color = \"\\x1b[33m%s\\x1b[0m\";\n }\n console.info(color, `[INFO][${performance.now().toLocaleString()}] ${message}`);\n }\n }\n\n warn(message: string): void {\n if (this.warnEnabled) {\n console.warn(\"\\x1b[31m%s\\x1b[0m\", `[WARN][${performance.now().toLocaleString()}] ${message}`);\n }\n }\n}\n\nexport const logger: Logger = new Logger();\nExport(logger);", "import { logger } from \"./Logger\";\n\n/**\n * Casts an object to another object class type\n *\n * @param {Object} obj_source\n * @param {Object} obj_dest\n */\nexport const _Cast = function (obj_source: any, obj_dest: any):any {\n for (const v in obj_source) {\n if (typeof obj_source[v] !== \"undefined\") {\n try {\n obj_dest[v] = obj_source[v];\n } catch (e:any) {\n logger.debug(`An error ocurred: ${e}.`);\n logger.warn(`Unable to cast ${(typeof obj_source).toString()}.${typeof v.toString()} to ${(typeof obj_dest).toString()}.${typeof v.toString()}`);\n }\n }\n }\n return obj_dest;\n};\n\n/**\n * Casts an object to another object class type. Only properties\n *\n * @param {Object} obj_source\n * @param {Object} obj_dest\n */\nexport const _CastProps = function (obj_source: any, obj_dest: any, _ignoreError:boolean = true):any {\n for (const v in obj_source) {\n if (typeof obj_source[v] !== \"undefined\" && typeof obj_source[v] !== \"function\") {\n try {\n obj_dest[v] = obj_source[v];\n } catch (e:any) {\n if (!_ignoreError){\n logger.debug(`An error ocurred: ${e}.`);\n }\n }\n } else if (typeof obj_source[v] === \"function\") {\n try {\n obj_dest[v] = obj_source[v].bind(obj_dest);\n } catch (e:any) {\n logger.warn(e);\n }\n }\n }\n return obj_dest;\n};\n", "import { IQCObjectsElement } from \"types\";\nimport { isBrowser } from \"./platform\";\n\nexport const _DOMCreateElement = function (elementName: string, props?: any[], children?: any): IQCObjectsElement {\n let _ret_;\n if (isBrowser) {\n _ret_ = _DOMCreateComplexElement(elementName, props, children) as unknown as IQCObjectsElement;\n } else {\n _ret_ = {} as IQCObjectsElement;\n }\n return _ret_;\n};\n\n\nconst ComplexTypeCall = (_type: Function, { props, children }: { props?: any[], children?: any }): IQCObjectsElement => {\n return _type({ props, children }) as IQCObjectsElement;\n};\nexport const _DOMCreateComplexElement = (_type: string | Function, props?: any[], children?: any): HTMLElement | IQCObjectsElement => {\n\n if (typeof _type !== \"string\") {\n return ComplexTypeCall(_type, { props, children });\n }\n const element = document.createElement(_type);\n\n if (props) {\n Object.entries(props).forEach(([key, value]) => {\n if (typeof value === \"string\" || typeof value === \"number\") {\n element.setAttribute(key, value.toString());\n } else if (typeof value === \"function\" && key.toLowerCase().startsWith(\"on\")) {\n element.addEventListener(key.slice(2).toLowerCase(), value.bind(element));\n }\n });\n }\n\n if (Array.isArray(children)) {\n children.filter((child => child instanceof Node)).forEach(child => {\n element.appendChild(child);\n });\n } else if (children instanceof Node) {\n element.appendChild(children);\n } else if (typeof children === \"string\") {\n element.innerHTML = children;\n }\n\n return element;\n};\n", "/**\n * Primary instance ID of all objects\n */\nexport var __instanceID = 0;\n\nexport const IncrementInstanceID = (): void => {\n __instanceID = (typeof __instanceID === \"undefined\" || __instanceID === null) ? (0) : (__instanceID + 1);\n};\n", "export const _protected_code_ = (_: any): void => {\n const __oldtoString = (typeof _.prototype !== \"undefined\") ? (_.prototype.toString) : (function () {\n return \"\";\n });\n if (typeof _.prototype !== \"undefined\") {\n _.prototype.toString = function (): string {\n const _protected_symbols = [\n \"__qcobjects__\",\n \"__qcobjects_sdk__\",\n \"__loaded__\",\n \"ComplexStorageCache\",\n \"css\",\n \"append\",\n \"attachIn\",\n \"debug\",\n \"info\",\n \"warn\",\n \"QC_Append\",\n \"set\",\n \"get\",\n \"done\",\n \"componentDone\",\n \"_new_\",\n \"__new__\",\n \"Class\",\n \"ClassFactory\",\n \"New\",\n \"Export\",\n \"Package\",\n \"Import\",\n \"subelements\",\n \"componentLoader\",\n \"buildComponents\",\n \"Controller\",\n \"View\",\n \"VO\",\n \"Service\",\n \"serviceLoader\",\n \"JSONService\",\n \"ConfigService\",\n \"SourceJS\",\n \"SourceCSS\",\n \"ArrayList\",\n \"ArrayCollection\",\n \"Effect\",\n \"Timer\",\n \"sum\",\n \"avg\",\n \"table\",\n \"max\",\n \"min\",\n \"range\",\n \"matrix\",\n \"matrix2d\",\n \"matrix3d\",\n \"unique\",\n \"uniqueId\",\n \"shortCode\",\n \"NamespaceRef\"\n ];\n let _ret_;\n if (_protected_symbols.includes(this.name)) {\n _ret_ = this.name + \"{ [QCObjects native code] }\";\n } else {\n _ret_ = __oldtoString.call(this);\n }\n return _ret_ as string;\n };\n }\n};\n(_protected_code_)(Function);\nexport const _methods_ = function <T>(_: any): T[] {\n const _m = [];\n for (const i in _) {\n if ((typeof _[i]).toLowerCase() === \"function\") {\n _m.push(_[i]);\n }\n }\n return _m as T[];\n};\n", "import { __is_raw_class__ } from \"./is_raw_class\";\nimport {_QC_PACKAGES, set_QC_PACKAGE, __register_class__ } from \"./PrimaryCollections\";\n\n/**\n * Defines a package for Class classification\n *\n * @param {Object} namespace\n * @param {Object} classes\n */\nexport const Package = (namespace: string, classes: any[] = []): any[] => {\n\n if (Object.hasOwn(_QC_PACKAGES, namespace) &&\n typeof _QC_PACKAGES[namespace] !== \"undefined\" &&\n typeof _QC_PACKAGES[namespace] !== \"string\" &&\n Object.hasOwn(_QC_PACKAGES[namespace], \"length\") &&\n _QC_PACKAGES[namespace].length > 0 &&\n typeof classes !== \"undefined\" &&\n Object.hasOwn(classes, \"length\") &&\n classes.length > 0\n ) {\n classes.forEach((_class_: any) => {\n __register_class__(_class_, namespace);\n });\n set_QC_PACKAGE(namespace, _QC_PACKAGES[namespace].concat(classes));\n } else if (typeof classes !== \"undefined\"\n && typeof classes !== \"undefined\"\n && Object.hasOwn(classes, \"length\")\n && classes.length > 0) {\n classes.forEach((_class_: any) => {\n __register_class__(_class_, namespace);\n });\n set_QC_PACKAGE(namespace, classes);\n } else if (__is_raw_class__(classes)) {\n if (typeof (classes as any).__definition === \"undefined\") {\n (classes as any).__definition = {};\n }\n (classes as any).__definition.__namespace = namespace;\n (classes as any).__namespace = namespace;\n __register_class__(classes, namespace);\n set_QC_PACKAGE(namespace, [classes]);\n } else {\n throw new Error (`An error ocurred. It was not possible to add classes to ${namespace}.`);\n }\n return ((Object.hasOwn(_QC_PACKAGES, namespace)) ? (_QC_PACKAGES[namespace]) : []) as any[] | [];\n};\n", "import { type IInheritClass, type IQCObjectsElement, type TBody } from \"types\";\nimport { logger } from \"./Logger\";\nimport { __instanceID, IncrementInstanceID } from \"./IncrementInstanceID\";\nimport { _CastProps, _Cast } from \"./Cast\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { __getType__ } from \"./getType\";\nimport { _methods_ } from \"./introspection\";\nimport { is_a } from \"./is_a\";\nimport { isBrowser } from \"./platform\";\nimport { _QC_CLASSES } from \"./PrimaryCollections\";\nimport { Package } from \"./Package\";\n\nexport class InheritClass implements IInheritClass {\n [key: string]: any;\n __definition: any;\n private _body: TBody;\n public get body(): TBody {\n return this._body;\n }\n public set body(value: TBody) {\n this._body = value;\n }\n childs: any;\n __instanceID!: number;\n\n constructor(_o_?: any) {\n\n if (typeof _o_ !== \"undefined\" && typeof _o_.__definition !== \"undefined\") {\n this.__definition = {\n ...(_o_.__definition)\n };\n }\n\n const self: this = this;\n if (typeof _o_ !== \"undefined\" && _o_ !== null) {\n Object.keys(_o_)\n .filter(function (k) {\n return isNaN(k as any) && ![\"__instanceID\", \"__classType\", \"__definition\"].includes(k);\n })\n .forEach(function (key) {\n if (typeof self[key] === \"function\") {\n self[key] = _o_[key].bind(self);\n } else {\n self[key] = _o_[key];\n }\n });\n }\n\n IncrementInstanceID();\n if (!self.__instanceID) {\n Object.defineProperty(self, \"__instanceID\", {\n value: __instanceID,\n writable: false\n });\n }\n\n if (typeof self.__definition !== \"undefined\") {\n Object.keys(self.__definition).filter(function (k) {\n return isNaN(k as any) && ![\"name\", \"__instanceID\", \"__classType\", \"__definition\"].includes(k);\n }).forEach(function (key) {\n if (typeof self.__definition[key] === \"function\") {\n self[key] = self.__definition[key].bind(self);\n } else {\n self[key] = self.__definition[key];\n }\n });\n }\n _methods_((_QC_CLASSES as any)[self.__classType]).map(function (m): any {\n self[(m as Function).name] = (m as Function).bind(self);\n return m;\n });\n _methods_(self.__definition).map(function (m): any {\n self[(m as Function).name] = (m as Function).bind(self);\n return m;\n });\n\n if (self.body) {\n if (typeof self.__definition === \"undefined\" || (!Object.hasOwn(self.__definition, \"body\")) || typeof self.__definition.body === \"undefined\") {\n try {\n if (isBrowser) {\n self.body = _DOMCreateElement(self.__definition.__classType);\n } else {\n self.body = {};\n }\n } catch (e: any) {\n logger.debug(`An error ocurred: ${e}.`);\n self.body = {};\n }\n } else if (Object.hasOwn(self.__definition, \"body\")) {\n self.body = self.__definition.body;\n }\n }\n\n\n try {\n self.__new__.call(self, _o_);\n if (typeof self === \"object\" && Object.hasOwn(self, \"_new_\") && typeof (self._new_ as any).isCalled === \"undefined\") {\n try {\n self._new_(_o_);\n (self._new_ as any).isCalled = true;\n } catch (e: any) {\n logger.warn(`${self.__classType}._new_() failed with error: ${e}`);\n }\n }\n } catch (e: any) {\n logger.warn(e);\n }\n }\n\n static get __classType(): any {\n return (Object.getPrototypeOf(this.constructor) as Function).name;\n }\n\n get __classType(): string {\n return this.constructor.name;\n }\n\n\n static hierarchy(__class__: any): any[] {\n const __classType = function (o_c: any): any {\n return (Object.hasOwn(o_c, \"__classType\")) ? (o_c.__classType) : (__getType__.call(__class__, o_c));\n };\n const __hierarchy__proto__ = (c: any): any[] => {\n return (typeof c !== \"undefined\" && typeof c.__proto__ !== \"undefined\" && c.__proto__ !== null) ? (((__classType(c) !== \"\") ? ([__classType(c)]) : ([])).concat(__hierarchy__proto__(c.__proto__))) : ([]);\n };\n\n if (typeof __class__ === \"undefined\" || __class__ === null) {\n __class__ = this;\n }\n let __hierarchy = [];\n __hierarchy.push(__classType(__class__));\n __hierarchy = __hierarchy.concat(__hierarchy__proto__(__class__.__proto__));\n return __hierarchy;\n }\n\n\n __namespace?: string | undefined;\n\n __new__(_o_: any): void {\n _CastProps(_o_, this);\n }\n\n // eslint-disable-next-line no-unused-vars\n _new_(_o_?: any): void { }\n\n static getParentClass(): any {\n return Object.getPrototypeOf(this.prototype.constructor);\n }\n getParentClass(): any {\n return (this.constructor as typeof InheritClass).getParentClass();\n }\n\n\n static getClass(): any {\n return Object.getPrototypeOf(this.constructor);\n }\n\n getClass(): any {\n return (this.constructor as typeof InheritClass).getClass();\n }\n\n css(_css: any): any {\n if (typeof this.body !== \"undefined\" && typeof this?.body !== \"string\" && typeof (this?.body as HTMLElement)?.style !== \"undefined\") {\n logger.debug(\"body style\");\n if (this.body) {\n (this.body as any).style = _Cast(_css, (this?.body as HTMLElement)?.style);\n }\n }\n return (typeof this.body !== \"string\") ? (this?.body as HTMLElement)?.style : {};\n }\n\n hierarchy(): any {\n const __instance__ = this;\n return (this.constructor as typeof InheritClass).hierarchy(__instance__);\n }\n\n\n append(_child?: any): void {\n const child: any = _child || this.body;\n logger.debug(\"append: start\");\n if (is_a(child, \"Component\")) {\n logger.debug(\"append: child is a Component\");\n logger.debug(`appending the body of ${child.name}`);\n }\n if (typeof this.body !== \"undefined\") {\n logger.debug(\"append element\");\n if (arguments.length > 0) {\n logger.debug(\"append to element\");\n if (typeof this.body !== \"string\") {\n if (typeof (this.body as IQCObjectsElement)?.append !== \"undefined\") {\n (this?.body as IQCObjectsElement)?.append(child);\n } else {\n throw Error(\"body.append is undefined. That means the body is not well formed.\");\n }\n } else {\n this.append(child);\n }\n if (typeof this.childs === \"undefined\") {\n this.childs = [];\n }\n this.childs.push(child);\n } else {\n if (isBrowser) {\n logger.debug(\"append to body\");\n document.body.append(child);\n }\n }\n }\n }\n\n attachIn(tag: any): void {\n if (isBrowser) {\n const tags = (document as any).subelements(tag);\n for (let i = 0, j = tags.length; i < j; i++) {\n tags[i].append(this as any);\n }\n } else {\n throw new Error(\"attachIn not yet implemented for non browser platforms\");\n }\n }\n\n}\n\nPackage(\"com.qcobjects\", [InheritClass]);", "import { InheritClass } from \"./InheritClass\";\n\nexport const isQCObjects_Object = function (_:any):boolean {\n return (!!((typeof _ === \"object\" &&\n Object.hasOwn(_, \"__classType\") &&\n (!!_.__instanceID) &&\n Object.hasOwn(_, \"__definition\") &&\n typeof _.__definition !== \"undefined\"\n ))) || _ instanceof InheritClass;\n };\n\n export const isQCObjects_Class = function (_:any):boolean {\n return (!!((typeof _ === \"function\" &&\n (!_.__instanceID) &&\n (!!_.__definition) &&\n typeof _.__definition !== \"undefined\" &&\n !!_.__definition.__classType\n ))) || _.prototype instanceof InheritClass;\n };\n", "import { __getType__ } from \"./getType\";\nimport { isQCObjects_Class, isQCObjects_Object } from \"./isQCObjects\";\nimport { ObjectName } from \"./ObjectName\";\n\n/**\n * Returns if a class or object is from a determinated type\n * @param {Object} object\n * @param {String} typeName\n */\nexport const is_a = (obj: any, typeName: string):boolean => {\n return !!((typeof obj !== \"undefined\" && obj !== null &&\n (((isQCObjects_Class(obj) || isQCObjects_Object(obj)) && (obj.hierarchy().includes(typeName))) ||\n __getType__(obj) === typeName ||\n ObjectName(obj) === typeName ||\n typeof obj === typeName)));\n};", "/**\n * Internal use to determine the forbidden names for classes\n * Reserved words\n *\n * @param {String} name\n * @param {Object} type\n * @param {Object} definition\n */\nexport const __is__forbidden_name__ = (name: string):boolean => {\n return ([\"__proto__\", \"prototype\", \"Object\", \"Map\", \"defineProperty\", \"indexOf\", \"toString\", \"__instanceID\", \"function\", \"Function\"].indexOf(name) !== -1);\n};\n", "import { __is_raw_class__ } from \"./is_raw_class\";\n\nexport const _LegacyCopy = function (obj:any, _ignore?:string[]):any {\n let _value_;\n switch (true) {\n case typeof obj === \"string\":\n _value_ = obj;\n break;\n case typeof obj === \"number\":\n _value_ = obj;\n break;\n case typeof obj === \"object\":\n _value_ = [{...Object.keys(obj).filter(k => !_ignore?.includes(k))}]\n .map(k => {return {[k as never]:obj[k as never]}; })\n .reduce ((p, c) => Object.assign(p, c)) as any;\n break;\n case typeof obj === \"function\":\n _value_ = obj.bind({});\n break;\n case __is_raw_class__(obj):\n _value_ = class extends obj { };\n break;\n default:\n break;\n }\n return _value_;\n };\n", "import { _QC_CLASSES } from \"./PrimaryCollections\";\nimport { _Cast, _CastProps } from \"./Cast\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { __getType__ } from \"./getType\";\nimport { __instanceID, IncrementInstanceID } from \"./IncrementInstanceID\";\nimport { _methods_ } from \"./introspection\";\nimport { is_a } from \"./is_a\";\nimport { __is__forbidden_name__ } from \"./is_forbidden_name\";\nimport { _LegacyCopy } from \"./LegacyCopy\";\nimport { logger } from \"./Logger\";\nimport { isBrowser } from \"./platform\";\nimport { IQCObjectsElement, TBody, TClass } from \"types\";\nimport { InheritClass } from \"./InheritClass\";\nimport { _top } from \"./top\";\n\n/**\n * Creates new object class of another object\n *\n * @param {String} name\n * @param {Object} type\n * @param {Object} definition\n * \n * @example \n * Class (name, type, definition)\n * Class (name, type)\n * Class (name, definition)\n * Class ()\n * \n * \n * const MyClass = Class (\"MyComponent\", Component, {\n * name: \"one_component\",\n * method1 : () => {console.log (\"done\") }\n * })\n * const myClassInstance = new MyClass ({name: \"one_component\"})\n * \n * const MyClass = Class (\"MyService\",{\n * name: \"myservice\",\n * })\n * \n * const myClassInstance = new MyClass ({name: \"myservice\"})\n */\n\n\n\nexport const Class: TClass = (name?: string, _type?: unknown, _definition?: unknown): InheritClass => {\n const _types_ = {};\n let type: unknown, definition: unknown;\n\n switch (true) {\n case !name && !_type && !_definition:\n return class { } as unknown as InheritClass;\n case !!name && !_type && !_definition:\n type = class { };\n definition = {};\n break;\n case !!name && !_type && !!_definition:\n type = class { };\n definition = _definition;\n break;\n case !!name && !!_type && !!_definition:\n type = _type;\n definition = _definition;\n break;\n default:\n return class { } as unknown as InheritClass;\n }\n if (typeof name !== \"string\") {\n throw new Error(\"Class name must be a string\");\n }\n\n if (typeof type !== \"function\") {\n throw new Error(\"Class type must be a function or class\");\n }\n\n if (__is__forbidden_name__(name)) {\n throw new Error(`${name} is not an allowed word in the name of a class`);\n }\n\n if (typeof (type as any).__definition === \"object\"\n && (type as any).__definition\n && Object.keys((type as any).__definition).length !== 0) {\n (definition as any).__definition = Object.assign(_LegacyCopy((type as any).__definition,[\"name\"]), type);\n }\n\n (_types_ as any)[type.name] = type;\n\n if (typeof definition === \"undefined\" || definition === null) {\n definition = {};\n } else {\n definition = { ...definition };\n }\n\n /* hack to prevent duplicate __instanceID */\n if (typeof (definition as any).__instanceID !== \"undefined\") {\n delete (definition as any).__instanceID;\n }\n\n _QC_CLASSES[name] = class extends (_types_ as any)[type.name] {\n __instanceID!: number;\n __namespace?: string | undefined;\n __definition: any = {\n ...(definition as any)\n };\n childs: any;\n private _body: TBody;\n public get body(): TBody {\n return this._body;\n }\n public set body(value: TBody) {\n this._body = value;\n }\n\n static get __classType(): any {\n return (Object.getPrototypeOf(this.constructor) as Function).name;\n }\n\n get __classType(): string {\n return this.constructor.name;\n }\n\n static hierarchy(__class__: any): any[] {\n const __classType = function (o_c: any): any {\n return (Object.hasOwn(o_c, \"__classType\")) ? (o_c.__classType) : (__getType__.call(__class__, o_c));\n };\n const __hierarchy__proto__ = (c: any): any[] => {\n return (typeof c !== \"undefined\" && typeof c.__proto__ !== \"undefined\" && c.__proto__ !== null) ? (((__classType(c) !== \"\") ? ([__classType(c)]) : ([])).concat(__hierarchy__proto__(c.__proto__))) : ([]);\n };\n\n if (typeof __class__ === \"undefined\" || __class__ === null) {\n __class__ = this;\n }\n let __hierarchy = [];\n __hierarchy.push(__classType(__class__));\n __hierarchy = __hierarchy.concat(__hierarchy__proto__(__class__.__proto__));\n return __hierarchy;\n }\n\n static getParentClass(): any {\n return Object.getPrototypeOf(this.prototype.constructor);\n }\n\n constructor(_o_?: any) {\n super(_o_ || {});\n\n const self = this;\n IncrementInstanceID();\n if (!(self as any).__instanceID) {\n Object.defineProperty(self, \"__instanceID\", {\n value: __instanceID,\n writable: false\n });\n }\n\n if (typeof self.__definition !== \"undefined\") {\n Object.keys(self.__definition).filter(function (k) {\n return isNaN(k as any) && ![\"name\", \"__instanceID\", \"__classType\", \"__definition\"].includes(k);\n }).forEach(function (key) {\n if (typeof self.__definition[key] === \"function\") {\n self[key] = self.__definition[key].bind(self);\n } else {\n self[key] = self.__definition[key];\n }\n });\n }\n _methods_(_QC_CLASSES[self.__classType]).map(function <T>(m: unknown): T {\n self[(m as Function).name] = (m as Function).bind(self);\n return m as T;\n });\n _methods_(self.__definition).map(function (m): any {\n self[(m as Function).name] = (m as Function).bind(self);\n return m;\n });\n\n if (self.body) {\n if (typeof self.__definition === \"undefined\" || (!Object.hasOwn(self.__definition, \"body\")) || typeof self.__definition.body === \"undefined\") {\n try {\n if (isBrowser) {\n self.body = _DOMCreateElement(self.__definition.__classType);\n } else {\n self.body = {};\n }\n } catch (e: any) {\n logger.debug(`An error ocurred: ${e}.`);\n self.body = {};\n }\n } else if (Object.hasOwn(self.__definition, \"body\")) {\n self.body = self.__definition.body;\n }\n }\n\n\n try {\n if (typeof self.__new__ === \"function\") {\n self.__new__.call(self, _o_);\n } else if (typeof super.__new__ === \"function\") {\n self.__new__ = super.__new__.bind(self);\n self.__new__.call(self, _o_);\n }\n if (typeof self === \"object\" && Object.hasOwn(self, \"_new_\") && typeof (self._new_ as any).isCalled === \"undefined\") {\n try {\n self._new_(_o_);\n (self._new_ as any).isCalled = true;\n } catch (e: any) {\n logger.warn(`${self.__classType}._new_() failed with error: ${e}`);\n }\n }\n } catch (e: any) {\n logger.warn(e);\n }\n }\n\n __new__(_o_: any) {\n _CastProps(_o_, this);\n }\n\n // eslint-disable-next-line no-unused-vars\n _new_(_o_?: any) { }\n\n getClass(): any {\n return Object.getPrototypeOf(this.constructor);\n }\n\n css(_css: any): any {\n if (typeof this.body !== \"undefined\" && typeof this?.body !== \"string\" && typeof (this?.body as HTMLElement)?.style !== \"undefined\") {\n logger.debug(\"body style\");\n if (this.body) {\n (this.body as any).style = _Cast(_css, (this?.body as HTMLElement)?.style);\n }\n }\n return (typeof this.body !== \"string\") ? (this?.body as HTMLElement)?.style : {};\n }\n\n hierarchy(): any {\n const __instance__ = this;\n return this.getClass()?.hierarchy(__instance__);\n }\n\n\n append(_child?: any) {\n const child: any = _child || this.body;\n logger.debug(\"append: start\");\n if (is_a(child, \"Component\")) {\n logger.debug(\"append: child is a Component\");\n logger.debug(`appending the body of ${child.name}`);\n }\n if (typeof this.body !== \"undefined\") {\n logger.debug(\"append element\");\n if (arguments.length > 0) {\n logger.debug(\"append to element\");\n if (typeof this.body !== \"string\") {\n if (typeof (this.body as IQCObjectsElement)?.append !== \"undefined\") {\n (this?.body as IQCObjectsElement)?.append(child);\n } else {\n throw Error(\"body.append is undefined. That means the body is not well formed.\");\n }\n } else {\n this.append(child);\n }\n if (typeof this.childs === \"undefined\") {\n this.childs = [];\n }\n this.childs.push(child);\n } else {\n if (isBrowser) {\n logger.debug(\"append to body\");\n document.body.append(child);\n }\n }\n }\n }\n\n attachIn(tag: any) {\n if (isBrowser) {\n const tags = (document as any).subelements(tag);\n for (let i = 0, j = tags.length; i < j; i++) {\n tags[i].append(this as any);\n }\n } else {\n throw new Error(\"attachIn not yet implemented for non browser platforms\");\n }\n }\n\n };\n\n // remove the keys from definition that exist in the prototype\n\n _QC_CLASSES[name] = _CastProps(definition, _QC_CLASSES[name]);\n _QC_CLASSES[name].__definition = definition;\n _QC_CLASSES[name].__definition.__classType = name;\n\n (_top as any)[name] = _QC_CLASSES[name];\n\n return _QC_CLASSES[name] as InheritClass;\n};\nif (typeof Class.prototype !== \"undefined\") {\n Class.prototype.toString = function () {\n return \"Class(name, type, definition) { [QCObjects native code] }\";\n };\n}\n\n", "/**\n * Returns the QCObjects Class Factory of a given ClassName\n *\n * @param {String} name\n */\n\nimport { __is_raw_class__ } from \"./is_raw_class\";\nimport { _QC_CLASSES, _QC_PACKAGES, get_QC_CLASS } from \"./PrimaryCollections\";\nimport { TClassFactory } from \"types\";\n\nexport const ClassFactory:TClassFactory = (className:string):any => {\n let _classFactory;\n if (typeof className === \"undefined\" || className === null) {\n throw Error (\"You need to pass a parameter {className}\");\n }\n if (className !== null && className.indexOf(\".\") !== -1) {\n const packageName = className.split(\".\").slice(0, className.split(\".\").length - 1).join(\".\");\n const _className = className.split(\".\").slice(-1).join(\"\");\n const _package = _QC_PACKAGES[packageName] || [];\n const packageClasses = _package.filter((classFactory:any) => {\n return (__is_raw_class__(classFactory));\n }).reverse();\n if (packageClasses.length > 0) {\n _classFactory = packageClasses[0];\n } else {\n throw Error(`Class ${_className} not found. Found classes: ${JSON.stringify(packageClasses)} in package ${packageName}`);\n }\n } else if (className !== null) {\n _classFactory = get_QC_CLASS(className);\n if (typeof _classFactory === \"undefined\"){\n throw new Error (`${className} is undefined.`); \n }\n } else {\n throw Error(`className is null. Unable to retrieve the class factory.\\n Not found in: \\n ${Object.keys(_QC_CLASSES).join(\"\\n\")}`);\n }\n return _classFactory;\n};\n", "export class Base64 {\n static _keyStr: string = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n static encode(e: string): string {\n let t = \"\";\n let n: number, r: number, i: number, s: number, o: number, u: number, a: number;\n let f = 0;\n e = Base64._utf8_encode(e);\n while (f < e.length) {\n n = e.charCodeAt(f++);\n r = e.charCodeAt(f++);\n i = e.charCodeAt(f++);\n s = n >> 2;\n o = (n & 3) << 4 | r >> 4;\n u = (r & 15) << 2 | i >> 6;\n a = i & 63;\n if (isNaN(r)) {\n u = a = 64;\n } else if (isNaN(i)) {\n a = 64;\n }\n t = t + this._keyStr.charAt(s) + this._keyStr.charAt(o) + this._keyStr.charAt(u) + this._keyStr.charAt(a);\n }\n return t;\n }\n static decode(e: string): string {\n let t = \"\";\n let n: number, r: number, i: number;\n let s: number, o: number, u: number, a: number;\n let f = 0;\n e = e.replace(/[^A-Za-z0-9+/=]/g, \"\");\n while (f < e.length) {\n s = this._keyStr.indexOf(e.charAt(f++));\n o = this._keyStr.indexOf(e.charAt(f++));\n u = this._keyStr.indexOf(e.charAt(f++));\n a = this._keyStr.indexOf(e.charAt(f++));\n n = s << 2 | o >> 4;\n r = (o & 15) << 4 | u >> 2;\n i = (u & 3) << 6 | a;\n t = t + String.fromCharCode(n);\n if (u !== 64) {\n t = t + String.fromCharCode(r);\n }\n if (a !== 64) {\n t = t + String.fromCharCode(i);\n }\n }\n t = Base64._utf8_decode(t);\n return t;\n }\n static _utf8_encode(e: string): string {\n e = e.replace(/rn/g, \"n\");\n let t = \"\";\n for (let n = 0; n < e.length; n++) {\n const r = e.charCodeAt(n);\n if (r < 128) {\n t += String.fromCharCode(r);\n } else if (r > 127 && r < 2048) {\n t += String.fromCharCode(r >> 6 | 192);\n t += String.fromCharCode(r & 63 | 128);\n } else {\n t += String.fromCharCode(r >> 12 | 224);\n t += String.fromCharCode(r >> 6 & 63 | 128);\n t += String.fromCharCode(r & 63 | 128);\n }\n }\n return t;\n }\n static _utf8_decode(e: string): string {\n let t = \"\";\n let n = 0;\n let r = 0;\n let c2 = 0;\n let c3: number;\n while (n < e.length) {\n r = e.charCodeAt(n);\n if (r < 128) {\n t += String.fromCharCode(r);\n n++;\n } else if (r > 191 && r < 224) {\n c2 = e.charCodeAt(n + 1);\n t += String.fromCharCode((r & 31) << 6 | c2 & 63);\n n += 2;\n } else {\n c2 = e.charCodeAt(n + 1);\n c3 = e.charCodeAt(n + 2);\n t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63);\n n += 3;\n }\n }\n return t;\n }\n};", "import { isBrowser } from \"./platform\";\nimport process from \"node:process\";\n\nexport var _basePath_:string = (\n function ():string {\n let _basePath:string = \"\";\n if (isBrowser) {\n const baseURI:string[] = document.baseURI.split(\"?\")[0].split(\"/\");\n baseURI.pop();\n _basePath = baseURI.join(\"/\") + \"/\";\n } else {\n if (typeof process !== \"undefined\") {\n _basePath = `${(process).cwd()}/`;\n } else {\n _basePath = \"\";\n }\n }\n return _basePath;\n }\n )();\n\nexport const setBasePath = (value:string):void => { _basePath_ = value;};", "import { _LegacyCopy } from \"./LegacyCopy\";\n\nexport const _DataStringify = (data: any): string => {\n const getCircularReplacer = function () {\n const seen = new WeakSet();\n let _level = 0;\n return function (key: string, value: any): any {\n if (typeof value === \"object\" && value !== null) {\n if (seen.has(value)) {\n _level += 1;\n return (_level <= 3) ? (_LegacyCopy(value)) : (null);\n }\n seen.add(value);\n }\n return value;\n };\n };\n return JSON.stringify(data, getCircularReplacer());\n};\n", "export const _domain_:string = (typeof location !== \"undefined\" && location.hostname !== \"\") ? (location.hostname) : (\"localhost\");\n", " /**\n * Creates an object from a Class definition\n *\n * @param {QC_Object} o\n * @param {Object} args\n */\n\n export const New = function (__class__:any, args = {}):any {\n args = (arguments.length > 1) ? (args) : ({});\n return (typeof __class__ === \"undefined\") ? (new Object()) : (new __class__(args));\n };\n \n New.prototype.toString = function () {\n return \"New(QCObjectsClassName, args) { [QCObjects native code] }\";\n };", "import { isBrowser } from \"./platform\";\n\nexport const _secretKey:string = (isBrowser)?(location.host):(\"secret\");", "import { _ICrypt } from \"types\";\nimport { Base64 } from \"./Base64\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\nimport { _secretKey } from \"./secretKey\";\n\n\nexport class _Crypt extends InheritClass implements _ICrypt {\n string: string = \"\";\n key: string = \"\";\n // eslint-disable-next-line no-unused-vars\n encrypt(_string_: string, key: string): string {\n throw new Error(\"Method not implemented.\");\n }\n // eslint-disable-next-line no-unused-vars\n decrypt(_string_: string, key: string): string {\n throw new Error(\"Method not implemented.\");\n }\n last_string = \"\";\n last_key = \"\";\n construct = false;\n _new_(o: { string?: string; key: string; }):void {\n const string = o.string;\n let key: string = (Object.hasOwn(o, \"key\")) ? (o.key) : (\"\");\n this.__new__(o);\n key = (key === \"\") ? (this.__instanceID.toString()) : (key);\n this.last_key = key;\n this.last_string = string as string;\n this.construct = true;\n }\n _encrypt(): string {\n const string = this.string;\n const key = this.key;\n let result = \"\";\n let char;\n let keychar;\n for (let i = 0; i < string.length; i++) {\n char = string.substr(i, 1);\n keychar = key.substr((i % key.length) - 1, 1);\n char = String.fromCharCode(char.charCodeAt(0) + keychar.charCodeAt(0));\n result += char;\n }\n this.last_string = Base64.encode(result);\n return this.last_string;\n }\n _decrypt(): string {\n let string = this.string;\n const key = this.key;\n let result = \"\";\n let char;\n let keychar;\n string = Base64.decode(string);\n for (let i = 0; i < string.length; i++) {\n char = string.substr(i, 1);\n keychar = key.substr((i % key.length) - 1, 1);\n char = String.fromCharCode(char.charCodeAt(0) - keychar.charCodeAt(0));\n result += char;\n }\n\n this.last_string = result;\n return this.last_string;\n }\n static encrypt(string: string, key: string): string {\n const crypt = new _Crypt({\n string,\n key: (key !== \"\") ? (key) : (\"12345678ABC\")\n });\n return crypt._encrypt();\n }\n static decrypt(string: string, key: string):string {\n const crypt = new _Crypt({\n string,\n key: (key !== \"\") ? (key) : (\"12345678ABC\")\n });\n return crypt._decrypt();\n }\n}\n\nexport const _CryptObject = function (o: any): string {\n return _Crypt.encrypt(_DataStringify(o), _secretKey);\n};\nexport const _DecryptObject = function (s: string): any {\n return (s === \"\") ? ({}) : (JSON.parse(_Crypt.decrypt(s, _secretKey)));\n};\n\nPackage(\"com.qcobjects\", [_Crypt]);", "import { _basePath_ } from \"./basePath\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\n\ntype TConfigSettings = {\n [key: string]: any,\n relativeImportPath:string,\n remoteImportsPath:string,\n remoteSDKPath:string,\n asynchronousImportsLoad:boolean,\n removePackageScriptAfterLoading:boolean,\n componentsBasePath:string,\n delayForReady:number,\n preserveComponentBodyTag:false,\n useConfigService:false,\n routingWay:string,\n useSDK:boolean,\n useLocalSDK:boolean,\n basePath:string\n};\n\n\nexport class ConfigSettings extends InheritClass {\n public _CONFIG: TConfigSettings = {\n \"relativeImportPath\": \"\",\n \"remoteImportsPath\": \"\",\n \"remoteSDKPath\": \"https://sdk.qcobjects.dev/\",\n \"asynchronousImportsLoad\": false,\n \"removePackageScriptAfterLoading\": true,\n \"componentsBasePath\": \"\",\n \"delayForReady\": 0,\n \"preserveComponentBodyTag\": false,\n \"useConfigService\": false,\n \"routingWay\": \"hash\",\n \"useSDK\": true,\n \"useLocalSDK\": false,\n \"basePath\": _basePath_\n };\n protected static _instance: ConfigSettings;\n public _CONFIG_ENC = \"\";\n\n set(name:string, value:any):void {\n this._CONFIG[name] = value;\n }\n\n get(name:string, _defaultValue?:any):any {\n return this._CONFIG[name] || _defaultValue;\n }\n\n static get instance():ConfigSettings {\n\n if (typeof ConfigSettings._instance === \"undefined\") {\n ConfigSettings._instance = new ConfigSettings();\n }\n\n return ConfigSettings._instance;\n }\n\n\n}\n\nPackage(\"com.qcobjects\", [ConfigSettings]);\n", "import { setBasePath } from \"./basePath\";\nimport { _CastProps } from \"./Cast\";\nimport { _Crypt, _CryptObject, _DecryptObject } from \"./Crypt\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { logger } from \"./Logger\";\nimport { GlobalProcessor as Processor } from \"./Processor\";\nimport { _secretKey } from \"./secretKey\";\nimport { Package } from \"./Package\";\nimport { InheritClass } from \"./InheritClass\";\nimport { ICONFIG } from \"types\";\nimport { ConfigSettings } from \"./ConfigSettings\";\n\n\nexport class CONFIG extends InheritClass implements ICONFIG {\n\n get _CONFIG_ENC(): string {\n return ConfigSettings.instance._CONFIG_ENC;\n }\n\n get _CONFIG(): unknown {\n return ConfigSettings.instance._CONFIG as unknown;\n }\n\n set(name: string, value: unknown):void {\n logger.debug(`CONFIG.set ${name}: ${value as string}`);\n // hack to force update basePath from CONFIG\n if (name === \"basePath\") {\n setBasePath(value as string);\n }\n let _conf;\n try {\n _conf = (\n function (config): any {\n if (config._CONFIG_ENC === null) {\n config._CONFIG_ENC = _Crypt.encrypt(_DataStringify({}), _secretKey);\n }\n const _protectedEnc = config._CONFIG_ENC.valueOf();\n const _protectedConf = config._CONFIG?.valueOf();\n return _CastProps(_protectedConf, _DecryptObject(_protectedEnc));\n }\n )(ConfigSettings.instance);\n } catch (e) {\n _conf = {};\n console.error(e);\n logger.debug(\"failed to encrypt config\");\n }\n\n _conf[name] = value;\n ConfigSettings.instance._CONFIG_ENC = _CryptObject(_conf);\n ConfigSettings.instance.set(name, value);\n }\n\n get(name: string, _default?: unknown): any {\n let _value;\n try {\n const _conf = (\n function (config): any {\n if (config._CONFIG_ENC === null) {\n config._CONFIG_ENC = _Crypt.encrypt(_DataStringify({}), _secretKey);\n }\n const _protectedEnc = config._CONFIG_ENC.valueOf();\n const _protectedConf = config._CONFIG.valueOf();\n return _CastProps(_protectedConf, _DecryptObject(_protectedEnc));\n }\n )(ConfigSettings.instance);\n if (typeof _conf[name] !== \"undefined\") {\n _value = _conf[name];\n }\n } catch (e) {\n console.error(e);\n logger.debug(\"Something wrong when trying to get CONFIG values\");\n logger.debug(\"No config value for: \" + name);\n _value = _default;\n }\n return Processor.processObject(_value) || _default;\n }\n\n private static _instance:CONFIG;\n static get instance ():CONFIG {\n if (typeof CONFIG._instance === \"undefined\") {\n CONFIG._instance = new CONFIG();\n }\n return CONFIG._instance;\n }\n\n static set(name: string, value: unknown):void {\n (CONFIG.instance.set(name, value));\n }\n static get(name: string, value?: unknown): any {\n return (CONFIG.instance.get(name, value));\n }\n\n}\n\n\nPackage(\"com.qcobjects\", [CONFIG]);", "import { type IComponent, type IProcessor } from \"types\";\nimport { CONFIG } from \"./CONFIG\";\nimport { InheritClass } from \"./InheritClass\";\nimport { New } from \"./New\";\nimport { _top } from \"./top\";\nimport { Component } from \"./Component\";\nimport { Package } from \"./Package\";\n\nexport class Processor extends InheritClass implements IProcessor {\n protected static _instance: IProcessor | undefined;\n constructor({ component, processors }: { component: IComponent | null, processors?: any }) {\n super({ component });\n if (typeof processors !== \"undefined\") {\n this.processors = Object.assign(processors, Processor.instance.processors);\n }\n }\n\n processors: any = {\n \"config\"(component: Component, arg: string): string {\n return CONFIG.get(arg, \"\") as string;\n },\n \"ENV\"(component: Component, arg: string): string {\n return (typeof process !== \"undefined\") ? (process.env[arg] as string) : (\"\");\n },\n \"global\"(component: Component, arg: string): string {\n return (typeof _top !== \"undefined\") ? ((_top as any)[arg] as string) : (\"\");\n }\n };\n\n static get instance(): IProcessor {\n if (typeof Processor._instance === \"undefined\") {\n Processor._instance = new Processor({ component: null });\n }\n return Processor._instance;\n }\n\n setProcessor(_proc_: Function):void {\n if (typeof _proc_ === \"function\" && _proc_.name !== \"\") {\n this.processors[_proc_.name] = _proc_;\n }\n }\n\n component!: IComponent | null;\n\n\n execute(component: IComponent, processorName: string, args: string): string {\n const processorHandler = (typeof component !== \"undefined\" && component !== null) ? (component.processorHandler) : (this);\n return processorHandler?.processors[processorName].bind(processorHandler).apply(processorHandler, [component, args?.split(\",\")]) as string;\n }\n\n process(template: string, component: IComponent | null = null):string {\n const processorHandler = (component !== null) ? (component.processorHandler) : (New(Processor, { component: null }));\n if (typeof template === \"string\") {\n Object.keys(processorHandler.processors).map((funcName) => {\n return [...template.matchAll(new RegExp(\"\\\\$\" + funcName + \"\\\\((.*)\\\\).*\", \"g\"))].map(\n function (procesorMatch) {\n const match0 = `$${funcName}(${procesorMatch[1]})`;\n template = template.replace(match0, processorHandler.execute.bind(processorHandler).call(processorHandler, component, funcName, procesorMatch[1]));\n return procesorMatch;\n }\n );\n });\n }\n return template;\n }\n\n processObject(obj: any, component: IComponent | null = null): any {\n let __instance__: IProcessor | undefined = (component === null) ? (this) : (component.processorHandler);\n if (typeof __instance__ === \"undefined\") {\n __instance__ = new Processor({ component });\n }\n if (typeof obj === \"object\") {\n Object.keys(obj).map(\n (_k) => {\n if (typeof obj[_k] === \"object\" && !Object.hasOwn(obj[_k], \"call\")) {\n obj[_k] = __instance__?.processObject.bind(__instance__)(obj[_k], component as IComponent);\n } else if (typeof obj[_k] === \"string\") {\n obj[_k] = __instance__?.process.bind(__instance__)(obj[_k], component as IComponent);\n }\n return _k;\n }\n );\n } else if (typeof obj === \"string\") {\n obj = __instance__.process.bind(__instance__)(obj, component as IComponent);\n }\n return obj;\n }\n\n}\n\nexport const GlobalProcessor: IProcessor = Processor.instance;\n\nPackage(\"com.qcobjects\", [Processor]);", "import { TComponentRouting } from \"types\";\n\nexport const __routing_params__ = (routing:TComponentRouting, routingPath:string):object => {\n const standardRoutingPath = routing.path.replace(/{(.*?)}/g, \"(?<$1>.*)\"); // allowing {param}\n return {\n ...[...routingPath.matchAll((new RegExp(standardRoutingPath, \"g\")))][0].groups\n };\n};\n\nexport const __valid_routings__ = function (routings:TComponentRouting[], routingPath:string):TComponentRouting[] {\n return routings.filter(function (routing) {\n const standardRoutingPath = routing.path.replace(/{(.*?)}/g, \"(?<$1>.*)\");\n return (new RegExp(standardRoutingPath, \"g\")).test(routingPath);\n }).reverse();\n};\nexport const __valid_routing_way__ = (validRoutingWays:string[], routingWay:string):boolean => {\n return validRoutingWays.includes(routingWay);\n};\n", "import { TAsyncLoadCallback } from \"types\";\nimport { Export } from \"./Export\";\nimport { isBrowser } from \"./platform\";\nimport { _top } from \"./top\";\n\nexport const _asyncLoad:any[] = [];\nexport function asyncLoad(callback: TAsyncLoadCallback, args?: any[]): any {\n\n class AsyncCallback {\n func:TAsyncLoadCallback;\n args?:any[];\n constructor(callback: TAsyncLoadCallback, args: any[] = []) {\n this.func = callback;\n this.args = args;\n } \n dispatch() {\n ((this as AsyncCallback).func as Function).apply(this, ...args as [], this);\n }\n }\n _asyncLoad.push((new AsyncCallback(callback, args)) as unknown as never);\n return AsyncCallback;\n}\n\nexport const _fireAsyncLoad = ():void => {\n if (isBrowser){\n document.addEventListener(\"readystatechange\", () => {\n if (document.readyState === \"complete\") {\n // eslint-disable-next-line array-callback-return\n _asyncLoad.map(function (fc) {\n (fc).dispatch.call(fc);\n });\n }\n });\n } else if (typeof _top.global !== \"undefined\") {\n // eslint-disable-next-line array-callback-return\n _asyncLoad.map(function (fc) {\n (fc).dispatch.call(fc);\n });\n }\n };\n\nExport(asyncLoad);", "import { Base64 } from \"./Base64\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { logger } from \"./Logger\";\n\nexport class ComplexStorageCache {\n\n constructor(params: { index: any; load: any; alternate: any; }) {\n let load, alternate;\n const object = params.index;\n if (typeof object !== \"undefined\") {\n load = params.load;\n alternate = params.alternate;\n const cachedObjectID = this.getID(object);\n const cachedResponse = localStorage.getItem(cachedObjectID as string);\n if (this.isEmpty(cachedResponse)) {\n const cachedNewResponse = load.call(null, {\n cachedObjectID,\n cachedResponse,\n \"cache\": this\n });\n this.save(object, cachedNewResponse);\n logger.debug(\"RESPONSE OF {{cachedObjectID}} CACHED\".replace(\"{{cachedObjectID}}\", cachedObjectID as string));\n } else {\n alternate.call(null, {\n cachedObjectID,\n cachedResponse,\n \"cache\": this\n });\n logger.debug(\"RESPONSE OF {{cachedObjectID}} IS ALREADY CACHED \".replace(\"{{cachedObjectID}}\", cachedObjectID as string));\n }\n\n } else {\n throw new Error(\"ComplexStorageCache: index is undefined\");\n }\n return this;\n }\n\n getItem(cachedObjectID: string):any {\n const retrievedObject = localStorage.getItem(cachedObjectID);\n if (!this.isEmpty(retrievedObject)) {\n return JSON.parse(retrievedObject as string);\n } else {\n return null;\n }\n }\n\n\n setItem(cachedObjectID: string, value: any):void {\n localStorage.setItem(cachedObjectID, _DataStringify(value));\n }\n\n isEmpty(object: string | number | null):boolean {\n let r = false;\n switch (true) {\n case (typeof object === \"undefined\"):\n case (typeof object === \"string\" && object === \"\"):\n case (typeof object === \"string\" && object === \"undefined\"):\n case (typeof object === \"number\" && object === 0):\n case (object === null):\n r = true;\n break;\n default:\n r = false;\n }\n return r;\n }\n\n\n getID(object: any):string|undefined {\n let cachedObjectID;\n if (typeof object !== \"undefined\") {\n cachedObjectID = \"cachedObject_\" + Base64.encode(_DataStringify(object).replace(/\\{|\\}|,/g, \"_\"));\n }\n return cachedObjectID;\n }\n\n save(object: any, cachedNewResponse: any):void {\n const cachedObjectID = this.getID(object);\n logger.debug(\"CACHING THE RESPONSE OF {{cachedObjectID}} \".replace(\"{{cachedObjectID}}\", cachedObjectID as string));\n this.setItem(cachedObjectID as string, cachedNewResponse);\n }\n\n getCached(object: any):any {\n const cachedObjectID = this.getID(object);\n return this.getItem(cachedObjectID as string);\n }\n\n clear():void {\n Object.keys(localStorage).filter(function (k) {\n return k.startsWith(\"cachedObject_\");\n }).map(function (c):any {\n localStorage.removeItem(c);\n return c;\n });\n }\n\n}\n", "import { IService, TCacheController } from \"types\";\nimport { asyncLoad } from \"./asyncLoad\";\nimport { ComplexStorageCache } from \"./ComplexStorageCache\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { logger } from \"./Logger\";\nimport { _require_, isBrowser } from \"./platform\";\nimport { _top } from \"./top\";\n\n/**\n * Loads a simple component from a template\n *\n * @author: Jean Machuca <correojean@gmail.com>\n * @param service a Service object\n */\nexport const serviceLoader = function (service:IService, _async = false):Promise<unknown>|undefined {\n const _serviceLoaderInBrowser = function (service:IService):Promise<unknown> {\n var _promise = new Promise(\n function (resolve, reject) {\n\n logger.debug(\"LOADING SERVICE DATA {{DATA}} FROM {{URL}}\".replace(\"{{DATA}}\", _DataStringify(service.data)).replace(\"{{URL}}\", service.url));\n const xhr = new XMLHttpRequest();\n xhr.withCredentials = service.withCredentials;\n const xhrasync = true; // always async because xhr sync is deprecated\n xhr.open(service.method, service.url, xhrasync);\n for (const header in service.headers) {\n try {\n if (typeof service.headers[header] !== \"function\") {\n xhr.setRequestHeader(header, service.headers[header]);\n }\n } catch (e:any) {\n logger.debug(\"Something went wrong when assign the header \" + header);\n logger.debug(`An error ocurred: ${e}`);\n }\n }\n xhr.onload = function () {\n if (xhr.status === 200) {\n const response = xhr.responseText;\n logger.debug(\"Data received {{DATA}}\".replace(\"{{DATA}}\", _DataStringify(response)));\n logger.debug(\"CREATING SERVICE {{NAME}}\".replace(\"{{NAME}}\", service.name));\n service.template = response;\n if (service.cached && (typeof cache !== \"undefined\")) {\n cache.save(service.name, service.template);\n }\n if (typeof service.done === \"function\") {\n var standardResponse = {\n \"request\": xhr,\n service\n };\n service.done.call(service, standardResponse);\n resolve.call(_promise, standardResponse);\n }\n } else {\n if (typeof service.fail === \"function\") {\n var standardResponse = {\n \"request\": xhr,\n service\n };\n service.fail.call(service, standardResponse);\n reject.call(_promise, standardResponse);\n }\n }\n };\n\n const _directLoad = function () {\n logger.debug(\"SENDING THE NORMAL REQUEST \");\n try {\n xhr.send(_DataStringify(service.data));\n } catch (e:any) {\n logger.debug(\"SOMETHING WRONG WITH REQUEST \");\n logger.debug(`An error ocurred: ${e}`);\n reject.call(_promise, {\n request: xhr,\n service\n });\n }\n };\n\n if (service.cached) {\n var cache = new ComplexStorageCache({\n index: service.data,\n load() {\n _directLoad.call(this);\n },\n alternate(cacheController:TCacheController) {\n if (service.method === \"GET\") {\n service.template = cacheController.cache.getCached(service.name);\n if (typeof service.done === \"function\") {\n const standardResponse = {\n \"request\": xhr,\n service\n };\n service.done.call(service, standardResponse);\n resolve.call(_promise, standardResponse);\n }\n } else {\n _directLoad();\n }\n \n }\n });\n (_top as any).lastCache = cache;\n } else {\n _directLoad();\n }\n\n return xhr;\n }\n );\n return _promise;\n };\n\n const _serviceLoaderInNode = function (service:IService) {\n var _promise = new Promise(\n function (resolve, reject) {\n if (typeof URL === \"undefined\") {\n global.URL = (_require_(\"url\")).URL;\n // eslint-disable-next-line no-unused-vars\n const URL = global.URL;\n }\n const serviceURL = new URL(service.url);\n var req;\n service.useHTTP2 = Object.hasOwn(service, \"useHTTP2\") && service.useHTTP2;\n\n\n const captureEvents = function (req:any) {\n logger.debug(\"LOADING SERVICE DATA (non-browser) {{DATA}} FROM {{URL}}\".replace(\"{{DATA}}\", _DataStringify(service.data)).replace(\"{{URL}}\", service.url));\n let dataXML:any;\n const standardResponse = {\n \"http2Client\": client,\n \"request\": req,\n service,\n \"responseHeaders\": null\n };\n\n if (typeof service.data === \"object\" && service.data !== null) {\n if (service.useHTTP2) {\n try {\n logger.debug(\"Sending data...\");\n const buffer = new Buffer(_DataStringify(service.data));\n req.write(buffer);\n } catch (e:any) {\n logger.debug(\"It was not possible to send any data\");\n logger.debug(`An error ocurred: ${e}`);\n }\n }\n }\n\n dataXML = \"\";\n req.on(\"response\", (responseHeaders:any) => {\n logger.debug(\"receiving response...\");\n standardResponse.responseHeaders = responseHeaders;\n /*\n for (const name in responseHeaders) {\n logger.debug(`${name}: ${responseHeaders[name]}`);\n }\n */\n dataXML = \"\";\n });\n req.on(\"data\", (chunk:any) => {\n logger.debug(\"receiving data...\");\n // do something with the data\n dataXML += \"\" + chunk.toString();\n service.template = dataXML;\n });\n if (service.useHTTP2) {\n req.resume();\n }\n req.on(\"end\", () => {\n logger.debug(\"ending call...\");\n service.template = dataXML;\n if (Object.hasOwn(service, \"useHTTP2\") && service.useHTTP2) {\n client.destroy();\n } else {\n req.destroy();\n }\n service.done.call(service, standardResponse);\n resolve.call(_promise, standardResponse);\n });\n if (service.useHTTP2) {\n req.end();\n }\n\n };\n\n try {\n let requestOptions;\n if (service.useHTTP2) {\n logger.debug(\"using http2\");\n const http2 = _require_(\"http2\");\n var client = (http2).connect(serviceURL.origin);\n requestOptions = Object.assign({\n \":method\": service.method,\n \":path\": serviceURL.pathname\n }, service.options);\n requestOptions = Object.assign(requestOptions, service.headers);\n req = client.request(requestOptions);\n req.setEncoding(\"utf8\");\n captureEvents(req);\n } else {\n if (serviceURL.protocol === \"http:\") {\n const http = _require_(\"http\");\n const request = (http).request;\n requestOptions = Object.assign({\n \"url\": service.url,\n headers: service.headers\n }, service.options);\n req = request(service.url);\n captureEvents(req);\n } else if (serviceURL.protocol === \"https:\") {\n const https = _require_(\"https\");\n requestOptions = Object.assign({\n hostname: serviceURL.hostname,\n port: serviceURL.port,\n path: serviceURL.pathname,\n method: service.method,\n headers: service.headers\n }, service.options);\n const _req_ = (https).request(requestOptions, function (req:any) {\n captureEvents(req);\n });\n _req_.end();\n } else {\n const e = \"Protocol not supported: \" + serviceURL.protocol;\n logger.debug(e);\n throw new Error(e);\n }\n }\n\n\n } catch (e:any) {\n logger.debug(e);\n service.fail.call(service, e);\n reject.call(_promise, e);\n\n }\n }).catch( (e:any) => {\n logger.debug(`Something happened when trying to call the service: ${service.name}. Error: ${e}`);\n service.fail.call(service, e);\n });\n return _promise;\n\n };\n\n const _serviceLoaderMockup = function (service:IService) {\n var _promise = new Promise(\n function (resolve) {\n logger.debug(`Calling mockup service ${service.name} ...`);\n const standardResponse = {\n \"request\": null,\n service,\n \"responseHeaders\": service.responseHeaders\n };\n if (typeof service.mockup === \"function\") {\n service.mockup.call(service, standardResponse);\n } else {\n service.done.call(service, standardResponse);\n }\n resolve.call(_promise, standardResponse);\n });\n return _promise;\n };\n const _serviceLoaderLocal = function (service:IService) {\n var _promise = new Promise(\n function (resolve) {\n logger.debug(`Calling local service ${service.name} ...`);\n const standardResponse = {\n \"request\": null,\n service,\n \"responseHeaders\": service.responseHeaders\n };\n if (typeof service.local === \"function\") {\n service.local.call(service, standardResponse);\n } else {\n service.done.call(service, standardResponse);\n }\n resolve.call(_promise, standardResponse);\n });\n return _promise;\n };\n\n let _ret_: Promise<unknown>;\n switch (service.kind) {\n case \"rest\":\n if (isBrowser) {\n if (typeof _async !== \"undefined\" && _async) {\n _ret_ = asyncLoad(_serviceLoaderInBrowser, [service, _async]);\n } else {\n _ret_ = _serviceLoaderInBrowser(service);\n }\n } else {\n _ret_ = _serviceLoaderInNode(service);\n }\n break;\n case \"mockup\":\n _ret_ = _serviceLoaderMockup(service);\n break;\n case \"local\":\n _ret_ = _serviceLoaderLocal(service);\n break;\n default:\n logger.debug(`The value of the kind property of the service ${service.name} is not valid`);\n _ret_ = Promise.resolve();\n break;\n }\n return _ret_;\n};\n", "export const _tag_filter_ = \"quick-component:not([loaded]),component:not([loaded])\";\n", "import { IComponent, TCacheController } from \"types\";\nimport { asyncLoad } from \"./asyncLoad\";\nimport { ComplexStorageCache } from \"./ComplexStorageCache\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { logger } from \"./Logger\";\nimport { is_phonegap, isBrowser } from \"./platform\";\nimport { _top } from \"./top\";\n\n/**\n * Loads a simple component from a template\n *\n * @author: Jean Machuca <correojean@gmail.com>\n * @param component a Component object\n */\nexport const componentLoader = function (component: IComponent, _async: boolean):Promise<any> {\n let __promise__: Promise<any>;\n const _componentLoaderInBrowser = function (component: IComponent) {\n __promise__ = new Promise(function (resolve, reject) {\n const _promise = component.__promise__;\n const container = (Object.hasOwn(component, \"container\") && typeof component.container !== \"undefined\" && component.container !== null) ? (component.container) : (component.body);\n if (container !== null) {\n const _feedComponent_ = function (component: { feedComponent: () => void; }) {\n component.feedComponent();\n const standardResponse = {\n \"request\": xhr,\n component\n };\n resolve.call(_promise, standardResponse);\n };\n logger.debug(\"LOADING COMPONENT DATA {{DATA}} FROM {{URL}}\".replace(\"{{DATA}}\", _DataStringify(component.data)).replace(\"{{URL}}\", component.url));\n\n const _componentLoaded = function () {\n const successStatus = (is_file) ? (0) : (200);\n if (xhr.status === successStatus) {\n const response = xhr.responseText;\n logger.debug(\"Data received {{DATA}}\".replace(\"{{DATA}}\", _DataStringify(response)));\n logger.debug(\"CREATING COMPONENT {{NAME}}\".replace(\"{{NAME}}\", component.name));\n component.template = response;\n if (component.cached && (typeof cache !== \"undefined\")) {\n cache.save(component.name, component.template);\n }\n _feedComponent_(component);\n } else {\n const standardResponse = {\n \"request\": xhr,\n component\n };\n reject.call(_promise, standardResponse);\n\n }\n };\n if (typeof component.template === \"string\" && component.template !== \"\") {\n // component already has a template it does not need to be reloaded\n _feedComponent_(component);\n } else {\n var is_file = !!(component.url.startsWith(\"file:\"));\n var xhr = new XMLHttpRequest();\n if (!is_file) {\n try {\n logger.debug(\"Calling the url of component in async mode.\");\n xhr.open(component.method, component.url, true);\n } catch (e:any) {\n logger.debug(`An error ocurred: ${e}.`);\n logger.debug(\"Last try has failed... The component cannot be loaded.\");\n }\n } else {\n if (\"fetch\" in _top) {\n logger.debug(\"I can use fetch...\");\n logger.debug(\"It is a file to be loaded, so I will try to use fetch\");\n fetch(component.url).then(response => {\n logger.debug(\"I got a response from fetch, so I'll feed the component\");\n response.text().then(text => {\n component.template = text;\n _feedComponent_(component);\n })\n .catch((e:any) => {throw new Error (`An error ocurred: ${e}`);});\n }).catch ((e:any) => {throw new Error (`An error ocurred: ${e}`);});\n }\n }\n if (!is_phonegap && !is_file) {\n xhr.setRequestHeader(\"Content-Type\", \"text/html\");\n }\n if (!is_file) {\n xhr.onload = _componentLoaded;\n }\n const _directLoad = function (is_file: boolean) {\n is_file = !((typeof is_file === \"undefined\" || !is_file));\n logger.debug(\"SENDING THE NORMAL REQUEST \");\n if (is_file) {\n if (!(\"fetch\" in _top)) {\n logger.debug(\"I have to try to load the file using xhr... \");\n xhr.send(null);\n if (xhr.status === XMLHttpRequest.DONE) {\n _componentLoaded();\n }\n }\n } else {\n logger.debug(\"Trying to send the data to the component... \");\n xhr.send(_DataStringify(component.data));\n }\n };\n\n if (component.cached && (!is_file)) {\n logger.debug(\"USING CACHE FOR COMPONENT: \" + component.name);\n var cache = new ComplexStorageCache({\n index: component.cacheIndex,\n load() {\n _directLoad.call(this, is_file);\n },\n alternate(cacheController: TCacheController) {\n if (component.method === \"GET\") {\n component.template = cacheController.cache.getCached(component.cacheIndex);\n _feedComponent_.call(this, component);\n } else {\n _directLoad.call(this, is_file);\n }\n \n }\n });\n (_top as any).lastCache = cache;\n } else {\n logger.debug(\"NOT USING CACHE FOR COMPONENT: \" + component.name);\n _directLoad(is_file);\n }\n\n }\n } else {\n logger.debug(\"CONTAINER DOESNT EXIST\");\n }\n });\n __promise__.then(function (standardResponse) {\n return component.__done__().then(function () {\n let _ret_;\n if (typeof component.done === \"function\") {\n _ret_ = component.done.call(component, standardResponse);\n }\n return Promise.resolve(_ret_);\n });\n }, function (standardResponse) {\n if (typeof component.fail === \"function\") {\n component.fail.call(component, standardResponse)\n .catch ((e:any)=> {throw new Error (`${e}`);});\n }\n return Promise.reject(new Error (\"An error ocurred\"));\n }).catch(function (e:any) {\n logger.debug(\"Something wrong loading the component\");\n throw new Error (`An error ocurred: ${e}`);\n });\n return __promise__;\n };\n const _componentLoaderInNode = function (component: IComponent) {\n __promise__ = new Promise(function (resolve, reject) {\n const _promise = __promise__;\n const _feedComponent_ = function (component: IComponent) {\n component.feedComponent()\n .catch ((e:any) => {\n throw new Error (`An error ocurred trying to feed the component: ${component.name}. Error: ${e}`);\n });\n const standardResponse = {\n \"request\": null,\n component\n };\n resolve.call(_promise, standardResponse);\n };\n logger.debug(\"LOADING COMPONENT DATA {{DATA}} FROM {{URL}}\".replace(\"{{DATA}}\", _DataStringify(component.data)).replace(\"{{URL}}\", component.url));\n\n const _componentLoaded = function (err: any, responseText: { toString: () => any; }) {\n if (!err) {\n const response = responseText.toString();\n logger.debug(\"Data received {{DATA}}\".replace(\"{{DATA}}\", _DataStringify(response)));\n logger.debug(\"CREATING COMPONENT {{NAME}}\".replace(\"{{NAME}}\", component.name));\n component.template = response;\n if (component.cached && (typeof cache !== \"undefined\")) {\n cache.save(component.name, component.template);\n }\n _feedComponent_(component);\n } else {\n const standardResponse = {\n \"request\": null,\n component\n };\n reject.call(_promise, standardResponse);\n }\n };\n if (typeof component.template === \"string\" && component.template !== \"\") {\n // component already has a template it does not need to be reloaded\n _feedComponent_(component);\n } else {\n logger.debug(\"Loading the component as a local file in server...\");\n const _directLoad = function () {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const {readFile} = require(\"node:fs\");\n logger.debug(\"SENDING THE NORMAL REQUEST \");\n readFile(component.url, _componentLoaded);\n };\n\n if (component.cached) {\n logger.debug(\"USING CACHE FOR COMPONENT: \" + component.name);\n var cache = new ComplexStorageCache({\n index: component.cacheIndex,\n load() {\n _directLoad();\n },\n alternate(cacheController: TCacheController) {\n if (component.method === \"GET\") {\n component.template = cacheController.cache.getCached(component.cacheIndex);\n _feedComponent_.call(this, component);\n } else {\n _directLoad.call(this);\n }\n \n }\n });\n (_top as any).lastCache = cache;\n } else {\n logger.debug(\"NOT USING CACHE FOR COMPONENT: \" + component.name);\n _directLoad();\n }\n\n }\n });\n __promise__.then(function (standardResponse) {\n return component.__done__().then(function () {\n let _ret_;\n if (typeof component.done === \"function\") {\n _ret_ = component.done.call(component, standardResponse);\n }\n return Promise.resolve(_ret_);\n });\n }, function (standardResponse) {\n if (typeof component.fail === \"function\") {\n component.fail.call(component, standardResponse)\n .catch((e:any) => {throw new Error (`An error ocurred: ${e}`);});\n }\n return Promise.reject(new Error (\"An error ocurred.\"));\n }).catch(function (e) {\n logger.debug(`Something wrong loading the component: ${e}`);\n });\n return __promise__;\n };\n\n let _ret_;\n if (isBrowser) {\n if (typeof _async !== \"undefined\" && _async) {\n _ret_ = asyncLoad(_componentLoaderInBrowser, [component, _async]);\n } else {\n _ret_ = _componentLoaderInBrowser(component);\n }\n } else {\n _ret_ = _componentLoaderInNode(component);\n }\n return _ret_ as Promise<any>;\n};", "import { Base64 } from \"./Base64\";\nimport { _basePath_ } from \"./basePath\";\nimport { _Cast } from \"./Cast\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { _buildComponentsFromElements_, ComponentURI } from \"./ComponentFactory\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { _domain_ } from \"./domain\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { __getType__ } from \"./getType\";\nimport { InheritClass } from \"./InheritClass\";\nimport { _methods_, _protected_code_ } from \"./introspection\";\nimport { is_a } from \"./is_a\";\nimport { isQCObjects_Object } from \"./isQCObjects\";\nimport { logger } from \"./Logger\";\nimport { New } from \"./New\";\nimport { Package } from \"./Package\";\nimport { isBrowser } from \"./platform\";\nimport { Processor } from \"./Processor\";\nimport { __routing_params__, __valid_routing_way__, __valid_routings__ } from \"./routings\";\nimport { _top, componentsStack } from \"./top\";\nimport { CONFIG } from \"./CONFIG\";\nimport { serviceLoader } from \"./serviceLoader\";\nimport { _tag_filter_ } from \"./tag_filter\";\nimport { componentLoader } from \"./componentLoader\";\nimport { IComponent, IController, IEffect, IProcessor, IQCObjectsElement, IQCObjectsShadowedElement, IView, TBody, TComponentDoneResponse, TComponentParams, TComponentRouting, TComponentRoutings } from \"types\";\n\nexport class Component extends InheritClass implements IComponent {\n static shadowed: boolean | undefined = false;\n static cached: any = true;\n [key: string]: any;\n name!: string;\n templateURI!: string;\n url!: string;\n tplsource!: string;\n tplextension!: string;\n template!: string;\n validRoutingWays: string[] = [\"pathname\", \"hash\", \"search\"];\n basePath:string = _basePath_;\n domain:string = _domain_;\n templateHandler = \"DefaultTemplateHandler\";\n processorHandler?: IProcessor;\n routingWay: string | null = null;\n routingNodes: (IQCObjectsElement | HTMLElement)[] = [];\n routings: TComponentRoutings = [];\n routingPath = \"\";\n routingPaths: string[] = [];\n _componentHelpers: any[] = [];\n subcomponents: any[] = [];\n splashScreenComponent?: IComponent = undefined;\n controller?: IController = undefined;\n routingController?: IController = undefined;\n\n view?: IView = undefined;\n effect?: IEffect = undefined;\n effectClass!: string;\n method = \"GET\";\n cached?: boolean = true;\n __promise__?: Promise<any> | null = null;\n data!: any;\n __namespace?: string = undefined;\n protected _parsedAssignmentText!: string;\n protected __shadowRoot: any;\n protected _serviceClassName: string | null = null;\n enableServiceClass?: boolean | undefined = true;\n serviceInstance: any;\n serviceData: any;\n shadowed?: boolean = false;\n container: any;\n innerHTML: any;\n reload: any;\n static subcomponents: any;\n assignRoutingParams?: boolean = true;\n responseTo?: string | undefined;\n static responseTo?: string | undefined;\n\n constructor({\n __parent__,\n templateURI = \"\",\n template,\n tplsource = \"default\",\n tplextension,\n url = \"\",\n name = \"\",\n method = \"GET\",\n data = {},\n reload = false,\n shadowed = false,\n cached = true,\n enableServiceClass,\n assignRoutingParams = true,\n _body = _DOMCreateElement(\"div\"),\n __promise__ = null,\n __shadowRoot,\n body,\n shadowRoot,\n splashScreenComponent,\n controller,\n view\n }: TComponentParams) {\n if (arguments.length < 1) {\n throw Error(\"No arguments in component. You must at least give one argument.\");\n }\n super({\n __parent__,\n templateURI,\n template,\n tplsource,\n tplextension,\n url,\n name,\n method,\n data,\n reload,\n shadowed,\n cached,\n enableServiceClass,\n assignRoutingParams,\n _body,\n __promise__,\n __shadowRoot,\n body,\n shadowRoot,\n splashScreenComponent,\n controller,\n view\n });\n const self = this;\n\n if (typeof name !== \"undefined\") {\n self.name = name;\n }\n\n if (typeof self.name === \"undefined\" && typeof name === \"undefined\") {\n logger.warn(\"A name is not defined for \" + __getType__(self));\n }\n\n self.routingWay = CONFIG.get(\"routingWay\");\n\n self.processorHandler = new Processor({\n component: self\n });\n\n /* assign body data attributes to data */\n self.data = (typeof self.data === \"undefined\" || self.data === null) ? ({}) : (self.data);\n self.data = Object.assign(self.data, self.dataAttributes);\n\n self.createServiceInstance()\n .then(() => {\n if (typeof self.__new__ === \"function\") {\n self.__new__(self);\n }\n\n self._generateRoutingPaths(self.body)\n .then(function () {\n self._reroute_()\n .then(function () {\n return self.rebuild()\n .then(function () {\n logger.info(`Component._new_ The component ${self.name} was built successfully!`);\n }).catch(function (standardResponse) {\n logger.warn(`Component._new_ Something went wrong building the component ${self.name}`);\n console.error(`Component._new_ Something went wrong building the component ${self.name}`, standardResponse);\n });\n }).catch((e: any) => {\n throw Error(`Unexpected error ${e}`);\n });\n }).catch((e: any) => {\n throw Error(`Unexpected error ${e}`);\n });\n\n }).catch((e: any) => {\n throw Error(`Unexpected error. ${e}`);\n });\n\n }\n\n set cacheIndex(value) {\n // readonly\n logger.debug(\"[cacheIndex] This property is readonly\");\n }\n\n get cacheIndex():string {\n const self = this;\n const __routing_path__ = _DataStringify(self.routingPath);\n return Base64.encode(self.name + __routing_path__);\n }\n\n set parsedAssignmentText(value: string) {\n // readonly\n logger.debug(\"[parsedAssignmentText] This property is readonly\");\n }\n\n get parsedAssignmentText(): string {\n const self = this;\n self._parsedAssignmentText = self.parseTemplate(self.template);\n if (typeof self._parsedAssignmentText === \"undefined\") {\n throw Error(`[Component][${this.name}][parsedAssignmentText] Could not generate content!`);\n }\n return self._parsedAssignmentText;\n }\n\n\n set shadowRoot(value: IQCObjectsShadowedElement) {\n const self = this;\n if (typeof self.__shadowRoot === \"undefined\") {\n self.__shadowRoot = value;\n } else {\n logger.debug(\"[shadowRoot] This property can only be assigned once!\");\n }\n }\n\n get shadowRoot(): IQCObjectsShadowedElement {\n const self = this;\n return self.__shadowRoot as IQCObjectsShadowedElement;\n }\n\n\n set routingSelected(value: TComponentRouting[]) {\n logger.debug(\"[routingSelected] This is a read-only property of the component\");\n }\n\n get routingSelected(): TComponentRouting[] {\n const self = this;\n return __valid_routings__(self.routings, self.routingPath);\n }\n\n set routingParams(value) {\n logger.debug(\"[routingParams] This is a read-only property of the component\");\n }\n\n get routingParams(): object {\n const component = this;\n return [{}].concat(component.routingSelected.map(function (routing: any) {\n return __routing_params__(routing, component.routingPath);\n })).reduce(function (accumulator, colData) {\n return Object.assign(accumulator, colData);\n });\n }\n\n\n set serviceClassName(_serviceClassName: string) {\n this._serviceClassName = _serviceClassName;\n }\n\n get serviceClassName(): string | null {\n let _serviceClassName: string | null = \"\";\n if (isBrowser) {\n _serviceClassName = ((this.body as HTMLElement).getAttribute(\"serviceClass\") !== null) ? ((this.body as HTMLElement).getAttribute(\"serviceClass\")) : (\n this._serviceClassName\n );\n } else {\n _serviceClassName = this._serviceClassName;\n }\n return _serviceClassName;\n }\n\n protected get responseToData(): boolean {\n let _response_to_data_: boolean = false;\n if (isBrowser) {\n const responseToAttr = (this.body as HTMLElement).getAttribute(\"response-to\");\n _response_to_data_ = responseToAttr === \"data\" || this.responseTo === \"data\";\n } else {\n _response_to_data_ = this.responseTo === \"data\";\n }\n return _response_to_data_;\n }\n\n protected get responseToTemplate(): boolean {\n let _response_to_template_: boolean = false;\n if (isBrowser) {\n const responseToAttr = (this.body as HTMLElement).getAttribute(\"response-to\");\n _response_to_template_ = responseToAttr === \"template\" || this.responseTo === \"template\";\n } else {\n _response_to_template_ = this.responseTo === \"template\";\n }\n return _response_to_template_;\n }\n\n createServiceInstance(): Promise<JSON | string | null> {\n const component = this;\n let data = this.data;\n let __serviceClass: any;\n const __classDefinition = component.getClass().__definition;\n const _serviceClassName = component.serviceClassName;\n\n return new Promise(function (resolve, reject) {\n /* __enable_service_class__ = true by default */\n const __enable_service_class__ = component.enableServiceClass;\n let _response_to_data_ = component.responseToData;\n let _response_to_template_ = component.responseToTemplate;\n\n if (__enable_service_class__ && _serviceClassName !== null) {\n __serviceClass = ClassFactory(_serviceClassName);\n }\n if (!_response_to_data_ && __classDefinition && Object.hasOwn(__classDefinition, \"responseTo\")) {\n _response_to_data_ = (__classDefinition.responseTo === \"data\");\n } else if (!_response_to_data_ && Object.hasOwn(ClassFactory(\"Component\"), \"responseTo\")) {\n _response_to_data_ = ((ClassFactory(\"Component\") as Component).responseTo === \"data\");\n }\n if (!_response_to_template_ && __classDefinition && Object.hasOwn(__classDefinition, \"responseTo\")) {\n _response_to_template_ = (__classDefinition.responseTo === \"template\");\n } else if (!_response_to_template_ && Object.hasOwn(ClassFactory(\"Component\"), \"responseTo\")) {\n _response_to_template_ = ((ClassFactory(\"Component\") as Component).responseTo === \"template\");\n }\n\n if (typeof __serviceClass !== \"undefined\" &&\n (typeof __enable_service_class__ !== \"undefined\" &&\n __enable_service_class__ === true) &&\n (_response_to_data_ || _response_to_template_)\n ) {\n logger.info(\"Loading service \" + _serviceClassName);\n const serviceInstance = New(__serviceClass, {\n data\n });\n (serviceLoader(serviceInstance) as Promise<any>)?.then(function ({\n service\n }: { request: any, service: any }) {\n let serviceResponse;\n if (typeof service.JSONresponse !== \"undefined\" && service.JSONresponse !== null) {\n serviceResponse = service.JSONresponse;\n } else {\n serviceResponse = service.template;\n }\n if (_response_to_data_) {\n if (typeof data === \"object\" && typeof serviceResponse === \"object\") {\n data = Object.assign(data, serviceResponse);\n } else {\n data = serviceResponse;\n }\n component.data = data;\n }\n component.serviceInstance = serviceInstance;\n component.serviceData = data;\n\n if (_response_to_template_) {\n component.template = serviceResponse;\n }\n resolve(serviceResponse);\n }, function (rejectedResponse: Error) {\n logger.debug(`Service loading rejected for ${_serviceClassName} in ${component.name}`);\n reject(rejectedResponse);\n }).catch(function (e: any) {\n logger.debug(\"Something went wroing while trying to load the service \" + _serviceClassName);\n throw Error(`Error loading ${_serviceClassName} for ${component.name}. Detail: ${e}`);\n });\n } else {\n resolve(null);\n }\n });\n }\n\n _bindroute_():void {\n const _component_ = this;\n if (!(_component_ as any)._bindroute_.loaded) {\n if (isBrowser) {\n\n (_component_.hostElements(\"a\") as unknown as HTMLAnchorElement[]).map(function (a: HTMLAnchorElement) {\n (a as any).oldclick = a.onclick;\n a.onclick = function (e) {\n let _ret_ = true;\n if (!_top.global.get(\"routingPaths\")) {\n _top.global.set(\"routingPaths\", []);\n }\n const routingWay = CONFIG.get(\"routingWay\");\n const routingPath = (e.target as any)[routingWay];\n if (_top.global.get(\"routingPaths\").includes(routingPath) &&\n (e.target as any)[routingWay] !== (location as any)[routingWay] &&\n (e.target as HTMLAnchorElement).href !== document.location.href\n ) {\n logger.debug(\"A ROUTING WAS FOUND: \" + routingPath);\n window.history.pushState({\n href: (e.target as HTMLAnchorElement).href\n }, (e?.target as HTMLAnchorElement)?.href, (e.target as HTMLAnchorElement).href);\n Component.route().catch((e) => { throw Error(`Unexpected error: ${e}`); });\n _ret_ = false;\n } else {\n logger.debug(\"NO ROUTING FOUND FOR: \" + routingPath);\n }\n if (typeof (e.target as any).oldclick !== \"undefined\" && typeof (e.target as any).oldclick === \"function\") {\n (e.target as any).oldclick.call(e.target, e);\n }\n return _ret_;\n };\n return null;\n });\n\n } else {\n // not yet implemented.\n }\n (_component_ as any)._bindroute_.loaded = true;\n } else {\n logger.debug(`Routes already bound to popstate events for ${_component_.name}`);\n }\n\n }\n\n done(standardResponse?: TComponentDoneResponse): Promise<TComponentDoneResponse> {\n const _ret_ = new Promise<TComponentDoneResponse>((resolve) => {\n if (typeof standardResponse !== \"undefined\") {\n const { request, component } = standardResponse;\n resolve({ request, component });\n } else {\n resolve({ request: undefined, component: undefined });\n }\n });\n return _ret_;\n }\n\n createControllerInstance(): Promise<{ component: IComponent, controller: IController }> {\n let _Controller: any;\n if (isBrowser) {\n if (typeof this.body === \"undefined\") {\n throw new Error(\"The component has no body\");\n }\n var controllerName = (this.body as HTMLElement).getAttribute(\"controllerClass\");\n if (!controllerName) {\n controllerName = \"Controller\";\n }\n _Controller = ClassFactory(controllerName);\n if (typeof _Controller !== \"undefined\") {\n this.controller = New(_Controller, {\n component: this\n });\n }\n\n }\n\n return new Promise((resolve, reject) => {\n if (isBrowser) {\n if (typeof _Controller !== \"undefined\" && typeof this.controller !== \"undefined\") {\n if (typeof (this.controller).done === \"function\") {\n try {\n this.controller.done.call(this.controller);\n } catch (e: any) {\n throw Error(e);\n }\n } else {\n logger.debug(`${controllerName} does not have a done() method.`);\n reject(new Error(`${controllerName} does not have a done() method.`));\n }\n if (typeof this.controller.createRoutingController === \"function\") {\n this.controller.createRoutingController.call(this.controller);\n } else {\n logger.debug(`${controllerName} does not have a createRoutingController() method.`);\n }\n }\n }\n resolve({ component: this, controller: this.controller as IController });\n });\n }\n\n createEffectInstance(): Promise<{ component: Component, effect: IEffect }> {\n const _component_ = this;\n return new Promise(function (resolve) {\n if (isBrowser) {\n const effectClassName = (_component_.body as HTMLElement)?.getAttribute(\"effectClass\");\n let applyEffectTo = (_component_.body as HTMLElement)?.getAttribute(\"apply-effect-to\");\n applyEffectTo = (applyEffectTo !== null) ? (applyEffectTo) : (\"load\");\n if (effectClassName !== null && applyEffectTo === \"observe\") {\n _component_.applyObserveTransitionEffect(effectClassName);\n } else if (effectClassName !== null && applyEffectTo === \"load\") {\n _component_.applyTransitionEffect(effectClassName);\n }\n }\n resolve({ component: _component_, effect: _component_.effect as IEffect });\n });\n }\n\n createViewInstance(): Promise<{ component: Component, view: IView }> {\n const _component_ = this;\n return new Promise(function (resolve) {\n const viewName = (isBrowser) ? ((_component_.body as HTMLElement).getAttribute(\"viewClass\")) : (null);\n if (viewName !== null) {\n const _View = ClassFactory(viewName);\n if (typeof _View !== \"undefined\") {\n _component_.view = New(_View, {\n component: _component_\n }); // Initializes the main view for the component\n if (Object.hasOwn(_component_.view as object, \"done\") && typeof _component_.view?.done === \"function\") {\n _component_.view?.done.call(_component_.view);\n }\n }\n\n }\n resolve({ component: _component_, view: _component_.view as IView });\n\n });\n }\n\n __done__(): Promise<unknown> {\n const _component_ = this;\n const componentDone = function () {\n if (typeof _component_ === \"undefined\") {\n throw new Error(\"componentDone() has lost its context\");\n }\n if (typeof _component_.body === \"undefined\") {\n throw new Error(\"The component has no body\");\n }\n\n (async () => {\n await _component_.createViewInstance();\n await _component_.createControllerInstance();\n await _component_.createEffectInstance();\n })()\n .catch((e: any) => {\n throw new Error(`Unknown error ${e}.`);\n });\n\n logger.debug(`Trying to run component helpers for ${_component_.name}...`);\n try {\n _component_.runComponentHelpers();\n logger.debug(`Component helpers for ${_component_.name} executed.`);\n } catch (e: any) {\n logger.debug(`Component helpers for ${_component_.name} could not be executed.`);\n throw Error(e);\n }\n\n _component_.subcomponents = _component_.__buildSubComponents__();\n\n _component_._bindroute_();\n if (isBrowser) {\n (_component_.body as HTMLElement).setAttribute(\"loaded\", \"true\");\n }\n };\n\n return new Promise(function (resolve, reject) {\n try {\n resolve(componentDone.call(_component_));\n } catch (e: any) {\n reject(new Error(e));\n }\n });\n\n }\n\n hostElements(tagFilter: string): (IQCObjectsElement | HTMLElement | IQCObjectsShadowedElement)[] {\n const _component_ = this;\n let elementList: (IQCObjectsElement | HTMLElement | IQCObjectsShadowedElement)[] = [];\n if (isBrowser) {\n elementList = (_component_.shadowed && (typeof _component_.shadowRoot !== \"undefined\")) ? (\n _component_.shadowRoot.subelements(tagFilter) as IQCObjectsShadowedElement[]\n ) : (\n (_component_.body as IQCObjectsElement).subelements(tagFilter)\n );\n\n }\n return elementList;\n }\n\n get subtags(): (HTMLElement | IQCObjectsElement | IQCObjectsShadowedElement)[] {\n const _component_ = this;\n const tagFilter = _tag_filter_;\n return _component_.hostElements(tagFilter);\n }\n\n get bodyAttributes():any {\n const _component_ = this;\n const c = _component_.body;\n return (isBrowser) ? ([...(c as HTMLElement).getAttributeNames()].map(a => { return { [a]: (c as HTMLElement).getAttribute(a) }; }).reduce((accumulator, colData) => { return Object.assign(accumulator, colData); })) : ({});\n }\n\n get dataAttributes():any {\n const _component_ = this;\n const c = _component_.body;\n return (isBrowser) ? ([{}].concat([...(c as HTMLElement).getAttributeNames()].filter(n => n.startsWith(\"data-\")).map(a => { return { [a.split(\"-\")[1]]: (c as HTMLElement).getAttribute(a) }; })).reduce((accumulator, colData) => { return Object.assign(accumulator, colData); })) : ({});\n }\n\n __buildSubComponents__(rebuildObjects = false): any {\n const _component_: Component = this as Component;\n let elementList = _component_.subtags;\n if (!rebuildObjects) {\n elementList = (elementList as HTMLElement[]).filter((t: HTMLElement) => t.getAttribute(\"loaded\") !== \"true\") as unknown[] as IQCObjectsElement[];\n }\n if ((typeof _component_ !== \"undefined\") || (_component_ as Component).subcomponents.length < 1) {\n _component_.subcomponents = _buildComponentsFromElements_(elementList as HTMLElement[], _component_);\n }\n return _component_.subcomponents;\n }\n\n fail(standardResponse: { error: any; component: Component; }): Promise<{ error: any; component: Component; }> {\n const _ret_ = new Promise<{ error: any; component: Component; }>((resolve, reject) => {\n if (typeof standardResponse !== \"undefined\") {\n const { error, component } = standardResponse;\n resolve({ error, component });\n } else {\n reject(new Error(\" Unknown error.\"));\n }\n });\n return _ret_;\n }\n\n set(key: string, value: any):void {\n this[key] = value;\n }\n\n get(key: string, _defaultValue?: string): any {\n return this[key] || _defaultValue;\n }\n\n feedComponent(): Promise<any> {\n const _component_ = this;\n logger.debug(`[Component][${this.name}][feedComponent] start feeding component...`);\n const _feedComponent_InBrowser = function (_component_: Component): any {\n if (typeof _component_.container === \"undefined\" && typeof _component_.body === \"undefined\") {\n logger.warn(\"COMPONENT {{NAME}} has an undefined container and body\".replace(\"{{NAME}}\", _component_.name));\n return;\n }\n const container = (typeof _component_.container === \"undefined\" || _component_.container === null) ? (_component_.body) : (_component_.container);\n const parsedAssignmentText = _component_.parsedAssignmentText;\n _component_.innerHTML = parsedAssignmentText;\n if (_component_.shadowed) {\n logger.debug(\"COMPONENT {{NAME}} is shadowed\".replace(\"{{NAME}}\", _component_.name));\n logger.debug(\"Preparing slots for Shadowed COMPONENT {{NAME}}\".replace(\"{{NAME}}\", _component_.name));\n const tmp_shadowContainer = _DOMCreateElement(\"div\");\n container.subelements(\"[slot]\").map(\n (c: { parentElement: any; }): any => {\n if (c.parentElement === container) {\n tmp_shadowContainer.appendChild(c as any);\n }\n return c;\n });\n logger.debug(\"Creating shadowedContainer for COMPONENT {{NAME}}\".replace(\"{{NAME}}\", _component_.name));\n const shadowContainer = _DOMCreateElement(\"div\");\n shadowContainer.classList.add(\"shadowHost\");\n try {\n _component_.shadowRoot = shadowContainer.attachShadow({\n mode: \"open\"\n }) as IQCObjectsShadowedElement;\n } catch (e: any) {\n logger.debug(`An error ocurred: ${e}.`);\n try {\n logger.debug(\"Shadowed COMPONENT {{NAME}} is repeated\".replace(\"{{NAME}}\", _component_.name));\n _component_.shadowRoot = shadowContainer.shadowRoot as IQCObjectsShadowedElement;\n } catch (e: any) {\n logger.debug(`An error ocurred: ${e}.`);\n logger.warn(\"Shadowed COMPONENT {{NAME}} is not allowed on this browser\".replace(\"{{NAME}}\", _component_.name));\n }\n }\n if (typeof _component_.shadowRoot !== \"undefined\" && _component_.shadowRoot !== null) {\n if (_component_.reload) {\n logger.debug(\"FORCED RELOADING OF CONTAINER FOR Shadowed COMPONENT {{NAME}}\".replace(\"{{NAME}}\", _component_.name));\n if (shadowContainer !== null && shadowContainer.shadowRoot !== null) {\n shadowContainer.shadowRoot.innerHTML = _component_.innerHTML;\n }\n } else {\n tmp_shadowContainer.innerHTML = _component_.parseTemplate(tmp_shadowContainer.innerHTML);\n logger.debug(\"ADDING Shadowed COMPONENT {{NAME}} \".replace(\"{{NAME}}\", _component_.name));\n if (shadowContainer !== null && shadowContainer.shadowRoot !== null) {\n shadowContainer.shadowRoot.innerHTML += _component_.innerHTML;\n }\n }\n logger.debug(\"ADDING Slots to Shadowed COMPONENT {{NAME}} \".replace(\"{{NAME}}\", _component_.name));\n shadowContainer.innerHTML += tmp_shadowContainer.innerHTML;\n logger.debug(\"APPENDING Shadowed COMPONENT {{NAME}} to Container \".replace(\"{{NAME}}\", _component_.name));\n const qs = container.querySelector(\".shadowHost\");\n if (!(typeof qs !== \"undefined\" && qs !== null)) {\n container.appendChild(shadowContainer);\n } else {\n logger.debug(\"Shadowed Container for COMPONENT {{NAME}} is already present in the tree \".replace(\"{{NAME}}\", _component_.name));\n if (_component_.shadowRoot !== null && shadowContainer.shadowRoot !== null) {\n _component_.shadowRoot.innerHTML = shadowContainer.shadowRoot.innerHTML;\n }\n }\n } else {\n logger.warn(\"Shadowed COMPONENT {{NAME}} is bad configured\".replace(\"{{NAME}}\", _component_.name));\n }\n } else {\n if (_component_.reload) {\n logger.debug(\"FORCED RELOADING OF CONTAINER FOR COMPONENT {{NAME}}\".replace(\"{{NAME}}\", _component_.name));\n container.innerHTML = _component_.innerHTML;\n } else if (container && _component_) {\n logger.debug(\"ADDING COMPONENT {{NAME}} \".replace(\"{{NAME}}\", _component_.name));\n container.innerHTML += _component_.innerHTML;\n } else {\n logger.warn(\"COMPONENT {{NAME}} is not added to the DOM\".replace(\"{{NAME}}\", _component_.name));\n }\n }\n\n };\n\n const _feedComponent_InNode = function (_component_: Component): any {\n const parsedAssignmentText = _component_.parsedAssignmentText;\n _component_.innerHTML = parsedAssignmentText;\n };\n\n let _ret_;\n if (!is_a(_component_, \"Component\")) {\n logger.warn(\"Trying to feed a non component object\");\n return Promise.reject(new Error(`Trying to feed a non component object ${typeof _component_}`));\n }\n return new Promise<any>((resolve, reject) => {\n if (isBrowser) {\n try {\n _ret_ = _feedComponent_InBrowser(_component_);\n resolve(_ret_);\n } catch (e: any) {\n reject(new Error(e));\n }\n } else {\n try {\n _ret_ = _feedComponent_InNode(_component_);\n resolve(_ret_);\n } catch (e: any) {\n reject(new Error(e));\n }\n\n }\n\n });\n }\n\n rebuild(): Promise<{ request?: XMLHttpRequest, component: Component }> {\n const _component = this as Component;\n var _promise = new Promise<{ request?: XMLHttpRequest, component: Component }>(function (resolve, reject) {\n if (typeof _component === \"undefined\" || _component === null) {\n reject(new Error(\"Component is undefined\"));\n }\n if (isQCObjects_Object(_component) && is_a(_component, \"Component\")) {\n switch (true) {\n case (_component.get(\"tplsource\") === \"none\"):\n logger.debug(\"Component \" + _component.name + \" has specified template-source=none, so no template load was done\");\n var standardResponse = {\n request: undefined,\n component: _component\n };\n _component.__done__().then(function () {\n if (typeof _component.done === \"function\") {\n _component.done.call(_component, standardResponse)\n .catch((e: any) => {\n logger.debug(`It was an error while calling done() in ${_component.name}: ${e}`);\n });\n }\n resolve.call(_promise, standardResponse);\n }, function () {\n reject.call(_promise, standardResponse);\n });\n break;\n case (_component.get(\"tplsource\") === \"inline\"):\n logger.debug(\"Component \" + _component.name + \" has specified template-source=inline, so it is assumed that template is already declared\");\n (async (_component) => {\n await _component.feedComponent.bind(_component)();\n })(_component)\n .catch((e: any) => {\n logger.debug(`It was not possible to feed the component ${_component.name}: ${e}`);\n });\n var standardResponse = {\n request: undefined,\n component: _component\n };\n _component.__done__().then(async () => {\n if (typeof _component.done === \"function\") {\n await _component.done(standardResponse);\n }\n resolve.call(_promise, standardResponse);\n }, function () {\n reject.call(_promise, standardResponse);\n });\n break;\n case (_component.get(\"tplsource\") === \"default\" &&\n _component.get(\"templateURI\") !== \"\"):\n _component.set(\"url\", _component.get(\"basePath\") + _component.get(\"templateURI\"));\n (componentLoader(_component, false))?.then(\n function (standardResponse: any) {\n resolve.call(_promise, standardResponse);\n },\n function (standardResponse: any) {\n reject.call(_promise, standardResponse);\n });\n break;\n case (_component.get(\"tplsource\") === \"external\" &&\n _component.get(\"templateURI\") !== \"\"):\n _component.set(\"url\", _component.get(\"templateURI\"));\n (componentLoader(_component, false)).then(\n function (standardResponse: any) {\n resolve.call(_promise, standardResponse);\n },\n function (standardResponse: any) {\n reject.call(_promise, standardResponse);\n });\n break;\n case _component.get(\"tplsource\") === \"default\" && _component.get(\"templateURI\", \"\") === \"\":\n logger.debug(`Component ${_component.name} template-source is ${_component.get(\"tplsource\")} and no templateURI is present`);\n reject.call(_promise, `Component ${_component.name} template-source is ${_component.get(\"tplsource\")} and no templateURI is present`);\n break;\n default:\n logger.debug(\"Component \" + _component.name + \" will not be rebuilt because no templateURI is present\");\n reject.call(_promise, {\n request: null,\n component: _component\n });\n break;\n }\n\n }\n });\n return _promise;\n }\n\n Cast(oClass: any): any {\n /* Cast method for components has been deprecated. Don't use this method, it is available only for compatibility purposes */\n const o = _methods_(oClass).map((m): any => (m as Function).name.replace(/bound /g, \"\")).map(m => {\n return {\n [m]: oClass[m].bind(this)\n };\n }).reduce((c, p) => Object.assign(c, p), {});\n return _Cast(this, o);\n }\n\n route():Promise<void> {\n return (this.constructor as typeof Component).route();\n }\n\n static route():Promise<void> {\n const componentClass = this; /* is can be class or object */\n let _route_promise_;\n const isValidInstance = !!((isQCObjects_Object(componentClass) && is_a(componentClass, \"Component\")));\n const __route__ = function (componentList: any[]) {\n const _componentNames_: any[] = [];\n const _promises_ = componentList.filter(function (rc: any) {\n return typeof rc !== \"undefined\";\n }).map(function (rc: Component): Promise<void> {\n if (typeof rc.name !== \"undefined\") {\n _componentNames_.push(rc.name);\n } else {\n throw new Error(__getType__(rc) + \" does not have a name\");\n }\n return new Promise(function (resolve, reject) {\n if (typeof rc !== \"undefined\" && !!rc._reroute_) {\n rc._reroute_()\n .then(function () {\n rc.reload = true;\n rc.rebuild()\n .then(() => {\n resolve();\n })\n .catch((e: any) => {\n logger.debug(`Error ${e}`);\n });\n return;\n })\n .then(function () {\n if (Object.hasOwn(rc, \"subcomponents\") &&\n typeof rc.subcomponents !== \"undefined\" &&\n rc.subcomponents.length > 0\n ) {\n logger.debug(\"LOOKING FOR ROUTINGS IN SUBCOMPONENTS FOR: \" + rc.name);\n return __route__.call(rc, rc.subcomponents);\n } else {\n logger.debug(\"No subcomponents to look for routings in: \" + rc.name);\n if (rc.subtags.length > 0) {\n rc.subcomponents = rc.__buildSubComponents__(true);\n }\n resolve();\n }\n }).catch((e: any) => {\n logger.debug(`Error: ${e}`);\n });\n } else if (typeof rc !== \"undefined\") {\n reject(new Error(\"Component \" + rc.name + \" is not an instance of Component\"));\n }\n return;\n });\n });\n return Promise.all(_promises_)\n .then(function () {\n logger.debug(\"ROUTING COMPLETED FOR \" + _componentNames_.join(\", \"));\n }).catch(function (err) {\n logger.warn(\"ROUTING FAILED FOR \" + _componentNames_.join(\", \") + \": \" + err);\n });\n };\n if (isValidInstance || !!componentsStack) {\n if (isValidInstance) {\n logger.debug(\"loading routings for instance \" + componentClass.name);\n }\n _route_promise_ = __route__.call(componentClass, (isValidInstance) ? (componentClass.subcomponents) : (componentsStack));\n } else {\n logger.debug(\"An undetermined result expected if load routings. So will not be loaded this time.\");\n throw Error(\"There is no valid instance and no components stack available to apply rountings\");\n }\n return _route_promise_;\n }\n\n fullscreen():void {\n if (isBrowser) {\n const elem: HTMLElement = this.body as HTMLElement;\n if (elem.requestFullscreen) {\n elem.requestFullscreen()\n .catch((e: any) => {\n throw new Error(`An error ocurred when requesting fullscreen: ${e}`);\n });\n } else if ((elem as any).mozRequestFullScreen) {\n /* Firefox */\n (elem as any).mozRequestFullScreen();\n } else if ((elem as any).webkitRequestFullscreen) {\n /* Chrome, Safari & Opera */\n (elem as any).webkitRequestFullscreen();\n } else if ((elem as any).msRequestFullscreen) {\n /* IE/Edge */\n (elem as any).msRequestFullscreen();\n }\n } else {\n // not yet implemented.\n }\n }\n\n closefullscreen():void {\n if (isBrowser) {\n if (document.exitFullscreen) {\n document.exitFullscreen()\n .catch((e: any) => { throw new Error(`An error ocurred when trying to exit fullscrenn ${e}.`); });\n } else if ((document as any).mozCancelFullScreen) {\n (document as any).mozCancelFullScreen();\n } else if ((document as any).webkitExitFullscreen) {\n (document as any).webkitExitFullscreen();\n } else if ((document as any).msExitFullscreen) {\n (document as any).msExitFullscreen();\n }\n } else {\n // noy yet implemented.\n }\n }\n\n _generateRoutingPaths(componentBody: TBody):Promise<void> {\n const component = this;\n return new Promise<void>(function (resolve) {\n if (isBrowser) {\n if (__valid_routing_way__(component.validRoutingWays, component.routingWay || \"\")) {\n if (typeof componentBody !== \"undefined\") {\n component.innerHTML = (componentBody as HTMLElement)?.innerHTML;\n component.routingNodes = (componentBody as IQCObjectsElement)?.subelements(\"routing\");\n component.routings = [];\n component.routingNodes.map((routingNode): any => {\n const attributeNames = (routingNode as HTMLElement).getAttributeNames();\n const routing = {} as TComponentRouting;\n attributeNames.map((attributeName: any, a: string | number): any => {\n (routing as any)[attributeNames[a as any]] = (routingNode as HTMLElement).getAttribute(attributeNames[a as any]);\n return attributeName;\n });\n component.routings.push(routing as never);\n if (!component.routingPaths) {\n component.routingPaths = [];\n }\n if (!component.routingPaths.includes(routing.path as never)) {\n component.routingPaths.push(routing.path as never);\n }\n if (!_top.global.get(\"routingPaths\")) {\n _top.global.set(\"routingPaths\", []);\n }\n if (!_top.global.get(\"routingPaths\").includes(routing.path)) {\n _top.global.get(\"routingPaths\").push(routing.path);\n }\n return routingNode;\n });\n }\n }\n } else {\n // not yet implemented.\n }\n resolve();\n\n });\n }\n\n parseTemplate(template: any): string {\n const _self = this;\n let _parsedAssignmentText: string;\n const value = template;\n if (Object.hasOwn(_self, \"templateHandler\")) {\n const templateHandlerName = _self.templateHandler;\n logger.debug(`[Component][${this.name}][parseTemplate] Attempting to use ${templateHandlerName} ...`);\n const templateHandlerClass = ClassFactory(templateHandlerName);\n const templateInstance = New(templateHandlerClass, {\n component: _self,\n template: value\n });\n templateInstance.component = _self;\n let selfData = _self.data;\n if (Object.hasOwn(_self, \"assignRoutingParams\") && _self.assignRoutingParams) {\n try {\n selfData = Object.assign(selfData, _self.routingParams);\n } catch (e: any) {\n logger.debug(`An error ocurred: ${e}.`);\n logger.debug(\"[parseTemplate] it was not possible to assign the routing params to the template\");\n }\n }\n _parsedAssignmentText = templateInstance.assign(selfData);\n } else {\n logger.debug(`[Component][${this.name}][parseTemplate] No value for templateHandler. Using raw content...`);\n _parsedAssignmentText = value;\n }\n return _parsedAssignmentText;\n }\n\n _reroute_(): Promise<Component> {\n /* This method set the selected routing and makes the switch to the templateURI */\n const rc = this;\n return new Promise(function (resolve) {\n if (isBrowser) {\n if (__valid_routing_way__(rc.validRoutingWays, rc.routingWay || \"\")) {\n rc.routingPath = (location as any)[rc.routingWay as string];\n rc.routingSelected.map((routing: TComponentRouting,): TComponentRouting => {\n const componentURI = ComponentURI({\n \"COMPONENTS_BASE_PATH\": CONFIG.get(\"componentsBasePath\"),\n \"COMPONENT_NAME\": routing.name.toString(),\n \"TPLEXTENSION\": (Object.hasOwn(routing, \"tplextension\")) ? (routing.tplextension || \"\") : (rc.tplextension),\n \"TPL_SOURCE\": \"default\" /* here is always default in order to get the right uri */\n });\n rc.templateURI = componentURI;\n return routing;\n });\n if (rc.routingSelected.length > 0) {\n rc.template = \"\";\n if (typeof rc.body !== \"undefined\" && rc.body !== null) {\n (rc.body as HTMLElement).innerHTML = \"\";\n }\n }\n }\n }\n resolve(rc);\n\n });\n }\n\n lazyLoadImages() {\n if (isBrowser) {\n const component = this;\n const _componentRoot = component.componentRoot as IQCObjectsShadowedElement;\n if (typeof _componentRoot !== \"undefined\" && _componentRoot !== null) {\n const _imgLazyLoaded = [..._componentRoot.subelements(\"img[lazy-src]\")];\n const _lazyLoadImages = function (image: Element | HTMLElement) {\n image.setAttribute(\"src\", image.getAttribute(\"lazy-src\")?.toString() as string);\n (image as HTMLImageElement).onload = () => {\n image.removeAttribute(\"lazy-src\");\n };\n };\n if (\"IntersectionObserver\" in window) {\n const observer = new IntersectionObserver((items, observer) => {\n items.forEach((item) => {\n if (item.isIntersecting) {\n _lazyLoadImages(item.target);\n observer.unobserve(item.target);\n }\n });\n });\n _imgLazyLoaded.map(function (img) {\n return observer.observe(img as unknown as HTMLImageElement);\n });\n } else {\n (_imgLazyLoaded as (HTMLElement | Element)[]).map(_lazyLoadImages);\n }\n }\n } else {\n // not yet implemented\n }\n return null;\n }\n\n applyTransitionEffect(effectClassName: string):void {\n const _Effect = ClassFactory(effectClassName);\n if (typeof _Effect === \"undefined\") {\n throw Error(`${effectClassName} not found.`);\n }\n if (typeof _Effect !== \"undefined\" && is_a(_Effect, \"TransitionEffect\")) {\n this.effect = New(_Effect, {\n component: this\n });\n (this.effect as any)?.apply((this.effect as any)?.defaultParams);\n } else {\n logger.debug(`${effectClassName} is ${__getType__(_Effect)} but is not a TransitionEffect`);\n }\n }\n\n applyObserveTransitionEffect(effectClassName: any):void {\n if (isBrowser) {\n const component = this;\n const _componentRoot = component.componentRoot;\n const _applyEffect_ = function () {\n component.applyTransitionEffect(effectClassName);\n };\n if (\"IntersectionObserver\" in window) {\n const observer = new IntersectionObserver((items, observer) => {\n items.forEach((item) => {\n if (item.isIntersecting) {\n _applyEffect_();\n observer.unobserve(item.target);\n }\n });\n });\n observer.observe(_componentRoot as Element);\n } else {\n _applyEffect_();\n }\n } else {\n // not yet implemented\n }\n\n }\n\n get componentRoot(): TBody {\n return (this.shadowed) ? (this.shadowRoot) : (this.body);\n }\n\n scrollIntoHash():void {\n if (isBrowser) {\n const component = this;\n if (document.location.hash !== \"\") {\n const _componentRoot = component.componentRoot;\n ((_componentRoot as IQCObjectsShadowedElement)?.subelements(document.location.hash) as unknown as Element[]).map(\n (element: Element): any => {\n if (typeof element.scrollIntoView === \"function\") {\n element.scrollIntoView(\n CONFIG.get(\"scrollIntoHash\", {\n behavior: \"auto\",\n block: \"top\",\n inline: \"top\"\n })\n );\n }\n return element;\n }\n );\n }\n } else {\n // not yet implemented\n }\n }\n\n i18n_translate():void {\n if (isBrowser) {\n if (CONFIG.get(\"use_i18n\")) {\n const component = this;\n const _componentRoot = component.componentRoot as IQCObjectsShadowedElement;\n const lang1 = CONFIG.get(\"lang\", \"en\");\n const lang2 = navigator.language.slice(0, 2);\n const i18n = _top.global.get(\"i18n\");\n if ((lang1 !== lang2) && (typeof i18n === \"object\" && Object.hasOwn(i18n, \"messages\"))) {\n const callback_i18n = () => {\n return new Promise<void>(function (resolve) {\n const messages = i18n.messages.filter(function (message: any) {\n return Object.hasOwn(message, lang1) && Object.hasOwn(message, lang2);\n });\n (_componentRoot?.subelements(\"ul,li,h1,h2,h3,a,b,p,input,textarea,summary,details,option,component\") as HTMLElement[])\n .map((element: HTMLElement): HTMLElement => {\n messages.map(function (message: { [x: string]: any; }) {\n let _innerHTML = element.innerHTML;\n _innerHTML = _innerHTML?.replace(new RegExp(`${message[lang1]}`, \"g\"), message[lang2]);\n element.innerHTML = _innerHTML;\n return null;\n });\n return element;\n });\n resolve();\n });\n };\n callback_i18n.call(component).then(function () {\n logger.debug(\"i18n loaded for component: \" + component.name);\n }).catch((e: any) => { throw new Error(`An error ocurred when parsing i18n: ${e}.`); });\n\n }\n }\n } else {\n // not yet implemented\n }\n }\n\n addComponentHelper(componentHelper: any):void {\n const component = this;\n component._componentHelpers.push(componentHelper as never);\n }\n\n runComponentHelpers():void {\n if (isBrowser) {\n const component = this;\n let __component_helpers__ = [];\n /*\n * BEGIN use i18n translation\n */\n __component_helpers__.push(component.i18n_translate.bind(component));\n /*\n * END use i18n translation\n */\n\n /*\n * BEGIN component scrollIntoHash\n */\n __component_helpers__.push(component.scrollIntoHash.bind(component));\n /*\n * END component scrollIntoHash\n */\n\n /*\n * BEGIN component images lazy-load\n */\n\n __component_helpers__.push(component.lazyLoadImages.bind(component));\n\n /*\n * END component images lazy-load\n */\n\n __component_helpers__ = __component_helpers__.concat(component._componentHelpers);\n\n __component_helpers__.map(\n (_component_helper_): any => {\n logger.debug(`Executing ${_component_helper_.name} as component helper for ${component.name}...`);\n _component_helper_();\n return _component_helper_;\n }\n );\n\n } else {\n // not yet implemented\n }\n\n }\n\n}\n\nPackage(\"com.qcobjects\", [\n Component\n]);\n\n(_methods_)(ClassFactory(\"Component\")).map((__c__): any => {\n (_protected_code_)(__c__);\n return __c__;\n});\n", "import { IQCObjectsElement, TComponentURIParams } from \"types\";\nimport { Class } from \"./Class\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { Component } from \"./Component\";\nimport { CONFIG } from \"./CONFIG\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { __getType__ } from \"./getType\";\nimport { logger } from \"./Logger\";\nimport { New } from \"./New\";\nimport { Package } from \"./Package\";\nimport { isBrowser } from \"./platform\";\nimport { _tag_filter_ } from \"./tag_filter\";\n\n/**\n * Returns a standarized uri for a component\n * @example\n * templateURI = ComponentURI({'COMPONENTS_BASE_PATH':'','COMPONENT_NAME':'','TPLEXTENSION':'','TPL_SOURCE':''})\n * @author: Jean Machuca <correojean@gmail.com>\n * @param params an object with the params to build the uri path\n */\nexport const ComponentURI = ({ TPL_SOURCE, COMPONENTS_BASE_PATH, COMPONENT_NAME, TPLEXTENSION }:TComponentURIParams):string => {\n const templateURI = (TPL_SOURCE === \"default\") ? (`${COMPONENTS_BASE_PATH}${COMPONENT_NAME}.${TPLEXTENSION}`) : (\"\");\n return templateURI;\n};\n\nexport const _buildComponentFromElement_ = (element: Element, __parent__: any):Component => {\n const __shadowed_not_set = (element.getAttribute(\"shadowed\") === null);\n const __tplsource_attr_not_set = (element.getAttribute(\"template-source\") === null);\n const shadowed = (element.getAttribute(\"shadowed\") === \"true\");\n const __cached_not_set = (element.getAttribute(\"cached\") === null);\n const cached = (element.getAttribute(\"cached\") === \"true\");\n let tplextension = (typeof CONFIG.get(\"tplextension\") !== \"undefined\") ? (CONFIG.get(\"tplextension\")) : (\"html\");\n tplextension = (element.getAttribute(\"tplextension\") !== null) ? (element.getAttribute(\"tplextension\")) : (tplextension);\n let _componentName = element.getAttribute(\"name\");\n const _componentClassName = (element.getAttribute(\"componentClass\") !== null) ? (element.getAttribute(\"componentClass\")) : (\"Component\");\n const __componentClassName = (CONFIG.get(\"preserveComponentBodyTag\")) ? (\n (_componentName !== null) ? (\"com.qcobjects.components.\" + _componentName + \".ComponentBody\") : (\"com.qcobjects.components.ComponentBody\")\n ) : (_componentClassName);\n _componentName = (_componentName !== null) ? (_componentName) : (\n (ClassFactory(__componentClassName as string) &&\n typeof (ClassFactory(__componentClassName as string) as unknown as typeof Component).name !== \"undefined\"\n ) ? (\n (ClassFactory(__componentClassName as string) as unknown as Component).name\n ) : (\"\")\n );\n const __classDefinition = ClassFactory(__componentClassName as string) as Component;\n const __tplsource_prop_set = !!((__componentClassName !== \"Component\" && ((typeof __classDefinition !== \"undefined\" && typeof __classDefinition.tplsource === \"string\") && __classDefinition.tplsource !== \"\")));\n const tplsource = (__tplsource_attr_not_set && __tplsource_prop_set) ? (__classDefinition.tplsource) : ((__tplsource_attr_not_set) ? (\"default\") : (element.getAttribute(\"template-source\")));\n logger.debug(`template source for ${_componentName} is ${tplsource} `);\n logger.debug(`type for ${_componentName} is ${__getType__(__classDefinition)} `);\n\n const componentURI: string = ComponentURI({\n \"COMPONENTS_BASE_PATH\": CONFIG.get(\"componentsBasePath\"),\n \"COMPONENT_NAME\": _componentName ,\n \"TPLEXTENSION\": tplextension,\n \"TPL_SOURCE\": tplsource as string\n });\n if (CONFIG.get(\"preserveComponentBodyTag\")) {\n Package((_componentName !== \"\") ? (\"com.qcobjects.components.\" + _componentName + \"\") : (\"com.qcobjects.components\"), [\n Class(\"ComponentBody\", Component, {\n name: _componentName,\n tplsource,\n tplextension,\n reload: true\n })\n ]);\n }\n\n const __create_component_instance_ = function ():Component {\n const __shadowed = (__shadowed_not_set) ? ((__classDefinition && __classDefinition.shadowed) || Component.shadowed) : (shadowed);\n const __definition = {\n __parent__,\n name: _componentName,\n cached: (__cached_not_set) ? (Component.cached) : (cached),\n shadowed: __shadowed,\n tplextension,\n body: (CONFIG.get(\"preserveComponentBodyTag\")) ? (_DOMCreateElement(\"componentBody\")) : (element),\n templateURI: componentURI,\n tplsource\n };\n if (typeof _componentName === \"undefined\" || _componentName === \"\" || _componentName === null) {\n /* this allows to use the original property defined\n in the component definition if it is not present in the tag */\n delete (__definition as any).name;\n }\n if (componentURI === \"\") {\n /* this allows to use the original property defined\n in the component definition if it is not present in the tag */\n delete (__definition as any).templateURI;\n }\n const newComponent = New(__classDefinition, __definition) as Component;\n\n if (CONFIG.get(\"preserveComponentBodyTag\")) {\n if (typeof newComponent !== \"undefined\") {\n element.append(newComponent.body as string | Node);\n }\n }\n return newComponent;\n };\n const newComponent = __create_component_instance_();\n return newComponent;\n};\n\nexport const _buildComponentsFromElements_ = (elements: HTMLElement[], __parent__: Component | null):Component[] => {\n let componentsBuiltWith:Component[] = [];\n if (isBrowser) {\n componentsBuiltWith = elements.map(\n function (element: any) {\n return _buildComponentFromElement_(element, __parent__);\n }\n );\n } else {\n logger.debug(\"[_buildComponentsFromElements_] not implemented for Non-Browser environments\");\n }\n return componentsBuiltWith;\n};\n\nexport const buildComponents = (element:HTMLElement):Component[] => {\n const tagFilter = _tag_filter_;\n const elements = (element as unknown as IQCObjectsElement).subelements(tagFilter) as HTMLElement[];\n return _buildComponentsFromElements_(elements, null);\n};", "import { _basePath_ } from \"./basePath\";\nimport { _Crypt } from \"./Crypt\";\nimport { _domain_ } from \"./domain\";\nimport { InheritClass } from \"./InheritClass\";\nimport { logger } from \"./Logger\";\nimport { Package } from \"./Package\";\nimport { _secretKey } from \"./secretKey\";\nimport { CONFIG } from \"./CONFIG\";\nimport { IJSONService, IService, TServiceDoneResponse, TServiceStandardResponse } from \"types\";\n\nexport class Service extends InheritClass implements IService{\n options!: object;\n withCredentials!: boolean;\n useHTTP2: any;\n // eslint-disable-next-line no-unused-vars\n mockup({ request, service }: TServiceStandardResponse): void {\n throw new Error(\"Method not implemented.\");\n }\n name!: string;\n responseHeaders: any;\n // eslint-disable-next-line no-unused-vars\n local({ request, service }: TServiceStandardResponse): void {\n throw new Error(\"Method not implemented.\");\n }\n kind = \"rest\";\n /* it can be rest, mockup, local */\n domain:string = _domain_;\n basePath:string = _basePath_;\n url = \"\";\n method = \"GET\";\n data = {};\n reload = false;\n cached = false;\n\n headers: any;\n template: unknown;\n \n // eslint-disable-next-line no-unused-vars\n done({ request, service }: TServiceDoneResponse): void {\n throw new Error(\"Method not implemented.\");\n }\n // eslint-disable-next-line no-unused-vars\n fail(...args: any[]): void {\n throw new Error(\"Method not implemented.\");\n }\n\n set(name:string, value:never):void {\n this[name] = value;\n }\n\n get(name:string, _default?:never):any {\n return this[name] as never || _default;\n }\n\n}\n\nexport class JSONService extends Service implements IJSONService{\n method = \"GET\";\n cached = false;\n headers = {\n \"Content-Type\": \"application/json\",\n \"charset\": \"utf-8\"\n };\n\n JSONresponse?:JSON = undefined;\n done(result:TServiceDoneResponse):void {\n logger.debug(\"***** RECEIVED RESPONSE:\");\n logger.debug(result.service.template as string);\n this.JSONresponse = JSON.parse(result.service.template as string);\n }\n\n\n\n}\n\nexport class ConfigService extends JSONService {\n method = \"GET\";\n cached = false;\n configFileName = \"config.json\";\n headers = {\n \"Content-Type\": \"application/json\",\n \"charset\": \"utf-8\"\n };\n\n configLoaded():Promise<void>{\n throw Error (\"Method not implemented.\");\n }\n\n JSONresponse?:JSON = undefined;\n done(result:TServiceDoneResponse):void {\n logger.debug(\"***** CONFIG LOADED:\");\n logger.debug(result.service.template as string);\n this.JSONresponse = JSON.parse(result.service.template as string);\n if (Object.hasOwn(this.JSONresponse as object, \"__encoded__\")) {\n const decodedValue:string = _Crypt.decrypt((this.JSONresponse as any)?.__encoded__, _secretKey);\n this.JSONresponse = JSON.parse(decodedValue);\n }\n const jsonResponse:any = this.JSONresponse;\n Object.keys(jsonResponse as object).map((k:string) => {\n CONFIG.set(k, (jsonResponse as never)[k]);\n return k;\n });\n this.configLoaded().catch((e:any)=>{throw new Error (`An error ocurred: ${e}`);});\n }\n\n fail():void {\n this.configLoaded().catch((e:any)=>{throw new Error (`An error ocurred: ${e}`);});\n }\n\n constructor() {\n super();\n this.set(\"url\", `${this.get(\"basePath\") as string}${this.get(\"configFileName\") as string}` as never);\n }\n}\n\n\nPackage(\"com.qcobjects.api\", [\n Service\n]);\n\nPackage(\"com.qcobjects.api.services\", [\n JSONService\n]);\n\nPackage(\"com.qcobjects.api.config\", [\n ConfigService\n]);\n", "import { IGlobalSettings } from \"types\";\nimport { CONFIG } from \"./CONFIG\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Logger, logger } from \"./Logger\";\nimport { Package } from \"./Package\";\nimport { isBrowser } from \"./platform\";\nimport { serviceLoader } from \"./serviceLoader\";\nimport { _top, buildComponentsStack, configService, setConfigService } from \"./top\";\nimport { ConfigService } from \"./Service\";\n\nexport class GlobalSettings extends InheritClass implements IGlobalSettings {\n static __start__(): Promise<any> {\n return GlobalSettings.instance.__start__();\n }\n [key: string]: any;\n\n _GLOBAL: any = {};\n private static _instance: GlobalSettings;\n static get instance(): GlobalSettings {\n if (typeof GlobalSettings._instance === \"undefined\") {\n GlobalSettings._instance = new GlobalSettings();\n }\n return GlobalSettings._instance;\n }\n\n protected _logger: Logger = new Logger();\n get logger(): Logger {\n return this._logger;\n }\n\n set logger(value: Logger) {\n this._logger = value;\n }\n\n set(name: string, value: any): void {\n this._GLOBAL[name] = value;\n }\n\n get(name: string, _default?: any): any {\n let _value: any;\n if (typeof this._GLOBAL[name] !== \"undefined\") {\n _value = this._GLOBAL[name];\n } else if (typeof _default !== \"undefined\") {\n _value = _default;\n }\n return _value;\n }\n\n __start__(): Promise<any> {\n const __load__serviceWorker = function () {\n let _promise: Promise<ServiceWorkerRegistration> | Promise<unknown>;\n if (isBrowser) {\n _promise = new Promise<ServiceWorkerRegistration>(function (resolve, reject) {\n if ((\"serviceWorker\" in navigator) &&\n (typeof CONFIG.get(\"serviceWorkerURI\") !== \"undefined\")) {\n CONFIG.set(\"serviceWorkerScope\", CONFIG.get(\"serviceWorkerScope\") ? (CONFIG.get(\"serviceWorkerScope\")) : (\"/\"));\n navigator.serviceWorker.register(CONFIG.get(\"serviceWorkerURI\"), {\n scope: CONFIG.get(\"serviceWorkerScope\")\n })\n .then(function (registration) {\n logger.debug(\"Service Worker Registered\");\n resolve.call(_promise, registration);\n }, function (registration) {\n logger.debug(\"Error registering Service Worker\");\n reject.call(_promise, registration);\n });\n navigator.serviceWorker.ready.then(function (registration) {\n logger.debug(\"Service Worker Ready\");\n resolve.call(_promise, registration);\n }, function (registration) {\n logger.debug(\"Error loading Service Worker\");\n reject.call(_promise, registration);\n });\n }\n });\n } else {\n _promise = Promise.resolve();\n }\n return _promise;\n };\n const _buildComponents = function () {\n return new Promise<void>((resolve) => {\n if (isBrowser) {\n logger.debug(\"Starting to building components\");\n try {\n buildComponentsStack();\n } catch (e: any) {\n throw Error(`Something went wrong trying to start components tree: ${e.message}`);\n }\n logger.debug(\"Initializing the service worker\");\n __load__serviceWorker.call(_top)\n .catch(function (e) {\n logger.debug(`error loading the service worker ${e}`);\n });\n }\n resolve();\n });\n };\n\n return new Promise<any>((resolve) => {\n logger.debug(\"Starting to load the config settings...\");\n if (CONFIG.get(\"useConfigService\", false)) {\n logger.debug(\"Loading settings using local configuration file...\");\n setConfigService(new ConfigService());\n configService.configLoaded = _buildComponents;\n serviceLoader(configService)\n ?.then((standardResponse: any) => {\n resolve(standardResponse);\n })\n ?.catch((e: any) => { throw new Error(`An error ocurred while trying to load ${configService.url}: ${e}`); });\n } else {\n logger.debug(\"Starting to load the components...\");\n _buildComponents.call(this)\n .then(() => {\n resolve({});\n })\n .catch((e: any) => { throw new Error(`An error ocurred while trying to build the components stack. ${e}`); });\n }\n\n });\n }\n\n}\n\nPackage(\"com.qcobjects\", [\n GlobalSettings\n]);\n", "import { IComplexStorageCache, IComponent, IConfigService, IQCObjectsElement } from \"types\";\nimport { buildComponents } from \"./ComponentFactory\";\nimport { _CastProps } from \"./Cast\";\nimport { GlobalSettings } from \"./globalSettings\";\nimport { Class } from \"./Class\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { Export } from \"./Export\";\nimport { isBrowser } from \"./platform\";\nimport { _QC_CLASSES, getPackagesNamesList, getPackagesList, getClassesList, getClassesNamesList } from \"./PrimaryCollections\";\nimport { logger } from \"./Logger\";\n\ntype QCObjects = {\n lastCache?:IComplexStorageCache,\n componentsStack:IComponent[],\n Microservice:any,\n Route:any,\n BackendMicroservice:any,\n QCObjectsElement:any,\n QCObjectsShadowedElement:any,\n Logger:any,\n Class:any, \n _Crypt:any, \n TagElements:any, \n DefaultTemplateHandler:any, \n SourceJS:any, \n SourceCSS:any, \n ArrayList:any, \n ArrayCollection:any, \n GlobalSettings:any, \n GLOBAL:any, \n DDO:any, \n CacheController:any, \n ComplexCacheParams:any, \n ComplexStorageCache:any, \n ComponentWidget:any, \n asyncLoad:any, \n RegisterClass:any, \n ComponentURI:any, \n waitUntil:any, \n super:any, \n _DOMCreateElement:any, \n shortCode:any, \n getType:any, \n is_a:any, \n _DataStringify:any, \n serviceLoader:any, \n componentLoader:any, \n ObjectName:any, \n isQCObjects_Class:any, \n isQCObjects_Object:any, \n NamespaceRef:any, \n RegisterWidget:any, \n RegisterWidgets:any, \n range:any, \n getDocumentLayout:any, \n Export:any, \n New:any, \n Tag:any, \n Ready:any, \n methods:any, \n // eslint-disable-next-line no-unused-vars\n set:(name:string, value:any) => void, \n // eslint-disable-next-line no-unused-vars\n get:(name:string, _default?:any) => any, \n start:any, \n InheritClass:any, \n Processor:any, \n ComponentParams:any, \n ComponentDoneResponse:any, \n Component:any, \n CONFIG:any, \n ControllerParams:any, \n Controller:any, \n ViewParams:any, \n View:any, \n Service:any, \n JSONService:any, \n ConfigService:any, \n VO:any, \n EffectParams:any, \n Effect:any, \n TransitionEffect:any, \n TimerParams:any, \n Timer:any, \n Toggle:any, \n logger:any, \n sdk:any, \n global:any, \n ClassFactory:any, \n Package:any, \n Import:any,\n _sdk_:any,\n ClassesList:any[], \n PackagesList:any[],\n PackagesNameList:any[],\n ClassesNameList:any[]\n} & typeof self & typeof global ;\n\nexport var _top: QCObjects = (\n (typeof module !== \"undefined\" && typeof module.exports !== \"undefined\" && module.exports) ||\n (typeof global !== \"undefined\" && global) ||\n (typeof globalThis !== \"undefined\" && globalThis) ||\n (typeof window !== \"undefined\" && window) ||\n (typeof self !== \"undefined\" && self !== null && self) ||\n this\n) as QCObjects;\n(_top as any).lastCache = undefined;\nexport let componentsStack:IComponent[] = [];\n\nexport const resetTop = ():void => {\n const globalSettings = GlobalSettings.instance;\n _top = _CastProps(globalSettings, _top, true);\n};\n\nexport const buildComponentsStack = ():void => {\n componentsStack = buildComponents(document as unknown as IQCObjectsElement);\n};\nexport let configService:IConfigService;\nexport const setConfigService = (_configService:IConfigService):void => {\n _top.global.configService = _configService;\n configService = _configService;\n};\n\nexport const set = (name:string, value:any):void => {\n _top[name as never] = value;\n};\n\nexport const get = (name:string, _defaultValue?:any):any => {\n return _top[name as never] || _defaultValue;\n};\n\nresetTop();\n\nconst _define_props = function (_top: any) {\n if (!Object.hasOwn(_top, \"PackagesList\")) {\n Object.defineProperty(_top, \"PackagesList\", {\n // eslint-disable-next-line no-unused-vars\n set:(value) => {\n logger.debug(\"PackagesList is readonly\");\n \n },\n get:():any => {\n return getPackagesList();\n }\n });\n \n }\n \n \n if (!Object.hasOwn(_top, \"PackagesNameList\")) {\n Object.defineProperty(_top, \"PackagesNameList\", {\n // eslint-disable-next-line no-unused-vars\n set:(val) => {\n logger.debug(\"PackagesNameList is readonly\");\n\n },\n get:():any =>{\n return getPackagesNamesList();\n }\n });\n\n }\n\n if (!Object.hasOwn(_top, \"ClassesList\")) {\n Object.defineProperty(_top, \"ClassesList\", {\n // eslint-disable-next-line no-unused-vars\n set:(value) => {\n logger.debug(\"ClassesList is readonly\");\n\n },\n get:(): any => {\n return getClassesList();\n }\n });\n }\n\n if (!Object.hasOwn(_top, \"ClassesNameList\")) {\n Object.defineProperty(_top, \"ClassesNameList\", {\n // eslint-disable-next-line no-unused-vars\n set(value):any {\n logger.debug(\"ClassesNameList is readonly\");\n\n },\n get:(): any => {\n return getClassesNamesList();\n }\n });\n\n }\n\n\n };\n\n\n if (isBrowser) {\n // use of GLOBAL word is deprecated in node.js\n // this is only for compatibility purpose with old versions of QCObjects in browsers\n Class(\"GLOBAL\", (_QC_CLASSES as any).global); // case insensitive for compatibility con old versions;\n Export(ClassFactory(\"GLOBAL\"));\n }\n\n if (isBrowser && typeof window !== \"undefined\") {\n set(\"global\", window);\n } else if (isBrowser && typeof globalThis !== \"undefined\") {\n set(\"global\", globalThis);\n }\n\n _define_props(_top);\n", "import { logger } from \"./Logger\";\nimport { isBrowser } from \"./platform\";\n\nexport let supportsPassive = false;\nexport const captureFalseTouch = ():boolean | { passive: boolean; } => {\n return (supportsPassive) ? ({\n passive: true\n }) : (false);\n};\n\n// Test via a getter in the options object to see if the passive property is accessed\nif (isBrowser) {\n try {\n const opts = Object.defineProperty({}, \"passive\", {\n get() {\n supportsPassive = true;\n return supportsPassive;\n }\n });\n (window as any).addEventListener(\"testPassive\", null, opts);\n (window as any).removeEventListener(\"testPassive\", null, opts);\n } catch (e:any) {\n logger.debug(`An error ocurred: ${e}.`);\n supportsPassive = false;\n }\n\n} else {\n supportsPassive = false;\n}", "import { _protected_code_ } from \"./introspection\";\n\nexport const range = (start: number, stop = 0, step = 1): number[] => {\n if (stop === 0 || typeof stop === \"undefined\") {\n stop = start;\n start = 0;\n }\n return Array.from({\n length: (stop - start) / step + 1\n }, function (_, i) {\n return start + (i * step);\n });\n};\n(_protected_code_)(range);\n\n", "import { logger } from \"./Logger\";\nimport { GlobalProcessor as Processor } from \"./Processor\";\nimport { _top } from \"./top\";\nimport { range } from \"./range\";\nimport { IComponent } from \"types\";\n\n// Set Processors\nexport const setDefaultProcessors = ():void => {\n (function (_top):void {\n\n const mapper = (componentInstance:IComponent, componentName:string, valueName:string):string => {\n /*\n * Mapper processor\n * @usage\n * $mapper(<componentName>,<valueName>)\n *\n * Where componentName is the name of the component (same value as in attribute tag name) without quotes\n * and valueName is the name of the variable that contains the value to map, it can be either a property of\n * the component instance, the data object or a global value\n */\n \n if (typeof componentInstance === \"undefined\" || componentInstance === null) {\n throw Error(`mapper.${componentName}.${valueName} does not have a component instance or it is null.`);\n }\n const globalValue = _top.global.get(valueName);\n const componentValue = componentInstance.get(valueName);\n const dataValue = componentInstance.data[valueName];\n const list = (typeof dataValue !== \"undefined\") ? (dataValue) : ((typeof componentValue !== \"undefined\") ? (componentValue) : (globalValue));\n let listItems = \"\";\n if (typeof list !== \"undefined\" && typeof list.map !== \"undefined\") {\n listItems = list.map(function (element:HTMLElement) {\n const dataItems = [...Object.keys(element)].map(k => ` data-${k}=\"${(typeof (element as any)[k] !== \"undefined\" && (element as any)[k] !== null) ? ((element as any)[k].toString()) : (\"\")}\"`).join(\"\");\n return `<quick-component name=\"${componentName}\" ${dataItems} ></quick-component>`;\n }).join(\"\");\n } else {\n logger.debug(`${componentName}.${valueName} does not have a map property`);\n }\n return listItems;\n };\n Processor.setProcessor(mapper);\n \n const layout = function (componentInstance:IComponent, layoutname:string, cssfile:string):string {\n /*\n * Layout processor\n * @usage\n * $layout(<layoutname>, <cssfile>)\n * Where layoutname can be \"portrait\" or \"landscape\" without quotes\n * cssfile is the uri for the css file to import\n */\n \n const layout_portrait = `\n /* CSS Document for Mobile Imports */\n @import url(\"${cssfile}\") (orientation:portrait);\n @import url(\"${cssfile}\") (max-width:460px);\n @import url(\"${cssfile}\") (aspect-ratio: 9/16);\n @import url(\"${cssfile}\") (aspect-ratio: 10/16);\n @import url(\"${cssfile}\") (aspect-ratio: 5/8);\n @import url(\"${cssfile}\") (aspect-ratio: 3/4);\n @import url(\"${cssfile}\") (aspect-ratio: 2/3);\n `;\n const layout_landscape = `\n @import url(\"${cssfile}\") (orientation:landscape) and (min-width:460px);\n @import url(\"${cssfile}\") (aspect-ratio: 16/9) and (min-width:460px);\n @import url(\"${cssfile}\") (aspect-ratio: 16/10) and (min-width:460px);\n @import url(\"${cssfile}\") (aspect-ratio: 8/5) and (min-width:460px);\n @import url(\"${cssfile}\") (aspect-ratio: 4/3) and (min-width:460px);\n @import url(\"${cssfile}\") (aspect-ratio: 3/2) and (min-width:460px);\n `;\n const layout_code = {\n \"landscape\": layout_landscape,\n \"portrait\": layout_portrait\n };\n \n return (Object.hasOwn(layout_code, layoutname)) ? ((layout_code as any)[layoutname] as string) : (\"\");\n };\n \n Processor.setProcessor(layout);\n \n const component = (componentInstance:IComponent ,name:string, componentClass:string, ...args:string[]):string => {\n /*\n * component processor\n * @usage\n * $component(name=<name>, componentClass=<componentClass>, ...)\n * Returns a component tag declaration like:\n * <component name=<name> ...></component>\n */\n const arg = [...args].map(function (a) {\n return {\n [a.split(\"=\")[0]]: a.split(\"=\")[1]\n };\n }).reduce(function (k1, k2) {\n return Object.assign(k1, k2);\n });\n const attrs = [...Object.keys(arg)].map(function (a) {\n return `${a}=${arg[a as any]}`;\n }).join(\" \");\n return `<component name=\"${name}\" componentClass=\"${componentClass}\" ${attrs}></component>`;\n };\n \n Processor.setProcessor(component);\n \n const quick_component = (componentInstance: IComponent,name:string, componentClass:string, ...args:string[]):string => {\n /*\n * component processor\n * @usage\n * $quick_component(name=<name>, componentClass=<componentClass>, ...)\n * Returns a component tag declaration like:\n * <quick-component name=<name> ...></quick-component>\n */\n const arg = [...args].map(function (a) {\n return {\n [a.split(\"=\")[0]]: a.split(\"=\")[1]\n };\n }).reduce(function (k1, k2) {\n return Object.assign(k1, k2);\n });\n const attrs = [...Object.keys(arg)].map(function (a) {\n return `${a}=${arg[a as any]}`;\n }).join(\" \");\n return `<quick-component name=\"${name}\" componentClass=\"${componentClass}\" ${attrs}></quick-component>`;\n };\n \n Processor.setProcessor(quick_component);\n \n \n const repeat = (componentInstance:IComponent, length:number, text:string):string => {\n /*\n * Repeat processor\n * @usage\n * $repeat(<length>, <text>)\n * Where length is the number of occurrences of text\n */\n return range(length).map(\n function (index) {\n return text.replace(\"{{index}}\", index.toString());\n }\n ).join(\"\");\n };\n \n Processor.setProcessor(repeat);\n \n })(_top);\n \n};\n\n", "import { CONFIG } from \"./CONFIG\";\nimport { Export } from \"./Export\";\nimport { logger } from \"./Logger\";\nimport { isBrowser } from \"./platform\";\n\nexport const findPackageNodePath = function (packagename:string):string|null {\n let sdkPath = null;\n if (!isBrowser) {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const fs = require(\"fs\");\n try {\n let sdkPaths = [\n `${CONFIG.get(\"projectPath\")}${CONFIG.get(\"relativeImportPath\")}`,\n `${CONFIG.get(\"basePath\")}${CONFIG.get(\"relativeImportPath\")}`,\n `${CONFIG.get(\"projectPath\")}`,\n `${CONFIG.get(\"basePath\")}`,\n `${CONFIG.get(\"relativeImportPath\")}`,\n `${process.cwd()}${CONFIG.get(\"relativeImportPath\")}`,\n `${process.cwd()}/node_modules/` + packagename,\n `${process.cwd()}/node_modules`,\n `${process.cwd()}`,\n \"node_modules\",\n \"./\",\n \"\"\n ].concat(module.paths);\n sdkPaths = sdkPaths.filter(p => {\n return (fs).existsSync(p + \"/\" + packagename);\n });\n if (sdkPaths.length > 0) {\n sdkPath = sdkPaths[0];\n logger.info(packagename + \" is Installed.\");\n } else {\n sdkPath = \"\";\n logger.info(`${packagename} is not in a standard path.`);\n }\n } catch (e) {\n // do nothing\n console.log(e);\n }\n\n }\n return sdkPath;\n};\nExport(findPackageNodePath);\n", "import { _basePath_ } from \"./basePath\";\nimport { CONFIG } from \"./CONFIG\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { findPackageNodePath } from \"./findPackageNodePath\";\nimport { logger } from \"./Logger\";\nimport { _require_, isBrowser } from \"./platform\";\nimport { _QC_PACKAGES, _QC_PACKAGES_IMPORTED, _QC_READY_LISTENERS } from \"./PrimaryCollections\";\n\n/**\n * Imports a script with the package nomenclature\n *\n * @param {Object} packagename\n * @param {Object} ready\n * @param {Boolean} external\n */\nexport const Import = function (packagename:string, ready?:Function, external?:boolean):Promise<{_imported_?:any, _package_name_?:string}> | undefined {\n\n if (external !== undefined){\n logger.debug(`[Import] Setting external=${external.toString()} resource to import: ${packagename}`);\n } \n if (external) {\n logger.debug(`[Import] Registering external resource to import: ${packagename}`);\n } else {\n logger.debug(`[Import] Registering local resource to import: ${packagename}`);\n }\n let _promise_import_: Promise<any>;\n if (isBrowser) {\n _promise_import_ = new Promise(function (resolve, reject) {\n\n const allPackagesImported = function () {\n let ret = false;\n let cp = 0;\n // eslint-disable-next-line no-unused-vars\n for (const p in _QC_PACKAGES) {\n cp++;\n }\n if (cp < _QC_PACKAGES_IMPORTED.length) {\n ret = false;\n } else {\n ret = true;\n }\n return ret;\n };\n\n const readyImported = function (e: { target: { remove: () => void; }; }) {\n _QC_PACKAGES_IMPORTED.push(ready as never);\n if (allPackagesImported()) {\n _QC_PACKAGES_IMPORTED.map( (_imported_) => {\n return _QC_READY_LISTENERS.push(_imported_);\n });\n }\n if (isBrowser && CONFIG.get(\"removePackageScriptAfterLoading\")) {\n e.target.remove();\n }\n resolve.call(_promise_import_, {\n \"_imported_\": e.target,\n \"_package_name_\": packagename\n });\n };\n\n if (!Object.hasOwn(_QC_PACKAGES, packagename)) {\n const s1:HTMLScriptElement = _DOMCreateElement(\"script\") as unknown as HTMLScriptElement;\n s1.type = CONFIG.get(\"sourceType\", \"text/javascript\");\n s1.async = !!(CONFIG.get(\"asynchronousImportsLoad\"));\n (s1 as any).onreadystatechange = function () {\n if ((s1 as any).readyState === \"complete\") {\n readyImported(s1 as any);\n }\n };\n (s1 as any).onload = readyImported;\n s1.onerror = function (e: any) {\n logger.debug(`An error ocurred: ${e}.`);\n reject.call(_promise_import_, {\n \"_imported_\": s1,\n \"_package_name_\": packagename\n });\n };\n s1.src = (external) ? (CONFIG.get(\"remoteImportsPath\") + packagename + \".js\") : (_basePath_ + CONFIG.get(\"relativeImportPath\") + packagename + \".js\");\n document.getElementsByTagName(\"head\")[0].appendChild(s1);\n }\n });\n _promise_import_.catch(function () {\n logger.debug(\"Import: Error loading a package \");\n });\n\n } else {\n // support to be used in a nodejs environment\n _promise_import_ = new Promise(function (resolve, reject) {\n try {\n const standardNodePath = findPackageNodePath(packagename);\n let packageAbsoluteName = \"\";\n if (standardNodePath !== null) {\n packageAbsoluteName = standardNodePath + \"/\" + packagename;\n } else {\n const jsNodePath = findPackageNodePath(packagename + \".js\");\n if (jsNodePath !== null) {\n packageAbsoluteName = jsNodePath + \"/\" + packagename + \".js\";\n } else {\n packageAbsoluteName = _basePath_ + CONFIG.get(\"relativeImportPath\") + packagename;\n }\n }\n try {\n resolve.call(_promise_import_, {\n \"_imported_\": _require_(`${packageAbsoluteName}`),\n \"_package_name_\": packagename\n });\n } catch (e) {\n reject.call(_promise_import_, {\n \"_imported_\": null,\n \"_package_name_\": packagename,\n \"error\": e\n });\n }\n } catch (e) {\n reject.call(_promise_import_, {\n \"_imported_\": null,\n \"_package_name_\": packagename,\n \"error\": e\n });\n }\n }).catch(function (e) {\n // something wrong importing a package\n logger.debug(\"Something happened when importing \" + packagename);\n console.warn(e);\n });\n }\n _promise_import_.catch(function (e) {\n logger.warn(_DataStringify(e));\n });\n return _promise_import_;\n};\nImport.prototype.toString = function () {\n return \"Import(packagename,ready,external) { [QCObjects native code] }\";\n};\n", "export const __to_number = function (value:any): number {\n return ((isNaN(value)) ? (new Number(0) as number) : (new Number(value) as number));\n};", "import { isQCObjects_Class } from \"./isQCObjects\";\nimport { Package } from \"./Package\";\n\n/**\n * Declare Namespace\n *\n * @param {String} packageName\n * @param {Object} package\n */\nexport const NamespaceRef = function (namespace:string):any {\n const packageInstance = Package(namespace) || [];\n const classes = packageInstance.filter((c:any) => isQCObjects_Class(c)).map((c:any) => {\n return {\n [c.__definition.__classType]: c\n };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n }).reduce((a:any, b:any):any => {return Object.assign(a, b);});\n return namespace.split(\".\").map(c => {\n return {\n [c]: classes\n };\n }).reverse().reduce((a, b) => {\n b[Object.keys(b).join(\".\")] = a;\n return b;\n });\n};\n", "import { CONFIG } from \"./CONFIG\";\nimport { isBrowser } from \"./platform\";\nimport { _QC_READY_LISTENERS } from \"./PrimaryCollections\";\nimport { _top } from \"./top\";\n\n/**\n * Defines a Custom Ready listener\n */\nexport const Ready = (e:any):void => {\n if (isBrowser) {\n _QC_READY_LISTENERS.push(e.bind(window) as never);\n } else if (typeof global !== \"undefined\") {\n _QC_READY_LISTENERS.push(e.bind(global) as never);\n }\n};\n\nexport const ready:Function = Ready; // case insensitive ready option\n\n/**\n * Default Ready event function for window. Executes all micro ready events of Import calls\n *\n * @param {Object} e\n */\n// eslint-disable-next-line no-unused-vars\nexport const _Ready = (e:any):void => {\n const _execReady = ():void => {\n // eslint-disable-next-line array-callback-return\n _QC_READY_LISTENERS.map(function (_ready_listener_, _r):any {\n if (typeof _ready_listener_ === \"function\") {\n (_ready_listener_ as Function)();\n _QC_READY_LISTENERS.splice(_r, 1);\n }\n });\n };\n if (CONFIG.get(\"delayForReady\") > 0) {\n if (isBrowser) {\n setTimeout(_execReady.bind(window), CONFIG.get(\"delayForReady\"));\n } else if (typeof global !== \"undefined\") {\n setTimeout(_execReady.bind(global), CONFIG.get(\"delayForReady\"));\n }\n } else {\n _execReady.call(_top);\n }\n};\n", "import { IArrayCollection, IArrayList } from \"types\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { logger } from \"./Logger\";\nimport { New } from \"./New\";\nimport { __to_number } from \"./mathFunctions\";\n\n\nexport class ArrayList extends Array implements IArrayList {\n prototype: any;\n\n unique ():any[] {\n return this.filter(function (value:any, index:any, self:any) {\n return self.indexOf(value) === index;\n });\n };\n\n table(): void {\n console.table(this);\n };\n sum(): number {\n return this.reduce( (prev:any, current:any):number => {\n return (__to_number(prev)) + (__to_number(current));\n }, 0) as number;\n }\n avg(): number {\n return (this.length < 1) ? (0) : (this.reduce( (prev:any, current:any):number => {\n return (((__to_number(prev)) + (__to_number(current))) / 2);\n })) as number;\n }\n min(): number {\n return this.reduce( (prev:any, current:any):number => {\n return (__to_number(prev) <= __to_number(current)) ? (prev) : (current);\n }, Infinity) as number;\n }\n max(): number {\n return this.reduce( (prev:any, current:any):number => {\n return (__to_number(prev) >= __to_number(current)) ? (prev) : (current);\n }, 0) as number;\n }\n sortBy(propName: string, sortAsc?: boolean): any[] {\n const sort_function = (sortAsc) ? (\n function (prev:any, current:any) {\n return current[propName] < prev[propName] ? 1 : -1;\n }\n ) : (\n function (prev:any, current:any) {\n return current[propName] > prev[propName] ? 1 : -1;\n }\n );\n return this.sort(sort_function);\n }\n matrix(length: number, fillValue?: number): any[] {\n const x_func = () => {\n return fillValue;\n };\n return Array.from({\n length: length\n }, x_func);\n }\n matrix2d(length: number, fillValue?: number): any[][] {\n const y_func = function () {\n return fillValue;\n };\n const x_func = function () {\n return Array.from({\n length\n }, y_func);\n };\n return Array.from({\n length\n }, x_func);\n }\n matrix3d(length: number, fillValue?: number): any[][][] {\n const y_func = function () {\n return Array.from({\n length\n }, function () {\n return fillValue;\n });\n };\n const x_func = function () {\n return Array.from({\n length\n }, y_func);\n };\n return Array.from({\n length\n }, x_func);\n }\n\n\n}\n\nexport class ArrayCollection implements IArrayCollection {\n source :ArrayList = New(ArrayList, []);\n changed(prop: string, value: any):void {\n logger.debug(\"VALUE CHANGED\");\n logger.debug(prop);\n logger.debug(value);\n }\n push(value: any):number {\n const self = this;\n logger.debug(\"VALUE ADDED\");\n logger.debug(value);\n return self.source.push(value);\n }\n pop():any {\n const self = this;\n logger.debug(\"VALUE POPPED\");\n return self.source.pop();\n }\n _new_(source: ArrayList):void {\n const self = this;\n let _index = 0;\n self.source = New(ClassFactory(\"ArrayList\"), source);\n for (const _k in self.source) {\n if (!isNaN(_k as any)) {\n logger.debug(\"binding \" + _k.toString());\n (function (_pname:any) {\n Object.defineProperty(self, _pname, {\n set(value) {\n logger.debug(\"setting \" + _pname + \"=\" + value);\n self.source[_pname] = value;\n self.changed(_pname, value);\n },\n get():unknown {\n return self.source[_pname];\n }\n });\n })(_k);\n _index++;\n }\n\n }\n self.source.length = _index;\n Object.defineProperty(self, \"length\", {\n get() {\n return self.source.length;\n }\n });\n }\n}\n\n", "import { IQCObjectsElement, ITagElements } from \"types\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { New } from \"./New\";\nimport { Package } from \"./Package\";\nimport { isBrowser } from \"./platform\";\nimport { Effect } from \"./Effect\";\nimport { ArrayList } from \"./ArrayCollection\";\n\nexport class TagElements extends ArrayList implements ITagElements {\n show():void {\n this.map(function (element:any) {\n return element.style.opacity = 1;\n });\n }\n hide():void {\n this.map(function (element:any) {\n return element.style.opacity = 0;\n });\n }\n effect<T>(...args:T[]):void {\n const effectArguments = [...args].slice(1);\n const effectClassName = args[0] as string;\n let effectClass = undefined;\n if ((typeof effectClassName).toLowerCase() === \"string\") {\n effectClass = ClassFactory(effectClassName);\n }\n this.map(function <T>(element:any):T {\n return ((effectClass as Effect).apply as Function).apply(effectClass, [element].concat(effectArguments)) as T;\n });\n }\n findElements(elementName:any):any {\n const _o = New(ClassFactory(\"TagElements\"));\n if (isBrowser) {\n for (const _k in this) {\n if (typeof _k === \"number\" && typeof this[_k] !== \"function\" && Object.hasOwn(this[_k], \"subelements\")) {\n _o.push(this[_k].subelements(elementName));\n }\n }\n } else {\n // not yet implemented.\n }\n return _o;\n }\n }\n\n /**\n * Gets the element of DOM found by tag name\n *\n * @param {Object} tagname\n * @param {Object} innerHTML\n */\n export const Tag = function <T>(tagname:string, innerHTML?:string): T[] {\n const _o = New(TagElements);\n if (isBrowser) {\n const o = (document as unknown as IQCObjectsElement).subelements(tagname);\n const addedKeys = [];\n for (let _i = 0; _i < o.length; _i++) {\n if (typeof innerHTML !== \"undefined\" && Object.hasOwn(o[_i], \"innerHTML\")) {\n o[_i].innerHTML = innerHTML;\n }\n if (addedKeys.indexOf(_i) < 0) {\n _o.push(o[_i]);\n addedKeys.push(_i);\n }\n }\n } else {\n // not yet implemented.\n }\n return _o as T[];\n };\n\n\n Package(\"com.qcobjects\",[\n TagElements,\n Tag\n ]);", "import { _Crypt } from \"./Crypt\";\n\nexport const shortCode = (): string => {\n const length = 1000;\n const code1 = _Crypt.encrypt((Math.random() * length).toString().replace(\".\", \"\"), (new Date()).getTime().toString());\n const code2 = _Crypt.encrypt((Math.random() * length).toString().replace(\".\", \"\"), (new Date((new Date()).getTime() - 1000 * 1000)).getTime().toString());\n const shortCode = [...code2].map((o1: any, index: any): any => {\n return [...code1][index] === o1 ? null : o1;\n }).filter((c: any) => c !== null).join(\"\");\n return shortCode;\n};\n", "import { ClassFactory } from \"./ClassFactory\";\n\n/**\n * Returns a method from a superior QCObjects Class\n * It is useful for Class Inheritance in the _new_ and __new__ method constructors\n * @example _super_('MySuperClass','MySuperMethod').call(this,params) #where this is the current instance and params are method parameters\n *\n * @param {String} className\n * @param {String} classMethodName\n * @param {Object} params\n */\nexport const _super_ = function <T>(className: string, classMethodName: string):T {\n return (ClassFactory(className))[classMethodName] as T;\n};\n_super_.prototype.toString = function () {\n return \"_super_(className,classMethodName,params) { [QCObjects native code] }\";\n};\n", "import { logger } from \"./Logger\";\n\nexport const waitUntil = (func:()=>void, exp:()=>any):void => {\n const _waitUntil = (func:()=>void, exp:()=>any):void => {\n const maxWaitCycles = 2000;\n let _w = 0;\n var _t = setInterval(function () {\n if (exp()) {\n clearInterval(_t);\n func();\n logger.debug(\"Ejecuting \" + func.name + \" after wait\");\n } else {\n if (_w < maxWaitCycles) {\n _w += 1;\n logger.debug(\"WAIT UNTIL \" + func.name + \" is true, \" + _w.toString() + \" cycles\");\n } else {\n logger.debug(\"Max execution time for \" + func.name + \" expression until true\");\n clearInterval(_t);\n }\n }\n }, 1);\n };\n setTimeout(function () {\n _waitUntil(func, exp);\n }, 1);\n };\n", "export const subelements = function subelements<T>(this: any, query: string): T[] {\n const _self = this;\n return [..._self.querySelectorAll(query)] as T[];\n};", "import { CONFIG } from \"./CONFIG\";\nimport { findPackageNodePath } from \"./findPackageNodePath\";\nimport { Import } from \"./Import\";\nimport { logger } from \"./Logger\";\nimport { _require_, isBrowser, isNodeCommonJS } from \"./platform\";\n\nconst loadSDK = ():void => {\n if (CONFIG.get(\"useSDK\")) {\n (function () {\n const remoteImportsPath = CONFIG.get(\"remoteImportsPath\");\n const external = (!CONFIG.get(\"useLocalSDK\"));\n CONFIG.set(\"remoteImportsPath\", CONFIG.get(\"remoteSDKPath\"));\n\n let tryImportingSDK = false;\n let sdkName = \"QCObjects-SDK\";\n if (isBrowser) {\n tryImportingSDK = true;\n } else {\n const sdkPath = findPackageNodePath(\"qcobjects-sdk\");\n if (sdkPath !== null) {\n sdkName = \"qcobjects-sdk\";\n tryImportingSDK = true;\n } else if (sdkPath !== \"\"){\n sdkName = \"node_modules/qcobjects-sdk/QCObjects-SDK\";\n tryImportingSDK = true;\n } else {\n tryImportingSDK = false;\n }\n }\n\n if (tryImportingSDK) {\n logger.info(\"Importing SDK... \" + sdkName);\n if (isNodeCommonJS && typeof require !== \"undefined\") {\n const sdk = _require_(\"qcobjects-sdk\");\n if (sdk) {\n logger.debug(\"QCObjects SDK was loaded OK.\");\n } else {\n logger.debug(\"QCObjects SDK could not be imported.\");\n }\n } else {\n Import(sdkName, function () {\n if (external) {\n logger.debug(\"QCObjects-SDK.js loaded from remote location\");\n } else {\n logger.debug(\"QCObjects-SDK.js loaded from local\");\n }\n CONFIG.set(\"remoteImportsPath\", remoteImportsPath);\n }, external)\n ?.catch((e: any) => { throw new Error(`An error ocurred when trying to import: ${e}`); });\n }\n } else {\n logger.debug(\"SDK has not been imported as it is not available at the moment\");\n }\n })();\n }\n\n};\n\nexport default loadSDK;\n", "import { IQCObjectsElement, IQCObjectsShadowedElement } from \"types\";\nimport { _top } from \"./top\";\nimport { _fireAsyncLoad, asyncLoad } from \"./asyncLoad\";\nimport { captureFalseTouch } from \"./captureFalseTouch\";\nimport { _Cast } from \"./Cast\";\nimport { Class } from \"./Class\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { Component } from \"./Component\";\nimport { ComponentURI } from \"./ComponentFactory\";\nimport { componentLoader } from \"./componentLoader\";\nimport { CONFIG } from \"./CONFIG\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { setDefaultProcessors } from \"./defaultProcessors\";\nimport { Export } from \"./Export\";\nimport { Import } from \"./Import\";\nimport { _methods_, _protected_code_ } from \"./introspection\";\nimport { isQCObjects_Class, isQCObjects_Object } from \"./isQCObjects\";\nimport { logger } from \"./Logger\";\nimport { __to_number } from \"./mathFunctions\";\nimport { NamespaceRef } from \"./NamespaceRef\";\nimport { New } from \"./New\";\nimport { ObjectName } from \"./ObjectName\";\nimport { Package } from \"./Package\";\nimport { is_phonegap, isBrowser } from \"./platform\";\nimport { _Ready, ready, Ready } from \"./Ready\";\nimport { serviceLoader } from \"./serviceLoader\";\nimport { Tag } from \"./Tag\";\nimport { Processor } from \"./Processor\";\nimport { is_a } from \"./is_a\";\nimport { __getType__ } from \"./getType\";\nimport { shortCode } from \"./shortCode\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { ComplexStorageCache } from \"./ComplexStorageCache\";\nimport { _super_ } from \"./super\";\nimport { waitUntil } from \"./waitUntil\";\nimport { subelements } from \"./subelements\";\nimport { GlobalSettings } from \"./globalSettings\";\nimport loadSDK from \"./loadSDK\";\nimport { range } from \"./range\";\n\n(function __qcobjects__(_top: any) {\n if (typeof Object.defineProperty !== \"undefined\" && typeof _top !== \"undefined\") {\n try {\n Object.defineProperty(_top, \"__qcobjects__\", {\n enumerable: true,\n configurable: false,\n writable: false,\n value: __qcobjects__,\n });\n } catch (e: any) {\n logger.debug(`An error ocurred: ${e}`);\n if (typeof _top.__qcobjects__ !== \"undefined\") {\n _top.__qcobjects__.loaded = true;\n }\n }\n }\n if (typeof _top.__qcobjects__.loaded === \"undefined\") {\n _top.__qcobjects__.loaded = true;\n\n if (isBrowser) {\n (Element as unknown as IQCObjectsElement).prototype.subelements = subelements;\n (Document as unknown as IQCObjectsElement).prototype.subelements = subelements;\n (HTMLElement as unknown as IQCObjectsElement).prototype.subelements = subelements;\n if (typeof ShadowRoot !== \"undefined\") {\n (ShadowRoot as unknown as IQCObjectsShadowedElement).prototype.subelements = subelements;\n }\n }\n\n\n logger.debugEnabled = false;\n logger.infoEnabled = true;\n\n /**\n * Basic Type of all elements\n */\n if (isBrowser) {\n (Element as unknown as IQCObjectsElement).prototype.find = function (tag: string): IQCObjectsElement[] {\n const _self = this;\n const _oo: IQCObjectsElement[] = [];\n const _tags = (document as unknown as IQCObjectsElement).subelements(tag);\n _tags.map((_tt, _t) => {\n if ((typeof _tags[_t] !== \"undefined\") && (_tags[_t].parentNode as Element).tagName === _self.parentNode.tagName) {\n _oo.push(_Cast(_tt, (new Object())));\n }\n return _tt;\n });\n return _oo;\n };\n }\n\n if (isBrowser) {\n Element.prototype.append = function QC_Append(child) {\n if (isQCObjects_Object(child) || typeof (child as any).body !== \"undefined\") {\n this.appendChild((child as any).body);\n } else {\n this.appendChild(child as any);\n }\n };\n\n /**\n * A replacement for direct using of innerHTML\n * use: [element].render('content') where 'content' is the string corresponding\n * to the DOM to insert in the element\n **/\n (Element as unknown as IQCObjectsElement).prototype.render = function QC_Render(content: string) {\n const _self = this;\n const _appendVDOM = (_self: any, content: string): any => {\n if (typeof document.implementation.createHTMLDocument !== \"undefined\") {\n const doc = document.implementation.createHTMLDocument(\"\");\n doc.body.innerHTML = content;\n (doc.body as unknown as IQCObjectsElement).subelements(\"*\").map((element): any => {\n return _self.append(element);\n });\n }\n };\n if (typeof this.innerHTML !== \"undefined\") {\n try {\n this.innerHTML += content;\n } catch (e: any) {\n logger.debug(`An error ocurred: ${e}`);\n _appendVDOM(_self, content);\n }\n } else {\n _appendVDOM(_self, content);\n }\n };\n }\n\n\n\n Export(waitUntil);\n Export(_super_);\n Export(ComplexStorageCache);\n Export(ClassFactory);\n Export(_DOMCreateElement);\n Export(shortCode);\n Export(__getType__);\n Export(is_a);\n Package(\"com.qcobjects\", [Processor]);\n\n\n\n\n if (isBrowser) {\n /**\n * Adds a Cast functionality to every Element of DOM\n */\n (Element as unknown as IQCObjectsElement).prototype.Cast = function QC_Cast<T>(_o: T): T {\n const _self: any = this;\n return _Cast(_self, _o) as T;\n };\n }\n\n\n\n if (isBrowser) {\n window.onload = _Ready;\n if (is_phonegap) {\n document.addEventListener(\"deviceready\", _Ready, captureFalseTouch as any);\n }\n } else {\n global.onload = _Ready;\n }\n\n if (isBrowser) {\n window.addEventListener(\"popstate\", function (popStateEvent) {\n popStateEvent.stopImmediatePropagation();\n popStateEvent.stopPropagation();\n Component.route()\n .catch((e: any) => { throw new Error(`An error ocurred when trying to load initial routes. ${e}`); });\n });\n }\n\n\n\n Export(serviceLoader);\n Export(componentLoader);\n Export(ComponentURI);\n Export(ObjectName);\n Export(_DataStringify);\n Export(isQCObjects_Class);\n Export(isQCObjects_Object);\n Export(NamespaceRef);\n\n /**\n * Array math functions\n */\n // eslint-disable-next-line no-unused-vars\n (Array as any).prototype.unique = function <T>(this: T[]): T[] {\n return this.filter(function (value: any, index: any, self: any) {\n return self.indexOf(value) === index;\n });\n };\n (Array as any).unique = function <T>(a: Array<T>): T[] {\n return (a as any).unique() as T[];\n };\n (_protected_code_)((Array as any).unique);\n (_protected_code_)((Array as any).prototype.unique);\n (Array as any).prototype.table = function (): void {\n console.table(this);\n };\n (Array as any).table = function (a: any): void {\n a.table();\n return;\n };\n (_protected_code_)((Array as any).table);\n (_protected_code_)((Array as any).prototype.table);\n (Array as any).prototype.sum = function (): number {\n return this.reduce(function (prev: any, current: any) {\n return (__to_number(prev)) + (__to_number(current));\n }, 0) as number;\n };\n (Array as any).sum = function (a: any): number {\n return a.sum() as number;\n };\n (_protected_code_)((Array as any).sum);\n (_protected_code_)((Array as any).prototype.sum);\n (Array as any).prototype.avg = function (): number {\n return (this.length < 1) ? (0) : (this.reduce(function (prev: any, current: any) {\n return (((__to_number(prev)) + (__to_number(current))) / 2);\n })) as number;\n };\n (Array as any).avg = function (a: any): number {\n return a.avg() as number;\n };\n (_protected_code_)((Array as any).avg);\n (_protected_code_)((Array as any).prototype.avg);\n (Array as any).prototype.min = function (): number {\n return this.reduce(function (prev: number, current: number) {\n return (__to_number(prev) <= __to_number(current)) ? (prev) : (current);\n }, Infinity) as number;\n };\n (Array as any).min = function (a: any): number {\n return a.min() as number;\n };\n (_protected_code_)((Array as any).min);\n (_protected_code_)((Array as any).prototype.min);\n (Array as any).prototype.max = function (): number {\n return this.reduce(function (prev: number, current: number) {\n return (__to_number(prev) >= __to_number(current)) ? (prev) : (current);\n }, 0) as number;\n };\n (Array as any).max = function (a: any): number {\n return a.max() as number;\n };\n (_protected_code_)((Array as any).max);\n (_protected_code_)((Array as any).prototype.max);\n (Array as any).prototype.sortBy = function (propName: string, sortAsc = true): Array<any>[] {\n const sort_function = (sortAsc) ? (\n function (prev: any, current: any) {\n return current[propName] < prev[propName] ? 1 : -1;\n }\n ) : (\n function (prev: any, current: any) {\n return current[propName] > prev[propName] ? 1 : -1;\n }\n );\n return this.sort(sort_function) as Array<any>[];\n };\n (Array as any).sortBy = function (a: any, propName: string, sortAsc = true): Array<any>[] {\n return a.sortBy(propName, sortAsc) as Array<any>[];\n };\n (_protected_code_)((Array as any).sortBy);\n (_protected_code_)((Array as any).prototype.sortBy);\n\n /**\n * Extends the Array prototype to include a method that creates a matrix (2D array)\n * with specified dimensions and fill value.\n *\n * @param {number} _length - The number of rows in the matrix.\n * @param {any} [_fillValue=0] - The value to fill the matrix with (default is 0).\n * @returns {Array<Array<any>>} A 2D array (matrix) filled with the specified value.\n *\n * @example\n * // Create a 3x3 matrix filled with zeros\n * const matrix = [].matrix(3);\n * console.log(matrix);\n * // Output: [0, 0, 0]\n *\n * @example\n * // Create a 2x4 matrix filled with a specific value\n * const matrix = [].matrix(2, 5);\n * console.log(matrix);\n * // Output: [5, 5]\n *\n * @example\n * // Create a 4x2 matrix filled with null values\n * const matrix = [].matrix(4, null);\n * console.log(matrix);\n * // Output: [null, null, null, null]\n */\n (Array as any).prototype.matrix = function (_length: number, _fillValue = 0) {\n // eslint-disable-next-line no-unused-vars\n const x_func = function (x = undefined) {\n return _fillValue;\n };\n return Array.from({\n length: _length\n }, x_func);\n };\n\n /**\n * Creates a matrix (2D array) from a given array.\n * \n * This function extends the Array constructor by adding a static method\n * that generates a matrix with specified dimensions and fill value.\n * \n * @function\n * @param {Array} a - The input array used to generate the matrix.\n * @param {number} _length - The length of the matrix (number of rows).\n * @param {number} [_fillValue=0] - The value to fill the matrix with (default is 0).\n * @returns {Array} A 2D array (matrix) created from the input parameters.\n * \n * @example\n * const myMatrix = Array.matrix(2, 5);\n * // myMatrix will be [5, 5, 5]\n */\n (Array as any).matrix = function <T>(a: any, _length: number, _fillValue = 0): T[] {\n return a.matrix(_length, _fillValue) as T[];\n };\n\n (_protected_code_)((Array as any).matrix);\n (_protected_code_)((Array as any).prototype.matrix);\n\n\n (Array as any).prototype.matrix2d = function (_length: number, _fillValue = 0) {\n // eslint-disable-next-line no-unused-vars\n const y_func = function (y: any) {\n return _fillValue;\n };\n // eslint-disable-next-line no-unused-vars\n const x_func = function (x: any) {\n return Array.from({\n length: _length\n }, y_func);\n };\n return Array.from({\n length: _length\n }, x_func);\n };\n (Array as any).matrix2d = function <T>(a: any, _length: number, _fillValue = 0): T[][] {\n return a.matrix2d(_length, _fillValue) as T[][];\n };\n\n (_protected_code_)((Array as any).matrix2d);\n (_protected_code_)((Array as any).prototype.matrix2d);\n\n (Array as any).prototype.matrix3d = function (_length: number, _fillValue = 0) {\n // eslint-disable-next-line no-unused-vars\n const y_func = function (y: any) {\n return Array.from({\n length: _length\n }, function () {\n return _fillValue;\n });\n };\n // eslint-disable-next-line no-unused-vars\n const x_func = function (x: any) {\n return Array.from({\n length: _length\n }, y_func);\n };\n return Array.from({\n length: _length\n }, x_func);\n };\n\n (Array as any).matrix3d = function <T>(a: any, _length: number, _fillValue = 0): T[][][] {\n return a.matrix3d(_length, _fillValue) as T[][][];\n };\n\n\n (_protected_code_)((Array as any).matrix3d);\n (_protected_code_)((Array as any).prototype.matrix3d);\n\n\n\n (String as unknown as any).prototype.list = function (): string[] {\n const __instance = this;\n return range(0, __instance.length - 1).map(function <T>(i: any): T {\n return __instance[i] as T;\n }) as string[];\n };\n (_protected_code_)((String as unknown as any).prototype.list);\n\n\n\n /**\n * End of array math functions\n */\n\n\n\n setDefaultProcessors();\n\n\n /**\n * Load every component tag declared in the body\n **/\n Ready(function () {\n if (!CONFIG.get(\"useSDK\")) {\n GlobalSettings.__start__()\n .catch((e: any) => {\n throw Error(e);\n });\n }\n });\n\n /*\n Public variables and functions\n */\n Export(Export); /* exports the same Export function once */\n Export(Import);\n Export(Package);\n Export(Class);\n Export(New);\n Export(Tag);\n Export(Ready);\n Export(ready);\n Export(isBrowser);\n Export(_methods_);\n Export(GlobalSettings);\n\n\n (loadSDK)();\n\n if (isBrowser) {\n asyncLoad(function (): any {\n Ready(function () {\n\n /*\n * scroll management custom events\n * usage: document.addEventListener('percentY90',function(e){console.log(e.detail.percentY)});\n * possible events: scrollpercent, defaultscroll, percentY0, percentY25, percentY50, percentY75, percentY90\n */\n\n (function (_top) {\n let ticking = false;\n const scrollHeight = Math.max(\n document.body.scrollHeight, document.documentElement.scrollHeight,\n document.body.offsetHeight, document.documentElement.offsetHeight,\n document.body.clientHeight, document.documentElement.clientHeight\n );\n\n const scrollWidth = Math.max(\n document.body.scrollWidth, document.documentElement.scrollWidth,\n document.body.offsetWidth, document.documentElement.offsetWidth,\n document.body.clientWidth, document.documentElement.clientWidth\n );\n\n function scrollDispatcher(event: any) {\n const percentY = Math.round(_top.scrollY * 100 / scrollHeight);\n const percentX = Math.round(_top.scrollX * 100 / scrollWidth);\n const scrollPercentEventEvent = new CustomEvent(\"scrollpercent\", {\n detail: {\n percentX,\n percentY\n }\n });\n event.target.dispatchEvent(scrollPercentEventEvent);\n let secondaryEventName = \"defaultscroll\";\n const __valid_scrolls__ = [0, 5, 10, 25, 50, 75, 90, 95, 100];\n __valid_scrolls__.filter(function (p) {\n return p === percentY;\n }).map(function <T>(pY: T): T {\n secondaryEventName = \"percentY\" + percentY.toString();\n const secondaryCustomEvent = new CustomEvent(secondaryEventName, {\n detail: {\n percentX,\n percentY\n }\n });\n event.target.dispatchEvent(secondaryCustomEvent);\n return pY;\n });\n\n }\n\n document.addEventListener(\"scroll\", function (event) {\n\n if (!ticking) {\n requestAnimationFrame(function () {\n scrollDispatcher(event);\n ticking = false;\n });\n\n ticking = true;\n }\n });\n\n })(_top);\n\n });\n }, []);\n }\n\n if (!isBrowser) {\n if (typeof _top.global !== \"undefined\" && Object.hasOwn(_top.global, \"_fireAsyncLoad\")) {\n _fireAsyncLoad.call(_top);\n }\n if (typeof _top.global !== \"undefined\" && Object.hasOwn(_top.global, \"onload\")) {\n _top.global.onload.call(_top);\n }\n }\n\n\n /* Freezing Object && Object.prototype to prevent prototype pollution risks */\n (function (isBrowser) {\n const __freeze__ = function () {\n Object.freeze(Object.prototype);\n Object.freeze(Object);\n };\n if (isBrowser && CONFIG.get(\"secureObjects\", false)) {\n Ready(function () {\n __freeze__();\n });\n } else if (CONFIG.get(\"secureObjects\", false)) {\n __freeze__();\n }\n })(isBrowser);\n }\n\n})(_top);\n", "/**\n * QCObjects 2.4\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* eslint no-empty: \"off\" */\n/* eslint strict: \"off\" */\n\n/* eslint no-mixed-operators: \"off\" */\n\n\"use strict\";\n\nexport * as AssignPolyfill from \"./assign\";\nexport * as __top__ from \"./top\";\nexport * as qcobjects from \"./MainProcess\";\nexport {_top, resetTop} from \"./top\";\nexport { _QC_CLASSES, _QC_PACKAGES, _QC_PACKAGES_IMPORTED, _QC_READY_LISTENERS } from \"./PrimaryCollections\";\nexport { _DataStringify } from \"./DataStringify\";\nexport { _DOMCreateElement } from \"./DOMCreateElement\";\nexport { _methods_, _protected_code_ } from \"./introspection\";\nexport { logger, Logger } from \"./Logger\";\nexport { _require_, is_phonegap, isBrowser, isNodeCommonJS } from \"./platform\";\nexport { subelements } from \"./subelements\";\nexport { __is_raw_class__ } from \"./is_raw_class\";\nexport { _LegacyCopy } from \"./LegacyCopy\";\nexport { _fireAsyncLoad, asyncLoad } from \"./asyncLoad\";\nexport { __instanceID } from \"./IncrementInstanceID\";\nexport { ObjectName } from \"./ObjectName\";\nexport { __getType__ } from \"./getType\";\nexport { is_a } from \"./is_a\";\nexport { ComplexStorageCache } from \"./ComplexStorageCache\";\nexport { waitUntil } from \"./waitUntil\";\nexport { _Cast, _CastProps } from \"./Cast\";\nexport { isQCObjects_Class, isQCObjects_Object } from \"./isQCObjects\";\nexport { Package } from \"./Package\";\nexport { ClassFactory } from \"./ClassFactory\";\nexport { Export } from \"./Export\";\nexport { Class } from \"./Class\";\nexport { InheritClass } from \"./InheritClass\";\nexport { _super_ } from \"./super\";\nexport { shortCode } from \"./shortCode\";\nexport { Processor } from \"./Processor\";\nexport { New } from \"./New\";\nexport { _Ready, ready, Ready } from \"./Ready\";\nexport { captureFalseTouch } from \"./captureFalseTouch\";\nexport { serviceLoader } from \"./serviceLoader\";\nexport { componentLoader } from \"./componentLoader\";\nexport { _buildComponentsFromElements_, ComponentURI } from \"./ComponentFactory\";\nexport { NamespaceRef } from \"./NamespaceRef\";\nexport { setDefaultProcessors } from \"./defaultProcessors\";\nexport { Tag, TagElements } from \"./Tag\";\nexport { Import } from \"./Import\";\nexport { BackendMicroservice } from \"./BackendMicroservice\";\nexport { Component } from \"./Component\";\nexport { _Crypt } from \"./Crypt\";\nexport { DefaultTemplateHandler } from \"./DefaultTemplateHandler\";\nexport { SourceJS } from \"./SourceJS\";\nexport { SourceCSS } from \"./SourceCSS\";\nexport { GlobalSettings } from \"./globalSettings\";\nexport { RegisterClass } from \"./RegisterClass\";\nexport { _ComponentWidget_, RegisterWidget, RegisterWidgets } from \"./WidgetsFactory\";\nexport { CONFIG } from \"./CONFIG\";\nexport { Controller } from \"./Controller\";\nexport { View } from \"./View\";\nexport { ConfigService, JSONService, Service } from \"./Service\";\nexport { VO } from \"./VO\";\nexport { Effect } from \"./Effect\";\nexport { TransitionEffect } from \"./TransitionEffect\";\nexport { Timer } from \"./Timer\";\nexport { _tag_filter_ } from \"./tag_filter\";\nexport { range } from \"./range\";\nexport { ArrayCollection, ArrayList } from \"./ArrayCollection\";\nexport { DDO } from \"./DDO\";\nexport { Toggle } from \"./Toggle\";\nexport { findPackageNodePath } from \"./findPackageNodePath\";\nexport { getDocumentLayout } from \"./DocumentLayout\";\nexport { IQCObjectsElement, IQCObjectsShadowedElement } from \"types\";\nexport { __to_number } from \"./mathFunctions\";\nexport {_top as global} from \"./top\";\nexport {__make_global__} from \"./make_global\";\nexport {get, set} from \"./top\";\n", " // Object.assign Polyfilling\n // Reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Polyfill\n if (typeof Object.assign !== \"function\") {\n // Must be writable: true, enumerable: false, configurable: true\n Object.defineProperty(Object, \"assign\", {\n // eslint-disable-next-line no-unused-vars\n value: function assign(target: null, varArgs: any):any { // .length of function is 2\n \"use strict\";\n if (target === null) { // TypeError if undefined or null\n throw new TypeError(\"Cannot convert undefined or null to object\");\n }\n \n const to = Object(target);\n \n for (let index = 1; index < arguments.length; index++) {\n // eslint-disable-next-line prefer-rest-params\n const nextSource = arguments[index];\n \n if (nextSource !== null) { // Skip over if undefined or null\n for (const nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n },\n writable: true,\n configurable: true\n });\n }\nexport {};", "import { Http2Stream } from \"http2\";\nimport { Stream } from \"stream\";\nimport { _basePath_ } from \"./basePath\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { _domain_ } from \"./domain\";\nimport { InheritClass } from \"./InheritClass\";\nimport { logger } from \"./Logger\";\nimport { Package } from \"./Package\";\nimport { IMicroservice } from \"types\";\n\nexport class BackendMicroservice extends InheritClass {\n stream: any;\n route: any;\n headers: any;\n request: any;\n\n constructor({\n domain = _domain_,\n basePath = _basePath_,\n body = null,\n stream = null,\n request = null\n }:IMicroservice) {\n super({\n domain,\n basePath,\n body,\n stream,\n request\n });\n logger.debug(\"Initializing BackendMicroservice...\");\n const microservice = this;\n if (typeof this.body === \"undefined\") {\n this.body = null;\n }\n if (typeof body !== \"undefined\") {\n this.body = body;\n }\n this.cors();\n microservice.stream = stream;\n (stream as any)?.on(\"data\", (data: any) => {\n // data from POST, GET\n const requestMethod = (request as any)?.method.toLowerCase();\n const supportedMethods = {\n \"post\": microservice.post.bind(microservice),\n };\n if (Object.hasOwn(supportedMethods, requestMethod)) {\n (supportedMethods as any)[requestMethod].call(microservice, data);\n }\n });\n\n // data from POST, GET\n const requestMethod = (request as any)?.method.toLowerCase();\n const supportedMethods = {\n \"get\": microservice.get.bind(microservice),\n \"head\": microservice.head.bind(microservice),\n \"put\": microservice.put.bind(microservice),\n \"delete\": microservice.delete.bind(microservice),\n \"connect\": microservice.connect.bind(microservice),\n \"options\": microservice.options.bind(microservice),\n \"trace\": microservice.trace.bind(microservice),\n \"patch\": microservice.patch.bind(microservice)\n };\n if (Object.hasOwn(supportedMethods, requestMethod)) {\n (supportedMethods as any)[requestMethod].call(microservice);\n }\n\n\n }\n\n cors():void {\n if (this.route.cors) {\n logger.debug(\"Validating CORS...\");\n const {\n allow_origins,\n allow_credentials,\n allow_methods,\n allow_headers\n } = this.route.cors;\n const microservice = this;\n if (typeof microservice.headers !== \"object\") {\n microservice.headers = {};\n }\n if (typeof microservice.route.responseHeaders !== \"object\") {\n microservice.route.responseHeaders = {};\n }\n if (typeof allow_origins !== \"undefined\") {\n logger.debug(\"CORS: allow_origins available. Validating origins...\");\n // an example of allow_origins is ['https://example.com','http://www.example.com']\n if (allow_origins === \"*\" || (typeof microservice.request.headers.origin === \"undefined\") || [...allow_origins].indexOf(microservice.request.headers.origin) !== -1) {\n // for compatibility with all browsers allways return a wildcard when the origin is allowed\n logger.debug(\"CORS: Adding header Access-Control-Allow-Origin=*\");\n microservice.route.responseHeaders[\"Access-Control-Allow-Origin\"] = \"*\";\n } else {\n logger.debug(\"CORS: Origin is not allowed: \" + microservice.request.headers.origin);\n logger.debug(\"CORS: Forcing to finish the response...\");\n this.body = {};\n try {\n this.done();\n } catch (e:any) {\n logger.debug(`It was not possible to finish the call to the microservice: ${e}`);\n }\n }\n } else {\n logger.debug(\"CORS: no allow_origins available. Allowing all origins...\");\n logger.debug(\"CORS: Adding header Access-Control-Allow-Origin=*\");\n microservice.route.responseHeaders[\"Access-Control-Allow-Origin\"] = \"*\";\n }\n if (typeof allow_credentials !== \"undefined\") {\n logger.debug(`CORS: allow_credentials present. Allowing ${allow_credentials}...`);\n microservice.route.responseHeaders[\"Access-Control-Allow-Credentials\"] = allow_credentials.toString();\n } else {\n logger.debug(\"CORS: No allow_credentials present. Allowing all credentials.\");\n microservice.route.responseHeaders[\"Access-Control-Allow-Credentials\"] = \"true\";\n }\n if (typeof allow_methods !== \"undefined\") {\n logger.debug(`CORS: allow_methods present. Allowing ${allow_methods}...`);\n microservice.route.responseHeaders[\"Access-Control-Allow-Methods\"] = [...allow_methods].join(\",\");\n } else {\n logger.debug(\"CORS: No allow_methods present. Allowing only GET, OPTIONS and POST\");\n microservice.route.responseHeaders[\"Access-Control-Allow-Methods\"] = \"GET, OPTIONS, POST\";\n }\n if (typeof allow_headers !== \"undefined\") {\n logger.debug(`CORS: allow_headers present. Allowing ${allow_headers}...`);\n microservice.route.responseHeaders[\"Access-Control-Allow-Headers\"] = [...allow_headers].join(\",\");\n } else {\n logger.debug(\"CORS: No allow_headers present. Allowing all headers...\");\n microservice.route.responseHeaders[\"Access-Control-Allow-Headers\"] = \"*\";\n }\n } else {\n logger.debug(\"No CORS validation available. You can specify cors in CONFIG.backend.routes[].cors\");\n }\n }\n\n\n head(formData: any):void {\n logger.debug(`[BackendMicroservice.head] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n get(formData: any):void {\n logger.debug(`[BackendMicroservice.get] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n post(formData: any):void {\n logger.debug(`[BackendMicroservice.post] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n put(formData: any):void {\n logger.debug(`[BackendMicroservice.put] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n delete(formData: any):void {\n logger.debug(`[BackendMicroservice.delete] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n connect(formData: any):void {\n logger.debug(`[BackendMicroservice.connect] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n options(formData: any):void {\n logger.debug(`[BackendMicroservice.options] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n trace(formData: any):void {\n logger.debug(`[BackendMicroservice.trace] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n patch(formData: any):void {\n logger.debug(`[BackendMicroservice.patch] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n finishWithBody(stream?: Http2Stream | Stream):void {\n try {\n logger.debug(\"[BackendMicroservice.finishWithBody] Ending the stream...\");\n logger.debug(`[BackendMicroservice.finishWithBody] type of body is: ${typeof this.body}`);\n if (typeof this.body !== \"string\") {\n this.body = _DataStringify(this.body);\n }\n logger.debug(`[BackendMicroservice.finishWithBody] \\n body: ${this.body} `);\n (stream as any)?.write(this.body);\n (stream as any)?.end();\n logger.debug(\"[BackendMicroservice.finishWithBody] Stream ended.\");\n } catch (e:any) {\n logger.debug(`[BackendMicroservice.finishWithBody] Something went wrong ending the stream: ${e}`);\n }\n }\n\n done():void {\n logger.debug(\"[BackendMicroservice.done] Finalizing the response...\");\n const microservice = this;\n const stream = microservice.stream;\n try {\n logger.debug(\"[BackendMicroservice.done] Sending response headers...\");\n if (microservice.route.responseHeaders) {\n logger.debug(`[BackendMicroservice.done] Response headers present: ${Object.keys(microservice.route.responseHeaders).join(\",\")}`);\n stream.respond(microservice.route.responseHeaders);\n } else {\n throw Error(\"[BackendMicroservice.done] No headers present.\");\n }\n } catch (e:any) {\n logger.debug(`[BackendMicroservice.done] Something went wrong sending response headers: ${e}`);\n }\n if (microservice.body !== null) {\n try {\n logger.debug(\"[BackendMicroservice.done] A body of message is present. Finalizing the response...\");\n microservice.finishWithBody.call(microservice, stream);\n } catch (e:any) {\n logger.debug(`[BackendMicroservice.done] Something went wrong finalizing the response: ${e}`);\n }\n } else {\n logger.debug(\"[BackendMicroservice.done] No body present. Ending stream...\");\n stream.end();\n }\n }\n\n\n}\n\nPackage(\"com.qcobjects.api\", [\n BackendMicroservice\n]);\n", "import { DefaultTemplateHandlerParams, IComponent } from \"types\";\nimport { logger } from \"./Logger\";\nimport { GlobalProcessor as Processor } from \"./Processor\";\nimport { RegisterClass } from \"./RegisterClass\";\n\nexport class DefaultTemplateHandler {\n template = \"\";\n __definition = {};\n static __definition = {};\n component?: IComponent;\n\n constructor({ component, template }: DefaultTemplateHandlerParams) {\n this.component = component;\n this.template = template;\n }\n\n assign(data: any): string {\n const templateInstance = this;\n if (typeof templateInstance.component === \"undefined\") {\n throw new Error(\"DefaultTemplateHandler.assign: component is undefined\");\n }\n if (typeof templateInstance.component.processorHandler === \"undefined\") {\n throw new Error(\"DefaultTemplateHandler.assign: component.processorHandler is undefined\");\n }\n const processorHandler = templateInstance.component.processorHandler;\n processorHandler.component = templateInstance.component;\n let parsedAssignmentText = (typeof templateInstance.template !== \"undefined\") ? (templateInstance.template) : (\"\");\n if (typeof data === \"object\") {\n [...Object.keys(data)].map((k): any => {\n let _value = data[k];\n if (typeof _value === \"string\" || typeof _value === \"number\" || (!isNaN(_value))) {\n try {\n _value = Processor.processObject.bind(processorHandler).call(processorHandler, _value, templateInstance.component);\n parsedAssignmentText = parsedAssignmentText.replace((new RegExp(`{{${k}}}`, \"g\")), _value);\n } catch (e: any) {\n logger.warn(`${templateInstance.component?.name} could not parse processors.`);\n throw Error(`${templateInstance.component?.name} could not parse processors. Reason: ${e.message}`);\n }\n }\n return k;\n });\n } else {\n logger.debug(`${templateInstance.component?.name}.data is not an object`);\n }\n try {\n parsedAssignmentText = Processor.processObject.call(processorHandler, parsedAssignmentText, templateInstance.component);\n } catch (e: any) {\n logger.warn(`${templateInstance.component?.name} could not parse processors.`);\n throw Error(`${templateInstance.component?.name} could not parse processors. Reason: ${e.message}`);\n }\n return parsedAssignmentText;\n }\n\n}\nRegisterClass(DefaultTemplateHandler, \"com.qcobjects\");\n", "import { __make_global__ } from \"./make_global\";\nimport { __register_class__ } from \"./PrimaryCollections\";\n\n\n\nexport const RegisterClass = function (_class_:any, __namespace?:string):any {\n return __register_class__(_class_, __namespace);\n};\n__make_global__(RegisterClass);", "import { ISourceJS } from \"types\";\nimport { _basePath_ } from \"./basePath\";\nimport { _Cast } from \"./Cast\";\nimport { _domain_ } from \"./domain\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\nimport { logger } from \"./Logger\";\n\nexport class SourceJS extends InheritClass implements ISourceJS {\n domain:string= _domain_;\n basePath:string= _basePath_;\n type= \"text/javascript\";\n containerTag= \"body\";\n url= \"\";\n data= {};\n async= false;\n external= false;\n\n constructor(o:any){\n super(o);\n this.body= _DOMCreateElement(\"script\");\n\n }\n set(name:string, value:any):void {\n this[name] = value;\n }\n get(name:string, _default?:any):any {\n return this[name] || _default;\n }\n status= false;\n done():void { }\n fail():void { }\n rebuild():void {\n const context = this;\n try {\n document.getElementsByTagName(context.containerTag)[0].appendChild(\n (function (s:any, url:string, context:any):any {\n s.type = context.type;\n s.src = url;\n s.crossOrigin = (Object.hasOwn(context, \"crossOrigin\")) ? (context.crossOrigin) : (\"anonymous\");\n s.async = context.async;\n s.onreadystatechange = function () {\n if (this.readyState === \"complete\") {\n context.done.call(context);\n }\n };\n s.onload = function (e:any) {\n context.status = true;\n context.done.call(context, e);\n };\n s.onerror = function (e:any) {\n context.status = false;\n context.fail.call(context, e);\n };\n context.body = s;\n return s;\n }).call(this,\n _DOMCreateElement(\"script\"),\n (this.external) ? (this.url) : (this.basePath + this.url), context));\n } catch (e:any) {\n context.status = false;\n logger.debug(`An error ocurred: ${e}`);\n context.fail();\n }\n }\n Cast(o:any):any {\n return _Cast(this, o);\n }\n _new_(properties:any):void {\n this.__new__(properties);\n this.rebuild();\n }\n }\n\n Package(\"com.qcobjects\", [SourceJS]);\n", "import { ISourceCSS, TBody } from \"types\";\nimport { _basePath_ } from \"./basePath\";\nimport { _Cast } from \"./Cast\";\nimport { _domain_ } from \"./domain\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { InheritClass } from \"./InheritClass\";\nimport { isBrowser } from \"./platform\";\nimport { Package } from \"./Package\";\n\nexport class SourceCSS extends InheritClass implements ISourceCSS {\n domain: string = _domain_;\n basePath: string = _basePath_;\n url = \"\";\n data = {};\n async = false;\n external = false;\n\n constructor(o: any) {\n super(o);\n this.body = _DOMCreateElement(\"link\") as TBody;\n }\n fail(): void {\n throw new Error(\"Method not implemented.\");\n }\n Cast(o: any): any {\n return _Cast(this, o);\n }\n set(name: string, value: any): void {\n this[name] = value;\n }\n get(name: string, _default?: any): any {\n return this[name] || _default;\n }\n done(): void { }\n rebuild(): void {\n const context = this;\n if (isBrowser) {\n window.document.getElementsByTagName(\"head\")[0].appendChild(\n (function (s: any, url: string, context: any): any {\n s.type = \"text/css\";\n s.rel = \"stylesheet\";\n s.href = url;\n s.crossOrigin = \"anonymous\";\n s.onreadystatechange = function () {\n if (this.readyState === \"complete\") {\n context.done.call(context);\n }\n };\n s.onload = context.done;\n context.body = s;\n return s;\n }).call(this,\n _DOMCreateElement(\"link\"),\n (this.external) ? (this.url) : (this.basePath + this.url), context));\n }\n }\n}\n\nPackage(\"com.qcobjects\", [SourceCSS]);", " \n/* eslint-disable no-unused-vars */\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { Export } from \"./Export\";\nimport { _protected_code_ } from \"./introspection\";\nimport { isBrowser } from \"./platform\";\nimport { I_ComponentWidget_ } from \"types\";\n\nclass QCObjectsWidgetNode implements I_ComponentWidget_ {\n writingSuggestions!: string;\n currentCSSZoom!: number;\n ariaColIndexText!: string | null;\n ariaRowIndexText!: string | null;\n accessKey!: string;\n accessKeyLabel!: string;\n autocapitalize!: string;\n dir!: string;\n draggable!: boolean;\n hidden!: boolean;\n inert!: boolean;\n innerText!: string;\n lang!: string;\n offsetHeight!: number;\n offsetLeft!: number;\n offsetParent!: Element | null;\n offsetTop!: number;\n offsetWidth!: number;\n outerText!: string;\n popover!: string | null;\n spellcheck!: boolean;\n title!: string;\n translate!: boolean;\n attachInternals(): ElementInternals {\n throw new Error(\"Method not implemented.\");\n }\n click(): void {\n throw new Error(\"Method not implemented.\");\n }\n hidePopover(): void {\n throw new Error(\"Method not implemented.\");\n }\n showPopover(): void {\n throw new Error(\"Method not implemented.\");\n }\n togglePopover(force?: boolean): boolean {\n throw new Error(\"Method not implemented.\");\n }\n addEventListener(type: unknown, listener: unknown, options?: unknown): void {\n throw new Error(\"Method not implemented.\");\n }\n removeEventListener(type: unknown, listener: unknown, options?: unknown): void {\n throw new Error(\"Method not implemented.\");\n }\n attributes!: NamedNodeMap;\n classList!: DOMTokenList;\n className!: string;\n clientHeight!: number;\n clientLeft!: number;\n clientTop!: number;\n clientWidth!: number;\n id!: string;\n innerHTML!: string;\n localName!: string;\n namespaceURI!: string | null;\n onfullscreenchange!: ((this: Element, ev: Event) => any) | null;\n onfullscreenerror!: ((this: Element, ev: Event) => any) | null;\n outerHTML!: string;\n ownerDocument!: Document;\n part!: DOMTokenList;\n prefix!: string | null;\n scrollHeight!: number;\n scrollLeft!: number;\n scrollTop!: number;\n scrollWidth!: number;\n shadowRoot!: ShadowRoot | null;\n slot!: string;\n tagName!: string;\n attachShadow(init: ShadowRootInit): ShadowRoot {\n throw new Error(\"Method not implemented.\");\n }\n checkVisibility(options?: CheckVisibilityOptions): boolean {\n throw new Error(\"Method not implemented.\");\n }\n closest(selectors: unknown): any {\n throw new Error(\"Method not implemented.\");\n }\n computedStyleMap(): StylePropertyMapReadOnly {\n throw new Error(\"Method not implemented.\");\n }\n getAttribute(qualifiedName: string): string | null {\n throw new Error(\"Method not implemented.\");\n }\n getAttributeNS(namespace: string | null, localName: string): string | null {\n throw new Error(\"Method not implemented.\");\n }\n getAttributeNames(): string[] {\n throw new Error(\"Method not implemented.\");\n }\n getAttributeNode(qualifiedName: string): Attr | null {\n throw new Error(\"Method not implemented.\");\n }\n getAttributeNodeNS(namespace: string | null, localName: string): Attr | null {\n throw new Error(\"Method not implemented.\");\n }\n getBoundingClientRect(): DOMRect {\n throw new Error(\"Method not implemented.\");\n }\n getClientRects(): DOMRectList {\n throw new Error(\"Method not implemented.\");\n }\n getElementsByClassName(classNames: string): HTMLCollectionOf<Element> {\n throw new Error(\"Method not implemented.\");\n }\n getElementsByTagName(qualifiedName: unknown): HTMLCollectionOf<Element> | HTMLCollectionOf<any> {\n throw new Error(\"Method not implemented.\");\n }\n getElementsByTagNameNS(namespace: unknown, localName: unknown): HTMLCollectionOf<any> {\n throw new Error(\"Method not implemented.\");\n }\n getHTML(options?: GetHTMLOptions): string {\n throw new Error(\"Method not implemented.\");\n }\n hasAttribute(qualifiedName: string): boolean {\n throw new Error(\"Method not implemented.\");\n }\n hasAttributeNS(namespace: string | null, localName: string): boolean {\n throw new Error(\"Method not implemented.\");\n }\n hasAttributes(): boolean {\n throw new Error(\"Method not implemented.\");\n }\n hasPointerCapture(pointerId: number): boolean {\n throw new Error(\"Method not implemented.\");\n }\n insertAdjacentElement(where: InsertPosition, element: Element): Element | null {\n throw new Error(\"Method not implemented.\");\n }\n insertAdjacentHTML(position: InsertPosition, string: string): void {\n throw new Error(\"Method not implemented.\");\n }\n insertAdjacentText(where: InsertPosition, data: string): void {\n throw new Error(\"Method not implemented.\");\n }\n matches(selectors: string): boolean {\n throw new Error(\"Method not implemented.\");\n }\n releasePointerCapture(pointerId: number): void {\n throw new Error(\"Method not implemented.\");\n }\n removeAttribute(qualifiedName: string): void {\n throw new Error(\"Method not implemented.\");\n }\n removeAttributeNS(namespace: string | null, localName: string): void {\n throw new Error(\"Method not implemented.\");\n }\n removeAttributeNode(attr: Attr): Attr {\n throw new Error(\"Method not implemented.\");\n }\n requestFullscreen(options?: FullscreenOptions): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n requestPointerLock(options?: PointerLockOptions): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n scroll(x?: unknown, y?: unknown): void {\n throw new Error(\"Method not implemented.\");\n }\n scrollBy(x?: unknown, y?: unknown): void {\n throw new Error(\"Method not implemented.\");\n }\n scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void {\n throw new Error(\"Method not implemented.\");\n }\n scrollTo(x?: unknown, y?: unknown): void {\n throw new Error(\"Method not implemented.\");\n }\n setAttribute(qualifiedName: string, value: string): void {\n throw new Error(\"Method not implemented.\");\n }\n setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void {\n throw new Error(\"Method not implemented.\");\n }\n setAttributeNode(attr: Attr): Attr | null {\n throw new Error(\"Method not implemented.\");\n }\n setAttributeNodeNS(attr: Attr): Attr | null {\n throw new Error(\"Method not implemented.\");\n }\n setHTMLUnsafe(html: string): void {\n throw new Error(\"Method not implemented.\");\n }\n setPointerCapture(pointerId: number): void {\n throw new Error(\"Method not implemented.\");\n }\n toggleAttribute(qualifiedName: string, force?: boolean): boolean {\n throw new Error(\"Method not implemented.\");\n }\n webkitMatchesSelector(selectors: string): boolean {\n throw new Error(\"Method not implemented.\");\n }\n baseURI!: string;\n childNodes!: NodeListOf<ChildNode>;\n firstChild!: ChildNode | null;\n isConnected!: boolean;\n lastChild!: ChildNode | null;\n nextSibling!: ChildNode | null;\n nodeName!: string;\n nodeType!: number;\n nodeValue!: string | null;\n parentElement!: HTMLElement | null;\n parentNode!: ParentNode | null;\n previousSibling!: ChildNode | null;\n textContent!: string | null;\n appendChild<T extends Node>(node: T): T {\n throw new Error(\"Method not implemented.\");\n }\n cloneNode(deep?: boolean): Node {\n throw new Error(\"Method not implemented.\");\n }\n compareDocumentPosition(other: Node): number {\n throw new Error(\"Method not implemented.\");\n }\n contains(other: Node | null): boolean {\n throw new Error(\"Method not implemented.\");\n }\n getRootNode(options?: GetRootNodeOptions): Node {\n throw new Error(\"Method not implemented.\");\n }\n hasChildNodes(): boolean {\n throw new Error(\"Method not implemented.\");\n }\n insertBefore<T extends Node>(node: T, child: Node | null): T {\n throw new Error(\"Method not implemented.\");\n }\n isDefaultNamespace(namespace: string | null): boolean {\n throw new Error(\"Method not implemented.\");\n }\n isEqualNode(otherNode: Node | null): boolean {\n throw new Error(\"Method not implemented.\");\n }\n isSameNode(otherNode: Node | null): boolean {\n throw new Error(\"Method not implemented.\");\n }\n lookupNamespaceURI(prefix: string | null): string | null {\n throw new Error(\"Method not implemented.\");\n }\n lookupPrefix(namespace: string | null): string | null {\n throw new Error(\"Method not implemented.\");\n }\n normalize(): void {\n throw new Error(\"Method not implemented.\");\n }\n removeChild<T extends Node>(child: T): T {\n throw new Error(\"Method not implemented.\");\n }\n replaceChild<T extends Node>(node: Node, child: T): T {\n throw new Error(\"Method not implemented.\");\n }\n ELEMENT_NODE!: 1;\n ATTRIBUTE_NODE!: 2;\n TEXT_NODE!: 3;\n CDATA_SECTION_NODE!: 4;\n ENTITY_REFERENCE_NODE!: 5;\n ENTITY_NODE!: 6;\n PROCESSING_INSTRUCTION_NODE!: 7;\n COMMENT_NODE!: 8;\n DOCUMENT_NODE!: 9;\n DOCUMENT_TYPE_NODE!: 10;\n DOCUMENT_FRAGMENT_NODE!: 11;\n NOTATION_NODE!: 12;\n DOCUMENT_POSITION_DISCONNECTED!: 1;\n DOCUMENT_POSITION_PRECEDING!: 2;\n DOCUMENT_POSITION_FOLLOWING!: 4;\n DOCUMENT_POSITION_CONTAINS!: 8;\n DOCUMENT_POSITION_CONTAINED_BY!: 16;\n DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC!: 32;\n dispatchEvent(event: Event): boolean {\n throw new Error(\"Method not implemented.\");\n }\n ariaAtomic!: string | null;\n ariaAutoComplete!: string | null;\n ariaBrailleLabel!: string | null;\n ariaBrailleRoleDescription!: string | null;\n ariaBusy!: string | null;\n ariaChecked!: string | null;\n ariaColCount!: string | null;\n ariaColIndex!: string | null;\n ariaColSpan!: string | null;\n ariaCurrent!: string | null;\n ariaDescription!: string | null;\n ariaDisabled!: string | null;\n ariaExpanded!: string | null;\n ariaHasPopup!: string | null;\n ariaHidden!: string | null;\n ariaInvalid!: string | null;\n ariaKeyShortcuts!: string | null;\n ariaLabel!: string | null;\n ariaLevel!: string | null;\n ariaLive!: string | null;\n ariaModal!: string | null;\n ariaMultiLine!: string | null;\n ariaMultiSelectable!: string | null;\n ariaOrientation!: string | null;\n ariaPlaceholder!: string | null;\n ariaPosInSet!: string | null;\n ariaPressed!: string | null;\n ariaReadOnly!: string | null;\n ariaRequired!: string | null;\n ariaRoleDescription!: string | null;\n ariaRowCount!: string | null;\n ariaRowIndex!: string | null;\n ariaRowSpan!: string | null;\n ariaSelected!: string | null;\n ariaSetSize!: string | null;\n ariaSort!: string | null;\n ariaValueMax!: string | null;\n ariaValueMin!: string | null;\n ariaValueNow!: string | null;\n ariaValueText!: string | null;\n role!: string | null;\n animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation {\n throw new Error(\"Method not implemented.\");\n }\n getAnimations(options?: GetAnimationsOptions): Animation[] {\n throw new Error(\"Method not implemented.\");\n }\n after(...nodes: (Node | string)[]): void {\n throw new Error(\"Method not implemented.\");\n }\n before(...nodes: (Node | string)[]): void {\n throw new Error(\"Method not implemented.\");\n }\n remove(): void {\n throw new Error(\"Method not implemented.\");\n }\n replaceWith(...nodes: (Node | string)[]): void {\n throw new Error(\"Method not implemented.\");\n }\n nextElementSibling!: Element | null;\n previousElementSibling!: Element | null;\n childElementCount!: number;\n children!: HTMLCollection;\n firstElementChild!: Element | null;\n lastElementChild!: Element | null;\n \n append(...nodes: (Node | string)[]): void {\n throw new Error(\"Method not implemented.\");\n }\n \n prepend(...nodes: (Node | string)[]): void {\n throw new Error(\"Method not implemented.\");\n }\n \n querySelector(selectors: unknown): any {\n throw new Error(\"Method not implemented.\");\n }\n \n querySelectorAll(selectors: unknown): NodeListOf<any> {\n throw new Error(\"Method not implemented.\");\n }\n replaceChildren(...nodes: (Node | string)[]): void {\n throw new Error(\"Method not implemented.\");\n }\n assignedSlot!: HTMLSlotElement | null;\n attributeStyleMap!: StylePropertyMap;\n style!: CSSStyleDeclaration;\n contentEditable!: string;\n enterKeyHint!: string;\n inputMode!: string;\n isContentEditable!: boolean;\n onabort!: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;\n onanimationcancel!: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n onanimationend!: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n onanimationiteration!: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n onanimationstart!: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n onauxclick!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onbeforeinput!: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null;\n onbeforetoggle!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onblur!: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;\n oncancel!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n oncanplay!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n oncanplaythrough!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onchange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onclick!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onclose!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n oncontextlost!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n oncontextmenu!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n oncontextrestored!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n oncopy!: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;\n oncuechange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n oncut!: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;\n ondblclick!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n ondrag!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n ondragend!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n ondragenter!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n ondragleave!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n ondragover!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n ondragstart!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n ondrop!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n ondurationchange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onemptied!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onended!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onerror!: OnErrorEventHandler;\n onfocus!: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;\n onformdata!: ((this: GlobalEventHandlers, ev: FormDataEvent) => any) | null;\n ongotpointercapture!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n oninput!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n oninvalid!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onkeydown!: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;\n onkeypress!: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;\n onkeyup!: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;\n onload!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onloadeddata!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onloadedmetadata!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onloadstart!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onlostpointercapture!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onmousedown!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onmouseenter!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onmouseleave!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onmousemove!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onmouseout!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onmouseover!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onmouseup!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onpaste!: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;\n onpause!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onplay!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onplaying!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onpointercancel!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onpointerdown!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onpointerenter!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onpointerleave!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onpointermove!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onpointerout!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onpointerover!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onpointerup!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onprogress!: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;\n onratechange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onreset!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onresize!: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;\n onscroll!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onscrollend!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onsecuritypolicyviolation!: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null;\n onseeked!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onseeking!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onselect!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onselectionchange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onselectstart!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onslotchange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onstalled!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onsubmit!: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;\n onsuspend!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n ontimeupdate!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n ontoggle!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n ontouchstart?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n ontransitioncancel!: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n ontransitionend!: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n ontransitionrun!: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n ontransitionstart!: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n onvolumechange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onwaiting!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onwebkitanimationend!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onwebkitanimationiteration!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onwebkitanimationstart!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onwebkittransitionend!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onwheel!: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null;\n autofocus!: boolean;\n dataset!: DOMStringMap;\n nonce?: string | undefined;\n tabIndex!: number;\n blur(): void {\n throw new Error(\"Method not implemented.\");\n }\n focus(options?: FocusOptions): void {\n throw new Error(\"Method not implemented.\");\n }\n\n}\n\nexport let _ComponentWidget_:CustomElementConstructor;\nif (isBrowser) {\n _ComponentWidget_ = class _ComponentWidget_ extends HTMLElement implements I_ComponentWidget_ {\n constructor() {\n super();\n const componentWidget = this;\n const componentName = componentWidget.nodeName.toLowerCase();\n const componentBody = _DOMCreateElement(\"quick-component\");\n const __enabled__atributes__ = componentWidget.getAttributeNames();\n componentBody.setAttribute(\"name\", componentName);\n \n if (!componentWidget.hasAttribute(\"shadowed\")) {\n componentBody.setAttribute(\"shadowed\", \"true\");\n }\n __enabled__atributes__.forEach( (attributeName) => {\n if (componentWidget.hasAttribute(attributeName)) {\n componentBody.setAttribute(attributeName, componentWidget?.getAttribute(attributeName) as any);\n componentWidget.removeAttribute(attributeName);\n }\n });\n const data_attributenames = componentWidget.getAttributeNames().filter(function (a) {\n return a.startsWith(\"data-\");\n }).map(function (a) {\n return a.split(\"-\")[1];\n });\n data_attributenames.forEach(function (_attribute_name_) {\n componentBody.setAttribute(\"data-\" + _attribute_name_, componentWidget?.getAttribute(\"data-\" + _attribute_name_) as any);\n componentWidget.removeAttribute(\"data-\" + _attribute_name_);\n });\n [...(componentWidget as any).children].forEach( (element) => {\n componentBody.appendChild(element.cloneNode(true));\n element.remove();\n });\n \n componentWidget.append(componentBody);\n }\n };\n \n} else {\n _ComponentWidget_ = class _ComponentWidget_ extends QCObjectsWidgetNode {\n constructor (){\n super();\n throw new Error (\"Class not implemented.\");\n }\n };\n}\nExport(_ComponentWidget_);\nexport const RegisterWidget = (widgetName: string):void => {\n if (isBrowser){\n customElements.define(widgetName, class extends _ComponentWidget_ { });\n } else {\n throw new Error (\"RegisterWidget is not implemented for non browser ecosystems yet.\");\n }\n};\nexport const RegisterWidgets = (...args: string[]):void =>{\n const widgetList = [...args];\n widgetList.filter(function (widgetName) {\n return typeof widgetName === \"string\";\n }).map(function (widgetName) {\n return RegisterWidget(widgetName);\n });\n};\n(_protected_code_)(RegisterWidget);\n(_protected_code_)(RegisterWidgets);\nExport(RegisterWidget);\nExport(RegisterWidgets);\n", "import { IController, IComponent, TControllerParams } from \"types\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { __getType__ } from \"./getType\";\nimport { InheritClass } from \"./InheritClass\";\nimport { logger } from \"./Logger\";\nimport { New } from \"./New\";\nimport { Package } from \"./Package\";\nimport { isBrowser } from \"./platform\";\n\nexport class Controller extends InheritClass implements IController{\n\n component!: IComponent ;\n dependencies?: any[] = [];\n constructor({\n component,\n dependencies\n }: TControllerParams) {\n super({ component, dependencies });\n this.component = component;\n this.dependencies = dependencies;\n if (typeof this.component === \"undefined\" || this.component === null) {\n throw Error(`${__getType__(this)} must be called with a component`);\n }\n }\n\n // eslint-disable-next-line no-unused-vars\n fail?(...args: [...args: any[]] ): void {\n throw new Error(\"Method not implemented.\");\n }\n\n\n routingSelectedAttr(attrName: string):any {\n return this.component?.routingSelected.map( (r: any):any => {\n return r[attrName];\n }).filter(function (v: any) {\n return v;\n }).pop();\n }\n\n isTouchable():boolean {\n return (\"ontouchstart\" in window) ||\n ((navigator as any).MaxTouchPoints > 0) ||\n ((navigator as any).msMaxTouchPoints > 0);\n }\n\n onpress(subelementSelector: string, handler: Function):void {\n if (isBrowser){\n try {\n if (this.isTouchable()) {\n ((this.component?.componentRoot as any)?.subelements(subelementSelector) as any[])[0].addEventListener(\"touchstart\", handler, {\n passive: true\n });\n } else {\n ((this.component?.componentRoot as any)?.subelements(subelementSelector) as any[])[0].addEventListener(\"click\", handler, {\n passive: true\n });\n }\n } catch (e:any) {\n logger.debug(`An error ocurred: ${e}.`);\n logger.debug(\"No button to assign press event\");\n }\n \n }\n }\n\n createRoutingController():void {\n const controller = this;\n const component = controller.component;\n const controllerName = controller.routingSelectedAttr(\"controllerclass\");\n if (typeof controllerName !== \"undefined\") {\n const _Controller = ClassFactory(controllerName) as unknown as IController;\n if (typeof _Controller !== \"undefined\" && component !== null) {\n component.routingController = New(_Controller, {\n component\n }) as IController; // Initializes the main controller for the component\n if (typeof component.routingController !== \"undefined\" \n && Object.hasOwn(component.routingController, \"done\") \n && typeof component.routingController.done === \"function\") {\n component.routingController.done.call(component.routingController);\n }\n }\n }\n }\n\n done():void { }\n}\n\nPackage(\"com.qcobjects.controllers\", [\n Controller\n]);\n", "import { __getType__ } from \"./getType\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\nimport { TViewParams } from \"types\";\n\nexport class View extends InheritClass {\n constructor({ component = undefined, dependencies = [] }:TViewParams) {\n super({component, dependencies});\n if (typeof this.component === \"undefined\" || this.component === \"null\") {\n throw Error(`${__getType__(this)} must be called with a component`);\n }\n\n }\n }\n\nPackage(\"com.qcobjects.views\", [\n View\n]);", "import { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\n\nexport class VO extends InheritClass {}\n\nPackage(\"com.qcobjects.valueObjects\", [\n VO\n ]);", "import { IEffect, TEffectParams } from \"types\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\nimport { _methods_, _protected_code_ } from \"./introspection\";\nimport { ClassFactory } from \"./ClassFactory\";\n\nclass Effect extends InheritClass implements IEffect {\n // eslint-disable-next-line no-unused-vars\n done(...args: any[]): any {\n throw new Error(\"Method not implemented.\");\n };\n // eslint-disable-next-line no-unused-vars\n apply(...args: any[]): void {\n throw new Error(\"Method not implemented.\");\n }\n duration = 1000;\n\n\n animate({\n timing,\n draw,\n duration\n }: TEffectParams): void {\n const _self: this = this;\n\n const start = performance.now();\n\n requestAnimationFrame(function animate(time) {\n // timeFraction goes from 0 to 1\n let timeFraction = (time - start) / duration;\n if (timeFraction > 1) timeFraction = 1;\n\n // calculate the current animation state\n const progress = timing(timeFraction);\n\n draw(Math.round(progress * 100)); // draw it\n\n if (timeFraction < 1) {\n requestAnimationFrame(animate);\n } else {\n // if this is an object with a done method\n if (typeof _self !== \"undefined\" &&\n _self !== null &&\n Object.hasOwn(_self, \"done\") &&\n (typeof _self.done).toLowerCase() === \"function\") {\n _self.done.call(_self);\n }\n }\n\n });\n }\n\n}\n\n\nPackage(\"com.qcobjects.effects.base\", [\n Effect\n]);\n\n(_methods_)(ClassFactory(\"Effect\")).map((__c__): any => {\n (_protected_code_)(__c__);\n return __c__;\n});\n\nexport { Effect };", "import { Effect } from \"./Effect\";\nimport { logger } from \"./Logger\";\nimport { Package } from \"./Package\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { ITransitionEffect, IComponent, TTransitionEffectParams } from \"types\";\n\nexport class TransitionEffect extends Effect implements ITransitionEffect{\n duration = 385;\n defaultParams = {\n alphaFrom: 0,\n alphaTo: 1,\n angleFrom: 180,\n angleTo: 0,\n radiusFrom: 0,\n radiusTo: 30,\n scaleFrom: 0,\n scaleTo: 1\n };\n\n fitToHeight = false;\n fitToWidth = false;\n\n component!: IComponent;\n effects!: string[];\n\n apply({\n alphaFrom,\n alphaTo,\n angleFrom,\n angleTo,\n radiusFrom,\n radiusTo,\n scaleFrom,\n scaleTo\n }: TTransitionEffectParams):void {\n const _transition_ = this;\n logger.info(\"EXECUTING TransitionEffect \");\n const componentRoot =_transition_.component.componentRoot;\n\n if (typeof componentRoot !== \"undefined\" && componentRoot !== null){\n if (_transition_.fitToHeight) {\n (componentRoot as any).height = (typeof (componentRoot as HTMLElement).offsetParent === \"object\" && (componentRoot as HTMLElement).offsetParent !== null) ? ((componentRoot as HTMLElement).offsetParent?.scrollHeight) : ((componentRoot as HTMLElement).getBoundingClientRect().height);\n }\n if (_transition_.fitToWidth) {\n (componentRoot as any).width = (typeof (componentRoot as HTMLElement).offsetParent === \"object\" && (componentRoot as HTMLElement).offsetParent !== null) ? ((componentRoot as HTMLElement).offsetParent?.scrollWidth) : ((componentRoot as HTMLElement).getBoundingClientRect().width);\n }\n if (_transition_.component.shadowed){\n ((componentRoot as ShadowRoot).host as HTMLElement).style.display = \"block\";\n } else {\n (componentRoot as HTMLElement).style.display = \"block\";\n }\n _transition_.effects.map( (effectClassName:string):string => {\n\n const __effectClass__ = ClassFactory(effectClassName) as unknown as typeof Effect;\n const effectObj = new __effectClass__({});\n const effectClassMethod = effectObj.apply.bind(_transition_);\n const componentHost = (_transition_.component.shadowed)? ((componentRoot as ShadowRoot).host) : (componentRoot);\n const effectParams = {\n alphaFrom,\n alphaTo,\n angleFrom,\n angleTo,\n radiusFrom,\n radiusTo,\n scaleFrom,\n scaleTo\n }; \n effectClassMethod(componentHost,...Object.values(effectParams));\n return effectClassName;\n });\n \n }\n\n }\n\n}\n\nPackage(\"com.qcobjects.effects.transitions.base\", [\n TransitionEffect\n]);\n", "import { ITimer, TTimerParams } from \"types\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\n\nexport class Timer extends InheritClass implements ITimer {\n\n\n duration = 1000;\n alive = true;\n thread({\n timing,\n intervalInterceptor,\n duration\n }:TTimerParams):void {\n const timer = this;\n\n const start = performance.now();\n\n requestAnimationFrame(function thread(time) {\n // timeFraction goes from 0 to 1\n const elapsed = (time - start);\n let timeFraction = elapsed / duration;\n if (timeFraction > 1) timeFraction = 1;\n\n // calculate the current progress state\n const progress = timing(timeFraction, elapsed);\n\n intervalInterceptor(Math.round(progress * 100)); // draw it\n\n if ((timeFraction < 1 || duration === -1) && timer.alive) {\n requestAnimationFrame(thread);\n }\n\n });\n }\n\n\n }\n\nPackage(\"com.qcobjects.timing\", [\n Timer\n ]);\n", "import { TDDOParams } from \"types\";\nimport { Export } from \"./Export\";\nimport { InheritClass } from \"./InheritClass\";\nimport { logger } from \"./Logger\";\nimport { ObjectName } from \"./ObjectName\";\n\n/**\n * Dynamic Data Objects Class\n * Usage:\n * Class('TestDDO',{\n * data: {},\n * _new_ (){\n * this.ddo = New(DDO,{\n * instance:this,\n * name:'data',\n * value:{},\n * fget (value){\n * logger.debug('returned value '+ value );\n * }\n * })\n * }\n * });\n *\n */\nexport class DDO extends InheritClass {\n constructor({\n instance,\n name,\n fget,\n fset,\n value\n }:TDDOParams) {\n super({\n instance,\n name,\n fget,\n fset,\n value\n });\n this._new_({\n instance,\n name,\n fget,\n fset,\n value\n });\n\n }\n\n _new_({\n instance,\n name,\n fget,\n fset\n }:TDDOParams):void {\n const ddoInstance = this;\n var name = (typeof name === \"undefined\") ? (ObjectName(ddoInstance)) : (name);\n\n Object.defineProperty(instance, name, {\n set(val) {\n const _value = val;\n logger.debug(\"value changed \" + name);\n let ret;\n if (typeof fset !== \"undefined\" && typeof fset === \"function\") {\n ret = fset(_value);\n } else {\n ret = _value;\n }\n instance[\"_\" + name] = ret;\n \n },\n get():any {\n const _value = instance[\"_\" + name];\n logger.debug(\"returning value \" + name);\n const is_ddo = (v:any):any => {\n if (typeof v === \"object\" && Object.hasOwn(v, \"value\")) {\n return v.value;\n }\n return v;\n };\n let ret;\n if (typeof fget !== \"undefined\" && typeof fget === \"function\") {\n ret = fget(is_ddo(_value));\n } else {\n ret = is_ddo(_value);\n }\n return ret;\n }\n });\n }\n\n}\nExport(DDO);\n", "import { InheritClass } from \"./InheritClass\";\nimport { logger } from \"./Logger\";\nimport { Package } from \"./Package\";\nexport class Toggle extends InheritClass {\n _toggle = false;\n _inverse = true;\n _positive:Function|null = null;\n _negative:Function|null = null;\n _dispatched:Function|null = null;\n _args = {};\n\n constructor(positive: Function, negative: Function, args: Array<any>) {\n super({positive, negative, args});\n this._new_({positive, negative, args});\n }\n\n changeToggle():void {\n this._toggle = !(this._toggle);\n }\n\n _new_({\n positive,\n negative,\n args\n }:{positive: Function, negative: Function, args: Array<any>}):void {\n this._positive = positive;\n this._negative = negative;\n this._args = args;\n }\n\n fire():Promise<Toggle> {\n const toggle = this;\n var _promise = new Promise<Toggle>(function (resolve, reject) {\n\n if (typeof toggle._positive === \"function\" && typeof toggle._negative === \"function\") {\n if (toggle._inverse) {\n toggle._dispatched = (toggle._toggle) ? (toggle._negative.bind(toggle)) : (toggle._positive.bind(toggle));\n } else {\n toggle._dispatched = (toggle._toggle) ? (toggle._positive.bind(toggle)) : (toggle._negative.bind(toggle));\n }\n toggle._dispatched?.call(toggle, toggle._args);\n resolve.call(_promise, toggle);\n } else {\n logger.debug(\"Toggle functions are not declared\");\n reject.call(_promise, toggle as Toggle);\n }\n return toggle;\n }).then(function (toggle:Toggle) {\n toggle.changeToggle();\n return toggle;\n }).catch(function (e) {\n logger.debug(e.toString());\n return toggle;\n }).finally(()=> {\n return toggle;\n });\n return _promise;\n }\n\n\n}\n\nPackage(\"com.qcobjects.tools.essentials\", [\n Toggle\n]);\n", "export const getDocumentLayout = function ():string|undefined {\n const h = (w:number, h:number) => {\n return w > h ? \"landscape\" : null;\n };\n const v = (w:number, h:number) => {\n return h > w ? \"portrait\" : null;\n };\n const square = (w:number, h:number) => {\n return w === h ? \"square\" : null;\n };\n return [\n h(document.documentElement.clientWidth, document.documentElement.clientHeight),\n v(document.documentElement.clientWidth, document.documentElement.clientHeight),\n square(document.documentElement.clientWidth, document.documentElement.clientHeight)\n ].filter(e => e !== null).pop();\n };\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["__getType__", "name", "name", "self", "self", "process", "callback", "args", "service", "URL", "req", "component", "is_file", "_ret_", "self", "e", "_component_", "_component", "standardResponse", "observer", "newComponent", "_top", "_top", "ready", "self", "shortCode", "func", "exp", "subelements", "_top", "_self", "content", "self", "isBrowser", "requestMethod", "supportedMethods", "context", "context", "_Controller", "toggle", "h"]
|
|
4
|
+
"sourcesContent": ["export const __is_raw_class__ = (o_c: any): boolean => {\n return !!((typeof o_c === \"function\" && o_c.toString().startsWith(\"class\")));\n};\n", "/**\n * Returns the object or function name\n *\n * @param Object or function\n */\nexport const ObjectName = (o: any):string => {\n let ret = \"\";\n if (typeof o === \"function\" && Object.hasOwn(o, \"name\") && o.name !== \"\") {\n ret = o.name;\n } else if (typeof o !== \"undefined\" && typeof o.constructor === \"function\" && o.constructor.name !== \"\") {\n ret = o.constructor.name;\n } else if (typeof o !== \"undefined\" && typeof o.constructor === \"object\") {\n ret = o.constructor.toString().replace(/\\[(.*?)\\]/g, \"$1\").split(\" \").slice(1).join(\"\");\n }\n return ret;\n};", "import { __is_raw_class__ } from \"./is_raw_class\";\nimport { ObjectName } from \"./ObjectName\";\n\n/**\n * Determine the type of the Object for any QCObjects Object\n *\n * @param {Object} object\n */\nexport const __getType__ = function __getType__(o_c: any): any {\n let _ret_ = \"\";\n switch (true) {\n case typeof o_c === \"object\" &&\n (!!o_c.constructor &&\n !!o_c.constructor.name)\n && o_c.constructor.name !== \"\":\n _ret_ = o_c.constructor.name;\n break;\n case typeof o_c === \"function\" && !!o_c.name:\n _ret_ = o_c.name;\n break;\n case __is_raw_class__(o_c) && !!o_c.name:\n _ret_ = o_c.name;\n break;\n case (!!o_c && !!o_c.__classType) && o_c.__classType !== \"\":\n _ret_ = o_c.__classType;\n break;\n case (!!o_c && !!o_c.__definition) && (!!o_c.__definition.__classType) && o_c.__definition.__classType !== \"\":\n _ret_ = o_c.__definition.__classType;\n break;\n default:\n _ret_ = ObjectName(o_c);\n break;\n }\n return _ret_;\n};\n", "import { _top, set } from \"./top\";\ndeclare const global:any;\ndeclare const globalThis:any;\n\nexport const __make_global__ = (f:any):void => {\n if (!!f && !!f.name) {\n if (typeof _top !== \"undefined\" && typeof f !== \"undefined\" && _top !== null && !Object.hasOwn(_top,f.name)) {\n set(f.name, f);\n } else if (typeof global !== \"undefined\"){\n global[f.name] = f;\n } else if (typeof globalThis !== \"undefined\"){\n globalThis[f.name] = f;\n }\n \n }\n\n};", "import { T_QC_CLASSES, T_QC_PACKAGES } from \"types\";\nimport { __getType__ } from \"./getType\";\nimport { __make_global__ } from \"./make_global\";\n\nexport var _QC_CLASSES: T_QC_CLASSES = {};\nexport var _QC_PACKAGES: T_QC_PACKAGES = {};\nexport var _QC_PACKAGES_IMPORTED: any[] = [];\nexport var _QC_READY_LISTENERS: any[] = [];\n\nexport const __register_class__ = function (_class_: any, __namespace?: string): any {\n const __classType = __getType__(_class_);\n let name = _class_.name || __classType;\n if (name.toLowerCase() === \"function\") {\n name = __classType;\n }\n if (typeof _class_.__definition === \"undefined\") {\n _class_.__definition = {};\n }\n _class_.__definition.__classType = __classType;\n if (typeof __namespace !== \"undefined\") {\n _class_.__definition.__namespace = __namespace;\n }\n _QC_CLASSES[name] = _class_;\n __make_global__(_class_);\n return _QC_CLASSES[name];\n};\n\nexport const get_QC_CLASS = (name:string):any => {\n return _QC_CLASSES[name];\n};\n\nconst _get_packages_names = function <T>(_packages: any): T[] {\n let _keys: any[] = [];\n for (const _k of Object.keys(_packages)) {\n if (\n typeof _packages[_k] !== \"undefined\" &&\n typeof _packages[_k] !== \"function\" &&\n Object.hasOwn(_packages[_k], \"length\") &&\n _packages[_k].length > 0\n ) {\n _keys.push(_k);\n _keys = _keys.concat(_get_packages_names(_packages[_k]));\n }\n }\n return _keys as T[];\n};\n\n\nexport const getPackagesNamesList = (): any[] => {\n return _get_packages_names(_QC_PACKAGES);\n};\n\nexport const getPackagesList = (): any[] => {\n return [...getPackagesNamesList()].map(<T>(packagename: string): T => {\n const _classesList: any[] = _QC_PACKAGES[packagename] as any[];\n let _ret_: any = undefined;\n if (_classesList) {\n _ret_ = {\n packageName: packagename,\n classesList: _classesList.filter(function (): boolean {\n return true;\n })\n };\n }\n return _ret_ as T;\n }).filter(function (_p: any): boolean {\n return typeof _p !== \"undefined\";\n });\n};\n\nexport const getClassesList = (): any[] => {\n let _classesList: any[] = [];\n [...getPackagesList()].forEach(function <T>(_package_element: any): T {\n _classesList = _classesList.concat(_package_element.classesList.map(\n (_class_element: any) => {\n return {\n packageName: _package_element.packageName,\n className: `${_package_element.packageName}.${__getType__(_class_element)}`,\n classFactory: _class_element\n };\n }\n ));\n return _package_element as T;\n });\n\n return _classesList;\n};\n\nexport const getClassesNamesList = (): any[] => {\n return [...getClassesList()].map(<T>(_class_element: any): T => {\n return _class_element.className as T;\n });\n};\n\nexport const set_QC_PACKAGE = (packageName: string, _qc_packages: any[]):void => {\n _QC_PACKAGES[packageName] = _qc_packages;\n};\n\n", "import { __make_global__ } from \"./make_global\";\n\nexport const Export = function (f: any):void {\n return __make_global__(f);\n};\nExport.prototype.toString = function () {\n return \"Export(function or symbol) { [QCObjects native code] }\";\n};\n", "import { logger } from \"./Logger\";\n\nasync function _import_(name:string):Promise<any> {\n logger.debug(`Importing ${name}...`);\n function isPackage(name:string) {\n logger.debug(`Validating if ${name} is a package name...`);\n // Simple check to determine if the name is a package\n // This can be enhanced based on your specific needs\n return !name.startsWith(\".\") && !name.startsWith(\"/\") && !name.includes(\"/\");\n }\n \n try {\n // Ensure the name has a .js extension if it's not a package\n const hasExtension = /\\.[^/\\\\]+$/.test(name);\n if (!hasExtension && !isPackage(name)) {\n logger.debug(`${name} does not have an extension and is not a package. Adding js extension.`);\n name += \".js\";\n }\n \n const m:any = await import(name);\n return m;\n } catch (error:any) {\n logger.warn(`Failed to load module: ${error}`);\n }\n }\n \nexport {_import_};", "import { _import_ } from \"./_import_\";\nimport { logger } from \"./Logger\";\n\nexport const isDeno:boolean = (typeof window !== \"undefined\" && \"Deno\" in window);\nexport const isBrowser:boolean = (typeof window !== \"undefined\" && typeof window.self !== \"undefined\" && window === window.self) && !isDeno;\nexport const isNodeCommonJS:boolean = (typeof module !== \"undefined\");\n// eslint-disable-next-line no-unused-vars\nexport const deno_require = (name:string):void => { /* not yet implemented */};\nexport const _require_ = (name:string):any => {\n \n return (isDeno)?(deno_require(name)):(\n ( (name):any => {\n let r:any;\n try {\n (async () => {\n r = await _import_(name);\n })().then((m:any) => {\n r = (m && m.default) || m;\n })\n .catch ((e:any) => {\n logger.warn(`An error ocurred: ${e}`);\n });\n\n } catch (e:any) {\n logger.debug(`An error ocurred importing module. ${e}`);\n r = {export:{}};\n }\n return r;\n } ) (name)\n );\n};\ndeclare const cordova: any;\n\nexport const is_phonegap:boolean = (\n function () {\n return (typeof cordova !== \"undefined\");\n }\n)();", "import { Export } from \"./Export\";\nimport { isBrowser } from \"./platform\";\n\nexport class Logger {\n debugEnabled = true;\n infoEnabled = true;\n warnEnabled = true;\n debug(message: string): void {\n if (this.debugEnabled) {\n console.log(\"\\x1b[35m%s\\x1b[0m\", `[DEBUG][${performance.now().toLocaleString()}] ${message}`);\n }\n }\n\n info(message: string): void {\n let color;\n if (this.infoEnabled) {\n if (isBrowser) {\n color = \"\\x1b[103m%s\\x1b[0m\";\n } else {\n color = \"\\x1b[33m%s\\x1b[0m\";\n }\n console.info(color, `[INFO][${performance.now().toLocaleString()}] ${message}`);\n }\n }\n\n warn(message: string): void {\n if (this.warnEnabled) {\n console.warn(\"\\x1b[31m%s\\x1b[0m\", `[WARN][${performance.now().toLocaleString()}] ${message}`);\n }\n }\n}\n\nexport const logger: Logger = new Logger();\nExport(logger);", "import { logger } from \"./Logger\";\n\n/**\n * Casts an object to another object class type\n *\n * @param {Object} obj_source\n * @param {Object} obj_dest\n */\nexport const _Cast = function (obj_source: any, obj_dest: any):any {\n for (const v in obj_source) {\n if (typeof obj_source[v] !== \"undefined\") {\n try {\n obj_dest[v] = obj_source[v];\n } catch (e:any) {\n logger.debug(`An error ocurred: ${e}.`);\n logger.warn(`Unable to cast ${(typeof obj_source).toString()}.${typeof v.toString()} to ${(typeof obj_dest).toString()}.${typeof v.toString()}`);\n }\n }\n }\n return obj_dest;\n};\n\n/**\n * Casts an object to another object class type. Only properties\n *\n * @param {Object} obj_source\n * @param {Object} obj_dest\n */\nexport const _CastProps = function (obj_source: any, obj_dest: any, _ignoreError:boolean = true):any {\n for (const v in obj_source) {\n if (typeof obj_source[v] !== \"undefined\" && typeof obj_source[v] !== \"function\") {\n try {\n obj_dest[v] = obj_source[v];\n } catch (e:any) {\n if (!_ignoreError){\n logger.debug(`An error ocurred: ${e}.`);\n }\n }\n } else if (typeof obj_source[v] === \"function\") {\n try {\n obj_dest[v] = obj_source[v].bind(obj_dest);\n } catch (e:any) {\n logger.warn(e);\n }\n }\n }\n return obj_dest;\n};\n", "import { IQCObjectsElement } from \"types\";\nimport { isBrowser } from \"./platform\";\n\nexport const _DOMCreateElement = function (elementName: string, props?: any[], children?: any): IQCObjectsElement {\n let _ret_;\n if (isBrowser) {\n _ret_ = _DOMCreateComplexElement(elementName, props, children) as unknown as IQCObjectsElement;\n } else {\n _ret_ = {} as IQCObjectsElement;\n }\n return _ret_;\n};\n\n\nconst ComplexTypeCall = (_type: Function, { props, children }: { props?: any[], children?: any }): IQCObjectsElement => {\n return _type({ props, children }) as IQCObjectsElement;\n};\nexport const _DOMCreateComplexElement = (_type: string | Function, props?: any[], children?: any): HTMLElement | IQCObjectsElement => {\n\n if (typeof _type !== \"string\") {\n return ComplexTypeCall(_type, { props, children });\n }\n const element = document.createElement(_type);\n\n if (props) {\n Object.entries(props).forEach(([key, value]) => {\n if (typeof value === \"string\" || typeof value === \"number\") {\n element.setAttribute(key, value.toString());\n } else if (typeof value === \"function\" && key.toLowerCase().startsWith(\"on\")) {\n element.addEventListener(key.slice(2).toLowerCase(), value.bind(element));\n }\n });\n }\n\n if (Array.isArray(children)) {\n children.filter((child => child instanceof Node)).forEach(child => {\n element.appendChild(child);\n });\n } else if (children instanceof Node) {\n element.appendChild(children);\n } else if (typeof children === \"string\") {\n element.innerHTML = children;\n }\n\n return element;\n};\n", "/**\n * Primary instance ID of all objects\n */\nexport var __instanceID = 0;\n\nexport const IncrementInstanceID = (): void => {\n __instanceID = (typeof __instanceID === \"undefined\" || __instanceID === null) ? (0) : (__instanceID + 1);\n};\n", "export const _protected_code_ = (_: any): void => {\n const __oldtoString = (typeof _.prototype !== \"undefined\") ? (_.prototype.toString) : (function () {\n return \"\";\n });\n if (typeof _.prototype !== \"undefined\") {\n _.prototype.toString = function (): string {\n const _protected_symbols = [\n \"__qcobjects__\",\n \"__qcobjects_sdk__\",\n \"__loaded__\",\n \"ComplexStorageCache\",\n \"css\",\n \"append\",\n \"attachIn\",\n \"debug\",\n \"info\",\n \"warn\",\n \"QC_Append\",\n \"set\",\n \"get\",\n \"done\",\n \"componentDone\",\n \"_new_\",\n \"__new__\",\n \"Class\",\n \"ClassFactory\",\n \"New\",\n \"Export\",\n \"Package\",\n \"Import\",\n \"subelements\",\n \"componentLoader\",\n \"buildComponents\",\n \"Controller\",\n \"View\",\n \"VO\",\n \"Service\",\n \"serviceLoader\",\n \"JSONService\",\n \"ConfigService\",\n \"SourceJS\",\n \"SourceCSS\",\n \"ArrayList\",\n \"ArrayCollection\",\n \"Effect\",\n \"Timer\",\n \"sum\",\n \"avg\",\n \"table\",\n \"max\",\n \"min\",\n \"range\",\n \"matrix\",\n \"matrix2d\",\n \"matrix3d\",\n \"unique\",\n \"uniqueId\",\n \"shortCode\",\n \"NamespaceRef\"\n ];\n let _ret_;\n if (_protected_symbols.includes(this.name)) {\n _ret_ = this.name + \"{ [QCObjects native code] }\";\n } else {\n _ret_ = __oldtoString.call(this);\n }\n return _ret_ as string;\n };\n }\n};\n(_protected_code_)(Function);\nexport const _methods_ = function <T>(_: any): T[] {\n const _m = [];\n for (const i in _) {\n if ((typeof _[i]).toLowerCase() === \"function\") {\n _m.push(_[i]);\n }\n }\n return _m as T[];\n};\n", "import { __is_raw_class__ } from \"./is_raw_class\";\nimport {_QC_PACKAGES, set_QC_PACKAGE, __register_class__ } from \"./PrimaryCollections\";\n\n/**\n * Defines a package for Class classification\n *\n * @param {Object} namespace\n * @param {Object} classes\n */\nexport const Package = (namespace: string, classes: any[] = []): any[] => {\n\n if (Object.hasOwn(_QC_PACKAGES, namespace) &&\n typeof _QC_PACKAGES[namespace] !== \"undefined\" &&\n typeof _QC_PACKAGES[namespace] !== \"string\" &&\n Object.hasOwn(_QC_PACKAGES[namespace], \"length\") &&\n _QC_PACKAGES[namespace].length > 0 &&\n typeof classes !== \"undefined\" &&\n Object.hasOwn(classes, \"length\") &&\n classes.length > 0\n ) {\n classes.forEach((_class_: any) => {\n __register_class__(_class_, namespace);\n });\n set_QC_PACKAGE(namespace, _QC_PACKAGES[namespace].concat(classes));\n } else if (typeof classes !== \"undefined\"\n && typeof classes !== \"undefined\"\n && Object.hasOwn(classes, \"length\")\n && classes.length > 0) {\n classes.forEach((_class_: any) => {\n __register_class__(_class_, namespace);\n });\n set_QC_PACKAGE(namespace, classes);\n } else if (__is_raw_class__(classes)) {\n if (typeof (classes as any).__definition === \"undefined\") {\n (classes as any).__definition = {};\n }\n (classes as any).__definition.__namespace = namespace;\n (classes as any).__namespace = namespace;\n __register_class__(classes, namespace);\n set_QC_PACKAGE(namespace, [classes]);\n } else {\n throw new Error (`An error ocurred. It was not possible to add classes to ${namespace}.`);\n }\n return ((Object.hasOwn(_QC_PACKAGES, namespace)) ? (_QC_PACKAGES[namespace]) : []) as any[] | [];\n};\n", "import { type IInheritClass, type IQCObjectsElement, type TBody } from \"types\";\nimport { logger } from \"./Logger\";\nimport { __instanceID, IncrementInstanceID } from \"./IncrementInstanceID\";\nimport { _CastProps, _Cast } from \"./Cast\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { __getType__ } from \"./getType\";\nimport { _methods_ } from \"./introspection\";\nimport { is_a } from \"./is_a\";\nimport { isBrowser } from \"./platform\";\nimport { _QC_CLASSES } from \"./PrimaryCollections\";\nimport { Package } from \"./Package\";\n\nexport class InheritClass implements IInheritClass {\n [key: string]: any;\n __definition: any;\n private _body: TBody;\n public get body(): TBody {\n return this._body;\n }\n public set body(value: TBody) {\n this._body = value;\n }\n childs: any;\n __instanceID!: number;\n\n constructor(_o_?: any) {\n\n if (typeof _o_ !== \"undefined\" && typeof _o_.__definition !== \"undefined\") {\n this.__definition = {\n ...(_o_.__definition)\n };\n }\n\n const self: this = this;\n if (typeof _o_ !== \"undefined\" && _o_ !== null) {\n Object.keys(_o_)\n .filter(function (k) {\n return isNaN(k as any) && ![\"__instanceID\", \"__classType\", \"__definition\"].includes(k);\n })\n .forEach(function (key) {\n if (typeof self[key] === \"function\") {\n self[key] = _o_[key].bind(self);\n } else {\n self[key] = _o_[key];\n }\n });\n }\n\n IncrementInstanceID();\n if (!self.__instanceID) {\n Object.defineProperty(self, \"__instanceID\", {\n value: __instanceID,\n writable: false\n });\n }\n\n if (typeof self.__definition !== \"undefined\") {\n Object.keys(self.__definition).filter(function (k) {\n return isNaN(k as any) && ![\"name\", \"__instanceID\", \"__classType\", \"__definition\"].includes(k);\n }).forEach(function (key) {\n if (typeof self.__definition[key] === \"function\") {\n self[key] = self.__definition[key].bind(self);\n } else {\n self[key] = self.__definition[key];\n }\n });\n }\n _methods_((_QC_CLASSES as any)[self.__classType]).map(function (m): any {\n self[(m as Function).name] = (m as Function).bind(self);\n return m;\n });\n _methods_(self.__definition).map(function (m): any {\n self[(m as Function).name] = (m as Function).bind(self);\n return m;\n });\n\n if (self.body) {\n if (typeof self.__definition === \"undefined\" || (!Object.hasOwn(self.__definition, \"body\")) || typeof self.__definition.body === \"undefined\") {\n try {\n if (isBrowser) {\n self.body = _DOMCreateElement(self.__definition.__classType);\n } else {\n self.body = {};\n }\n } catch (e: any) {\n logger.debug(`An error ocurred: ${e}.`);\n self.body = {};\n }\n } else if (Object.hasOwn(self.__definition, \"body\")) {\n self.body = self.__definition.body;\n }\n }\n\n\n try {\n self.__new__.call(self, _o_);\n if (typeof self === \"object\" && Object.hasOwn(self, \"_new_\") && typeof (self._new_ as any).isCalled === \"undefined\") {\n try {\n self._new_(_o_);\n (self._new_ as any).isCalled = true;\n } catch (e: any) {\n logger.warn(`${self.__classType}._new_() failed with error: ${e}`);\n }\n }\n } catch (e: any) {\n logger.warn(e);\n }\n }\n\n static get __classType(): any {\n return (Object.getPrototypeOf(this.constructor) as Function).name;\n }\n\n get __classType(): string {\n return this.constructor.name;\n }\n\n\n static hierarchy(__class__: any): any[] {\n const __classType = function (o_c: any): any {\n return (Object.hasOwn(o_c, \"__classType\")) ? (o_c.__classType) : (__getType__.call(__class__, o_c));\n };\n const __hierarchy__proto__ = (c: any): any[] => {\n return (typeof c !== \"undefined\" && typeof c.__proto__ !== \"undefined\" && c.__proto__ !== null) ? (((__classType(c) !== \"\") ? ([__classType(c)]) : ([])).concat(__hierarchy__proto__(c.__proto__))) : ([]);\n };\n\n if (typeof __class__ === \"undefined\" || __class__ === null) {\n __class__ = this;\n }\n let __hierarchy = [];\n __hierarchy.push(__classType(__class__));\n __hierarchy = __hierarchy.concat(__hierarchy__proto__(__class__.__proto__));\n return __hierarchy;\n }\n\n\n __namespace?: string | undefined;\n\n __new__(_o_: any): void {\n _CastProps(_o_, this);\n }\n\n // eslint-disable-next-line no-unused-vars\n _new_(_o_?: any): void { }\n\n static getParentClass(): any {\n return Object.getPrototypeOf(this.prototype.constructor);\n }\n getParentClass(): any {\n return (this.constructor as typeof InheritClass).getParentClass();\n }\n\n\n static getClass(): any {\n return Object.getPrototypeOf(this.constructor);\n }\n\n getClass(): any {\n return (this.constructor as typeof InheritClass).getClass();\n }\n\n css(_css: any): any {\n if (typeof this.body !== \"undefined\" && typeof this?.body !== \"string\" && typeof (this?.body as HTMLElement)?.style !== \"undefined\") {\n logger.debug(\"body style\");\n if (this.body) {\n (this.body as any).style = _Cast(_css, (this?.body as HTMLElement)?.style);\n }\n }\n return (typeof this.body !== \"string\") ? (this?.body as HTMLElement)?.style : {};\n }\n\n hierarchy(): any {\n const __instance__ = this;\n return (this.constructor as typeof InheritClass).hierarchy(__instance__);\n }\n\n\n append(_child?: any): void {\n const child: any = _child || this.body;\n logger.debug(\"append: start\");\n if (is_a(child, \"Component\")) {\n logger.debug(\"append: child is a Component\");\n logger.debug(`appending the body of ${child.name}`);\n }\n if (typeof this.body !== \"undefined\") {\n logger.debug(\"append element\");\n if (arguments.length > 0) {\n logger.debug(\"append to element\");\n if (typeof this.body !== \"string\") {\n if (typeof (this.body as IQCObjectsElement)?.append !== \"undefined\") {\n (this?.body as IQCObjectsElement)?.append(child);\n } else {\n throw Error(\"body.append is undefined. That means the body is not well formed.\");\n }\n } else {\n this.append(child);\n }\n if (typeof this.childs === \"undefined\") {\n this.childs = [];\n }\n this.childs.push(child);\n } else {\n if (isBrowser) {\n logger.debug(\"append to body\");\n document.body.append(child);\n }\n }\n }\n }\n\n attachIn(tag: any): void {\n if (isBrowser) {\n const tags = (document as any).subelements(tag);\n for (let i = 0, j = tags.length; i < j; i++) {\n tags[i].append(this as any);\n }\n } else {\n throw new Error(\"attachIn not yet implemented for non browser platforms\");\n }\n }\n\n}\n\nPackage(\"com.qcobjects\", [InheritClass]);", "import { InheritClass } from \"./InheritClass\";\n\nexport const isQCObjects_Object = function (_:any):boolean {\n return (!!((typeof _ === \"object\" &&\n Object.hasOwn(_, \"__classType\") &&\n (!!_.__instanceID) &&\n Object.hasOwn(_, \"__definition\") &&\n typeof _.__definition !== \"undefined\"\n ))) || _ instanceof InheritClass;\n };\n\n export const isQCObjects_Class = function (_:any):boolean {\n return (!!((typeof _ === \"function\" &&\n (!_.__instanceID) &&\n (!!_.__definition) &&\n typeof _.__definition !== \"undefined\" &&\n !!_.__definition.__classType\n ))) || _.prototype instanceof InheritClass;\n };\n", "import { __getType__ } from \"./getType\";\nimport { isQCObjects_Class, isQCObjects_Object } from \"./isQCObjects\";\nimport { ObjectName } from \"./ObjectName\";\n\n/**\n * Returns if a class or object is from a determinated type\n * @param {Object} object\n * @param {String} typeName\n */\nexport const is_a = (obj: any, typeName: string):boolean => {\n return !!((typeof obj !== \"undefined\" && obj !== null &&\n (((isQCObjects_Class(obj) || isQCObjects_Object(obj)) && (obj.hierarchy().includes(typeName))) ||\n __getType__(obj) === typeName ||\n ObjectName(obj) === typeName ||\n typeof obj === typeName)));\n};", "/**\n * Internal use to determine the forbidden names for classes\n * Reserved words\n *\n * @param {String} name\n * @param {Object} type\n * @param {Object} definition\n */\nexport const __is__forbidden_name__ = (name: string):boolean => {\n return ([\"__proto__\", \"prototype\", \"Object\", \"Map\", \"defineProperty\", \"indexOf\", \"toString\", \"__instanceID\", \"function\", \"Function\"].indexOf(name) !== -1);\n};\n", "import { __is_raw_class__ } from \"./is_raw_class\";\n\nexport const _LegacyCopy = function (obj:any, _ignore?:string[]):any {\n let _value_;\n switch (true) {\n case typeof obj === \"string\":\n _value_ = obj;\n break;\n case typeof obj === \"number\":\n _value_ = obj;\n break;\n case typeof obj === \"object\":\n _value_ = [{...Object.keys(obj).filter(k => !_ignore?.includes(k))}]\n .map(k => {return {[k as never]:obj[k as never]}; })\n .reduce ((p, c) => Object.assign(p, c)) as any;\n break;\n case typeof obj === \"function\":\n _value_ = obj.bind({});\n break;\n case __is_raw_class__(obj):\n _value_ = class extends obj { };\n break;\n default:\n break;\n }\n return _value_;\n };\n", "import { _QC_CLASSES } from \"./PrimaryCollections\";\nimport { _Cast, _CastProps } from \"./Cast\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { __getType__ } from \"./getType\";\nimport { __instanceID, IncrementInstanceID } from \"./IncrementInstanceID\";\nimport { _methods_ } from \"./introspection\";\nimport { is_a } from \"./is_a\";\nimport { __is__forbidden_name__ } from \"./is_forbidden_name\";\nimport { _LegacyCopy } from \"./LegacyCopy\";\nimport { logger } from \"./Logger\";\nimport { isBrowser } from \"./platform\";\nimport { IQCObjectsElement, TBody, TClass } from \"types\";\nimport { InheritClass } from \"./InheritClass\";\nimport { _top } from \"./top\";\n\n/**\n * Creates new object class of another object\n *\n * @param {String} name\n * @param {Object} type\n * @param {Object} definition\n * \n * @example \n * Class (name, type, definition)\n * Class (name, type)\n * Class (name, definition)\n * Class ()\n * \n * \n * const MyClass = Class (\"MyComponent\", Component, {\n * name: \"one_component\",\n * method1 : () => {console.log (\"done\") }\n * })\n * const myClassInstance = new MyClass ({name: \"one_component\"})\n * \n * const MyClass = Class (\"MyService\",{\n * name: \"myservice\",\n * })\n * \n * const myClassInstance = new MyClass ({name: \"myservice\"})\n */\n\n\n\nexport const Class: TClass = (name?: string, _type?: unknown, _definition?: unknown): InheritClass => {\n const _types_ = {};\n let type: unknown, definition: unknown;\n\n switch (true) {\n case !name && !_type && !_definition:\n return class { } as unknown as InheritClass;\n case !!name && !_type && !_definition:\n type = class { };\n definition = {};\n break;\n case !!name && !_type && !!_definition:\n type = class { };\n definition = _definition;\n break;\n case !!name && !!_type && !!_definition:\n type = _type;\n definition = _definition;\n break;\n default:\n return class { } as unknown as InheritClass;\n }\n if (typeof name !== \"string\") {\n throw new Error(\"Class name must be a string\");\n }\n\n if (typeof type !== \"function\") {\n throw new Error(\"Class type must be a function or class\");\n }\n\n if (__is__forbidden_name__(name)) {\n throw new Error(`${name} is not an allowed word in the name of a class`);\n }\n\n if (typeof (type as any).__definition === \"object\"\n && (type as any).__definition\n && Object.keys((type as any).__definition).length !== 0) {\n (definition as any).__definition = Object.assign(_LegacyCopy((type as any).__definition,[\"name\"]), type);\n }\n\n (_types_ as any)[type.name] = type;\n\n if (typeof definition === \"undefined\" || definition === null) {\n definition = {};\n } else {\n definition = { ...definition };\n }\n\n /* hack to prevent duplicate __instanceID */\n if (typeof (definition as any).__instanceID !== \"undefined\") {\n delete (definition as any).__instanceID;\n }\n\n _QC_CLASSES[name] = class extends (_types_ as any)[type.name] {\n __instanceID!: number;\n __namespace?: string | undefined;\n __definition: any = {\n ...(definition as any)\n };\n childs: any;\n private _body: TBody;\n public get body(): TBody {\n return this._body;\n }\n public set body(value: TBody) {\n this._body = value;\n }\n\n static get __classType(): any {\n return (Object.getPrototypeOf(this.constructor) as Function).name;\n }\n\n get __classType(): string {\n return this.constructor.name;\n }\n\n static hierarchy(__class__: any): any[] {\n const __classType = function (o_c: any): any {\n return (Object.hasOwn(o_c, \"__classType\")) ? (o_c.__classType) : (__getType__.call(__class__, o_c));\n };\n const __hierarchy__proto__ = (c: any): any[] => {\n return (typeof c !== \"undefined\" && typeof c.__proto__ !== \"undefined\" && c.__proto__ !== null) ? (((__classType(c) !== \"\") ? ([__classType(c)]) : ([])).concat(__hierarchy__proto__(c.__proto__))) : ([]);\n };\n\n if (typeof __class__ === \"undefined\" || __class__ === null) {\n __class__ = this;\n }\n let __hierarchy = [];\n __hierarchy.push(__classType(__class__));\n __hierarchy = __hierarchy.concat(__hierarchy__proto__(__class__.__proto__));\n return __hierarchy;\n }\n\n static getParentClass(): any {\n return Object.getPrototypeOf(this.prototype.constructor);\n }\n\n constructor(_o_?: any) {\n super(_o_ || {});\n\n const self = this;\n IncrementInstanceID();\n if (!(self as any).__instanceID) {\n Object.defineProperty(self, \"__instanceID\", {\n value: __instanceID,\n writable: false\n });\n }\n\n if (typeof self.__definition !== \"undefined\") {\n Object.keys(self.__definition).filter(function (k) {\n return isNaN(k as any) && ![\"name\", \"__instanceID\", \"__classType\", \"__definition\"].includes(k);\n }).forEach(function (key) {\n if (typeof self.__definition[key] === \"function\") {\n self[key] = self.__definition[key].bind(self);\n } else {\n self[key] = self.__definition[key];\n }\n });\n }\n _methods_(_QC_CLASSES[self.__classType]).map(function <T>(m: unknown): T {\n self[(m as Function).name] = (m as Function).bind(self);\n return m as T;\n });\n _methods_(self.__definition).map(function (m): any {\n self[(m as Function).name] = (m as Function).bind(self);\n return m;\n });\n\n if (self.body) {\n if (typeof self.__definition === \"undefined\" || (!Object.hasOwn(self.__definition, \"body\")) || typeof self.__definition.body === \"undefined\") {\n try {\n if (isBrowser) {\n self.body = _DOMCreateElement(self.__definition.__classType);\n } else {\n self.body = {};\n }\n } catch (e: any) {\n logger.debug(`An error ocurred: ${e}.`);\n self.body = {};\n }\n } else if (Object.hasOwn(self.__definition, \"body\")) {\n self.body = self.__definition.body;\n }\n }\n\n\n try {\n if (typeof self.__new__ === \"function\") {\n self.__new__.call(self, _o_);\n } else if (typeof super.__new__ === \"function\") {\n self.__new__ = super.__new__.bind(self);\n self.__new__.call(self, _o_);\n }\n if (typeof self === \"object\" && Object.hasOwn(self, \"_new_\") && typeof (self._new_ as any).isCalled === \"undefined\") {\n try {\n self._new_(_o_);\n (self._new_ as any).isCalled = true;\n } catch (e: any) {\n logger.warn(`${self.__classType}._new_() failed with error: ${e}`);\n }\n }\n } catch (e: any) {\n logger.warn(e);\n }\n }\n\n __new__(_o_: any) {\n _CastProps(_o_, this);\n }\n\n // eslint-disable-next-line no-unused-vars\n _new_(_o_?: any) { }\n\n getClass(): any {\n return Object.getPrototypeOf(this.constructor);\n }\n\n css(_css: any): any {\n if (typeof this.body !== \"undefined\" && typeof this?.body !== \"string\" && typeof (this?.body as HTMLElement)?.style !== \"undefined\") {\n logger.debug(\"body style\");\n if (this.body) {\n (this.body as any).style = _Cast(_css, (this?.body as HTMLElement)?.style);\n }\n }\n return (typeof this.body !== \"string\") ? (this?.body as HTMLElement)?.style : {};\n }\n\n hierarchy(): any {\n const __instance__ = this;\n return this.getClass()?.hierarchy(__instance__);\n }\n\n\n append(_child?: any) {\n const child: any = _child || this.body;\n logger.debug(\"append: start\");\n if (is_a(child, \"Component\")) {\n logger.debug(\"append: child is a Component\");\n logger.debug(`appending the body of ${child.name}`);\n }\n if (typeof this.body !== \"undefined\") {\n logger.debug(\"append element\");\n if (arguments.length > 0) {\n logger.debug(\"append to element\");\n if (typeof this.body !== \"string\") {\n if (typeof (this.body as IQCObjectsElement)?.append !== \"undefined\") {\n (this?.body as IQCObjectsElement)?.append(child);\n } else {\n throw Error(\"body.append is undefined. That means the body is not well formed.\");\n }\n } else {\n this.append(child);\n }\n if (typeof this.childs === \"undefined\") {\n this.childs = [];\n }\n this.childs.push(child);\n } else {\n if (isBrowser) {\n logger.debug(\"append to body\");\n document.body.append(child);\n }\n }\n }\n }\n\n attachIn(tag: any) {\n if (isBrowser) {\n const tags = (document as any).subelements(tag);\n for (let i = 0, j = tags.length; i < j; i++) {\n tags[i].append(this as any);\n }\n } else {\n throw new Error(\"attachIn not yet implemented for non browser platforms\");\n }\n }\n\n };\n\n // remove the keys from definition that exist in the prototype\n\n _QC_CLASSES[name] = _CastProps(definition, _QC_CLASSES[name]);\n _QC_CLASSES[name].__definition = definition;\n _QC_CLASSES[name].__definition.__classType = name;\n\n (_top as any)[name] = _QC_CLASSES[name];\n\n return _QC_CLASSES[name] as InheritClass;\n};\nif (typeof Class.prototype !== \"undefined\") {\n Class.prototype.toString = function () {\n return \"Class(name, type, definition) { [QCObjects native code] }\";\n };\n}\n\n", "/**\n * Returns the QCObjects Class Factory of a given ClassName\n *\n * @param {String} name\n */\n\nimport { __is_raw_class__ } from \"./is_raw_class\";\nimport { _QC_CLASSES, _QC_PACKAGES, get_QC_CLASS } from \"./PrimaryCollections\";\nimport { TClassFactory } from \"types\";\n\nexport const ClassFactory:TClassFactory = (className:string):any => {\n let _classFactory;\n if (typeof className === \"undefined\" || className === null) {\n throw Error (\"You need to pass a parameter {className}\");\n }\n if (className !== null && className.indexOf(\".\") !== -1) {\n const packageName = className.split(\".\").slice(0, className.split(\".\").length - 1).join(\".\");\n const _className = className.split(\".\").slice(-1).join(\"\");\n const _package = _QC_PACKAGES[packageName] || [];\n const packageClasses = _package.filter((classFactory:any) => {\n return (__is_raw_class__(classFactory));\n }).reverse();\n if (packageClasses.length > 0) {\n _classFactory = packageClasses[0];\n } else {\n throw Error(`Class ${_className} not found. Found classes: ${JSON.stringify(packageClasses)} in package ${packageName}`);\n }\n } else if (className !== null) {\n _classFactory = get_QC_CLASS(className);\n if (typeof _classFactory === \"undefined\"){\n throw new Error (`${className} is undefined.`); \n }\n } else {\n throw Error(`className is null. Unable to retrieve the class factory.\\n Not found in: \\n ${Object.keys(_QC_CLASSES).join(\"\\n\")}`);\n }\n return _classFactory;\n};\n", "export class Base64 {\n static _keyStr: string = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n static encode(e: string): string {\n let t = \"\";\n let n: number, r: number, i: number, s: number, o: number, u: number, a: number;\n let f = 0;\n e = Base64._utf8_encode(e);\n while (f < e.length) {\n n = e.charCodeAt(f++);\n r = e.charCodeAt(f++);\n i = e.charCodeAt(f++);\n s = n >> 2;\n o = (n & 3) << 4 | r >> 4;\n u = (r & 15) << 2 | i >> 6;\n a = i & 63;\n if (isNaN(r)) {\n u = a = 64;\n } else if (isNaN(i)) {\n a = 64;\n }\n t = t + this._keyStr.charAt(s) + this._keyStr.charAt(o) + this._keyStr.charAt(u) + this._keyStr.charAt(a);\n }\n return t;\n }\n static decode(e: string): string {\n let t = \"\";\n let n: number, r: number, i: number;\n let s: number, o: number, u: number, a: number;\n let f = 0;\n e = e.replace(/[^A-Za-z0-9+/=]/g, \"\");\n while (f < e.length) {\n s = this._keyStr.indexOf(e.charAt(f++));\n o = this._keyStr.indexOf(e.charAt(f++));\n u = this._keyStr.indexOf(e.charAt(f++));\n a = this._keyStr.indexOf(e.charAt(f++));\n n = s << 2 | o >> 4;\n r = (o & 15) << 4 | u >> 2;\n i = (u & 3) << 6 | a;\n t = t + String.fromCharCode(n);\n if (u !== 64) {\n t = t + String.fromCharCode(r);\n }\n if (a !== 64) {\n t = t + String.fromCharCode(i);\n }\n }\n t = Base64._utf8_decode(t);\n return t;\n }\n static _utf8_encode(e: string): string {\n e = e.replace(/rn/g, \"n\");\n let t = \"\";\n for (let n = 0; n < e.length; n++) {\n const r = e.charCodeAt(n);\n if (r < 128) {\n t += String.fromCharCode(r);\n } else if (r > 127 && r < 2048) {\n t += String.fromCharCode(r >> 6 | 192);\n t += String.fromCharCode(r & 63 | 128);\n } else {\n t += String.fromCharCode(r >> 12 | 224);\n t += String.fromCharCode(r >> 6 & 63 | 128);\n t += String.fromCharCode(r & 63 | 128);\n }\n }\n return t;\n }\n static _utf8_decode(e: string): string {\n let t = \"\";\n let n = 0;\n let r = 0;\n let c2 = 0;\n let c3: number;\n while (n < e.length) {\n r = e.charCodeAt(n);\n if (r < 128) {\n t += String.fromCharCode(r);\n n++;\n } else if (r > 191 && r < 224) {\n c2 = e.charCodeAt(n + 1);\n t += String.fromCharCode((r & 31) << 6 | c2 & 63);\n n += 2;\n } else {\n c2 = e.charCodeAt(n + 1);\n c3 = e.charCodeAt(n + 2);\n t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63);\n n += 3;\n }\n }\n return t;\n }\n};", "import { isBrowser } from \"./platform\";\nimport process from \"node:process\";\n\nexport var _basePath_:string = (\n function ():string {\n let _basePath:string = \"\";\n if (isBrowser) {\n const baseURI:string[] = document.baseURI.split(\"?\")[0].split(\"/\");\n baseURI.pop();\n _basePath = baseURI.join(\"/\") + \"/\";\n } else {\n if (typeof process !== \"undefined\") {\n _basePath = `${(process).cwd()}/`;\n } else {\n _basePath = \"\";\n }\n }\n return _basePath;\n }\n )();\n\nexport const setBasePath = (value:string):void => { _basePath_ = value;};", "import { _LegacyCopy } from \"./LegacyCopy\";\n\nexport const _DataStringify = (data: any): string => {\n const getCircularReplacer = function () {\n const seen = new WeakSet();\n let _level = 0;\n return function (key: string, value: any): any {\n if (typeof value === \"object\" && value !== null) {\n if (seen.has(value)) {\n _level += 1;\n return (_level <= 3) ? (_LegacyCopy(value)) : (null);\n }\n seen.add(value);\n }\n return value;\n };\n };\n return JSON.stringify(data, getCircularReplacer());\n};\n", "export const _domain_:string = (typeof location !== \"undefined\" && location.hostname !== \"\") ? (location.hostname) : (\"localhost\");\n", " /**\n * Creates an object from a Class definition\n *\n * @param {QC_Object} o\n * @param {Object} args\n */\n\n export const New = function (__class__:any, args = {}):any {\n args = (arguments.length > 1) ? (args) : ({});\n return (typeof __class__ === \"undefined\") ? (new Object()) : (new __class__(args));\n };\n \n New.prototype.toString = function () {\n return \"New(QCObjectsClassName, args) { [QCObjects native code] }\";\n };", "import { isBrowser } from \"./platform\";\n\nexport const _secretKey:string = (isBrowser)?(location.host):(\"secret\");", "import { _ICrypt } from \"types\";\nimport { Base64 } from \"./Base64\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\nimport { _secretKey } from \"./secretKey\";\n\n\nexport class _Crypt extends InheritClass implements _ICrypt {\n string: string = \"\";\n key: string = \"\";\n // eslint-disable-next-line no-unused-vars\n encrypt(_string_: string, key: string): string {\n throw new Error(\"Method not implemented.\");\n }\n // eslint-disable-next-line no-unused-vars\n decrypt(_string_: string, key: string): string {\n throw new Error(\"Method not implemented.\");\n }\n last_string = \"\";\n last_key = \"\";\n construct = false;\n _new_(o: { string?: string; key: string; }):void {\n const string = o.string;\n let key: string = (Object.hasOwn(o, \"key\")) ? (o.key) : (\"\");\n this.__new__(o);\n key = (key === \"\") ? (this.__instanceID.toString()) : (key);\n this.last_key = key;\n this.last_string = string as string;\n this.construct = true;\n }\n _encrypt(): string {\n const string = this.string;\n const key = this.key;\n let result = \"\";\n let char;\n let keychar;\n for (let i = 0; i < string.length; i++) {\n char = string.substr(i, 1);\n keychar = key.substr((i % key.length) - 1, 1);\n char = String.fromCharCode(char.charCodeAt(0) + keychar.charCodeAt(0));\n result += char;\n }\n this.last_string = Base64.encode(result);\n return this.last_string;\n }\n _decrypt(): string {\n let string = this.string;\n const key = this.key;\n let result = \"\";\n let char;\n let keychar;\n string = Base64.decode(string);\n for (let i = 0; i < string.length; i++) {\n char = string.substr(i, 1);\n keychar = key.substr((i % key.length) - 1, 1);\n char = String.fromCharCode(char.charCodeAt(0) - keychar.charCodeAt(0));\n result += char;\n }\n\n this.last_string = result;\n return this.last_string;\n }\n static encrypt(string: string, key: string): string {\n const crypt = new _Crypt({\n string,\n key: (key !== \"\") ? (key) : (\"12345678ABC\")\n });\n return crypt._encrypt();\n }\n static decrypt(string: string, key: string):string {\n const crypt = new _Crypt({\n string,\n key: (key !== \"\") ? (key) : (\"12345678ABC\")\n });\n return crypt._decrypt();\n }\n}\n\nexport const _CryptObject = function (o: any): string {\n return _Crypt.encrypt(_DataStringify(o), _secretKey);\n};\nexport const _DecryptObject = function (s: string): any {\n return (s === \"\") ? ({}) : (JSON.parse(_Crypt.decrypt(s, _secretKey)));\n};\n\nPackage(\"com.qcobjects\", [_Crypt]);", "import { _basePath_ } from \"./basePath\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\n\ntype TConfigSettings = {\n [key: string]: any,\n relativeImportPath:string,\n remoteImportsPath:string,\n remoteSDKPath:string,\n asynchronousImportsLoad:boolean,\n removePackageScriptAfterLoading:boolean,\n componentsBasePath:string,\n delayForReady:number,\n preserveComponentBodyTag:false,\n useConfigService:false,\n routingWay:string,\n useSDK:boolean,\n useLocalSDK:boolean,\n basePath:string\n};\n\n\nexport class ConfigSettings extends InheritClass {\n public _CONFIG: TConfigSettings = {\n \"relativeImportPath\": \"\",\n \"remoteImportsPath\": \"\",\n \"remoteSDKPath\": \"https://sdk.qcobjects.dev/\",\n \"asynchronousImportsLoad\": false,\n \"removePackageScriptAfterLoading\": true,\n \"componentsBasePath\": \"\",\n \"delayForReady\": 0,\n \"preserveComponentBodyTag\": false,\n \"useConfigService\": false,\n \"routingWay\": \"hash\",\n \"useSDK\": true,\n \"useLocalSDK\": false,\n \"basePath\": _basePath_\n };\n protected static _instance: ConfigSettings;\n public _CONFIG_ENC = \"\";\n\n set(name:string, value:any):void {\n this._CONFIG[name] = value;\n }\n\n get(name:string, _defaultValue?:any):any {\n return this._CONFIG[name] || _defaultValue;\n }\n\n static get instance():ConfigSettings {\n\n if (typeof ConfigSettings._instance === \"undefined\") {\n ConfigSettings._instance = new ConfigSettings();\n }\n\n return ConfigSettings._instance;\n }\n\n\n}\n\nPackage(\"com.qcobjects\", [ConfigSettings]);\n", "import { setBasePath } from \"./basePath\";\nimport { _CastProps } from \"./Cast\";\nimport { _Crypt, _CryptObject, _DecryptObject } from \"./Crypt\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { logger } from \"./Logger\";\nimport { GlobalProcessor as Processor } from \"./Processor\";\nimport { _secretKey } from \"./secretKey\";\nimport { Package } from \"./Package\";\nimport { InheritClass } from \"./InheritClass\";\nimport { ICONFIG } from \"types\";\nimport { ConfigSettings } from \"./ConfigSettings\";\n\n\nexport class CONFIG extends InheritClass implements ICONFIG {\n\n get _CONFIG_ENC(): string {\n return ConfigSettings.instance._CONFIG_ENC;\n }\n\n get _CONFIG(): unknown {\n return ConfigSettings.instance._CONFIG as unknown;\n }\n\n set(name: string, value: unknown):void {\n logger.debug(`CONFIG.set ${name}: ${value as string}`);\n // hack to force update basePath from CONFIG\n if (name === \"basePath\") {\n setBasePath(value as string);\n }\n let _conf;\n try {\n _conf = (\n function (config): any {\n if (config._CONFIG_ENC === null) {\n config._CONFIG_ENC = _Crypt.encrypt(_DataStringify({}), _secretKey);\n }\n const _protectedEnc = config._CONFIG_ENC.valueOf();\n const _protectedConf = config._CONFIG?.valueOf();\n return _CastProps(_protectedConf, _DecryptObject(_protectedEnc));\n }\n )(ConfigSettings.instance);\n } catch (e) {\n _conf = {};\n console.error(e);\n logger.debug(\"failed to encrypt config\");\n }\n\n _conf[name] = value;\n ConfigSettings.instance._CONFIG_ENC = _CryptObject(_conf);\n ConfigSettings.instance.set(name, value);\n }\n\n get(name: string, _default?: unknown): any {\n let _value;\n try {\n const _conf = (\n function (config): any {\n if (config._CONFIG_ENC === null) {\n config._CONFIG_ENC = _Crypt.encrypt(_DataStringify({}), _secretKey);\n }\n const _protectedEnc = config._CONFIG_ENC.valueOf();\n const _protectedConf = config._CONFIG.valueOf();\n return _CastProps(_protectedConf, _DecryptObject(_protectedEnc));\n }\n )(ConfigSettings.instance);\n if (typeof _conf[name] !== \"undefined\") {\n _value = _conf[name];\n }\n } catch (e) {\n console.error(e);\n logger.debug(\"Something wrong when trying to get CONFIG values\");\n logger.debug(\"No config value for: \" + name);\n _value = _default;\n }\n return Processor.processObject(_value) || _default;\n }\n\n private static _instance:CONFIG;\n static get instance ():CONFIG {\n if (typeof CONFIG._instance === \"undefined\") {\n CONFIG._instance = new CONFIG();\n }\n return CONFIG._instance;\n }\n\n static set(name: string, value: unknown):void {\n (CONFIG.instance.set(name, value));\n }\n static get(name: string, value?: unknown): any {\n return (CONFIG.instance.get(name, value));\n }\n\n}\n\n\nPackage(\"com.qcobjects\", [CONFIG]);", "import { type IComponent, type IProcessor } from \"types\";\nimport { CONFIG } from \"./CONFIG\";\nimport { InheritClass } from \"./InheritClass\";\nimport { New } from \"./New\";\nimport { _top } from \"./top\";\nimport { Component } from \"./Component\";\nimport { Package } from \"./Package\";\n\nexport class Processor extends InheritClass implements IProcessor {\n protected static _instance: IProcessor | undefined;\n constructor({ component, processors }: { component: IComponent | null, processors?: any }) {\n super({ component });\n if (typeof processors !== \"undefined\") {\n this.processors = Object.assign(processors, Processor.instance.processors);\n }\n }\n\n processors: any = {\n \"config\"(component: Component, arg: string): string {\n return CONFIG.get(arg, \"\") as string;\n },\n \"ENV\"(component: Component, arg: string): string {\n return (typeof process !== \"undefined\") ? (process.env[arg] as string) : (\"\");\n },\n \"global\"(component: Component, arg: string): string {\n return (typeof _top !== \"undefined\") ? ((_top as any)[arg] as string) : (\"\");\n }\n };\n\n static get instance(): IProcessor {\n if (typeof Processor._instance === \"undefined\") {\n Processor._instance = new Processor({ component: null });\n }\n return Processor._instance;\n }\n\n setProcessor(_proc_: Function):void {\n if (typeof _proc_ === \"function\" && _proc_.name !== \"\") {\n this.processors[_proc_.name] = _proc_;\n }\n }\n\n component!: IComponent | null;\n\n\n execute(component: IComponent, processorName: string, args: string): string {\n const processorHandler = (typeof component !== \"undefined\" && component !== null) ? (component.processorHandler) : (this);\n return processorHandler?.processors[processorName].bind(processorHandler).apply(processorHandler, [component, args?.split(\",\")]) as string;\n }\n\n process(template: string, component: IComponent | null = null):string {\n const processorHandler = (component !== null) ? (component.processorHandler) : (New(Processor, { component: null }));\n if (typeof template === \"string\") {\n Object.keys(processorHandler.processors).map((funcName) => {\n return [...template.matchAll(new RegExp(\"\\\\$\" + funcName + \"\\\\((.*)\\\\).*\", \"g\"))].map(\n function (procesorMatch) {\n const match0 = `$${funcName}(${procesorMatch[1]})`;\n template = template.replace(match0, processorHandler.execute.bind(processorHandler).call(processorHandler, component, funcName, procesorMatch[1]));\n return procesorMatch;\n }\n );\n });\n }\n return template;\n }\n\n processObject(obj: any, component: IComponent | null = null): any {\n let __instance__: IProcessor | undefined = (component === null) ? (this) : (component.processorHandler);\n if (typeof __instance__ === \"undefined\") {\n __instance__ = new Processor({ component });\n }\n if (typeof obj === \"object\") {\n Object.keys(obj).map(\n (_k) => {\n if (typeof obj[_k] === \"object\" && !Object.hasOwn(obj[_k], \"call\")) {\n obj[_k] = __instance__?.processObject.bind(__instance__)(obj[_k], component as IComponent);\n } else if (typeof obj[_k] === \"string\") {\n obj[_k] = __instance__?.process.bind(__instance__)(obj[_k], component as IComponent);\n }\n return _k;\n }\n );\n } else if (typeof obj === \"string\") {\n obj = __instance__.process.bind(__instance__)(obj, component as IComponent);\n }\n return obj;\n }\n\n}\n\nexport const GlobalProcessor: IProcessor = Processor.instance;\n\nPackage(\"com.qcobjects\", [Processor]);", "import { TComponentRouting } from \"types\";\n\nexport const __routing_params__ = (routing:TComponentRouting, routingPath:string):object => {\n const standardRoutingPath = routing.path.replace(/{(.*?)}/g, \"(?<$1>.*)\"); // allowing {param}\n return {\n ...[...routingPath.matchAll((new RegExp(standardRoutingPath, \"g\")))][0].groups\n };\n};\n\nexport const __valid_routings__ = function (routings:TComponentRouting[], routingPath:string):TComponentRouting[] {\n return routings.filter(function (routing) {\n const standardRoutingPath = routing.path.replace(/{(.*?)}/g, \"(?<$1>.*)\");\n return (new RegExp(standardRoutingPath, \"g\")).test(routingPath);\n }).reverse();\n};\nexport const __valid_routing_way__ = (validRoutingWays:string[], routingWay:string):boolean => {\n return validRoutingWays.includes(routingWay);\n};\n", "import { TAsyncLoadCallback } from \"types\";\nimport { Export } from \"./Export\";\nimport { isBrowser } from \"./platform\";\nimport { _top } from \"./top\";\n\nexport const _asyncLoad:any[] = [];\nexport function asyncLoad(callback: TAsyncLoadCallback, args?: any[]): any {\n\n class AsyncCallback {\n func:TAsyncLoadCallback;\n args?:any[];\n constructor(callback: TAsyncLoadCallback, args: any[] = []) {\n this.func = callback;\n this.args = args;\n } \n dispatch() {\n ((this as AsyncCallback).func as Function).apply(this, ...args as [], this);\n }\n }\n _asyncLoad.push((new AsyncCallback(callback, args)) as unknown as never);\n return AsyncCallback;\n}\n\nexport const _fireAsyncLoad = ():void => {\n if (isBrowser){\n document.addEventListener(\"readystatechange\", () => {\n if (document.readyState === \"complete\") {\n // eslint-disable-next-line array-callback-return\n _asyncLoad.map(function (fc) {\n (fc).dispatch.call(fc);\n });\n }\n });\n } else if (typeof _top.global !== \"undefined\") {\n // eslint-disable-next-line array-callback-return\n _asyncLoad.map(function (fc) {\n (fc).dispatch.call(fc);\n });\n }\n };\n\nExport(asyncLoad);", "import { Base64 } from \"./Base64\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { logger } from \"./Logger\";\n\nexport class ComplexStorageCache {\n\n constructor(params: { index: any; load: any; alternate: any; }) {\n let load, alternate;\n const object = params.index;\n if (typeof object !== \"undefined\") {\n load = params.load;\n alternate = params.alternate;\n const cachedObjectID = this.getID(object);\n const cachedResponse = localStorage.getItem(cachedObjectID as string);\n if (this.isEmpty(cachedResponse)) {\n const cachedNewResponse = load.call(null, {\n cachedObjectID,\n cachedResponse,\n \"cache\": this\n });\n this.save(object, cachedNewResponse);\n logger.debug(\"RESPONSE OF {{cachedObjectID}} CACHED\".replace(\"{{cachedObjectID}}\", cachedObjectID as string));\n } else {\n alternate.call(null, {\n cachedObjectID,\n cachedResponse,\n \"cache\": this\n });\n logger.debug(\"RESPONSE OF {{cachedObjectID}} IS ALREADY CACHED \".replace(\"{{cachedObjectID}}\", cachedObjectID as string));\n }\n\n } else {\n throw new Error(\"ComplexStorageCache: index is undefined\");\n }\n return this;\n }\n\n getItem(cachedObjectID: string):any {\n const retrievedObject = localStorage.getItem(cachedObjectID);\n if (!this.isEmpty(retrievedObject)) {\n return JSON.parse(retrievedObject as string);\n } else {\n return null;\n }\n }\n\n\n setItem(cachedObjectID: string, value: any):void {\n localStorage.setItem(cachedObjectID, _DataStringify(value));\n }\n\n isEmpty(object: string | number | null):boolean {\n let r = false;\n switch (true) {\n case (typeof object === \"undefined\"):\n case (typeof object === \"string\" && object === \"\"):\n case (typeof object === \"string\" && object === \"undefined\"):\n case (typeof object === \"number\" && object === 0):\n case (object === null):\n r = true;\n break;\n default:\n r = false;\n }\n return r;\n }\n\n\n getID(object: any):string|undefined {\n let cachedObjectID;\n if (typeof object !== \"undefined\") {\n cachedObjectID = \"cachedObject_\" + Base64.encode(_DataStringify(object).replace(/\\{|\\}|,/g, \"_\"));\n }\n return cachedObjectID;\n }\n\n save(object: any, cachedNewResponse: any):void {\n const cachedObjectID = this.getID(object);\n logger.debug(\"CACHING THE RESPONSE OF {{cachedObjectID}} \".replace(\"{{cachedObjectID}}\", cachedObjectID as string));\n this.setItem(cachedObjectID as string, cachedNewResponse);\n }\n\n getCached(object: any):any {\n const cachedObjectID = this.getID(object);\n return this.getItem(cachedObjectID as string);\n }\n\n clear():void {\n Object.keys(localStorage).filter(function (k) {\n return k.startsWith(\"cachedObject_\");\n }).map(function (c):any {\n localStorage.removeItem(c);\n return c;\n });\n }\n\n}\n", "import { IService, TCacheController } from \"types\";\nimport { asyncLoad } from \"./asyncLoad\";\nimport { ComplexStorageCache } from \"./ComplexStorageCache\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { logger } from \"./Logger\";\nimport { _require_, isBrowser } from \"./platform\";\nimport { _top } from \"./top\";\n\n/**\n * Loads a simple component from a template\n *\n * @author: Jean Machuca <correojean@gmail.com>\n * @param service a Service object\n */\nexport const serviceLoader = function (service:IService, _async = false):Promise<unknown>|undefined {\n const _serviceLoaderInBrowser = function (service:IService):Promise<unknown> {\n var _promise = new Promise(\n function (resolve, reject) {\n\n logger.debug(\"LOADING SERVICE DATA {{DATA}} FROM {{URL}}\".replace(\"{{DATA}}\", _DataStringify(service.data)).replace(\"{{URL}}\", service.url));\n const xhr = new XMLHttpRequest();\n xhr.withCredentials = service.withCredentials;\n const xhrasync = true; // always async because xhr sync is deprecated\n xhr.open(service.method, service.url, xhrasync);\n for (const header in service.headers) {\n try {\n if (typeof service.headers[header] !== \"function\") {\n xhr.setRequestHeader(header, service.headers[header]);\n }\n } catch (e:any) {\n logger.debug(\"Something went wrong when assign the header \" + header);\n logger.debug(`An error ocurred: ${e}`);\n }\n }\n xhr.onload = function () {\n if (xhr.status === 200) {\n const response = xhr.responseText;\n logger.debug(\"Data received {{DATA}}\".replace(\"{{DATA}}\", _DataStringify(response)));\n logger.debug(\"CREATING SERVICE {{NAME}}\".replace(\"{{NAME}}\", service.name));\n service.template = response;\n if (service.cached && (typeof cache !== \"undefined\")) {\n cache.save(service.name, service.template);\n }\n if (typeof service.done === \"function\") {\n var standardResponse = {\n \"request\": xhr,\n service\n };\n service.done.call(service, standardResponse);\n resolve.call(_promise, standardResponse);\n }\n } else {\n if (typeof service.fail === \"function\") {\n var standardResponse = {\n \"request\": xhr,\n service\n };\n service.fail.call(service, standardResponse);\n reject.call(_promise, standardResponse);\n }\n }\n };\n\n const _directLoad = function () {\n logger.debug(\"SENDING THE NORMAL REQUEST \");\n try {\n xhr.send(_DataStringify(service.data));\n } catch (e:any) {\n logger.debug(\"SOMETHING WRONG WITH REQUEST \");\n logger.debug(`An error ocurred: ${e}`);\n reject.call(_promise, {\n request: xhr,\n service\n });\n }\n };\n\n if (service.cached) {\n var cache = new ComplexStorageCache({\n index: service.data,\n load() {\n _directLoad.call(this);\n },\n alternate(cacheController:TCacheController) {\n if (service.method === \"GET\") {\n service.template = cacheController.cache.getCached(service.name);\n if (typeof service.done === \"function\") {\n const standardResponse = {\n \"request\": xhr,\n service\n };\n service.done.call(service, standardResponse);\n resolve.call(_promise, standardResponse);\n }\n } else {\n _directLoad();\n }\n \n }\n });\n (_top as any).lastCache = cache;\n } else {\n _directLoad();\n }\n\n return xhr;\n }\n );\n return _promise;\n };\n\n const _serviceLoaderInNode = function (service:IService) {\n var _promise = new Promise(\n function (resolve, reject) {\n if (typeof URL === \"undefined\") {\n global.URL = (_require_(\"url\")).URL;\n // eslint-disable-next-line no-unused-vars\n const URL = global.URL;\n }\n const serviceURL = new URL(service.url);\n var req;\n service.useHTTP2 = Object.hasOwn(service, \"useHTTP2\") && service.useHTTP2;\n\n\n const captureEvents = function (req:any) {\n logger.debug(\"LOADING SERVICE DATA (non-browser) {{DATA}} FROM {{URL}}\".replace(\"{{DATA}}\", _DataStringify(service.data)).replace(\"{{URL}}\", service.url));\n let dataXML:any;\n const standardResponse = {\n \"http2Client\": client,\n \"request\": req,\n service,\n \"responseHeaders\": null\n };\n\n if (typeof service.data === \"object\" && service.data !== null) {\n if (service.useHTTP2) {\n try {\n logger.debug(\"Sending data...\");\n const buffer = new Buffer(_DataStringify(service.data));\n req.write(buffer);\n } catch (e:any) {\n logger.debug(\"It was not possible to send any data\");\n logger.debug(`An error ocurred: ${e}`);\n }\n }\n }\n\n dataXML = \"\";\n req.on(\"response\", (responseHeaders:any) => {\n logger.debug(\"receiving response...\");\n standardResponse.responseHeaders = responseHeaders;\n /*\n for (const name in responseHeaders) {\n logger.debug(`${name}: ${responseHeaders[name]}`);\n }\n */\n dataXML = \"\";\n });\n req.on(\"data\", (chunk:any) => {\n logger.debug(\"receiving data...\");\n // do something with the data\n dataXML += \"\" + chunk.toString();\n service.template = dataXML;\n });\n if (service.useHTTP2) {\n req.resume();\n }\n req.on(\"end\", () => {\n logger.debug(\"ending call...\");\n service.template = dataXML;\n if (Object.hasOwn(service, \"useHTTP2\") && service.useHTTP2) {\n client.destroy();\n } else {\n req.destroy();\n }\n service.done.call(service, standardResponse);\n resolve.call(_promise, standardResponse);\n });\n if (service.useHTTP2) {\n req.end();\n }\n\n };\n\n try {\n let requestOptions;\n if (service.useHTTP2) {\n logger.debug(\"using http2\");\n const http2 = _require_(\"http2\");\n var client = (http2).connect(serviceURL.origin);\n requestOptions = Object.assign({\n \":method\": service.method,\n \":path\": serviceURL.pathname\n }, service.options);\n requestOptions = Object.assign(requestOptions, service.headers);\n req = client.request(requestOptions);\n req.setEncoding(\"utf8\");\n captureEvents(req);\n } else {\n if (serviceURL.protocol === \"http:\") {\n const http = _require_(\"http\");\n const request = (http).request;\n requestOptions = Object.assign({\n \"url\": service.url,\n headers: service.headers\n }, service.options);\n req = request(service.url);\n captureEvents(req);\n } else if (serviceURL.protocol === \"https:\") {\n const https = _require_(\"https\");\n requestOptions = Object.assign({\n hostname: serviceURL.hostname,\n port: serviceURL.port,\n path: serviceURL.pathname,\n method: service.method,\n headers: service.headers\n }, service.options);\n const _req_ = (https).request(requestOptions, function (req:any) {\n captureEvents(req);\n });\n _req_.end();\n } else {\n const e = \"Protocol not supported: \" + serviceURL.protocol;\n logger.debug(e);\n throw new Error(e);\n }\n }\n\n\n } catch (e:any) {\n logger.debug(e);\n service.fail.call(service, e);\n reject.call(_promise, e);\n\n }\n }).catch( (e:any) => {\n logger.debug(`Something happened when trying to call the service: ${service.name}. Error: ${e}`);\n service.fail.call(service, e);\n });\n return _promise;\n\n };\n\n const _serviceLoaderMockup = function (service:IService) {\n var _promise = new Promise(\n function (resolve) {\n logger.debug(`Calling mockup service ${service.name} ...`);\n const standardResponse = {\n \"request\": null,\n service,\n \"responseHeaders\": service.responseHeaders\n };\n if (typeof service.mockup === \"function\") {\n service.mockup.call(service, standardResponse);\n } else {\n service.done.call(service, standardResponse);\n }\n resolve.call(_promise, standardResponse);\n });\n return _promise;\n };\n const _serviceLoaderLocal = function (service:IService) {\n var _promise = new Promise(\n function (resolve) {\n logger.debug(`Calling local service ${service.name} ...`);\n const standardResponse = {\n \"request\": null,\n service,\n \"responseHeaders\": service.responseHeaders\n };\n if (typeof service.local === \"function\") {\n service.local.call(service, standardResponse);\n } else {\n service.done.call(service, standardResponse);\n }\n resolve.call(_promise, standardResponse);\n });\n return _promise;\n };\n\n let _ret_: Promise<unknown>;\n switch (service.kind) {\n case \"rest\":\n if (isBrowser) {\n if (typeof _async !== \"undefined\" && _async) {\n _ret_ = asyncLoad(_serviceLoaderInBrowser, [service, _async]);\n } else {\n _ret_ = _serviceLoaderInBrowser(service);\n }\n } else {\n _ret_ = _serviceLoaderInNode(service);\n }\n break;\n case \"mockup\":\n _ret_ = _serviceLoaderMockup(service);\n break;\n case \"local\":\n _ret_ = _serviceLoaderLocal(service);\n break;\n default:\n logger.debug(`The value of the kind property of the service ${service.name} is not valid`);\n _ret_ = Promise.resolve();\n break;\n }\n return _ret_;\n};\n", "export const _tag_filter_ = \"quick-component:not([loaded]),component:not([loaded])\";\n", "import { IComponent, TCacheController } from \"types\";\nimport { asyncLoad } from \"./asyncLoad\";\nimport { ComplexStorageCache } from \"./ComplexStorageCache\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { logger } from \"./Logger\";\nimport { is_phonegap, isBrowser } from \"./platform\";\nimport { _top } from \"./top\";\n\n/**\n * Loads a simple component from a template\n *\n * @author: Jean Machuca <correojean@gmail.com>\n * @param component a Component object\n */\nexport const componentLoader = function (component: IComponent, _async: boolean):Promise<any> {\n let __promise__: Promise<any>;\n const _componentLoaderInBrowser = function (component: IComponent) {\n __promise__ = new Promise(function (resolve, reject) {\n const _promise = component.__promise__;\n const container = (Object.hasOwn(component, \"container\") && typeof component.container !== \"undefined\" && component.container !== null) ? (component.container) : (component.body);\n if (container !== null) {\n const _feedComponent_ = function (component: { feedComponent: () => void; }) {\n component.feedComponent();\n const standardResponse = {\n \"request\": xhr,\n component\n };\n resolve.call(_promise, standardResponse);\n };\n logger.debug(\"LOADING COMPONENT DATA {{DATA}} FROM {{URL}}\".replace(\"{{DATA}}\", _DataStringify(component.data)).replace(\"{{URL}}\", component.url));\n\n const _componentLoaded = function () {\n const successStatus = (is_file) ? (0) : (200);\n if (xhr.status === successStatus) {\n const response = xhr.responseText;\n logger.debug(\"Data received {{DATA}}\".replace(\"{{DATA}}\", _DataStringify(response)));\n logger.debug(\"CREATING COMPONENT {{NAME}}\".replace(\"{{NAME}}\", component.name));\n component.template = response;\n if (component.cached && (typeof cache !== \"undefined\")) {\n cache.save(component.name, component.template);\n }\n _feedComponent_(component);\n } else {\n const standardResponse = {\n \"request\": xhr,\n component\n };\n reject.call(_promise, standardResponse);\n\n }\n };\n if (typeof component.template === \"string\" && component.template !== \"\") {\n // component already has a template it does not need to be reloaded\n _feedComponent_(component);\n } else {\n var is_file = !!(component.url.startsWith(\"file:\"));\n var xhr = new XMLHttpRequest();\n if (!is_file) {\n try {\n logger.debug(\"Calling the url of component in async mode.\");\n xhr.open(component.method, component.url, true);\n } catch (e:any) {\n logger.debug(`An error ocurred: ${e}.`);\n logger.debug(\"Last try has failed... The component cannot be loaded.\");\n }\n } else {\n if (\"fetch\" in _top) {\n logger.debug(\"I can use fetch...\");\n logger.debug(\"It is a file to be loaded, so I will try to use fetch\");\n fetch(component.url).then(response => {\n logger.debug(\"I got a response from fetch, so I'll feed the component\");\n response.text().then(text => {\n component.template = text;\n _feedComponent_(component);\n })\n .catch((e:any) => {throw new Error (`An error ocurred: ${e}`);});\n }).catch ((e:any) => {throw new Error (`An error ocurred: ${e}`);});\n }\n }\n if (!is_phonegap && !is_file) {\n xhr.setRequestHeader(\"Content-Type\", \"text/html\");\n }\n if (!is_file) {\n xhr.onload = _componentLoaded;\n }\n const _directLoad = function (is_file: boolean) {\n is_file = !((typeof is_file === \"undefined\" || !is_file));\n logger.debug(\"SENDING THE NORMAL REQUEST \");\n if (is_file) {\n if (!(\"fetch\" in _top)) {\n logger.debug(\"I have to try to load the file using xhr... \");\n xhr.send(null);\n if (xhr.status === XMLHttpRequest.DONE) {\n _componentLoaded();\n }\n }\n } else {\n logger.debug(\"Trying to send the data to the component... \");\n xhr.send(_DataStringify(component.data));\n }\n };\n\n if (component.cached && (!is_file)) {\n logger.debug(\"USING CACHE FOR COMPONENT: \" + component.name);\n var cache = new ComplexStorageCache({\n index: component.cacheIndex,\n load() {\n _directLoad.call(this, is_file);\n },\n alternate(cacheController: TCacheController) {\n if (component.method === \"GET\") {\n component.template = cacheController.cache.getCached(component.cacheIndex);\n _feedComponent_.call(this, component);\n } else {\n _directLoad.call(this, is_file);\n }\n \n }\n });\n (_top as any).lastCache = cache;\n } else {\n logger.debug(\"NOT USING CACHE FOR COMPONENT: \" + component.name);\n _directLoad(is_file);\n }\n\n }\n } else {\n logger.debug(\"CONTAINER DOESNT EXIST\");\n }\n });\n __promise__.then(function (standardResponse) {\n return component.__done__().then(function () {\n let _ret_;\n if (typeof component.done === \"function\") {\n _ret_ = component.done.call(component, standardResponse);\n }\n return Promise.resolve(_ret_);\n });\n }, function (standardResponse) {\n if (typeof component.fail === \"function\") {\n component.fail.call(component, standardResponse)\n .catch ((e:any)=> {throw new Error (`${e}`);});\n }\n return Promise.reject(new Error (\"An error ocurred\"));\n }).catch(function (e:any) {\n logger.debug(\"Something wrong loading the component\");\n throw new Error (`An error ocurred: ${e}`);\n });\n return __promise__;\n };\n const _componentLoaderInNode = function (component: IComponent) {\n __promise__ = new Promise(function (resolve, reject) {\n const _promise = __promise__;\n const _feedComponent_ = function (component: IComponent) {\n component.feedComponent()\n .catch ((e:any) => {\n throw new Error (`An error ocurred trying to feed the component: ${component.name}. Error: ${e}`);\n });\n const standardResponse = {\n \"request\": null,\n component\n };\n resolve.call(_promise, standardResponse);\n };\n logger.debug(\"LOADING COMPONENT DATA {{DATA}} FROM {{URL}}\".replace(\"{{DATA}}\", _DataStringify(component.data)).replace(\"{{URL}}\", component.url));\n\n const _componentLoaded = function (err: any, responseText: { toString: () => any; }) {\n if (!err) {\n const response = responseText.toString();\n logger.debug(\"Data received {{DATA}}\".replace(\"{{DATA}}\", _DataStringify(response)));\n logger.debug(\"CREATING COMPONENT {{NAME}}\".replace(\"{{NAME}}\", component.name));\n component.template = response;\n if (component.cached && (typeof cache !== \"undefined\")) {\n cache.save(component.name, component.template);\n }\n _feedComponent_(component);\n } else {\n const standardResponse = {\n \"request\": null,\n component\n };\n reject.call(_promise, standardResponse);\n }\n };\n if (typeof component.template === \"string\" && component.template !== \"\") {\n // component already has a template it does not need to be reloaded\n _feedComponent_(component);\n } else {\n logger.debug(\"Loading the component as a local file in server...\");\n const _directLoad = function () {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const {readFile} = require(\"node:fs\");\n logger.debug(\"SENDING THE NORMAL REQUEST \");\n readFile(component.url, _componentLoaded);\n };\n\n if (component.cached) {\n logger.debug(\"USING CACHE FOR COMPONENT: \" + component.name);\n var cache = new ComplexStorageCache({\n index: component.cacheIndex,\n load() {\n _directLoad();\n },\n alternate(cacheController: TCacheController) {\n if (component.method === \"GET\") {\n component.template = cacheController.cache.getCached(component.cacheIndex);\n _feedComponent_.call(this, component);\n } else {\n _directLoad.call(this);\n }\n \n }\n });\n (_top as any).lastCache = cache;\n } else {\n logger.debug(\"NOT USING CACHE FOR COMPONENT: \" + component.name);\n _directLoad();\n }\n\n }\n });\n __promise__.then(function (standardResponse) {\n return component.__done__().then(function () {\n let _ret_;\n if (typeof component.done === \"function\") {\n _ret_ = component.done.call(component, standardResponse);\n }\n return Promise.resolve(_ret_);\n });\n }, function (standardResponse) {\n if (typeof component.fail === \"function\") {\n component.fail.call(component, standardResponse)\n .catch((e:any) => {throw new Error (`An error ocurred: ${e}`);});\n }\n return Promise.reject(new Error (\"An error ocurred.\"));\n }).catch(function (e) {\n logger.debug(`Something wrong loading the component: ${e}`);\n });\n return __promise__;\n };\n\n let _ret_;\n if (isBrowser) {\n if (typeof _async !== \"undefined\" && _async) {\n _ret_ = asyncLoad(_componentLoaderInBrowser, [component, _async]);\n } else {\n _ret_ = _componentLoaderInBrowser(component);\n }\n } else {\n _ret_ = _componentLoaderInNode(component);\n }\n return _ret_ as Promise<any>;\n};", "import { Base64 } from \"./Base64\";\nimport { _basePath_ } from \"./basePath\";\nimport { _Cast } from \"./Cast\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { _buildComponentsFromElements_, ComponentURI } from \"./ComponentFactory\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { _domain_ } from \"./domain\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { __getType__ } from \"./getType\";\nimport { InheritClass } from \"./InheritClass\";\nimport { _methods_, _protected_code_ } from \"./introspection\";\nimport { is_a } from \"./is_a\";\nimport { isQCObjects_Object } from \"./isQCObjects\";\nimport { logger } from \"./Logger\";\nimport { New } from \"./New\";\nimport { Package } from \"./Package\";\nimport { isBrowser } from \"./platform\";\nimport { Processor } from \"./Processor\";\nimport { __routing_params__, __valid_routing_way__, __valid_routings__ } from \"./routings\";\nimport { _top, componentsStack } from \"./top\";\nimport { CONFIG } from \"./CONFIG\";\nimport { serviceLoader } from \"./serviceLoader\";\nimport { _tag_filter_ } from \"./tag_filter\";\nimport { componentLoader } from \"./componentLoader\";\nimport { IComponent, IController, IEffect, IProcessor, IQCObjectsElement, IQCObjectsShadowedElement, IView, TBody, TComponentDoneResponse, TComponentParams, TComponentRouting, TComponentRoutings } from \"types\";\n\nexport class Component extends InheritClass implements IComponent {\n static shadowed: boolean | undefined = false;\n static cached: any = true;\n [key: string]: any;\n name!: string;\n templateURI!: string;\n url!: string;\n tplsource!: string;\n tplextension!: string;\n template!: string;\n validRoutingWays: string[] = [\"pathname\", \"hash\", \"search\"];\n basePath:string = _basePath_;\n domain:string = _domain_;\n templateHandler = \"DefaultTemplateHandler\";\n processorHandler?: IProcessor;\n routingWay: string | null = null;\n routingNodes: (IQCObjectsElement | HTMLElement)[] = [];\n routings: TComponentRoutings = [];\n routingPath = \"\";\n routingPaths: string[] = [];\n _componentHelpers: any[] = [];\n subcomponents: any[] = [];\n splashScreenComponent?: IComponent = undefined;\n controller?: IController = undefined;\n routingController?: IController = undefined;\n\n view?: IView = undefined;\n effect?: IEffect = undefined;\n effectClass!: string;\n method = \"GET\";\n cached?: boolean = true;\n __promise__?: Promise<any> | null = null;\n data!: any;\n __namespace?: string = undefined;\n protected _parsedAssignmentText!: string;\n protected __shadowRoot: any;\n protected _serviceClassName: string | null = null;\n enableServiceClass?: boolean | undefined = true;\n serviceInstance: any;\n serviceData: any;\n shadowed?: boolean = false;\n container: any;\n innerHTML: any;\n reload: any;\n static subcomponents: any;\n assignRoutingParams?: boolean = true;\n responseTo?: string | undefined;\n static responseTo?: string | undefined;\n\n constructor({\n __parent__,\n templateURI = \"\",\n template,\n tplsource = \"default\",\n tplextension,\n url = \"\",\n name = \"\",\n method = \"GET\",\n data = {},\n reload = false,\n shadowed = false,\n cached = true,\n enableServiceClass,\n assignRoutingParams = true,\n _body = _DOMCreateElement(\"div\"),\n __promise__ = null,\n __shadowRoot,\n body,\n shadowRoot,\n splashScreenComponent,\n controller,\n view\n }: TComponentParams) {\n if (arguments.length < 1) {\n throw Error(\"No arguments in component. You must at least give one argument.\");\n }\n super({\n __parent__,\n templateURI,\n template,\n tplsource,\n tplextension,\n url,\n name,\n method,\n data,\n reload,\n shadowed,\n cached,\n enableServiceClass,\n assignRoutingParams,\n _body,\n __promise__,\n __shadowRoot,\n body,\n shadowRoot,\n splashScreenComponent,\n controller,\n view\n });\n const self = this;\n\n if (typeof name !== \"undefined\") {\n self.name = name;\n }\n\n if (typeof self.name === \"undefined\" && typeof name === \"undefined\") {\n logger.warn(\"A name is not defined for \" + __getType__(self));\n }\n\n self.routingWay = CONFIG.get(\"routingWay\");\n\n self.processorHandler = new Processor({\n component: self\n });\n\n /* assign body data attributes to data */\n self.data = (typeof self.data === \"undefined\" || self.data === null) ? ({}) : (self.data);\n self.data = Object.assign(self.data, self.dataAttributes);\n\n self.createServiceInstance()\n .then(() => {\n if (typeof self.__new__ === \"function\") {\n self.__new__(self);\n }\n\n self._generateRoutingPaths(self.body)\n .then(function () {\n self._reroute_()\n .then(function () {\n return self.rebuild()\n .then(function () {\n logger.info(`Component._new_ The component ${self.name} was built successfully!`);\n }).catch(function (standardResponse) {\n logger.warn(`Component._new_ Something went wrong building the component ${self.name}`);\n console.error(`Component._new_ Something went wrong building the component ${self.name}`, standardResponse);\n });\n }).catch((e: any) => {\n throw Error(`Unexpected error ${e}`);\n });\n }).catch((e: any) => {\n throw Error(`Unexpected error ${e}`);\n });\n\n }).catch((e: any) => {\n throw Error(`Unexpected error. ${e}`);\n });\n\n }\n\n set cacheIndex(value) {\n // readonly\n logger.debug(\"[cacheIndex] This property is readonly\");\n }\n\n get cacheIndex():string {\n const self = this;\n const __routing_path__ = _DataStringify(self.routingPath);\n return Base64.encode(self.name + __routing_path__);\n }\n\n set parsedAssignmentText(value: string) {\n // readonly\n logger.debug(\"[parsedAssignmentText] This property is readonly\");\n }\n\n get parsedAssignmentText(): string {\n const self = this;\n self._parsedAssignmentText = self.parseTemplate(self.template);\n if (typeof self._parsedAssignmentText === \"undefined\") {\n throw Error(`[Component][${this.name}][parsedAssignmentText] Could not generate content!`);\n }\n return self._parsedAssignmentText;\n }\n\n\n set shadowRoot(value: IQCObjectsShadowedElement) {\n const self = this;\n if (typeof self.__shadowRoot === \"undefined\") {\n self.__shadowRoot = value;\n } else {\n logger.debug(\"[shadowRoot] This property can only be assigned once!\");\n }\n }\n\n get shadowRoot(): IQCObjectsShadowedElement {\n const self = this;\n return self.__shadowRoot as IQCObjectsShadowedElement;\n }\n\n\n set routingSelected(value: TComponentRouting[]) {\n logger.debug(\"[routingSelected] This is a read-only property of the component\");\n }\n\n get routingSelected(): TComponentRouting[] {\n const self = this;\n return __valid_routings__(self.routings, self.routingPath);\n }\n\n set routingParams(value) {\n logger.debug(\"[routingParams] This is a read-only property of the component\");\n }\n\n get routingParams(): object {\n const component = this;\n return [{}].concat(component.routingSelected.map(function (routing: any) {\n return __routing_params__(routing, component.routingPath);\n })).reduce(function (accumulator, colData) {\n return Object.assign(accumulator, colData);\n });\n }\n\n\n set serviceClassName(_serviceClassName: string) {\n this._serviceClassName = _serviceClassName;\n }\n\n get serviceClassName(): string | null {\n let _serviceClassName: string | null = \"\";\n if (isBrowser) {\n _serviceClassName = ((this.body as HTMLElement).getAttribute(\"serviceClass\") !== null) ? ((this.body as HTMLElement).getAttribute(\"serviceClass\")) : (\n this._serviceClassName\n );\n } else {\n _serviceClassName = this._serviceClassName;\n }\n return _serviceClassName;\n }\n\n protected get responseToData(): boolean {\n let _response_to_data_: boolean = false;\n if (isBrowser) {\n const responseToAttr = (this.body as HTMLElement).getAttribute(\"response-to\");\n _response_to_data_ = responseToAttr === \"data\" || this.responseTo === \"data\";\n } else {\n _response_to_data_ = this.responseTo === \"data\";\n }\n return _response_to_data_;\n }\n\n protected get responseToTemplate(): boolean {\n let _response_to_template_: boolean = false;\n if (isBrowser) {\n const responseToAttr = (this.body as HTMLElement).getAttribute(\"response-to\");\n _response_to_template_ = responseToAttr === \"template\" || this.responseTo === \"template\";\n } else {\n _response_to_template_ = this.responseTo === \"template\";\n }\n return _response_to_template_;\n }\n\n createServiceInstance(): Promise<JSON | string | null> {\n const component = this;\n let data = this.data;\n let __serviceClass: any;\n const __classDefinition = component.getClass().__definition;\n const _serviceClassName = component.serviceClassName;\n\n return new Promise(function (resolve, reject) {\n /* __enable_service_class__ = true by default */\n const __enable_service_class__ = component.enableServiceClass;\n let _response_to_data_ = component.responseToData;\n let _response_to_template_ = component.responseToTemplate;\n\n if (__enable_service_class__ && _serviceClassName !== null) {\n __serviceClass = ClassFactory(_serviceClassName);\n }\n if (!_response_to_data_ && __classDefinition && Object.hasOwn(__classDefinition, \"responseTo\")) {\n _response_to_data_ = (__classDefinition.responseTo === \"data\");\n } else if (!_response_to_data_ && Object.hasOwn(ClassFactory(\"Component\"), \"responseTo\")) {\n _response_to_data_ = ((ClassFactory(\"Component\") as Component).responseTo === \"data\");\n }\n if (!_response_to_template_ && __classDefinition && Object.hasOwn(__classDefinition, \"responseTo\")) {\n _response_to_template_ = (__classDefinition.responseTo === \"template\");\n } else if (!_response_to_template_ && Object.hasOwn(ClassFactory(\"Component\"), \"responseTo\")) {\n _response_to_template_ = ((ClassFactory(\"Component\") as Component).responseTo === \"template\");\n }\n\n if (typeof __serviceClass !== \"undefined\" &&\n (typeof __enable_service_class__ !== \"undefined\" &&\n __enable_service_class__ === true) &&\n (_response_to_data_ || _response_to_template_)\n ) {\n logger.info(\"Loading service \" + _serviceClassName);\n const serviceInstance = New(__serviceClass, {\n data\n });\n (serviceLoader(serviceInstance) as Promise<any>)?.then(function ({\n service\n }: { request: any, service: any }) {\n let serviceResponse;\n if (typeof service.JSONresponse !== \"undefined\" && service.JSONresponse !== null) {\n serviceResponse = service.JSONresponse;\n } else {\n serviceResponse = service.template;\n }\n if (_response_to_data_) {\n if (typeof data === \"object\" && typeof serviceResponse === \"object\") {\n data = Object.assign(data, serviceResponse);\n } else {\n data = serviceResponse;\n }\n component.data = data;\n }\n component.serviceInstance = serviceInstance;\n component.serviceData = data;\n\n if (_response_to_template_) {\n component.template = serviceResponse;\n }\n resolve(serviceResponse);\n }, function (rejectedResponse: Error) {\n logger.debug(`Service loading rejected for ${_serviceClassName} in ${component.name}`);\n reject(rejectedResponse);\n }).catch(function (e: any) {\n logger.debug(\"Something went wroing while trying to load the service \" + _serviceClassName);\n throw Error(`Error loading ${_serviceClassName} for ${component.name}. Detail: ${e}`);\n });\n } else {\n resolve(null);\n }\n });\n }\n\n _bindroute_():void {\n const _component_ = this;\n if (!(_component_ as any)._bindroute_.loaded) {\n if (isBrowser) {\n\n (_component_.hostElements(\"a\") as unknown as HTMLAnchorElement[]).map(function (a: HTMLAnchorElement) {\n (a as any).oldclick = a.onclick;\n a.onclick = function (e) {\n let _ret_ = true;\n if (!_top.global.get(\"routingPaths\")) {\n _top.global.set(\"routingPaths\", []);\n }\n const routingWay = CONFIG.get(\"routingWay\");\n const routingPath = (e.target as any)[routingWay];\n if (_top.global.get(\"routingPaths\").includes(routingPath) &&\n (e.target as any)[routingWay] !== (location as any)[routingWay] &&\n (e.target as HTMLAnchorElement).href !== document.location.href\n ) {\n logger.debug(\"A ROUTING WAS FOUND: \" + routingPath);\n window.history.pushState({\n href: (e.target as HTMLAnchorElement).href\n }, (e?.target as HTMLAnchorElement)?.href, (e.target as HTMLAnchorElement).href);\n Component.route().catch((e) => { throw Error(`Unexpected error: ${e}`); });\n _ret_ = false;\n } else {\n logger.debug(\"NO ROUTING FOUND FOR: \" + routingPath);\n }\n if (typeof (e.target as any).oldclick !== \"undefined\" && typeof (e.target as any).oldclick === \"function\") {\n (e.target as any).oldclick.call(e.target, e);\n }\n return _ret_;\n };\n return null;\n });\n\n } else {\n // not yet implemented.\n }\n (_component_ as any)._bindroute_.loaded = true;\n } else {\n logger.debug(`Routes already bound to popstate events for ${_component_.name}`);\n }\n\n }\n\n done(standardResponse?: TComponentDoneResponse): Promise<TComponentDoneResponse> {\n const _ret_ = new Promise<TComponentDoneResponse>((resolve) => {\n if (typeof standardResponse !== \"undefined\") {\n const { request, component } = standardResponse;\n resolve({ request, component });\n } else {\n resolve({ request: undefined, component: undefined });\n }\n });\n return _ret_;\n }\n\n createControllerInstance(): Promise<{ component: IComponent, controller: IController }> {\n let _Controller: any;\n if (isBrowser) {\n if (typeof this.body === \"undefined\") {\n throw new Error(\"The component has no body\");\n }\n var controllerName = (this.body as HTMLElement).getAttribute(\"controllerClass\");\n if (!controllerName) {\n controllerName = \"Controller\";\n }\n _Controller = ClassFactory(controllerName);\n if (typeof _Controller !== \"undefined\") {\n this.controller = New(_Controller, {\n component: this\n });\n }\n\n }\n\n return new Promise((resolve, reject) => {\n if (isBrowser) {\n if (typeof _Controller !== \"undefined\" && typeof this.controller !== \"undefined\") {\n if (typeof (this.controller).done === \"function\") {\n try {\n this.controller.done.call(this.controller);\n } catch (e: any) {\n throw Error(e);\n }\n } else {\n logger.debug(`${controllerName} does not have a done() method.`);\n reject(new Error(`${controllerName} does not have a done() method.`));\n }\n if (typeof this.controller.createRoutingController === \"function\") {\n this.controller.createRoutingController.call(this.controller);\n } else {\n logger.debug(`${controllerName} does not have a createRoutingController() method.`);\n }\n }\n }\n resolve({ component: this, controller: this.controller as IController });\n });\n }\n\n createEffectInstance(): Promise<{ component: Component, effect: IEffect }> {\n const _component_ = this;\n return new Promise(function (resolve) {\n if (isBrowser) {\n const effectClassName = (_component_.body as HTMLElement)?.getAttribute(\"effectClass\");\n let applyEffectTo = (_component_.body as HTMLElement)?.getAttribute(\"apply-effect-to\");\n applyEffectTo = (applyEffectTo !== null) ? (applyEffectTo) : (\"load\");\n if (effectClassName !== null && applyEffectTo === \"observe\") {\n _component_.applyObserveTransitionEffect(effectClassName);\n } else if (effectClassName !== null && applyEffectTo === \"load\") {\n _component_.applyTransitionEffect(effectClassName);\n }\n }\n resolve({ component: _component_, effect: _component_.effect as IEffect });\n });\n }\n\n createViewInstance(): Promise<{ component: Component, view: IView }> {\n const _component_ = this;\n return new Promise(function (resolve) {\n const viewName = (isBrowser) ? ((_component_.body as HTMLElement).getAttribute(\"viewClass\")) : (null);\n if (viewName !== null) {\n const _View = ClassFactory(viewName);\n if (typeof _View !== \"undefined\") {\n _component_.view = New(_View, {\n component: _component_\n }); // Initializes the main view for the component\n if (Object.hasOwn(_component_.view as object, \"done\") && typeof _component_.view?.done === \"function\") {\n _component_.view?.done.call(_component_.view);\n }\n }\n\n }\n resolve({ component: _component_, view: _component_.view as IView });\n\n });\n }\n\n __done__(): Promise<unknown> {\n const _component_ = this;\n const componentDone = function () {\n if (typeof _component_ === \"undefined\") {\n throw new Error(\"componentDone() has lost its context\");\n }\n if (typeof _component_.body === \"undefined\") {\n throw new Error(\"The component has no body\");\n }\n\n (async () => {\n await _component_.createViewInstance();\n await _component_.createControllerInstance();\n await _component_.createEffectInstance();\n })()\n .catch((e: any) => {\n throw new Error(`Unknown error ${e}.`);\n });\n\n logger.debug(`Trying to run component helpers for ${_component_.name}...`);\n try {\n _component_.runComponentHelpers();\n logger.debug(`Component helpers for ${_component_.name} executed.`);\n } catch (e: any) {\n logger.debug(`Component helpers for ${_component_.name} could not be executed.`);\n throw Error(e);\n }\n\n _component_.subcomponents = _component_.__buildSubComponents__();\n\n _component_._bindroute_();\n if (isBrowser) {\n (_component_.body as HTMLElement).setAttribute(\"loaded\", \"true\");\n }\n };\n\n return new Promise(function (resolve, reject) {\n try {\n resolve(componentDone.call(_component_));\n } catch (e: any) {\n reject(new Error(e));\n }\n });\n\n }\n\n hostElements(tagFilter: string): (IQCObjectsElement | HTMLElement | IQCObjectsShadowedElement)[] {\n const _component_ = this;\n let elementList: (IQCObjectsElement | HTMLElement | IQCObjectsShadowedElement)[] = [];\n if (isBrowser) {\n elementList = (_component_.shadowed && (typeof _component_.shadowRoot !== \"undefined\")) ? (\n _component_.shadowRoot.subelements(tagFilter) as IQCObjectsShadowedElement[]\n ) : (\n (_component_.body as IQCObjectsElement).subelements(tagFilter)\n );\n\n }\n return elementList;\n }\n\n get subtags(): (HTMLElement | IQCObjectsElement | IQCObjectsShadowedElement)[] {\n const _component_ = this;\n const tagFilter = _tag_filter_;\n return _component_.hostElements(tagFilter);\n }\n\n get bodyAttributes():any {\n const _component_ = this;\n const c = _component_.body;\n return (isBrowser) ? ([...(c as HTMLElement).getAttributeNames()].map(a => { return { [a]: (c as HTMLElement).getAttribute(a) }; }).reduce((accumulator, colData) => { return Object.assign(accumulator, colData); })) : ({});\n }\n\n get dataAttributes():any {\n const _component_ = this;\n const c = _component_.body;\n return (isBrowser) ? ([{}].concat([...(c as HTMLElement).getAttributeNames()].filter(n => n.startsWith(\"data-\")).map(a => { return { [a.split(\"-\")[1]]: (c as HTMLElement).getAttribute(a) }; })).reduce((accumulator, colData) => { return Object.assign(accumulator, colData); })) : ({});\n }\n\n __buildSubComponents__(rebuildObjects = false): any {\n const _component_: Component = this as Component;\n let elementList = _component_.subtags;\n if (!rebuildObjects) {\n elementList = (elementList as HTMLElement[]).filter((t: HTMLElement) => t.getAttribute(\"loaded\") !== \"true\") as unknown[] as IQCObjectsElement[];\n }\n if ((typeof _component_ !== \"undefined\") || (_component_ as Component).subcomponents.length < 1) {\n _component_.subcomponents = _buildComponentsFromElements_(elementList as HTMLElement[], _component_);\n }\n return _component_.subcomponents;\n }\n\n fail(standardResponse: { error: any; component: Component; }): Promise<{ error: any; component: Component; }> {\n const _ret_ = new Promise<{ error: any; component: Component; }>((resolve, reject) => {\n if (typeof standardResponse !== \"undefined\") {\n const { error, component } = standardResponse;\n resolve({ error, component });\n } else {\n reject(new Error(\" Unknown error.\"));\n }\n });\n return _ret_;\n }\n\n set(key: string, value: any):void {\n this[key] = value;\n }\n\n get(key: string, _defaultValue?: string): any {\n return this[key] || _defaultValue;\n }\n\n feedComponent(): Promise<any> {\n const _component_ = this;\n logger.debug(`[Component][${this.name}][feedComponent] start feeding component...`);\n const _feedComponent_InBrowser = function (_component_: Component): any {\n if (typeof _component_.container === \"undefined\" && typeof _component_.body === \"undefined\") {\n logger.warn(\"COMPONENT {{NAME}} has an undefined container and body\".replace(\"{{NAME}}\", _component_.name));\n return;\n }\n const container = (typeof _component_.container === \"undefined\" || _component_.container === null) ? (_component_.body) : (_component_.container);\n const parsedAssignmentText = _component_.parsedAssignmentText;\n _component_.innerHTML = parsedAssignmentText;\n if (_component_.shadowed) {\n logger.debug(\"COMPONENT {{NAME}} is shadowed\".replace(\"{{NAME}}\", _component_.name));\n logger.debug(\"Preparing slots for Shadowed COMPONENT {{NAME}}\".replace(\"{{NAME}}\", _component_.name));\n const tmp_shadowContainer = _DOMCreateElement(\"div\");\n container.subelements(\"[slot]\").map(\n (c: { parentElement: any; }): any => {\n if (c.parentElement === container) {\n tmp_shadowContainer.appendChild(c as any);\n }\n return c;\n });\n logger.debug(\"Creating shadowedContainer for COMPONENT {{NAME}}\".replace(\"{{NAME}}\", _component_.name));\n const shadowContainer = _DOMCreateElement(\"div\");\n shadowContainer.classList.add(\"shadowHost\");\n try {\n _component_.shadowRoot = shadowContainer.attachShadow({\n mode: \"open\"\n }) as IQCObjectsShadowedElement;\n } catch (e: any) {\n logger.debug(`An error ocurred: ${e}.`);\n try {\n logger.debug(\"Shadowed COMPONENT {{NAME}} is repeated\".replace(\"{{NAME}}\", _component_.name));\n _component_.shadowRoot = shadowContainer.shadowRoot as IQCObjectsShadowedElement;\n } catch (e: any) {\n logger.debug(`An error ocurred: ${e}.`);\n logger.warn(\"Shadowed COMPONENT {{NAME}} is not allowed on this browser\".replace(\"{{NAME}}\", _component_.name));\n }\n }\n if (typeof _component_.shadowRoot !== \"undefined\" && _component_.shadowRoot !== null) {\n if (_component_.reload) {\n logger.debug(\"FORCED RELOADING OF CONTAINER FOR Shadowed COMPONENT {{NAME}}\".replace(\"{{NAME}}\", _component_.name));\n if (shadowContainer !== null && shadowContainer.shadowRoot !== null) {\n shadowContainer.shadowRoot.innerHTML = _component_.innerHTML;\n }\n } else {\n tmp_shadowContainer.innerHTML = _component_.parseTemplate(tmp_shadowContainer.innerHTML);\n logger.debug(\"ADDING Shadowed COMPONENT {{NAME}} \".replace(\"{{NAME}}\", _component_.name));\n if (shadowContainer !== null && shadowContainer.shadowRoot !== null) {\n shadowContainer.shadowRoot.innerHTML += _component_.innerHTML;\n }\n }\n logger.debug(\"ADDING Slots to Shadowed COMPONENT {{NAME}} \".replace(\"{{NAME}}\", _component_.name));\n shadowContainer.innerHTML += tmp_shadowContainer.innerHTML;\n logger.debug(\"APPENDING Shadowed COMPONENT {{NAME}} to Container \".replace(\"{{NAME}}\", _component_.name));\n const qs = container.querySelector(\".shadowHost\");\n if (!(typeof qs !== \"undefined\" && qs !== null)) {\n container.appendChild(shadowContainer);\n } else {\n logger.debug(\"Shadowed Container for COMPONENT {{NAME}} is already present in the tree \".replace(\"{{NAME}}\", _component_.name));\n if (_component_.shadowRoot !== null && shadowContainer.shadowRoot !== null) {\n _component_.shadowRoot.innerHTML = shadowContainer.shadowRoot.innerHTML;\n }\n }\n } else {\n logger.warn(\"Shadowed COMPONENT {{NAME}} is bad configured\".replace(\"{{NAME}}\", _component_.name));\n }\n } else {\n if (_component_.reload) {\n logger.debug(\"FORCED RELOADING OF CONTAINER FOR COMPONENT {{NAME}}\".replace(\"{{NAME}}\", _component_.name));\n container.innerHTML = _component_.innerHTML;\n } else if (container && _component_) {\n logger.debug(\"ADDING COMPONENT {{NAME}} \".replace(\"{{NAME}}\", _component_.name));\n container.innerHTML += _component_.innerHTML;\n } else {\n logger.warn(\"COMPONENT {{NAME}} is not added to the DOM\".replace(\"{{NAME}}\", _component_.name));\n }\n }\n\n };\n\n const _feedComponent_InNode = function (_component_: Component): any {\n const parsedAssignmentText = _component_.parsedAssignmentText;\n _component_.innerHTML = parsedAssignmentText;\n };\n\n let _ret_;\n if (!is_a(_component_, \"Component\")) {\n logger.warn(\"Trying to feed a non component object\");\n return Promise.reject(new Error(`Trying to feed a non component object ${typeof _component_}`));\n }\n return new Promise<any>((resolve, reject) => {\n if (isBrowser) {\n try {\n _ret_ = _feedComponent_InBrowser(_component_);\n resolve(_ret_);\n } catch (e: any) {\n reject(new Error(e));\n }\n } else {\n try {\n _ret_ = _feedComponent_InNode(_component_);\n resolve(_ret_);\n } catch (e: any) {\n reject(new Error(e));\n }\n\n }\n\n });\n }\n\n rebuild(): Promise<{ request?: XMLHttpRequest, component: Component }> {\n const _component = this as Component;\n var _promise = new Promise<{ request?: XMLHttpRequest, component: Component }>(function (resolve, reject) {\n if (typeof _component === \"undefined\" || _component === null) {\n reject(new Error(\"Component is undefined\"));\n }\n if (isQCObjects_Object(_component) && is_a(_component, \"Component\")) {\n switch (true) {\n case (_component.get(\"tplsource\") === \"none\"):\n logger.debug(\"Component \" + _component.name + \" has specified template-source=none, so no template load was done\");\n var standardResponse = {\n request: undefined,\n component: _component\n };\n _component.__done__().then(function () {\n if (typeof _component.done === \"function\") {\n _component.done.call(_component, standardResponse)\n .catch((e: any) => {\n logger.debug(`It was an error while calling done() in ${_component.name}: ${e}`);\n });\n }\n resolve.call(_promise, standardResponse);\n }, function () {\n reject.call(_promise, standardResponse);\n });\n break;\n case (_component.get(\"tplsource\") === \"inline\"):\n logger.debug(\"Component \" + _component.name + \" has specified template-source=inline, so it is assumed that template is already declared\");\n (async (_component) => {\n await _component.feedComponent.bind(_component)();\n })(_component)\n .catch((e: any) => {\n logger.debug(`It was not possible to feed the component ${_component.name}: ${e}`);\n });\n var standardResponse = {\n request: undefined,\n component: _component\n };\n _component.__done__().then(async () => {\n if (typeof _component.done === \"function\") {\n await _component.done(standardResponse);\n }\n resolve.call(_promise, standardResponse);\n }, function () {\n reject.call(_promise, standardResponse);\n });\n break;\n case (_component.get(\"tplsource\") === \"default\" &&\n _component.get(\"templateURI\") !== \"\"):\n _component.set(\"url\", _component.get(\"basePath\") + _component.get(\"templateURI\"));\n (componentLoader(_component, false))?.then(\n function (standardResponse: any) {\n resolve.call(_promise, standardResponse);\n },\n function (standardResponse: any) {\n reject.call(_promise, standardResponse);\n });\n break;\n case (_component.get(\"tplsource\") === \"external\" &&\n _component.get(\"templateURI\") !== \"\"):\n _component.set(\"url\", _component.get(\"templateURI\"));\n (componentLoader(_component, false)).then(\n function (standardResponse: any) {\n resolve.call(_promise, standardResponse);\n },\n function (standardResponse: any) {\n reject.call(_promise, standardResponse);\n });\n break;\n case _component.get(\"tplsource\") === \"default\" && _component.get(\"templateURI\", \"\") === \"\":\n logger.debug(`Component ${_component.name} template-source is ${_component.get(\"tplsource\")} and no templateURI is present`);\n reject.call(_promise, `Component ${_component.name} template-source is ${_component.get(\"tplsource\")} and no templateURI is present`);\n break;\n default:\n logger.debug(\"Component \" + _component.name + \" will not be rebuilt because no templateURI is present\");\n reject.call(_promise, {\n request: null,\n component: _component\n });\n break;\n }\n\n }\n });\n return _promise;\n }\n\n Cast(oClass: any): any {\n /* Cast method for components has been deprecated. Don't use this method, it is available only for compatibility purposes */\n const o = _methods_(oClass).map((m): any => (m as Function).name.replace(/bound /g, \"\")).map(m => {\n return {\n [m]: oClass[m].bind(this)\n };\n }).reduce((c, p) => Object.assign(c, p), {});\n return _Cast(this, o);\n }\n\n route():Promise<void> {\n return (this.constructor as typeof Component).route();\n }\n\n static route():Promise<void> {\n const componentClass = this; /* is can be class or object */\n let _route_promise_;\n const isValidInstance = !!((isQCObjects_Object(componentClass) && is_a(componentClass, \"Component\")));\n const __route__ = function (componentList: any[]) {\n const _componentNames_: any[] = [];\n const _promises_ = componentList.filter(function (rc: any) {\n return typeof rc !== \"undefined\";\n }).map(function (rc: Component): Promise<void> {\n if (typeof rc.name !== \"undefined\") {\n _componentNames_.push(rc.name);\n } else {\n throw new Error(__getType__(rc) + \" does not have a name\");\n }\n return new Promise(function (resolve, reject) {\n if (typeof rc !== \"undefined\" && !!rc._reroute_) {\n rc._reroute_()\n .then(function () {\n rc.reload = true;\n rc.rebuild()\n .then(() => {\n resolve();\n })\n .catch((e: any) => {\n logger.debug(`Error ${e}`);\n });\n return;\n })\n .then(function () {\n if (Object.hasOwn(rc, \"subcomponents\") &&\n typeof rc.subcomponents !== \"undefined\" &&\n rc.subcomponents.length > 0\n ) {\n logger.debug(\"LOOKING FOR ROUTINGS IN SUBCOMPONENTS FOR: \" + rc.name);\n return __route__.call(rc, rc.subcomponents);\n } else {\n logger.debug(\"No subcomponents to look for routings in: \" + rc.name);\n if (rc.subtags.length > 0) {\n rc.subcomponents = rc.__buildSubComponents__(true);\n }\n resolve();\n }\n }).catch((e: any) => {\n logger.debug(`Error: ${e}`);\n });\n } else if (typeof rc !== \"undefined\") {\n reject(new Error(\"Component \" + rc.name + \" is not an instance of Component\"));\n }\n return;\n });\n });\n return Promise.all(_promises_)\n .then(function () {\n logger.debug(\"ROUTING COMPLETED FOR \" + _componentNames_.join(\", \"));\n }).catch(function (err) {\n logger.warn(\"ROUTING FAILED FOR \" + _componentNames_.join(\", \") + \": \" + err);\n });\n };\n if (isValidInstance || !!componentsStack) {\n if (isValidInstance) {\n logger.debug(\"loading routings for instance \" + componentClass.name);\n }\n _route_promise_ = __route__.call(componentClass, (isValidInstance) ? (componentClass.subcomponents) : (componentsStack));\n } else {\n logger.debug(\"An undetermined result expected if load routings. So will not be loaded this time.\");\n throw Error(\"There is no valid instance and no components stack available to apply rountings\");\n }\n return _route_promise_;\n }\n\n fullscreen():void {\n if (isBrowser) {\n const elem: HTMLElement = this.body as HTMLElement;\n if (elem.requestFullscreen) {\n elem.requestFullscreen()\n .catch((e: any) => {\n throw new Error(`An error ocurred when requesting fullscreen: ${e}`);\n });\n } else if ((elem as any).mozRequestFullScreen) {\n /* Firefox */\n (elem as any).mozRequestFullScreen();\n } else if ((elem as any).webkitRequestFullscreen) {\n /* Chrome, Safari & Opera */\n (elem as any).webkitRequestFullscreen();\n } else if ((elem as any).msRequestFullscreen) {\n /* IE/Edge */\n (elem as any).msRequestFullscreen();\n }\n } else {\n // not yet implemented.\n }\n }\n\n closefullscreen():void {\n if (isBrowser) {\n if (document.exitFullscreen) {\n document.exitFullscreen()\n .catch((e: any) => { throw new Error(`An error ocurred when trying to exit fullscrenn ${e}.`); });\n } else if ((document as any).mozCancelFullScreen) {\n (document as any).mozCancelFullScreen();\n } else if ((document as any).webkitExitFullscreen) {\n (document as any).webkitExitFullscreen();\n } else if ((document as any).msExitFullscreen) {\n (document as any).msExitFullscreen();\n }\n } else {\n // noy yet implemented.\n }\n }\n\n _generateRoutingPaths(componentBody: TBody):Promise<void> {\n const component = this;\n return new Promise<void>(function (resolve) {\n if (isBrowser) {\n if (__valid_routing_way__(component.validRoutingWays, component.routingWay || \"\")) {\n if (typeof componentBody !== \"undefined\") {\n component.innerHTML = (componentBody as HTMLElement)?.innerHTML;\n component.routingNodes = (componentBody as IQCObjectsElement)?.subelements(\"routing\");\n component.routings = [];\n component.routingNodes.map((routingNode): any => {\n const attributeNames = (routingNode as HTMLElement).getAttributeNames();\n const routing = {} as TComponentRouting;\n attributeNames.map((attributeName: any, a: string | number): any => {\n (routing as any)[attributeNames[a as any]] = (routingNode as HTMLElement).getAttribute(attributeNames[a as any]);\n return attributeName;\n });\n component.routings.push(routing as never);\n if (!component.routingPaths) {\n component.routingPaths = [];\n }\n if (!component.routingPaths.includes(routing.path as never)) {\n component.routingPaths.push(routing.path as never);\n }\n if (!_top.global.get(\"routingPaths\")) {\n _top.global.set(\"routingPaths\", []);\n }\n if (!_top.global.get(\"routingPaths\").includes(routing.path)) {\n _top.global.get(\"routingPaths\").push(routing.path);\n }\n return routingNode;\n });\n }\n }\n } else {\n // not yet implemented.\n }\n resolve();\n\n });\n }\n\n parseTemplate(template: any): string {\n const _self = this;\n let _parsedAssignmentText: string;\n const value = template;\n if (Object.hasOwn(_self, \"templateHandler\")) {\n const templateHandlerName = _self.templateHandler;\n logger.debug(`[Component][${this.name}][parseTemplate] Attempting to use ${templateHandlerName} ...`);\n const templateHandlerClass = ClassFactory(templateHandlerName);\n const templateInstance = New(templateHandlerClass, {\n component: _self,\n template: value\n });\n templateInstance.component = _self;\n let selfData = _self.data;\n if (Object.hasOwn(_self, \"assignRoutingParams\") && _self.assignRoutingParams) {\n try {\n selfData = Object.assign(selfData, _self.routingParams);\n } catch (e: any) {\n logger.debug(`An error ocurred: ${e}.`);\n logger.debug(\"[parseTemplate] it was not possible to assign the routing params to the template\");\n }\n }\n _parsedAssignmentText = templateInstance.assign(selfData);\n } else {\n logger.debug(`[Component][${this.name}][parseTemplate] No value for templateHandler. Using raw content...`);\n _parsedAssignmentText = value;\n }\n return _parsedAssignmentText;\n }\n\n _reroute_(): Promise<Component> {\n /* This method set the selected routing and makes the switch to the templateURI */\n const rc = this;\n return new Promise(function (resolve) {\n if (isBrowser) {\n if (__valid_routing_way__(rc.validRoutingWays, rc.routingWay || \"\")) {\n rc.routingPath = (location as any)[rc.routingWay as string];\n rc.routingSelected.map((routing: TComponentRouting,): TComponentRouting => {\n const componentURI = ComponentURI({\n \"COMPONENTS_BASE_PATH\": CONFIG.get(\"componentsBasePath\"),\n \"COMPONENT_NAME\": routing.name.toString(),\n \"TPLEXTENSION\": (Object.hasOwn(routing, \"tplextension\")) ? (routing.tplextension || \"\") : (rc.tplextension),\n \"TPL_SOURCE\": \"default\" /* here is always default in order to get the right uri */\n });\n rc.templateURI = componentURI;\n return routing;\n });\n if (rc.routingSelected.length > 0) {\n rc.template = \"\";\n if (typeof rc.body !== \"undefined\" && rc.body !== null) {\n (rc.body as HTMLElement).innerHTML = \"\";\n }\n }\n }\n }\n resolve(rc);\n\n });\n }\n\n lazyLoadImages() {\n if (isBrowser) {\n const component = this;\n const _componentRoot = component.componentRoot as IQCObjectsShadowedElement;\n if (typeof _componentRoot !== \"undefined\" && _componentRoot !== null) {\n const _imgLazyLoaded = [..._componentRoot.subelements(\"img[lazy-src]\")];\n const _lazyLoadImages = function (image: Element | HTMLElement) {\n image.setAttribute(\"src\", image.getAttribute(\"lazy-src\")?.toString() as string);\n (image as HTMLImageElement).onload = () => {\n image.removeAttribute(\"lazy-src\");\n };\n };\n if (\"IntersectionObserver\" in window) {\n const observer = new IntersectionObserver((items, observer) => {\n items.forEach((item) => {\n if (item.isIntersecting) {\n _lazyLoadImages(item.target);\n observer.unobserve(item.target);\n }\n });\n });\n _imgLazyLoaded.map(function (img) {\n return observer.observe(img as unknown as HTMLImageElement);\n });\n } else {\n (_imgLazyLoaded as (HTMLElement | Element)[]).map(_lazyLoadImages);\n }\n }\n } else {\n // not yet implemented\n }\n return null;\n }\n\n applyTransitionEffect(effectClassName: string):void {\n const _Effect = ClassFactory(effectClassName);\n if (typeof _Effect === \"undefined\") {\n throw Error(`${effectClassName} not found.`);\n }\n if (typeof _Effect !== \"undefined\" && is_a(_Effect, \"TransitionEffect\")) {\n this.effect = New(_Effect, {\n component: this\n });\n (this.effect as any)?.apply((this.effect as any)?.defaultParams);\n } else {\n logger.debug(`${effectClassName} is ${__getType__(_Effect)} but is not a TransitionEffect`);\n }\n }\n\n applyObserveTransitionEffect(effectClassName: any):void {\n if (isBrowser) {\n const component = this;\n const _componentRoot = component.componentRoot;\n const _applyEffect_ = function () {\n component.applyTransitionEffect(effectClassName);\n };\n if (\"IntersectionObserver\" in window) {\n const observer = new IntersectionObserver((items, observer) => {\n items.forEach((item) => {\n if (item.isIntersecting) {\n _applyEffect_();\n observer.unobserve(item.target);\n }\n });\n });\n observer.observe(_componentRoot as Element);\n } else {\n _applyEffect_();\n }\n } else {\n // not yet implemented\n }\n\n }\n\n get componentRoot(): TBody {\n return (this.shadowed) ? (this.shadowRoot) : (this.body);\n }\n\n scrollIntoHash():void {\n if (isBrowser) {\n const component = this;\n if (document.location.hash !== \"\") {\n const _componentRoot = component.componentRoot;\n ((_componentRoot as IQCObjectsShadowedElement)?.subelements(document.location.hash) as unknown as Element[]).map(\n (element: Element): any => {\n if (typeof element.scrollIntoView === \"function\") {\n element.scrollIntoView(\n CONFIG.get(\"scrollIntoHash\", {\n behavior: \"auto\",\n block: \"top\",\n inline: \"top\"\n })\n );\n }\n return element;\n }\n );\n }\n } else {\n // not yet implemented\n }\n }\n\n i18n_translate():void {\n if (isBrowser) {\n if (CONFIG.get(\"use_i18n\")) {\n const component = this;\n const _componentRoot = component.componentRoot as IQCObjectsShadowedElement;\n const lang1 = CONFIG.get(\"lang\", \"en\");\n const lang2 = navigator.language.slice(0, 2);\n const i18n = _top.global.get(\"i18n\");\n if ((lang1 !== lang2) && (typeof i18n === \"object\" && Object.hasOwn(i18n, \"messages\"))) {\n const callback_i18n = () => {\n return new Promise<void>(function (resolve) {\n const messages = i18n.messages.filter(function (message: any) {\n return Object.hasOwn(message, lang1) && Object.hasOwn(message, lang2);\n });\n (_componentRoot?.subelements(\"ul,li,h1,h2,h3,a,b,p,input,textarea,summary,details,option,component\") as HTMLElement[])\n .map((element: HTMLElement): HTMLElement => {\n messages.map(function (message: { [x: string]: any; }) {\n let _innerHTML = element.innerHTML;\n _innerHTML = _innerHTML?.replace(new RegExp(`${message[lang1]}`, \"g\"), message[lang2]);\n element.innerHTML = _innerHTML;\n return null;\n });\n return element;\n });\n resolve();\n });\n };\n callback_i18n.call(component).then(function () {\n logger.debug(\"i18n loaded for component: \" + component.name);\n }).catch((e: any) => { throw new Error(`An error ocurred when parsing i18n: ${e}.`); });\n\n }\n }\n } else {\n // not yet implemented\n }\n }\n\n addComponentHelper(componentHelper: any):void {\n const component = this;\n component._componentHelpers.push(componentHelper as never);\n }\n\n runComponentHelpers():void {\n if (isBrowser) {\n const component = this;\n let __component_helpers__ = [];\n /*\n * BEGIN use i18n translation\n */\n __component_helpers__.push(component.i18n_translate.bind(component));\n /*\n * END use i18n translation\n */\n\n /*\n * BEGIN component scrollIntoHash\n */\n __component_helpers__.push(component.scrollIntoHash.bind(component));\n /*\n * END component scrollIntoHash\n */\n\n /*\n * BEGIN component images lazy-load\n */\n\n __component_helpers__.push(component.lazyLoadImages.bind(component));\n\n /*\n * END component images lazy-load\n */\n\n __component_helpers__ = __component_helpers__.concat(component._componentHelpers);\n\n __component_helpers__.map(\n (_component_helper_): any => {\n logger.debug(`Executing ${_component_helper_.name} as component helper for ${component.name}...`);\n _component_helper_();\n return _component_helper_;\n }\n );\n\n } else {\n // not yet implemented\n }\n\n }\n\n}\n\nPackage(\"com.qcobjects\", [\n Component\n]);\n\n(_methods_)(ClassFactory(\"Component\")).map((__c__): any => {\n (_protected_code_)(__c__);\n return __c__;\n});\n", "import { IQCObjectsElement, TComponentURIParams } from \"types\";\nimport { Class } from \"./Class\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { Component } from \"./Component\";\nimport { CONFIG } from \"./CONFIG\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { __getType__ } from \"./getType\";\nimport { logger } from \"./Logger\";\nimport { New } from \"./New\";\nimport { Package } from \"./Package\";\nimport { isBrowser } from \"./platform\";\nimport { _tag_filter_ } from \"./tag_filter\";\n\n/**\n * Returns a standarized uri for a component\n * @example\n * templateURI = ComponentURI({'COMPONENTS_BASE_PATH':'','COMPONENT_NAME':'','TPLEXTENSION':'','TPL_SOURCE':''})\n * @author: Jean Machuca <correojean@gmail.com>\n * @param params an object with the params to build the uri path\n */\nexport const ComponentURI = ({ TPL_SOURCE, COMPONENTS_BASE_PATH, COMPONENT_NAME, TPLEXTENSION }:TComponentURIParams):string => {\n const templateURI = (TPL_SOURCE === \"default\") ? (`${COMPONENTS_BASE_PATH}${COMPONENT_NAME}.${TPLEXTENSION}`) : (\"\");\n return templateURI;\n};\n\nexport const _buildComponentFromElement_ = (element: Element, __parent__: any):Component => {\n const __shadowed_not_set = (element.getAttribute(\"shadowed\") === null);\n const __tplsource_attr_not_set = (element.getAttribute(\"template-source\") === null);\n const shadowed = (element.getAttribute(\"shadowed\") === \"true\");\n const __cached_not_set = (element.getAttribute(\"cached\") === null);\n const cached = (element.getAttribute(\"cached\") === \"true\");\n let tplextension = (typeof CONFIG.get(\"tplextension\") !== \"undefined\") ? (CONFIG.get(\"tplextension\")) : (\"html\");\n tplextension = (element.getAttribute(\"tplextension\") !== null) ? (element.getAttribute(\"tplextension\")) : (tplextension);\n let _componentName = element.getAttribute(\"name\");\n const _componentClassName = (element.getAttribute(\"componentClass\") !== null) ? (element.getAttribute(\"componentClass\")) : (\"Component\");\n const __componentClassName = (CONFIG.get(\"preserveComponentBodyTag\")) ? (\n (_componentName !== null) ? (\"com.qcobjects.components.\" + _componentName + \".ComponentBody\") : (\"com.qcobjects.components.ComponentBody\")\n ) : (_componentClassName);\n _componentName = (_componentName !== null) ? (_componentName) : (\n (ClassFactory(__componentClassName as string) &&\n typeof (ClassFactory(__componentClassName as string) as unknown as typeof Component).name !== \"undefined\"\n ) ? (\n (ClassFactory(__componentClassName as string) as unknown as Component).name\n ) : (\"\")\n );\n const __classDefinition = ClassFactory(__componentClassName as string) as Component;\n const __tplsource_prop_set = !!((__componentClassName !== \"Component\" && ((typeof __classDefinition !== \"undefined\" && typeof __classDefinition.tplsource === \"string\") && __classDefinition.tplsource !== \"\")));\n const tplsource = (__tplsource_attr_not_set && __tplsource_prop_set) ? (__classDefinition.tplsource) : ((__tplsource_attr_not_set) ? (\"default\") : (element.getAttribute(\"template-source\")));\n logger.debug(`template source for ${_componentName} is ${tplsource} `);\n logger.debug(`type for ${_componentName} is ${__getType__(__classDefinition)} `);\n\n const componentURI: string = ComponentURI({\n \"COMPONENTS_BASE_PATH\": CONFIG.get(\"componentsBasePath\"),\n \"COMPONENT_NAME\": _componentName ,\n \"TPLEXTENSION\": tplextension,\n \"TPL_SOURCE\": tplsource as string\n });\n if (CONFIG.get(\"preserveComponentBodyTag\")) {\n Package((_componentName !== \"\") ? (\"com.qcobjects.components.\" + _componentName + \"\") : (\"com.qcobjects.components\"), [\n Class(\"ComponentBody\", Component, {\n name: _componentName,\n tplsource,\n tplextension,\n reload: true\n })\n ]);\n }\n\n const __create_component_instance_ = function ():Component {\n const __shadowed = (__shadowed_not_set) ? ((__classDefinition && __classDefinition.shadowed) || Component.shadowed) : (shadowed);\n const __definition = {\n __parent__,\n name: _componentName,\n cached: (__cached_not_set) ? (Component.cached) : (cached),\n shadowed: __shadowed,\n tplextension,\n body: (CONFIG.get(\"preserveComponentBodyTag\")) ? (_DOMCreateElement(\"componentBody\")) : (element),\n templateURI: componentURI,\n tplsource\n };\n if (typeof _componentName === \"undefined\" || _componentName === \"\" || _componentName === null) {\n /* this allows to use the original property defined\n in the component definition if it is not present in the tag */\n delete (__definition as any).name;\n }\n if (componentURI === \"\") {\n /* this allows to use the original property defined\n in the component definition if it is not present in the tag */\n delete (__definition as any).templateURI;\n }\n const newComponent = New(__classDefinition, __definition) as Component;\n\n if (CONFIG.get(\"preserveComponentBodyTag\")) {\n if (typeof newComponent !== \"undefined\") {\n element.append(newComponent.body as string | Node);\n }\n }\n return newComponent;\n };\n const newComponent = __create_component_instance_();\n return newComponent;\n};\n\nexport const _buildComponentsFromElements_ = (elements: HTMLElement[], __parent__: Component | null):Component[] => {\n let componentsBuiltWith:Component[] = [];\n if (isBrowser) {\n componentsBuiltWith = elements.map(\n function (element: any) {\n return _buildComponentFromElement_(element, __parent__);\n }\n );\n } else {\n logger.debug(\"[_buildComponentsFromElements_] not implemented for Non-Browser environments\");\n }\n return componentsBuiltWith;\n};\n\nexport const buildComponents = (element:HTMLElement):Component[] => {\n const tagFilter = _tag_filter_;\n const elements = (element as unknown as IQCObjectsElement).subelements(tagFilter) as HTMLElement[];\n return _buildComponentsFromElements_(elements, null);\n};", "import { _basePath_ } from \"./basePath\";\nimport { _Crypt } from \"./Crypt\";\nimport { _domain_ } from \"./domain\";\nimport { InheritClass } from \"./InheritClass\";\nimport { logger } from \"./Logger\";\nimport { Package } from \"./Package\";\nimport { _secretKey } from \"./secretKey\";\nimport { CONFIG } from \"./CONFIG\";\nimport { IJSONService, IService, TServiceDoneResponse, TServiceStandardResponse } from \"types\";\n\nexport class Service extends InheritClass implements IService{\n options!: object;\n withCredentials!: boolean;\n useHTTP2: any;\n // eslint-disable-next-line no-unused-vars\n mockup({ request, service }: TServiceStandardResponse): void {\n throw new Error(\"Method not implemented.\");\n }\n name!: string;\n responseHeaders: any;\n // eslint-disable-next-line no-unused-vars\n local({ request, service }: TServiceStandardResponse): void {\n throw new Error(\"Method not implemented.\");\n }\n kind = \"rest\";\n /* it can be rest, mockup, local */\n domain:string = _domain_;\n basePath:string = _basePath_;\n url = \"\";\n method = \"GET\";\n data = {};\n reload = false;\n cached = false;\n\n headers: any;\n template: unknown;\n \n // eslint-disable-next-line no-unused-vars\n done({ request, service }: TServiceDoneResponse): void {\n throw new Error(\"Method not implemented.\");\n }\n // eslint-disable-next-line no-unused-vars\n fail(...args: any[]): void {\n throw new Error(\"Method not implemented.\");\n }\n\n set(name:string, value:never):void {\n this[name] = value;\n }\n\n get(name:string, _default?:never):any {\n return this[name] as never || _default;\n }\n\n}\n\nexport class JSONService extends Service implements IJSONService{\n method = \"GET\";\n cached = false;\n headers = {\n \"Content-Type\": \"application/json\",\n \"charset\": \"utf-8\"\n };\n\n JSONresponse?:JSON = undefined;\n done(result:TServiceDoneResponse):void {\n logger.debug(\"***** RECEIVED RESPONSE:\");\n logger.debug(result.service.template as string);\n this.JSONresponse = JSON.parse(result.service.template as string);\n }\n\n\n\n}\n\nexport class ConfigService extends JSONService {\n method = \"GET\";\n cached = false;\n configFileName = \"config.json\";\n headers = {\n \"Content-Type\": \"application/json\",\n \"charset\": \"utf-8\"\n };\n\n configLoaded():Promise<void>{\n throw Error (\"Method not implemented.\");\n }\n\n JSONresponse?:JSON = undefined;\n done(result:TServiceDoneResponse):void {\n logger.debug(\"***** CONFIG LOADED:\");\n logger.debug(result.service.template as string);\n this.JSONresponse = JSON.parse(result.service.template as string);\n if (Object.hasOwn(this.JSONresponse as object, \"__encoded__\")) {\n const decodedValue:string = _Crypt.decrypt((this.JSONresponse as any)?.__encoded__, _secretKey);\n this.JSONresponse = JSON.parse(decodedValue);\n }\n const jsonResponse:any = this.JSONresponse;\n Object.keys(jsonResponse as object).map((k:string) => {\n CONFIG.set(k, (jsonResponse as never)[k]);\n return k;\n });\n this.configLoaded().catch((e:any)=>{throw new Error (`An error ocurred: ${e}`);});\n }\n\n fail():void {\n this.configLoaded().catch((e:any)=>{throw new Error (`An error ocurred: ${e}`);});\n }\n\n constructor() {\n super();\n this.set(\"url\", `${this.get(\"basePath\") as string}${this.get(\"configFileName\") as string}` as never);\n }\n}\n\n\nPackage(\"com.qcobjects.api\", [\n Service\n]);\n\nPackage(\"com.qcobjects.api.services\", [\n JSONService\n]);\n\nPackage(\"com.qcobjects.api.config\", [\n ConfigService\n]);\n", "import { IGlobalSettings } from \"types\";\nimport { CONFIG } from \"./CONFIG\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Logger, logger } from \"./Logger\";\nimport { Package } from \"./Package\";\nimport { isBrowser } from \"./platform\";\nimport { serviceLoader } from \"./serviceLoader\";\nimport { _top, buildComponentsStack, configService, setConfigService } from \"./top\";\nimport { ConfigService } from \"./Service\";\n\nexport class GlobalSettings extends InheritClass implements IGlobalSettings {\n static __start__(): Promise<any> {\n return GlobalSettings.instance.__start__();\n }\n [key: string]: any;\n\n _GLOBAL: any = {};\n private static _instance: GlobalSettings;\n static get instance(): GlobalSettings {\n if (typeof GlobalSettings._instance === \"undefined\") {\n GlobalSettings._instance = new GlobalSettings();\n }\n return GlobalSettings._instance;\n }\n\n protected _logger: Logger = new Logger();\n get logger(): Logger {\n return this._logger;\n }\n\n set logger(value: Logger) {\n this._logger = value;\n }\n\n set(name: string, value: any): void {\n this._GLOBAL[name] = value;\n }\n\n get(name: string, _default?: any): any {\n let _value: any;\n if (typeof this._GLOBAL[name] !== \"undefined\") {\n _value = this._GLOBAL[name];\n } else if (typeof _default !== \"undefined\") {\n _value = _default;\n }\n return _value;\n }\n\n __start__(): Promise<any> {\n const __load__serviceWorker = function () {\n let _promise: Promise<ServiceWorkerRegistration> | Promise<unknown>;\n if (isBrowser) {\n _promise = new Promise<ServiceWorkerRegistration>(function (resolve, reject) {\n if ((\"serviceWorker\" in navigator) &&\n (typeof CONFIG.get(\"serviceWorkerURI\") !== \"undefined\")) {\n CONFIG.set(\"serviceWorkerScope\", CONFIG.get(\"serviceWorkerScope\") ? (CONFIG.get(\"serviceWorkerScope\")) : (\"/\"));\n navigator.serviceWorker.register(CONFIG.get(\"serviceWorkerURI\"), {\n scope: CONFIG.get(\"serviceWorkerScope\")\n })\n .then(function (registration) {\n logger.debug(\"Service Worker Registered\");\n resolve.call(_promise, registration);\n }, function (registration) {\n logger.debug(\"Error registering Service Worker\");\n reject.call(_promise, registration);\n });\n navigator.serviceWorker.ready.then(function (registration) {\n logger.debug(\"Service Worker Ready\");\n resolve.call(_promise, registration);\n }, function (registration) {\n logger.debug(\"Error loading Service Worker\");\n reject.call(_promise, registration);\n });\n }\n });\n } else {\n _promise = Promise.resolve();\n }\n return _promise;\n };\n const _buildComponents = function () {\n return new Promise<void>((resolve) => {\n if (isBrowser) {\n logger.debug(\"Starting to building components\");\n try {\n buildComponentsStack();\n } catch (e: any) {\n throw Error(`Something went wrong trying to start components tree: ${e.message}`);\n }\n logger.debug(\"Initializing the service worker\");\n __load__serviceWorker.call(_top)\n .catch(function (e) {\n logger.debug(`error loading the service worker ${e}`);\n });\n }\n resolve();\n });\n };\n\n return new Promise<any>((resolve) => {\n logger.debug(\"Starting to load the config settings...\");\n if (CONFIG.get(\"useConfigService\", false)) {\n logger.debug(\"Loading settings using local configuration file...\");\n setConfigService(new ConfigService());\n configService.configLoaded = _buildComponents;\n serviceLoader(configService)\n ?.then((standardResponse: any) => {\n resolve(standardResponse);\n })\n ?.catch((e: any) => { throw new Error(`An error ocurred while trying to load ${configService.url}: ${e}`); });\n } else {\n logger.debug(\"Starting to load the components...\");\n _buildComponents.call(this)\n .then(() => {\n resolve({});\n })\n .catch((e: any) => { throw new Error(`An error ocurred while trying to build the components stack. ${e}`); });\n }\n\n });\n }\n\n}\n\nPackage(\"com.qcobjects\", [\n GlobalSettings\n]);\n", "import { IComplexStorageCache, IComponent, IConfigService, IQCObjectsElement } from \"types\";\nimport { buildComponents } from \"./ComponentFactory\";\nimport { _CastProps } from \"./Cast\";\nimport { GlobalSettings } from \"./globalSettings\";\nimport { Class } from \"./Class\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { Export } from \"./Export\";\nimport { isBrowser } from \"./platform\";\nimport { _QC_CLASSES, getPackagesNamesList, getPackagesList, getClassesList, getClassesNamesList } from \"./PrimaryCollections\";\nimport { logger } from \"./Logger\";\n\ntype QCObjects = {\n lastCache?:IComplexStorageCache,\n componentsStack:IComponent[],\n Microservice:any,\n Route:any,\n BackendMicroservice:any,\n QCObjectsElement:any,\n QCObjectsShadowedElement:any,\n Logger:any,\n Class:any, \n _Crypt:any, \n TagElements:any, \n DefaultTemplateHandler:any, \n SourceJS:any, \n SourceCSS:any, \n ArrayList:any, \n ArrayCollection:any, \n GlobalSettings:any, \n GLOBAL:any, \n DDO:any, \n CacheController:any, \n ComplexCacheParams:any, \n ComplexStorageCache:any, \n ComponentWidget:any, \n asyncLoad:any, \n RegisterClass:any, \n ComponentURI:any, \n waitUntil:any, \n super:any, \n _DOMCreateElement:any, \n shortCode:any, \n getType:any, \n is_a:any, \n _DataStringify:any, \n serviceLoader:any, \n componentLoader:any, \n ObjectName:any, \n isQCObjects_Class:any, \n isQCObjects_Object:any, \n NamespaceRef:any, \n RegisterWidget:any, \n RegisterWidgets:any, \n range:any, \n getDocumentLayout:any, \n Export:any, \n New:any, \n Tag:any, \n Ready:any, \n methods:any, \n // eslint-disable-next-line no-unused-vars\n set:(name:string, value:any) => void, \n // eslint-disable-next-line no-unused-vars\n get:(name:string, _default?:any) => any, \n start:any, \n InheritClass:any, \n Processor:any, \n ComponentParams:any, \n ComponentDoneResponse:any, \n Component:any, \n CONFIG:any, \n ControllerParams:any, \n Controller:any, \n ViewParams:any, \n View:any, \n Service:any, \n JSONService:any, \n ConfigService:any, \n VO:any, \n EffectParams:any, \n Effect:any, \n TransitionEffect:any, \n TimerParams:any, \n Timer:any, \n Toggle:any, \n logger:any, \n sdk:any, \n global:any, \n ClassFactory:any, \n Package:any, \n Import:any,\n _sdk_:any,\n ClassesList:any[], \n PackagesList:any[],\n PackagesNameList:any[],\n ClassesNameList:any[]\n} & typeof self & typeof global ;\n\nexport var _top: QCObjects = (\n (typeof module !== \"undefined\" && typeof module.exports !== \"undefined\" && module.exports) ||\n (typeof global !== \"undefined\" && global) ||\n (typeof globalThis !== \"undefined\" && globalThis) ||\n (typeof window !== \"undefined\" && window) ||\n (typeof self !== \"undefined\" && self !== null && self) ||\n this\n) as QCObjects;\n(_top as any).lastCache = undefined;\nexport let componentsStack:IComponent[] = [];\n\nexport const resetTop = ():void => {\n const globalSettings = GlobalSettings.instance;\n _top = _CastProps(globalSettings, _top, true);\n};\n\nexport const buildComponentsStack = ():void => {\n componentsStack = buildComponents(document as unknown as IQCObjectsElement);\n};\nexport let configService:IConfigService;\nexport const setConfigService = (_configService:IConfigService):void => {\n _top.global.configService = _configService;\n configService = _configService;\n};\n\nexport const set = (name:string, value:any):void => {\n _top[name as never] = value;\n};\n\nexport const get = (name:string, _defaultValue?:any):any => {\n return _top[name as never] || _defaultValue;\n};\n\nresetTop();\n\nconst _define_props = function (_top: any) {\n if (!Object.hasOwn(_top, \"PackagesList\")) {\n Object.defineProperty(_top, \"PackagesList\", {\n // eslint-disable-next-line no-unused-vars\n set:(value) => {\n logger.debug(\"PackagesList is readonly\");\n \n },\n get:():any => {\n return getPackagesList();\n }\n });\n \n }\n \n \n if (!Object.hasOwn(_top, \"PackagesNameList\")) {\n Object.defineProperty(_top, \"PackagesNameList\", {\n // eslint-disable-next-line no-unused-vars\n set:(val) => {\n logger.debug(\"PackagesNameList is readonly\");\n\n },\n get:():any =>{\n return getPackagesNamesList();\n }\n });\n\n }\n\n if (!Object.hasOwn(_top, \"ClassesList\")) {\n Object.defineProperty(_top, \"ClassesList\", {\n // eslint-disable-next-line no-unused-vars\n set:(value) => {\n logger.debug(\"ClassesList is readonly\");\n\n },\n get:(): any => {\n return getClassesList();\n }\n });\n }\n\n if (!Object.hasOwn(_top, \"ClassesNameList\")) {\n Object.defineProperty(_top, \"ClassesNameList\", {\n // eslint-disable-next-line no-unused-vars\n set(value):any {\n logger.debug(\"ClassesNameList is readonly\");\n\n },\n get:(): any => {\n return getClassesNamesList();\n }\n });\n\n }\n\n\n };\n\n\n if (isBrowser) {\n // use of GLOBAL word is deprecated in node.js\n // this is only for compatibility purpose with old versions of QCObjects in browsers\n Class(\"GLOBAL\", (_QC_CLASSES as any).global); // case insensitive for compatibility con old versions;\n Export(ClassFactory(\"GLOBAL\"));\n }\n\n if (isBrowser && typeof window !== \"undefined\") {\n set(\"global\", window);\n } else if (isBrowser && typeof globalThis !== \"undefined\") {\n set(\"global\", globalThis);\n }\n\n _define_props(_top);\n", "import { logger } from \"./Logger\";\nimport { isBrowser } from \"./platform\";\n\nexport let supportsPassive = false;\nexport const captureFalseTouch = ():boolean | { passive: boolean; } => {\n return (supportsPassive) ? ({\n passive: true\n }) : (false);\n};\n\n// Test via a getter in the options object to see if the passive property is accessed\nif (isBrowser) {\n try {\n const opts = Object.defineProperty({}, \"passive\", {\n get() {\n supportsPassive = true;\n return supportsPassive;\n }\n });\n (window as any).addEventListener(\"testPassive\", null, opts);\n (window as any).removeEventListener(\"testPassive\", null, opts);\n } catch (e:any) {\n logger.debug(`An error ocurred: ${e}.`);\n supportsPassive = false;\n }\n\n} else {\n supportsPassive = false;\n}", "import { _protected_code_ } from \"./introspection\";\n\nexport const range = (start: number, stop = 0, step = 1): number[] => {\n if (stop === 0 || typeof stop === \"undefined\") {\n stop = start;\n start = 0;\n }\n return Array.from({\n length: (stop - start) / step + 1\n }, function (_, i) {\n return start + (i * step);\n });\n};\n(_protected_code_)(range);\n\n", "import { logger } from \"./Logger\";\nimport { GlobalProcessor as Processor } from \"./Processor\";\nimport { _top } from \"./top\";\nimport { range } from \"./range\";\nimport { IComponent } from \"types\";\n\n// Set Processors\nexport const setDefaultProcessors = ():void => {\n (function (_top):void {\n\n const mapper = (componentInstance:IComponent, componentName:string, valueName:string):string => {\n /*\n * Mapper processor\n * @usage\n * $mapper(<componentName>,<valueName>)\n *\n * Where componentName is the name of the component (same value as in attribute tag name) without quotes\n * and valueName is the name of the variable that contains the value to map, it can be either a property of\n * the component instance, the data object or a global value\n */\n \n if (typeof componentInstance === \"undefined\" || componentInstance === null) {\n throw Error(`mapper.${componentName}.${valueName} does not have a component instance or it is null.`);\n }\n const globalValue = _top.global.get(valueName);\n const componentValue = componentInstance.get(valueName);\n const dataValue = componentInstance.data[valueName];\n const list = (typeof dataValue !== \"undefined\") ? (dataValue) : ((typeof componentValue !== \"undefined\") ? (componentValue) : (globalValue));\n let listItems = \"\";\n if (typeof list !== \"undefined\" && typeof list.map !== \"undefined\") {\n listItems = list.map(function (element:HTMLElement) {\n const dataItems = [...Object.keys(element)].map(k => ` data-${k}=\"${(typeof (element as any)[k] !== \"undefined\" && (element as any)[k] !== null) ? ((element as any)[k].toString()) : (\"\")}\"`).join(\"\");\n return `<quick-component name=\"${componentName}\" ${dataItems} ></quick-component>`;\n }).join(\"\");\n } else {\n logger.debug(`${componentName}.${valueName} does not have a map property`);\n }\n return listItems;\n };\n Processor.setProcessor(mapper);\n \n const layout = function (componentInstance:IComponent, layoutname:string, cssfile:string):string {\n /*\n * Layout processor\n * @usage\n * $layout(<layoutname>, <cssfile>)\n * Where layoutname can be \"portrait\" or \"landscape\" without quotes\n * cssfile is the uri for the css file to import\n */\n \n const layout_portrait = `\n /* CSS Document for Mobile Imports */\n @import url(\"${cssfile}\") (orientation:portrait);\n @import url(\"${cssfile}\") (max-width:460px);\n @import url(\"${cssfile}\") (aspect-ratio: 9/16);\n @import url(\"${cssfile}\") (aspect-ratio: 10/16);\n @import url(\"${cssfile}\") (aspect-ratio: 5/8);\n @import url(\"${cssfile}\") (aspect-ratio: 3/4);\n @import url(\"${cssfile}\") (aspect-ratio: 2/3);\n `;\n const layout_landscape = `\n @import url(\"${cssfile}\") (orientation:landscape) and (min-width:460px);\n @import url(\"${cssfile}\") (aspect-ratio: 16/9) and (min-width:460px);\n @import url(\"${cssfile}\") (aspect-ratio: 16/10) and (min-width:460px);\n @import url(\"${cssfile}\") (aspect-ratio: 8/5) and (min-width:460px);\n @import url(\"${cssfile}\") (aspect-ratio: 4/3) and (min-width:460px);\n @import url(\"${cssfile}\") (aspect-ratio: 3/2) and (min-width:460px);\n `;\n const layout_code = {\n \"landscape\": layout_landscape,\n \"portrait\": layout_portrait\n };\n \n return (Object.hasOwn(layout_code, layoutname)) ? ((layout_code as any)[layoutname] as string) : (\"\");\n };\n \n Processor.setProcessor(layout);\n \n const component = (componentInstance:IComponent ,name:string, componentClass:string, ...args:string[]):string => {\n /*\n * component processor\n * @usage\n * $component(name=<name>, componentClass=<componentClass>, ...)\n * Returns a component tag declaration like:\n * <component name=<name> ...></component>\n */\n const arg = [...args].map(function (a) {\n return {\n [a.split(\"=\")[0]]: a.split(\"=\")[1]\n };\n }).reduce(function (k1, k2) {\n return Object.assign(k1, k2);\n });\n const attrs = [...Object.keys(arg)].map(function (a) {\n return `${a}=${arg[a as any]}`;\n }).join(\" \");\n return `<component name=\"${name}\" componentClass=\"${componentClass}\" ${attrs}></component>`;\n };\n \n Processor.setProcessor(component);\n \n const quick_component = (componentInstance: IComponent,name:string, componentClass:string, ...args:string[]):string => {\n /*\n * component processor\n * @usage\n * $quick_component(name=<name>, componentClass=<componentClass>, ...)\n * Returns a component tag declaration like:\n * <quick-component name=<name> ...></quick-component>\n */\n const arg = [...args].map(function (a) {\n return {\n [a.split(\"=\")[0]]: a.split(\"=\")[1]\n };\n }).reduce(function (k1, k2) {\n return Object.assign(k1, k2);\n });\n const attrs = [...Object.keys(arg)].map(function (a) {\n return `${a}=${arg[a as any]}`;\n }).join(\" \");\n return `<quick-component name=\"${name}\" componentClass=\"${componentClass}\" ${attrs}></quick-component>`;\n };\n \n Processor.setProcessor(quick_component);\n \n \n const repeat = (componentInstance:IComponent, length:number, text:string):string => {\n /*\n * Repeat processor\n * @usage\n * $repeat(<length>, <text>)\n * Where length is the number of occurrences of text\n */\n return range(length).map(\n function (index) {\n return text.replace(\"{{index}}\", index.toString());\n }\n ).join(\"\");\n };\n \n Processor.setProcessor(repeat);\n \n })(_top);\n \n};\n\n", "import { CONFIG } from \"./CONFIG\";\nimport { Export } from \"./Export\";\nimport { logger } from \"./Logger\";\nimport { isBrowser } from \"./platform\";\nimport fs from \"node:fs\";\n\nexport const findPackageNodePath = function (packagename:string):string|null {\n let sdkPath = null;\n if (!isBrowser) {\n try {\n let sdkPaths = [\n `${CONFIG.get(\"projectPath\")}${CONFIG.get(\"relativeImportPath\")}`,\n `${CONFIG.get(\"basePath\")}${CONFIG.get(\"relativeImportPath\")}`,\n `${CONFIG.get(\"projectPath\")}`,\n `${CONFIG.get(\"basePath\")}`,\n `${CONFIG.get(\"relativeImportPath\")}`,\n `${process.cwd()}${CONFIG.get(\"relativeImportPath\")}`,\n `${process.cwd()}/node_modules/` + packagename,\n `${process.cwd()}/node_modules`,\n `${process.cwd()}`,\n \"node_modules\",\n \"./\",\n \"\"\n ].concat(module.paths);\n sdkPaths = sdkPaths.filter(p => {\n return (fs).existsSync(p + \"/\" + packagename);\n });\n if (sdkPaths.length > 0) {\n sdkPath = sdkPaths[0];\n logger.info(packagename + \" is Installed.\");\n } else {\n sdkPath = \"\";\n logger.info(`${packagename} is not in a standard path.`);\n }\n } catch (e) {\n // do nothing\n console.log(e);\n }\n\n }\n return sdkPath;\n};\nExport(findPackageNodePath);\n", "import { _basePath_ } from \"./basePath\";\nimport { CONFIG } from \"./CONFIG\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { findPackageNodePath } from \"./findPackageNodePath\";\nimport { logger } from \"./Logger\";\nimport { _require_, isBrowser } from \"./platform\";\nimport { _QC_PACKAGES, _QC_PACKAGES_IMPORTED, _QC_READY_LISTENERS } from \"./PrimaryCollections\";\n\n/**\n * Imports a script with the package nomenclature\n *\n * @param {Object} packagename\n * @param {Object} ready\n * @param {Boolean} external\n */\nexport const Import = function (packagename:string, ready?:Function, external?:boolean):Promise<{_imported_?:any, _package_name_?:string}> | undefined {\n\n if (external !== undefined){\n logger.debug(`[Import] Setting external=${external.toString()} resource to import: ${packagename}`);\n } \n if (external) {\n logger.debug(`[Import] Registering external resource to import: ${packagename}`);\n } else {\n logger.debug(`[Import] Registering local resource to import: ${packagename}`);\n }\n let _promise_import_: Promise<any>;\n if (isBrowser) {\n _promise_import_ = new Promise(function (resolve, reject) {\n\n const allPackagesImported = function () {\n let ret = false;\n let cp = 0;\n // eslint-disable-next-line no-unused-vars\n for (const p in _QC_PACKAGES) {\n cp++;\n }\n if (cp < _QC_PACKAGES_IMPORTED.length) {\n ret = false;\n } else {\n ret = true;\n }\n return ret;\n };\n\n const readyImported = function (e: { target: { remove: () => void; }; }) {\n _QC_PACKAGES_IMPORTED.push(ready as never);\n if (allPackagesImported()) {\n _QC_PACKAGES_IMPORTED.map( (_imported_) => {\n return _QC_READY_LISTENERS.push(_imported_);\n });\n }\n if (isBrowser && CONFIG.get(\"removePackageScriptAfterLoading\")) {\n e.target.remove();\n }\n resolve.call(_promise_import_, {\n \"_imported_\": e.target,\n \"_package_name_\": packagename\n });\n };\n\n if (!Object.hasOwn(_QC_PACKAGES, packagename)) {\n const s1:HTMLScriptElement = _DOMCreateElement(\"script\") as unknown as HTMLScriptElement;\n s1.type = CONFIG.get(\"sourceType\", \"text/javascript\");\n s1.async = !!(CONFIG.get(\"asynchronousImportsLoad\"));\n (s1 as any).onreadystatechange = function () {\n if ((s1 as any).readyState === \"complete\") {\n readyImported(s1 as any);\n }\n };\n (s1 as any).onload = readyImported;\n s1.onerror = function (e: any) {\n logger.debug(`An error ocurred: ${e}.`);\n reject.call(_promise_import_, {\n \"_imported_\": s1,\n \"_package_name_\": packagename\n });\n };\n s1.src = (external) ? (CONFIG.get(\"remoteImportsPath\") + packagename + \".js\") : (_basePath_ + CONFIG.get(\"relativeImportPath\") + packagename + \".js\");\n document.getElementsByTagName(\"head\")[0].appendChild(s1);\n }\n });\n _promise_import_.catch(function () {\n logger.debug(\"Import: Error loading a package \");\n });\n\n } else {\n // support to be used in a nodejs environment\n _promise_import_ = new Promise(function (resolve, reject) {\n try {\n const standardNodePath = findPackageNodePath(packagename);\n let packageAbsoluteName = \"\";\n if (standardNodePath !== null) {\n packageAbsoluteName = standardNodePath + \"/\" + packagename;\n } else {\n const jsNodePath = findPackageNodePath(packagename + \".js\");\n if (jsNodePath !== null) {\n packageAbsoluteName = jsNodePath + \"/\" + packagename + \".js\";\n } else {\n packageAbsoluteName = _basePath_ + CONFIG.get(\"relativeImportPath\") + packagename;\n }\n }\n try {\n resolve.call(_promise_import_, {\n \"_imported_\": _require_(`${packageAbsoluteName}`),\n \"_package_name_\": packagename\n });\n } catch (e) {\n reject.call(_promise_import_, {\n \"_imported_\": null,\n \"_package_name_\": packagename,\n \"error\": e\n });\n }\n } catch (e) {\n reject.call(_promise_import_, {\n \"_imported_\": null,\n \"_package_name_\": packagename,\n \"error\": e\n });\n }\n }).catch(function (e) {\n // something wrong importing a package\n logger.debug(\"Something happened when importing \" + packagename);\n console.warn(e);\n });\n }\n _promise_import_.catch(function (e) {\n logger.warn(_DataStringify(e));\n });\n return _promise_import_;\n};\nImport.prototype.toString = function () {\n return \"Import(packagename,ready,external) { [QCObjects native code] }\";\n};\n", "export const __to_number = function (value:any): number {\n return ((isNaN(value)) ? (new Number(0) as number) : (new Number(value) as number));\n};", "import { isQCObjects_Class } from \"./isQCObjects\";\nimport { Package } from \"./Package\";\n\n/**\n * Declare Namespace\n *\n * @param {String} packageName\n * @param {Object} package\n */\nexport const NamespaceRef = function (namespace:string):any {\n const packageInstance = Package(namespace) || [];\n const classes = packageInstance.filter((c:any) => isQCObjects_Class(c)).map((c:any) => {\n return {\n [c.__definition.__classType]: c\n };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n }).reduce((a:any, b:any):any => {return Object.assign(a, b);});\n return namespace.split(\".\").map(c => {\n return {\n [c]: classes\n };\n }).reverse().reduce((a, b) => {\n b[Object.keys(b).join(\".\")] = a;\n return b;\n });\n};\n", "import { CONFIG } from \"./CONFIG\";\nimport { isBrowser } from \"./platform\";\nimport { _QC_READY_LISTENERS } from \"./PrimaryCollections\";\nimport { _top } from \"./top\";\n\n/**\n * Defines a Custom Ready listener\n */\nexport const Ready = (e:any):void => {\n if (isBrowser) {\n _QC_READY_LISTENERS.push(e.bind(window) as never);\n } else if (typeof global !== \"undefined\") {\n _QC_READY_LISTENERS.push(e.bind(global) as never);\n }\n};\n\nexport const ready:Function = Ready; // case insensitive ready option\n\n/**\n * Default Ready event function for window. Executes all micro ready events of Import calls\n *\n * @param {Object} e\n */\n// eslint-disable-next-line no-unused-vars\nexport const _Ready = (e:any):void => {\n const _execReady = ():void => {\n // eslint-disable-next-line array-callback-return\n _QC_READY_LISTENERS.map(function (_ready_listener_, _r):any {\n if (typeof _ready_listener_ === \"function\") {\n (_ready_listener_ as Function)();\n _QC_READY_LISTENERS.splice(_r, 1);\n }\n });\n };\n if (CONFIG.get(\"delayForReady\") > 0) {\n if (isBrowser) {\n setTimeout(_execReady.bind(window), CONFIG.get(\"delayForReady\"));\n } else if (typeof global !== \"undefined\") {\n setTimeout(_execReady.bind(global), CONFIG.get(\"delayForReady\"));\n }\n } else {\n _execReady.call(_top);\n }\n};\n", "import { IArrayCollection, IArrayList } from \"types\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { logger } from \"./Logger\";\nimport { New } from \"./New\";\nimport { __to_number } from \"./mathFunctions\";\n\n\nexport class ArrayList extends Array implements IArrayList {\n prototype: any;\n\n unique ():any[] {\n return this.filter(function (value:any, index:any, self:any) {\n return self.indexOf(value) === index;\n });\n };\n\n table(): void {\n console.table(this);\n };\n sum(): number {\n return this.reduce( (prev:any, current:any):number => {\n return (__to_number(prev)) + (__to_number(current));\n }, 0) as number;\n }\n avg(): number {\n return (this.length < 1) ? (0) : (this.reduce( (prev:any, current:any):number => {\n return (((__to_number(prev)) + (__to_number(current))) / 2);\n })) as number;\n }\n min(): number {\n return this.reduce( (prev:any, current:any):number => {\n return (__to_number(prev) <= __to_number(current)) ? (prev) : (current);\n }, Infinity) as number;\n }\n max(): number {\n return this.reduce( (prev:any, current:any):number => {\n return (__to_number(prev) >= __to_number(current)) ? (prev) : (current);\n }, 0) as number;\n }\n sortBy(propName: string, sortAsc?: boolean): any[] {\n const sort_function = (sortAsc) ? (\n function (prev:any, current:any) {\n return current[propName] < prev[propName] ? 1 : -1;\n }\n ) : (\n function (prev:any, current:any) {\n return current[propName] > prev[propName] ? 1 : -1;\n }\n );\n return this.sort(sort_function);\n }\n matrix(length: number, fillValue?: number): any[] {\n const x_func = () => {\n return fillValue;\n };\n return Array.from({\n length: length\n }, x_func);\n }\n matrix2d(length: number, fillValue?: number): any[][] {\n const y_func = function () {\n return fillValue;\n };\n const x_func = function () {\n return Array.from({\n length\n }, y_func);\n };\n return Array.from({\n length\n }, x_func);\n }\n matrix3d(length: number, fillValue?: number): any[][][] {\n const y_func = function () {\n return Array.from({\n length\n }, function () {\n return fillValue;\n });\n };\n const x_func = function () {\n return Array.from({\n length\n }, y_func);\n };\n return Array.from({\n length\n }, x_func);\n }\n\n\n}\n\nexport class ArrayCollection implements IArrayCollection {\n source :ArrayList = New(ArrayList, []);\n changed(prop: string, value: any):void {\n logger.debug(\"VALUE CHANGED\");\n logger.debug(prop);\n logger.debug(value);\n }\n push(value: any):number {\n const self = this;\n logger.debug(\"VALUE ADDED\");\n logger.debug(value);\n return self.source.push(value);\n }\n pop():any {\n const self = this;\n logger.debug(\"VALUE POPPED\");\n return self.source.pop();\n }\n _new_(source: ArrayList):void {\n const self = this;\n let _index = 0;\n self.source = New(ClassFactory(\"ArrayList\"), source);\n for (const _k in self.source) {\n if (!isNaN(_k as any)) {\n logger.debug(\"binding \" + _k.toString());\n (function (_pname:any) {\n Object.defineProperty(self, _pname, {\n set(value) {\n logger.debug(\"setting \" + _pname + \"=\" + value);\n self.source[_pname] = value;\n self.changed(_pname, value);\n },\n get():unknown {\n return self.source[_pname];\n }\n });\n })(_k);\n _index++;\n }\n\n }\n self.source.length = _index;\n Object.defineProperty(self, \"length\", {\n get() {\n return self.source.length;\n }\n });\n }\n}\n\n", "import { IQCObjectsElement, ITagElements } from \"types\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { New } from \"./New\";\nimport { Package } from \"./Package\";\nimport { isBrowser } from \"./platform\";\nimport { Effect } from \"./Effect\";\nimport { ArrayList } from \"./ArrayCollection\";\n\nexport class TagElements extends ArrayList implements ITagElements {\n show():void {\n this.map(function (element:any) {\n return element.style.opacity = 1;\n });\n }\n hide():void {\n this.map(function (element:any) {\n return element.style.opacity = 0;\n });\n }\n effect<T>(...args:T[]):void {\n const effectArguments = [...args].slice(1);\n const effectClassName = args[0] as string;\n let effectClass = undefined;\n if ((typeof effectClassName).toLowerCase() === \"string\") {\n effectClass = ClassFactory(effectClassName);\n }\n this.map(function <T>(element:any):T {\n return ((effectClass as Effect).apply as Function).apply(effectClass, [element].concat(effectArguments)) as T;\n });\n }\n findElements(elementName:any):any {\n const _o = New(ClassFactory(\"TagElements\"));\n if (isBrowser) {\n for (const _k in this) {\n if (typeof _k === \"number\" && typeof this[_k] !== \"function\" && Object.hasOwn(this[_k], \"subelements\")) {\n _o.push(this[_k].subelements(elementName));\n }\n }\n } else {\n // not yet implemented.\n }\n return _o;\n }\n }\n\n /**\n * Gets the element of DOM found by tag name\n *\n * @param {Object} tagname\n * @param {Object} innerHTML\n */\n export const Tag = function <T>(tagname:string, innerHTML?:string): T[] {\n const _o = New(TagElements);\n if (isBrowser) {\n const o = (document as unknown as IQCObjectsElement).subelements(tagname);\n const addedKeys = [];\n for (let _i = 0; _i < o.length; _i++) {\n if (typeof innerHTML !== \"undefined\" && Object.hasOwn(o[_i], \"innerHTML\")) {\n o[_i].innerHTML = innerHTML;\n }\n if (addedKeys.indexOf(_i) < 0) {\n _o.push(o[_i]);\n addedKeys.push(_i);\n }\n }\n } else {\n // not yet implemented.\n }\n return _o as T[];\n };\n\n\n Package(\"com.qcobjects\",[\n TagElements,\n Tag\n ]);", "import { _Crypt } from \"./Crypt\";\n\nexport const shortCode = (): string => {\n const length = 1000;\n const code1 = _Crypt.encrypt((Math.random() * length).toString().replace(\".\", \"\"), (new Date()).getTime().toString());\n const code2 = _Crypt.encrypt((Math.random() * length).toString().replace(\".\", \"\"), (new Date((new Date()).getTime() - 1000 * 1000)).getTime().toString());\n const shortCode = [...code2].map((o1: any, index: any): any => {\n return [...code1][index] === o1 ? null : o1;\n }).filter((c: any) => c !== null).join(\"\");\n return shortCode;\n};\n", "import { ClassFactory } from \"./ClassFactory\";\n\n/**\n * Returns a method from a superior QCObjects Class\n * It is useful for Class Inheritance in the _new_ and __new__ method constructors\n * @example _super_('MySuperClass','MySuperMethod').call(this,params) #where this is the current instance and params are method parameters\n *\n * @param {String} className\n * @param {String} classMethodName\n * @param {Object} params\n */\nexport const _super_ = function <T>(className: string, classMethodName: string):T {\n return (ClassFactory(className))[classMethodName] as T;\n};\n_super_.prototype.toString = function () {\n return \"_super_(className,classMethodName,params) { [QCObjects native code] }\";\n};\n", "import { logger } from \"./Logger\";\n\nexport const waitUntil = (func:()=>void, exp:()=>any):void => {\n const _waitUntil = (func:()=>void, exp:()=>any):void => {\n const maxWaitCycles = 2000;\n let _w = 0;\n var _t = setInterval(function () {\n if (exp()) {\n clearInterval(_t);\n func();\n logger.debug(\"Ejecuting \" + func.name + \" after wait\");\n } else {\n if (_w < maxWaitCycles) {\n _w += 1;\n logger.debug(\"WAIT UNTIL \" + func.name + \" is true, \" + _w.toString() + \" cycles\");\n } else {\n logger.debug(\"Max execution time for \" + func.name + \" expression until true\");\n clearInterval(_t);\n }\n }\n }, 1);\n };\n setTimeout(function () {\n _waitUntil(func, exp);\n }, 1);\n };\n", "export const subelements = function subelements<T>(this: any, query: string): T[] {\n const _self = this;\n return [..._self.querySelectorAll(query)] as T[];\n};", "import { CONFIG } from \"./CONFIG\";\nimport { findPackageNodePath } from \"./findPackageNodePath\";\nimport { Import } from \"./Import\";\nimport { logger } from \"./Logger\";\nimport { _require_, isBrowser, isNodeCommonJS } from \"./platform\";\n\nconst loadSDK = ():void => {\n if (CONFIG.get(\"useSDK\")) {\n (function () {\n const remoteImportsPath = CONFIG.get(\"remoteImportsPath\");\n const external = (!CONFIG.get(\"useLocalSDK\"));\n CONFIG.set(\"remoteImportsPath\", CONFIG.get(\"remoteSDKPath\"));\n\n let tryImportingSDK = false;\n let sdkName = \"QCObjects-SDK\";\n if (isBrowser) {\n tryImportingSDK = true;\n } else {\n const sdkPath = findPackageNodePath(\"qcobjects-sdk\");\n if (sdkPath !== null) {\n sdkName = \"qcobjects-sdk\";\n tryImportingSDK = true;\n } else if (sdkPath !== \"\"){\n sdkName = \"node_modules/qcobjects-sdk/QCObjects-SDK\";\n tryImportingSDK = true;\n } else {\n tryImportingSDK = false;\n }\n }\n\n if (tryImportingSDK) {\n logger.info(\"Importing SDK... \" + sdkName);\n if (isNodeCommonJS && typeof require !== \"undefined\") {\n const sdk = _require_(\"qcobjects-sdk\");\n if (sdk) {\n logger.debug(\"QCObjects SDK was loaded OK.\");\n } else {\n logger.debug(\"QCObjects SDK could not be imported.\");\n }\n } else {\n Import(sdkName, function () {\n if (external) {\n logger.debug(\"QCObjects-SDK.js loaded from remote location\");\n } else {\n logger.debug(\"QCObjects-SDK.js loaded from local\");\n }\n CONFIG.set(\"remoteImportsPath\", remoteImportsPath);\n }, external)\n ?.catch((e: any) => { throw new Error(`An error ocurred when trying to import: ${e}`); });\n }\n } else {\n logger.debug(\"SDK has not been imported as it is not available at the moment\");\n }\n })();\n }\n\n};\n\nexport default loadSDK;\n", "import { IQCObjectsElement, IQCObjectsShadowedElement } from \"types\";\nimport { _top } from \"./top\";\nimport { _fireAsyncLoad, asyncLoad } from \"./asyncLoad\";\nimport { captureFalseTouch } from \"./captureFalseTouch\";\nimport { _Cast } from \"./Cast\";\nimport { Class } from \"./Class\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { Component } from \"./Component\";\nimport { ComponentURI } from \"./ComponentFactory\";\nimport { componentLoader } from \"./componentLoader\";\nimport { CONFIG } from \"./CONFIG\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { setDefaultProcessors } from \"./defaultProcessors\";\nimport { Export } from \"./Export\";\nimport { Import } from \"./Import\";\nimport { _methods_, _protected_code_ } from \"./introspection\";\nimport { isQCObjects_Class, isQCObjects_Object } from \"./isQCObjects\";\nimport { logger } from \"./Logger\";\nimport { __to_number } from \"./mathFunctions\";\nimport { NamespaceRef } from \"./NamespaceRef\";\nimport { New } from \"./New\";\nimport { ObjectName } from \"./ObjectName\";\nimport { Package } from \"./Package\";\nimport { is_phonegap, isBrowser } from \"./platform\";\nimport { _Ready, ready, Ready } from \"./Ready\";\nimport { serviceLoader } from \"./serviceLoader\";\nimport { Tag } from \"./Tag\";\nimport { Processor } from \"./Processor\";\nimport { is_a } from \"./is_a\";\nimport { __getType__ } from \"./getType\";\nimport { shortCode } from \"./shortCode\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { ComplexStorageCache } from \"./ComplexStorageCache\";\nimport { _super_ } from \"./super\";\nimport { waitUntil } from \"./waitUntil\";\nimport { subelements } from \"./subelements\";\nimport { GlobalSettings } from \"./globalSettings\";\nimport loadSDK from \"./loadSDK\";\nimport { range } from \"./range\";\n\n(function __qcobjects__(_top: any) {\n if (typeof Object.defineProperty !== \"undefined\" && typeof _top !== \"undefined\") {\n try {\n Object.defineProperty(_top, \"__qcobjects__\", {\n enumerable: true,\n configurable: false,\n writable: false,\n value: __qcobjects__,\n });\n } catch (e: any) {\n logger.debug(`An error ocurred: ${e}`);\n if (typeof _top.__qcobjects__ !== \"undefined\") {\n _top.__qcobjects__.loaded = true;\n }\n }\n }\n if (typeof _top.__qcobjects__.loaded === \"undefined\") {\n _top.__qcobjects__.loaded = true;\n\n if (isBrowser) {\n (Element as unknown as IQCObjectsElement).prototype.subelements = subelements;\n (Document as unknown as IQCObjectsElement).prototype.subelements = subelements;\n (HTMLElement as unknown as IQCObjectsElement).prototype.subelements = subelements;\n if (typeof ShadowRoot !== \"undefined\") {\n (ShadowRoot as unknown as IQCObjectsShadowedElement).prototype.subelements = subelements;\n }\n }\n\n\n logger.debugEnabled = false;\n logger.infoEnabled = true;\n\n /**\n * Basic Type of all elements\n */\n if (isBrowser) {\n (Element as unknown as IQCObjectsElement).prototype.find = function (tag: string): IQCObjectsElement[] {\n const _self = this;\n const _oo: IQCObjectsElement[] = [];\n const _tags = (document as unknown as IQCObjectsElement).subelements(tag);\n _tags.map((_tt, _t) => {\n if ((typeof _tags[_t] !== \"undefined\") && (_tags[_t].parentNode as Element).tagName === _self.parentNode.tagName) {\n _oo.push(_Cast(_tt, (new Object())));\n }\n return _tt;\n });\n return _oo;\n };\n }\n\n if (isBrowser) {\n Element.prototype.append = function QC_Append(child) {\n if (isQCObjects_Object(child) || typeof (child as any).body !== \"undefined\") {\n this.appendChild((child as any).body);\n } else {\n this.appendChild(child as any);\n }\n };\n\n /**\n * A replacement for direct using of innerHTML\n * use: [element].render('content') where 'content' is the string corresponding\n * to the DOM to insert in the element\n **/\n (Element as unknown as IQCObjectsElement).prototype.render = function QC_Render(content: string) {\n const _self = this;\n const _appendVDOM = (_self: any, content: string): any => {\n if (typeof document.implementation.createHTMLDocument !== \"undefined\") {\n const doc = document.implementation.createHTMLDocument(\"\");\n doc.body.innerHTML = content;\n (doc.body as unknown as IQCObjectsElement).subelements(\"*\").map((element): any => {\n return _self.append(element);\n });\n }\n };\n if (typeof this.innerHTML !== \"undefined\") {\n try {\n this.innerHTML += content;\n } catch (e: any) {\n logger.debug(`An error ocurred: ${e}`);\n _appendVDOM(_self, content);\n }\n } else {\n _appendVDOM(_self, content);\n }\n };\n }\n\n\n\n Export(waitUntil);\n Export(_super_);\n Export(ComplexStorageCache);\n Export(ClassFactory);\n Export(_DOMCreateElement);\n Export(shortCode);\n Export(__getType__);\n Export(is_a);\n Package(\"com.qcobjects\", [Processor]);\n\n\n\n\n if (isBrowser) {\n /**\n * Adds a Cast functionality to every Element of DOM\n */\n (Element as unknown as IQCObjectsElement).prototype.Cast = function QC_Cast<T>(_o: T): T {\n const _self: any = this;\n return _Cast(_self, _o) as T;\n };\n }\n\n\n\n if (isBrowser) {\n window.onload = _Ready;\n if (is_phonegap) {\n document.addEventListener(\"deviceready\", _Ready, captureFalseTouch as any);\n }\n } else {\n global.onload = _Ready;\n }\n\n if (isBrowser) {\n window.addEventListener(\"popstate\", function (popStateEvent) {\n popStateEvent.stopImmediatePropagation();\n popStateEvent.stopPropagation();\n Component.route()\n .catch((e: any) => { throw new Error(`An error ocurred when trying to load initial routes. ${e}`); });\n });\n }\n\n\n\n Export(serviceLoader);\n Export(componentLoader);\n Export(ComponentURI);\n Export(ObjectName);\n Export(_DataStringify);\n Export(isQCObjects_Class);\n Export(isQCObjects_Object);\n Export(NamespaceRef);\n\n /**\n * Array math functions\n */\n // eslint-disable-next-line no-unused-vars\n (Array as any).prototype.unique = function <T>(this: T[]): T[] {\n return this.filter(function (value: any, index: any, self: any) {\n return self.indexOf(value) === index;\n });\n };\n (Array as any).unique = function <T>(a: Array<T>): T[] {\n return (a as any).unique() as T[];\n };\n (_protected_code_)((Array as any).unique);\n (_protected_code_)((Array as any).prototype.unique);\n (Array as any).prototype.table = function (): void {\n console.table(this);\n };\n (Array as any).table = function (a: any): void {\n a.table();\n return;\n };\n (_protected_code_)((Array as any).table);\n (_protected_code_)((Array as any).prototype.table);\n (Array as any).prototype.sum = function (): number {\n return this.reduce(function (prev: any, current: any) {\n return (__to_number(prev)) + (__to_number(current));\n }, 0) as number;\n };\n (Array as any).sum = function (a: any): number {\n return a.sum() as number;\n };\n (_protected_code_)((Array as any).sum);\n (_protected_code_)((Array as any).prototype.sum);\n (Array as any).prototype.avg = function (): number {\n return (this.length < 1) ? (0) : (this.reduce(function (prev: any, current: any) {\n return (((__to_number(prev)) + (__to_number(current))) / 2);\n })) as number;\n };\n (Array as any).avg = function (a: any): number {\n return a.avg() as number;\n };\n (_protected_code_)((Array as any).avg);\n (_protected_code_)((Array as any).prototype.avg);\n (Array as any).prototype.min = function (): number {\n return this.reduce(function (prev: number, current: number) {\n return (__to_number(prev) <= __to_number(current)) ? (prev) : (current);\n }, Infinity) as number;\n };\n (Array as any).min = function (a: any): number {\n return a.min() as number;\n };\n (_protected_code_)((Array as any).min);\n (_protected_code_)((Array as any).prototype.min);\n (Array as any).prototype.max = function (): number {\n return this.reduce(function (prev: number, current: number) {\n return (__to_number(prev) >= __to_number(current)) ? (prev) : (current);\n }, 0) as number;\n };\n (Array as any).max = function (a: any): number {\n return a.max() as number;\n };\n (_protected_code_)((Array as any).max);\n (_protected_code_)((Array as any).prototype.max);\n (Array as any).prototype.sortBy = function (propName: string, sortAsc = true): Array<any>[] {\n const sort_function = (sortAsc) ? (\n function (prev: any, current: any) {\n return current[propName] < prev[propName] ? 1 : -1;\n }\n ) : (\n function (prev: any, current: any) {\n return current[propName] > prev[propName] ? 1 : -1;\n }\n );\n return this.sort(sort_function) as Array<any>[];\n };\n (Array as any).sortBy = function (a: any, propName: string, sortAsc = true): Array<any>[] {\n return a.sortBy(propName, sortAsc) as Array<any>[];\n };\n (_protected_code_)((Array as any).sortBy);\n (_protected_code_)((Array as any).prototype.sortBy);\n\n /**\n * Extends the Array prototype to include a method that creates a matrix (2D array)\n * with specified dimensions and fill value.\n *\n * @param {number} _length - The number of rows in the matrix.\n * @param {any} [_fillValue=0] - The value to fill the matrix with (default is 0).\n * @returns {Array<Array<any>>} A 2D array (matrix) filled with the specified value.\n *\n * @example\n * // Create a 3x3 matrix filled with zeros\n * const matrix = [].matrix(3);\n * console.log(matrix);\n * // Output: [0, 0, 0]\n *\n * @example\n * // Create a 2x4 matrix filled with a specific value\n * const matrix = [].matrix(2, 5);\n * console.log(matrix);\n * // Output: [5, 5]\n *\n * @example\n * // Create a 4x2 matrix filled with null values\n * const matrix = [].matrix(4, null);\n * console.log(matrix);\n * // Output: [null, null, null, null]\n */\n (Array as any).prototype.matrix = function (_length: number, _fillValue = 0) {\n // eslint-disable-next-line no-unused-vars\n const x_func = function (x = undefined) {\n return _fillValue;\n };\n return Array.from({\n length: _length\n }, x_func);\n };\n\n /**\n * Creates a matrix (2D array) from a given array.\n * \n * This function extends the Array constructor by adding a static method\n * that generates a matrix with specified dimensions and fill value.\n * \n * @function\n * @param {Array} a - The input array used to generate the matrix.\n * @param {number} _length - The length of the matrix (number of rows).\n * @param {number} [_fillValue=0] - The value to fill the matrix with (default is 0).\n * @returns {Array} A 2D array (matrix) created from the input parameters.\n * \n * @example\n * const myMatrix = Array.matrix(2, 5);\n * // myMatrix will be [5, 5, 5]\n */\n (Array as any).matrix = function <T>(a: any, _length: number, _fillValue = 0): T[] {\n return a.matrix(_length, _fillValue) as T[];\n };\n\n (_protected_code_)((Array as any).matrix);\n (_protected_code_)((Array as any).prototype.matrix);\n\n\n (Array as any).prototype.matrix2d = function (_length: number, _fillValue = 0) {\n // eslint-disable-next-line no-unused-vars\n const y_func = function (y: any) {\n return _fillValue;\n };\n // eslint-disable-next-line no-unused-vars\n const x_func = function (x: any) {\n return Array.from({\n length: _length\n }, y_func);\n };\n return Array.from({\n length: _length\n }, x_func);\n };\n (Array as any).matrix2d = function <T>(a: any, _length: number, _fillValue = 0): T[][] {\n return a.matrix2d(_length, _fillValue) as T[][];\n };\n\n (_protected_code_)((Array as any).matrix2d);\n (_protected_code_)((Array as any).prototype.matrix2d);\n\n (Array as any).prototype.matrix3d = function (_length: number, _fillValue = 0) {\n // eslint-disable-next-line no-unused-vars\n const y_func = function (y: any) {\n return Array.from({\n length: _length\n }, function () {\n return _fillValue;\n });\n };\n // eslint-disable-next-line no-unused-vars\n const x_func = function (x: any) {\n return Array.from({\n length: _length\n }, y_func);\n };\n return Array.from({\n length: _length\n }, x_func);\n };\n\n (Array as any).matrix3d = function <T>(a: any, _length: number, _fillValue = 0): T[][][] {\n return a.matrix3d(_length, _fillValue) as T[][][];\n };\n\n\n (_protected_code_)((Array as any).matrix3d);\n (_protected_code_)((Array as any).prototype.matrix3d);\n\n\n\n (String as unknown as any).prototype.list = function (): string[] {\n const __instance = this;\n return range(0, __instance.length - 1).map(function <T>(i: any): T {\n return __instance[i] as T;\n }) as string[];\n };\n (_protected_code_)((String as unknown as any).prototype.list);\n\n\n\n /**\n * End of array math functions\n */\n\n\n\n setDefaultProcessors();\n\n\n /**\n * Load every component tag declared in the body\n **/\n Ready(function () {\n if (!CONFIG.get(\"useSDK\")) {\n GlobalSettings.__start__()\n .catch((e: any) => {\n throw Error(e);\n });\n }\n });\n\n /*\n Public variables and functions\n */\n Export(Export); /* exports the same Export function once */\n Export(Import);\n Export(Package);\n Export(Class);\n Export(New);\n Export(Tag);\n Export(Ready);\n Export(ready);\n Export(isBrowser);\n Export(_methods_);\n Export(GlobalSettings);\n\n\n (loadSDK)();\n\n if (isBrowser) {\n asyncLoad(function (): any {\n Ready(function () {\n\n /*\n * scroll management custom events\n * usage: document.addEventListener('percentY90',function(e){console.log(e.detail.percentY)});\n * possible events: scrollpercent, defaultscroll, percentY0, percentY25, percentY50, percentY75, percentY90\n */\n\n (function (_top) {\n let ticking = false;\n const scrollHeight = Math.max(\n document.body.scrollHeight, document.documentElement.scrollHeight,\n document.body.offsetHeight, document.documentElement.offsetHeight,\n document.body.clientHeight, document.documentElement.clientHeight\n );\n\n const scrollWidth = Math.max(\n document.body.scrollWidth, document.documentElement.scrollWidth,\n document.body.offsetWidth, document.documentElement.offsetWidth,\n document.body.clientWidth, document.documentElement.clientWidth\n );\n\n function scrollDispatcher(event: any) {\n const percentY = Math.round(_top.scrollY * 100 / scrollHeight);\n const percentX = Math.round(_top.scrollX * 100 / scrollWidth);\n const scrollPercentEventEvent = new CustomEvent(\"scrollpercent\", {\n detail: {\n percentX,\n percentY\n }\n });\n event.target.dispatchEvent(scrollPercentEventEvent);\n let secondaryEventName = \"defaultscroll\";\n const __valid_scrolls__ = [0, 5, 10, 25, 50, 75, 90, 95, 100];\n __valid_scrolls__.filter(function (p) {\n return p === percentY;\n }).map(function <T>(pY: T): T {\n secondaryEventName = \"percentY\" + percentY.toString();\n const secondaryCustomEvent = new CustomEvent(secondaryEventName, {\n detail: {\n percentX,\n percentY\n }\n });\n event.target.dispatchEvent(secondaryCustomEvent);\n return pY;\n });\n\n }\n\n document.addEventListener(\"scroll\", function (event) {\n\n if (!ticking) {\n requestAnimationFrame(function () {\n scrollDispatcher(event);\n ticking = false;\n });\n\n ticking = true;\n }\n });\n\n })(_top);\n\n });\n }, []);\n }\n\n if (!isBrowser) {\n if (typeof _top.global !== \"undefined\" && Object.hasOwn(_top.global, \"_fireAsyncLoad\")) {\n _fireAsyncLoad.call(_top);\n }\n if (typeof _top.global !== \"undefined\" && Object.hasOwn(_top.global, \"onload\")) {\n _top.global.onload.call(_top);\n }\n }\n\n\n /* Freezing Object && Object.prototype to prevent prototype pollution risks */\n (function (isBrowser) {\n const __freeze__ = function () {\n Object.freeze(Object.prototype);\n Object.freeze(Object);\n };\n if (isBrowser && CONFIG.get(\"secureObjects\", false)) {\n Ready(function () {\n __freeze__();\n });\n } else if (CONFIG.get(\"secureObjects\", false)) {\n __freeze__();\n }\n })(isBrowser);\n }\n\n})(_top);\n", "/**\n * QCObjects 2.4\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* eslint no-empty: \"off\" */\n/* eslint strict: \"off\" */\n\n/* eslint no-mixed-operators: \"off\" */\n\n\"use strict\";\n\nexport * as AssignPolyfill from \"./assign\";\nexport * as __top__ from \"./top\";\nexport * as qcobjects from \"./MainProcess\";\nexport {_top, resetTop} from \"./top\";\nexport { _QC_CLASSES, _QC_PACKAGES, _QC_PACKAGES_IMPORTED, _QC_READY_LISTENERS } from \"./PrimaryCollections\";\nexport { _DataStringify } from \"./DataStringify\";\nexport { _DOMCreateElement } from \"./DOMCreateElement\";\nexport { _methods_, _protected_code_ } from \"./introspection\";\nexport { logger, Logger } from \"./Logger\";\nexport { _require_, is_phonegap, isBrowser, isNodeCommonJS } from \"./platform\";\nexport { subelements } from \"./subelements\";\nexport { __is_raw_class__ } from \"./is_raw_class\";\nexport { _LegacyCopy } from \"./LegacyCopy\";\nexport { _fireAsyncLoad, asyncLoad } from \"./asyncLoad\";\nexport { __instanceID } from \"./IncrementInstanceID\";\nexport { ObjectName } from \"./ObjectName\";\nexport { __getType__ } from \"./getType\";\nexport { is_a } from \"./is_a\";\nexport { ComplexStorageCache } from \"./ComplexStorageCache\";\nexport { waitUntil } from \"./waitUntil\";\nexport { _Cast, _CastProps } from \"./Cast\";\nexport { isQCObjects_Class, isQCObjects_Object } from \"./isQCObjects\";\nexport { Package } from \"./Package\";\nexport { ClassFactory } from \"./ClassFactory\";\nexport { Export } from \"./Export\";\nexport { Class } from \"./Class\";\nexport { InheritClass } from \"./InheritClass\";\nexport { _super_ } from \"./super\";\nexport { shortCode } from \"./shortCode\";\nexport { Processor } from \"./Processor\";\nexport { New } from \"./New\";\nexport { _Ready, ready, Ready } from \"./Ready\";\nexport { captureFalseTouch } from \"./captureFalseTouch\";\nexport { serviceLoader } from \"./serviceLoader\";\nexport { componentLoader } from \"./componentLoader\";\nexport { _buildComponentsFromElements_, ComponentURI } from \"./ComponentFactory\";\nexport { NamespaceRef } from \"./NamespaceRef\";\nexport { setDefaultProcessors } from \"./defaultProcessors\";\nexport { Tag, TagElements } from \"./Tag\";\nexport { Import } from \"./Import\";\nexport { BackendMicroservice } from \"./BackendMicroservice\";\nexport { Component } from \"./Component\";\nexport { _Crypt } from \"./Crypt\";\nexport { DefaultTemplateHandler } from \"./DefaultTemplateHandler\";\nexport { SourceJS } from \"./SourceJS\";\nexport { SourceCSS } from \"./SourceCSS\";\nexport { GlobalSettings } from \"./globalSettings\";\nexport { RegisterClass } from \"./RegisterClass\";\nexport { _ComponentWidget_, RegisterWidget, RegisterWidgets } from \"./WidgetsFactory\";\nexport { CONFIG } from \"./CONFIG\";\nexport { Controller } from \"./Controller\";\nexport { View } from \"./View\";\nexport { ConfigService, JSONService, Service } from \"./Service\";\nexport { VO } from \"./VO\";\nexport { Effect } from \"./Effect\";\nexport { TransitionEffect } from \"./TransitionEffect\";\nexport { Timer } from \"./Timer\";\nexport { _tag_filter_ } from \"./tag_filter\";\nexport { range } from \"./range\";\nexport { ArrayCollection, ArrayList } from \"./ArrayCollection\";\nexport { DDO } from \"./DDO\";\nexport { Toggle } from \"./Toggle\";\nexport { findPackageNodePath } from \"./findPackageNodePath\";\nexport { getDocumentLayout } from \"./DocumentLayout\";\nexport { IQCObjectsElement, IQCObjectsShadowedElement } from \"types\";\nexport { __to_number } from \"./mathFunctions\";\nexport {_top as global} from \"./top\";\nexport {__make_global__} from \"./make_global\";\nexport {get, set} from \"./top\";\n", " // Object.assign Polyfilling\n // Reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Polyfill\n if (typeof Object.assign !== \"function\") {\n // Must be writable: true, enumerable: false, configurable: true\n Object.defineProperty(Object, \"assign\", {\n // eslint-disable-next-line no-unused-vars\n value: function assign(target: null, varArgs: any):any { // .length of function is 2\n \"use strict\";\n if (target === null) { // TypeError if undefined or null\n throw new TypeError(\"Cannot convert undefined or null to object\");\n }\n \n const to = Object(target);\n \n for (let index = 1; index < arguments.length; index++) {\n // eslint-disable-next-line prefer-rest-params\n const nextSource = arguments[index];\n \n if (nextSource !== null) { // Skip over if undefined or null\n for (const nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n },\n writable: true,\n configurable: true\n });\n }\nexport {};", "import { Http2Stream } from \"http2\";\nimport { Stream } from \"stream\";\nimport { _basePath_ } from \"./basePath\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { _domain_ } from \"./domain\";\nimport { InheritClass } from \"./InheritClass\";\nimport { logger } from \"./Logger\";\nimport { Package } from \"./Package\";\nimport { IMicroservice } from \"types\";\n\nexport class BackendMicroservice extends InheritClass {\n stream: any;\n route: any;\n headers: any;\n request: any;\n\n constructor({\n domain = _domain_,\n basePath = _basePath_,\n body = null,\n stream = null,\n request = null\n }:IMicroservice) {\n super({\n domain,\n basePath,\n body,\n stream,\n request\n });\n logger.debug(\"Initializing BackendMicroservice...\");\n const microservice = this;\n if (typeof this.body === \"undefined\") {\n this.body = null;\n }\n if (typeof body !== \"undefined\") {\n this.body = body;\n }\n this.cors();\n microservice.stream = stream;\n (stream as any)?.on(\"data\", (data: any) => {\n // data from POST, GET\n const requestMethod = (request as any)?.method.toLowerCase();\n const supportedMethods = {\n \"post\": microservice.post.bind(microservice),\n };\n if (Object.hasOwn(supportedMethods, requestMethod)) {\n (supportedMethods as any)[requestMethod].call(microservice, data);\n }\n });\n\n // data from POST, GET\n const requestMethod = (request as any)?.method.toLowerCase();\n const supportedMethods = {\n \"get\": microservice.get.bind(microservice),\n \"head\": microservice.head.bind(microservice),\n \"put\": microservice.put.bind(microservice),\n \"delete\": microservice.delete.bind(microservice),\n \"connect\": microservice.connect.bind(microservice),\n \"options\": microservice.options.bind(microservice),\n \"trace\": microservice.trace.bind(microservice),\n \"patch\": microservice.patch.bind(microservice)\n };\n if (Object.hasOwn(supportedMethods, requestMethod)) {\n (supportedMethods as any)[requestMethod].call(microservice);\n }\n\n\n }\n\n cors():void {\n if (this.route.cors) {\n logger.debug(\"Validating CORS...\");\n const {\n allow_origins,\n allow_credentials,\n allow_methods,\n allow_headers\n } = this.route.cors;\n const microservice = this;\n if (typeof microservice.headers !== \"object\") {\n microservice.headers = {};\n }\n if (typeof microservice.route.responseHeaders !== \"object\") {\n microservice.route.responseHeaders = {};\n }\n if (typeof allow_origins !== \"undefined\") {\n logger.debug(\"CORS: allow_origins available. Validating origins...\");\n // an example of allow_origins is ['https://example.com','http://www.example.com']\n if (allow_origins === \"*\" || (typeof microservice.request.headers.origin === \"undefined\") || [...allow_origins].indexOf(microservice.request.headers.origin) !== -1) {\n // for compatibility with all browsers allways return a wildcard when the origin is allowed\n logger.debug(\"CORS: Adding header Access-Control-Allow-Origin=*\");\n microservice.route.responseHeaders[\"Access-Control-Allow-Origin\"] = \"*\";\n } else {\n logger.debug(\"CORS: Origin is not allowed: \" + microservice.request.headers.origin);\n logger.debug(\"CORS: Forcing to finish the response...\");\n this.body = {};\n try {\n this.done();\n } catch (e:any) {\n logger.debug(`It was not possible to finish the call to the microservice: ${e}`);\n }\n }\n } else {\n logger.debug(\"CORS: no allow_origins available. Allowing all origins...\");\n logger.debug(\"CORS: Adding header Access-Control-Allow-Origin=*\");\n microservice.route.responseHeaders[\"Access-Control-Allow-Origin\"] = \"*\";\n }\n if (typeof allow_credentials !== \"undefined\") {\n logger.debug(`CORS: allow_credentials present. Allowing ${allow_credentials}...`);\n microservice.route.responseHeaders[\"Access-Control-Allow-Credentials\"] = allow_credentials.toString();\n } else {\n logger.debug(\"CORS: No allow_credentials present. Allowing all credentials.\");\n microservice.route.responseHeaders[\"Access-Control-Allow-Credentials\"] = \"true\";\n }\n if (typeof allow_methods !== \"undefined\") {\n logger.debug(`CORS: allow_methods present. Allowing ${allow_methods}...`);\n microservice.route.responseHeaders[\"Access-Control-Allow-Methods\"] = [...allow_methods].join(\",\");\n } else {\n logger.debug(\"CORS: No allow_methods present. Allowing only GET, OPTIONS and POST\");\n microservice.route.responseHeaders[\"Access-Control-Allow-Methods\"] = \"GET, OPTIONS, POST\";\n }\n if (typeof allow_headers !== \"undefined\") {\n logger.debug(`CORS: allow_headers present. Allowing ${allow_headers}...`);\n microservice.route.responseHeaders[\"Access-Control-Allow-Headers\"] = [...allow_headers].join(\",\");\n } else {\n logger.debug(\"CORS: No allow_headers present. Allowing all headers...\");\n microservice.route.responseHeaders[\"Access-Control-Allow-Headers\"] = \"*\";\n }\n } else {\n logger.debug(\"No CORS validation available. You can specify cors in CONFIG.backend.routes[].cors\");\n }\n }\n\n\n head(formData: any):void {\n logger.debug(`[BackendMicroservice.head] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n get(formData: any):void {\n logger.debug(`[BackendMicroservice.get] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n post(formData: any):void {\n logger.debug(`[BackendMicroservice.post] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n put(formData: any):void {\n logger.debug(`[BackendMicroservice.put] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n delete(formData: any):void {\n logger.debug(`[BackendMicroservice.delete] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n connect(formData: any):void {\n logger.debug(`[BackendMicroservice.connect] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n options(formData: any):void {\n logger.debug(`[BackendMicroservice.options] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n trace(formData: any):void {\n logger.debug(`[BackendMicroservice.trace] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n patch(formData: any):void {\n logger.debug(`[BackendMicroservice.patch] Data received: ${_DataStringify(formData)}`);\n this.done();\n }\n\n finishWithBody(stream?: Http2Stream | Stream):void {\n try {\n logger.debug(\"[BackendMicroservice.finishWithBody] Ending the stream...\");\n logger.debug(`[BackendMicroservice.finishWithBody] type of body is: ${typeof this.body}`);\n if (typeof this.body !== \"string\") {\n this.body = _DataStringify(this.body);\n }\n logger.debug(`[BackendMicroservice.finishWithBody] \\n body: ${this.body} `);\n (stream as any)?.write(this.body);\n (stream as any)?.end();\n logger.debug(\"[BackendMicroservice.finishWithBody] Stream ended.\");\n } catch (e:any) {\n logger.debug(`[BackendMicroservice.finishWithBody] Something went wrong ending the stream: ${e}`);\n }\n }\n\n done():void {\n logger.debug(\"[BackendMicroservice.done] Finalizing the response...\");\n const microservice = this;\n const stream = microservice.stream;\n try {\n logger.debug(\"[BackendMicroservice.done] Sending response headers...\");\n if (microservice.route.responseHeaders) {\n logger.debug(`[BackendMicroservice.done] Response headers present: ${Object.keys(microservice.route.responseHeaders).join(\",\")}`);\n stream.respond(microservice.route.responseHeaders);\n } else {\n throw Error(\"[BackendMicroservice.done] No headers present.\");\n }\n } catch (e:any) {\n logger.debug(`[BackendMicroservice.done] Something went wrong sending response headers: ${e}`);\n }\n if (microservice.body !== null) {\n try {\n logger.debug(\"[BackendMicroservice.done] A body of message is present. Finalizing the response...\");\n microservice.finishWithBody.call(microservice, stream);\n } catch (e:any) {\n logger.debug(`[BackendMicroservice.done] Something went wrong finalizing the response: ${e}`);\n }\n } else {\n logger.debug(\"[BackendMicroservice.done] No body present. Ending stream...\");\n stream.end();\n }\n }\n\n\n}\n\nPackage(\"com.qcobjects.api\", [\n BackendMicroservice\n]);\n", "import { DefaultTemplateHandlerParams, IComponent } from \"types\";\nimport { logger } from \"./Logger\";\nimport { GlobalProcessor as Processor } from \"./Processor\";\nimport { RegisterClass } from \"./RegisterClass\";\n\nexport class DefaultTemplateHandler {\n template = \"\";\n __definition = {};\n static __definition = {};\n component?: IComponent;\n\n constructor({ component, template }: DefaultTemplateHandlerParams) {\n this.component = component;\n this.template = template;\n }\n\n assign(data: any): string {\n const templateInstance = this;\n if (typeof templateInstance.component === \"undefined\") {\n throw new Error(\"DefaultTemplateHandler.assign: component is undefined\");\n }\n if (typeof templateInstance.component.processorHandler === \"undefined\") {\n throw new Error(\"DefaultTemplateHandler.assign: component.processorHandler is undefined\");\n }\n const processorHandler = templateInstance.component.processorHandler;\n processorHandler.component = templateInstance.component;\n let parsedAssignmentText = (typeof templateInstance.template !== \"undefined\") ? (templateInstance.template) : (\"\");\n if (typeof data === \"object\") {\n [...Object.keys(data)].map((k): any => {\n let _value = data[k];\n if (typeof _value === \"string\" || typeof _value === \"number\" || (!isNaN(_value))) {\n try {\n _value = Processor.processObject.bind(processorHandler).call(processorHandler, _value, templateInstance.component);\n parsedAssignmentText = parsedAssignmentText.replace((new RegExp(`{{${k}}}`, \"g\")), _value);\n } catch (e: any) {\n logger.warn(`${templateInstance.component?.name} could not parse processors.`);\n throw Error(`${templateInstance.component?.name} could not parse processors. Reason: ${e.message}`);\n }\n }\n return k;\n });\n } else {\n logger.debug(`${templateInstance.component?.name}.data is not an object`);\n }\n try {\n parsedAssignmentText = Processor.processObject.call(processorHandler, parsedAssignmentText, templateInstance.component);\n } catch (e: any) {\n logger.warn(`${templateInstance.component?.name} could not parse processors.`);\n throw Error(`${templateInstance.component?.name} could not parse processors. Reason: ${e.message}`);\n }\n return parsedAssignmentText;\n }\n\n}\nRegisterClass(DefaultTemplateHandler, \"com.qcobjects\");\n", "import { __make_global__ } from \"./make_global\";\nimport { __register_class__ } from \"./PrimaryCollections\";\n\n\n\nexport const RegisterClass = function (_class_:any, __namespace?:string):any {\n return __register_class__(_class_, __namespace);\n};\n__make_global__(RegisterClass);", "import { ISourceJS } from \"types\";\nimport { _basePath_ } from \"./basePath\";\nimport { _Cast } from \"./Cast\";\nimport { _domain_ } from \"./domain\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\nimport { logger } from \"./Logger\";\n\nexport class SourceJS extends InheritClass implements ISourceJS {\n domain:string= _domain_;\n basePath:string= _basePath_;\n type= \"text/javascript\";\n containerTag= \"body\";\n url= \"\";\n data= {};\n async= false;\n external= false;\n\n constructor(o:any){\n super(o);\n this.body= _DOMCreateElement(\"script\");\n\n }\n set(name:string, value:any):void {\n this[name] = value;\n }\n get(name:string, _default?:any):any {\n return this[name] || _default;\n }\n status= false;\n done():void { }\n fail():void { }\n rebuild():void {\n const context = this;\n try {\n document.getElementsByTagName(context.containerTag)[0].appendChild(\n (function (s:any, url:string, context:any):any {\n s.type = context.type;\n s.src = url;\n s.crossOrigin = (Object.hasOwn(context, \"crossOrigin\")) ? (context.crossOrigin) : (\"anonymous\");\n s.async = context.async;\n s.onreadystatechange = function () {\n if (this.readyState === \"complete\") {\n context.done.call(context);\n }\n };\n s.onload = function (e:any) {\n context.status = true;\n context.done.call(context, e);\n };\n s.onerror = function (e:any) {\n context.status = false;\n context.fail.call(context, e);\n };\n context.body = s;\n return s;\n }).call(this,\n _DOMCreateElement(\"script\"),\n (this.external) ? (this.url) : (this.basePath + this.url), context));\n } catch (e:any) {\n context.status = false;\n logger.debug(`An error ocurred: ${e}`);\n context.fail();\n }\n }\n Cast(o:any):any {\n return _Cast(this, o);\n }\n _new_(properties:any):void {\n this.__new__(properties);\n this.rebuild();\n }\n }\n\n Package(\"com.qcobjects\", [SourceJS]);\n", "import { ISourceCSS, TBody } from \"types\";\nimport { _basePath_ } from \"./basePath\";\nimport { _Cast } from \"./Cast\";\nimport { _domain_ } from \"./domain\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { InheritClass } from \"./InheritClass\";\nimport { isBrowser } from \"./platform\";\nimport { Package } from \"./Package\";\n\nexport class SourceCSS extends InheritClass implements ISourceCSS {\n domain: string = _domain_;\n basePath: string = _basePath_;\n url = \"\";\n data = {};\n async = false;\n external = false;\n\n constructor(o: any) {\n super(o);\n this.body = _DOMCreateElement(\"link\") as TBody;\n }\n fail(): void {\n throw new Error(\"Method not implemented.\");\n }\n Cast(o: any): any {\n return _Cast(this, o);\n }\n set(name: string, value: any): void {\n this[name] = value;\n }\n get(name: string, _default?: any): any {\n return this[name] || _default;\n }\n done(): void { }\n rebuild(): void {\n const context = this;\n if (isBrowser) {\n window.document.getElementsByTagName(\"head\")[0].appendChild(\n (function (s: any, url: string, context: any): any {\n s.type = \"text/css\";\n s.rel = \"stylesheet\";\n s.href = url;\n s.crossOrigin = \"anonymous\";\n s.onreadystatechange = function () {\n if (this.readyState === \"complete\") {\n context.done.call(context);\n }\n };\n s.onload = context.done;\n context.body = s;\n return s;\n }).call(this,\n _DOMCreateElement(\"link\"),\n (this.external) ? (this.url) : (this.basePath + this.url), context));\n }\n }\n}\n\nPackage(\"com.qcobjects\", [SourceCSS]);", " \n/* eslint-disable no-unused-vars */\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { Export } from \"./Export\";\nimport { _protected_code_ } from \"./introspection\";\nimport { isBrowser } from \"./platform\";\nimport { I_ComponentWidget_ } from \"types\";\n\nclass QCObjectsWidgetNode implements I_ComponentWidget_ {\n writingSuggestions!: string;\n currentCSSZoom!: number;\n ariaColIndexText!: string | null;\n ariaRowIndexText!: string | null;\n accessKey!: string;\n accessKeyLabel!: string;\n autocapitalize!: string;\n dir!: string;\n draggable!: boolean;\n hidden!: boolean;\n inert!: boolean;\n innerText!: string;\n lang!: string;\n offsetHeight!: number;\n offsetLeft!: number;\n offsetParent!: Element | null;\n offsetTop!: number;\n offsetWidth!: number;\n outerText!: string;\n popover!: string | null;\n spellcheck!: boolean;\n title!: string;\n translate!: boolean;\n attachInternals(): ElementInternals {\n throw new Error(\"Method not implemented.\");\n }\n click(): void {\n throw new Error(\"Method not implemented.\");\n }\n hidePopover(): void {\n throw new Error(\"Method not implemented.\");\n }\n showPopover(): void {\n throw new Error(\"Method not implemented.\");\n }\n togglePopover(force?: boolean): boolean {\n throw new Error(\"Method not implemented.\");\n }\n addEventListener(type: unknown, listener: unknown, options?: unknown): void {\n throw new Error(\"Method not implemented.\");\n }\n removeEventListener(type: unknown, listener: unknown, options?: unknown): void {\n throw new Error(\"Method not implemented.\");\n }\n attributes!: NamedNodeMap;\n classList!: DOMTokenList;\n className!: string;\n clientHeight!: number;\n clientLeft!: number;\n clientTop!: number;\n clientWidth!: number;\n id!: string;\n innerHTML!: string;\n localName!: string;\n namespaceURI!: string | null;\n onfullscreenchange!: ((this: Element, ev: Event) => any) | null;\n onfullscreenerror!: ((this: Element, ev: Event) => any) | null;\n outerHTML!: string;\n ownerDocument!: Document;\n part!: DOMTokenList;\n prefix!: string | null;\n scrollHeight!: number;\n scrollLeft!: number;\n scrollTop!: number;\n scrollWidth!: number;\n shadowRoot!: ShadowRoot | null;\n slot!: string;\n tagName!: string;\n attachShadow(init: ShadowRootInit): ShadowRoot {\n throw new Error(\"Method not implemented.\");\n }\n checkVisibility(options?: CheckVisibilityOptions): boolean {\n throw new Error(\"Method not implemented.\");\n }\n closest(selectors: unknown): any {\n throw new Error(\"Method not implemented.\");\n }\n computedStyleMap(): StylePropertyMapReadOnly {\n throw new Error(\"Method not implemented.\");\n }\n getAttribute(qualifiedName: string): string | null {\n throw new Error(\"Method not implemented.\");\n }\n getAttributeNS(namespace: string | null, localName: string): string | null {\n throw new Error(\"Method not implemented.\");\n }\n getAttributeNames(): string[] {\n throw new Error(\"Method not implemented.\");\n }\n getAttributeNode(qualifiedName: string): Attr | null {\n throw new Error(\"Method not implemented.\");\n }\n getAttributeNodeNS(namespace: string | null, localName: string): Attr | null {\n throw new Error(\"Method not implemented.\");\n }\n getBoundingClientRect(): DOMRect {\n throw new Error(\"Method not implemented.\");\n }\n getClientRects(): DOMRectList {\n throw new Error(\"Method not implemented.\");\n }\n getElementsByClassName(classNames: string): HTMLCollectionOf<Element> {\n throw new Error(\"Method not implemented.\");\n }\n getElementsByTagName(qualifiedName: unknown): HTMLCollectionOf<Element> | HTMLCollectionOf<any> {\n throw new Error(\"Method not implemented.\");\n }\n getElementsByTagNameNS(namespace: unknown, localName: unknown): HTMLCollectionOf<any> {\n throw new Error(\"Method not implemented.\");\n }\n getHTML(options?: GetHTMLOptions): string {\n throw new Error(\"Method not implemented.\");\n }\n hasAttribute(qualifiedName: string): boolean {\n throw new Error(\"Method not implemented.\");\n }\n hasAttributeNS(namespace: string | null, localName: string): boolean {\n throw new Error(\"Method not implemented.\");\n }\n hasAttributes(): boolean {\n throw new Error(\"Method not implemented.\");\n }\n hasPointerCapture(pointerId: number): boolean {\n throw new Error(\"Method not implemented.\");\n }\n insertAdjacentElement(where: InsertPosition, element: Element): Element | null {\n throw new Error(\"Method not implemented.\");\n }\n insertAdjacentHTML(position: InsertPosition, string: string): void {\n throw new Error(\"Method not implemented.\");\n }\n insertAdjacentText(where: InsertPosition, data: string): void {\n throw new Error(\"Method not implemented.\");\n }\n matches(selectors: string): boolean {\n throw new Error(\"Method not implemented.\");\n }\n releasePointerCapture(pointerId: number): void {\n throw new Error(\"Method not implemented.\");\n }\n removeAttribute(qualifiedName: string): void {\n throw new Error(\"Method not implemented.\");\n }\n removeAttributeNS(namespace: string | null, localName: string): void {\n throw new Error(\"Method not implemented.\");\n }\n removeAttributeNode(attr: Attr): Attr {\n throw new Error(\"Method not implemented.\");\n }\n requestFullscreen(options?: FullscreenOptions): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n requestPointerLock(options?: PointerLockOptions): Promise<void> {\n throw new Error(\"Method not implemented.\");\n }\n scroll(x?: unknown, y?: unknown): void {\n throw new Error(\"Method not implemented.\");\n }\n scrollBy(x?: unknown, y?: unknown): void {\n throw new Error(\"Method not implemented.\");\n }\n scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void {\n throw new Error(\"Method not implemented.\");\n }\n scrollTo(x?: unknown, y?: unknown): void {\n throw new Error(\"Method not implemented.\");\n }\n setAttribute(qualifiedName: string, value: string): void {\n throw new Error(\"Method not implemented.\");\n }\n setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void {\n throw new Error(\"Method not implemented.\");\n }\n setAttributeNode(attr: Attr): Attr | null {\n throw new Error(\"Method not implemented.\");\n }\n setAttributeNodeNS(attr: Attr): Attr | null {\n throw new Error(\"Method not implemented.\");\n }\n setHTMLUnsafe(html: string): void {\n throw new Error(\"Method not implemented.\");\n }\n setPointerCapture(pointerId: number): void {\n throw new Error(\"Method not implemented.\");\n }\n toggleAttribute(qualifiedName: string, force?: boolean): boolean {\n throw new Error(\"Method not implemented.\");\n }\n webkitMatchesSelector(selectors: string): boolean {\n throw new Error(\"Method not implemented.\");\n }\n baseURI!: string;\n childNodes!: NodeListOf<ChildNode>;\n firstChild!: ChildNode | null;\n isConnected!: boolean;\n lastChild!: ChildNode | null;\n nextSibling!: ChildNode | null;\n nodeName!: string;\n nodeType!: number;\n nodeValue!: string | null;\n parentElement!: HTMLElement | null;\n parentNode!: ParentNode | null;\n previousSibling!: ChildNode | null;\n textContent!: string | null;\n appendChild<T extends Node>(node: T): T {\n throw new Error(\"Method not implemented.\");\n }\n cloneNode(deep?: boolean): Node {\n throw new Error(\"Method not implemented.\");\n }\n compareDocumentPosition(other: Node): number {\n throw new Error(\"Method not implemented.\");\n }\n contains(other: Node | null): boolean {\n throw new Error(\"Method not implemented.\");\n }\n getRootNode(options?: GetRootNodeOptions): Node {\n throw new Error(\"Method not implemented.\");\n }\n hasChildNodes(): boolean {\n throw new Error(\"Method not implemented.\");\n }\n insertBefore<T extends Node>(node: T, child: Node | null): T {\n throw new Error(\"Method not implemented.\");\n }\n isDefaultNamespace(namespace: string | null): boolean {\n throw new Error(\"Method not implemented.\");\n }\n isEqualNode(otherNode: Node | null): boolean {\n throw new Error(\"Method not implemented.\");\n }\n isSameNode(otherNode: Node | null): boolean {\n throw new Error(\"Method not implemented.\");\n }\n lookupNamespaceURI(prefix: string | null): string | null {\n throw new Error(\"Method not implemented.\");\n }\n lookupPrefix(namespace: string | null): string | null {\n throw new Error(\"Method not implemented.\");\n }\n normalize(): void {\n throw new Error(\"Method not implemented.\");\n }\n removeChild<T extends Node>(child: T): T {\n throw new Error(\"Method not implemented.\");\n }\n replaceChild<T extends Node>(node: Node, child: T): T {\n throw new Error(\"Method not implemented.\");\n }\n ELEMENT_NODE!: 1;\n ATTRIBUTE_NODE!: 2;\n TEXT_NODE!: 3;\n CDATA_SECTION_NODE!: 4;\n ENTITY_REFERENCE_NODE!: 5;\n ENTITY_NODE!: 6;\n PROCESSING_INSTRUCTION_NODE!: 7;\n COMMENT_NODE!: 8;\n DOCUMENT_NODE!: 9;\n DOCUMENT_TYPE_NODE!: 10;\n DOCUMENT_FRAGMENT_NODE!: 11;\n NOTATION_NODE!: 12;\n DOCUMENT_POSITION_DISCONNECTED!: 1;\n DOCUMENT_POSITION_PRECEDING!: 2;\n DOCUMENT_POSITION_FOLLOWING!: 4;\n DOCUMENT_POSITION_CONTAINS!: 8;\n DOCUMENT_POSITION_CONTAINED_BY!: 16;\n DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC!: 32;\n dispatchEvent(event: Event): boolean {\n throw new Error(\"Method not implemented.\");\n }\n ariaAtomic!: string | null;\n ariaAutoComplete!: string | null;\n ariaBrailleLabel!: string | null;\n ariaBrailleRoleDescription!: string | null;\n ariaBusy!: string | null;\n ariaChecked!: string | null;\n ariaColCount!: string | null;\n ariaColIndex!: string | null;\n ariaColSpan!: string | null;\n ariaCurrent!: string | null;\n ariaDescription!: string | null;\n ariaDisabled!: string | null;\n ariaExpanded!: string | null;\n ariaHasPopup!: string | null;\n ariaHidden!: string | null;\n ariaInvalid!: string | null;\n ariaKeyShortcuts!: string | null;\n ariaLabel!: string | null;\n ariaLevel!: string | null;\n ariaLive!: string | null;\n ariaModal!: string | null;\n ariaMultiLine!: string | null;\n ariaMultiSelectable!: string | null;\n ariaOrientation!: string | null;\n ariaPlaceholder!: string | null;\n ariaPosInSet!: string | null;\n ariaPressed!: string | null;\n ariaReadOnly!: string | null;\n ariaRequired!: string | null;\n ariaRoleDescription!: string | null;\n ariaRowCount!: string | null;\n ariaRowIndex!: string | null;\n ariaRowSpan!: string | null;\n ariaSelected!: string | null;\n ariaSetSize!: string | null;\n ariaSort!: string | null;\n ariaValueMax!: string | null;\n ariaValueMin!: string | null;\n ariaValueNow!: string | null;\n ariaValueText!: string | null;\n role!: string | null;\n animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation {\n throw new Error(\"Method not implemented.\");\n }\n getAnimations(options?: GetAnimationsOptions): Animation[] {\n throw new Error(\"Method not implemented.\");\n }\n after(...nodes: (Node | string)[]): void {\n throw new Error(\"Method not implemented.\");\n }\n before(...nodes: (Node | string)[]): void {\n throw new Error(\"Method not implemented.\");\n }\n remove(): void {\n throw new Error(\"Method not implemented.\");\n }\n replaceWith(...nodes: (Node | string)[]): void {\n throw new Error(\"Method not implemented.\");\n }\n nextElementSibling!: Element | null;\n previousElementSibling!: Element | null;\n childElementCount!: number;\n children!: HTMLCollection;\n firstElementChild!: Element | null;\n lastElementChild!: Element | null;\n \n append(...nodes: (Node | string)[]): void {\n throw new Error(\"Method not implemented.\");\n }\n \n prepend(...nodes: (Node | string)[]): void {\n throw new Error(\"Method not implemented.\");\n }\n \n querySelector(selectors: unknown): any {\n throw new Error(\"Method not implemented.\");\n }\n \n querySelectorAll(selectors: unknown): NodeListOf<any> {\n throw new Error(\"Method not implemented.\");\n }\n replaceChildren(...nodes: (Node | string)[]): void {\n throw new Error(\"Method not implemented.\");\n }\n assignedSlot!: HTMLSlotElement | null;\n attributeStyleMap!: StylePropertyMap;\n style!: CSSStyleDeclaration;\n contentEditable!: string;\n enterKeyHint!: string;\n inputMode!: string;\n isContentEditable!: boolean;\n onabort!: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;\n onanimationcancel!: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n onanimationend!: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n onanimationiteration!: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n onanimationstart!: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n onauxclick!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onbeforeinput!: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null;\n onbeforetoggle!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onblur!: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;\n oncancel!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n oncanplay!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n oncanplaythrough!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onchange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onclick!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onclose!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n oncontextlost!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n oncontextmenu!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n oncontextrestored!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n oncopy!: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;\n oncuechange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n oncut!: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;\n ondblclick!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n ondrag!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n ondragend!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n ondragenter!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n ondragleave!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n ondragover!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n ondragstart!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n ondrop!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n ondurationchange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onemptied!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onended!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onerror!: OnErrorEventHandler;\n onfocus!: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;\n onformdata!: ((this: GlobalEventHandlers, ev: FormDataEvent) => any) | null;\n ongotpointercapture!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n oninput!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n oninvalid!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onkeydown!: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;\n onkeypress!: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;\n onkeyup!: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;\n onload!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onloadeddata!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onloadedmetadata!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onloadstart!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onlostpointercapture!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onmousedown!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onmouseenter!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onmouseleave!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onmousemove!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onmouseout!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onmouseover!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onmouseup!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n onpaste!: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;\n onpause!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onplay!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onplaying!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onpointercancel!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onpointerdown!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onpointerenter!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onpointerleave!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onpointermove!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onpointerout!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onpointerover!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onpointerup!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n onprogress!: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;\n onratechange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onreset!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onresize!: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;\n onscroll!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onscrollend!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onsecuritypolicyviolation!: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null;\n onseeked!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onseeking!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onselect!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onselectionchange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onselectstart!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onslotchange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onstalled!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onsubmit!: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;\n onsuspend!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n ontimeupdate!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n ontoggle!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n ontouchstart?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n ontransitioncancel!: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n ontransitionend!: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n ontransitionrun!: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n ontransitionstart!: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n onvolumechange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onwaiting!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onwebkitanimationend!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onwebkitanimationiteration!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onwebkitanimationstart!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onwebkittransitionend!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n onwheel!: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null;\n autofocus!: boolean;\n dataset!: DOMStringMap;\n nonce?: string | undefined;\n tabIndex!: number;\n blur(): void {\n throw new Error(\"Method not implemented.\");\n }\n focus(options?: FocusOptions): void {\n throw new Error(\"Method not implemented.\");\n }\n\n}\n\nexport let _ComponentWidget_:CustomElementConstructor;\nif (isBrowser) {\n _ComponentWidget_ = class _ComponentWidget_ extends HTMLElement implements I_ComponentWidget_ {\n constructor() {\n super();\n const componentWidget = this;\n const componentName = componentWidget.nodeName.toLowerCase();\n const componentBody = _DOMCreateElement(\"quick-component\");\n const __enabled__atributes__ = componentWidget.getAttributeNames();\n componentBody.setAttribute(\"name\", componentName);\n \n if (!componentWidget.hasAttribute(\"shadowed\")) {\n componentBody.setAttribute(\"shadowed\", \"true\");\n }\n __enabled__atributes__.forEach( (attributeName) => {\n if (componentWidget.hasAttribute(attributeName)) {\n componentBody.setAttribute(attributeName, componentWidget?.getAttribute(attributeName) as any);\n componentWidget.removeAttribute(attributeName);\n }\n });\n const data_attributenames = componentWidget.getAttributeNames().filter(function (a) {\n return a.startsWith(\"data-\");\n }).map(function (a) {\n return a.split(\"-\")[1];\n });\n data_attributenames.forEach(function (_attribute_name_) {\n componentBody.setAttribute(\"data-\" + _attribute_name_, componentWidget?.getAttribute(\"data-\" + _attribute_name_) as any);\n componentWidget.removeAttribute(\"data-\" + _attribute_name_);\n });\n [...(componentWidget as any).children].forEach( (element) => {\n componentBody.appendChild(element.cloneNode(true));\n element.remove();\n });\n \n componentWidget.append(componentBody);\n }\n };\n \n} else {\n _ComponentWidget_ = class _ComponentWidget_ extends QCObjectsWidgetNode {\n constructor (){\n super();\n throw new Error (\"Class not implemented.\");\n }\n };\n}\nExport(_ComponentWidget_);\nexport const RegisterWidget = (widgetName: string):void => {\n if (isBrowser){\n customElements.define(widgetName, class extends _ComponentWidget_ { });\n } else {\n throw new Error (\"RegisterWidget is not implemented for non browser ecosystems yet.\");\n }\n};\nexport const RegisterWidgets = (...args: string[]):void =>{\n const widgetList = [...args];\n widgetList.filter(function (widgetName) {\n return typeof widgetName === \"string\";\n }).map(function (widgetName) {\n return RegisterWidget(widgetName);\n });\n};\n(_protected_code_)(RegisterWidget);\n(_protected_code_)(RegisterWidgets);\nExport(RegisterWidget);\nExport(RegisterWidgets);\n", "import { IController, IComponent, TControllerParams } from \"types\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { __getType__ } from \"./getType\";\nimport { InheritClass } from \"./InheritClass\";\nimport { logger } from \"./Logger\";\nimport { New } from \"./New\";\nimport { Package } from \"./Package\";\nimport { isBrowser } from \"./platform\";\n\nexport class Controller extends InheritClass implements IController{\n\n component!: IComponent ;\n dependencies?: any[] = [];\n constructor({\n component,\n dependencies\n }: TControllerParams) {\n super({ component, dependencies });\n this.component = component;\n this.dependencies = dependencies;\n if (typeof this.component === \"undefined\" || this.component === null) {\n throw Error(`${__getType__(this)} must be called with a component`);\n }\n }\n\n // eslint-disable-next-line no-unused-vars\n fail?(...args: [...args: any[]] ): void {\n throw new Error(\"Method not implemented.\");\n }\n\n\n routingSelectedAttr(attrName: string):any {\n return this.component?.routingSelected.map( (r: any):any => {\n return r[attrName];\n }).filter(function (v: any) {\n return v;\n }).pop();\n }\n\n isTouchable():boolean {\n return (\"ontouchstart\" in window) ||\n ((navigator as any).MaxTouchPoints > 0) ||\n ((navigator as any).msMaxTouchPoints > 0);\n }\n\n onpress(subelementSelector: string, handler: Function):void {\n if (isBrowser){\n try {\n if (this.isTouchable()) {\n ((this.component?.componentRoot as any)?.subelements(subelementSelector) as any[])[0].addEventListener(\"touchstart\", handler, {\n passive: true\n });\n } else {\n ((this.component?.componentRoot as any)?.subelements(subelementSelector) as any[])[0].addEventListener(\"click\", handler, {\n passive: true\n });\n }\n } catch (e:any) {\n logger.debug(`An error ocurred: ${e}.`);\n logger.debug(\"No button to assign press event\");\n }\n \n }\n }\n\n createRoutingController():void {\n const controller = this;\n const component = controller.component;\n const controllerName = controller.routingSelectedAttr(\"controllerclass\");\n if (typeof controllerName !== \"undefined\") {\n const _Controller = ClassFactory(controllerName) as unknown as IController;\n if (typeof _Controller !== \"undefined\" && component !== null) {\n component.routingController = New(_Controller, {\n component\n }) as IController; // Initializes the main controller for the component\n if (typeof component.routingController !== \"undefined\" \n && Object.hasOwn(component.routingController, \"done\") \n && typeof component.routingController.done === \"function\") {\n component.routingController.done.call(component.routingController);\n }\n }\n }\n }\n\n done():void { }\n}\n\nPackage(\"com.qcobjects.controllers\", [\n Controller\n]);\n", "import { __getType__ } from \"./getType\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\nimport { TViewParams } from \"types\";\n\nexport class View extends InheritClass {\n constructor({ component = undefined, dependencies = [] }:TViewParams) {\n super({component, dependencies});\n if (typeof this.component === \"undefined\" || this.component === \"null\") {\n throw Error(`${__getType__(this)} must be called with a component`);\n }\n\n }\n }\n\nPackage(\"com.qcobjects.views\", [\n View\n]);", "import { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\n\nexport class VO extends InheritClass {}\n\nPackage(\"com.qcobjects.valueObjects\", [\n VO\n ]);", "import { IEffect, TEffectParams } from \"types\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\nimport { _methods_, _protected_code_ } from \"./introspection\";\nimport { ClassFactory } from \"./ClassFactory\";\n\nclass Effect extends InheritClass implements IEffect {\n // eslint-disable-next-line no-unused-vars\n done(...args: any[]): any {\n throw new Error(\"Method not implemented.\");\n };\n // eslint-disable-next-line no-unused-vars\n apply(...args: any[]): void {\n throw new Error(\"Method not implemented.\");\n }\n duration = 1000;\n\n\n animate({\n timing,\n draw,\n duration\n }: TEffectParams): void {\n const _self: this = this;\n\n const start = performance.now();\n\n requestAnimationFrame(function animate(time) {\n // timeFraction goes from 0 to 1\n let timeFraction = (time - start) / duration;\n if (timeFraction > 1) timeFraction = 1;\n\n // calculate the current animation state\n const progress = timing(timeFraction);\n\n draw(Math.round(progress * 100)); // draw it\n\n if (timeFraction < 1) {\n requestAnimationFrame(animate);\n } else {\n // if this is an object with a done method\n if (typeof _self !== \"undefined\" &&\n _self !== null &&\n Object.hasOwn(_self, \"done\") &&\n (typeof _self.done).toLowerCase() === \"function\") {\n _self.done.call(_self);\n }\n }\n\n });\n }\n\n}\n\n\nPackage(\"com.qcobjects.effects.base\", [\n Effect\n]);\n\n(_methods_)(ClassFactory(\"Effect\")).map((__c__): any => {\n (_protected_code_)(__c__);\n return __c__;\n});\n\nexport { Effect };", "import { Effect } from \"./Effect\";\nimport { logger } from \"./Logger\";\nimport { Package } from \"./Package\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { ITransitionEffect, IComponent, TTransitionEffectParams } from \"types\";\n\nexport class TransitionEffect extends Effect implements ITransitionEffect{\n duration = 385;\n defaultParams = {\n alphaFrom: 0,\n alphaTo: 1,\n angleFrom: 180,\n angleTo: 0,\n radiusFrom: 0,\n radiusTo: 30,\n scaleFrom: 0,\n scaleTo: 1\n };\n\n fitToHeight = false;\n fitToWidth = false;\n\n component!: IComponent;\n effects!: string[];\n\n apply({\n alphaFrom,\n alphaTo,\n angleFrom,\n angleTo,\n radiusFrom,\n radiusTo,\n scaleFrom,\n scaleTo\n }: TTransitionEffectParams):void {\n const _transition_ = this;\n logger.info(\"EXECUTING TransitionEffect \");\n const componentRoot =_transition_.component.componentRoot;\n\n if (typeof componentRoot !== \"undefined\" && componentRoot !== null){\n if (_transition_.fitToHeight) {\n (componentRoot as any).height = (typeof (componentRoot as HTMLElement).offsetParent === \"object\" && (componentRoot as HTMLElement).offsetParent !== null) ? ((componentRoot as HTMLElement).offsetParent?.scrollHeight) : ((componentRoot as HTMLElement).getBoundingClientRect().height);\n }\n if (_transition_.fitToWidth) {\n (componentRoot as any).width = (typeof (componentRoot as HTMLElement).offsetParent === \"object\" && (componentRoot as HTMLElement).offsetParent !== null) ? ((componentRoot as HTMLElement).offsetParent?.scrollWidth) : ((componentRoot as HTMLElement).getBoundingClientRect().width);\n }\n if (_transition_.component.shadowed){\n ((componentRoot as ShadowRoot).host as HTMLElement).style.display = \"block\";\n } else {\n (componentRoot as HTMLElement).style.display = \"block\";\n }\n _transition_.effects.map( (effectClassName:string):string => {\n\n const __effectClass__ = ClassFactory(effectClassName) as unknown as typeof Effect;\n const effectObj = new __effectClass__({});\n const effectClassMethod = effectObj.apply.bind(_transition_);\n const componentHost = (_transition_.component.shadowed)? ((componentRoot as ShadowRoot).host) : (componentRoot);\n const effectParams = {\n alphaFrom,\n alphaTo,\n angleFrom,\n angleTo,\n radiusFrom,\n radiusTo,\n scaleFrom,\n scaleTo\n }; \n effectClassMethod(componentHost,...Object.values(effectParams));\n return effectClassName;\n });\n \n }\n\n }\n\n}\n\nPackage(\"com.qcobjects.effects.transitions.base\", [\n TransitionEffect\n]);\n", "import { ITimer, TTimerParams } from \"types\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\n\nexport class Timer extends InheritClass implements ITimer {\n\n\n duration = 1000;\n alive = true;\n thread({\n timing,\n intervalInterceptor,\n duration\n }:TTimerParams):void {\n const timer = this;\n\n const start = performance.now();\n\n requestAnimationFrame(function thread(time) {\n // timeFraction goes from 0 to 1\n const elapsed = (time - start);\n let timeFraction = elapsed / duration;\n if (timeFraction > 1) timeFraction = 1;\n\n // calculate the current progress state\n const progress = timing(timeFraction, elapsed);\n\n intervalInterceptor(Math.round(progress * 100)); // draw it\n\n if ((timeFraction < 1 || duration === -1) && timer.alive) {\n requestAnimationFrame(thread);\n }\n\n });\n }\n\n\n }\n\nPackage(\"com.qcobjects.timing\", [\n Timer\n ]);\n", "import { TDDOParams } from \"types\";\nimport { Export } from \"./Export\";\nimport { InheritClass } from \"./InheritClass\";\nimport { logger } from \"./Logger\";\nimport { ObjectName } from \"./ObjectName\";\n\n/**\n * Dynamic Data Objects Class\n * Usage:\n * Class('TestDDO',{\n * data: {},\n * _new_ (){\n * this.ddo = New(DDO,{\n * instance:this,\n * name:'data',\n * value:{},\n * fget (value){\n * logger.debug('returned value '+ value );\n * }\n * })\n * }\n * });\n *\n */\nexport class DDO extends InheritClass {\n constructor({\n instance,\n name,\n fget,\n fset,\n value\n }:TDDOParams) {\n super({\n instance,\n name,\n fget,\n fset,\n value\n });\n this._new_({\n instance,\n name,\n fget,\n fset,\n value\n });\n\n }\n\n _new_({\n instance,\n name,\n fget,\n fset\n }:TDDOParams):void {\n const ddoInstance = this;\n var name = (typeof name === \"undefined\") ? (ObjectName(ddoInstance)) : (name);\n\n Object.defineProperty(instance, name, {\n set(val) {\n const _value = val;\n logger.debug(\"value changed \" + name);\n let ret;\n if (typeof fset !== \"undefined\" && typeof fset === \"function\") {\n ret = fset(_value);\n } else {\n ret = _value;\n }\n instance[\"_\" + name] = ret;\n \n },\n get():any {\n const _value = instance[\"_\" + name];\n logger.debug(\"returning value \" + name);\n const is_ddo = (v:any):any => {\n if (typeof v === \"object\" && Object.hasOwn(v, \"value\")) {\n return v.value;\n }\n return v;\n };\n let ret;\n if (typeof fget !== \"undefined\" && typeof fget === \"function\") {\n ret = fget(is_ddo(_value));\n } else {\n ret = is_ddo(_value);\n }\n return ret;\n }\n });\n }\n\n}\nExport(DDO);\n", "import { InheritClass } from \"./InheritClass\";\nimport { logger } from \"./Logger\";\nimport { Package } from \"./Package\";\nexport class Toggle extends InheritClass {\n _toggle = false;\n _inverse = true;\n _positive:Function|null = null;\n _negative:Function|null = null;\n _dispatched:Function|null = null;\n _args = {};\n\n constructor(positive: Function, negative: Function, args: Array<any>) {\n super({positive, negative, args});\n this._new_({positive, negative, args});\n }\n\n changeToggle():void {\n this._toggle = !(this._toggle);\n }\n\n _new_({\n positive,\n negative,\n args\n }:{positive: Function, negative: Function, args: Array<any>}):void {\n this._positive = positive;\n this._negative = negative;\n this._args = args;\n }\n\n fire():Promise<Toggle> {\n const toggle = this;\n var _promise = new Promise<Toggle>(function (resolve, reject) {\n\n if (typeof toggle._positive === \"function\" && typeof toggle._negative === \"function\") {\n if (toggle._inverse) {\n toggle._dispatched = (toggle._toggle) ? (toggle._negative.bind(toggle)) : (toggle._positive.bind(toggle));\n } else {\n toggle._dispatched = (toggle._toggle) ? (toggle._positive.bind(toggle)) : (toggle._negative.bind(toggle));\n }\n toggle._dispatched?.call(toggle, toggle._args);\n resolve.call(_promise, toggle);\n } else {\n logger.debug(\"Toggle functions are not declared\");\n reject.call(_promise, toggle as Toggle);\n }\n return toggle;\n }).then(function (toggle:Toggle) {\n toggle.changeToggle();\n return toggle;\n }).catch(function (e) {\n logger.debug(e.toString());\n return toggle;\n }).finally(()=> {\n return toggle;\n });\n return _promise;\n }\n\n\n}\n\nPackage(\"com.qcobjects.tools.essentials\", [\n Toggle\n]);\n", "export const getDocumentLayout = function ():string|undefined {\n const h = (w:number, h:number) => {\n return w > h ? \"landscape\" : null;\n };\n const v = (w:number, h:number) => {\n return h > w ? \"portrait\" : null;\n };\n const square = (w:number, h:number) => {\n return w === h ? \"square\" : null;\n };\n return [\n h(document.documentElement.clientWidth, document.documentElement.clientHeight),\n v(document.documentElement.clientWidth, document.documentElement.clientHeight),\n square(document.documentElement.clientWidth, document.documentElement.clientHeight)\n ].filter(e => e !== null).pop();\n };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["__getType__", "name", "name", "self", "self", "process", "callback", "args", "service", "URL", "req", "component", "is_file", "_ret_", "self", "e", "_component_", "_component", "standardResponse", "observer", "newComponent", "_top", "_top", "fs", "ready", "self", "shortCode", "func", "exp", "subelements", "_top", "_self", "content", "self", "isBrowser", "requestMethod", "supportedMethods", "context", "context", "_Controller", "toggle", "h"]
|
|
7
7
|
}
|