@abraca/dabra 0.1.0 → 0.1.2
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/{hocuspocus-provider.cjs → abracadabra-provider.cjs} +7 -58
- package/dist/abracadabra-provider.cjs.map +1 -0
- package/dist/{hocuspocus-provider.esm.js → abracadabra-provider.esm.js} +2 -53
- package/dist/abracadabra-provider.esm.js.map +1 -0
- package/dist/index.d.ts +1 -6
- package/package.json +1 -1
- package/src/AbracadabraClient.ts +381 -0
- package/src/AbracadabraProvider.ts +46 -6
- package/src/CryptoIdentityKeystore.ts +14 -2
- package/src/HocuspocusProvider.ts +518 -575
- package/src/HocuspocusProviderWebsocket.ts +508 -512
- package/src/MessageReceiver.ts +125 -128
- package/src/OutgoingMessages/AuthenticationMessage.ts +12 -14
- package/src/index.ts +1 -0
- package/src/types.ts +99 -55
- package/dist/hocuspocus-provider.cjs.map +0 -1
- package/dist/hocuspocus-provider.esm.js.map +0 -1
|
@@ -26,6 +26,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
}) : target, mod));
|
|
27
27
|
|
|
28
28
|
//#endregion
|
|
29
|
+
let _abraca_dabra_common = require("@abraca/dabra-common");
|
|
29
30
|
let yjs = require("yjs");
|
|
30
31
|
yjs = __toESM(yjs);
|
|
31
32
|
let _lifeomic_attempt = require("@lifeomic/attempt");
|
|
@@ -593,58 +594,6 @@ const peekVarString = (decoder) => {
|
|
|
593
594
|
return s;
|
|
594
595
|
};
|
|
595
596
|
|
|
596
|
-
//#endregion
|
|
597
|
-
//#region packages/common/src/auth.ts
|
|
598
|
-
let AuthMessageType = /* @__PURE__ */ function(AuthMessageType) {
|
|
599
|
-
AuthMessageType[AuthMessageType["Token"] = 0] = "Token";
|
|
600
|
-
AuthMessageType[AuthMessageType["PermissionDenied"] = 1] = "PermissionDenied";
|
|
601
|
-
AuthMessageType[AuthMessageType["Authenticated"] = 2] = "Authenticated";
|
|
602
|
-
return AuthMessageType;
|
|
603
|
-
}({});
|
|
604
|
-
const writeAuthentication = (encoder, auth) => {
|
|
605
|
-
writeVarUint(encoder, AuthMessageType.Token);
|
|
606
|
-
writeVarString(encoder, auth);
|
|
607
|
-
};
|
|
608
|
-
const readAuthMessage = (decoder, sendToken, permissionDeniedHandler, authenticatedHandler) => {
|
|
609
|
-
switch (readVarUint(decoder)) {
|
|
610
|
-
case AuthMessageType.Token:
|
|
611
|
-
sendToken();
|
|
612
|
-
break;
|
|
613
|
-
case AuthMessageType.PermissionDenied:
|
|
614
|
-
permissionDeniedHandler(readVarString(decoder));
|
|
615
|
-
break;
|
|
616
|
-
case AuthMessageType.Authenticated:
|
|
617
|
-
authenticatedHandler(readVarString(decoder));
|
|
618
|
-
break;
|
|
619
|
-
default:
|
|
620
|
-
}
|
|
621
|
-
};
|
|
622
|
-
|
|
623
|
-
//#endregion
|
|
624
|
-
//#region packages/common/src/awarenessStatesToArray.ts
|
|
625
|
-
const awarenessStatesToArray = (states) => {
|
|
626
|
-
return Array.from(states.entries()).map(([key, value]) => {
|
|
627
|
-
return {
|
|
628
|
-
clientId: key,
|
|
629
|
-
...value
|
|
630
|
-
};
|
|
631
|
-
});
|
|
632
|
-
};
|
|
633
|
-
|
|
634
|
-
//#endregion
|
|
635
|
-
//#region packages/common/src/types.ts
|
|
636
|
-
/**
|
|
637
|
-
* State of the WebSocket connection.
|
|
638
|
-
* https://developer.mozilla.org/de/docs/Web/API/WebSocket/readyState
|
|
639
|
-
*/
|
|
640
|
-
let WsReadyStates = /* @__PURE__ */ function(WsReadyStates) {
|
|
641
|
-
WsReadyStates[WsReadyStates["Connecting"] = 0] = "Connecting";
|
|
642
|
-
WsReadyStates[WsReadyStates["Open"] = 1] = "Open";
|
|
643
|
-
WsReadyStates[WsReadyStates["Closing"] = 2] = "Closing";
|
|
644
|
-
WsReadyStates[WsReadyStates["Closed"] = 3] = "Closed";
|
|
645
|
-
return WsReadyStates;
|
|
646
|
-
}({});
|
|
647
|
-
|
|
648
597
|
//#endregion
|
|
649
598
|
//#region node_modules/lib0/time.js
|
|
650
599
|
/**
|
|
@@ -1423,7 +1372,7 @@ var HocuspocusProviderWebsocket = class extends EventEmitter {
|
|
|
1423
1372
|
}
|
|
1424
1373
|
}
|
|
1425
1374
|
send(message) {
|
|
1426
|
-
if (this.webSocket?.readyState === WsReadyStates.Open) this.webSocket.send(message);
|
|
1375
|
+
if (this.webSocket?.readyState === _abraca_dabra_common.WsReadyStates.Open) this.webSocket.send(message);
|
|
1427
1376
|
else this.messageQueue.push(message);
|
|
1428
1377
|
}
|
|
1429
1378
|
onClose({ event }) {
|
|
@@ -1627,7 +1576,7 @@ var MessageReceiver = class {
|
|
|
1627
1576
|
}
|
|
1628
1577
|
applyAuthMessage(provider) {
|
|
1629
1578
|
const { message } = this;
|
|
1630
|
-
readAuthMessage(message.decoder, provider.sendToken.bind(provider), provider.permissionDeniedHandler.bind(provider), provider.authenticatedHandler.bind(provider));
|
|
1579
|
+
(0, _abraca_dabra_common.readAuthMessage)(message.decoder, provider.sendToken.bind(provider), provider.permissionDeniedHandler.bind(provider), provider.authenticatedHandler.bind(provider));
|
|
1631
1580
|
}
|
|
1632
1581
|
applyQueryAwarenessMessage(provider) {
|
|
1633
1582
|
if (!provider.awareness) return;
|
|
@@ -1664,7 +1613,7 @@ var AuthenticationMessage = class extends OutgoingMessage {
|
|
|
1664
1613
|
if (typeof args.token === "undefined") throw new Error("The authentication message requires `token` as an argument.");
|
|
1665
1614
|
writeVarString(this.encoder, args.documentName);
|
|
1666
1615
|
writeVarUint(this.encoder, this.type);
|
|
1667
|
-
writeAuthentication(this.encoder, args.token);
|
|
1616
|
+
(0, _abraca_dabra_common.writeAuthentication)(this.encoder, args.token);
|
|
1668
1617
|
return this.encoder;
|
|
1669
1618
|
}
|
|
1670
1619
|
};
|
|
@@ -1804,10 +1753,10 @@ var HocuspocusProvider = class extends EventEmitter {
|
|
|
1804
1753
|
this.on("authenticated", this.configuration.onAuthenticated);
|
|
1805
1754
|
this.on("authenticationFailed", this.configuration.onAuthenticationFailed);
|
|
1806
1755
|
this.awareness?.on("update", () => {
|
|
1807
|
-
this.emit("awarenessUpdate", { states: awarenessStatesToArray(this.awareness.getStates()) });
|
|
1756
|
+
this.emit("awarenessUpdate", { states: (0, _abraca_dabra_common.awarenessStatesToArray)(this.awareness.getStates()) });
|
|
1808
1757
|
});
|
|
1809
1758
|
this.awareness?.on("change", () => {
|
|
1810
|
-
this.emit("awarenessChange", { states: awarenessStatesToArray(this.awareness.getStates()) });
|
|
1759
|
+
this.emit("awarenessChange", { states: (0, _abraca_dabra_common.awarenessStatesToArray)(this.awareness.getStates()) });
|
|
1811
1760
|
});
|
|
1812
1761
|
this.document.on("update", this.boundDocumentUpdateHandler);
|
|
1813
1762
|
this.awareness?.on("update", this.boundAwarenessUpdateHandler);
|
|
@@ -3234,4 +3183,4 @@ exports.MessageType = MessageType;
|
|
|
3234
3183
|
exports.OfflineStore = OfflineStore;
|
|
3235
3184
|
exports.SubdocMessage = SubdocMessage;
|
|
3236
3185
|
exports.WebSocketStatus = WebSocketStatus;
|
|
3237
|
-
//# sourceMappingURL=
|
|
3186
|
+
//# sourceMappingURL=abracadabra-provider.cjs.map
|