solid-js 1.9.3 → 2.0.0-experimental.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 (76) hide show
  1. package/dist/dev.cjs +213 -1603
  2. package/dist/dev.js +159 -1749
  3. package/dist/server.cjs +88 -11
  4. package/dist/server.js +91 -11
  5. package/dist/solid.cjs +196 -1558
  6. package/dist/solid.js +139 -1682
  7. package/package.json +8 -154
  8. package/types/{render → client}/component.d.ts +0 -61
  9. package/types/client/core.d.ts +75 -0
  10. package/types/client/flow.d.ts +114 -0
  11. package/types/{render → client}/hydration.d.ts +0 -2
  12. package/types/{reactive → client}/observable.d.ts +1 -1
  13. package/types/index.d.ts +44 -55
  14. package/types/jsx.d.ts +1944 -174
  15. package/types/server/index.d.ts +1 -1
  16. package/types/server/reactive.d.ts +6 -1
  17. package/types/server/store.d.ts +6 -0
  18. package/h/dist/h.cjs +0 -115
  19. package/h/dist/h.js +0 -144
  20. package/h/jsx-dev-runtime/package.json +0 -8
  21. package/h/jsx-runtime/dist/jsx.cjs +0 -15
  22. package/h/jsx-runtime/dist/jsx.js +0 -10
  23. package/h/jsx-runtime/package.json +0 -8
  24. package/h/jsx-runtime/types/index.d.ts +0 -14
  25. package/h/jsx-runtime/types/jsx.d.ts +0 -2276
  26. package/h/package.json +0 -8
  27. package/h/types/hyperscript.d.ts +0 -20
  28. package/h/types/index.d.ts +0 -3
  29. package/html/dist/html.cjs +0 -583
  30. package/html/dist/html.js +0 -706
  31. package/html/package.json +0 -8
  32. package/html/types/index.d.ts +0 -3
  33. package/html/types/lit.d.ts +0 -60
  34. package/store/dist/dev.cjs +0 -454
  35. package/store/dist/dev.js +0 -525
  36. package/store/dist/server.cjs +0 -126
  37. package/store/dist/server.js +0 -126
  38. package/store/dist/store.cjs +0 -434
  39. package/store/dist/store.js +0 -499
  40. package/store/package.json +0 -46
  41. package/store/types/index.d.ts +0 -26
  42. package/store/types/modifiers.d.ts +0 -9
  43. package/store/types/mutable.d.ts +0 -8
  44. package/store/types/server.d.ts +0 -37
  45. package/store/types/store.d.ts +0 -263
  46. package/types/reactive/array.d.ts +0 -52
  47. package/types/reactive/scheduler.d.ts +0 -13
  48. package/types/reactive/signal.d.ts +0 -664
  49. package/types/render/Suspense.d.ts +0 -26
  50. package/types/render/flow.d.ts +0 -130
  51. package/types/render/index.d.ts +0 -4
  52. package/universal/dist/dev.cjs +0 -243
  53. package/universal/dist/dev.js +0 -257
  54. package/universal/dist/universal.cjs +0 -243
  55. package/universal/dist/universal.js +0 -257
  56. package/universal/package.json +0 -20
  57. package/universal/types/index.d.ts +0 -4
  58. package/universal/types/universal.d.ts +0 -29
  59. package/web/dist/dev.cjs +0 -804
  60. package/web/dist/dev.js +0 -1241
  61. package/web/dist/server.cjs +0 -793
  62. package/web/dist/server.js +0 -1214
  63. package/web/dist/web.cjs +0 -793
  64. package/web/dist/web.js +0 -1220
  65. package/web/package.json +0 -46
  66. package/web/storage/dist/storage.cjs +0 -12
  67. package/web/storage/dist/storage.js +0 -10
  68. package/web/storage/package.json +0 -15
  69. package/web/storage/types/index.d.ts +0 -2
  70. package/web/storage/types/index.js +0 -13
  71. package/web/types/client.d.ts +0 -79
  72. package/web/types/core.d.ts +0 -10
  73. package/web/types/index.d.ts +0 -54
  74. package/web/types/jsx.d.ts +0 -1
  75. package/web/types/server-mock.d.ts +0 -80
  76. package/web/types/server.d.ts +0 -177
