domql 1.5.134 → 1.5.136
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/package.json +1 -1
- package/src/element/create.js +8 -49
- package/src/element/props.js +30 -23
- package/src/element/remove.js +23 -0
- package/src/element/set.js +3 -21
- package/src/element/update.js +6 -2
- package/src/utils/component.js +56 -0
- package/src/utils/index.js +1 -0
- package/dist/cjs/element/applyParam.js +0 -41
- package/dist/cjs/element/assign.js +0 -35
- package/dist/cjs/element/cache.js +0 -74
- package/dist/cjs/element/create.js +0 -300
- package/dist/cjs/element/define.js +0 -34
- package/dist/cjs/element/extend.js +0 -75
- package/dist/cjs/element/index.js +0 -55
- package/dist/cjs/element/iterate.js +0 -109
- package/dist/cjs/element/methods.js +0 -166
- package/dist/cjs/element/node.js +0 -80
- package/dist/cjs/element/nodes.js +0 -158
- package/dist/cjs/element/options.js +0 -24
- package/dist/cjs/element/parse.js +0 -42
- package/dist/cjs/element/props.js +0 -110
- package/dist/cjs/element/root.js +0 -30
- package/dist/cjs/element/set.js +0 -75
- package/dist/cjs/element/state.js +0 -217
- package/dist/cjs/element/tree.js +0 -31
- package/dist/cjs/element/update.js +0 -155
- package/dist/cjs/event/can.js +0 -30
- package/dist/cjs/event/index.js +0 -34
- package/dist/cjs/event/is.js +0 -28
- package/dist/cjs/event/on.js +0 -34
- package/dist/cjs/event/store.js +0 -27
- package/dist/cjs/event/wrappers.js +0 -36
- package/dist/cjs/index.js +0 -35
- package/dist/cjs/package.json +0 -4
- package/dist/cjs/utils/extendUtils.js +0 -142
- package/dist/cjs/utils/index.js +0 -19
- package/dist/cjs/utils/object.js +0 -146
- package/dist/esm/element/applyParam.js +0 -21
- package/dist/esm/element/assign.js +0 -15
- package/dist/esm/element/cache.js +0 -54
- package/dist/esm/element/create.js +0 -274
- package/dist/esm/element/define.js +0 -14
- package/dist/esm/element/extend.js +0 -55
- package/dist/esm/element/index.js +0 -29
- package/dist/esm/element/iterate.js +0 -89
- package/dist/esm/element/methods.js +0 -140
- package/dist/esm/element/node.js +0 -58
- package/dist/esm/element/nodes.js +0 -138
- package/dist/esm/element/options.js +0 -4
- package/dist/esm/element/parse.js +0 -16
- package/dist/esm/element/props.js +0 -90
- package/dist/esm/element/root.js +0 -10
- package/dist/esm/element/set.js +0 -49
- package/dist/esm/element/state.js +0 -197
- package/dist/esm/element/tree.js +0 -5
- package/dist/esm/element/update.js +0 -129
- package/dist/esm/event/can.js +0 -10
- package/dist/esm/event/index.js +0 -8
- package/dist/esm/event/is.js +0 -8
- package/dist/esm/event/on.js +0 -14
- package/dist/esm/event/store.js +0 -7
- package/dist/esm/event/wrappers.js +0 -16
- package/dist/esm/index.js +0 -15
- package/dist/esm/utils/extendUtils.js +0 -122
- package/dist/esm/utils/index.js +0 -2
- package/dist/esm/utils/object.js +0 -126
- package/dist/iife/index.js +0 -2652
- package/packages/router/dist/cjs/index.js +0 -81
- package/packages/router/dist/cjs/package.json +0 -4
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "domql",
|
|
3
3
|
"description": "DOM rendering Javascript framework at early stage.",
|
|
4
4
|
"author": "symbo.ls",
|
|
5
|
-
"version": "1.5.
|
|
5
|
+
"version": "1.5.136",
|
|
6
6
|
"repository": "https://github.com/domql/domql",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"registry": "https://registry.npmjs.org"
|
package/src/element/create.js
CHANGED
|
@@ -8,7 +8,7 @@ import root from './root'
|
|
|
8
8
|
import createNode from './node'
|
|
9
9
|
import { appendNode, assignNode } from './assign'
|
|
10
10
|
import { applyExtend } from './extend'
|
|
11
|
-
import set
|
|
11
|
+
import set from './set'
|
|
12
12
|
import createState from './state'
|
|
13
13
|
import createProps from './props'
|
|
14
14
|
import update from './update'
|
|
@@ -18,6 +18,13 @@ import cacheNode, { detectTag } from './cache'
|
|
|
18
18
|
import { registry } from './mixins'
|
|
19
19
|
import { throughInitialExec } from './iterate'
|
|
20
20
|
import OPTIONS from './options'
|
|
21
|
+
|
|
22
|
+
import {
|
|
23
|
+
applyComponentFromContext,
|
|
24
|
+
applyKeyComponentAsExtend,
|
|
25
|
+
checkIfKeyIsComponent
|
|
26
|
+
} from '../utils/component'
|
|
27
|
+
import { removeContentElement } from './remove'
|
|
21
28
|
// import { overwrite, clone, fillTheRest } from '../utils'
|
|
22
29
|
|
|
23
30
|
const ENV = process.env.NODE_ENV
|
|
@@ -276,54 +283,6 @@ const resolveExtends = (element, parent, options) => {
|
|
|
276
283
|
return element
|
|
277
284
|
}
|
|
278
285
|
|
|
279
|
-
const checkIfKeyIsComponent = (key) => {
|
|
280
|
-
const isFirstKeyString = isString(key)
|
|
281
|
-
if (!isFirstKeyString) return
|
|
282
|
-
|
|
283
|
-
const firstCharKey = key.slice(0, 1)
|
|
284
|
-
|
|
285
|
-
return /^[A-Z]*$/.test(firstCharKey)
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
const extendizeByKey = (element, parent, key) => {
|
|
289
|
-
const { extend, props, state, childExtend, childProps } = element
|
|
290
|
-
const hasComponentAttrs = extend || childExtend || props || state || element.on
|
|
291
|
-
const componentKey = key.split('_')[0]
|
|
292
|
-
|
|
293
|
-
if (!hasComponentAttrs || childProps) {
|
|
294
|
-
return {
|
|
295
|
-
extend: componentKey || key,
|
|
296
|
-
props: { ...element }
|
|
297
|
-
}
|
|
298
|
-
} else if (!extend || extend === true) {
|
|
299
|
-
return {
|
|
300
|
-
...element,
|
|
301
|
-
extend: componentKey || key
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
const applyKeyComponentAsExtend = (element, parent, key) => {
|
|
307
|
-
return extendizeByKey(element, parent, key) || element
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
const applyComponentFromContext = (element, parent, options) => {
|
|
311
|
-
const { context } = element
|
|
312
|
-
const { components } = context
|
|
313
|
-
const { extend } = element
|
|
314
|
-
const execExtend = exec(extend, element)
|
|
315
|
-
if (isString(execExtend)) {
|
|
316
|
-
if (components[execExtend]) element.extend = components[execExtend]
|
|
317
|
-
else {
|
|
318
|
-
if ((ENV === 'test' || ENV === 'development') && options.verbose) {
|
|
319
|
-
console.warn(execExtend, 'is not in library', components, element)
|
|
320
|
-
console.warn('replacing with ', {})
|
|
321
|
-
}
|
|
322
|
-
element.extend = {}
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
|
|
327
286
|
const checkIfMedia = (key) => key.slice(0, 1) === '@'
|
|
328
287
|
|
|
329
288
|
const applyMediaProps = (element, parent, key) => {
|
package/src/element/props.js
CHANGED
|
@@ -8,16 +8,34 @@ const objectizeStringProperty = propValue => {
|
|
|
8
8
|
return propValue
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
const matchParent = parent.props && parent.props[element.key]
|
|
16
|
-
const matchParentChildProps = parent.props && parent.props.childProps
|
|
11
|
+
const inheritParentProps = (element, parent) => {
|
|
12
|
+
let propsStack = []
|
|
13
|
+
const parentProps = exec(parent, parent.state).props
|
|
17
14
|
|
|
18
|
-
|
|
15
|
+
const matchParent = parent.props && parentProps[element.key]
|
|
16
|
+
const matchParentIsString = isString(matchParent)
|
|
17
|
+
const matchParentChildProps = parentProps && parentProps.childProps
|
|
18
|
+
|
|
19
|
+
if (matchParent) {
|
|
20
|
+
if (matchParentIsString) {
|
|
21
|
+
const inheritedStringExists = propsStack.filter(v => v.inheritedString)[0]
|
|
22
|
+
if (inheritedStringExists) inheritedStringExists.inheritedString = matchParent
|
|
23
|
+
else {
|
|
24
|
+
propsStack = [].concat(objectizeStringProperty(matchParent), propsStack)
|
|
25
|
+
}
|
|
26
|
+
} else {
|
|
27
|
+
propsStack.push(objectizeStringProperty(matchParent))
|
|
28
|
+
}
|
|
29
|
+
}
|
|
19
30
|
if (matchParentChildProps) propsStack.push(matchParentChildProps)
|
|
20
31
|
|
|
32
|
+
return propsStack
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const createPropsStack = (element, parent) => {
|
|
36
|
+
const { props, __ref } = element
|
|
37
|
+
const propsStack = __ref.__props = inheritParentProps(element, parent)
|
|
38
|
+
|
|
21
39
|
if (isObject(props)) propsStack.push(props)
|
|
22
40
|
else if (props === 'inherit' && parent.props) propsStack.push(parent.props)
|
|
23
41
|
else if (props) propsStack.push(props)
|
|
@@ -29,11 +47,9 @@ const createPropsStack = (element, parent) => {
|
|
|
29
47
|
})
|
|
30
48
|
}
|
|
31
49
|
|
|
32
|
-
|
|
33
|
-
}
|
|
50
|
+
__ref.__props = propsStack
|
|
34
51
|
|
|
35
|
-
|
|
36
|
-
element.props = (parent && parent.props) || { update, __element: element }
|
|
52
|
+
return propsStack
|
|
37
53
|
}
|
|
38
54
|
|
|
39
55
|
export const syncProps = (props, element) => {
|
|
@@ -57,7 +73,7 @@ const createProps = function (element, parent, cached) {
|
|
|
57
73
|
__ref.__props = propsStack
|
|
58
74
|
syncProps(propsStack, element)
|
|
59
75
|
element.props.update = update
|
|
60
|
-
}
|
|
76
|
+
}
|
|
61
77
|
|
|
62
78
|
return element
|
|
63
79
|
}
|
|
@@ -66,19 +82,11 @@ export const updateProps = (newProps, element, parent) => {
|
|
|
66
82
|
const { __ref } = element
|
|
67
83
|
let propsStack = __ref.__props
|
|
68
84
|
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
if (matchParentIsString) {
|
|
72
|
-
const inheritedStringExists = propsStack.filter(v => v.inheritedString)[0]
|
|
73
|
-
if (inheritedStringExists) inheritedStringExists.inheritedString = matchParent
|
|
74
|
-
else {
|
|
75
|
-
propsStack = __ref.__props = [].concat(objectizeStringProperty(matchParent), propsStack)
|
|
76
|
-
}
|
|
77
|
-
}
|
|
85
|
+
const parentProps = inheritParentProps(element, parent)
|
|
86
|
+
if (parentProps) propsStack = __ref.__props = [].concat(parentProps, propsStack)
|
|
78
87
|
if (newProps) propsStack = __ref.__props = [].concat(newProps, propsStack)
|
|
79
88
|
|
|
80
89
|
if (propsStack) syncProps(propsStack, element)
|
|
81
|
-
else inheritProps(element, parent)
|
|
82
90
|
|
|
83
91
|
// console.log(cachedProps)
|
|
84
92
|
return element
|
|
@@ -86,7 +94,6 @@ export const updateProps = (newProps, element, parent) => {
|
|
|
86
94
|
|
|
87
95
|
function update (props, options) {
|
|
88
96
|
const element = this.__element
|
|
89
|
-
// element.update({ props })
|
|
90
97
|
element.update({ props }, options)
|
|
91
98
|
}
|
|
92
99
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
import { isFunction } from '@domql/utils'
|
|
4
|
+
|
|
5
|
+
export const removeContentElement = function (el) {
|
|
6
|
+
const element = el || this
|
|
7
|
+
const { __ref } = element
|
|
8
|
+
|
|
9
|
+
if (element.content) {
|
|
10
|
+
if (element.content.node) {
|
|
11
|
+
if (element.content.tag === 'fragment') element.node.innerHTML = ''
|
|
12
|
+
else element.node.removeChild(element.content.node)
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const { __cached } = __ref
|
|
16
|
+
if (__cached && __cached.content) {
|
|
17
|
+
if (__cached.content.tag === 'fragment') __cached.content.parent.node.innerHTML = ''
|
|
18
|
+
else if (__cached.content && isFunction(__cached.content.remove)) __cached.content.remove()
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
delete element.content
|
|
22
|
+
}
|
|
23
|
+
}
|
package/src/element/set.js
CHANGED
|
@@ -1,30 +1,12 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
import { isEqualDeep
|
|
3
|
+
import { isEqualDeep } from '@domql/utils'
|
|
4
|
+
import { removeContentElement } from './remove'
|
|
5
|
+
|
|
4
6
|
import create from './create'
|
|
5
7
|
import { registry } from './mixins'
|
|
6
8
|
import OPTIONS from './options'
|
|
7
9
|
|
|
8
|
-
export const removeContentElement = function (el) {
|
|
9
|
-
const element = el || this
|
|
10
|
-
const { __ref } = element
|
|
11
|
-
|
|
12
|
-
if (element.content) {
|
|
13
|
-
if (element.content.node) {
|
|
14
|
-
if (element.content.tag === 'fragment') element.node.innerHTML = ''
|
|
15
|
-
else element.node.removeChild(element.content.node)
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
const { __cached } = __ref
|
|
19
|
-
if (__cached && __cached.content) {
|
|
20
|
-
if (__cached.content.tag === 'fragment') __cached.content.parent.node.innerHTML = ''
|
|
21
|
-
else if (__cached.content && isFunction(__cached.content.remove)) __cached.content.remove()
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
delete element.content
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
10
|
const set = function (params, options = {}, el) {
|
|
29
11
|
const element = el || this
|
|
30
12
|
const __contentRef = element.content && element.content.__ref
|
package/src/element/update.js
CHANGED
|
@@ -28,7 +28,7 @@ const UPDATE_DEFAULT_OPTIONS = {
|
|
|
28
28
|
|
|
29
29
|
const update = function (params = {}, options = UPDATE_DEFAULT_OPTIONS) {
|
|
30
30
|
const element = this
|
|
31
|
-
const { parent, node } = element
|
|
31
|
+
const { parent, node, key } = element
|
|
32
32
|
|
|
33
33
|
let __ref = element.__ref
|
|
34
34
|
if (!__ref) __ref = element.__ref = {}
|
|
@@ -94,7 +94,11 @@ const update = function (params = {}, options = UPDATE_DEFAULT_OPTIONS) {
|
|
|
94
94
|
}
|
|
95
95
|
} else if (!__ref.__hasRootState) element.state = (parent && parent.state) || {}
|
|
96
96
|
|
|
97
|
-
if (__ref.__if && !options.preventPropsUpdate)
|
|
97
|
+
if (__ref.__if && !options.preventPropsUpdate) {
|
|
98
|
+
const hasParentProps = parent.props && (parent.props[key] || parent.props.childProps)
|
|
99
|
+
// if (hasParentProps) console.log(hasParentProps.value)
|
|
100
|
+
updateProps(params.props || (hasParentProps && {}), element, parent)
|
|
101
|
+
}
|
|
98
102
|
|
|
99
103
|
if (element.on && isFunction(element.on.initUpdate) && !options.ignoreInitUpdate) {
|
|
100
104
|
const whatinitreturns = on.initUpdate(element.on.initUpdate, element, element.state)
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
import { exec, isFunction, isString } from '@domql/utils'
|
|
4
|
+
const ENV = process.env.NODE_ENV
|
|
5
|
+
|
|
6
|
+
export const checkIfKeyIsComponent = (key) => {
|
|
7
|
+
const isFirstKeyString = isString(key)
|
|
8
|
+
if (!isFirstKeyString) return
|
|
9
|
+
const firstCharKey = key.slice(0, 1)
|
|
10
|
+
return /^[A-Z]*$/.test(firstCharKey)
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const extendizeByKey = (element, parent, key) => {
|
|
14
|
+
const { extend, props, state, childExtend, childProps } = element
|
|
15
|
+
const hasComponentAttrs = extend || childExtend || props || state || element.on
|
|
16
|
+
const componentKey = key.split('_')[0]
|
|
17
|
+
|
|
18
|
+
if (!hasComponentAttrs || childProps) {
|
|
19
|
+
return {
|
|
20
|
+
extend: componentKey || key,
|
|
21
|
+
props: { ...element }
|
|
22
|
+
}
|
|
23
|
+
} else if (!extend || extend === true) {
|
|
24
|
+
return {
|
|
25
|
+
...element,
|
|
26
|
+
extend: componentKey || key
|
|
27
|
+
}
|
|
28
|
+
} else if (isFunction(element)) {
|
|
29
|
+
console.log(element)
|
|
30
|
+
return {
|
|
31
|
+
extend: componentKey || key,
|
|
32
|
+
props: { ...element }
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export const applyKeyComponentAsExtend = (element, parent, key) => {
|
|
38
|
+
return extendizeByKey(element, parent, key) || element
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export const applyComponentFromContext = (element, parent, options) => {
|
|
42
|
+
const { context } = element
|
|
43
|
+
const { components } = context
|
|
44
|
+
const { extend } = element
|
|
45
|
+
const execExtend = exec(extend, element)
|
|
46
|
+
if (isString(execExtend)) {
|
|
47
|
+
if (components[execExtend]) element.extend = components[execExtend]
|
|
48
|
+
else {
|
|
49
|
+
if ((ENV === 'test' || ENV === 'development') && options.verbose) {
|
|
50
|
+
console.warn(execExtend, 'is not in library', components, element)
|
|
51
|
+
console.warn('replacing with ', {})
|
|
52
|
+
}
|
|
53
|
+
element.extend = {}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
package/src/utils/index.js
CHANGED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var applyParam_exports = {};
|
|
20
|
-
__export(applyParam_exports, {
|
|
21
|
-
applyParam: () => applyParam
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(applyParam_exports);
|
|
24
|
-
var import_utils = require("@domql/utils");
|
|
25
|
-
var import_mixins = require("./mixins");
|
|
26
|
-
const applyParam = (param, element, options) => {
|
|
27
|
-
const { node, context } = element;
|
|
28
|
-
const prop = element[param];
|
|
29
|
-
const DOMQLProperty = import_mixins.registry[param];
|
|
30
|
-
const DOMQLPropertyFromContext = context && context.registry && context.registry[param];
|
|
31
|
-
const isGlobalTransformer = DOMQLPropertyFromContext || DOMQLProperty;
|
|
32
|
-
const hasDefine = element.define && element.define[param];
|
|
33
|
-
const hasContextDefine = context && context.define && context.define[param];
|
|
34
|
-
if (isGlobalTransformer && !hasContextDefine) {
|
|
35
|
-
if ((0, import_utils.isFunction)(isGlobalTransformer)) {
|
|
36
|
-
isGlobalTransformer(prop, element, node, options);
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return { hasDefine, hasContextDefine };
|
|
41
|
-
};
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var assign_exports = {};
|
|
20
|
-
__export(assign_exports, {
|
|
21
|
-
appendNode: () => appendNode,
|
|
22
|
-
assignNode: () => assignNode
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(assign_exports);
|
|
25
|
-
const appendNode = (node, parentNode) => {
|
|
26
|
-
parentNode.appendChild(node);
|
|
27
|
-
return node;
|
|
28
|
-
};
|
|
29
|
-
const assignNode = (element, parent, key) => {
|
|
30
|
-
parent[key || element.key] = element;
|
|
31
|
-
if (element.tag !== "shadow") {
|
|
32
|
-
appendNode(element.node, parent.node);
|
|
33
|
-
}
|
|
34
|
-
return element;
|
|
35
|
-
};
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var cache_exports = {};
|
|
20
|
-
__export(cache_exports, {
|
|
21
|
-
default: () => cache_default,
|
|
22
|
-
detectTag: () => detectTag
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(cache_exports);
|
|
25
|
-
var import_globals = require("@domql/globals");
|
|
26
|
-
var import_utils = require("@domql/utils");
|
|
27
|
-
var import_report = require("@domql/report");
|
|
28
|
-
var import_event = require("../event");
|
|
29
|
-
var import_utils2 = require("../utils");
|
|
30
|
-
const cachedElements = {};
|
|
31
|
-
const createNode = (element) => {
|
|
32
|
-
const { tag } = element;
|
|
33
|
-
if (tag) {
|
|
34
|
-
if (tag === "string")
|
|
35
|
-
return import_globals.document.createTextNode(element.text);
|
|
36
|
-
else if (tag === "fragment") {
|
|
37
|
-
return import_globals.document.createDocumentFragment();
|
|
38
|
-
} else if (tag === "svg" || tag === "path") {
|
|
39
|
-
return import_globals.document.createElementNS("http://www.w3.org/2000/svg", tag);
|
|
40
|
-
} else
|
|
41
|
-
return import_globals.document.createElement(tag);
|
|
42
|
-
} else {
|
|
43
|
-
return import_globals.document.createElement("div");
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
const detectTag = (element) => {
|
|
47
|
-
let { tag, key } = element;
|
|
48
|
-
tag = (0, import_utils.exec)(tag, element);
|
|
49
|
-
if (tag === true)
|
|
50
|
-
tag = key;
|
|
51
|
-
if ((0, import_utils.isString)(tag)) {
|
|
52
|
-
const tagExists = (0, import_utils2.isTagRegistered)(tag) > -1;
|
|
53
|
-
if (tagExists)
|
|
54
|
-
return tag;
|
|
55
|
-
} else {
|
|
56
|
-
const isKeyATag = (0, import_utils2.isTagRegistered)(key) > -1;
|
|
57
|
-
if (isKeyATag)
|
|
58
|
-
return key;
|
|
59
|
-
}
|
|
60
|
-
return "div";
|
|
61
|
-
};
|
|
62
|
-
var cache_default = (element) => {
|
|
63
|
-
const tag = element.tag = detectTag(element);
|
|
64
|
-
if (!import_event.can.render(element)) {
|
|
65
|
-
return (0, import_report.report)("HTMLInvalidTag");
|
|
66
|
-
}
|
|
67
|
-
let cachedTag = cachedElements[tag];
|
|
68
|
-
if (!cachedTag)
|
|
69
|
-
cachedTag = cachedElements[tag] = createNode(element);
|
|
70
|
-
const clonedNode = cachedTag.cloneNode(true);
|
|
71
|
-
if (tag === "string")
|
|
72
|
-
clonedNode.nodeValue = element.text;
|
|
73
|
-
return clonedNode;
|
|
74
|
-
};
|