diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 95c5774..e6be27f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,20 +1,31 @@
-image: hosttoday/ht-docker-node:npmts
+# gitzone standard
+image: hosttoday/ht-docker-node:npmci
+
+cache:
+ paths:
+ - .yarn/
+ key: "$CI_BUILD_STAGE"
stages:
- test
- release
+- trigger
+- pages
testLEGACY:
stage: test
script:
- npmci test legacy
+ coverage: /\d+.?\d+?\%\s*coverage/
tags:
- docker
+ allow_failure: true
testLTS:
stage: test
script:
- npmci test lts
+ coverage: /\d+.?\d+?\%\s*coverage/
tags:
- docker
@@ -22,15 +33,40 @@ testSTABLE:
stage: test
script:
- npmci test stable
+ coverage: /\d+.?\d+?\%\s*coverage/
tags:
- docker
release:
stage: release
- environment: npmjs-com_registry
script:
- npmci publish
only:
- tags
tags:
- docker
+
+trigger:
+ stage: trigger
+ script:
+ - npmci trigger
+ only:
+ - tags
+ tags:
+ - docker
+
+pages:
+ image: hosttoday/ht-docker-node:npmci
+ stage: pages
+ script:
+ - npmci command yarn global add npmpage
+ - npmci command npmpage
+ tags:
+ - docker
+ only:
+ - tags
+ artifacts:
+ expire_in: 1 week
+ paths:
+ - public
+ allow_failure: true
diff --git a/dist/index.d.ts b/dist/index.d.ts
index 8ede4d7..bc829f9 100644
--- a/dist/index.d.ts
+++ b/dist/index.d.ts
@@ -1,5 +1,5 @@
-export * from "./smartsocket.classes.smartsocket";
-export * from "./smartsocket.classes.smartsocketclient";
-export * from "./smartsocket.classes.socketfunction";
-export * from "./smartsocket.classes.socketrole";
-export * from "./smartsocket.classes.socketconnection";
+export * from './smartsocket.classes.smartsocket';
+export * from './smartsocket.classes.smartsocketclient';
+export * from './smartsocket.classes.socketfunction';
+export * from './smartsocket.classes.socketrole';
+export * from './smartsocket.classes.socketconnection';
diff --git a/dist/index.js b/dist/index.js
index 9f71d39..966476f 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -2,6 +2,7 @@
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
+Object.defineProperty(exports, "__esModule", { value: true });
// export main classes
__export(require("./smartsocket.classes.smartsocket"));
__export(require("./smartsocket.classes.smartsocketclient"));
@@ -10,4 +11,4 @@ __export(require("./smartsocket.classes.socketfunction"));
__export(require("./smartsocket.classes.socketrole"));
__export(require("./smartsocket.classes.socketconnection"));
// need something more exposed? Create an issue on GitLab!
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsc0JBQXNCO0FBQ3RCLGlCQUFjLG1DQUFtQyxDQUFDLEVBQUE7QUFDbEQsaUJBQWMseUNBQXlDLENBQUMsRUFBQTtBQUV4RCxxQ0FBcUM7QUFDckMsaUJBQWMsc0NBQXNDLENBQUMsRUFBQTtBQUNyRCxpQkFBYyxrQ0FBa0MsQ0FBQyxFQUFBO0FBQ2pELGlCQUFjLHdDQUF3QyxDQUFDLEVBQUE7QUFFdkQsMERBQTBEIn0=
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLHNCQUFzQjtBQUN0Qix1REFBaUQ7QUFDakQsNkRBQXVEO0FBRXZELHFDQUFxQztBQUNyQywwREFBb0Q7QUFDcEQsc0RBQWdEO0FBQ2hELDREQUFzRDtBQUV0RCwwREFBMEQifQ==
\ No newline at end of file
diff --git a/dist/smartsocket.classes.smartsocket.d.ts b/dist/smartsocket.classes.smartsocket.d.ts
index 0184773..04e4139 100644
--- a/dist/smartsocket.classes.smartsocket.d.ts
+++ b/dist/smartsocket.classes.smartsocket.d.ts
@@ -1,9 +1,7 @@
///
-///
-import * as plugins from "./smartsocket.plugins";
-import { Objectmap } from "lik";
-import { SocketConnection } from "./smartsocket.classes.socketconnection";
-import { SocketRole } from "./smartsocket.classes.socketrole";
+import { Objectmap } from 'lik';
+import { SocketConnection } from './smartsocket.classes.socketconnection';
+import { SocketRole } from './smartsocket.classes.socketrole';
export interface ISmartsocketConstructorOptions {
port: number;
}
@@ -13,10 +11,6 @@ export declare class Smartsocket {
openSockets: Objectmap;
socketRoles: Objectmap;
constructor(optionsArg: ISmartsocketConstructorOptions);
- /**
- * the standard handler for new socket connections
- */
- private _handleSocketConnection(socketArg);
/**
* starts listening to incling sockets:
*/
@@ -25,9 +19,13 @@ export declare class Smartsocket {
/**
* allows call to specific client.
*/
- clientCall(functionNameArg: string, dataArg: any, targetSocketConnectionArg: SocketConnection): plugins.q.Promise<{}>;
+ clientCall(functionNameArg: string, dataArg: any, targetSocketConnectionArg: SocketConnection): Promise<{}>;
/**
* adds socketRoles
*/
addSocketRoles(socketRolesArray: SocketRole[]): void;
+ /**
+ * the standard handler for new socket connections
+ */
+ private _handleSocketConnection(socketArg);
}
diff --git a/dist/smartsocket.classes.smartsocket.js b/dist/smartsocket.classes.smartsocket.js
index 47ef04f..57fb83a 100644
--- a/dist/smartsocket.classes.smartsocket.js
+++ b/dist/smartsocket.classes.smartsocket.js
@@ -1,10 +1,10 @@
"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
const plugins = require("./smartsocket.plugins");
// classes
const lik_1 = require("lik");
const smartsocket_classes_socketconnection_1 = require("./smartsocket.classes.socketconnection");
const smartsocket_classes_socketrequest_1 = require("./smartsocket.classes.socketrequest");
-;
class Smartsocket {
constructor(optionsArg) {
this.openSockets = new lik_1.Objectmap();
@@ -14,7 +14,7 @@ class Smartsocket {
*/
this.startServer = () => {
this.io = plugins.socketIo(this.options.port);
- this.io.on("connection", (socketArg) => {
+ this.io.on('connection', (socketArg) => {
this._handleSocketConnection(socketArg);
});
};
@@ -28,38 +28,14 @@ class Smartsocket {
};
this.options = optionsArg;
}
- ;
- /**
- * the standard handler for new socket connections
- */
- _handleSocketConnection(socketArg) {
- let socketConnection = new smartsocket_classes_socketconnection_1.SocketConnection({
- alias: undefined,
- authenticated: false,
- role: undefined,
- side: "server",
- smartsocketHost: this,
- socket: socketArg
- });
- plugins.beautylog.log("Socket connected. Trying to authenticate...");
- this.openSockets.add(socketConnection);
- socketConnection.authenticate()
- .then(() => {
- return socketConnection.listenToFunctionRequests();
- })
- .catch((err) => {
- console.log(err);
- });
- }
- ;
// communication
/**
* allows call to specific client.
*/
clientCall(functionNameArg, dataArg, targetSocketConnectionArg) {
- let done = plugins.q.defer();
+ let done = plugins.smartq.defer();
let socketRequest = new smartsocket_classes_socketrequest_1.SocketRequest({
- side: "requesting",
+ side: 'requesting',
originSocketConnection: targetSocketConnectionArg,
shortId: plugins.shortid.generate(),
funcCallData: {
@@ -73,7 +49,6 @@ class Smartsocket {
});
return done.promise;
}
- ;
/**
* adds socketRoles
*/
@@ -81,10 +56,30 @@ class Smartsocket {
for (let socketRole of socketRolesArray) {
this.socketRoles.add(socketRole);
}
- ;
return;
}
- ;
+ /**
+ * the standard handler for new socket connections
+ */
+ _handleSocketConnection(socketArg) {
+ let socketConnection = new smartsocket_classes_socketconnection_1.SocketConnection({
+ alias: undefined,
+ authenticated: false,
+ role: undefined,
+ side: 'server',
+ smartsocketHost: this,
+ socket: socketArg
+ });
+ plugins.beautylog.log('Socket connected. Trying to authenticate...');
+ this.openSockets.add(socketConnection);
+ socketConnection.authenticate()
+ .then(() => {
+ return socketConnection.listenToFunctionRequests();
+ })
+ .catch((err) => {
+ console.log(err);
+ });
+ }
}
exports.Smartsocket = Smartsocket;
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zbWFydHNvY2tldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc21hcnRzb2NrZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQVksT0FBTyxXQUFNLHVCQUF1QixDQUFDLENBQUE7QUFHakQsVUFBVTtBQUNWLHNCQUEwQixLQUFLLENBQUMsQ0FBQTtBQUVoQyx1REFBaUMsd0NBQXdDLENBQUMsQ0FBQTtBQUMxRSxvREFBOEIscUNBQXFDLENBQUMsQ0FBQTtBQUtuRSxDQUFDO0FBRUY7SUFLSSxZQUFZLFVBQTBDO1FBRnRELGdCQUFXLEdBQUcsSUFBSSxlQUFTLEVBQW9CLENBQUM7UUFDaEQsZ0JBQVcsR0FBRyxJQUFJLGVBQVMsRUFBYyxDQUFDO1FBNEIxQzs7V0FFRztRQUNILGdCQUFXLEdBQUc7WUFDVixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTO2dCQUMvQixJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUE7UUFDRCxnQkFBVyxHQUFHO1lBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFpQztnQkFDdkQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0NBQWtDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRixlQUFlLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQztRQTFDRSxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUM5QixDQUFDOztJQUVEOztPQUVHO0lBQ0ssdUJBQXVCLENBQUMsU0FBUztRQUNyQyxJQUFJLGdCQUFnQixHQUFzQixJQUFJLHVEQUFnQixDQUFDO1lBQzNELEtBQUssRUFBQyxTQUFTO1lBQ2YsYUFBYSxFQUFDLEtBQUs7WUFDbkIsSUFBSSxFQUFDLFNBQVM7WUFDZCxJQUFJLEVBQUMsUUFBUTtZQUNiLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLE1BQU0sRUFBQyxTQUFTO1NBQ25CLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDZDQUE2QyxDQUFDLENBQUE7UUFDcEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN2QyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUU7YUFDMUIsSUFBSSxDQUFDO1lBQ0YsTUFBTSxDQUFDLGdCQUFnQixDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDdkQsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsR0FBRztZQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDOztJQW9CRCxnQkFBZ0I7SUFFaEI7O09BRUc7SUFDSCxVQUFVLENBQUMsZUFBc0IsRUFBQyxPQUFXLEVBQUMseUJBQTBDO1FBQ3BGLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsSUFBSSxhQUFhLEdBQUcsSUFBSSxpREFBYSxDQUFDO1lBQ2xDLElBQUksRUFBQyxZQUFZO1lBQ2pCLHNCQUFzQixFQUFDLHlCQUF5QjtZQUNoRCxPQUFPLEVBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDbEMsWUFBWSxFQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixXQUFXLEVBQUMsT0FBTzthQUN0QjtTQUNKLENBQUMsQ0FBQztRQUNILGFBQWEsQ0FBQyxRQUFRLEVBQUU7YUFDbkIsSUFBSSxDQUFDLENBQUMsT0FBMkI7WUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFDUCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDOztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLGdCQUE2QjtRQUN4QyxHQUFHLENBQUEsQ0FBQyxJQUFJLFVBQVUsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFBLENBQUM7WUFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUFBLENBQUM7UUFDRixNQUFNLENBQUM7SUFDWCxDQUFDOztBQUVMLENBQUM7QUFuRlksbUJBQVcsY0FtRnZCLENBQUEifQ==
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zbWFydHNvY2tldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc21hcnRzb2NrZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpREFBZ0Q7QUFHaEQsVUFBVTtBQUNWLDZCQUErQjtBQUUvQixpR0FBeUU7QUFDekUsMkZBQW1FO0FBT25FO0lBS0UsWUFBYSxVQUEwQztRQUZ2RCxnQkFBVyxHQUFHLElBQUksZUFBUyxFQUFvQixDQUFBO1FBQy9DLGdCQUFXLEdBQUcsSUFBSSxlQUFTLEVBQWMsQ0FBQTtRQUt6Qzs7V0FFRztRQUNILGdCQUFXLEdBQUc7WUFDWixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUM3QyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTO2dCQUNqQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDekMsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUE7UUFDRCxnQkFBVyxHQUFHO1lBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFpQztnQkFDekQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0NBQWtDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFBO2dCQUNoRixlQUFlLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFBO1lBQ3JDLENBQUMsQ0FBQyxDQUFBO1lBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUN2QixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ2pCLENBQUMsQ0FBQTtRQW5CQyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQTtJQUMzQixDQUFDO0lBb0JELGdCQUFnQjtJQUVoQjs7T0FFRztJQUNILFVBQVUsQ0FBRSxlQUF1QixFQUFFLE9BQVksRUFBRSx5QkFBMkM7UUFDNUYsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNqQyxJQUFJLGFBQWEsR0FBRyxJQUFJLGlEQUFhLENBQUM7WUFDcEMsSUFBSSxFQUFFLFlBQVk7WUFDbEIsc0JBQXNCLEVBQUUseUJBQXlCO1lBQ2pELE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNuQyxZQUFZLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFdBQVcsRUFBRSxPQUFPO2FBQ3JCO1NBQ0YsQ0FBQyxDQUFBO1FBQ0YsYUFBYSxDQUFDLFFBQVEsRUFBRTthQUNyQixJQUFJLENBQUMsQ0FBQyxPQUE0QjtZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNuQyxDQUFDLENBQUMsQ0FBQTtRQUNKLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FBRSxnQkFBOEI7UUFDNUMsR0FBRyxDQUFDLENBQUMsSUFBSSxVQUFVLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xDLENBQUM7UUFDRCxNQUFNLENBQUE7SUFDUixDQUFDO0lBRUQ7O09BRUc7SUFDSyx1QkFBdUIsQ0FBRSxTQUFTO1FBQ3hDLElBQUksZ0JBQWdCLEdBQXFCLElBQUksdURBQWdCLENBQUM7WUFDNUQsS0FBSyxFQUFFLFNBQVM7WUFDaEIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUUsUUFBUTtZQUNkLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLE1BQU0sRUFBRSxTQUFTO1NBQ2xCLENBQUMsQ0FBQTtRQUNGLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDZDQUE2QyxDQUFDLENBQUE7UUFDcEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUN0QyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUU7YUFDNUIsSUFBSSxDQUFDO1lBQ0osTUFBTSxDQUFDLGdCQUFnQixDQUFDLHdCQUF3QixFQUFFLENBQUE7UUFDcEQsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsR0FBRztZQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDbEIsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0NBRUY7QUFuRkQsa0NBbUZDIn0=
\ No newline at end of file
diff --git a/dist/smartsocket.classes.smartsocketclient.d.ts b/dist/smartsocket.classes.smartsocketclient.d.ts
index 0c9fc58..a9a3dd6 100644
--- a/dist/smartsocket.classes.smartsocketclient.d.ts
+++ b/dist/smartsocket.classes.smartsocketclient.d.ts
@@ -1,6 +1,4 @@
-///
-import * as plugins from "./smartsocket.plugins";
-import { SocketConnection } from "./smartsocket.classes.socketconnection";
+import { SocketConnection } from './smartsocket.classes.socketconnection';
/**
* interface for class SmartsocketClient
*/
@@ -22,7 +20,7 @@ export declare class SmartsocketClient {
/**
* connect the client to the server
*/
- connect(): plugins.q.Promise<{}>;
- disconnect(): plugins.q.Promise<{}>;
- serverCall(functionNameArg: string, dataArg: any): plugins.q.Promise<{}>;
+ connect(): Promise<{}>;
+ disconnect(): Promise<{}>;
+ serverCall(functionNameArg: string, dataArg: any): Promise<{}>;
}
diff --git a/dist/smartsocket.classes.smartsocketclient.js b/dist/smartsocket.classes.smartsocketclient.js
index e8fa414..a549f24 100644
--- a/dist/smartsocket.classes.smartsocketclient.js
+++ b/dist/smartsocket.classes.smartsocketclient.js
@@ -1,4 +1,5 @@
"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
const plugins = require("./smartsocket.plugins");
// import classes
const smartsocket_classes_socketconnection_1 = require("./smartsocket.classes.socketconnection");
@@ -11,31 +12,30 @@ class SmartsocketClient {
this.serverPort = optionsArg.port;
this.serverPassword = optionsArg.password;
}
- ;
/**
* connect the client to the server
*/
connect() {
- let done = plugins.q.defer();
- plugins.beautylog.log("trying to connect...");
+ let done = plugins.smartq.defer();
+ plugins.beautylog.log('trying to connect...');
let socketUrl = `${this.serverUrl}:${this.serverPort}`;
this.socketConnection = new smartsocket_classes_socketconnection_1.SocketConnection({
alias: this.alias,
authenticated: false,
role: undefined,
- side: "client",
+ side: 'client',
smartsocketHost: null,
socket: plugins.socketIoClient(socketUrl, { multiplex: false })
});
- this.socketConnection.socket.on("requestAuth", () => {
- console.log("server requested authentication");
- this.socketConnection.socket.emit("dataAuth", {
+ this.socketConnection.socket.on('requestAuth', () => {
+ console.log('server requested authentication');
+ this.socketConnection.socket.emit('dataAuth', {
role: this.role,
password: this.serverPassword,
alias: this.alias
});
- this.socketConnection.socket.on("authenticated", () => {
- console.log("client is authenticated");
+ this.socketConnection.socket.on('authenticated', () => {
+ console.log('client is authenticated');
this.socketConnection.authenticated = true;
this.socketConnection.listenToFunctionRequests();
done.resolve();
@@ -43,19 +43,18 @@ class SmartsocketClient {
});
return done.promise;
}
- ;
disconnect() {
- let done = plugins.q.defer();
+ let done = plugins.smartq.defer();
this.socketConnection.socket.disconnect();
this.socketConnection = undefined;
- plugins.beautylog.ok("disconnected!");
+ plugins.beautylog.ok('disconnected!');
done.resolve();
return done.promise;
}
serverCall(functionNameArg, dataArg) {
- let done = plugins.q.defer();
+ let done = plugins.smartq.defer();
let socketRequest = new smartsocket_classes_socketrequest_1.SocketRequest({
- side: "requesting",
+ side: 'requesting',
originSocketConnection: this.socketConnection,
shortId: plugins.shortid.generate(),
funcCallData: {
@@ -69,7 +68,6 @@ class SmartsocketClient {
});
return done.promise;
}
- ;
}
exports.SmartsocketClient = SmartsocketClient;
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zbWFydHNvY2tldGNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc21hcnRzb2NrZXRjbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQVksT0FBTyxXQUFNLHVCQUl6QixDQUFDLENBSitDO0FBT2hELGlCQUFpQjtBQUNqQix1REFBaUMsd0NBQXdDLENBQUMsQ0FBQTtBQUUxRSxvREFBOEIscUNBQXFDLENBQUMsQ0FBQTtBQVlwRTtJQU9JLFlBQVksVUFBb0M7UUFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUE7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQTtJQUM3QyxDQUFDOztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNILElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM5QyxJQUFJLFNBQVMsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLHVEQUFnQixDQUFDO1lBQ3pDLEtBQUssRUFBQyxJQUFJLENBQUMsS0FBSztZQUNoQixhQUFhLEVBQUMsS0FBSztZQUNuQixJQUFJLEVBQUMsU0FBUztZQUNkLElBQUksRUFBQyxRQUFRO1lBQ2IsZUFBZSxFQUFFLElBQUk7WUFDckIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFDLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxDQUFDO1NBQzlELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRTtZQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUMxQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjO2dCQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7YUFDcEIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsZUFBZSxFQUFDO2dCQUM1QyxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2dCQUMzQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztnQkFDakQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDOztJQUNELFVBQVU7UUFDTixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztRQUNsQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBQ0QsVUFBVSxDQUFDLGVBQXNCLEVBQUMsT0FBVztRQUN6QyxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLElBQUksYUFBYSxHQUFHLElBQUksaURBQWEsQ0FBQztZQUNsQyxJQUFJLEVBQUMsWUFBWTtZQUNqQixzQkFBc0IsRUFBQyxJQUFJLENBQUMsZ0JBQWdCO1lBQzVDLE9BQU8sRUFBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNsQyxZQUFZLEVBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFdBQVcsRUFBQyxPQUFPO2FBQ3RCO1NBQ0osQ0FBQyxDQUFDO1FBQ0gsYUFBYSxDQUFDLFFBQVEsRUFBRTthQUNuQixJQUFJLENBQUMsQ0FBQyxPQUEyQjtZQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztRQUNQLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7O0FBRUwsQ0FBQztBQXhFWSx5QkFBaUIsb0JBd0U3QixDQUFBIn0=
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zbWFydHNvY2tldGNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc21hcnRzb2NrZXRjbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpREFBZ0Q7QUFPaEQsaUJBQWlCO0FBQ2pCLGlHQUF5RTtBQUV6RSwyRkFBbUU7QUFZbkU7SUFPRSxZQUFZLFVBQXFDO1FBQy9DLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQTtRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUE7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFBO1FBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQTtRQUNqQyxJQUFJLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUE7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNMLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDakMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtRQUM3QyxJQUFJLFNBQVMsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQ3RELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLHVEQUFnQixDQUFDO1lBQzNDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixhQUFhLEVBQUUsS0FBSztZQUNwQixJQUFJLEVBQUUsU0FBUztZQUNmLElBQUksRUFBRSxRQUFRO1lBQ2QsZUFBZSxFQUFFLElBQUk7WUFDckIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO1NBQ2hFLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRTtZQUM3QyxPQUFPLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUE7WUFDOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUM1QyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjO2dCQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7YUFDbEIsQ0FBQyxDQUFBO1lBQ0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsZUFBZSxFQUFFO2dCQUMvQyxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUE7Z0JBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFBO2dCQUMxQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsd0JBQXdCLEVBQUUsQ0FBQTtnQkFDaEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBQ2hCLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7UUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUNyQixDQUFDO0lBQ0QsVUFBVTtRQUNSLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUN6QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFBO1FBQ2pDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUNkLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3JCLENBQUM7SUFDRCxVQUFVLENBQUUsZUFBdUIsRUFBRSxPQUFZO1FBQy9DLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDakMsSUFBSSxhQUFhLEdBQUcsSUFBSSxpREFBYSxDQUFDO1lBQ3BDLElBQUksRUFBRSxZQUFZO1lBQ2xCLHNCQUFzQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDN0MsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ25DLFlBQVksRUFBRTtnQkFDWixRQUFRLEVBQUUsZUFBZTtnQkFDekIsV0FBVyxFQUFFLE9BQU87YUFDckI7U0FDRixDQUFDLENBQUE7UUFDRixhQUFhLENBQUMsUUFBUSxFQUFFO2FBQ3JCLElBQUksQ0FBQyxDQUFDLE9BQTRCO1lBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ25DLENBQUMsQ0FBQyxDQUFBO1FBQ0osTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckIsQ0FBQztDQUVGO0FBeEVELDhDQXdFQyJ9
\ No newline at end of file
diff --git a/dist/smartsocket.classes.socketconnection.d.ts b/dist/smartsocket.classes.socketconnection.d.ts
index 11ba497..cd9b662 100644
--- a/dist/smartsocket.classes.socketconnection.d.ts
+++ b/dist/smartsocket.classes.socketconnection.d.ts
@@ -1,14 +1,12 @@
///
///
-///
-import * as plugins from "./smartsocket.plugins";
-import { Objectmap } from "lik";
-import { Smartsocket } from "./smartsocket.classes.smartsocket";
-import { SocketRole } from "./smartsocket.classes.socketrole";
+import { Objectmap } from 'lik';
+import { Smartsocket } from './smartsocket.classes.smartsocket';
+import { SocketRole } from './smartsocket.classes.socketrole';
/**
* defines is a SocketConnection is server or client side. Important for mesh setups.
*/
-export declare type TSocketConnectionSide = "server" | "client";
+export declare type TSocketConnectionSide = 'server' | 'client';
/**
* interface for constructor of class SocketConnection
*/
@@ -24,9 +22,9 @@ export interface ISocketConnectionConstructorOptions {
* interface for authentication data
*/
export interface ISocketConnectionAuthenticationObject {
- role: "coreflowContainer";
- password: "somePassword";
- alias: "coreflow1";
+ role: 'coreflowContainer';
+ password: 'somePassword';
+ alias: 'coreflow1';
}
export declare let allSocketConnections: Objectmap;
/**
@@ -38,14 +36,14 @@ export declare class SocketConnection {
authenticated: boolean;
role: SocketRole;
smartsocketHost: Smartsocket;
- socket: SocketIO.Socket | SocketIOClient.Socket;
+ socket: any;
constructor(optionsArg: ISocketConnectionConstructorOptions);
/**
* authenticate the socket
*/
- authenticate(): plugins.q.Promise<{}>;
+ authenticate(): Promise<{}>;
/**
* listen to function requests
*/
- listenToFunctionRequests(): plugins.q.Promise<{}>;
+ listenToFunctionRequests(): Promise<{}>;
}
diff --git a/dist/smartsocket.classes.socketconnection.js b/dist/smartsocket.classes.socketconnection.js
index 3dc270c..d2642e1 100644
--- a/dist/smartsocket.classes.socketconnection.js
+++ b/dist/smartsocket.classes.socketconnection.js
@@ -1,10 +1,9 @@
"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
const plugins = require("./smartsocket.plugins");
const helpers = require("./smartsocket.helpers");
const lik_1 = require("lik");
const smartsocket_classes_socketrequest_1 = require("./smartsocket.classes.socketrequest");
-;
-;
// export classes
exports.allSocketConnections = new lik_1.Objectmap();
/**
@@ -21,69 +20,65 @@ class SocketConnection {
this.socket = optionsArg.socket;
// standard behaviour that is always true
exports.allSocketConnections.add(this);
- this.socket.on("disconnect", () => {
+ this.socket.on('disconnect', () => {
plugins.beautylog.info(`SocketConnection with >alias ${this.alias} on >side ${this.side} disconnected`);
exports.allSocketConnections.remove(this);
});
}
- ;
// authenticating --------------------------
/**
* authenticate the socket
*/
authenticate() {
- let done = plugins.q.defer();
- this.socket.on("dataAuth", (dataArg) => {
- plugins.beautylog.log("received authentication data. now hashing and comparing...");
- this.socket.removeListener("dataAuth", () => { });
+ let done = plugins.smartq.defer();
+ this.socket.on('dataAuth', (dataArg) => {
+ plugins.beautylog.log('received authentication data. now hashing and comparing...');
+ this.socket.removeListener('dataAuth', () => { });
if (helpers.checkPasswordForRole(dataArg, this.smartsocketHost)) {
this.alias = dataArg.alias;
this.authenticated = true;
this.role = helpers.getSocketRoleByName(dataArg.role, this.smartsocketHost);
- this.socket.emit("authenticated");
+ this.socket.emit('authenticated');
plugins.beautylog.ok(`socket with >>alias ${this.alias} >>role ${this.role} is authenticated!`);
done.resolve(this);
}
else {
this.authenticated = false;
this.socket.disconnect();
- done.reject("not authenticated");
+ done.reject('not authenticated');
}
- ;
});
- this.socket.emit("requestAuth");
+ this.socket.emit('requestAuth');
return done.promise;
}
- ;
// listening -------------------------------
/**
* listen to function requests
*/
listenToFunctionRequests() {
- let done = plugins.q.defer();
+ let done = plugins.smartq.defer();
if (this.authenticated) {
- this.socket.on("function", (dataArg) => {
+ this.socket.on('function', (dataArg) => {
// check if requested function is available to the socket's scope
- plugins.beautylog.log("function request received");
+ plugins.beautylog.log('function request received');
let referencedFunction = this.role.allowedFunctions.find((socketFunctionArg) => {
return socketFunctionArg.name === dataArg.funcCallData.funcName;
});
if (referencedFunction !== undefined) {
- plugins.beautylog.ok("function in access scope");
+ plugins.beautylog.ok('function in access scope');
let localSocketRequest = new smartsocket_classes_socketrequest_1.SocketRequest({
- side: "responding",
+ side: 'responding',
originSocketConnection: this,
shortId: dataArg.shortId,
funcCallData: dataArg.funcCallData
});
- localSocketRequest.createResponse(); // takes care of creating response and sending it back
+ localSocketRequest.createResponse(); // takes care of creating response and sending it back
}
else {
- plugins.beautylog.warn("function not existent or out of access scope");
+ plugins.beautylog.warn('function not existent or out of access scope');
}
- ;
});
- this.socket.on("functionResponse", (dataArg) => {
+ this.socket.on('functionResponse', (dataArg) => {
plugins.beautylog.info(`received response for request with id ${dataArg.shortId}`);
let targetSocketRequest = helpers.getSocketRequestById(dataArg.shortId);
targetSocketRequest.handleResponse(dataArg);
@@ -96,11 +91,8 @@ class SocketConnection {
plugins.beautylog.error(errMessage);
done.reject(errMessage);
}
- ;
return done.promise;
}
- ;
}
exports.SocketConnection = SocketConnection;
-;
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRjb25uZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRjb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFZLE9BQU8sV0FBTSx1QkFBdUIsQ0FBQyxDQUFBO0FBQ2pELE1BQVksT0FBTyxXQUFNLHVCQUF1QixDQUFDLENBQUE7QUFFakQsc0JBQXdCLEtBQUssQ0FBQyxDQUFBO0FBSzlCLG9EQUEyRSxxQ0FBcUMsQ0FBQyxDQUFBO0FBb0JoSCxDQUFDO0FBU0QsQ0FBQztBQUVGLGlCQUFpQjtBQUNOLDRCQUFvQixHQUFHLElBQUksZUFBUyxFQUFvQixDQUFDO0FBRXBFOztHQUVHO0FBQ0g7SUFPSSxZQUFZLFVBQStDO1FBSjNELGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBSzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDOUMsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUM7UUFDbEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBRWhDLHlDQUF5QztRQUN6Qyw0QkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxJQUFJLENBQUMsS0FBSyxhQUFhLElBQUksQ0FBQyxJQUFJLGVBQWUsQ0FBQyxDQUFDO1lB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
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRjb25uZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRjb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaURBQWdEO0FBQ2hELGlEQUFnRDtBQUVoRCw2QkFBK0I7QUFLL0IsMkZBQWdIO0FBK0JoSCxpQkFBaUI7QUFDTixRQUFBLG9CQUFvQixHQUFHLElBQUksZUFBUyxFQUFvQixDQUFBO0FBRW5FOztHQUVHO0FBQ0g7SUFPRSxZQUFhLFVBQStDO1FBSjVELGtCQUFhLEdBQVksS0FBSyxDQUFBO1FBSzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQTtRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUE7UUFDN0MsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFBO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQTtRQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUE7UUFDakQsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFBO1FBRS9CLHlDQUF5QztRQUN6Qyw0QkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxJQUFJLENBQUMsS0FBSyxhQUFhLElBQUksQ0FBQyxJQUFJLGVBQWUsQ0FBQyxDQUFBO1lBQ3ZHLDRCQUFvQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNuQyxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCw0Q0FBNEM7SUFFNUM7O09BRUc7SUFDSCxZQUFZO1FBQ1YsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUE4QztZQUN4RSxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyw0REFBNEQsQ0FBQyxDQUFBO1lBQ25GLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO1lBQ2pELEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEUsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO2dCQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQTtnQkFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUE7Z0JBQzNFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFBO2dCQUNqQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsSUFBSSxDQUFDLEtBQUssV0FBVyxJQUFJLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFBO2dCQUMvRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ3BCLENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDTixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQTtnQkFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQTtnQkFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO1lBQ2xDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQy9CLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3JCLENBQUM7SUFFRCw0Q0FBNEM7SUFFNUM7O09BRUc7SUFDSCx3QkFBd0I7UUFDdEIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNqQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFpQztnQkFDM0QsaUVBQWlFO2dCQUNqRSxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO2dCQUNsRCxJQUFJLGtCQUFrQixHQUFtQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLGlCQUFpQjtvQkFDekYsTUFBTSxDQUFDLGlCQUFpQixDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQTtnQkFDakUsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsRUFBRSxDQUFDLENBQUMsa0JBQWtCLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztvQkFDckMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtvQkFDakQsSUFBSSxrQkFBa0IsR0FBRyxJQUFJLGlEQUFhLENBQUM7d0JBQ3pDLElBQUksRUFBRSxZQUFZO3dCQUNsQixzQkFBc0IsRUFBRSxJQUFJO3dCQUM1QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87d0JBQ3hCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtxQkFDbkMsQ0FBQyxDQUFBO29CQUNGLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxDQUFBLENBQUMsc0RBQXNEO2dCQUM1RixDQUFDO2dCQUFDLElBQUksQ0FBQyxDQUFDO29CQUNOLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLDhDQUE4QyxDQUFDLENBQUE7Z0JBQ3hFLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQTtZQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUMsT0FBaUM7Z0JBQ25FLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtnQkFDbEYsSUFBSSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO2dCQUN2RSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDN0MsQ0FBQyxDQUFDLENBQUE7WUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7WUFDN0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNwQixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixJQUFJLFVBQW9ELENBQUE7WUFDeEQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUN6QixDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckIsQ0FBQztDQUlGO0FBOUZELDRDQThGQyJ9
\ No newline at end of file
diff --git a/dist/smartsocket.classes.socketfunction.d.ts b/dist/smartsocket.classes.socketfunction.d.ts
index 19b1cb8..8161d47 100644
--- a/dist/smartsocket.classes.socketfunction.d.ts
+++ b/dist/smartsocket.classes.socketfunction.d.ts
@@ -1,7 +1,5 @@
-///
-import * as plugins from "./smartsocket.plugins";
-import { Objectmap } from "lik";
-import { SocketRole } from "./smartsocket.classes.socketrole";
+import { Objectmap } from 'lik';
+import { SocketRole } from './smartsocket.classes.socketrole';
/**
* interface of the contructor options of class SocketFunction
*/
@@ -35,12 +33,12 @@ export declare class SocketFunction {
* the constructor for SocketFunction
*/
constructor(optionsArg: ISocketFunctionConstructorOptions);
+ /**
+ * invokes the function of this SocketFunction
+ */
+ invoke(dataArg: ISocketFunctionCall): Promise;
/**
* notifies a role about access to this SocketFunction
*/
private _notifyRole(socketRoleArg);
- /**
- * invokes the function of this SocketFunction
- */
- invoke(dataArg: ISocketFunctionCall): plugins.q.Promise;
}
diff --git a/dist/smartsocket.classes.socketfunction.js b/dist/smartsocket.classes.socketfunction.js
index 46a2bec..2b1c51e 100644
--- a/dist/smartsocket.classes.socketfunction.js
+++ b/dist/smartsocket.classes.socketfunction.js
@@ -1,9 +1,8 @@
"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
const plugins = require("./smartsocket.plugins");
// import classes
const lik_1 = require("lik");
-;
-;
// export objects
exports.allSocketFunctions = new lik_1.Objectmap();
// export classes
@@ -21,21 +20,13 @@ class SocketFunction {
for (let socketRoleArg of this.roles) {
this._notifyRole(socketRoleArg);
}
- ;
exports.allSocketFunctions.add(this); // map instance with Objectmap
}
- ;
- /**
- * notifies a role about access to this SocketFunction
- */
- _notifyRole(socketRoleArg) {
- socketRoleArg.addSocketFunction(this);
- }
/**
* invokes the function of this SocketFunction
*/
invoke(dataArg) {
- let done = plugins.q.defer();
+ let done = plugins.smartq.defer();
if (dataArg.funcName === this.name) {
this.funcDef(dataArg.funcDataArg)
.then((resultData) => {
@@ -51,7 +42,12 @@ class SocketFunction {
}
return done.promise;
}
- ;
+ /**
+ * notifies a role about access to this SocketFunction
+ */
+ _notifyRole(socketRoleArg) {
+ socketRoleArg.addSocketFunction(this);
+ }
}
exports.SocketFunction = SocketFunction;
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRmdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc29ja2V0ZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQVksT0FBTyxXQUFNLHVCQUF1QixDQUFDLENBQUE7QUFFakQsaUJBQWlCO0FBQ2pCLHNCQUEwQixLQUFLLENBQUMsQ0FBQTtBQVkvQixDQUFDO0FBUUQsQ0FBQztBQVNGLGlCQUFpQjtBQUNOLDBCQUFrQixHQUFHLElBQUksZUFBUyxFQUFrQixDQUFDO0FBRWhFLGlCQUFpQjtBQUVqQjs7R0FFRztBQUNIO0lBS0k7O09BRUc7SUFDSCxZQUFZLFVBQTZDO1FBQ3JELElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQ3JDLEdBQUcsQ0FBQyxDQUFDLElBQUksYUFBYSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUFBLENBQUM7UUFDRiwwQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyw4QkFBOEI7SUFDaEUsQ0FBQzs7SUFFRDs7T0FFRztJQUNLLFdBQVcsQ0FBQyxhQUF3QjtRQUN4QyxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE9BQTJCO1FBQzlCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsRUFBRSxDQUFBLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQztZQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7aUJBQzVCLElBQUksQ0FBQyxDQUFDLFVBQWM7Z0JBQ2pCLElBQUksZ0JBQWdCLEdBQXVCO29CQUN2QyxRQUFRLEVBQUMsSUFBSSxDQUFDLElBQUk7b0JBQ2xCLFdBQVcsRUFBQyxVQUFVO2lCQUN6QixDQUFBO2dCQUNELElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztRQUVYLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLE1BQU0sSUFBSSxLQUFLLENBQUMsK0RBQStELENBQUMsQ0FBQztRQUNyRixDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQzs7QUFFTCxDQUFDO0FBOUNZLHNCQUFjLGlCQThDMUIsQ0FBQSJ9
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRmdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc29ja2V0ZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpREFBZ0Q7QUFFaEQsaUJBQWlCO0FBQ2pCLDZCQUErQjtBQTZCL0IsaUJBQWlCO0FBQ04sUUFBQSxrQkFBa0IsR0FBRyxJQUFJLGVBQVMsRUFBa0IsQ0FBQTtBQUUvRCxpQkFBaUI7QUFFakI7O0dBRUc7QUFDSDtJQUtFOztPQUVHO0lBQ0gsWUFBYSxVQUE2QztRQUN4RCxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUE7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFBO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQTtRQUNwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLGFBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQ2pDLENBQUM7UUFDRCwwQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyw4QkFBOEI7SUFDN0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFFLE9BQTRCO1FBQ2xDLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDakMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7aUJBQzlCLElBQUksQ0FBQyxDQUFDLFVBQWU7Z0JBQ3BCLElBQUksZ0JBQWdCLEdBQXdCO29CQUMxQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUk7b0JBQ25CLFdBQVcsRUFBRSxVQUFVO2lCQUN4QixDQUFBO2dCQUNELElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtZQUNoQyxDQUFDLENBQUMsQ0FBQTtRQUVOLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsK0RBQStELENBQUMsQ0FBQTtRQUNsRixDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssV0FBVyxDQUFFLGFBQXlCO1FBQzVDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0NBQ0Y7QUE3Q0Qsd0NBNkNDIn0=
\ No newline at end of file
diff --git a/dist/smartsocket.classes.socketrequest.d.ts b/dist/smartsocket.classes.socketrequest.d.ts
index 8325d75..bb951f9 100644
--- a/dist/smartsocket.classes.socketrequest.d.ts
+++ b/dist/smartsocket.classes.socketrequest.d.ts
@@ -1,10 +1,9 @@
-///
-import * as plugins from "./smartsocket.plugins";
-import { ISocketFunctionCall } from "./smartsocket.classes.socketfunction";
-import { Objectmap } from "lik";
-import { SocketConnection } from "./smartsocket.classes.socketconnection";
-export declare type TSocketRequestStatus = "new" | "pending" | "finished";
-export declare type TSocketRequestSide = "requesting" | "responding";
+import * as plugins from './smartsocket.plugins';
+import { ISocketFunctionCall } from './smartsocket.classes.socketfunction';
+import { Objectmap } from 'lik';
+import { SocketConnection } from './smartsocket.classes.socketconnection';
+export declare type TSocketRequestStatus = 'new' | 'pending' | 'finished';
+export declare type TSocketRequestSide = 'requesting' | 'responding';
/**
* interface of constructor of class SocketRequest
*/
@@ -29,12 +28,12 @@ export declare class SocketRequest {
shortid: string;
originSocketConnection: SocketConnection;
funcCallData: ISocketFunctionCall;
- done: plugins.q.Deferred<{}>;
+ done: plugins.smartq.Deferred<{}>;
constructor(optionsArg: SocketRequestConstructorOptions);
/**
* dispatches a socketrequest from the requesting to the receiving side
*/
- dispatch(): plugins.q.Promise<{}>;
+ dispatch(): Promise<{}>;
/**
* handles the response that is received by the requesting side
*/
diff --git a/dist/smartsocket.classes.socketrequest.js b/dist/smartsocket.classes.socketrequest.js
index e7db055..6017781 100644
--- a/dist/smartsocket.classes.socketrequest.js
+++ b/dist/smartsocket.classes.socketrequest.js
@@ -1,24 +1,22 @@
"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
const plugins = require("./smartsocket.plugins");
const helpers = require("./smartsocket.helpers");
// import classes
const lik_1 = require("lik");
-;
-;
-//export objects
+// export objects
exports.allSocketRequests = new lik_1.Objectmap();
// export classes
class SocketRequest {
constructor(optionsArg) {
- this.status = "new";
- this.done = plugins.q.defer();
+ this.status = 'new';
+ this.done = plugins.smartq.defer();
this.side = optionsArg.side;
this.shortid = optionsArg.shortId;
this.funcCallData = optionsArg.funcCallData;
this.originSocketConnection = optionsArg.originSocketConnection;
exports.allSocketRequests.add(this);
}
- ;
// requesting --------------------------
/**
* dispatches a socketrequest from the requesting to the receiving side
@@ -28,15 +26,14 @@ class SocketRequest {
funcCallData: this.funcCallData,
shortId: this.shortid
};
- this.originSocketConnection.socket.emit("function", requestData);
+ this.originSocketConnection.socket.emit('function', requestData);
return this.done.promise;
}
- ;
/**
* handles the response that is received by the requesting side
*/
handleResponse(responseDataArg) {
- plugins.beautylog.log("handling response!");
+ plugins.beautylog.log('handling response!');
this.done.resolve(responseDataArg.funcCallData);
exports.allSocketRequests.remove(this);
}
@@ -49,16 +46,15 @@ class SocketRequest {
plugins.beautylog.info(`invoking ${targetSocketFunction.name}`);
targetSocketFunction.invoke(this.funcCallData)
.then((resultData) => {
- plugins.beautylog.log("got resultData. Sending it to requesting party.");
+ plugins.beautylog.log('got resultData. Sending it to requesting party.');
let requestData = {
funcCallData: resultData,
shortId: this.shortid
};
- this.originSocketConnection.socket.emit("functionResponse", requestData);
+ this.originSocketConnection.socket.emit('functionResponse', requestData);
exports.allSocketRequests.remove(this);
});
}
}
exports.SocketRequest = SocketRequest;
-;
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFZLE9BQU8sV0FBTSx1QkFBdUIsQ0FBQyxDQUFBO0FBQ2pELE1BQVksT0FBTyxXQUFNLHVCQUF1QixDQUFDLENBQUE7QUFLakQsaUJBQWlCO0FBQ2pCLHNCQUEwQixLQUFLLENBQUMsQ0FBQTtBQWdCL0IsQ0FBQztBQVNELENBQUM7QUFFRixnQkFBZ0I7QUFDTCx5QkFBaUIsR0FBRyxJQUFJLGVBQVMsRUFBaUIsQ0FBQztBQUU5RCxpQkFBaUI7QUFDakI7SUFPSSxZQUFZLFVBQTJDO1FBTnZELFdBQU0sR0FBeUIsS0FBSyxDQUFDO1FBS3JDLFNBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXJCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQzVDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxVQUFVLENBQUMsc0JBQXNCLENBQUM7UUFDaEUseUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7O0lBRUQsd0NBQXdDO0lBRXhDOztPQUVHO0lBQ0gsUUFBUTtRQUNKLElBQUksV0FBVyxHQUE2QjtZQUN4QyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3hCLENBQUE7UUFDRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDakUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzdCLENBQUM7O0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUMsZUFBeUM7UUFDcEQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEQseUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCx3Q0FBd0M7SUFFeEM7O09BRUc7SUFDSCxjQUFjO1FBQ1YsSUFBSSxvQkFBb0IsR0FBbUIsT0FBTyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ3pDLElBQUksQ0FBQyxDQUFDLFVBQVU7WUFDYixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxpREFBaUQsQ0FBQyxDQUFBO1lBQ3hFLElBQUksV0FBVyxHQUE2QjtnQkFDeEMsWUFBWSxFQUFFLFVBQVU7Z0JBQ3hCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUN4QixDQUFDO1lBQ0YsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUMsV0FBVyxDQUFDLENBQUM7WUFDeEUseUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztBQUNMLENBQUM7QUF6RFkscUJBQWEsZ0JBeUR6QixDQUFBO0FBQUEsQ0FBQyJ9
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaURBQWdEO0FBQ2hELGlEQUFnRDtBQUtoRCxpQkFBaUI7QUFDakIsNkJBQStCO0FBMkIvQixpQkFBaUI7QUFDTixRQUFBLGlCQUFpQixHQUFHLElBQUksZUFBUyxFQUFpQixDQUFBO0FBRTdELGlCQUFpQjtBQUNqQjtJQU9FLFlBQWEsVUFBMkM7UUFOeEQsV0FBTSxHQUF5QixLQUFLLENBQUE7UUFLcEMsU0FBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7UUFFM0IsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFBO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQTtRQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUE7UUFDM0MsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQTtRQUMvRCx5QkFBaUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDN0IsQ0FBQztJQUVELHdDQUF3QztJQUV4Qzs7T0FFRztJQUNILFFBQVE7UUFDTixJQUFJLFdBQVcsR0FBNkI7WUFDMUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFBO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBQ2hFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUUsZUFBeUM7UUFDdkQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDL0MseUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2hDLENBQUM7SUFFRCx3Q0FBd0M7SUFFeEM7O09BRUc7SUFDSCxjQUFjO1FBQ1osSUFBSSxvQkFBb0IsR0FBbUIsT0FBTyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDdEcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQy9ELG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQzNDLElBQUksQ0FBQyxDQUFDLFVBQVU7WUFDZixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxpREFBaUQsQ0FBQyxDQUFBO1lBQ3hFLElBQUksV0FBVyxHQUE2QjtnQkFDMUMsWUFBWSxFQUFFLFVBQVU7Z0JBQ3hCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUN0QixDQUFBO1lBQ0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxDQUFDLENBQUE7WUFDeEUseUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2hDLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNGO0FBekRELHNDQXlEQyJ9
\ No newline at end of file
diff --git a/dist/smartsocket.classes.socketrole.js b/dist/smartsocket.classes.socketrole.js
index eacf188..9ee9cd0 100644
--- a/dist/smartsocket.classes.socketrole.js
+++ b/dist/smartsocket.classes.socketrole.js
@@ -1,4 +1,5 @@
"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
// import classes
const lik_1 = require("lik");
/**
@@ -16,4 +17,4 @@ class SocketRole {
}
}
exports.SocketRole = SocketRole;
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyb2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxpQkFBaUI7QUFDakIsc0JBQTBCLEtBQUssQ0FBQyxDQUFBO0FBWWhDOztHQUVHO0FBQ0g7SUFJSSxZQUFZLFVBQTZCO1FBRHpDLHFCQUFnQixHQUFHLElBQUksZUFBUyxFQUFrQixDQUFDO1FBRS9DLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUM7SUFDaEQsQ0FBQzs7SUFDRCxpQkFBaUIsQ0FBQyxpQkFBZ0M7UUFDOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7QUFDTCxDQUFDO0FBWFksa0JBQVUsYUFXdEIsQ0FBQSJ9
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyb2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsaUJBQWlCO0FBQ2pCLDZCQUFnQztBQVloQzs7R0FFRztBQUNIO0lBSUksWUFBWSxVQUE2QjtRQUR6QyxxQkFBZ0IsR0FBRyxJQUFJLGVBQVMsRUFBa0IsQ0FBQztRQUUvQyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO0lBQ2hELENBQUM7SUFBQSxDQUFDO0lBQ0YsaUJBQWlCLENBQUMsaUJBQWdDO1FBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0NBQ0o7QUFYRCxnQ0FXQyJ9
\ No newline at end of file
diff --git a/dist/smartsocket.helpers.js b/dist/smartsocket.helpers.js
index e0362db..da7e75c 100644
--- a/dist/smartsocket.helpers.js
+++ b/dist/smartsocket.helpers.js
@@ -1,4 +1,5 @@
"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
const plugins = require("./smartsocket.plugins");
const smartsocket_classes_socketfunction_1 = require("./smartsocket.classes.socketfunction");
const smartsocket_classes_socketrequest_1 = require("./smartsocket.classes.socketrequest");
@@ -26,4 +27,4 @@ exports.getSocketRequestById = (shortIdArg, requestSide) => {
exports.getSocketRoleByName = (socketRoleNameArg, referenceSmartsocket) => {
return referenceSmartsocket.socketRoles.find((socketRoleArg) => { return socketRoleArg.name === socketRoleNameArg; });
};
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQVksT0FBTyxXQUFNLHVCQUF1QixDQUFDLENBQUE7QUFJakQscURBQW1ELHNDQUFzQyxDQUFDLENBQUE7QUFFMUYsb0RBQXFFLHFDQUFxQyxDQUFDLENBQUE7QUFHM0csMkJBQTJCO0FBQ2hCLDRCQUFvQixHQUFHLENBQUMsT0FBOEMsRUFBRSxvQkFBZ0M7SUFDL0csSUFBSSxrQkFBa0IsR0FBRywyQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLG9CQUFvQixDQUFDLENBQUMsWUFBWSxDQUFDO0lBQzdGLElBQUksbUJBQW1CLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEYsTUFBTSxDQUFDLGtCQUFrQixLQUFLLG1CQUFtQixDQUFDO0FBQ3RELENBQUMsQ0FBQTtBQUdELHlCQUF5QjtBQUNkLCtCQUF1QixHQUFHLENBQUMsZUFBdUI7SUFDekQsTUFBTSxDQUFDLHVEQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLGlCQUFpQixPQUFPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakgsQ0FBQyxDQUFBO0FBRUQsd0JBQXdCO0FBRXhCOztHQUVHO0FBQ1EsNEJBQW9CLEdBQUcsQ0FBQyxVQUFrQixFQUFFLFdBQWdDO0lBQ25GLE1BQU0sQ0FBQyxxREFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsT0FBTyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxLQUFLLFVBQVUsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQzNHLENBQUMsQ0FBQTtBQUVELHFCQUFxQjtBQUVyQjs7R0FFRztBQUNRLDJCQUFtQixHQUFHLENBQUMsaUJBQXlCLEVBQUMsb0JBQWdDO0lBQ3hGLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDeEgsQ0FBQyxDQUFDIn0=
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpREFBaUQ7QUFJakQsNkZBQTBGO0FBRTFGLDJGQUEyRztBQUczRywyQkFBMkI7QUFDaEIsUUFBQSxvQkFBb0IsR0FBRyxDQUFDLE9BQThDLEVBQUUsb0JBQWdDO0lBQy9HLElBQUksa0JBQWtCLEdBQUcsMkJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUksRUFBQyxvQkFBb0IsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUM3RixJQUFJLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xGLE1BQU0sQ0FBQyxrQkFBa0IsS0FBSyxtQkFBbUIsQ0FBQztBQUN0RCxDQUFDLENBQUE7QUFHRCx5QkFBeUI7QUFDZCxRQUFBLHVCQUF1QixHQUFHLENBQUMsZUFBdUI7SUFDekQsTUFBTSxDQUFDLHVEQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLGlCQUFpQixPQUFPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakgsQ0FBQyxDQUFBO0FBRUQsd0JBQXdCO0FBRXhCOztHQUVHO0FBQ1EsUUFBQSxvQkFBb0IsR0FBRyxDQUFDLFVBQWtCLEVBQUUsV0FBZ0M7SUFDbkYsTUFBTSxDQUFDLHFEQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEtBQUssVUFBVSxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDM0csQ0FBQyxDQUFBO0FBRUQscUJBQXFCO0FBRXJCOztHQUVHO0FBQ1EsUUFBQSxtQkFBbUIsR0FBRyxDQUFDLGlCQUF5QixFQUFDLG9CQUFnQztJQUN4RixNQUFNLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsT0FBTyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ3hILENBQUMsQ0FBQyJ9
\ No newline at end of file
diff --git a/dist/smartsocket.plugins.d.ts b/dist/smartsocket.plugins.d.ts
index fdb2903..66fedc3 100644
--- a/dist/smartsocket.plugins.d.ts
+++ b/dist/smartsocket.plugins.d.ts
@@ -1,9 +1,9 @@
-import "typings-global";
-export import beautylog = require("beautylog");
-export import lik = require("lik");
-export import nodehash = require("nodehash");
-export import q = require("q");
-export import shortid = require("shortid");
-export import socketIo = require("socket.io");
-export import socketIoClient = require("socket.io-client");
-export import taskbuffer = require("taskbuffer");
+import 'typings-global';
+export import beautylog = require('beautylog');
+export import lik = require('lik');
+export import nodehash = require('nodehash');
+export import smartq = require('smartq');
+export import shortid = require('shortid');
+export import socketIo = require('socket.io');
+export import socketIoClient = require('socket.io-client');
+export import taskbuffer = require('taskbuffer');
diff --git a/dist/smartsocket.plugins.js b/dist/smartsocket.plugins.js
index badbf7c..183663a 100644
--- a/dist/smartsocket.plugins.js
+++ b/dist/smartsocket.plugins.js
@@ -1,11 +1,12 @@
"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
require("typings-global");
exports.beautylog = require("beautylog");
exports.lik = require("lik");
exports.nodehash = require("nodehash");
-exports.q = require("q");
+exports.smartq = require("smartq");
exports.shortid = require("shortid");
exports.socketIo = require("socket.io");
exports.socketIoClient = require("socket.io-client");
exports.taskbuffer = require("taskbuffer");
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDakMsV0FBRyxXQUFZLEtBQUssQ0FBQyxDQUFDO0FBQ3RCLGdCQUFRLFdBQVcsVUFBVSxDQUFDLENBQUM7QUFDL0IsU0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLGVBQU8sV0FBVyxTQUFTLENBQUMsQ0FBQztBQUM3QixnQkFBUSxXQUFXLFdBQVcsQ0FBQyxDQUFDO0FBQ2hDLHNCQUFjLFdBQVcsa0JBQWtCLENBQUMsQ0FBQztBQUM3QyxrQkFBVSxXQUFXLFlBQVksQ0FBQyxDQUFDIn0=
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQkFBdUI7QUFDdkIseUNBQThDO0FBQzlDLDZCQUFtQztBQUNuQyx1Q0FBNEM7QUFDNUMsbUNBQXdDO0FBQ3hDLHFDQUEwQztBQUMxQyx3Q0FBNkM7QUFDN0MscURBQTBEO0FBQzFELDJDQUFnRCJ9
\ No newline at end of file
diff --git a/npmextra.json b/npmextra.json
index 5354226..aae90fd 100644
--- a/npmextra.json
+++ b/npmextra.json
@@ -1,5 +1,8 @@
{
- "npmts":{
- "coverageTreshold":50
+ "npmts":{},
+ "npmci": {
+ "globalNpmTools": [
+ "npmts"
+ ]
}
}
\ No newline at end of file
diff --git a/package.json b/package.json
index 489d4b0..dba47c7 100644
--- a/package.json
+++ b/package.json
@@ -18,22 +18,20 @@
},
"homepage": "https://gitlab.com/pushrocks/smartsocket#README",
"dependencies": {
- "@types/q": "0.x.x",
- "@types/shortid": "0.0.27",
- "@types/socket.io": "^1.4.26",
- "@types/socket.io-client": "^1.4.26",
- "beautylog": "^5.0.23",
- "lik": "^1.0.15",
+ "@types/shortid": "0.0.29",
+ "@types/socket.io": "^1.4.29",
+ "@types/socket.io-client": "^1.4.29",
+ "beautylog": "^6.1.10",
+ "lik": "^1.0.38",
"nodehash": "^1.0.4",
- "q": "^1.4.1",
- "shortid": "^2.2.6",
- "socket.io": "^1.4.8",
- "socket.io-client": "^1.4.8",
- "taskbuffer": "^1.0.8"
+ "shortid": "^2.2.8",
+ "smartq": "^1.1.6",
+ "socket.io": "^2.0.3",
+ "socket.io-client": "^2.0.3",
+ "taskbuffer": "^1.0.17",
+ "typings-global": "^1.0.19"
},
"devDependencies": {
- "npmts-g": "^5.2.8",
- "should": "^11.1.0",
- "typings-test": "^1.0.3"
+ "tapbundle": "^1.1.0"
}
}
diff --git a/test/test.d.ts b/test/test.d.ts
deleted file mode 100644
index e7cc8ee..0000000
--- a/test/test.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-import "typings-test";
diff --git a/test/test.js b/test/test.js
deleted file mode 100644
index b74bb20..0000000
--- a/test/test.js
+++ /dev/null
@@ -1,108 +0,0 @@
-"use strict";
-require("typings-test");
-const should = require("should");
-const smartsocket = require("../dist/index");
-const q = require("q");
-const nodehash = require("nodehash");
-let testSmartsocket;
-let testSmartsocketClient;
-let testSocketRole1;
-let testSocketFunction1;
-let testConfig = {
- port: 3000
-};
-describe("smartsocket", function () {
- describe("class Smartsocket", function () {
- it("should create a new smartsocket", function () {
- testSmartsocket = new smartsocket.Smartsocket({ port: testConfig.port });
- should(testSmartsocket).be.instanceOf(smartsocket.Smartsocket);
- });
- it("should start listening when .started is called", function () {
- testSmartsocket.startServer();
- });
- });
- describe("class SocketRole", function () {
- it("should add a socketrole", function () {
- testSocketRole1 = new smartsocket.SocketRole({
- name: "testRole1",
- passwordHash: nodehash.sha256FromStringSync("testPassword")
- });
- testSmartsocket.addSocketRoles([testSocketRole1]);
- });
- });
- describe("class SocketFunction", function () {
- it("should register a new Function", function () {
- testSocketFunction1 = new smartsocket.SocketFunction({
- funcName: "testFunction1",
- funcDef: (dataArg) => {
- let done = q.defer();
- done.resolve(dataArg);
- return done.promise;
- },
- allowedRoles: [testSocketRole1]
- });
- });
- });
- describe("class SmartsocketClient", function () {
- it("should react to a new websocket connection from client", function (done) {
- this.timeout(10000);
- testSmartsocketClient = new smartsocket.SmartsocketClient({
- port: testConfig.port,
- url: "http://localhost",
- password: "testPassword",
- alias: "testClient1",
- role: "testRole1"
- });
- testSmartsocketClient.connect()
- .then(() => {
- done();
- });
- });
- it("client should disconnect and reconnect", function (done) {
- this.timeout(10000);
- testSmartsocketClient.disconnect()
- .then(() => {
- let done = q.defer();
- setTimeout(() => {
- testSmartsocketClient.connect()
- .then(done.resolve);
- }, 0);
- return done.promise;
- })
- .then(() => {
- done();
- });
- });
- it("2 clients should connect in parallel", function () {
- });
- it("should be able to make a functionCall from client to server", function (done) {
- this.timeout(5000);
- testSmartsocketClient.serverCall("testFunction1", {
- value1: "hello"
- }).then((dataArg) => {
- console.log(dataArg);
- done();
- });
- });
- it("should be able to make a functionCall from server to client", function (done) {
- this.timeout(5000);
- let targetSocket = (() => {
- return smartsocket.allSocketConnections.find((socketConnectionArg) => {
- return socketConnectionArg.alias === "testClient1";
- });
- })();
- testSmartsocket.clientCall("testFunction1", {
- value1: "helloFromServer"
- }, targetSocket).then((dataArg) => {
- console.log(dataArg);
- done();
- });
- });
- });
- describe("terminating smartsocket", function () {
- it("should close the server", function () {
- testSmartsocket.closeServer();
- });
- });
-});
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFDdEIsTUFBTyxNQUFNLFdBQVcsUUFBUSxDQUFDLENBQUM7QUFFbEMsTUFBTyxXQUFXLFdBQVcsZUFBZSxDQUFDLENBQUM7QUFDOUMsTUFBTyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDeEIsTUFBTyxRQUFRLFdBQVcsVUFBVSxDQUFDLENBQUM7QUFFdEMsSUFBSSxlQUF3QyxDQUFDO0FBQzdDLElBQUkscUJBQW9ELENBQUM7QUFDekQsSUFBSSxlQUF1QyxDQUFDO0FBQzVDLElBQUksbUJBQStDLENBQUM7QUFFcEQsSUFBSSxVQUFVLEdBQUc7SUFDYixJQUFJLEVBQUUsSUFBSTtDQUNiLENBQUE7QUFFRCxRQUFRLENBQUMsYUFBYSxFQUFFO0lBQ3BCLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRTtRQUMxQixFQUFFLENBQUMsaUNBQWlDLEVBQUU7WUFDbEMsZUFBZSxHQUFHLElBQUksV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUN6RSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsZ0RBQWdELEVBQUU7WUFDakQsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDSCxRQUFRLENBQUMsa0JBQWtCLEVBQUU7UUFDekIsRUFBRSxDQUFDLHlCQUF5QixFQUFFO1lBQzFCLGVBQWUsR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUM7Z0JBQ3pDLElBQUksRUFBRSxXQUFXO2dCQUNqQixZQUFZLEVBQUUs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
\ No newline at end of file
diff --git a/test/test.ts b/test/test.ts
index ea82fa4..33e4d13 100644
--- a/test/test.ts
+++ b/test/test.ts
@@ -1,9 +1,9 @@
-import "typings-test";
-import should = require("should");
-import socketIoClient = require("socket.io-client");
-import smartsocket = require("../dist/index");
-import q = require("q");
-import nodehash = require("nodehash")
+import { expect, tap } from 'tapbundle'
+
+import socketIoClient = require('socket.io-client')
+import smartsocket = require('../dist/index')
+import smartq = require('smartq')
+import nodehash = require('nodehash')
let testSmartsocket: smartsocket.Smartsocket
let testSmartsocketClient: smartsocket.SmartsocketClient
@@ -11,102 +11,105 @@ let testSocketRole1: smartsocket.SocketRole
let testSocketFunction1: smartsocket.SocketFunction
let testConfig = {
- port: 3000
+ port: 3000
}
-describe("smartsocket", function () {
- describe("class Smartsocket", function () {
- it("should create a new smartsocket", function () {
- testSmartsocket = new smartsocket.Smartsocket({ port: testConfig.port });
- should(testSmartsocket).be.instanceOf(smartsocket.Smartsocket);
- });
- it("should start listening when .started is called", function () {
- testSmartsocket.startServer();
- });
- });
- describe("class SocketRole", function () {
- it("should add a socketrole", function () {
- testSocketRole1 = new smartsocket.SocketRole({
- name: "testRole1",
- passwordHash: nodehash.sha256FromStringSync("testPassword")
- });
- testSmartsocket.addSocketRoles([testSocketRole1]);
- });
- })
- describe("class SocketFunction", function () {
- it("should register a new Function", function () {
- testSocketFunction1 = new smartsocket.SocketFunction({
- funcName: "testFunction1",
- funcDef: (dataArg) => {
- let done = q.defer();
- done.resolve(dataArg);
- return done.promise;
- },
- allowedRoles: [testSocketRole1]
- });
- });
- });
- describe("class SmartsocketClient", function () {
- it("should react to a new websocket connection from client", function (done) {
- this.timeout(10000);
- testSmartsocketClient = new smartsocket.SmartsocketClient({
- port: testConfig.port,
- url: "http://localhost",
- password: "testPassword",
- alias: "testClient1",
- role: "testRole1"
- });
- testSmartsocketClient.connect()
- .then(() => {
- done();
- });
- });
- it("client should disconnect and reconnect", function (done) {
- this.timeout(10000);
- testSmartsocketClient.disconnect()
- .then(() => {
- let done = q.defer();
- setTimeout(() => {
- testSmartsocketClient.connect()
- .then(done.resolve)
- }, 0)
- return done.promise;
- })
- .then(() => {
- done();
- });
- });
- it("2 clients should connect in parallel", function () {
+// class smartsocket
+tap.test('should create a new smartsocket', async () => {
+ testSmartsocket = new smartsocket.Smartsocket({ port: testConfig.port })
+ expect(testSmartsocket).be.instanceOf(smartsocket.Smartsocket)
+})
- });
- it("should be able to make a functionCall from client to server", function (done) {
- this.timeout(5000);
- testSmartsocketClient.serverCall("testFunction1", {
- value1: "hello"
- }).then((dataArg) => {
- console.log(dataArg);
- done();
- });
- });
- it("should be able to make a functionCall from server to client", function (done) {
- this.timeout(5000);
- let targetSocket = (() => {
- return smartsocket.allSocketConnections.find((socketConnectionArg) => {
- return socketConnectionArg.alias === "testClient1";
- });
- })();
- testSmartsocket.clientCall("testFunction1", {
- value1: "helloFromServer"
- }, targetSocket).then((dataArg) => {
- console.log(dataArg);
- done();
- });
- });
+tap.test('should start listening when .started is called', async () => {
+ testSmartsocket.startServer()
+})
- });
- describe("terminating smartsocket", function () {
- it("should close the server", function () {
- testSmartsocket.closeServer();
- });
+// class socketrole
+tap.test('should add a socketrole', async () => {
+ testSocketRole1 = new smartsocket.SocketRole({
+ name: 'testRole1',
+ passwordHash: nodehash.sha256FromStringSync('testPassword')
+ })
+ testSmartsocket.addSocketRoles([ testSocketRole1 ])
+})
+
+// class SocketFunction
+tap.test('should register a new Function', async () => {
+ testSocketFunction1 = new smartsocket.SocketFunction({
+ funcName: 'testFunction1',
+ funcDef: (dataArg) => {
+ let done = smartq.defer()
+ done.resolve(dataArg)
+ return done.promise
+ },
+ allowedRoles: [ testSocketRole1 ]
+ })
+})
+
+// class SmartsocketClient
+tap.test('should react to a new websocket connection from client',async () => {
+ let done = smartq.defer()
+ testSmartsocketClient = new smartsocket.SmartsocketClient({
+ port: testConfig.port,
+ url: 'http://localhost',
+ password: 'testPassword',
+ alias: 'testClient1',
+ role: 'testRole1'
+ })
+ testSmartsocketClient.connect()
+ .then(() => {
+ done.resolve()
})
-});
\ No newline at end of file
+ await done.promise
+})
+tap.test('client should disconnect and reconnect', async () => {
+ let done = smartq.defer()
+ testSmartsocketClient.disconnect()
+ .then(() => {
+ let done = smartq.defer()
+ setTimeout(() => {
+ testSmartsocketClient.connect()
+ .then(done.resolve)
+ }, 0)
+ return done.promise
+ })
+ .then(() => {
+ done.resolve()
+ })
+ await done.promise
+})
+tap.test('2 clients should connect in parallel', async () => {
+ // nothing here
+})
+tap.test('should be able to make a functionCall from client to server', async () => {
+ let done = smartq.defer()
+ testSmartsocketClient.serverCall('testFunction1', {
+ value1: 'hello'
+ }).then((dataArg) => {
+ console.log(dataArg)
+ done.resolve()
+ })
+ await done.promise
+})
+
+tap.test('should be able to make a functionCall from server to client', async () => {
+ let done = smartq.defer()
+ let targetSocket = (() => {
+ return smartsocket.allSocketConnections.find((socketConnectionArg) => {
+ return socketConnectionArg.alias === 'testClient1'
+ })
+ })()
+ testSmartsocket.clientCall('testFunction1', {
+ value1: 'helloFromServer'
+ }, targetSocket).then((dataArg) => {
+ console.log(dataArg)
+ done.resolve()
+ })
+})
+
+// terminate
+tap.test('should close the server', async () => {
+ testSmartsocket.closeServer()
+})
+
+tap.start()
diff --git a/ts/index.ts b/ts/index.ts
index daa7f2e..941e927 100644
--- a/ts/index.ts
+++ b/ts/index.ts
@@ -1,12 +1,12 @@
-import * as plugins from "./smartsocket.plugins";
+import * as plugins from './smartsocket.plugins'
// export main classes
-export * from "./smartsocket.classes.smartsocket";
-export * from "./smartsocket.classes.smartsocketclient";
+export * from './smartsocket.classes.smartsocket'
+export * from './smartsocket.classes.smartsocketclient'
// export further classes and objects
-export * from "./smartsocket.classes.socketfunction";
-export * from "./smartsocket.classes.socketrole";
-export * from "./smartsocket.classes.socketconnection";
+export * from './smartsocket.classes.socketfunction'
+export * from './smartsocket.classes.socketrole'
+export * from './smartsocket.classes.socketconnection'
// need something more exposed? Create an issue on GitLab!
diff --git a/ts/smartsocket.classes.smartsocket.ts b/ts/smartsocket.classes.smartsocket.ts
index 8254a2b..e02e487 100644
--- a/ts/smartsocket.classes.smartsocket.ts
+++ b/ts/smartsocket.classes.smartsocket.ts
@@ -1,98 +1,98 @@
-import * as plugins from "./smartsocket.plugins";
-import * as helpers from "./smartsocket.helpers";
+import * as plugins from './smartsocket.plugins'
+import * as helpers from './smartsocket.helpers'
// classes
-import { Objectmap } from "lik";
-import { SocketFunction,ISocketFunctionCall} from "./smartsocket.classes.socketfunction";
-import { SocketConnection } from "./smartsocket.classes.socketconnection";
-import { SocketRequest } from "./smartsocket.classes.socketrequest";
-import { SocketRole } from "./smartsocket.classes.socketrole";
+import { Objectmap } from 'lik'
+import { SocketFunction, ISocketFunctionCall } from './smartsocket.classes.socketfunction'
+import { SocketConnection } from './smartsocket.classes.socketconnection'
+import { SocketRequest } from './smartsocket.classes.socketrequest'
+import { SocketRole } from './smartsocket.classes.socketrole'
export interface ISmartsocketConstructorOptions {
- port: number;
-};
+ port: number
+}
export class Smartsocket {
- options: ISmartsocketConstructorOptions
- io: SocketIO.Server;
- openSockets = new Objectmap();
- socketRoles = new Objectmap();
- constructor(optionsArg: ISmartsocketConstructorOptions) {
- this.options = optionsArg;
- };
+ options: ISmartsocketConstructorOptions
+ io: SocketIO.Server
+ openSockets = new Objectmap()
+ socketRoles = new Objectmap()
+ constructor (optionsArg: ISmartsocketConstructorOptions) {
+ this.options = optionsArg
+ }
- /**
- * the standard handler for new socket connections
- */
- private _handleSocketConnection(socketArg) {
- let socketConnection: SocketConnection = new SocketConnection({
- alias:undefined,
- authenticated:false,
- role:undefined,
- side:"server",
- smartsocketHost: this,
- socket:socketArg
- });
- plugins.beautylog.log("Socket connected. Trying to authenticate...")
- this.openSockets.add(socketConnection);
- socketConnection.authenticate()
- .then(() => {
- return socketConnection.listenToFunctionRequests();
- })
- .catch((err) => {
- console.log(err);
- });
- };
+ /**
+ * starts listening to incling sockets:
+ */
+ startServer = () => {
+ this.io = plugins.socketIo(this.options.port)
+ this.io.on('connection', (socketArg) => {
+ this._handleSocketConnection(socketArg)
+ })
+ }
+ closeServer = () => {
+ this.openSockets.forEach((socketObjectArg: SocketConnection) => {
+ plugins.beautylog.log(`disconnect socket with >>alias ${socketObjectArg.alias}`)
+ socketObjectArg.socket.disconnect()
+ })
+ this.openSockets.wipe()
+ this.io.close()
+ }
- /**
- * starts listening to incling sockets:
- */
- startServer = () => {
- this.io = plugins.socketIo(this.options.port);
- this.io.on("connection", (socketArg) => {
- this._handleSocketConnection(socketArg);
- });
+ // communication
+
+ /**
+ * allows call to specific client.
+ */
+ clientCall (functionNameArg: string, dataArg: any, targetSocketConnectionArg: SocketConnection) {
+ let done = plugins.smartq.defer()
+ let socketRequest = new SocketRequest({
+ side: 'requesting',
+ originSocketConnection: targetSocketConnectionArg,
+ shortId: plugins.shortid.generate(),
+ funcCallData: {
+ funcName: functionNameArg,
+ funcDataArg: dataArg
+ }
+ })
+ socketRequest.dispatch()
+ .then((dataArg: ISocketFunctionCall) => {
+ done.resolve(dataArg.funcDataArg)
+ })
+ return done.promise
+ }
+
+ /**
+ * adds socketRoles
+ */
+ addSocketRoles (socketRolesArray: SocketRole[]): void {
+ for (let socketRole of socketRolesArray) {
+ this.socketRoles.add(socketRole)
}
- closeServer = () => {
- this.openSockets.forEach((socketObjectArg: SocketConnection) => {
- plugins.beautylog.log(`disconnect socket with >>alias ${socketObjectArg.alias}`);
- socketObjectArg.socket.disconnect();
- });
- this.openSockets.wipe();
- this.io.close();
- };
+ return
+ }
- // communication
+ /**
+ * the standard handler for new socket connections
+ */
+ private _handleSocketConnection (socketArg) {
+ let socketConnection: SocketConnection = new SocketConnection({
+ alias: undefined,
+ authenticated: false,
+ role: undefined,
+ side: 'server',
+ smartsocketHost: this,
+ socket: socketArg
+ })
+ plugins.beautylog.log('Socket connected. Trying to authenticate...')
+ this.openSockets.add(socketConnection)
+ socketConnection.authenticate()
+ .then(() => {
+ return socketConnection.listenToFunctionRequests()
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ }
- /**
- * allows call to specific client.
- */
- clientCall(functionNameArg:string,dataArg:any,targetSocketConnectionArg:SocketConnection){
- let done = plugins.q.defer();
- let socketRequest = new SocketRequest({
- side:"requesting",
- originSocketConnection:targetSocketConnectionArg,
- shortId:plugins.shortid.generate(),
- funcCallData:{
- funcName: functionNameArg,
- funcDataArg:dataArg
- }
- });
- socketRequest.dispatch()
- .then((dataArg:ISocketFunctionCall) => {
- done.resolve(dataArg.funcDataArg);
- });
- return done.promise;
- };
-
- /**
- * adds socketRoles
- */
- addSocketRoles(socketRolesArray:SocketRole[]):void{
- for(let socketRole of socketRolesArray){
- this.socketRoles.add(socketRole);
- };
- return;
- };
-
-}
\ No newline at end of file
+}
diff --git a/ts/smartsocket.classes.smartsocketclient.ts b/ts/smartsocket.classes.smartsocketclient.ts
index 76d6cb7..a7e42de 100644
--- a/ts/smartsocket.classes.smartsocketclient.ts
+++ b/ts/smartsocket.classes.smartsocketclient.ts
@@ -1,95 +1,95 @@
-import * as plugins from "./smartsocket.plugins"
+import * as plugins from './smartsocket.plugins'
// import interfaces
-import { ISocketFunctionCall } from "./smartsocket.classes.socketfunction";
-import { ISocketRequestDataObject } from "./smartsocket.classes.socketrequest"
+import { ISocketFunctionCall } from './smartsocket.classes.socketfunction'
+import { ISocketRequestDataObject } from './smartsocket.classes.socketrequest'
// import classes
-import { SocketConnection } from "./smartsocket.classes.socketconnection";
-import { SocketFunction } from "./smartsocket.classes.socketfunction";
-import { SocketRequest } from "./smartsocket.classes.socketrequest";
+import { SocketConnection } from './smartsocket.classes.socketconnection'
+import { SocketFunction } from './smartsocket.classes.socketfunction'
+import { SocketRequest } from './smartsocket.classes.socketrequest'
/**
* interface for class SmartsocketClient
*/
export interface ISmartsocketClientOptions {
- port: number;
- url: string;
- alias:string; // an alias makes it easier to identify this client in a multo client environment
- role:string;
- password: string; // by setting a password access to functions can be limited
+ port: number
+ url: string
+ alias: string // an alias makes it easier to identify this client in a multo client environment
+ role: string
+ password: string // by setting a password access to functions can be limited
}
export class SmartsocketClient {
- alias:string;
- role:string;
- socketConnection:SocketConnection;
- serverUrl:string;
- serverPort:number;
- serverPassword:string;
- constructor(optionsArg:ISmartsocketClientOptions){
- this.alias = optionsArg.alias;
- this.role = optionsArg.role;
- this.serverUrl = optionsArg.url
- this.serverPort = optionsArg.port;
- this.serverPassword = optionsArg.password
- };
+ alias: string
+ role: string
+ socketConnection: SocketConnection
+ serverUrl: string
+ serverPort: number
+ serverPassword: string
+ constructor(optionsArg: ISmartsocketClientOptions) {
+ this.alias = optionsArg.alias
+ this.role = optionsArg.role
+ this.serverUrl = optionsArg.url
+ this.serverPort = optionsArg.port
+ this.serverPassword = optionsArg.password
+ }
- /**
- * connect the client to the server
- */
- connect(){
- let done = plugins.q.defer();
- plugins.beautylog.log("trying to connect...");
- let socketUrl = `${this.serverUrl}:${this.serverPort}`;
- this.socketConnection = new SocketConnection({
- alias:this.alias,
- authenticated:false,
- role:undefined,
- side:"client",
- smartsocketHost: null,
- socket: plugins.socketIoClient(socketUrl,{multiplex:false})
- });
- this.socketConnection.socket.on("requestAuth", () => {
- console.log("server requested authentication");
- this.socketConnection.socket.emit("dataAuth", {
- role: this.role,
- password: this.serverPassword,
- alias: this.alias
- });
- this.socketConnection.socket.on("authenticated",() => {
- console.log("client is authenticated");
- this.socketConnection.authenticated = true;
- this.socketConnection.listenToFunctionRequests();
- done.resolve();
- });
- });
- return done.promise;
- };
- disconnect(){
- let done = plugins.q.defer();
- this.socketConnection.socket.disconnect();
- this.socketConnection = undefined;
- plugins.beautylog.ok("disconnected!");
- done.resolve();
- return done.promise;
- }
- serverCall(functionNameArg:string,dataArg:any){
- let done = plugins.q.defer();
- let socketRequest = new SocketRequest({
- side:"requesting",
- originSocketConnection:this.socketConnection,
- shortId:plugins.shortid.generate(),
- funcCallData:{
- funcName: functionNameArg,
- funcDataArg:dataArg
- }
- });
- socketRequest.dispatch()
- .then((dataArg:ISocketFunctionCall) => {
- done.resolve(dataArg.funcDataArg);
- });
- return done.promise;
- };
-
-}
\ No newline at end of file
+ /**
+ * connect the client to the server
+ */
+ connect () {
+ let done = plugins.smartq.defer()
+ plugins.beautylog.log('trying to connect...')
+ let socketUrl = `${this.serverUrl}:${this.serverPort}`
+ this.socketConnection = new SocketConnection({
+ alias: this.alias,
+ authenticated: false,
+ role: undefined,
+ side: 'client',
+ smartsocketHost: null,
+ socket: plugins.socketIoClient(socketUrl, { multiplex: false })
+ })
+ this.socketConnection.socket.on('requestAuth', () => {
+ console.log('server requested authentication')
+ this.socketConnection.socket.emit('dataAuth', {
+ role: this.role,
+ password: this.serverPassword,
+ alias: this.alias
+ })
+ this.socketConnection.socket.on('authenticated', () => {
+ console.log('client is authenticated')
+ this.socketConnection.authenticated = true
+ this.socketConnection.listenToFunctionRequests()
+ done.resolve()
+ })
+ })
+ return done.promise
+ }
+ disconnect () {
+ let done = plugins.smartq.defer()
+ this.socketConnection.socket.disconnect()
+ this.socketConnection = undefined
+ plugins.beautylog.ok('disconnected!')
+ done.resolve()
+ return done.promise
+ }
+ serverCall (functionNameArg: string, dataArg: any) {
+ let done = plugins.smartq.defer()
+ let socketRequest = new SocketRequest({
+ side: 'requesting',
+ originSocketConnection: this.socketConnection,
+ shortId: plugins.shortid.generate(),
+ funcCallData: {
+ funcName: functionNameArg,
+ funcDataArg: dataArg
+ }
+ })
+ socketRequest.dispatch()
+ .then((dataArg: ISocketFunctionCall) => {
+ done.resolve(dataArg.funcDataArg)
+ })
+ return done.promise
+ }
+
+}
diff --git a/ts/smartsocket.classes.socketconnection.ts b/ts/smartsocket.classes.socketconnection.ts
index 8581a89..c9d9aff 100644
--- a/ts/smartsocket.classes.socketconnection.ts
+++ b/ts/smartsocket.classes.socketconnection.ts
@@ -1,140 +1,140 @@
-import * as plugins from "./smartsocket.plugins";
-import * as helpers from "./smartsocket.helpers";
+import * as plugins from './smartsocket.plugins'
+import * as helpers from './smartsocket.helpers'
-import {Objectmap} from "lik";
+import { Objectmap } from 'lik'
// import classes
-import { Smartsocket } from "./smartsocket.classes.smartsocket"
-import { SocketFunction } from "./smartsocket.classes.socketfunction";
-import { SocketRequest, ISocketRequestDataObject, allSocketRequests } from "./smartsocket.classes.socketrequest";
-import { SocketRole } from "./smartsocket.classes.socketrole";
+import { Smartsocket } from './smartsocket.classes.smartsocket'
+import { SocketFunction } from './smartsocket.classes.socketfunction'
+import { SocketRequest, ISocketRequestDataObject, allSocketRequests } from './smartsocket.classes.socketrequest'
+import { SocketRole } from './smartsocket.classes.socketrole'
// export interfaces
/**
* defines is a SocketConnection is server or client side. Important for mesh setups.
*/
-export type TSocketConnectionSide = "server" | "client";
+export type TSocketConnectionSide = 'server' | 'client'
/**
* interface for constructor of class SocketConnection
*/
export interface ISocketConnectionConstructorOptions {
- alias: string;
- authenticated: boolean;
- role: SocketRole;
- side: TSocketConnectionSide;
- smartsocketHost: Smartsocket;
- socket: SocketIO.Socket | SocketIOClient.Socket;
-};
+ alias: string
+ authenticated: boolean
+ role: SocketRole
+ side: TSocketConnectionSide
+ smartsocketHost: Smartsocket
+ socket: SocketIO.Socket | SocketIOClient.Socket
+}
/**
* interface for authentication data
*/
export interface ISocketConnectionAuthenticationObject {
- role: "coreflowContainer",
- password: "somePassword",
- alias: "coreflow1"
-};
+ role: 'coreflowContainer',
+ password: 'somePassword',
+ alias: 'coreflow1'
+}
// export classes
-export let allSocketConnections = new Objectmap();
+export let allSocketConnections = new Objectmap()
/**
* class SocketConnection represents a websocket connection
*/
export class SocketConnection {
- alias: string;
- side:TSocketConnectionSide;
- authenticated: boolean = false;
- role: SocketRole;
- smartsocketHost:Smartsocket;
- socket: SocketIO.Socket | SocketIOClient.Socket;
- constructor(optionsArg: ISocketConnectionConstructorOptions) {
- this.alias = optionsArg.alias;
- this.authenticated = optionsArg.authenticated;
- this.role = optionsArg.role;
- this.side = optionsArg.side;
- this.smartsocketHost = optionsArg.smartsocketHost;
- this.socket = optionsArg.socket;
-
- // standard behaviour that is always true
- allSocketConnections.add(this);
- this.socket.on("disconnect", () => {
- plugins.beautylog.info(`SocketConnection with >alias ${this.alias} on >side ${this.side} disconnected`);
- allSocketConnections.remove(this);
- });
- };
+ alias: string
+ side: TSocketConnectionSide
+ authenticated: boolean = false
+ role: SocketRole
+ smartsocketHost: Smartsocket
+ socket: any //: SocketIO.Socket | SocketIOClient.Socket
+ constructor (optionsArg: ISocketConnectionConstructorOptions) {
+ this.alias = optionsArg.alias
+ this.authenticated = optionsArg.authenticated
+ this.role = optionsArg.role
+ this.side = optionsArg.side
+ this.smartsocketHost = optionsArg.smartsocketHost
+ this.socket = optionsArg.socket
- // authenticating --------------------------
+ // standard behaviour that is always true
+ allSocketConnections.add(this)
+ this.socket.on('disconnect', () => {
+ plugins.beautylog.info(`SocketConnection with >alias ${this.alias} on >side ${this.side} disconnected`)
+ allSocketConnections.remove(this)
+ })
+ }
- /**
- * authenticate the socket
- */
- authenticate() {
- let done = plugins.q.defer();
- this.socket.on("dataAuth", (dataArg:ISocketConnectionAuthenticationObject) => {
- plugins.beautylog.log("received authentication data. now hashing and comparing...");
- this.socket.removeListener("dataAuth", () => { });
- if (helpers.checkPasswordForRole(dataArg,this.smartsocketHost)) { // TODO: authenticate password
- this.alias = dataArg.alias
- this.authenticated = true;
- this.role = helpers.getSocketRoleByName(dataArg.role,this.smartsocketHost);
- this.socket.emit("authenticated");
- plugins.beautylog.ok(`socket with >>alias ${this.alias} >>role ${this.role} is authenticated!`);
- done.resolve(this);
- } else {
- this.authenticated = false;
- this.socket.disconnect();
- done.reject("not authenticated");
- };
- });
- this.socket.emit("requestAuth");
- return done.promise;
- };
+ // authenticating --------------------------
- // listening -------------------------------
+ /**
+ * authenticate the socket
+ */
+ authenticate () {
+ let done = plugins.smartq.defer()
+ this.socket.on('dataAuth', (dataArg: ISocketConnectionAuthenticationObject) => {
+ plugins.beautylog.log('received authentication data. now hashing and comparing...')
+ this.socket.removeListener('dataAuth', () => { })
+ if (helpers.checkPasswordForRole(dataArg, this.smartsocketHost)) { // TODO: authenticate password
+ this.alias = dataArg.alias
+ this.authenticated = true
+ this.role = helpers.getSocketRoleByName(dataArg.role, this.smartsocketHost)
+ this.socket.emit('authenticated')
+ plugins.beautylog.ok(`socket with >>alias ${this.alias} >>role ${this.role} is authenticated!`)
+ done.resolve(this)
+ } else {
+ this.authenticated = false
+ this.socket.disconnect()
+ done.reject('not authenticated')
+ }
+ })
+ this.socket.emit('requestAuth')
+ return done.promise
+ }
- /**
- * listen to function requests
- */
- listenToFunctionRequests(){
- let done = plugins.q.defer();
- if(this.authenticated){
- this.socket.on("function", (dataArg:ISocketRequestDataObject) => {
- // check if requested function is available to the socket's scope
- plugins.beautylog.log("function request received");
- let referencedFunction:SocketFunction = this.role.allowedFunctions.find((socketFunctionArg) => {
- return socketFunctionArg.name === dataArg.funcCallData.funcName;
- });
- if(referencedFunction !== undefined){
- plugins.beautylog.ok!("function in access scope");
- let localSocketRequest = new SocketRequest({
- side:"responding",
- originSocketConnection:this,
- shortId:dataArg.shortId,
- funcCallData:dataArg.funcCallData
- });
- localSocketRequest.createResponse(); // takes care of creating response and sending it back
- } else {
- plugins.beautylog.warn("function not existent or out of access scope");
- };
- });
- this.socket.on("functionResponse", (dataArg:ISocketRequestDataObject) => {
- plugins.beautylog.info(`received response for request with id ${dataArg.shortId}`);
- let targetSocketRequest = helpers.getSocketRequestById(dataArg.shortId);
- targetSocketRequest.handleResponse(dataArg);
- });
- plugins.beautylog.log(`now listening to function requests for ${this.alias}`);
- done.resolve(this);
+ // listening -------------------------------
+
+ /**
+ * listen to function requests
+ */
+ listenToFunctionRequests () {
+ let done = plugins.smartq.defer()
+ if (this.authenticated) {
+ this.socket.on('function', (dataArg: ISocketRequestDataObject) => {
+ // check if requested function is available to the socket's scope
+ plugins.beautylog.log('function request received')
+ let referencedFunction: SocketFunction = this.role.allowedFunctions.find((socketFunctionArg) => {
+ return socketFunctionArg.name === dataArg.funcCallData.funcName
+ })
+ if (referencedFunction !== undefined) {
+ plugins.beautylog.ok!('function in access scope')
+ let localSocketRequest = new SocketRequest({
+ side: 'responding',
+ originSocketConnection: this,
+ shortId: dataArg.shortId,
+ funcCallData: dataArg.funcCallData
+ })
+ localSocketRequest.createResponse() // takes care of creating response and sending it back
} else {
- let errMessage: "socket needs to be authenticated first";
- plugins.beautylog.error(errMessage);
- done.reject(errMessage);
- };
- return done.promise;
- };
+ plugins.beautylog.warn('function not existent or out of access scope')
+ }
+ })
+ this.socket.on('functionResponse', (dataArg: ISocketRequestDataObject) => {
+ plugins.beautylog.info(`received response for request with id ${dataArg.shortId}`)
+ let targetSocketRequest = helpers.getSocketRequestById(dataArg.shortId)
+ targetSocketRequest.handleResponse(dataArg)
+ })
+ plugins.beautylog.log(`now listening to function requests for ${this.alias}`)
+ done.resolve(this)
+ } else {
+ let errMessage: 'socket needs to be authenticated first'
+ plugins.beautylog.error(errMessage)
+ done.reject(errMessage)
+ }
+ return done.promise
+ }
- // sending ----------------------
-
-};
+ // sending ----------------------
+
+}
diff --git a/ts/smartsocket.classes.socketfunction.ts b/ts/smartsocket.classes.socketfunction.ts
index 1d87a92..90ae3db 100644
--- a/ts/smartsocket.classes.socketfunction.ts
+++ b/ts/smartsocket.classes.socketfunction.ts
@@ -1,8 +1,8 @@
-import * as plugins from "./smartsocket.plugins";
+import * as plugins from './smartsocket.plugins'
// import classes
-import { Objectmap } from "lik";
-import { SocketRole } from "./smartsocket.classes.socketrole";
+import { Objectmap } from 'lik'
+import { SocketRole } from './smartsocket.classes.socketrole'
// export interfaces
@@ -10,28 +10,28 @@ import { SocketRole } from "./smartsocket.classes.socketrole";
* interface of the contructor options of class SocketFunction
*/
export interface ISocketFunctionConstructorOptions {
- funcName: string;
- funcDef: any;
- allowedRoles: SocketRole[]; // all roles that are allowed to execute a SocketFunction
-};
+ funcName: string
+ funcDef: any
+ allowedRoles: SocketRole[] // all roles that are allowed to execute a SocketFunction
+}
/**
* interface of the Socket Function call, in other words the object that routes a call to a function
*/
export interface ISocketFunctionCall {
- funcName:string;
- funcDataArg:any;
-};
+ funcName: string
+ funcDataArg: any
+}
/**
* interface for function definition of SocketFunction
*/
export interface IFuncDef {
- (dataArg:any):PromiseLike
+ (dataArg: any): PromiseLike
}
// export objects
-export let allSocketFunctions = new Objectmap();
+export let allSocketFunctions = new Objectmap()
// export classes
@@ -39,49 +39,48 @@ export let allSocketFunctions = new Objectmap();
* class that respresents a function that can be transparently called using a SocketConnection
*/
export class SocketFunction {
- name: string;
- funcDef: IFuncDef;
- roles: SocketRole[];
+ name: string
+ funcDef: IFuncDef
+ roles: SocketRole[]
- /**
- * the constructor for SocketFunction
- */
- constructor(optionsArg: ISocketFunctionConstructorOptions) {
- this.name = optionsArg.funcName;
- this.funcDef = optionsArg.funcDef;
- this.roles = optionsArg.allowedRoles;
- for (let socketRoleArg of this.roles){
- this._notifyRole(socketRoleArg);
- };
- allSocketFunctions.add(this); // map instance with Objectmap
- };
-
- /**
- * notifies a role about access to this SocketFunction
- */
- private _notifyRole(socketRoleArg:SocketRole){
- socketRoleArg.addSocketFunction(this);
+ /**
+ * the constructor for SocketFunction
+ */
+ constructor (optionsArg: ISocketFunctionConstructorOptions) {
+ this.name = optionsArg.funcName
+ this.funcDef = optionsArg.funcDef
+ this.roles = optionsArg.allowedRoles
+ for (let socketRoleArg of this.roles) {
+ this._notifyRole(socketRoleArg)
}
-
- /**
- * invokes the function of this SocketFunction
- */
- invoke(dataArg:ISocketFunctionCall):plugins.q.Promise {
- let done = plugins.q.defer();
- if(dataArg.funcName === this.name){
- this.funcDef(dataArg.funcDataArg)
- .then((resultData:any) => {
- let funcResponseData:ISocketFunctionCall = {
- funcName:this.name,
- funcDataArg:resultData
- }
- done.resolve(funcResponseData);
- });
-
- } else {
- throw new Error("SocketFunction.name does not match the data argument's .name!");
- }
- return done.promise;
- };
+ allSocketFunctions.add(this) // map instance with Objectmap
+ }
-}
\ No newline at end of file
+ /**
+ * invokes the function of this SocketFunction
+ */
+ invoke (dataArg: ISocketFunctionCall): Promise {
+ let done = plugins.smartq.defer()
+ if (dataArg.funcName === this.name) {
+ this.funcDef(dataArg.funcDataArg)
+ .then((resultData: any) => {
+ let funcResponseData: ISocketFunctionCall = {
+ funcName: this.name,
+ funcDataArg: resultData
+ }
+ done.resolve(funcResponseData)
+ })
+
+ } else {
+ throw new Error("SocketFunction.name does not match the data argument's .name!")
+ }
+ return done.promise
+ }
+
+ /**
+ * notifies a role about access to this SocketFunction
+ */
+ private _notifyRole (socketRoleArg: SocketRole) {
+ socketRoleArg.addSocketFunction(this)
+ }
+}
diff --git a/ts/smartsocket.classes.socketrequest.ts b/ts/smartsocket.classes.socketrequest.ts
index c8a0230..921dc37 100644
--- a/ts/smartsocket.classes.socketrequest.ts
+++ b/ts/smartsocket.classes.socketrequest.ts
@@ -1,96 +1,96 @@
-import * as plugins from "./smartsocket.plugins";
-import * as helpers from "./smartsocket.helpers";
+import * as plugins from './smartsocket.plugins'
+import * as helpers from './smartsocket.helpers'
// import interfaces
-import { ISocketFunctionCall } from "./smartsocket.classes.socketfunction";
+import { ISocketFunctionCall } from './smartsocket.classes.socketfunction'
// import classes
-import { Objectmap } from "lik";
-import { SocketFunction } from "./smartsocket.classes.socketfunction";
-import { SocketConnection } from "./smartsocket.classes.socketconnection";
+import { Objectmap } from 'lik'
+import { SocketFunction } from './smartsocket.classes.socketfunction'
+import { SocketConnection } from './smartsocket.classes.socketconnection'
// export interfaces
-export type TSocketRequestStatus = "new" | "pending" | "finished";
-export type TSocketRequestSide = "requesting" | "responding";
+export type TSocketRequestStatus = 'new' | 'pending' | 'finished'
+export type TSocketRequestSide = 'requesting' | 'responding'
/**
* interface of constructor of class SocketRequest
*/
export interface SocketRequestConstructorOptions {
- side: TSocketRequestSide;
- originSocketConnection: SocketConnection;
- shortId: string;
- funcCallData?: ISocketFunctionCall;
-};
+ side: TSocketRequestSide
+ originSocketConnection: SocketConnection
+ shortId: string
+ funcCallData?: ISocketFunctionCall
+}
/**
* request object that is sent initially and may or may not receive a response
*/
export interface ISocketRequestDataObject {
- funcCallData: ISocketFunctionCall;
- shortId: string;
- responseTimeout?: number;
-};
+ funcCallData: ISocketFunctionCall
+ shortId: string
+ responseTimeout?: number
+}
-//export objects
-export let allSocketRequests = new Objectmap();
+// export objects
+export let allSocketRequests = new Objectmap()
// export classes
export class SocketRequest {
- status: TSocketRequestStatus = "new";
- side: TSocketRequestSide;
- shortid: string;
- originSocketConnection: SocketConnection;
- funcCallData: ISocketFunctionCall
- done = plugins.q.defer();
- constructor(optionsArg: SocketRequestConstructorOptions) {
- this.side = optionsArg.side;
- this.shortid = optionsArg.shortId;
- this.funcCallData = optionsArg.funcCallData;
- this.originSocketConnection = optionsArg.originSocketConnection;
- allSocketRequests.add(this);
- };
+ status: TSocketRequestStatus = 'new'
+ side: TSocketRequestSide
+ shortid: string
+ originSocketConnection: SocketConnection
+ funcCallData: ISocketFunctionCall
+ done = plugins.smartq.defer()
+ constructor (optionsArg: SocketRequestConstructorOptions) {
+ this.side = optionsArg.side
+ this.shortid = optionsArg.shortId
+ this.funcCallData = optionsArg.funcCallData
+ this.originSocketConnection = optionsArg.originSocketConnection
+ allSocketRequests.add(this)
+ }
- // requesting --------------------------
+ // requesting --------------------------
- /**
- * dispatches a socketrequest from the requesting to the receiving side
- */
- dispatch() {
+ /**
+ * dispatches a socketrequest from the requesting to the receiving side
+ */
+ dispatch () {
+ let requestData: ISocketRequestDataObject = {
+ funcCallData: this.funcCallData,
+ shortId: this.shortid
+ }
+ this.originSocketConnection.socket.emit('function', requestData)
+ return this.done.promise
+ }
+
+ /**
+ * handles the response that is received by the requesting side
+ */
+ handleResponse (responseDataArg: ISocketRequestDataObject) {
+ plugins.beautylog.log('handling response!')
+ this.done.resolve(responseDataArg.funcCallData)
+ allSocketRequests.remove(this)
+ }
+
+ // responding --------------------------
+
+ /**
+ * creates the response on the responding side
+ */
+ createResponse () {
+ let targetSocketFunction: SocketFunction = helpers.getSocketFunctionByName(this.funcCallData.funcName)
+ plugins.beautylog.info(`invoking ${targetSocketFunction.name}`)
+ targetSocketFunction.invoke(this.funcCallData)
+ .then((resultData) => {
+ plugins.beautylog.log('got resultData. Sending it to requesting party.')
let requestData: ISocketRequestDataObject = {
- funcCallData: this.funcCallData,
- shortId: this.shortid
+ funcCallData: resultData,
+ shortId: this.shortid
}
- this.originSocketConnection.socket.emit("function", requestData);
- return this.done.promise;
- };
-
- /**
- * handles the response that is received by the requesting side
- */
- handleResponse(responseDataArg: ISocketRequestDataObject) {
- plugins.beautylog.log("handling response!");
- this.done.resolve(responseDataArg.funcCallData);
- allSocketRequests.remove(this);
- }
-
- // responding --------------------------
-
- /**
- * creates the response on the responding side
- */
- createResponse() {
- let targetSocketFunction: SocketFunction = helpers.getSocketFunctionByName(this.funcCallData.funcName);
- plugins.beautylog.info(`invoking ${targetSocketFunction.name}`);
- targetSocketFunction.invoke(this.funcCallData)
- .then((resultData) => {
- plugins.beautylog.log("got resultData. Sending it to requesting party.")
- let requestData: ISocketRequestDataObject = {
- funcCallData: resultData,
- shortId: this.shortid
- };
- this.originSocketConnection.socket.emit("functionResponse",requestData);
- allSocketRequests.remove(this);
- });
- }
-};
+ this.originSocketConnection.socket.emit('functionResponse', requestData)
+ allSocketRequests.remove(this)
+ })
+ }
+}
diff --git a/ts/smartsocket.plugins.ts b/ts/smartsocket.plugins.ts
index ff2355c..27f2a29 100644
--- a/ts/smartsocket.plugins.ts
+++ b/ts/smartsocket.plugins.ts
@@ -1,9 +1,9 @@
-import "typings-global";
-export import beautylog = require("beautylog");
-export import lik = require("lik");
-export import nodehash = require("nodehash");
-export import q = require("q");
-export import shortid = require("shortid");
-export import socketIo = require("socket.io");
-export import socketIoClient = require("socket.io-client");
-export import taskbuffer = require("taskbuffer");
\ No newline at end of file
+import 'typings-global'
+export import beautylog = require('beautylog')
+export import lik = require('lik')
+export import nodehash = require('nodehash')
+export import smartq = require('smartq')
+export import shortid = require('shortid')
+export import socketIo = require('socket.io')
+export import socketIoClient = require('socket.io-client')
+export import taskbuffer = require('taskbuffer')
diff --git a/tslint.json b/tslint.json
new file mode 100644
index 0000000..45052ad
--- /dev/null
+++ b/tslint.json
@@ -0,0 +1,3 @@
+{
+ "extends": "tslint-config-standard"
+}
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 0000000..a1bdf6a
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,898 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@types/chai-as-promised@0.0.29":
+ version "0.0.29"
+ resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-0.0.29.tgz#43d52892aa998e185a3de3e2477edb8573be1d77"
+ dependencies:
+ "@types/chai" "*"
+ "@types/promises-a-plus" "*"
+
+"@types/chai-string@^1.1.30":
+ version "1.1.30"
+ resolved "https://registry.yarnpkg.com/@types/chai-string/-/chai-string-1.1.30.tgz#4d8744b31a5a2295fc01c981ed1e2d4c8a070f0a"
+ dependencies:
+ "@types/chai" "*"
+
+"@types/chai@*":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.0.1.tgz#37fea779617cfec3fd2b19a0247e8bbdd5133bf6"
+
+"@types/chai@^3.4.35":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@types/chai/-/chai-3.5.2.tgz#c11cd2817d3a401b7ba0f5a420f35c56139b1c1e"
+
+"@types/cron@^1.2.1":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@types/cron/-/cron-1.2.1.tgz#95c1e432d6106ca34c92f0743638bc786c073faa"
+
+"@types/lodash@4.x.x", "@types/lodash@^4.14.55", "@types/lodash@^4.14.67":
+ version "4.14.68"
+ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.68.tgz#754fbab68bd2bbb69547dc8ce7574f7012eed7f6"
+
+"@types/minimatch@2.x.x":
+ version "2.0.29"
+ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-2.0.29.tgz#5002e14f75e2d71e564281df0431c8c1b4a2a36a"
+
+"@types/node@*":
+ version "8.0.8"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.8.tgz#0dc4ca2c6f6fc69baee16c5e928c4a627f517ada"
+
+"@types/promises-a-plus@*":
+ version "0.0.27"
+ resolved "https://registry.yarnpkg.com/@types/promises-a-plus/-/promises-a-plus-0.0.27.tgz#c64651134614c84b8f5d7114ce8901d36a609780"
+
+"@types/q@0.x.x":
+ version "0.0.35"
+ resolved "https://registry.yarnpkg.com/@types/q/-/q-0.0.35.tgz#1893674fb15f138013ec108d233f68fc7df0f155"
+
+"@types/q@1.x.x":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@types/q/-/q-1.0.2.tgz#41f0b0f6ae0eeed3a51b003e2e08cba5525b74f6"
+
+"@types/shelljs@^0.7.2":
+ version "0.7.2"
+ resolved "https://registry.yarnpkg.com/@types/shelljs/-/shelljs-0.7.2.tgz#c2bdb3fe80cd7a3da08750ca898ae44c589671f3"
+ dependencies:
+ "@types/node" "*"
+
+"@types/shortid@0.0.29":
+ version "0.0.29"
+ resolved "https://registry.yarnpkg.com/@types/shortid/-/shortid-0.0.29.tgz#8093ee0416a6e2bf2aa6338109114b3fbffa0e9b"
+
+"@types/socket.io-client@^1.4.29":
+ version "1.4.29"
+ resolved "https://registry.yarnpkg.com/@types/socket.io-client/-/socket.io-client-1.4.29.tgz#f8743070cee93175e36e0b6a77a8af73e58ccb32"
+
+"@types/socket.io@^1.4.29":
+ version "1.4.29"
+ resolved "https://registry.yarnpkg.com/@types/socket.io/-/socket.io-1.4.29.tgz#86a6b3a9ab78cf9a900ceef85b9b68b6bea86712"
+ dependencies:
+ "@types/node" "*"
+
+"@types/through2@0.x.x":
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/@types/through2/-/through2-0.4.1.tgz#0f008e174c1dc5f1cc7e00eb2d132b2cb67f7bd2"
+ dependencies:
+ "@types/node" "*"
+
+"@types/which@^1.0.28":
+ version "1.0.28"
+ resolved "https://registry.yarnpkg.com/@types/which/-/which-1.0.28.tgz#016e387629b8817bed653fe32eab5d11279c8df6"
+
+accepts@1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca"
+ dependencies:
+ mime-types "~2.1.11"
+ negotiator "0.6.1"
+
+after@0.8.2:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
+
+ansi-256-colors@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/ansi-256-colors/-/ansi-256-colors-1.1.0.tgz#910de50efcc7c09e3d82f2f87abd6b700c18818a"
+
+ansi-regex@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+
+ansi-styles@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+
+arraybuffer.slice@0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca"
+
+assertion-error@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c"
+
+backo2@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
+
+balanced-match@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+
+base64-arraybuffer@0.1.5:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
+
+base64id@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6"
+
+beautycolor@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/beautycolor/-/beautycolor-1.0.7.tgz#a4715738ac4c8221371e9cbeb5a6cc6d11ecbf7c"
+ dependencies:
+ ansi-256-colors "^1.1.0"
+ typings-global "^1.0.14"
+
+beautylog@^6.1.10:
+ version "6.1.10"
+ resolved "https://registry.yarnpkg.com/beautylog/-/beautylog-6.1.10.tgz#9c27e566937684cb689f9372d98cfa5415d50b72"
+ dependencies:
+ "@types/lodash" "^4.14.55"
+ beautycolor "^1.0.7"
+ figlet "^1.2.0"
+ lodash "^4.17.4"
+ ora "^1.1.0"
+ smartenv "^2.0.0"
+ smartq "^1.1.1"
+ typings-global "^1.0.14"
+
+better-assert@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
+ dependencies:
+ callsite "1.0.0"
+
+bindings@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11"
+
+blob@0.0.4:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921"
+
+brace-expansion@^1.1.7:
+ version "1.1.8"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+callsite@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
+
+chai-as-promised@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-6.0.0.tgz#1a02a433a6f24dafac63b9c96fa1684db1aa8da6"
+ dependencies:
+ check-error "^1.0.2"
+
+chai-string@^1.3.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/chai-string/-/chai-string-1.4.0.tgz#359140c051d36a4e4b1a5fc6b910152f438a8d49"
+
+chai@^3.5.0:
+ version "3.5.0"
+ resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247"
+ dependencies:
+ assertion-error "^1.0.1"
+ deep-eql "^0.1.3"
+ type-detect "^1.0.0"
+
+chalk@^1.0.0, chalk@^1.1.1:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+ dependencies:
+ ansi-styles "^2.2.1"
+ escape-string-regexp "^1.0.2"
+ has-ansi "^2.0.0"
+ strip-ansi "^3.0.0"
+ supports-color "^2.0.0"
+
+check-error@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
+
+cli-cursor@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
+ dependencies:
+ restore-cursor "^2.0.0"
+
+cli-spinners@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.0.0.tgz#ef987ed3d48391ac3dab9180b406a742180d6e6a"
+
+component-bind@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
+
+component-emitter@1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
+
+component-inherit@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+
+cookie@0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
+
+core-util-is@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+
+cron@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/cron/-/cron-1.2.1.tgz#3a86c09b41b8f261ac863a7cc85ea4735857eab2"
+ dependencies:
+ moment-timezone "^0.5.x"
+
+debug@2.3.3:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c"
+ dependencies:
+ ms "0.7.2"
+
+debug@~2.6.4, debug@~2.6.6:
+ version "2.6.8"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
+ dependencies:
+ ms "2.0.0"
+
+deep-eql@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2"
+ dependencies:
+ type-detect "0.1.1"
+
+define-properties@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
+ dependencies:
+ foreach "^2.0.5"
+ object-keys "^1.0.8"
+
+early@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/early/-/early-2.1.1.tgz#841e23254ea5dc54d8afaeee82f5ab65c00ee23c"
+ dependencies:
+ beautycolor "^1.0.7"
+ smartq "^1.1.1"
+ typings-global "^1.0.16"
+
+engine.io-client@~3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.1.1.tgz#415a9852badb14fa008fa3ef1e31608db6761325"
+ dependencies:
+ component-emitter "1.2.1"
+ component-inherit "0.0.3"
+ debug "~2.6.4"
+ engine.io-parser "~2.1.1"
+ has-cors "1.1.0"
+ indexof "0.0.1"
+ parsejson "0.0.3"
+ parseqs "0.0.5"
+ parseuri "0.0.5"
+ ws "~2.3.1"
+ xmlhttprequest-ssl "1.5.3"
+ yeast "0.1.2"
+
+engine.io-parser@~2.1.0, engine.io-parser@~2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.1.tgz#e0fb3f0e0462f7f58bb77c1a52e9f5a7e26e4668"
+ dependencies:
+ after "0.8.2"
+ arraybuffer.slice "0.0.6"
+ base64-arraybuffer "0.1.5"
+ blob "0.0.4"
+ has-binary2 "~1.0.2"
+
+engine.io@~3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.1.0.tgz#5ca438e3ce9fdbc915c4a21c8dd9e1266706e57e"
+ dependencies:
+ accepts "1.3.3"
+ base64id "1.0.0"
+ cookie "0.3.1"
+ debug "~2.6.4"
+ engine.io-parser "~2.1.0"
+ ws "~2.3.1"
+ optionalDependencies:
+ uws "~0.14.4"
+
+es-abstract@^1.5.1:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c"
+ dependencies:
+ es-to-primitive "^1.1.1"
+ function-bind "^1.1.0"
+ is-callable "^1.1.3"
+ is-regex "^1.0.3"
+
+es-to-primitive@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d"
+ dependencies:
+ is-callable "^1.1.1"
+ is-date-object "^1.0.1"
+ is-symbol "^1.0.1"
+
+es6-error@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.0.2.tgz#eec5c726eacef51b7f6b73c20db6e1b13b069c98"
+
+escape-string-regexp@^1.0.2:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+
+figlet@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.2.0.tgz#6c46537378fab649146b5a6143dda019b430b410"
+
+foreach@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+
+function-bind@^1.0.2, function-bind@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"
+
+glob@^7.0.0:
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+has-ansi@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+ dependencies:
+ ansi-regex "^2.0.0"
+
+has-binary2@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.2.tgz#e83dba49f0b9be4d026d27365350d9f03f54be98"
+ dependencies:
+ isarray "2.0.1"
+
+has-cors@1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39"
+
+has@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
+ dependencies:
+ function-bind "^1.0.2"
+
+indexof@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, inherits@~2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+
+interpret@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90"
+
+is-callable@^1.1.1, is-callable@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
+
+is-date-object@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
+
+is-regex@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
+ dependencies:
+ has "^1.0.1"
+
+is-symbol@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
+
+isarray@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e"
+
+isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+
+leakage@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/leakage/-/leakage-0.3.0.tgz#15d698abdc76bbc6439601f4f3020e77e2d50c39"
+ dependencies:
+ es6-error "^4.0.2"
+ left-pad "^1.1.3"
+ memwatch-next "^0.3.0"
+ minimist "^1.2.0"
+ pretty-bytes "^4.0.2"
+
+left-pad@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.1.3.tgz#612f61c033f3a9e08e939f1caebeea41b6f3199a"
+
+lik@^1.0.32, lik@^1.0.38:
+ version "1.0.38"
+ resolved "https://registry.yarnpkg.com/lik/-/lik-1.0.38.tgz#ccff0abd3d9236a5e4b7d80d514c5c210f18469b"
+ dependencies:
+ "@types/lodash" "^4.14.67"
+ "@types/minimatch" "2.x.x"
+ "@types/q" "1.x.x"
+ lodash "^4.17.4"
+ minimatch "^3.0.4"
+ q "^1.5.0"
+ rxjs "^5.4.1"
+ smartq "^1.1.1"
+ typings-global "^1.0.19"
+
+lodash@^4.17.4:
+ version "4.17.4"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
+
+log-symbols@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
+ dependencies:
+ chalk "^1.0.0"
+
+memwatch-next@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/memwatch-next/-/memwatch-next-0.3.0.tgz#2111050f9a906e0aa2d72a4ec0f0089c78726f8f"
+ dependencies:
+ bindings "^1.2.1"
+ nan "^2.3.2"
+
+mime-db@~1.27.0:
+ version "1.27.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
+
+mime-types@~2.1.11:
+ version "2.1.15"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed"
+ dependencies:
+ mime-db "~1.27.0"
+
+mimic-fn@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18"
+
+minimatch@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimist@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
+
+moment-timezone@^0.5.x:
+ version "0.5.13"
+ resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.13.tgz#99ce5c7d827262eb0f1f702044177f60745d7b90"
+ dependencies:
+ moment ">= 2.9.0"
+
+"moment@>= 2.9.0":
+ version "2.18.1"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f"
+
+ms@0.7.2:
+ version "0.7.2"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+
+nan@^2.3.2:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45"
+
+negotiator@0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
+
+nodehash@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/nodehash/-/nodehash-1.0.4.tgz#fd733397a0925b9b4bc19726f3c0e68850206e7f"
+ dependencies:
+ "@types/q" "0.x.x"
+ "@types/through2" "0.x.x"
+ q "^1.4.1"
+ through2 "^2.0.1"
+ typings-global "^1.0.6"
+
+object-assign@~4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+
+object-component@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291"
+
+object-keys@^1.0.8:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
+
+object.getownpropertydescriptors@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16"
+ dependencies:
+ define-properties "^1.1.2"
+ es-abstract "^1.5.1"
+
+once@^1.3.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ dependencies:
+ wrappy "1"
+
+onetime@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
+ dependencies:
+ mimic-fn "^1.0.0"
+
+ora@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/ora/-/ora-1.3.0.tgz#80078dd2b92a934af66a3ad72a5b910694ede51a"
+ dependencies:
+ chalk "^1.1.1"
+ cli-cursor "^2.1.0"
+ cli-spinners "^1.0.0"
+ log-symbols "^1.0.2"
+
+parsejson@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab"
+ dependencies:
+ better-assert "~1.0.0"
+
+parseqs@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
+ dependencies:
+ better-assert "~1.0.0"
+
+parseuri@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a"
+ dependencies:
+ better-assert "~1.0.0"
+
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+
+path-parse@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
+
+pretty-bytes@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9"
+
+process-nextick-args@~1.0.6:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
+
+q@^1.4.1, q@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1"
+
+readable-stream@^2.1.5:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~1.0.6"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.0.3"
+ util-deprecate "~1.0.1"
+
+rechoir@^0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
+ dependencies:
+ resolve "^1.1.6"
+
+resolve@^1.1.6:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5"
+ dependencies:
+ path-parse "^1.0.5"
+
+restore-cursor@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
+ dependencies:
+ onetime "^2.0.0"
+ signal-exit "^3.0.2"
+
+rxjs@^5.4.1:
+ version "5.4.2"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.4.2.tgz#2a3236fcbf03df57bae06fd6972fd99e5c08fcf7"
+ dependencies:
+ symbol-observable "^1.0.1"
+
+safe-buffer@~5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
+
+safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
+
+semver@^5.3.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
+
+shelljs@^0.7.8:
+ version "0.7.8"
+ resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3"
+ dependencies:
+ glob "^7.0.0"
+ interpret "^1.0.0"
+ rechoir "^0.6.2"
+
+shortid@^2.2.8:
+ version "2.2.8"
+ resolved "https://registry.yarnpkg.com/shortid/-/shortid-2.2.8.tgz#033b117d6a2e975804f6f0969dbe7d3d0b355131"
+
+signal-exit@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+
+smartchai@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/smartchai/-/smartchai-1.0.3.tgz#de6d010bb8b5aef24cb70b31a5f5334e8c41b72f"
+ dependencies:
+ "@types/chai" "^3.4.35"
+ "@types/chai-as-promised" "0.0.29"
+ "@types/chai-string" "^1.1.30"
+ chai "^3.5.0"
+ chai-as-promised "^6.0.0"
+ chai-string "^1.3.0"
+
+smartdelay@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/smartdelay/-/smartdelay-1.0.3.tgz#5fd44dad77262d110702f0293efa80c072cfb579"
+ dependencies:
+ smartq "^1.1.1"
+ typings-global "^1.0.16"
+
+smartenv@^2.0.0:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/smartenv/-/smartenv-2.0.6.tgz#b38c679b0c151b9af548f68c3a072c29d1417e8d"
+ dependencies:
+ lodash "^4.17.4"
+ smartq "^1.1.1"
+ typings-global "^1.0.14"
+
+smartq@^1.1.1, smartq@^1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/smartq/-/smartq-1.1.6.tgz#0c1ff4336d95e95b4f1fdd8ccd7e2c5a323b8412"
+ dependencies:
+ typings-global "^1.0.19"
+ util.promisify "^1.0.0"
+
+smartshell@^1.0.6:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/smartshell/-/smartshell-1.0.8.tgz#1535756c0fe8069f7e6da1e3f9cb6c8f77094e42"
+ dependencies:
+ "@types/shelljs" "^0.7.2"
+ "@types/which" "^1.0.28"
+ shelljs "^0.7.8"
+ smartq "^1.1.1"
+ typings-global "^1.0.19"
+ which "^1.2.14"
+
+socket.io-adapter@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.0.tgz#c7aa46501dd556c2cb8a28af8ff95c0b5e1daa4c"
+ dependencies:
+ debug "2.3.3"
+
+socket.io-client@^2.0.3, socket.io-client@~2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.0.3.tgz#6caf4aff9f85b19fd91b6ce13d69adb564f8873b"
+ dependencies:
+ backo2 "1.0.2"
+ base64-arraybuffer "0.1.5"
+ component-bind "1.0.0"
+ component-emitter "1.2.1"
+ debug "~2.6.4"
+ engine.io-client "~3.1.0"
+ has-cors "1.1.0"
+ indexof "0.0.1"
+ object-component "0.0.3"
+ parseqs "0.0.5"
+ parseuri "0.0.5"
+ socket.io-parser "~3.1.1"
+ to-array "0.1.4"
+
+socket.io-parser@~3.1.1:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.1.2.tgz#dbc2282151fc4faebbe40aeedc0772eba619f7f2"
+ dependencies:
+ component-emitter "1.2.1"
+ debug "~2.6.4"
+ has-binary2 "~1.0.2"
+ isarray "2.0.1"
+
+socket.io@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.0.3.tgz#4359f06a24933ae6bd087798af78c680eae345e3"
+ dependencies:
+ debug "~2.6.6"
+ engine.io "~3.1.0"
+ object-assign "~4.1.1"
+ socket.io-adapter "~1.1.0"
+ socket.io-client "~2.0.2"
+ socket.io-parser "~3.1.1"
+
+string_decoder@~1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab"
+ dependencies:
+ safe-buffer "~5.1.0"
+
+strip-ansi@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ dependencies:
+ ansi-regex "^2.0.0"
+
+supports-color@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+
+symbol-observable@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d"
+
+tapbundle@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/tapbundle/-/tapbundle-1.1.0.tgz#e0547f683ae36260f639ecd7435df95f0af01683"
+ dependencies:
+ early "^2.1.1"
+ leakage "^0.3.0"
+ smartchai "^1.0.3"
+ smartdelay "^1.0.3"
+ smartq "^1.1.1"
+ typings-global "^1.0.19"
+
+taskbuffer@^1.0.17:
+ version "1.0.17"
+ resolved "https://registry.yarnpkg.com/taskbuffer/-/taskbuffer-1.0.17.tgz#3d304cb80449ff536aacf92f8a051a34620c223e"
+ dependencies:
+ "@types/cron" "^1.2.1"
+ "@types/lodash" "4.x.x"
+ beautylog "^6.1.10"
+ cron "^1.2.1"
+ lik "^1.0.32"
+ lodash "^4.17.4"
+ rxjs "^5.4.1"
+ smartdelay "^1.0.3"
+ smartq "^1.1.1"
+ typings-global "^1.0.17"
+
+through2@^2.0.1:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
+ dependencies:
+ readable-stream "^2.1.5"
+ xtend "~4.0.1"
+
+to-array@0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
+
+type-detect@0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822"
+
+type-detect@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2"
+
+typings-global@^1.0.14, typings-global@^1.0.16, typings-global@^1.0.17, typings-global@^1.0.19, typings-global@^1.0.6:
+ version "1.0.19"
+ resolved "https://registry.yarnpkg.com/typings-global/-/typings-global-1.0.19.tgz#3376a72d4de1e5541bf5702248ff64c3e6ea316c"
+ dependencies:
+ semver "^5.3.0"
+ smartshell "^1.0.6"
+
+ultron@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.0.tgz#b07a2e6a541a815fc6a34ccd4533baec307ca864"
+
+util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+
+util.promisify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030"
+ dependencies:
+ define-properties "^1.1.2"
+ object.getownpropertydescriptors "^2.0.3"
+
+uws@~0.14.4:
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/uws/-/uws-0.14.5.tgz#67aaf33c46b2a587a5f6666d00f7691328f149dc"
+
+which@^1.2.14:
+ version "1.2.14"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5"
+ dependencies:
+ isexe "^2.0.0"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+
+ws@~2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-2.3.1.tgz#6b94b3e447cb6a363f785eaf94af6359e8e81c80"
+ dependencies:
+ safe-buffer "~5.0.1"
+ ultron "~1.1.0"
+
+xmlhttprequest-ssl@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d"
+
+xtend@~4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
+
+yeast@0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"