+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,CAAC,CAChB,YAAmB,EACnB,QAAkC,EAAE,EACpC,GAAG,UAAqB;IAExB,MAAM,OAAO,GAAG,OAAO,YAAY,KAAK,QAAQ;QAC/C,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC;QACtC,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC;IAEtB,IAAI,KAAK,KAAK,IAAI,EAAE;QACnB,KAAK,GAAG,EAAE,CAAC;KACX;IAED,MAAM,WAAW,GAAG,CAAC,GAA8B,EAAE,KAAU,EAAE,EAAE;QAClE,IAAI,GAAG,IAAI,IAAI,EAAE;YAChB,OAAO;SACP;QACD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAChC,OAAO,CAAC,GAA2B,CAAC,GAAG,KAAK,CAAC;SAC7C;aAAM;YACN,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;SACjE;IACF,CAAC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACrC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7B;IAED,MAAM,WAAW,GAAG,CAAC,IAAa,EAAE,EAAE;QACrC,IAAI,IAAI,YAAY,IAAI,EAAE;YACzB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC1B;aAAM,IAAI,IAAI,YAAY,QAAQ,IAAI,IAAI,YAAY,cAAc,EAAE;YACtE,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE;gBAC1B,WAAW,CAAC,CAAC,CAAC,CAAC;aACf;SACD;aAAM,IAAI,IAAI,IAAI,IAAI,EAAE;YACxB,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC3D;IACF,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;gBACrB,WAAW,CAAC,CAAC,CAAC,CAAC;aACf;SACD;aAAM;YACN,WAAW,CAAC,IAAI,CAAC,CAAC;SAClB;KACD;IAED,OAAO,OAAO,CAAC;AAChB,CAAC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,CAAC,CAChB,YAAmB,EACnB,QAAkC,EAAE,EACpC,GAAG,UAAqB;IAExB,MAAM,OAAO,GAAG,OAAO,YAAY,KAAK,QAAQ;QAC/C,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC;QACtC,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC;IAEtB,IAAI,KAAK,KAAK,IAAI,EAAE;QACnB,KAAK,GAAG,EAAE,CAAC;KACX;IAED,MAAM,WAAW,GAAG,CAAC,GAA8B,EAAE,KAAU,EAAE,EAAE;QAClE,IAAI,GAAG,IAAI,IAAI,EAAE;YAChB,OAAO;SACP;QACD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAChC,OAAO,CAAC,GAA2B,CAAC,GAAG,KAAK,CAAC;SAC7C;aAAM;YACN,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;SACjE;IACF,CAAC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACrC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7B;IAED,MAAM,WAAW,GAAG,CAAC,IAAa,EAAE,EAAE;QACrC,IAAI,IAAI,YAAY,IAAI,EAAE;YACzB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC1B;aAAM,IAAI,IAAI,YAAY,QAAQ,IAAI,IAAI,YAAY,cAAc,EAAE;YACtE,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE;gBAC1B,WAAW,CAAC,CAAC,CAAC,CAAC;aACf;SACD;aAAM,IAAI,IAAI,IAAI,IAAI,EAAE;YACxB,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC3D;IACF,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;gBACrB,WAAW,CAAC,CAAC,CAAC,CAAC;aACf;SACD;aAAM;YACN,WAAW,CAAC,IAAI,CAAC,CAAC;SAClB;KACD;IAED,OAAO,OAAO,CAAC;AAChB,CAAC","sourcesContent":["// tslint:disable-next-line:no-reference\n/// <reference path=\"global.d.ts\" />\n\nexport function h<T extends keyof JSX.ElementTagNameMap, E extends JSX.Element & (new () => E)>(\n\tTagOrElement: T | E,\n\tprops: { [index: string]: any } = {},\n\t...childNodes: unknown[]\n) {\n\tconst element = typeof TagOrElement === 'string'\n\t\t? document.createElement(TagOrElement)\n\t\t: new TagOrElement();\n\n\tif (props === null) {\n\t\tprops = {};\n\t}\n\n\tconst setProperty = (key: string | null | undefined, value: any) => {\n\t\tif (key == null) {\n\t\t\treturn;\n\t\t}\n\t\tif (typeof value === 'function') {\n\t\t\telement[key as keyof typeof element] = value;\n\t\t} else {\n\t\t\telement.setAttribute(key, value == null ? '' : value.toString());\n\t\t}\n\t};\n\n\tfor (const key of Object.keys(props)) {\n\t\tsetProperty(key, props[key]);\n\t}\n\n\tconst appendChild = (node: unknown) => {\n\t\tif (node instanceof Node) {\n\t\t\telement.appendChild(node);\n\t\t} else if (node instanceof NodeList || node instanceof HTMLCollection) {\n\t\t\tfor (const n of [...node]) {\n\t\t\t\tappendChild(n);\n\t\t\t}\n\t\t} else if (node != null) {\n\t\t\telement.appendChild(document.createTextNode(String(node)));\n\t\t}\n\t};\n\tfor (const node of childNodes) {\n\t\tif (Array.isArray(node)) {\n\t\t\tfor (const n of node) {\n\t\t\t\tappendChild(n);\n\t\t\t}\n\t\t} else {\n\t\t\tappendChild(node);\n\t\t}\n\t}\n\n\treturn element;\n}\n"]} |
+2
-2
| { | ||
| "name": "@ledge/jsx", | ||
| "version": "1.2.0", | ||
| "version": "1.2.3", | ||
| "description": "Simple JSX implementation for working directly with HTML elements. Types included.", | ||
@@ -24,3 +24,3 @@ "homepage": "https://git.sr.ht/~ledge", | ||
| "test": "ava", | ||
| "prepare": "tsc index.ts --sourcemap --declaration --removeComments -t es2015 --lib dom,dom.iterable,es2015 && sed -E 's|export function ([a-z]+)|module.exports.\\1 = function \\1|;$d' index.js > index.cjs", | ||
| "prepare": "tsc index.ts --sourcemap --inlineSources --declaration --removeComments -t es2015 --lib dom,dom.iterable,es2015 && sed -E 's|export function ([a-z]+)|module.exports.\\1 = function \\1|;$d' index.js > index.cjs", | ||
| "prepublishOnly": "npm run lint && npm test" | ||
@@ -27,0 +27,0 @@ }, |
+18
-0
@@ -41,1 +41,19 @@ # @ledge/jsx [](https://builds.sr.ht/~ledge/jsx?) | ||
| ``` | ||
| ## TypeScript | ||
| The minimum following configuration is required: | ||
| ```json | ||
| { | ||
| "compilerOptions": { | ||
| "lib": [ | ||
| "es2015", | ||
| "dom", | ||
| "dom.iterable" | ||
| ], | ||
| "jsx": "react", | ||
| "jsxFactory": "h" | ||
| } | ||
| } | ||
| ``` |
22803
7.92%59
43.9%