frosty 0.0.158 → 0.0.159
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/dist/_native.d.mts +3 -3
- package/dist/_native.d.mts.map +1 -1
- package/dist/_native.d.ts +3 -3
- package/dist/_native.d.ts.map +1 -1
- package/dist/_native.js +5 -5
- package/dist/_native.js.map +1 -1
- package/dist/_native.mjs +4 -4
- package/dist/dom.d.mts +3 -3
- package/dist/dom.d.mts.map +1 -1
- package/dist/dom.d.ts +3 -3
- package/dist/dom.d.ts.map +1 -1
- package/dist/dom.js +4 -4
- package/dist/dom.mjs +4 -4
- package/dist/i18n.d.mts.map +1 -1
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +3 -3
- package/dist/i18n.mjs +3 -3
- package/dist/index.d.mts +4 -4
- package/dist/index.d.mts.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -7
- package/dist/index.mjs +7 -7
- package/dist/internals/{callback-DEKCuARB.mjs → callback-8cBbAwKI.mjs} +3 -3
- package/dist/internals/{callback-DEKCuARB.mjs.map → callback-8cBbAwKI.mjs.map} +1 -1
- package/dist/internals/{callback-DVD1MTA9.js → callback-l1HafY8p.js} +2 -2
- package/dist/internals/{callback-DVD1MTA9.js.map → callback-l1HafY8p.js.map} +1 -1
- package/dist/internals/{common-BMp06ZN_.d.mts → common-uQrs1G5-.d.mts} +2 -2
- package/dist/internals/common-uQrs1G5-.d.mts.map +1 -0
- package/dist/internals/{common-BMp06ZN_.d.ts → common-uQrs1G5-.d.ts} +2 -2
- package/dist/internals/common-uQrs1G5-.d.ts.map +1 -0
- package/dist/internals/{form-CC8A5nkh.js → form-CgyPc937.js} +3 -3
- package/dist/internals/{form-CC8A5nkh.js.map → form-CgyPc937.js.map} +1 -1
- package/dist/internals/{form-Cee86QUZ.mjs → form-DAr0GAYA.mjs} +3 -3
- package/dist/internals/{form-Cee86QUZ.mjs.map → form-DAr0GAYA.mjs.map} +1 -1
- package/dist/internals/{runtime-Bpq-U9sI.mjs → fragment-DnpshXqL.mjs} +32 -32
- package/dist/internals/fragment-DnpshXqL.mjs.map +1 -0
- package/dist/internals/{fragment-Dhp_GJso.d.mts → fragment-DuyNMgL3.d.mts} +2 -2
- package/dist/internals/fragment-DuyNMgL3.d.mts.map +1 -0
- package/dist/internals/{fragment-C8nMwgq0.d.ts → fragment-HkiF2xeJ.d.ts} +2 -2
- package/dist/internals/fragment-HkiF2xeJ.d.ts.map +1 -0
- package/dist/internals/{runtime-CeVOFcK_.js → fragment-JOzjl1Lc.js} +32 -32
- package/dist/internals/fragment-JOzjl1Lc.js.map +1 -0
- package/dist/internals/{index-Bvwj3lIq.js → index-BnS7TiLo.js} +52 -52
- package/dist/internals/{index-Bvwj3lIq.js.map → index-BnS7TiLo.js.map} +1 -1
- package/dist/internals/{index-CUCYNdr9.d.ts → index-CdMvWgIS.d.ts} +3 -3
- package/dist/internals/index-CdMvWgIS.d.ts.map +1 -0
- package/dist/internals/{index-CODWK-gF.mjs → index-CoURz_S4.mjs} +50 -50
- package/dist/internals/{index-CODWK-gF.mjs.map → index-CoURz_S4.mjs.map} +1 -1
- package/dist/internals/{index-CgIOFVc1.d.mts → index-D_01nFU0.d.mts} +3 -3
- package/dist/internals/index-D_01nFU0.d.mts.map +1 -0
- package/dist/internals/{renderer-C5NIsxDg.js → renderer-CRX8gzMA.js} +5 -5
- package/dist/internals/{renderer-C5NIsxDg.js.map → renderer-CRX8gzMA.js.map} +1 -1
- package/dist/internals/{renderer-DaX4zUo8.mjs → renderer-CoINnhjj.mjs} +3 -3
- package/dist/internals/{renderer-DaX4zUo8.mjs.map → renderer-CoINnhjj.mjs.map} +1 -1
- package/dist/internals/{renderer-DR_CVQzd.js → renderer-CoiNiH-1.js} +4 -4
- package/dist/internals/{renderer-DR_CVQzd.js.map → renderer-CoiNiH-1.js.map} +1 -1
- package/dist/internals/{renderer-BFv842Qz.d.ts → renderer-DWRFEffh.d.ts} +3 -3
- package/dist/internals/renderer-DWRFEffh.d.ts.map +1 -0
- package/dist/internals/{renderer-BvM6i6Cl.mjs → renderer-DXQYsBvG.mjs} +4 -4
- package/dist/internals/{renderer-BvM6i6Cl.mjs.map → renderer-DXQYsBvG.mjs.map} +1 -1
- package/dist/internals/{renderer-5Al4VWW1.d.mts → renderer-Qq2yni7e.d.mts} +3 -3
- package/dist/internals/renderer-Qq2yni7e.d.mts.map +1 -0
- package/dist/internals/{utils-BGg0L3IY.d.ts → utils-DeZcxzm0.d.ts} +2 -2
- package/dist/internals/utils-DeZcxzm0.d.ts.map +1 -0
- package/dist/internals/{utils-qS8tRYZD.d.mts → utils-LlN8w8CJ.d.mts} +2 -2
- package/dist/internals/utils-LlN8w8CJ.d.mts.map +1 -0
- package/dist/jsx-dev-runtime.d.mts +2 -2
- package/dist/jsx-dev-runtime.d.mts.map +1 -1
- package/dist/jsx-dev-runtime.d.ts +2 -2
- package/dist/jsx-dev-runtime.d.ts.map +1 -1
- package/dist/jsx-dev-runtime.js +2 -2
- package/dist/jsx-dev-runtime.mjs +1 -1
- package/dist/jsx-runtime.d.mts +2 -2
- package/dist/jsx-runtime.d.mts.map +1 -1
- package/dist/jsx-runtime.d.ts +2 -2
- package/dist/jsx-runtime.d.ts.map +1 -1
- package/dist/jsx-runtime.js +4 -4
- package/dist/jsx-runtime.js.map +1 -1
- package/dist/jsx-runtime.mjs +2 -2
- package/dist/server-dom.d.mts +3 -3
- package/dist/server-dom.d.mts.map +1 -1
- package/dist/server-dom.d.ts +3 -3
- package/dist/server-dom.d.ts.map +1 -1
- package/dist/server-dom.js +4 -4
- package/dist/server-dom.mjs +4 -4
- package/dist/web.d.mts +3 -3
- package/dist/web.d.mts.map +1 -1
- package/dist/web.d.ts +3 -3
- package/dist/web.d.ts.map +1 -1
- package/dist/web.js +6 -6
- package/dist/web.mjs +7 -7
- package/package.json +12 -12
- package/packages/frosty-cli/package.json +13 -13
- package/packages/frosty-cli/webpack.mjs +5 -5
- package/packages/frosty-cli/yarn.lock +1181 -1404
- package/dist/internals/common-BMp06ZN_.d.mts.map +0 -1
- package/dist/internals/common-BMp06ZN_.d.ts.map +0 -1
- package/dist/internals/fragment-C8nMwgq0.d.ts.map +0 -1
- package/dist/internals/fragment-Dhp_GJso.d.mts.map +0 -1
- package/dist/internals/index-CUCYNdr9.d.ts.map +0 -1
- package/dist/internals/index-CgIOFVc1.d.mts.map +0 -1
- package/dist/internals/renderer-5Al4VWW1.d.mts.map +0 -1
- package/dist/internals/renderer-BFv842Qz.d.ts.map +0 -1
- package/dist/internals/runtime-Bpq-U9sI.mjs.map +0 -1
- package/dist/internals/runtime-CeVOFcK_.js.map +0 -1
- package/dist/internals/utils-BGg0L3IY.d.ts.map +0 -1
- package/dist/internals/utils-qS8tRYZD.d.mts.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
|
-
import { U as UpdateManager, V as VNode, _ as _ParentComponent, e as equalDeps } from './index-
|
|
3
|
-
import { N as NativeElementType } from './
|
|
2
|
+
import { U as UpdateManager, V as VNode, _ as _ParentComponent, e as equalDeps } from './index-CoURz_S4.mjs';
|
|
3
|
+
import { N as NativeElementType } from './fragment-DnpshXqL.mjs';
|
|
4
4
|
import nextick from 'nextick';
|
|
5
5
|
|
|
6
6
|
//
|
|
@@ -252,4 +252,4 @@ class _Renderer {
|
|
|
252
252
|
}
|
|
253
253
|
|
|
254
254
|
export { _Renderer as _ };
|
|
255
|
-
//# sourceMappingURL=renderer-
|
|
255
|
+
//# sourceMappingURL=renderer-CoINnhjj.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-DaX4zUo8.mjs","sources":["../../../src/core/renderer.ts"],"sourcesContent":["//\n// renderer.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { UpdateManager, VNode } from './reconciler';\nimport { ComponentNode, NativeElementType } from './types/component';\nimport { equalDeps } from './reconciler/utils';\nimport { _ParentComponent } from './components/pairs';\nimport nextick from 'nextick';\n\nexport abstract class _Renderer<T> {\n\n protected abstract _beforeUpdate(): void;\n\n protected abstract _afterUpdate(): void;\n\n protected abstract _createElement(node: VNode): T;\n\n protected abstract _updateElement(node: VNode, element: T, children: (T | string)[], force?: boolean): void;\n\n protected abstract _destroyElement(node: VNode, element: T): void;\n\n abstract get _server(): boolean;\n\n #renderStorage = new Map<any, any>();\n\n get renderStorage() {\n return this.#renderStorage;\n }\n\n private async _createRoot(\n root: T | null,\n component: ComponentNode,\n options?: {\n skipMount?: boolean;\n nextick?: typeof nextick;\n },\n ) {\n const _nextick = options?.nextick ?? nextick;\n\n type MountState = {\n hook: string;\n deps: any;\n unmount?: () => void;\n };\n\n const elements = new Map<VNode, T>();\n const mountState = new Map<VNode, MountState[]>();\n\n const childrenDeep = function* (node: VNode): Generator<VNode> {\n for (const child of node.children) {\n if (child instanceof VNode) {\n yield child;\n yield* childrenDeep(child);\n }\n }\n };\n\n const nativeChildren = (node: VNode) => {\n const children = function* (\n node: VNode,\n filter?: (x: string | VNode) => boolean\n ): Generator<T | string> {\n for (const child of node.children) {\n if (_.isString(child)) {\n if (filter && !filter(child)) continue;\n yield child;\n } else {\n if (child.error) continue;\n const element = elements.get(child);\n if (!filter || filter(child)) {\n if (element instanceof _ParentComponent) {\n yield* children(child, x => element.isChildNode(x));\n } else if (element) {\n yield element;\n } else {\n yield* children(child);\n }\n } else if (!element) {\n yield* children(child, filter);\n }\n }\n }\n }\n const element = elements.get(node);\n if (element instanceof _ParentComponent) {\n return children(node, x => element.isChildNode(x));\n } else {\n return children(node);\n }\n }\n\n const unmount = (nodes: Iterable<VNode>) => {\n for (const node of nodes) {\n unmount(_.filter(node.children, x => x instanceof VNode));\n node._release();\n const element = elements.get(node);\n const state = mountState.get(node);\n if (element) {\n try {\n this._destroyElement(node, element);\n } catch (e) {\n console.error(e);\n }\n elements.delete(node);\n } else if (state) {\n for (const { unmount } of state) {\n if (unmount) {\n try {\n unmount();\n } catch (e) {\n console.error(e);\n }\n }\n }\n }\n elements.delete(node);\n mountState.delete(node);\n }\n };\n\n const refresh = async (event: UpdateManager, dirty: Set<VNode>[], force: boolean) => {\n\n try {\n this._beforeUpdate();\n } catch (e) {\n console.error(e);\n }\n\n const mount: Set<VNode>[] = [];\n const removed = new Set<VNode>();\n\n for (const _nodes of dirty) {\n const nodes = [..._nodes || []];\n let node;\n while (node = nodes.shift()) {\n for await (const {\n dirty,\n mount: _mount,\n removed: _removed,\n } of await node._render(event, this)) {\n if (dirty) nodes.push(dirty);\n else if (_mount) {\n if (!mount[_mount.level]) mount[_mount.level] = new Set();\n mount[_mount.level].add(_mount);\n } else if (_removed) removed.add(_removed);\n }\n }\n }\n\n for (const nodes of mount.toReversed()) {\n for (const node of nodes || []) {\n if (removed.has(node)) continue;\n if (_.isFunction(node.type) && node.type.prototype instanceof _ParentComponent) {\n let elem: any = elements?.get(node);\n if (!elem) {\n const Component = node.type as any;\n elem = new Component();\n }\n elements.set(node, elem);\n } else if (_.isString(node.type) || node.type?.prototype instanceof NativeElementType) {\n const element = elements.get(node) ?? this._createElement(node);\n elements.set(node, element);\n try {\n this._updateElement(node, element, nativeChildren(node).toArray(), force);\n } catch (e) {\n console.error(e);\n }\n } else {\n const state: MountState[] = [];\n const prevState = mountState.get(node) ?? [];\n const curState = node.state ?? [];\n for (const i of _.range(Math.max(prevState.length, curState.length))) {\n const unmount = prevState[i]?.unmount;\n const changed = prevState[i]?.hook !== curState[i]?.hook || !equalDeps(prevState[i].deps, curState[i]?.deps);\n if (unmount && changed) {\n try {\n unmount();\n } catch (e) {\n console.error(e);\n }\n }\n state.push({\n hook: curState[i].hook,\n deps: curState[i].deps,\n unmount: options?.skipMount || !changed ? prevState[i]?.unmount : (() => {\n try {\n return curState[i].mount?.();\n } catch (e) {\n console.error(e);\n }\n })(),\n });\n }\n mountState.set(node, state);\n }\n }\n }\n\n unmount(removed);\n\n if (root) this._updateElement(\n rootNode, root,\n _.castArray(elements.get(rootNode) ?? nativeChildren(rootNode).toArray()),\n force,\n );\n\n try {\n this._afterUpdate();\n } catch (e) {\n console.error(e);\n }\n };\n\n let destroyed = false;\n let updating = false;\n const event = new UpdateManager(async (event, force) => {\n if (updating) return;\n updating = true;\n if (event.isDirty) {\n const dirty = event._dirty;\n event._dirty = [];\n await refresh(event, dirty, force);\n }\n while (event.isDirty) {\n if (destroyed) return;\n await new Promise<void>(resolve => _nextick(resolve));\n const dirty = event._dirty;\n event._dirty = [];\n await refresh(event, dirty, force);\n }\n updating = false;\n });\n\n const rootNode = new VNode(component);\n event._setDirty(rootNode);\n await event.refresh(true);\n\n return {\n get root() {\n if (root) return root;\n const elems = _.castArray(elements.get(rootNode) ?? nativeChildren(rootNode).toArray());\n const nodes = _.filter(elems, x => !_.isString(x)) as T[];\n return nodes.length === 1 ? nodes[0] : nodes;\n },\n destroy: () => {\n destroyed = true;\n if (root) this._updateElement(rootNode, root, [], true);\n unmount(elements.keys());\n },\n };\n }\n\n createRoot(root?: T) {\n let state: Awaited<ReturnType<typeof this._createRoot>> | undefined;\n return {\n get root() {\n return state?.root;\n },\n mount: async (\n component: ComponentNode,\n options?: {\n skipMount?: boolean;\n nextick?: typeof nextick;\n },\n ) => {\n state = await this._createRoot(root ?? null, component, options);\n },\n unmount: () => {\n state?.destroy();\n state = undefined;\n },\n };\n }\n}"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderer-CoINnhjj.mjs","sources":["../../../src/core/renderer.ts"],"sourcesContent":["//\n// renderer.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { UpdateManager, VNode } from './reconciler';\nimport { ComponentNode, NativeElementType } from './types/component';\nimport { equalDeps } from './reconciler/utils';\nimport { _ParentComponent } from './components/pairs';\nimport nextick from 'nextick';\n\nexport abstract class _Renderer<T> {\n\n protected abstract _beforeUpdate(): void;\n\n protected abstract _afterUpdate(): void;\n\n protected abstract _createElement(node: VNode): T;\n\n protected abstract _updateElement(node: VNode, element: T, children: (T | string)[], force?: boolean): void;\n\n protected abstract _destroyElement(node: VNode, element: T): void;\n\n abstract get _server(): boolean;\n\n #renderStorage = new Map<any, any>();\n\n get renderStorage() {\n return this.#renderStorage;\n }\n\n private async _createRoot(\n root: T | null,\n component: ComponentNode,\n options?: {\n skipMount?: boolean;\n nextick?: typeof nextick;\n },\n ) {\n const _nextick = options?.nextick ?? nextick;\n\n type MountState = {\n hook: string;\n deps: any;\n unmount?: () => void;\n };\n\n const elements = new Map<VNode, T>();\n const mountState = new Map<VNode, MountState[]>();\n\n const childrenDeep = function* (node: VNode): Generator<VNode> {\n for (const child of node.children) {\n if (child instanceof VNode) {\n yield child;\n yield* childrenDeep(child);\n }\n }\n };\n\n const nativeChildren = (node: VNode) => {\n const children = function* (\n node: VNode,\n filter?: (x: string | VNode) => boolean\n ): Generator<T | string> {\n for (const child of node.children) {\n if (_.isString(child)) {\n if (filter && !filter(child)) continue;\n yield child;\n } else {\n if (child.error) continue;\n const element = elements.get(child);\n if (!filter || filter(child)) {\n if (element instanceof _ParentComponent) {\n yield* children(child, x => element.isChildNode(x));\n } else if (element) {\n yield element;\n } else {\n yield* children(child);\n }\n } else if (!element) {\n yield* children(child, filter);\n }\n }\n }\n }\n const element = elements.get(node);\n if (element instanceof _ParentComponent) {\n return children(node, x => element.isChildNode(x));\n } else {\n return children(node);\n }\n }\n\n const unmount = (nodes: Iterable<VNode>) => {\n for (const node of nodes) {\n unmount(_.filter(node.children, x => x instanceof VNode));\n node._release();\n const element = elements.get(node);\n const state = mountState.get(node);\n if (element) {\n try {\n this._destroyElement(node, element);\n } catch (e) {\n console.error(e);\n }\n elements.delete(node);\n } else if (state) {\n for (const { unmount } of state) {\n if (unmount) {\n try {\n unmount();\n } catch (e) {\n console.error(e);\n }\n }\n }\n }\n elements.delete(node);\n mountState.delete(node);\n }\n };\n\n const refresh = async (event: UpdateManager, dirty: Set<VNode>[], force: boolean) => {\n\n try {\n this._beforeUpdate();\n } catch (e) {\n console.error(e);\n }\n\n const mount: Set<VNode>[] = [];\n const removed = new Set<VNode>();\n\n for (const _nodes of dirty) {\n const nodes = [..._nodes || []];\n let node;\n while (node = nodes.shift()) {\n for await (const {\n dirty,\n mount: _mount,\n removed: _removed,\n } of await node._render(event, this)) {\n if (dirty) nodes.push(dirty);\n else if (_mount) {\n if (!mount[_mount.level]) mount[_mount.level] = new Set();\n mount[_mount.level].add(_mount);\n } else if (_removed) removed.add(_removed);\n }\n }\n }\n\n for (const nodes of mount.toReversed()) {\n for (const node of nodes || []) {\n if (removed.has(node)) continue;\n if (_.isFunction(node.type) && node.type.prototype instanceof _ParentComponent) {\n let elem: any = elements?.get(node);\n if (!elem) {\n const Component = node.type as any;\n elem = new Component();\n }\n elements.set(node, elem);\n } else if (_.isString(node.type) || node.type?.prototype instanceof NativeElementType) {\n const element = elements.get(node) ?? this._createElement(node);\n elements.set(node, element);\n try {\n this._updateElement(node, element, nativeChildren(node).toArray(), force);\n } catch (e) {\n console.error(e);\n }\n } else {\n const state: MountState[] = [];\n const prevState = mountState.get(node) ?? [];\n const curState = node.state ?? [];\n for (const i of _.range(Math.max(prevState.length, curState.length))) {\n const unmount = prevState[i]?.unmount;\n const changed = prevState[i]?.hook !== curState[i]?.hook || !equalDeps(prevState[i].deps, curState[i]?.deps);\n if (unmount && changed) {\n try {\n unmount();\n } catch (e) {\n console.error(e);\n }\n }\n state.push({\n hook: curState[i].hook,\n deps: curState[i].deps,\n unmount: options?.skipMount || !changed ? prevState[i]?.unmount : (() => {\n try {\n return curState[i].mount?.();\n } catch (e) {\n console.error(e);\n }\n })(),\n });\n }\n mountState.set(node, state);\n }\n }\n }\n\n unmount(removed);\n\n if (root) this._updateElement(\n rootNode, root,\n _.castArray(elements.get(rootNode) ?? nativeChildren(rootNode).toArray()),\n force,\n );\n\n try {\n this._afterUpdate();\n } catch (e) {\n console.error(e);\n }\n };\n\n let destroyed = false;\n let updating = false;\n const event = new UpdateManager(async (event, force) => {\n if (updating) return;\n updating = true;\n if (event.isDirty) {\n const dirty = event._dirty;\n event._dirty = [];\n await refresh(event, dirty, force);\n }\n while (event.isDirty) {\n if (destroyed) return;\n await new Promise<void>(resolve => _nextick(resolve));\n const dirty = event._dirty;\n event._dirty = [];\n await refresh(event, dirty, force);\n }\n updating = false;\n });\n\n const rootNode = new VNode(component);\n event._setDirty(rootNode);\n await event.refresh(true);\n\n return {\n get root() {\n if (root) return root;\n const elems = _.castArray(elements.get(rootNode) ?? nativeChildren(rootNode).toArray());\n const nodes = _.filter(elems, x => !_.isString(x)) as T[];\n return nodes.length === 1 ? nodes[0] : nodes;\n },\n destroy: () => {\n destroyed = true;\n if (root) this._updateElement(rootNode, root, [], true);\n unmount(elements.keys());\n },\n };\n }\n\n createRoot(root?: T) {\n let state: Awaited<ReturnType<typeof this._createRoot>> | undefined;\n return {\n get root() {\n return state?.root;\n },\n mount: async (\n component: ComponentNode,\n options?: {\n skipMount?: boolean;\n nextick?: typeof nextick;\n },\n ) => {\n state = await this._createRoot(root ?? null, component, options);\n },\n unmount: () => {\n state?.destroy();\n state = undefined;\n },\n };\n }\n}"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _ = require('lodash');
|
|
4
|
-
var index = require('./index-
|
|
5
|
-
var
|
|
4
|
+
var index = require('./index-BnS7TiLo.js');
|
|
5
|
+
var fragment = require('./fragment-JOzjl1Lc.js');
|
|
6
6
|
var nextick = require('nextick');
|
|
7
7
|
|
|
8
8
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -149,7 +149,7 @@ class _Renderer {
|
|
|
149
149
|
}
|
|
150
150
|
elements.set(node, elem);
|
|
151
151
|
}
|
|
152
|
-
else if (___default.default.isString(node.type) || node.type?.prototype instanceof
|
|
152
|
+
else if (___default.default.isString(node.type) || node.type?.prototype instanceof fragment.NativeElementType) {
|
|
153
153
|
const element = elements.get(node) ?? this._createElement(node);
|
|
154
154
|
elements.set(node, element);
|
|
155
155
|
try {
|
|
@@ -259,4 +259,4 @@ class _Renderer {
|
|
|
259
259
|
}
|
|
260
260
|
|
|
261
261
|
exports._Renderer = _Renderer;
|
|
262
|
-
//# sourceMappingURL=renderer-
|
|
262
|
+
//# sourceMappingURL=renderer-CoiNiH-1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-DR_CVQzd.js","sources":["../../../src/core/renderer.ts"],"sourcesContent":["//\n// renderer.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { UpdateManager, VNode } from './reconciler';\nimport { ComponentNode, NativeElementType } from './types/component';\nimport { equalDeps } from './reconciler/utils';\nimport { _ParentComponent } from './components/pairs';\nimport nextick from 'nextick';\n\nexport abstract class _Renderer<T> {\n\n protected abstract _beforeUpdate(): void;\n\n protected abstract _afterUpdate(): void;\n\n protected abstract _createElement(node: VNode): T;\n\n protected abstract _updateElement(node: VNode, element: T, children: (T | string)[], force?: boolean): void;\n\n protected abstract _destroyElement(node: VNode, element: T): void;\n\n abstract get _server(): boolean;\n\n #renderStorage = new Map<any, any>();\n\n get renderStorage() {\n return this.#renderStorage;\n }\n\n private async _createRoot(\n root: T | null,\n component: ComponentNode,\n options?: {\n skipMount?: boolean;\n nextick?: typeof nextick;\n },\n ) {\n const _nextick = options?.nextick ?? nextick;\n\n type MountState = {\n hook: string;\n deps: any;\n unmount?: () => void;\n };\n\n const elements = new Map<VNode, T>();\n const mountState = new Map<VNode, MountState[]>();\n\n const childrenDeep = function* (node: VNode): Generator<VNode> {\n for (const child of node.children) {\n if (child instanceof VNode) {\n yield child;\n yield* childrenDeep(child);\n }\n }\n };\n\n const nativeChildren = (node: VNode) => {\n const children = function* (\n node: VNode,\n filter?: (x: string | VNode) => boolean\n ): Generator<T | string> {\n for (const child of node.children) {\n if (_.isString(child)) {\n if (filter && !filter(child)) continue;\n yield child;\n } else {\n if (child.error) continue;\n const element = elements.get(child);\n if (!filter || filter(child)) {\n if (element instanceof _ParentComponent) {\n yield* children(child, x => element.isChildNode(x));\n } else if (element) {\n yield element;\n } else {\n yield* children(child);\n }\n } else if (!element) {\n yield* children(child, filter);\n }\n }\n }\n }\n const element = elements.get(node);\n if (element instanceof _ParentComponent) {\n return children(node, x => element.isChildNode(x));\n } else {\n return children(node);\n }\n }\n\n const unmount = (nodes: Iterable<VNode>) => {\n for (const node of nodes) {\n unmount(_.filter(node.children, x => x instanceof VNode));\n node._release();\n const element = elements.get(node);\n const state = mountState.get(node);\n if (element) {\n try {\n this._destroyElement(node, element);\n } catch (e) {\n console.error(e);\n }\n elements.delete(node);\n } else if (state) {\n for (const { unmount } of state) {\n if (unmount) {\n try {\n unmount();\n } catch (e) {\n console.error(e);\n }\n }\n }\n }\n elements.delete(node);\n mountState.delete(node);\n }\n };\n\n const refresh = async (event: UpdateManager, dirty: Set<VNode>[], force: boolean) => {\n\n try {\n this._beforeUpdate();\n } catch (e) {\n console.error(e);\n }\n\n const mount: Set<VNode>[] = [];\n const removed = new Set<VNode>();\n\n for (const _nodes of dirty) {\n const nodes = [..._nodes || []];\n let node;\n while (node = nodes.shift()) {\n for await (const {\n dirty,\n mount: _mount,\n removed: _removed,\n } of await node._render(event, this)) {\n if (dirty) nodes.push(dirty);\n else if (_mount) {\n if (!mount[_mount.level]) mount[_mount.level] = new Set();\n mount[_mount.level].add(_mount);\n } else if (_removed) removed.add(_removed);\n }\n }\n }\n\n for (const nodes of mount.toReversed()) {\n for (const node of nodes || []) {\n if (removed.has(node)) continue;\n if (_.isFunction(node.type) && node.type.prototype instanceof _ParentComponent) {\n let elem: any = elements?.get(node);\n if (!elem) {\n const Component = node.type as any;\n elem = new Component();\n }\n elements.set(node, elem);\n } else if (_.isString(node.type) || node.type?.prototype instanceof NativeElementType) {\n const element = elements.get(node) ?? this._createElement(node);\n elements.set(node, element);\n try {\n this._updateElement(node, element, nativeChildren(node).toArray(), force);\n } catch (e) {\n console.error(e);\n }\n } else {\n const state: MountState[] = [];\n const prevState = mountState.get(node) ?? [];\n const curState = node.state ?? [];\n for (const i of _.range(Math.max(prevState.length, curState.length))) {\n const unmount = prevState[i]?.unmount;\n const changed = prevState[i]?.hook !== curState[i]?.hook || !equalDeps(prevState[i].deps, curState[i]?.deps);\n if (unmount && changed) {\n try {\n unmount();\n } catch (e) {\n console.error(e);\n }\n }\n state.push({\n hook: curState[i].hook,\n deps: curState[i].deps,\n unmount: options?.skipMount || !changed ? prevState[i]?.unmount : (() => {\n try {\n return curState[i].mount?.();\n } catch (e) {\n console.error(e);\n }\n })(),\n });\n }\n mountState.set(node, state);\n }\n }\n }\n\n unmount(removed);\n\n if (root) this._updateElement(\n rootNode, root,\n _.castArray(elements.get(rootNode) ?? nativeChildren(rootNode).toArray()),\n force,\n );\n\n try {\n this._afterUpdate();\n } catch (e) {\n console.error(e);\n }\n };\n\n let destroyed = false;\n let updating = false;\n const event = new UpdateManager(async (event, force) => {\n if (updating) return;\n updating = true;\n if (event.isDirty) {\n const dirty = event._dirty;\n event._dirty = [];\n await refresh(event, dirty, force);\n }\n while (event.isDirty) {\n if (destroyed) return;\n await new Promise<void>(resolve => _nextick(resolve));\n const dirty = event._dirty;\n event._dirty = [];\n await refresh(event, dirty, force);\n }\n updating = false;\n });\n\n const rootNode = new VNode(component);\n event._setDirty(rootNode);\n await event.refresh(true);\n\n return {\n get root() {\n if (root) return root;\n const elems = _.castArray(elements.get(rootNode) ?? nativeChildren(rootNode).toArray());\n const nodes = _.filter(elems, x => !_.isString(x)) as T[];\n return nodes.length === 1 ? nodes[0] : nodes;\n },\n destroy: () => {\n destroyed = true;\n if (root) this._updateElement(rootNode, root, [], true);\n unmount(elements.keys());\n },\n };\n }\n\n createRoot(root?: T) {\n let state: Awaited<ReturnType<typeof this._createRoot>> | undefined;\n return {\n get root() {\n return state?.root;\n },\n mount: async (\n component: ComponentNode,\n options?: {\n skipMount?: boolean;\n nextick?: typeof nextick;\n },\n ) => {\n state = await this._createRoot(root ?? null, component, options);\n },\n unmount: () => {\n state?.destroy();\n state = undefined;\n },\n };\n }\n}"],"names":["nextick","_","_ParentComponent","VNode","NativeElementType","equalDeps","UpdateManager"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderer-CoiNiH-1.js","sources":["../../../src/core/renderer.ts"],"sourcesContent":["//\n// renderer.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { UpdateManager, VNode } from './reconciler';\nimport { ComponentNode, NativeElementType } from './types/component';\nimport { equalDeps } from './reconciler/utils';\nimport { _ParentComponent } from './components/pairs';\nimport nextick from 'nextick';\n\nexport abstract class _Renderer<T> {\n\n protected abstract _beforeUpdate(): void;\n\n protected abstract _afterUpdate(): void;\n\n protected abstract _createElement(node: VNode): T;\n\n protected abstract _updateElement(node: VNode, element: T, children: (T | string)[], force?: boolean): void;\n\n protected abstract _destroyElement(node: VNode, element: T): void;\n\n abstract get _server(): boolean;\n\n #renderStorage = new Map<any, any>();\n\n get renderStorage() {\n return this.#renderStorage;\n }\n\n private async _createRoot(\n root: T | null,\n component: ComponentNode,\n options?: {\n skipMount?: boolean;\n nextick?: typeof nextick;\n },\n ) {\n const _nextick = options?.nextick ?? nextick;\n\n type MountState = {\n hook: string;\n deps: any;\n unmount?: () => void;\n };\n\n const elements = new Map<VNode, T>();\n const mountState = new Map<VNode, MountState[]>();\n\n const childrenDeep = function* (node: VNode): Generator<VNode> {\n for (const child of node.children) {\n if (child instanceof VNode) {\n yield child;\n yield* childrenDeep(child);\n }\n }\n };\n\n const nativeChildren = (node: VNode) => {\n const children = function* (\n node: VNode,\n filter?: (x: string | VNode) => boolean\n ): Generator<T | string> {\n for (const child of node.children) {\n if (_.isString(child)) {\n if (filter && !filter(child)) continue;\n yield child;\n } else {\n if (child.error) continue;\n const element = elements.get(child);\n if (!filter || filter(child)) {\n if (element instanceof _ParentComponent) {\n yield* children(child, x => element.isChildNode(x));\n } else if (element) {\n yield element;\n } else {\n yield* children(child);\n }\n } else if (!element) {\n yield* children(child, filter);\n }\n }\n }\n }\n const element = elements.get(node);\n if (element instanceof _ParentComponent) {\n return children(node, x => element.isChildNode(x));\n } else {\n return children(node);\n }\n }\n\n const unmount = (nodes: Iterable<VNode>) => {\n for (const node of nodes) {\n unmount(_.filter(node.children, x => x instanceof VNode));\n node._release();\n const element = elements.get(node);\n const state = mountState.get(node);\n if (element) {\n try {\n this._destroyElement(node, element);\n } catch (e) {\n console.error(e);\n }\n elements.delete(node);\n } else if (state) {\n for (const { unmount } of state) {\n if (unmount) {\n try {\n unmount();\n } catch (e) {\n console.error(e);\n }\n }\n }\n }\n elements.delete(node);\n mountState.delete(node);\n }\n };\n\n const refresh = async (event: UpdateManager, dirty: Set<VNode>[], force: boolean) => {\n\n try {\n this._beforeUpdate();\n } catch (e) {\n console.error(e);\n }\n\n const mount: Set<VNode>[] = [];\n const removed = new Set<VNode>();\n\n for (const _nodes of dirty) {\n const nodes = [..._nodes || []];\n let node;\n while (node = nodes.shift()) {\n for await (const {\n dirty,\n mount: _mount,\n removed: _removed,\n } of await node._render(event, this)) {\n if (dirty) nodes.push(dirty);\n else if (_mount) {\n if (!mount[_mount.level]) mount[_mount.level] = new Set();\n mount[_mount.level].add(_mount);\n } else if (_removed) removed.add(_removed);\n }\n }\n }\n\n for (const nodes of mount.toReversed()) {\n for (const node of nodes || []) {\n if (removed.has(node)) continue;\n if (_.isFunction(node.type) && node.type.prototype instanceof _ParentComponent) {\n let elem: any = elements?.get(node);\n if (!elem) {\n const Component = node.type as any;\n elem = new Component();\n }\n elements.set(node, elem);\n } else if (_.isString(node.type) || node.type?.prototype instanceof NativeElementType) {\n const element = elements.get(node) ?? this._createElement(node);\n elements.set(node, element);\n try {\n this._updateElement(node, element, nativeChildren(node).toArray(), force);\n } catch (e) {\n console.error(e);\n }\n } else {\n const state: MountState[] = [];\n const prevState = mountState.get(node) ?? [];\n const curState = node.state ?? [];\n for (const i of _.range(Math.max(prevState.length, curState.length))) {\n const unmount = prevState[i]?.unmount;\n const changed = prevState[i]?.hook !== curState[i]?.hook || !equalDeps(prevState[i].deps, curState[i]?.deps);\n if (unmount && changed) {\n try {\n unmount();\n } catch (e) {\n console.error(e);\n }\n }\n state.push({\n hook: curState[i].hook,\n deps: curState[i].deps,\n unmount: options?.skipMount || !changed ? prevState[i]?.unmount : (() => {\n try {\n return curState[i].mount?.();\n } catch (e) {\n console.error(e);\n }\n })(),\n });\n }\n mountState.set(node, state);\n }\n }\n }\n\n unmount(removed);\n\n if (root) this._updateElement(\n rootNode, root,\n _.castArray(elements.get(rootNode) ?? nativeChildren(rootNode).toArray()),\n force,\n );\n\n try {\n this._afterUpdate();\n } catch (e) {\n console.error(e);\n }\n };\n\n let destroyed = false;\n let updating = false;\n const event = new UpdateManager(async (event, force) => {\n if (updating) return;\n updating = true;\n if (event.isDirty) {\n const dirty = event._dirty;\n event._dirty = [];\n await refresh(event, dirty, force);\n }\n while (event.isDirty) {\n if (destroyed) return;\n await new Promise<void>(resolve => _nextick(resolve));\n const dirty = event._dirty;\n event._dirty = [];\n await refresh(event, dirty, force);\n }\n updating = false;\n });\n\n const rootNode = new VNode(component);\n event._setDirty(rootNode);\n await event.refresh(true);\n\n return {\n get root() {\n if (root) return root;\n const elems = _.castArray(elements.get(rootNode) ?? nativeChildren(rootNode).toArray());\n const nodes = _.filter(elems, x => !_.isString(x)) as T[];\n return nodes.length === 1 ? nodes[0] : nodes;\n },\n destroy: () => {\n destroyed = true;\n if (root) this._updateElement(rootNode, root, [], true);\n unmount(elements.keys());\n },\n };\n }\n\n createRoot(root?: T) {\n let state: Awaited<ReturnType<typeof this._createRoot>> | undefined;\n return {\n get root() {\n return state?.root;\n },\n mount: async (\n component: ComponentNode,\n options?: {\n skipMount?: boolean;\n nextick?: typeof nextick;\n },\n ) => {\n state = await this._createRoot(root ?? null, component, options);\n },\n unmount: () => {\n state?.destroy();\n state = undefined;\n },\n };\n }\n}"],"names":["nextick","_","_ParentComponent","VNode","NativeElementType","equalDeps","UpdateManager"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { _ as _Renderer, V as VNode } from './index-
|
|
2
|
-
import { N as NativeElementType, a as ComponentNode } from './common-
|
|
1
|
+
import { _ as _Renderer, V as VNode } from './index-CdMvWgIS.js';
|
|
2
|
+
import { N as NativeElementType, a as ComponentNode } from './common-uQrs1G5-.js';
|
|
3
3
|
import { DOMWindow } from 'jsdom';
|
|
4
4
|
|
|
5
5
|
declare abstract class DOMNativeNode extends NativeElementType {
|
|
@@ -34,4 +34,4 @@ declare abstract class _DOMRenderer extends _Renderer<Element | DOMNativeNode> {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
export { DOMNativeNode as D, _DOMRenderer as _ };
|
|
37
|
-
//# sourceMappingURL=renderer-
|
|
37
|
+
//# sourceMappingURL=renderer-DWRFEffh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer-DWRFEffh.d.ts","sources":["../../src/renderer/common/node.ts","../../src/renderer/common/renderer.ts"],"mappings":";;;;AAEA,uBAAuB,aAAa,SAAS,iBAAiB;AAC9D;AACA,wBAAwB,OAAO,kCAAkC,MAAM;AACvE;AACA;AACA;AACA,iCAAiC,OAAO,sBAAsB,SAAS,GAAG,aAAa,4BAA4B,SAAS;AAC5H,yBAAyB,OAAO;AAChC;AACA,gCAAgC,QAAQ,YAAY,YAAY,KAAK,aAAa;AAClF,2BAA2B,OAAO,GAAG,OAAO;AAC5C,2BAA2B,MAAM;AACjC;AACA;AACA,2BAA2B,OAAO,GAAG,aAAa;AAClD;AACA;;ACbA,uBAAuB,YAAY,SAAS,SAAS,CAAC,OAAO,GAAG,aAAa;AAC7E;AACA,wBAAwB,MAAM,GAAG,SAAS;AAC1C,oBAAoB,QAAQ;AAC5B,kBAAkB,MAAM,GAAG,SAAS;AACpC;AACA;AACA,yBAAyB,KAAK,GAAG,OAAO,GAAG,aAAa;AACxD,yBAAyB,KAAK,WAAW,OAAO,GAAG,aAAa,sBAAsB,OAAO,GAAG,aAAa;AAC7G,0BAA0B,KAAK,WAAW,OAAO,GAAG,aAAa;AACjE,8BAA8B,aAAa,GAAG,OAAO;AACrD;;;;","names":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
|
-
import { _ as _Renderer } from './renderer-
|
|
2
|
+
import { _ as _Renderer } from './renderer-CoINnhjj.mjs';
|
|
3
3
|
import postcss from 'postcss';
|
|
4
4
|
import { parse } from 'postcss-js';
|
|
5
5
|
import nested from 'postcss-nested';
|
|
6
|
-
import { u as uniqueId, m as mergeRefs } from './index-
|
|
6
|
+
import { u as uniqueId, m as mergeRefs } from './index-CoURz_S4.mjs';
|
|
7
7
|
import { myersSync } from 'myers.js';
|
|
8
|
-
import { N as NativeElementType } from './
|
|
8
|
+
import { N as NativeElementType } from './fragment-DnpshXqL.mjs';
|
|
9
9
|
|
|
10
10
|
const HTMLElementAttributeMaps = {
|
|
11
11
|
"*": [
|
|
@@ -5999,4 +5999,4 @@ class _DOMRenderer extends _Renderer {
|
|
|
5999
5999
|
}
|
|
6000
6000
|
|
|
6001
6001
|
export { DOMNativeNode as D, _DOMRenderer as _ };
|
|
6002
|
-
//# sourceMappingURL=renderer-
|
|
6002
|
+
//# sourceMappingURL=renderer-DXQYsBvG.mjs.map
|