@the_library/public 1.0.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.
- package/README.md +2298 -0
- package/assets/branding/data-pond.png +0 -0
- package/assets/branding/dsafe-logo.png +0 -0
- package/assets/branding/founder-photo.jpg +0 -0
- package/assets/branding/icon_transparent.png +0 -0
- package/assets/branding/library-favicon.png +0 -0
- package/assets/branding/pond-enterprise-logo.jpg +0 -0
- package/assets/branding/pond-enterprise-logo.svg +27 -0
- package/dist/branding/index.d.ts +48 -0
- package/dist/branding/index.js +67 -0
- package/dist/branding/index.js.map +1 -0
- package/dist/chunk-2HFOWE5R.js +296 -0
- package/dist/chunk-2HFOWE5R.js.map +1 -0
- package/dist/chunk-3L6LH2XK.js +465 -0
- package/dist/chunk-3L6LH2XK.js.map +1 -0
- package/dist/chunk-4CWVFPBN.js +28 -0
- package/dist/chunk-4CWVFPBN.js.map +1 -0
- package/dist/chunk-AGHPATVL.js +65 -0
- package/dist/chunk-AGHPATVL.js.map +1 -0
- package/dist/chunk-JDUYLUDJ.js +4835 -0
- package/dist/chunk-JDUYLUDJ.js.map +1 -0
- package/dist/chunk-OEZK7IX7.js +77 -0
- package/dist/chunk-OEZK7IX7.js.map +1 -0
- package/dist/chunk-PUYDAUCI.js +2873 -0
- package/dist/chunk-PUYDAUCI.js.map +1 -0
- package/dist/chunk-WHWMTS7D.js +99 -0
- package/dist/chunk-WHWMTS7D.js.map +1 -0
- package/dist/chunk-Y7RS6RTM.js +342 -0
- package/dist/chunk-Y7RS6RTM.js.map +1 -0
- package/dist/chunk-ZEZGI2TP.js +197 -0
- package/dist/chunk-ZEZGI2TP.js.map +1 -0
- package/dist/core-dao-core-logo-VDT2I5IW.svg +33 -0
- package/dist/downloader/dl2-sw.js +199 -0
- package/dist/downloader/dl2-sw.js.map +1 -0
- package/dist/downloader/file-worker-v2.js +258 -0
- package/dist/downloader/file-worker-v2.js.map +1 -0
- package/dist/downloader/index.d.ts +45 -0
- package/dist/downloader/index.js +538 -0
- package/dist/downloader/index.js.map +1 -0
- package/dist/downloader/mu-worker-v2.js +197 -0
- package/dist/downloader/mu-worker-v2.js.map +1 -0
- package/dist/downloader/react.d.ts +19 -0
- package/dist/downloader/react.js +32 -0
- package/dist/downloader/react.js.map +1 -0
- package/dist/downloader/solid.d.ts +21 -0
- package/dist/downloader/solid.js +19 -0
- package/dist/downloader/solid.js.map +1 -0
- package/dist/downloader/sw.d.ts +22 -0
- package/dist/downloader/sw.js +119 -0
- package/dist/downloader/sw.js.map +1 -0
- package/dist/downloader/vue.d.ts +23 -0
- package/dist/downloader/vue.js +19 -0
- package/dist/downloader/vue.js.map +1 -0
- package/dist/level-state-J3pj64Tr.d.ts +15 -0
- package/dist/models/astro.d.ts +47 -0
- package/dist/models/astro.js +44 -0
- package/dist/models/astro.js.map +1 -0
- package/dist/models/index.d.ts +244 -0
- package/dist/models/index.js +340 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/models.d.ts +524 -0
- package/dist/models/models.js +46 -0
- package/dist/models/models.js.map +1 -0
- package/dist/models/models_v2.global.js +1 -0
- package/dist/models/patch-worker.js +543 -0
- package/dist/models/patch-worker.js.map +1 -0
- package/dist/models/react.d.ts +43 -0
- package/dist/models/react.js +73 -0
- package/dist/models/react.js.map +1 -0
- package/dist/models/solid.d.ts +73 -0
- package/dist/models/solid.js +95 -0
- package/dist/models/solid.js.map +1 -0
- package/dist/models/vue.d.ts +51 -0
- package/dist/models/vue.js +98 -0
- package/dist/models/vue.js.map +1 -0
- package/dist/orm-BvkX0aBT.d.ts +507 -0
- package/dist/session-vqOnyxga.d.ts +184 -0
- package/dist/state-BTsp-E4v.d.ts +111 -0
- package/dist/types-Dn0EFMO_.d.ts +293 -0
- package/dist/types-Xb8Ta9tZ.d.ts +155 -0
- package/dist/web3/index.d.ts +820 -0
- package/dist/web3/index.js +1020 -0
- package/dist/web3/index.js.map +1 -0
- package/dist/web3/registry.d.ts +145 -0
- package/dist/web3/registry.js +23 -0
- package/dist/web3/registry.js.map +1 -0
- package/dist/web3/vue.d.ts +174 -0
- package/dist/web3/vue.js +391 -0
- package/dist/web3/vue.js.map +1 -0
- package/package.json +124 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import * as solid_js from 'solid-js';
|
|
2
|
+
import { L as LevelState } from '../level-state-J3pj64Tr.js';
|
|
3
|
+
import { S as SessionBootstrapOptions } from '../session-vqOnyxga.js';
|
|
4
|
+
export { r as resetModelsV2Session } from '../session-vqOnyxga.js';
|
|
5
|
+
import { O as Orm } from '../orm-BvkX0aBT.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* **Composes** the Solid.js reactivity system into the models_v2 record tracker
|
|
9
|
+
* (does not replace other frameworks' systems — see `addReactivitySystem`).
|
|
10
|
+
* Each tracked ORM record maps to a Solid signal in a `WeakMap`, so a read
|
|
11
|
+
* inside a reactive scope subscribes and a mutation (`record.patch()` /
|
|
12
|
+
* generated setters) triggers a fine-grained update. Signals are created in a
|
|
13
|
+
* detached `createRoot` so they survive component unmount / navigation.
|
|
14
|
+
*
|
|
15
|
+
* Idempotent — repeated calls (e.g. per `astro:after-swap`) keep the single
|
|
16
|
+
* registration. Returns an unregister function.
|
|
17
|
+
*/
|
|
18
|
+
declare const installSolidReactivity: () => (() => void);
|
|
19
|
+
/**
|
|
20
|
+
* Establishes a **persistent models_v2 session** for Solid — the full front-end
|
|
21
|
+
* data load (resolve sidecars → worker → `hydrateAll` → replay) plus Solid
|
|
22
|
+
* reactivity, retained across every live URL navigation.
|
|
23
|
+
*
|
|
24
|
+
* Thin wrapper over the shared `bootstrapSession()` glue (worker boot, once-only
|
|
25
|
+
* promise, Astro `<ClientRouter />` persistence) with Solid's reactivity
|
|
26
|
+
* installer injected — the same one-call entry exists in the vue/react adapters.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* import { Book, Tag, Person, NewBookWithId, NewTagWithId, NewPersonWithId } from '@the_library/public/models/models';
|
|
30
|
+
* await bootstrapModelsV2({
|
|
31
|
+
* models: [
|
|
32
|
+
* { type: Book.type, create: NewBookWithId },
|
|
33
|
+
* { type: Tag.type, create: NewTagWithId },
|
|
34
|
+
* { type: Person.type, create: NewPersonWithId },
|
|
35
|
+
* ],
|
|
36
|
+
* localMode: '/corpus_v2', // dev: serve bin/ + corpus-index.json locally
|
|
37
|
+
* // registry: { dataBlock }, // prod: resolve Arweave TX-ids from registry_v2
|
|
38
|
+
* selectedLangs: ['eng'],
|
|
39
|
+
* });
|
|
40
|
+
*/
|
|
41
|
+
declare const bootstrapModelsV2: (opts: SessionBootstrapOptions) => Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Returns a Solid signal accessor for the given username's LevelState.
|
|
44
|
+
* The signal updates whenever that user's level changes.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* const level = useLevel('mine');
|
|
48
|
+
* return <div>{level().level}</div>;
|
|
49
|
+
*/
|
|
50
|
+
declare const useLevel: (username: string) => solid_js.Accessor<LevelState>;
|
|
51
|
+
/**
|
|
52
|
+
* Solid signal accessor over the global trash store (models/trash.ts) for one
|
|
53
|
+
* object type, merged across `usernames` (empty = every known username).
|
|
54
|
+
* Population and live updates are entirely automatic — nothing to register,
|
|
55
|
+
* nothing to feed it.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* const { count, getIds } = useTrash(Tag.type, ['mine']);
|
|
59
|
+
* return <span>{count()}</span>;
|
|
60
|
+
*/
|
|
61
|
+
declare const useTrash: (objectType: number, usernames?: string[]) => {
|
|
62
|
+
count: solid_js.Accessor<number>;
|
|
63
|
+
getIds: () => number[];
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
declare const useDraft: <T extends Orm>(model: () => T) => {
|
|
67
|
+
draft: solid_js.Accessor<T>;
|
|
68
|
+
isDirty: () => boolean;
|
|
69
|
+
commit: () => void;
|
|
70
|
+
rollback: () => void;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export { bootstrapModelsV2, installSolidReactivity, useDraft, useLevel, useTrash };
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import {
|
|
2
|
+
commitDraft,
|
|
3
|
+
createDraft,
|
|
4
|
+
isDraftDirty,
|
|
5
|
+
rollbackDraft
|
|
6
|
+
} from "../chunk-OEZK7IX7.js";
|
|
7
|
+
import {
|
|
8
|
+
bootstrapSession,
|
|
9
|
+
resetModelsV2Session
|
|
10
|
+
} from "../chunk-2HFOWE5R.js";
|
|
11
|
+
import {
|
|
12
|
+
getLevel,
|
|
13
|
+
subscribeLevel
|
|
14
|
+
} from "../chunk-4CWVFPBN.js";
|
|
15
|
+
import {
|
|
16
|
+
trashStore
|
|
17
|
+
} from "../chunk-Y7RS6RTM.js";
|
|
18
|
+
import {
|
|
19
|
+
addReactivitySystem
|
|
20
|
+
} from "../chunk-JDUYLUDJ.js";
|
|
21
|
+
import "../chunk-ZEZGI2TP.js";
|
|
22
|
+
|
|
23
|
+
// src/models/adapters/solid.ts
|
|
24
|
+
import { createSignal, onCleanup, createRoot } from "solid-js";
|
|
25
|
+
import { createMemo } from "solid-js";
|
|
26
|
+
var _solidUnregister = null;
|
|
27
|
+
var installSolidReactivity = () => {
|
|
28
|
+
if (_solidUnregister) return _solidUnregister;
|
|
29
|
+
const signals = /* @__PURE__ */ new WeakMap();
|
|
30
|
+
const system = {
|
|
31
|
+
track(o) {
|
|
32
|
+
let s = signals.get(o);
|
|
33
|
+
if (!s) {
|
|
34
|
+
s = createRoot(() => {
|
|
35
|
+
const [get, set] = createSignal(0);
|
|
36
|
+
return { get, set };
|
|
37
|
+
});
|
|
38
|
+
signals.set(o, s);
|
|
39
|
+
}
|
|
40
|
+
s.get();
|
|
41
|
+
},
|
|
42
|
+
trigger(o) {
|
|
43
|
+
const s = signals.get(o);
|
|
44
|
+
if (s) s.set(s.get() + 1);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
_solidUnregister = addReactivitySystem(system);
|
|
48
|
+
return _solidUnregister;
|
|
49
|
+
};
|
|
50
|
+
var bootstrapModelsV2 = (opts) => bootstrapSession(opts, installSolidReactivity);
|
|
51
|
+
var useLevel = (username) => {
|
|
52
|
+
const [state, setState] = createSignal(getLevel(username));
|
|
53
|
+
const unsub = subscribeLevel((u) => {
|
|
54
|
+
if (u === username) setState(getLevel(username));
|
|
55
|
+
});
|
|
56
|
+
onCleanup(unsub);
|
|
57
|
+
return state;
|
|
58
|
+
};
|
|
59
|
+
var useTrash = (objectType, usernames = []) => {
|
|
60
|
+
const [count, setCount] = createSignal(trashStore.count(objectType, usernames));
|
|
61
|
+
const unsub = trashStore.subscribe(objectType, () => setCount(trashStore.count(objectType, usernames)));
|
|
62
|
+
onCleanup(unsub);
|
|
63
|
+
return {
|
|
64
|
+
count,
|
|
65
|
+
getIds: () => trashStore.list(objectType, usernames)
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
var useDraft = (model) => {
|
|
69
|
+
const [tick, setTick] = createSignal(0);
|
|
70
|
+
const draft = createMemo(() => createDraft(model(), () => setTick((t) => t + 1)));
|
|
71
|
+
return {
|
|
72
|
+
draft,
|
|
73
|
+
isDirty: () => {
|
|
74
|
+
tick();
|
|
75
|
+
return isDraftDirty(draft());
|
|
76
|
+
},
|
|
77
|
+
commit: () => {
|
|
78
|
+
commitDraft(draft());
|
|
79
|
+
setTick((t) => t + 1);
|
|
80
|
+
},
|
|
81
|
+
rollback: () => {
|
|
82
|
+
rollbackDraft(draft());
|
|
83
|
+
setTick((t) => t + 1);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
export {
|
|
88
|
+
bootstrapModelsV2,
|
|
89
|
+
installSolidReactivity,
|
|
90
|
+
resetModelsV2Session,
|
|
91
|
+
useDraft,
|
|
92
|
+
useLevel,
|
|
93
|
+
useTrash
|
|
94
|
+
};
|
|
95
|
+
//# sourceMappingURL=solid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/models/adapters/solid.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAcA,SAAS,cAAc,WAAW,kBAAkB;AA2GpD,SAAS,kBAAkB;AAnG3B,IAAI,mBAAwC;AAarC,IAAM,yBAAyB,MAAoB;AACtD,MAAI,iBAAkB,QAAO;AAC7B,QAAM,UAAU,oBAAI,QAAiE;AACrF,QAAM,SAA2B;AAAA,IAC7B,MAAM,GAAW;AACb,UAAI,IAAI,QAAQ,IAAI,CAAC;AACrB,UAAI,CAAC,GAAG;AAEJ,YAAI,WAAW,MAAM;AAAE,gBAAM,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC;AAAG,iBAAO,EAAE,KAAK,IAAI;AAAA,QAAG,CAAC;AACjF,gBAAQ,IAAI,GAAG,CAAC;AAAA,MACpB;AACA,QAAE,IAAI;AAAA,IACV;AAAA,IACA,QAAQ,GAAW;AACf,YAAM,IAAI,QAAQ,IAAI,CAAC;AACvB,UAAI,EAAG,GAAE,IAAI,EAAE,IAAI,IAAI,CAAC;AAAA,IAC5B;AAAA,EACJ;AACA,qBAAmB,oBAAoB,MAAM;AAC7C,SAAO;AACX;AAwBO,IAAM,oBAAoB,CAAC,SAC9B,iBAAiB,MAAM,sBAAsB;AAU1C,IAAM,WAAW,CAAC,aAAqB;AAC1C,QAAM,CAAC,OAAO,QAAQ,IAAI,aAAa,SAAS,QAAQ,CAAC;AACzD,QAAM,QAAQ,eAAe,OAAK;AAAE,QAAI,MAAM,SAAU,UAAS,SAAS,QAAQ,CAAC;AAAA,EAAG,CAAC;AACvF,YAAU,KAAK;AACf,SAAO;AACX;AAYO,IAAM,WAAW,CAAC,YAAoB,YAAsB,CAAC,MAAM;AACtE,QAAM,CAAC,OAAO,QAAQ,IAAI,aAAa,WAAW,MAAM,YAAY,SAAS,CAAC;AAC9E,QAAM,QAAQ,WAAW,UAAU,YAAY,MAAM,SAAS,WAAW,MAAM,YAAY,SAAS,CAAC,CAAC;AACtG,YAAU,KAAK;AACf,SAAO;AAAA,IACH;AAAA,IACA,QAAQ,MAAM,WAAW,KAAK,YAAY,SAAS;AAAA,EACvD;AACJ;AAUO,IAAM,WAAW,CAAgB,UAAmB;AACvD,QAAM,CAAC,MAAM,OAAO,IAAI,aAAa,CAAC;AAEtC,QAAM,QAAQ,WAAW,MAAM,YAAY,MAAM,GAAG,MAAM,QAAQ,OAAK,IAAI,CAAC,CAAC,CAAC;AAE9E,SAAO;AAAA,IACH;AAAA,IACA,SAAS,MAAM;AACX,WAAK;AACL,aAAO,aAAa,MAAM,CAAC;AAAA,IAC/B;AAAA,IACA,QAAQ,MAAM;AACV,kBAAY,MAAM,CAAC;AACnB,cAAQ,OAAK,IAAI,CAAC;AAAA,IACtB;AAAA,IACA,UAAU,MAAM;AACZ,oBAAc,MAAM,CAAC;AACrB,cAAQ,OAAK,IAAI,CAAC;AAAA,IACtB;AAAA,EACJ;AACJ;","names":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as vue from 'vue';
|
|
2
|
+
import { Ref } from 'vue';
|
|
3
|
+
import { L as LevelState } from '../level-state-J3pj64Tr.js';
|
|
4
|
+
import { S as SessionBootstrapOptions } from '../session-vqOnyxga.js';
|
|
5
|
+
export { r as resetModelsV2Session } from '../session-vqOnyxga.js';
|
|
6
|
+
import { O as Orm } from '../orm-BvkX0aBT.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* **Composes** the Vue 3 reactivity system into the models_v2 record tracker
|
|
10
|
+
* (coexists with other frameworks — see `addReactivitySystem`). Each tracked
|
|
11
|
+
* ORM record maps to a `shallowRef` in a `WeakMap`; a read inside a reactive
|
|
12
|
+
* effect subscribes and a mutation bumps the ref. Idempotent; returns an
|
|
13
|
+
* unregister function.
|
|
14
|
+
*/
|
|
15
|
+
declare const installVueReactivity: () => (() => void);
|
|
16
|
+
/**
|
|
17
|
+
* Persistent models_v2 session for Vue — full front-end boot + Vue reactivity,
|
|
18
|
+
* retained across URL navigation (SPA / Astro `<ClientRouter />`). Thin wrapper
|
|
19
|
+
* over the shared `bootstrapSession()` glue with Vue's reactivity installer.
|
|
20
|
+
*/
|
|
21
|
+
declare const bootstrapModelsV2: (opts: SessionBootstrapOptions) => Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Returns a Vue computed ref that updates whenever the given user's level changes.
|
|
24
|
+
* Automatically unsubscribes when the calling component is unmounted.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* const { level, progress } = useLevel('mine').value;
|
|
28
|
+
*/
|
|
29
|
+
declare const useLevel: (username: string) => vue.ComputedRef<LevelState>;
|
|
30
|
+
/**
|
|
31
|
+
* Reactive view over the global trash store (models/trash.ts) for one object
|
|
32
|
+
* type, merged across `usernames` (empty = every known username). Population
|
|
33
|
+
* and live updates are entirely automatic (boot scan + reactivity-system hook
|
|
34
|
+
* inside trash.ts) — nothing to register, nothing to feed it.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* const { count, getIds } = useTrash(Tag.type, ['mine']);
|
|
38
|
+
*/
|
|
39
|
+
declare const useTrash: (objectType: number, usernames?: string[]) => {
|
|
40
|
+
count: vue.ComputedRef<number>;
|
|
41
|
+
getIds: () => number[];
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
declare const useDraft: <T extends Orm>(model: Ref<T> | (() => T)) => {
|
|
45
|
+
draft: vue.ComputedRef<T>;
|
|
46
|
+
isDirty: vue.ComputedRef<boolean>;
|
|
47
|
+
commit: () => void;
|
|
48
|
+
rollback: () => void;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export { bootstrapModelsV2, installVueReactivity, useDraft, useLevel, useTrash };
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import {
|
|
2
|
+
commitDraft,
|
|
3
|
+
createDraft,
|
|
4
|
+
isDraftDirty,
|
|
5
|
+
rollbackDraft
|
|
6
|
+
} from "../chunk-OEZK7IX7.js";
|
|
7
|
+
import {
|
|
8
|
+
bootstrapSession,
|
|
9
|
+
resetModelsV2Session
|
|
10
|
+
} from "../chunk-2HFOWE5R.js";
|
|
11
|
+
import {
|
|
12
|
+
getLevel,
|
|
13
|
+
subscribeLevel
|
|
14
|
+
} from "../chunk-4CWVFPBN.js";
|
|
15
|
+
import {
|
|
16
|
+
trashStore
|
|
17
|
+
} from "../chunk-Y7RS6RTM.js";
|
|
18
|
+
import {
|
|
19
|
+
addReactivitySystem
|
|
20
|
+
} from "../chunk-JDUYLUDJ.js";
|
|
21
|
+
import "../chunk-ZEZGI2TP.js";
|
|
22
|
+
|
|
23
|
+
// src/models/adapters/vue.ts
|
|
24
|
+
import { computed, onUnmounted, shallowRef } from "vue";
|
|
25
|
+
var _vueUnregister = null;
|
|
26
|
+
var installVueReactivity = () => {
|
|
27
|
+
if (_vueUnregister) return _vueUnregister;
|
|
28
|
+
const refs = /* @__PURE__ */ new WeakMap();
|
|
29
|
+
const system = {
|
|
30
|
+
track(o) {
|
|
31
|
+
let r = refs.get(o);
|
|
32
|
+
if (!r) {
|
|
33
|
+
r = shallowRef(0);
|
|
34
|
+
refs.set(o, r);
|
|
35
|
+
}
|
|
36
|
+
void r.value;
|
|
37
|
+
},
|
|
38
|
+
trigger(o) {
|
|
39
|
+
const r = refs.get(o);
|
|
40
|
+
if (r) r.value++;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
_vueUnregister = addReactivitySystem(system);
|
|
44
|
+
return _vueUnregister;
|
|
45
|
+
};
|
|
46
|
+
var bootstrapModelsV2 = (opts) => bootstrapSession(opts, installVueReactivity);
|
|
47
|
+
var useLevel = (username) => {
|
|
48
|
+
const tick = shallowRef(0);
|
|
49
|
+
const unsub = subscribeLevel((u) => {
|
|
50
|
+
if (u === username) tick.value++;
|
|
51
|
+
});
|
|
52
|
+
onUnmounted(unsub);
|
|
53
|
+
return computed(() => (tick.value, getLevel(username)));
|
|
54
|
+
};
|
|
55
|
+
var useTrash = (objectType, usernames = []) => {
|
|
56
|
+
const tick = shallowRef(0);
|
|
57
|
+
const unsub = trashStore.subscribe(objectType, () => {
|
|
58
|
+
tick.value++;
|
|
59
|
+
});
|
|
60
|
+
onUnmounted(unsub);
|
|
61
|
+
return {
|
|
62
|
+
count: computed(() => (tick.value, trashStore.count(objectType, usernames))),
|
|
63
|
+
getIds: () => trashStore.list(objectType, usernames)
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
var useDraft = (model) => {
|
|
67
|
+
const tick = shallowRef(0);
|
|
68
|
+
const draft = computed(() => {
|
|
69
|
+
const m = typeof model === "function" ? model() : model.value;
|
|
70
|
+
return createDraft(m, () => {
|
|
71
|
+
tick.value++;
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
return {
|
|
75
|
+
draft,
|
|
76
|
+
isDirty: computed(() => {
|
|
77
|
+
void tick.value;
|
|
78
|
+
return isDraftDirty(draft.value);
|
|
79
|
+
}),
|
|
80
|
+
commit: () => {
|
|
81
|
+
commitDraft(draft.value);
|
|
82
|
+
tick.value++;
|
|
83
|
+
},
|
|
84
|
+
rollback: () => {
|
|
85
|
+
rollbackDraft(draft.value);
|
|
86
|
+
tick.value++;
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
export {
|
|
91
|
+
bootstrapModelsV2,
|
|
92
|
+
installVueReactivity,
|
|
93
|
+
resetModelsV2Session,
|
|
94
|
+
useDraft,
|
|
95
|
+
useLevel,
|
|
96
|
+
useTrash
|
|
97
|
+
};
|
|
98
|
+
//# sourceMappingURL=vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/models/adapters/vue.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAcA,SAAS,UAAU,aAAa,kBAAkB;AAOlD,IAAI,iBAAsC;AASnC,IAAM,uBAAuB,MAAoB;AACpD,MAAI,eAAgB,QAAO;AAC3B,QAAM,OAAO,oBAAI,QAAmC;AACpD,QAAM,SAA2B;AAAA,IAC7B,MAAM,GAAW;AACb,UAAI,IAAI,KAAK,IAAI,CAAC;AAClB,UAAI,CAAC,GAAG;AAAE,YAAI,WAAW,CAAC;AAAG,aAAK,IAAI,GAAG,CAAC;AAAA,MAAG;AAC7C,WAAK,EAAE;AAAA,IACX;AAAA,IACA,QAAQ,GAAW;AACf,YAAM,IAAI,KAAK,IAAI,CAAC;AACpB,UAAI,EAAG,GAAE;AAAA,IACb;AAAA,EACJ;AACA,mBAAiB,oBAAoB,MAAM;AAC3C,SAAO;AACX;AAOO,IAAM,oBAAoB,CAAC,SAC9B,iBAAiB,MAAM,oBAAoB;AASxC,IAAM,WAAW,CAAC,aAAqB;AAC1C,QAAM,OAAO,WAAW,CAAC;AACzB,QAAM,QAAQ,eAAe,OAAK;AAAE,QAAI,MAAM,SAAU,MAAK;AAAA,EAAS,CAAC;AACvE,cAAY,KAAK;AACjB,SAAO,SAAS,OAAO,KAAK,OAAO,SAAS,QAAQ,EAAE;AAC1D;AAWO,IAAM,WAAW,CAAC,YAAoB,YAAsB,CAAC,MAAM;AACtE,QAAM,OAAO,WAAW,CAAC;AACzB,QAAM,QAAQ,WAAW,UAAU,YAAY,MAAM;AAAE,SAAK;AAAA,EAAS,CAAC;AACtE,cAAY,KAAK;AACjB,SAAO;AAAA,IACH,OAAO,SAAS,OAAO,KAAK,OAAO,WAAW,MAAM,YAAY,SAAS,EAAE;AAAA,IAC3E,QAAQ,MAAM,WAAW,KAAK,YAAY,SAAS;AAAA,EACvD;AACJ;AAUO,IAAM,WAAW,CAAgB,UAA8B;AAClE,QAAM,OAAO,WAAW,CAAC;AAEzB,QAAM,QAAQ,SAAS,MAAM;AACzB,UAAM,IAAI,OAAO,UAAU,aAAa,MAAM,IAAI,MAAM;AACxD,WAAO,YAAY,GAAG,MAAM;AAAE,WAAK;AAAA,IAAS,CAAC;AAAA,EACjD,CAAC;AAED,SAAO;AAAA,IACH;AAAA,IACA,SAAS,SAAS,MAAM;AACpB,WAAK,KAAK;AACV,aAAO,aAAa,MAAM,KAAK;AAAA,IACnC,CAAC;AAAA,IACD,QAAQ,MAAM;AACV,kBAAY,MAAM,KAAK;AACvB,WAAK;AAAA,IACT;AAAA,IACA,UAAU,MAAM;AACZ,oBAAc,MAAM,KAAK;AACzB,WAAK;AAAA,IACT;AAAA,EACJ;AACJ;","names":[]}
|