solid-js 1.4.6 → 1.5.0-beta.1
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/dev.cjs +112 -113
- package/dist/dev.js +112 -113
- package/dist/server.cjs +65 -31
- package/dist/server.js +65 -31
- package/dist/solid.cjs +112 -111
- package/dist/solid.js +112 -111
- package/h/jsx-runtime/types/jsx.d.ts +6 -1401
- package/h/types/hyperscript.d.ts +17 -0
- package/html/dist/html.cjs +34 -59
- package/html/dist/html.js +34 -59
- package/html/types/lit.d.ts +37 -0
- package/package.json +23 -21
- package/store/dist/dev.cjs +40 -22
- package/store/dist/dev.js +41 -23
- package/store/dist/store.cjs +40 -22
- package/store/dist/store.js +40 -22
- package/store/types/store.d.ts +1 -1
- package/types/jsx.d.ts +194 -1580
- package/types/reactive/observable.d.ts +7 -2
- package/types/reactive/signal.d.ts +42 -13
- package/types/render/component.d.ts +21 -6
- package/types/server/reactive.d.ts +6 -1
- package/types/server/rendering.d.ts +3 -2
- package/universal/types/universal.d.ts +3 -3
- package/web/dist/dev.cjs +3 -3
- package/web/dist/dev.js +3 -3
- package/web/dist/server.cjs +35 -69
- package/web/dist/server.js +35 -69
- package/web/dist/web.cjs +3 -3
- package/web/dist/web.js +3 -3
- package/web/types/core.d.ts +2 -2
- package/web/types/index.d.ts +5 -6
- package/web/types/server-mock.d.ts +4 -2
- package/web/types/server.d.ts +70 -0
- package/h/README.md +0 -99
- package/h/jsx-runtime/package.json +0 -8
- package/h/package.json +0 -8
- package/html/README.md +0 -84
- package/html/package.json +0 -8
- package/store/README.md +0 -23
- package/store/package.json +0 -35
- package/universal/README.md +0 -102
- package/universal/package.json +0 -18
- package/web/README.md +0 -7
- package/web/package.json +0 -35
package/store/dist/dev.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $PROXY,
|
|
1
|
+
import { DEV, $PROXY, $TRACK, getListener, batch, createSignal } from 'solid-js';
|
|
2
2
|
|
|
3
3
|
const $RAW = Symbol("store-raw"),
|
|
4
4
|
$NODE = Symbol("store-node"),
|
|
@@ -9,15 +9,17 @@ function wrap$1(value, name) {
|
|
|
9
9
|
Object.defineProperty(value, $PROXY, {
|
|
10
10
|
value: p = new Proxy(value, proxyTraps$1)
|
|
11
11
|
});
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
if (!Array.isArray(value)) {
|
|
13
|
+
const keys = Object.keys(value),
|
|
14
|
+
desc = Object.getOwnPropertyDescriptors(value);
|
|
15
|
+
for (let i = 0, l = keys.length; i < l; i++) {
|
|
16
|
+
const prop = keys[i];
|
|
17
|
+
if (desc[prop].get) {
|
|
18
|
+
const get = desc[prop].get.bind(p);
|
|
19
|
+
Object.defineProperty(value, prop, {
|
|
20
|
+
get
|
|
21
|
+
});
|
|
22
|
+
}
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
25
|
if (name) Object.defineProperty(value, $NAME, {
|
|
@@ -61,7 +63,7 @@ function getDataNodes(target) {
|
|
|
61
63
|
return nodes;
|
|
62
64
|
}
|
|
63
65
|
function getDataNode(nodes, property, value) {
|
|
64
|
-
return nodes[property] || (nodes[property] = createDataNode(value
|
|
66
|
+
return nodes[property] || (nodes[property] = createDataNode(value));
|
|
65
67
|
}
|
|
66
68
|
function proxyDescriptor(target, property) {
|
|
67
69
|
const desc = Reflect.getOwnPropertyDescriptor(target, property);
|
|
@@ -81,10 +83,8 @@ function ownKeys(target) {
|
|
|
81
83
|
trackSelf(target);
|
|
82
84
|
return Reflect.ownKeys(target);
|
|
83
85
|
}
|
|
84
|
-
function createDataNode(value
|
|
85
|
-
const [s, set] = createSignal(value,
|
|
86
|
-
internal: true
|
|
87
|
-
} : {
|
|
86
|
+
function createDataNode(value) {
|
|
87
|
+
const [s, set] = createSignal(value, {
|
|
88
88
|
equals: false,
|
|
89
89
|
internal: true
|
|
90
90
|
});
|
|
@@ -95,9 +95,12 @@ const proxyTraps$1 = {
|
|
|
95
95
|
get(target, property, receiver) {
|
|
96
96
|
if (property === $RAW) return target;
|
|
97
97
|
if (property === $PROXY) return receiver;
|
|
98
|
-
if (property === $TRACK)
|
|
98
|
+
if (property === $TRACK) {
|
|
99
|
+
trackSelf(target);
|
|
100
|
+
return receiver;
|
|
101
|
+
}
|
|
99
102
|
const nodes = getDataNodes(target);
|
|
100
|
-
const tracked = nodes
|
|
103
|
+
const tracked = nodes.hasOwnProperty(property);
|
|
101
104
|
let value = tracked ? nodes[property]() : target[property];
|
|
102
105
|
if (property === $NODE || property === "__proto__") return value;
|
|
103
106
|
if (!tracked) {
|
|
@@ -106,6 +109,12 @@ const proxyTraps$1 = {
|
|
|
106
109
|
}
|
|
107
110
|
return isWrappable(value) ? wrap$1(value, target[$NAME] && `${target[$NAME]}:${property.toString()}`) : value;
|
|
108
111
|
},
|
|
112
|
+
has(target, property) {
|
|
113
|
+
if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === "__proto__") return true;
|
|
114
|
+
const tracked = getDataNodes(target)[property];
|
|
115
|
+
tracked && tracked();
|
|
116
|
+
return property in target;
|
|
117
|
+
},
|
|
109
118
|
set() {
|
|
110
119
|
console.warn("Cannot mutate a Store directly");
|
|
111
120
|
return true;
|
|
@@ -117,8 +126,8 @@ const proxyTraps$1 = {
|
|
|
117
126
|
ownKeys: ownKeys,
|
|
118
127
|
getOwnPropertyDescriptor: proxyDescriptor
|
|
119
128
|
};
|
|
120
|
-
function setProperty(state, property, value) {
|
|
121
|
-
if (state[property] === value) return;
|
|
129
|
+
function setProperty(state, property, value, deleting = false) {
|
|
130
|
+
if (!deleting && state[property] === value) return;
|
|
122
131
|
const prev = state[property];
|
|
123
132
|
const len = state.length;
|
|
124
133
|
if (value === undefined) {
|
|
@@ -219,9 +228,12 @@ const proxyTraps = {
|
|
|
219
228
|
get(target, property, receiver) {
|
|
220
229
|
if (property === $RAW) return target;
|
|
221
230
|
if (property === $PROXY) return receiver;
|
|
222
|
-
if (property === $TRACK)
|
|
231
|
+
if (property === $TRACK) {
|
|
232
|
+
trackSelf(target);
|
|
233
|
+
return receiver;
|
|
234
|
+
}
|
|
223
235
|
const nodes = getDataNodes(target);
|
|
224
|
-
const tracked = nodes
|
|
236
|
+
const tracked = nodes.hasOwnProperty(property);
|
|
225
237
|
let value = tracked ? nodes[property]() : target[property];
|
|
226
238
|
if (property === $NODE || property === "__proto__") return value;
|
|
227
239
|
if (!tracked) {
|
|
@@ -233,12 +245,18 @@ const proxyTraps = {
|
|
|
233
245
|
}
|
|
234
246
|
return isWrappable(value) ? wrap(value, target[$NAME] && `${target[$NAME]}:${property.toString()}`) : value;
|
|
235
247
|
},
|
|
248
|
+
has(target, property) {
|
|
249
|
+
if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === "__proto__") return true;
|
|
250
|
+
const tracked = getDataNodes(target)[property];
|
|
251
|
+
tracked && tracked();
|
|
252
|
+
return property in target;
|
|
253
|
+
},
|
|
236
254
|
set(target, property, value) {
|
|
237
255
|
batch(() => setProperty(target, property, unwrap(value)));
|
|
238
256
|
return true;
|
|
239
257
|
},
|
|
240
258
|
deleteProperty(target, property) {
|
|
241
|
-
batch(() => setProperty(target, property, undefined));
|
|
259
|
+
batch(() => setProperty(target, property, undefined, true));
|
|
242
260
|
return true;
|
|
243
261
|
},
|
|
244
262
|
ownKeys: ownKeys,
|
|
@@ -389,7 +407,7 @@ const setterTraps = {
|
|
|
389
407
|
return true;
|
|
390
408
|
},
|
|
391
409
|
deleteProperty(target, property) {
|
|
392
|
-
setProperty(target, property, undefined);
|
|
410
|
+
setProperty(target, property, undefined, true);
|
|
393
411
|
return true;
|
|
394
412
|
}
|
|
395
413
|
};
|
package/store/dist/store.cjs
CHANGED
|
@@ -13,15 +13,17 @@ function wrap$1(value, name) {
|
|
|
13
13
|
Object.defineProperty(value, solidJs.$PROXY, {
|
|
14
14
|
value: p = new Proxy(value, proxyTraps$1)
|
|
15
15
|
});
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
if (!Array.isArray(value)) {
|
|
17
|
+
const keys = Object.keys(value),
|
|
18
|
+
desc = Object.getOwnPropertyDescriptors(value);
|
|
19
|
+
for (let i = 0, l = keys.length; i < l; i++) {
|
|
20
|
+
const prop = keys[i];
|
|
21
|
+
if (desc[prop].get) {
|
|
22
|
+
const get = desc[prop].get.bind(p);
|
|
23
|
+
Object.defineProperty(value, prop, {
|
|
24
|
+
get
|
|
25
|
+
});
|
|
26
|
+
}
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
29
|
}
|
|
@@ -62,7 +64,7 @@ function getDataNodes(target) {
|
|
|
62
64
|
return nodes;
|
|
63
65
|
}
|
|
64
66
|
function getDataNode(nodes, property, value) {
|
|
65
|
-
return nodes[property] || (nodes[property] = createDataNode(value
|
|
67
|
+
return nodes[property] || (nodes[property] = createDataNode(value));
|
|
66
68
|
}
|
|
67
69
|
function proxyDescriptor(target, property) {
|
|
68
70
|
const desc = Reflect.getOwnPropertyDescriptor(target, property);
|
|
@@ -82,10 +84,8 @@ function ownKeys(target) {
|
|
|
82
84
|
trackSelf(target);
|
|
83
85
|
return Reflect.ownKeys(target);
|
|
84
86
|
}
|
|
85
|
-
function createDataNode(value
|
|
86
|
-
const [s, set] = solidJs.createSignal(value,
|
|
87
|
-
internal: true
|
|
88
|
-
} : {
|
|
87
|
+
function createDataNode(value) {
|
|
88
|
+
const [s, set] = solidJs.createSignal(value, {
|
|
89
89
|
equals: false,
|
|
90
90
|
internal: true
|
|
91
91
|
});
|
|
@@ -96,9 +96,12 @@ const proxyTraps$1 = {
|
|
|
96
96
|
get(target, property, receiver) {
|
|
97
97
|
if (property === $RAW) return target;
|
|
98
98
|
if (property === solidJs.$PROXY) return receiver;
|
|
99
|
-
if (property === solidJs.$TRACK)
|
|
99
|
+
if (property === solidJs.$TRACK) {
|
|
100
|
+
trackSelf(target);
|
|
101
|
+
return receiver;
|
|
102
|
+
}
|
|
100
103
|
const nodes = getDataNodes(target);
|
|
101
|
-
const tracked = nodes
|
|
104
|
+
const tracked = nodes.hasOwnProperty(property);
|
|
102
105
|
let value = tracked ? nodes[property]() : target[property];
|
|
103
106
|
if (property === $NODE || property === "__proto__") return value;
|
|
104
107
|
if (!tracked) {
|
|
@@ -107,6 +110,12 @@ const proxyTraps$1 = {
|
|
|
107
110
|
}
|
|
108
111
|
return isWrappable(value) ? wrap$1(value) : value;
|
|
109
112
|
},
|
|
113
|
+
has(target, property) {
|
|
114
|
+
if (property === $RAW || property === solidJs.$PROXY || property === solidJs.$TRACK || property === $NODE || property === "__proto__") return true;
|
|
115
|
+
const tracked = getDataNodes(target)[property];
|
|
116
|
+
tracked && tracked();
|
|
117
|
+
return property in target;
|
|
118
|
+
},
|
|
110
119
|
set() {
|
|
111
120
|
return true;
|
|
112
121
|
},
|
|
@@ -116,8 +125,8 @@ const proxyTraps$1 = {
|
|
|
116
125
|
ownKeys: ownKeys,
|
|
117
126
|
getOwnPropertyDescriptor: proxyDescriptor
|
|
118
127
|
};
|
|
119
|
-
function setProperty(state, property, value) {
|
|
120
|
-
if (state[property] === value) return;
|
|
128
|
+
function setProperty(state, property, value, deleting = false) {
|
|
129
|
+
if (!deleting && state[property] === value) return;
|
|
121
130
|
const prev = state[property];
|
|
122
131
|
const len = state.length;
|
|
123
132
|
if (value === undefined) {
|
|
@@ -211,9 +220,12 @@ const proxyTraps = {
|
|
|
211
220
|
get(target, property, receiver) {
|
|
212
221
|
if (property === $RAW) return target;
|
|
213
222
|
if (property === solidJs.$PROXY) return receiver;
|
|
214
|
-
if (property === solidJs.$TRACK)
|
|
223
|
+
if (property === solidJs.$TRACK) {
|
|
224
|
+
trackSelf(target);
|
|
225
|
+
return receiver;
|
|
226
|
+
}
|
|
215
227
|
const nodes = getDataNodes(target);
|
|
216
|
-
const tracked = nodes
|
|
228
|
+
const tracked = nodes.hasOwnProperty(property);
|
|
217
229
|
let value = tracked ? nodes[property]() : target[property];
|
|
218
230
|
if (property === $NODE || property === "__proto__") return value;
|
|
219
231
|
if (!tracked) {
|
|
@@ -225,12 +237,18 @@ const proxyTraps = {
|
|
|
225
237
|
}
|
|
226
238
|
return isWrappable(value) ? wrap(value) : value;
|
|
227
239
|
},
|
|
240
|
+
has(target, property) {
|
|
241
|
+
if (property === $RAW || property === solidJs.$PROXY || property === solidJs.$TRACK || property === $NODE || property === "__proto__") return true;
|
|
242
|
+
const tracked = getDataNodes(target)[property];
|
|
243
|
+
tracked && tracked();
|
|
244
|
+
return property in target;
|
|
245
|
+
},
|
|
228
246
|
set(target, property, value) {
|
|
229
247
|
solidJs.batch(() => setProperty(target, property, unwrap(value)));
|
|
230
248
|
return true;
|
|
231
249
|
},
|
|
232
250
|
deleteProperty(target, property) {
|
|
233
|
-
solidJs.batch(() => setProperty(target, property, undefined));
|
|
251
|
+
solidJs.batch(() => setProperty(target, property, undefined, true));
|
|
234
252
|
return true;
|
|
235
253
|
},
|
|
236
254
|
ownKeys: ownKeys,
|
|
@@ -371,7 +389,7 @@ const setterTraps = {
|
|
|
371
389
|
return true;
|
|
372
390
|
},
|
|
373
391
|
deleteProperty(target, property) {
|
|
374
|
-
setProperty(target, property, undefined);
|
|
392
|
+
setProperty(target, property, undefined, true);
|
|
375
393
|
return true;
|
|
376
394
|
}
|
|
377
395
|
};
|
package/store/dist/store.js
CHANGED
|
@@ -9,15 +9,17 @@ function wrap$1(value, name) {
|
|
|
9
9
|
Object.defineProperty(value, $PROXY, {
|
|
10
10
|
value: p = new Proxy(value, proxyTraps$1)
|
|
11
11
|
});
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
if (!Array.isArray(value)) {
|
|
13
|
+
const keys = Object.keys(value),
|
|
14
|
+
desc = Object.getOwnPropertyDescriptors(value);
|
|
15
|
+
for (let i = 0, l = keys.length; i < l; i++) {
|
|
16
|
+
const prop = keys[i];
|
|
17
|
+
if (desc[prop].get) {
|
|
18
|
+
const get = desc[prop].get.bind(p);
|
|
19
|
+
Object.defineProperty(value, prop, {
|
|
20
|
+
get
|
|
21
|
+
});
|
|
22
|
+
}
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
25
|
}
|
|
@@ -58,7 +60,7 @@ function getDataNodes(target) {
|
|
|
58
60
|
return nodes;
|
|
59
61
|
}
|
|
60
62
|
function getDataNode(nodes, property, value) {
|
|
61
|
-
return nodes[property] || (nodes[property] = createDataNode(value
|
|
63
|
+
return nodes[property] || (nodes[property] = createDataNode(value));
|
|
62
64
|
}
|
|
63
65
|
function proxyDescriptor(target, property) {
|
|
64
66
|
const desc = Reflect.getOwnPropertyDescriptor(target, property);
|
|
@@ -78,10 +80,8 @@ function ownKeys(target) {
|
|
|
78
80
|
trackSelf(target);
|
|
79
81
|
return Reflect.ownKeys(target);
|
|
80
82
|
}
|
|
81
|
-
function createDataNode(value
|
|
82
|
-
const [s, set] = createSignal(value,
|
|
83
|
-
internal: true
|
|
84
|
-
} : {
|
|
83
|
+
function createDataNode(value) {
|
|
84
|
+
const [s, set] = createSignal(value, {
|
|
85
85
|
equals: false,
|
|
86
86
|
internal: true
|
|
87
87
|
});
|
|
@@ -92,9 +92,12 @@ const proxyTraps$1 = {
|
|
|
92
92
|
get(target, property, receiver) {
|
|
93
93
|
if (property === $RAW) return target;
|
|
94
94
|
if (property === $PROXY) return receiver;
|
|
95
|
-
if (property === $TRACK)
|
|
95
|
+
if (property === $TRACK) {
|
|
96
|
+
trackSelf(target);
|
|
97
|
+
return receiver;
|
|
98
|
+
}
|
|
96
99
|
const nodes = getDataNodes(target);
|
|
97
|
-
const tracked = nodes
|
|
100
|
+
const tracked = nodes.hasOwnProperty(property);
|
|
98
101
|
let value = tracked ? nodes[property]() : target[property];
|
|
99
102
|
if (property === $NODE || property === "__proto__") return value;
|
|
100
103
|
if (!tracked) {
|
|
@@ -103,6 +106,12 @@ const proxyTraps$1 = {
|
|
|
103
106
|
}
|
|
104
107
|
return isWrappable(value) ? wrap$1(value) : value;
|
|
105
108
|
},
|
|
109
|
+
has(target, property) {
|
|
110
|
+
if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === "__proto__") return true;
|
|
111
|
+
const tracked = getDataNodes(target)[property];
|
|
112
|
+
tracked && tracked();
|
|
113
|
+
return property in target;
|
|
114
|
+
},
|
|
106
115
|
set() {
|
|
107
116
|
return true;
|
|
108
117
|
},
|
|
@@ -112,8 +121,8 @@ const proxyTraps$1 = {
|
|
|
112
121
|
ownKeys: ownKeys,
|
|
113
122
|
getOwnPropertyDescriptor: proxyDescriptor
|
|
114
123
|
};
|
|
115
|
-
function setProperty(state, property, value) {
|
|
116
|
-
if (state[property] === value) return;
|
|
124
|
+
function setProperty(state, property, value, deleting = false) {
|
|
125
|
+
if (!deleting && state[property] === value) return;
|
|
117
126
|
const prev = state[property];
|
|
118
127
|
const len = state.length;
|
|
119
128
|
if (value === undefined) {
|
|
@@ -207,9 +216,12 @@ const proxyTraps = {
|
|
|
207
216
|
get(target, property, receiver) {
|
|
208
217
|
if (property === $RAW) return target;
|
|
209
218
|
if (property === $PROXY) return receiver;
|
|
210
|
-
if (property === $TRACK)
|
|
219
|
+
if (property === $TRACK) {
|
|
220
|
+
trackSelf(target);
|
|
221
|
+
return receiver;
|
|
222
|
+
}
|
|
211
223
|
const nodes = getDataNodes(target);
|
|
212
|
-
const tracked = nodes
|
|
224
|
+
const tracked = nodes.hasOwnProperty(property);
|
|
213
225
|
let value = tracked ? nodes[property]() : target[property];
|
|
214
226
|
if (property === $NODE || property === "__proto__") return value;
|
|
215
227
|
if (!tracked) {
|
|
@@ -221,12 +233,18 @@ const proxyTraps = {
|
|
|
221
233
|
}
|
|
222
234
|
return isWrappable(value) ? wrap(value) : value;
|
|
223
235
|
},
|
|
236
|
+
has(target, property) {
|
|
237
|
+
if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === "__proto__") return true;
|
|
238
|
+
const tracked = getDataNodes(target)[property];
|
|
239
|
+
tracked && tracked();
|
|
240
|
+
return property in target;
|
|
241
|
+
},
|
|
224
242
|
set(target, property, value) {
|
|
225
243
|
batch(() => setProperty(target, property, unwrap(value)));
|
|
226
244
|
return true;
|
|
227
245
|
},
|
|
228
246
|
deleteProperty(target, property) {
|
|
229
|
-
batch(() => setProperty(target, property, undefined));
|
|
247
|
+
batch(() => setProperty(target, property, undefined, true));
|
|
230
248
|
return true;
|
|
231
249
|
},
|
|
232
250
|
ownKeys: ownKeys,
|
|
@@ -367,7 +385,7 @@ const setterTraps = {
|
|
|
367
385
|
return true;
|
|
368
386
|
},
|
|
369
387
|
deleteProperty(target, property) {
|
|
370
|
-
setProperty(target, property, undefined);
|
|
388
|
+
setProperty(target, property, undefined, true);
|
|
371
389
|
return true;
|
|
372
390
|
}
|
|
373
391
|
};
|
package/store/types/store.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export declare function getDataNode(nodes: Record<string, any>, property: string
|
|
|
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 setProperty(state: StoreNode, property: PropertyKey, value: any): void;
|
|
16
|
+
export declare function setProperty(state: StoreNode, property: PropertyKey, value: any, deleting?: boolean): void;
|
|
17
17
|
export declare function updatePath(current: StoreNode, path: any[], traversed?: PropertyKey[]): void;
|
|
18
18
|
/** @deprecated */
|
|
19
19
|
export declare type DeepReadonly<T> = 0 extends 1 & T ? T : T extends NotWrappable ? T : {
|