@domql/state 2.5.22 → 2.5.27
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/create.js +2 -1
- package/dist/cjs/create.js +1 -0
- package/dist/cjs/ignore.js +1 -0
- package/dist/cjs/methods.js +11 -4
- package/ignore.js +1 -1
- package/methods.js +12 -5
- package/package.json +2 -2
package/create.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { triggerEventOn } from '@domql/event'
|
|
4
4
|
import { deepClone, exec, is, isArray, isFunction, isObject, isUndefined } from '@domql/utils'
|
|
5
5
|
import { IGNORE_STATE_PARAMS } from './ignore'
|
|
6
|
-
import { add, apply, clean, destroy, parentUpdate, parse, remove, rootUpdate, set, toggle } from './methods'
|
|
6
|
+
import { add, apply, clean, destroy, parentUpdate, parse, remove, rootUpdate, set, reset, toggle } from './methods'
|
|
7
7
|
import { updateState } from './updateState'
|
|
8
8
|
import { checkIfInherits, createInheritedState } from './inherit'
|
|
9
9
|
|
|
@@ -95,6 +95,7 @@ const applyMethods = (element) => {
|
|
|
95
95
|
remove: remove.bind(state),
|
|
96
96
|
apply: apply.bind(state),
|
|
97
97
|
set: set.bind(state),
|
|
98
|
+
reset: reset.bind(state),
|
|
98
99
|
parent: element.parent.state,
|
|
99
100
|
__element: element,
|
|
100
101
|
__children: {},
|
package/dist/cjs/create.js
CHANGED
|
@@ -108,6 +108,7 @@ const applyMethods = (element) => {
|
|
|
108
108
|
remove: import_methods.remove.bind(state),
|
|
109
109
|
apply: import_methods.apply.bind(state),
|
|
110
110
|
set: import_methods.set.bind(state),
|
|
111
|
+
reset: import_methods.reset.bind(state),
|
|
111
112
|
parent: element.parent.state,
|
|
112
113
|
__element: element,
|
|
113
114
|
__children: {},
|
package/dist/cjs/ignore.js
CHANGED
package/dist/cjs/methods.js
CHANGED
|
@@ -25,6 +25,7 @@ __export(methods_exports, {
|
|
|
25
25
|
parentUpdate: () => parentUpdate,
|
|
26
26
|
parse: () => parse,
|
|
27
27
|
remove: () => remove,
|
|
28
|
+
reset: () => reset,
|
|
28
29
|
rootUpdate: () => rootUpdate,
|
|
29
30
|
set: () => set,
|
|
30
31
|
toggle: () => toggle
|
|
@@ -54,7 +55,7 @@ const clean = function(options = {}) {
|
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
if (!options.preventStateUpdate) {
|
|
57
|
-
state.update(state, { replace: true, options });
|
|
58
|
+
state.update(state, { replace: true, ...options });
|
|
58
59
|
}
|
|
59
60
|
return state;
|
|
60
61
|
};
|
|
@@ -129,14 +130,20 @@ const remove = function(key, options = {}) {
|
|
|
129
130
|
(0, import_utils.removeFromObject)(state, key);
|
|
130
131
|
return state.update(state.parse(), { replace: true, ...options });
|
|
131
132
|
};
|
|
132
|
-
const set = function(
|
|
133
|
+
const set = function(val, options = {}) {
|
|
133
134
|
const state = this;
|
|
134
|
-
|
|
135
|
+
const value = (0, import_utils.deepClone)(val);
|
|
136
|
+
return state.clean({ preventStateUpdate: true, ...options }).update(value, { replace: true, ...options });
|
|
137
|
+
};
|
|
138
|
+
const reset = function(options = {}) {
|
|
139
|
+
const state = this;
|
|
140
|
+
const value = (0, import_utils.deepClone)(state.parse());
|
|
141
|
+
return state.set(value, { replace: true, ...options });
|
|
135
142
|
};
|
|
136
143
|
const apply = function(func, options = {}) {
|
|
137
144
|
const state = this;
|
|
138
145
|
if ((0, import_utils.isFunction)(func)) {
|
|
139
146
|
func(state);
|
|
140
|
-
return state.update(state, { replace: true, ...options });
|
|
147
|
+
return state.update(state.parse(), { replace: true, ...options });
|
|
141
148
|
}
|
|
142
149
|
};
|
package/ignore.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
export const IGNORE_STATE_PARAMS = [
|
|
4
|
-
'update', 'parse', 'clean', 'create', 'destroy', 'add', 'toggle', 'remove', 'apply', 'set',
|
|
4
|
+
'update', 'parse', 'clean', 'create', 'destroy', 'add', 'toggle', 'remove', 'apply', 'set', 'reset',
|
|
5
5
|
'rootUpdate', 'parentUpdate', 'parent', '__element', '__depends', '__ref', '__children', '__root'
|
|
6
6
|
]
|
package/methods.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
import { isArray, isFunction, isObject, isString, removeFromArray, removeFromObject } from '@domql/utils'
|
|
3
|
+
import { isArray, deepClone, isFunction, isObject, isString, removeFromArray, removeFromObject } from '@domql/utils'
|
|
4
4
|
|
|
5
5
|
import { IGNORE_STATE_PARAMS } from './ignore'
|
|
6
6
|
|
|
@@ -27,7 +27,7 @@ export const clean = function (options = {}) {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
if (!options.preventStateUpdate) {
|
|
30
|
-
state.update(state, { replace: true, options })
|
|
30
|
+
state.update(state, { replace: true, ...options })
|
|
31
31
|
}
|
|
32
32
|
return state
|
|
33
33
|
}
|
|
@@ -107,16 +107,23 @@ export const remove = function (key, options = {}) {
|
|
|
107
107
|
return state.update(state.parse(), { replace: true, ...options })
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
export const set = function (
|
|
110
|
+
export const set = function (val, options = {}) {
|
|
111
111
|
const state = this
|
|
112
|
-
|
|
112
|
+
const value = deepClone(val)
|
|
113
|
+
return state.clean({ preventStateUpdate: true, ...options })
|
|
113
114
|
.update(value, { replace: true, ...options })
|
|
114
115
|
}
|
|
115
116
|
|
|
117
|
+
export const reset = function (options = {}) {
|
|
118
|
+
const state = this
|
|
119
|
+
const value = deepClone(state.parse())
|
|
120
|
+
return state.set(value, { replace: true, ...options })
|
|
121
|
+
}
|
|
122
|
+
|
|
116
123
|
export const apply = function (func, options = {}) {
|
|
117
124
|
const state = this
|
|
118
125
|
if (isFunction(func)) {
|
|
119
126
|
func(state)
|
|
120
|
-
return state.update(state, { replace: true, ...options })
|
|
127
|
+
return state.update(state.parse(), { replace: true, ...options })
|
|
121
128
|
}
|
|
122
129
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@domql/state",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.27",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -31,5 +31,5 @@
|
|
|
31
31
|
"@domql/report": "latest",
|
|
32
32
|
"@domql/utils": "latest"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "057e4e261ea9c9e6bd8da2fe8c2a4ad724dd26c6"
|
|
35
35
|
}
|