@@ -1,3 +0,0 @@
1
- import type { HTMLTag } from "./lit.js";
2
- declare const html: HTMLTag;
3
- export default html;
@@ -1,60 +0,0 @@
1
- type MountableElement = Element | Document | ShadowRoot | DocumentFragment | Node;
2
- interface Runtime {
3
- effect<T>(fn: (prev?: T) => T, init?: T): any;
4
- untrack<T>(fn: () => T): T;
5
- insert(parent: MountableElement, accessor: any, marker?: Node | null, init?: any): any;
6
- spread<T>(node: Element, accessor: (() => T) | T, isSVG?: Boolean, skipChildren?: Boolean): void;
7
- createComponent(Comp: (props: any) => any, props: any): any;
8
- addEventListener(
9
- node: Element,
10
- name: string,
11
- handler: EventListener | EventListenerObject | (EventListenerObject & AddEventListenerOptions),
12
- delegate: boolean
13
- ): void;
14
- delegateEvents(eventNames: string[]): void;
15
- classList(
16
- node: Element,
17
- value: {
18
- [k: string]: boolean;
19
- },
20
- prev?: {
21
- [k: string]: boolean;
22
- }
23
- ): {
24
- [k: string]: boolean;
25
- };
26
- style(
27
- node: Element,
28
- value: {
29
- [k: string]: string;
30
- },
31
- prev?: {
32
- [k: string]: string;
33
- }
34
- ): void;
35
- mergeProps(...sources: unknown[]): unknown;
36
- dynamicProperty(props: any, key: string): any;
37
- setAttribute(node: Element, name: string, value: any): void;
38
- setAttributeNS(node: Element, namespace: string, name: string, value: any): void;
39
- Aliases: Record<string, string>;
40
- getPropAlias(prop: string, tagName: string): string | undefined;
41
- Properties: Set<string>;
42
- ChildProperties: Set<string>;
43
- DelegatedEvents: Set<string>;
44
- SVGElements: Set<string>;
45
- SVGNamespace: Record<string, string>;
46
- }
47
- export type HTMLTag = {
48
- (statics: TemplateStringsArray, ...args: unknown[]): Node | Node[];
49
- };
50
- export declare function createHTML(
51
- r: Runtime,
52
- {
53
- delegateEvents,
54
- functionBuilder
55
- }?: {
56
- delegateEvents?: boolean;
57
- functionBuilder?: (...args: string[]) => Function;
58
- }
59
- ): HTMLTag;
60
- export {};
@@ -1,454 +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
- const descriptors = Object.getOwnPropertyDescriptors(proto);
288
- keys.push(...Object.keys(descriptors));
289
- Object.assign(desc, descriptors);
290
- }
291
- for (let i = 0, l = keys.length; i < l; i++) {
292
- const prop = keys[i];
293
- if (isClass && prop === "constructor") continue;
294
- if (desc[prop].get) {
295
- const get = desc[prop].get.bind(p);
296
- Object.defineProperty(value, prop, {
297
- get,
298
- configurable: true
299
- });
300
- }
301
- if (desc[prop].set) {
302
- const og = desc[prop].set,
303
- set = v => solidJs.batch(() => og.call(p, v));
304
- Object.defineProperty(value, prop, {
305
- set,
306
- configurable: true
307
- });
308
- }
309
- }
310
- }
311
- return p;
312
- }
313
- function createMutable(state, options) {
314
- const unwrappedStore = unwrap(state || {});
315
- if (typeof unwrappedStore !== "object" && typeof unwrappedStore !== "function") throw new Error(`Unexpected type ${typeof unwrappedStore} received when initializing 'createMutable'. Expected an object.`);
316
- const wrappedStore = wrap(unwrappedStore);
317
- solidJs.DEV.registerGraph({
318
- value: unwrappedStore,
319
- name: options && options.name
320
- });
321
- return wrappedStore;
322
- }
323
- function modifyMutable(state, modifier) {
324
- solidJs.batch(() => modifier(unwrap(state)));
325
- }
326
-
327
- const $ROOT = Symbol("store-root");
328
- function applyState(target, parent, property, merge, key) {
329
- const previous = parent[property];
330
- if (target === previous) return;
331
- const isArray = Array.isArray(target);
332
- if (property !== $ROOT && (!isWrappable(target) || !isWrappable(previous) || isArray !== Array.isArray(previous) || key && target[key] !== previous[key])) {
333
- setProperty(parent, property, target);
334
- return;
335
- }
336
- if (isArray) {
337
- if (target.length && previous.length && (!merge || key && target[0] && target[0][key] != null)) {
338
- let i, j, start, end, newEnd, item, newIndicesNext, keyVal;
339
- for (start = 0, end = Math.min(previous.length, target.length); start < end && (previous[start] === target[start] || key && previous[start] && target[start] && previous[start][key] === target[start][key]); start++) {
340
- applyState(target[start], previous, start, merge, key);
341
- }
342
- const temp = new Array(target.length),
343
- newIndices = new Map();
344
- for (end = previous.length - 1, newEnd = target.length - 1; end >= start && newEnd >= start && (previous[end] === target[newEnd] || key && previous[start] && target[start] && previous[end][key] === target[newEnd][key]); end--, newEnd--) {
345
- temp[newEnd] = previous[end];
346
- }
347
- if (start > newEnd || start > end) {
348
- for (j = start; j <= newEnd; j++) setProperty(previous, j, target[j]);
349
- for (; j < target.length; j++) {
350
- setProperty(previous, j, temp[j]);
351
- applyState(target[j], previous, j, merge, key);
352
- }
353
- if (previous.length > target.length) setProperty(previous, "length", target.length);
354
- return;
355
- }
356
- newIndicesNext = new Array(newEnd + 1);
357
- for (j = newEnd; j >= start; j--) {
358
- item = target[j];
359
- keyVal = key && item ? item[key] : item;
360
- i = newIndices.get(keyVal);
361
- newIndicesNext[j] = i === undefined ? -1 : i;
362
- newIndices.set(keyVal, j);
363
- }
364
- for (i = start; i <= end; i++) {
365
- item = previous[i];
366
- keyVal = key && item ? item[key] : item;
367
- j = newIndices.get(keyVal);
368
- if (j !== undefined && j !== -1) {
369
- temp[j] = previous[i];
370
- j = newIndicesNext[j];
371
- newIndices.set(keyVal, j);
372
- }
373
- }
374
- for (j = start; j < target.length; j++) {
375
- if (j in temp) {
376
- setProperty(previous, j, temp[j]);
377
- applyState(target[j], previous, j, merge, key);
378
- } else setProperty(previous, j, target[j]);
379
- }
380
- } else {
381
- for (let i = 0, len = target.length; i < len; i++) {
382
- applyState(target[i], previous, i, merge, key);
383
- }
384
- }
385
- if (previous.length > target.length) setProperty(previous, "length", target.length);
386
- return;
387
- }
388
- const targetKeys = Object.keys(target);
389
- for (let i = 0, len = targetKeys.length; i < len; i++) {
390
- applyState(target[targetKeys[i]], previous, targetKeys[i], merge, key);
391
- }
392
- const previousKeys = Object.keys(previous);
393
- for (let i = 0, len = previousKeys.length; i < len; i++) {
394
- if (target[previousKeys[i]] === undefined) setProperty(previous, previousKeys[i], undefined);
395
- }
396
- }
397
- function reconcile(value, options = {}) {
398
- const {
399
- merge,
400
- key = "id"
401
- } = options,
402
- v = unwrap(value);
403
- return state => {
404
- if (!isWrappable(state) || !isWrappable(v)) return v;
405
- const res = applyState(v, {
406
- [$ROOT]: state
407
- }, $ROOT, merge, key);
408
- return res === undefined ? state : res;
409
- };
410
- }
411
- const producers = new WeakMap();
412
- const setterTraps = {
413
- get(target, property) {
414
- if (property === $RAW) return target;
415
- const value = target[property];
416
- let proxy;
417
- return isWrappable(value) ? producers.get(value) || (producers.set(value, proxy = new Proxy(value, setterTraps)), proxy) : value;
418
- },
419
- set(target, property, value) {
420
- setProperty(target, property, unwrap(value));
421
- return true;
422
- },
423
- deleteProperty(target, property) {
424
- setProperty(target, property, undefined, true);
425
- return true;
426
- }
427
- };
428
- function produce(fn) {
429
- return state => {
430
- if (isWrappable(state)) {
431
- let proxy;
432
- if (!(proxy = producers.get(state))) {
433
- producers.set(state, proxy = new Proxy(state, setterTraps));
434
- }
435
- fn(proxy);
436
- }
437
- return state;
438
- };
439
- }
440
-
441
- const DEV = {
442
- $NODE,
443
- isWrappable,
444
- hooks: DevHooks
445
- } ;
446
-
447
- exports.$RAW = $RAW;
448
- exports.DEV = DEV;
449
- exports.createMutable = createMutable;
450
- exports.createStore = createStore;
451
- exports.modifyMutable = modifyMutable;
452
- exports.produce = produce;
453
- exports.reconcile = reconcile;
454
- exports.unwrap = unwrap;