@the_library/public 1.0.0 → 2.0.1
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 +201 -28
- package/assets/branding/pond-enterprise-logo.svg +1 -1
- package/dist/Book-CYyj_y_4.d.ts +621 -0
- package/dist/bookSearchService-YQskauJS.d.ts +300 -0
- package/dist/branding/index.js +1 -66
- package/dist/branding/index.js.map +1 -1
- package/dist/chunk-3XUKOVEF.js +2 -0
- package/dist/chunk-3XUKOVEF.js.map +1 -0
- package/dist/chunk-46FQHZNM.js +2 -0
- package/dist/chunk-46FQHZNM.js.map +1 -0
- package/dist/chunk-7G3BMGV2.js +2 -0
- package/dist/chunk-7G3BMGV2.js.map +1 -0
- package/dist/chunk-D4DXGA2W.js +2 -0
- package/dist/chunk-D4DXGA2W.js.map +1 -0
- package/dist/chunk-EMA2QJTW.js +2 -0
- package/dist/chunk-EMA2QJTW.js.map +1 -0
- package/dist/chunk-FN52YV7L.js +2 -0
- package/dist/chunk-FN52YV7L.js.map +1 -0
- package/dist/chunk-GWQNULP4.js +2 -0
- package/dist/chunk-GWQNULP4.js.map +1 -0
- package/dist/chunk-OELHBR4F.js +2 -0
- package/dist/chunk-OELHBR4F.js.map +1 -0
- package/dist/chunk-PV3X54EU.js +2 -0
- package/dist/chunk-PV3X54EU.js.map +1 -0
- package/dist/chunk-SD3INWZF.js +2 -0
- package/dist/chunk-SD3INWZF.js.map +1 -0
- package/dist/downloader/dl2-sw.js +1 -198
- package/dist/downloader/dl2-sw.js.map +1 -1
- package/dist/downloader/file-worker-v2.js +1 -257
- package/dist/downloader/file-worker-v2.js.map +1 -1
- package/dist/downloader/index.d.ts +30 -2
- package/dist/downloader/index.js +1 -537
- package/dist/downloader/index.js.map +1 -1
- package/dist/downloader/mu-worker-v2.js +1 -196
- package/dist/downloader/mu-worker-v2.js.map +1 -1
- package/dist/downloader/react.d.ts +1 -1
- package/dist/downloader/react.js +1 -31
- package/dist/downloader/react.js.map +1 -1
- package/dist/downloader/solid.d.ts +1 -1
- package/dist/downloader/solid.js +1 -18
- package/dist/downloader/solid.js.map +1 -1
- package/dist/downloader/sw.js +1 -118
- package/dist/downloader/sw.js.map +1 -1
- package/dist/downloader/vue.d.ts +1 -1
- package/dist/downloader/vue.js +1 -18
- package/dist/downloader/vue.js.map +1 -1
- package/dist/enriched-index-T0sDG7JR.d.ts +209 -0
- package/dist/global/public.global.js +68 -0
- package/dist/global/public.manifest.json +484 -0
- package/dist/level-state-DXqglpAX.d.ts +27 -0
- package/dist/models/astro.d.ts +4 -3
- package/dist/models/astro.js +1 -43
- package/dist/models/astro.js.map +1 -1
- package/dist/models/index.d.ts +449 -23
- package/dist/models/index.js +1 -339
- package/dist/models/index.js.map +1 -1
- package/dist/models/models.d.ts +195 -441
- package/dist/models/models.js +1 -45
- package/dist/models/patch-worker.js +1 -542
- package/dist/models/patch-worker.js.map +1 -1
- package/dist/models/react.d.ts +6 -5
- package/dist/models/react.js +1 -72
- package/dist/models/react.js.map +1 -1
- package/dist/models/solid.d.ts +16 -6
- package/dist/models/solid.js +1 -94
- package/dist/models/solid.js.map +1 -1
- package/dist/models/vue.d.ts +89 -7
- package/dist/models/vue.js +1 -97
- package/dist/models/vue.js.map +1 -1
- package/dist/orm-MJTHCG9E.d.ts +1003 -0
- package/dist/{session-vqOnyxga.d.ts → session-JudUKAV7.d.ts} +76 -74
- package/dist/{state-BTsp-E4v.d.ts → state-CkYavOSt.d.ts} +16 -0
- package/dist/{types-Dn0EFMO_.d.ts → types-B-IX3HBn.d.ts} +94 -21
- package/dist/{types-Xb8Ta9tZ.d.ts → types-Blyx2A7F.d.ts} +10 -36
- package/dist/web3/auth.d.ts +89 -0
- package/dist/web3/auth.js +13 -0
- package/dist/web3/auth.js.map +1 -0
- package/dist/web3/index.d.ts +1913 -126
- package/dist/web3/index.js +1 -1019
- package/dist/web3/index.js.map +1 -1
- package/dist/web3/network.d.ts +6 -0
- package/dist/web3/network.js +2 -0
- package/dist/web3/network.js.map +1 -0
- package/dist/web3/registry.d.ts +34 -9
- package/dist/web3/registry.js +1 -22
- package/dist/web3/vue.d.ts +31 -14
- package/dist/web3/vue.js +1 -390
- package/dist/web3/vue.js.map +1 -1
- package/package.json +36 -15
- package/dist/chunk-2HFOWE5R.js +0 -296
- package/dist/chunk-2HFOWE5R.js.map +0 -1
- package/dist/chunk-3L6LH2XK.js +0 -465
- package/dist/chunk-3L6LH2XK.js.map +0 -1
- package/dist/chunk-4CWVFPBN.js +0 -28
- package/dist/chunk-4CWVFPBN.js.map +0 -1
- package/dist/chunk-AGHPATVL.js +0 -65
- package/dist/chunk-AGHPATVL.js.map +0 -1
- package/dist/chunk-JDUYLUDJ.js +0 -4835
- package/dist/chunk-JDUYLUDJ.js.map +0 -1
- package/dist/chunk-OEZK7IX7.js +0 -77
- package/dist/chunk-OEZK7IX7.js.map +0 -1
- package/dist/chunk-PUYDAUCI.js +0 -2873
- package/dist/chunk-PUYDAUCI.js.map +0 -1
- package/dist/chunk-WHWMTS7D.js +0 -99
- package/dist/chunk-WHWMTS7D.js.map +0 -1
- package/dist/chunk-Y7RS6RTM.js +0 -342
- package/dist/chunk-Y7RS6RTM.js.map +0 -1
- package/dist/chunk-ZEZGI2TP.js +0 -197
- package/dist/chunk-ZEZGI2TP.js.map +0 -1
- package/dist/core-dao-core-logo-VDT2I5IW.svg +0 -33
- package/dist/level-state-J3pj64Tr.d.ts +0 -15
- package/dist/models/models_v2.global.js +0 -1
- package/dist/orm-BvkX0aBT.d.ts +0 -507
package/dist/models/solid.d.ts
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
import * as solid_js from 'solid-js';
|
|
2
|
-
import { L as LevelState } from '../level-state-
|
|
3
|
-
import { S as SessionBootstrapOptions } from '../session-
|
|
4
|
-
export { r as resetModelsV2Session } from '../session-
|
|
5
|
-
import { O as Orm } from '../orm-
|
|
2
|
+
import { L as LevelState } from '../level-state-DXqglpAX.js';
|
|
3
|
+
import { S as SessionBootstrapOptions } from '../session-JudUKAV7.js';
|
|
4
|
+
export { c as clearLocalPatches, h as hasPartition, a as loadPartition, l as loadSearch, r as resetModelsV2Session } from '../session-JudUKAV7.js';
|
|
5
|
+
import { Q as QueueItem, O as Orm } from '../orm-MJTHCG9E.js';
|
|
6
|
+
import '../enriched-index-T0sDG7JR.js';
|
|
7
|
+
|
|
8
|
+
type StoredPatch = QueueItem & {
|
|
9
|
+
pk: number;
|
|
10
|
+
username: string;
|
|
11
|
+
order?: number;
|
|
12
|
+
};
|
|
13
|
+
declare const getAllPatches: () => Promise<{
|
|
14
|
+
[user: string]: Array<StoredPatch>;
|
|
15
|
+
}>;
|
|
6
16
|
|
|
7
17
|
/**
|
|
8
18
|
* **Composes** the Solid.js reactivity system into the models_v2 record tracker
|
|
@@ -60,7 +70,7 @@ declare const useLevel: (username: string) => solid_js.Accessor<LevelState>;
|
|
|
60
70
|
*/
|
|
61
71
|
declare const useTrash: (objectType: number, usernames?: string[]) => {
|
|
62
72
|
count: solid_js.Accessor<number>;
|
|
63
|
-
getIds: () =>
|
|
73
|
+
getIds: () => bigint[];
|
|
64
74
|
};
|
|
65
75
|
|
|
66
76
|
declare const useDraft: <T extends Orm>(model: () => T) => {
|
|
@@ -70,4 +80,4 @@ declare const useDraft: <T extends Orm>(model: () => T) => {
|
|
|
70
80
|
rollback: () => void;
|
|
71
81
|
};
|
|
72
82
|
|
|
73
|
-
export { bootstrapModelsV2, installSolidReactivity, useDraft, useLevel, useTrash };
|
|
83
|
+
export { bootstrapModelsV2, getAllPatches, installSolidReactivity, useDraft, useLevel, useTrash };
|
package/dist/models/solid.js
CHANGED
|
@@ -1,95 +1,2 @@
|
|
|
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
|
-
};
|
|
1
|
+
import{a as u,b as f,c as g,d}from"../chunk-46FQHZNM.js";import{a as y,b as x,c as D,d as p,e as h,f as k}from"../chunk-OELHBR4F.js";import{c as i}from"../chunk-D4DXGA2W.js";import"../chunk-GWQNULP4.js";import{Na as S,Xa as a,Ya as m,_ as l}from"../chunk-7G3BMGV2.js";import{createSignal as c,onCleanup as b,createRoot as P}from"solid-js";import{createMemo as L}from"solid-js";var n=null,R=()=>{if(n)return n;let e=new WeakMap;return n=l({track(o){let t=e.get(o);t||(t=P(()=>{let[r,v]=c(0);return{get:r,set:v}}),e.set(o,t)),t.get()},trigger(o){let t=e.get(o);t&&t.set(t.get()+1)}}),n},w=e=>p(e,R),A=e=>{let[s,o]=c(a(e)),t=m(r=>{r===e&&o(a(e))});return b(t),s},I=(e,s=[])=>{let[o,t]=c(i.count(e,s)),r=i.subscribe(e,()=>t(i.count(e,s)));return b(r),{count:o,getIds:()=>i.list(e,s)}},W=e=>{let[s,o]=c(0),t=L(()=>u(e(),()=>o(r=>r+1)));return{draft:t,isDirty:()=>(s(),f(t())),commit:()=>{g(t()),o(r=>r+1)},rollback:()=>{d(t()),o(r=>r+1)}}};export{w as bootstrapModelsV2,k as clearLocalPatches,S as getAllPatches,x as hasPartition,R as installSolidReactivity,D as loadPartition,y as loadSearch,h as resetModelsV2Session,W as useDraft,A as useLevel,I as useTrash};
|
|
95
2
|
//# sourceMappingURL=solid.js.map
|
package/dist/models/solid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/models/adapters/solid.ts"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/models/adapters/solid.ts"],"mappings":"4QAiGA,OAAS,gBAAAA,EAAc,aAAAC,EAAW,cAAAC,MAAkB,WA2GpD,OAAS,cAAAC,MAAkB,WAnG3B,IAAIC,EAAwC,KAa/BC,EAAyB,IAAoB,CACtD,GAAID,EAAkB,OAAOA,EAC7B,IAAME,EAAU,IAAI,QAgBpB,OAAAF,EAAmBG,EAfc,CAC7B,MAAM,EAAW,CACb,IAAIC,EAAIF,EAAQ,IAAI,CAAC,EAChBE,IAEDA,EAAIC,EAAW,IAAM,CAAE,GAAM,CAACC,EAAKC,CAAG,EAAIC,EAAa,CAAC,EAAG,MAAO,CAAE,IAAAF,EAAK,IAAAC,CAAI,CAAG,CAAC,EACjFL,EAAQ,IAAI,EAAGE,CAAC,GAEpBA,EAAE,IAAI,CACV,EACA,QAAQ,EAAW,CACf,IAAMA,EAAIF,EAAQ,IAAI,CAAC,EACnBE,GAAGA,EAAE,IAAIA,EAAE,IAAI,EAAI,CAAC,CAC5B,CACJ,CAC6C,EACtCJ,CACX,EAwBaS,EAAqBC,GAC9BC,EAAiBD,EAAMT,CAAsB,EAUpCW,EAAYC,GAAqB,CAC1C,GAAM,CAACC,EAAOC,CAAQ,EAAIP,EAAaQ,EAASH,CAAQ,CAAC,EACnDI,EAAQC,EAAeC,GAAK,CAAMA,IAAMN,GAAUE,EAASC,EAASH,CAAQ,CAAC,CAAG,CAAC,EACvF,OAAAO,EAAUH,CAAK,EACRH,CACX,EAYaO,EAAW,CAACC,EAAoBC,EAAsB,CAAC,IAAM,CACtE,GAAM,CAACC,EAAOC,CAAQ,EAAIjB,EAAakB,EAAW,MAAMJ,EAAYC,CAAS,CAAC,EACxEN,EAAQS,EAAW,UAAUJ,EAAY,IAAMG,EAASC,EAAW,MAAMJ,EAAYC,CAAS,CAAC,CAAC,EACtG,OAAAH,EAAUH,CAAK,EACR,CACH,MAAAO,EACA,OAAQ,IAAME,EAAW,KAAKJ,EAAYC,CAAS,CACvD,CACJ,EAUaI,EAA2BC,GAAmB,CACvD,GAAM,CAACC,EAAMC,CAAO,EAAItB,EAAa,CAAC,EAEhCuB,EAAQC,EAAW,IAAMC,EAAYL,EAAM,EAAG,IAAME,EAAQI,GAAKA,EAAI,CAAC,CAAC,CAAC,EAE9E,MAAO,CACH,MAAAH,EACA,QAAS,KACLF,EAAK,EACEM,EAAaJ,EAAM,CAAC,GAE/B,OAAQ,IAAM,CACVK,EAAYL,EAAM,CAAC,EACnBD,EAAQI,GAAKA,EAAI,CAAC,CACtB,EACA,SAAU,IAAM,CACZG,EAAcN,EAAM,CAAC,EACrBD,EAAQI,GAAKA,EAAI,CAAC,CACtB,CACJ,CACJ","names":["createSignal","onCleanup","createRoot","createMemo","_solidUnregister","installSolidReactivity","signals","addReactivitySystem","s","createRoot","get","set","createSignal","bootstrapModelsV2","opts","bootstrapSession","useLevel","username","state","setState","getLevel","unsub","subscribeLevel","u","onCleanup","useTrash","objectType","usernames","count","setCount","trashStore","useDraft","model","tick","setTick","draft","createMemo","createDraft","t","isDraftDirty","commitDraft","rollbackDraft"]}
|
package/dist/models/vue.d.ts
CHANGED
|
@@ -1,9 +1,22 @@
|
|
|
1
|
+
import { P as PresetFilter, S as SearchFilters, B as BookSearchLangState, a as SearchResult } from '../bookSearchService-YQskauJS.js';
|
|
1
2
|
import * as vue from 'vue';
|
|
2
|
-
import { Ref } from 'vue';
|
|
3
|
-
import { L as LevelState } from '../level-state-
|
|
4
|
-
import { S as SessionBootstrapOptions } from '../session-
|
|
5
|
-
export { r as resetModelsV2Session } from '../session-
|
|
6
|
-
import { O as Orm } from '../orm-
|
|
3
|
+
import { Ref, MaybeRef } from 'vue';
|
|
4
|
+
import { L as LevelState } from '../level-state-DXqglpAX.js';
|
|
5
|
+
import { S as SessionBootstrapOptions } from '../session-JudUKAV7.js';
|
|
6
|
+
export { c as clearLocalPatches, l as loadSearch, r as resetModelsV2Session } from '../session-JudUKAV7.js';
|
|
7
|
+
import { O as Orm, L as Lang } from '../orm-MJTHCG9E.js';
|
|
8
|
+
import '../Book-CYyj_y_4.js';
|
|
9
|
+
import '@the_library/standard-adapters/lcc';
|
|
10
|
+
import '@the_library/standard-adapters/ddc';
|
|
11
|
+
import '@the_library/standard-adapters/udc';
|
|
12
|
+
import '@the_library/standard-adapters/clc';
|
|
13
|
+
import '@the_library/standard-adapters/bbk';
|
|
14
|
+
import '@the_library/standard-adapters/tlc';
|
|
15
|
+
import '@the_library/standard-adapters/cc';
|
|
16
|
+
import '@the_library/standard-adapters/isbn';
|
|
17
|
+
import '@the_library/standard-adapters/isni';
|
|
18
|
+
import '@the_library/standard-adapters/orcid';
|
|
19
|
+
import '../enriched-index-T0sDG7JR.js';
|
|
7
20
|
|
|
8
21
|
/**
|
|
9
22
|
* **Composes** the Vue 3 reactivity system into the models_v2 record tracker
|
|
@@ -38,8 +51,19 @@ declare const useLevel: (username: string) => vue.ComputedRef<LevelState>;
|
|
|
38
51
|
*/
|
|
39
52
|
declare const useTrash: (objectType: number, usernames?: string[]) => {
|
|
40
53
|
count: vue.ComputedRef<number>;
|
|
41
|
-
getIds: () =>
|
|
54
|
+
getIds: () => bigint[];
|
|
42
55
|
};
|
|
56
|
+
/**
|
|
57
|
+
* Reactive dependency on the stats store (models/stats.ts): read it inside a
|
|
58
|
+
* computed alongside VisitsByType/DownloadsByType/FavoritesByTypes so the view
|
|
59
|
+
* re-evaluates when visits/downloads/ratings change — including rows restored
|
|
60
|
+
* from the chain after the page mounted.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* const statsTick = useStatsTick();
|
|
64
|
+
* const topicIds = computed(() => (statsTick.value, VisitsByType(Tag.type)));
|
|
65
|
+
*/
|
|
66
|
+
declare const useStatsTick: () => vue.ShallowRef<number, number>;
|
|
43
67
|
|
|
44
68
|
declare const useDraft: <T extends Orm>(model: Ref<T> | (() => T)) => {
|
|
45
69
|
draft: vue.ComputedRef<T>;
|
|
@@ -48,4 +72,62 @@ declare const useDraft: <T extends Orm>(model: Ref<T> | (() => T)) => {
|
|
|
48
72
|
rollback: () => void;
|
|
49
73
|
};
|
|
50
74
|
|
|
51
|
-
|
|
75
|
+
interface UseBookSearchOptions {
|
|
76
|
+
/** Language to search (default: the session language). */
|
|
77
|
+
lang?: MaybeRef<Lang | undefined>;
|
|
78
|
+
/** Hits per page (default 20). */
|
|
79
|
+
pageSize?: number;
|
|
80
|
+
/** Preset/relation names to count over all matches, e.g. ['topic', 'educationQuality']. */
|
|
81
|
+
facets?: readonly string[];
|
|
82
|
+
/** Typing debounce in ms (default 120). The index answers in a few ms; this only spares re-renders. */
|
|
83
|
+
debounceMs?: number;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Everything a search box / search page needs, over the app-wide Book index
|
|
87
|
+
* (`bookSearch`, loaded in the background by bootModelsV2). Reactive: results
|
|
88
|
+
* refresh as the user types, as filters change, and as the index itself
|
|
89
|
+
* changes (a shard arrives, a local edit lands in the overlay, a book is
|
|
90
|
+
* trashed). Hits are wireIds — resolve them with `Book.Has(id)` / `Book.Load(id)`.
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* const s = useBookSearch({ facets: ['topic', 'educationQuality'] });
|
|
94
|
+
* // <input v-model="s.text.value"> · s.result.value.hits · s.state.value.status
|
|
95
|
+
*/
|
|
96
|
+
declare const useBookSearch: (options?: UseBookSearchOptions) => {
|
|
97
|
+
/** Bind to the input. */
|
|
98
|
+
text: Ref<string, string>;
|
|
99
|
+
filters: Ref<{
|
|
100
|
+
presets?: Readonly<Record<string, PresetFilter>> | undefined;
|
|
101
|
+
relations?: Readonly<Record<string, readonly (bigint | string)[]>> | undefined;
|
|
102
|
+
}, SearchFilters | {
|
|
103
|
+
presets?: Readonly<Record<string, PresetFilter>> | undefined;
|
|
104
|
+
relations?: Readonly<Record<string, readonly (bigint | string)[]>> | undefined;
|
|
105
|
+
}>;
|
|
106
|
+
sort: Ref<{
|
|
107
|
+
preset: string;
|
|
108
|
+
dir?: "asc" | "desc";
|
|
109
|
+
} | undefined, {
|
|
110
|
+
preset: string;
|
|
111
|
+
dir?: "asc" | "desc";
|
|
112
|
+
} | undefined>;
|
|
113
|
+
page: Ref<number, number>;
|
|
114
|
+
pageSize: number;
|
|
115
|
+
/** `{ status: 'idle' | 'loading' | 'ready' | 'error', source, shards, error }` for the current language. */
|
|
116
|
+
state: vue.ComputedRef<BookSearchLangState>;
|
|
117
|
+
ready: vue.ComputedRef<boolean>;
|
|
118
|
+
/** Searchable books currently in the index for this language. */
|
|
119
|
+
indexedCount: vue.ComputedRef<number>;
|
|
120
|
+
result: vue.ComputedRef<SearchResult>;
|
|
121
|
+
/** Time spent in the index for the current answer (ms). */
|
|
122
|
+
elapsedMs: vue.ComputedRef<number>;
|
|
123
|
+
pageCount: vue.ComputedRef<number>;
|
|
124
|
+
setPresetFilter: (name: string, filter: PresetFilter | null) => void;
|
|
125
|
+
setRelationFilter: (name: string, ids: readonly (bigint | string)[] | null) => void;
|
|
126
|
+
clearFilters: () => void;
|
|
127
|
+
/** Resolves once the index for the current language has finished loading. */
|
|
128
|
+
whenReady: () => Promise<void>;
|
|
129
|
+
/** Start loading now, or retry after an error (boot normally starts it in the background). */
|
|
130
|
+
load: () => Promise<void>;
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
export { type UseBookSearchOptions, bootstrapModelsV2, installVueReactivity, useBookSearch, useDraft, useLevel, useStatsTick, useTrash };
|
package/dist/models/vue.js
CHANGED
|
@@ -1,98 +1,2 @@
|
|
|
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
|
-
};
|
|
1
|
+
import{a as L,b as O,c as B,d as P}from"../chunk-46FQHZNM.js";import{a as D,d as F,e as V,f as I}from"../chunk-OELHBR4F.js";import{c as d,w as l}from"../chunk-D4DXGA2W.js";import"../chunk-GWQNULP4.js";import{Xa as R,Ya as M,_ as k,ib as T,sb as w}from"../chunk-7G3BMGV2.js";import{computed as o,onUnmounted as m,shallowRef as i}from"vue";import{ref as v,watch as z,unref as j}from"vue";var y=null,Q=()=>{if(y)return y;let e=new WeakMap;return y=k({track(r){let t=e.get(r);t||(t=i(0),e.set(r,t)),t.value},trigger(r){let t=e.get(r);t&&t.value++}}),y},H=e=>F(e,Q),J=e=>{let s=i(0),r=M(t=>{t===e&&s.value++});return m(r),o(()=>(s.value,R(e)))},K=(e,s=[])=>{let r=i(0),t=d.subscribe(e,()=>{r.value++});return m(t),{count:o(()=>(r.value,d.count(e,s))),getIds:()=>d.list(e,s)}},N=()=>{let e=i(0);return m(T(()=>{e.value++})),e},Y=e=>{let s=i(0),r=o(()=>{let t=typeof e=="function"?e():e.value;return L(t,()=>{s.value++})});return{draft:r,isDirty:o(()=>(s.value,O(r.value))),commit:()=>{B(r.value),s.value++},rollback:()=>{P(r.value),s.value++}}},te=(e={})=>{let s=e.pageSize??20,r=v(""),t=v({}),f=v(),g=v(0),p=i(0);m(l.subscribe(()=>{p.value++}));let b=v(""),S;z(r,a=>{clearTimeout(S),S=setTimeout(()=>{b.value=a},e.debounceMs??120)}),m(()=>clearTimeout(S)),z([b,t,f],()=>{g.value=0},{deep:!0});let c=o(()=>j(e.lang)??void 0),x=o(()=>(p.value,l.state(c.value))),h=o(()=>{p.value;let a=performance.now();return{result:l.search({lang:c.value,text:b.value,filters:t.value,sort:f.value,limit:s,offset:g.value*s,facets:e.facets}),ms:performance.now()-a}}),U=(a,u)=>{let n={...t.value.presets};u?n[a]=u:delete n[a],t.value={...t.value,presets:n}},C=(a,u)=>{let n={...t.value.relations};u?.length?n[a]=u:delete n[a],t.value={...t.value,relations:n}};return{text:r,filters:t,sort:f,page:g,pageSize:s,state:x,ready:o(()=>x.value.status==="ready"),indexedCount:o(()=>(p.value,l.index.size(c.value??w.userLang))),result:o(()=>h.value.result),elapsedMs:o(()=>h.value.ms),pageCount:o(()=>Math.max(1,Math.ceil(h.value.result.total/s))),setPresetFilter:U,setRelationFilter:C,clearFilters:()=>{t.value={},f.value=void 0},whenReady:()=>l.ready(c.value),load:()=>D(c.value)}};export{H as bootstrapModelsV2,I as clearLocalPatches,Q as installVueReactivity,D as loadSearch,V as resetModelsV2Session,te as useBookSearch,Y as useDraft,J as useLevel,N as useStatsTick,K as useTrash};
|
|
98
2
|
//# sourceMappingURL=vue.js.map
|
package/dist/models/vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/models/adapters/vue.ts"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/models/adapters/vue.ts"],"mappings":"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","names":["computed","onUnmounted","shallowRef","ref","watch","unref","_vueUnregister","installVueReactivity","refs","addReactivitySystem","o","r","shallowRef","bootstrapModelsV2","opts","bootstrapSession","useLevel","username","tick","unsub","subscribeLevel","u","onUnmounted","computed","getLevel","useTrash","objectType","usernames","trashStore","useStatsTick","subscribeStats","useDraft","model","draft","m","createDraft","isDraftDirty","commitDraft","rollbackDraft","useBookSearch","options","pageSize","text","ref","filters","sort","page","bookSearch","query","timer","watch","value","lang","unref","state","answer","started","setPresetFilter","name","filter","presets","setRelationFilter","ids","relations","Config","loadSearch"]}
|