solid-js 1.9.11 → 2.0.0-beta.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.
Files changed (82) hide show
  1. package/dist/dev.cjs +733 -1678
  2. package/dist/dev.js +598 -1643
  3. package/dist/server.cjs +769 -703
  4. package/dist/server.js +682 -670
  5. package/dist/solid.cjs +699 -1618
  6. package/dist/solid.js +563 -1582
  7. package/package.json +7 -151
  8. package/types/{render → client}/component.d.ts +1 -38
  9. package/types/client/core.d.ts +65 -0
  10. package/types/client/flow.d.ts +100 -0
  11. package/types/client/hydration.d.ts +76 -0
  12. package/types/index.d.ts +11 -14
  13. package/types/jsx.d.ts +1508 -1633
  14. package/types/server/component.d.ts +66 -0
  15. package/types/server/core.d.ts +44 -0
  16. package/types/server/flow.d.ts +60 -0
  17. package/types/server/hydration.d.ts +21 -0
  18. package/types/server/index.d.ts +12 -3
  19. package/types/server/shared.d.ts +45 -0
  20. package/types/server/signals.d.ts +60 -0
  21. package/h/dist/h.cjs +0 -115
  22. package/h/dist/h.js +0 -113
  23. package/h/jsx-dev-runtime/package.json +0 -8
  24. package/h/jsx-runtime/dist/jsx.cjs +0 -15
  25. package/h/jsx-runtime/dist/jsx.js +0 -10
  26. package/h/jsx-runtime/package.json +0 -8
  27. package/h/jsx-runtime/types/index.d.ts +0 -11
  28. package/h/jsx-runtime/types/jsx.d.ts +0 -4242
  29. package/h/package.json +0 -8
  30. package/h/types/hyperscript.d.ts +0 -20
  31. package/h/types/index.d.ts +0 -3
  32. package/html/dist/html.cjs +0 -583
  33. package/html/dist/html.js +0 -581
  34. package/html/package.json +0 -8
  35. package/html/types/index.d.ts +0 -3
  36. package/html/types/lit.d.ts +0 -41
  37. package/store/dist/dev.cjs +0 -458
  38. package/store/dist/dev.js +0 -449
  39. package/store/dist/server.cjs +0 -126
  40. package/store/dist/server.js +0 -114
  41. package/store/dist/store.cjs +0 -438
  42. package/store/dist/store.js +0 -429
  43. package/store/package.json +0 -46
  44. package/store/types/index.d.ts +0 -12
  45. package/store/types/modifiers.d.ts +0 -6
  46. package/store/types/mutable.d.ts +0 -5
  47. package/store/types/server.d.ts +0 -17
  48. package/store/types/store.d.ts +0 -107
  49. package/types/reactive/array.d.ts +0 -44
  50. package/types/reactive/observable.d.ts +0 -36
  51. package/types/reactive/scheduler.d.ts +0 -10
  52. package/types/reactive/signal.d.ts +0 -577
  53. package/types/render/Suspense.d.ts +0 -26
  54. package/types/render/flow.d.ts +0 -118
  55. package/types/render/hydration.d.ts +0 -24
  56. package/types/render/index.d.ts +0 -4
  57. package/types/server/reactive.d.ts +0 -98
  58. package/types/server/rendering.d.ts +0 -159
  59. package/universal/dist/dev.cjs +0 -245
  60. package/universal/dist/dev.js +0 -243
  61. package/universal/dist/universal.cjs +0 -245
  62. package/universal/dist/universal.js +0 -243
  63. package/universal/package.json +0 -20
  64. package/universal/types/index.d.ts +0 -3
  65. package/universal/types/universal.d.ts +0 -30
  66. package/web/dist/dev.cjs +0 -894
  67. package/web/dist/dev.js +0 -782
  68. package/web/dist/server.cjs +0 -892
  69. package/web/dist/server.js +0 -782
  70. package/web/dist/web.cjs +0 -883
  71. package/web/dist/web.js +0 -771
  72. package/web/package.json +0 -46
  73. package/web/storage/dist/storage.cjs +0 -12
  74. package/web/storage/dist/storage.js +0 -10
  75. package/web/storage/package.json +0 -15
  76. package/web/storage/types/index.d.ts +0 -2
  77. package/web/types/client.d.ts +0 -79
  78. package/web/types/core.d.ts +0 -2
  79. package/web/types/index.d.ts +0 -50
  80. package/web/types/jsx.d.ts +0 -1
  81. package/web/types/server-mock.d.ts +0 -65
  82. package/web/types/server.d.ts +0 -177
