@simplito/privmx-webendpoint 2.5.2 → 2.6.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/Types.d.ts +97 -1
- package/Types.js +102 -15
- package/api/ConnectionNative.d.ts +18 -2
- package/api/ConnectionNative.js +26 -7
- package/api/EventApiNative.d.ts +4 -3
- package/api/EventApiNative.js +7 -4
- package/api/InboxApiNative.d.ts +4 -5
- package/api/InboxApiNative.js +6 -9
- package/api/KvdbApiNative.d.ts +5 -5
- package/api/KvdbApiNative.js +8 -8
- package/api/StoreApiNative.d.ts +6 -7
- package/api/StoreApiNative.js +6 -9
- package/api/ThreadApiNative.d.ts +4 -5
- package/api/ThreadApiNative.js +6 -9
- package/assets/driver-web-context.js +1 -1
- package/assets/e2ee-worker.js +1 -0
- package/assets/endpoint-wasm-module.js +2 -19
- package/assets/endpoint-wasm-module.wasm +0 -0
- package/assets/privmx-endpoint-web.js +2 -0
- package/bundle/privmx-endpoint-web.js +1 -1
- package/extra/PrivmxClient.d.ts +9 -2
- package/extra/PrivmxClient.js +15 -1
- package/extra/__mocks__/constants.d.ts +63 -0
- package/extra/__mocks__/constants.js +51 -0
- package/extra/__mocks__/mockContainerSubscriber.d.ts +8 -0
- package/extra/__mocks__/mockContainerSubscriber.js +26 -0
- package/extra/{__tests__/__mocks__ → __mocks__}/mockEventQueue.d.ts +1 -3
- package/extra/{__tests__/__mocks__ → __mocks__}/mockEventQueue.js +6 -8
- package/extra/{__tests__/__mocks__ → __mocks__}/utils.d.ts +1 -1
- package/extra/{__tests__/__mocks__ → __mocks__}/utils.js +4 -5
- package/extra/__tests__/eventsManager.test.js +38 -27
- package/extra/__tests__/inboxEventManager.js +79 -0
- package/extra/__tests__/storeEventManager.test.js +48 -28
- package/extra/__tests__/threadEventManager.test.js +49 -29
- package/extra/events.d.ts +4 -217
- package/extra/events.js +25 -213
- package/extra/files.d.ts +2 -2
- package/extra/files.js +2 -2
- package/extra/inbox.js +1 -2
- package/extra/index.d.ts +3 -3
- package/extra/index.js +9 -10
- package/extra/managers.d.ts +98 -0
- package/extra/managers.js +157 -0
- package/extra/subscriptions.d.ts +165 -0
- package/extra/subscriptions.js +51 -0
- package/extra/utils.js +4 -5
- package/index.d.ts +2 -2
- package/index.js +2 -1
- package/package.json +12 -13
- package/service/Connection.d.ts +21 -2
- package/service/Connection.js +27 -2
- package/service/CryptoApi.d.ts +1 -1
- package/service/CryptoApi.js +1 -1
- package/service/EventApi.d.ts +14 -9
- package/service/EventApi.js +35 -10
- package/service/InboxApi.d.ts +14 -13
- package/service/InboxApi.js +42 -17
- package/service/KvdbApi.d.ts +19 -11
- package/service/KvdbApi.js +51 -17
- package/service/StoreApi.d.ts +18 -15
- package/service/StoreApi.js +48 -20
- package/service/ThreadApi.d.ts +14 -13
- package/service/ThreadApi.js +44 -19
- package/service/index.d.ts +2 -1
- package/service/index.js +3 -1
- package/extra/__tests__/__mocks__/constants.d.ts +0 -36
- package/extra/__tests__/__mocks__/constants.js +0 -42
- package/extra/__tests__/__mocks__/mockContainerSubscriber.d.ts +0 -12
- package/extra/__tests__/__mocks__/mockContainerSubscriber.js +0 -25
- package/extra/__tests__/__mocks__/mockEventAPIs.d.ts +0 -30
- package/extra/__tests__/__mocks__/mockEventAPIs.js +0 -70
- package/extra/__tests__/inboxEventManager.test.js +0 -56
- /package/extra/__tests__/{inboxEventManager.test.d.ts → inboxEventManager.d.ts} +0 -0
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! For license information please see privmx-endpoint-web.js.LICENSE.txt */
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["privmx-webendpoint"]=t():e.PrivmxWebEndpoint=t()}(self,(()=>(()=>{"use strict";var e={667:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Api=void 0;const s=i(785);t.Api=class{lib;promises;taskIdGenerator;constructor(e){this.lib=e,this.taskIdGenerator=new s.IdGenerator,this.promises=new Map,this.setResultsCallback()}async runAsync(e){return new Promise(((t,i)=>{const s=this.generateId();this.promises.set(s,{resolve:t,reject:i}),e(s)}))}resolveResult(e){1==e.status?this.promises.get(e.taskId).resolve(e.result):this.promises.get(e.taskId).reject(e.error),this.promises.delete(e.taskId)}generateId(){return this.taskIdGenerator.generateId()}setResultsCallback(){this.lib.setResultsCallback((e=>this.resolveResult(e)))}}},361:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BaseNative=void 0,t.BaseNative=class{_api;constructor(e){this._api=e}get api(){if(!this._api)throw new Error("This API instance is no longer valid because the connection associated with it has been closed.");return this._api}deleteApiRef(){this._api=null}async runAsync(e){if(!this.api)throw new Error("This API instance is no longer valid because the connection associated with it has been closed.");return this.api.runAsync(e)}}},140:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ConnectionNative=void 0;const s=i(361);class n extends s.BaseNative{lastConnectionId=-1;async newApi(e){throw new Error("Use the newConnection() - specialized version of method instead.")}async deleteApi(e){await this.runAsync((t=>this.api.lib.Connection_deleteConnection(t,e))),this.deleteApiRef()}async newConnection(){return this.runAsync((e=>this.api.lib.Connection_newConnection(e)))}async deleteConnection(e){await this.runAsync((t=>this.api.lib.Connection_deleteConnection(t,e))),this.deleteApiRef()}async connect(e,t){await this.runAsync((i=>this.api.lib.Connection_connect(i,e,t))),await this.getConnectionId(e,[])}async connectPublic(e,t){return this.runAsync((i=>this.api.lib.Connection_connectPublic(i,e,t)))}async getConnectionId(e,t){return this.lastConnectionId<0&&(this.lastConnectionId=await this.runAsync((i=>this.api.lib.Connection_getConnectionId(i,e,t)))),this.lastConnectionId}async listContexts(e,t){return this.runAsync((i=>this.api.lib.Connection_listContexts(i,e,t)))}async disconnect(e,t){await this.runAsync((i=>this.api.lib.Connection_disconnect(i,e,t)))}}t.ConnectionNative=n},711:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CryptoApiNative=void 0;const s=i(361);class n extends s.BaseNative{async newApi(){return this.runAsync((e=>this.api.lib.CryptoApi_newCryptoApi(e)))}async deleteApi(e){await this.runAsync((t=>this.api.lib.CryptoApi_deleteCryptoApi(t,e))),this.deleteApiRef()}async create(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_create(i,e,t)))}async signData(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_signData(i,e,t)))}async generatePrivateKey(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_generatePrivateKey(i,e,t)))}async derivePrivateKey(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_derivePrivateKey(i,e,t)))}async derivePrivateKey2(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_derivePrivateKey2(i,e,t)))}async derivePublicKey(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_derivePublicKey(i,e,t)))}async generateKeySymmetric(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_generateKeySymmetric(i,e,t)))}async encryptDataSymmetric(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_encryptDataSymmetric(i,e,t)))}async decryptDataSymmetric(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_decryptDataSymmetric(i,e,t)))}async convertPEMKeytoWIFKey(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_convertPEMKeytoWIFKey(i,e,t)))}}t.CryptoApiNative=n},467:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EventQueueNative=void 0;const s=i(361);class n extends s.BaseNative{async newApi(e){throw new Error("Use the newEventQueue() - specialized version of method instead.")}async deleteApi(e){await this.runAsync((t=>this.api.lib.EventQueue_deleteEventQueue(t,e))),this.deleteApiRef()}async newEventQueue(){return this.runAsync((e=>this.api.lib.EventQueue_newEventQueue(e)))}async deleteEventQueue(e){await this.runAsync((t=>this.api.lib.EventQueue_deleteEventQueue(t,e))),this.deleteApiRef()}async waitEvent(e,t){return this.runAsync((i=>this.api.lib.EventQueue_waitEvent(i,e,t)))}async emitBreakEvent(e,t){return this.runAsync((i=>this.api.lib.EventQueue_emitBreakEvent(i,e,t)))}}t.EventQueueNative=n},785:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.IdGenerator=void 0,t.IdGenerator=class{_id=0;generateId(){return this._id++,this._id}}},252:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.InboxApiNative=void 0;const s=i(361);class n extends s.BaseNative{async newApi(e,t,i){return this.runAsync((s=>this.api.lib.InboxApi_newInboxApi(s,e,t,i)))}async deleteApi(e){await this.runAsync((t=>this.api.lib.InboxApi_deleteInboxApi(t,e))),this.deleteApiRef()}async create(e,t){return this.runAsync((i=>this.api.lib.InboxApi_create(i,e,t)))}async createInbox(e,t){return this.runAsync((i=>this.api.lib.InboxApi_createInbox(i,e,t)))}async updateInbox(e,t){return this.runAsync((i=>this.api.lib.InboxApi_updateInbox(i,e,t)))}async getInbox(e,t){return this.runAsync((i=>this.api.lib.InboxApi_getInbox(i,e,t)))}async listInboxes(e,t){return this.runAsync((i=>this.api.lib.InboxApi_listInboxes(i,e,t)))}async getInboxPublicView(e,t){return this.runAsync((i=>this.api.lib.InboxApi_getInboxPublicView(i,e,t)))}async deleteInbox(e,t){return this.runAsync((i=>this.api.lib.InboxApi_deleteInbox(i,e,t)))}async prepareEntry(e,t){return this.runAsync((i=>this.api.lib.InboxApi_prepareEntry(i,e,t)))}async sendEntry(e,t){return this.runAsync((i=>this.api.lib.InboxApi_sendEntry(i,e,t)))}async readEntry(e,t){return this.runAsync((i=>this.api.lib.InboxApi_readEntry(i,e,t)))}async deleteEntry(e,t){return this.runAsync((i=>this.api.lib.InboxApi_deleteEntry(i,e,t)))}async listEntries(e,t){return this.runAsync((i=>this.api.lib.InboxApi_listEntries(i,e,t)))}async createFileHandle(e,t){return this.runAsync((i=>this.api.lib.InboxApi_createFileHandle(i,e,t)))}async writeToFile(e,t){return this.runAsync((i=>this.api.lib.InboxApi_writeToFile(i,e,t)))}async openFile(e,t){return this.runAsync((i=>this.api.lib.InboxApi_openFile(i,e,t)))}async readFromFile(e,t){return this.runAsync((i=>this.api.lib.InboxApi_readFromFile(i,e,t)))}async seekInFile(e,t){return this.runAsync((i=>this.api.lib.InboxApi_seekInFile(i,e,t)))}async closeFile(e,t){return this.runAsync((i=>this.api.lib.InboxApi_closeFile(i,e,t)))}async subscribeForInboxEvents(e,t){return this.runAsync((i=>this.api.lib.InboxApi_subscribeForInboxEvents(i,e,t)))}async unsubscribeFromInboxEvents(e,t){return this.runAsync((i=>this.api.lib.InboxApi_unsubscribeFromInboxEvents(i,e,t)))}async subscribeForEntryEvents(e,t){return this.runAsync((i=>this.api.lib.InboxApi_subscribeForEntryEvents(i,e,t)))}async unsubscribeFromEntryEvents(e,t){return this.runAsync((i=>this.api.lib.InboxApi_unsubscribeFromEntryEvents(i,e,t)))}}t.InboxApiNative=n},243:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StoreApiNative=void 0;const s=i(361);class n extends s.BaseNative{async newApi(e){return this.runAsync((t=>this.api.lib.StoreApi_newStoreApi(t,e)))}async deleteApi(e){await this.runAsync((t=>this.api.lib.StoreApi_deleteStoreApi(t,e))),this.deleteApiRef()}async create(e,t){return this.runAsync((i=>this.api.lib.StoreApi_create(i,e,t)))}async createStore(e,t){return this.runAsync((i=>this.api.lib.StoreApi_createStore(i,e,t)))}async updateStore(e,t){return this.runAsync((i=>this.api.lib.StoreApi_updateStore(i,e,t)))}async deleteStore(e,t){return this.runAsync((i=>this.api.lib.StoreApi_deleteStore(i,e,t)))}async getStore(e,t){return this.runAsync((i=>this.api.lib.StoreApi_getStore(i,e,t)))}async listStores(e,t){return this.runAsync((i=>this.api.lib.StoreApi_listStores(i,e,t)))}async createFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_createFile(i,e,t)))}async updateFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_updateFile(i,e,t)))}async updateFileMeta(e,t){return this.runAsync((i=>this.api.lib.StoreApi_updateFileMeta(i,e,t)))}async writeToFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_writeToFile(i,e,t)))}async deleteFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_deleteFile(i,e,t)))}async getFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_getFile(i,e,t)))}async listFiles(e,t){return this.runAsync((i=>this.api.lib.StoreApi_listFiles(i,e,t)))}async openFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_openFile(i,e,t)))}async readFromFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_readFromFile(i,e,t)))}async seekInFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_seekInFile(i,e,t)))}async closeFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_closeFile(i,e,t)))}async subscribeForStoreEvents(e,t){return this.runAsync((i=>this.api.lib.StoreApi_subscribeForStoreEvents(i,e,t)))}async unsubscribeFromStoreEvents(e,t){return this.runAsync((i=>this.api.lib.StoreApi_unsubscribeFromStoreEvents(i,e,t)))}async subscribeForFileEvents(e,t){return this.runAsync((i=>this.api.lib.StoreApi_subscribeForFileEvents(i,e,t)))}async unsubscribeFromFileEvents(e,t){return this.runAsync((i=>this.api.lib.StoreApi_unsubscribeFromFileEvents(i,e,t)))}}t.StoreApiNative=n},272:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ThreadApiNative=void 0;const s=i(361);class n extends s.BaseNative{async newApi(e){return this.runAsync((t=>this.api.lib.ThreadApi_newThreadApi(t,e)))}async deleteApi(e){await this.runAsync((t=>this.api.lib.ThreadApi_deleteThreadApi(t,e))),this.deleteApiRef()}async create(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_create(i,e,t)))}async createThread(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_createThread(i,e,t)))}async updateThread(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_updateThread(i,e,t)))}async deleteThread(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_deleteThread(i,e,t)))}async getThread(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_getThread(i,e,t)))}async listThreads(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_listThreads(i,e,t)))}async getMessage(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_getMessage(i,e,t)))}async listMessages(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_listMessages(i,e,t)))}async sendMessage(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_sendMessage(i,e,t)))}async deleteMessage(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_deleteMessage(i,e,t)))}async updateMessage(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_updateMessage(i,e,t)))}async subscribeForThreadEvents(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_subscribeForThreadEvents(i,e,t)))}async unsubscribeFromThreadEvents(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_unsubscribeFromThreadEvents(i,e,t)))}async subscribeForMessageEvents(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_subscribeForMessageEvents(i,e,t)))}async unsubscribeFromMessageEvents(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_unsubscribeFromMessageEvents(i,e,t)))}}t.ThreadApiNative=n},647:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BaseApi=void 0,t.BaseApi=class{_servicePtr;constructor(e){this._servicePtr=e}get servicePtr(){if(this._servicePtr<0)throw new Error("This API instance is no longer valid because the connection associated with it has been closed.");return this._servicePtr}destroyRefs(){this._servicePtr=-1}}},262:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Connection=void 0;const s=i(647);class n extends s.BaseApi{native;apisRefs={};nativeApisDeps={};constructor(e,t){super(t),this.native=e}async getConnectionId(){return this.native.getConnectionId(this.servicePtr,[])}async listContexts(e){return this.native.listContexts(this.servicePtr,[e])}async disconnect(){await this.native.disconnect(this.servicePtr,[]),await this.freeApis(),await this.native.deleteConnection(this.servicePtr)}async freeApis(){for(const e in this.apisRefs)this.nativeApisDeps[e]&&await this.nativeApisDeps[e].deleteApi(this.apisRefs[e]._apiServicePtr)}}t.Connection=n},11:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CryptoApi=void 0;const s=i(647);class n extends s.BaseApi{native;constructor(e,t){super(t),this.native=e}async signData(e,t){return this.native.signData(this.servicePtr,[e,t])}async generatePrivateKey(e){return this.native.generatePrivateKey(this.servicePtr,[e])}async derivePrivateKey(e,t){return this.native.derivePrivateKey(this.servicePtr,[e,t])}async derivePrivateKey2(e,t){return this.native.derivePrivateKey2(this.servicePtr,[e,t])}async derivePublicKey(e){return this.native.derivePublicKey(this.servicePtr,[e])}async generateKeySymmetric(){return this.native.generateKeySymmetric(this.servicePtr,[])}async encryptDataSymmetric(e,t){return this.native.encryptDataSymmetric(this.servicePtr,[e,t])}async decryptDataSymmetric(e,t){return this.native.decryptDataSymmetric(this.servicePtr,[e,t])}async convertPEMKeytoWIFKey(e){return this.native.convertPEMKeytoWIFKey(this.servicePtr,[e])}}t.CryptoApi=n},181:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EndpointFactory=void 0;const s=i(667),n=i(140),r=i(711),a=i(467),c=i(252),o=i(243),u=i(272),h=i(262),p=i(11),y=i(297),l=i(134),v=i(985),d=i(148);class b{static api;static eventQueueInstance;static async setup(e){const t=e||document.currentScript.src.split("/").slice(0,-1).join("/"),i=["driver-web-context.js","endpoint-wasm-module.js"];for(const e of i)await this.loadScript(t+"/"+e);const s=await endpointWasmModule();b.init(s)}static async loadScript(e){return new Promise((t=>{const i=document.getElementsByTagName("head")[0],s=document.createElement("script");s.type="text/javascript",s.src=e,s.onload=()=>{t()},i.appendChild(s)}))}static init(e){this.api=new s.Api(e)}static async getEventQueue(){if(!this.eventQueueInstance){const e=new a.EventQueueNative(this.api),t=await e.newEventQueue();this.eventQueueInstance=new y.EventQueue(e,t)}return this.eventQueueInstance}static async connect(e,t,i){const s=new n.ConnectionNative(this.api),r=await s.newConnection();return await s.connect(r,[e,t,i]),new h.Connection(s,r)}static async connectPublic(e,t){const i=new n.ConnectionNative(this.api),s=await i.newConnection();return await i.connectPublic(s,[e,t]),new h.Connection(i,s)}static async createThreadApi(e){if("threads"in e.apisRefs)throw new Error("ThreadApi already registered for given connection.");const t=new u.ThreadApiNative(this.api),i=await t.newApi(e.servicePtr);return await t.create(i,[]),e.apisRefs.threads={_apiServicePtr:i},e.nativeApisDeps.threads=t,new d.ThreadApi(t,i)}static async createStoreApi(e){if("stores"in e.apisRefs)throw new Error("StoreApi already registered for given connection.");const t=new o.StoreApiNative(this.api),i=await t.newApi(e.servicePtr);return e.apisRefs.stores={_apiServicePtr:i},e.nativeApisDeps.stores=t,await t.create(i,[]),new v.StoreApi(t,i)}static async createInboxApi(e,t,i){if("inboxes"in e.apisRefs)throw new Error("InboxApi already registered for given connection.");const s=new c.InboxApiNative(this.api),n=await s.newApi(e.servicePtr,t.servicePtr,i.servicePtr);return e.apisRefs.inboxes={_apiServicePtr:n},e.nativeApisDeps.inboxes=s,await s.create(n,[]),new l.InboxApi(s,n)}static async createCryptoApi(){const e=new r.CryptoApiNative(this.api),t=await e.newApi();return await e.create(t,[]),new p.CryptoApi(e,t)}}t.EndpointFactory=b},297:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EventQueue=void 0;const s=i(647);class n extends s.BaseApi{native;isPending=!1;constructor(e,t){super(t),this.native=e}async waitEvent(){if(this.isPending)throw"WaitEvent() is already in a pending state waiting for new events";try{return await this.native.waitEvent(this.servicePtr,[])}finally{this.isPending=!1}}async emitBreakEvent(){return this.native.emitBreakEvent(this.servicePtr,[])}}t.EventQueue=n},134:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.InboxApi=void 0;const s=i(647);class n extends s.BaseApi{native;constructor(e,t){super(t),this.native=e}async createInbox(e,t,i,s,n,r,a){return this.native.createInbox(this.servicePtr,[e,t,i,s,n,r,a])}async updateInbox(e,t,i,s,n,r,a,c,o,u){return this.native.updateInbox(this.servicePtr,[e,t,i,s,n,r,a,c,o,u])}async getInbox(e){return this.native.getInbox(this.servicePtr,[e])}async listInboxes(e,t){return this.native.listInboxes(this.servicePtr,[e,t])}async getInboxPublicView(e){return this.native.getInboxPublicView(this.servicePtr,[e])}async deleteInbox(e){return this.native.deleteInbox(this.servicePtr,[e])}async prepareEntry(e,t,i,s){return this.native.prepareEntry(this.servicePtr,[e,t,i,s])}async sendEntry(e){return this.native.sendEntry(this.servicePtr,[e])}async readEntry(e){return this.native.readEntry(this.servicePtr,[e])}async listEntries(e,t){return this.native.listEntries(this.servicePtr,[e,t])}async deleteEntry(e){return this.native.deleteEntry(this.servicePtr,[e])}async createFileHandle(e,t,i){return this.native.createFileHandle(this.servicePtr,[e,t,i])}async writeToFile(e,t,i){return this.native.writeToFile(this.servicePtr,[e,t,i])}async openFile(e){return this.native.openFile(this.servicePtr,[e])}async readFromFile(e,t){return this.native.readFromFile(this.servicePtr,[e,t])}async seekInFile(e,t){return this.native.seekInFile(this.servicePtr,[e,t])}async closeFile(e){return this.native.closeFile(this.servicePtr,[e])}async subscribeForInboxEvents(){return this.native.subscribeForInboxEvents(this.servicePtr,[])}async unsubscribeFromInboxEvents(){return this.native.unsubscribeFromInboxEvents(this.servicePtr,[])}async subscribeForEntryEvents(e){return this.native.subscribeForEntryEvents(this.servicePtr,[e])}async unsubscribeFromEntryEvents(e){return this.native.unsubscribeFromEntryEvents(this.servicePtr,[e])}}t.InboxApi=n},985:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StoreApi=void 0;const s=i(647);class n extends s.BaseApi{native;constructor(e,t){super(t),this.native=e}async createStore(e,t,i,s,n,r){return this.native.createStore(this.servicePtr,[e,t,i,s,n,r])}async updateStore(e,t,i,s,n,r,a,c,o){return this.native.updateStore(this.servicePtr,[e,t,i,s,n,r,a,c,o])}async deleteStore(e){return this.native.deleteStore(this.servicePtr,[e])}async getStore(e){return this.native.getStore(this.servicePtr,[e])}async listStores(e,t){return this.native.listStores(this.servicePtr,[e,t])}async createFile(e,t,i,s){return this.native.createFile(this.servicePtr,[e,t,i,s])}async updateFile(e,t,i,s){return this.native.updateFile(this.servicePtr,[e,t,i,s])}async updateFileMeta(e,t,i){return this.native.updateFileMeta(this.servicePtr,[e,t,i])}async writeToFile(e,t){return this.native.writeToFile(this.servicePtr,[e,t])}async deleteFile(e){return this.native.deleteFile(this.servicePtr,[e])}async getFile(e){return this.native.getFile(this.servicePtr,[e])}async listFiles(e,t){return this.native.listFiles(this.servicePtr,[e,t])}async openFile(e){return this.native.openFile(this.servicePtr,[e])}async readFromFile(e,t){return this.native.readFromFile(this.servicePtr,[e,t])}async seekInFile(e,t){return this.native.seekInFile(this.servicePtr,[e,t])}async closeFile(e){return this.native.closeFile(this.servicePtr,[e])}async subscribeForStoreEvents(){return this.native.subscribeForStoreEvents(this.servicePtr,[])}async unsubscribeFromStoreEvents(){return this.native.unsubscribeFromStoreEvents(this.servicePtr,[])}async subscribeForFileEvents(e){return this.native.subscribeForFileEvents(this.servicePtr,[e])}async unsubscribeFromFileEvents(e){return this.native.unsubscribeFromFileEvents(this.servicePtr,[e])}}t.StoreApi=n},148:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ThreadApi=void 0;const s=i(647);class n extends s.BaseApi{native;constructor(e,t){super(t),this.native=e}async createThread(e,t,i,s,n,r){return this.native.createThread(this.servicePtr,[e,t,i,s,n,r])}async updateThread(e,t,i,s,n,r,a,c,o){return this.native.updateThread(this.servicePtr,[e,t,i,s,n,r,a,c,o])}async deleteThread(e){return this.native.deleteThread(this.servicePtr,[e])}async getThread(e){return this.native.getThread(this.servicePtr,[e])}async listThreads(e,t){return this.native.listThreads(this.servicePtr,[e,t])}async getMessage(e){return this.native.getMessage(this.servicePtr,[e])}async listMessages(e,t){return this.native.listMessages(this.servicePtr,[e,t])}async sendMessage(e,t,i,s){return this.native.sendMessage(this.servicePtr,[e,t,i,s])}async deleteMessage(e){return this.native.deleteMessage(this.servicePtr,[e])}async updateMessage(e,t,i,s){return this.native.updateMessage(this.servicePtr,[e,t,i,s])}async subscribeForThreadEvents(){return this.native.subscribeForThreadEvents(this.servicePtr,[])}async unsubscribeFromThreadEvents(){return this.native.unsubscribeFromThreadEvents(this.servicePtr,[])}async subscribeForMessageEvents(e){return this.native.subscribeForMessageEvents(this.servicePtr,[e])}async unsubscribeFromMessageEvents(e){return this.native.unsubscribeFromMessageEvents(this.servicePtr,[e])}}t.ThreadApi=n}},t={};function i(s){var n=t[s];if(void 0!==n)return n.exports;var r=t[s]={exports:{}};return e[s](r,r.exports,i),r.exports}var s={};return(()=>{var e=s;Object.defineProperty(e,"__esModule",{value:!0}),e.Endpoint=void 0;const t=i(181);Object.defineProperty(e,"Endpoint",{enumerable:!0,get:function(){return t.EndpointFactory}})})(),s})()));
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see privmx-endpoint-web.js.LICENSE.txt */
|
|
2
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["privmx-webendpoint"]=t():e.PrivmxWebEndpoint=t()}(self,(()=>(()=>{"use strict";var e={54:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FinalizationHelper=void 0;const s=i(457);class n{wasmLib;static instance;static wasmLib;static init(e){n.wasmLib=e}static getInstance(){if(!n.wasmLib)throw new Error("Initialize first with the WASM Library object");return this.instance||(this.instance=new n(n.wasmLib)),this.instance}finalizationRegistry;finalizationQueue=[];scheduler=null;constructor(e){this.wasmLib=e,this.finalizationRegistry=new FinalizationRegistry((e=>{s.ApiStatic.getInstance(),this.finalizationQueue.push(e.onFree),this.scheduleCleanup()}))}scheduleCleanup(){this.scheduler||(this.scheduler=setTimeout((async()=>{for(const e of this.finalizationQueue)await e();this.finalizationQueue=[],clearTimeout(this.scheduler),this.scheduler=null}),1e3))}register(e,t){this.finalizationRegistry.register(e,t,e)}}t.FinalizationHelper=n},667:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Api=void 0;const s=i(785);t.Api=class{lib;promises;taskIdGenerator;constructor(e){this.lib=e,this.taskIdGenerator=new s.IdGenerator,this.promises=new Map,this.setResultsCallback()}async runAsync(e){return new Promise(((t,i)=>{const s=this.generateId();this.promises.set(s,{resolve:t,reject:i}),e(s)}))}resolveResult(e){1==e.status?this.promises.get(e.taskId).resolve(e.result):this.promises.get(e.taskId).reject(e.error),this.promises.delete(e.taskId)}generateId(){return this.taskIdGenerator.generateId()}setResultsCallback(){this.lib.setResultsCallback((e=>this.resolveResult(e)))}}},457:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ApiStatic=void 0,t.ApiStatic=class{static instance;static init(e){this.instance=e}static getInstance(){if(!this.instance)throw new Error("API Static not initialized");return this.instance}}},361:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BaseNative=void 0,t.BaseNative=class{_api;constructor(e){this._api=e}get api(){if(!this._api)throw new Error("This API instance is no longer valid because the connection associated with it has been closed.");return this._api}deleteApiRef(){this._api=null}async runAsync(e){if(!this.api)throw new Error("This API instance is no longer valid because the connection associated with it has been closed.");return this.api.runAsync(e)}}},140:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ConnectionNative=void 0;const s=i(361);class n extends s.BaseNative{lastConnectionId=-1;userVerifierPtr=-1;async newApi(e){throw new Error("Use the newConnection() - specialized version of method instead.")}async deleteApi(e){await this.runAsync((t=>this.api.lib.Connection_deleteConnection(t,e))),this.deleteApiRef()}async newConnection(){return this.runAsync((e=>this.api.lib.Connection_newConnection(e)))}async deleteConnection(e){await this.runAsync((t=>this.api.lib.Connection_deleteConnection(t,e))),this.deleteApiRef()}async connect(e,t){await this.runAsync((i=>this.api.lib.Connection_connect(i,e,t))),await this.getConnectionId(e,[])}async connectPublic(e,t){return this.runAsync((i=>this.api.lib.Connection_connectPublic(i,e,t)))}async getConnectionId(e,t){return this.lastConnectionId<0&&(this.lastConnectionId=await this.runAsync((i=>this.api.lib.Connection_getConnectionId(i,e,t)))),this.lastConnectionId}async listContexts(e,t){return this.runAsync((i=>this.api.lib.Connection_listContexts(i,e,t)))}async getContextUsers(e,t){return this.runAsync((i=>this.api.lib.Connection_getContextUsers(i,e,t)))}async disconnect(e,t){await this.runAsync((i=>this.api.lib.Connection_disconnect(i,e,t)))}async setUserVerifier(e,t){this.userVerifierPtr>-1&&(await this.deleteUserVerifierInterface(this.userVerifierPtr),this.userVerifierPtr=-1);const[i,s]=t;window.userVierifier_verify=async e=>{if(s&&"function"==typeof s.verify)return s.verify(e);throw new Error("Call on UserVerifierInterface with missing implementation")},this.userVerifierPtr=await this.runAsync((e=>this.api.lib.Connection_newUserVerifierInterface(e,i)))}async newUserVerifierInterface(e){return this.runAsync((t=>this.api.lib.Connection_newUserVerifierInterface(t,e)))}async deleteUserVerifierInterface(e){await this.runAsync((t=>this.api.lib.Connection_deleteUserVerifierInterface(t,e)))}}t.ConnectionNative=n},711:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CryptoApiNative=void 0;const s=i(504),n=i(361);class r extends n.BaseNative{async newApi(){return this.runAsync((e=>this.api.lib.CryptoApi_newCryptoApi(e)))}async deleteApi(e){await this.runAsync((t=>this.api.lib.CryptoApi_deleteCryptoApi(t,e))),this.deleteApiRef()}async create(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_create(i,e,t)))}async signData(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_signData(i,e,t)))}async verifySignature(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_verifySignature(i,e,t)))}async generatePrivateKey(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_generatePrivateKey(i,e,t)))}async derivePrivateKey(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_derivePrivateKey(i,e,t)))}async derivePrivateKey2(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_derivePrivateKey2(i,e,t)))}async derivePublicKey(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_derivePublicKey(i,e,t)))}async generateKeySymmetric(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_generateKeySymmetric(i,e,t)))}async encryptDataSymmetric(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_encryptDataSymmetric(i,e,t)))}async decryptDataSymmetric(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_decryptDataSymmetric(i,e,t)))}async convertPEMKeytoWIFKey(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_convertPEMKeytoWIFKey(i,e,t)))}async generateBip39(e,t){const i=await this.runAsync((i=>this.api.lib.CryptoApi_generateBip39(i,e,t)));return this.convertBIP(i)}async fromMnemonic(e,t){const i=await this.runAsync((i=>this.api.lib.CryptoApi_fromMnemonic(i,e,t)));return this.convertBIP(i)}async fromEntropy(e,t){const i=await this.runAsync((i=>this.api.lib.CryptoApi_fromEntropy(i,e,t)));return this.convertBIP(i)}async entropyToMnemonic(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_entropyToMnemonic(i,e,t)))}async mnemonicToEntropy(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_mnemonicToEntropy(i,e,t)))}async mnemonicToSeed(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_mnemonicToSeed(i,e,t)))}convertBIP(e){return{mnemonic:e.mnemonic,entropy:e.entropy,extKey:s.ExtKey.fromPtr(e.extKey)}}}t.CryptoApiNative=r},688:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EventApiNative=void 0;const s=i(361);class n extends s.BaseNative{async newApi(e){return this.runAsync((t=>this.api.lib.EventApi_newEventApi(t,e)))}async deleteApi(e){await this.runAsync((t=>this.api.lib.EventApi_deleteEventApi(t,e))),this.deleteApiRef()}async create(e,t){return this.runAsync((i=>this.api.lib.EventApi_create(i,e,t)))}async emitEvent(e,t){return this.runAsync((i=>this.api.lib.EventApi_emitEvent(i,e,t)))}async subscribeForCustomEvents(e,t){return this.runAsync((i=>this.api.lib.EventApi_subscribeForCustomEvents(i,e,t)))}async unsubscribeFromCustomEvents(e,t){return this.runAsync((i=>this.api.lib.EventApi_unsubscribeFromCustomEvents(i,e,t)))}}t.EventApiNative=n},467:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EventQueueNative=void 0;const s=i(361);class n extends s.BaseNative{async newApi(e){throw new Error("Use the newEventQueue() - specialized version of method instead.")}async deleteApi(e){await this.runAsync((t=>this.api.lib.EventQueue_deleteEventQueue(t,e))),this.deleteApiRef()}async newEventQueue(){return this.runAsync((e=>this.api.lib.EventQueue_newEventQueue(e)))}async deleteEventQueue(e){await this.runAsync((t=>this.api.lib.EventQueue_deleteEventQueue(t,e))),this.deleteApiRef()}async waitEvent(e,t){return this.runAsync((i=>this.api.lib.EventQueue_waitEvent(i,e,t)))}async emitBreakEvent(e,t){return this.runAsync((i=>this.api.lib.EventQueue_emitBreakEvent(i,e,t)))}}t.EventQueueNative=n},614:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ExtKeyNative=void 0;const s=i(457),n=i(361);class r extends n.BaseNative{async newApi(){throw new Error("Use the specialized version of method instead.")}async deleteApi(e){return this.runAsync((t=>this.api.lib.ExtKey_deleteExtKey(t,e)))}async deleteExtKey(e){return this.runAsync((t=>this.api.lib.ExtKey_deleteExtKey(t,e)))}static async fromSeed(e){const t=s.ApiStatic.getInstance();return t.runAsync((i=>t.lib.ExtKey_fromSeed(i,e)))}static async fromBase58(e){const t=s.ApiStatic.getInstance();return t.runAsync((i=>t.lib.ExtKey_fromBase58(i,e)))}static async generateRandom(e){const t=s.ApiStatic.getInstance();return t.runAsync((i=>t.lib.ExtKey_generateRandom(i,e)))}async derive(e,t){return this.runAsync((i=>this.api.lib.ExtKey_derive(i,e,t)))}async deriveHardened(e,t){return this.runAsync((i=>this.api.lib.ExtKey_deriveHardened(i,e,t)))}getPrivatePartAsBase58(e,t){return this.runAsync((i=>this.api.lib.ExtKey_getPrivatePartAsBase58(i,e,t)))}getPublicPartAsBase58(e,t){return this.runAsync((i=>this.api.lib.ExtKey_getPublicPartAsBase58(i,e,t)))}getPrivateKey(e,t){return this.runAsync((i=>this.api.lib.ExtKey_getPrivateKey(i,e,t)))}getPublicKey(e,t){return this.runAsync((i=>this.api.lib.ExtKey_getPublicKey(i,e,t)))}getPrivateEncKey(e,t){return this.runAsync((i=>this.api.lib.ExtKey_getPrivateEncKey(i,e,t)))}getPublicKeyAsBase58Address(e,t){return this.runAsync((i=>this.api.lib.ExtKey_getPublicKeyAsBase58Address(i,e,t)))}getChainCode(e,t){return this.runAsync((i=>this.api.lib.ExtKey_getChainCode(i,e,t)))}verifyCompactSignatureWithHash(e,t){return this.runAsync((i=>this.api.lib.ExtKey_verifyCompactSignatureWithHash(i,e,t)))}isPrivate(e,t){return this.runAsync((i=>this.api.lib.ExtKey_isPrivate(i,e,t)))}}t.ExtKeyNative=r},785:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.IdGenerator=void 0,t.IdGenerator=class{_id=0;generateId(){return this._id++,this._id}}},252:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.InboxApiNative=void 0;const s=i(361);class n extends s.BaseNative{async newApi(e,t,i){return this.runAsync((s=>this.api.lib.InboxApi_newInboxApi(s,e,t,i)))}async deleteApi(e){await this.runAsync((t=>this.api.lib.InboxApi_deleteInboxApi(t,e))),this.deleteApiRef()}async create(e,t){return this.runAsync((i=>this.api.lib.InboxApi_create(i,e,t)))}async createInbox(e,t){return this.runAsync((i=>this.api.lib.InboxApi_createInbox(i,e,t)))}async updateInbox(e,t){return this.runAsync((i=>this.api.lib.InboxApi_updateInbox(i,e,t)))}async getInbox(e,t){return this.runAsync((i=>this.api.lib.InboxApi_getInbox(i,e,t)))}async listInboxes(e,t){return this.runAsync((i=>this.api.lib.InboxApi_listInboxes(i,e,t)))}async getInboxPublicView(e,t){return this.runAsync((i=>this.api.lib.InboxApi_getInboxPublicView(i,e,t)))}async deleteInbox(e,t){return this.runAsync((i=>this.api.lib.InboxApi_deleteInbox(i,e,t)))}async prepareEntry(e,t){return this.runAsync((i=>this.api.lib.InboxApi_prepareEntry(i,e,t)))}async sendEntry(e,t){return this.runAsync((i=>this.api.lib.InboxApi_sendEntry(i,e,t)))}async readEntry(e,t){return this.runAsync((i=>this.api.lib.InboxApi_readEntry(i,e,t)))}async deleteEntry(e,t){return this.runAsync((i=>this.api.lib.InboxApi_deleteEntry(i,e,t)))}async listEntries(e,t){return this.runAsync((i=>this.api.lib.InboxApi_listEntries(i,e,t)))}async createFileHandle(e,t){return this.runAsync((i=>this.api.lib.InboxApi_createFileHandle(i,e,t)))}async writeToFile(e,t){return this.runAsync((i=>this.api.lib.InboxApi_writeToFile(i,e,t)))}async openFile(e,t){return this.runAsync((i=>this.api.lib.InboxApi_openFile(i,e,t)))}async readFromFile(e,t){return this.runAsync((i=>this.api.lib.InboxApi_readFromFile(i,e,t)))}async seekInFile(e,t){return this.runAsync((i=>this.api.lib.InboxApi_seekInFile(i,e,t)))}async closeFile(e,t){return this.runAsync((i=>this.api.lib.InboxApi_closeFile(i,e,t)))}async subscribeForInboxEvents(e,t){return this.runAsync((i=>this.api.lib.InboxApi_subscribeForInboxEvents(i,e,t)))}async unsubscribeFromInboxEvents(e,t){return this.runAsync((i=>this.api.lib.InboxApi_unsubscribeFromInboxEvents(i,e,t)))}async subscribeForEntryEvents(e,t){return this.runAsync((i=>this.api.lib.InboxApi_subscribeForEntryEvents(i,e,t)))}async unsubscribeFromEntryEvents(e,t){return this.runAsync((i=>this.api.lib.InboxApi_unsubscribeFromEntryEvents(i,e,t)))}}t.InboxApiNative=n},453:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KvdbApiNative=void 0;const s=i(361);class n extends s.BaseNative{async newApi(e){return this.runAsync((t=>this.api.lib.KvdbApi_newKvdbApi(t,e)))}async deleteApi(e){await this.runAsync((t=>this.api.lib.KvdbApi_deleteKvdbApi(t,e))),this.deleteApiRef()}async create(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_create(i,e,t)))}async createKvdb(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_createKvdb(i,e,t)))}async updateKvdb(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_updateKvdb(i,e,t)))}async deleteKvdb(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_deleteKvdb(i,e,t)))}async getKvdb(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_getKvdb(i,e,t)))}async listKvdbs(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_listKvdbs(i,e,t)))}async hasEntry(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_hasEntry(i,e,t)))}async getEntry(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_getEntry(i,e,t)))}async listEntriesKeys(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_listEntriesKeys(i,e,t)))}async listEntries(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_listEntries(i,e,t)))}async setEntry(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_setEntry(i,e,t)))}async deleteEntry(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_deleteEntry(i,e,t)))}async deleteEntries(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_deleteEntries(i,e,t)))}async subscribeForKvdbEvents(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_subscribeForKvdbEvents(i,e,t)))}async unsubscribeFromKvdbEvents(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_unsubscribeFromKvdbEvents(i,e,t)))}async subscribeForEntryEvents(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_subscribeForEntryEvents(i,e,t)))}async unsubscribeFromEntryEvents(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_unsubscribeFromEntryEvents(i,e,t)))}}t.KvdbApiNative=n},243:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StoreApiNative=void 0;const s=i(361);class n extends s.BaseNative{async newApi(e){return this.runAsync((t=>this.api.lib.StoreApi_newStoreApi(t,e)))}async deleteApi(e){await this.runAsync((t=>this.api.lib.StoreApi_deleteStoreApi(t,e))),this.deleteApiRef()}async create(e,t){return this.runAsync((i=>this.api.lib.StoreApi_create(i,e,t)))}async createStore(e,t){return this.runAsync((i=>this.api.lib.StoreApi_createStore(i,e,t)))}async updateStore(e,t){return this.runAsync((i=>this.api.lib.StoreApi_updateStore(i,e,t)))}async deleteStore(e,t){return this.runAsync((i=>this.api.lib.StoreApi_deleteStore(i,e,t)))}async getStore(e,t){return this.runAsync((i=>this.api.lib.StoreApi_getStore(i,e,t)))}async listStores(e,t){return this.runAsync((i=>this.api.lib.StoreApi_listStores(i,e,t)))}async createFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_createFile(i,e,t)))}async updateFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_updateFile(i,e,t)))}async updateFileMeta(e,t){return this.runAsync((i=>this.api.lib.StoreApi_updateFileMeta(i,e,t)))}async writeToFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_writeToFile(i,e,t)))}async deleteFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_deleteFile(i,e,t)))}async getFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_getFile(i,e,t)))}async listFiles(e,t){return this.runAsync((i=>this.api.lib.StoreApi_listFiles(i,e,t)))}async openFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_openFile(i,e,t)))}async readFromFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_readFromFile(i,e,t)))}async seekInFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_seekInFile(i,e,t)))}async closeFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_closeFile(i,e,t)))}async subscribeForStoreEvents(e,t){return this.runAsync((i=>this.api.lib.StoreApi_subscribeForStoreEvents(i,e,t)))}async unsubscribeFromStoreEvents(e,t){return this.runAsync((i=>this.api.lib.StoreApi_unsubscribeFromStoreEvents(i,e,t)))}async subscribeForFileEvents(e,t){return this.runAsync((i=>this.api.lib.StoreApi_subscribeForFileEvents(i,e,t)))}async unsubscribeFromFileEvents(e,t){return this.runAsync((i=>this.api.lib.StoreApi_unsubscribeFromFileEvents(i,e,t)))}}t.StoreApiNative=n},272:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ThreadApiNative=void 0;const s=i(361);class n extends s.BaseNative{async newApi(e){return this.runAsync((t=>this.api.lib.ThreadApi_newThreadApi(t,e)))}async deleteApi(e){await this.runAsync((t=>this.api.lib.ThreadApi_deleteThreadApi(t,e))),this.deleteApiRef()}async create(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_create(i,e,t)))}async createThread(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_createThread(i,e,t)))}async updateThread(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_updateThread(i,e,t)))}async deleteThread(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_deleteThread(i,e,t)))}async getThread(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_getThread(i,e,t)))}async listThreads(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_listThreads(i,e,t)))}async getMessage(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_getMessage(i,e,t)))}async listMessages(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_listMessages(i,e,t)))}async sendMessage(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_sendMessage(i,e,t)))}async deleteMessage(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_deleteMessage(i,e,t)))}async updateMessage(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_updateMessage(i,e,t)))}async subscribeForThreadEvents(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_subscribeForThreadEvents(i,e,t)))}async unsubscribeFromThreadEvents(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_unsubscribeFromThreadEvents(i,e,t)))}async subscribeForMessageEvents(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_subscribeForMessageEvents(i,e,t)))}async unsubscribeFromMessageEvents(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_unsubscribeFromMessageEvents(i,e,t)))}}t.ThreadApiNative=n},647:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BaseApi=void 0,t.BaseApi=class{_servicePtr;constructor(e){this._servicePtr=e}get servicePtr(){if(this._servicePtr<0)throw new Error("This API instance is no longer valid because the connection associated with it has been closed.");return this._servicePtr}destroyRefs(){this._servicePtr=-1}}},262:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Connection=void 0;const s=i(647);class n extends s.BaseApi{native;apisRefs={};nativeApisDeps={};constructor(e,t){super(t),this.native=e}async getConnectionId(){return this.native.getConnectionId(this.servicePtr,[])}async listContexts(e){return this.native.listContexts(this.servicePtr,[e])}async getContextUsers(e){return this.native.getContextUsers(this.servicePtr,[e])}async disconnect(){await this.native.disconnect(this.servicePtr,[]),await this.freeApis(),await this.native.deleteConnection(this.servicePtr)}setUserVerifier(e){return this.native.setUserVerifier(this.servicePtr,[this.servicePtr,e])}async freeApis(){for(const e in this.apisRefs)this.nativeApisDeps[e]&&await this.nativeApisDeps[e].deleteApi(this.apisRefs[e]._apiServicePtr)}}t.Connection=n},11:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CryptoApi=void 0;const s=i(647);class n extends s.BaseApi{native;constructor(e,t){super(t),this.native=e}async signData(e,t){return this.native.signData(this.servicePtr,[e,t])}async verifySignature(e,t,i){return this.native.verifySignature(this.servicePtr,[e,t,i])}async generatePrivateKey(e){return this.native.generatePrivateKey(this.servicePtr,[e])}async derivePrivateKey(e,t){return this.native.derivePrivateKey(this.servicePtr,[e,t])}async derivePrivateKey2(e,t){return this.native.derivePrivateKey2(this.servicePtr,[e,t])}async derivePublicKey(e){return this.native.derivePublicKey(this.servicePtr,[e])}async generateKeySymmetric(){return this.native.generateKeySymmetric(this.servicePtr,[])}async encryptDataSymmetric(e,t){return this.native.encryptDataSymmetric(this.servicePtr,[e,t])}async decryptDataSymmetric(e,t){return this.native.decryptDataSymmetric(this.servicePtr,[e,t])}async convertPEMKeytoWIFKey(e){return this.native.convertPEMKeytoWIFKey(this.servicePtr,[e])}async generateBip39(e,t=""){return this.native.generateBip39(this.servicePtr,[e,t])}async fromMnemonic(e,t=""){return this.native.fromMnemonic(this.servicePtr,[e,t])}async fromEntropy(e,t=""){return this.native.fromEntropy(this.servicePtr,[e,t])}async entropyToMnemonic(e){return this.native.entropyToMnemonic(this.servicePtr,[e])}async mnemonicToEntropy(e){return this.native.mnemonicToEntropy(this.servicePtr,[e])}async mnemonicToSeed(e,t=""){return this.native.mnemonicToSeed(this.servicePtr,[e,t])}}t.CryptoApi=n},181:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EndpointFactory=void 0;const s=i(667),n=i(457),r=i(140),a=i(711),c=i(688),o=i(467),u=i(252),h=i(453),y=i(243),v=i(272),p=i(54),l=i(262),d=i(11),b=i(590),A=i(297),E=i(134),P=i(789),_=i(985),g=i(148);class w{static api;static eventQueueInstance;static async setup(e){const t=e||document.currentScript.src.split("/").slice(0,-1).join("/"),i=["driver-web-context.js","endpoint-wasm-module.js"];for(const e of i)await this.loadScript(t+"/"+e);const s=await endpointWasmModule();w.init(s)}static async loadScript(e){return new Promise((t=>{const i=document.getElementsByTagName("head")[0],s=document.createElement("script");s.type="text/javascript",s.src=e,s.onload=()=>{t()},i.appendChild(s)}))}static init(e){this.api=new s.Api(e),n.ApiStatic.init(this.api),p.FinalizationHelper.init(e)}static async getEventQueue(){if(!this.eventQueueInstance){const e=new o.EventQueueNative(this.api),t=await e.newEventQueue();this.eventQueueInstance=new A.EventQueue(e,t)}return this.eventQueueInstance}static generateDefaultPKIVerificationOptions(){return{bridgeInstanceId:void 0,bridgePubKey:void 0}}static async connect(e,t,i,s){const n=new r.ConnectionNative(this.api),a=await n.newConnection();return await n.connect(a,[e,t,i,s||this.generateDefaultPKIVerificationOptions()]),new l.Connection(n,a)}static async connectPublic(e,t,i){const s=new r.ConnectionNative(this.api),n=await s.newConnection();return await s.connectPublic(n,[e,t,i||this.generateDefaultPKIVerificationOptions()]),new l.Connection(s,n)}static async createThreadApi(e){if("threads"in e.apisRefs)throw new Error("ThreadApi already registered for given connection.");const t=new v.ThreadApiNative(this.api),i=await t.newApi(e.servicePtr);return await t.create(i,[]),e.apisRefs.threads={_apiServicePtr:i},e.nativeApisDeps.threads=t,new g.ThreadApi(t,i)}static async createStoreApi(e){if("stores"in e.apisRefs)throw new Error("StoreApi already registered for given connection.");const t=new y.StoreApiNative(this.api),i=await t.newApi(e.servicePtr);return e.apisRefs.stores={_apiServicePtr:i},e.nativeApisDeps.stores=t,await t.create(i,[]),new _.StoreApi(t,i)}static async createInboxApi(e,t,i){if("inboxes"in e.apisRefs)throw new Error("InboxApi already registered for given connection.");const s=new u.InboxApiNative(this.api),n=await s.newApi(e.servicePtr,t.servicePtr,i.servicePtr);return e.apisRefs.inboxes={_apiServicePtr:n},e.nativeApisDeps.inboxes=s,await s.create(n,[]),new E.InboxApi(s,n)}static async createKvdbApi(e){if("kvdbs"in e.apisRefs)throw new Error("KvdbApi already registered for given connection.");const t=new h.KvdbApiNative(this.api),i=await t.newApi(e.servicePtr);return await t.create(i,[]),e.apisRefs.kvdbs={_apiServicePtr:i},e.nativeApisDeps.kvdbs=t,new P.KvdbApi(t,i)}static async createCryptoApi(){const e=new a.CryptoApiNative(this.api),t=await e.newApi();return await e.create(t,[]),new d.CryptoApi(e,t)}static async createEventApi(e){if("events"in e.apisRefs)throw new Error("EventApi already registered for given connection.");const t=new c.EventApiNative(this.api),i=await t.newApi(e.servicePtr);return e.apisRefs.events={_apiServicePtr:i},e.nativeApisDeps.events=t,await t.create(i,[]),new b.EventApi(t,i)}}t.EndpointFactory=w},590:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EventApi=void 0;const s=i(647);class n extends s.BaseApi{native;constructor(e,t){super(t),this.native=e}async emitEvent(e,t,i,s){return this.native.emitEvent(this.servicePtr,[e,t,i,s])}async subscribeForCustomEvents(e,t){return this.native.subscribeForCustomEvents(this.servicePtr,[e,t])}async unsubscribeFromCustomEvents(e,t){return this.native.unsubscribeFromCustomEvents(this.servicePtr,[e,t])}}t.EventApi=n},297:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EventQueue=void 0;const s=i(647);class n extends s.BaseApi{native;isPending=!1;constructor(e,t){super(t),this.native=e}async waitEvent(){if(this.isPending)throw"WaitEvent() is already in a pending state waiting for new events";try{return await this.native.waitEvent(this.servicePtr,[])}finally{this.isPending=!1}}async emitBreakEvent(){return this.native.emitBreakEvent(this.servicePtr,[])}}t.EventQueue=n},504:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ExtKey=void 0;const s=i(457),n=i(614),r=i(54),a=i(647);class c extends a.BaseApi{native;ptr;static async freeExtKey(e){const t=new n.ExtKeyNative(s.ApiStatic.getInstance());await t.deleteExtKey(e)}static async fromSeed(e){const t=await n.ExtKeyNative.fromSeed([e]),i=new n.ExtKeyNative(s.ApiStatic.getInstance()),a=new c(i,t);return r.FinalizationHelper.getInstance().register(a,{ptr:t,onFree:()=>this.freeExtKey(t)}),a}static async fromBase58(e){const t=await n.ExtKeyNative.fromBase58([e]),i=new n.ExtKeyNative(s.ApiStatic.getInstance()),a=new c(i,t);return r.FinalizationHelper.getInstance().register(a,{ptr:t,onFree:()=>this.freeExtKey(t)}),a}static async generateRandom(){const e=await n.ExtKeyNative.generateRandom([]),t=new n.ExtKeyNative(s.ApiStatic.getInstance()),i=new c(t,e);return r.FinalizationHelper.getInstance().register(i,{ptr:e,onFree:()=>this.freeExtKey(e)}),i}constructor(e,t){super(t),this.native=e,this.ptr=t}static fromPtr(e){const t=new n.ExtKeyNative(s.ApiStatic.getInstance());return new c(t,e)}async derive(e){const t=await this.native.derive(this.servicePtr,[e]),i=new c(this.native,t);return r.FinalizationHelper.getInstance().register(i,{ptr:t,onFree:()=>c.freeExtKey(t)}),i}async deriveHardened(e){const t=await this.native.deriveHardened(this.servicePtr,[e]);return new c(this.native,t)}async getPrivatePartAsBase58(){return this.native.getPrivatePartAsBase58(this.servicePtr,[])}async getPublicPartAsBase58(){return this.native.getPublicPartAsBase58(this.servicePtr,[])}async getPrivateKey(){return this.native.getPrivateKey(this.servicePtr,[])}async getPublicKey(){return this.native.getPublicKey(this.servicePtr,[])}async getPrivateEncKey(){return this.native.getPrivateEncKey(this.servicePtr,[])}async getPublicKeyAsBase58Address(){return this.native.getPublicKeyAsBase58Address(this.servicePtr,[])}async getChainCode(){return this.native.getChainCode(this.servicePtr,[])}async verifyCompactSignatureWithHash(e,t){return this.native.verifyCompactSignatureWithHash(this.servicePtr,[e,t])}async isPrivate(){return this.native.isPrivate(this.servicePtr,[])}}t.ExtKey=c},134:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.InboxApi=void 0;const s=i(647);class n extends s.BaseApi{native;constructor(e,t){super(t),this.native=e}async createInbox(e,t,i,s,n,r,a){return this.native.createInbox(this.servicePtr,[e,t,i,s,n,r,a])}async updateInbox(e,t,i,s,n,r,a,c,o,u){return this.native.updateInbox(this.servicePtr,[e,t,i,s,n,r,a,c,o,u])}async getInbox(e){return this.native.getInbox(this.servicePtr,[e])}async listInboxes(e,t){return this.native.listInboxes(this.servicePtr,[e,t])}async getInboxPublicView(e){return this.native.getInboxPublicView(this.servicePtr,[e])}async deleteInbox(e){return this.native.deleteInbox(this.servicePtr,[e])}async prepareEntry(e,t,i,s){return this.native.prepareEntry(this.servicePtr,[e,t,i,s])}async sendEntry(e){return this.native.sendEntry(this.servicePtr,[e])}async readEntry(e){return this.native.readEntry(this.servicePtr,[e])}async listEntries(e,t){return this.native.listEntries(this.servicePtr,[e,t])}async deleteEntry(e){return this.native.deleteEntry(this.servicePtr,[e])}async createFileHandle(e,t,i){return this.native.createFileHandle(this.servicePtr,[e,t,i])}async writeToFile(e,t,i){return this.native.writeToFile(this.servicePtr,[e,t,i])}async openFile(e){return this.native.openFile(this.servicePtr,[e])}async readFromFile(e,t){return this.native.readFromFile(this.servicePtr,[e,t])}async seekInFile(e,t){return this.native.seekInFile(this.servicePtr,[e,t])}async closeFile(e){return this.native.closeFile(this.servicePtr,[e])}async subscribeForInboxEvents(){return this.native.subscribeForInboxEvents(this.servicePtr,[])}async unsubscribeFromInboxEvents(){return this.native.unsubscribeFromInboxEvents(this.servicePtr,[])}async subscribeForEntryEvents(e){return this.native.subscribeForEntryEvents(this.servicePtr,[e])}async unsubscribeFromEntryEvents(e){return this.native.unsubscribeFromEntryEvents(this.servicePtr,[e])}}t.InboxApi=n},789:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KvdbApi=void 0;const s=i(647);class n extends s.BaseApi{native;constructor(e,t){super(t),this.native=e}async createKvdb(e,t,i,s,n,r){return this.native.createKvdb(this.servicePtr,[e,t,i,s,n,r])}async updateKvdb(e,t,i,s,n,r,a,c,o){return this.native.updateKvdb(this.servicePtr,[e,t,i,s,n,r,a,c,o])}async deleteKvdb(e){return this.native.deleteKvdb(this.servicePtr,[e])}async getKvdb(e){return this.native.getKvdb(this.servicePtr,[e])}async listKvdbs(e,t){return this.native.listKvdbs(this.servicePtr,[e,t])}async getEntry(e,t){return this.native.getEntry(this.servicePtr,[e,t])}async hasEntry(e,t){return this.native.hasEntry(this.servicePtr,[e,t])}async listEntriesKeys(e,t){return this.native.listEntriesKeys(this.servicePtr,[e,t])}async listEntries(e,t){return this.native.listEntries(this.servicePtr,[e,t])}async setEntry(e,t,i,s,n,r){return this.native.setEntry(this.servicePtr,[e,t,i,s,n,r||0])}async deleteEntry(e,t){return this.native.deleteEntry(this.servicePtr,[e,t])}async deleteEntries(e,t){return this.native.deleteEntries(this.servicePtr,[e,t])}async subscribeForKvdbEvents(){return this.native.subscribeForKvdbEvents(this.servicePtr,[])}async unsubscribeFromKvdbEvents(){return this.native.unsubscribeFromKvdbEvents(this.servicePtr,[])}async subscribeForEntryEvents(e){return this.native.subscribeForEntryEvents(this.servicePtr,[e])}async unsubscribeFromEntryEvents(e){return this.native.unsubscribeFromEntryEvents(this.servicePtr,[e])}}t.KvdbApi=n},985:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StoreApi=void 0;const s=i(647);class n extends s.BaseApi{native;constructor(e,t){super(t),this.native=e}async createStore(e,t,i,s,n,r){return this.native.createStore(this.servicePtr,[e,t,i,s,n,r])}async updateStore(e,t,i,s,n,r,a,c,o){return this.native.updateStore(this.servicePtr,[e,t,i,s,n,r,a,c,o])}async deleteStore(e){return this.native.deleteStore(this.servicePtr,[e])}async getStore(e){return this.native.getStore(this.servicePtr,[e])}async listStores(e,t){return this.native.listStores(this.servicePtr,[e,t])}async createFile(e,t,i,s){return this.native.createFile(this.servicePtr,[e,t,i,s])}async updateFile(e,t,i,s){return this.native.updateFile(this.servicePtr,[e,t,i,s])}async updateFileMeta(e,t,i){return this.native.updateFileMeta(this.servicePtr,[e,t,i])}async writeToFile(e,t){return this.native.writeToFile(this.servicePtr,[e,t])}async deleteFile(e){return this.native.deleteFile(this.servicePtr,[e])}async getFile(e){return this.native.getFile(this.servicePtr,[e])}async listFiles(e,t){return this.native.listFiles(this.servicePtr,[e,t])}async openFile(e){return this.native.openFile(this.servicePtr,[e])}async readFromFile(e,t){return this.native.readFromFile(this.servicePtr,[e,t])}async seekInFile(e,t){return this.native.seekInFile(this.servicePtr,[e,t])}async closeFile(e){return this.native.closeFile(this.servicePtr,[e])}async subscribeForStoreEvents(){return this.native.subscribeForStoreEvents(this.servicePtr,[])}async unsubscribeFromStoreEvents(){return this.native.unsubscribeFromStoreEvents(this.servicePtr,[])}async subscribeForFileEvents(e){return this.native.subscribeForFileEvents(this.servicePtr,[e])}async unsubscribeFromFileEvents(e){return this.native.unsubscribeFromFileEvents(this.servicePtr,[e])}}t.StoreApi=n},148:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ThreadApi=void 0;const s=i(647);class n extends s.BaseApi{native;constructor(e,t){super(t),this.native=e}async createThread(e,t,i,s,n,r){return this.native.createThread(this.servicePtr,[e,t,i,s,n,r])}async updateThread(e,t,i,s,n,r,a,c,o){return this.native.updateThread(this.servicePtr,[e,t,i,s,n,r,a,c,o])}async deleteThread(e){return this.native.deleteThread(this.servicePtr,[e])}async getThread(e){return this.native.getThread(this.servicePtr,[e])}async listThreads(e,t){return this.native.listThreads(this.servicePtr,[e,t])}async getMessage(e){return this.native.getMessage(this.servicePtr,[e])}async listMessages(e,t){return this.native.listMessages(this.servicePtr,[e,t])}async sendMessage(e,t,i,s){return this.native.sendMessage(this.servicePtr,[e,t,i,s])}async deleteMessage(e){return this.native.deleteMessage(this.servicePtr,[e])}async updateMessage(e,t,i,s){return this.native.updateMessage(this.servicePtr,[e,t,i,s])}async subscribeForThreadEvents(){return this.native.subscribeForThreadEvents(this.servicePtr,[])}async unsubscribeFromThreadEvents(){return this.native.unsubscribeFromThreadEvents(this.servicePtr,[])}async subscribeForMessageEvents(e){return this.native.subscribeForMessageEvents(this.servicePtr,[e])}async unsubscribeFromMessageEvents(e){return this.native.unsubscribeFromMessageEvents(this.servicePtr,[e])}}t.ThreadApi=n}},t={};function i(s){var n=t[s];if(void 0!==n)return n.exports;var r=t[s]={exports:{}};return e[s](r,r.exports,i),r.exports}var s={};return(()=>{var e=s;Object.defineProperty(e,"__esModule",{value:!0}),e.Endpoint=void 0;const t=i(181);Object.defineProperty(e,"Endpoint",{enumerable:!0,get:function(){return t.EndpointFactory}})})(),s})()));
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["privmx-webendpoint"]=t():e.PrivmxWebEndpoint=t()}(self,(()=>(()=>{"use strict";var e={54:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FinalizationHelper=void 0;const s=i(457);class n{wasmLib;static instance;static wasmLib;static init(e){n.wasmLib=e}static getInstance(){if(!n.wasmLib)throw new Error("Initialize first with the WASM Library object");return this.instance||(this.instance=new n(n.wasmLib)),this.instance}finalizationRegistry;finalizationQueue=[];scheduler=null;constructor(e){this.wasmLib=e,this.finalizationRegistry=new FinalizationRegistry((e=>{s.ApiStatic.getInstance(),this.finalizationQueue.push(e.onFree),this.scheduleCleanup()}))}scheduleCleanup(){this.scheduler||(this.scheduler=setTimeout((async()=>{for(const e of this.finalizationQueue)await e();this.finalizationQueue=[],clearTimeout(this.scheduler),this.scheduler=null}),1e3))}register(e,t){this.finalizationRegistry.register(e,t,e)}}t.FinalizationHelper=n},667:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Api=void 0;const s=i(785);t.Api=class{lib;promises;taskIdGenerator;constructor(e){this.lib=e,this.taskIdGenerator=new s.IdGenerator,this.promises=new Map,this.setResultsCallback()}async runAsync(e){return new Promise(((t,i)=>{const s=this.generateId();this.promises.set(s,{resolve:t,reject:i}),e(s)}))}resolveResult(e){1==e.status?this.promises.get(e.taskId).resolve(e.result):this.promises.get(e.taskId).reject(e.error),this.promises.delete(e.taskId)}generateId(){return this.taskIdGenerator.generateId()}setResultsCallback(){this.lib.setResultsCallback((e=>this.resolveResult(e)))}}},457:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ApiStatic=void 0,t.ApiStatic=class{static instance;static init(e){this.instance=e}static getInstance(){if(!this.instance)throw new Error("API Static not initialized");return this.instance}}},361:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BaseNative=void 0,t.BaseNative=class{_api;constructor(e){this._api=e}get api(){if(!this._api)throw new Error("This API instance is no longer valid because the connection associated with it has been closed.");return this._api}deleteApiRef(){this._api=null}async runAsync(e){if(!this.api)throw new Error("This API instance is no longer valid because the connection associated with it has been closed.");return this.api.runAsync(e)}}},140:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ConnectionNative=void 0;const s=i(361);class n extends s.BaseNative{lastConnectionId=-1;userVerifierPtr=-1;static verifierBindingId=-1;static getVerifierBindingId(){return++this.verifierBindingId}async newApi(e){throw new Error("Use the newConnection() - specialized version of method instead.")}async deleteApi(e){await this.runAsync((t=>this.api.lib.Connection_deleteConnection(t,e))),this.deleteApiRef()}async newConnection(){return this.runAsync((e=>this.api.lib.Connection_newConnection(e)))}async deleteConnection(e){await this.runAsync((t=>this.api.lib.Connection_deleteConnection(t,e))),this.deleteApiRef()}async connect(e,t){await this.runAsync((i=>this.api.lib.Connection_connect(i,e,t))),await this.getConnectionId(e,[])}async connectPublic(e,t){return this.runAsync((i=>this.api.lib.Connection_connectPublic(i,e,t)))}async getConnectionId(e,t){return this.lastConnectionId<0&&(this.lastConnectionId=await this.runAsync((i=>this.api.lib.Connection_getConnectionId(i,e,t)))),this.lastConnectionId}async listContexts(e,t){return this.runAsync((i=>this.api.lib.Connection_listContexts(i,e,t)))}async listContextUsers(e,t){return this.runAsync((i=>this.api.lib.Connection_listContextUsers(i,e,t)))}async subscribeFor(e,t){return this.runAsync((i=>this.api.lib.Connection_subscribeFor(i,e,t)))}async unsubscribeFrom(e,t){return this.runAsync((i=>this.api.lib.Connection_unsubscribeFrom(i,e,t)))}async buildSubscriptionQuery(e,t){return this.runAsync((i=>this.api.lib.Connection_buildSubscriptionQuery(i,e,t)))}async disconnect(e,t){await this.runAsync((i=>this.api.lib.Connection_disconnect(i,e,t)))}async setUserVerifier(e,t){this.userVerifierPtr>-1&&(await this.deleteUserVerifierInterface(this.userVerifierPtr),this.userVerifierPtr=-1);const[i,s]=t,r=n.getVerifierBindingId();window.userVerifierBinder||(window.userVerifierBinder={}),window.userVerifierBinder[r]={userVierifier_verify:async e=>{if(s&&"function"==typeof s.verify)return s.verify(e);throw new Error("Call on UserVerifierInterface with missing implementation")}},this.userVerifierPtr=await this.runAsync((e=>this.api.lib.Connection_newUserVerifierInterface(e,i,r)))}async newUserVerifierInterface(e){return this.runAsync((t=>this.api.lib.Connection_newUserVerifierInterface(t,e)))}async deleteUserVerifierInterface(e){await this.runAsync((t=>this.api.lib.Connection_deleteUserVerifierInterface(t,e)))}}t.ConnectionNative=n},711:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CryptoApiNative=void 0;const s=i(504),n=i(361);class r extends n.BaseNative{async newApi(){return this.runAsync((e=>this.api.lib.CryptoApi_newCryptoApi(e)))}async deleteApi(e){await this.runAsync((t=>this.api.lib.CryptoApi_deleteCryptoApi(t,e))),this.deleteApiRef()}async create(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_create(i,e,t)))}async signData(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_signData(i,e,t)))}async verifySignature(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_verifySignature(i,e,t)))}async generatePrivateKey(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_generatePrivateKey(i,e,t)))}async derivePrivateKey(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_derivePrivateKey(i,e,t)))}async derivePrivateKey2(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_derivePrivateKey2(i,e,t)))}async derivePublicKey(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_derivePublicKey(i,e,t)))}async generateKeySymmetric(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_generateKeySymmetric(i,e,t)))}async encryptDataSymmetric(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_encryptDataSymmetric(i,e,t)))}async decryptDataSymmetric(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_decryptDataSymmetric(i,e,t)))}async convertPEMKeytoWIFKey(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_convertPEMKeytoWIFKey(i,e,t)))}async generateBip39(e,t){const i=await this.runAsync((i=>this.api.lib.CryptoApi_generateBip39(i,e,t)));return this.convertBIP(i)}async fromMnemonic(e,t){const i=await this.runAsync((i=>this.api.lib.CryptoApi_fromMnemonic(i,e,t)));return this.convertBIP(i)}async fromEntropy(e,t){const i=await this.runAsync((i=>this.api.lib.CryptoApi_fromEntropy(i,e,t)));return this.convertBIP(i)}async entropyToMnemonic(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_entropyToMnemonic(i,e,t)))}async mnemonicToEntropy(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_mnemonicToEntropy(i,e,t)))}async mnemonicToSeed(e,t){return this.runAsync((i=>this.api.lib.CryptoApi_mnemonicToSeed(i,e,t)))}convertBIP(e){return{mnemonic:e.mnemonic,entropy:e.entropy,extKey:s.ExtKey.fromPtr(e.extKey)}}}t.CryptoApiNative=r},688:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EventApiNative=void 0;const s=i(361);class n extends s.BaseNative{async newApi(e){return this.runAsync((t=>this.api.lib.EventApi_newEventApi(t,e)))}async deleteApi(e){await this.runAsync((t=>this.api.lib.EventApi_deleteEventApi(t,e))),this.deleteApiRef()}async create(e,t){return this.runAsync((i=>this.api.lib.EventApi_create(i,e,t)))}async emitEvent(e,t){return this.runAsync((i=>this.api.lib.EventApi_emitEvent(i,e,t)))}async subscribeFor(e,t){return this.runAsync((i=>this.api.lib.EventApi_subscribeFor(i,e,t)))}async unsubscribeFrom(e,t){return this.runAsync((i=>this.api.lib.EventApi_unsubscribeFrom(i,e,t)))}async buildSubscriptionQuery(e,t){return this.runAsync((i=>this.api.lib.EventApi_buildSubscriptionQuery(i,e,t)))}}t.EventApiNative=n},467:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EventQueueNative=void 0;const s=i(361);class n extends s.BaseNative{async newApi(e){throw new Error("Use the newEventQueue() - specialized version of method instead.")}async deleteApi(e){await this.runAsync((t=>this.api.lib.EventQueue_deleteEventQueue(t,e))),this.deleteApiRef()}async newEventQueue(){return this.runAsync((e=>this.api.lib.EventQueue_newEventQueue(e)))}async deleteEventQueue(e){await this.runAsync((t=>this.api.lib.EventQueue_deleteEventQueue(t,e))),this.deleteApiRef()}async waitEvent(e,t){return this.runAsync((i=>this.api.lib.EventQueue_waitEvent(i,e,t)))}async emitBreakEvent(e,t){return this.runAsync((i=>this.api.lib.EventQueue_emitBreakEvent(i,e,t)))}}t.EventQueueNative=n},614:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ExtKeyNative=void 0;const s=i(457),n=i(361);class r extends n.BaseNative{async newApi(){throw new Error("Use the specialized version of method instead.")}async deleteApi(e){return this.runAsync((t=>this.api.lib.ExtKey_deleteExtKey(t,e)))}async deleteExtKey(e){return this.runAsync((t=>this.api.lib.ExtKey_deleteExtKey(t,e)))}static async fromSeed(e){const t=s.ApiStatic.getInstance();return t.runAsync((i=>t.lib.ExtKey_fromSeed(i,e)))}static async fromBase58(e){const t=s.ApiStatic.getInstance();return t.runAsync((i=>t.lib.ExtKey_fromBase58(i,e)))}static async generateRandom(e){const t=s.ApiStatic.getInstance();return t.runAsync((i=>t.lib.ExtKey_generateRandom(i,e)))}async derive(e,t){return this.runAsync((i=>this.api.lib.ExtKey_derive(i,e,t)))}async deriveHardened(e,t){return this.runAsync((i=>this.api.lib.ExtKey_deriveHardened(i,e,t)))}getPrivatePartAsBase58(e,t){return this.runAsync((i=>this.api.lib.ExtKey_getPrivatePartAsBase58(i,e,t)))}getPublicPartAsBase58(e,t){return this.runAsync((i=>this.api.lib.ExtKey_getPublicPartAsBase58(i,e,t)))}getPrivateKey(e,t){return this.runAsync((i=>this.api.lib.ExtKey_getPrivateKey(i,e,t)))}getPublicKey(e,t){return this.runAsync((i=>this.api.lib.ExtKey_getPublicKey(i,e,t)))}getPrivateEncKey(e,t){return this.runAsync((i=>this.api.lib.ExtKey_getPrivateEncKey(i,e,t)))}getPublicKeyAsBase58Address(e,t){return this.runAsync((i=>this.api.lib.ExtKey_getPublicKeyAsBase58Address(i,e,t)))}getChainCode(e,t){return this.runAsync((i=>this.api.lib.ExtKey_getChainCode(i,e,t)))}verifyCompactSignatureWithHash(e,t){return this.runAsync((i=>this.api.lib.ExtKey_verifyCompactSignatureWithHash(i,e,t)))}isPrivate(e,t){return this.runAsync((i=>this.api.lib.ExtKey_isPrivate(i,e,t)))}}t.ExtKeyNative=r},785:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.IdGenerator=void 0,t.IdGenerator=class{_id=0;generateId(){return this._id++,this._id}}},252:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.InboxApiNative=void 0;const s=i(361);class n extends s.BaseNative{async newApi(e,t,i){return this.runAsync((s=>this.api.lib.InboxApi_newInboxApi(s,e,t,i)))}async deleteApi(e){await this.runAsync((t=>this.api.lib.InboxApi_deleteInboxApi(t,e))),this.deleteApiRef()}async create(e,t){return this.runAsync((i=>this.api.lib.InboxApi_create(i,e,t)))}async createInbox(e,t){return this.runAsync((i=>this.api.lib.InboxApi_createInbox(i,e,t)))}async updateInbox(e,t){return this.runAsync((i=>this.api.lib.InboxApi_updateInbox(i,e,t)))}async getInbox(e,t){return this.runAsync((i=>this.api.lib.InboxApi_getInbox(i,e,t)))}async listInboxes(e,t){return this.runAsync((i=>this.api.lib.InboxApi_listInboxes(i,e,t)))}async getInboxPublicView(e,t){return this.runAsync((i=>this.api.lib.InboxApi_getInboxPublicView(i,e,t)))}async deleteInbox(e,t){return this.runAsync((i=>this.api.lib.InboxApi_deleteInbox(i,e,t)))}async prepareEntry(e,t){return this.runAsync((i=>this.api.lib.InboxApi_prepareEntry(i,e,t)))}async sendEntry(e,t){return this.runAsync((i=>this.api.lib.InboxApi_sendEntry(i,e,t)))}async readEntry(e,t){return this.runAsync((i=>this.api.lib.InboxApi_readEntry(i,e,t)))}async deleteEntry(e,t){return this.runAsync((i=>this.api.lib.InboxApi_deleteEntry(i,e,t)))}async listEntries(e,t){return this.runAsync((i=>this.api.lib.InboxApi_listEntries(i,e,t)))}async createFileHandle(e,t){return this.runAsync((i=>this.api.lib.InboxApi_createFileHandle(i,e,t)))}async writeToFile(e,t){return this.runAsync((i=>this.api.lib.InboxApi_writeToFile(i,e,t)))}async openFile(e,t){return this.runAsync((i=>this.api.lib.InboxApi_openFile(i,e,t)))}async readFromFile(e,t){return this.runAsync((i=>this.api.lib.InboxApi_readFromFile(i,e,t)))}async seekInFile(e,t){return this.runAsync((i=>this.api.lib.InboxApi_seekInFile(i,e,t)))}async closeFile(e,t){return this.runAsync((i=>this.api.lib.InboxApi_closeFile(i,e,t)))}async subscribeFor(e,t){return this.runAsync((i=>this.api.lib.InboxApi_subscribeFor(i,e,t)))}async unsubscribeFrom(e,t){return this.runAsync((i=>this.api.lib.InboxApi_unsubscribeFrom(i,e,t)))}async buildSubscriptionQuery(e,t){return this.runAsync((i=>this.api.lib.InboxApi_buildSubscriptionQuery(i,e,t)))}}t.InboxApiNative=n},453:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KvdbApiNative=void 0;const s=i(361);class n extends s.BaseNative{async newApi(e){return this.runAsync((t=>this.api.lib.KvdbApi_newKvdbApi(t,e)))}async deleteApi(e){await this.runAsync((t=>this.api.lib.KvdbApi_deleteKvdbApi(t,e))),this.deleteApiRef()}async create(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_create(i,e,t)))}async createKvdb(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_createKvdb(i,e,t)))}async updateKvdb(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_updateKvdb(i,e,t)))}async deleteKvdb(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_deleteKvdb(i,e,t)))}async getKvdb(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_getKvdb(i,e,t)))}async listKvdbs(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_listKvdbs(i,e,t)))}async hasEntry(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_hasEntry(i,e,t)))}async getEntry(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_getEntry(i,e,t)))}async listEntriesKeys(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_listEntriesKeys(i,e,t)))}async listEntries(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_listEntries(i,e,t)))}async setEntry(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_setEntry(i,e,t)))}async deleteEntry(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_deleteEntry(i,e,t)))}async deleteEntries(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_deleteEntries(i,e,t)))}async subscribeFor(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_subscribeFor(i,e,t)))}async unsubscribeFrom(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_unsubscribeFrom(i,e,t)))}async buildSubscriptionQuery(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_buildSubscriptionQuery(i,e,t)))}async buildSubscriptionQueryForSelectedEntry(e,t){return this.runAsync((i=>this.api.lib.KvdbApi_buildSubscriptionQueryForSelectedEntry(i,e,t)))}}t.KvdbApiNative=n},243:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StoreApiNative=void 0;const s=i(361);class n extends s.BaseNative{async newApi(e){return this.runAsync((t=>this.api.lib.StoreApi_newStoreApi(t,e)))}async deleteApi(e){await this.runAsync((t=>this.api.lib.StoreApi_deleteStoreApi(t,e))),this.deleteApiRef()}async create(e,t){return this.runAsync((i=>this.api.lib.StoreApi_create(i,e,t)))}async createStore(e,t){return this.runAsync((i=>this.api.lib.StoreApi_createStore(i,e,t)))}async updateStore(e,t){return this.runAsync((i=>this.api.lib.StoreApi_updateStore(i,e,t)))}async deleteStore(e,t){return this.runAsync((i=>this.api.lib.StoreApi_deleteStore(i,e,t)))}async getStore(e,t){return this.runAsync((i=>this.api.lib.StoreApi_getStore(i,e,t)))}async listStores(e,t){return this.runAsync((i=>this.api.lib.StoreApi_listStores(i,e,t)))}async createFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_createFile(i,e,t)))}async updateFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_updateFile(i,e,t)))}async updateFileMeta(e,t){return this.runAsync((i=>this.api.lib.StoreApi_updateFileMeta(i,e,t)))}async writeToFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_writeToFile(i,e,t)))}async deleteFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_deleteFile(i,e,t)))}async getFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_getFile(i,e,t)))}async listFiles(e,t){return this.runAsync((i=>this.api.lib.StoreApi_listFiles(i,e,t)))}async openFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_openFile(i,e,t)))}async readFromFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_readFromFile(i,e,t)))}async seekInFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_seekInFile(i,e,t)))}async closeFile(e,t){return this.runAsync((i=>this.api.lib.StoreApi_closeFile(i,e,t)))}async subscribeFor(e,t){return this.runAsync((i=>this.api.lib.StoreApi_subscribeFor(i,e,t)))}async unsubscribeFrom(e,t){return this.runAsync((i=>this.api.lib.StoreApi_unsubscribeFrom(i,e,t)))}async buildSubscriptionQuery(e,t){return this.runAsync((i=>this.api.lib.StoreApi_buildSubscriptionQuery(i,e,t)))}}t.StoreApiNative=n},272:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ThreadApiNative=void 0;const s=i(361);class n extends s.BaseNative{async newApi(e){return this.runAsync((t=>this.api.lib.ThreadApi_newThreadApi(t,e)))}async deleteApi(e){await this.runAsync((t=>this.api.lib.ThreadApi_deleteThreadApi(t,e))),this.deleteApiRef()}async create(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_create(i,e,t)))}async createThread(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_createThread(i,e,t)))}async updateThread(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_updateThread(i,e,t)))}async deleteThread(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_deleteThread(i,e,t)))}async getThread(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_getThread(i,e,t)))}async listThreads(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_listThreads(i,e,t)))}async getMessage(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_getMessage(i,e,t)))}async listMessages(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_listMessages(i,e,t)))}async sendMessage(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_sendMessage(i,e,t)))}async deleteMessage(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_deleteMessage(i,e,t)))}async updateMessage(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_updateMessage(i,e,t)))}async subscribeFor(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_subscribeFor(i,e,t)))}async unsubscribeFrom(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_unsubscribeFrom(i,e,t)))}async buildSubscriptionQuery(e,t){return this.runAsync((i=>this.api.lib.ThreadApi_buildSubscriptionQuery(i,e,t)))}}t.ThreadApiNative=n},647:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BaseApi=void 0,t.BaseApi=class{_servicePtr;constructor(e){this._servicePtr=e}get servicePtr(){if(this._servicePtr<0)throw new Error("This API instance is no longer valid because the connection associated with it has been closed.");return this._servicePtr}destroyRefs(){this._servicePtr=-1}}},262:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Connection=void 0;const s=i(647);class n extends s.BaseApi{native;apisRefs={};nativeApisDeps={};constructor(e,t){super(t),this.native=e}async getConnectionId(){return this.native.getConnectionId(this.servicePtr,[])}async listContexts(e){return this.native.listContexts(this.servicePtr,[e])}async listContextUsers(e,t){return this.native.listContextUsers(this.servicePtr,[e,t])}async subscribeFor(e){return this.native.subscribeFor(this.servicePtr,[e])}async unsubscribeFrom(e){return this.native.unsubscribeFrom(this.servicePtr,[e])}async buildSubscriptionQuery(e,t,i){return this.native.buildSubscriptionQuery(this.servicePtr,[e,t,i])}async disconnect(){await this.native.disconnect(this.servicePtr,[]),await this.freeApis(),await this.native.deleteConnection(this.servicePtr)}setUserVerifier(e){return this.native.setUserVerifier(this.servicePtr,[this.servicePtr,e])}async freeApis(){for(const e in this.apisRefs)this.nativeApisDeps[e]&&await this.nativeApisDeps[e].deleteApi(this.apisRefs[e]._apiServicePtr)}}t.Connection=n},11:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CryptoApi=void 0;const s=i(647);class n extends s.BaseApi{native;constructor(e,t){super(t),this.native=e}async signData(e,t){return this.native.signData(this.servicePtr,[e,t])}async verifySignature(e,t,i){return this.native.verifySignature(this.servicePtr,[e,t,i])}async generatePrivateKey(e){return this.native.generatePrivateKey(this.servicePtr,[e])}async derivePrivateKey(e,t){return this.native.derivePrivateKey(this.servicePtr,[e,t])}async derivePrivateKey2(e,t){return this.native.derivePrivateKey2(this.servicePtr,[e,t])}async derivePublicKey(e){return this.native.derivePublicKey(this.servicePtr,[e])}async generateKeySymmetric(){return this.native.generateKeySymmetric(this.servicePtr,[])}async encryptDataSymmetric(e,t){return this.native.encryptDataSymmetric(this.servicePtr,[e,t])}async decryptDataSymmetric(e,t){return this.native.decryptDataSymmetric(this.servicePtr,[e,t])}async convertPEMKeytoWIFKey(e){return this.native.convertPEMKeytoWIFKey(this.servicePtr,[e])}async generateBip39(e,t=""){return this.native.generateBip39(this.servicePtr,[e,t])}async fromMnemonic(e,t=""){return this.native.fromMnemonic(this.servicePtr,[e,t])}async fromEntropy(e,t=""){return this.native.fromEntropy(this.servicePtr,[e,t])}async entropyToMnemonic(e){return this.native.entropyToMnemonic(this.servicePtr,[e])}async mnemonicToEntropy(e){return this.native.mnemonicToEntropy(this.servicePtr,[e])}async mnemonicToSeed(e,t=""){return this.native.mnemonicToSeed(this.servicePtr,[e,t])}}t.CryptoApi=n},181:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EndpointFactory=void 0;const s=i(667),n=i(457),r=i(140),a=i(711),c=i(688),u=i(467),o=i(252),h=i(453),y=i(243),p=i(272),l=i(54),v=i(262),d=i(11),b=i(590),A=i(297),P=i(134),_=i(789),w=i(985),g=i(148);class E{static api;static eventQueueInstance;static async setup(e){const t=e||document.currentScript.src.split("/").slice(0,-1).join("/"),i=["driver-web-context.js","endpoint-wasm-module.js"];for(const e of i)await this.loadScript(t+"/"+e);const s=await endpointWasmModule();E.init(s)}static async loadScript(e){return new Promise((t=>{const i=document.getElementsByTagName("head")[0],s=document.createElement("script");s.type="text/javascript",s.src=e,s.onload=()=>{t()},i.appendChild(s)}))}static init(e){this.api=new s.Api(e),n.ApiStatic.init(this.api),l.FinalizationHelper.init(e)}static async getEventQueue(){if(!this.eventQueueInstance){const e=new u.EventQueueNative(this.api),t=await e.newEventQueue();this.eventQueueInstance=new A.EventQueue(e,t)}return this.eventQueueInstance}static generateDefaultPKIVerificationOptions(){return{bridgeInstanceId:void 0,bridgePubKey:void 0}}static async connect(e,t,i,s){const n=new r.ConnectionNative(this.api),a=await n.newConnection();return await n.connect(a,[e,t,i,s||this.generateDefaultPKIVerificationOptions()]),new v.Connection(n,a)}static async connectPublic(e,t,i){const s=new r.ConnectionNative(this.api),n=await s.newConnection();return await s.connectPublic(n,[e,t,i||this.generateDefaultPKIVerificationOptions()]),new v.Connection(s,n)}static async createThreadApi(e){if("threads"in e.apisRefs)throw new Error("ThreadApi already registered for given connection.");const t=new p.ThreadApiNative(this.api),i=await t.newApi(e.servicePtr);return await t.create(i,[]),e.apisRefs.threads={_apiServicePtr:i},e.nativeApisDeps.threads=t,new g.ThreadApi(t,i)}static async createStoreApi(e){if("stores"in e.apisRefs)throw new Error("StoreApi already registered for given connection.");const t=new y.StoreApiNative(this.api),i=await t.newApi(e.servicePtr);return e.apisRefs.stores={_apiServicePtr:i},e.nativeApisDeps.stores=t,await t.create(i,[]),new w.StoreApi(t,i)}static async createInboxApi(e,t,i){if("inboxes"in e.apisRefs)throw new Error("InboxApi already registered for given connection.");const s=new o.InboxApiNative(this.api),n=await s.newApi(e.servicePtr,t.servicePtr,i.servicePtr);return e.apisRefs.inboxes={_apiServicePtr:n},e.nativeApisDeps.inboxes=s,await s.create(n,[]),new P.InboxApi(s,n)}static async createKvdbApi(e){if("kvdbs"in e.apisRefs)throw new Error("KvdbApi already registered for given connection.");const t=new h.KvdbApiNative(this.api),i=await t.newApi(e.servicePtr);return await t.create(i,[]),e.apisRefs.kvdbs={_apiServicePtr:i},e.nativeApisDeps.kvdbs=t,new _.KvdbApi(t,i)}static async createCryptoApi(){const e=new a.CryptoApiNative(this.api),t=await e.newApi();return await e.create(t,[]),new d.CryptoApi(e,t)}static async createEventApi(e){if("events"in e.apisRefs)throw new Error("EventApi already registered for given connection.");const t=new c.EventApiNative(this.api),i=await t.newApi(e.servicePtr);return e.apisRefs.events={_apiServicePtr:i},e.nativeApisDeps.events=t,await t.create(i,[]),new b.EventApi(t,i)}}t.EndpointFactory=E},590:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EventApi=void 0;const s=i(647);class n extends s.BaseApi{native;constructor(e,t){super(t),this.native=e}async emitEvent(e,t,i,s){return this.native.emitEvent(this.servicePtr,[e,t,i,s])}async subscribeFor(e){return this.native.subscribeFor(this.servicePtr,[e])}async unsubscribeFrom(e){return this.native.unsubscribeFrom(this.servicePtr,[e])}async buildSubscriptionQuery(e,t,i){return this.native.buildSubscriptionQuery(this.servicePtr,[e,t,i])}}t.EventApi=n},297:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EventQueue=void 0;const s=i(647);class n extends s.BaseApi{native;isPending=!1;constructor(e,t){super(t),this.native=e}async waitEvent(){if(this.isPending)throw"WaitEvent() is already in a pending state waiting for new events";try{return await this.native.waitEvent(this.servicePtr,[])}finally{this.isPending=!1}}async emitBreakEvent(){return this.native.emitBreakEvent(this.servicePtr,[])}}t.EventQueue=n},504:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ExtKey=void 0;const s=i(457),n=i(614),r=i(54),a=i(647);class c extends a.BaseApi{native;ptr;static async freeExtKey(e){const t=new n.ExtKeyNative(s.ApiStatic.getInstance());await t.deleteExtKey(e)}static async fromSeed(e){const t=await n.ExtKeyNative.fromSeed([e]),i=new n.ExtKeyNative(s.ApiStatic.getInstance()),a=new c(i,t);return r.FinalizationHelper.getInstance().register(a,{ptr:t,onFree:()=>this.freeExtKey(t)}),a}static async fromBase58(e){const t=await n.ExtKeyNative.fromBase58([e]),i=new n.ExtKeyNative(s.ApiStatic.getInstance()),a=new c(i,t);return r.FinalizationHelper.getInstance().register(a,{ptr:t,onFree:()=>this.freeExtKey(t)}),a}static async generateRandom(){const e=await n.ExtKeyNative.generateRandom([]),t=new n.ExtKeyNative(s.ApiStatic.getInstance()),i=new c(t,e);return r.FinalizationHelper.getInstance().register(i,{ptr:e,onFree:()=>this.freeExtKey(e)}),i}constructor(e,t){super(t),this.native=e,this.ptr=t}static fromPtr(e){const t=new n.ExtKeyNative(s.ApiStatic.getInstance());return new c(t,e)}async derive(e){const t=await this.native.derive(this.servicePtr,[e]),i=new c(this.native,t);return r.FinalizationHelper.getInstance().register(i,{ptr:t,onFree:()=>c.freeExtKey(t)}),i}async deriveHardened(e){const t=await this.native.deriveHardened(this.servicePtr,[e]);return new c(this.native,t)}async getPrivatePartAsBase58(){return this.native.getPrivatePartAsBase58(this.servicePtr,[])}async getPublicPartAsBase58(){return this.native.getPublicPartAsBase58(this.servicePtr,[])}async getPrivateKey(){return this.native.getPrivateKey(this.servicePtr,[])}async getPublicKey(){return this.native.getPublicKey(this.servicePtr,[])}async getPrivateEncKey(){return this.native.getPrivateEncKey(this.servicePtr,[])}async getPublicKeyAsBase58Address(){return this.native.getPublicKeyAsBase58Address(this.servicePtr,[])}async getChainCode(){return this.native.getChainCode(this.servicePtr,[])}async verifyCompactSignatureWithHash(e,t){return this.native.verifyCompactSignatureWithHash(this.servicePtr,[e,t])}async isPrivate(){return this.native.isPrivate(this.servicePtr,[])}}t.ExtKey=c},134:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.InboxApi=void 0;const s=i(647);class n extends s.BaseApi{native;constructor(e,t){super(t),this.native=e}async createInbox(e,t,i,s,n,r,a){return this.native.createInbox(this.servicePtr,[e,t,i,s,n,r,a])}async updateInbox(e,t,i,s,n,r,a,c,u,o){return this.native.updateInbox(this.servicePtr,[e,t,i,s,n,r,a,c,u,o])}async getInbox(e){return this.native.getInbox(this.servicePtr,[e])}async listInboxes(e,t){return this.native.listInboxes(this.servicePtr,[e,t])}async getInboxPublicView(e){return this.native.getInboxPublicView(this.servicePtr,[e])}async deleteInbox(e){return this.native.deleteInbox(this.servicePtr,[e])}async prepareEntry(e,t,i,s){return this.native.prepareEntry(this.servicePtr,[e,t,i,s])}async sendEntry(e){return this.native.sendEntry(this.servicePtr,[e])}async readEntry(e){return this.native.readEntry(this.servicePtr,[e])}async listEntries(e,t){return this.native.listEntries(this.servicePtr,[e,t])}async deleteEntry(e){return this.native.deleteEntry(this.servicePtr,[e])}async createFileHandle(e,t,i){return this.native.createFileHandle(this.servicePtr,[e,t,i])}async writeToFile(e,t,i){return this.native.writeToFile(this.servicePtr,[e,t,i])}async openFile(e){return this.native.openFile(this.servicePtr,[e])}async readFromFile(e,t){return this.native.readFromFile(this.servicePtr,[e,t])}async seekInFile(e,t){return this.native.seekInFile(this.servicePtr,[e,t])}async closeFile(e){return this.native.closeFile(this.servicePtr,[e])}async subscribeFor(e){return this.native.subscribeFor(this.servicePtr,[e])}async unsubscribeFrom(e){return this.native.unsubscribeFrom(this.servicePtr,[e])}async buildSubscriptionQuery(e,t,i){return this.native.buildSubscriptionQuery(this.servicePtr,[e,t,i])}}t.InboxApi=n},789:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KvdbApi=void 0;const s=i(647);class n extends s.BaseApi{native;constructor(e,t){super(t),this.native=e}async createKvdb(e,t,i,s,n,r){return this.native.createKvdb(this.servicePtr,[e,t,i,s,n,r])}async updateKvdb(e,t,i,s,n,r,a,c,u){return this.native.updateKvdb(this.servicePtr,[e,t,i,s,n,r,a,c,u])}async deleteKvdb(e){return this.native.deleteKvdb(this.servicePtr,[e])}async getKvdb(e){return this.native.getKvdb(this.servicePtr,[e])}async listKvdbs(e,t){return this.native.listKvdbs(this.servicePtr,[e,t])}async getEntry(e,t){return this.native.getEntry(this.servicePtr,[e,t])}async hasEntry(e,t){return this.native.hasEntry(this.servicePtr,[e,t])}async listEntriesKeys(e,t){return this.native.listEntriesKeys(this.servicePtr,[e,t])}async listEntries(e,t){return this.native.listEntries(this.servicePtr,[e,t])}async setEntry(e,t,i,s,n,r){return this.native.setEntry(this.servicePtr,[e,t,i,s,n,r||0])}async deleteEntry(e,t){return this.native.deleteEntry(this.servicePtr,[e,t])}async deleteEntries(e,t){return this.native.deleteEntries(this.servicePtr,[e,t])}async subscribeFor(e){return this.native.subscribeFor(this.servicePtr,[e])}async unsubscribeFrom(e){return this.native.unsubscribeFrom(this.servicePtr,[e])}async buildSubscriptionQuery(e,t,i){return this.native.buildSubscriptionQuery(this.servicePtr,[e,t,i])}async buildSubscriptionQueryForSelectedEntry(e,t,i){return this.native.buildSubscriptionQueryForSelectedEntry(this.servicePtr,[e,t,i])}}t.KvdbApi=n},985:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StoreApi=void 0;const s=i(647);class n extends s.BaseApi{native;constructor(e,t){super(t),this.native=e}async createStore(e,t,i,s,n,r){return this.native.createStore(this.servicePtr,[e,t,i,s,n,r])}async updateStore(e,t,i,s,n,r,a,c,u){return this.native.updateStore(this.servicePtr,[e,t,i,s,n,r,a,c,u])}async deleteStore(e){return this.native.deleteStore(this.servicePtr,[e])}async getStore(e){return this.native.getStore(this.servicePtr,[e])}async listStores(e,t){return this.native.listStores(this.servicePtr,[e,t])}async createFile(e,t,i,s,n=!1){return this.native.createFile(this.servicePtr,[e,t,i,s,n])}async updateFile(e,t,i,s){return this.native.updateFile(this.servicePtr,[e,t,i,s])}async updateFileMeta(e,t,i){return this.native.updateFileMeta(this.servicePtr,[e,t,i])}async writeToFile(e,t,i=!1){return this.native.writeToFile(this.servicePtr,[e,t,i])}async deleteFile(e){return this.native.deleteFile(this.servicePtr,[e])}async getFile(e){return this.native.getFile(this.servicePtr,[e])}async listFiles(e,t){return this.native.listFiles(this.servicePtr,[e,t])}async openFile(e){return this.native.openFile(this.servicePtr,[e])}async readFromFile(e,t){return this.native.readFromFile(this.servicePtr,[e,t])}async seekInFile(e,t){return this.native.seekInFile(this.servicePtr,[e,t])}async closeFile(e){return this.native.closeFile(this.servicePtr,[e])}async subscribeFor(e){return this.native.subscribeFor(this.servicePtr,[e])}async unsubscribeFrom(e){return this.native.unsubscribeFrom(this.servicePtr,[e])}async buildSubscriptionQuery(e,t,i){return this.native.buildSubscriptionQuery(this.servicePtr,[e,t,i])}}t.StoreApi=n},148:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ThreadApi=void 0;const s=i(647);class n extends s.BaseApi{native;constructor(e,t){super(t),this.native=e}async createThread(e,t,i,s,n,r){return this.native.createThread(this.servicePtr,[e,t,i,s,n,r])}async updateThread(e,t,i,s,n,r,a,c,u){return this.native.updateThread(this.servicePtr,[e,t,i,s,n,r,a,c,u])}async deleteThread(e){return this.native.deleteThread(this.servicePtr,[e])}async getThread(e){return this.native.getThread(this.servicePtr,[e])}async listThreads(e,t){return this.native.listThreads(this.servicePtr,[e,t])}async getMessage(e){return this.native.getMessage(this.servicePtr,[e])}async listMessages(e,t){return this.native.listMessages(this.servicePtr,[e,t])}async sendMessage(e,t,i,s){return this.native.sendMessage(this.servicePtr,[e,t,i,s])}async deleteMessage(e){return this.native.deleteMessage(this.servicePtr,[e])}async updateMessage(e,t,i,s){return this.native.updateMessage(this.servicePtr,[e,t,i,s])}async subscribeFor(e){return this.native.subscribeFor(this.servicePtr,[e])}async unsubscribeFrom(e){return this.native.unsubscribeFrom(this.servicePtr,[e])}async buildSubscriptionQuery(e,t,i){return this.native.buildSubscriptionQuery(this.servicePtr,[e,t,i])}}t.ThreadApi=n}},t={};function i(s){var n=t[s];if(void 0!==n)return n.exports;var r=t[s]={exports:{}};return e[s](r,r.exports,i),r.exports}var s={};return(()=>{var e=s;Object.defineProperty(e,"__esModule",{value:!0}),e.Endpoint=void 0;const t=i(181);Object.defineProperty(e,"Endpoint",{enumerable:!0,get:function(){return t.EndpointFactory}})})(),s})()));
|
package/extra/PrivmxClient.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Connection, CryptoApi, EventQueue, InboxApi, StoreApi, ThreadApi, KvdbApi } from '../service';
|
|
2
|
-
import { ConnectionEventsManager, EventManager, InboxEventsManager, StoreEventsManager, ThreadEventsManager } from './events';
|
|
1
|
+
import { Connection, CryptoApi, EventQueue, InboxApi, StoreApi, ThreadApi, KvdbApi, EventApi } from '../service';
|
|
3
2
|
import { PublicConnection } from './PublicConnection';
|
|
3
|
+
import { ConnectionEventsManager, InboxEventsManager, StoreEventsManager, ThreadEventsManager } from "./managers";
|
|
4
|
+
import { EventManager } from "./events";
|
|
4
5
|
/**
|
|
5
6
|
* @class PrivmxClient
|
|
6
7
|
* @classdesc A client for interacting with the PrivMX Endpoint API.
|
|
@@ -36,6 +37,7 @@ export declare class PrivmxClient {
|
|
|
36
37
|
private storeApi;
|
|
37
38
|
private inboxApi;
|
|
38
39
|
private kvdbApi;
|
|
40
|
+
private eventApi;
|
|
39
41
|
private connectionEventManager;
|
|
40
42
|
private threadEventManager;
|
|
41
43
|
private storeEventManager;
|
|
@@ -111,6 +113,11 @@ export declare class PrivmxClient {
|
|
|
111
113
|
* @returns {Promise<KvdbApi>}
|
|
112
114
|
*/
|
|
113
115
|
getKvdbApi(): Promise<KvdbApi>;
|
|
116
|
+
/**
|
|
117
|
+
* @description Gets the Event API.
|
|
118
|
+
* @returns {Promise<EventApi>}
|
|
119
|
+
*/
|
|
120
|
+
getEventApi(): Promise<EventApi>;
|
|
114
121
|
/**
|
|
115
122
|
* @description Gets the Connection Event Manager.
|
|
116
123
|
* @returns {Promise<ConnectionEventsManager>}
|
package/extra/PrivmxClient.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PrivmxClient = void 0;
|
|
4
4
|
const service_1 = require("../service");
|
|
5
|
-
const events_1 = require("./events");
|
|
6
5
|
const PublicConnection_1 = require("./PublicConnection");
|
|
6
|
+
const events_1 = require("./events");
|
|
7
7
|
/**
|
|
8
8
|
* @class PrivmxClient
|
|
9
9
|
* @classdesc A client for interacting with the PrivMX Endpoint API.
|
|
@@ -39,6 +39,7 @@ class PrivmxClient {
|
|
|
39
39
|
storeApi = null;
|
|
40
40
|
inboxApi = null;
|
|
41
41
|
kvdbApi = null;
|
|
42
|
+
eventApi = null;
|
|
42
43
|
connectionEventManager = null;
|
|
43
44
|
threadEventManager = null;
|
|
44
45
|
storeEventManager = null;
|
|
@@ -204,6 +205,19 @@ class PrivmxClient {
|
|
|
204
205
|
}
|
|
205
206
|
return this.kvdbApi;
|
|
206
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* @description Gets the Event API.
|
|
210
|
+
* @returns {Promise<EventApi>}
|
|
211
|
+
*/
|
|
212
|
+
async getEventApi() {
|
|
213
|
+
if (!this.eventApi) {
|
|
214
|
+
this.eventApi = (async () => {
|
|
215
|
+
const connection = this.getConnection();
|
|
216
|
+
return service_1.EndpointFactory.createEventApi(connection);
|
|
217
|
+
})();
|
|
218
|
+
}
|
|
219
|
+
return this.eventApi;
|
|
220
|
+
}
|
|
207
221
|
/**
|
|
208
222
|
* @description Gets the Connection Event Manager.
|
|
209
223
|
* @returns {Promise<ConnectionEventsManager>}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export declare function createBaseEvent(subsId: string): {
|
|
2
|
+
type: string;
|
|
3
|
+
data: {};
|
|
4
|
+
channel: string;
|
|
5
|
+
connectionId: number;
|
|
6
|
+
subscriptions: string[];
|
|
7
|
+
version: number;
|
|
8
|
+
timestamp: number;
|
|
9
|
+
};
|
|
10
|
+
export declare const MOCK_INBOX_CREATED_EVENT: (subsId: string) => {
|
|
11
|
+
type: string;
|
|
12
|
+
channel: string;
|
|
13
|
+
data: {};
|
|
14
|
+
connectionId: number;
|
|
15
|
+
subscriptions: string[];
|
|
16
|
+
version: number;
|
|
17
|
+
timestamp: number;
|
|
18
|
+
};
|
|
19
|
+
export declare const MOCK_INBOX_ENTRY_DELETED_EVENT: (inboxID: string, subsId: string) => {
|
|
20
|
+
readonly type: "inboxEntryDeleted";
|
|
21
|
+
readonly channel: `inbox/${string}/entries`;
|
|
22
|
+
readonly data: {};
|
|
23
|
+
readonly connectionId: number;
|
|
24
|
+
readonly subscriptions: string[];
|
|
25
|
+
readonly version: number;
|
|
26
|
+
readonly timestamp: number;
|
|
27
|
+
};
|
|
28
|
+
export declare const MOCK_STORE_CREATED_EVENT: (subsId: string) => {
|
|
29
|
+
type: string;
|
|
30
|
+
channel: string;
|
|
31
|
+
data: {};
|
|
32
|
+
connectionId: number;
|
|
33
|
+
subscriptions: string[];
|
|
34
|
+
version: number;
|
|
35
|
+
timestamp: number;
|
|
36
|
+
};
|
|
37
|
+
export declare const MOCK_STORE_FILE_DELETED_EVENT: (storeID: string, subsId: string) => {
|
|
38
|
+
readonly type: "storeFileCreated";
|
|
39
|
+
readonly channel: `store/${string}/files`;
|
|
40
|
+
readonly data: {};
|
|
41
|
+
readonly connectionId: number;
|
|
42
|
+
readonly subscriptions: string[];
|
|
43
|
+
readonly version: number;
|
|
44
|
+
readonly timestamp: number;
|
|
45
|
+
};
|
|
46
|
+
export declare const MOCK_THREAD_CREATED_EVENT: (subsId: string) => {
|
|
47
|
+
type: string;
|
|
48
|
+
channel: string;
|
|
49
|
+
data: {};
|
|
50
|
+
connectionId: number;
|
|
51
|
+
subscriptions: string[];
|
|
52
|
+
version: number;
|
|
53
|
+
timestamp: number;
|
|
54
|
+
};
|
|
55
|
+
export declare const MOCK_THREAD_MESSAGE_DELETED_EVENT: (threadID: string, subsId: string) => {
|
|
56
|
+
readonly type: "threadNewMessage";
|
|
57
|
+
readonly channel: `thread/${string}/messages`;
|
|
58
|
+
readonly data: {};
|
|
59
|
+
readonly connectionId: number;
|
|
60
|
+
readonly subscriptions: string[];
|
|
61
|
+
readonly version: number;
|
|
62
|
+
readonly timestamp: number;
|
|
63
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MOCK_THREAD_MESSAGE_DELETED_EVENT = exports.MOCK_THREAD_CREATED_EVENT = exports.MOCK_STORE_FILE_DELETED_EVENT = exports.MOCK_STORE_CREATED_EVENT = exports.MOCK_INBOX_ENTRY_DELETED_EVENT = exports.MOCK_INBOX_CREATED_EVENT = void 0;
|
|
4
|
+
exports.createBaseEvent = createBaseEvent;
|
|
5
|
+
function createBaseEvent(subsId) {
|
|
6
|
+
return {
|
|
7
|
+
type: "inboxCreated",
|
|
8
|
+
data: {},
|
|
9
|
+
channel: `inbox`,
|
|
10
|
+
connectionId: 1,
|
|
11
|
+
subscriptions: [subsId],
|
|
12
|
+
version: 0,
|
|
13
|
+
timestamp: Date.now(),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
const MOCK_INBOX_CREATED_EVENT = (subsId) => ({
|
|
17
|
+
...createBaseEvent(subsId),
|
|
18
|
+
type: "inboxCreated",
|
|
19
|
+
channel: `inbox`,
|
|
20
|
+
});
|
|
21
|
+
exports.MOCK_INBOX_CREATED_EVENT = MOCK_INBOX_CREATED_EVENT;
|
|
22
|
+
const MOCK_INBOX_ENTRY_DELETED_EVENT = (inboxID, subsId) => ({
|
|
23
|
+
...createBaseEvent(subsId),
|
|
24
|
+
type: "inboxEntryDeleted",
|
|
25
|
+
channel: `inbox/${inboxID}/entries`,
|
|
26
|
+
});
|
|
27
|
+
exports.MOCK_INBOX_ENTRY_DELETED_EVENT = MOCK_INBOX_ENTRY_DELETED_EVENT;
|
|
28
|
+
const MOCK_STORE_CREATED_EVENT = (subsId) => ({
|
|
29
|
+
...createBaseEvent(subsId),
|
|
30
|
+
type: "storeUpdated",
|
|
31
|
+
channel: `store`,
|
|
32
|
+
});
|
|
33
|
+
exports.MOCK_STORE_CREATED_EVENT = MOCK_STORE_CREATED_EVENT;
|
|
34
|
+
const MOCK_STORE_FILE_DELETED_EVENT = (storeID, subsId) => ({
|
|
35
|
+
...createBaseEvent(subsId),
|
|
36
|
+
type: "storeFileCreated",
|
|
37
|
+
channel: `store/${storeID}/files`,
|
|
38
|
+
});
|
|
39
|
+
exports.MOCK_STORE_FILE_DELETED_EVENT = MOCK_STORE_FILE_DELETED_EVENT;
|
|
40
|
+
const MOCK_THREAD_CREATED_EVENT = (subsId) => ({
|
|
41
|
+
...createBaseEvent(subsId),
|
|
42
|
+
type: "threadUpdated",
|
|
43
|
+
channel: `thread`,
|
|
44
|
+
});
|
|
45
|
+
exports.MOCK_THREAD_CREATED_EVENT = MOCK_THREAD_CREATED_EVENT;
|
|
46
|
+
const MOCK_THREAD_MESSAGE_DELETED_EVENT = (threadID, subsId) => ({
|
|
47
|
+
...createBaseEvent(subsId),
|
|
48
|
+
type: "threadNewMessage",
|
|
49
|
+
channel: `thread/${threadID}/messages`,
|
|
50
|
+
});
|
|
51
|
+
exports.MOCK_THREAD_MESSAGE_DELETED_EVENT = MOCK_THREAD_MESSAGE_DELETED_EVENT;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MockEventQueue } from "./mockEventQueue";
|
|
2
|
+
export declare class MockContainerSubscriber<E, S> {
|
|
3
|
+
private queue;
|
|
4
|
+
constructor(queue: MockEventQueue);
|
|
5
|
+
subscribeFor(subscriptionQueries: string[]): Promise<string[]>;
|
|
6
|
+
unsubscribeFrom(): Promise<void>;
|
|
7
|
+
buildSubscriptionQuery(_eventType: E, _selectorType: S, _selectorId: string): Promise<string>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockContainerSubscriber = void 0;
|
|
4
|
+
class MockContainerSubscriber {
|
|
5
|
+
queue;
|
|
6
|
+
constructor(queue) {
|
|
7
|
+
this.queue = queue;
|
|
8
|
+
}
|
|
9
|
+
subscribeFor(subscriptionQueries) {
|
|
10
|
+
return Promise.resolve(subscriptionQueries.map(() => generateRandomString()));
|
|
11
|
+
}
|
|
12
|
+
unsubscribeFrom() {
|
|
13
|
+
return Promise.resolve();
|
|
14
|
+
}
|
|
15
|
+
buildSubscriptionQuery(_eventType, _selectorType, _selectorId) {
|
|
16
|
+
return Promise.resolve("");
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.MockContainerSubscriber = MockContainerSubscriber;
|
|
20
|
+
function generateRandomString(length = 10, charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") {
|
|
21
|
+
let result = "";
|
|
22
|
+
for (let i = 0; i < length; i++) {
|
|
23
|
+
result += charset.charAt(Math.floor(Math.random() * charset.length));
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Types } from "../../..";
|
|
1
|
+
import { Types } from "../../index";
|
|
3
2
|
export declare class MockEventQueue {
|
|
4
3
|
queue: Types.Event[];
|
|
5
4
|
resolveCommand: {
|
|
6
5
|
resolver: Function;
|
|
7
6
|
} | null;
|
|
8
|
-
registeredChannels: Set<Channel>;
|
|
9
7
|
constructor();
|
|
10
8
|
dispatchEvent(event: Types.Event): void;
|
|
11
9
|
waitEvent(): Promise<Types.Event>;
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MockEventQueue = void 0;
|
|
4
|
+
// import {Channel} from "../../managers";
|
|
4
5
|
class MockEventQueue {
|
|
5
6
|
queue = [];
|
|
6
7
|
resolveCommand = null;
|
|
7
|
-
registeredChannels = new Set();
|
|
8
8
|
constructor() { }
|
|
9
9
|
dispatchEvent(event) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.resolveCommand = null;
|
|
15
|
-
}
|
|
10
|
+
this.queue.push(event);
|
|
11
|
+
if (this.resolveCommand) {
|
|
12
|
+
this.resolveCommand.resolver();
|
|
13
|
+
this.resolveCommand = null;
|
|
16
14
|
}
|
|
17
15
|
}
|
|
18
16
|
async waitEvent() {
|
|
@@ -30,7 +28,7 @@ class MockEventQueue {
|
|
|
30
28
|
if (event) {
|
|
31
29
|
resolve(event);
|
|
32
30
|
}
|
|
33
|
-
}
|
|
31
|
+
},
|
|
34
32
|
};
|
|
35
33
|
}
|
|
36
34
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MockEventQueue } from "./mockEventQueue";
|
|
2
|
-
import { EventManager } from "
|
|
2
|
+
import { EventManager } from "../events";
|
|
3
3
|
export declare function utils<T>(cb: () => T): Promise<T>;
|
|
4
4
|
export declare function createTestSetup(): {
|
|
5
5
|
q: MockEventQueue;
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.utils = utils;
|
|
4
|
+
exports.createTestSetup = createTestSetup;
|
|
5
|
+
exports.waitForNextTick = waitForNextTick;
|
|
4
6
|
const mockEventQueue_1 = require("./mockEventQueue");
|
|
5
|
-
const events_1 = require("
|
|
7
|
+
const events_1 = require("../events");
|
|
6
8
|
async function utils(cb) {
|
|
7
9
|
return new Promise((resolve) => {
|
|
8
10
|
setTimeout(() => resolve(cb()), 10);
|
|
9
11
|
});
|
|
10
12
|
}
|
|
11
|
-
exports.utils = utils;
|
|
12
13
|
function createTestSetup() {
|
|
13
14
|
const q = new mockEventQueue_1.MockEventQueue();
|
|
14
15
|
const mockEventsManager = events_1.EventManager.startEventLoop(q);
|
|
15
16
|
return { q, manager: mockEventsManager };
|
|
16
17
|
}
|
|
17
|
-
exports.createTestSetup = createTestSetup;
|
|
18
18
|
function waitForNextTick() {
|
|
19
19
|
return new Promise((resolve) => setTimeout(resolve, 0));
|
|
20
20
|
}
|
|
21
|
-
exports.waitForNextTick = waitForNextTick;
|
|
@@ -1,30 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
|
|
3
|
+
const utils_1 = require("../__mocks__/utils");
|
|
4
|
+
const managers_1 = require("../managers");
|
|
5
|
+
const subscriptions_1 = require("../subscriptions");
|
|
6
|
+
const Types_1 = require("../../Types");
|
|
7
|
+
const mockContainerSubscriber_1 = require("../__mocks__/mockContainerSubscriber");
|
|
8
|
+
const constants_1 = require("../__mocks__/constants");
|
|
9
|
+
describe("Events Helpers", () => {
|
|
7
10
|
let { q, manager } = (0, utils_1.createTestSetup)();
|
|
8
|
-
let mockEventsManager = new
|
|
11
|
+
let mockEventsManager = new managers_1.ThreadEventsManager(new mockContainerSubscriber_1.MockContainerSubscriber(q));
|
|
9
12
|
manager.registerDispatcher(mockEventsManager);
|
|
10
13
|
beforeEach(() => {
|
|
11
14
|
let { q: _q, manager: _m } = (0, utils_1.createTestSetup)();
|
|
12
15
|
q = _q;
|
|
13
16
|
manager = _m;
|
|
14
|
-
mockEventsManager = new
|
|
17
|
+
mockEventsManager = new managers_1.ThreadEventsManager(new mockContainerSubscriber_1.MockContainerSubscriber(q));
|
|
15
18
|
manager.registerDispatcher(mockEventsManager);
|
|
16
19
|
});
|
|
17
|
-
it(
|
|
20
|
+
it("should registered dispatchers", () => {
|
|
18
21
|
expect(manager.dispatchers.length).toBe(1);
|
|
19
22
|
});
|
|
20
|
-
it(
|
|
23
|
+
it("should call callback for matching event", async () => {
|
|
21
24
|
const cb = jest.fn();
|
|
22
|
-
|
|
25
|
+
const sub = (0, subscriptions_1.createThreadSubscription)({
|
|
26
|
+
type: Types_1.ThreadEventType.THREAD_STATS,
|
|
27
|
+
selector: Types_1.ThreadEventSelectorType.CONTEXT_ID,
|
|
28
|
+
id: "",
|
|
29
|
+
callbacks: [cb],
|
|
30
|
+
});
|
|
31
|
+
const [subId] = await mockEventsManager.subscribeFor([sub]);
|
|
23
32
|
q.dispatchEvent({
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
channel:
|
|
27
|
-
connectionId: 1
|
|
33
|
+
...(0, constants_1.createBaseEvent)(subId),
|
|
34
|
+
type: "threadStatsChanged",
|
|
35
|
+
channel: "thread",
|
|
28
36
|
});
|
|
29
37
|
//adding task on end of js event loop
|
|
30
38
|
await new Promise((resolve) => {
|
|
@@ -34,20 +42,24 @@ describe('Events Helpers', () => {
|
|
|
34
42
|
}, 0);
|
|
35
43
|
});
|
|
36
44
|
});
|
|
37
|
-
it(
|
|
45
|
+
it("should receive multiple events", async () => {
|
|
38
46
|
const cb = jest.fn();
|
|
39
|
-
|
|
47
|
+
const sub = (0, subscriptions_1.createThreadSubscription)({
|
|
48
|
+
type: Types_1.ThreadEventType.THREAD_STATS,
|
|
49
|
+
selector: Types_1.ThreadEventSelectorType.CONTEXT_ID,
|
|
50
|
+
id: "",
|
|
51
|
+
callbacks: [cb],
|
|
52
|
+
});
|
|
53
|
+
const [subId] = await mockEventsManager.subscribeFor([sub]);
|
|
40
54
|
q.dispatchEvent({
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
channel:
|
|
44
|
-
connectionId: 1
|
|
55
|
+
...(0, constants_1.createBaseEvent)(subId),
|
|
56
|
+
type: "threadStatsChanged",
|
|
57
|
+
channel: "thread",
|
|
45
58
|
});
|
|
46
59
|
q.dispatchEvent({
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
channel:
|
|
50
|
-
connectionId: 1
|
|
60
|
+
...(0, constants_1.createBaseEvent)(subId),
|
|
61
|
+
type: "threadStatsChanged",
|
|
62
|
+
channel: "thread",
|
|
51
63
|
});
|
|
52
64
|
//adding task on end of js event loop
|
|
53
65
|
await new Promise((resolve) => {
|
|
@@ -57,10 +69,9 @@ describe('Events Helpers', () => {
|
|
|
57
69
|
}, 0);
|
|
58
70
|
});
|
|
59
71
|
q.dispatchEvent({
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
channel:
|
|
63
|
-
connectionId: 1
|
|
72
|
+
...(0, constants_1.createBaseEvent)(subId),
|
|
73
|
+
type: "threadStatsChanged",
|
|
74
|
+
channel: "thread",
|
|
64
75
|
});
|
|
65
76
|
//adding task on end of js event loop
|
|
66
77
|
await new Promise((resolve) => {
|