@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.
- package/dist-cjs/index.d.ts +1 -49
- package/dist-cjs/index.js +1 -3
- package/dist-cjs/index.js.map +2 -2
- package/dist-cjs/lib/ImmutableMap.js +23 -25
- package/dist-cjs/lib/ImmutableMap.js.map +2 -2
- package/dist-cjs/lib/StoreSchema.js +24 -80
- package/dist-cjs/lib/StoreSchema.js.map +2 -2
- package/dist-cjs/lib/StoreSideEffects.js +1 -1
- package/dist-cjs/lib/StoreSideEffects.js.map +1 -1
- package/dist-cjs/lib/devFreeze.js +3 -5
- package/dist-cjs/lib/devFreeze.js.map +2 -2
- package/dist-cjs/lib/migrate.js.map +2 -2
- package/dist-esm/index.d.mts +1 -49
- package/dist-esm/index.mjs +1 -3
- package/dist-esm/index.mjs.map +2 -2
- package/dist-esm/lib/ImmutableMap.mjs +23 -25
- package/dist-esm/lib/ImmutableMap.mjs.map +2 -2
- package/dist-esm/lib/StoreSchema.mjs +25 -83
- package/dist-esm/lib/StoreSchema.mjs.map +2 -2
- package/dist-esm/lib/StoreSideEffects.mjs +1 -1
- package/dist-esm/lib/StoreSideEffects.mjs.map +1 -1
- package/dist-esm/lib/devFreeze.mjs +3 -5
- package/dist-esm/lib/devFreeze.mjs.map +2 -2
- package/dist-esm/lib/migrate.mjs.map +2 -2
- package/package.json +4 -4
- package/src/index.ts +0 -3
- package/src/lib/ImmutableMap.ts +33 -25
- package/src/lib/StoreSchema.ts +30 -90
- package/src/lib/StoreSideEffects.ts +1 -1
- package/src/lib/devFreeze.test.ts +2 -6
- package/src/lib/devFreeze.ts +3 -7
- package/src/lib/migrate.ts +0 -29
- package/src/lib/test/recordStore.test.ts +0 -182
- package/dist-cjs/lib/AtomSet.js +0 -68
- package/dist-cjs/lib/AtomSet.js.map +0 -7
- package/dist-cjs/lib/isDev.js +0 -37
- package/dist-cjs/lib/isDev.js.map +0 -7
- package/dist-esm/lib/AtomSet.mjs +0 -48
- package/dist-esm/lib/AtomSet.mjs.map +0 -7
- package/dist-esm/lib/isDev.mjs +0 -16
- package/dist-esm/lib/isDev.mjs.map +0 -7
- package/src/lib/AtomSet.ts +0 -52
- 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
|
-
}
|
package/dist-cjs/lib/isDev.js
DELETED
|
@@ -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
|
-
}
|
package/dist-esm/lib/AtomSet.mjs
DELETED
|
@@ -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
|
-
}
|
package/dist-esm/lib/isDev.mjs
DELETED
|
@@ -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
|
-
}
|
package/src/lib/AtomSet.ts
DELETED
|
@@ -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
|
-
}
|