subay 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sources":["../src/s.ts","../src/h.ts"],"sourcesContent":["interface IUpdater {\r\n (): void;\r\n _whoIOwn: Array<IUpdater>;\r\n _whoINeed: Array<ITrigger>;\r\n _dirty: boolean;\r\n _onCleanupCallback: Array<() => void>;\r\n}\r\n\r\ninterface ITrigger {\r\n _whoNeedMe: Array<IUpdater>;\r\n _data: IO<any>;\r\n _pendingValue: any;\r\n}\r\n\r\ninterface IS<T> {\r\n (): T;\r\n}\r\n\r\ninterface IO<T> {\r\n (): T;\r\n (nextValue: T): T;\r\n}\r\n\r\nlet currentUpdate: IUpdater | undefined = undefined;\r\nconst NoValue: unique symbol = Symbol();\r\nlet triggerQueue: Array<ITrigger> | undefined = undefined;\r\nconst fun2s = new WeakMap<(...args: any[]) => any, IUpdater>();\r\nclass Reactive {}\r\nclass Observable extends Reactive {}\r\nclass Computation extends Reactive {}\r\nconst cProto = new Computation();\r\nconst oProto = new Observable();\r\n\r\nexport const root = <T>(fn: (destroy: () => void) => T): T => {\r\n const backup = currentUpdate;\r\n const rootUpdate: IUpdater = (() => {}) as any;\r\n resetUpdate(rootUpdate);\r\n rootUpdate._dirty = false;\r\n currentUpdate = rootUpdate;\r\n const result = fn(() => {\r\n recycleUpdate(rootUpdate);\r\n currentUpdate = undefined;\r\n });\r\n currentUpdate = backup;\r\n return result;\r\n};\r\nexport const S = <T>(fn: (pv: T | undefined) => T, value?: T): IS<T> => {\r\n const data = () => {\r\n if (update._dirty) {\r\n update();\r\n } else if (currentUpdate) {\r\n update._whoINeed.forEach((t) => t._data());\r\n }\r\n return value as T;\r\n };\r\n Object.setPrototypeOf(data, cProto);\r\n const update: IUpdater = (() => {\r\n const backup = currentUpdate;\r\n recycleUpdate(update);\r\n update._dirty = false;\r\n currentUpdate = update;\r\n value = fn(value);\r\n currentUpdate = backup;\r\n }) as any;\r\n if (currentUpdate) {\r\n currentUpdate._whoIOwn.push(update);\r\n }\r\n resetUpdate(update);\r\n update();\r\n fun2s.set(fn, update);\r\n return data;\r\n};\r\nexport const o = <T>(value: T): IO<T> => {\r\n function data(): T;\r\n function data(nextValue: T): T;\r\n function data(nextValue?: T) {\r\n if (arguments.length === 0) {\r\n if (currentUpdate) {\r\n if (!currentUpdate._whoINeed.includes(trigger)) {\r\n currentUpdate._whoINeed.push(trigger);\r\n }\r\n if (!trigger._whoNeedMe.includes(currentUpdate)) {\r\n trigger._whoNeedMe.push(currentUpdate);\r\n }\r\n }\r\n return value;\r\n }\r\n\r\n if (triggerQueue) {\r\n if (trigger._pendingValue === NoValue) {\r\n triggerQueue.push(trigger);\r\n }\r\n trigger._pendingValue = nextValue;\r\n return nextValue;\r\n }\r\n\r\n value = nextValue!;\r\n\r\n const backup = currentUpdate;\r\n currentUpdate = undefined;\r\n\r\n const whoNeedMeLasttime = trigger._whoNeedMe.filter((it) => {\r\n return it._whoINeed.includes(trigger);\r\n });\r\n whoNeedMeLasttime.forEach((u) => {\r\n u._dirty = true;\r\n });\r\n trigger._whoNeedMe = [];\r\n whoNeedMeLasttime.forEach((u) => {\r\n if (u._dirty) {\r\n u();\r\n }\r\n });\r\n\r\n currentUpdate = backup;\r\n\r\n return value;\r\n }\r\n\r\n Object.setPrototypeOf(data, oProto);\r\n\r\n const trigger: ITrigger = {\r\n _whoNeedMe: [],\r\n _data: data,\r\n _pendingValue: NoValue,\r\n };\r\n\r\n return data;\r\n};\r\nconst recycleUpdate = (update: IUpdater) => {\r\n update._whoIOwn.forEach(recycleUpdate);\r\n update._dirty = false;\r\n update._onCleanupCallback.forEach((f) => f());\r\n resetUpdate(update);\r\n};\r\n\r\nconst resetUpdate = (update: IUpdater) => {\r\n update._whoINeed = [];\r\n update._whoIOwn = [];\r\n update._onCleanupCallback = [];\r\n};\r\n\r\nexport const cleanup = <T extends () => void>(f: T): T => {\r\n if (currentUpdate) {\r\n currentUpdate._onCleanupCallback.push(f);\r\n }\r\n return f;\r\n};\r\n\r\nexport const transaction = <T>(f: () => T): T => {\r\n const fallback = triggerQueue;\r\n triggerQueue = [] as ITrigger[];\r\n const result = f();\r\n const workedQueue = triggerQueue;\r\n triggerQueue = fallback;\r\n\r\n workedQueue.forEach((t) => {\r\n if (t._pendingValue !== NoValue) {\r\n const pv = t._pendingValue;\r\n t._pendingValue = NoValue;\r\n t._data(pv);\r\n }\r\n });\r\n\r\n return result;\r\n};\r\n\r\nexport { o as observable };\r\n\r\nexport const sample = <T>(f: () => T): T => {\r\n const fallback = currentUpdate;\r\n currentUpdate = undefined;\r\n const value = f();\r\n currentUpdate = fallback;\r\n return value;\r\n};\r\n\r\nexport const isListening = () => !!currentUpdate;\r\n\r\nexport const subscribe = (f: () => void) => {\r\n S(f);\r\n return () => unsubscribe(f);\r\n};\r\nexport const unsubscribe = (f: () => void) => {\r\n const update = fun2s.get(f);\r\n if (update) {\r\n recycleUpdate(update);\r\n }\r\n};\r\n\r\nexport const isObservable = (o: any): o is IO<any> => o instanceof Observable;\r\nexport const isComputed = (o: any): o is IS<any> => o instanceof Computation;\r\nexport const isReactive = (o: any): o is IO<any> | IS<any> => o instanceof Reactive;\r\n","/** @format */\r\n\r\nimport { cleanup, isReactive, root, S, sample } from './s.js';\r\n\r\nconst enum InterNodeType {\r\n Text = 1,\r\n Element = 2,\r\n Attribute = 3,\r\n}\r\n\r\ntype InterTreeNode = InterTextNode | InterElementNode;\r\n\r\ntype InterTextNode = {\r\n _type: InterNodeType.Text;\r\n _data: Array<string | number>;\r\n};\r\ntype InterElementNode = {\r\n _ns: string | null;\r\n _tag: Array<string | number>;\r\n _type: InterNodeType.Element;\r\n _attrs: InterAttributeNode[];\r\n _content: Array<InterTreeNode>;\r\n _sourceNode: Element | null;\r\n _sourceIndex: number;\r\n};\r\n\r\ntype InterAttributeNode = {\r\n _type: InterNodeType.Attribute;\r\n _name: Array<string | number>;\r\n _value: Array<string | number>;\r\n};\r\n\r\nconst cache = new Map<TemplateStringsArray, InterTreeNode[]>();\r\nfunction random6LetterString() {\r\n const BASE = 36;\r\n const power5 = BASE ** 5;\r\n const min = 10 * power5;\r\n const length = 26 * power5;\r\n return Math.floor(Math.random() * length + min).toString(BASE);\r\n}\r\nconst MarkStart = random6LetterString();\r\nconst MarkEnd = random6LetterString();\r\nconst MarkReg = new RegExp(`([\\\\s\\\\S]*?)${MarkStart}(\\\\d+)${MarkEnd}([\\\\s\\\\S]*?)(?=${MarkStart}\\\\d+${MarkEnd}|$)`, 'g');\r\nconst BlankText = /\\s*\\n\\s*/g;\r\nconst domParser = new DOMParser();\r\n\r\nconst parseText = (data: string) => {\r\n const result: Array<string | number> = [];\r\n data = data.replace(BlankText, '');\r\n if (data.includes(MarkStart) && data.includes(MarkEnd)) {\r\n for (const res of data.matchAll(MarkReg)) {\r\n const [, prefix, index, suffix] = res;\r\n if (prefix) {\r\n result.push(prefix);\r\n }\r\n if (index) {\r\n result.push(Number(index));\r\n }\r\n if (suffix) {\r\n result.push(suffix);\r\n }\r\n }\r\n } else if (data) {\r\n result.push(data);\r\n }\r\n return result;\r\n};\r\n\r\nconst unparseText = (data: Array<string | number>, values: any[]) => {\r\n if (data.length === 1) {\r\n if (typeof data[0] === 'number') {\r\n return values[data[0]!];\r\n }\r\n return data[0];\r\n }\r\n return S(() => {\r\n return data\r\n .map((it) => {\r\n if (typeof it === 'number') {\r\n const value = values[it];\r\n if (typeof value === 'function') {\r\n return value();\r\n }\r\n return value;\r\n }\r\n return it;\r\n })\r\n .join('');\r\n });\r\n};\r\n\r\nconst parse = (\r\n docType: DOMParserSupportedType,\r\n wrapSource: (source: string) => string,\r\n unwrapNode: (node: Document) => NodeList,\r\n segments: TemplateStringsArray,\r\n indexMap: number[],\r\n): InterTreeNode[] => {\r\n if (cache.has(segments)) {\r\n return cache.get(segments)!;\r\n }\r\n\r\n const htmlStr = segments\r\n .flatMap((segment, index, { length }) => {\r\n if (index === length - 1) {\r\n return [segment];\r\n }\r\n return [segment, MarkStart, indexMap[index], MarkEnd];\r\n })\r\n .join('');\r\n\r\n const wrappedHtmlStr = wrapSource(htmlStr);\r\n\r\n const document = domParser.parseFromString(wrappedHtmlStr, docType);\r\n\r\n const dom2treenode = (domNodeList: NodeList) => {\r\n const nodeList: InterTreeNode[] = [];\r\n for (\r\n let item: Node | undefined | null = domNodeList.item(0), nextSibling = item?.nextSibling, index = 0;\r\n item != null;\r\n item = nextSibling, nextSibling = nextSibling?.nextSibling, index++\r\n ) {\r\n do\r\n remove_and_dec_index: {\r\n if (item.nodeType === Node.ELEMENT_NODE) {\r\n const el = item as Element;\r\n const tag = parseText(el.tagName.toLowerCase());\r\n const isVariableElem = tag.length > 1 || typeof tag[0] === 'number';\r\n\r\n nodeList.push({\r\n _ns: el.namespaceURI,\r\n _type: InterNodeType.Element,\r\n _tag: tag,\r\n _attrs: Array.from(el.attributes).flatMap((attr) => {\r\n const name = parseText(attr.nodeName);\r\n const value = parseText(attr.value);\r\n const isVariableAttr =\r\n name.length > 1 ||\r\n typeof name[0] === 'number' ||\r\n value.length > 1 ||\r\n typeof value[0] === 'number';\r\n\r\n if (!isVariableElem && !isVariableAttr) {\r\n return [];\r\n } else {\r\n el.removeAttribute(attr.nodeName);\r\n }\r\n return [\r\n {\r\n _type: InterNodeType.Attribute,\r\n _name: name,\r\n _value: value,\r\n } satisfies InterAttributeNode,\r\n ];\r\n }),\r\n _content: el.childNodes.length > 0 ? dom2treenode(el.childNodes) : [],\r\n _sourceNode: isVariableElem ? null : el,\r\n _sourceIndex: index,\r\n });\r\n\r\n if (!isVariableElem) {\r\n break remove_and_dec_index;\r\n }\r\n } else if (item.nodeType === Node.TEXT_NODE) {\r\n const data = (item as Text).data;\r\n const result = parseText(data);\r\n if (result.length > 0) {\r\n nodeList.push({\r\n _type: InterNodeType.Text,\r\n _data: result,\r\n });\r\n }\r\n }\r\n (item as Comment | Text | Element).remove();\r\n index--;\r\n }\r\n while (false);\r\n }\r\n return nodeList;\r\n };\r\n\r\n const rootList = unwrapNode(document);\r\n\r\n const treeNode = dom2treenode(rootList);\r\n\r\n cache.set(segments, treeNode);\r\n\r\n return treeNode;\r\n};\r\n\r\nconst element = (\r\n ns: string | null,\r\n sourceNode: Element | null,\r\n tagName: string | (() => string),\r\n child: (node: Element) => Node[],\r\n): Node[] => {\r\n if (typeof tagName === 'function') {\r\n return fragment(() => {\r\n const realTagName = tagName();\r\n if (typeof realTagName === 'string') {\r\n return element(ns, null, realTagName, child);\r\n }\r\n return [];\r\n });\r\n }\r\n if (typeof tagName !== 'string') {\r\n return [];\r\n }\r\n const el = sourceNode || (ns ? document.createElementNS(ns, tagName) : document.createElement(tagName));\r\n S(() => {\r\n const subnodes = child(el);\r\n if (subnodes.length === 0) {\r\n return;\r\n }\r\n if (!el.firstChild) {\r\n // @domact\r\n el.append(...subnodes);\r\n } else {\r\n for (let left: Element | null = el.firstElementChild, rightIndex = 0; rightIndex < subnodes.length; rightIndex++) {\r\n const right = subnodes[rightIndex]!;\r\n if (left === right) {\r\n left = left.nextElementSibling;\r\n } else {\r\n // @domact\r\n el.insertBefore(right, left);\r\n }\r\n }\r\n }\r\n });\r\n cleanup(() => el.remove());\r\n return [el];\r\n};\r\n\r\nconst fragment = (child: (head: Node) => Node[]): Node[] => {\r\n const firstNode = document.createComment('start-frag');\r\n cleanup(() => firstNode.remove());\r\n const tempArray: Node[] = [firstNode];\r\n S(() => {\r\n const c = child(firstNode);\r\n const carr = Array.isArray(c) ? c : [c];\r\n\r\n const nodified = carr.map((c) => {\r\n if (c instanceof Node) {\r\n return c;\r\n }\r\n const node = document.createTextNode(c);\r\n cleanup(() => node.remove());\r\n return node;\r\n });\r\n\r\n if (firstNode.isConnected) {\r\n firstNode.after(...nodified);\r\n } else {\r\n tempArray.push(...nodified);\r\n }\r\n });\r\n\r\n return tempArray;\r\n};\r\nfunction arrTrans<T>(a: readonly T[], b: readonly T[], a2b: (a: T) => void, dela: (a: T) => void, keep: (a: T) => void): void {\r\n const aLen = a.length;\r\n const bLen = b.length;\r\n\r\n if (a === b || (aLen === 0 && bLen === 0)) {\r\n return;\r\n }\r\n\r\n let start = 0;\r\n const minLen = Math.min(aLen, bLen);\r\n while (start < minLen && a[start] === b[start]) {\r\n start++;\r\n }\r\n\r\n let end = 0;\r\n while (end < minLen - start && a[aLen - 1 - end] === b[bLen - 1 - end]) {\r\n end++;\r\n }\r\n\r\n const aMidLen = aLen - start - end;\r\n const bMidLen = bLen - start - end;\r\n\r\n if (aMidLen === 0 && bMidLen === 0) {\r\n for (let i = 0; i < start; i++) {\r\n keep(a[i]!);\r\n }\r\n for (let i = 0; i < end; i++) {\r\n keep(a[aLen - end + i]!);\r\n }\r\n return;\r\n }\r\n\r\n const bIndexMap = new Map<T, number>();\r\n for (let i = 0; i < bMidLen; i++) {\r\n bIndexMap.set(b[start + i]!, i);\r\n }\r\n\r\n const indices: number[] = [];\r\n for (let i = 0; i < aMidLen; i++) {\r\n const val = a[start + i]!;\r\n const bIdx = bIndexMap.get(val);\r\n if (bIdx !== undefined) {\r\n indices.push(bIdx);\r\n }\r\n }\r\n\r\n const tails: number[] = [];\r\n const parents: number[] = new Array(indices.length).fill(-1);\r\n const tailIndices: number[] = [];\r\n\r\n for (let i = 0; i < indices.length; i++) {\r\n const idx = indices[i]!;\r\n\r\n let left = 0;\r\n let right = tails.length;\r\n while (left < right) {\r\n const mid = (left + right) >> 1;\r\n if (tails[mid]! < idx) {\r\n left = mid + 1;\r\n } else {\r\n right = mid;\r\n }\r\n }\r\n\r\n const pos = left;\r\n if (pos === tails.length) {\r\n tails.push(idx);\r\n tailIndices.push(i);\r\n } else {\r\n tails[pos] = idx;\r\n tailIndices[pos] = i;\r\n }\r\n\r\n if (pos > 0) {\r\n parents[i] = tailIndices[pos - 1]!;\r\n }\r\n }\r\n\r\n const keepSet = new Set<T>();\r\n let curr = tailIndices.length > 0 ? tailIndices[tailIndices.length - 1]! : -1;\r\n while (curr !== -1) {\r\n const bIdx = indices[curr]!;\r\n keepSet.add(b[start + bIdx]!);\r\n curr = parents[curr]!;\r\n }\r\n\r\n for (let i = 0; i < start; i++) {\r\n keep(a[i]!);\r\n }\r\n\r\n for (let i = 0; i < aMidLen; i++) {\r\n const val = a[start + i]!;\r\n if (!keepSet.has(val)) {\r\n dela(val);\r\n }\r\n }\r\n\r\n for (let i = 0; i < bMidLen; i++) {\r\n const val = b[start + i]!;\r\n if (keepSet.has(val)) {\r\n keep(val);\r\n } else {\r\n a2b(val);\r\n }\r\n }\r\n\r\n for (let i = 0; i < end; i++) {\r\n keep(a[aLen - end + i]!);\r\n }\r\n}\r\ninterface MapState<T> {\r\n _itemDestroyer: Array<() => void>;\r\n _domNodesOfItem: Node[][];\r\n _arrayValue: T[];\r\n}\r\nexport const map = <T>(array: () => T[], f: (item: T) => Node[]): Node[] => {\r\n return fragment((headNode) => {\r\n cleanup(() => {\r\n mapState()._itemDestroyer.forEach((f) => f());\r\n });\r\n const createItem = (item: T) => {\r\n return root((destroyItem) => {\r\n const domNodes = f(item);\r\n return [destroyItem, domNodes] as [() => void, Node[]];\r\n });\r\n };\r\n const mapState = S<MapState<T>>(\r\n (\r\n preState = {\r\n _arrayValue: [] as T[],\r\n _domNodesOfItem: [],\r\n _itemDestroyer: [],\r\n },\r\n ) => {\r\n const currentArrayValue = array();\r\n const preArrayValue = preState._arrayValue;\r\n const newState: MapState<T> = {\r\n _arrayValue: currentArrayValue,\r\n _domNodesOfItem: [],\r\n _itemDestroyer: [],\r\n };\r\n arrTrans(\r\n preArrayValue,\r\n currentArrayValue,\r\n (newItem) => {\r\n const [destroyer, domNodes] = createItem(newItem);\r\n const preNode = newState._domNodesOfItem.at(-1)?.at(-1) ?? headNode;\r\n (preNode as Element | Comment).after(...domNodes);\r\n newState._domNodesOfItem.push(domNodes);\r\n newState._itemDestroyer.push(destroyer);\r\n },\r\n (oldItem) => {\r\n const i = preArrayValue.indexOf(oldItem);\r\n preState._itemDestroyer[i]!();\r\n },\r\n (oldItem) => {\r\n const i = preArrayValue.indexOf(oldItem);\r\n newState._domNodesOfItem.push(preState._domNodesOfItem[i]!);\r\n newState._itemDestroyer.push(preState._itemDestroyer[i]!);\r\n },\r\n );\r\n return newState;\r\n },\r\n );\r\n return sample(() => mapState()._domNodesOfItem.flat());\r\n });\r\n};\r\n\r\nconst isPropertyOf = (domEl: HTMLElement | SVGElement, traitName: string) => {\r\n let descriptor;\r\n do {\r\n descriptor = Object.getOwnPropertyDescriptor(domEl, traitName);\r\n domEl = Object.getPrototypeOf(domEl);\r\n } while (domEl && !descriptor);\r\n if (!descriptor) {\r\n return false;\r\n }\r\n if (false === descriptor.writable) {\r\n return false;\r\n }\r\n if (descriptor.get && !descriptor.set) {\r\n return false;\r\n }\r\n return true;\r\n};\r\nconst attribute = (node: Element, key: string | (() => string), val: string | (() => any)) => {\r\n if (typeof key !== 'function' && !isReactive(val)) {\r\n if (!node) {\r\n return;\r\n }\r\n if (!(node instanceof Element)) {\r\n return;\r\n }\r\n const isProp = isPropertyOf(node as any, key);\r\n if (isProp) {\r\n const preValue = (node as any)[key];\r\n (node as any)[key] = val;\r\n cleanup(() => {\r\n (node as any)[key] = preValue;\r\n });\r\n } else {\r\n node.setAttribute(key, val);\r\n cleanup(() => {\r\n node.removeAttribute(key);\r\n });\r\n }\r\n } else {\r\n S(() => {\r\n attribute(node, typeof key === 'function' ? key() : key, isReactive(val) ? val() : val);\r\n });\r\n }\r\n};\r\n\r\nconst spreadAttrs = (node: Element, value: () => any) => {\r\n S(() => {\r\n const attrs = value();\r\n for (const key in attrs) {\r\n attribute(node, key, attrs[key]);\r\n }\r\n });\r\n};\r\n\r\nconst tree2dom = (ns: string | null, node: InterTreeNode, values: any[]): Node[] => {\r\n if (node._type === InterNodeType.Text) {\r\n return node._data.flatMap((part) => {\r\n if (typeof part === 'string') {\r\n const textNode = document.createTextNode(part);\r\n cleanup(() => textNode.remove());\r\n return textNode;\r\n } else if (typeof part === 'number') {\r\n const value = values[part];\r\n if (typeof value === 'function') {\r\n return fragment(value);\r\n } else {\r\n const textNode = document.createTextNode(String(value));\r\n cleanup(() => textNode.remove());\r\n return textNode;\r\n }\r\n }\r\n return [];\r\n });\r\n } else {\r\n const { _attrs: attrs, _content: content, _tag: tag, _sourceNode: sourceNode } = node;\r\n const tagValue = unparseText(tag, values);\r\n const currentNs = node._ns ?? ns;\r\n return element(currentNs, sourceNode, tagValue, (node) => {\r\n for (const { _name: name, _value: value } of attrs) {\r\n if (name[0] === '...' && typeof name[1] === 'number') {\r\n spreadAttrs(node, unparseText(name.slice(1), values));\r\n } else {\r\n attribute(node, unparseText(name, values), unparseText(value, values));\r\n }\r\n }\r\n return content.flatMap((t) => tree2dom(currentNs, t, values));\r\n });\r\n }\r\n};\r\n\r\nconst cloneTreeNode = (treeNode: InterTreeNode, parentNode: Element | null): InterTreeNode => {\r\n if (treeNode._type === InterNodeType.Text) {\r\n return treeNode;\r\n } else {\r\n if (!treeNode._sourceNode) {\r\n return treeNode;\r\n }\r\n const currentNode =\r\n parentNode ?\r\n (parentNode.childNodes.item(treeNode._sourceIndex) as Element)\r\n : (treeNode._sourceNode.cloneNode(true) as Element);\r\n return {\r\n ...treeNode,\r\n _sourceNode: currentNode,\r\n _content: treeNode._content.map((node) => cloneTreeNode(node, currentNode)),\r\n } satisfies InterElementNode;\r\n }\r\n};\r\n\r\nconst tag =\r\n (\r\n ns: string | null,\r\n docType: DOMParserSupportedType,\r\n wrapSource: (source: string) => string,\r\n unwrapNode: (node: Document) => NodeList,\r\n ) =>\r\n (segments: TemplateStringsArray, ...values: any[]): Node[] => {\r\n const tree = parse(\r\n docType,\r\n wrapSource,\r\n unwrapNode,\r\n segments,\r\n values.map((it) => values.indexOf(it)),\r\n );\r\n const clonedTree = tree.map((tree) => cloneTreeNode(tree, null));\r\n return fragment(() => {\r\n return clonedTree.flatMap((item) => tree2dom(ns, item, values));\r\n });\r\n };\r\nconst svgns = 'http://www.w3.org/2000/svg';\r\nexport const svg = tag(\r\n svgns,\r\n 'text/xml',\r\n (svg) => `<svg xmlns=\"${svgns}\">${svg}</svg>`,\r\n (doc) => doc.firstChild!.childNodes,\r\n);\r\nexport const html = tag(\r\n null,\r\n 'text/html',\r\n (html) => html,\r\n (doc) => doc.body.childNodes,\r\n);\r\n"],"names":["currentUpdate","NoValue","Symbol","triggerQueue","fun2s","WeakMap","Reactive","Observable","Computation","cProto","oProto","root","fn","backup","rootUpdate","resetUpdate","_dirty","result","recycleUpdate","undefined","S","value","data","update","_whoINeed","forEach","t","_data","Object","setPrototypeOf","_whoIOwn","push","set","o","nextValue","arguments","length","includes","trigger","_whoNeedMe","_pendingValue","whoNeedMeLasttime","filter","it","u","_onCleanupCallback","f","cleanup","transaction","fallback","workedQueue","pv","sample","isListening","subscribe","unsubscribe","get","isObservable","isComputed","isReactive","cache","Map","random6LetterString","Math","floor","random","toString","MarkStart","MarkEnd","MarkReg","RegExp","BlankText","domParser","DOMParser","parseText","replace","res","matchAll","prefix","index","suffix","Number","unparseText","values","map","join","element","ns","sourceNode","tagName","child","fragment","realTagName","el","document","createElementNS","createElement","subnodes","firstChild","left","firstElementChild","rightIndex","right","nextElementSibling","insertBefore","append","remove","firstNode","createComment","tempArray","c","nodified","Array","isArray","Node","node","createTextNode","isConnected","after","array","headNode","mapState","_itemDestroyer","preState","_arrayValue","_domNodesOfItem","currentArrayValue","preArrayValue","newState","a","b","a2b","dela","keep","aLen","bLen","start","minLen","min","end","aMidLen","bMidLen","i","bIndexMap","indices","bIdx","tails","parents","fill","tailIndices","idx","mid","pos","keepSet","Set","curr","add","val","has","arrTrans","newItem","_newState$_domNodesOf","_newState$_domNodesOf2","destroyer","domNodes","item","destroyItem","at","oldItem","indexOf","flat","attribute","key","Element","isPropertyOf","domEl","traitName","descriptor","getOwnPropertyDescriptor","getPrototypeOf","writable","preValue","setAttribute","removeAttribute","spreadAttrs","attrs","tree2dom","_type","flatMap","part","textNode","String","_node$_ns","_attrs","_content","content","_tag","tag","_sourceNode","tagValue","currentNs","_ns","_name","name","_value","slice","cloneTreeNode","treeNode","parentNode","currentNode","childNodes","_sourceIndex","cloneNode","_extends","docType","wrapSource","unwrapNode","segments","tree","parse","indexMap","wrappedHtmlStr","segment","parseFromString","dom2treenode","domNodeList","nodeList","nextSibling","_item","_nextSibling","remove_and_dec_index","nodeType","ELEMENT_NODE","toLowerCase","isVariableElem","namespaceURI","from","attributes","attr","nodeName","TEXT_NODE","rootList","clonedTree","svgns","svg","doc","html","body"],"mappings":"AAuBA,IAAIA,EACJ,MAAMC,EAAyBC,SAC/B,IAAIC,EACJ,MAAMC,EAAQ,IAAIC,QAClB,MAAMC,GACN,MAAMC,UAAmBD,GACzB,MAAME,UAAoBF,GAC1B,MAAMG,EAAS,IAAID,EACbE,EAAS,IAAIH,EAENI,EAAWC,IACpB,MAAMC,EAASb,EACTc,EAAwBA,OAC9BC,EAAYD,GACZA,EAAWE,GAAS,EACpBhB,EAAgBc,EAChB,MAAMG,EAASL,EAAG,KACdM,EAAcJ,GACdd,OAAgBmB,CAAAA,GAGpB,OADAnB,EAAgBa,EACTI,GAEEG,EAAIA,CAAIR,EAA8BS,KAC/C,MAAMC,EAAOA,KACLC,EAAOP,EACPO,IACOvB,GACPuB,EAAOC,EAAUC,QAASC,GAAMA,EAAEC,KAE/BN,GAEXO,OAAOC,eAAeP,EAAMb,GAC5B,MAAMc,EAAoBA,KACtB,MAAMV,EAASb,EACfkB,EAAcK,GACdA,EAAOP,GAAS,EAChBhB,EAAgBuB,EAChBF,EAAQT,EAAGS,GACXrB,EAAgBa,CACpB,EAOA,OANIb,GACAA,EAAc8B,EAASC,KAAKR,GAEhCR,EAAYQ,GACZA,IACAnB,EAAM4B,IAAIpB,EAAIW,GACPD,GAEEW,EAAQZ,IAGjB,SAASC,EAAKY,GACV,GAAyB,IAArBC,UAAUC,OASV,OARIpC,IACKA,EAAcwB,EAAUa,SAASC,IAClCtC,EAAcwB,EAAUO,KAAKO,GAE5BA,EAAQC,EAAWF,SAASrC,IAC7BsC,EAAQC,EAAWR,KAAK/B,IAGzBqB,EAGX,GAAIlB,EAKA,OAJImC,EAAQE,IAAkBvC,GAC1BE,EAAa4B,KAAKO,GAEtBA,EAAQE,EAAgBN,EACjBA,EAGXb,EAAQa,EAER,MAAMrB,EAASb,EACfA,OAAgBmB,EAEhB,MAAMsB,EAAoBH,EAAQC,EAAWG,OAAQC,GAC1CA,EAAGnB,EAAUa,SAASC,IAcjC,OAZAG,EAAkBhB,QAASmB,IACvBA,EAAE5B,GAAS,IAEfsB,EAAQC,EAAa,GACrBE,EAAkBhB,QAASmB,IACnBA,EAAE5B,GACF4B,GACJ,GAGJ5C,EAAgBa,EAETQ,CACX,CAEAO,OAAOC,eAAeP,EAAMZ,GAE5B,MAAM4B,EAAoB,CACtBC,EAAY,GACZZ,EAAOL,EACPkB,EAAevC,GAGnB,OAAOqB,GAELJ,EAAiBK,IACnBA,EAAOO,EAASL,QAAQP,GACxBK,EAAOP,GAAS,EAChBO,EAAOsB,EAAmBpB,QAASqB,GAAMA,KACzC/B,EAAYQ,EAAM,EAGhBR,EAAeQ,IACjBA,EAAOC,EAAY,GACnBD,EAAOO,EAAW,GAClBP,EAAOsB,EAAqB,EAAA,EAGnBE,EAAiCD,IACtC9C,GACAA,EAAc6C,EAAmBd,KAAKe,GAEnCA,GAGEE,EAAkBF,IAC3B,MAAMG,EAAW9C,EACjBA,EAAe,GACf,MAAMc,EAAS6B,IACTI,EAAc/C,EAWpB,OAVAA,EAAe8C,EAEfC,EAAYzB,QAASC,IACjB,GAAIA,EAAEc,IAAkBvC,EAAS,CAC7B,MAAMkD,EAAKzB,EAAEc,EACbd,EAAEc,EAAgBvC,EAClByB,EAAEC,EAAMwB,EACZ,IAGGlC,GAKEmC,EAAaN,IACtB,MAAMG,EAAWjD,EACjBA,OAAgBmB,EAChB,MAAME,EAAQyB,IAEd,OADA9C,EAAgBiD,EACT5B,GAGEgC,EAAcA,MAAQrD,EAEtBsD,EAAaR,IACtB1B,EAAE0B,GACK,IAAMS,EAAYT,IAEhBS,EAAeT,IACxB,MAAMvB,EAASnB,EAAMoD,IAAIV,GACrBvB,GACAL,EAAcK,EAClB,EAGSkC,EAAgBxB,GAAyBA,aAAa1B,EACtDmD,EAAczB,GAAyBA,aAAazB,EACpDmD,EAAc1B,GAAmCA,aAAa3B,sOChK3E,MAAMsD,EAAQ,IAAIC,IAClB,SAASC,IAKL,OAAOC,KAAKC,MADG,WACGD,KAAKE,SAFX,WAEoCC,SAJnC,GAKjB,CACA,MAAMC,EAAYL,IACZM,EAAUN,IACVO,EAAU,IAAIC,sBAAsBH,UAAkBC,mBAAyBD,QAAgBC,OAAc,KAC7GG,EAAY,YACZC,EAAY,IAAIC,UAEhBC,EAAapD,IACf,MAAML,EAAiC,GAEvC,IADAK,EAAOA,EAAKqD,QAAQJ,EAAW,KACtBlC,SAAS8B,IAAc7C,EAAKe,SAAS+B,GAC1C,IAAK,MAAMQ,KAAOtD,EAAKuD,SAASR,GAAU,CACtC,OAASS,EAAQC,EAAOC,GAAUJ,EAC9BE,GACA7D,EAAOc,KAAK+C,GAEZC,GACA9D,EAAOc,KAAKkD,OAAOF,IAEnBC,GACA/D,EAAOc,KAAKiD,EAEpB,MACO1D,GACPL,EAAOc,KAAKT,GAEhB,OAAOL,GAGLiE,EAAcA,CAAC5D,EAA8B6D,IAC3B,IAAhB7D,EAAKc,OACkB,iBAAZd,EAAK,GACL6D,EAAO7D,EAAK,IAEhBA,EAAK,GAETF,EAAE,IACEE,EACF8D,IAAKzC,IACF,GAAkB,iBAAPA,EAAiB,CACxB,MAAMtB,EAAQ8D,EAAOxC,GACrB,MAAqB,mBAAVtB,EACAA,IAEJA,CACX,CACA,OAAOsB,IAEV0C,KAAK,KAuGZC,EAAUA,CACZC,EACAC,EACAC,EACAC,KAEA,GAAuB,mBAAZD,EACP,OAAOE,EAAS,KACZ,MAAMC,EAAcH,IACpB,MAA2B,iBAAhBG,EACAN,EAAQC,EAAI,KAAMK,EAAaF,GAEnC,EACX,GAEJ,GAAuB,iBAAZD,EACP,MAAO,GAEX,MAAMI,EAAKL,IAAeD,EAAKO,SAASC,gBAAgBR,EAAIE,GAAWK,SAASE,cAAcP,IAsB9F,OArBArE,EAAE,KACE,MAAM6E,EAAWP,EAAMG,GACvB,GAAwB,IAApBI,EAAS7D,OAGb,GAAKyD,EAAGK,WAIJ,IAAK,IAAIC,EAAuBN,EAAGO,kBAAmBC,EAAa,EAAGA,EAAaJ,EAAS7D,OAAQiE,IAAc,CAC9G,MAAMC,EAAQL,EAASI,GACnBF,IAASG,EACTH,EAAOA,EAAKI,mBAGZV,EAAGW,aAAaF,EAAOH,EAE/B,MAVAN,EAAGY,UAAUR,EAWjB,GAEJlD,EAAQ,IAAM8C,EAAGa,UACV,CAACb,EAAE,EAGRF,EAAYD,IACd,MAAMiB,EAAYb,SAASc,cAAc,cACzC7D,EAAQ,IAAM4D,EAAUD,UACxB,MAAMG,EAAoB,CAACF,GAqB3B,OApBAvF,EAAE,KACE,MAAM0F,EAAIpB,EAAMiB,GAGVI,GAFOC,MAAMC,QAAQH,GAAKA,EAAI,CAACA,IAEf1B,IAAK0B,IACvB,GAAIA,aAAaI,KACb,OAAOJ,EAEX,MAAMK,EAAOrB,SAASsB,eAAeN,GAErC,OADA/D,EAAQ,IAAMoE,EAAKT,UACZS,IAGPR,EAAUU,YACVV,EAAUW,SAASP,GAEnBF,EAAU9E,QAAQgF,EACtB,GAGGF,GAqHEzB,EAAMA,CAAImC,EAAkBzE,IAC9B6C,EAAU6B,IACbzE,EAAQ,KACJ0E,IAAWC,EAAejG,QAASqB,GAAMA,IAAG,GAEhD,MAMM2E,EAAWrG,EACb,CACIuG,EAAW,CACPC,EAAa,GACbC,EAAiB,GACjBH,EAAgB,OAGpB,MAAMI,EAAoBP,IACpBQ,EAAgBJ,EAASC,EACzBI,EAAwB,CAC1BJ,EAAaE,EACbD,EAAiB,GACjBH,EAAgB,IAsBpB,OAjKhB,SAAqBO,EAAiBC,EAAiBC,EAAqBC,EAAsBC,GAC9F,MAAMC,EAAOL,EAAE7F,OACTmG,EAAOL,EAAE9F,OAEf,GAAI6F,IAAMC,GAAe,IAATI,GAAuB,IAATC,EAC1B,OAGJ,IAAIC,EAAQ,EACZ,MAAMC,EAAS1E,KAAK2E,IAAIJ,EAAMC,GAC9B,KAAOC,EAAQC,GAAUR,EAAEO,KAAWN,EAAEM,IACpCA,IAGJ,IAAIG,EAAM,EACV,KAAOA,EAAMF,EAASD,GAASP,EAAEK,EAAO,EAAIK,KAAST,EAAEK,EAAO,EAAII,IAC9DA,IAGJ,MAAMC,EAAUN,EAAOE,EAAQG,EACzBE,EAAUN,EAAOC,EAAQG,EAE/B,GAAgB,IAAZC,GAA6B,IAAZC,EAAe,CAChC,IAAK,IAAIC,EAAI,EAAGA,EAAIN,EAAOM,IACvBT,EAAKJ,EAAEa,IAEX,IAAK,IAAIA,EAAI,EAAGA,EAAIH,EAAKG,IACrBT,EAAKJ,EAAEK,EAAOK,EAAMG,IAExB,MACJ,CAEA,MAAMC,EAAY,IAAIlF,IACtB,IAAK,IAAIiF,EAAI,EAAGA,EAAID,EAASC,IACzBC,EAAU/G,IAAIkG,EAAEM,EAAQM,GAAKA,GAGjC,MAAME,EAAoB,GAC1B,IAAK,IAAIF,EAAI,EAAGA,EAAIF,EAASE,IAAK,CAC9B,MACMG,EAAOF,EAAUvF,IADXyE,EAAEO,EAAQM,SAET3H,IAAT8H,GACAD,EAAQjH,KAAKkH,EAErB,CAEA,MAAMC,EAAkB,GAClBC,EAAoB,IAAInC,MAAMgC,EAAQ5G,QAAQgH,MAAM,GACpDC,EAAwB,GAE9B,IAAK,IAAIP,EAAI,EAAGA,EAAIE,EAAQ5G,OAAQ0G,IAAK,CACrC,MAAMQ,EAAMN,EAAQF,GAEpB,IAAI3C,EAAO,EACPG,EAAQ4C,EAAM9G,OAClB,KAAO+D,EAAOG,GAAO,CACjB,MAAMiD,EAAOpD,EAAOG,GAAU,EAC1B4C,EAAMK,GAAQD,EACdnD,EAAOoD,EAAM,EAEbjD,EAAQiD,CAEhB,CAEA,MAAMC,EAAMrD,EACRqD,IAAQN,EAAM9G,QACd8G,EAAMnH,KAAKuH,GACXD,EAAYtH,KAAK+G,KAEjBI,EAAMM,GAAOF,EACbD,EAAYG,GAAOV,GAGnBU,EAAM,IACNL,EAAQL,GAAKO,EAAYG,EAAM,GAEvC,CAEA,MAAMC,EAAU,IAAIC,IACpB,IAAIC,EAAON,EAAYjH,OAAS,EAAIiH,EAAYA,EAAYjH,OAAS,IAAO,EAC5E,MAAiB,IAAVuH,GAEHF,EAAQG,IAAI1B,EAAEM,EADDQ,EAAQW,KAErBA,EAAOR,EAAQQ,GAGnB,IAAK,IAAIb,EAAI,EAAGA,EAAIN,EAAOM,IACvBT,EAAKJ,EAAEa,IAGX,IAAK,IAAIA,EAAI,EAAGA,EAAIF,EAASE,IAAK,CAC9B,MAAMe,EAAM5B,EAAEO,EAAQM,GACjBW,EAAQK,IAAID,IACbzB,EAAKyB,EAEb,CAEA,IAAK,IAAIf,EAAI,EAAGA,EAAID,EAASC,IAAK,CAC9B,MAAMe,EAAM3B,EAAEM,EAAQM,GAClBW,EAAQK,IAAID,GACZxB,EAAKwB,GAEL1B,EAAI0B,EAEZ,CAEA,IAAK,IAAIf,EAAI,EAAGA,EAAIH,EAAKG,IACrBT,EAAKJ,EAAEK,EAAOK,EAAMG,GAE5B,CAgCgBiB,CACIhC,EACAD,EACCkC,IAAW,IAAAC,EAAAC,EACR,MAAOC,EAAWC,IAzBdC,EAyBqCL,EAxB9CrJ,EAAM2J,GAEF,CAACA,EADSxH,EAAEuH,MAFPA,cA0BSJ,EAAGC,OAAHA,EAAGlC,EAASH,EAAgB0C,IAAI,SAA7BL,EAAAA,EAAiCK,IAAI,IAAEN,EAAIzC,GAC5BF,SAAS8C,GACxCpC,EAASH,EAAgB9F,KAAKqI,GAC9BpC,EAASN,EAAe3F,KAAKoI,EAAS,EAEzCK,IACG,MAAM1B,EAAIf,EAAc0C,QAAQD,GAChC7C,EAASD,EAAeoB,IAAG,EAE9B0B,IACG,MAAM1B,EAAIf,EAAc0C,QAAQD,GAChCxC,EAASH,EAAgB9F,KAAK4F,EAASE,EAAgBiB,IACvDd,EAASN,EAAe3F,KAAK4F,EAASD,EAAeoB,GAAG,GAGzDd,IAGf,OAAO5E,EAAO,IAAMqE,IAAWI,EAAgB6C,OAAM,GAqBvDC,EAAYA,CAACxD,EAAeyD,EAA8Bf,KAC5D,GAAmB,mBAARe,GAAuBjH,EAAWkG,GAqBzCzI,EAAE,KACEuJ,EAAUxD,EAAqB,mBAARyD,EAAqBA,IAAQA,EAAKjH,EAAWkG,GAAOA,IAAQA,SAtBxC,CAC/C,IAAK1C,EACD,OAEJ,KAAMA,aAAgB0D,SAClB,OAGJ,GA1BaC,EAACC,EAAiCC,KACnD,IAAIC,EACJ,GACIA,EAAarJ,OAAOsJ,yBAAyBH,EAAOC,GACpDD,EAAQnJ,OAAOuJ,eAAeJ,SACzBA,IAAUE,GACnB,SAAKA,IAGD,IAAUA,EAAWG,UAGrBH,EAAWzH,MAAQyH,EAAWjJ,MAaf8I,CAAa3D,EAAayD,GAC7B,CACR,MAAMS,EAAYlE,EAAayD,GAC9BzD,EAAayD,GAAOf,EACrB9G,EAAQ,KACHoE,EAAayD,GAAOS,GAE7B,MACIlE,EAAKmE,aAAaV,EAAKf,GACvB9G,EAAQ,KACJoE,EAAKoE,gBAAgBX,EAAG,EAGpC,CAIA,EAGEY,EAAcA,CAACrE,EAAe9F,KAChCD,EAAE,KACE,MAAMqK,EAAQpK,IACd,IAAK,MAAMuJ,KAAOa,EACdd,EAAUxD,EAAMyD,EAAKa,EAAMb,GAC/B,IAIFc,EAAWA,CAACnG,EAAmB4B,EAAqBhC,KACtD,GAAc,IAAVgC,EAAKwE,EACL,OAAOxE,EAAKxF,EAAMiK,QAASC,IACvB,GAAoB,iBAATA,EAAmB,CAC1B,MAAMC,EAAWhG,SAASsB,eAAeyE,GAEzC,OADA9I,EAAQ,IAAM+I,EAASpF,UAChBoF,CACX,CAAO,GAAoB,iBAATD,EAAmB,CACjC,MAAMxK,EAAQ8D,EAAO0G,GACrB,GAAqB,mBAAVxK,EACP,OAAOsE,EAAStE,GACb,CACH,MAAMyK,EAAWhG,SAASsB,eAAe2E,OAAO1K,IAEhD,OADA0B,EAAQ,IAAM+I,EAASpF,UAChBoF,CACX,CACJ,CACA,MAAO,KAER,CAAA,IAAAE,EACH,MAAQC,EAAQR,EAAOS,EAAUC,EAASC,EAAMC,EAAKC,EAAa9G,GAAe2B,EAC3EoF,EAAWrH,EAAYmH,EAAKlH,GAC5BqH,EAAoB,OAAXR,EAAG7E,EAAKsF,GAAGT,EAAIzG,EAC9B,OAAOD,EAAQkH,EAAWhH,EAAY+G,EAAWpF,IAC7C,IAAK,MAAQuF,EAAOC,EAAMC,EAAQvL,KAAWoK,EACzB,QAAZkB,EAAK,IAAmC,iBAAZA,EAAK,GACjCnB,EAAYrE,EAAMjC,EAAYyH,EAAKE,MAAM,GAAI1H,IAE7CwF,EAAUxD,EAAMjC,EAAYyH,EAAMxH,GAASD,EAAY7D,EAAO8D,IAGtE,OAAOgH,EAAQP,QAASlK,GAAMgK,EAASc,EAAW9K,EAAGyD,GAAO,EAEpE,GAGE2H,EAAgBA,CAACC,EAAyBC,KAC5C,GAAkB,IAAdD,EAASpB,EACT,OAAOoB,EACJ,CACH,IAAKA,EAAST,EACV,OAAOS,EAEX,MAAME,EACFD,EACKA,EAAWE,WAAW7C,KAAK0C,EAASI,GACpCJ,EAAST,EAAYc,WAAU,GACxC,OAAAC,EACON,GAAAA,GACHT,EAAaW,EACbf,EAAUa,EAASb,EAAS9G,IAAK+B,GAAS2F,EAAc3F,EAAM8F,KAEtE,GAGEZ,EACFA,CACI9G,EACA+H,EACAC,EACAC,IAEJ,CAACC,KAAmCtI,KAChC,MAAMuI,EArcAC,EACVL,EACAC,EACAC,EACAC,EACAG,KAEA,GAAIhK,EAAMkG,IAAI2D,GACV,OAAO7J,EAAMJ,IAAIiK,GAGrB,MASMI,EAAiBN,EATPE,EACX7B,QAAQ,CAACkC,EAAS/I,GAAS3C,YACpB2C,IAAU3C,EAAS,EACZ,CAAC0L,GAEL,CAACA,EAAS3J,EAAWyJ,EAAS7I,GAAQX,IAEhDiB,KAAK,KAIJS,EAAWtB,EAAUuJ,gBAAgBF,EAAgBP,GAErDU,EAAgBC,IAClB,MAAMC,EAA4B,GAClC,IACI,IAAI7D,EAAgC4D,EAAY5D,KAAK,GAAI8D,EAAkB,OAAPC,EAAG/D,QAAI,EAAJ+D,EAAMD,YAAapJ,EAAQ,EAC1F,MAARsF,EACAA,EAAO8D,EAAaA,EAAcE,OAAHA,EAAGF,QAAAE,EAAAA,EAAaF,YAAapJ,IAC9D,KAAAqJ,EAAAC,EAEMC,EAAsB,CAClB,GAAIjE,EAAKkE,WAAarH,KAAKsH,aAAc,CACrC,MAAM3I,EAAKwE,EACLgC,EAAM3H,EAAUmB,EAAGJ,QAAQgJ,eAC3BC,EAAiBrC,EAAIjK,OAAS,GAAuB,iBAAXiK,EAAI,GAiCpD,GA/BA6B,EAASnM,KAAK,CACV0K,EAAK5G,EAAG8I,aACRhD,EAA4B,EAC5BS,EAAMC,EACNJ,EAAQjF,MAAM4H,KAAK/I,EAAGgJ,YAAYjD,QAASkD,IACvC,MAAMnC,EAAOjI,EAAUoK,EAAKC,UACtB1N,EAAQqD,EAAUoK,EAAKzN,OAO7B,OAAKqN,GALD/B,EAAKvK,OAAS,GACK,iBAAZuK,EAAK,IACZtL,EAAMe,OAAS,GACK,iBAAbf,EAAM,IAKbwE,EAAG0F,gBAAgBuD,EAAKC,UAErB,CACH,CACIpD,EAA8B,EAC9Be,EAAOC,EACPC,EAAQvL,KARL,EASuB,GAGtC6K,EAAUrG,EAAGqH,WAAW9K,OAAS,EAAI4L,EAAanI,EAAGqH,YAAc,GACnEZ,EAAaoC,EAAiB,KAAO7I,EACrCsH,EAAcpI,KAGb2J,EACD,MAAMJ,CAEd,SAAWjE,EAAKkE,WAAarH,KAAK8H,UAAW,CACzC,MACM/N,EAASyD,EADD2F,EAAc/I,MAExBL,EAAOmB,OAAS,GAChB8L,EAASnM,KAAK,CACV4J,EAAyB,EACzBhK,EAAOV,GAGnB,CACCoJ,EAAkC3D,SACnC3B,GACJ,CAER,CACA,OAAOmJ,GAGLe,EAAWzB,EAAW1H,GAEtBiH,EAAWiB,EAAaiB,GAI9B,OAFArL,EAAM5B,IAAIyL,EAAUV,GAEbA,GAqWUY,CACTL,EACAC,EACAC,EACAC,EACAtI,EAAOC,IAAKzC,GAAOwC,EAAOsF,QAAQ9H,KAEhCuM,EAAaxB,EAAKtI,IAAKsI,GAASZ,EAAcY,EAAM,OAC1D,OAAO/H,EAAS,IACLuJ,EAAWtD,QAASvB,GAASqB,EAASnG,EAAI8E,EAAMlF,IAC1D,EAEHgK,EAAQ,6BACDC,EAAM/C,EACf8C,EACA,WACCC,GAAQ,eAAeD,MAAUC,UACjCC,GAAQA,EAAInJ,WAAYgH,YAEhBoC,EAAOjD,EAChB,KACA,YACCiD,GAASA,EACTD,GAAQA,EAAIE,KAAKrC"}
package/lib/s.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"s.d.ts","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"AAoBA,UAAU,EAAE,CAAC,CAAC;IACV,IAAI,CAAC,CAAC;CACT;AAED,UAAU,EAAE,CAAC,CAAC;IACV,IAAI,CAAC,CAAC;IACN,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;CACrB;AAYD,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,KAAG,CAYxD,CAAC;AACF,eAAO,MAAM,CAAC,GAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAG,EAAE,CAAC,CAAC,CA2BlE,CAAC;AACF,eAAO,MAAM,CAAC,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,EAAE,CAAC,CAAC,CA0DnC,CAAC;AAcF,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,MAAM,IAAI,EAAE,GAAG,CAAC,KAAG,CAKpD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAG,CAgB3C,CAAC;AAEF,OAAO,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;AAE3B,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAG,CAMtC,CAAC;AAEF,eAAO,MAAM,WAAW,eAAwB,CAAC;AAEjD,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,IAAI,eAGtC,CAAC;AACF,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,IAAI,SAKxC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAA4B,CAAC;AAC9E,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAA6B,CAAC;AAC7E,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAA0B,CAAC"}
1
+ {"version":3,"file":"s.d.ts","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"AAcA,UAAU,EAAE,CAAC,CAAC;IACV,IAAI,CAAC,CAAC;CACT;AAED,UAAU,EAAE,CAAC,CAAC;IACV,IAAI,CAAC,CAAC;IACN,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;CACrB;AAYD,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,KAAG,CAYxD,CAAC;AACF,eAAO,MAAM,CAAC,GAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAG,EAAE,CAAC,CAAC,CAyBlE,CAAC;AACF,eAAO,MAAM,CAAC,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,EAAE,CAAC,CAAC,CAwDnC,CAAC;AAcF,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,MAAM,IAAI,EAAE,GAAG,CAAC,KAAG,CAKpD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAG,CAgB3C,CAAC;AAEF,OAAO,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;AAE3B,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAG,CAMtC,CAAC;AAEF,eAAO,MAAM,WAAW,eAAwB,CAAC;AAEjD,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,IAAI,eAGtC,CAAC;AACF,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,IAAI,SAKxC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAA4B,CAAC;AAC9E,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAA6B,CAAC;AAC7E,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAA0B,CAAC"}
package/lib/s.js CHANGED
@@ -48,9 +48,7 @@ export const S = (fn, value) => {
48
48
  resetUpdate(update);
49
49
  update();
50
50
  fun2s.set(fn, update);
51
- const namedData = namedFunc(data, fn.name);
52
- update._displayName = namedData.name;
53
- return namedData;
51
+ return data;
54
52
  };
55
53
  export const o = (value) => {
56
54
  function data(nextValue) {
@@ -91,14 +89,12 @@ export const o = (value) => {
91
89
  return value;
92
90
  }
93
91
  Object.setPrototypeOf(data, oProto);
94
- const namedData = namedFunc(data);
95
92
  const trigger = {
96
93
  _whoNeedMe: [],
97
94
  _data: data,
98
95
  _pendingValue: NoValue,
99
- _displayName: namedData.name,
100
96
  };
101
- return namedData;
97
+ return data;
102
98
  };
103
99
  const recycleUpdate = (update) => {
104
100
  update._whoIOwn.forEach(recycleUpdate);
@@ -154,64 +150,4 @@ export const unsubscribe = (f) => {
154
150
  export const isObservable = (o) => o instanceof Observable;
155
151
  export const isComputed = (o) => o instanceof Computation;
156
152
  export const isReactive = (o) => o instanceof Reactive;
157
- const url2src = new Map();
158
- const getLeftName = function getLeftName() {
159
- const stack = new Error().stack;
160
- if (!stack) {
161
- return null;
162
- }
163
- const urlRegex = /((?:\w+:\/\/)[-a-zA-Z0-9:@;?&=\/%\+\.\*!'\(\),\$_\{\}\^~\[\]`#|]+):(\d+):(\d+)/;
164
- const lines = stack.split('\n');
165
- const currentLineIndex = lines.findIndex((line) => {
166
- return line.includes(import.meta.url) && line.includes(getLeftName.name);
167
- });
168
- if (currentLineIndex > -1) {
169
- const offset = 3;
170
- const line = lines[currentLineIndex + offset];
171
- if (!line) {
172
- return null;
173
- }
174
- const location = line.match(urlRegex);
175
- if (!location) {
176
- return null;
177
- }
178
- const url = location[1];
179
- const lineNo = location[2];
180
- const colNo = location[3];
181
- if (!url || !lineNo || !colNo) {
182
- return null;
183
- }
184
- let src;
185
- if (url2src.has(url)) {
186
- src = url2src.get(url);
187
- }
188
- else {
189
- const xhr = new XMLHttpRequest();
190
- xhr.open('GET', url, false);
191
- xhr.send();
192
- src = xhr.responseText;
193
- url2src.set(url, src);
194
- }
195
- const reg = new RegExp(`(?:.*\n){${Number(lineNo) - 1}}.{${Number(colNo) - 1}}`);
196
- const segment = src.match(reg);
197
- if (!segment) {
198
- return null;
199
- }
200
- return segment[0].match(/(\w+)\s*=\s*$/)?.[1];
201
- }
202
- return null;
203
- };
204
- const namedFunc = (f, fallback) => {
205
- if (typeof __SUBAY_DEV__ === 'undefined') {
206
- return f;
207
- }
208
- const leftName = getLeftName() ?? fallback;
209
- if (!leftName) {
210
- return f;
211
- }
212
- const g = new Function(`return function ${leftName} (...args) {return ${leftName}._(...args)}`)();
213
- g._ = f;
214
- Object.setPrototypeOf(g, Object.getPrototypeOf(f));
215
- return g;
216
- };
217
153
  //# sourceMappingURL=s.js.map
package/lib/s.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"s.js","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s.js","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "subay",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "A lightweight reactive UI library with state management and template rendering",
5
5
  "keywords": [
6
6
  "reactive",
@@ -17,6 +17,7 @@
17
17
  "license": "MIT",
18
18
  "author": "j-sen",
19
19
  "type": "module",
20
+ "module": "./lib/index.js",
20
21
  "exports": {
21
22
  "default": "./lib/index.js",
22
23
  "unpkg": "./lib/index.js",
@@ -29,7 +30,11 @@
29
30
  "typescript": "^5.9.3"
30
31
  },
31
32
  "scripts": {
32
- "test": "echo \"Error: no test specified\" && exit 1",
33
- "build": "tsc -b ./tsconfig.json"
33
+ "test": "npx http-server -c-1 -o /test/test.html",
34
+ "dev": "tsc --build --watch ./tsconfig.json",
35
+ "build": "npx microbundle -i src/index.ts -o lib/index.js --no-pkg-main -f modern"
36
+ },
37
+ "mangle": {
38
+ "regex": "^_"
34
39
  }
35
40
  }