solid-js 1.4.0-beta.5 → 1.4.0-beta.6
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/server.cjs +2 -1
- package/dist/server.js +2 -1
- package/package.json +2 -2
- package/store/dist/dev.cjs +27 -17
- package/store/dist/dev.js +27 -17
- package/store/dist/store.cjs +27 -17
- package/store/dist/store.js +27 -17
- package/store/types/store.d.ts +1 -4
package/dist/server.cjs
CHANGED
|
@@ -398,7 +398,7 @@ function createResource(source, fetcher, options = {}) {
|
|
|
398
398
|
value
|
|
399
399
|
});
|
|
400
400
|
}
|
|
401
|
-
if (p && "then" in p) {
|
|
401
|
+
if (p != undefined && typeof p === "object" && "then" in p) {
|
|
402
402
|
read.loading = true;
|
|
403
403
|
if (ctx.writeResource) ctx.writeResource(id, p, undefined, options.deferStream);
|
|
404
404
|
return p.then(res => {
|
|
@@ -415,6 +415,7 @@ function createResource(source, fetcher, options = {}) {
|
|
|
415
415
|
});
|
|
416
416
|
}
|
|
417
417
|
ctx.resources[id].data = p;
|
|
418
|
+
if (ctx.writeResource) ctx.writeResource(id, p);
|
|
418
419
|
p = null;
|
|
419
420
|
return ctx.resources[id].data;
|
|
420
421
|
}
|
package/dist/server.js
CHANGED
|
@@ -394,7 +394,7 @@ function createResource(source, fetcher, options = {}) {
|
|
|
394
394
|
value
|
|
395
395
|
});
|
|
396
396
|
}
|
|
397
|
-
if (p && "then" in p) {
|
|
397
|
+
if (p != undefined && typeof p === "object" && "then" in p) {
|
|
398
398
|
read.loading = true;
|
|
399
399
|
if (ctx.writeResource) ctx.writeResource(id, p, undefined, options.deferStream);
|
|
400
400
|
return p.then(res => {
|
|
@@ -411,6 +411,7 @@ function createResource(source, fetcher, options = {}) {
|
|
|
411
411
|
});
|
|
412
412
|
}
|
|
413
413
|
ctx.resources[id].data = p;
|
|
414
|
+
if (ctx.writeResource) ctx.writeResource(id, p);
|
|
414
415
|
p = null;
|
|
415
416
|
return ctx.resources[id].data;
|
|
416
417
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "solid-js",
|
|
3
3
|
"description": "A declarative JavaScript library for building user interfaces.",
|
|
4
|
-
"version": "1.4.0-beta.
|
|
4
|
+
"version": "1.4.0-beta.6",
|
|
5
5
|
"author": "Ryan Carniato",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://solidjs.com",
|
|
@@ -151,5 +151,5 @@
|
|
|
151
151
|
"compiler",
|
|
152
152
|
"performance"
|
|
153
153
|
],
|
|
154
|
-
"gitHead": "
|
|
154
|
+
"gitHead": "dce1c4b0c4d7b47f6f8cb743173da3acfd831419"
|
|
155
155
|
}
|
package/store/dist/dev.cjs
CHANGED
|
@@ -63,6 +63,9 @@ function getDataNodes(target) {
|
|
|
63
63
|
});
|
|
64
64
|
return nodes;
|
|
65
65
|
}
|
|
66
|
+
function getDataNode(nodes, property, value) {
|
|
67
|
+
return nodes[property] || (nodes[property] = createDataNode(value, true));
|
|
68
|
+
}
|
|
66
69
|
function proxyDescriptor(target, property) {
|
|
67
70
|
const desc = Reflect.getOwnPropertyDescriptor(target, property);
|
|
68
71
|
if (!desc || desc.get || !desc.configurable || property === solidJs.$PROXY || property === $NODE || property === $NAME) return desc;
|
|
@@ -81,8 +84,10 @@ function ownKeys(target) {
|
|
|
81
84
|
trackSelf(target);
|
|
82
85
|
return Reflect.ownKeys(target);
|
|
83
86
|
}
|
|
84
|
-
function createDataNode() {
|
|
85
|
-
const [s, set] = solidJs.createSignal(
|
|
87
|
+
function createDataNode(value, equals) {
|
|
88
|
+
const [s, set] = solidJs.createSignal(value, equals ? {
|
|
89
|
+
internal: true
|
|
90
|
+
} : {
|
|
86
91
|
equals: false,
|
|
87
92
|
internal: true
|
|
88
93
|
});
|
|
@@ -93,12 +98,14 @@ const proxyTraps$1 = {
|
|
|
93
98
|
get(target, property, receiver) {
|
|
94
99
|
if (property === $RAW) return target;
|
|
95
100
|
if (property === solidJs.$PROXY) return receiver;
|
|
96
|
-
const value = target[property];
|
|
97
|
-
if (property === $NODE || property === "__proto__") return value;
|
|
98
101
|
if (property === solidJs.$TRACK) return trackSelf(target);
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
+
const nodes = getDataNodes(target);
|
|
103
|
+
const tracked = nodes[property];
|
|
104
|
+
let value = tracked ? nodes[property]() : target[property];
|
|
105
|
+
if (property === $NODE || property === "__proto__") return value;
|
|
106
|
+
if (!tracked) {
|
|
107
|
+
const desc = Object.getOwnPropertyDescriptor(target, property);
|
|
108
|
+
if (solidJs.getListener() && (typeof value !== "function" || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getDataNode(nodes, property, value)();
|
|
102
109
|
}
|
|
103
110
|
return isWrappable(value) ? wrap$1(value, target[$NAME] && `${target[$NAME]}:${property.toString()}`) : value;
|
|
104
111
|
},
|
|
@@ -115,15 +122,15 @@ const proxyTraps$1 = {
|
|
|
115
122
|
};
|
|
116
123
|
function setProperty(state, property, value) {
|
|
117
124
|
if (state[property] === value) return;
|
|
118
|
-
const
|
|
125
|
+
const prev = state[property];
|
|
119
126
|
const len = state.length;
|
|
120
127
|
if (value === undefined) {
|
|
121
128
|
delete state[property];
|
|
122
129
|
} else state[property] = value;
|
|
123
130
|
let nodes = getDataNodes(state),
|
|
124
131
|
node;
|
|
125
|
-
(node = nodes
|
|
126
|
-
if (
|
|
132
|
+
if (node = getDataNode(nodes, property, prev)) node.$(() => value);
|
|
133
|
+
if (Array.isArray(state) && state.length !== len) (node = getDataNode(nodes, "length", len)) && node.$(state.length);
|
|
127
134
|
(node = nodes._) && node.$();
|
|
128
135
|
}
|
|
129
136
|
function mergeStoreNode(state, value) {
|
|
@@ -213,14 +220,17 @@ const proxyTraps = {
|
|
|
213
220
|
get(target, property, receiver) {
|
|
214
221
|
if (property === $RAW) return target;
|
|
215
222
|
if (property === solidJs.$PROXY) return receiver;
|
|
216
|
-
const value = target[property];
|
|
217
|
-
if (property === $NODE || property === "__proto__") return value;
|
|
218
223
|
if (property === solidJs.$TRACK) return trackSelf(target);
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
+
const nodes = getDataNodes(target);
|
|
225
|
+
const tracked = nodes[property];
|
|
226
|
+
let value = tracked ? nodes[property]() : target[property];
|
|
227
|
+
if (property === $NODE || property === "__proto__") return value;
|
|
228
|
+
if (!tracked) {
|
|
229
|
+
const desc = Object.getOwnPropertyDescriptor(target, property);
|
|
230
|
+
const isFunction = typeof value !== "function";
|
|
231
|
+
if (solidJs.getListener() && (isFunction || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getDataNode(nodes, property, value)();else if (value != null && isFunction && value === Array.prototype[property]) {
|
|
232
|
+
return (...args) => solidJs.batch(() => Array.prototype[property].apply(receiver, args));
|
|
233
|
+
}
|
|
224
234
|
}
|
|
225
235
|
return isWrappable(value) ? wrap(value, target[$NAME] && `${target[$NAME]}:${property.toString()}`) : value;
|
|
226
236
|
},
|
package/store/dist/dev.js
CHANGED
|
@@ -59,6 +59,9 @@ function getDataNodes(target) {
|
|
|
59
59
|
});
|
|
60
60
|
return nodes;
|
|
61
61
|
}
|
|
62
|
+
function getDataNode(nodes, property, value) {
|
|
63
|
+
return nodes[property] || (nodes[property] = createDataNode(value, true));
|
|
64
|
+
}
|
|
62
65
|
function proxyDescriptor(target, property) {
|
|
63
66
|
const desc = Reflect.getOwnPropertyDescriptor(target, property);
|
|
64
67
|
if (!desc || desc.get || !desc.configurable || property === $PROXY || property === $NODE || property === $NAME) return desc;
|
|
@@ -77,8 +80,10 @@ function ownKeys(target) {
|
|
|
77
80
|
trackSelf(target);
|
|
78
81
|
return Reflect.ownKeys(target);
|
|
79
82
|
}
|
|
80
|
-
function createDataNode() {
|
|
81
|
-
const [s, set] = createSignal(
|
|
83
|
+
function createDataNode(value, equals) {
|
|
84
|
+
const [s, set] = createSignal(value, equals ? {
|
|
85
|
+
internal: true
|
|
86
|
+
} : {
|
|
82
87
|
equals: false,
|
|
83
88
|
internal: true
|
|
84
89
|
});
|
|
@@ -89,12 +94,14 @@ const proxyTraps$1 = {
|
|
|
89
94
|
get(target, property, receiver) {
|
|
90
95
|
if (property === $RAW) return target;
|
|
91
96
|
if (property === $PROXY) return receiver;
|
|
92
|
-
const value = target[property];
|
|
93
|
-
if (property === $NODE || property === "__proto__") return value;
|
|
94
97
|
if (property === $TRACK) return trackSelf(target);
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
+
const nodes = getDataNodes(target);
|
|
99
|
+
const tracked = nodes[property];
|
|
100
|
+
let value = tracked ? nodes[property]() : target[property];
|
|
101
|
+
if (property === $NODE || property === "__proto__") return value;
|
|
102
|
+
if (!tracked) {
|
|
103
|
+
const desc = Object.getOwnPropertyDescriptor(target, property);
|
|
104
|
+
if (getListener() && (typeof value !== "function" || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getDataNode(nodes, property, value)();
|
|
98
105
|
}
|
|
99
106
|
return isWrappable(value) ? wrap$1(value, target[$NAME] && `${target[$NAME]}:${property.toString()}`) : value;
|
|
100
107
|
},
|
|
@@ -111,15 +118,15 @@ const proxyTraps$1 = {
|
|
|
111
118
|
};
|
|
112
119
|
function setProperty(state, property, value) {
|
|
113
120
|
if (state[property] === value) return;
|
|
114
|
-
const
|
|
121
|
+
const prev = state[property];
|
|
115
122
|
const len = state.length;
|
|
116
123
|
if (value === undefined) {
|
|
117
124
|
delete state[property];
|
|
118
125
|
} else state[property] = value;
|
|
119
126
|
let nodes = getDataNodes(state),
|
|
120
127
|
node;
|
|
121
|
-
(node = nodes
|
|
122
|
-
if (
|
|
128
|
+
if (node = getDataNode(nodes, property, prev)) node.$(() => value);
|
|
129
|
+
if (Array.isArray(state) && state.length !== len) (node = getDataNode(nodes, "length", len)) && node.$(state.length);
|
|
123
130
|
(node = nodes._) && node.$();
|
|
124
131
|
}
|
|
125
132
|
function mergeStoreNode(state, value) {
|
|
@@ -209,14 +216,17 @@ const proxyTraps = {
|
|
|
209
216
|
get(target, property, receiver) {
|
|
210
217
|
if (property === $RAW) return target;
|
|
211
218
|
if (property === $PROXY) return receiver;
|
|
212
|
-
const value = target[property];
|
|
213
|
-
if (property === $NODE || property === "__proto__") return value;
|
|
214
219
|
if (property === $TRACK) return trackSelf(target);
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
+
const nodes = getDataNodes(target);
|
|
221
|
+
const tracked = nodes[property];
|
|
222
|
+
let value = tracked ? nodes[property]() : target[property];
|
|
223
|
+
if (property === $NODE || property === "__proto__") return value;
|
|
224
|
+
if (!tracked) {
|
|
225
|
+
const desc = Object.getOwnPropertyDescriptor(target, property);
|
|
226
|
+
const isFunction = typeof value !== "function";
|
|
227
|
+
if (getListener() && (isFunction || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getDataNode(nodes, property, value)();else if (value != null && isFunction && value === Array.prototype[property]) {
|
|
228
|
+
return (...args) => batch(() => Array.prototype[property].apply(receiver, args));
|
|
229
|
+
}
|
|
220
230
|
}
|
|
221
231
|
return isWrappable(value) ? wrap(value, target[$NAME] && `${target[$NAME]}:${property.toString()}`) : value;
|
|
222
232
|
},
|
package/store/dist/store.cjs
CHANGED
|
@@ -60,6 +60,9 @@ function getDataNodes(target) {
|
|
|
60
60
|
});
|
|
61
61
|
return nodes;
|
|
62
62
|
}
|
|
63
|
+
function getDataNode(nodes, property, value) {
|
|
64
|
+
return nodes[property] || (nodes[property] = createDataNode(value, true));
|
|
65
|
+
}
|
|
63
66
|
function proxyDescriptor(target, property) {
|
|
64
67
|
const desc = Reflect.getOwnPropertyDescriptor(target, property);
|
|
65
68
|
if (!desc || desc.get || !desc.configurable || property === solidJs.$PROXY || property === $NODE || property === $NAME) return desc;
|
|
@@ -78,8 +81,10 @@ function ownKeys(target) {
|
|
|
78
81
|
trackSelf(target);
|
|
79
82
|
return Reflect.ownKeys(target);
|
|
80
83
|
}
|
|
81
|
-
function createDataNode() {
|
|
82
|
-
const [s, set] = solidJs.createSignal(
|
|
84
|
+
function createDataNode(value, equals) {
|
|
85
|
+
const [s, set] = solidJs.createSignal(value, equals ? {
|
|
86
|
+
internal: true
|
|
87
|
+
} : {
|
|
83
88
|
equals: false,
|
|
84
89
|
internal: true
|
|
85
90
|
});
|
|
@@ -90,12 +95,14 @@ const proxyTraps$1 = {
|
|
|
90
95
|
get(target, property, receiver) {
|
|
91
96
|
if (property === $RAW) return target;
|
|
92
97
|
if (property === solidJs.$PROXY) return receiver;
|
|
93
|
-
const value = target[property];
|
|
94
|
-
if (property === $NODE || property === "__proto__") return value;
|
|
95
98
|
if (property === solidJs.$TRACK) return trackSelf(target);
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
+
const nodes = getDataNodes(target);
|
|
100
|
+
const tracked = nodes[property];
|
|
101
|
+
let value = tracked ? nodes[property]() : target[property];
|
|
102
|
+
if (property === $NODE || property === "__proto__") return value;
|
|
103
|
+
if (!tracked) {
|
|
104
|
+
const desc = Object.getOwnPropertyDescriptor(target, property);
|
|
105
|
+
if (solidJs.getListener() && (typeof value !== "function" || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getDataNode(nodes, property, value)();
|
|
99
106
|
}
|
|
100
107
|
return isWrappable(value) ? wrap$1(value) : value;
|
|
101
108
|
},
|
|
@@ -110,15 +117,15 @@ const proxyTraps$1 = {
|
|
|
110
117
|
};
|
|
111
118
|
function setProperty(state, property, value) {
|
|
112
119
|
if (state[property] === value) return;
|
|
113
|
-
const
|
|
120
|
+
const prev = state[property];
|
|
114
121
|
const len = state.length;
|
|
115
122
|
if (value === undefined) {
|
|
116
123
|
delete state[property];
|
|
117
124
|
} else state[property] = value;
|
|
118
125
|
let nodes = getDataNodes(state),
|
|
119
126
|
node;
|
|
120
|
-
(node = nodes
|
|
121
|
-
if (
|
|
127
|
+
if (node = getDataNode(nodes, property, prev)) node.$(() => value);
|
|
128
|
+
if (Array.isArray(state) && state.length !== len) (node = getDataNode(nodes, "length", len)) && node.$(state.length);
|
|
122
129
|
(node = nodes._) && node.$();
|
|
123
130
|
}
|
|
124
131
|
function mergeStoreNode(state, value) {
|
|
@@ -201,14 +208,17 @@ const proxyTraps = {
|
|
|
201
208
|
get(target, property, receiver) {
|
|
202
209
|
if (property === $RAW) return target;
|
|
203
210
|
if (property === solidJs.$PROXY) return receiver;
|
|
204
|
-
const value = target[property];
|
|
205
|
-
if (property === $NODE || property === "__proto__") return value;
|
|
206
211
|
if (property === solidJs.$TRACK) return trackSelf(target);
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
+
const nodes = getDataNodes(target);
|
|
213
|
+
const tracked = nodes[property];
|
|
214
|
+
let value = tracked ? nodes[property]() : target[property];
|
|
215
|
+
if (property === $NODE || property === "__proto__") return value;
|
|
216
|
+
if (!tracked) {
|
|
217
|
+
const desc = Object.getOwnPropertyDescriptor(target, property);
|
|
218
|
+
const isFunction = typeof value !== "function";
|
|
219
|
+
if (solidJs.getListener() && (isFunction || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getDataNode(nodes, property, value)();else if (value != null && isFunction && value === Array.prototype[property]) {
|
|
220
|
+
return (...args) => solidJs.batch(() => Array.prototype[property].apply(receiver, args));
|
|
221
|
+
}
|
|
212
222
|
}
|
|
213
223
|
return isWrappable(value) ? wrap(value) : value;
|
|
214
224
|
},
|
package/store/dist/store.js
CHANGED
|
@@ -56,6 +56,9 @@ function getDataNodes(target) {
|
|
|
56
56
|
});
|
|
57
57
|
return nodes;
|
|
58
58
|
}
|
|
59
|
+
function getDataNode(nodes, property, value) {
|
|
60
|
+
return nodes[property] || (nodes[property] = createDataNode(value, true));
|
|
61
|
+
}
|
|
59
62
|
function proxyDescriptor(target, property) {
|
|
60
63
|
const desc = Reflect.getOwnPropertyDescriptor(target, property);
|
|
61
64
|
if (!desc || desc.get || !desc.configurable || property === $PROXY || property === $NODE || property === $NAME) return desc;
|
|
@@ -74,8 +77,10 @@ function ownKeys(target) {
|
|
|
74
77
|
trackSelf(target);
|
|
75
78
|
return Reflect.ownKeys(target);
|
|
76
79
|
}
|
|
77
|
-
function createDataNode() {
|
|
78
|
-
const [s, set] = createSignal(
|
|
80
|
+
function createDataNode(value, equals) {
|
|
81
|
+
const [s, set] = createSignal(value, equals ? {
|
|
82
|
+
internal: true
|
|
83
|
+
} : {
|
|
79
84
|
equals: false,
|
|
80
85
|
internal: true
|
|
81
86
|
});
|
|
@@ -86,12 +91,14 @@ const proxyTraps$1 = {
|
|
|
86
91
|
get(target, property, receiver) {
|
|
87
92
|
if (property === $RAW) return target;
|
|
88
93
|
if (property === $PROXY) return receiver;
|
|
89
|
-
const value = target[property];
|
|
90
|
-
if (property === $NODE || property === "__proto__") return value;
|
|
91
94
|
if (property === $TRACK) return trackSelf(target);
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
+
const nodes = getDataNodes(target);
|
|
96
|
+
const tracked = nodes[property];
|
|
97
|
+
let value = tracked ? nodes[property]() : target[property];
|
|
98
|
+
if (property === $NODE || property === "__proto__") return value;
|
|
99
|
+
if (!tracked) {
|
|
100
|
+
const desc = Object.getOwnPropertyDescriptor(target, property);
|
|
101
|
+
if (getListener() && (typeof value !== "function" || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getDataNode(nodes, property, value)();
|
|
95
102
|
}
|
|
96
103
|
return isWrappable(value) ? wrap$1(value) : value;
|
|
97
104
|
},
|
|
@@ -106,15 +113,15 @@ const proxyTraps$1 = {
|
|
|
106
113
|
};
|
|
107
114
|
function setProperty(state, property, value) {
|
|
108
115
|
if (state[property] === value) return;
|
|
109
|
-
const
|
|
116
|
+
const prev = state[property];
|
|
110
117
|
const len = state.length;
|
|
111
118
|
if (value === undefined) {
|
|
112
119
|
delete state[property];
|
|
113
120
|
} else state[property] = value;
|
|
114
121
|
let nodes = getDataNodes(state),
|
|
115
122
|
node;
|
|
116
|
-
(node = nodes
|
|
117
|
-
if (
|
|
123
|
+
if (node = getDataNode(nodes, property, prev)) node.$(() => value);
|
|
124
|
+
if (Array.isArray(state) && state.length !== len) (node = getDataNode(nodes, "length", len)) && node.$(state.length);
|
|
118
125
|
(node = nodes._) && node.$();
|
|
119
126
|
}
|
|
120
127
|
function mergeStoreNode(state, value) {
|
|
@@ -197,14 +204,17 @@ const proxyTraps = {
|
|
|
197
204
|
get(target, property, receiver) {
|
|
198
205
|
if (property === $RAW) return target;
|
|
199
206
|
if (property === $PROXY) return receiver;
|
|
200
|
-
const value = target[property];
|
|
201
|
-
if (property === $NODE || property === "__proto__") return value;
|
|
202
207
|
if (property === $TRACK) return trackSelf(target);
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
+
const nodes = getDataNodes(target);
|
|
209
|
+
const tracked = nodes[property];
|
|
210
|
+
let value = tracked ? nodes[property]() : target[property];
|
|
211
|
+
if (property === $NODE || property === "__proto__") return value;
|
|
212
|
+
if (!tracked) {
|
|
213
|
+
const desc = Object.getOwnPropertyDescriptor(target, property);
|
|
214
|
+
const isFunction = typeof value !== "function";
|
|
215
|
+
if (getListener() && (isFunction || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getDataNode(nodes, property, value)();else if (value != null && isFunction && value === Array.prototype[property]) {
|
|
216
|
+
return (...args) => batch(() => Array.prototype[property].apply(receiver, args));
|
|
217
|
+
}
|
|
208
218
|
}
|
|
209
219
|
return isWrappable(value) ? wrap(value) : value;
|
|
210
220
|
},
|
package/store/types/store.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Accessor } from "../..";
|
|
2
1
|
export declare const $RAW: unique symbol, $NODE: unique symbol, $NAME: unique symbol;
|
|
3
2
|
export declare type StoreNode = Record<PropertyKey, any>;
|
|
4
3
|
export declare namespace SolidStore {
|
|
@@ -10,12 +9,10 @@ export declare type Store<T> = DeepReadonly<T>;
|
|
|
10
9
|
export declare function isWrappable(obj: any): any;
|
|
11
10
|
export declare function unwrap<T extends StoreNode>(item: any, set?: Set<unknown>): T;
|
|
12
11
|
export declare function getDataNodes(target: StoreNode): any;
|
|
12
|
+
export declare function getDataNode(nodes: Record<string, any>, property: string | symbol, value: any): any;
|
|
13
13
|
export declare function proxyDescriptor(target: StoreNode, property: PropertyKey): PropertyDescriptor | undefined;
|
|
14
14
|
export declare function trackSelf(target: StoreNode): void;
|
|
15
15
|
export declare function ownKeys(target: StoreNode): (string | symbol)[];
|
|
16
|
-
export declare function createDataNode(): Accessor<void> & {
|
|
17
|
-
$: () => void;
|
|
18
|
-
};
|
|
19
16
|
export declare function setProperty(state: StoreNode, property: PropertyKey, value: any): void;
|
|
20
17
|
export declare function updatePath(current: StoreNode, path: any[], traversed?: PropertyKey[]): void;
|
|
21
18
|
export declare type DeepReadonly<T> = 0 extends 1 & T ? T : T extends NotWrappable ? T : {
|