apprun 3.33.10 → 3.35.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"./jsx-runtime.js","mappings":"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","sources":["webpack://apprun/webpack/universalModuleDefinition","webpack://apprun/./src/app.ts","webpack://apprun/./src/directive.ts","webpack://apprun/./src/vdom-my.ts","webpack://apprun/webpack/bootstrap","webpack://apprun/webpack/runtime/define property getters","webpack://apprun/webpack/runtime/global","webpack://apprun/webpack/runtime/hasOwnProperty shorthand","webpack://apprun/webpack/runtime/make namespace object"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"apprun\"] = factory();\n\telse\n\t\troot[\"apprun\"] = factory();\n})(this, () => {\nreturn ","/**\n * Core AppRun application class and singleton instance\n *\n * This file provides:\n * 1. App class - The core event system implementation with pub/sub capabilities\n * - on(): Subscribe to events\n * - off(): Unsubscribe from events\n * - run(): Publish events synchronously\n * - runAsync(): Publish events asynchronously\n * - query(): Alias for runAsync\n *\n * 2. Default app singleton - Global event bus instance\n * - Created once and reused across the application\n * - Stored in global scope (window/global)\n * - Version tracked to prevent duplicate instances\n *\n * Usage:\n * ```ts\n * // Subscribe to events\n * app.on('event-name', (state, ...args) => {\n * // Handle event\n * });\n *\n * // Publish events\n * app.run('event-name', ...args);\n * ```\n */\n\nimport { EventOptions} from './types'\n\nexport class App {\n\n _events: { [key: string]: Array<{ fn: (...args: any[]) => any, options: EventOptions }> };\n\n public start: any;\n public h: any;\n public createElement: any;\n public render: any;\n public Fragment: any;\n public webComponent: any;\n public safeHTML: any;\n public use_render: any;\n public use_react: any;\n public route: any;\n public use_prettyLink: () => void;\n\n constructor() {\n this._events = {} as { [key: string]: Array<{ fn: (...args: any[]) => any, options: EventOptions }> };\n }\n\n on(name: string, fn: (...args: any[]) => any, options: EventOptions = {}): void {\n this._events[name] = this._events[name] || [];\n this._events[name].push({ fn, options });\n }\n\n off(name: string, fn: (...args: any[]) => any): void {\n const subscribers = this._events[name] || [];\n\n this._events[name] = subscribers.filter((sub) => sub.fn !== fn);\n }\n\n find(name: string): any {\n return this._events[name];\n }\n\n run(name: string, ...args: any[]): number {\n const subscribers = this.getSubscribers(name, this._events);\n console.assert(subscribers && subscribers.length > 0, 'No subscriber for event: ' + name);\n subscribers.forEach((sub) => {\n const { fn, options } = sub;\n if (options.delay) {\n this.delay(name, fn, args, options);\n } else {\n Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n }\n return !sub.options.once;\n });\n\n return subscribers.length;\n }\n\n once(name: string, fn: (...args: any[]) => any, options: EventOptions = {}): void {\n this.on(name, fn, { ...options, once: true });\n }\n\n private delay(name: string, fn: (...args: any[]) => any, args: any[], options: EventOptions): void {\n if (options._t) clearTimeout(options._t);\n options._t = setTimeout(() => {\n clearTimeout(options._t);\n Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n }, options.delay);\n }\n\n runAsync(name: string, ...args: any[]): Promise<any[]> {\n const subscribers = this.getSubscribers(name, this._events);\n console.assert(subscribers && subscribers.length > 0, 'No subscriber for event: ' + name);\n const promises = subscribers.map(sub => {\n const { fn, options } = sub;\n return Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n });\n return Promise.all(promises);\n }\n\n query(name: string, ...args: any[]): Promise<any[]> {\n return this.runAsync(name, ...args);\n }\n\n private getSubscribers(name: string, events: { [key: string]: Array<{ fn: (...args: any[]) => any, options: EventOptions }> }): Array<{ fn: (...args: any[]) => any, options: EventOptions }> {\n const subscribers = events[name] || [];\n\n // Update the list of subscribers by pulling out those which will run once.\n // We must do this update prior to running any of the events in case they\n // cause additional events to be turned off or on.\n events[name] = subscribers.filter((sub) => {\n return !sub.options.once;\n });\n Object.keys(events).filter(evt => evt.endsWith('*') && name.startsWith(evt.replace('*', '')))\n .sort((a, b) => b.length - a.length)\n .forEach(evt => subscribers.push(...events[evt].map(sub => ({\n ...sub,\n options: { ...sub.options, event: name }\n }))));\n return subscribers;\n }\n}\n\nconst AppRunVersions = 'AppRun-3';\nlet _app: App;\nconst root = (typeof window !== 'undefined' ? window :\n typeof global !== 'undefined' ? global :\n typeof self !== 'undefined' ? self : {}) as any;\n\nif (root.app && root._AppRunVersions) {\n _app = root.app;\n} else {\n _app = new App();\n root.app = _app;\n root._AppRunVersions = AppRunVersions;\n}\nexport default _app;\n","/**\n * Component Directives Implementation\n * \n * This file provides built-in directives for components:\n * 1. Event Binding\n * - $on: Bind DOM events to component events\n * - Supports event delegation and parameters\n * - Handles function, string, and array event handlers\n * \n * 2. Two-way Data Binding\n * - $bind: Sync form elements with component state\n * - Handles input types: text, checkbox, radio, select\n * - Automatic value type conversion\n * - Support for complex property paths\n * \n * 3. Custom Directives\n * - Extensible directive system\n * - Processes virtual DOM during rendering\n * - Supports custom attribute directives\n * \n * Usage:\n * ```tsx\n * // Event binding\n * <button $onclick=\"event-name\">Click</button>\n * <input $oninput={e => setState(e.target.value)} />\n * \n * // Two-way binding\n * <input $bind=\"state.property\" />\n * <select $bind=\"selected\">...</select>\n * ```\n */\n\nimport app from './app';\n\nconst getStateValue = (component, name) => {\n return (name ? component['state'][name] : component['state']) || '';\n}\n\nconst setStateValue = (component, name, value) => {\n if (name) {\n const state = component['state'] || {};\n state[name] = value;\n component.setState(state);\n } else {\n component.setState(value);\n }\n}\n\nconst apply_directive = (key: string, props: {}, tag, component) => {\n if (key.startsWith('$on')) {\n const event = props[key];\n key = key.substring(1)\n if (typeof event === 'boolean') {\n props[key] = e => component.run ? component.run(key, e) : app.run(key, e);\n } else if (typeof event === 'string') {\n props[key] = e => component.run ? component.run(event, e) : app.run(event, e);\n } else if (typeof event === 'function') {\n props[key] = e => component.setState(event(component.state, e));\n } else if (Array.isArray(event)) {\n const [handler, ...p] = event;\n if (typeof handler === 'string') {\n props[key] = e => component.run ? component.run(handler, ...p, e) : app.run(handler, ...p, e);\n } else if (typeof handler === 'function') {\n props[key] = e => component.setState(handler(component.state, ...p, e));\n }\n }\n\n } else if (key === '$bind') {\n const type = props['type'] || 'text';\n const name = typeof props[key] === 'string' ? props[key] : props['name'];\n if (tag === 'input') {\n switch (type) {\n case 'checkbox':\n props['checked'] = getStateValue(component, name);\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.checked);\n break;\n case 'radio':\n props['checked'] = getStateValue(component, name) === props['value'];\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.value);\n break;\n case 'number':\n case 'range':\n props['value'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, Number(e.target.value));\n break;\n default:\n props['value'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, e.target.value);\n }\n } else if (tag === 'select') {\n props['value'] = getStateValue(component, name);\n props['onchange'] = e => {\n if (!e.target.multiple) { // multiple selection use $bind on option\n setStateValue(component, name || e.target.name, e.target.value);\n }\n }\n } else if (tag === 'option') {\n props['selected'] = getStateValue(component, name);\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.selected);\n } else if (tag === 'textarea') {\n props['innerHTML'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, e.target.value);\n }\n } else {\n app.run('$', { key, tag, props, component });\n }\n}\n\nconst directive = (vdom, component) => {\n if (Array.isArray(vdom)) {\n return vdom.map(element => directive(element, component));\n } else {\n let { type, tag, props, children } = vdom;\n tag = tag || type;\n children = children || props?.children;\n if (props) Object.keys(props).forEach(key => {\n if (key.startsWith('$')) {\n apply_directive(key, props, tag, component);\n delete props[key];\n }\n });\n if (children) directive(children, component);\n return vdom;\n }\n}\n\nexport default directive;\n","import { VDOM, VNode } from './types';\nimport directive from './directive';\nexport type Element = any; //HTMLElement | SVGSVGElement | SVGElement;\n\nexport function Fragment(props, ...children): any[] {\n return collect(children);\n}\n\nconst ATTR_PROPS = '_props';\n\nfunction collect(children) {\n const ch = [];\n const push = (c) => {\n if (c !== null && c !== undefined && c !== '' && c !== false) {\n ch.push((typeof c === 'function' || typeof c === 'object') ? c : `${c}`);\n }\n }\n children && children.forEach(c => {\n if (Array.isArray(c)) {\n c.forEach(i => push(i));\n } else {\n push(c);\n }\n });\n return ch;\n}\n\nexport function createElement(tag: string | Function | [], props?: {}, ...children) {\n const ch = collect(children);\n if (typeof tag === 'string') return { tag, props, children: ch };\n else if (Array.isArray(tag)) return tag; // JSX fragments - babel\n else if (tag === undefined && children) return ch; // JSX fragments - typescript\n else if (Object.getPrototypeOf(tag).__isAppRunComponent) return { tag, props, children: ch } // createComponent(tag, { ...props, children });\n else if (typeof tag === 'function') return tag(props, ch);\n else throw new Error(`Unknown tag in vdom ${tag}`);\n};\n\nconst keyCache = new WeakMap();\n\nexport const updateElement = (element: Element | string, nodes: VDOM, component = {}) => {\n // tslint:disable-next-line\n if (nodes == null || nodes === false) return;\n const el = (typeof element === 'string' && element) ?\n document.getElementById(element) || document.querySelector(element) : element;\n nodes = directive(nodes, component);\n render(el, nodes, component);\n}\n\nfunction render(element: Element, nodes: VDOM, parent = {}) {\n // tslint:disable-next-line\n if (nodes == null || nodes === false) return;\n nodes = createComponent(nodes, parent);\n if (!element) return;\n const isSvg = element.nodeName === \"SVG\";\n if (Array.isArray(nodes)) {\n updateChildren(element, nodes, isSvg);\n } else {\n updateChildren(element, [nodes], isSvg);\n }\n}\n\nfunction same(el: Element, node: VNode) {\n // if (!el || !node) return false;\n const key1 = el.nodeName;\n const key2 = `${node.tag || ''}`;\n return key1.toUpperCase() === key2.toUpperCase();\n}\n\nfunction update(element: Element, node: VNode, isSvg: boolean) {\n if (node['_op'] === 3) return;\n // console.assert(!!element);\n isSvg = isSvg || node.tag === \"svg\";\n if (!same(element, node)) {\n element.parentNode.replaceChild(create(node, isSvg), element);\n return;\n }\n !(node['_op'] & 2) && updateChildren(element, node.children, isSvg);\n !(node['_op'] & 1) && updateProps(element, node.props, isSvg);\n}\n\nfunction updateChildren(element, children, isSvg: boolean) {\n const old_len = element.childNodes?.length || 0;\n const new_len = children?.length || 0;\n const len = Math.min(old_len, new_len);\n for (let i = 0; i < len; i++) {\n const child = children[i];\n if (child['_op'] === 3) continue;\n const el = element.childNodes[i];\n if (typeof child === 'string') {\n if (el.textContent !== child) {\n if (el.nodeType === 3) {\n el.nodeValue = child\n } else {\n element.replaceChild(createText(child), el);\n }\n }\n } else if (child instanceof HTMLElement || child instanceof SVGElement) {\n element.insertBefore(child, el);\n } else {\n const key = child.props && child.props['key'];\n if (key) {\n if (el.key === key) {\n update(element.childNodes[i], child, isSvg);\n } else {\n // console.log(el.key, key);\n const old = keyCache[key];\n if (old) {\n const temp = old.nextSibling;\n element.insertBefore(old, el);\n temp ? element.insertBefore(el, temp) : element.appendChild(el);\n update(element.childNodes[i], child, isSvg);\n } else {\n element.replaceChild(create(child, isSvg), el);\n }\n }\n } else {\n update(element.childNodes[i], child, isSvg);\n }\n }\n }\n\n let n = element.childNodes?.length || 0;\n while (n > len) {\n element.removeChild(element.lastChild);\n n--;\n }\n\n if (new_len > len) {\n const d = document.createDocumentFragment();\n for (let i = len; i < children.length; i++) {\n d.appendChild(create(children[i], isSvg));\n }\n element.appendChild(d);\n }\n}\n\nexport const safeHTML = (html: string) => {\n const div = document.createElement('section');\n div.insertAdjacentHTML('afterbegin', html)\n return Array.from(div.children);\n}\n\nfunction createText(node) {\n if (node?.indexOf('_html:') === 0) { // ?\n const div = document.createElement('div');\n div.insertAdjacentHTML('afterbegin', node.substring(6))\n return div;\n } else {\n return document.createTextNode(node??'');\n }\n}\n\nfunction create(node: VNode | string | HTMLElement | SVGElement, isSvg: boolean): Element {\n // console.assert(node !== null && node !== undefined);\n if ((node instanceof HTMLElement) || (node instanceof SVGElement)) return node;\n if (typeof node === \"string\") return createText(node);\n if (!node.tag || (typeof node.tag === 'function')) return createText(JSON.stringify(node));\n isSvg = isSvg || node.tag === \"svg\";\n const element = isSvg\n ? document.createElementNS(\"http://www.w3.org/2000/svg\", node.tag)\n : document.createElement(node.tag);\n\n updateProps(element, node.props, isSvg);\n if (node.children) node.children.forEach(child => element.appendChild(create(child, isSvg)));\n return element\n}\n\nfunction mergeProps(oldProps: {}, newProps: {}): {} {\n newProps['class'] = newProps['class'] || newProps['className'];\n delete newProps['className'];\n const props = {};\n if (oldProps) Object.keys(oldProps).forEach(p => props[p] = null);\n if (newProps) Object.keys(newProps).forEach(p => props[p] = newProps[p]);\n return props;\n}\n\nexport function updateProps(element: Element, props: {}, isSvg) {\n // console.assert(!!element);\n const cached = element[ATTR_PROPS] || {};\n props = mergeProps(cached, props || {});\n element[ATTR_PROPS] = props;\n\n for (const name in props) {\n const value = props[name];\n // if (cached[name] === value) continue;\n // console.log('updateProps', name, value);\n if (name.startsWith('data-')) {\n const dname = name.substring(5);\n const cname = dname.replace(/-(\\w)/g, (match) => match[1].toUpperCase());\n if (element.dataset[cname] !== value) {\n if (value || value === \"\") element.dataset[cname] = value;\n else delete element.dataset[cname];\n }\n } else if (name === 'style') {\n if (element.style.cssText) element.style.cssText = '';\n if (typeof value === 'string') element.style.cssText = value;\n else {\n for (const s in value) {\n if (element.style[s] !== value[s]) element.style[s] = value[s];\n }\n }\n } else if (name.startsWith('xlink')) {\n const xname = name.replace('xlink', '').toLowerCase();\n if (value == null || value === false) {\n element.removeAttributeNS('http://www.w3.org/1999/xlink', xname);\n } else {\n element.setAttributeNS('http://www.w3.org/1999/xlink', xname, value);\n }\n } else if (name.startsWith('on')) {\n if (!value || typeof value === 'function') {\n element[name] = value;\n } else if (typeof value === 'string') {\n if (value) element.setAttribute(name, value);\n else element.removeAttribute(name);\n }\n } else if (/^id$|^class$|^list$|^readonly$|^contenteditable$|^role|-|^for$/g.test(name) || isSvg) {\n if (element.getAttribute(name) !== value) {\n if (value) element.setAttribute(name, value);\n else element.removeAttribute(name);\n }\n } else if (element[name] !== value) {\n element[name] = value;\n }\n if (name === 'key' && value) keyCache[value] = element;\n }\n if (props && typeof props['ref'] === 'function') {\n window.requestAnimationFrame(() => props['ref'](element));\n }\n}\n\nfunction render_component(node, parent, idx) {\n const { tag, props, children } = node;\n let key = `_${idx}`;\n let id = props && props['id'];\n if (!id) id = `_${idx}${Date.now()}`;\n else key = id;\n let asTag = 'section';\n if (props && props['as']) {\n asTag = props['as'];\n delete props['as'];\n }\n if (!parent.__componentCache) parent.__componentCache = {};\n let component = parent.__componentCache[key];\n if (!component || !(component instanceof tag) || !component.element) {\n const element = document.createElement(asTag);\n component = parent.__componentCache[key] = new tag({ ...props, children }).mount(element, { render: true });\n } else {\n component.renderState(component.state);\n }\n if (component.mounted) {\n const new_state = component.mounted(props, children, component.state);\n (typeof new_state !== 'undefined') && component.setState(new_state);\n }\n updateProps(component.element, props, false);\n return component.element;\n}\n\nfunction createComponent(node, parent, idx = 0) {\n if (typeof node === 'string') return node;\n if (Array.isArray(node)) return node.map(child => createComponent(child, parent, idx++));\n let vdom = node;\n if (node && typeof node.tag === 'function' && Object.getPrototypeOf(node.tag).__isAppRunComponent) {\n vdom = render_component(node, parent, idx);\n }\n if (vdom && Array.isArray(vdom.children)) {\n const new_parent = vdom.props?._component;\n if (new_parent) {\n let i = 0;\n vdom.children = vdom.children.map(child => createComponent(child, new_parent, i++));\n } else {\n vdom.children = vdom.children.map(child => createComponent(child, parent, idx++));\n }\n }\n return vdom;\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["root","factory","exports","module","define","amd","this","_app","window","g","self","app","_AppRunVersions","constructor","_events","on","name","fn","options","push","off","subscribers","filter","sub","find","run","args","getSubscribers","console","assert","length","forEach","delay","Object","keys","apply","once","_t","clearTimeout","setTimeout","runAsync","promises","map","Promise","all","query","events","evt","endsWith","startsWith","replace","sort","a","b","event","getStateValue","component","setStateValue","value","state","setState","directive","vdom","Array","isArray","element","type","tag","props","children","key","substring","e","handler","p","target","checked","Number","multiple","selected","apply_directive","Fragment","collect","ATTR_PROPS","ch","c","i","createElement","undefined","getPrototypeOf","__isAppRunComponent","Error","keyCache","WeakMap","updateElement","nodes","parent","createComponent","isSvg","nodeName","updateChildren","render","document","getElementById","querySelector","update","node","el","key1","key2","toUpperCase","same","updateProps","parentNode","replaceChild","create","old_len","childNodes","new_len","len","Math","min","child","textContent","nodeType","nodeValue","createText","HTMLElement","SVGElement","insertBefore","old","temp","nextSibling","appendChild","n","removeChild","lastChild","d","createDocumentFragment","safeHTML","html","div","insertAdjacentHTML","from","indexOf","createTextNode","JSON","stringify","createElementNS","cached","oldProps","newProps","mergeProps","cname","match","dataset","style","cssText","s","xname","toLowerCase","removeAttributeNS","setAttributeNS","setAttribute","removeAttribute","test","getAttribute","requestAnimationFrame","idx","id","Date","now","asTag","__componentCache","renderState","mount","mounted","new_state","render_component","new_parent","_component","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","o","defineProperty","enumerable","get","globalThis","Function","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag"],"sourceRoot":""}
1
+ {"version":3,"file":"./jsx-runtime.js","mappings":"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","sources":["webpack://apprun/webpack/universalModuleDefinition","webpack://apprun/./src/app.ts","webpack://apprun/./src/directive.ts","webpack://apprun/./src/vdom-my.ts","webpack://apprun/webpack/bootstrap","webpack://apprun/webpack/runtime/define property getters","webpack://apprun/webpack/runtime/global","webpack://apprun/webpack/runtime/hasOwnProperty shorthand","webpack://apprun/webpack/runtime/make namespace object"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"apprun\"] = factory();\n\telse\n\t\troot[\"apprun\"] = factory();\n})(this, () => {\nreturn ","/**\n * Core AppRun application class and singleton instance\n *\n * This file provides:\n * 1. App class - The core event system implementation with pub/sub capabilities\n * - on(): Subscribe to events\n * - off(): Unsubscribe from events\n * - run(): Publish events synchronously\n * - runAsync(): Publish events asynchronously\n * - query(): Alias for runAsync\n *\n * 2. Default app singleton - Global event bus instance\n * - Created once and reused across the application\n * - Stored in global scope (window/global)\n * - Version tracked to prevent duplicate instances\n *\n * Usage:\n * ```ts\n * // Subscribe to events\n * app.on('event-name', (state, ...args) => {\n * // Handle event\n * });\n *\n * // Publish events\n * app.run('event-name', ...args);\n * ```\n */\n\nimport { EventOptions } from './types'\n\nexport class App {\n\n _events: { [key: string]: Array<{ fn: (...args: any[]) => any, options: EventOptions }> };\n\n public start: any;\n public h: any;\n public createElement: any;\n public render: any;\n public Fragment: any;\n public webComponent: any;\n public safeHTML: any;\n public use_render: any;\n public use_react: any;\n public route: any;\n\n public version: string;\n\n constructor() {\n this._events = {} as { [key: string]: Array<{ fn: (...args: any[]) => any, options: EventOptions }> };\n }\n\n on(name: string, fn: (...args: any[]) => any, options: EventOptions = {}): void {\n this._events[name] = this._events[name] || [];\n this._events[name].push({ fn, options });\n }\n\n off(name: string, fn: (...args: any[]) => any): void {\n const subscribers = this._events[name] || [];\n\n this._events[name] = subscribers.filter((sub) => sub.fn !== fn);\n }\n\n find(name: string): any {\n return this._events[name];\n }\n\n run(name: string, ...args: any[]): number {\n const subscribers = this.getSubscribers(name, this._events);\n console.assert(subscribers && subscribers.length > 0, 'No subscriber for event: ' + name);\n subscribers.forEach((sub) => {\n const { fn, options } = sub;\n if (options.delay) {\n this.delay(name, fn, args, options);\n } else {\n Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n }\n return !sub.options.once;\n });\n\n return subscribers.length;\n }\n\n once(name: string, fn: (...args: any[]) => any, options: EventOptions = {}): void {\n this.on(name, fn, { ...options, once: true });\n }\n\n private delay(name: string, fn: (...args: any[]) => any, args: any[], options: EventOptions): void {\n if (options._t) clearTimeout(options._t);\n options._t = setTimeout(() => {\n clearTimeout(options._t);\n Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n }, options.delay);\n }\n\n runAsync(name: string, ...args: any[]): Promise<any[]> {\n const subscribers = this.getSubscribers(name, this._events);\n console.assert(subscribers && subscribers.length > 0, 'No subscriber for event: ' + name);\n const promises = subscribers.map(sub => {\n const { fn, options } = sub;\n return Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n });\n return Promise.all(promises);\n }\n\n query(name: string, ...args: any[]): Promise<any[]> {\n return this.runAsync(name, ...args);\n }\n\n private getSubscribers(name: string, events: { [key: string]: Array<{ fn: (...args: any[]) => any, options: EventOptions }> }): Array<{ fn: (...args: any[]) => any, options: EventOptions }> {\n const subscribers = events[name] || [];\n\n // Update the list of subscribers by pulling out those which will run once.\n // We must do this update prior to running any of the events in case they\n // cause additional events to be turned off or on.\n events[name] = subscribers.filter((sub) => {\n return !sub.options.once;\n });\n Object.keys(events).filter(evt => evt.endsWith('*') && name.startsWith(evt.replace('*', '')))\n .sort((a, b) => b.length - a.length)\n .forEach(evt => subscribers.push(...events[evt].map(sub => ({\n ...sub,\n options: { ...sub.options, event: name }\n }))));\n return subscribers;\n }\n}\n\nconst AppRunVersions = 'AppRun-3.3.11';\nlet _app: App;\nconst root = (typeof window !== 'undefined' ? window :\n typeof global !== 'undefined' ? global :\n typeof self !== 'undefined' ? self : {}) as any;\n\nif (root.app && root._AppRunVersions) {\n _app = root.app;\n} else {\n _app = new App();\n root.app = _app;\n root._AppRunVersions = AppRunVersions;\n}\nexport default _app;\n","/**\n * Component Directives Implementation\n * \n * This file provides built-in directives for components:\n * 1. Event Binding\n * - $on: Bind DOM events to component events\n * - Supports event delegation and parameters\n * - Handles function, string, and array event handlers\n * \n * 2. Two-way Data Binding\n * - $bind: Sync form elements with component state\n * - Handles input types: text, checkbox, radio, select\n * - Automatic value type conversion\n * - Support for complex property paths\n * \n * 3. Custom Directives\n * - Extensible directive system\n * - Processes virtual DOM during rendering\n * - Supports custom attribute directives\n * \n * Usage:\n * ```tsx\n * // Event binding\n * <button $onclick=\"event-name\">Click</button>\n * <input $oninput={e => setState(e.target.value)} />\n * \n * // Two-way binding\n * <input $bind=\"state.property\" />\n * <select $bind=\"selected\">...</select>\n * ```\n */\n\nimport app from './app';\n\nconst getStateValue = (component, name) => {\n return (name ? component['state'][name] : component['state']) || '';\n}\n\nconst setStateValue = (component, name, value) => {\n if (name) {\n const state = component['state'] || {};\n state[name] = value;\n component.setState(state);\n } else {\n component.setState(value);\n }\n}\n\nconst apply_directive = (key: string, props: {}, tag, component) => {\n if (key.startsWith('$on')) {\n const event = props[key];\n key = key.substring(1)\n if (typeof event === 'boolean') {\n props[key] = e => component.run ? component.run(key, e) : app.run(key, e);\n } else if (typeof event === 'string') {\n props[key] = e => component.run ? component.run(event, e) : app.run(event, e);\n } else if (typeof event === 'function') {\n props[key] = e => component.setState(event(component.state, e));\n } else if (Array.isArray(event)) {\n const [handler, ...p] = event;\n if (typeof handler === 'string') {\n props[key] = e => component.run ? component.run(handler, ...p, e) : app.run(handler, ...p, e);\n } else if (typeof handler === 'function') {\n props[key] = e => component.setState(handler(component.state, ...p, e));\n }\n }\n\n } else if (key === '$bind') {\n const type = props['type'] || 'text';\n const name = typeof props[key] === 'string' ? props[key] : props['name'];\n if (tag === 'input') {\n switch (type) {\n case 'checkbox':\n props['checked'] = getStateValue(component, name);\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.checked);\n break;\n case 'radio':\n props['checked'] = getStateValue(component, name) === props['value'];\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.value);\n break;\n case 'number':\n case 'range':\n props['value'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, Number(e.target.value));\n break;\n default:\n props['value'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, e.target.value);\n }\n } else if (tag === 'select') {\n props['value'] = getStateValue(component, name);\n props['onchange'] = e => {\n if (!e.target.multiple) { // multiple selection use $bind on option\n setStateValue(component, name || e.target.name, e.target.value);\n }\n }\n } else if (tag === 'option') {\n props['selected'] = getStateValue(component, name);\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.selected);\n } else if (tag === 'textarea') {\n props['innerHTML'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, e.target.value);\n }\n } else {\n app.run('$', { key, tag, props, component });\n }\n}\n\nconst directive = (vdom, component) => {\n if (Array.isArray(vdom)) {\n return vdom.map(element => directive(element, component));\n } else {\n let { type, tag, props, children } = vdom;\n tag = tag || type;\n children = children || props?.children;\n if (props) Object.keys(props).forEach(key => {\n if (key.startsWith('$')) {\n apply_directive(key, props, tag, component);\n delete props[key];\n }\n });\n if (children) directive(children, component);\n return vdom;\n }\n}\n\nexport default directive;\n","import { VDOM, VNode } from './types';\nimport directive from './directive';\nexport type Element = any; //HTMLElement | SVGSVGElement | SVGElement;\n\nexport function Fragment(props, ...children): any[] {\n return collect(children);\n}\n\nconst ATTR_PROPS = '_props';\n\nfunction collect(children) {\n const ch = [];\n const push = (c) => {\n if (c !== null && c !== undefined && c !== '' && c !== false) {\n ch.push((typeof c === 'function' || typeof c === 'object') ? c : `${c}`);\n }\n }\n children && children.forEach(c => {\n if (Array.isArray(c)) {\n c.forEach(i => push(i));\n } else {\n push(c);\n }\n });\n return ch;\n}\n\nexport function createElement(tag: string | Function | [], props?: {}, ...children) {\n const ch = collect(children);\n if (typeof tag === 'string') return { tag, props, children: ch };\n else if (Array.isArray(tag)) return tag; // JSX fragments - babel\n else if (tag === undefined && children) return ch; // JSX fragments - typescript\n else if (Object.getPrototypeOf(tag).__isAppRunComponent) return { tag, props, children: ch } // createComponent(tag, { ...props, children });\n else if (typeof tag === 'function') return tag(props, ch);\n else throw new Error(`Unknown tag in vdom ${tag}`);\n};\n\nconst keyCache = new WeakMap();\n\nexport const updateElement = (element: Element | string, nodes: VDOM, component = {}) => {\n // tslint:disable-next-line\n if (nodes == null || nodes === false) return;\n const el = (typeof element === 'string' && element) ?\n document.getElementById(element) || document.querySelector(element) : element;\n nodes = directive(nodes, component);\n render(el, nodes, component);\n}\n\nfunction render(element: Element, nodes: VDOM, parent = {}) {\n // tslint:disable-next-line\n if (nodes == null || nodes === false) return;\n nodes = createComponent(nodes, parent);\n if (!element) return;\n const isSvg = element.nodeName === \"SVG\";\n if (Array.isArray(nodes)) {\n updateChildren(element, nodes, isSvg);\n } else {\n updateChildren(element, [nodes], isSvg);\n }\n}\n\nfunction same(el: Element, node: VNode) {\n // if (!el || !node) return false;\n const key1 = el.nodeName;\n const key2 = `${node.tag || ''}`;\n return key1.toUpperCase() === key2.toUpperCase();\n}\n\nfunction update(element: Element, node: VNode, isSvg: boolean) {\n if (node['_op'] === 3) return;\n // console.assert(!!element);\n isSvg = isSvg || node.tag === \"svg\";\n if (!same(element, node)) {\n element.parentNode.replaceChild(create(node, isSvg), element);\n return;\n }\n !(node['_op'] & 2) && updateChildren(element, node.children, isSvg);\n !(node['_op'] & 1) && updateProps(element, node.props, isSvg);\n}\n\nfunction updateChildren(element, children, isSvg: boolean) {\n const old_len = element.childNodes?.length || 0;\n const new_len = children?.length || 0;\n const len = Math.min(old_len, new_len);\n for (let i = 0; i < len; i++) {\n const child = children[i];\n if (child['_op'] === 3) continue;\n const el = element.childNodes[i];\n if (typeof child === 'string') {\n if (el.textContent !== child) {\n if (el.nodeType === 3) {\n el.nodeValue = child\n } else {\n element.replaceChild(createText(child), el);\n }\n }\n } else if (child instanceof HTMLElement || child instanceof SVGElement) {\n element.insertBefore(child, el);\n } else {\n const key = child.props && child.props['key'];\n if (key) {\n if (el.key === key) {\n update(element.childNodes[i], child, isSvg);\n } else {\n // console.log(el.key, key);\n const old = keyCache[key];\n if (old) {\n const temp = old.nextSibling;\n element.insertBefore(old, el);\n temp ? element.insertBefore(el, temp) : element.appendChild(el);\n update(element.childNodes[i], child, isSvg);\n } else {\n element.replaceChild(create(child, isSvg), el);\n }\n }\n } else {\n update(element.childNodes[i], child, isSvg);\n }\n }\n }\n\n let n = element.childNodes?.length || 0;\n while (n > len) {\n element.removeChild(element.lastChild);\n n--;\n }\n\n if (new_len > len) {\n const d = document.createDocumentFragment();\n for (let i = len; i < children.length; i++) {\n d.appendChild(create(children[i], isSvg));\n }\n element.appendChild(d);\n }\n}\n\nexport const safeHTML = (html: string) => {\n const div = document.createElement('section');\n div.insertAdjacentHTML('afterbegin', html)\n return Array.from(div.children);\n}\n\nfunction createText(node) {\n if (node?.indexOf('_html:') === 0) { // ?\n const div = document.createElement('div');\n div.insertAdjacentHTML('afterbegin', node.substring(6))\n return div;\n } else {\n return document.createTextNode(node??'');\n }\n}\n\nfunction create(node: VNode | string | HTMLElement | SVGElement, isSvg: boolean): Element {\n // console.assert(node !== null && node !== undefined);\n if ((node instanceof HTMLElement) || (node instanceof SVGElement)) return node;\n if (typeof node === \"string\") return createText(node);\n if (!node.tag || (typeof node.tag === 'function')) return createText(JSON.stringify(node));\n isSvg = isSvg || node.tag === \"svg\";\n const element = isSvg\n ? document.createElementNS(\"http://www.w3.org/2000/svg\", node.tag)\n : document.createElement(node.tag);\n\n updateProps(element, node.props, isSvg);\n if (node.children) node.children.forEach(child => element.appendChild(create(child, isSvg)));\n return element\n}\n\nfunction mergeProps(oldProps: {}, newProps: {}): {} {\n newProps['class'] = newProps['class'] || newProps['className'];\n delete newProps['className'];\n const props = {};\n if (oldProps) Object.keys(oldProps).forEach(p => props[p] = null);\n if (newProps) Object.keys(newProps).forEach(p => props[p] = newProps[p]);\n return props;\n}\n\nexport function updateProps(element: Element, props: {}, isSvg) {\n // console.assert(!!element);\n const cached = element[ATTR_PROPS] || {};\n props = mergeProps(cached, props || {});\n element[ATTR_PROPS] = props;\n\n for (const name in props) {\n const value = props[name];\n // if (cached[name] === value) continue;\n // console.log('updateProps', name, value);\n if (name.startsWith('data-')) {\n const dname = name.substring(5);\n const cname = dname.replace(/-(\\w)/g, (match) => match[1].toUpperCase());\n if (element.dataset[cname] !== value) {\n if (value || value === \"\") element.dataset[cname] = value;\n else delete element.dataset[cname];\n }\n } else if (name === 'style') {\n if (element.style.cssText) element.style.cssText = '';\n if (typeof value === 'string') element.style.cssText = value;\n else {\n for (const s in value) {\n if (element.style[s] !== value[s]) element.style[s] = value[s];\n }\n }\n } else if (name.startsWith('xlink')) {\n const xname = name.replace('xlink', '').toLowerCase();\n if (value == null || value === false) {\n element.removeAttributeNS('http://www.w3.org/1999/xlink', xname);\n } else {\n element.setAttributeNS('http://www.w3.org/1999/xlink', xname, value);\n }\n } else if (name.startsWith('on')) {\n if (!value || typeof value === 'function') {\n element[name] = value;\n } else if (typeof value === 'string') {\n if (value) element.setAttribute(name, value);\n else element.removeAttribute(name);\n }\n } else if (/^id$|^class$|^list$|^readonly$|^contenteditable$|^role|-|^for$/g.test(name) || isSvg) {\n if (element.getAttribute(name) !== value) {\n if (value) element.setAttribute(name, value);\n else element.removeAttribute(name);\n }\n } else if (element[name] !== value) {\n element[name] = value;\n }\n if (name === 'key' && value) keyCache[value] = element;\n }\n if (props && typeof props['ref'] === 'function') {\n window.requestAnimationFrame(() => props['ref'](element));\n }\n}\n\nfunction render_component(node, parent, idx) {\n const { tag, props, children } = node;\n let key = `_${idx}`;\n let id = props && props['id'];\n if (!id) id = `_${idx}${Date.now()}`;\n else key = id;\n let asTag = 'section';\n if (props && props['as']) {\n asTag = props['as'];\n delete props['as'];\n }\n if (!parent.__componentCache) parent.__componentCache = {};\n let component = parent.__componentCache[key];\n if (!component || !(component instanceof tag) || !component.element) {\n const element = document.createElement(asTag);\n component = parent.__componentCache[key] = new tag({ ...props, children }).mount(element, { render: true });\n } else {\n component.renderState(component.state);\n }\n if (component.mounted) {\n const new_state = component.mounted(props, children, component.state);\n (typeof new_state !== 'undefined') && component.setState(new_state);\n }\n updateProps(component.element, props, false);\n return component.element;\n}\n\nfunction createComponent(node, parent, idx = 0) {\n if (typeof node === 'string') return node;\n if (Array.isArray(node)) return node.map(child => createComponent(child, parent, idx++));\n let vdom = node;\n if (node && typeof node.tag === 'function' && Object.getPrototypeOf(node.tag).__isAppRunComponent) {\n vdom = render_component(node, parent, idx);\n }\n if (vdom && Array.isArray(vdom.children)) {\n const new_parent = vdom.props?._component;\n if (new_parent) {\n let i = 0;\n vdom.children = vdom.children.map(child => createComponent(child, new_parent, i++));\n } else {\n vdom.children = vdom.children.map(child => createComponent(child, parent, idx++));\n }\n }\n return vdom;\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["root","factory","exports","module","define","amd","this","_app","window","g","self","app","_AppRunVersions","constructor","_events","on","name","fn","options","push","off","subscribers","filter","sub","find","run","args","getSubscribers","console","assert","length","forEach","delay","Object","keys","apply","once","_t","clearTimeout","setTimeout","runAsync","promises","map","Promise","all","query","events","evt","endsWith","startsWith","replace","sort","a","b","event","getStateValue","component","setStateValue","value","state","setState","directive","vdom","Array","isArray","element","type","tag","props","children","key","substring","e","handler","p","target","checked","Number","multiple","selected","apply_directive","Fragment","collect","ATTR_PROPS","ch","c","i","createElement","undefined","getPrototypeOf","__isAppRunComponent","Error","keyCache","WeakMap","updateElement","nodes","parent","createComponent","isSvg","nodeName","updateChildren","render","document","getElementById","querySelector","update","node","el","key1","key2","toUpperCase","same","updateProps","parentNode","replaceChild","create","old_len","childNodes","new_len","len","Math","min","child","textContent","nodeType","nodeValue","createText","HTMLElement","SVGElement","insertBefore","old","temp","nextSibling","appendChild","n","removeChild","lastChild","d","createDocumentFragment","safeHTML","html","div","insertAdjacentHTML","from","indexOf","createTextNode","JSON","stringify","createElementNS","cached","oldProps","newProps","mergeProps","cname","match","dataset","style","cssText","s","xname","toLowerCase","removeAttributeNS","setAttributeNS","setAttribute","removeAttribute","test","getAttribute","requestAnimationFrame","idx","id","Date","now","asTag","__componentCache","renderState","mount","mounted","new_state","render_component","new_parent","_component","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","o","defineProperty","enumerable","get","globalThis","Function","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag"],"sourceRoot":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apprun",
3
- "version": "3.33.10",
3
+ "version": "3.35.0",
4
4
  "description": "JavaScript library that has Elm inspired architecture, event pub-sub and components",
5
5
  "main": "dist/apprun.js",
6
6
  "module": "esm/apprun.js",
package/src/app.ts CHANGED
@@ -26,7 +26,7 @@
26
26
  * ```
27
27
  */
28
28
 
29
- import { EventOptions} from './types'
29
+ import { EventOptions } from './types'
30
30
 
31
31
  export class App {
32
32
 
@@ -42,7 +42,8 @@ export class App {
42
42
  public use_render: any;
43
43
  public use_react: any;
44
44
  public route: any;
45
- public use_prettyLink: () => void;
45
+
46
+ public version: string;
46
47
 
47
48
  constructor() {
48
49
  this._events = {} as { [key: string]: Array<{ fn: (...args: any[]) => any, options: EventOptions }> };
@@ -124,11 +125,11 @@ export class App {
124
125
  }
125
126
  }
126
127
 
127
- const AppRunVersions = 'AppRun-3';
128
+ const AppRunVersions = 'AppRun-3.3.11';
128
129
  let _app: App;
129
130
  const root = (typeof window !== 'undefined' ? window :
130
- typeof global !== 'undefined' ? global :
131
- typeof self !== 'undefined' ? self : {}) as any;
131
+ typeof global !== 'undefined' ? global :
132
+ typeof self !== 'undefined' ? self : {}) as any;
132
133
 
133
134
  if (root.app && root._AppRunVersions) {
134
135
  _app = root.app;
package/src/apprun.ts CHANGED
@@ -85,6 +85,9 @@ export interface IApp {
85
85
  }
86
86
 
87
87
  if (!app.start) {
88
+
89
+ app.version = '3.35.0';
90
+
88
91
  app.h = app.createElement = createElement;
89
92
  app.render = render;
90
93
  app.Fragment = Fragment;
@@ -102,18 +105,36 @@ if (!app.start) {
102
105
  };
103
106
 
104
107
  const NOOP = _ => {/* Intentionally empty */ }
105
- app.on('$', NOOP);
108
+ // app.on('$', NOOP);
106
109
  app.on('debug', _ => NOOP);
107
110
  app.on(ROUTER_EVENT, NOOP);
108
- app.on('#', NOOP);
109
- app['route'] = route;
111
+ app.on(ROUTER_404_EVENT, NOOP);
112
+ app.route = route;
110
113
  app.on('route', url => app['route'] && app['route'](url));
111
114
 
112
115
  if (typeof document === 'object') {
113
116
  document.addEventListener("DOMContentLoaded", () => {
114
- if (app['route'] === route) {
115
- window.onpopstate = () => route(location.hash);
116
- document.body.hasAttribute('apprun-no-init') || app['no-init-route'] || route(location.hash);
117
+ const init_load = document.body.hasAttribute('apprun-no-init') || app['no-init-route'] || false;
118
+ const use_hash = app.find('#') || app.find('#/') || false;
119
+
120
+ // console.log(`AppRun ${app.version} started with ${use_hash ? 'hash' : 'path'} routing. Initial load: ${init_load ? 'disabled' : 'enabled'}.`);
121
+ window.addEventListener('hashchange', () => route(location.hash));
122
+ window.addEventListener('popstate', () => route(location.pathname));
123
+
124
+ if (use_hash) {
125
+ init_load && route(location.hash);
126
+ } else {
127
+ init_load && route(location.pathname);
128
+ document.body.addEventListener('click', e => {
129
+ const element = e.target as HTMLElement;
130
+ const menu = (element.tagName === 'A' ? element : element.closest('a')) as HTMLAnchorElement;
131
+ if (menu &&
132
+ menu.origin === location.origin) {
133
+ e.preventDefault();
134
+ history.pushState(null, '', menu.pathname);
135
+ route(menu.pathname);
136
+ }
137
+ });
117
138
  }
118
139
  });
119
140
  }
@@ -151,19 +172,4 @@ if (!app.start) {
151
172
  }
152
173
  }
153
174
  }
154
-
155
- app.use_prettyLink = () => {
156
- window.onload = () => app.route(location.pathname);
157
- window.addEventListener("popstate", () => app.route(location.pathname));
158
- document.body.addEventListener('click', e => {
159
- const element = e.target as HTMLElement;
160
- const menu = (element.tagName === 'A' ? element : element.closest('a')) as HTMLAnchorElement;
161
- if (menu &&
162
- menu.origin === location.origin) {
163
- e.preventDefault();
164
- history.pushState(null, '', menu.pathname);
165
- app.route(menu.pathname);
166
- }
167
- });
168
- }
169
175
  }
package/src/router.ts CHANGED
@@ -29,8 +29,9 @@ export type Route = (url: string, ...args: any[]) => any;
29
29
 
30
30
  export const ROUTER_EVENT: string = '//';
31
31
  export const ROUTER_404_EVENT: string = '///';
32
-
33
32
  export const route: Route = (url: string) => {
33
+ if (app['lastUrl'] === url) return; // Prevent duplicate routing
34
+ app['lastUrl'] = url;
34
35
  if (!url) url = '#';
35
36
  if (url.startsWith('#')) {
36
37
  const [name, ...rest] = url.split('/');