p2party 0.7.11 → 0.8.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/lib/api/signalingServerApi.d.ts +0 -3
- package/lib/api/signalingServerApi.d.ts.map +1 -0
- package/lib/api/webrtc/baseQuery.d.ts.map +1 -1
- package/lib/api/webrtc/disconnectFromPeerChannelLabelQuery.d.ts.map +1 -1
- package/lib/api/webrtc/disconnectFromPeerQuery.d.ts.map +1 -1
- package/lib/api/webrtc/sendMessageQuery.d.ts.map +1 -1
- package/lib/api/webrtc/setDescriptionQuery.d.ts.map +1 -1
- package/lib/cryptography/chacha20poly1305.d.ts.map +1 -0
- package/lib/cryptography/ed25519.d.ts.map +1 -0
- package/lib/cryptography/interfaces.d.ts.map +1 -0
- package/lib/cryptography/memory.d.ts.map +1 -0
- package/lib/cryptography/merkle.d.ts.map +1 -0
- package/lib/cryptography/mnemonic.d.ts.map +1 -0
- package/lib/cryptography/utils.d.ts.map +1 -0
- package/lib/cryptography/wasmLoader.d.ts.map +1 -0
- package/lib/db/api.d.ts.map +1 -0
- package/lib/db/db.worker.d.ts.map +1 -0
- package/lib/db/types.d.ts.map +1 -0
- package/lib/db.worker.js +1 -1
- package/lib/db.worker.js.map +1 -0
- package/lib/handlers/handleChallenge.d.ts +1 -2
- package/lib/handlers/handleChallenge.d.ts.map +1 -0
- package/lib/handlers/handleConnectToPeer.d.ts.map +1 -0
- package/lib/handlers/handleMessageQueueing.d.ts +5 -0
- package/lib/handlers/handleMessageQueueing.d.ts.map +1 -0
- package/lib/handlers/handleOpenChannel.d.ts.map +1 -0
- package/lib/handlers/handleQueuedIceCandidates.d.ts.map +1 -0
- package/lib/handlers/handleReadReceipt.d.ts +1 -2
- package/lib/handlers/handleReadReceipt.d.ts.map +1 -0
- package/lib/handlers/handleReceiveMessage.d.ts.map +1 -0
- package/lib/handlers/handleSendMessage.d.ts.map +1 -0
- package/lib/handlers/handleWebSocketMessage.d.ts +2 -1
- package/lib/handlers/handleWebSocketMessage.d.ts.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -0
- package/lib/index.min.js +1 -1
- package/lib/index.min.js.map +1 -0
- package/lib/index.mjs +1 -1
- package/lib/index.mjs.map +1 -0
- package/lib/middleware/keyPairListenerMiddleware.d.ts.map +1 -0
- package/lib/middleware/roomListenerMiddleware.d.ts.map +1 -0
- package/lib/reducers/commonSlice.d.ts.map +1 -0
- package/lib/reducers/keyPairSlice.d.ts.map +1 -0
- package/lib/reducers/roomSlice.d.ts.map +1 -0
- package/lib/reducers/signalingServerSlice.d.ts.map +1 -0
- package/lib/store.d.ts.map +1 -0
- package/lib/utils/allocators.d.ts.map +1 -0
- package/lib/utils/channelLabel.d.ts.map +1 -0
- package/lib/utils/constants.d.ts.map +1 -0
- package/lib/utils/interfaces.d.ts +21 -0
- package/lib/utils/interfaces.d.ts.map +1 -0
- package/lib/utils/messageTypes.d.ts.map +1 -0
- package/lib/utils/metadata.d.ts.map +1 -0
- package/lib/utils/splitToChunks.d.ts.map +1 -0
- package/lib/utils/uint8array.d.ts.map +1 -0
- package/package.json +12 -21
- package/lib/handlers/handleSendMessageWebsocket.d.ts +0 -4
|
@@ -6,9 +6,6 @@ export interface WebSocketParams {
|
|
|
6
6
|
export interface WebSocketMessage {
|
|
7
7
|
content: WebSocketMessagePongResponse | WebSocketMessageCandidateSend | WebSocketMessageDescriptionSend | WebSocketMessageChallengeResponse | WebSocketMessageRoomIdRequest | WebSocketMessagePeersRequest | WebSocketMessageConnectionResponse | WebSocketMessageMessageSendRequest;
|
|
8
8
|
}
|
|
9
|
-
export declare const rtcDataChannelMessageLimit: number;
|
|
10
|
-
export declare const messageLen: number;
|
|
11
|
-
export declare const encryptedLen: number;
|
|
12
9
|
declare const signalingServerApi: import("@reduxjs/toolkit/query").Api<BaseQueryFn<WebSocketParams, undefined>, {
|
|
13
10
|
connectWebSocket: import("@reduxjs/toolkit/query").MutationDefinition<string, BaseQueryFn<WebSocketParams, undefined>, never, void, "signalingServerApi", undefined>;
|
|
14
11
|
disconnectWebSocket: import("@reduxjs/toolkit/query").MutationDefinition<void, BaseQueryFn<WebSocketParams, undefined>, never, void, "signalingServerApi", undefined>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signalingServerApi.d.ts","sourceRoot":"","sources":["../../src/api/signalingServerApi.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAEV,6BAA6B,EAC7B,+BAA+B,EAC/B,iCAAiC,EACjC,6BAA6B,EAC7B,4BAA4B,EAC5B,kCAAkC,EAClC,4BAA4B,EAC5B,kCAAkC,EAClC,6BAA6B,EAG9B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EACH,4BAA4B,GAC5B,6BAA6B,GAC7B,+BAA+B,GAC/B,iCAAiC,GACjC,6BAA6B,GAC7B,4BAA4B,GAC5B,kCAAkC,GAClC,kCAAkC,CAAC;CACxC;AA0TD,QAAA,MAAM,kBAAkB;;;;;uFAwBtB,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseQuery.d.ts","sourceRoot":"","sources":["../../../src/api/webrtc/baseQuery.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EAChB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,6BAA8B,SAAQ,uBAAuB;IAC5E,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC;AAED,QAAA,MAAM,eAAe,EAAE,WAAW,CAChC,6BAA6B,EAC7B,IAAI,EACJ,OAAO,
|
|
1
|
+
{"version":3,"file":"baseQuery.d.ts","sourceRoot":"","sources":["../../../src/api/webrtc/baseQuery.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EAChB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,6BAA8B,SAAQ,uBAAuB;IAC5E,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC;AAED,QAAA,MAAM,eAAe,EAAE,WAAW,CAChC,6BAA6B,EAC7B,IAAI,EACJ,OAAO,CAuGR,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disconnectFromPeerChannelLabelQuery.d.ts","sourceRoot":"","sources":["../../../src/api/webrtc/disconnectFromPeerChannelLabelQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"disconnectFromPeerChannelLabelQuery.d.ts","sourceRoot":"","sources":["../../../src/api/webrtc/disconnectFromPeerChannelLabelQuery.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,uCAAuC,EACxC,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,gDACf,SAAQ,uCAAuC;IAC/C,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC;AAED,QAAA,MAAM,yCAAyC,EAAE,WAAW,CAC1D,gDAAgD,EAChD,IAAI,EACJ,OAAO,CAgGR,CAAC;AAEF,eAAe,yCAAyC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disconnectFromPeerQuery.d.ts","sourceRoot":"","sources":["../../../src/api/webrtc/disconnectFromPeerQuery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC5B,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,oCACf,SAAQ,2BAA2B;IACnC,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC;AAED,QAAA,MAAM,yBAAyB,EAAE,WAAW,CAC1C,oCAAoC,EACpC,IAAI,EACJ,OAAO,
|
|
1
|
+
{"version":3,"file":"disconnectFromPeerQuery.d.ts","sourceRoot":"","sources":["../../../src/api/webrtc/disconnectFromPeerQuery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC5B,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,oCACf,SAAQ,2BAA2B;IACnC,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC;AAED,QAAA,MAAM,yBAAyB,EAAE,WAAW,CAC1C,oCAAoC,EACpC,IAAI,EACJ,OAAO,CAwDR,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendMessageQuery.d.ts","sourceRoot":"","sources":["../../../src/api/webrtc/sendMessageQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sendMessageQuery.d.ts","sourceRoot":"","sources":["../../../src/api/webrtc/sendMessageQuery.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,gCAAiC,SAAQ,oBAAoB;IAC5E,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC;IACzC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC;CACtC;AAED,QAAA,MAAM,kBAAkB,EAAE,WAAW,CACnC,gCAAgC,EAChC,IAAI,EACJ,OAAO,CAoCR,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setDescriptionQuery.d.ts","sourceRoot":"","sources":["../../../src/api/webrtc/setDescriptionQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setDescriptionQuery.d.ts","sourceRoot":"","sources":["../../../src/api/webrtc/setDescriptionQuery.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EAChB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,gCACf,SAAQ,uBAAuB;IAC/B,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC;AAED,QAAA,MAAM,yBAAyB,EAAE,WAAW,CAC1C,gCAAgC,EAChC,IAAI,EACJ,OAAO,CA4HR,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chacha20poly1305.d.ts","sourceRoot":"","sources":["../../src/cryptography/chacha20poly1305.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,UAAU,EACnB,mBAAmB,UAAU,EAC7B,iBAAiB,UAAU,EAC3B,gBAAgB,UAAU,EAC1B,SAAS,SAAS,KACjB,OAAO,CAAC,UAAU,CAkKpB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,eAAO,MAAM,iBAAiB,GAC5B,WAAW,UAAU,EACrB,WAAW,UAAU,EACrB,WAAW,UAAU,EACrB,gBAAgB,UAAU,EAC1B,SAAS,SAAS,KACjB,OAAO,CAAC,UAAU,CAuJpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../../src/cryptography/ed25519.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,eAAO,MAAM,UAAU,GAAU,SAAS,SAAS,KAAG,OAAO,CAAC,WAAW,CAwDxE,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,MAAM,UAAU,EAChB,SAAS,SAAS,KACjB,OAAO,CAAC,WAAW,CAwDrB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,WAAW,UAAU,EACrB,SAAS,SAAS,KACjB,OAAO,CAAC,WAAW,CA8CrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,IAAI,GACf,SAAS,UAAU,EACnB,WAAW,UAAU,EACrB,SAAS,SAAS,KACjB,OAAO,CAAC,UAAU,CA6CpB,CAAC;AAEF,eAAO,MAAM,MAAM,GACjB,SAAS,UAAU,EACnB,WAAW,UAAU,EACrB,WAAW,UAAU,EACrB,SAAS,SAAS,KACjB,OAAO,CAAC,OAAO,CA4CjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/cryptography/interfaces.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,QAAoC,CAAC;AAC9E,eAAO,MAAM,+BAA+B,QACT,CAAC;AACpC,eAAO,MAAM,wBAAwB,QAAoC,CAAC;AAC1E,eAAO,MAAM,yBAAyB,QAAoC,CAAC;AAC3E,eAAO,MAAM,6BAA6B,QAAoC,CAAC;AAC/E,eAAO,MAAM,kCAAkC,QACZ,CAAC;AACpC,eAAO,MAAM,kCAAkC,QACZ,CAAC;AACpC,eAAO,MAAM,yBAAyB,QAAoC,CAAC;AAC3E,eAAO,MAAM,2BAA2B,QAAoC,CAAC;AAC7E,eAAO,MAAM,gCAAgC,QACV,CAAC;AACpC,eAAO,MAAM,gCAAgC,QACV,CAAC;AACpC,eAAO,MAAM,gCAAgC,QACV,CAAC;AACpC,eAAO,MAAM,4BAA4B,QAAoC,CAAC;AAC9E,eAAO,MAAM,0CAA0C,QACpB,CAAC;AACpC,eAAO,MAAM,2CAA2C,QACrB,CAAC;AACpC,eAAO,MAAM,gCAAgC,QACV,CAAC;AAEpC,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,UAAU,CAAC;CACvB;AAED,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,WAO9C,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,cAAc,MAAM,WAOnD,CAAC;;;;;;;;;;;;;;+BAhBuC,MAAM;oCASD,MAAM;;AASpD,wBAeE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/cryptography/memory.ts"],"names":[],"mappings":";4BAwC6B,WAAW,CAAC,MAAM;iCASb,WAAW,CAAC,MAAM;sCAWb,WAAW,CAAC,MAAM;6BASzB,MAAM,KAAG,WAAW,CAAC,MAAM;+BAYzB,MAAM,KAAG,WAAW,CAAC,MAAM;0CAY/C,MAAM,qBACC,MAAM,KACxB,WAAW,CAAC,MAAM;4CAmBL,MAAM,qBACD,MAAM,KACxB,WAAW,CAAC,MAAM;qCAgBmB,MAAM,KAAG,WAAW,CAAC,MAAM;sCAU1B,MAAM,KAAG,WAAW,CAAC,MAAM;wCAazB,MAAM,KAAG,WAAW,CAAC,MAAM;gCAYnC,MAAM,KAAG,WAAW,CAAC,MAAM;;;AAyD9D,wBAaE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merkle.d.ts","sourceRoot":"","sources":["../../src/cryptography/merkle.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GACxB,YAAY,UAAU,EACtB,SAAS,SAAS,KACjB,OAAO,CAAC,UAAU,CAsEpB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,GACzB,YAAY,UAAU,EACtB,aAAa,UAAU,EACvB,SAAS,SAAS,EAClB,gBAAgB,MAAM,KACrB,OAAO,CAAC,UAAU,CAsIpB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,GACjC,MAAM,UAAU,EAChB,OAAO,UAAU,KAChB,OAAO,CAAC,UAAU,CA+EpB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,UAAU,EAChB,MAAM,UAAU,EAChB,OAAO,UAAU,EACjB,SAAS,SAAS,KACjB,OAAO,CAAC,OAAO,CAuEjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mnemonic.d.ts","sourceRoot":"","sources":["../../src/cryptography/mnemonic.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C,eAAO,MAAM,MAAM,GACjB,UAAU,MAAM,EAChB,OAAO,UAAU,EACjB,SAAS,SAAS,KACjB,OAAO,CAAC,UAAU,CAgEpB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,GAC3B,WACI,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAS,KACZ,OAAO,CAAC,MAAM,CA4ChB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,OAAO,CAyDzE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,OAAO,CAMxE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,EAChB,WAAW,MAAM,gDA4BlB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/cryptography/utils.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,GAC9B,KAAK,MAAM,EACX,KAAK,MAAM,KACV,OAAO,CAAC,MAAM,CAkChB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,KAAK,MAAM,EACX,2BAAwB,EACxB,6BAA0B,EAC1B,qBAAkB,KACjB,OAAO,CAAC,MAAM,CAqBhB,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,2BAAwB,EACxB,6BAA0B,EAC1B,qBAAkB,KACjB,OAAO,CAAC,MAAM,CAchB,CAAC;AAEF,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAU3D;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAOnD;AAED;;;;;;;GAOG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasmLoader.d.ts","sourceRoot":"","sources":["../../src/cryptography/wasmLoader.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU,GAAU,YAAY,WAAW,CAAC,MAAM,6CAY9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/db/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db.worker.d.ts","sourceRoot":"","sources":["../../src/db/db.worker.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/db/types.ts"],"names":[],"mappings":"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"}
|
package/lib/db.worker.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=(e,t)=>t.some(t=>e instanceof t);let t,a;const n=new WeakMap,o=new WeakMap,r=new WeakMap;let s={get(e,t,a){if(e instanceof IDBTransaction){if("done"===t)return n.get(e);if("store"===t)return a.objectStoreNames[1]?void 0:a.objectStore(a.objectStoreNames[0])}return d(e[t])},set:(e,t,a)=>(e[t]=a,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function i(e){s=e(s)}function c(e){return(a||(a=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(l(this),t),d(this.request)}:function(...t){return d(e.apply(l(this),t))}}function u(a){return"function"==typeof a?c(a):(a instanceof IDBTransaction&&function(e){if(n.has(e))return;const t=new Promise((t,a)=>{const n=()=>{e.removeEventListener("complete",o),e.removeEventListener("error",r),e.removeEventListener("abort",r)},o=()=>{t(),n()},r=()=>{a(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",o),e.addEventListener("error",r),e.addEventListener("abort",r)});n.set(e,t)}(a),e(a,t||(t=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(a,s):a)}function d(e){if(e instanceof IDBRequest)return function(e){const t=new Promise((t,a)=>{const n=()=>{e.removeEventListener("success",o),e.removeEventListener("error",r)},o=()=>{t(d(e.result)),n()},r=()=>{a(e.error),n()};e.addEventListener("success",o),e.addEventListener("error",r)});return r.set(t,e),t}(e);if(o.has(e))return o.get(e);const t=u(e);return t!==e&&(o.set(e,t),r.set(t,e)),t}const l=e=>r.get(e);const w=["get","getKey","getAll","getAllKeys","count"],h=["put","add","delete","clear"],m=new Map;function g(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(m.get(t))return m.get(t);const a=t.replace(/FromIndex$/,""),n=t!==a,o=h.includes(a);if(!(a in(n?IDBIndex:IDBObjectStore).prototype)||!o&&!w.includes(a))return;const r=async function(e,...t){const r=this.transaction(e,o?"readwrite":"readonly");let s=r.store;return n&&(s=s.index(t.shift())),(await Promise.all([s[a](...t),o&&r.done]))[0]};return m.set(t,r),r}i(e=>({...e,get:(t,a,n)=>g(t,a)||e.get(t,a,n),has:(t,a)=>!!g(t,a)||e.has(t,a)}));const k=["continue","continuePrimaryKey","advance"],y={},b=new WeakMap,f=new WeakMap,I={get(e,t){if(!k.includes(t))return e[t];let a=y[t];return a||(a=y[t]=function(...e){b.set(this,f.get(this)[t](...e))}),a}};async function*x(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;const a=new Proxy(t,I);for(f.set(a,t),r.set(a,l(t));t;)yield a,t=await(b.get(a)||t.continue()),b.delete(a)}function p(t,a){return a===Symbol.asyncIterator&&e(t,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===a&&e(t,[IDBIndex,IDBObjectStore])}i(e=>({...e,get:(t,a,n)=>p(t,a)?x:e.get(t,a,n),has:(t,a)=>p(t,a)||e.has(t,a)}));const D=64*Uint8Array.BYTES_PER_ELEMENT,B="p2party";async function S(){return function(e,t,{blocked:a,upgrade:n,blocking:o,terminated:r}={}){const s=indexedDB.open(e,t),i=d(s);return n&&s.addEventListener("upgradeneeded",e=>{n(d(s.result),e.oldVersion,e.newVersion,d(s.transaction),e)}),a&&s.addEventListener("blocked",e=>a(e.oldVersion,e.newVersion,e)),i.then(e=>{r&&e.addEventListener("close",()=>r()),o&&e.addEventListener("versionchange",e=>o(e.oldVersion,e.newVersion,e))}).catch(()=>{}),i}(B,16,{upgrade(e,t,a,n){if(e.objectStoreNames.contains("addressBook")){const e=n.objectStore("addressBook");e.indexNames.contains("username")||e.createIndex("username","username",{unique:!1}),e.indexNames.contains("peerId")||e.createIndex("peerId","peerId",{unique:!0}),e.indexNames.contains("peerPublicKey")||e.createIndex("peerPublicKey","peerPublicKey",{unique:!0})}else{const t=e.createObjectStore("addressBook",{keyPath:["peerId"]});t.createIndex("username","username",{unique:!1}),t.createIndex("peerId","peerId",{unique:!0}),t.createIndex("peerPublicKey","peerPublicKey",{unique:!0})}if(e.objectStoreNames.contains("blacklist")){const e=n.objectStore("blacklist");e.indexNames.contains("username")||e.createIndex("username","username",{unique:!1}),e.indexNames.contains("peerId")||e.createIndex("peerId","peerId",{unique:!0}),e.indexNames.contains("peerPublicKey")||e.createIndex("peerPublicKey","peerPublicKey",{unique:!0})}else{const t=e.createObjectStore("blacklist",{keyPath:["peerId"]});t.createIndex("username","username",{unique:!1}),t.createIndex("peerId","peerId",{unique:!0}),t.createIndex("peerPublicKey","peerPublicKey",{unique:!0})}if(e.objectStoreNames.contains("uniqueRoom")){const e=n.objectStore("uniqueRoom");e.indexNames.contains("roomUrl")||e.createIndex("roomUrl","roomUrl",{unique:!0}),e.indexNames.contains("roomId")||e.createIndex("roomId","roomId",{unique:!0})}else{const t=e.createObjectStore("uniqueRoom",{keyPath:["roomId"]});t.createIndex("roomUrl","roomUrl",{unique:!0}),t.createIndex("roomId","roomId",{unique:!0})}if(e.objectStoreNames.contains("messageData")){const e=n.objectStore("messageData");e.indexNames.contains("roomId")||e.createIndex("roomId","roomId",{unique:!1}),e.indexNames.contains("hash")||e.createIndex("hash","hash",{unique:!1}),e.indexNames.contains("merkleRoot")||e.createIndex("merkleRoot","merkleRoot",{unique:!0}),e.indexNames.contains("fromPeerId")||e.createIndex("fromPeerId","fromPeerId",{unique:!1})}else{const t=e.createObjectStore("messageData",{keyPath:["timestamp","roomId","merkleRoot"]});t.createIndex("roomId","roomId",{unique:!1}),t.createIndex("hash","hash",{unique:!1}),t.createIndex("merkleRoot","merkleRoot",{unique:!0}),t.createIndex("fromPeerId","fromPeerId",{unique:!1})}if(e.objectStoreNames.contains("chunks")){const e=n.objectStore("chunks");e.indexNames.contains("merkleRoot")||e.createIndex("merkleRoot","merkleRoot",{unique:!1}),e.indexNames.contains("hash")||e.createIndex("hash","hash",{unique:!1})}else{const t=e.createObjectStore("chunks",{keyPath:["merkleRoot","chunkIndex"]});t.createIndex("merkleRoot","merkleRoot",{unique:!1}),t.createIndex("hash","hash",{unique:!1})}if(e.objectStoreNames.contains("newChunks")){const e=n.objectStore("newChunks");e.indexNames.contains("hash")||e.createIndex("hash","hash",{unique:!1}),e.indexNames.contains("merkleRoot")||e.createIndex("merkleRoot","merkleRoot",{unique:!1}),e.indexNames.contains("realChunkHash")||e.createIndex("realChunkHash","realChunkHash",{unique:!0})}else{const t=e.createObjectStore("newChunks",{keyPath:["hash","chunkIndex"]});t.createIndex("hash","hash",{unique:!1}),t.createIndex("merkleRoot","merkleRoot",{unique:!1}),t.createIndex("realChunkHash","realChunkHash",{unique:!0})}if(e.objectStoreNames.contains("sendQueue")){const e=n.objectStore("sendQueue");e.indexNames.contains("labelPeer")||e.createIndex("labelPeer",["label","toPeerId"],{unique:!1})}else{e.createObjectStore("sendQueue",{keyPath:["position","label","toPeerId"]}).createIndex("labelPeer",["label","toPeerId"],{unique:!1})}}})}async function R(){await function(e,{blocked:t}={}){const a=indexedDB.deleteDatabase(e);return t&&a.addEventListener("blocked",e=>t(e.oldVersion,e)),d(a).then(()=>{})}(B,{blocked(){console.error("DB deletion BLOCKED")}})}onmessage=async e=>{const t=e.data,{id:a,method:n}=t;try{let e;switch(n){case"getDBAddressBookEntry":e=await async function(e,t){if(!e&&!t)return;if(e&&e.length<10&&!t)return;if(t&&64!==t.length&&!e)return;const a=await S();try{const n=a.transaction("addressBook","readonly"),o=e?n.objectStore("addressBook").index("peerId"):n.objectStore("addressBook").index("peerPublicKey"),r=e?await o.get(e):await o.get(t);return await n.done,a.close(),r?{username:r.username,peerId:r.peerId,peerPublicKey:r.peerPublicKey}:void 0}catch(e){return void a.close()}}(...t.args);break;case"getAllDBAddressBookEntries":e=await async function(){try{const e=await S(),t=await e.getAll("addressBook");return e.close(),t}catch(e){return[]}}(...t.args);break;case"setDBAddressBookEntry":e=await async function(e,t,a){try{const n=await S(),o=n.transaction(["addressBook"],"readwrite"),r=o.objectStore("addressBook"),s=r.index("peerId"),i=r.index("peerPublicKey"),c=await s.get(t),u=await i.get(a);(!c&&!u||c&&!u||!c&&u)&&await r.put({username:e,peerId:t,peerPublicKey:a,dateAdded:Date.now()}),await o.done,n.close()}catch(e){console.error(e)}}(...t.args);break;case"deleteDBAddressBookEntry":e=await async function(e,t,a){const n=!e||0===e.length,o=!t||t.length<10,r=!a||64!==a.length;if(n&&o&&r)throw new Error("Cannot delete address book with no data");let s=t??"";try{const n=await S(),i=n.transaction("addressBook","readwrite"),c=i.objectStore("addressBook");if(o)if(r){const t=c.index("username"),a=await t.getKey(e);if(a){const n=await t.get(e);s=n?.peerId??"",await c.delete(a)}}else{const e=c.index("peerPublicKey"),t=await e.getKey(a);if(t){const n=await e.get(a);s=n?.peerId??"",await c.delete(t)}}else{const e=c.index("peerId"),a=await e.getKey(t);a&&await c.delete(a)}await i.done,n.close()}catch{}return s}(...t.args);break;case"getDBPeerIsBlacklisted":e=await async function(e,t){if(!e&&!t)return!1;if(e&&e.length<10&&!t)return!1;if(t&&64!==t.length&&!e)return!1;try{const a=await S(),n=a.transaction("blacklist","readonly"),o=e?n.objectStore("blacklist").index("peerId"):n.objectStore("blacklist").index("peerPublicKey"),r=e?await o.get(e):await o.get(t);return await n.done,a.close(),!!r}catch(e){return!1}}(...t.args);break;case"getAllDBBlacklisted":e=await async function(){const e=await S();try{const t=await e.getAll("blacklist");return e.close(),t}catch(t){return e.close(),[]}}(...t.args);break;case"setDBPeerInBlacklist":e=await async function(e,t){try{const a=await S(),n=a.transaction(["blacklist"],"readwrite"),o=n.objectStore("blacklist"),r=o.index("peerId"),s=o.index("peerPublicKey"),i=await r.get(e),c=await s.get(t);(!i&&!c||i&&!c||!i&&c)&&await o.put({peerId:e,peerPublicKey:t,dateAdded:Date.now()}),await n.done,a.close()}catch(e){console.error(e)}}(...t.args);break;case"deleteDBPeerFromBlacklist":e=await async function(e,t){const a=!e||e.length<10,n=!t||64!==t.length;if(a&&n)throw new Error("Cannot delete blacklisted with no data");try{const n=await S(),o=n.transaction("blacklist","readwrite"),r=o.objectStore("blacklist");if(a){const e=r.index("peerPublicKey"),a=await e.getKey(t);a&&await r.delete(a)}else{const t=r.index("peerId"),a=await t.getKey(e);a&&await r.delete(a)}await o.done,n.close()}catch(e){console.error(e)}}(...t.args);break;case"getAllDBUniqueRooms":e=await async function(){const e=await S();try{const t=await e.getAll("uniqueRoom");return e.close(),t}catch(t){return e.close(),[]}}(...t.args);break;case"setDBUniqueRoom":e=await async function(e,t){try{const a=await S(),n=a.transaction(["uniqueRoom"],"readwrite"),o=n.objectStore("uniqueRoom"),r=o.index("roomUrl"),s=o.index("roomId"),i=await r.get(e),c=await s.get(t);if(!i&&!c){const a=Date.now();await o.put({roomId:t,roomUrl:e,messageCount:0,lastMessageMerkleRoot:"",createdAt:a,updatedAt:a})}await n.done,a.close()}catch(e){console.error(e)}}(...t.args);break;case"getDBMessageData":e=await async function(e,t){try{const a=await S(),n=a.transaction(["messageData"],"readonly"),o=n.objectStore("messageData"),r=o.index("merkleRoot"),s=o.index("hash");if(e&&e.length===2*D){const o=await r.get(e);if(o)return await n.done,a.close(),o;if(t&&t.length===2*D){const e=await s.get(t);return await n.done,a.close(),e}return await n.done,void a.close()}if(t&&t.length===2*D){const e=await s.get(t);return await n.done,a.close(),e}return await n.done,void a.close()}catch(e){return void console.error(e)}}(...t.args);break;case"getDBRoomMessageData":e=await async function(e){const t=await S(),a=await t.getAllFromIndex("messageData","roomId",e);t.close();const n=a.length,o=[];for(let t=0;t<n;t++)o.push({roomId:e,merkleRoot:a[t].merkleRoot,hash:a[t].hash,fromPeerId:a[t].fromPeerId,filename:a[t].filename,messageType:a[t].messageType,savedSize:a[t].savedSize,totalSize:a[t].totalSize,channelLabel:a[t].channelLabel,timestamp:a[t].timestamp});return o}(...t.args);break;case"setDBRoomMessageData":e=await async function(e,t,a,n,o,r,s,i,c,u){try{const d=await S(),l=d.transaction(["messageData","uniqueRoom"],"readwrite"),w=l.objectStore("messageData"),h=await w.index("merkleRoot").get(t),m=h?.savedSize??0;try{await w.put({roomId:e,timestamp:u,merkleRoot:t,hash:a,fromPeerId:n,filename:i,messageType:s,savedSize:m+o<=r?m+o:r,totalSize:r,channelLabel:c})}catch(e){throw await l.done,d.close(),e}const g=l.objectStore("uniqueRoom"),k=await g.index("roomId").get(e);if(k&&k.lastMessageMerkleRoot!==t)try{await g.put({...k,lastMessageMerkleRoot:t,messageCount:k.messageCount+1,updatedAt:u})}catch(e){throw await l.done,d.close(),e}await l.done,d.close()}catch(e){throw console.error(e),e}}(...t.args);break;case"getDBChunk":e=await async function(e,t){const a=await S(),n=await a.get("chunks",[e,t]);return a.close(),n?.data}(...t.args);break;case"existsDBChunk":e=await async function(e,t){const a=await S(),n=await a.count("chunks",[e,t]);return a.close(),n>0}(...t.args);break;case"getDBNewChunk":e=await async function(e,t){try{const a=await S(),n=t??-1;if(n>-1){const t=await a.get("newChunks",[e,n]);return a.close(),t}{const t=a.transaction("newChunks"),n=t.objectStore("newChunks").index("realChunkHash"),o=await n.get(e);return await t.done,a.close(),o}}catch(e){return void console.error(e)}}(...t.args);break;case"existsDBNewChunk":e=await async function(e,t){const a=await S(),n=await a.count("newChunks",[e,t]);return a.close(),n>0}(...t.args);break;case"getDBSendQueue":e=await async function(e,t,a){const n=await S();if(a){const o=await n.get("sendQueue",[a,e,t]);return n.close(),o?[o]:[]}const o=n.transaction("sendQueue","readonly").objectStore("sendQueue").index("labelPeer"),r=IDBKeyRange.only([e,t]),s=await o.getAll(r);return n.close(),s}(...t.args);break;case"getDBAllChunks":e=await async function(e,t){try{const a=await S(),n=a.transaction("chunks","readonly"),o=n.objectStore("chunks"),r=o.index("hash"),s=o.index("merkleRoot");if(e&&e.length===2*D){const t=await s.getAll(e);return 0===t.length?(await n.done,a.close(),[]):(await n.done,a.close(),t)}if(t&&t.length===2*D){const e=await r.getAll(t);return await n.done,a.close(),e.length>0?e.filter(t=>t.merkleRoot===e[0].merkleRoot):e}return await n.done,a.close(),[]}catch(e){return console.error(e),[]}}(...t.args);break;case"getDBAllChunksCount":e=await async function(e,t){try{const a=await S(),n=a.transaction(["chunks"],"readonly"),o=n.objectStore("chunks"),r=o.index("hash"),s=o.index("merkleRoot");if(t&&t.length===2*D){const o=await r.count(t);if(0===o){if(e&&e.length===2*D){const t=await s.count(e);return await n.done,a.close(),t}return await n.done,a.close(),0}return await n.done,a.close(),o}if(e&&e.length===2*D){const t=await s.count(e);return await n.done,a.close(),t}return await n.done,a.close(),0}catch(e){return 0}}(...t.args);break;case"setDBChunk":e=await async function(e){const t=await S();try{await t.add("chunks",e)}catch(e){}t.close()}(...t.args);break;case"getDBAllNewChunks":e=await async function(e,t){if(!e&&!t)return[];if(e?.length!==2*D&&t?.length!==2*D)return[];const a=await S();if((e?await a.countFromIndex("newChunks","hash",e):await a.countFromIndex("newChunks","merkleRoot",t))>0){const n=e?await a.getAllFromIndex("newChunks","hash",e):await a.getAllFromIndex("newChunks","merkleRoot",t);return a.close(),n}{const n=a.transaction("newChunks","readonly").objectStore("newChunks"),o=e?n.index("hash"):n.index("merkleRoot"),r=e?IDBKeyRange.only(e):IDBKeyRange.only(t),s=await o.getAll(r);return a.close(),s}}(...t.args);break;case"getDBAllNewChunksCount":e=await async function(e){const t=await S(),a=await t.countFromIndex("newChunks","hash",e);return t.close(),a}(...t.args);break;case"setDBNewChunk":e=await async function(e){const t=await S();await t.put("newChunks",e),t.close()}(...t.args);break;case"setDBSendQueue":e=await async function(e){const t=await S();await t.put("sendQueue",e),t.close()}(...t.args);break;case"countDBSendQueue":e=await async function(e,t){const a=await S(),n=a.transaction("sendQueue","readonly").objectStore("sendQueue").index("labelPeer"),o=IDBKeyRange.only([e,t]),r=await n.count(o);return a.close(),r}(...t.args);break;case"deleteDBChunk":e=await async function(e,t){try{const a=await S(),n=a.transaction("chunks","readwrite"),o=n.objectStore("chunks");if(t){const a=IDBKeyRange.only([e,t]);await o.delete(a)}else{const t=o.index("hash"),a=await t.getAllKeys(e),n=a.length;if(0===n){const t=o.index("merkleRoot"),a=await t.getAllKeys(e),n=a.length;for(let e=0;e<n;e++)await o.delete(a[e])}else for(let e=0;e<n;e++)await o.delete(a[e])}await n.done,a.close()}catch(e){}}(...t.args);break;case"deleteDBNewChunk":e=await async function(e,t,a,n){try{const o=await S(),r=o.transaction("newChunks","readwrite"),s=r.objectStore("newChunks");if(e){const t=s.index("merkleRoot"),a=await t.getAllKeys(e),n=a.length;for(let e=0;e<n;e++)await s.delete(a[e])}else if(a&&n)await s.delete([a,n]);else if(a){const e=s.index("hash"),t=await e.getAllKeys(a),n=t.length;for(let e=0;e<n;e++)await s.delete(t[e])}else if(t){const e=s.index("realChunkHash"),a=await e.getKey(t);a&&await s.delete(a)}await r.done,o.close()}catch(e){console.error(e)}}(...t.args);break;case"deleteDBMessageData":e=await async function(e){try{const t=await S(),a=t.transaction(["messageData","uniqueRoom"],"readwrite"),n=a.objectStore("messageData"),o=a.objectStore("uniqueRoom"),r=n.index("merkleRoot"),s=await r.getAllKeys(e),i=s.length;let c="";for(let e=0;e<i;e++){if(0===e||0===c.length){const t=await n.get(s[e]);c=t?.roomId??""}await n.delete(s[e])}if(c.length>0){const e=o.index("roomId"),t=await e.get(c);if(t){const e=n.index("roomId"),a=await e.getAllKeys(c),r=a.length,s=r>0?await n.get(a[r-1]):void 0;await o.put({...t,messageCount:t.messageCount>0?t.messageCount-1:0,updatedAt:s?.timestamp??Date.now(),lastMessageMerkleRoot:s?.merkleRoot??""})}}await a.done,t.close()}catch(e){}}(...t.args);break;case"deleteDBUniqueRoom":e=await async function(e){try{const t=await S(),a=t.transaction("uniqueRoom","readwrite"),n=a.objectStore("uniqueRoom"),o=n.index("roomId"),r=await o.getKey(e);r&&await n.delete(r),await a.done,t.close()}catch(e){}}(...t.args);break;case"deleteDBSendQueue":e=await async function(e,t,a){try{const n=await S();if(a)await n.delete("sendQueue",[a,e,t]);else{const a=IDBKeyRange.only([e,t]);await n.delete("sendQueue",a)}n.close()}catch(e){}}(...t.args);break;case"deleteDB":e=await R();break;default:return void postMessage({id:a,error:"Method not found"})}postMessage({id:a,result:e})}catch(e){postMessage({id:a,error:String(e)})}};
|
|
1
|
+
const e=(e,t)=>t.some(t=>e instanceof t);let t,a;const n=new WeakMap,o=new WeakMap,r=new WeakMap;let s={get(e,t,a){if(e instanceof IDBTransaction){if("done"===t)return n.get(e);if("store"===t)return a.objectStoreNames[1]?void 0:a.objectStore(a.objectStoreNames[0])}return d(e[t])},set:(e,t,a)=>(e[t]=a,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function i(e){s=e(s)}function c(e){return(a||(a=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(l(this),t),d(this.request)}:function(...t){return d(e.apply(l(this),t))}}function u(a){return"function"==typeof a?c(a):(a instanceof IDBTransaction&&function(e){if(n.has(e))return;const t=new Promise((t,a)=>{const n=()=>{e.removeEventListener("complete",o),e.removeEventListener("error",r),e.removeEventListener("abort",r)},o=()=>{t(),n()},r=()=>{a(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",o),e.addEventListener("error",r),e.addEventListener("abort",r)});n.set(e,t)}(a),e(a,t||(t=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(a,s):a)}function d(e){if(e instanceof IDBRequest)return function(e){const t=new Promise((t,a)=>{const n=()=>{e.removeEventListener("success",o),e.removeEventListener("error",r)},o=()=>{t(d(e.result)),n()},r=()=>{a(e.error),n()};e.addEventListener("success",o),e.addEventListener("error",r)});return r.set(t,e),t}(e);if(o.has(e))return o.get(e);const t=u(e);return t!==e&&(o.set(e,t),r.set(t,e)),t}const l=e=>r.get(e);const w=["get","getKey","getAll","getAllKeys","count"],h=["put","add","delete","clear"],m=new Map;function g(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(m.get(t))return m.get(t);const a=t.replace(/FromIndex$/,""),n=t!==a,o=h.includes(a);if(!(a in(n?IDBIndex:IDBObjectStore).prototype)||!o&&!w.includes(a))return;const r=async function(e,...t){const r=this.transaction(e,o?"readwrite":"readonly");let s=r.store;return n&&(s=s.index(t.shift())),(await Promise.all([s[a](...t),o&&r.done]))[0]};return m.set(t,r),r}i(e=>({...e,get:(t,a,n)=>g(t,a)||e.get(t,a,n),has:(t,a)=>!!g(t,a)||e.has(t,a)}));const k=["continue","continuePrimaryKey","advance"],y={},b=new WeakMap,f=new WeakMap,I={get(e,t){if(!k.includes(t))return e[t];let a=y[t];return a||(a=y[t]=function(...e){b.set(this,f.get(this)[t](...e))}),a}};async function*x(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;const a=new Proxy(t,I);for(f.set(a,t),r.set(a,l(t));t;)yield a,t=await(b.get(a)||t.continue()),b.delete(a)}function p(t,a){return a===Symbol.asyncIterator&&e(t,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===a&&e(t,[IDBIndex,IDBObjectStore])}i(e=>({...e,get:(t,a,n)=>p(t,a)?x:e.get(t,a,n),has:(t,a)=>p(t,a)||e.has(t,a)}));const D=64*Uint8Array.BYTES_PER_ELEMENT,B="p2party";async function S(){return function(e,t,{blocked:a,upgrade:n,blocking:o,terminated:r}={}){const s=indexedDB.open(e,t),i=d(s);return n&&s.addEventListener("upgradeneeded",e=>{n(d(s.result),e.oldVersion,e.newVersion,d(s.transaction),e)}),a&&s.addEventListener("blocked",e=>a(e.oldVersion,e.newVersion,e)),i.then(e=>{r&&e.addEventListener("close",()=>r()),o&&e.addEventListener("versionchange",e=>o(e.oldVersion,e.newVersion,e))}).catch(()=>{}),i}(B,16,{upgrade(e,t,a,n){if(e.objectStoreNames.contains("addressBook")){const e=n.objectStore("addressBook");e.indexNames.contains("username")||e.createIndex("username","username",{unique:!1}),e.indexNames.contains("peerId")||e.createIndex("peerId","peerId",{unique:!0}),e.indexNames.contains("peerPublicKey")||e.createIndex("peerPublicKey","peerPublicKey",{unique:!0})}else{const t=e.createObjectStore("addressBook",{keyPath:["peerId"]});t.createIndex("username","username",{unique:!1}),t.createIndex("peerId","peerId",{unique:!0}),t.createIndex("peerPublicKey","peerPublicKey",{unique:!0})}if(e.objectStoreNames.contains("blacklist")){const e=n.objectStore("blacklist");e.indexNames.contains("username")||e.createIndex("username","username",{unique:!1}),e.indexNames.contains("peerId")||e.createIndex("peerId","peerId",{unique:!0}),e.indexNames.contains("peerPublicKey")||e.createIndex("peerPublicKey","peerPublicKey",{unique:!0})}else{const t=e.createObjectStore("blacklist",{keyPath:["peerId"]});t.createIndex("username","username",{unique:!1}),t.createIndex("peerId","peerId",{unique:!0}),t.createIndex("peerPublicKey","peerPublicKey",{unique:!0})}if(e.objectStoreNames.contains("uniqueRoom")){const e=n.objectStore("uniqueRoom");e.indexNames.contains("roomUrl")||e.createIndex("roomUrl","roomUrl",{unique:!0}),e.indexNames.contains("roomId")||e.createIndex("roomId","roomId",{unique:!0})}else{const t=e.createObjectStore("uniqueRoom",{keyPath:["roomId"]});t.createIndex("roomUrl","roomUrl",{unique:!0}),t.createIndex("roomId","roomId",{unique:!0})}if(e.objectStoreNames.contains("messageData")){const e=n.objectStore("messageData");e.indexNames.contains("roomId")||e.createIndex("roomId","roomId",{unique:!1}),e.indexNames.contains("hash")||e.createIndex("hash","hash",{unique:!1}),e.indexNames.contains("merkleRoot")||e.createIndex("merkleRoot","merkleRoot",{unique:!0}),e.indexNames.contains("fromPeerId")||e.createIndex("fromPeerId","fromPeerId",{unique:!1})}else{const t=e.createObjectStore("messageData",{keyPath:["timestamp","roomId","merkleRoot"]});t.createIndex("roomId","roomId",{unique:!1}),t.createIndex("hash","hash",{unique:!1}),t.createIndex("merkleRoot","merkleRoot",{unique:!0}),t.createIndex("fromPeerId","fromPeerId",{unique:!1})}if(e.objectStoreNames.contains("chunks")){const e=n.objectStore("chunks");e.indexNames.contains("merkleRoot")||e.createIndex("merkleRoot","merkleRoot",{unique:!1}),e.indexNames.contains("hash")||e.createIndex("hash","hash",{unique:!1})}else{const t=e.createObjectStore("chunks",{keyPath:["merkleRoot","chunkIndex"]});t.createIndex("merkleRoot","merkleRoot",{unique:!1}),t.createIndex("hash","hash",{unique:!1})}if(e.objectStoreNames.contains("newChunks")){const e=n.objectStore("newChunks");e.indexNames.contains("hash")||e.createIndex("hash","hash",{unique:!1}),e.indexNames.contains("merkleRoot")||e.createIndex("merkleRoot","merkleRoot",{unique:!1}),e.indexNames.contains("realChunkHash")||e.createIndex("realChunkHash","realChunkHash",{unique:!0})}else{const t=e.createObjectStore("newChunks",{keyPath:["hash","chunkIndex"]});t.createIndex("hash","hash",{unique:!1}),t.createIndex("merkleRoot","merkleRoot",{unique:!1}),t.createIndex("realChunkHash","realChunkHash",{unique:!0})}if(e.objectStoreNames.contains("sendQueue")){const e=n.objectStore("sendQueue");e.indexNames.contains("labelPeer")||e.createIndex("labelPeer",["label","toPeerId"],{unique:!1})}else{e.createObjectStore("sendQueue",{keyPath:["position","label","toPeerId"]}).createIndex("labelPeer",["label","toPeerId"],{unique:!1})}}})}async function R(){await function(e,{blocked:t}={}){const a=indexedDB.deleteDatabase(e);return t&&a.addEventListener("blocked",e=>t(e.oldVersion,e)),d(a).then(()=>{})}(B,{blocked(){console.error("DB deletion BLOCKED")}})}onmessage=async e=>{const t=e.data,{id:a,method:n}=t;try{let e;switch(n){case"getDBAddressBookEntry":e=await async function(e,t){if(!e&&!t)return;if(e&&e.length<10&&!t)return;if(t&&64!==t.length&&!e)return;const a=await S();try{const n=a.transaction("addressBook","readonly"),o=e?n.objectStore("addressBook").index("peerId"):n.objectStore("addressBook").index("peerPublicKey"),r=e?await o.get(e):await o.get(t);return await n.done,a.close(),r?{username:r.username,peerId:r.peerId,peerPublicKey:r.peerPublicKey}:void 0}catch(e){return void a.close()}}(...t.args);break;case"getAllDBAddressBookEntries":e=await async function(){try{const e=await S(),t=await e.getAll("addressBook");return e.close(),t}catch(e){return[]}}(...t.args);break;case"setDBAddressBookEntry":e=await async function(e,t,a){try{const n=await S(),o=n.transaction(["addressBook"],"readwrite"),r=o.objectStore("addressBook"),s=r.index("peerId"),i=r.index("peerPublicKey"),c=await s.get(t),u=await i.get(a);(!c&&!u||c&&!u||!c&&u)&&await r.put({username:e,peerId:t,peerPublicKey:a,dateAdded:Date.now()}),await o.done,n.close()}catch(e){console.error(e)}}(...t.args);break;case"deleteDBAddressBookEntry":e=await async function(e,t,a){const n=!e||0===e.length,o=!t||t.length<10,r=!a||64!==a.length;if(n&&o&&r)throw new Error("Cannot delete address book with no data");let s=t??"";try{const n=await S(),i=n.transaction("addressBook","readwrite"),c=i.objectStore("addressBook");if(o)if(r){const t=c.index("username"),a=await t.getKey(e);if(a){const n=await t.get(e);s=n?.peerId??"",await c.delete(a)}}else{const e=c.index("peerPublicKey"),t=await e.getKey(a);if(t){const n=await e.get(a);s=n?.peerId??"",await c.delete(t)}}else{const e=c.index("peerId"),a=await e.getKey(t);a&&await c.delete(a)}await i.done,n.close()}catch{}return s}(...t.args);break;case"getDBPeerIsBlacklisted":e=await async function(e,t){if(!e&&!t)return!1;if(e&&e.length<10&&!t)return!1;if(t&&64!==t.length&&!e)return!1;try{const a=await S(),n=a.transaction("blacklist","readonly"),o=e?n.objectStore("blacklist").index("peerId"):n.objectStore("blacklist").index("peerPublicKey"),r=e?await o.get(e):await o.get(t);return await n.done,a.close(),!!r}catch(e){return!1}}(...t.args);break;case"getAllDBBlacklisted":e=await async function(){const e=await S();try{const t=await e.getAll("blacklist");return e.close(),t}catch(t){return e.close(),[]}}(...t.args);break;case"setDBPeerInBlacklist":e=await async function(e,t){try{const a=await S(),n=a.transaction(["blacklist"],"readwrite"),o=n.objectStore("blacklist"),r=o.index("peerId"),s=o.index("peerPublicKey"),i=await r.get(e),c=await s.get(t);(!i&&!c||i&&!c||!i&&c)&&await o.put({peerId:e,peerPublicKey:t,dateAdded:Date.now()}),await n.done,a.close()}catch(e){console.error(e)}}(...t.args);break;case"deleteDBPeerFromBlacklist":e=await async function(e,t){const a=!e||e.length<10,n=!t||64!==t.length;if(a&&n)throw new Error("Cannot delete blacklisted with no data");try{const n=await S(),o=n.transaction("blacklist","readwrite"),r=o.objectStore("blacklist");if(a){const e=r.index("peerPublicKey"),a=await e.getKey(t);a&&await r.delete(a)}else{const t=r.index("peerId"),a=await t.getKey(e);a&&await r.delete(a)}await o.done,n.close()}catch(e){console.error(e)}}(...t.args);break;case"getAllDBUniqueRooms":e=await async function(){const e=await S();try{const t=await e.getAll("uniqueRoom");return e.close(),t}catch(t){return e.close(),[]}}(...t.args);break;case"setDBUniqueRoom":e=await async function(e,t){try{const a=await S(),n=a.transaction(["uniqueRoom"],"readwrite"),o=n.objectStore("uniqueRoom"),r=o.index("roomUrl"),s=o.index("roomId"),i=await r.get(e),c=await s.get(t);if(!i&&!c){const a=Date.now();await o.put({roomId:t,roomUrl:e,messageCount:0,lastMessageMerkleRoot:"",createdAt:a,updatedAt:a})}await n.done,a.close()}catch(e){console.error(e)}}(...t.args);break;case"getDBMessageData":e=await async function(e,t){try{const a=await S(),n=a.transaction(["messageData"],"readonly"),o=n.objectStore("messageData"),r=o.index("merkleRoot"),s=o.index("hash");if(e&&e.length===2*D){const o=await r.get(e);if(o)return await n.done,a.close(),o;if(t&&t.length===2*D){const e=await s.get(t);return await n.done,a.close(),e}return await n.done,void a.close()}if(t&&t.length===2*D){const e=await s.get(t);return await n.done,a.close(),e}return await n.done,void a.close()}catch(e){return void console.error(e)}}(...t.args);break;case"getDBRoomMessageData":e=await async function(e){const t=await S(),a=await t.getAllFromIndex("messageData","roomId",e);t.close();const n=a.length,o=[];for(let t=0;t<n;t++)o.push({roomId:e,merkleRoot:a[t].merkleRoot,hash:a[t].hash,fromPeerId:a[t].fromPeerId,filename:a[t].filename,messageType:a[t].messageType,savedSize:a[t].savedSize,totalSize:a[t].totalSize,channelLabel:a[t].channelLabel,timestamp:a[t].timestamp});return o}(...t.args);break;case"setDBRoomMessageData":e=await async function(e,t,a,n,o,r,s,i,c,u){try{const d=await S(),l=d.transaction(["messageData","uniqueRoom"],"readwrite"),w=l.objectStore("messageData"),h=await w.index("merkleRoot").get(t),m=h?.savedSize??0;try{await w.put({roomId:e,timestamp:u,merkleRoot:t,hash:a,fromPeerId:n,filename:i,messageType:s,savedSize:m+o<=r?m+o:r,totalSize:r,channelLabel:c})}catch(e){throw await l.done,d.close(),e}const g=l.objectStore("uniqueRoom"),k=await g.index("roomId").get(e);if(k&&k.lastMessageMerkleRoot!==t)try{await g.put({...k,lastMessageMerkleRoot:t,messageCount:k.messageCount+1,updatedAt:u})}catch(e){throw await l.done,d.close(),e}await l.done,d.close()}catch(e){throw console.error(e),e}}(...t.args);break;case"getDBChunk":e=await async function(e,t){const a=await S(),n=await a.get("chunks",[e,t]);return a.close(),n?.data}(...t.args);break;case"existsDBChunk":e=await async function(e,t){const a=await S(),n=await a.count("chunks",[e,t]);return a.close(),n>0}(...t.args);break;case"getDBNewChunk":e=await async function(e,t){try{const a=await S(),n=t??-1;if(n>-1){const t=await a.get("newChunks",[e,n]);return a.close(),t}{const t=a.transaction("newChunks"),n=t.objectStore("newChunks").index("realChunkHash"),o=await n.get(e);return await t.done,a.close(),o}}catch(e){return void console.error(e)}}(...t.args);break;case"existsDBNewChunk":e=await async function(e,t){const a=await S(),n=await a.count("newChunks",[e,t]);return a.close(),n>0}(...t.args);break;case"getDBSendQueue":e=await async function(e,t,a){const n=await S();if(a){const o=await n.get("sendQueue",[a,e,t]);return n.close(),o?[o]:[]}const o=n.transaction("sendQueue","readonly").objectStore("sendQueue").index("labelPeer"),r=IDBKeyRange.only([e,t]),s=await o.getAll(r);return n.close(),s}(...t.args);break;case"getDBAllChunks":e=await async function(e,t){try{const a=await S(),n=a.transaction("chunks","readonly"),o=n.objectStore("chunks"),r=o.index("hash"),s=o.index("merkleRoot");if(e&&e.length===2*D){const t=await s.getAll(e);return 0===t.length?(await n.done,a.close(),[]):(await n.done,a.close(),t)}if(t&&t.length===2*D){const e=await r.getAll(t);return await n.done,a.close(),e.length>0?e.filter(t=>t.merkleRoot===e[0].merkleRoot):e}return await n.done,a.close(),[]}catch(e){return console.error(e),[]}}(...t.args);break;case"getDBAllChunksCount":e=await async function(e,t){try{const a=await S(),n=a.transaction(["chunks"],"readonly"),o=n.objectStore("chunks"),r=o.index("hash"),s=o.index("merkleRoot");if(t&&t.length===2*D){const o=await r.count(t);if(0===o){if(e&&e.length===2*D){const t=await s.count(e);return await n.done,a.close(),t}return await n.done,a.close(),0}return await n.done,a.close(),o}if(e&&e.length===2*D){const t=await s.count(e);return await n.done,a.close(),t}return await n.done,a.close(),0}catch(e){return 0}}(...t.args);break;case"setDBChunk":e=await async function(e){const t=await S();await t.add("chunks",e),t.close()}(...t.args);break;case"getDBAllNewChunks":e=await async function(e,t){if(!e&&!t)return[];if(e?.length!==2*D&&t?.length!==2*D)return[];const a=await S();if((e?await a.countFromIndex("newChunks","hash",e):await a.countFromIndex("newChunks","merkleRoot",t))>0){const n=e?await a.getAllFromIndex("newChunks","hash",e):await a.getAllFromIndex("newChunks","merkleRoot",t);return a.close(),n}{const n=a.transaction("newChunks","readonly").objectStore("newChunks"),o=e?n.index("hash"):n.index("merkleRoot"),r=e?IDBKeyRange.only(e):IDBKeyRange.only(t),s=await o.getAll(r);return a.close(),s}}(...t.args);break;case"getDBAllNewChunksCount":e=await async function(e){const t=await S(),a=await t.countFromIndex("newChunks","hash",e);return t.close(),a}(...t.args);break;case"setDBNewChunk":e=await async function(e){const t=await S();await t.put("newChunks",e),t.close()}(...t.args);break;case"setDBSendQueue":e=await async function(e){const t=await S();await t.put("sendQueue",e),t.close()}(...t.args);break;case"countDBSendQueue":e=await async function(e,t){const a=await S(),n=a.transaction("sendQueue","readonly").objectStore("sendQueue").index("labelPeer"),o=IDBKeyRange.only([e,t]),r=await n.count(o);return a.close(),r}(...t.args);break;case"deleteDBChunk":e=await async function(e,t){try{const a=await S(),n=a.transaction("chunks","readwrite"),o=n.objectStore("chunks");if(t){const a=IDBKeyRange.only([e,t]);await o.delete(a)}else{const t=o.index("hash"),a=await t.getAllKeys(e),n=a.length;if(0===n){const t=o.index("merkleRoot"),a=await t.getAllKeys(e),n=a.length;for(let e=0;e<n;e++)await o.delete(a[e])}else for(let e=0;e<n;e++)await o.delete(a[e])}await n.done,a.close()}catch(e){}}(...t.args);break;case"deleteDBNewChunk":e=await async function(e,t,a,n){try{const o=await S(),r=o.transaction("newChunks","readwrite"),s=r.objectStore("newChunks");if(e){const t=s.index("merkleRoot"),a=await t.getAllKeys(e),n=a.length;for(let e=0;e<n;e++)await s.delete(a[e])}else if(a&&n)await s.delete([a,n]);else if(a){const e=s.index("hash"),t=await e.getAllKeys(a),n=t.length;for(let e=0;e<n;e++)await s.delete(t[e])}else if(t){const e=s.index("realChunkHash"),a=await e.getKey(t);a&&await s.delete(a)}await r.done,o.close()}catch(e){console.error(e)}}(...t.args);break;case"deleteDBMessageData":e=await async function(e){try{const t=await S(),a=t.transaction(["messageData","uniqueRoom"],"readwrite"),n=a.objectStore("messageData"),o=a.objectStore("uniqueRoom"),r=n.index("merkleRoot"),s=await r.getAllKeys(e),i=s.length;let c="";for(let e=0;e<i;e++){if(0===e||0===c.length){const t=await n.get(s[e]);c=t?.roomId??""}await n.delete(s[e])}if(c.length>0){const e=o.index("roomId"),t=await e.get(c);if(t){const e=n.index("roomId"),a=await e.getAllKeys(c),r=a.length,s=r>0?await n.get(a[r-1]):void 0;await o.put({...t,messageCount:t.messageCount>0?t.messageCount-1:0,updatedAt:s?.timestamp??Date.now(),lastMessageMerkleRoot:s?.merkleRoot??""})}}await a.done,t.close()}catch(e){}}(...t.args);break;case"deleteDBUniqueRoom":e=await async function(e){try{const t=await S(),a=t.transaction("uniqueRoom","readwrite"),n=a.objectStore("uniqueRoom"),o=n.index("roomId"),r=await o.getKey(e);r&&await n.delete(r),await a.done,t.close()}catch(e){}}(...t.args);break;case"deleteDBSendQueue":e=await async function(e,t,a){try{const n=await S();if(a)await n.delete("sendQueue",[a,e,t]);else{const a=IDBKeyRange.only([e,t]);await n.delete("sendQueue",a)}n.close()}catch(e){}}(...t.args);break;case"deleteDB":e=await R();break;default:return void postMessage({id:a,error:"Method not found"})}postMessage({id:a,result:e})}catch(e){postMessage({id:a,error:String(e)})}};
|
|
2
2
|
//# sourceMappingURL=db.worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db.worker.js","sources":["../node_modules/idb/build/index.js","../src/cryptography/interfaces.ts","../src/db/src/getDB.ts","../src/db/db.worker.ts"],"sourcesContent":["const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst transactionDoneMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n // This mapping exists in reverseTransformCache but doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(this.request);\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nconst advanceMethodProps = ['continue', 'continuePrimaryKey', 'advance'];\nconst methodMap = {};\nconst advanceResults = new WeakMap();\nconst ittrProxiedCursorToOriginalProxy = new WeakMap();\nconst cursorIteratorTraps = {\n get(target, prop) {\n if (!advanceMethodProps.includes(prop))\n return target[prop];\n let cachedFunc = methodMap[prop];\n if (!cachedFunc) {\n cachedFunc = methodMap[prop] = function (...args) {\n advanceResults.set(this, ittrProxiedCursorToOriginalProxy.get(this)[prop](...args));\n };\n }\n return cachedFunc;\n },\n};\nasync function* iterate(...args) {\n // tslint:disable-next-line:no-this-assignment\n let cursor = this;\n if (!(cursor instanceof IDBCursor)) {\n cursor = await cursor.openCursor(...args);\n }\n if (!cursor)\n return;\n cursor = cursor;\n const proxiedCursor = new Proxy(cursor, cursorIteratorTraps);\n ittrProxiedCursorToOriginalProxy.set(proxiedCursor, cursor);\n // Map this double-proxy back to the original, so other cursor methods work.\n reverseTransformCache.set(proxiedCursor, unwrap(cursor));\n while (cursor) {\n yield proxiedCursor;\n // If one of the advancing methods was not called, call continue().\n cursor = await (advanceResults.get(proxiedCursor) || cursor.continue());\n advanceResults.delete(proxiedCursor);\n }\n}\nfunction isIteratorProp(target, prop) {\n return ((prop === Symbol.asyncIterator &&\n instanceOfAny(target, [IDBIndex, IDBObjectStore, IDBCursor])) ||\n (prop === 'iterate' && instanceOfAny(target, [IDBIndex, IDBObjectStore])));\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get(target, prop, receiver) {\n if (isIteratorProp(target, prop))\n return iterate;\n return oldTraps.get(target, prop, receiver);\n },\n has(target, prop) {\n return isIteratorProp(target, prop) || oldTraps.has(target, prop);\n },\n}));\n\nexport { deleteDB, openDB, unwrap, wrap };\n",null,null,null],"names":["instanceOfAny","object","constructors","some","c","idbProxyableTypes","cursorAdvanceMethods","transactionDoneMap","WeakMap","transformCache","reverseTransformCache","idbProxyTraps","get","target","prop","receiver","IDBTransaction","objectStoreNames","undefined","objectStore","wrap","set","value","has","replaceTraps","callback","wrapFunction","func","IDBCursor","prototype","advance","continue","continuePrimaryKey","includes","args","apply","unwrap","this","request","transformCachableValue","tx","done","Promise","resolve","reject","unlisten","removeEventListener","complete","error","DOMException","addEventListener","cacheDonePromiseForTransaction","IDBDatabase","IDBObjectStore","IDBIndex","Proxy","IDBRequest","promise","success","result","promisifyRequest","newValue","readMethods","writeMethods","cachedMethods","Map","getMethod","targetFuncName","replace","useIndex","isWrite","method","async","storeName","transaction","store","index","shift","all","oldTraps","advanceMethodProps","methodMap","advanceResults","ittrProxiedCursorToOriginalProxy","cursorIteratorTraps","cachedFunc","iterate","cursor","openCursor","proxiedCursor","delete","isIteratorProp","Symbol","asyncIterator","crypto_hash_sha512_BYTES","Uint8Array","BYTES_PER_ELEMENT","dbName","getDB","name","version","blocked","upgrade","blocking","terminated","indexedDB","open","openPromise","event","oldVersion","newVersion","then","db","catch","openDB","_oldVersion","_newVersion","contains","indexNames","createIndex","unique","addressBook","createObjectStore","keyPath","blacklist","uniqueRoom","messageData","chunks","newChunks","fnDeleteDB","deleteDatabase","deleteDB","console","onmessage","e","message","data","id","peerId","peerPublicKey","length","peer","close","username","fnGetDBAddressBookEntry","peers","getAll","fnGetAllDBAddressBookEntries","index1","index2","item1","item2","put","dateAdded","Date","now","fnSetDBAddressBookEntry","noUsername","noPeerId","noPeerPublicKey","Error","pId","item","getKey","entry","fnDeleteDBAddressBookEntry","fnGetDBPeerIsBlackisted","fnGetAllDBBlacklisted","fnSetDBPeerInBlacklist","fnDeleteDBPeerFromBlacklist","rooms","fnGetAllDBUniqueRooms","roomUrl","roomId","d","messageCount","lastMessageMerkleRoot","createdAt","updatedAt","fnSetDBUniqueRoom","merkleRootHex","hashHex","fnGetDBMessageData","messages","getAllFromIndex","messagesLen","i","push","merkleRoot","hash","fromPeerId","filename","messageType","savedSize","totalSize","channelLabel","timestamp","fnGetDBRoomMessageData","sha512Hex","chunkSize","messageStore","msg","roomStore","room","fnSetDBRoomMessageData","chunkIndex","chunk","fnGetDBChunk","count","fnExistsDBChunk","fnGetDBNewChunk","fnExistsDBNewChunk","label","toPeerId","position","keyRange","IDBKeyRange","only","sendQueue","fnGetDBSendQueue","filter","fnGetDBAllChunks","fnGetDBAllChunksCount","add","fnSetDBChunk","countFromIndex","fnGetDBAllNewChunks","chunksCount","fnGetDBAllNewChunksCount","fnSetDBNewChunk","fnSetDBSendQueue","sendQueueCount","fnCountDBSendQueue","keys","getAllKeys","len","fnDeleteDBChunk","realChunkHashHex","keyrange","fnDeleteDBNewChunk","messageIndex","roomIndex","messageRoomIndex","messageKeys","messageKeysLen","lastMessage","fnDeleteDBMessageData","fnDeleteDBUniqueRoom","fnDeleteDBSendQueue","postMessage","String"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { MiddlewareAPI } from "@reduxjs/toolkit";
|
|
2
2
|
import type { KeyPair } from "../reducers/keyPairSlice";
|
|
3
|
-
declare const handleChallenge: (keyPair: KeyPair, peerId: string, challenge: string, store: MiddlewareAPI) => Promise<void>;
|
|
4
|
-
export default handleChallenge;
|
|
3
|
+
export declare const handleChallenge: (keyPair: KeyPair, peerId: string, challenge: string, store: MiddlewareAPI) => Promise<void>;
|
|
5
4
|
//# sourceMappingURL=handleChallenge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleChallenge.d.ts","sourceRoot":"","sources":["../../src/handlers/handleChallenge.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAExD,eAAO,MAAM,eAAe,GAC1B,SAAS,OAAO,EAChB,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,OAAO,aAAa,kBAqBrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleConnectToPeer.d.ts","sourceRoot":"","sources":["../../src/handlers/handleConnectToPeer.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAMlC,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;IACvE,eAAe,EAAE,kBAAkB,EAAE,CAAC;CACvC;AAED,eAAO,MAAM,mBAAmB,GAC9B,gEAMG,wBAAwB,EAC3B,KAAK,YAAY,KAChB,OAAO,CAAC,kBAAkB,CA0M5B,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { LibCrypto } from "../cryptography/libcrypto";
|
|
2
|
+
import type { BaseQueryApi } from "@reduxjs/toolkit/dist/query";
|
|
3
|
+
import type { IRTCDataChannel } from "../api/webrtc/interfaces";
|
|
4
|
+
export declare const enqueue: (data: Uint8Array, queue: Uint8Array[], seen: Set<string>, draining: boolean, api: BaseQueryApi, roomId: string, peerId: string, channelLabel: string, merkleRootHex: string, extChannel: IRTCDataChannel | undefined, decrypted: Uint8Array | undefined, messageArray: Uint8Array | undefined, merkleRootArray: Uint8Array | undefined, senderPublicKeyArray: Uint8Array | undefined, receiverSecretKeyArray: Uint8Array | undefined, receiveMessageModule: LibCrypto) => void;
|
|
5
|
+
//# sourceMappingURL=handleMessageQueueing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleMessageQueueing.d.ts","sourceRoot":"","sources":["../../src/handlers/handleMessageQueueing.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA8PhE,eAAO,MAAM,OAAO,GAClB,MAAM,UAAU,EAChB,OAAO,UAAU,EAAE,EACnB,MAAM,GAAG,CAAC,MAAM,CAAC,EACjB,UAAU,OAAO,EACjB,KAAK,YAAY,EACjB,QAAQ,MAAM,EACd,QAAQ,MAAM,EACd,cAAc,MAAM,EACpB,eAAe,MAAM,EACrB,YAAY,eAAe,GAAG,SAAS,EACvC,WAAW,UAAU,GAAG,SAAS,EACjC,cAAc,UAAU,GAAG,SAAS,EACpC,iBAAiB,UAAU,GAAG,SAAS,EACvC,sBAAsB,UAAU,GAAG,SAAS,EAC5C,wBAAwB,UAAU,GAAG,SAAS,EAC9C,sBAAsB,SAAS,SA0BhC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleOpenChannel.d.ts","sourceRoot":"","sources":["../../src/handlers/handleOpenChannel.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC;IACjC,GAAG,EAAE,kBAAkB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC;AAED,eAAO,MAAM,iBAAiB,GAC5B,wCAAwC,uBAAuB,EAC/D,KAAK,YAAY,KAChB,OAAO,CAAC,eAAe,CA8OzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleQueuedIceCandidates.d.ts","sourceRoot":"","sources":["../../src/handlers/handleQueuedIceCandidates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,eAAO,MAAM,yBAAyB,GAAU,KAAK,kBAAkB,kBAatE,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { IRTCDataChannel } from "../api/webrtc/interfaces";
|
|
2
1
|
import type { BaseQueryApi } from "@reduxjs/toolkit/dist/query";
|
|
3
2
|
import type { Room } from "../reducers/roomSlice";
|
|
4
|
-
export declare const handleReadReceipt: (receivedChunkHash: Uint8Array, channel:
|
|
3
|
+
export declare const handleReadReceipt: (receivedChunkHash: Uint8Array, channel: string, peerId: string, room: Room, api: BaseQueryApi) => Promise<void>;
|
|
5
4
|
//# sourceMappingURL=handleReadReceipt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleReadReceipt.d.ts","sourceRoot":"","sources":["../../src/handlers/handleReadReceipt.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAElD,eAAO,MAAM,iBAAiB,GAC5B,mBAAmB,UAAU,EAC7B,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,MAAM,IAAI,EACV,KAAK,YAAY,kBAuFlB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleReceiveMessage.d.ts","sourceRoot":"","sources":["../../src/handlers/handleReceiveMessage.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,eAAO,MAAM,oBAAoB,GAC/B,WAAW,UAAU,EACrB,cAAc,UAAU,EACxB,iBAAiB,UAAU,EAC3B,sBAAsB,UAAU,EAChC,wBAAwB,UAAU,EAClC,QAAQ,SAAS,KAChB,OAAO,CAAC;IACT,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,UAAU,CAAC;IACtB,WAAW,EAAE,UAAU,CAAC;CACzB,CA0OA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleSendMessage.d.ts","sourceRoot":"","sources":["../../src/handlers/handleSendMessage.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAsT3D,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,GAAG,IAAI,EACnB,KAAK,YAAY,EACjB,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,iBAAiB,kBAAkB,EAAE,EACrC,cAAc,eAAe,EAAE,EAC/B,kBAAkB,SAAS,EAC3B,cAAc,SAAS,EACvB,kBAAa,EACb,kBAAqB,EACrB,8BAA2B,EAC3B,8BAAyB,kBA8H1B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { BaseQueryApi } from "@reduxjs/toolkit/query";
|
|
2
|
-
|
|
2
|
+
import type { WSPeerConnection } from "../utils/interfaces";
|
|
3
|
+
declare const handleWebSocketMessage: (event: MessageEvent, ws: WebSocket, api: BaseQueryApi, peerConnections: WSPeerConnection[]) => Promise<void>;
|
|
3
4
|
export default handleWebSocketMessage;
|
|
4
5
|
//# sourceMappingURL=handleWebSocketMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleWebSocketMessage.d.ts","sourceRoot":"","sources":["../../src/handlers/handleWebSocketMessage.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAYV,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAY7B,QAAA,MAAM,sBAAsB,GAC1B,OAAO,YAAY,EACnB,IAAI,SAAS,EACb,KAAK,YAAY,EACjB,iBAAiB,gBAAgB,EAAE,kBA+hBpC,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EACV,6BAA6B,EAC7B,8BAA8B,EAC9B,gCAAgC,EAChC,iCAAiC,EACjC,+BAA+B,EAC/B,kCAAkC,EAClC,6BAA6B,EAC7B,gCAAgC,EAChC,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAumBvD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA9lBT,MAAM,2CAGJ,gBAAgB;wCAgDlB,MAAM;;iCAkCyB,MAAM;0EAQ5B,MAAM,EAAE;iCAZc,MAAM;mCAsBV,MAAM;mDAcjC,MAAM,aACJ,OAAO;;;;;2CAyCP,MAAM,WACR,MAAM,kBACC,MAAM;4BAaa,MAAM,iBAAiB,MAAM;;;;wBA6B1D,MAAM,GAAG,IAAI,aACR,MAAM,UACT,MAAM;iCA4BC,MAAM,YACX,MAAM,KACf,OAAO,CAAC;QACT,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,QAAQ,CAAC;QACnB,SAAS,EAAE,aAAa,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;kCA4Hc,MAAM,cACR,MAAM,GAAG,UAAU,SACxB,MAAM,GAAG,UAAU;iCA4Fb,MAAM,GAAG,UAAU,SACzB,MAAM,GAAG,UAAU;;yBA0GM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFvC,CAAC;AAMF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,OAAO,EAAE,OAAO,OAAO,CAAC;KACzB;CACF;AAID,YAAY,EACV,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,aAAa,EACb,eAAe,EACf,UAAU,EACV,cAAc,EACd,OAAO,EACP,6BAA6B,EAC7B,8BAA8B,EAC9B,gCAAgC,EAChC,iCAAiC,EACjC,+BAA+B,EAC/B,kCAAkC,EAClC,6BAA6B,EAC7B,gCAAgC,EAChC,qBAAqB,GACtB,CAAC;AAEF,eAAe,OAAO,CAAC"}
|