@powerhousedao/reactor-browser 1.1.0 → 1.3.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/dist/_virtual/__vite-browser-external.js +5 -0
- package/dist/_virtual/__vite-browser-external.js.map +1 -0
- package/dist/context/read-mode.js +159 -0
- package/dist/context/read-mode.js.map +1 -0
- package/dist/crypto/browser.js +50 -0
- package/dist/crypto/browser.js.map +1 -0
- package/dist/crypto/index.js +109 -0
- package/dist/crypto/index.js.map +1 -0
- package/dist/document-model.js +11 -0
- package/dist/document-model.js.map +1 -0
- package/dist/hooks/useAddDebouncedOperations.js +54 -0
- package/dist/hooks/useAddDebouncedOperations.js.map +1 -0
- package/dist/hooks/useConnectCrypto.js +34 -0
- package/dist/hooks/useConnectCrypto.js.map +1 -0
- package/dist/hooks/useDocument.js +20 -0
- package/dist/hooks/useDocument.js.map +1 -0
- package/dist/hooks/useDocumentDispatch.js +30 -0
- package/dist/hooks/useDocumentDispatch.js.map +1 -0
- package/dist/hooks/useDocumentDrives.js +86 -0
- package/dist/hooks/useDocumentDrives.js.map +1 -0
- package/dist/hooks/useDocumentEditor.js +41 -0
- package/dist/hooks/useDocumentEditor.js.map +1 -0
- package/dist/hooks/useUserPermissions.js +10 -0
- package/dist/hooks/useUserPermissions.js.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/reactor.js +59 -0
- package/dist/reactor.js.map +1 -0
- package/dist/src/context/index.d.ts.map +1 -0
- package/dist/src/context/read-mode.d.ts.map +1 -0
- package/dist/src/crypto/browser.d.ts.map +1 -0
- package/dist/src/crypto/index.d.ts.map +1 -0
- package/dist/src/document-model.d.ts.map +1 -0
- package/dist/src/hooks/index.d.ts.map +1 -0
- package/dist/src/hooks/useAddDebouncedOperations.d.ts.map +1 -0
- package/dist/src/hooks/useConnectCrypto.d.ts.map +1 -0
- package/dist/src/hooks/useDocument.d.ts.map +1 -0
- package/dist/src/hooks/useDocumentDispatch.d.ts.map +1 -0
- package/dist/src/hooks/useDocumentDrives.d.ts.map +1 -0
- package/dist/src/hooks/useDocumentEditor.d.ts.map +1 -0
- package/dist/src/hooks/useUserPermissions.d.ts.map +1 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/reactor.d.ts.map +1 -0
- package/dist/src/renown/constants.d.ts.map +1 -0
- package/dist/src/renown/types.d.ts.map +1 -0
- package/dist/src/storage/index.d.ts.map +1 -0
- package/dist/src/storage/types.d.ts.map +1 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/signature.d.ts.map +1 -0
- package/dist/utils/index.js +16 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/signature.js +12 -0
- package/dist/utils/signature.js.map +1 -0
- package/package.json +19 -13
- package/dist/cjs/index.js +0 -84145
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/internal/__vite-browser-external-DES75WN9.js +0 -5
- package/dist/cjs/internal/__vite-browser-external-DES75WN9.js.map +0 -1
- package/dist/cjs/package.json +0 -1
- package/dist/es/index.js +0 -84145
- package/dist/es/index.js.map +0 -1
- package/dist/es/internal/__vite-browser-external-2Ng8QIWW.js +0 -5
- package/dist/es/internal/__vite-browser-external-2Ng8QIWW.js.map +0 -1
- package/dist/es/package.json +0 -1
- package/dist/types/src/context/index.d.ts.map +0 -1
- package/dist/types/src/context/read-mode.d.ts.map +0 -1
- package/dist/types/src/crypto/browser.d.ts.map +0 -1
- package/dist/types/src/crypto/index.d.ts.map +0 -1
- package/dist/types/src/document-model.d.ts.map +0 -1
- package/dist/types/src/hooks/index.d.ts.map +0 -1
- package/dist/types/src/hooks/useAddDebouncedOperations.d.ts.map +0 -1
- package/dist/types/src/hooks/useConnectCrypto.d.ts.map +0 -1
- package/dist/types/src/hooks/useDocument.d.ts.map +0 -1
- package/dist/types/src/hooks/useDocumentDispatch.d.ts.map +0 -1
- package/dist/types/src/hooks/useDocumentDrives.d.ts.map +0 -1
- package/dist/types/src/hooks/useDocumentEditor.d.ts.map +0 -1
- package/dist/types/src/hooks/useUserPermissions.d.ts.map +0 -1
- package/dist/types/src/index.d.ts.map +0 -1
- package/dist/types/src/reactor.d.ts.map +0 -1
- package/dist/types/src/renown/constants.d.ts.map +0 -1
- package/dist/types/src/renown/types.d.ts.map +0 -1
- package/dist/types/src/storage/index.d.ts.map +0 -1
- package/dist/types/src/storage/types.d.ts.map +0 -1
- package/dist/types/src/utils/index.d.ts.map +0 -1
- package/dist/types/src/utils/signature.d.ts.map +0 -1
- package/dist/types/vite.config.d.ts +0 -3
- package/dist/types/vite.config.d.ts.map +0 -1
- /package/dist/{types/src → src}/context/index.d.ts +0 -0
- /package/dist/{types/src → src}/context/read-mode.d.ts +0 -0
- /package/dist/{types/src → src}/crypto/browser.d.ts +0 -0
- /package/dist/{types/src → src}/crypto/index.d.ts +0 -0
- /package/dist/{types/src → src}/document-model.d.ts +0 -0
- /package/dist/{types/src → src}/hooks/index.d.ts +0 -0
- /package/dist/{types/src → src}/hooks/useAddDebouncedOperations.d.ts +0 -0
- /package/dist/{types/src → src}/hooks/useConnectCrypto.d.ts +0 -0
- /package/dist/{types/src → src}/hooks/useDocument.d.ts +0 -0
- /package/dist/{types/src → src}/hooks/useDocumentDispatch.d.ts +0 -0
- /package/dist/{types/src → src}/hooks/useDocumentDrives.d.ts +0 -0
- /package/dist/{types/src → src}/hooks/useDocumentEditor.d.ts +0 -0
- /package/dist/{types/src → src}/hooks/useUserPermissions.d.ts +0 -0
- /package/dist/{types/src → src}/index.d.ts +0 -0
- /package/dist/{types/src → src}/reactor.d.ts +0 -0
- /package/dist/{types/src → src}/renown/constants.d.ts +0 -0
- /package/dist/{types/src → src}/renown/types.d.ts +0 -0
- /package/dist/{types/src → src}/storage/index.d.ts +0 -0
- /package/dist/{types/src → src}/storage/types.d.ts +0 -0
- /package/dist/{types/src → src}/utils/index.d.ts +0 -0
- /package/dist/{types/src → src}/utils/signature.d.ts +0 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { useMemo as f, useCallback as D } from "react";
|
|
2
|
+
import { atom as a, useAtom as l } from "jotai";
|
|
3
|
+
import { atomFamily as I } from "jotai/utils";
|
|
4
|
+
import { documentToHash as A } from "../utils/index.js";
|
|
5
|
+
const p = a(
|
|
6
|
+
/* @__PURE__ */ new Map()
|
|
7
|
+
);
|
|
8
|
+
function v(t) {
|
|
9
|
+
return t.map(A).join("&");
|
|
10
|
+
}
|
|
11
|
+
const b = (t) => () => a(
|
|
12
|
+
(o) => t ? o(p).get(t) ?? [] : [],
|
|
13
|
+
(o, c, n) => {
|
|
14
|
+
c(p, (s) => {
|
|
15
|
+
if (!t)
|
|
16
|
+
return /* @__PURE__ */ new Map();
|
|
17
|
+
const e = s.get(t) ?? [];
|
|
18
|
+
return e.length !== n.length || v(e) !== v(n) ? new Map(s).set(t, n) : s;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
), g = I(
|
|
22
|
+
() => a("INITIAL")
|
|
23
|
+
);
|
|
24
|
+
function R(t) {
|
|
25
|
+
const [o, c] = l(
|
|
26
|
+
f(b(t), [t])
|
|
27
|
+
), n = D(async () => {
|
|
28
|
+
if (!t)
|
|
29
|
+
return;
|
|
30
|
+
const u = [];
|
|
31
|
+
try {
|
|
32
|
+
const r = await t.getDrives();
|
|
33
|
+
for (const m of r)
|
|
34
|
+
try {
|
|
35
|
+
const i = await t.getDrive(m);
|
|
36
|
+
u.push(i);
|
|
37
|
+
} catch (i) {
|
|
38
|
+
console.error(i);
|
|
39
|
+
}
|
|
40
|
+
} catch (r) {
|
|
41
|
+
console.error(r);
|
|
42
|
+
} finally {
|
|
43
|
+
c(u);
|
|
44
|
+
}
|
|
45
|
+
}, [t]), [s, e] = l(
|
|
46
|
+
g(t)
|
|
47
|
+
);
|
|
48
|
+
s === "INITIAL" && (e("LOADING"), n().then(() => e("LOADED")).catch(() => e("ERROR")));
|
|
49
|
+
const h = D(
|
|
50
|
+
(u) => {
|
|
51
|
+
if (!t)
|
|
52
|
+
return;
|
|
53
|
+
const r = t.on(
|
|
54
|
+
"syncStatus",
|
|
55
|
+
async (E, M, d) => {
|
|
56
|
+
d && console.error(d), await n();
|
|
57
|
+
}
|
|
58
|
+
), m = t.on("strandUpdate", () => n()), i = t.on(
|
|
59
|
+
"clientStrandsError",
|
|
60
|
+
u.strandsErrorHandler
|
|
61
|
+
), y = t.on(
|
|
62
|
+
"defaultRemoteDrive",
|
|
63
|
+
() => n()
|
|
64
|
+
);
|
|
65
|
+
return () => {
|
|
66
|
+
r(), m(), i(), y();
|
|
67
|
+
};
|
|
68
|
+
},
|
|
69
|
+
[t, n]
|
|
70
|
+
);
|
|
71
|
+
return f(
|
|
72
|
+
() => [
|
|
73
|
+
o,
|
|
74
|
+
n,
|
|
75
|
+
h,
|
|
76
|
+
s
|
|
77
|
+
],
|
|
78
|
+
[o, s]
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
export {
|
|
82
|
+
g as documentDrivesInitializedMapAtomFamily,
|
|
83
|
+
v as drivesToHash,
|
|
84
|
+
R as useDocumentDrives
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=useDocumentDrives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDocumentDrives.js","sources":["../../src/hooks/useDocumentDrives.ts"],"sourcesContent":["import { useMemo, useCallback } from \"react\";\nimport type { IDocumentDriveServer } from \"document-drive/server\";\nimport { DocumentDriveDocument } from \"document-model-libs/document-drive\";\nimport { atom, useAtom } from \"jotai\";\nimport { atomFamily } from \"jotai/utils\";\nimport { Trigger } from \"document-model-libs/document-drive\";\n\nimport { documentToHash } from \"../utils\";\n\nconst documentDrivesAtom = atom(\n new Map<IDocumentDriveServer, DocumentDriveDocument[]>(),\n);\n\nexport function drivesToHash(drives: DocumentDriveDocument[]): string {\n return drives.map(documentToHash).join(\"&\");\n}\n\nconst readWriteDocumentDrivesAtom = (server?: IDocumentDriveServer) => () =>\n atom(\n (get) => (server ? (get(documentDrivesAtom).get(server) ?? []) : []),\n (_get, set, newDrives: DocumentDriveDocument[]) => {\n set(documentDrivesAtom, (map) => {\n if (!server) {\n return new Map();\n }\n const currentDrives = map.get(server) ?? [];\n if (\n currentDrives.length !== newDrives.length ||\n drivesToHash(currentDrives) !== drivesToHash(newDrives)\n ) {\n return new Map(map).set(server, newDrives);\n } else {\n return map;\n }\n });\n },\n );\n\nexport type IDrivesState = \"INITIAL\" | \"LOADING\" | \"LOADED\" | \"ERROR\";\nexport const documentDrivesInitializedMapAtomFamily = atomFamily(() =>\n atom<IDrivesState>(\"INITIAL\"),\n);\n\nexport type ClientErrorHandler = {\n strandsErrorHandler: (\n driveId: string,\n trigger: Trigger,\n status: number,\n errorMessage: string,\n ) => Promise<void>;\n};\n\nexport function useDocumentDrives(reactor?: IDocumentDriveServer) {\n const [documentDrives, setDocumentDrives] = useAtom(\n useMemo(readWriteDocumentDrivesAtom(reactor), [reactor]),\n );\n\n const refreshDocumentDrives = useCallback(async () => {\n if (!reactor) {\n return;\n }\n\n const documentDrives: DocumentDriveDocument[] = [];\n try {\n const driveIds = await reactor.getDrives();\n for (const id of driveIds) {\n try {\n const drive = await reactor.getDrive(id);\n documentDrives.push(drive);\n } catch (error) {\n console.error(error);\n }\n }\n } catch (error) {\n console.error(error);\n } finally {\n setDocumentDrives(documentDrives);\n }\n }, [reactor]);\n\n const [status, setStatus] = useAtom(\n documentDrivesInitializedMapAtomFamily(reactor),\n );\n\n if (status === \"INITIAL\") {\n setStatus(\"LOADING\");\n refreshDocumentDrives()\n .then(() => setStatus(\"LOADED\"))\n .catch(() => setStatus(\"ERROR\"));\n }\n\n const serverSubscribeUpdates = useCallback(\n (clientErrorhandler: ClientErrorHandler) => {\n if (!reactor) {\n return;\n }\n const unsub1 = reactor.on(\n \"syncStatus\",\n async (_event, _status, error) => {\n if (error) {\n console.error(error);\n }\n await refreshDocumentDrives();\n },\n );\n const unsub2 = reactor.on(\"strandUpdate\", () => refreshDocumentDrives());\n const unsubOnSyncError = reactor.on(\n \"clientStrandsError\",\n clientErrorhandler.strandsErrorHandler,\n );\n\n const unsub3 = reactor.on(\"defaultRemoteDrive\", () =>\n refreshDocumentDrives(),\n );\n\n return () => {\n unsub1();\n unsub2();\n unsubOnSyncError();\n unsub3();\n };\n },\n [reactor, refreshDocumentDrives],\n );\n\n return useMemo(\n () =>\n [\n documentDrives,\n refreshDocumentDrives,\n serverSubscribeUpdates,\n status,\n ] as const,\n [documentDrives, status],\n );\n}\n"],"names":["documentDrivesAtom","atom","drivesToHash","drives","documentToHash","readWriteDocumentDrivesAtom","server","get","_get","set","newDrives","map","currentDrives","documentDrivesInitializedMapAtomFamily","atomFamily","useDocumentDrives","reactor","documentDrives","setDocumentDrives","useAtom","useMemo","refreshDocumentDrives","useCallback","driveIds","id","drive","error","status","setStatus","serverSubscribeUpdates","clientErrorhandler","unsub1","_event","_status","unsub2","unsubOnSyncError","unsub3"],"mappings":";;;;AASA,MAAMA,IAAqBC;AAAA,sBACrB,IAAmD;AACzD;AAEO,SAASC,EAAaC,GAAyC;AACpE,SAAOA,EAAO,IAAIC,CAAc,EAAE,KAAK,GAAG;AAC5C;AAEA,MAAMC,IAA8B,CAACC,MAAkC,MACrEL;AAAA,EACE,CAACM,MAASD,IAAUC,EAAIP,CAAkB,EAAE,IAAIM,CAAM,KAAK,CAAA,IAAM,CAAC;AAAA,EAClE,CAACE,GAAMC,GAAKC,MAAuC;AAC7C,IAAAD,EAAAT,GAAoB,CAACW,MAAQ;AAC/B,UAAI,CAACL;AACH,mCAAW,IAAI;AAEjB,YAAMM,IAAgBD,EAAI,IAAIL,CAAM,KAAK,CAAC;AAExC,aAAAM,EAAc,WAAWF,EAAU,UACnCR,EAAaU,CAAa,MAAMV,EAAaQ,CAAS,IAE/C,IAAI,IAAIC,CAAG,EAAE,IAAIL,GAAQI,CAAS,IAElCC;AAAA,IACT,CACD;AAAA,EAAA;AAEL,GAGWE,IAAyCC;AAAA,EAAW,MAC/Db,EAAmB,SAAS;AAC9B;AAWO,SAASc,EAAkBC,GAAgC;AAC1D,QAAA,CAACC,GAAgBC,CAAiB,IAAIC;AAAA,IAC1CC,EAAQf,EAA4BW,CAAO,GAAG,CAACA,CAAO,CAAC;AAAA,EACzD,GAEMK,IAAwBC,EAAY,YAAY;AACpD,QAAI,CAACN;AACH;AAGF,UAAMC,IAA0C,CAAC;AAC7C,QAAA;AACI,YAAAM,IAAW,MAAMP,EAAQ,UAAU;AACzC,iBAAWQ,KAAMD;AACX,YAAA;AACF,gBAAME,IAAQ,MAAMT,EAAQ,SAASQ,CAAE;AACvCP,UAAAA,EAAe,KAAKQ,CAAK;AAAA,iBAClBC,GAAO;AACd,kBAAQ,MAAMA,CAAK;AAAA,QAAA;AAAA,aAGhBA,GAAO;AACd,cAAQ,MAAMA,CAAK;AAAA,IAAA,UACnB;AACA,MAAAR,EAAkBD,CAAc;AAAA,IAAA;AAAA,EAClC,GACC,CAACD,CAAO,CAAC,GAEN,CAACW,GAAQC,CAAS,IAAIT;AAAA,IAC1BN,EAAuCG,CAAO;AAAA,EAChD;AAEA,EAAIW,MAAW,cACbC,EAAU,SAAS,GACGP,EAAA,EACnB,KAAK,MAAMO,EAAU,QAAQ,CAAC,EAC9B,MAAM,MAAMA,EAAU,OAAO,CAAC;AAGnC,QAAMC,IAAyBP;AAAA,IAC7B,CAACQ,MAA2C;AAC1C,UAAI,CAACd;AACH;AAEF,YAAMe,IAASf,EAAQ;AAAA,QACrB;AAAA,QACA,OAAOgB,GAAQC,GAASP,MAAU;AAChC,UAAIA,KACF,QAAQ,MAAMA,CAAK,GAErB,MAAML,EAAsB;AAAA,QAAA;AAAA,MAEhC,GACMa,IAASlB,EAAQ,GAAG,gBAAgB,MAAMK,GAAuB,GACjEc,IAAmBnB,EAAQ;AAAA,QAC/B;AAAA,QACAc,EAAmB;AAAA,MACrB,GAEMM,IAASpB,EAAQ;AAAA,QAAG;AAAA,QAAsB,MAC9CK,EAAsB;AAAA,MACxB;AAEA,aAAO,MAAM;AACJ,QAAAU,EAAA,GACAG,EAAA,GACUC,EAAA,GACVC,EAAA;AAAA,MACT;AAAA,IACF;AAAA,IACA,CAACpB,GAASK,CAAqB;AAAA,EACjC;AAEO,SAAAD;AAAA,IACL,MACE;AAAA,MACEH;AAAA,MACAI;AAAA,MACAQ;AAAA,MACAF;AAAA,IACF;AAAA,IACF,CAACV,GAAgBU,CAAM;AAAA,EACzB;AACF;"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { useDocumentDispatch as I } from "./useDocumentDispatch.js";
|
|
2
|
+
import { addActionContext as O, signOperation as g } from "../utils/signature.js";
|
|
3
|
+
import { useConnectDid as v, useConnectCrypto as x } from "./useConnectCrypto.js";
|
|
4
|
+
import { useAddDebouncedOperations as A } from "./useAddDebouncedOperations.js";
|
|
5
|
+
function S(e, n) {
|
|
6
|
+
const { nodeId: o, driveId: c, documentModel: t, document: r } = n;
|
|
7
|
+
v();
|
|
8
|
+
const { sign: d } = x(), i = A(e, {
|
|
9
|
+
driveId: c,
|
|
10
|
+
documentId: o
|
|
11
|
+
}), [u, s, m] = I(
|
|
12
|
+
t.reducer,
|
|
13
|
+
r
|
|
14
|
+
);
|
|
15
|
+
function a(p, D) {
|
|
16
|
+
const f = (h, l) => {
|
|
17
|
+
const { prevState: C } = l;
|
|
18
|
+
g(
|
|
19
|
+
h,
|
|
20
|
+
d,
|
|
21
|
+
o,
|
|
22
|
+
C,
|
|
23
|
+
t.reducer
|
|
24
|
+
).then((b) => i(b)).catch(console.error);
|
|
25
|
+
};
|
|
26
|
+
s(
|
|
27
|
+
O(p),
|
|
28
|
+
f,
|
|
29
|
+
D
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
dispatch: a,
|
|
34
|
+
document: u,
|
|
35
|
+
error: m
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
S as useDocumentEditor
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=useDocumentEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDocumentEditor.js","sources":["../../src/hooks/useDocumentEditor.ts"],"sourcesContent":["import {\n Action,\n Document,\n Operation,\n BaseAction,\n DocumentModel,\n ActionErrorCallback,\n} from \"document-model/document\";\n\nimport { useDocumentDispatch } from \"./useDocumentDispatch\";\nimport { signOperation, addActionContext } from \"../utils/signature\";\nimport { useConnectCrypto, useConnectDid } from \"./useConnectCrypto\";\nimport { useAddDebouncedOperations } from \"./useAddDebouncedOperations\";\nimport { IDocumentDriveServer } from \"document-drive\";\n\nexport type DocumentDispatchCallback<State, A extends Action, LocalState> = (\n operation: Operation,\n state: {\n prevState: Document<State, A, LocalState>;\n newState: Document<State, A, LocalState>;\n },\n) => void;\n\nexport type UseDocumentEditorProps<\n T = unknown,\n A extends Action = Action,\n LocalState = unknown,\n> = {\n driveId: string;\n nodeId: string;\n document: Document<T, A, LocalState> | undefined;\n documentModel: DocumentModel<unknown, Action>;\n onExport?: () => void;\n onOpenSwitchboardLink?: () => Promise<void>;\n onChange?: (document: Document<T, A, LocalState>) => void;\n};\n\nexport function useDocumentEditor(\n reactor: IDocumentDriveServer | undefined,\n props: UseDocumentEditorProps,\n) {\n const { nodeId, driveId, documentModel, document: initialDocument } = props;\n\n // TODO: implement useUser hook\n const user = undefined;\n\n const connectDid = useConnectDid();\n const { sign } = useConnectCrypto();\n\n const addDebouncedOprations = useAddDebouncedOperations(reactor, {\n driveId,\n documentId: nodeId,\n });\n\n const [document, _dispatch, error] = useDocumentDispatch(\n documentModel.reducer,\n initialDocument,\n );\n\n function dispatch(\n action: BaseAction | Action,\n onErrorCallback?: ActionErrorCallback,\n ) {\n const callback: DocumentDispatchCallback<unknown, Action, unknown> = (\n operation,\n state,\n ) => {\n const { prevState } = state;\n\n signOperation(\n operation,\n sign,\n nodeId,\n prevState,\n documentModel.reducer,\n user,\n )\n .then((op) => {\n return addDebouncedOprations(op);\n })\n .catch(console.error);\n };\n\n _dispatch(\n addActionContext(action, connectDid, user),\n callback,\n onErrorCallback,\n );\n }\n\n return {\n dispatch,\n document,\n error,\n };\n}\n"],"names":["useDocumentEditor","reactor","props","nodeId","driveId","documentModel","initialDocument","useConnectDid","sign","useConnectCrypto","addDebouncedOprations","useAddDebouncedOperations","document","_dispatch","error","useDocumentDispatch","dispatch","action","onErrorCallback","callback","operation","state","prevState","signOperation","op","addActionContext"],"mappings":";;;;AAqCgB,SAAAA,EACdC,GACAC,GACA;AACA,QAAM,EAAE,QAAAC,GAAQ,SAAAC,GAAS,eAAAC,GAAe,UAAUC,MAAoBJ;AAKnD,EAAAK,EAAc;AAC3B,QAAA,EAAE,MAAAC,EAAK,IAAIC,EAAiB,GAE5BC,IAAwBC,EAA0BV,GAAS;AAAA,IAC/D,SAAAG;AAAA,IACA,YAAYD;AAAA,EAAA,CACb,GAEK,CAACS,GAAUC,GAAWC,CAAK,IAAIC;AAAA,IACnCV,EAAc;AAAA,IACdC;AAAA,EACF;AAES,WAAAU,EACPC,GACAC,GACA;AACM,UAAAC,IAA+D,CACnEC,GACAC,MACG;AACG,YAAA,EAAE,WAAAC,MAAcD;AAEtB,MAAAE;AAAA,QACEH;AAAA,QACAZ;AAAA,QACAL;AAAA,QACAmB;AAAA,QACAjB,EAAc;AAAA,MAEhB,EACG,KAAK,CAACmB,MACEd,EAAsBc,CAAE,CAChC,EACA,MAAM,QAAQ,KAAK;AAAA,IACxB;AAEA,IAAAX;AAAA,MACEY,EAAiBR,CAAwB;AAAA,MACzCE;AAAA,MACAD;AAAA,IACF;AAAA,EAAA;AAGK,SAAA;AAAA,IACL,UAAAF;AAAA,IACA,UAAAJ;AAAA,IACA,OAAAE;AAAA,EACF;AACF;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUserPermissions.js","sources":["../../src/hooks/useUserPermissions.ts"],"sourcesContent":["export type UserPermissions = {\n isAllowedToCreateDocuments: boolean;\n isAllowedToEditDocuments: boolean;\n};\n\nexport function useUserPermissions(): UserPermissions | undefined {\n return {\n isAllowedToCreateDocuments: true,\n isAllowedToEditDocuments: true,\n };\n}\n"],"names":["useUserPermissions"],"mappings":"AAKO,SAASA,IAAkD;AACzD,SAAA;AAAA,IACL,4BAA4B;AAAA,IAC5B,0BAA0B;AAAA,EAC5B;AACF;"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { baseDocumentModels as r, baseDocumentModelsMap as t } from "./document-model.js";
|
|
2
|
+
import { ReadModeContext as m, ReadModeContextProvider as i, useReadModeContext as a } from "./context/read-mode.js";
|
|
3
|
+
import { createBrowserDocumentDriveServer as n, getReactorDefaultDrivesConfig as u } from "./reactor.js";
|
|
4
|
+
import { useUserPermissions as x } from "./hooks/useUserPermissions.js";
|
|
5
|
+
import { useDocumentEditor as f } from "./hooks/useDocumentEditor.js";
|
|
6
|
+
import { documentDrivesInitializedMapAtomFamily as v, drivesToHash as M, useDocumentDrives as l } from "./hooks/useDocumentDrives.js";
|
|
7
|
+
import { useDocument as R } from "./hooks/useDocument.js";
|
|
8
|
+
export {
|
|
9
|
+
m as ReadModeContext,
|
|
10
|
+
i as ReadModeContextProvider,
|
|
11
|
+
r as baseDocumentModels,
|
|
12
|
+
t as baseDocumentModelsMap,
|
|
13
|
+
n as createBrowserDocumentDriveServer,
|
|
14
|
+
v as documentDrivesInitializedMapAtomFamily,
|
|
15
|
+
M as drivesToHash,
|
|
16
|
+
u as getReactorDefaultDrivesConfig,
|
|
17
|
+
R as useDocument,
|
|
18
|
+
l as useDocumentDrives,
|
|
19
|
+
f as useDocumentEditor,
|
|
20
|
+
a as useReadModeContext,
|
|
21
|
+
x as useUserPermissions
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
package/dist/reactor.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import a from "document-drive/cache/memory";
|
|
2
|
+
import { BaseQueueManager as n } from "document-drive/queue/base";
|
|
3
|
+
import { DocumentDriveServer as s } from "document-drive/server";
|
|
4
|
+
import { BrowserStorage as l } from "document-drive/storage/browser";
|
|
5
|
+
const p = (r = {}) => {
|
|
6
|
+
const e = r.defaultDrivesUrl || [];
|
|
7
|
+
return {
|
|
8
|
+
defaultDrives: {
|
|
9
|
+
remoteDrives: e.map(
|
|
10
|
+
(o) => ({
|
|
11
|
+
url: o,
|
|
12
|
+
options: {
|
|
13
|
+
sharingType: "PUBLIC",
|
|
14
|
+
availableOffline: !0,
|
|
15
|
+
listeners: [
|
|
16
|
+
{
|
|
17
|
+
block: !0,
|
|
18
|
+
callInfo: {
|
|
19
|
+
data: o,
|
|
20
|
+
name: "switchboard-push",
|
|
21
|
+
transmitterType: "SwitchboardPush"
|
|
22
|
+
},
|
|
23
|
+
filter: {
|
|
24
|
+
branch: ["main"],
|
|
25
|
+
documentId: ["*"],
|
|
26
|
+
documentType: ["*"],
|
|
27
|
+
scope: ["global"]
|
|
28
|
+
},
|
|
29
|
+
label: "Switchboard Sync",
|
|
30
|
+
listenerId: "1",
|
|
31
|
+
system: !0
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
triggers: [],
|
|
35
|
+
pullInterval: 3e3
|
|
36
|
+
}
|
|
37
|
+
})
|
|
38
|
+
),
|
|
39
|
+
removeOldRemoteDrives: e.length > 0 ? {
|
|
40
|
+
strategy: "preserve-by-url-and-detach",
|
|
41
|
+
urls: e
|
|
42
|
+
} : { strategy: "preserve-all" }
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
function v(r, e, t) {
|
|
47
|
+
return new s(
|
|
48
|
+
r,
|
|
49
|
+
new l(e),
|
|
50
|
+
new a(),
|
|
51
|
+
new n(1, 10),
|
|
52
|
+
t
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
export {
|
|
56
|
+
v as createBrowserDocumentDriveServer,
|
|
57
|
+
p as getReactorDefaultDrivesConfig
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=reactor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactor.js","sources":["../src/reactor.ts"],"sourcesContent":["import InMemoryCache from \"document-drive/cache/memory\";\nimport { BaseQueueManager } from \"document-drive/queue/base\";\nimport {\n DefaultRemoteDriveInput,\n DocumentDriveServer,\n DocumentDriveServerOptions,\n} from \"document-drive/server\";\nimport { BrowserStorage } from \"document-drive/storage/browser\";\nimport { DocumentModel } from \"document-model/document\";\n\nexport type ReactorDefaultDrivesConfig = {\n defaultDrivesUrl?: string[];\n};\n\nexport const getReactorDefaultDrivesConfig = (\n config: ReactorDefaultDrivesConfig = {},\n): Pick<DocumentDriveServerOptions, \"defaultDrives\"> => {\n const defaultDrivesUrl = config.defaultDrivesUrl || [];\n\n const remoteDrives: DefaultRemoteDriveInput[] = defaultDrivesUrl.map(\n (driveUrl) => ({\n url: driveUrl,\n options: {\n sharingType: \"PUBLIC\",\n availableOffline: true,\n listeners: [\n {\n block: true,\n callInfo: {\n data: driveUrl,\n name: \"switchboard-push\",\n transmitterType: \"SwitchboardPush\",\n },\n filter: {\n branch: [\"main\"],\n documentId: [\"*\"],\n documentType: [\"*\"],\n scope: [\"global\"],\n },\n label: \"Switchboard Sync\",\n listenerId: \"1\",\n system: true,\n },\n ],\n triggers: [],\n pullInterval: 3000,\n },\n }),\n );\n\n return {\n defaultDrives: {\n remoteDrives,\n removeOldRemoteDrives:\n defaultDrivesUrl.length > 0\n ? {\n strategy: \"preserve-by-url-and-detach\",\n urls: defaultDrivesUrl,\n }\n : { strategy: \"preserve-all\" },\n },\n };\n};\n\nexport function createBrowserDocumentDriveServer(\n documentModels: DocumentModel[],\n routerBasename: string,\n documentDriveServerOptions?: DocumentDriveServerOptions,\n) {\n return new DocumentDriveServer(\n documentModels,\n new BrowserStorage(routerBasename),\n new InMemoryCache(),\n new BaseQueueManager(1, 10),\n documentDriveServerOptions,\n );\n}\n"],"names":["getReactorDefaultDrivesConfig","config","defaultDrivesUrl","driveUrl","createBrowserDocumentDriveServer","documentModels","routerBasename","documentDriveServerOptions","DocumentDriveServer","BrowserStorage","InMemoryCache","BaseQueueManager"],"mappings":";;;;AAcO,MAAMA,IAAgC,CAC3CC,IAAqC,OACiB;AAChD,QAAAC,IAAmBD,EAAO,oBAAoB,CAAC;AAiC9C,SAAA;AAAA,IACL,eAAe;AAAA,MACb,cAjC4CC,EAAiB;AAAA,QAC/D,CAACC,OAAc;AAAA,UACb,KAAKA;AAAA,UACL,SAAS;AAAA,YACP,aAAa;AAAA,YACb,kBAAkB;AAAA,YAClB,WAAW;AAAA,cACT;AAAA,gBACE,OAAO;AAAA,gBACP,UAAU;AAAA,kBACR,MAAMA;AAAA,kBACN,MAAM;AAAA,kBACN,iBAAiB;AAAA,gBACnB;AAAA,gBACA,QAAQ;AAAA,kBACN,QAAQ,CAAC,MAAM;AAAA,kBACf,YAAY,CAAC,GAAG;AAAA,kBAChB,cAAc,CAAC,GAAG;AAAA,kBAClB,OAAO,CAAC,QAAQ;AAAA,gBAClB;AAAA,gBACA,OAAO;AAAA,gBACP,YAAY;AAAA,gBACZ,QAAQ;AAAA,cAAA;AAAA,YAEZ;AAAA,YACA,UAAU,CAAC;AAAA,YACX,cAAc;AAAA,UAAA;AAAA,QAElB;AAAA,MACF;AAAA,MAKI,uBACED,EAAiB,SAAS,IACtB;AAAA,QACE,UAAU;AAAA,QACV,MAAMA;AAAA,MAAA,IAER,EAAE,UAAU,eAAe;AAAA,IAAA;AAAA,EAErC;AACF;AAEgB,SAAAE,EACdC,GACAC,GACAC,GACA;AACA,SAAO,IAAIC;AAAA,IACTH;AAAA,IACA,IAAII,EAAeH,CAAc;AAAA,IACjC,IAAII,EAAc;AAAA,IAClB,IAAIC,EAAiB,GAAG,EAAE;AAAA,IAC1BJ;AAAA,EACF;AACF;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-mode.d.ts","sourceRoot":"","sources":["../../../src/context/read-mode.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,uBAAuB,EAKvB,oBAAoB,EAEpB,SAAS,EAOV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAEL,EAAE,EACF,SAAS,EAKV,MAAM,OAAO,CAAC;AAkBf,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,gBAAgB,CAAC,aAAa,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC7D;AAuID,eAAO,MAAM,eAAe,2CAG1B,CAAC;AAEH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC,uBAAuB,GAAG,oBAAoB,CAAC,CAAC;CACzE;AAcD,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,4BAA4B,CAkFpE,CAAC;AACF,eAAO,MAAM,kBAAkB,wBAAoC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/crypto/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEvD,qBAAa,iBAAkB,YAAW,qBAAqB;;;IA2BvD,WAAW,CAAC,OAAO,EAAE,UAAU;IAa/B,WAAW,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CAgBrD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,UAAU,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,WAAW,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAC/C,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAQD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CACjD;AAED,MAAM,MAAM,GAAG,GAAG,WAAW,MAAM,EAAE,CAAC;AAEtC,qBAAa,aAAc,YAAW,cAAc;;IAOlD,MAAM,CAAC,SAAS,EAAE,cAAc,CAG9B;IAEF,MAAM,CAAC,aAAa;;;;MAIlB;gBAEU,cAAc,EAAE,qBAAqB;IA2CjD,GAAG;IAIG,aAAa;IA+Eb,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAelD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-model.d.ts","sourceRoot":"","sources":["../../src/document-model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAG/D,CAAC;AAEF,eAAO,MAAM,kBAAkB,iBAAuC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAddDebouncedOperations.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAddDebouncedOperations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAI9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAyCtD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,oBAAoB,GAAG,SAAS,EACzC,KAAK,EAAE,8BAA8B,eAxClB,SAAS,mCAoF7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnectCrypto.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnectCrypto.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,cAAc,EAAiB,MAAM,WAAW,CAAC;AAS/D,wBAAgB,gBAAgB,IAAI,cAAc,CAkBjD;AAID,wBAAgB,aAAa,IAAI,GAAG,GAAG,SAAS,CAc/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDocument.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDocument.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAgB,MAAM,uBAAuB,CAAC;AAE3E,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,WAAW,CACzB,OAAO,EAAE,oBAAoB,GAAG,SAAS,EACzC,YAAY,GAAE,YAAiB,wBA2ChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDocumentDispatch.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDocumentDispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACR,MAAM,yBAAyB,CAAC;AAGjC,MAAM,MAAM,wBAAwB,CAAC,KAAK,EAAE,CAAC,SAAS,MAAM,EAAE,UAAU,IAAI,CAC1E,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;IACL,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC1C,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;CAC1C,KACE,IAAI,CAAC;AAEV,MAAM,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC,SAAS,MAAM,EAAE,UAAU,IAAI,CAClE,MAAM,EAAE,CAAC,GAAG,UAAU,EACtB,QAAQ,CAAC,EAAE,wBAAwB,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,EACzD,eAAe,CAAC,EAAE,mBAAmB,KAClC,IAAI,CAAC;AAEV,KAAK,cAAc,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;AAE/C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,CAAC,SAAS,MAAM,EAAE,UAAU,EACrE,eAAe,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,SAAS,EAC1D,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,SAAS,EACxD,OAAO,GAAE,cAA8B,GACtC,SAAS;IACV,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,SAAS;IAC1C,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC;IACtC,OAAO;CACR,CAkDA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDocumentDrives.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDocumentDrives.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAQ7D,wBAAgB,YAAY,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAEpE;AAuBD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AACtE,eAAO,MAAM,sCAAsC;;EAElD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mBAAmB,EAAE,CACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,oBAAoB,gFAwCvC,kBAAkB,6CA2C1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDocumentEditor.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDocumentEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,QAAQ,EACR,SAAS,EACT,UAAU,EACV,aAAa,EACb,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,MAAM,wBAAwB,CAAC,KAAK,EAAE,CAAC,SAAS,MAAM,EAAE,UAAU,IAAI,CAC1E,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;IACL,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC1C,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;CAC1C,KACE,IAAI,CAAC;AAEV,MAAM,MAAM,sBAAsB,CAChC,CAAC,GAAG,OAAO,EACX,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,UAAU,GAAG,OAAO,IAClB;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;IACjD,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;CAC3D,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,oBAAoB,GAAG,SAAS,EACzC,KAAK,EAAE,sBAAsB;uBAqBnB,UAAU,GAAG,MAAM,oBACT,mBAAmB;;;EAkCxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUserPermissions.d.ts","sourceRoot":"","sources":["../../../src/hooks/useUserPermissions.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,0BAA0B,EAAE,OAAO,CAAC;IACpC,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,SAAS,CAKhE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,MAAM,MAAM,4BAA4B,GAAG,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../src/reactor.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,0BAA0B,EAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,MAAM,0BAA0B,GAAG;IACvC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,6BAA6B,YAChC,0BAA0B,KACjC,IAAI,CAAC,0BAA0B,EAAE,eAAe,CA8ClD,CAAC;AAEF,wBAAgB,gCAAgC,CAC9C,cAAc,EAAE,aAAa,EAAE,EAC/B,cAAc,EAAE,MAAM,EACtB,0BAA0B,CAAC,EAAE,0BAA0B,oGASxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/renown/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,0BAA0B,CAAC;AAClD,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAC1C,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,eAAO,MAAM,WAAW;;;;;;;;;;;;EAKd,CAAC;AAEX,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;EASpC,CAAC;AAEX,eAAO,MAAM,6BAA6B;;;;;;EAGhC,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;;;;;EAI1B,CAAC;AAEX,eAAO,MAAM,WAAW;;;;;;EAGd,CAAC;AAEX,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/renown/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/storage/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ,CACvB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAE3D,GAAG,CAAC,GAAG,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3C,GAAG,CAAC,GAAG,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACzD,MAAM,CAAC,GAAG,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;CAC7C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAOtD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAEpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/utils/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAEN,QAAQ,EACR,SAAS,EAET,OAAO,EACP,IAAI,EAEL,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE1D,wBAAsB,aAAa,CACjC,KAAK,GAAG,OAAO,EACf,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,UAAU,GAAG,OAAO,EAEpB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EACvB,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,EAC/C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,EACxC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,EACvC,IAAI,CAAC,EAAE,IAAI,GACV,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CA0BvB;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EACxD,MAAM,EAAE,CAAC,EACT,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,UAAU,KAqBlB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
function a(o) {
|
|
2
|
+
return Object.keys(o.operations).map(
|
|
3
|
+
(n) => {
|
|
4
|
+
var t;
|
|
5
|
+
return `${n}:${o.operations[n].length}:${(t = o.operations[n].at(-1)) == null ? void 0 : t.hash}`;
|
|
6
|
+
}
|
|
7
|
+
).join(":");
|
|
8
|
+
}
|
|
9
|
+
function s(o) {
|
|
10
|
+
return o.map(a).join("&");
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
a as documentToHash,
|
|
14
|
+
s as drivesToHash
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import { Document, OperationScope } from \"document-model/document\";\nimport { DocumentDriveDocument } from \"document-model-libs/document-drive\";\n\nexport function documentToHash(drive: Document): string {\n return Object.keys(drive.operations)\n .map(\n (key) =>\n `${key}:${drive.operations[key as OperationScope].length}:${drive.operations[key as OperationScope].at(-1)?.hash}`,\n )\n .join(\":\");\n}\n\nexport function drivesToHash(drives: DocumentDriveDocument[]): string {\n return drives.map(documentToHash).join(\"&\");\n}\n"],"names":["documentToHash","drive","key","_a","drivesToHash","drives"],"mappings":"AAGO,SAASA,EAAeC,GAAyB;AACtD,SAAO,OAAO,KAAKA,EAAM,UAAU,EAChC;AAAA,IACC,CAACC,MACC;AAJD,UAAAC;AAIC,gBAAGD,CAAG,IAAID,EAAM,WAAWC,CAAqB,EAAE,MAAM,KAAIC,IAAAF,EAAM,WAAWC,CAAqB,EAAE,GAAG,EAAE,MAA7C,gBAAAC,EAAgD,IAAI;AAAA;AAAA,EAAA,EAEnH,KAAK,GAAG;AACb;AAEO,SAASC,EAAaC,GAAyC;AACpE,SAAOA,EAAO,IAAIL,CAAc,EAAE,KAAK,GAAG;AAC5C;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature.js","sources":["../../src/utils/signature.ts"],"sourcesContent":["import {\n Action,\n ActionSigner,\n Document,\n Operation,\n OperationSignatureContext,\n Reducer,\n User,\n utils,\n} from \"document-model/document\";\nimport type { User as RenownUser } from \"../renown/types\";\n\nexport async function signOperation<\n State = unknown,\n A extends Action = Action,\n LocalState = unknown,\n>(\n operation: Operation<A>,\n sign: (data: Uint8Array) => Promise<Uint8Array>,\n documentId: string,\n document: Document<State, A, LocalState>,\n reducer?: Reducer<State, A, LocalState>,\n user?: User,\n): Promise<Operation<A>> {\n if (!user) return operation;\n if (!operation.context) return operation;\n if (!operation.context.signer) return operation;\n if (!reducer) {\n console.error(\n `Document model '${document.documentType}' does not have a reducer`,\n );\n return operation;\n }\n\n const context: Omit<\n OperationSignatureContext,\n \"operation\" | \"previousStateHash\"\n > = {\n documentId,\n signer: operation.context.signer,\n };\n\n const signedOperation = await utils.buildSignedOperation<\n State,\n A,\n LocalState\n >(operation, reducer, document, context, sign);\n\n return signedOperation as Operation<A>;\n}\n\nexport function addActionContext<A extends Action = Action>(\n action: A,\n connectDid?: string,\n user?: RenownUser,\n) {\n if (!user) return action;\n\n const signer: ActionSigner = {\n app: {\n name: \"Connect\",\n key: connectDid || \"\",\n },\n user: {\n address: user.address,\n networkId: user.networkId,\n chainId: user.chainId,\n },\n signatures: [],\n };\n\n return {\n context: { signer },\n ...action,\n };\n}\n"],"names":["signOperation","operation","sign","documentId","document","reducer","user","addActionContext","action","connectDid"],"mappings":";AAYA,eAAsBA,EAKpBC,GACAC,GACAC,GACAC,GACAC,GACAC,GACuB;AACL,SAAAL;AAyBpB;AAEgB,SAAAM,EACdC,GACAC,GACAH,GACA;AACkB,SAAAE;AAmBpB;"}
|
package/package.json
CHANGED
|
@@ -1,37 +1,43 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerhousedao/reactor-browser",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"license": "AGPL-3.0-only",
|
|
5
|
+
"type": "module",
|
|
5
6
|
"publishConfig": {
|
|
6
7
|
"access": "public"
|
|
7
8
|
},
|
|
8
9
|
"files": [
|
|
9
10
|
"dist"
|
|
10
11
|
],
|
|
11
|
-
"types": "dist/
|
|
12
|
-
"main": "dist/
|
|
13
|
-
"module": "dist/es/index.js",
|
|
12
|
+
"types": "dist/src/index.d.ts",
|
|
13
|
+
"main": "dist/index.js",
|
|
14
14
|
"keywords": [],
|
|
15
15
|
"author": "",
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@types/react": "^18.3.1",
|
|
18
18
|
"@types/react-dom": "^18.3.1",
|
|
19
19
|
"react": "^18.3.1",
|
|
20
|
-
"react-dom": "^18.3.1"
|
|
20
|
+
"react-dom": "^18.3.1",
|
|
21
|
+
"@powerhousedao/design-system": "1.18.0",
|
|
22
|
+
"document-drive": "1.13.0",
|
|
23
|
+
"@powerhousedao/scalars": "1.16.0",
|
|
24
|
+
"@powerhousedao/config": "1.5.0",
|
|
25
|
+
"document-model": "2.15.0",
|
|
26
|
+
"document-model-libs": "1.125.0"
|
|
21
27
|
},
|
|
22
28
|
"peerDependencies": {
|
|
23
29
|
"react": "^18.3.1",
|
|
24
|
-
"react-dom": "^18.3.1"
|
|
30
|
+
"react-dom": "^18.3.1",
|
|
31
|
+
"@powerhousedao/config": "1.5.0",
|
|
32
|
+
"@powerhousedao/design-system": "1.18.0",
|
|
33
|
+
"@powerhousedao/scalars": "1.16.0",
|
|
34
|
+
"document-drive": "1.13.0",
|
|
35
|
+
"document-model-libs": "1.125.0",
|
|
36
|
+
"document-model": "2.15.0"
|
|
25
37
|
},
|
|
26
38
|
"dependencies": {
|
|
27
39
|
"did-key-creator": "^1.2.0",
|
|
28
|
-
"jotai": "^2.10.3"
|
|
29
|
-
"@powerhousedao/config": "1.4.0",
|
|
30
|
-
"@powerhousedao/scalars": "1.15.0",
|
|
31
|
-
"@powerhousedao/design-system": "1.17.1",
|
|
32
|
-
"document-model-libs": "1.124.0",
|
|
33
|
-
"document-drive": "1.12.1",
|
|
34
|
-
"document-model": "2.14.0"
|
|
40
|
+
"jotai": "^2.10.3"
|
|
35
41
|
},
|
|
36
42
|
"scripts": {
|
|
37
43
|
"check-types": "tsc",
|