@tldraw/store 4.2.2 → 4.2.3

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 (43) hide show
  1. package/dist-cjs/index.d.ts +1 -49
  2. package/dist-cjs/index.js +1 -3
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/ImmutableMap.js +23 -25
  5. package/dist-cjs/lib/ImmutableMap.js.map +2 -2
  6. package/dist-cjs/lib/StoreSchema.js +24 -80
  7. package/dist-cjs/lib/StoreSchema.js.map +2 -2
  8. package/dist-cjs/lib/StoreSideEffects.js +1 -1
  9. package/dist-cjs/lib/StoreSideEffects.js.map +1 -1
  10. package/dist-cjs/lib/devFreeze.js +3 -5
  11. package/dist-cjs/lib/devFreeze.js.map +2 -2
  12. package/dist-cjs/lib/migrate.js.map +2 -2
  13. package/dist-esm/index.d.mts +1 -49
  14. package/dist-esm/index.mjs +1 -3
  15. package/dist-esm/index.mjs.map +2 -2
  16. package/dist-esm/lib/ImmutableMap.mjs +23 -25
  17. package/dist-esm/lib/ImmutableMap.mjs.map +2 -2
  18. package/dist-esm/lib/StoreSchema.mjs +25 -83
  19. package/dist-esm/lib/StoreSchema.mjs.map +2 -2
  20. package/dist-esm/lib/StoreSideEffects.mjs +1 -1
  21. package/dist-esm/lib/StoreSideEffects.mjs.map +1 -1
  22. package/dist-esm/lib/devFreeze.mjs +3 -5
  23. package/dist-esm/lib/devFreeze.mjs.map +2 -2
  24. package/dist-esm/lib/migrate.mjs.map +2 -2
  25. package/package.json +4 -4
  26. package/src/index.ts +0 -3
  27. package/src/lib/ImmutableMap.ts +33 -25
  28. package/src/lib/StoreSchema.ts +30 -90
  29. package/src/lib/StoreSideEffects.ts +1 -1
  30. package/src/lib/devFreeze.test.ts +2 -6
  31. package/src/lib/devFreeze.ts +3 -7
  32. package/src/lib/migrate.ts +0 -29
  33. package/src/lib/test/recordStore.test.ts +0 -182
  34. package/dist-cjs/lib/AtomSet.js +0 -68
  35. package/dist-cjs/lib/AtomSet.js.map +0 -7
  36. package/dist-cjs/lib/isDev.js +0 -37
  37. package/dist-cjs/lib/isDev.js.map +0 -7
  38. package/dist-esm/lib/AtomSet.mjs +0 -48
  39. package/dist-esm/lib/AtomSet.mjs.map +0 -7
  40. package/dist-esm/lib/isDev.mjs +0 -16
  41. package/dist-esm/lib/isDev.mjs.map +0 -7
  42. package/src/lib/AtomSet.ts +0 -52
  43. package/src/lib/isDev.ts +0 -20
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/lib/AtomSet.ts"],
4
- "sourcesContent": ["import { AtomMap } from './AtomMap'\n\n/**\n * A drop-in replacement for Set that stores values in atoms and can be used in reactive contexts.\n * @public\n */\nexport class AtomSet<T> {\n\tprivate readonly map: AtomMap<T, T>\n\tconstructor(\n\t\tprivate readonly name: string,\n\t\tkeys?: Iterable<T>\n\t) {\n\t\tconst entries = keys ? Array.from(keys, (k) => [k, k] as const) : undefined\n\t\tthis.map = new AtomMap(name, entries)\n\t}\n\n\tadd(value: T): this {\n\t\tthis.map.set(value, value)\n\t\treturn this\n\t}\n\tclear(): void {\n\t\tthis.map.clear()\n\t}\n\tdelete(value: T): boolean {\n\t\treturn this.map.delete(value)\n\t}\n\tforEach(callbackfn: (value: T, value2: T, set: AtomSet<T>) => void, thisArg?: any): void {\n\t\tfor (const value of this) {\n\t\t\tcallbackfn.call(thisArg, value, value, this)\n\t\t}\n\t}\n\thas(value: T): boolean {\n\t\treturn this.map.has(value)\n\t}\n\t// eslint-disable-next-line no-restricted-syntax\n\tget size(): number {\n\t\treturn this.map.size\n\t}\n\tentries(): Generator<[T, T], undefined, unknown> {\n\t\treturn this.map.entries()\n\t}\n\tkeys(): Generator<T, undefined, unknown> {\n\t\treturn this.map.keys()\n\t}\n\tvalues(): Generator<T, undefined, unknown> {\n\t\treturn this.map.keys()\n\t}\n\t[Symbol.iterator](): Generator<T, undefined, unknown> {\n\t\treturn this.map.keys()\n\t}\n\t[Symbol.toStringTag]: string = 'AtomSet'\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAwB;AAMjB,MAAM,QAAW;AAAA,EAEvB,YACkB,MACjB,MACC;AAFgB;AAGjB,UAAM,UAAU,OAAO,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAU,IAAI;AAClE,SAAK,MAAM,IAAI,uBAAQ,MAAM,OAAO;AAAA,EACrC;AAAA,EAPiB;AAAA,EASjB,IAAI,OAAgB;AACnB,SAAK,IAAI,IAAI,OAAO,KAAK;AACzB,WAAO;AAAA,EACR;AAAA,EACA,QAAc;AACb,SAAK,IAAI,MAAM;AAAA,EAChB;AAAA,EACA,OAAO,OAAmB;AACzB,WAAO,KAAK,IAAI,OAAO,KAAK;AAAA,EAC7B;AAAA,EACA,QAAQ,YAA4D,SAAqB;AACxF,eAAW,SAAS,MAAM;AACzB,iBAAW,KAAK,SAAS,OAAO,OAAO,IAAI;AAAA,IAC5C;AAAA,EACD;AAAA,EACA,IAAI,OAAmB;AACtB,WAAO,KAAK,IAAI,IAAI,KAAK;AAAA,EAC1B;AAAA;AAAA,EAEA,IAAI,OAAe;AAClB,WAAO,KAAK,IAAI;AAAA,EACjB;AAAA,EACA,UAAiD;AAChD,WAAO,KAAK,IAAI,QAAQ;AAAA,EACzB;AAAA,EACA,OAAyC;AACxC,WAAO,KAAK,IAAI,KAAK;AAAA,EACtB;AAAA,EACA,SAA2C;AAC1C,WAAO,KAAK,IAAI,KAAK;AAAA,EACtB;AAAA,EACA,CAAC,OAAO,QAAQ,IAAsC;AACrD,WAAO,KAAK,IAAI,KAAK;AAAA,EACtB;AAAA,EACA,CAAC,OAAO,WAAW,IAAY;AAChC;",
6
- "names": []
7
- }
@@ -1,37 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var isDev_exports = {};
20
- __export(isDev_exports, {
21
- isDev: () => isDev
22
- });
23
- module.exports = __toCommonJS(isDev_exports);
24
- const import_meta = {};
25
- let _isDev = false;
26
- try {
27
- _isDev = process.env.NODE_ENV === "development" || process.env.NODE_ENV === "test";
28
- } catch (_e) {
29
- }
30
- try {
31
- _isDev = _isDev || import_meta.env.DEV || import_meta.env.TEST || import_meta.env.MODE === "development" || import_meta.env.MODE === "test";
32
- } catch (_e) {
33
- }
34
- function isDev() {
35
- return _isDev;
36
- }
37
- //# sourceMappingURL=isDev.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/lib/isDev.ts"],
4
- "sourcesContent": ["let _isDev = false\ntry {\n\t_isDev = process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test'\n} catch (_e) {\n\t/* noop */\n}\ntry {\n\t_isDev =\n\t\t_isDev ||\n\t\t(import.meta as any).env.DEV ||\n\t\t(import.meta as any).env.TEST ||\n\t\t(import.meta as any).env.MODE === 'development' ||\n\t\t(import.meta as any).env.MODE === 'test'\n} catch (_e) {\n\t/* noop */\n}\n\nexport function isDev() {\n\treturn _isDev\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAI,SAAS;AACb,IAAI;AACH,WAAS,QAAQ,IAAI,aAAa,iBAAiB,QAAQ,IAAI,aAAa;AAC7E,SAAS,IAAI;AAEb;AACA,IAAI;AACH,WACC,UACC,YAAoB,IAAI,OACxB,YAAoB,IAAI,QACxB,YAAoB,IAAI,SAAS,iBACjC,YAAoB,IAAI,SAAS;AACpC,SAAS,IAAI;AAEb;AAEO,SAAS,QAAQ;AACvB,SAAO;AACR;",
6
- "names": []
7
- }
@@ -1,48 +0,0 @@
1
- import { AtomMap } from "./AtomMap.mjs";
2
- class AtomSet {
3
- constructor(name, keys) {
4
- this.name = name;
5
- const entries = keys ? Array.from(keys, (k) => [k, k]) : void 0;
6
- this.map = new AtomMap(name, entries);
7
- }
8
- map;
9
- add(value) {
10
- this.map.set(value, value);
11
- return this;
12
- }
13
- clear() {
14
- this.map.clear();
15
- }
16
- delete(value) {
17
- return this.map.delete(value);
18
- }
19
- forEach(callbackfn, thisArg) {
20
- for (const value of this) {
21
- callbackfn.call(thisArg, value, value, this);
22
- }
23
- }
24
- has(value) {
25
- return this.map.has(value);
26
- }
27
- // eslint-disable-next-line no-restricted-syntax
28
- get size() {
29
- return this.map.size;
30
- }
31
- entries() {
32
- return this.map.entries();
33
- }
34
- keys() {
35
- return this.map.keys();
36
- }
37
- values() {
38
- return this.map.keys();
39
- }
40
- [Symbol.iterator]() {
41
- return this.map.keys();
42
- }
43
- [Symbol.toStringTag] = "AtomSet";
44
- }
45
- export {
46
- AtomSet
47
- };
48
- //# sourceMappingURL=AtomSet.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/lib/AtomSet.ts"],
4
- "sourcesContent": ["import { AtomMap } from './AtomMap'\n\n/**\n * A drop-in replacement for Set that stores values in atoms and can be used in reactive contexts.\n * @public\n */\nexport class AtomSet<T> {\n\tprivate readonly map: AtomMap<T, T>\n\tconstructor(\n\t\tprivate readonly name: string,\n\t\tkeys?: Iterable<T>\n\t) {\n\t\tconst entries = keys ? Array.from(keys, (k) => [k, k] as const) : undefined\n\t\tthis.map = new AtomMap(name, entries)\n\t}\n\n\tadd(value: T): this {\n\t\tthis.map.set(value, value)\n\t\treturn this\n\t}\n\tclear(): void {\n\t\tthis.map.clear()\n\t}\n\tdelete(value: T): boolean {\n\t\treturn this.map.delete(value)\n\t}\n\tforEach(callbackfn: (value: T, value2: T, set: AtomSet<T>) => void, thisArg?: any): void {\n\t\tfor (const value of this) {\n\t\t\tcallbackfn.call(thisArg, value, value, this)\n\t\t}\n\t}\n\thas(value: T): boolean {\n\t\treturn this.map.has(value)\n\t}\n\t// eslint-disable-next-line no-restricted-syntax\n\tget size(): number {\n\t\treturn this.map.size\n\t}\n\tentries(): Generator<[T, T], undefined, unknown> {\n\t\treturn this.map.entries()\n\t}\n\tkeys(): Generator<T, undefined, unknown> {\n\t\treturn this.map.keys()\n\t}\n\tvalues(): Generator<T, undefined, unknown> {\n\t\treturn this.map.keys()\n\t}\n\t[Symbol.iterator](): Generator<T, undefined, unknown> {\n\t\treturn this.map.keys()\n\t}\n\t[Symbol.toStringTag]: string = 'AtomSet'\n}\n"],
5
- "mappings": "AAAA,SAAS,eAAe;AAMjB,MAAM,QAAW;AAAA,EAEvB,YACkB,MACjB,MACC;AAFgB;AAGjB,UAAM,UAAU,OAAO,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAU,IAAI;AAClE,SAAK,MAAM,IAAI,QAAQ,MAAM,OAAO;AAAA,EACrC;AAAA,EAPiB;AAAA,EASjB,IAAI,OAAgB;AACnB,SAAK,IAAI,IAAI,OAAO,KAAK;AACzB,WAAO;AAAA,EACR;AAAA,EACA,QAAc;AACb,SAAK,IAAI,MAAM;AAAA,EAChB;AAAA,EACA,OAAO,OAAmB;AACzB,WAAO,KAAK,IAAI,OAAO,KAAK;AAAA,EAC7B;AAAA,EACA,QAAQ,YAA4D,SAAqB;AACxF,eAAW,SAAS,MAAM;AACzB,iBAAW,KAAK,SAAS,OAAO,OAAO,IAAI;AAAA,IAC5C;AAAA,EACD;AAAA,EACA,IAAI,OAAmB;AACtB,WAAO,KAAK,IAAI,IAAI,KAAK;AAAA,EAC1B;AAAA;AAAA,EAEA,IAAI,OAAe;AAClB,WAAO,KAAK,IAAI;AAAA,EACjB;AAAA,EACA,UAAiD;AAChD,WAAO,KAAK,IAAI,QAAQ;AAAA,EACzB;AAAA,EACA,OAAyC;AACxC,WAAO,KAAK,IAAI,KAAK;AAAA,EACtB;AAAA,EACA,SAA2C;AAC1C,WAAO,KAAK,IAAI,KAAK;AAAA,EACtB;AAAA,EACA,CAAC,OAAO,QAAQ,IAAsC;AACrD,WAAO,KAAK,IAAI,KAAK;AAAA,EACtB;AAAA,EACA,CAAC,OAAO,WAAW,IAAY;AAChC;",
6
- "names": []
7
- }
@@ -1,16 +0,0 @@
1
- let _isDev = false;
2
- try {
3
- _isDev = process.env.NODE_ENV === "development" || process.env.NODE_ENV === "test";
4
- } catch (_e) {
5
- }
6
- try {
7
- _isDev = _isDev || import.meta.env.DEV || import.meta.env.TEST || import.meta.env.MODE === "development" || import.meta.env.MODE === "test";
8
- } catch (_e) {
9
- }
10
- function isDev() {
11
- return _isDev;
12
- }
13
- export {
14
- isDev
15
- };
16
- //# sourceMappingURL=isDev.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/lib/isDev.ts"],
4
- "sourcesContent": ["let _isDev = false\ntry {\n\t_isDev = process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test'\n} catch (_e) {\n\t/* noop */\n}\ntry {\n\t_isDev =\n\t\t_isDev ||\n\t\t(import.meta as any).env.DEV ||\n\t\t(import.meta as any).env.TEST ||\n\t\t(import.meta as any).env.MODE === 'development' ||\n\t\t(import.meta as any).env.MODE === 'test'\n} catch (_e) {\n\t/* noop */\n}\n\nexport function isDev() {\n\treturn _isDev\n}\n"],
5
- "mappings": "AAAA,IAAI,SAAS;AACb,IAAI;AACH,WAAS,QAAQ,IAAI,aAAa,iBAAiB,QAAQ,IAAI,aAAa;AAC7E,SAAS,IAAI;AAEb;AACA,IAAI;AACH,WACC,UACC,YAAoB,IAAI,OACxB,YAAoB,IAAI,QACxB,YAAoB,IAAI,SAAS,iBACjC,YAAoB,IAAI,SAAS;AACpC,SAAS,IAAI;AAEb;AAEO,SAAS,QAAQ;AACvB,SAAO;AACR;",
6
- "names": []
7
- }
@@ -1,52 +0,0 @@
1
- import { AtomMap } from './AtomMap'
2
-
3
- /**
4
- * A drop-in replacement for Set that stores values in atoms and can be used in reactive contexts.
5
- * @public
6
- */
7
- export class AtomSet<T> {
8
- private readonly map: AtomMap<T, T>
9
- constructor(
10
- private readonly name: string,
11
- keys?: Iterable<T>
12
- ) {
13
- const entries = keys ? Array.from(keys, (k) => [k, k] as const) : undefined
14
- this.map = new AtomMap(name, entries)
15
- }
16
-
17
- add(value: T): this {
18
- this.map.set(value, value)
19
- return this
20
- }
21
- clear(): void {
22
- this.map.clear()
23
- }
24
- delete(value: T): boolean {
25
- return this.map.delete(value)
26
- }
27
- forEach(callbackfn: (value: T, value2: T, set: AtomSet<T>) => void, thisArg?: any): void {
28
- for (const value of this) {
29
- callbackfn.call(thisArg, value, value, this)
30
- }
31
- }
32
- has(value: T): boolean {
33
- return this.map.has(value)
34
- }
35
- // eslint-disable-next-line no-restricted-syntax
36
- get size(): number {
37
- return this.map.size
38
- }
39
- entries(): Generator<[T, T], undefined, unknown> {
40
- return this.map.entries()
41
- }
42
- keys(): Generator<T, undefined, unknown> {
43
- return this.map.keys()
44
- }
45
- values(): Generator<T, undefined, unknown> {
46
- return this.map.keys()
47
- }
48
- [Symbol.iterator](): Generator<T, undefined, unknown> {
49
- return this.map.keys()
50
- }
51
- [Symbol.toStringTag]: string = 'AtomSet'
52
- }
package/src/lib/isDev.ts DELETED
@@ -1,20 +0,0 @@
1
- let _isDev = false
2
- try {
3
- _isDev = process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test'
4
- } catch (_e) {
5
- /* noop */
6
- }
7
- try {
8
- _isDev =
9
- _isDev ||
10
- (import.meta as any).env.DEV ||
11
- (import.meta as any).env.TEST ||
12
- (import.meta as any).env.MODE === 'development' ||
13
- (import.meta as any).env.MODE === 'test'
14
- } catch (_e) {
15
- /* noop */
16
- }
17
-
18
- export function isDev() {
19
- return _isDev
20
- }