@@ -1,458 +0,0 @@
1
- 'use strict';
2
-
3
- var solidJs = require('solid-js');
4
-
5
- const $RAW = Symbol("store-raw"),
6
- $NODE = Symbol("store-node"),
7
- $HAS = Symbol("store-has"),
8
- $SELF = Symbol("store-self");
9
- const DevHooks = {
10
- onStoreNodeUpdate: null
11
- };
12
- function wrap$1(value) {
13
- let p = value[solidJs.$PROXY];
14
- if (!p) {
15
- Object.defineProperty(value, solidJs.$PROXY, {
16
- value: p = new Proxy(value, proxyTraps$1)
17
- });
18
- if (!Array.isArray(value)) {
19
- const keys = Object.keys(value),
20
- desc = Object.getOwnPropertyDescriptors(value);
21
- for (let i = 0, l = keys.length; i < l; i++) {
22
- const prop = keys[i];
23
- if (desc[prop].get) {
24
- Object.defineProperty(value, prop, {
25
- enumerable: desc[prop].enumerable,
26
- get: desc[prop].get.bind(p)
27
- });
28
- }
29
- }
30
- }
31
- }
32
- return p;
33
- }
34
- function isWrappable(obj) {
35
- let proto;
36
- return obj != null && typeof obj === "object" && (obj[solidJs.$PROXY] || !(proto = Object.getPrototypeOf(obj)) || proto === Object.prototype || Array.isArray(obj));
37
- }
38
- function unwrap(item, set = new Set()) {
39
- let result, unwrapped, v, prop;
40
- if (result = item != null && item[$RAW]) return result;
41
- if (!isWrappable(item) || set.has(item)) return item;
42
- if (Array.isArray(item)) {
43
- if (Object.isFrozen(item)) item = item.slice(0);else set.add(item);
44
- for (let i = 0, l = item.length; i < l; i++) {
45
- v = item[i];
46
- if ((unwrapped = unwrap(v, set)) !== v) item[i] = unwrapped;
47
- }
48
- } else {
49
- if (Object.isFrozen(item)) item = Object.assign({}, item);else set.add(item);
50
- const keys = Object.keys(item),
51
- desc = Object.getOwnPropertyDescriptors(item);
52
- for (let i = 0, l = keys.length; i < l; i++) {
53
- prop = keys[i];
54
- if (desc[prop].get) continue;
55
- v = item[prop];
56
- if ((unwrapped = unwrap(v, set)) !== v) item[prop] = unwrapped;
57
- }
58
- }
59
- return item;
60
- }
61
- function getNodes(target, symbol) {
62
- let nodes = target[symbol];
63
- if (!nodes) Object.defineProperty(target, symbol, {
64
- value: nodes = Object.create(null)
65
- });
66
- return nodes;
67
- }
68
- function getNode(nodes, property, value) {
69
- if (nodes[property]) return nodes[property];
70
- const [s, set] = solidJs.createSignal(value, {
71
- equals: false,
72
- internal: true
73
- });
74
- s.$ = set;
75
- return nodes[property] = s;
76
- }
77
- function proxyDescriptor$1(target, property) {
78
- const desc = Reflect.getOwnPropertyDescriptor(target, property);
79
- if (!desc || desc.get || !desc.configurable || property === solidJs.$PROXY || property === $NODE) return desc;
80
- delete desc.value;
81
- delete desc.writable;
82
- desc.get = () => target[solidJs.$PROXY][property];
83
- return desc;
84
- }
85
- function trackSelf(target) {
86
- solidJs.getListener() && getNode(getNodes(target, $NODE), $SELF)();
87
- }
88
- function ownKeys(target) {
89
- trackSelf(target);
90
- return Reflect.ownKeys(target);
91
- }
92
- const proxyTraps$1 = {
93
- get(target, property, receiver) {
94
- if (property === $RAW) return target;
95
- if (property === solidJs.$PROXY) return receiver;
96
- if (property === solidJs.$TRACK) {
97
- trackSelf(target);
98
- return receiver;
99
- }
100
- const nodes = getNodes(target, $NODE);
101
- const tracked = nodes[property];
102
- let value = tracked ? tracked() : target[property];
103
- if (property === $NODE || property === $HAS || property === "__proto__") return value;
104
- if (!tracked) {
105
- const desc = Object.getOwnPropertyDescriptor(target, property);
106
- if (solidJs.getListener() && (typeof value !== "function" || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getNode(nodes, property, value)();
107
- }
108
- return isWrappable(value) ? wrap$1(value) : value;
109
- },
110
- has(target, property) {
111
- if (property === $RAW || property === solidJs.$PROXY || property === solidJs.$TRACK || property === $NODE || property === $HAS || property === "__proto__") return true;
112
- solidJs.getListener() && getNode(getNodes(target, $HAS), property)();
113
- return property in target;
114
- },
115
- set() {
116
- console.warn("Cannot mutate a Store directly");
117
- return true;
118
- },
119
- deleteProperty() {
120
- console.warn("Cannot mutate a Store directly");
121
- return true;
122
- },
123
- ownKeys: ownKeys,
124
- getOwnPropertyDescriptor: proxyDescriptor$1
125
- };
126
- function setProperty(state, property, value, deleting = false) {
127
- if (!deleting && state[property] === value) return;
128
- const prev = state[property],
129
- len = state.length;
130
- DevHooks.onStoreNodeUpdate && DevHooks.onStoreNodeUpdate(state, property, value, prev);
131
- if (value === undefined) {
132
- delete state[property];
133
- if (state[$HAS] && state[$HAS][property] && prev !== undefined) state[$HAS][property].$();
134
- } else {
135
- state[property] = value;
136
- if (state[$HAS] && state[$HAS][property] && prev === undefined) state[$HAS][property].$();
137
- }
138
- let nodes = getNodes(state, $NODE),
139
- node;
140
- if (node = getNode(nodes, property, prev)) node.$(() => value);
141
- if (Array.isArray(state) && state.length !== len) {
142
- for (let i = state.length; i < len; i++) (node = nodes[i]) && node.$();
143
- (node = getNode(nodes, "length", len)) && node.$(state.length);
144
- }
145
- (node = nodes[$SELF]) && node.$();
146
- }
147
- function mergeStoreNode(state, value) {
148
- const keys = Object.keys(value);
149
- for (let i = 0; i < keys.length; i += 1) {
150
- const key = keys[i];
151
- setProperty(state, key, value[key]);
152
- }
153
- }
154
- function updateArray(current, next) {
155
- if (typeof next === "function") next = next(current);
156
- next = unwrap(next);
157
- if (Array.isArray(next)) {
158
- if (current === next) return;
159
- let i = 0,
160
- len = next.length;
161
- for (; i < len; i++) {
162
- const value = next[i];
163
- if (current[i] !== value) setProperty(current, i, value);
164
- }
165
- setProperty(current, "length", len);
166
- } else mergeStoreNode(current, next);
167
- }
168
- function updatePath(current, path, traversed = []) {
169
- let part,
170
- prev = current;
171
- if (path.length > 1) {
172
- part = path.shift();
173
- const partType = typeof part,
174
- isArray = Array.isArray(current);
175
- if (Array.isArray(part)) {
176
- for (let i = 0; i < part.length; i++) {
177
- updatePath(current, [part[i]].concat(path), traversed);
178
- }
179
- return;
180
- } else if (isArray && partType === "function") {
181
- for (let i = 0; i < current.length; i++) {
182
- if (part(current[i], i)) updatePath(current, [i].concat(path), traversed);
183
- }
184
- return;
185
- } else if (isArray && partType === "object") {
186
- const {
187
- from = 0,
188
- to = current.length - 1,
189
- by = 1
190
- } = part;
191
- for (let i = from; i <= to; i += by) {
192
- updatePath(current, [i].concat(path), traversed);
193
- }
194
- return;
195
- } else if (path.length > 1) {
196
- updatePath(current[part], path, [part].concat(traversed));
197
- return;
198
- }
199
- prev = current[part];
200
- traversed = [part].concat(traversed);
201
- }
202
- let value = path[0];
203
- if (typeof value === "function") {
204
- value = value(prev, traversed);
205
- if (value === prev) return;
206
- }
207
- if (part === undefined && value == undefined) return;
208
- value = unwrap(value);
209
- if (part === undefined || isWrappable(prev) && isWrappable(value) && !Array.isArray(value)) {
210
- mergeStoreNode(prev, value);
211
- } else setProperty(current, part, value);
212
- }
213
- function createStore(...[store, options]) {
214
- const unwrappedStore = unwrap(store || {});
215
- const isArray = Array.isArray(unwrappedStore);
216
- if (typeof unwrappedStore !== "object" && typeof unwrappedStore !== "function") throw new Error(`Unexpected type ${typeof unwrappedStore} received when initializing 'createStore'. Expected an object.`);
217
- const wrappedStore = wrap$1(unwrappedStore);
218
- solidJs.DEV.registerGraph({
219
- value: unwrappedStore,
220
- name: options && options.name
221
- });
222
- function setStore(...args) {
223
- solidJs.batch(() => {
224
- isArray && args.length === 1 ? updateArray(unwrappedStore, args[0]) : updatePath(unwrappedStore, args);
225
- });
226
- }
227
- return [wrappedStore, setStore];
228
- }
229
-
230
- function proxyDescriptor(target, property) {
231
- const desc = Reflect.getOwnPropertyDescriptor(target, property);
232
- if (!desc || desc.get || desc.set || !desc.configurable || property === solidJs.$PROXY || property === $NODE) return desc;
233
- delete desc.value;
234
- delete desc.writable;
235
- desc.get = () => target[solidJs.$PROXY][property];
236
- desc.set = v => target[solidJs.$PROXY][property] = v;
237
- return desc;
238
- }
239
- const proxyTraps = {
240
- get(target, property, receiver) {
241
- if (property === $RAW) return target;
242
- if (property === solidJs.$PROXY) return receiver;
243
- if (property === solidJs.$TRACK) {
244
- trackSelf(target);
245
- return receiver;
246
- }
247
- const nodes = getNodes(target, $NODE);
248
- const tracked = nodes[property];
249
- let value = tracked ? tracked() : target[property];
250
- if (property === $NODE || property === $HAS || property === "__proto__") return value;
251
- if (!tracked) {
252
- const desc = Object.getOwnPropertyDescriptor(target, property);
253
- const isFunction = typeof value === "function";
254
- if (solidJs.getListener() && (!isFunction || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getNode(nodes, property, value)();else if (value != null && isFunction && value === Array.prototype[property]) {
255
- return (...args) => solidJs.batch(() => Array.prototype[property].apply(receiver, args));
256
- }
257
- }
258
- return isWrappable(value) ? wrap(value) : value;
259
- },
260
- has(target, property) {
261
- if (property === $RAW || property === solidJs.$PROXY || property === solidJs.$TRACK || property === $NODE || property === $HAS || property === "__proto__") return true;
262
- solidJs.getListener() && getNode(getNodes(target, $HAS), property)();
263
- return property in target;
264
- },
265
- set(target, property, value) {
266
- solidJs.batch(() => setProperty(target, property, unwrap(value)));
267
- return true;
268
- },
269
- deleteProperty(target, property) {
270
- solidJs.batch(() => setProperty(target, property, undefined, true));
271
- return true;
272
- },
273
- ownKeys: ownKeys,
274
- getOwnPropertyDescriptor: proxyDescriptor
275
- };
276
- function wrap(value) {
277
- let p = value[solidJs.$PROXY];
278
- if (!p) {
279
- Object.defineProperty(value, solidJs.$PROXY, {
280
- value: p = new Proxy(value, proxyTraps)
281
- });
282
- const keys = Object.keys(value),
283
- desc = Object.getOwnPropertyDescriptors(value);
284
- const proto = Object.getPrototypeOf(value);
285
- const isClass = proto !== null && value !== null && typeof value === "object" && !Array.isArray(value) && proto !== Object.prototype;
286
- if (isClass) {
287
- let curProto = proto;
288
- while (curProto != null) {
289
- const descriptors = Object.getOwnPropertyDescriptors(curProto);
290
- keys.push(...Object.keys(descriptors));
291
- Object.assign(desc, descriptors);
292
- curProto = Object.getPrototypeOf(curProto);
293
- }
294
- }
295
- for (let i = 0, l = keys.length; i < l; i++) {
296
- const prop = keys[i];
297
- if (isClass && prop === "constructor") continue;
298
- if (desc[prop].get) {
299
- const get = desc[prop].get.bind(p);
300
- Object.defineProperty(value, prop, {
301
- get,
302
- configurable: true
303
- });
304
- }
305
- if (desc[prop].set) {
306
- const og = desc[prop].set,
307
- set = v => solidJs.batch(() => og.call(p, v));
308
- Object.defineProperty(value, prop, {
309
- set,
310
- configurable: true
311
- });
312
- }
313
- }
314
- }
315
- return p;
316
- }
317
- function createMutable(state, options) {
318
- const unwrappedStore = unwrap(state || {});
319
- if (typeof unwrappedStore !== "object" && typeof unwrappedStore !== "function") throw new Error(`Unexpected type ${typeof unwrappedStore} received when initializing 'createMutable'. Expected an object.`);
320
- const wrappedStore = wrap(unwrappedStore);
321
- solidJs.DEV.registerGraph({
322
- value: unwrappedStore,
323
- name: options && options.name
324
- });
325
- return wrappedStore;
326
- }
327
- function modifyMutable(state, modifier) {
328
- solidJs.batch(() => modifier(unwrap(state)));
329
- }
330
-
331
- const $ROOT = Symbol("store-root");
332
- function applyState(target, parent, property, merge, key) {
333
- const previous = parent[property];
334
- if (target === previous) return;
335
- const isArray = Array.isArray(target);
336
- if (property !== $ROOT && (!isWrappable(target) || !isWrappable(previous) || isArray !== Array.isArray(previous) || key && target[key] !== previous[key])) {
337
- setProperty(parent, property, target);
338
- return;
339
- }
340
- if (isArray) {
341
- if (target.length && previous.length && (!merge || key && target[0] && target[0][key] != null)) {
342
- let i, j, start, end, newEnd, item, newIndicesNext, keyVal;
343
- for (start = 0, end = Math.min(previous.length, target.length); start < end && (previous[start] === target[start] || key && previous[start] && target[start] && previous[start][key] && previous[start][key] === target[start][key]); start++) {
344
- applyState(target[start], previous, start, merge, key);
345
- }
346
- const temp = new Array(target.length),
347
- newIndices = new Map();
348
- for (end = previous.length - 1, newEnd = target.length - 1; end >= start && newEnd >= start && (previous[end] === target[newEnd] || key && previous[end] && target[newEnd] && previous[end][key] && previous[end][key] === target[newEnd][key]); end--, newEnd--) {
349
- temp[newEnd] = previous[end];
350
- }
351
- if (start > newEnd || start > end) {
352
- for (j = start; j <= newEnd; j++) setProperty(previous, j, target[j]);
353
- for (; j < target.length; j++) {
354
- setProperty(previous, j, temp[j]);
355
- applyState(target[j], previous, j, merge, key);
356
- }
357
- if (previous.length > target.length) setProperty(previous, "length", target.length);
358
- return;
359
- }
360
- newIndicesNext = new Array(newEnd + 1);
361
- for (j = newEnd; j >= start; j--) {
362
- item = target[j];
363
- keyVal = key && item ? item[key] : item;
364
- i = newIndices.get(keyVal);
365
- newIndicesNext[j] = i === undefined ? -1 : i;
366
- newIndices.set(keyVal, j);
367
- }
368
- for (i = start; i <= end; i++) {
369
- item = previous[i];
370
- keyVal = key && item ? item[key] : item;
371
- j = newIndices.get(keyVal);
372
- if (j !== undefined && j !== -1) {
373
- temp[j] = previous[i];
374
- j = newIndicesNext[j];
375
- newIndices.set(keyVal, j);
376
- }
377
- }
378
- for (j = start; j < target.length; j++) {
379
- if (j in temp) {
380
- setProperty(previous, j, temp[j]);
381
- applyState(target[j], previous, j, merge, key);
382
- } else setProperty(previous, j, target[j]);
383
- }
384
- } else {
385
- for (let i = 0, len = target.length; i < len; i++) {
386
- applyState(target[i], previous, i, merge, key);
387
- }
388
- }
389
- if (previous.length > target.length) setProperty(previous, "length", target.length);
390
- return;
391
- }
392
- const targetKeys = Object.keys(target);
393
- for (let i = 0, len = targetKeys.length; i < len; i++) {
394
- applyState(target[targetKeys[i]], previous, targetKeys[i], merge, key);
395
- }
396
- const previousKeys = Object.keys(previous);
397
- for (let i = 0, len = previousKeys.length; i < len; i++) {
398
- if (target[previousKeys[i]] === undefined) setProperty(previous, previousKeys[i], undefined);
399
- }
400
- }
401
- function reconcile(value, options = {}) {
402
- const {
403
- merge,
404
- key = "id"
405
- } = options,
406
- v = unwrap(value);
407
- return state => {
408
- if (!isWrappable(state) || !isWrappable(v)) return v;
409
- const res = applyState(v, {
410
- [$ROOT]: state
411
- }, $ROOT, merge, key);
412
- return res === undefined ? state : res;
413
- };
414
- }
415
- const producers = new WeakMap();
416
- const setterTraps = {
417
- get(target, property) {
418
- if (property === $RAW) return target;
419
- const value = target[property];
420
- let proxy;
421
- return isWrappable(value) ? producers.get(value) || (producers.set(value, proxy = new Proxy(value, setterTraps)), proxy) : value;
422
- },
423
- set(target, property, value) {
424
- setProperty(target, property, unwrap(value));
425
- return true;
426
- },
427
- deleteProperty(target, property) {
428
- setProperty(target, property, undefined, true);
429
- return true;
430
- }
431
- };
432
- function produce(fn) {
433
- return state => {
434
- if (isWrappable(state)) {
435
- let proxy;
436
- if (!(proxy = producers.get(state))) {
437
- producers.set(state, proxy = new Proxy(state, setterTraps));
438
- }
439
- fn(proxy);
440
- }
441
- return state;
442
- };
443
- }
444
-
445
- const DEV = {
446
- $NODE,
447
- isWrappable,
448
- hooks: DevHooks
449
- } ;
450
-
451
- exports.$RAW = $RAW;
452
- exports.DEV = DEV;
453
- exports.createMutable = createMutable;
454
- exports.createStore = createStore;
455
- exports.modifyMutable = modifyMutable;
456
- exports.produce = produce;
457
- exports.reconcile = reconcile;
458
- exports.unwrap = unwrap;