Skip to content

Commit

Permalink
build: add maps to js and mjs files
Browse files Browse the repository at this point in the history
  • Loading branch information
Masquerade-Circus committed Sep 27, 2023
1 parent d09bdf2 commit 6654f84
Show file tree
Hide file tree
Showing 21 changed files with 142 additions and 0 deletions.
7 changes: 7 additions & 0 deletions dist/dataset/index.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions dist/dataset/index.mjs.map
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../lib/dataset/index.ts"],
"sourcesContent": ["import { VnodeInterface, VnodeWithDom, createDomElement, directive, patch, updateAttributes } from \"valyrian.js\";\n\ninterface DataSetInterface<T> {\n data: T[];\n // eslint-disable-next-line no-unused-vars\n reset: (data: T[]) => void;\n // eslint-disable-next-line no-unused-vars\n add: (...data: T[]) => void;\n // eslint-disable-next-line no-unused-vars\n update: (index: number, data: T) => void;\n // eslint-disable-next-line no-unused-vars\n delete: (index: number) => void;\n}\ninterface DataSetHandler<T> {\n // eslint-disable-next-line no-unused-vars\n (data: T, index: number): VnodeInterface;\n}\n\nfunction deepFreeze(obj: any) {\n if (typeof obj === \"object\" && obj !== null && !Object.isFrozen(obj)) {\n if (Array.isArray(obj)) {\n for (let i = 0, l = obj.length; i < l; i++) {\n deepFreeze(obj[i]);\n }\n } else {\n let props = Reflect.ownKeys(obj);\n for (let i = 0, l = props.length; i < l; i++) {\n deepFreeze(obj[props[i]]);\n }\n }\n Object.freeze(obj);\n }\n\n return obj;\n}\n\nexport class DataSet<T> implements DataSetInterface<T> {\n #vnode: VnodeWithDom;\n // eslint-disable-next-line no-unused-vars\n #handler: DataSetHandler<T>;\n #data: T[] = [];\n #isFrozen = false;\n #dataProxy: T[] | null = null;\n\n get data() {\n if (this.#dataProxy === null) {\n throw new Error(\"DataSet is not initialized\");\n }\n\n return this.#dataProxy;\n }\n\n set data(data: T[]) {\n throw new Error(\"You need to use the reset method to set the data\");\n }\n\n #setData(data: T[]) {\n if (this.#isFrozen) {\n this.#data = deepFreeze([...data]);\n } else {\n this.#data = data;\n }\n this.#dataProxy = new Proxy(this.#data as T[], {\n set: () => {\n throw new Error(\"You need to use the add, update or delete methods to change the data\");\n },\n get(target, prop) {\n return target[prop];\n },\n deleteProperty: () => {\n throw new Error(\"You need to use the add, update or delete methods to change the data\");\n }\n }) as T[];\n }\n\n constructor(data: T[] = [], shouldFreeze = true) {\n this.#isFrozen = shouldFreeze;\n this.#setData(data);\n }\n\n setVnodeAndHandler(vnode: VnodeWithDom, handler: DataSetHandler<T>) {\n this.#vnode = vnode;\n this.#handler = handler;\n this.reset(this.#data);\n }\n\n reset(data: T[]) {\n this.#setData(data);\n let vnode = this.#vnode;\n let handler = this.#handler;\n\n if (data.length === 0) {\n vnode.children = [];\n vnode.dom.textContent = \"\";\n return;\n }\n\n let childrenLength = vnode.children.length;\n for (let i = 0, l = data.length; i < l; i++) {\n let child = handler(this.data[i], i);\n\n if (i < childrenLength) {\n let oldChild = vnode.children[i];\n child.isSVG = oldChild.isSVG;\n child.dom = oldChild.dom;\n updateAttributes(child as VnodeWithDom, oldChild);\n vnode.children[i] = child;\n patch(child as VnodeWithDom, oldChild);\n continue;\n }\n\n child.isSVG = vnode.isSVG || child.tag === \"svg\";\n child.dom = createDomElement(child.tag as string, child.isSVG);\n vnode.dom.appendChild(child.dom);\n updateAttributes(child as VnodeWithDom);\n vnode.children.push(child);\n patch(child as VnodeWithDom);\n }\n\n for (let i = data.length; i < childrenLength; i++) {\n vnode.dom.removeChild(vnode.children[i].dom);\n }\n vnode.children.length = data.length;\n }\n\n add(...data: T[]) {\n if (this.#data) {\n let oldLength = this.#data.length;\n if (this.#isFrozen) {\n this.#setData([...this.#data, ...data]);\n } else {\n this.#data.push(...data);\n }\n\n let vnode = this.#vnode;\n let handler = this.#handler;\n\n for (let i = 0, ii = oldLength, l = data.length; i < l; i++, ii++) {\n let child = handler(this.#data[i], ii);\n child.isSVG = vnode.isSVG || child.tag === \"svg\";\n child.dom = createDomElement(child.tag as string, child.isSVG);\n vnode.dom.appendChild(child.dom);\n updateAttributes(child as VnodeWithDom);\n vnode.children.push(child);\n patch(child as VnodeWithDom);\n }\n }\n }\n\n delete(index) {\n if (this.#data) {\n let child = this.#vnode.children[index];\n if (this.#isFrozen) {\n this.#setData(this.data.filter((_, i) => i !== index));\n } else {\n this.#data.splice(index, 1);\n }\n\n this.#vnode.dom.removeChild(child.dom);\n this.#vnode.children.splice(index, 1);\n }\n }\n\n update(index, item: Partial<T>) {\n if (this.#data) {\n let child = this.#vnode.children[index];\n if (this.#isFrozen) {\n this.#setData(this.#data.map((d, i) => (i === index ? { ...d, ...item } : d)));\n } else {\n this.#data[index] = { ...this.#data[index], ...item };\n }\n let newChild = this.#handler(this.#data[index], index);\n newChild.isSVG = this.#vnode.isSVG || newChild.tag === \"svg\";\n newChild.dom = child.dom;\n this.#vnode.children[index] = newChild;\n updateAttributes(newChild as VnodeWithDom, child);\n patch(newChild as VnodeWithDom, child);\n }\n }\n}\n\ndirective(\"with-dataset\", (dataSet, vnode) => {\n dataSet.setVnodeAndHandler(vnode as VnodeWithDom, vnode.children[0]);\n return false;\n});\n"],
"mappings": "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",
"names": []
}
Loading

0 comments on commit 6654f84

Please sign in to comment.