solid-js 1.6.0 → 1.6.2
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 +25 -11
- package/dist/dev.js +25 -11
- package/dist/solid.cjs +25 -10
- package/dist/solid.js +25 -10
- package/package.json +1 -1
- package/store/dist/dev.cjs +14 -9
- package/store/dist/dev.js +21 -17
- package/store/dist/server.cjs +2 -0
- package/store/dist/server.js +2 -1
- package/store/dist/store.cjs +9 -9
- package/store/dist/store.js +9 -10
- package/store/types/index.d.ts +6 -0
- package/store/types/server.d.ts +1 -0
- package/store/types/store.d.ts +27 -3
- package/types/reactive/signal.d.ts +2 -2
- package/web/dist/server.cjs +3 -2
- package/web/dist/server.js +3 -3
- package/web/types/server.d.ts +1 -0
package/dist/dev.cjs
CHANGED
|
@@ -296,8 +296,8 @@ function createResource(pSource, pFetcher, pOptions) {
|
|
|
296
296
|
function completeLoad(v, err) {
|
|
297
297
|
runUpdates(() => {
|
|
298
298
|
if (!err) setValue(() => v);
|
|
299
|
-
setError(err);
|
|
300
299
|
setState(err ? "errored" : "ready");
|
|
300
|
+
setError(err);
|
|
301
301
|
for (const c of contexts.keys()) c.decrement();
|
|
302
302
|
contexts.clear();
|
|
303
303
|
}, false);
|
|
@@ -419,12 +419,13 @@ function batch(fn) {
|
|
|
419
419
|
return runUpdates(fn, false);
|
|
420
420
|
}
|
|
421
421
|
function untrack(fn) {
|
|
422
|
-
|
|
423
|
-
listener = Listener;
|
|
422
|
+
const listener = Listener;
|
|
424
423
|
Listener = null;
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
424
|
+
try {
|
|
425
|
+
return fn();
|
|
426
|
+
} finally {
|
|
427
|
+
Listener = listener;
|
|
428
|
+
}
|
|
428
429
|
}
|
|
429
430
|
function on(deps, fn, options) {
|
|
430
431
|
const isArray = Array.isArray(deps);
|
|
@@ -1256,7 +1257,7 @@ const propTraps = {
|
|
|
1256
1257
|
}
|
|
1257
1258
|
};
|
|
1258
1259
|
function resolveSource(s) {
|
|
1259
|
-
return (s = typeof s === "function" ? s() : s)
|
|
1260
|
+
return !(s = typeof s === "function" ? s() : s) ? {} : s;
|
|
1260
1261
|
}
|
|
1261
1262
|
function mergeProps(...sources) {
|
|
1262
1263
|
if (sources.some(s => s && ($PROXY in s || typeof s === "function"))) {
|
|
@@ -1281,10 +1282,21 @@ function mergeProps(...sources) {
|
|
|
1281
1282
|
}, propTraps);
|
|
1282
1283
|
}
|
|
1283
1284
|
const target = {};
|
|
1284
|
-
for (let i =
|
|
1285
|
+
for (let i = sources.length - 1; i >= 0; i--) {
|
|
1285
1286
|
if (sources[i]) {
|
|
1286
1287
|
const descriptors = Object.getOwnPropertyDescriptors(sources[i]);
|
|
1287
|
-
|
|
1288
|
+
for (const key in descriptors) {
|
|
1289
|
+
if (key in target) continue;
|
|
1290
|
+
Object.defineProperty(target, key, {
|
|
1291
|
+
enumerable: true,
|
|
1292
|
+
get() {
|
|
1293
|
+
for (let i = sources.length - 1; i >= 0; i--) {
|
|
1294
|
+
const v = (sources[i] || {})[key];
|
|
1295
|
+
if (v !== undefined) return v;
|
|
1296
|
+
}
|
|
1297
|
+
}
|
|
1298
|
+
});
|
|
1299
|
+
}
|
|
1288
1300
|
}
|
|
1289
1301
|
}
|
|
1290
1302
|
return target;
|
|
@@ -1298,13 +1310,15 @@ function splitProps(props, ...keys) {
|
|
|
1298
1310
|
const clone = {};
|
|
1299
1311
|
for (let i = 0; i < k.length; i++) {
|
|
1300
1312
|
const key = k[i];
|
|
1313
|
+
if (!isProxy && !(key in props)) continue;
|
|
1301
1314
|
Object.defineProperty(clone, key, descriptors[key] ? descriptors[key] : {
|
|
1302
1315
|
get() {
|
|
1303
1316
|
return props[key];
|
|
1304
1317
|
},
|
|
1305
1318
|
set() {
|
|
1306
1319
|
return true;
|
|
1307
|
-
}
|
|
1320
|
+
},
|
|
1321
|
+
enumerable: true
|
|
1308
1322
|
});
|
|
1309
1323
|
}
|
|
1310
1324
|
return clone;
|
|
@@ -1346,7 +1360,7 @@ function lazy(fn) {
|
|
|
1346
1360
|
}
|
|
1347
1361
|
let Comp;
|
|
1348
1362
|
return createMemo(() => (Comp = comp()) && untrack(() => {
|
|
1349
|
-
Object.assign(Comp, {
|
|
1363
|
+
if ("_SOLID_DEV_") Object.assign(Comp, {
|
|
1350
1364
|
[$DEVCOMP]: true
|
|
1351
1365
|
});
|
|
1352
1366
|
if (!ctx) return Comp(props);
|
package/dist/dev.js
CHANGED
|
@@ -292,8 +292,8 @@ function createResource(pSource, pFetcher, pOptions) {
|
|
|
292
292
|
function completeLoad(v, err) {
|
|
293
293
|
runUpdates(() => {
|
|
294
294
|
if (!err) setValue(() => v);
|
|
295
|
-
setError(err);
|
|
296
295
|
setState(err ? "errored" : "ready");
|
|
296
|
+
setError(err);
|
|
297
297
|
for (const c of contexts.keys()) c.decrement();
|
|
298
298
|
contexts.clear();
|
|
299
299
|
}, false);
|
|
@@ -415,12 +415,13 @@ function batch(fn) {
|
|
|
415
415
|
return runUpdates(fn, false);
|
|
416
416
|
}
|
|
417
417
|
function untrack(fn) {
|
|
418
|
-
|
|
419
|
-
listener = Listener;
|
|
418
|
+
const listener = Listener;
|
|
420
419
|
Listener = null;
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
420
|
+
try {
|
|
421
|
+
return fn();
|
|
422
|
+
} finally {
|
|
423
|
+
Listener = listener;
|
|
424
|
+
}
|
|
424
425
|
}
|
|
425
426
|
function on(deps, fn, options) {
|
|
426
427
|
const isArray = Array.isArray(deps);
|
|
@@ -1252,7 +1253,7 @@ const propTraps = {
|
|
|
1252
1253
|
}
|
|
1253
1254
|
};
|
|
1254
1255
|
function resolveSource(s) {
|
|
1255
|
-
return (s = typeof s === "function" ? s() : s)
|
|
1256
|
+
return !(s = typeof s === "function" ? s() : s) ? {} : s;
|
|
1256
1257
|
}
|
|
1257
1258
|
function mergeProps(...sources) {
|
|
1258
1259
|
if (sources.some(s => s && ($PROXY in s || typeof s === "function"))) {
|
|
@@ -1277,10 +1278,21 @@ function mergeProps(...sources) {
|
|
|
1277
1278
|
}, propTraps);
|
|
1278
1279
|
}
|
|
1279
1280
|
const target = {};
|
|
1280
|
-
for (let i =
|
|
1281
|
+
for (let i = sources.length - 1; i >= 0; i--) {
|
|
1281
1282
|
if (sources[i]) {
|
|
1282
1283
|
const descriptors = Object.getOwnPropertyDescriptors(sources[i]);
|
|
1283
|
-
|
|
1284
|
+
for (const key in descriptors) {
|
|
1285
|
+
if (key in target) continue;
|
|
1286
|
+
Object.defineProperty(target, key, {
|
|
1287
|
+
enumerable: true,
|
|
1288
|
+
get() {
|
|
1289
|
+
for (let i = sources.length - 1; i >= 0; i--) {
|
|
1290
|
+
const v = (sources[i] || {})[key];
|
|
1291
|
+
if (v !== undefined) return v;
|
|
1292
|
+
}
|
|
1293
|
+
}
|
|
1294
|
+
});
|
|
1295
|
+
}
|
|
1284
1296
|
}
|
|
1285
1297
|
}
|
|
1286
1298
|
return target;
|
|
@@ -1294,13 +1306,15 @@ function splitProps(props, ...keys) {
|
|
|
1294
1306
|
const clone = {};
|
|
1295
1307
|
for (let i = 0; i < k.length; i++) {
|
|
1296
1308
|
const key = k[i];
|
|
1309
|
+
if (!isProxy && !(key in props)) continue;
|
|
1297
1310
|
Object.defineProperty(clone, key, descriptors[key] ? descriptors[key] : {
|
|
1298
1311
|
get() {
|
|
1299
1312
|
return props[key];
|
|
1300
1313
|
},
|
|
1301
1314
|
set() {
|
|
1302
1315
|
return true;
|
|
1303
|
-
}
|
|
1316
|
+
},
|
|
1317
|
+
enumerable: true
|
|
1304
1318
|
});
|
|
1305
1319
|
}
|
|
1306
1320
|
return clone;
|
|
@@ -1342,7 +1356,7 @@ function lazy(fn) {
|
|
|
1342
1356
|
}
|
|
1343
1357
|
let Comp;
|
|
1344
1358
|
return createMemo(() => (Comp = comp()) && untrack(() => {
|
|
1345
|
-
Object.assign(Comp, {
|
|
1359
|
+
if ("_SOLID_DEV_") Object.assign(Comp, {
|
|
1346
1360
|
[$DEVCOMP]: true
|
|
1347
1361
|
});
|
|
1348
1362
|
if (!ctx) return Comp(props);
|
package/dist/solid.cjs
CHANGED
|
@@ -288,8 +288,8 @@ function createResource(pSource, pFetcher, pOptions) {
|
|
|
288
288
|
function completeLoad(v, err) {
|
|
289
289
|
runUpdates(() => {
|
|
290
290
|
if (!err) setValue(() => v);
|
|
291
|
-
setError(err);
|
|
292
291
|
setState(err ? "errored" : "ready");
|
|
292
|
+
setError(err);
|
|
293
293
|
for (const c of contexts.keys()) c.decrement();
|
|
294
294
|
contexts.clear();
|
|
295
295
|
}, false);
|
|
@@ -411,12 +411,13 @@ function batch(fn) {
|
|
|
411
411
|
return runUpdates(fn, false);
|
|
412
412
|
}
|
|
413
413
|
function untrack(fn) {
|
|
414
|
-
|
|
415
|
-
listener = Listener;
|
|
414
|
+
const listener = Listener;
|
|
416
415
|
Listener = null;
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
416
|
+
try {
|
|
417
|
+
return fn();
|
|
418
|
+
} finally {
|
|
419
|
+
Listener = listener;
|
|
420
|
+
}
|
|
420
421
|
}
|
|
421
422
|
function on(deps, fn, options) {
|
|
422
423
|
const isArray = Array.isArray(deps);
|
|
@@ -1170,7 +1171,7 @@ const propTraps = {
|
|
|
1170
1171
|
}
|
|
1171
1172
|
};
|
|
1172
1173
|
function resolveSource(s) {
|
|
1173
|
-
return (s = typeof s === "function" ? s() : s)
|
|
1174
|
+
return !(s = typeof s === "function" ? s() : s) ? {} : s;
|
|
1174
1175
|
}
|
|
1175
1176
|
function mergeProps(...sources) {
|
|
1176
1177
|
if (sources.some(s => s && ($PROXY in s || typeof s === "function"))) {
|
|
@@ -1195,10 +1196,21 @@ function mergeProps(...sources) {
|
|
|
1195
1196
|
}, propTraps);
|
|
1196
1197
|
}
|
|
1197
1198
|
const target = {};
|
|
1198
|
-
for (let i =
|
|
1199
|
+
for (let i = sources.length - 1; i >= 0; i--) {
|
|
1199
1200
|
if (sources[i]) {
|
|
1200
1201
|
const descriptors = Object.getOwnPropertyDescriptors(sources[i]);
|
|
1201
|
-
|
|
1202
|
+
for (const key in descriptors) {
|
|
1203
|
+
if (key in target) continue;
|
|
1204
|
+
Object.defineProperty(target, key, {
|
|
1205
|
+
enumerable: true,
|
|
1206
|
+
get() {
|
|
1207
|
+
for (let i = sources.length - 1; i >= 0; i--) {
|
|
1208
|
+
const v = (sources[i] || {})[key];
|
|
1209
|
+
if (v !== undefined) return v;
|
|
1210
|
+
}
|
|
1211
|
+
}
|
|
1212
|
+
});
|
|
1213
|
+
}
|
|
1202
1214
|
}
|
|
1203
1215
|
}
|
|
1204
1216
|
return target;
|
|
@@ -1212,13 +1224,15 @@ function splitProps(props, ...keys) {
|
|
|
1212
1224
|
const clone = {};
|
|
1213
1225
|
for (let i = 0; i < k.length; i++) {
|
|
1214
1226
|
const key = k[i];
|
|
1227
|
+
if (!isProxy && !(key in props)) continue;
|
|
1215
1228
|
Object.defineProperty(clone, key, descriptors[key] ? descriptors[key] : {
|
|
1216
1229
|
get() {
|
|
1217
1230
|
return props[key];
|
|
1218
1231
|
},
|
|
1219
1232
|
set() {
|
|
1220
1233
|
return true;
|
|
1221
|
-
}
|
|
1234
|
+
},
|
|
1235
|
+
enumerable: true
|
|
1222
1236
|
});
|
|
1223
1237
|
}
|
|
1224
1238
|
return clone;
|
|
@@ -1260,6 +1274,7 @@ function lazy(fn) {
|
|
|
1260
1274
|
}
|
|
1261
1275
|
let Comp;
|
|
1262
1276
|
return createMemo(() => (Comp = comp()) && untrack(() => {
|
|
1277
|
+
if (false) ;
|
|
1263
1278
|
if (!ctx) return Comp(props);
|
|
1264
1279
|
const c = sharedConfig.context;
|
|
1265
1280
|
setHydrateContext(ctx);
|
package/dist/solid.js
CHANGED
|
@@ -284,8 +284,8 @@ function createResource(pSource, pFetcher, pOptions) {
|
|
|
284
284
|
function completeLoad(v, err) {
|
|
285
285
|
runUpdates(() => {
|
|
286
286
|
if (!err) setValue(() => v);
|
|
287
|
-
setError(err);
|
|
288
287
|
setState(err ? "errored" : "ready");
|
|
288
|
+
setError(err);
|
|
289
289
|
for (const c of contexts.keys()) c.decrement();
|
|
290
290
|
contexts.clear();
|
|
291
291
|
}, false);
|
|
@@ -407,12 +407,13 @@ function batch(fn) {
|
|
|
407
407
|
return runUpdates(fn, false);
|
|
408
408
|
}
|
|
409
409
|
function untrack(fn) {
|
|
410
|
-
|
|
411
|
-
listener = Listener;
|
|
410
|
+
const listener = Listener;
|
|
412
411
|
Listener = null;
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
412
|
+
try {
|
|
413
|
+
return fn();
|
|
414
|
+
} finally {
|
|
415
|
+
Listener = listener;
|
|
416
|
+
}
|
|
416
417
|
}
|
|
417
418
|
function on(deps, fn, options) {
|
|
418
419
|
const isArray = Array.isArray(deps);
|
|
@@ -1166,7 +1167,7 @@ const propTraps = {
|
|
|
1166
1167
|
}
|
|
1167
1168
|
};
|
|
1168
1169
|
function resolveSource(s) {
|
|
1169
|
-
return (s = typeof s === "function" ? s() : s)
|
|
1170
|
+
return !(s = typeof s === "function" ? s() : s) ? {} : s;
|
|
1170
1171
|
}
|
|
1171
1172
|
function mergeProps(...sources) {
|
|
1172
1173
|
if (sources.some(s => s && ($PROXY in s || typeof s === "function"))) {
|
|
@@ -1191,10 +1192,21 @@ function mergeProps(...sources) {
|
|
|
1191
1192
|
}, propTraps);
|
|
1192
1193
|
}
|
|
1193
1194
|
const target = {};
|
|
1194
|
-
for (let i =
|
|
1195
|
+
for (let i = sources.length - 1; i >= 0; i--) {
|
|
1195
1196
|
if (sources[i]) {
|
|
1196
1197
|
const descriptors = Object.getOwnPropertyDescriptors(sources[i]);
|
|
1197
|
-
|
|
1198
|
+
for (const key in descriptors) {
|
|
1199
|
+
if (key in target) continue;
|
|
1200
|
+
Object.defineProperty(target, key, {
|
|
1201
|
+
enumerable: true,
|
|
1202
|
+
get() {
|
|
1203
|
+
for (let i = sources.length - 1; i >= 0; i--) {
|
|
1204
|
+
const v = (sources[i] || {})[key];
|
|
1205
|
+
if (v !== undefined) return v;
|
|
1206
|
+
}
|
|
1207
|
+
}
|
|
1208
|
+
});
|
|
1209
|
+
}
|
|
1198
1210
|
}
|
|
1199
1211
|
}
|
|
1200
1212
|
return target;
|
|
@@ -1208,13 +1220,15 @@ function splitProps(props, ...keys) {
|
|
|
1208
1220
|
const clone = {};
|
|
1209
1221
|
for (let i = 0; i < k.length; i++) {
|
|
1210
1222
|
const key = k[i];
|
|
1223
|
+
if (!isProxy && !(key in props)) continue;
|
|
1211
1224
|
Object.defineProperty(clone, key, descriptors[key] ? descriptors[key] : {
|
|
1212
1225
|
get() {
|
|
1213
1226
|
return props[key];
|
|
1214
1227
|
},
|
|
1215
1228
|
set() {
|
|
1216
1229
|
return true;
|
|
1217
|
-
}
|
|
1230
|
+
},
|
|
1231
|
+
enumerable: true
|
|
1218
1232
|
});
|
|
1219
1233
|
}
|
|
1220
1234
|
return clone;
|
|
@@ -1256,6 +1270,7 @@ function lazy(fn) {
|
|
|
1256
1270
|
}
|
|
1257
1271
|
let Comp;
|
|
1258
1272
|
return createMemo(() => (Comp = comp()) && untrack(() => {
|
|
1273
|
+
if (false) ;
|
|
1259
1274
|
if (!ctx) return Comp(props);
|
|
1260
1275
|
const c = sharedConfig.context;
|
|
1261
1276
|
setHydrateContext(ctx);
|
package/package.json
CHANGED
package/store/dist/dev.cjs
CHANGED
|
@@ -21,6 +21,7 @@ function wrap$1(value, name) {
|
|
|
21
21
|
if (desc[prop].get) {
|
|
22
22
|
const get = desc[prop].get.bind(p);
|
|
23
23
|
Object.defineProperty(value, prop, {
|
|
24
|
+
enumerable: desc[prop].enumerable,
|
|
24
25
|
get
|
|
25
26
|
});
|
|
26
27
|
}
|
|
@@ -115,8 +116,7 @@ const proxyTraps$1 = {
|
|
|
115
116
|
},
|
|
116
117
|
has(target, property) {
|
|
117
118
|
if (property === $RAW || property === solidJs.$PROXY || property === solidJs.$TRACK || property === $NODE || property === "__proto__") return true;
|
|
118
|
-
|
|
119
|
-
tracked && tracked();
|
|
119
|
+
this.get(target, property, target);
|
|
120
120
|
return property in target;
|
|
121
121
|
},
|
|
122
122
|
set() {
|
|
@@ -132,11 +132,10 @@ const proxyTraps$1 = {
|
|
|
132
132
|
};
|
|
133
133
|
function setProperty(state, property, value, deleting = false) {
|
|
134
134
|
if (!deleting && state[property] === value) return;
|
|
135
|
-
const prev = state[property]
|
|
136
|
-
|
|
137
|
-
if (value
|
|
138
|
-
|
|
139
|
-
} else state[property] = value;
|
|
135
|
+
const prev = state[property],
|
|
136
|
+
len = state.length;
|
|
137
|
+
if (globalThis._$onStoreNodeUpdate) globalThis._$onStoreNodeUpdate(state, property, value, prev);
|
|
138
|
+
if (value === undefined) delete state[property];else state[property] = value;
|
|
140
139
|
let nodes = getDataNodes(state),
|
|
141
140
|
node;
|
|
142
141
|
if (node = getDataNode(nodes, property, prev)) node.$(() => value);
|
|
@@ -260,8 +259,7 @@ const proxyTraps = {
|
|
|
260
259
|
},
|
|
261
260
|
has(target, property) {
|
|
262
261
|
if (property === $RAW || property === solidJs.$PROXY || property === solidJs.$TRACK || property === $NODE || property === "__proto__") return true;
|
|
263
|
-
|
|
264
|
-
tracked && tracked();
|
|
262
|
+
this.get(target, property, target);
|
|
265
263
|
return property in target;
|
|
266
264
|
},
|
|
267
265
|
set(target, property, value) {
|
|
@@ -437,7 +435,14 @@ function produce(fn) {
|
|
|
437
435
|
};
|
|
438
436
|
}
|
|
439
437
|
|
|
438
|
+
const DEV = {
|
|
439
|
+
$NAME,
|
|
440
|
+
$NODE,
|
|
441
|
+
isWrappable
|
|
442
|
+
} ;
|
|
443
|
+
|
|
440
444
|
exports.$RAW = $RAW;
|
|
445
|
+
exports.DEV = DEV;
|
|
441
446
|
exports.createMutable = createMutable;
|
|
442
447
|
exports.createStore = createStore;
|
|
443
448
|
exports.modifyMutable = modifyMutable;
|
package/store/dist/dev.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $PROXY, DEV as DEV$1, $TRACK, getListener, batch, createSignal } from 'solid-js';
|
|
2
2
|
|
|
3
3
|
const $RAW = Symbol("store-raw"),
|
|
4
4
|
$NODE = Symbol("store-node"),
|
|
@@ -17,6 +17,7 @@ function wrap$1(value, name) {
|
|
|
17
17
|
if (desc[prop].get) {
|
|
18
18
|
const get = desc[prop].get.bind(p);
|
|
19
19
|
Object.defineProperty(value, prop, {
|
|
20
|
+
enumerable: desc[prop].enumerable,
|
|
20
21
|
get
|
|
21
22
|
});
|
|
22
23
|
}
|
|
@@ -111,8 +112,7 @@ const proxyTraps$1 = {
|
|
|
111
112
|
},
|
|
112
113
|
has(target, property) {
|
|
113
114
|
if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === "__proto__") return true;
|
|
114
|
-
|
|
115
|
-
tracked && tracked();
|
|
115
|
+
this.get(target, property, target);
|
|
116
116
|
return property in target;
|
|
117
117
|
},
|
|
118
118
|
set() {
|
|
@@ -128,11 +128,10 @@ const proxyTraps$1 = {
|
|
|
128
128
|
};
|
|
129
129
|
function setProperty(state, property, value, deleting = false) {
|
|
130
130
|
if (!deleting && state[property] === value) return;
|
|
131
|
-
const prev = state[property]
|
|
132
|
-
|
|
133
|
-
if (value
|
|
134
|
-
|
|
135
|
-
} else state[property] = value;
|
|
131
|
+
const prev = state[property],
|
|
132
|
+
len = state.length;
|
|
133
|
+
if (globalThis._$onStoreNodeUpdate) globalThis._$onStoreNodeUpdate(state, property, value, prev);
|
|
134
|
+
if (value === undefined) delete state[property];else state[property] = value;
|
|
136
135
|
let nodes = getDataNodes(state),
|
|
137
136
|
node;
|
|
138
137
|
if (node = getDataNode(nodes, property, prev)) node.$(() => value);
|
|
@@ -209,10 +208,10 @@ function createStore(...[store, options]) {
|
|
|
209
208
|
const unwrappedStore = unwrap(store || {});
|
|
210
209
|
const isArray = Array.isArray(unwrappedStore);
|
|
211
210
|
if (typeof unwrappedStore !== "object" && typeof unwrappedStore !== "function") throw new Error(`Unexpected type ${typeof unwrappedStore} received when initializing 'createStore'. Expected an object.`);
|
|
212
|
-
const wrappedStore = wrap$1(unwrappedStore, (options && options.name || DEV.hashValue(unwrappedStore)));
|
|
211
|
+
const wrappedStore = wrap$1(unwrappedStore, (options && options.name || DEV$1.hashValue(unwrappedStore)));
|
|
213
212
|
{
|
|
214
|
-
const name = options && options.name || DEV.hashValue(unwrappedStore);
|
|
215
|
-
DEV.registerGraph(name, {
|
|
213
|
+
const name = options && options.name || DEV$1.hashValue(unwrappedStore);
|
|
214
|
+
DEV$1.registerGraph(name, {
|
|
216
215
|
value: unwrappedStore
|
|
217
216
|
});
|
|
218
217
|
}
|
|
@@ -256,8 +255,7 @@ const proxyTraps = {
|
|
|
256
255
|
},
|
|
257
256
|
has(target, property) {
|
|
258
257
|
if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === "__proto__") return true;
|
|
259
|
-
|
|
260
|
-
tracked && tracked();
|
|
258
|
+
this.get(target, property, target);
|
|
261
259
|
return property in target;
|
|
262
260
|
},
|
|
263
261
|
set(target, property, value) {
|
|
@@ -304,10 +302,10 @@ function wrap(value, name) {
|
|
|
304
302
|
function createMutable(state, options) {
|
|
305
303
|
const unwrappedStore = unwrap(state || {});
|
|
306
304
|
if (typeof unwrappedStore !== "object" && typeof unwrappedStore !== "function") throw new Error(`Unexpected type ${typeof unwrappedStore} received when initializing 'createMutable'. Expected an object.`);
|
|
307
|
-
const wrappedStore = wrap(unwrappedStore, (options && options.name || DEV.hashValue(unwrappedStore)));
|
|
305
|
+
const wrappedStore = wrap(unwrappedStore, (options && options.name || DEV$1.hashValue(unwrappedStore)));
|
|
308
306
|
{
|
|
309
|
-
const name = options && options.name || DEV.hashValue(unwrappedStore);
|
|
310
|
-
DEV.registerGraph(name, {
|
|
307
|
+
const name = options && options.name || DEV$1.hashValue(unwrappedStore);
|
|
308
|
+
DEV$1.registerGraph(name, {
|
|
311
309
|
value: unwrappedStore
|
|
312
310
|
});
|
|
313
311
|
}
|
|
@@ -433,4 +431,10 @@ function produce(fn) {
|
|
|
433
431
|
};
|
|
434
432
|
}
|
|
435
433
|
|
|
436
|
-
|
|
434
|
+
const DEV = {
|
|
435
|
+
$NAME,
|
|
436
|
+
$NODE,
|
|
437
|
+
isWrappable
|
|
438
|
+
} ;
|
|
439
|
+
|
|
440
|
+
export { $RAW, DEV, createMutable, createStore, modifyMutable, produce, reconcile, unwrap };
|
package/store/dist/server.cjs
CHANGED
|
@@ -110,8 +110,10 @@ function produce(fn) {
|
|
|
110
110
|
return state;
|
|
111
111
|
};
|
|
112
112
|
}
|
|
113
|
+
const DEV = undefined;
|
|
113
114
|
|
|
114
115
|
exports.$RAW = $RAW;
|
|
116
|
+
exports.DEV = DEV;
|
|
115
117
|
exports.createMutable = createMutable;
|
|
116
118
|
exports.createStore = createStore;
|
|
117
119
|
exports.isWrappable = isWrappable;
|
package/store/dist/server.js
CHANGED
|
@@ -106,5 +106,6 @@ function produce(fn) {
|
|
|
106
106
|
return state;
|
|
107
107
|
};
|
|
108
108
|
}
|
|
109
|
+
const DEV = undefined;
|
|
109
110
|
|
|
110
|
-
export { $RAW, createMutable, createStore, isWrappable, produce, reconcile, setProperty, unwrap, updatePath };
|
|
111
|
+
export { $RAW, DEV, createMutable, createStore, isWrappable, produce, reconcile, setProperty, unwrap, updatePath };
|
package/store/dist/store.cjs
CHANGED
|
@@ -21,6 +21,7 @@ function wrap$1(value, name) {
|
|
|
21
21
|
if (desc[prop].get) {
|
|
22
22
|
const get = desc[prop].get.bind(p);
|
|
23
23
|
Object.defineProperty(value, prop, {
|
|
24
|
+
enumerable: desc[prop].enumerable,
|
|
24
25
|
get
|
|
25
26
|
});
|
|
26
27
|
}
|
|
@@ -112,8 +113,7 @@ const proxyTraps$1 = {
|
|
|
112
113
|
},
|
|
113
114
|
has(target, property) {
|
|
114
115
|
if (property === $RAW || property === solidJs.$PROXY || property === solidJs.$TRACK || property === $NODE || property === "__proto__") return true;
|
|
115
|
-
|
|
116
|
-
tracked && tracked();
|
|
116
|
+
this.get(target, property, target);
|
|
117
117
|
return property in target;
|
|
118
118
|
},
|
|
119
119
|
set() {
|
|
@@ -127,11 +127,9 @@ const proxyTraps$1 = {
|
|
|
127
127
|
};
|
|
128
128
|
function setProperty(state, property, value, deleting = false) {
|
|
129
129
|
if (!deleting && state[property] === value) return;
|
|
130
|
-
const prev = state[property]
|
|
131
|
-
|
|
132
|
-
if (value === undefined)
|
|
133
|
-
delete state[property];
|
|
134
|
-
} else state[property] = value;
|
|
130
|
+
const prev = state[property],
|
|
131
|
+
len = state.length;
|
|
132
|
+
if (value === undefined) delete state[property];else state[property] = value;
|
|
135
133
|
let nodes = getDataNodes(state),
|
|
136
134
|
node;
|
|
137
135
|
if (node = getDataNode(nodes, property, prev)) node.$(() => value);
|
|
@@ -248,8 +246,7 @@ const proxyTraps = {
|
|
|
248
246
|
},
|
|
249
247
|
has(target, property) {
|
|
250
248
|
if (property === $RAW || property === solidJs.$PROXY || property === solidJs.$TRACK || property === $NODE || property === "__proto__") return true;
|
|
251
|
-
|
|
252
|
-
tracked && tracked();
|
|
249
|
+
this.get(target, property, target);
|
|
253
250
|
return property in target;
|
|
254
251
|
},
|
|
255
252
|
set(target, property, value) {
|
|
@@ -415,7 +412,10 @@ function produce(fn) {
|
|
|
415
412
|
};
|
|
416
413
|
}
|
|
417
414
|
|
|
415
|
+
const DEV = undefined;
|
|
416
|
+
|
|
418
417
|
exports.$RAW = $RAW;
|
|
418
|
+
exports.DEV = DEV;
|
|
419
419
|
exports.createMutable = createMutable;
|
|
420
420
|
exports.createStore = createStore;
|
|
421
421
|
exports.modifyMutable = modifyMutable;
|
package/store/dist/store.js
CHANGED
|
@@ -17,6 +17,7 @@ function wrap$1(value, name) {
|
|
|
17
17
|
if (desc[prop].get) {
|
|
18
18
|
const get = desc[prop].get.bind(p);
|
|
19
19
|
Object.defineProperty(value, prop, {
|
|
20
|
+
enumerable: desc[prop].enumerable,
|
|
20
21
|
get
|
|
21
22
|
});
|
|
22
23
|
}
|
|
@@ -108,8 +109,7 @@ const proxyTraps$1 = {
|
|
|
108
109
|
},
|
|
109
110
|
has(target, property) {
|
|
110
111
|
if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === "__proto__") return true;
|
|
111
|
-
|
|
112
|
-
tracked && tracked();
|
|
112
|
+
this.get(target, property, target);
|
|
113
113
|
return property in target;
|
|
114
114
|
},
|
|
115
115
|
set() {
|
|
@@ -123,11 +123,9 @@ const proxyTraps$1 = {
|
|
|
123
123
|
};
|
|
124
124
|
function setProperty(state, property, value, deleting = false) {
|
|
125
125
|
if (!deleting && state[property] === value) return;
|
|
126
|
-
const prev = state[property]
|
|
127
|
-
|
|
128
|
-
if (value === undefined)
|
|
129
|
-
delete state[property];
|
|
130
|
-
} else state[property] = value;
|
|
126
|
+
const prev = state[property],
|
|
127
|
+
len = state.length;
|
|
128
|
+
if (value === undefined) delete state[property];else state[property] = value;
|
|
131
129
|
let nodes = getDataNodes(state),
|
|
132
130
|
node;
|
|
133
131
|
if (node = getDataNode(nodes, property, prev)) node.$(() => value);
|
|
@@ -244,8 +242,7 @@ const proxyTraps = {
|
|
|
244
242
|
},
|
|
245
243
|
has(target, property) {
|
|
246
244
|
if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === "__proto__") return true;
|
|
247
|
-
|
|
248
|
-
tracked && tracked();
|
|
245
|
+
this.get(target, property, target);
|
|
249
246
|
return property in target;
|
|
250
247
|
},
|
|
251
248
|
set(target, property, value) {
|
|
@@ -411,4 +408,6 @@ function produce(fn) {
|
|
|
411
408
|
};
|
|
412
409
|
}
|
|
413
410
|
|
|
414
|
-
|
|
411
|
+
const DEV = undefined;
|
|
412
|
+
|
|
413
|
+
export { $RAW, DEV, createMutable, createStore, modifyMutable, produce, reconcile, unwrap };
|
package/store/types/index.d.ts
CHANGED
|
@@ -2,3 +2,9 @@ export { createStore, unwrap, $RAW } from "./store.js";
|
|
|
2
2
|
export type { Store, SetStoreFunction, NotWrappable, SolidStore, StoreNode, StoreSetter, StorePathRange, ArrayFilterFn, Part, DeepReadonly, DeepMutable } from "./store.js";
|
|
3
3
|
export * from "./mutable.js";
|
|
4
4
|
export * from "./modifiers.js";
|
|
5
|
+
import { $NAME, $NODE, isWrappable } from "./store.js";
|
|
6
|
+
export declare const DEV: {
|
|
7
|
+
readonly $NAME: typeof $NAME;
|
|
8
|
+
readonly $NODE: typeof $NODE;
|
|
9
|
+
readonly isWrappable: typeof isWrappable;
|
|
10
|
+
} | undefined;
|
package/store/types/server.d.ts
CHANGED
|
@@ -12,4 +12,5 @@ declare type ReconcileOptions = {
|
|
|
12
12
|
};
|
|
13
13
|
export declare function reconcile<T extends U, U>(value: T, options?: ReconcileOptions): (state: U) => T;
|
|
14
14
|
export declare function produce<T>(fn: (state: T) => void): (state: T) => T;
|
|
15
|
+
export declare const DEV: undefined;
|
|
15
16
|
export {};
|
package/store/types/store.d.ts
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
export declare const $RAW: unique symbol, $NODE: unique symbol, $NAME: unique symbol;
|
|
2
|
-
|
|
2
|
+
declare global {
|
|
3
|
+
var _$onStoreNodeUpdate: OnStoreNodeUpdate | undefined;
|
|
4
|
+
}
|
|
5
|
+
declare type DataNode = {
|
|
6
|
+
(): any;
|
|
7
|
+
$(value?: any): void;
|
|
8
|
+
};
|
|
9
|
+
declare type DataNodes = Record<PropertyKey, DataNode>;
|
|
10
|
+
export declare type OnStoreNodeUpdate = (state: StoreNode, property: PropertyKey, value: StoreNode | NotWrappable, prev: StoreNode | NotWrappable) => void;
|
|
11
|
+
export interface StoreNode {
|
|
12
|
+
[$NAME]?: string;
|
|
13
|
+
[$NODE]?: DataNodes;
|
|
14
|
+
[key: PropertyKey]: any;
|
|
15
|
+
}
|
|
3
16
|
export declare namespace SolidStore {
|
|
4
17
|
interface Unwrappable {
|
|
5
18
|
}
|
|
@@ -7,9 +20,20 @@ export declare namespace SolidStore {
|
|
|
7
20
|
export declare type NotWrappable = string | number | bigint | symbol | boolean | Function | null | undefined | SolidStore.Unwrappable[keyof SolidStore.Unwrappable];
|
|
8
21
|
export declare type Store<T> = T;
|
|
9
22
|
export declare function isWrappable<T>(obj: T | NotWrappable): obj is T;
|
|
23
|
+
/**
|
|
24
|
+
* Returns the underlying data in the store without a proxy.
|
|
25
|
+
* @param item store proxy object
|
|
26
|
+
* @example
|
|
27
|
+
* ```js
|
|
28
|
+
* const initial = {z...};
|
|
29
|
+
* const [state, setState] = createStore(initial);
|
|
30
|
+
* initial === state; // => false
|
|
31
|
+
* initial === unwrap(state); // => true
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
10
34
|
export declare function unwrap<T>(item: T, set?: Set<unknown>): T;
|
|
11
|
-
export declare function getDataNodes(target: StoreNode):
|
|
12
|
-
export declare function getDataNode(nodes:
|
|
35
|
+
export declare function getDataNodes(target: StoreNode): DataNodes;
|
|
36
|
+
export declare function getDataNode(nodes: DataNodes, property: PropertyKey, value: any): DataNode;
|
|
13
37
|
export declare function proxyDescriptor(target: StoreNode, property: PropertyKey): PropertyDescriptor | undefined;
|
|
14
38
|
export declare function trackSelf(target: StoreNode): void;
|
|
15
39
|
export declare function ownKeys(target: StoreNode): (string | symbol)[];
|
|
@@ -9,8 +9,8 @@ export declare var Owner: Owner | null;
|
|
|
9
9
|
export declare let Transition: TransitionState | null;
|
|
10
10
|
declare let ExternalSourceFactory: ExternalSourceFactory | null;
|
|
11
11
|
declare global {
|
|
12
|
-
var _$afterUpdate: () => void;
|
|
13
|
-
var _$afterCreateRoot: (root: Owner) => void;
|
|
12
|
+
var _$afterUpdate: (() => void) | undefined;
|
|
13
|
+
var _$afterCreateRoot: ((root: Owner) => void) | undefined;
|
|
14
14
|
}
|
|
15
15
|
export interface SignalState<T> {
|
|
16
16
|
value?: T;
|
package/web/dist/server.cjs
CHANGED
|
@@ -103,7 +103,7 @@ function writeProp(cur, accessor) {
|
|
|
103
103
|
case undefined:
|
|
104
104
|
BUFFER.push("Object.assign(Object.create(null),");
|
|
105
105
|
writeObject(cur);
|
|
106
|
-
BUFFER.push(")
|
|
106
|
+
BUFFER.push(")");
|
|
107
107
|
break;
|
|
108
108
|
default:
|
|
109
109
|
return false;
|
|
@@ -638,7 +638,7 @@ function generateHydrationScript({
|
|
|
638
638
|
eventNames = ["click", "input"],
|
|
639
639
|
nonce
|
|
640
640
|
} = {}) {
|
|
641
|
-
return `<script${nonce ? ` nonce="${nonce}"` : ""}>
|
|
641
|
+
return `<script${nonce ? ` nonce="${nonce}"` : ""}>(e=>{let t=e=>e&&e.hasAttribute&&(e.hasAttribute("data-hk")?e:t(e.host&&e.host instanceof Node?e.host:e.parentNode));["${eventNames.join('", "')}"].forEach((o=>document.addEventListener(o,(o=>{let s=o.composedPath&&o.composedPath()[0]||o.target,a=t(s);a&&!e.completed.has(a)&&e.events.push([a,o])}))))})(window._$HY||(_$HY={events:[],completed:new WeakSet,r:{},fe(){},init(e,t){_$HY.r[e]=[new Promise((e=>t=e)),t]},set(e,t,o){(o=_$HY.r[e])&&o[1](t),_$HY.r[e]=[t]},unset(e){delete _$HY.r[e]},load:e=>_$HY.r[e]}));</script><!--xs-->`;
|
|
642
642
|
}
|
|
643
643
|
function Hydration(props) {
|
|
644
644
|
if (!solidJs.sharedConfig.context.noHydrate) return props.children;
|
|
@@ -871,4 +871,5 @@ exports.ssrElement = ssrElement;
|
|
|
871
871
|
exports.ssrHydrationKey = ssrHydrationKey;
|
|
872
872
|
exports.ssrSpread = ssrSpread;
|
|
873
873
|
exports.ssrStyle = ssrStyle;
|
|
874
|
+
exports.stringify = stringify;
|
|
874
875
|
exports.useAssets = useAssets;
|
package/web/dist/server.js
CHANGED
|
@@ -100,7 +100,7 @@ function writeProp(cur, accessor) {
|
|
|
100
100
|
case undefined:
|
|
101
101
|
BUFFER.push("Object.assign(Object.create(null),");
|
|
102
102
|
writeObject(cur);
|
|
103
|
-
BUFFER.push(")
|
|
103
|
+
BUFFER.push(")");
|
|
104
104
|
break;
|
|
105
105
|
default:
|
|
106
106
|
return false;
|
|
@@ -635,7 +635,7 @@ function generateHydrationScript({
|
|
|
635
635
|
eventNames = ["click", "input"],
|
|
636
636
|
nonce
|
|
637
637
|
} = {}) {
|
|
638
|
-
return `<script${nonce ? ` nonce="${nonce}"` : ""}>
|
|
638
|
+
return `<script${nonce ? ` nonce="${nonce}"` : ""}>(e=>{let t=e=>e&&e.hasAttribute&&(e.hasAttribute("data-hk")?e:t(e.host&&e.host instanceof Node?e.host:e.parentNode));["${eventNames.join('", "')}"].forEach((o=>document.addEventListener(o,(o=>{let s=o.composedPath&&o.composedPath()[0]||o.target,a=t(s);a&&!e.completed.has(a)&&e.events.push([a,o])}))))})(window._$HY||(_$HY={events:[],completed:new WeakSet,r:{},fe(){},init(e,t){_$HY.r[e]=[new Promise((e=>t=e)),t]},set(e,t,o){(o=_$HY.r[e])&&o[1](t),_$HY.r[e]=[t]},unset(e){delete _$HY.r[e]},load:e=>_$HY.r[e]}));</script><!--xs-->`;
|
|
639
639
|
}
|
|
640
640
|
function Hydration(props) {
|
|
641
641
|
if (!sharedConfig.context.noHydrate) return props.children;
|
|
@@ -800,4 +800,4 @@ function Portal(props) {
|
|
|
800
800
|
return "";
|
|
801
801
|
}
|
|
802
802
|
|
|
803
|
-
export { Assets, Dynamic, Hydration, HydrationScript, NoHydration, Portal, addEventListener, delegateEvents, escape, generateHydrationScript, getAssets, getHydrationKey, insert, isServer, pipeToNodeWritable, pipeToWritable, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, spread, ssr, ssrAttribute, ssrClassList, ssrElement, ssrHydrationKey, ssrSpread, ssrStyle, useAssets };
|
|
803
|
+
export { Assets, Dynamic, Hydration, HydrationScript, NoHydration, Portal, addEventListener, delegateEvents, escape, generateHydrationScript, getAssets, getHydrationKey, insert, isServer, pipeToNodeWritable, pipeToWritable, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, spread, ssr, ssrAttribute, ssrClassList, ssrElement, ssrHydrationKey, ssrSpread, ssrStyle, stringify, useAssets };
|
package/web/types/server.d.ts
CHANGED
|
@@ -49,6 +49,7 @@ export function createComponent<T>(Comp: (props: T) => JSX.Element, props: T): J
|
|
|
49
49
|
export function mergeProps(...sources: unknown[]): unknown;
|
|
50
50
|
export function getOwner(): unknown;
|
|
51
51
|
export function generateHydrationScript(options: { nonce?: string; eventNames?: string[] }): string;
|
|
52
|
+
export function stringify(root: unknown): string;
|
|
52
53
|
|
|
53
54
|
export function Hydration(props: { children?: JSX.Element }): JSX.Element;
|
|
54
55
|
export function NoHydration(props: { children?: JSX.Element }): JSX.Element;
|