domql 1.5.136 → 1.6.0
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/element/applyParam.js +41 -0
- package/dist/cjs/element/assign.js +35 -0
- package/dist/cjs/element/cache.js +74 -0
- package/dist/cjs/element/create.js +264 -0
- package/dist/cjs/element/define.js +34 -0
- package/dist/cjs/element/extend.js +75 -0
- package/dist/cjs/element/index.js +55 -0
- package/dist/cjs/element/iterate.js +105 -0
- package/dist/cjs/element/methods.js +166 -0
- package/dist/cjs/element/node.js +80 -0
- package/dist/cjs/element/nodes.js +158 -0
- package/dist/cjs/element/options.js +24 -0
- package/dist/cjs/element/parse.js +42 -0
- package/dist/cjs/element/props.js +114 -0
- package/dist/cjs/element/remove.js +44 -0
- package/dist/cjs/element/root.js +30 -0
- package/dist/cjs/element/set.js +55 -0
- package/dist/cjs/element/state.js +208 -0
- package/dist/cjs/element/tree.js +31 -0
- package/dist/cjs/element/update.js +158 -0
- package/dist/cjs/event/can.js +30 -0
- package/dist/cjs/event/index.js +34 -0
- package/dist/cjs/event/is.js +28 -0
- package/dist/cjs/event/on.js +34 -0
- package/dist/cjs/event/store.js +27 -0
- package/dist/cjs/event/wrappers.js +36 -0
- package/dist/cjs/index.js +35 -0
- package/dist/cjs/package.json +4 -0
- package/dist/cjs/utils/component.js +77 -0
- package/dist/cjs/utils/extendUtils.js +142 -0
- package/dist/cjs/utils/index.js +20 -0
- package/dist/cjs/utils/object.js +146 -0
- package/dist/esm/element/applyParam.js +2614 -0
- package/dist/esm/element/assign.js +16 -0
- package/dist/esm/element/cache.js +1134 -0
- package/dist/esm/element/create.js +2616 -0
- package/dist/esm/element/define.js +2623 -0
- package/dist/esm/element/extend.js +984 -0
- package/dist/esm/element/index.js +2667 -0
- package/dist/esm/element/iterate.js +1114 -0
- package/dist/esm/element/methods.js +2635 -0
- package/dist/esm/element/node.js +2617 -0
- package/dist/esm/element/nodes.js +139 -0
- package/dist/esm/element/options.js +5 -0
- package/dist/esm/element/parse.js +2629 -0
- package/dist/esm/element/props.js +958 -0
- package/dist/esm/element/remove.js +842 -0
- package/dist/esm/element/root.js +162 -0
- package/dist/esm/element/set.js +2616 -0
- package/dist/esm/element/state.js +1209 -0
- package/dist/esm/element/tree.js +165 -0
- package/dist/esm/element/update.js +2616 -0
- package/dist/esm/event/can.js +1058 -0
- package/dist/esm/event/index.js +1098 -0
- package/dist/esm/event/is.js +67 -0
- package/dist/esm/event/on.js +15 -0
- package/dist/esm/event/store.js +8 -0
- package/dist/esm/event/wrappers.js +75 -0
- package/dist/esm/index.js +2658 -0
- package/dist/esm/utils/component.js +875 -0
- package/dist/esm/utils/extendUtils.js +940 -0
- package/dist/esm/utils/index.js +1260 -0
- package/dist/esm/utils/object.js +1081 -0
- package/dist/iife/index.js +2658 -0
- package/package.json +9 -4
- package/src/element/create.js +16 -13
- package/src/element/index.js +4 -10
- package/src/element/iterate.js +7 -28
- package/src/element/methods.js +18 -81
- package/src/element/mixins/content.js +6 -4
- package/src/element/mixins/registry.js +3 -4
- package/src/element/node.js +5 -6
- package/src/element/parse.js +1 -1
- package/src/element/props.js +3 -1
- package/src/element/state.js +168 -81
- package/src/element/update.js +100 -77
- package/src/index.js +6 -5
- package/src/utils/component.js +0 -1
- package/src/utils/object.js +31 -25
- package/src/element/assign.js +0 -22
- package/src/element/cache.js +0 -56
- package/src/element/nodes.js +0 -141
- package/src/element/root.js +0 -11
- package/src/element/tree.js +0 -5
- package/src/event/can.js +0 -10
- package/src/event/index.js +0 -11
- package/src/event/is.js +0 -15
- package/src/event/on.js +0 -13
- package/src/event/store.js +0 -6
- package/src/event/wrappers.js +0 -16
package/src/utils/object.js
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
import { isArray, isObject, isObjectLike, joinArrays } from '@domql/utils'
|
|
4
|
+
import { IGNORE_STATE_PARAMS } from '../element/state'
|
|
5
|
+
import { IGNORE_PROPS_PARAMS } from '../element/props'
|
|
6
|
+
import { METHODS } from '../element/methods'
|
|
7
|
+
|
|
8
|
+
const METHODS_EXL = joinArrays(
|
|
9
|
+
['node', 'state', 'context', 'extend'],
|
|
10
|
+
METHODS,
|
|
11
|
+
IGNORE_STATE_PARAMS,
|
|
12
|
+
IGNORE_PROPS_PARAMS
|
|
13
|
+
)
|
|
7
14
|
|
|
8
15
|
export const merge = (element, obj) => {
|
|
9
16
|
for (const e in obj) {
|
|
@@ -16,12 +23,11 @@ export const merge = (element, obj) => {
|
|
|
16
23
|
return element
|
|
17
24
|
}
|
|
18
25
|
|
|
19
|
-
export const deepMerge = (element, extend) => {
|
|
26
|
+
export const deepMerge = (element, extend, exclude = METHODS_EXL) => {
|
|
20
27
|
for (const e in extend) {
|
|
28
|
+
if (exclude.includes(e)) continue
|
|
21
29
|
const elementProp = element[e]
|
|
22
30
|
const extendProp = extend[e]
|
|
23
|
-
// const cachedProps = cache.props
|
|
24
|
-
if (e === 'parent' || e === 'props' || e === 'state') continue
|
|
25
31
|
if (elementProp === undefined) {
|
|
26
32
|
element[e] = extendProp
|
|
27
33
|
} else if (isObjectLike(elementProp) && isObject(extendProp)) {
|
|
@@ -31,11 +37,11 @@ export const deepMerge = (element, extend) => {
|
|
|
31
37
|
return element
|
|
32
38
|
}
|
|
33
39
|
|
|
34
|
-
export const clone = obj => {
|
|
40
|
+
export const clone = (obj, exclude = METHODS_EXL) => {
|
|
35
41
|
const o = {}
|
|
36
|
-
for (const
|
|
37
|
-
if (
|
|
38
|
-
o[
|
|
42
|
+
for (const e in obj) {
|
|
43
|
+
if (exclude.includes(e)) continue
|
|
44
|
+
o[e] = obj[e]
|
|
39
45
|
}
|
|
40
46
|
return o
|
|
41
47
|
}
|
|
@@ -43,17 +49,17 @@ export const clone = obj => {
|
|
|
43
49
|
/**
|
|
44
50
|
* Deep cloning of object
|
|
45
51
|
*/
|
|
46
|
-
export const deepClone = (obj,
|
|
52
|
+
export const deepClone = (obj, exclude = METHODS_EXL) => {
|
|
47
53
|
const o = isArray(obj) ? [] : {}
|
|
48
|
-
for (const
|
|
49
|
-
if (
|
|
50
|
-
let objProp = obj[
|
|
51
|
-
if (
|
|
52
|
-
objProp = mergeArray(objProp,
|
|
54
|
+
for (const e in obj) {
|
|
55
|
+
if (exclude.includes(e)) continue
|
|
56
|
+
let objProp = obj[e]
|
|
57
|
+
if (e === 'extend' && isArray(objProp)) {
|
|
58
|
+
objProp = mergeArray(objProp, exclude)
|
|
53
59
|
}
|
|
54
60
|
if (isObjectLike(objProp)) {
|
|
55
|
-
o[
|
|
56
|
-
} else o[
|
|
61
|
+
o[e] = deepClone(objProp, exclude)
|
|
62
|
+
} else o[e] = objProp
|
|
57
63
|
}
|
|
58
64
|
return o
|
|
59
65
|
}
|
|
@@ -83,9 +89,9 @@ export const overwrite = (element, params, options) => {
|
|
|
83
89
|
return changes
|
|
84
90
|
}
|
|
85
91
|
|
|
86
|
-
export const overwriteShallow = (obj, params,
|
|
92
|
+
export const overwriteShallow = (obj, params, exclude = METHODS_EXL) => {
|
|
87
93
|
for (const e in params) {
|
|
88
|
-
if (
|
|
94
|
+
if (exclude.includes(e)) continue
|
|
89
95
|
obj[e] = params[e]
|
|
90
96
|
}
|
|
91
97
|
return obj
|
|
@@ -94,9 +100,9 @@ export const overwriteShallow = (obj, params, excluding = ['node', '__ref']) =>
|
|
|
94
100
|
/**
|
|
95
101
|
* Overwrites DEEPly object properties with another
|
|
96
102
|
*/
|
|
97
|
-
export const overwriteDeep = (obj, params,
|
|
103
|
+
export const overwriteDeep = (obj, params, exclude = METHODS_EXL) => {
|
|
98
104
|
for (const e in params) {
|
|
99
|
-
if (
|
|
105
|
+
if (exclude.includes(e)) continue
|
|
100
106
|
const objProp = obj[e]
|
|
101
107
|
const paramsProp = params[e]
|
|
102
108
|
if (isObjectLike(objProp) && isObjectLike(paramsProp)) {
|
|
@@ -119,8 +125,8 @@ export const mergeIfExisted = (a, b) => {
|
|
|
119
125
|
/**
|
|
120
126
|
* Merges array extends
|
|
121
127
|
*/
|
|
122
|
-
export const mergeArray = (arr,
|
|
123
|
-
return arr.reduce((a, c) => deepMerge(a, deepClone(c,
|
|
128
|
+
export const mergeArray = (arr, exclude = ['parent', 'node', '__element', 'state', 'context', '__ref']) => {
|
|
129
|
+
return arr.reduce((a, c) => deepMerge(a, deepClone(c, exclude)), {})
|
|
124
130
|
}
|
|
125
131
|
|
|
126
132
|
/**
|
package/src/element/assign.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Receives child and parent nodes as parametes
|
|
5
|
-
* and assigns them into real DOM tree
|
|
6
|
-
*/
|
|
7
|
-
export const appendNode = (node, parentNode) => {
|
|
8
|
-
parentNode.appendChild(node)
|
|
9
|
-
return node
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Receives elements and assigns the first
|
|
14
|
-
* parameter as a child of the second one
|
|
15
|
-
*/
|
|
16
|
-
export const assignNode = (element, parent, key) => {
|
|
17
|
-
parent[key || element.key] = element
|
|
18
|
-
if (element.tag !== 'shadow') {
|
|
19
|
-
appendNode(element.node, parent.node)
|
|
20
|
-
}
|
|
21
|
-
return element
|
|
22
|
-
}
|
package/src/element/cache.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import { document } from '@domql/globals'
|
|
4
|
-
import { exec, isString } from '@domql/utils'
|
|
5
|
-
import { report } from '@domql/report'
|
|
6
|
-
|
|
7
|
-
import { can } from '../event'
|
|
8
|
-
import { isTagRegistered } from '../utils'
|
|
9
|
-
|
|
10
|
-
const cachedElements = {}
|
|
11
|
-
|
|
12
|
-
const createNode = (element) => {
|
|
13
|
-
const { tag } = element
|
|
14
|
-
if (tag) {
|
|
15
|
-
if (tag === 'string') return document.createTextNode(element.text)
|
|
16
|
-
else if (tag === 'fragment') {
|
|
17
|
-
return document.createDocumentFragment()
|
|
18
|
-
} else if (tag === 'svg' || tag === 'path') { // change that
|
|
19
|
-
return document.createElementNS('http://www.w3.org/2000/svg', tag)
|
|
20
|
-
} else return document.createElement(tag)
|
|
21
|
-
} else {
|
|
22
|
-
return document.createElement('div')
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export const detectTag = element => {
|
|
27
|
-
let { tag, key } = element
|
|
28
|
-
tag = exec(tag, element)
|
|
29
|
-
|
|
30
|
-
if (tag === true) tag = key
|
|
31
|
-
|
|
32
|
-
if (isString(tag)) {
|
|
33
|
-
const tagExists = isTagRegistered(tag) > -1
|
|
34
|
-
if (tagExists) return tag
|
|
35
|
-
} else {
|
|
36
|
-
const isKeyATag = isTagRegistered(key) > -1
|
|
37
|
-
if (isKeyATag) return key
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
return 'div'
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export default (element) => {
|
|
44
|
-
const tag = element.tag = detectTag(element)
|
|
45
|
-
|
|
46
|
-
if (!can.render(element)) {
|
|
47
|
-
return report('HTMLInvalidTag')
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
let cachedTag = cachedElements[tag]
|
|
51
|
-
if (!cachedTag) cachedTag = cachedElements[tag] = createNode(element)
|
|
52
|
-
|
|
53
|
-
const clonedNode = cachedTag.cloneNode(true)
|
|
54
|
-
if (tag === 'string') clonedNode.nodeValue = element.text
|
|
55
|
-
return clonedNode
|
|
56
|
-
}
|
package/src/element/nodes.js
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
export default {
|
|
4
|
-
root: [
|
|
5
|
-
'body',
|
|
6
|
-
'html'
|
|
7
|
-
],
|
|
8
|
-
|
|
9
|
-
head: [
|
|
10
|
-
'title',
|
|
11
|
-
'base',
|
|
12
|
-
'meta',
|
|
13
|
-
'style'
|
|
14
|
-
],
|
|
15
|
-
|
|
16
|
-
body: [
|
|
17
|
-
'html',
|
|
18
|
-
'body',
|
|
19
|
-
'string',
|
|
20
|
-
'fragment',
|
|
21
|
-
'a',
|
|
22
|
-
'abbr',
|
|
23
|
-
'acronym',
|
|
24
|
-
'address',
|
|
25
|
-
'applet',
|
|
26
|
-
'area',
|
|
27
|
-
'article',
|
|
28
|
-
'aside',
|
|
29
|
-
'audio',
|
|
30
|
-
'b',
|
|
31
|
-
'basefont',
|
|
32
|
-
'bdi',
|
|
33
|
-
'bdo',
|
|
34
|
-
'big',
|
|
35
|
-
'blockquote',
|
|
36
|
-
'br',
|
|
37
|
-
'button',
|
|
38
|
-
'canvas',
|
|
39
|
-
'caption',
|
|
40
|
-
'center',
|
|
41
|
-
'cite',
|
|
42
|
-
'code',
|
|
43
|
-
'col',
|
|
44
|
-
'colgroup',
|
|
45
|
-
'data',
|
|
46
|
-
'datalist',
|
|
47
|
-
'dd',
|
|
48
|
-
'del',
|
|
49
|
-
'details',
|
|
50
|
-
'dfn',
|
|
51
|
-
'dialog',
|
|
52
|
-
'dir',
|
|
53
|
-
'div',
|
|
54
|
-
'dl',
|
|
55
|
-
'dt',
|
|
56
|
-
'em',
|
|
57
|
-
'embed',
|
|
58
|
-
'fieldset',
|
|
59
|
-
'figcaption',
|
|
60
|
-
'figure',
|
|
61
|
-
'font',
|
|
62
|
-
'footer',
|
|
63
|
-
'form',
|
|
64
|
-
'frame',
|
|
65
|
-
'frameset',
|
|
66
|
-
'h1',
|
|
67
|
-
'h2',
|
|
68
|
-
'h3',
|
|
69
|
-
'h4',
|
|
70
|
-
'h5',
|
|
71
|
-
'h6',
|
|
72
|
-
'head',
|
|
73
|
-
'header',
|
|
74
|
-
'hr',
|
|
75
|
-
'i',
|
|
76
|
-
'iframe',
|
|
77
|
-
'img',
|
|
78
|
-
'input',
|
|
79
|
-
'ins',
|
|
80
|
-
'kbd',
|
|
81
|
-
'label',
|
|
82
|
-
'legend',
|
|
83
|
-
'li',
|
|
84
|
-
'link',
|
|
85
|
-
'main',
|
|
86
|
-
'map',
|
|
87
|
-
'mark',
|
|
88
|
-
'meter',
|
|
89
|
-
'nav',
|
|
90
|
-
'noframes',
|
|
91
|
-
'noscript',
|
|
92
|
-
'object',
|
|
93
|
-
'ol',
|
|
94
|
-
'optgroup',
|
|
95
|
-
'option',
|
|
96
|
-
'output',
|
|
97
|
-
'p',
|
|
98
|
-
'param',
|
|
99
|
-
'picture',
|
|
100
|
-
'pre',
|
|
101
|
-
'progress',
|
|
102
|
-
'q',
|
|
103
|
-
'rp',
|
|
104
|
-
'rt',
|
|
105
|
-
'ruby',
|
|
106
|
-
's',
|
|
107
|
-
'samp',
|
|
108
|
-
'script',
|
|
109
|
-
'section',
|
|
110
|
-
'select',
|
|
111
|
-
'small',
|
|
112
|
-
'source',
|
|
113
|
-
'span',
|
|
114
|
-
'strike',
|
|
115
|
-
'strong',
|
|
116
|
-
'sub',
|
|
117
|
-
'summary',
|
|
118
|
-
'sup',
|
|
119
|
-
'table',
|
|
120
|
-
'tbody',
|
|
121
|
-
'td',
|
|
122
|
-
'template',
|
|
123
|
-
'textarea',
|
|
124
|
-
'tfoot',
|
|
125
|
-
'th',
|
|
126
|
-
'thead',
|
|
127
|
-
'time',
|
|
128
|
-
'tr',
|
|
129
|
-
'track',
|
|
130
|
-
'tt',
|
|
131
|
-
'u',
|
|
132
|
-
'ul',
|
|
133
|
-
'var',
|
|
134
|
-
'video',
|
|
135
|
-
'wbr',
|
|
136
|
-
|
|
137
|
-
// SVG
|
|
138
|
-
'svg',
|
|
139
|
-
'path'
|
|
140
|
-
]
|
|
141
|
-
}
|
package/src/element/root.js
DELETED
package/src/element/tree.js
DELETED
package/src/event/can.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import { TAGS } from '@domql/registry'
|
|
4
|
-
import { report } from '@domql/report'
|
|
5
|
-
|
|
6
|
-
export const render = (element) => {
|
|
7
|
-
const tag = element.tag || 'div'
|
|
8
|
-
const isValid = TAGS.body.indexOf(tag) > -1
|
|
9
|
-
return isValid || report('HTMLInvalidTag')
|
|
10
|
-
}
|
package/src/event/index.js
DELETED
package/src/event/is.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import { window } from '@domql/globals'
|
|
4
|
-
|
|
5
|
-
export const node = (node) => {
|
|
6
|
-
const { Node } = window
|
|
7
|
-
return (
|
|
8
|
-
typeof Node === 'function'
|
|
9
|
-
? node instanceof Node
|
|
10
|
-
: node &&
|
|
11
|
-
typeof node === 'object' &&
|
|
12
|
-
typeof node.nodeType === 'number' &&
|
|
13
|
-
typeof node.tag === 'string'
|
|
14
|
-
)
|
|
15
|
-
}
|
package/src/event/on.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
export const initUpdate = (param, element, state, changes) => {
|
|
4
|
-
return param(element, state, changes)
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export const initStateUpdated = (param, element, state, changes) => {
|
|
8
|
-
return param(element, state, changes)
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export const stateUpdated = (param, element, state, changes) => {
|
|
12
|
-
return param(element, state, changes)
|
|
13
|
-
}
|
package/src/event/store.js
DELETED
package/src/event/wrappers.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import { document, window } from '@domql/globals'
|
|
4
|
-
|
|
5
|
-
export const getScrollPositions = () => {
|
|
6
|
-
if (global.pageYOffset !== undefined) {
|
|
7
|
-
return [global.pageXOffset, window.pageYOffset]
|
|
8
|
-
} else {
|
|
9
|
-
const d = document
|
|
10
|
-
const r = d.documentElement
|
|
11
|
-
const b = d.body
|
|
12
|
-
const sx = r.scrollLeft || b.scrollLeft || 0
|
|
13
|
-
const sy = r.scrollTop || b.scrollTop || 0
|
|
14
|
-
return [sx, sy]
|
|
15
|
-
}
|
|
16
|
-
}
|