@domql/render 2.5.185 → 2.5.186

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/cjs/index.js CHANGED
@@ -15,6 +15,6 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
15
15
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
16
  var render_exports = {};
17
17
  module.exports = __toCommonJS(render_exports);
18
- __reExport(render_exports, require("./create"), module.exports);
19
- __reExport(render_exports, require("./cache"), module.exports);
20
- __reExport(render_exports, require("./append"), module.exports);
18
+ __reExport(render_exports, require("./create.js"), module.exports);
19
+ __reExport(render_exports, require("./cache.js"), module.exports);
20
+ __reExport(render_exports, require("./append.js"), module.exports);
@@ -0,0 +1,35 @@
1
+ const appendNode = (node, parentNode) => {
2
+ parentNode.appendChild(node);
3
+ return node;
4
+ };
5
+ const insertNodeAfter = (node, siblingNode, parentNode) => {
6
+ const parent = parentNode || siblingNode.parentNode;
7
+ if (siblingNode.nextSibling) {
8
+ parent && parent.insertBefore(node, siblingNode.nextSibling);
9
+ } else if (siblingNode == null ? void 0 : siblingNode.insertAdjacentElement) {
10
+ siblingNode.insertAdjacentElement("afterend", node);
11
+ } else {
12
+ parent.insertBefore(node, siblingNode);
13
+ }
14
+ };
15
+ const insertNodeBefore = (node, siblingNode, parentNode) => {
16
+ const parent = parentNode || siblingNode.parentNode;
17
+ parent && parent.insertBefore(node, siblingNode);
18
+ };
19
+ const assignNode = (element, parent, key, attachOptions) => {
20
+ parent[key || element.key] = element;
21
+ if (element.tag !== "shadow") {
22
+ if (attachOptions && attachOptions.position) {
23
+ (attachOptions.position === "before" ? insertNodeBefore : insertNodeAfter)(element.node, attachOptions.node || parent.node);
24
+ } else {
25
+ appendNode(element.node, parent.node);
26
+ }
27
+ }
28
+ return element;
29
+ };
30
+ export {
31
+ appendNode,
32
+ assignNode,
33
+ insertNodeAfter,
34
+ insertNodeBefore
35
+ };
@@ -0,0 +1,65 @@
1
+ import { report } from "@domql/report";
2
+ import { canRenderTag } from "@domql/event";
3
+ import { exec, isObject, isString, isValidHtmlTag, document } from "@domql/utils";
4
+ const createHTMLNode = (element) => {
5
+ const { tag, context } = element;
6
+ const doc = context.document || document;
7
+ if (tag) {
8
+ if (tag === "string")
9
+ return doc.createTextNode(element.text);
10
+ else if (tag === "fragment") {
11
+ return doc.createDocumentFragment();
12
+ } else if (tag === "svg" || tag === "path") {
13
+ return doc.createElementNS("http://www.w3.org/2000/svg", tag);
14
+ } else
15
+ return doc.createElement(tag);
16
+ } else {
17
+ return doc.createElement("div");
18
+ }
19
+ };
20
+ const detectTag = (element) => {
21
+ let { tag, key, props } = element;
22
+ tag = exec(tag, element);
23
+ if (tag === true)
24
+ tag = key;
25
+ if (isObject(props) && isString(props.tag)) {
26
+ const tagExists = isValidHtmlTag(props.tag);
27
+ if (tagExists)
28
+ return props.tag;
29
+ }
30
+ if (isString(tag)) {
31
+ if (isValidHtmlTag(tag))
32
+ return tag;
33
+ } else {
34
+ let keyAsTag = key.toLowerCase();
35
+ if (keyAsTag.includes("."))
36
+ keyAsTag = keyAsTag.split(".")[0];
37
+ if (keyAsTag.includes("_"))
38
+ keyAsTag = keyAsTag.split("_")[0];
39
+ if (isValidHtmlTag(keyAsTag))
40
+ return keyAsTag;
41
+ }
42
+ return "div";
43
+ };
44
+ const cacheNode = (element) => {
45
+ const { context } = element;
46
+ const win = context.window || window;
47
+ const tag = element.tag = detectTag(element);
48
+ if (!canRenderTag(tag)) {
49
+ return report("HTMLInvalidTag", element.tag, element);
50
+ }
51
+ if (!win.nodeCaches)
52
+ win.nodeCaches = {};
53
+ let cachedTag = win.nodeCaches[tag];
54
+ if (!cachedTag)
55
+ cachedTag = win.nodeCaches[tag] = createHTMLNode(element);
56
+ const clonedNode = cachedTag.cloneNode(true);
57
+ if (tag === "string")
58
+ clonedNode.nodeValue = element.text;
59
+ return clonedNode;
60
+ };
61
+ export {
62
+ cacheNode,
63
+ createHTMLNode,
64
+ detectTag
65
+ };
@@ -0,0 +1,5 @@
1
+ const createNode = (element) => {
2
+ };
3
+ export {
4
+ createNode
5
+ };
@@ -0,0 +1,3 @@
1
+ export * from "./create.js";
2
+ export * from "./cache.js";
3
+ export * from "./append.js";
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  'use strict'
2
2
 
3
- export * from './create'
4
- export * from './cache'
5
- export * from './append'
3
+ export * from './create.js'
4
+ export * from './cache.js'
5
+ export * from './append.js'
package/package.json CHANGED
@@ -1,32 +1,33 @@
1
1
  {
2
2
  "name": "@domql/render",
3
- "version": "2.5.185",
3
+ "version": "2.5.186",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "module": "index.js",
7
7
  "main": "index.js",
8
+ "source": "index.js",
8
9
  "exports": {
9
10
  ".": {
10
- "kalduna": "./index.js",
11
- "default": "./dist/cjs/index.js"
11
+ "default": "./dist/esm/index.js",
12
+ "import": "./dist/esm/index.js",
13
+ "require": "./dist/cjs/index.js"
12
14
  }
13
15
  },
14
- "source": "index.js",
15
16
  "files": [
16
17
  "*.js",
17
18
  "dist"
18
19
  ],
19
20
  "dependencies": {
20
- "@domql/event": "^2.5.185",
21
- "@domql/report": "^2.5.162",
21
+ "@domql/event": "^2.5.186",
22
+ "@domql/report": "^2.5.186",
22
23
  "@domql/utils": "^2.5.185"
23
24
  },
24
25
  "scripts": {
25
26
  "copy:package:cjs": "cp ../../build/package-cjs.json dist/cjs/package.json",
26
27
  "build:esm": "npx esbuild *.js --target=es2017 --format=esm --outdir=dist/esm",
27
28
  "build:cjs": "npx esbuild *.js --target=node16 --format=cjs --outdir=dist/cjs",
28
- "build": "npm run build:cjs",
29
+ "build": "rimraf -I dist; npm run build:cjs; npm run build:esm",
29
30
  "prepublish": "rimraf -I dist && npm run build && npm run copy:package:cjs"
30
31
  },
31
- "gitHead": "ccab034f188b6a1f55f741c0b29a9d3b0c9bee6f"
32
+ "gitHead": "1fa4d0c2683c11578893632ca11a765c3997685e"
32
33
  }