From 18fad25b8c6b7e2fbdd63827b49f3a3c1686c75c Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Wed, 30 Sep 2020 00:13:14 +0000 Subject: [PATCH] fix(core): update --- dist_ts/index.d.ts | 10 - dist_ts/index.js | 26 --- dist_ts/interfaces/http.interfaces.d.ts | 14 -- dist_ts/interfaces/http.interfaces.js | 3 - dist_ts/interfaces/index.d.ts | 5 - dist_ts/interfaces/index.js | 18 -- .../interfaces/socketfunctionrequests.d.ts | 18 -- dist_ts/interfaces/socketfunctionrequests.js | 3 - .../universeactions.interfaces.d.ts | 3 - .../interfaces/universeactions.interfaces.js | 3 - .../universechannel.interfaces.d.ts | 2 - .../interfaces/universechannel.interfaces.js | 3 - .../universemessage.interfaces.d.ts | 16 -- .../interfaces/universemessage.interfaces.js | 3 - .../smartuniverse.classes.broadcastevent.d.ts | 11 -- .../smartuniverse.classes.broadcastevent.js | 41 ---- .../smartuniverse.classes.clientuniverse.d.ts | 43 ----- .../smartuniverse.classes.clientuniverse.js | 175 ------------------ ...tuniverse.classes.clientuniversecache.d.ts | 10 - ...artuniverse.classes.clientuniversecache.js | 35 ---- ...niverse.classes.clientuniversechannel.d.ts | 32 ---- ...tuniverse.classes.clientuniversechannel.js | 89 --------- ...niverse.classes.clientuniversemessage.d.ts | 17 -- ...tuniverse.classes.clientuniversemessage.js | 23 --- ...smartuniverse.classes.reactionrequest.d.ts | 23 --- .../smartuniverse.classes.reactionrequest.js | 67 ------- ...martuniverse.classes.reactionresponse.d.ts | 16 -- .../smartuniverse.classes.reactionresponse.js | 49 ----- .../smartuniverse.classes.reactionresult.d.ts | 24 --- .../smartuniverse.classes.reactionresult.js | 68 ------- dist_ts/smartuniverse.classes.universe.d.ts | 47 ----- dist_ts/smartuniverse.classes.universe.js | 152 --------------- .../smartuniverse.classes.universecache.d.ts | 41 ---- .../smartuniverse.classes.universecache.js | 74 -------- ...smartuniverse.classes.universechannel.d.ts | 56 ------ .../smartuniverse.classes.universechannel.js | 150 --------------- ...rtuniverse.classes.universeconnection.d.ts | 49 ----- ...martuniverse.classes.universeconnection.js | 110 ----------- ...smartuniverse.classes.universemessage.d.ts | 50 ----- .../smartuniverse.classes.universemessage.js | 92 --------- dist_ts/smartuniverse.logging.d.ts | 2 - dist_ts/smartuniverse.logging.js | 25 --- dist_ts/smartuniverse.paths.d.ts | 1 - dist_ts/smartuniverse.paths.js | 25 --- dist_ts/smartuniverse.plugins.d.ts | 17 -- dist_ts/smartuniverse.plugins.js | 54 ------ package.json | 4 +- ts/smartuniverse.classes.universe.ts | 39 ++-- ts/smartuniverse.plugins.ts | 2 - ts/smartuniverse.pluginstyped.ts | 5 + 50 files changed, 19 insertions(+), 1826 deletions(-) delete mode 100644 dist_ts/index.d.ts delete mode 100644 dist_ts/index.js delete mode 100644 dist_ts/interfaces/http.interfaces.d.ts delete mode 100644 dist_ts/interfaces/http.interfaces.js delete mode 100644 dist_ts/interfaces/index.d.ts delete mode 100644 dist_ts/interfaces/index.js delete mode 100644 dist_ts/interfaces/socketfunctionrequests.d.ts delete mode 100644 dist_ts/interfaces/socketfunctionrequests.js delete mode 100644 dist_ts/interfaces/universeactions.interfaces.d.ts delete mode 100644 dist_ts/interfaces/universeactions.interfaces.js delete mode 100644 dist_ts/interfaces/universechannel.interfaces.d.ts delete mode 100644 dist_ts/interfaces/universechannel.interfaces.js delete mode 100644 dist_ts/interfaces/universemessage.interfaces.d.ts delete mode 100644 dist_ts/interfaces/universemessage.interfaces.js delete mode 100644 dist_ts/smartuniverse.classes.broadcastevent.d.ts delete mode 100644 dist_ts/smartuniverse.classes.broadcastevent.js delete mode 100644 dist_ts/smartuniverse.classes.clientuniverse.d.ts delete mode 100644 dist_ts/smartuniverse.classes.clientuniverse.js delete mode 100644 dist_ts/smartuniverse.classes.clientuniversecache.d.ts delete mode 100644 dist_ts/smartuniverse.classes.clientuniversecache.js delete mode 100644 dist_ts/smartuniverse.classes.clientuniversechannel.d.ts delete mode 100644 dist_ts/smartuniverse.classes.clientuniversechannel.js delete mode 100644 dist_ts/smartuniverse.classes.clientuniversemessage.d.ts delete mode 100644 dist_ts/smartuniverse.classes.clientuniversemessage.js delete mode 100644 dist_ts/smartuniverse.classes.reactionrequest.d.ts delete mode 100644 dist_ts/smartuniverse.classes.reactionrequest.js delete mode 100644 dist_ts/smartuniverse.classes.reactionresponse.d.ts delete mode 100644 dist_ts/smartuniverse.classes.reactionresponse.js delete mode 100644 dist_ts/smartuniverse.classes.reactionresult.d.ts delete mode 100644 dist_ts/smartuniverse.classes.reactionresult.js delete mode 100644 dist_ts/smartuniverse.classes.universe.d.ts delete mode 100644 dist_ts/smartuniverse.classes.universe.js delete mode 100644 dist_ts/smartuniverse.classes.universecache.d.ts delete mode 100644 dist_ts/smartuniverse.classes.universecache.js delete mode 100644 dist_ts/smartuniverse.classes.universechannel.d.ts delete mode 100644 dist_ts/smartuniverse.classes.universechannel.js delete mode 100644 dist_ts/smartuniverse.classes.universeconnection.d.ts delete mode 100644 dist_ts/smartuniverse.classes.universeconnection.js delete mode 100644 dist_ts/smartuniverse.classes.universemessage.d.ts delete mode 100644 dist_ts/smartuniverse.classes.universemessage.js delete mode 100644 dist_ts/smartuniverse.logging.d.ts delete mode 100644 dist_ts/smartuniverse.logging.js delete mode 100644 dist_ts/smartuniverse.paths.d.ts delete mode 100644 dist_ts/smartuniverse.paths.js delete mode 100644 dist_ts/smartuniverse.plugins.d.ts delete mode 100644 dist_ts/smartuniverse.plugins.js create mode 100644 ts/smartuniverse.pluginstyped.ts diff --git a/dist_ts/index.d.ts b/dist_ts/index.d.ts deleted file mode 100644 index 71801c1..0000000 --- a/dist_ts/index.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -export * from './smartuniverse.classes.clientuniverse'; -export * from './smartuniverse.classes.clientuniversechannel'; -export * from './smartuniverse.classes.clientuniversemessage'; -export * from './smartuniverse.classes.universe'; -export * from './smartuniverse.classes.universecache'; -export * from './smartuniverse.classes.universechannel'; -export * from './smartuniverse.classes.universemessage'; -export * from './smartuniverse.classes.reactionrequest'; -export * from './smartuniverse.classes.reactionresponse'; -export * from './interfaces'; diff --git a/dist_ts/index.js b/dist_ts/index.js deleted file mode 100644 index 11fd2ff..0000000 --- a/dist_ts/index.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -// Client classes -__exportStar(require("./smartuniverse.classes.clientuniverse"), exports); -__exportStar(require("./smartuniverse.classes.clientuniversechannel"), exports); -__exportStar(require("./smartuniverse.classes.clientuniversemessage"), exports); -// Server classes -__exportStar(require("./smartuniverse.classes.universe"), exports); -__exportStar(require("./smartuniverse.classes.universecache"), exports); -__exportStar(require("./smartuniverse.classes.universechannel"), exports); -__exportStar(require("./smartuniverse.classes.universemessage"), exports); -// Reaction Response -__exportStar(require("./smartuniverse.classes.reactionrequest"), exports); -__exportStar(require("./smartuniverse.classes.reactionresponse"), exports); -__exportStar(require("./interfaces"), exports); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxpQkFBaUI7QUFDakIseUVBQXVEO0FBQ3ZELGdGQUE4RDtBQUM5RCxnRkFBOEQ7QUFFOUQsaUJBQWlCO0FBQ2pCLG1FQUFpRDtBQUNqRCx3RUFBc0Q7QUFDdEQsMEVBQXdEO0FBQ3hELDBFQUF3RDtBQUV4RCxvQkFBb0I7QUFDcEIsMEVBQXdEO0FBQ3hELDJFQUF5RDtBQUV6RCwrQ0FBNkIifQ== \ No newline at end of file diff --git a/dist_ts/interfaces/http.interfaces.d.ts b/dist_ts/interfaces/http.interfaces.d.ts deleted file mode 100644 index 363e544..0000000 --- a/dist_ts/interfaces/http.interfaces.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -export interface IServerGetMessagesRequestBody { - channel: string; - topic?: string; - youngerThan: number; -} -/** - * the interface for a standard request - */ -export interface IServerPutMessageRequestBody { - channel: string; - passphrase: string; - message: string; - payload: any; -} diff --git a/dist_ts/interfaces/http.interfaces.js b/dist_ts/interfaces/http.interfaces.js deleted file mode 100644 index 54b4b75..0000000 --- a/dist_ts/interfaces/http.interfaces.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvaW50ZXJmYWNlcy9odHRwLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9 \ No newline at end of file diff --git a/dist_ts/interfaces/index.d.ts b/dist_ts/interfaces/index.d.ts deleted file mode 100644 index 0234f9f..0000000 --- a/dist_ts/interfaces/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from './http.interfaces'; -export * from './socketfunctionrequests'; -export * from './universechannel.interfaces'; -export * from './universemessage.interfaces'; -export * from './universeactions.interfaces'; diff --git a/dist_ts/interfaces/index.js b/dist_ts/interfaces/index.js deleted file mode 100644 index 9b0b0d5..0000000 --- a/dist_ts/interfaces/index.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -__exportStar(require("./http.interfaces"), exports); -__exportStar(require("./socketfunctionrequests"), exports); -__exportStar(require("./universechannel.interfaces"), exports); -__exportStar(require("./universemessage.interfaces"), exports); -__exportStar(require("./universeactions.interfaces"), exports); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLG9EQUFrQztBQUNsQywyREFBeUM7QUFDekMsK0RBQTZDO0FBQzdDLCtEQUE2QztBQUM3QywrREFBNkMifQ== \ No newline at end of file diff --git a/dist_ts/interfaces/socketfunctionrequests.d.ts b/dist_ts/interfaces/socketfunctionrequests.d.ts deleted file mode 100644 index 85e4f68..0000000 --- a/dist_ts/interfaces/socketfunctionrequests.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import * as interfaces from './index'; -export interface ISocketRequest_SubscribeChannel { - method: 'subscribeChannel'; - request: { - name: string; - passphrase: string; - }; - response: { - subscriptionStatus: 'subscribed' | 'unsubscribed'; - }; -} -export interface ISocketRequest_ProcessMessage { - method: 'processMessage'; - request: interfaces.IUniverseMessage; - response: { - messageStatus: 'ok' | 'channel not found'; - }; -} diff --git a/dist_ts/interfaces/socketfunctionrequests.js b/dist_ts/interfaces/socketfunctionrequests.js deleted file mode 100644 index 9c600a0..0000000 --- a/dist_ts/interfaces/socketfunctionrequests.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0ZnVuY3Rpb25yZXF1ZXN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2ludGVyZmFjZXMvc29ja2V0ZnVuY3Rpb25yZXF1ZXN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0= \ No newline at end of file diff --git a/dist_ts/interfaces/universeactions.interfaces.d.ts b/dist_ts/interfaces/universeactions.interfaces.d.ts deleted file mode 100644 index dd38729..0000000 --- a/dist_ts/interfaces/universeactions.interfaces.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface IServerUnsubscribeActionPayload { - name: string; -} diff --git a/dist_ts/interfaces/universeactions.interfaces.js b/dist_ts/interfaces/universeactions.interfaces.js deleted file mode 100644 index eb3861b..0000000 --- a/dist_ts/interfaces/universeactions.interfaces.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdmVyc2VhY3Rpb25zLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9pbnRlcmZhY2VzL3VuaXZlcnNlYWN0aW9ucy5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ== \ No newline at end of file diff --git a/dist_ts/interfaces/universechannel.interfaces.d.ts b/dist_ts/interfaces/universechannel.interfaces.d.ts deleted file mode 100644 index eac9ee1..0000000 --- a/dist_ts/interfaces/universechannel.interfaces.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export interface IUniverseChannel { -} diff --git a/dist_ts/interfaces/universechannel.interfaces.js b/dist_ts/interfaces/universechannel.interfaces.js deleted file mode 100644 index ff85f0a..0000000 --- a/dist_ts/interfaces/universechannel.interfaces.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdmVyc2VjaGFubmVsLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9pbnRlcmZhY2VzL3VuaXZlcnNlY2hhbm5lbC5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ== \ No newline at end of file diff --git a/dist_ts/interfaces/universemessage.interfaces.d.ts b/dist_ts/interfaces/universemessage.interfaces.d.ts deleted file mode 100644 index c478fcb..0000000 --- a/dist_ts/interfaces/universemessage.interfaces.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -export interface IMessageCreator { - messageText: string; - payload?: string | number | any; -} -/** - * A universe - */ -export interface IUniverseMessage extends IMessageCreator { - id: string; - /** - * time of creation - */ - timestamp: number; - passphrase: string; - targetChannelName: string; -} diff --git a/dist_ts/interfaces/universemessage.interfaces.js b/dist_ts/interfaces/universemessage.interfaces.js deleted file mode 100644 index 719e1f6..0000000 --- a/dist_ts/interfaces/universemessage.interfaces.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdmVyc2VtZXNzYWdlLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9pbnRlcmZhY2VzL3VuaXZlcnNlbWVzc2FnZS5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ== \ No newline at end of file diff --git a/dist_ts/smartuniverse.classes.broadcastevent.d.ts b/dist_ts/smartuniverse.classes.broadcastevent.d.ts deleted file mode 100644 index a768265..0000000 --- a/dist_ts/smartuniverse.classes.broadcastevent.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import * as plugins from './smartuniverse.plugins'; -/** - * broadcasts an event to multiple channels - * also handles subsription - */ -export declare class BroadcastEvent> { - eventSubject: plugins.smartrx.rxjs.Subject; - constructor(); - fire(eventPayloadArg: T['payload']): void; - subscribe(funcArg: (nextArg: T['payload']) => void): plugins.smartrx.rxjs.Subscription; -} diff --git a/dist_ts/smartuniverse.classes.broadcastevent.js b/dist_ts/smartuniverse.classes.broadcastevent.js deleted file mode 100644 index 43a1726..0000000 --- a/dist_ts/smartuniverse.classes.broadcastevent.js +++ /dev/null @@ -1,41 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.BroadcastEvent = void 0; -const plugins = __importStar(require("./smartuniverse.plugins")); -/** - * broadcasts an event to multiple channels - * also handles subsription - */ -class BroadcastEvent { - constructor() { - this.eventSubject = new plugins.smartrx.rxjs.Subject(); - } - ; - fire(eventPayloadArg) { - } - ; - subscribe(funcArg) { - return this.eventSubject.subscribe(funcArg); - } -} -exports.BroadcastEvent = BroadcastEvent; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1bml2ZXJzZS5jbGFzc2VzLmJyb2FkY2FzdGV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnR1bml2ZXJzZS5jbGFzc2VzLmJyb2FkY2FzdGV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpRUFBbUQ7QUFFbkQ7OztHQUdHO0FBQ0gsTUFBYSxjQUFjO0lBR3pCO1FBRk8saUJBQVksR0FBRyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBZ0IsQ0FBQztJQUl2RSxDQUFDO0lBQUEsQ0FBQztJQUVLLElBQUksQ0FBQyxlQUE2QjtJQUV6QyxDQUFDO0lBQUEsQ0FBQztJQUdLLFNBQVMsQ0FBQyxPQUF3QztRQUN2RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRjtBQWZELHdDQWVDIn0= \ No newline at end of file diff --git a/dist_ts/smartuniverse.classes.clientuniverse.d.ts b/dist_ts/smartuniverse.classes.clientuniverse.d.ts deleted file mode 100644 index 6a56be7..0000000 --- a/dist_ts/smartuniverse.classes.clientuniverse.d.ts +++ /dev/null @@ -1,43 +0,0 @@ -import * as plugins from './smartuniverse.plugins'; -import { ClientUniverseChannel, ClientUniverseMessage } from './'; -import { ClientUniverseCache } from './smartuniverse.classes.clientuniversecache'; -export interface IClientOptions { - serverAddress: string; - autoReconnect: boolean; -} -/** - * this class is for client side only!!! - * allows connecting to a universe server - */ -export declare class ClientUniverse { - options: IClientOptions; - smartsocketClient: plugins.smartsocket.SmartsocketClient; - messageRxjsSubject: plugins.smartrx.rxjs.Subject>; - clientUniverseCache: ClientUniverseCache; - autoReconnectStatus: 'on' | 'off'; - constructor(optionsArg: IClientOptions); - /** - * adds a channel to the channelcache - * TODO: verify channel before adding it to the channel cache - */ - addChannel(channelNameArg: string, passphraseArg: string): ClientUniverseChannel; - /** - * gets a channel from the channelcache - * @param channelName - * @param passphraseArg - */ - getChannel(channelName: string): ClientUniverseChannel; - /** - * remove a a achannel - * @param messageArg - */ - removeChannel(channelNameArg: any, notifyServer?: boolean): void; - start(): Promise; - stop(): Promise; - /** - * checks the connection towards a universe server - * since password validation is done through other means, a connection should always be possible - */ - private checkConnection; - private disconnect; -} diff --git a/dist_ts/smartuniverse.classes.clientuniverse.js b/dist_ts/smartuniverse.classes.clientuniverse.js deleted file mode 100644 index f34e2ce..0000000 --- a/dist_ts/smartuniverse.classes.clientuniverse.js +++ /dev/null @@ -1,175 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ClientUniverse = void 0; -const plugins = __importStar(require("./smartuniverse.plugins")); -const smartsocket_1 = require("@pushrocks/smartsocket"); -const url = __importStar(require("url")); -const _1 = require("./"); -const smartuniverse_classes_clientuniversecache_1 = require("./smartuniverse.classes.clientuniversecache"); -const smartuniverse_logging_1 = require("./smartuniverse.logging"); -/** - * this class is for client side only!!! - * allows connecting to a universe server - */ -class ClientUniverse { - constructor(optionsArg) { - this.messageRxjsSubject = new plugins.smartrx.rxjs.Subject(); - this.clientUniverseCache = new smartuniverse_classes_clientuniversecache_1.ClientUniverseCache(); - this.autoReconnectStatus = 'off'; - this.options = optionsArg; - } - /** - * adds a channel to the channelcache - * TODO: verify channel before adding it to the channel cache - */ - addChannel(channelNameArg, passphraseArg) { - const existingChannel = this.getChannel(channelNameArg); - if (existingChannel) { - throw new Error('channel exists'); - } - // lets create the channel - const clientUniverseChannel = _1.ClientUniverseChannel.createClientUniverseChannel(this, channelNameArg, passphraseArg); - return clientUniverseChannel; - } - /** - * gets a channel from the channelcache - * @param channelName - * @param passphraseArg - */ - getChannel(channelName) { - const clientUniverseChannel = this.clientUniverseCache.channelMap.find(channel => { - return channel.name === channelName; - }); - return clientUniverseChannel; - } - /** - * remove a a achannel - * @param messageArg - */ - removeChannel(channelNameArg, notifyServer = true) { - const clientUniverseChannel = this.clientUniverseCache.channelMap.findOneAndRemove(channelItemArg => { - return channelItemArg.name === channelNameArg; - }); - } - async start() { - if (this.options.autoReconnect) { - this.autoReconnectStatus = 'on'; - } - await this.checkConnection(); - } - async stop() { - this.autoReconnectStatus = 'off'; - await this.disconnect('triggered'); - } - /** - * checks the connection towards a universe server - * since password validation is done through other means, a connection should always be possible - */ - async checkConnection() { - if (!this.smartsocketClient) { - const parsedURL = url.parse(this.options.serverAddress); - const socketConfig = { - alias: 'universeclient', - password: 'UniverseClient', - port: parseInt(parsedURL.port, 10), - role: 'UniverseClient', - url: parsedURL.protocol + '//' + parsedURL.hostname - }; - this.smartsocketClient = new smartsocket_1.SmartsocketClient(socketConfig); - this.smartsocketClient.eventSubject.subscribe(async (eventArg) => { - switch (eventArg) { - case 'disconnected': - this.disconnect('upstreamEvent'); - } - }); - // lets define some basic actions - /** - * should handle a forced unsubscription by the server - */ - const socketFunctionUnsubscribe = new plugins.smartsocket.SocketFunction({ - funcName: 'unsubscribe', - allowedRoles: [], - funcDef: async (dataArg) => { - const channel = this.clientUniverseCache.channelMap.find(channelArg => { - return channelArg.name === dataArg.name; - }); - if (channel) { - channel.unsubscribe(); - } - return {}; - } - }); - /** - * handles message reception - */ - const socketFunctionProcessMessage = new plugins.smartsocket.SocketFunction({ - funcName: 'processMessage', - allowedRoles: [], - funcDef: async (messageDescriptorArg) => { - smartuniverse_logging_1.logger.log('info', 'Got message from server'); - const clientUniverseMessage = _1.ClientUniverseMessage.createMessageFromMessageDescriptor(messageDescriptorArg); - this.messageRxjsSubject.next(clientUniverseMessage); - // lets find the corresponding channel - const targetChannel = this.getChannel(clientUniverseMessage.targetChannelName); - if (targetChannel) { - await targetChannel.emitMessageLocally(clientUniverseMessage); - return { - messageStatus: 'ok' - }; - } - else { - return { - messageStatus: 'channel not found' - }; - } - } - }); - // add functions - this.smartsocketClient.addSocketFunction(socketFunctionUnsubscribe); - this.smartsocketClient.addSocketFunction(socketFunctionProcessMessage); - await this.smartsocketClient.connect(); - smartuniverse_logging_1.logger.log('info', 'universe client connected successfully'); - await this.clientUniverseCache.channelMap.forEach(async (clientUniverseChannelArg) => { - await clientUniverseChannelArg.populateSubscriptionToServer(); - }); - } - } - async disconnect(reason = 'triggered', tryReconnect = false) { - const instructDisconnect = async () => { - if (this.smartsocketClient) { - const smartsocketToDisconnect = this.smartsocketClient; - this.smartsocketClient = null; // making sure the upstreamEvent does not interfere - await smartsocketToDisconnect.disconnect(); - } - }; - if (reason === 'triggered' && this.smartsocketClient) { - await instructDisconnect(); - } - if (this.autoReconnectStatus === 'on' && reason === 'upstreamEvent') { - await instructDisconnect(); - await plugins.smartdelay.delayForRandom(5000, 20000); - await this.checkConnection(); - } - } -} -exports.ClientUniverse = ClientUniverse; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1bml2ZXJzZS5jbGFzc2VzLmNsaWVudHVuaXZlcnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnR1bml2ZXJzZS5jbGFzc2VzLmNsaWVudHVuaXZlcnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpRUFBbUQ7QUFHbkQsd0RBQXdFO0FBQ3hFLHlDQUEyQjtBQUkzQix5QkFBa0U7QUFDbEUsMkdBQWtGO0FBQ2xGLG1FQUFpRDtBQU9qRDs7O0dBR0c7QUFDSCxNQUFhLGNBQWM7SUFRekIsWUFBWSxVQUEwQjtRQUwvQix1QkFBa0IsR0FBRyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBOEIsQ0FBQztRQUNwRix3QkFBbUIsR0FBRyxJQUFJLCtEQUFtQixFQUFFLENBQUM7UUFFaEQsd0JBQW1CLEdBQWlCLEtBQUssQ0FBQztRQUcvQyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLGNBQXNCLEVBQUUsYUFBcUI7UUFDN0QsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV4RCxJQUFJLGVBQWUsRUFBRTtZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDbkM7UUFFRCwwQkFBMEI7UUFDMUIsTUFBTSxxQkFBcUIsR0FBRyx3QkFBcUIsQ0FBQywyQkFBMkIsQ0FDN0UsSUFBSSxFQUNKLGNBQWMsRUFDZCxhQUFhLENBQ2QsQ0FBQztRQUNGLE9BQU8scUJBQXFCLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxVQUFVLENBQUMsV0FBbUI7UUFDbkMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFB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 \ No newline at end of file diff --git a/dist_ts/smartuniverse.classes.clientuniversecache.d.ts b/dist_ts/smartuniverse.classes.clientuniversecache.d.ts deleted file mode 100644 index b56ad3d..0000000 --- a/dist_ts/smartuniverse.classes.clientuniversecache.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import * as plugins from './smartuniverse.plugins'; -import { ClientUniverseChannel } from './smartuniverse.classes.clientuniversechannel'; -/** - * a cache for clients - * keeps track of which messages have already been received - * good for deduplication in mesh environments - */ -export declare class ClientUniverseCache { - channelMap: plugins.lik.ObjectMap; -} diff --git a/dist_ts/smartuniverse.classes.clientuniversecache.js b/dist_ts/smartuniverse.classes.clientuniversecache.js deleted file mode 100644 index 89647cc..0000000 --- a/dist_ts/smartuniverse.classes.clientuniversecache.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ClientUniverseCache = void 0; -const plugins = __importStar(require("./smartuniverse.plugins")); -/** - * a cache for clients - * keeps track of which messages have already been received - * good for deduplication in mesh environments - */ -class ClientUniverseCache { - constructor() { - this.channelMap = new plugins.lik.ObjectMap(); - } -} -exports.ClientUniverseCache = ClientUniverseCache; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1bml2ZXJzZS5jbGFzc2VzLmNsaWVudHVuaXZlcnNlY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydHVuaXZlcnNlLmNsYXNzZXMuY2xpZW50dW5pdmVyc2VjYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUVBQW1EO0FBR25EOzs7O0dBSUc7QUFDSCxNQUFhLG1CQUFtQjtJQUFoQztRQUNTLGVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUF5QixDQUFDO0lBQ3pFLENBQUM7Q0FBQTtBQUZELGtEQUVDIn0= \ No newline at end of file diff --git a/dist_ts/smartuniverse.classes.clientuniversechannel.d.ts b/dist_ts/smartuniverse.classes.clientuniversechannel.d.ts deleted file mode 100644 index 35db9ce..0000000 --- a/dist_ts/smartuniverse.classes.clientuniversechannel.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import * as plugins from './smartuniverse.plugins'; -import * as interfaces from './interfaces'; -import { ClientUniverse } from './'; -import { ClientUniverseMessage } from './smartuniverse.classes.clientuniversemessage'; -export declare class ClientUniverseChannel implements interfaces.IUniverseChannel { - /** - * creates a channel and adds it to the cache of clientUniverseArg - * @param clientUniverseArg - * @param channelNameArg - * @param passphraseArg - */ - static createClientUniverseChannel(clientUniverseArg: ClientUniverse, channelNameArg: string, passphraseArg: string): ClientUniverseChannel; - name: string; - passphrase: string; - status: 'subscribed' | 'unsubscribed'; - private subject; - clientUniverseRef: ClientUniverse; - constructor(clientUniverseArg: ClientUniverse, nameArg: string, passphraseArg: string); - /** - * subscribes to a channel - * tells the universe about this instances interest into a channel - */ - subscribe(observingFunctionArg: (messageArg: ClientUniverseMessage) => void): plugins.smartrx.rxjs.Subscription; - unsubscribe(): void; - populateSubscriptionToServer(): Promise; - emitMessageLocally(messageArg: ClientUniverseMessage): Promise; - /** - * sends a message towards the server - * @param messageArg - */ - sendMessage(messageArg: interfaces.IMessageCreator): Promise; -} diff --git a/dist_ts/smartuniverse.classes.clientuniversechannel.js b/dist_ts/smartuniverse.classes.clientuniversechannel.js deleted file mode 100644 index 57f85f9..0000000 --- a/dist_ts/smartuniverse.classes.clientuniversechannel.js +++ /dev/null @@ -1,89 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ClientUniverseChannel = void 0; -const plugins = __importStar(require("./smartuniverse.plugins")); -class ClientUniverseChannel { - constructor(clientUniverseArg, nameArg, passphraseArg) { - this.status = 'unsubscribed'; - this.subject = new plugins.smartrx.rxjs.Subject(); - this.clientUniverseRef = clientUniverseArg; - this.name = nameArg; - this.passphrase = passphraseArg; - } - // ====== - // STATIC - // ====== - /** - * creates a channel and adds it to the cache of clientUniverseArg - * @param clientUniverseArg - * @param channelNameArg - * @param passphraseArg - */ - static createClientUniverseChannel(clientUniverseArg, channelNameArg, passphraseArg) { - const clientChannel = new ClientUniverseChannel(clientUniverseArg, channelNameArg, passphraseArg); - clientUniverseArg.clientUniverseCache.channelMap.add(clientChannel); - return clientChannel; - } - /** - * subscribes to a channel - * tells the universe about this instances interest into a channel - */ - subscribe(observingFunctionArg) { - return this.subject.subscribe(messageArg => { - observingFunctionArg(messageArg); - }, error => console.log(error)); - } - unsubscribe() { - // TODO: unsubscribe all users - } - async populateSubscriptionToServer() { - // lets make sure the channel is connected - if (this.status === 'unsubscribed') { - const response = await this.clientUniverseRef.smartsocketClient.serverCall('subscribeChannel', { - name: this.name, - passphrase: this.passphrase - }); - this.status = response.subscriptionStatus; - } - } - async emitMessageLocally(messageArg) { - this.subject.next(messageArg); - } - /** - * sends a message towards the server - * @param messageArg - */ - async sendMessage(messageArg) { - await this.clientUniverseRef.start(); // its ok to call this multiple times - const universeMessageToSend = { - id: plugins.smartunique.shortId(), - timestamp: Date.now(), - passphrase: this.passphrase, - targetChannelName: this.name, - messageText: messageArg.messageText, - payload: messageArg.payload - }; - await this.clientUniverseRef.smartsocketClient.serverCall('processMessage', universeMessageToSend); - } -} -exports.ClientUniverseChannel = ClientUniverseChannel; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1bml2ZXJzZS5jbGFzc2VzLmNsaWVudHVuaXZlcnNlY2hhbm5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0dW5pdmVyc2UuY2xhc3Nlcy5jbGllbnR1bml2ZXJzZWNoYW5uZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlFQUFtRDtBQVFuRCxNQUFhLHFCQUFxQjtJQXFDaEMsWUFBWSxpQkFBaUMsRUFBRSxPQUFlLEVBQUUsYUFBcUI7UUFOOUUsV0FBTSxHQUFrQyxjQUFjLENBQUM7UUFDdEQsWUFBTyxHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUE4QixDQUFDO1FBTS9FLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztJQUNsQyxDQUFDO0lBeENELFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNUOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLDJCQUEyQixDQUN2QyxpQkFBaUMsRUFDakMsY0FBc0IsRUFDdEIsYUFBcUI7UUFFckIsTUFBTSxhQUFhLEdBQUcsSUFBSSxxQkFBcUIsQ0FDN0MsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxhQUFhLENBQ2QsQ0FBQztRQUNGLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEUsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQXFCRDs7O09BR0c7SUFDSSxTQUFTLENBQUMsb0JBQXNFO1FBQ3JGLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQzNCLFVBQVUsQ0FBQyxFQUFFO1lBQ1gsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsQ0FBQyxFQUNELEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFTSxXQUFXO1FBQ2hCLDhCQUE4QjtJQUNoQyxDQUFDO0lBRU0sS0FBSyxDQUFDLDRCQUE0QjtRQUN2QywwQ0FBMEM7UUFDMUMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGNBQWMsRUFBRTtZQUNsQyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBRXhFLGtCQUFrQixFQUFFO2dCQUNwQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO2FBQzVCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGtCQUFrQixDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxVQUFzQztRQUNwRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFzQztRQUM3RCxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLHFDQUFxQztRQUMzRSxNQUFNLHFCQUFxQixHQUFnQztZQUN6RCxFQUFFLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUU7WUFDakMsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDckIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJO1lBQzVCLFdBQVcsRUFBRSxVQUFVLENBQUMsV0FBVztZQUNuQyxPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87U0FDNUIsQ0FBQztRQUNGLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FDdkQsZ0JBQWdCLEVBQ2hCLHFCQUFxQixDQUN0QixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBaEdELHNEQWdHQyJ9 \ No newline at end of file diff --git a/dist_ts/smartuniverse.classes.clientuniversemessage.d.ts b/dist_ts/smartuniverse.classes.clientuniversemessage.d.ts deleted file mode 100644 index 0e34cb7..0000000 --- a/dist_ts/smartuniverse.classes.clientuniversemessage.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import * as plugins from './smartuniverse.plugins'; -import * as interfaces from './interfaces'; -export declare class ClientUniverseMessage implements interfaces.IUniverseMessage { - static createMessageFromMessageDescriptor(messageDescriptor: interfaces.IUniverseMessage): ClientUniverseMessage; - id: string; - timestamp: number; - smartTimestamp: plugins.smarttime.TimeStamp; - messageText: string; - passphrase: string; - payload: T; - targetChannelName: string; - constructor(messageArg: interfaces.IUniverseMessage); - /** - * gets json for payload - */ - getAsJsonForPayload(): void; -} diff --git a/dist_ts/smartuniverse.classes.clientuniversemessage.js b/dist_ts/smartuniverse.classes.clientuniversemessage.js deleted file mode 100644 index 0e203fd..0000000 --- a/dist_ts/smartuniverse.classes.clientuniversemessage.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ClientUniverseMessage = void 0; -class ClientUniverseMessage { - constructor(messageArg) { - for (const key of Object.keys(messageArg)) { - this[key] = messageArg[key]; - } - } - // ====== - // STATIC - // ====== - static createMessageFromMessageDescriptor(messageDescriptor) { - const clientuniverseMessage = new ClientUniverseMessage(messageDescriptor); - return clientuniverseMessage; - } - /** - * gets json for payload - */ - getAsJsonForPayload() { } -} -exports.ClientUniverseMessage = ClientUniverseMessage; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1bml2ZXJzZS5jbGFzc2VzLmNsaWVudHVuaXZlcnNlbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0dW5pdmVyc2UuY2xhc3Nlcy5jbGllbnR1bml2ZXJzZW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsTUFBYSxxQkFBcUI7SUF1QmhDLFlBQVksVUFBdUM7UUFDakQsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBMUJELFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNGLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxpQkFBOEM7UUFDN0YsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0UsT0FBTyxxQkFBcUIsQ0FBQztJQUMvQixDQUFDO0lBc0JEOztPQUVHO0lBQ0gsbUJBQW1CLEtBQUksQ0FBQztDQUN6QjtBQWpDRCxzREFpQ0MifQ== \ No newline at end of file diff --git a/dist_ts/smartuniverse.classes.reactionrequest.d.ts b/dist_ts/smartuniverse.classes.reactionrequest.d.ts deleted file mode 100644 index 250aa4b..0000000 --- a/dist_ts/smartuniverse.classes.reactionrequest.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import * as plugins from './smartuniverse.plugins'; -import { UniverseChannel } from './smartuniverse.classes.universechannel'; -import { ClientUniverseChannel } from './smartuniverse.classes.clientuniversechannel'; -import { ReactionResult } from './smartuniverse.classes.reactionresult'; -export interface IReactionRequestConstructorOptions { - method: T['method']; -} -export interface ICombinatorPayload { - /** - * needed for tying responses to requests - */ - id: string; - typedRequestPayload: { - method: T['method']; - request: T['request']; - response: T['response']; - }; -} -export declare class ReactionRequest { - method: T['method']; - constructor(optionsArg: IReactionRequestConstructorOptions); - fire(channelsArg: Array, requestDataArg: T['request'], timeoutMillisArg?: number): Promise>; -} diff --git a/dist_ts/smartuniverse.classes.reactionrequest.js b/dist_ts/smartuniverse.classes.reactionrequest.js deleted file mode 100644 index 1b8ba7f..0000000 --- a/dist_ts/smartuniverse.classes.reactionrequest.js +++ /dev/null @@ -1,67 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ReactionRequest = void 0; -const plugins = __importStar(require("./smartuniverse.plugins")); -const smartuniverse_classes_reactionresult_1 = require("./smartuniverse.classes.reactionresult"); -class ReactionRequest { - constructor(optionsArg) { - this.method = optionsArg.method; - } - async fire(channelsArg, requestDataArg, timeoutMillisArg = 5000) { - const subscriptionMap = new plugins.lik.ObjectMap(); - const reactionResult = new smartuniverse_classes_reactionresult_1.ReactionResult(); - const requestId = plugins.smartunique.shortId(); - for (const channel of channelsArg) { - subscriptionMap.add(channel.subscribe((messageArg) => { - if (messageArg.messageText === 'reactionResponse' && - messageArg.payload.typedRequestPayload.method === this.method) { - const payload = messageArg.payload; - if (payload.id !== requestId) { - return; - } - reactionResult.pushReactionResponse(payload.typedRequestPayload.response); - } - })); - const payload = { - id: requestId, - typedRequestPayload: { - method: this.method, - request: requestDataArg, - response: null - } - }; - channel.sendMessage({ - messageText: 'reactionRequest', - payload - }); - } - plugins.smartdelay.delayFor(timeoutMillisArg).then(async () => { - await subscriptionMap.forEach(subscriptionArg => { - subscriptionArg.unsubscribe(); - }); - reactionResult.complete(); - }); - return reactionResult; - } -} -exports.ReactionRequest = ReactionRequest; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1bml2ZXJzZS5jbGFzc2VzLnJlYWN0aW9ucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0dW5pdmVyc2UuY2xhc3Nlcy5yZWFjdGlvbnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlFQUFtRDtBQUduRCxpR0FBd0U7QUFzQnhFLE1BQWEsZUFBZTtJQUcxQixZQUFZLFVBQWlEO1FBQzNELElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRU0sS0FBSyxDQUFDLElBQUksQ0FDZixXQUEyRCxFQUMzRCxjQUE0QixFQUM1QixnQkFBZ0IsR0FBRyxJQUFJO1FBRXZCLE1BQU0sZUFBZSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQXFDLENBQUM7UUFDdkYsTUFBTSxjQUFjLEdBQUcsSUFBSSxxREFBYyxFQUFLLENBQUM7UUFDL0MsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoRCxLQUFLLE1BQU0sT0FBTyxJQUFJLFdBQVcsRUFBRTtZQUNqQyxlQUFlLENBQUMsR0FBRyxDQUNqQixPQUFPLENBQUMsU0FBUyxDQUNmLENBQ0UsVUFFZ0QsRUFDaEQsRUFBRTtnQkFDRixJQUNFLFVBQVUsQ0FBQyxXQUFXLEtBQUssa0JBQWtCO29CQUM3QyxVQUFVLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxFQUM3RDtvQkFDQSxNQUFNLE9BQU8sR0FBMEIsVUFBVSxDQUFDLE9BQU8sQ0FBQztvQkFDMUQsSUFBSSxPQUFPLENBQUMsRUFBRSxLQUFLLFNBQVMsRUFBRTt3QkFDNUIsT0FBTztxQkFDUjtvQkFDRCxjQUFjLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUMzRTtZQUNILENBQUMsQ0FDRixDQUNGLENBQUM7WUFDRixNQUFNLE9BQU8sR0FBMEI7Z0JBQ3JDLEVBQUUsRUFBRSxTQUFTO2dCQUNiLG1CQUFtQixFQUFFO29CQUNuQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ25CLE9BQU8sRUFBRSxjQUFjO29CQUN2QixRQUFRLEVBQUUsSUFBSTtpQkFDZjthQUNGLENBQUM7WUFDRixPQUFPLENBQUMsV0FBVyxDQUFDO2dCQUNsQixXQUFXLEVBQUUsaUJBQWlCO2dCQUM5QixPQUFPO2FBQ1IsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRTtZQUM1RCxNQUFNLGVBQWUsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQzlDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztZQUNILGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7Q0FDRjtBQXpERCwwQ0F5REMifQ== \ No newline at end of file diff --git a/dist_ts/smartuniverse.classes.reactionresponse.d.ts b/dist_ts/smartuniverse.classes.reactionresponse.d.ts deleted file mode 100644 index f5cf0d5..0000000 --- a/dist_ts/smartuniverse.classes.reactionresponse.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import * as plugins from './smartuniverse.plugins'; -import { UniverseChannel } from './smartuniverse.classes.universechannel'; -import { ClientUniverseChannel } from './smartuniverse.classes.clientuniversechannel'; -export declare type TReactionResponseFuncDef = (dataArg: T['request']) => Promise; -export interface IReactionResponseConstructorOptions { - method: T['method']; - channels: Array; - funcDef: TReactionResponseFuncDef; -} -export declare class ReactionResponse { - method: T['method']; - channels: plugins.lik.ObjectMap; - funcDef: TReactionResponseFuncDef; - constructor(optionsArg: IReactionResponseConstructorOptions); - private processMessageForReaction; -} diff --git a/dist_ts/smartuniverse.classes.reactionresponse.js b/dist_ts/smartuniverse.classes.reactionresponse.js deleted file mode 100644 index ecb5b99..0000000 --- a/dist_ts/smartuniverse.classes.reactionresponse.js +++ /dev/null @@ -1,49 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ReactionResponse = void 0; -const plugins = __importStar(require("./smartuniverse.plugins")); -class ReactionResponse { - constructor(optionsArg) { - this.channels = new plugins.lik.ObjectMap(); - this.method = optionsArg.method; - this.channels.addArray(optionsArg.channels); - this.funcDef = optionsArg.funcDef; - for (const channel of this.channels.getArray()) { - channel.subscribe(messageArg => { - this.processMessageForReaction(channel, messageArg); - }); - } - } - async processMessageForReaction(channelArg, messageArg) { - if (messageArg.messageText === 'reactionRequest' && - messageArg.payload.typedRequestPayload.method === this.method) { - const response = await this.funcDef(messageArg.payload.typedRequestPayload.request); - const payload = Object.assign(Object.assign({}, messageArg.payload), { typedRequestPayload: Object.assign(Object.assign({}, messageArg.payload.typedRequestPayload), { response }) }); - channelArg.sendMessage({ - messageText: 'reactionResponse', - payload - }); - } - } -} -exports.ReactionResponse = ReactionResponse; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1bml2ZXJzZS5jbGFzc2VzLnJlYWN0aW9ucmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydHVuaXZlcnNlLmNsYXNzZXMucmVhY3Rpb25yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUVBQW1EO0FBb0JuRCxNQUFhLGdCQUFnQjtJQUszQixZQUFZLFVBQWtEO1FBSHZELGFBQVEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUEyQyxDQUFDO1FBSXJGLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ2xDLEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUM5QyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUM3QixJQUFJLENBQUMseUJBQXlCLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3RELENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLHlCQUF5QixDQUNyQyxVQUFtRCxFQUNuRCxVQUVnRDtRQUVoRCxJQUNFLFVBQVUsQ0FBQyxXQUFXLEtBQUssaUJBQWlCO1lBQzVDLFVBQVUsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQzdEO1lBQ0EsTUFBTSxRQUFRLEdBQWtCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FDaEQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQy9DLENBQUM7WUFDRixNQUFNLE9BQU8sbUNBQ1IsVUFBVSxDQUFDLE9BQU8sS0FDckIsbUJBQW1CLGtDQUNkLFVBQVUsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEtBQ3pDLFFBQVEsTUFFWCxDQUFDO1lBQ0YsVUFBVSxDQUFDLFdBQVcsQ0FBQztnQkFDckIsV0FBVyxFQUFFLGtCQUFrQjtnQkFDL0IsT0FBTzthQUNSLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztDQUNGO0FBMUNELDRDQTBDQyJ9 \ No newline at end of file diff --git a/dist_ts/smartuniverse.classes.reactionresult.d.ts b/dist_ts/smartuniverse.classes.reactionresult.d.ts deleted file mode 100644 index 0133cca..0000000 --- a/dist_ts/smartuniverse.classes.reactionresult.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import * as plugins from './smartuniverse.plugins'; -export declare class ReactionResult { - private resultReplaySubject; - private endResult; - private completeDeferred; - constructor(); - resultSubscribe(observerArg: (responseArg: T['response']) => void): plugins.smartrx.rxjs.Subscription; - /** - * gets the end result as an array of all results - */ - getEndResult(): Promise; - /** - * if there is a single respondant, or you are only interested in the first result - */ - getFirstResult(): Promise; - /** - * push a reactionResponse - */ - pushReactionResponse(responseArg: T['response']): Promise; - /** - * completes the ReactionResult - */ - complete(): Promise; -} diff --git a/dist_ts/smartuniverse.classes.reactionresult.js b/dist_ts/smartuniverse.classes.reactionresult.js deleted file mode 100644 index 172e7fd..0000000 --- a/dist_ts/smartuniverse.classes.reactionresult.js +++ /dev/null @@ -1,68 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ReactionResult = void 0; -const plugins = __importStar(require("./smartuniverse.plugins")); -class ReactionResult { - constructor() { - this.resultReplaySubject = new plugins.smartrx.rxjs.ReplaySubject(); - this.endResult = []; - this.completeDeferred = plugins.smartpromise.defer(); - this.resultSubscribe(responseArg => { - this.endResult.push(responseArg); - }); - } - resultSubscribe(observerArg) { - return this.resultReplaySubject.subscribe(observerArg); - } - /** - * gets the end result as an array of all results - */ - async getEndResult() { - const result = await this.completeDeferred.promise; - return result; - } - /** - * if there is a single respondant, or you are only interested in the first result - */ - async getFirstResult() { - const done = plugins.smartpromise.defer(); - const subscription = this.resultReplaySubject.subscribe(result => { - done.resolve(result); - subscription.unsubscribe(); - }); - return await done.promise; - } - /** - * push a reactionResponse - */ - async pushReactionResponse(responseArg) { - this.resultReplaySubject.next(responseArg); - } - /** - * completes the ReactionResult - */ - async complete() { - this.completeDeferred.resolve(this.endResult); - } -} -exports.ReactionResult = ReactionResult; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1bml2ZXJzZS5jbGFzc2VzLnJlYWN0aW9ucmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnR1bml2ZXJzZS5jbGFzc2VzLnJlYWN0aW9ucmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpRUFBbUQ7QUFHbkQsTUFBYSxjQUFjO0lBS3pCO1FBSlEsd0JBQW1CLEdBQUcsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQWlCLENBQUM7UUFDOUUsY0FBUyxHQUF5QixFQUFFLENBQUM7UUFDckMscUJBQWdCLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQXdCLENBQUM7UUFHNUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxlQUFlLENBQUMsV0FBaUQ7UUFDdEUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztRQUNuRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYztRQUN6QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBaUIsQ0FBQztRQUN6RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQy9ELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckIsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLG9CQUFvQixDQUFDLFdBQTBCO1FBQzFELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFFBQVE7UUFDbkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUNGO0FBaERELHdDQWdEQyJ9 \ No newline at end of file diff --git a/dist_ts/smartuniverse.classes.universe.d.ts b/dist_ts/smartuniverse.classes.universe.d.ts deleted file mode 100644 index 167d23a..0000000 --- a/dist_ts/smartuniverse.classes.universe.d.ts +++ /dev/null @@ -1,47 +0,0 @@ -import * as plugins from './smartuniverse.plugins'; -import { UniverseCache, UniverseChannel } from './'; -export interface ISmartUniverseConstructorOptions { - messageExpiryInMilliseconds: number; - externalServer?: plugins.smartexpress.Server; -} -/** - * main class that setups a Universe - */ -export declare class Universe { - universeCache: UniverseCache; - private options; - /** - * the smartexpress server used - */ - private smartexpressServer; - /** - * the smartsocket used - */ - private smartsocket; - constructor(optionsArg: ISmartUniverseConstructorOptions); - /** - * stores the version of the universe server running - * this is done since the version is exposed through the api and multiple fs actions are avoided this way. - */ - private universeVersionStore; - /** - * get the currently running version of smartuniverse - */ - getUniverseVersion(): string; - /** - * adds a channel to the Universe - */ - addChannel(nameArg: string, passphraseArg: string): UniverseChannel; - /** - * returns a channel - */ - getChannel(channelNameArg: string): UniverseChannel; - /** - * initiates a server - */ - start(portArg: number): Promise; - /** - * stop everything - */ - stopServer(): Promise; -} diff --git a/dist_ts/smartuniverse.classes.universe.js b/dist_ts/smartuniverse.classes.universe.js deleted file mode 100644 index 02424a7..0000000 --- a/dist_ts/smartuniverse.classes.universe.js +++ /dev/null @@ -1,152 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Universe = void 0; -const plugins = __importStar(require("./smartuniverse.plugins")); -const _1 = require("./"); -const paths = __importStar(require("./smartuniverse.paths")); -const smartuniverse_classes_universeconnection_1 = require("./smartuniverse.classes.universeconnection"); -const smartuniverse_logging_1 = require("./smartuniverse.logging"); -/** - * main class that setups a Universe - */ -class Universe { - constructor(optionsArg) { - this.options = optionsArg; - this.universeCache = new _1.UniverseCache(this, this.options.messageExpiryInMilliseconds); - } - /** - * get the currently running version of smartuniverse - */ - getUniverseVersion() { - if (this.universeVersionStore) { - return this.universeVersionStore; - } - else { - const packageJson = plugins.smartfile.fs.toObjectSync(paths.packageJson); - this.universeVersionStore = packageJson.version; - return this.universeVersionStore; - } - } - /** - * adds a channel to the Universe - */ - addChannel(nameArg, passphraseArg) { - const newChannel = _1.UniverseChannel.createChannel(this, nameArg, passphraseArg); - return newChannel; - } - /** - * returns a channel - */ - getChannel(channelNameArg) { - return this.universeCache.channelMap.find(channelArg => { - return channelArg.name === channelNameArg; - }); - } - /** - * initiates a server - */ - async start(portArg) { - // lets create the base smartexpress server - if (!this.options.externalServer) { - this.smartexpressServer = new plugins.smartexpress.Server({ - cors: true, - defaultAnswer: async () => { - return `smartuniverse server ${this.getUniverseVersion()}`; - }, - forceSsl: false, - port: portArg - }); - } - else { - console.log('Universe is using externally supplied server'); - this.smartexpressServer = this.options.externalServer; - } - // add websocket upgrade - this.smartsocket = new plugins.smartsocket.Smartsocket({}); - // add a role for the clients - const ClientRole = new plugins.smartsocket.SocketRole({ - name: 'UniverseClient', - passwordHash: plugins.smarthash.sha256FromStringSync('UniverseClient') // authentication happens on another level - }); - // add the role to smartsocket - this.smartsocket.addSocketRoles([ClientRole]); - const socketFunctionSubscription = new plugins.smartsocket.SocketFunction({ - allowedRoles: [ClientRole], - funcName: 'subscribeChannel', - funcDef: async (dataArg, socketConnectionArg) => { - const universeConnection = new smartuniverse_classes_universeconnection_1.UniverseConnection({ - universe: this, - socketConnection: socketConnectionArg, - authenticationRequests: [dataArg] - }); - await smartuniverse_classes_universeconnection_1.UniverseConnection.addConnectionToCache(this, universeConnection); - return { - subscriptionStatus: 'subscribed' - }; - } - }); - const socketFunctionProcessMessage = new plugins.smartsocket.SocketFunction({ - allowedRoles: [ClientRole], - funcName: 'processMessage', - funcDef: async (dataArg, socketConnectionArg) => { - const universeConnection = smartuniverse_classes_universeconnection_1.UniverseConnection.findUniverseConnectionBySocketConnection(this.universeCache, socketConnectionArg); - if (universeConnection) { - smartuniverse_logging_1.logger.log('ok', 'found UniverseConnection for socket for incoming message'); - } - else { - smartuniverse_logging_1.logger.log('warn', 'found no Authorized channel for incoming message'); - return { - error: 'You need to authenticate for a channel' - }; - } - const unauthenticatedMessage = _1.UniverseMessage.createMessageFromPayload(socketConnectionArg, dataArg); - const foundChannel = await _1.UniverseChannel.authorizeAMessageForAChannel(this.universeCache, unauthenticatedMessage); - if (foundChannel && unauthenticatedMessage.authenticated) { - const authenticatedMessage = unauthenticatedMessage; - await this.universeCache.addMessage(authenticatedMessage); - } - } - }); - // add socket functions - this.smartsocket.addSocketFunction(socketFunctionSubscription); - this.smartsocket.addSocketFunction(socketFunctionProcessMessage); - // start the server - if (!this.options.externalServer) { - await this.smartexpressServer.start(); - } - // add smartsocket to the running smartexpress app - await this.smartsocket.setExternalServer('smartexpress', this.smartexpressServer); - await this.smartsocket.start(); - smartuniverse_logging_1.logger.log('success', 'started universe'); - } - /** - * stop everything - */ - async stopServer() { - await this.smartsocket.stop(); - if (!this.options.externalServer) { - await this.smartexpressServer.stop(); - } - } -} -exports.Universe = Universe; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1bml2ZXJzZS5jbGFzc2VzLnVuaXZlcnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnR1bml2ZXJzZS5jbGFzc2VzLnVuaXZlcnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpRUFBbUQ7QUFHbkQseUJBQXFFO0FBRXJFLDZEQUErQztBQUcvQyx5R0FBZ0Y7QUFDaEYsbUVBQWlEO0FBT2pEOztHQUVHO0FBQ0gsTUFBYSxRQUFRO0lBaUJuQixZQUFZLFVBQTRDO1FBQ3RELElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxnQkFBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDekYsQ0FBQztJQVFEOztPQUVHO0lBQ0ksa0JBQWtCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzdCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO1NBQ2xDO2FBQU07WUFDTCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO1lBQ2hELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVSxDQUFDLE9BQWUsRUFBRSxhQUFxQjtRQUN0RCxNQUFNLFVBQVUsR0FBRyxrQkFBZSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVUsQ0FBQyxjQUFzQjtRQUN0QyxPQUFPLElBQUksQ0FB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 \ No newline at end of file diff --git a/dist_ts/smartuniverse.classes.universecache.d.ts b/dist_ts/smartuniverse.classes.universecache.d.ts deleted file mode 100644 index b16f728..0000000 --- a/dist_ts/smartuniverse.classes.universecache.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -import * as plugins from './smartuniverse.plugins'; -import { UniverseChannel } from './smartuniverse.classes.universechannel'; -import { UniverseMessage } from './smartuniverse.classes.universemessage'; -import { Observable } from 'rxjs'; -import { UniverseConnection } from './smartuniverse.classes.universeconnection'; -import { Universe } from './smartuniverse.classes.universe'; -/** - * universe store handles the creation, storage and retrieval of messages. - */ -export declare class UniverseCache { - standardMessageExpiry: number; - destructionTime: number; - /** - * stores messages for this instance - */ - messageMap: plugins.lik.ObjectMap>; - /** - * stores the channels that are available within the universe - */ - channelMap: plugins.lik.ObjectMap; - /** - * stores all connections - */ - connectionMap: plugins.lik.ObjectMap; - /** - * allows messages to be processed in a blacklist mode for further analysis - */ - blackListChannel: UniverseChannel; - universeRef: Universe; - constructor(universeArg: Universe, standardMessageExpiryArg: number); - /** - * add a message to the UniverseCache - * @param messageArg - * @param attachedPayloadArg - */ - addMessage(messageArg: UniverseMessage): Promise; - /** - * Read a message from the UniverseCache - */ - readMessagesYoungerThan(unixTimeArg?: number, channelName?: string): Observable>; -} diff --git a/dist_ts/smartuniverse.classes.universecache.js b/dist_ts/smartuniverse.classes.universecache.js deleted file mode 100644 index 847236c..0000000 --- a/dist_ts/smartuniverse.classes.universecache.js +++ /dev/null @@ -1,74 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.UniverseCache = void 0; -const plugins = __importStar(require("./smartuniverse.plugins")); -const smartuniverse_classes_universechannel_1 = require("./smartuniverse.classes.universechannel"); -const lik_1 = require("@pushrocks/lik"); -const rxjs_1 = require("rxjs"); -const operators_1 = require("rxjs/operators"); -/** - * universe store handles the creation, storage and retrieval of messages. - */ -class UniverseCache { - constructor(universeArg, standardMessageExpiryArg) { - this.destructionTime = 10000; - /** - * stores messages for this instance - */ - this.messageMap = new lik_1.ObjectMap(); - /** - * stores the channels that are available within the universe - */ - this.channelMap = new lik_1.ObjectMap(); - /** - * stores all connections - */ - this.connectionMap = new plugins.lik.ObjectMap(); - this.universeRef = universeArg; - this.standardMessageExpiry = standardMessageExpiryArg; - this.blackListChannel = new smartuniverse_classes_universechannel_1.UniverseChannel(this.universeRef, 'blacklist', 'nada'); - } - /** - * add a message to the UniverseCache - * @param messageArg - * @param attachedPayloadArg - */ - async addMessage(messageArg) { - messageArg.setUniverseCache(this); - smartuniverse_classes_universechannel_1.UniverseChannel.authorizeAMessageForAChannel(this, messageArg); - this.messageMap.add(messageArg); - messageArg.universeChannelList.forEach(universeChannel => { - universeChannel.push(messageArg); - }); - } - /** - * Read a message from the UniverseCache - */ - readMessagesYoungerThan(unixTimeArg, channelName) { - const messageObservable = rxjs_1.from(this.messageMap.getArray()).pipe(operators_1.filter(messageArg => { - return messageArg.smartTimestamp.isYoungerThanMilliSeconds(this.destructionTime); - })); - return messageObservable; - } -} -exports.UniverseCache = UniverseCache; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1bml2ZXJzZS5jbGFzc2VzLnVuaXZlcnNlY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydHVuaXZlcnNlLmNsYXNzZXMudW5pdmVyc2VjYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUVBQW1EO0FBRW5ELG1HQUEwRTtBQUcxRSx3Q0FBMkM7QUFFM0MsK0JBQXdDO0FBQ3hDLDhDQUF3QztBQUt4Qzs7R0FFRztBQUNILE1BQWEsYUFBYTtJQTZCeEIsWUFBWSxXQUFxQixFQUFFLHdCQUFnQztRQXhCNUQsb0JBQWUsR0FBVyxLQUFLLENBQUM7UUFFdkM7O1dBRUc7UUFDSSxlQUFVLEdBQUcsSUFBSSxlQUFTLEVBQXdCLENBQUM7UUFFMUQ7O1dBRUc7UUFDSSxlQUFVLEdBQUcsSUFBSSxlQUFTLEVBQW1CLENBQUM7UUFFckQ7O1dBRUc7UUFDSSxrQkFBYSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQXNCLENBQUM7UUFVckUsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLHdCQUF3QixDQUFDO1FBQ3RELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLHVEQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQWdDO1FBQ3RELFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyx1REFBZSxDQUFDLDRCQUE0QixDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ3ZELGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSx1QkFBdUIsQ0FDNUIsV0FBb0IsRUFDcEIsV0FBb0I7UUFFcEIsTUFBTSxpQkFBaUIsR0FBRyxXQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDN0Qsa0JBQU0sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNsQixPQUFPLFVBQVUsQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ25GLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDRixPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQS9ERCxzQ0ErREMifQ== \ No newline at end of file diff --git a/dist_ts/smartuniverse.classes.universechannel.d.ts b/dist_ts/smartuniverse.classes.universechannel.d.ts deleted file mode 100644 index 5c812be..0000000 --- a/dist_ts/smartuniverse.classes.universechannel.d.ts +++ /dev/null @@ -1,56 +0,0 @@ -import * as plugins from './smartuniverse.plugins'; -import * as interfaces from './interfaces'; -import { UniverseCache } from './smartuniverse.classes.universecache'; -import { UniverseMessage } from './smartuniverse.classes.universemessage'; -import { Universe } from './smartuniverse.classes.universe'; -/** - * enables messages to stay within a certain scope. - */ -export declare class UniverseChannel { - /** - * creates new channels - * @param channelArg the name of the topic - * @param passphraseArg the secret thats used for a certain topic. - */ - static createChannel(universeArg: Universe, channelNameArg: string, passphraseArg: string): UniverseChannel; - /** - * returns boolean wether certain channel exists - */ - static doesChannelExists(universeCacheArg: UniverseCache, channelNameArg: string): Promise; - /** - * a static message authorization function that takes the UniverseCache - * (where messages and channels are stored and their lifetime is managed) - * and the universemessage to find a fitting channel for the message - * @param universeCacheArg - * @param universeMessageArg - */ - static authorizeAMessageForAChannel(universeCacheArg: UniverseCache, universeMessageArg: UniverseMessage): UniverseChannel; - static getUniverseChannelByName(universeRef: Universe, universeChannelName: string): UniverseChannel; - /** - * the name of the channel - */ - name: string; - universeRef: Universe; - private subject; - /** - * the passphrase for the channel - */ - passphrase: string; - constructor(universeArg: Universe, channelNameArg: string, passphraseArg: string); - /** - * authenticates a client on the server side by matching - * # the messages channelName against the unverseChannel's name - * # the messages password against the universeChannel's password - */ - authenticate(universeMessageArg: UniverseMessage): boolean; - /** - * pushes a message to clients - * @param messageArg - */ - push(messageArg: UniverseMessage): Promise; - subscribe(observingFunctionArg: (messageArg: UniverseMessage) => void): plugins.smartrx.rxjs.Subscription; - /** - * sends a message to the channel - */ - sendMessage(messageDescriptor: interfaces.IMessageCreator): Promise; -} diff --git a/dist_ts/smartuniverse.classes.universechannel.js b/dist_ts/smartuniverse.classes.universechannel.js deleted file mode 100644 index 4230136..0000000 --- a/dist_ts/smartuniverse.classes.universechannel.js +++ /dev/null @@ -1,150 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.UniverseChannel = void 0; -const plugins = __importStar(require("./smartuniverse.plugins")); -const smartuniverse_classes_universemessage_1 = require("./smartuniverse.classes.universemessage"); -const smartuniverse_logging_1 = require("./smartuniverse.logging"); -/** - * enables messages to stay within a certain scope. - */ -class UniverseChannel { - constructor(universeArg, channelNameArg, passphraseArg) { - this.subject = new plugins.smartrx.rxjs.Subject(); - this.universeRef = universeArg; - this.name = channelNameArg; - this.passphrase = passphraseArg; - } - // ====== - // STATIC - // ====== - /** - * creates new channels - * @param channelArg the name of the topic - * @param passphraseArg the secret thats used for a certain topic. - */ - static createChannel(universeArg, channelNameArg, passphraseArg) { - const newChannel = new UniverseChannel(universeArg, channelNameArg, passphraseArg); - universeArg.universeCache.channelMap.add(newChannel); - return newChannel; - } - /** - * returns boolean wether certain channel exists - */ - static async doesChannelExists(universeCacheArg, channelNameArg) { - const channel = universeCacheArg.channelMap.find(channelArg => { - return channelArg.name === channelNameArg; - }); - if (channel) { - return true; - } - else { - return false; - } - } - /** - * a static message authorization function that takes the UniverseCache - * (where messages and channels are stored and their lifetime is managed) - * and the universemessage to find a fitting channel for the message - * @param universeCacheArg - * @param universeMessageArg - */ - static authorizeAMessageForAChannel(universeCacheArg, universeMessageArg) { - const foundChannel = universeCacheArg.channelMap.find(universeChannel => { - const result = universeChannel.authenticate(universeMessageArg); - return result; - }); - if (foundChannel) { - universeMessageArg.authenticated = true; - universeMessageArg.universeChannelList.add(foundChannel); - smartuniverse_logging_1.logger.log('ok', 'message authorized'); - return foundChannel; - } - else { - universeMessageArg.authenticated = false; - universeMessageArg.universeChannelList.add(universeCacheArg.blackListChannel); - smartuniverse_logging_1.logger.log('warn', 'message not valid'); - return null; - } - } - static getUniverseChannelByName(universeRef, universeChannelName) { - return universeRef.universeCache.channelMap.find(channelArg => { - return channelArg.name === universeChannelName; - }); - } - /** - * authenticates a client on the server side by matching - * # the messages channelName against the unverseChannel's name - * # the messages password against the universeChannel's password - */ - authenticate(universeMessageArg) { - return (this.name === universeMessageArg.targetChannelName && - this.passphrase === universeMessageArg.passphrase); - } - /** - * pushes a message to clients - * @param messageArg - */ - async push(messageArg) { - this.subject.next(messageArg); - const universeConnectionsWithChannelAccess = []; - await this.universeRef.universeCache.connectionMap.forEach(async (socketConnection) => { - if (socketConnection.authenticatedChannels.includes(this)) { - universeConnectionsWithChannelAccess.push(socketConnection); - } - }); - for (const universeConnection of universeConnectionsWithChannelAccess) { - const smartsocket = universeConnection.socketConnection - .smartsocketRef; - const universeMessageToSend = { - id: messageArg.id, - timestamp: messageArg.timestamp, - passphrase: messageArg.passphrase, - targetChannelName: this.name, - messageText: messageArg.messageText, - payload: messageArg.payload - }; - smartsocket.clientCall('processMessage', universeMessageToSend, universeConnection.socketConnection); - } - } - // functions to interact with a channel locally - subscribe(observingFunctionArg) { - return this.subject.subscribe(messageArg => { - observingFunctionArg(messageArg); - }, error => console.log(error)); - } - /** - * sends a message to the channel - */ - async sendMessage(messageDescriptor) { - const messageToSend = new smartuniverse_classes_universemessage_1.UniverseMessage({ - id: plugins.smartunique.shortId(), - messageText: messageDescriptor.messageText, - payload: messageDescriptor.payload, - targetChannelName: this.name, - passphrase: this.passphrase, - timestamp: Date.now() - }); - this.universeRef.universeCache.addMessage(messageToSend); - } -} -exports.UniverseChannel = UniverseChannel; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1bml2ZXJzZS5jbGFzc2VzLnVuaXZlcnNlY2hhbm5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0dW5pdmVyc2UuY2xhc3Nlcy51bml2ZXJzZWNoYW5uZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlFQUFtRDtBQUluRCxtR0FBMEU7QUFHMUUsbUVBQWlEO0FBRWpEOztHQUVHO0FBQ0gsTUFBYSxlQUFlO0lBbUYxQixZQUFZLFdBQXFCLEVBQUUsY0FBc0IsRUFBRSxhQUFxQjtRQVB4RSxZQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQXdCLENBQUM7UUFRekUsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUM7SUFDbEMsQ0FBQztJQXRGRCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFFVDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FDekIsV0FBcUIsRUFDckIsY0FBc0IsRUFDdEIsYUFBcUI7UUFFckIsTUFBTSxVQUFVLEdBQUcsSUFBSSxlQUFlLENBQUMsV0FBVyxFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNuRixXQUFXLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBK0IsRUFBRSxjQUFzQjtRQUMzRixNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzVELE9BQU8sVUFBVSxDQUFDLElBQUks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 \ No newline at end of file diff --git a/dist_ts/smartuniverse.classes.universeconnection.d.ts b/dist_ts/smartuniverse.classes.universeconnection.d.ts deleted file mode 100644 index 8b66fed..0000000 --- a/dist_ts/smartuniverse.classes.universeconnection.d.ts +++ /dev/null @@ -1,49 +0,0 @@ -import * as plugins from './smartuniverse.plugins'; -import * as interfaces from './interfaces'; -import { UniverseChannel } from './smartuniverse.classes.universechannel'; -import { UniverseCache } from './smartuniverse.classes.universecache'; -import { Universe } from './smartuniverse.classes.universe'; -/** - * represents a connection to the universe - */ -export declare class UniverseConnection { - /** - * - * @param universeConnectionArg - */ - static addConnectionToCache(universeRef: Universe, universeConnectionArg: UniverseConnection): Promise; - /** - * deduplicates UniverseConnections - */ - static deduplicateUniverseConnection(universeCache: UniverseCache, universeConnectionArg: UniverseConnection): Promise; - /** - * authenticate AuthenticationRequests - */ - static authenticateAuthenticationRequests(universeRef: Universe, universeConnectionArg: UniverseConnection): Promise; - /** - * merges two UniverseConnections - */ - static mergeUniverseConnections(connectionArg1: UniverseConnection, connectionArg2: UniverseConnection): UniverseConnection; - /** - * finds a UniverseConnection by providing a socket connection - */ - static findUniverseConnectionBySocketConnection(universeCache: UniverseCache, socketConnectionArg: plugins.smartsocket.SocketConnection): UniverseConnection; - universeRef: Universe; - terminatedDeferred: plugins.smartpromise.Deferred; - /** - * the socketClient to ping - */ - socketConnection: plugins.smartsocket.SocketConnection; - authenticationRequests: Array; - authenticatedChannels: UniverseChannel[]; - failedToJoinChannels: UniverseChannel[]; - /** - * disconnect the connection - */ - disconnect(reason?: 'upstreamevent' | 'triggered'): Promise; - constructor(optionsArg: { - universe: Universe; - socketConnection: plugins.smartsocket.SocketConnection; - authenticationRequests: Array; - }); -} diff --git a/dist_ts/smartuniverse.classes.universeconnection.js b/dist_ts/smartuniverse.classes.universeconnection.js deleted file mode 100644 index 87c97bd..0000000 --- a/dist_ts/smartuniverse.classes.universeconnection.js +++ /dev/null @@ -1,110 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.UniverseConnection = void 0; -const plugins = __importStar(require("./smartuniverse.plugins")); -const smartuniverse_classes_universechannel_1 = require("./smartuniverse.classes.universechannel"); -/** - * represents a connection to the universe - */ -class UniverseConnection { - constructor(optionsArg) { - this.terminatedDeferred = plugins.smartpromise.defer(); - this.authenticationRequests = []; - this.authenticatedChannels = []; - this.failedToJoinChannels = []; - this.universeRef = optionsArg.universe; - this.authenticationRequests = optionsArg.authenticationRequests; - this.socketConnection = optionsArg.socketConnection; - this.socketConnection.eventSubject.subscribe(async (eventArg) => { - switch (eventArg) { - case 'disconnected': - await this.disconnect('upstreamevent'); - break; - } - }); - } - /** - * - * @param universeConnectionArg - */ - static async addConnectionToCache(universeRef, universeConnectionArg) { - let universeConnection = universeConnectionArg; - universeConnection = await UniverseConnection.deduplicateUniverseConnection(universeRef.universeCache, universeConnection); - universeConnection = await UniverseConnection.authenticateAuthenticationRequests(universeRef, universeConnection); - universeRef.universeCache.connectionMap.add(universeConnection); - console.log('hi'); - } - /** - * deduplicates UniverseConnections - */ - static async deduplicateUniverseConnection(universeCache, universeConnectionArg) { - let connectionToReturn; - universeCache.connectionMap.forEach(async (existingConnection) => { - if (existingConnection.socketConnection === universeConnectionArg.socketConnection) { - connectionToReturn = await this.mergeUniverseConnections(existingConnection, universeConnectionArg); - } - }); - if (!connectionToReturn) { - connectionToReturn = universeConnectionArg; - } - return connectionToReturn; - } - /** - * authenticate AuthenticationRequests - */ - static async authenticateAuthenticationRequests(universeRef, universeConnectionArg) { - for (const authenticationRequest of universeConnectionArg.authenticationRequests) { - const universeChannelToAuthenticateAgainst = smartuniverse_classes_universechannel_1.UniverseChannel.getUniverseChannelByName(universeRef, authenticationRequest.name); - if (universeChannelToAuthenticateAgainst.passphrase === authenticationRequest.passphrase) { - universeConnectionArg.authenticatedChannels.push(universeChannelToAuthenticateAgainst); - } - } - return universeConnectionArg; - } - /** - * merges two UniverseConnections - */ - static mergeUniverseConnections(connectionArg1, connectionArg2) { - return connectionArg1; - } - /** - * finds a UniverseConnection by providing a socket connection - */ - static findUniverseConnectionBySocketConnection(universeCache, socketConnectionArg) { - const universeConnection = universeCache.connectionMap.find(universeConnectionArg => { - return universeConnectionArg.socketConnection === socketConnectionArg; - }); - return universeConnection; - } - /** - * disconnect the connection - */ - async disconnect(reason = 'triggered') { - if (reason === 'triggered') { - await this.socketConnection.disconnect(); - } - this.universeRef.universeCache.connectionMap.remove(this); - this.terminatedDeferred.resolve(); - } -} -exports.UniverseConnection = UniverseConnection; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1bml2ZXJzZS5jbGFzc2VzLnVuaXZlcnNlY29ubmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0dW5pdmVyc2UuY2xhc3Nlcy51bml2ZXJzZWNvbm5lY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlFQUFtRDtBQUVuRCxtR0FBMEU7QUFJMUU7O0dBRUc7QUFDSCxNQUFhLGtCQUFrQjtJQTZHN0IsWUFBWSxVQUlYO1FBekJNLHVCQUFrQixHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFNbEQsMkJBQXNCLEdBQWlFLEVBQUUsQ0FBQztRQUMxRiwwQkFBcUIsR0FBc0IsRUFBRSxDQUFDO1FBQzlDLHlCQUFvQixHQUFzQixFQUFFLENBQUM7UUFrQmxELElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUN2QyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsVUFBVSxDQUFDLHNCQUFzQixDQUFDO1FBQ2hFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7UUFDcEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFDLFFBQVEsRUFBQyxFQUFFO1lBQzVELFFBQVEsUUFBUSxFQUFFO2dCQUNoQixLQUFLLGNBQWM7b0JBQ2pCLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztvQkFDdkMsTUFBTTthQUNUO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBM0hEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQ3RDLFdBQXFCLEVBQ3JCLHFCQUF5QztRQUV6QyxJQUFJLGtCQUFrQixHQUFHLHFCQUFxQixDQUFDO1FBQy9DLGtCQUFrQixHQUFHLE1BQU0sa0JBQWtCLENBQUMsNkJBQTZC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 \ No newline at end of file diff --git a/dist_ts/smartuniverse.classes.universemessage.d.ts b/dist_ts/smartuniverse.classes.universemessage.d.ts deleted file mode 100644 index a7b476f..0000000 --- a/dist_ts/smartuniverse.classes.universemessage.d.ts +++ /dev/null @@ -1,50 +0,0 @@ -import * as plugins from './smartuniverse.plugins'; -import * as interfaces from './interfaces'; -import { Timer, TimeStamp } from '@pushrocks/smarttime'; -import { UniverseChannel } from './smartuniverse.classes.universechannel'; -import { UniverseCache } from './smartuniverse.classes.universecache'; -import { SocketConnection } from '@pushrocks/smartsocket'; -/** - * represents a message within a universe - * acts as a container to save message states like authentication status - */ -export declare class UniverseMessage implements interfaces.IUniverseMessage { - static createMessageFromPayload(socketConnectionArg: SocketConnection, dataArg: interfaces.IUniverseMessage): UniverseMessage; - id: string; - timestamp: number; - smartTimestamp: TimeStamp; - messageText: string; - passphrase: string; - payload: T; - targetChannelName: string; - socketConnection: SocketConnection; - /** - * the UniverseCache the message is attached to - */ - universeCache: UniverseCache; - /** - * enables unprotected grouping of messages for efficiency purposes. - */ - universeChannelList: plugins.lik.ObjectMap; - /** - * wether the message is authenticated - */ - authenticated: boolean; - /** - * a destruction timer for this message - */ - destructionTimer: Timer; - /** - * the constructor to create a universe message - * @param messageArg - * @param attachedPayloadArg - */ - constructor(messageDescriptor: interfaces.IUniverseMessage); - setUniverseCache(universeCacheArg: UniverseCache): void; - setTargetChannel(): void; - setDestructionTimer(selfdestructAfterArg?: number): void; - /** - * handles bad messages for further analysis - */ - handleAsBadMessage(): void; -} diff --git a/dist_ts/smartuniverse.classes.universemessage.js b/dist_ts/smartuniverse.classes.universemessage.js deleted file mode 100644 index e7847f9..0000000 --- a/dist_ts/smartuniverse.classes.universemessage.js +++ /dev/null @@ -1,92 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.UniverseMessage = void 0; -const plugins = __importStar(require("./smartuniverse.plugins")); -const smarttime_1 = require("@pushrocks/smarttime"); -const smartuniverse_logging_1 = require("./smartuniverse.logging"); -/** - * represents a message within a universe - * acts as a container to save message states like authentication status - */ -class UniverseMessage { - /** - * the constructor to create a universe message - * @param messageArg - * @param attachedPayloadArg - */ - constructor(messageDescriptor) { - /** - * enables unprotected grouping of messages for efficiency purposes. - */ - this.universeChannelList = new plugins.lik.ObjectMap(); - /** - * wether the message is authenticated - */ - this.authenticated = false; - this.smartTimestamp = new smarttime_1.TimeStamp(this.timestamp); - this.messageText = messageDescriptor.messageText; - this.targetChannelName = messageDescriptor.targetChannelName; - this.passphrase = messageDescriptor.passphrase; - this.payload = messageDescriptor.payload; - // prevent memory issues - this.setDestructionTimer(); - } - static createMessageFromPayload(socketConnectionArg, dataArg) { - const universeMessageInstance = new UniverseMessage(dataArg); - universeMessageInstance.socketConnection = socketConnectionArg; - return universeMessageInstance; - } - setUniverseCache(universeCacheArg) { - this.universeCache = universeCacheArg; - } - setTargetChannel() { } - setDestructionTimer(selfdestructAfterArg) { - if (selfdestructAfterArg) { - this.destructionTimer = new smarttime_1.Timer(selfdestructAfterArg); - this.destructionTimer.start(); - // set up self destruction by removing this from the parent messageCache - this.destructionTimer.completed - .then(async () => { - this.universeCache.messageMap.remove(this); - }) - .catch(err => { - console.log(err); - console.log(this); - }); - } - else { - plugins.smartdelay.delayFor(1000).then(() => { - if (!this.destructionTimer) { - this.setDestructionTimer(6000); - } - }); - } - } - /** - * handles bad messages for further analysis - */ - handleAsBadMessage() { - smartuniverse_logging_1.logger.log('warn', 'received a bad message'); - } -} -exports.UniverseMessage = UniverseMessage; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1bml2ZXJzZS5jbGFzc2VzLnVuaXZlcnNlbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0dW5pdmVyc2UuY2xhc3Nlcy51bml2ZXJzZW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlFQUFtRDtBQUduRCxvREFBd0Q7QUFLeEQsbUVBQWlEO0FBRWpEOzs7R0FHRztBQUNILE1BQWEsZUFBZTtJQXVDMUI7Ozs7T0FJRztJQUNILFlBQVksaUJBQThDO1FBcEIxRDs7V0FFRztRQUNJLHdCQUFtQixHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQW1CLENBQUM7UUFFMUU7O1dBRUc7UUFDSSxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQWFwQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUkscUJBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7UUFDakQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDO1FBQzdELElBQUksQ0FBQyxVQUFVLEdBQUcsaUJBQWlCLENBQUMsVUFBVSxDQUFDO1FBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDO1FBQ3pDLHdCQUF3QjtRQUN4QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBbkRNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FDcEMsbUJBQXFDLEVBQ3JDLE9BQW9DO1FBRXBDLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0QsdUJBQXVCLENBQUMsZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUM7UUFDL0QsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0lBOENNLGdCQUFnQixDQUFDLGdCQUErQjtRQUNyRCxJQUFJLENBQUMsYUFBYSxHQUFHLGdCQUFnQixDQUFDO0lBQ3hDLENBQUM7SUFFTSxnQkFBZ0IsS0FBSSxDQUFDO0lBRXJCLG1CQUFtQixDQUFDLG9CQUE2QjtRQUN0RCxJQUFJLG9CQUFvQixFQUFFO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLGlCQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUIsd0VBQXdFO1lBQ3hFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTO2lCQUM1QixJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdDLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDTCxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO29CQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2hDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLGtCQUFrQjtRQUN2Qiw4QkFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0NBQ0Y7QUF4RkQsMENBd0ZDIn0= \ No newline at end of file diff --git a/dist_ts/smartuniverse.logging.d.ts b/dist_ts/smartuniverse.logging.d.ts deleted file mode 100644 index ce1eced..0000000 --- a/dist_ts/smartuniverse.logging.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import * as plugins from './smartuniverse.plugins'; -export declare const logger: plugins.smartlog.ConsoleLog; diff --git a/dist_ts/smartuniverse.logging.js b/dist_ts/smartuniverse.logging.js deleted file mode 100644 index eb0e3d3..0000000 --- a/dist_ts/smartuniverse.logging.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.logger = void 0; -const plugins = __importStar(require("./smartuniverse.plugins")); -exports.logger = new plugins.smartlog.ConsoleLog(); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1bml2ZXJzZS5sb2dnaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnR1bml2ZXJzZS5sb2dnaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpRUFBbUQ7QUFDdEMsUUFBQSxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDIn0= \ No newline at end of file diff --git a/dist_ts/smartuniverse.paths.d.ts b/dist_ts/smartuniverse.paths.d.ts deleted file mode 100644 index c6ce7f4..0000000 --- a/dist_ts/smartuniverse.paths.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const packageJson: string; diff --git a/dist_ts/smartuniverse.paths.js b/dist_ts/smartuniverse.paths.js deleted file mode 100644 index 0868d22..0000000 --- a/dist_ts/smartuniverse.paths.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.packageJson = void 0; -const plugins = __importStar(require("./smartuniverse.plugins")); -exports.packageJson = plugins.path.join(__dirname, '../package.json'); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1bml2ZXJzZS5wYXRocy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0dW5pdmVyc2UucGF0aHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlFQUFtRDtBQUV0QyxRQUFBLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyJ9 \ No newline at end of file diff --git a/dist_ts/smartuniverse.plugins.d.ts b/dist_ts/smartuniverse.plugins.d.ts deleted file mode 100644 index 4bf9a5a..0000000 --- a/dist_ts/smartuniverse.plugins.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import * as path from 'path'; -export { path }; -import * as typedrequestInterfaces from '@apiglobal/typedrequest-interfaces'; -export { typedrequestInterfaces }; -import * as lik from '@pushrocks/lik'; -import * as smarthash from '@pushrocks/smarthash'; -import * as smartdelay from '@pushrocks/smartdelay'; -import * as smartexpress from '@pushrocks/smartexpress'; -import * as smartfile from '@pushrocks/smartfile'; -import * as smartlog from '@pushrocks/smartlog'; -import * as smartpromise from '@pushrocks/smartpromise'; -import * as smartrequest from '@pushrocks/smartrequest'; -import * as smartrx from '@pushrocks/smartrx'; -import * as smartsocket from '@pushrocks/smartsocket'; -import * as smarttime from '@pushrocks/smarttime'; -import * as smartunique from '@pushrocks/smartunique'; -export { lik, smarthash, smartdelay, smartexpress, smartfile, smartlog, smartpromise, smartrx, smartrequest, smartsocket, smarttime, smartunique }; diff --git a/dist_ts/smartuniverse.plugins.js b/dist_ts/smartuniverse.plugins.js deleted file mode 100644 index 06dfad8..0000000 --- a/dist_ts/smartuniverse.plugins.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.smartunique = exports.smarttime = exports.smartsocket = exports.smartrequest = exports.smartrx = exports.smartpromise = exports.smartlog = exports.smartfile = exports.smartexpress = exports.smartdelay = exports.smarthash = exports.lik = exports.typedrequestInterfaces = exports.path = void 0; -// node native -const path = __importStar(require("path")); -exports.path = path; -// apiglobal scope -const typedrequestInterfaces = __importStar(require("@apiglobal/typedrequest-interfaces")); -exports.typedrequestInterfaces = typedrequestInterfaces; -// pushrocks scope -const lik = __importStar(require("@pushrocks/lik")); -exports.lik = lik; -const smarthash = __importStar(require("@pushrocks/smarthash")); -exports.smarthash = smarthash; -const smartdelay = __importStar(require("@pushrocks/smartdelay")); -exports.smartdelay = smartdelay; -const smartexpress = __importStar(require("@pushrocks/smartexpress")); -exports.smartexpress = smartexpress; -const smartfile = __importStar(require("@pushrocks/smartfile")); -exports.smartfile = smartfile; -const smartlog = __importStar(require("@pushrocks/smartlog")); -exports.smartlog = smartlog; -const smartpromise = __importStar(require("@pushrocks/smartpromise")); -exports.smartpromise = smartpromise; -const smartrequest = __importStar(require("@pushrocks/smartrequest")); -exports.smartrequest = smartrequest; -const smartrx = __importStar(require("@pushrocks/smartrx")); -exports.smartrx = smartrx; -const smartsocket = __importStar(require("@pushrocks/smartsocket")); -exports.smartsocket = smartsocket; -const smarttime = __importStar(require("@pushrocks/smarttime")); -exports.smarttime = smarttime; -const smartunique = __importStar(require("@pushrocks/smartunique")); -exports.smartunique = smartunique; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR1bml2ZXJzZS5wbHVnaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnR1bml2ZXJzZS5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxjQUFjO0FBQ2QsMkNBQTZCO0FBRXBCLG9CQUFJO0FBRWIsa0JBQWtCO0FBQ2xCLDJGQUE2RTtBQUVwRSx3REFBc0I7QUFFL0Isa0JBQWtCO0FBQ2xCLG9EQUFzQztBQWNwQyxrQkFBRztBQWJMLGdFQUFrRDtBQWNoRCw4QkFBUztBQWJYLGtFQUFvRDtBQWNsRCxnQ0FBVTtBQWJaLHNFQUF3RDtBQWN0RCxvQ0FBWTtBQWJkLGdFQUFrRDtBQWNoRCw4QkFBUztBQWJYLDhEQUFnRDtBQWM5Qyw0QkFBUTtBQWJWLHNFQUF3RDtBQWN0RCxvQ0FBWTtBQWJkLHNFQUF3RDtBQWV0RCxvQ0FBWTtBQWRkLDREQUE4QztBQWE1QywwQkFBTztBQVpULG9FQUFzRDtBQWNwRCxrQ0FBVztBQWJiLGdFQUFrRDtBQWNoRCw4QkFBUztBQWJYLG9FQUFzRDtBQWNwRCxrQ0FBVyJ9 \ No newline at end of file diff --git a/package.json b/package.json index 4ad89c7..2de9f0a 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "scripts": { "test": "(tstest test/)", "testManual": "(tsrun test/test.ts)", - "build": "(tsbuild --web)", + "build": "(tsbuild --web && tsbundle --from ./ts/index.ts --to dist_bundle/bundle.js)", "format": "(gitzone format)" }, "devDependencies": { @@ -54,4 +54,4 @@ "browserslist": [ "last 1 chrome versions" ] -} +} \ No newline at end of file diff --git a/ts/smartuniverse.classes.universe.ts b/ts/smartuniverse.classes.universe.ts index 705f7cd..e8ced95 100644 --- a/ts/smartuniverse.classes.universe.ts +++ b/ts/smartuniverse.classes.universe.ts @@ -1,4 +1,5 @@ import * as plugins from './smartuniverse.plugins'; +import * as pluginsTyped from './smartuniverse.pluginstyped'; import { Handler, Route, Server } from '@pushrocks/smartexpress'; import { UniverseCache, UniverseChannel, UniverseMessage } from './'; @@ -11,7 +12,7 @@ import { logger } from './smartuniverse.logging'; export interface ISmartUniverseConstructorOptions { messageExpiryInMilliseconds: number; - externalServer?: plugins.smartexpress.Server; + externalServer?: pluginsTyped.smartexpress.Server; } /** @@ -27,7 +28,7 @@ export class Universe { /** * the smartexpress server used */ - private smartexpressServer: plugins.smartexpress.Server; + private smartexpressServer: pluginsTyped.smartexpress.Server; /** * the smartsocket used @@ -79,23 +80,16 @@ export class Universe { * initiates a server */ public async start(portArg: number) { - // lets create the base smartexpress server - if (!this.options.externalServer) { - this.smartexpressServer = new plugins.smartexpress.Server({ - cors: true, - defaultAnswer: async () => { - return `smartuniverse server ${this.getUniverseVersion()}`; - }, - forceSsl: false, - port: portArg, - }); - } else { - console.log('Universe is using externally supplied server'); - this.smartexpressServer = this.options.externalServer; - } - // add websocket upgrade - this.smartsocket = new plugins.smartsocket.Smartsocket({}); + this.smartsocket = new plugins.smartsocket.Smartsocket({ + port: portArg + }); + + // lets create the base smartexpress server + if (this.options.externalServer) { + console.log('Universe is using externally supplied server'); + this.smartsocket.setExternalServer('smartexpress' ,this.options.externalServer); + } // add a role for the clients const ClientRole = new plugins.smartsocket.SocketRole({ @@ -159,13 +153,7 @@ export class Universe { this.smartsocket.addSocketFunction(socketFunctionSubscription); this.smartsocket.addSocketFunction(socketFunctionProcessMessage); - // start the server - if (!this.options.externalServer) { - await this.smartexpressServer.start(); - } - // add smartsocket to the running smartexpress app - await this.smartsocket.setExternalServer('smartexpress', this.smartexpressServer); await this.smartsocket.start(); logger.log('success', 'started universe'); } @@ -175,8 +163,5 @@ export class Universe { */ public async stopServer() { await this.smartsocket.stop(); - if (!this.options.externalServer) { - await this.smartexpressServer.stop(); - } } } diff --git a/ts/smartuniverse.plugins.ts b/ts/smartuniverse.plugins.ts index ba0e773..1c309b0 100644 --- a/ts/smartuniverse.plugins.ts +++ b/ts/smartuniverse.plugins.ts @@ -12,7 +12,6 @@ export { typedrequestInterfaces }; import * as lik from '@pushrocks/lik'; import * as smarthash from '@pushrocks/smarthash'; import * as smartdelay from '@pushrocks/smartdelay'; -import * as smartexpress from '@pushrocks/smartexpress'; import * as smartfile from '@pushrocks/smartfile'; import * as smartlog from '@pushrocks/smartlog'; import * as smartpromise from '@pushrocks/smartpromise'; @@ -26,7 +25,6 @@ export { lik, smarthash, smartdelay, - smartexpress, smartfile, smartlog, smartpromise, diff --git a/ts/smartuniverse.pluginstyped.ts b/ts/smartuniverse.pluginstyped.ts new file mode 100644 index 0000000..03fcd78 --- /dev/null +++ b/ts/smartuniverse.pluginstyped.ts @@ -0,0 +1,5 @@ +import type * as smartexpress from '@pushrocks/smartexpress'; + +export { + smartexpress +};