diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e6be27f..14931f9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,53 +7,77 @@ cache:
key: "$CI_BUILD_STAGE"
stages:
+- security
- test
- release
- trigger
- pages
+mirror:
+ stage: security
+ script:
+ - npmci git mirror
+ tags:
+ - docker
+
+snyk:
+ stage: security
+ script:
+ - npmci command yarn global add snyk
+ - npmci command yarn install --ignore-scripts
+ - npmci command snyk test
+ tags:
+ - docker
+
testLEGACY:
stage: test
script:
- - npmci test legacy
+ - npmci node install legacy
+ - npmci npm install
+ - npmci npm test
coverage: /\d+.?\d+?\%\s*coverage/
tags:
- - docker
+ - docker
allow_failure: true
testLTS:
stage: test
script:
- - npmci test lts
+ - npmci node install lts
+ - npmci npm install
+ - npmci npm test
coverage: /\d+.?\d+?\%\s*coverage/
tags:
- - docker
+ - docker
testSTABLE:
stage: test
script:
- - npmci test stable
+ - npmci node install stable
+ - npmci npm install
+ - npmci npm test
coverage: /\d+.?\d+?\%\s*coverage/
tags:
- - docker
+ - docker
release:
stage: release
script:
- - npmci publish
+ - npmci npm prepare
+ - npmci npm publish
only:
- - tags
+ - tags
tags:
- - docker
+ - docker
trigger:
stage: trigger
script:
- - npmci trigger
+ - npmci trigger
only:
- - tags
+ - tags
tags:
- - docker
+ - docker
pages:
image: hosttoday/ht-docker-node:npmci
@@ -69,4 +93,3 @@ pages:
expire_in: 1 week
paths:
- public
- allow_failure: true
diff --git a/README.md b/README.md
index 6e4d533..44f8bc6 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,16 @@
# smartsocket
+
easy and secure websocket communication, TypeScript ready
## Availabililty
+
[![npm](https://pushrocks.gitlab.io/assets/repo-button-npm.svg)](https://www.npmjs.com/package/smartsocket)
[![git](https://pushrocks.gitlab.io/assets/repo-button-git.svg)](https://GitLab.com/pushrocks/smartsocket)
[![git](https://pushrocks.gitlab.io/assets/repo-button-mirror.svg)](https://github.com/pushrocks/smartsocket)
[![docs](https://pushrocks.gitlab.io/assets/repo-button-docs.svg)](https://pushrocks.gitlab.io/smartsocket/)
## Status for master
+
[![build status](https://GitLab.com/pushrocks/smartsocket/badges/master/build.svg)](https://GitLab.com/pushrocks/smartsocket/commits/master)
[![coverage report](https://GitLab.com/pushrocks/smartsocket/badges/master/coverage.svg)](https://GitLab.com/pushrocks/smartsocket/commits/master)
[![npm downloads per month](https://img.shields.io/npm/dm/smartsocket.svg)](https://www.npmjs.com/package/smartsocket)
@@ -19,11 +22,12 @@ easy and secure websocket communication, TypeScript ready
[![JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)
## Usage
+
Use TypeScript for best in class instellisense.
For further information read the linked docs at the top of this README.
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
-| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
+> | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
[![repo-footer](https://pushrocks.gitlab.io/assets/repo-footer.svg)](https://push.rocks)
diff --git a/dist/index.js b/dist/index.js
index 226947d..ee351ed 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -10,4 +10,4 @@ __export(require("./smartsocket.classes.smartsocketclient"));
__export(require("./smartsocket.classes.socketfunction"));
__export(require("./smartsocket.classes.socketrole"));
__export(require("./smartsocket.classes.socketconnection"));
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLHNCQUFzQjtBQUN0Qix1REFBaUQ7QUFDakQsNkRBQXVEO0FBRXZELHFDQUFxQztBQUNyQywwREFBb0Q7QUFDcEQsc0RBQWdEO0FBQ2hELDREQUFzRCJ9
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLHNCQUFzQjtBQUN0Qix1REFBa0Q7QUFDbEQsNkRBQXdEO0FBRXhELHFDQUFxQztBQUNyQywwREFBcUQ7QUFDckQsc0RBQWlEO0FBQ2pELDREQUF1RCJ9
\ No newline at end of file
diff --git a/dist/smartsocket.classes.smartsocket.d.ts b/dist/smartsocket.classes.smartsocket.d.ts
index 1c8fca1..2f56df9 100644
--- a/dist/smartsocket.classes.smartsocket.d.ts
+++ b/dist/smartsocket.classes.smartsocket.d.ts
@@ -1,9 +1,10 @@
///
///
+import * as plugins from './smartsocket.plugins';
import * as http from 'http';
-import { Objectmap } from 'lik';
import { SocketConnection } from './smartsocket.classes.socketconnection';
import { SocketRole } from './smartsocket.classes.socketrole';
+import * as SocketIO from 'socket.io';
export interface ISmartsocketConstructorOptions {
port: number;
}
@@ -11,8 +12,8 @@ export declare class Smartsocket {
options: ISmartsocketConstructorOptions;
httpServer: http.Server;
io: SocketIO.Server;
- openSockets: Objectmap;
- socketRoles: Objectmap;
+ openSockets: plugins.lik.Objectmap;
+ socketRoles: plugins.lik.Objectmap;
constructor(optionsArg: ISmartsocketConstructorOptions);
/**
* starts listening to incoming sockets:
diff --git a/dist/smartsocket.classes.smartsocket.js b/dist/smartsocket.classes.smartsocket.js
index 9020320..9f767b1 100644
--- a/dist/smartsocket.classes.smartsocket.js
+++ b/dist/smartsocket.classes.smartsocket.js
@@ -30,7 +30,7 @@ class Smartsocket {
this.httpServer = new http.Server();
}
this.io = plugins.socketIo(this.httpServer);
- this.io.on('connection', (socketArg) => {
+ this.io.on('connection', socketArg => {
this._handleSocketConnection(socketArg);
});
this.httpServer.listen(this.options.port, () => {
@@ -76,8 +76,7 @@ class Smartsocket {
funcDataArg: dataArg
}
});
- socketRequest.dispatch()
- .then((dataArg) => {
+ socketRequest.dispatch().then((dataArg) => {
done.resolve(dataArg.funcDataArg);
});
return done.promise;
@@ -105,14 +104,15 @@ class Smartsocket {
});
plugins.beautylog.log('Socket connected. Trying to authenticate...');
this.openSockets.add(socketConnection);
- socketConnection.authenticate()
+ socketConnection
+ .authenticate()
.then(() => {
return socketConnection.listenToFunctionRequests();
})
- .catch((err) => {
+ .catch(err => {
console.log(err);
});
}
}
exports.Smartsocket = Smartsocket;
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zbWFydHNvY2tldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc21hcnRzb2NrZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLGlEQUFnRDtBQUdoRCw2QkFBNEI7QUFFNUIsVUFBVTtBQUNWLDZCQUErQjtBQUUvQixpR0FBeUU7QUFDekUsMkZBQW1FO0FBT25FO0lBTUUsWUFBYSxVQUEwQztRQUZ2RCxnQkFBVyxHQUFHLElBQUksZUFBUyxFQUFvQixDQUFBO1FBQy9DLGdCQUFXLEdBQUcsSUFBSSxlQUFTLEVBQWMsQ0FBQTtRQUV2QyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQTtJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDRyxXQUFXOztZQUNmLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7WUFDakMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtZQUNyQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUMzQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDckMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ3pDLENBQUMsQ0FBQyxDQUFBO1lBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUM3QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7WUFDaEIsQ0FBQyxD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
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zbWFydHNvY2tldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc21hcnRzb2NrZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLGlEQUFpRDtBQUdqRCw2QkFBNkI7QUFFN0IsVUFBVTtBQUNWLDZCQUFnQztBQUVoQyxpR0FBMEU7QUFDMUUsMkZBQW9FO0FBVXBFO0lBTUUsWUFBWSxVQUEwQztRQUZ0RCxnQkFBVyxHQUFHLElBQUksZUFBUyxFQUFvQixDQUFDO1FBQ2hELGdCQUFXLEdBQUcsSUFBSSxlQUFTLEVBQWMsQ0FBQztRQUV4QyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDRyxXQUFXOztZQUNmLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxD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
\ No newline at end of file
diff --git a/dist/smartsocket.classes.smartsocketclient.js b/dist/smartsocket.classes.smartsocketclient.js
index 6407c59..948f06f 100644
--- a/dist/smartsocket.classes.smartsocketclient.js
+++ b/dist/smartsocket.classes.smartsocketclient.js
@@ -62,12 +62,11 @@ class SmartsocketClient {
funcDataArg: dataArg
}
});
- socketRequest.dispatch()
- .then((dataArg) => {
+ socketRequest.dispatch().then((dataArg) => {
done.resolve(dataArg.funcDataArg);
});
return done.promise;
}
}
exports.SmartsocketClient = SmartsocketClient;
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zbWFydHNvY2tldGNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc21hcnRzb2NrZXRjbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpREFBZ0Q7QUFPaEQsaUJBQWlCO0FBQ2pCLGlHQUF5RTtBQUV6RSwyRkFBbUU7QUFZbkU7SUFPRSxZQUFZLFVBQXFDO1FBQy9DLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQTtRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUE7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFBO1FBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQTtRQUNqQyxJQUFJLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUE7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNMLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDakMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtRQUM3QyxJQUFJLFNBQVMsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQ3RELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLHVEQUFnQixDQUFDO1lBQzNDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixhQUFhLEVBQUUsS0FBSztZQUNwQixJQUFJLEVBQUUsU0FBUztZQUNmLElBQUksRUFBRSxRQUFRO1lBQ2QsZUFBZSxFQUFFLElBQUk7WUFDckIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO1NBQ2hFLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7WUFDbEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO1lBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDNUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYztnQkFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2FBQ2xCLENBQUMsQ0FBQTtZQUNGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7Z0JBQ3BELE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQTtnQkFDdEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUE7Z0JBQzFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsRUFBRSxDQUFBO2dCQUNoRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7WUFDaEIsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtRQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3JCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUE7UUFDakMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDckMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ2QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckIsQ0FBQztJQUVELFVBQVUsQ0FBRSxlQUF1QixFQUFFLE9BQVk7UUFDL0MsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNqQyxJQUFJLGFBQWEsR0FBRyxJQUFJLGlEQUFhLENBQUM7WUFDcEMsSUFBSSxFQUFFLFlBQVk7WUFDbEIsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUM3QyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDbkMsWUFBWSxFQUFFO2dCQUNaLFFBQVEsRUFBRSxlQUFlO2dCQUN6QixXQUFXLEVBQUUsT0FBTzthQUNyQjtTQUNGLENBQUMsQ0FBQTtRQUNGLGFBQWEsQ0FBQyxRQUFRLEVBQUU7YUFDckIsSUFBSSxDQUFDLENBQUMsT0FBNEIsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ25DLENBQUMsQ0FBQyxDQUFBO1FBQ0osTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckIsQ0FBQztDQUVGO0FBMUVELDhDQTBFQyJ9
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zbWFydHNvY2tldGNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc21hcnRzb2NrZXRjbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpREFBaUQ7QUFNakQsaUJBQWlCO0FBQ2pCLGlHQUEwRTtBQUUxRSwyRkFBb0U7QUFZcEU7SUFPRSxZQUFZLFVBQXFDO1FBQy9DLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNMLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM5QyxJQUFJLFNBQVMsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLHVEQUFnQixDQUFDO1lBQzNDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixhQUFhLEVBQUUsS0FBSztZQUNwQixJQUFJLEVBQUUsU0FBUztZQUNmLElBQUksRUFBRSxRQUFRO1lBQ2QsZUFBZSxFQUFFLElBQUk7WUFDckIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO1NBQ2hFLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7WUFDbEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDNUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYztnQkFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2FBQ2xCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7Z0JBQ3BELE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO2dCQUNqRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7UUFDbEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxlQUF1QixFQUFFLE9BQVk7UUFDOUMsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNsQyxJQUFJLGFBQWEsR0FBRyxJQUFJLGlEQUFhLENBQUM7WUFDcEMsSUFBSSxFQUFFLFlBQVk7WUFDbEIsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUM3QyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDbkMsWUFBWSxFQUFFO2dCQUNaLFFBQVEsRUFBRSxlQUFlO2dCQUN6QixXQUFXLEVBQUUsT0FBTzthQUNyQjtTQUNGLENBQUMsQ0FBQztRQUNILGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUE0QixFQUFFLEVBQUU7WUFDN0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUF4RUQsOENBd0VDIn0=
\ No newline at end of file
diff --git a/dist/smartsocket.classes.socketconnection.d.ts b/dist/smartsocket.classes.socketconnection.d.ts
index cd9b662..2820547 100644
--- a/dist/smartsocket.classes.socketconnection.d.ts
+++ b/dist/smartsocket.classes.socketconnection.d.ts
@@ -1,8 +1,9 @@
///
///
-import { Objectmap } from 'lik';
+import * as plugins from './smartsocket.plugins';
import { Smartsocket } from './smartsocket.classes.smartsocket';
import { SocketRole } from './smartsocket.classes.socketrole';
+import * as SocketIO from 'socket.io';
/**
* defines is a SocketConnection is server or client side. Important for mesh setups.
*/
@@ -26,7 +27,7 @@ export interface ISocketConnectionAuthenticationObject {
password: 'somePassword';
alias: 'coreflow1';
}
-export declare let allSocketConnections: Objectmap;
+export declare let allSocketConnections: plugins.lik.Objectmap;
/**
* class SocketConnection represents a websocket connection
*/
diff --git a/dist/smartsocket.classes.socketconnection.js b/dist/smartsocket.classes.socketconnection.js
index eb52a30..8f3ac6b 100644
--- a/dist/smartsocket.classes.socketconnection.js
+++ b/dist/smartsocket.classes.socketconnection.js
@@ -36,6 +36,7 @@ class SocketConnection {
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);
@@ -62,7 +63,7 @@ class SocketConnection {
this.socket.on('function', (dataArg) => {
// check if requested function is available to the socket's scope
plugins.beautylog.log('function request received');
- let referencedFunction = this.role.allowedFunctions.find((socketFunctionArg) => {
+ let referencedFunction = this.role.allowedFunctions.find(socketFunctionArg => {
return socketFunctionArg.name === dataArg.funcCallData.funcName;
});
if (referencedFunction !== undefined) {
@@ -96,4 +97,4 @@ class SocketConnection {
}
}
exports.SocketConnection = SocketConnection;
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRjb25uZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRjb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaURBQWdEO0FBQ2hELGlEQUFnRDtBQUVoRCw2QkFBK0I7QUFLL0IsMkZBQWdIO0FBK0JoSCxpQkFBaUI7QUFDTixRQUFBLG9CQUFvQixHQUFHLElBQUksZUFBUyxFQUFvQixDQUFBO0FBRW5FOztHQUVHO0FBQ0g7SUFPRSxZQUFhLFVBQStDO1FBSjVELGtCQUFhLEdBQVksS0FBSyxDQUFBO1FBSzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQTtRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUE7UUFDN0MsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFBO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQTtRQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUE7UUFDakQsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFBO1FBRS9CLHlDQUF5QztRQUN6Qyw0QkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtZQUNoQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsSUFBSSxDQUFDLEtBQUssYUFBYSxJQUFJLENBQUMsSUFBSSxlQUFlLENBQUMsQ0FBQTtZQUN2RyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFBO1lBQ3hCLDRCQUFvQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNu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
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRjb25uZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRjb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaURBQWlEO0FBQ2pELGlEQUFpRDtBQUVqRCw2QkFBZ0M7QUFLaEMsMkZBSTZDO0FBa0M3QyxpQkFBaUI7QUFDTixRQUFBLG9CQUFvQixHQUFHLElBQUksZUFBUyxFQUFvQixDQUFDO0FBRXBFOztHQUVHO0FBQ0g7SUFPRSxZQUFZLFVBQStDO1FBSjNELGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBSzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDOUMsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUM7UUFDbEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBRWhDLHlDQUF5QztRQUN6Qyw0QkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtZQUNoQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDcEIsZ0NBQWdDLElBQUksQ0FBQyxLQUFLLGFBQWEsSUFBSSxDQUFDLElBQUksZUFBZSxDQUNoRixDQUFDO1lBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN6Qiw0QkFBb0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFD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
\ No newline at end of file
diff --git a/dist/smartsocket.classes.socketfunction.d.ts b/dist/smartsocket.classes.socketfunction.d.ts
index 8161d47..4373e5a 100644
--- a/dist/smartsocket.classes.socketfunction.d.ts
+++ b/dist/smartsocket.classes.socketfunction.d.ts
@@ -1,4 +1,4 @@
-import { Objectmap } from 'lik';
+import * as plugins from './smartsocket.plugins';
import { SocketRole } from './smartsocket.classes.socketrole';
/**
* interface of the contructor options of class SocketFunction
@@ -21,7 +21,7 @@ export interface ISocketFunctionCall {
export interface IFuncDef {
(dataArg: any): PromiseLike;
}
-export declare let allSocketFunctions: Objectmap;
+export declare let allSocketFunctions: plugins.lik.Objectmap;
/**
* class that respresents a function that can be transparently called using a SocketConnection
*/
diff --git a/dist/smartsocket.classes.socketfunction.js b/dist/smartsocket.classes.socketfunction.js
index 05f8ea7..5721808 100644
--- a/dist/smartsocket.classes.socketfunction.js
+++ b/dist/smartsocket.classes.socketfunction.js
@@ -28,8 +28,7 @@ class SocketFunction {
invoke(dataArg) {
let done = plugins.smartq.defer();
if (dataArg.funcName === this.name) {
- this.funcDef(dataArg.funcDataArg)
- .then((resultData) => {
+ this.funcDef(dataArg.funcDataArg).then((resultData) => {
let funcResponseData = {
funcName: this.name,
funcDataArg: resultData
@@ -50,4 +49,4 @@ class SocketFunction {
}
}
exports.SocketFunction = SocketFunction;
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRmdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc29ja2V0ZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpREFBZ0Q7QUFFaEQsaUJBQWlCO0FBQ2pCLDZCQUErQjtBQTZCL0IsaUJBQWlCO0FBQ04sUUFBQSxrQkFBa0IsR0FBRyxJQUFJLGVBQVMsRUFBa0IsQ0FBQTtBQUUvRCxpQkFBaUI7QUFFakI7O0dBRUc7QUFDSDtJQUtFOztPQUVHO0lBQ0gsWUFBYSxVQUE2QztRQUN4RCxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUE7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFBO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQTtRQUNwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLGFBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQ2pDLENBQUM7UUFDRCwwQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyw4QkFBOEI7SUFDN0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFFLE9BQTRCO1FBQ2xDLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDakMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7aUJBQzlCLElBQUksQ0FBQyxDQUFDLFVBQWUsRUFBRSxFQUFFO2dCQUN4QixJQUFJLGdCQUFnQixHQUF3QjtvQkFDMUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNuQixXQUFXLEVBQUUsVUFBVTtpQkFDeEIsQ0FBQTtnQkFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUE7WUFDaEMsQ0FBQyxDQUFDLENBQUE7UUFFTixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLCtEQUErRCxDQUFDLENBQUE7UUFDbEYsQ0FBQztRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNLLFdBQVcsQ0FBRSxhQUF5QjtRQUM1QyxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDdkMsQ0FBQztDQUNGO0FBN0NELHdDQTZDQyJ9
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRmdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmNsYXNzZXMuc29ja2V0ZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpREFBaUQ7QUFFakQsaUJBQWlCO0FBQ2pCLDZCQUFnQztBQTZCaEMsaUJBQWlCO0FBQ04sUUFBQSxrQkFBa0IsR0FBRyxJQUFJLGVBQVMsRUFBa0IsQ0FBQztBQUVoRSxpQkFBaUI7QUFFakI7O0dBRUc7QUFDSDtJQUtFOztPQUVHO0lBQ0gsWUFBWSxVQUE2QztRQUN2RCxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQztRQUNyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLGFBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFDRCwwQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyw4QkFBOEI7SUFDOUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE9BQTRCO1FBQ2pDLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFlLEVBQUUsRUFBRTtnQkFDekQsSUFBSSxnQkFBZ0IsR0FBd0I7b0JBQzFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSTtvQkFDbkIsV0FBVyxFQUFFLFVBQVU7aUJBQ3hCLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO1FBQ25GLENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSyxXQUFXLENBQUMsYUFBeUI7UUFDM0MsYUFBYSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDRjtBQTNDRCx3Q0EyQ0MifQ==
\ No newline at end of file
diff --git a/dist/smartsocket.classes.socketrequest.d.ts b/dist/smartsocket.classes.socketrequest.d.ts
index bb951f9..26d1be2 100644
--- a/dist/smartsocket.classes.socketrequest.d.ts
+++ b/dist/smartsocket.classes.socketrequest.d.ts
@@ -1,6 +1,5 @@
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';
@@ -21,7 +20,7 @@ export interface ISocketRequestDataObject {
shortId: string;
responseTimeout?: number;
}
-export declare let allSocketRequests: Objectmap;
+export declare let allSocketRequests: plugins.lik.Objectmap;
export declare class SocketRequest {
status: TSocketRequestStatus;
side: TSocketRequestSide;
diff --git a/dist/smartsocket.classes.socketrequest.js b/dist/smartsocket.classes.socketrequest.js
index 8e6d68d..410e437 100644
--- a/dist/smartsocket.classes.socketrequest.js
+++ b/dist/smartsocket.classes.socketrequest.js
@@ -44,8 +44,7 @@ class SocketRequest {
createResponse() {
let targetSocketFunction = helpers.getSocketFunctionByName(this.funcCallData.funcName);
plugins.beautylog.info(`invoking ${targetSocketFunction.name}`);
- targetSocketFunction.invoke(this.funcCallData)
- .then((resultData) => {
+ targetSocketFunction.invoke(this.funcCallData).then(resultData => {
plugins.beautylog.log('got resultData. Sending it to requesting party.');
let requestData = {
funcCallData: resultData,
@@ -57,4 +56,4 @@ class SocketRequest {
}
}
exports.SocketRequest = SocketRequest;
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaURBQWdEO0FBQ2hELGlEQUFnRDtBQUtoRCxpQkFBaUI7QUFDakIsNkJBQStCO0FBMkIvQixpQkFBaUI7QUFDTixRQUFBLGlCQUFpQixHQUFHLElBQUksZUFBUyxFQUFpQixDQUFBO0FBRTdELGlCQUFpQjtBQUNqQjtJQU9FLFlBQWEsVUFBMkM7UUFOeEQsV0FBTSxHQUF5QixLQUFLLENBQUE7UUFLcEMsU0FBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7UUFFM0IsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFBO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQTtRQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUE7UUFDM0MsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQTtRQUMvRCx5QkFBaUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDN0IsQ0FBQztJQUVELHdDQUF3QztJQUV4Qzs7T0FFRztJQUNILFFBQVE7UUFDTixJQUFJLFdBQVcsR0FBNkI7WUFDMUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFBO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBQ2hFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUUsZUFBeUM7UUFDdkQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDL0MseUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2hDLENBQUM7SUFFRCx3Q0FBd0M7SUFFeEM7O09BRUc7SUFDSCxjQUFjO1FBQ1osSUFBSSxvQkFBb0IsR0FBbUIsT0FBTyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDdEcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQy9ELG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQzNDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ25CLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGlEQUFpRCxDQUFDLENBQUE7WUFDeEUsSUFBSSxXQUFXLEdBQTZCO2dCQUMxQyxZQUFZLEVBQUUsVUFBVTtnQkFDeEIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3RCLENBQUE7WUFDRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLENBQUMsQ0FBQTtZQUN4RSx5QkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDaEMsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0NBQ0Y7QUF6REQsc0NBeURDIn0=
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaURBQWlEO0FBQ2pELGlEQUFpRDtBQUtqRCxpQkFBaUI7QUFDakIsNkJBQWdDO0FBMkJoQyxpQkFBaUI7QUFDTixRQUFBLGlCQUFpQixHQUFHLElBQUksZUFBUyxFQUFpQixDQUFDO0FBRTlELGlCQUFpQjtBQUNqQjtJQU9FLFlBQVksVUFBMkM7UUFOdkQsV0FBTSxHQUF5QixLQUFLLENBQUM7UUFLckMsU0FBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFNUIsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUNsQyxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUM7UUFDNUMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQztRQUNoRSx5QkFBaUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELHdDQUF3QztJQUV4Qzs7T0FFRztJQUNILFFBQVE7UUFDTixJQUFJLFdBQVcsR0FBNkI7WUFDMUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDO1FBQ0YsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUMsZUFBeUM7UUFDdEQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEQseUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCx3Q0FBd0M7SUFFeEM7O09BRUc7SUFDSCxjQUFjO1FBQ1osSUFBSSxvQkFBb0IsR0FBbUIsT0FBTyxDQUFDLHVCQUF1QixDQUN4RSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FDM0IsQ0FBQztRQUNGLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksb0JBQW9CLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNoRSxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMvRCxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO1lBQ3pFLElBQUksV0FBVyxHQUE2QjtnQkFDMUMsWUFBWSxFQUFFLFVBQVU7Z0JBQ3hCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUN0QixDQUFDO1lBQ0YsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDekUseUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBMURELHNDQTBEQyJ9
\ No newline at end of file
diff --git a/dist/smartsocket.classes.socketrole.d.ts b/dist/smartsocket.classes.socketrole.d.ts
index f810fb9..d89ca6b 100644
--- a/dist/smartsocket.classes.socketrole.d.ts
+++ b/dist/smartsocket.classes.socketrole.d.ts
@@ -1,5 +1,5 @@
-import { Objectmap } from "lik";
-import { SocketFunction } from "./smartsocket.classes.socketfunction";
+import * as plugins from './smartsocket.plugins';
+import { SocketFunction } from './smartsocket.classes.socketfunction';
/**
* interface for class SocketRole
*/
@@ -13,7 +13,7 @@ export interface SocketRoleOptions {
export declare class SocketRole {
name: string;
passwordHash: string;
- allowedFunctions: Objectmap;
+ allowedFunctions: plugins.lik.Objectmap;
constructor(optionsArg: SocketRoleOptions);
addSocketFunction(socketFunctionArg: SocketFunction): void;
}
diff --git a/dist/smartsocket.classes.socketrole.js b/dist/smartsocket.classes.socketrole.js
index 9ee9cd0..044847f 100644
--- a/dist/smartsocket.classes.socketrole.js
+++ b/dist/smartsocket.classes.socketrole.js
@@ -11,10 +11,9 @@ class SocketRole {
this.name = optionsArg.name;
this.passwordHash = optionsArg.passwordHash;
}
- ;
addSocketFunction(socketFunctionArg) {
this.allowedFunctions.add(socketFunctionArg);
}
}
exports.SocketRole = SocketRole;
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyb2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsaUJBQWlCO0FBQ2pCLDZCQUFnQztBQVloQzs7R0FFRztBQUNIO0lBSUksWUFBWSxVQUE2QjtRQUR6QyxxQkFBZ0IsR0FBRyxJQUFJLGVBQVMsRUFBa0IsQ0FBQztRQUUvQyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO0lBQ2hELENBQUM7SUFBQSxDQUFDO0lBQ0YsaUJBQWlCLENBQUMsaUJBQWdDO1FBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0NBQ0o7QUFYRCxnQ0FXQyJ9
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyb2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzb2NrZXQuY2xhc3Nlcy5zb2NrZXRyb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsaUJBQWlCO0FBQ2pCLDZCQUFnQztBQVdoQzs7R0FFRztBQUNIO0lBSUUsWUFBWSxVQUE2QjtRQUR6QyxxQkFBZ0IsR0FBRyxJQUFJLGVBQVMsRUFBa0IsQ0FBQztRQUVqRCxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO0lBQzlDLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxpQkFBaUM7UUFDakQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0FDRjtBQVhELGdDQVdDIn0=
\ No newline at end of file
diff --git a/dist/smartsocket.helpers.d.ts b/dist/smartsocket.helpers.d.ts
index 2cbbc32..8bdfe5c 100644
--- a/dist/smartsocket.helpers.d.ts
+++ b/dist/smartsocket.helpers.d.ts
@@ -1,8 +1,8 @@
-import { Smartsocket } from "./smartsocket.classes.smartsocket";
-import { SocketFunction } from "./smartsocket.classes.socketfunction";
-import { ISocketConnectionAuthenticationObject } from "./smartsocket.classes.socketconnection";
-import { SocketRequest, TSocketRequestSide } from "./smartsocket.classes.socketrequest";
-import { SocketRole } from "./smartsocket.classes.socketrole";
+import { Smartsocket } from './smartsocket.classes.smartsocket';
+import { SocketFunction } from './smartsocket.classes.socketfunction';
+import { ISocketConnectionAuthenticationObject } from './smartsocket.classes.socketconnection';
+import { SocketRequest, TSocketRequestSide } from './smartsocket.classes.socketrequest';
+import { SocketRole } from './smartsocket.classes.socketrole';
export declare let checkPasswordForRole: (dataArg: ISocketConnectionAuthenticationObject, referenceSmartsocket: Smartsocket) => boolean;
export declare let getSocketFunctionByName: (functionNameArg: string) => SocketFunction;
/**
diff --git a/dist/smartsocket.helpers.js b/dist/smartsocket.helpers.js
index 72d90ea..f5f8d16 100644
--- a/dist/smartsocket.helpers.js
+++ b/dist/smartsocket.helpers.js
@@ -11,20 +11,26 @@ exports.checkPasswordForRole = (dataArg, referenceSmartsocket) => {
};
// SocketFunction helpers
exports.getSocketFunctionByName = (functionNameArg) => {
- return smartsocket_classes_socketfunction_1.allSocketFunctions.find((socketFunctionArg) => { return socketFunctionArg.name === functionNameArg; });
+ return smartsocket_classes_socketfunction_1.allSocketFunctions.find(socketFunctionArg => {
+ return socketFunctionArg.name === functionNameArg;
+ });
};
// SocketRequest helpers
/**
* get corresponding Socketrequest instance by shortId
*/
exports.getSocketRequestById = (shortIdArg, requestSide) => {
- return smartsocket_classes_socketrequest_1.allSocketRequests.find((socketRequestArg) => { return socketRequestArg.shortid === shortIdArg; });
+ return smartsocket_classes_socketrequest_1.allSocketRequests.find(socketRequestArg => {
+ return socketRequestArg.shortid === shortIdArg;
+ });
};
// SocketRole helpers
/**
* get corresponding SocketRole instance by name
*/
exports.getSocketRoleByName = (socketRoleNameArg, referenceSmartsocket) => {
- return referenceSmartsocket.socketRoles.find((socketRoleArg) => { return socketRoleArg.name === socketRoleNameArg; });
+ return referenceSmartsocket.socketRoles.find(socketRoleArg => {
+ return socketRoleArg.name === socketRoleNameArg;
+ });
};
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpREFBaUQ7QUFJakQsNkZBQTBGO0FBRTFGLDJGQUEyRztBQUczRywyQkFBMkI7QUFDaEIsUUFBQSxvQkFBb0IsR0FBRyxDQUFDLE9BQThDLEVBQUUsb0JBQWdDLEVBQVcsRUFBRTtJQUM1SCxJQUFJLGtCQUFrQixHQUFHLDJCQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUMsb0JBQW9CLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDN0YsSUFBSSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRixNQUFNLENBQUMsa0JBQWtCLEtBQUssbUJBQW1CLENBQUM7QUFDdEQsQ0FBQyxDQUFBO0FBR0QseUJBQXlCO0FBQ2QsUUFBQSx1QkFBdUIsR0FBRyxDQUFDLGVBQXVCLEVBQWtCLEVBQUU7SUFDN0UsTUFBTSxDQUFDLHVEQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEVBQUUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pILENBQUMsQ0FBQTtBQUVELHdCQUF3QjtBQUV4Qjs7R0FFRztBQUNRLFFBQUEsb0JBQW9CLEdBQUcsQ0FBQyxVQUFrQixFQUFFLFdBQWdDLEVBQWlCLEVBQUU7SUFDdEcsTUFBTSxDQUFDLHFEQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxLQUFLLFVBQVUsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQzNHLENBQUMsQ0FBQTtBQUVELHFCQUFxQjtBQUVyQjs7R0FFRztBQUNRLFFBQUEsbUJBQW1CLEdBQUcsQ0FBQyxpQkFBeUIsRUFBQyxvQkFBZ0MsRUFBYyxFQUFFO0lBQ3hHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ3hILENBQUMsQ0FBQyJ9
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpREFBaUQ7QUFJakQsNkZBQTBGO0FBSzFGLDJGQUk2QztBQUc3QywyQkFBMkI7QUFDaEIsUUFBQSxvQkFBb0IsR0FBRyxDQUNoQyxPQUE4QyxFQUM5QyxvQkFBaUMsRUFDeEIsRUFBRTtJQUNYLElBQUksa0JBQWtCLEdBQUcsMkJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUM5RixJQUFJLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xGLE1BQU0sQ0FBQyxrQkFBa0IsS0FBSyxtQkFBbUIsQ0FBQztBQUNwRCxDQUFDLENBQUM7QUFFRix5QkFBeUI7QUFDZCxRQUFBLHVCQUF1QixHQUFHLENBQUMsZUFBdUIsRUFBa0IsRUFBRTtJQUMvRSxNQUFNLENBQUMsdURBQWtCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7UUFDakQsTUFBTSxDQUFDLGlCQUFpQixDQUFDLElBQUksS0FBSyxlQUFlLENBQUM7SUFDcEQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRix3QkFBd0I7QUFFeEI7O0dBRUc7QUFDUSxRQUFBLG9CQUFvQixHQUFHLENBQ2hDLFVBQWtCLEVBQ2xCLFdBQWdDLEVBQ2pCLEVBQUU7SUFDakIsTUFBTSxDQUFDLHFEQUFpQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1FBQy9DLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEtBQUssVUFBVSxDQUFDO0lBQ2pELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYscUJBQXFCO0FBRXJCOztHQUVHO0FBQ1EsUUFBQSxtQkFBbUIsR0FBRyxDQUMvQixpQkFBeUIsRUFDekIsb0JBQWlDLEVBQ3JCLEVBQUU7SUFDZCxNQUFNLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtRQUMzRCxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQztJQUNsRCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyJ9
\ No newline at end of file
diff --git a/dist/smartsocket.plugins.d.ts b/dist/smartsocket.plugins.d.ts
index 1fc5052..c381d46 100644
--- a/dist/smartsocket.plugins.d.ts
+++ b/dist/smartsocket.plugins.d.ts
@@ -1,4 +1,3 @@
-import 'typings-global';
export import beautylog = require('beautylog');
export import lik = require('lik');
export import nodehash = require('nodehash');
diff --git a/dist/smartsocket.plugins.js b/dist/smartsocket.plugins.js
index 44c5f33..a4f199b 100644
--- a/dist/smartsocket.plugins.js
+++ b/dist/smartsocket.plugins.js
@@ -1,6 +1,5 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
-require("typings-global");
exports.beautylog = require("beautylog");
exports.lik = require("lik");
exports.nodehash = require("nodehash");
@@ -9,4 +8,4 @@ exports.smartq = require("smartq");
exports.shortid = require("shortid");
exports.socketIo = require("socket.io");
exports.socketIoClient = require("socket.io-client");
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQkFBdUI7QUFDdkIseUNBQThDO0FBQzlDLDZCQUFtQztBQUNuQyx1Q0FBNEM7QUFDNUMsMkNBQWdEO0FBQ2hELG1DQUF3QztBQUN4QyxxQ0FBMEM7QUFDMUMsd0NBQTZDO0FBQzdDLHFEQUEwRCJ9
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2NrZXQucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c29ja2V0LnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5Q0FBK0M7QUFDL0MsNkJBQW1DO0FBQ25DLHVDQUE2QztBQUM3QywyQ0FBaUQ7QUFDakQsbUNBQXlDO0FBQ3pDLHFDQUEyQztBQUMzQyx3Q0FBOEM7QUFDOUMscURBQTJEIn0=
\ No newline at end of file
diff --git a/docs/index.md b/docs/index.md
index 246c0ff..524512e 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,13 +1,16 @@
# smartsocket
+
easy and secure websocket communication, TypeScript ready
## Availabililty
+
[![npm](https://pushrocks.gitlab.io/assets/repo-button-npm.svg)](https://www.npmjs.com/package/smartsocket)
[![git](https://pushrocks.gitlab.io/assets/repo-button-git.svg)](https://GitLab.com/pushrocks/smartsocket)
[![git](https://pushrocks.gitlab.io/assets/repo-button-mirror.svg)](https://github.com/pushrocks/smartsocket)
[![docs](https://pushrocks.gitlab.io/assets/repo-button-docs.svg)](https://pushrocks.gitlab.io/smartsocket/)
## Status for master
+
[![build status](https://GitLab.com/pushrocks/smartsocket/badges/master/build.svg)](https://GitLab.com/pushrocks/smartsocket/commits/master)
[![coverage report](https://GitLab.com/pushrocks/smartsocket/badges/master/coverage.svg)](https://GitLab.com/pushrocks/smartsocket/commits/master)
[![npm downloads per month](https://img.shields.io/npm/dm/smartsocket.svg)](https://www.npmjs.com/package/smartsocket)
@@ -19,37 +22,39 @@ easy and secure websocket communication, TypeScript ready
[![JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)
## Usage
+
Use TypeScript for best in class instellisense.
Under the hood we use socket.io and shortid for managed data exchange.
### Serverside
+
```typescript
-import * as smartsocket from "smartsocket";
-import * as q from q // q is a promise library
+import * as smartsocket from 'smartsocket';
+import * as q from q; // q is a promise library
// The "Smartsocket" listens on a port and can receive new "SocketConnection" requests.
let mySmartsocket = new smartsocket.Smartsocket({
- port: 3000 // the port smartsocket will listen on
+ port: 3000 // the port smartsocket will listen on
});
// A "SocketRole" can be referenced by "SocketFunction"s.
// All "SocketRequest"s carry authentication data for a specific "SocketRole".
// "SocketFunction"s know which "SocketRole"s are allowed to execute them
let mySocketRole = new smartsocket.SocketRole({
- name: "someRoleName",
- passwordHash: "someHashedString"
+ name: 'someRoleName',
+ passwordHash: 'someHashedString'
});
// A "SocketFunction" executes a referenced function and passes in any data of the corresponding "SocketRequest".
// The referenced function must return a promise and resolve with data of type any.
-// Any "SocketRequest" carries a unique identifier. If the referenced function's promise resolved any passed on argument will be returned to the requesting party
+// Any "SocketRequest" carries a unique identifier. If the referenced function's promise resolved any passed on argument will be returned to the requesting party
let testSocketFunction1 = new smartsocket.SocketFunction({
- funcName:"testSocketFunction1",
- funcDef:(data) => {
- console.log('testSocketFunction1 executed successfully!')
- },
- allowedRoles:[mySocketRole] // all roles that have access to a specific function
+ funcName: 'testSocketFunction1',
+ funcDef: data => {
+ console.log('testSocketFunction1 executed successfully!');
+ },
+ allowedRoles: [mySocketRole] // all roles that have access to a specific function
});
// A "Smartsocket" exposes a .clientCall() that gets
@@ -57,55 +62,50 @@ let testSocketFunction1 = new smartsocket.SocketFunction({
// 2. the data to pass in
// 3. And a target "SocketConnection" (there can be multiple connections at once)
// any unique id association is done internally
-mySmartsocket.clientCall("restart",data,someTargetConnection)
- .then((responseData) => {
-
- });
+mySmartsocket.clientCall('restart', data, someTargetConnection).then(responseData => {});
```
#### Client side
+
```typescript
-import * as smartsocket from "smartsocket";
+import * as smartsocket from 'smartsocket';
// A "SmartsocketClient" is different from a "Smartsocket" in that it doesn't expose any public address.
// Thus any new "SocketConnection"s must be innitiated from a "SmartsocketClient".
let testSmartsocketClient = new smartsocket.SmartsocketClient({
- port: testConfig.port,
- url: "http://localhost",
- password: "testPassword",
- alias: "testClient1",
- role: "testRole1"
+ port: testConfig.port,
+ url: 'http://localhost',
+ password: 'testPassword',
+ alias: 'testClient1',
+ role: 'testRole1'
});
// You can .connect() and .disconnect() from a "Smartsocket"
-testSmartsocketClient.connect()
- .then(() => {
- done();
- });
+testSmartsocketClient.connect().then(() => {
+ done();
+});
// The client can also specify "SocketFunction"s. It can also specify "SocketRole"s in case a client connects to multiple servers at once
let testSocketFunction2 = new smartsocket.SocketFunction({
- funcName: "testSocketFunction2",
- funcDef: (data) => {}, // the function to execute, has to return promise
- allowedRoles:[]
+ funcName: 'testSocketFunction2',
+ funcDef: data => {}, // the function to execute, has to return promise
+ allowedRoles: []
});
-
// A "SmartsocketClient" can call functions on the serverside using .serverCall() analog to the "Smartsocket"'s .clientCall method.
-mySmartsocketClient.serverCall("function",functionCallData)
- .then((functionResponseData) => { // the functionResponseData comes from the server... awesome, right?
-
- });;
+mySmartsocketClient.serverCall('function', functionCallData).then(functionResponseData => {
+ // the functionResponseData comes from the server... awesome, right?
+});
```
> **NOTE:**
-you can easily chain dependent requests on either the server or client side with promises.
-`data` is always a js object that you can design for your specific needs.
-It supports buffers for large binary data network exchange.
+> you can easily chain dependent requests on either the server or client side with promises.
+> `data` is always a js object that you can design for your specific needs.
+> It supports buffers for large binary data network exchange.
For further information read the linked docs at the top of this README.
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
-| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
+> | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
[![repo-footer](https://pushrocks.gitlab.io/assets/repo-footer.svg)](https://push.rocks)
diff --git a/npmextra.json b/npmextra.json
index aae90fd..941bedb 100644
--- a/npmextra.json
+++ b/npmextra.json
@@ -1,7 +1,7 @@
{
"npmts":{},
"npmci": {
- "globalNpmTools": [
+ "npmGlobalTools": [
"npmts"
]
}
diff --git a/package.json b/package.json
index fee036c..e4b6a1b 100644
--- a/package.json
+++ b/package.json
@@ -19,19 +19,18 @@
"homepage": "https://gitlab.com/pushrocks/smartsocket#README",
"dependencies": {
"@types/shortid": "0.0.29",
- "@types/socket.io": "^1.4.31",
- "@types/socket.io-client": "^1.4.30",
+ "@types/socket.io": "^1.4.32",
+ "@types/socket.io-client": "^1.4.32",
"beautylog": "^6.1.10",
- "lik": "^1.0.42",
+ "lik": "^2.0.5",
"nodehash": "^1.0.4",
"shortid": "^2.2.8",
- "smartdelay": "^1.0.3",
+ "smartdelay": "^1.0.4",
"smartq": "^1.1.6",
- "socket.io": "^2.0.3",
- "socket.io-client": "^2.0.3",
- "typings-global": "^1.0.20"
+ "socket.io": "^2.0.4",
+ "socket.io-client": "^2.0.4"
},
"devDependencies": {
- "tapbundle": "^1.1.1"
+ "tapbundle": "^2.0.0"
}
}
diff --git a/test/test.ts b/test/test.ts
index 12b5b58..d564a68 100644
--- a/test/test.ts
+++ b/test/test.ts
@@ -1,113 +1,120 @@
-import { expect, tap } from 'tapbundle'
+import { expect, tap } from 'tapbundle';
-import socketIoClient = require('socket.io-client')
-import smartsocket = require('../ts/index')
-import smartq = require('smartq')
-import nodehash = require('nodehash')
+import socketIoClient = require('socket.io-client');
+import smartsocket = require('../ts/index');
+import smartq = require('smartq');
+import nodehash = require('nodehash');
-let testSmartsocket: smartsocket.Smartsocket
-let testSmartsocketClient: smartsocket.SmartsocketClient
-let testSocketRole1: smartsocket.SocketRole
-let testSocketFunction1: smartsocket.SocketFunction
+let testSmartsocket: smartsocket.Smartsocket;
+let testSmartsocketClient: smartsocket.SmartsocketClient;
+let testSocketRole1: smartsocket.SocketRole;
+let testSocketFunction1: smartsocket.SocketFunction;
let testConfig = {
port: 3000
-}
+};
// class smartsocket
tap.test('should create a new smartsocket', async () => {
- testSmartsocket = new smartsocket.Smartsocket({ port: testConfig.port })
- expect(testSmartsocket).be.instanceOf(smartsocket.Smartsocket)
-})
+ testSmartsocket = new smartsocket.Smartsocket({ port: testConfig.port });
+ expect(testSmartsocket).be.instanceOf(smartsocket.Smartsocket);
+});
tap.test('should start listening when .started is called', async () => {
- testSmartsocket.startServer()
-})
+ testSmartsocket.startServer();
+});
// class socketrole
tap.test('should add a socketrole', async () => {
testSocketRole1 = new smartsocket.SocketRole({
name: 'testRole1',
passwordHash: nodehash.sha256FromStringSync('testPassword')
- })
- testSmartsocket.addSocketRoles([ testSocketRole1 ])
-})
+ });
+ testSmartsocket.addSocketRoles([testSocketRole1]);
+});
// class SocketFunction
tap.test('should register a new Function', async () => {
testSocketFunction1 = new smartsocket.SocketFunction({
funcName: 'testFunction1',
- funcDef: async (dataArg) => {
- return dataArg
+ funcDef: async dataArg => {
+ return dataArg;
},
- allowedRoles: [ testSocketRole1 ]
- })
-})
+ allowedRoles: [testSocketRole1]
+ });
+});
// class SmartsocketClient
tap.test('should react to a new websocket connection from client', async () => {
- let done = smartq.defer()
+ 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()
- })
- await done.promise
-})
+ });
+ testSmartsocketClient.connect().then(() => {
+ done.resolve();
+ });
+ await done.promise;
+});
tap.test('client should disconnect and reconnect', async () => {
- let done = smartq.defer()
- testSmartsocketClient.disconnect()
+ let done = smartq.defer();
+ testSmartsocketClient
+ .disconnect()
.then(() => {
- let done = smartq.defer()
+ let done = smartq.defer();
setTimeout(() => {
- testSmartsocketClient.connect()
- .then(done.resolve)
- }, 0)
- return done.promise
+ testSmartsocketClient.connect().then(done.resolve);
+ }, 0);
+ return done.promise;
})
.then(() => {
- done.resolve()
- })
- await done.promise
-})
+ 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
-})
+ 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 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()
- })
-})
+ 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 () => {
- await testSmartsocket.closeServer()
-})
+ await testSmartsocket.closeServer();
+});
-tap.start()
+tap.start();
diff --git a/ts/index.ts b/ts/index.ts
index 4b766ff..ef2a75e 100644
--- a/ts/index.ts
+++ b/ts/index.ts
@@ -1,10 +1,10 @@
-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';
diff --git a/ts/smartsocket.classes.smartsocket.ts b/ts/smartsocket.classes.smartsocket.ts
index b75c20f..80919bf 100644
--- a/ts/smartsocket.classes.smartsocket.ts
+++ b/ts/smartsocket.classes.smartsocket.ts
@@ -1,65 +1,68 @@
-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 * as http from 'http'
+import * as http from 'http';
// 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';
+
+// socket.io
+import * as SocketIO from 'socket.io';
export interface ISmartsocketConstructorOptions {
- port: number
+ port: number;
}
export class Smartsocket {
- options: ISmartsocketConstructorOptions
- httpServer: http.Server
- io: SocketIO.Server
- openSockets = new Objectmap()
- socketRoles = new Objectmap()
- constructor (optionsArg: ISmartsocketConstructorOptions) {
- this.options = optionsArg
+ options: ISmartsocketConstructorOptions;
+ httpServer: http.Server;
+ io: SocketIO.Server;
+ openSockets = new Objectmap();
+ socketRoles = new Objectmap();
+ constructor(optionsArg: ISmartsocketConstructorOptions) {
+ this.options = optionsArg;
}
/**
* starts listening to incoming sockets:
*/
- async startServer () {
- let done = plugins.smartq.defer()
+ async startServer() {
+ let done = plugins.smartq.defer();
if (!this.httpServer) {
- this.httpServer = new http.Server()
+ this.httpServer = new http.Server();
}
- this.io = plugins.socketIo(this.httpServer)
- this.io.on('connection', (socketArg) => {
- this._handleSocketConnection(socketArg)
- })
+ this.io = plugins.socketIo(this.httpServer);
+ this.io.on('connection', socketArg => {
+ this._handleSocketConnection(socketArg);
+ });
this.httpServer.listen(this.options.port, () => {
- done.resolve()
- })
- return await done.promise
+ done.resolve();
+ });
+ return await done.promise;
}
/**
* starts the server with another server
*/
async setServer(httpServerArg: http.Server) {
- this.httpServer = httpServerArg
+ this.httpServer = httpServerArg;
}
/**
* closes the server
*/
- async closeServer () {
- await plugins.smartdelay.delayFor(1000)
+ async closeServer() {
+ await plugins.smartdelay.delayFor(1000);
this.openSockets.forEach((socketObjectArg: SocketConnection) => {
- plugins.beautylog.log(`disconnect socket with >>alias ${socketObjectArg.alias}`)
- socketObjectArg.socket.disconnect()
- })
- this.openSockets.wipe()
- this.io.close()
+ plugins.beautylog.log(`disconnect socket with >>alias ${socketObjectArg.alias}`);
+ socketObjectArg.socket.disconnect();
+ });
+ this.openSockets.wipe();
+ this.io.close();
}
// communication
@@ -67,8 +70,8 @@ export class Smartsocket {
/**
* allows call to specific client.
*/
- clientCall (functionNameArg: string, dataArg: any, targetSocketConnectionArg: SocketConnection) {
- let done = plugins.smartq.defer()
+ clientCall(functionNameArg: string, dataArg: any, targetSocketConnectionArg: SocketConnection) {
+ let done = plugins.smartq.defer();
let socketRequest = new SocketRequest({
side: 'requesting',
originSocketConnection: targetSocketConnectionArg,
@@ -77,28 +80,27 @@ export class Smartsocket {
funcName: functionNameArg,
funcDataArg: dataArg
}
- })
- socketRequest.dispatch()
- .then((dataArg: ISocketFunctionCall) => {
- done.resolve(dataArg.funcDataArg)
- })
- return done.promise
+ });
+ socketRequest.dispatch().then((dataArg: ISocketFunctionCall) => {
+ done.resolve(dataArg.funcDataArg);
+ });
+ return done.promise;
}
/**
* adds socketRoles
*/
- addSocketRoles (socketRolesArray: SocketRole[]): void {
+ addSocketRoles(socketRolesArray: SocketRole[]): void {
for (let socketRole of socketRolesArray) {
- this.socketRoles.add(socketRole)
+ this.socketRoles.add(socketRole);
}
- return
+ return;
}
/**
* the standard handler for new socket connections
*/
- private _handleSocketConnection (socketArg) {
+ private _handleSocketConnection(socketArg) {
let socketConnection: SocketConnection = new SocketConnection({
alias: undefined,
authenticated: false,
@@ -106,16 +108,16 @@ export class Smartsocket {
side: 'server',
smartsocketHost: this,
socket: socketArg
- })
- plugins.beautylog.log('Socket connected. Trying to authenticate...')
- this.openSockets.add(socketConnection)
- socketConnection.authenticate()
+ });
+ plugins.beautylog.log('Socket connected. Trying to authenticate...');
+ this.openSockets.add(socketConnection);
+ socketConnection
+ .authenticate()
.then(() => {
- return socketConnection.listenToFunctionRequests()
- })
- .catch((err) => {
- console.log(err)
+ return socketConnection.listenToFunctionRequests();
})
+ .catch(err => {
+ console.log(err);
+ });
}
-
}
diff --git a/ts/smartsocket.classes.smartsocketclient.ts b/ts/smartsocket.classes.smartsocketclient.ts
index 436429a..d38167a 100644
--- a/ts/smartsocket.classes.smartsocketclient.ts
+++ b/ts/smartsocket.classes.smartsocketclient.ts
@@ -1,47 +1,46 @@
-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
+ 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
+ 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.smartq.defer()
- plugins.beautylog.log('trying to connect...')
- let socketUrl = `${this.serverUrl}:${this.serverPort}`
+ 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,
@@ -49,35 +48,35 @@ export class SmartsocketClient {
side: 'client',
smartsocketHost: null,
socket: plugins.socketIoClient(socketUrl, { multiplex: false })
- })
+ });
this.socketConnection.socket.on('requestAuth', () => {
- console.log('server requested authentication')
+ 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
+ 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
+ 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()
+
+ serverCall(functionNameArg: string, dataArg: any) {
+ let done = plugins.smartq.defer();
let socketRequest = new SocketRequest({
side: 'requesting',
originSocketConnection: this.socketConnection,
@@ -86,12 +85,10 @@ export class SmartsocketClient {
funcName: functionNameArg,
funcDataArg: dataArg
}
- })
- socketRequest.dispatch()
- .then((dataArg: ISocketFunctionCall) => {
- done.resolve(dataArg.funcDataArg)
- })
- return done.promise
+ });
+ 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 26b85b5..961f2c2 100644
--- a/ts/smartsocket.classes.socketconnection.ts
+++ b/ts/smartsocket.classes.socketconnection.ts
@@ -1,70 +1,79 @@
-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';
+
+// socket.io
+import * as SocketIO from 'socket.io';
// 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: 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
+ 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;
// standard behaviour that is always true
- allSocketConnections.add(this)
+ allSocketConnections.add(this);
this.socket.on('disconnect', () => {
- plugins.beautylog.info(`SocketConnection with >alias ${this.alias} on >side ${this.side} disconnected`)
- this.socket.disconnect()
- allSocketConnections.remove(this)
- })
+ plugins.beautylog.info(
+ `SocketConnection with >alias ${this.alias} on >side ${this.side} disconnected`
+ );
+ this.socket.disconnect();
+ allSocketConnections.remove(this);
+ });
}
// authenticating --------------------------
@@ -72,26 +81,29 @@ export class SocketConnection {
/**
* authenticate the socket
*/
- authenticate () {
- let done = plugins.smartq.defer()
+ 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)
+ 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.authenticated = false;
+ this.socket.disconnect();
+ done.reject('not authenticated');
}
- })
- this.socket.emit('requestAuth')
- return done.promise
+ });
+ this.socket.emit('requestAuth');
+ return done.promise;
}
// listening -------------------------------
@@ -99,43 +111,44 @@ export class SocketConnection {
/**
* listen to function requests
*/
- listenToFunctionRequests () {
- let done = plugins.smartq.defer()
+ 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
- })
+ 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')
+ 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
+ });
+ 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: 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)
+ 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)
+ let errMessage: 'socket needs to be authenticated first';
+ plugins.beautylog.error(errMessage);
+ done.reject(errMessage);
}
- return done.promise
+ return done.promise;
}
// sending ----------------------
-
}
diff --git a/ts/smartsocket.classes.socketfunction.ts b/ts/smartsocket.classes.socketfunction.ts
index 90ae3db..e2f069c 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,48 +39,46 @@ 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
+ constructor(optionsArg: ISocketFunctionConstructorOptions) {
+ this.name = optionsArg.funcName;
+ this.funcDef = optionsArg.funcDef;
+ this.roles = optionsArg.allowedRoles;
for (let socketRoleArg of this.roles) {
- this._notifyRole(socketRoleArg)
+ this._notifyRole(socketRoleArg);
}
- allSocketFunctions.add(this) // map instance with Objectmap
+ allSocketFunctions.add(this); // map instance with Objectmap
}
/**
* invokes the function of this SocketFunction
*/
- invoke (dataArg: ISocketFunctionCall): Promise {
- let done = plugins.smartq.defer()
+ 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)
- })
-
+ 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!")
+ throw new Error("SocketFunction.name does not match the data argument's .name!");
}
- return done.promise
+ return done.promise;
}
/**
* notifies a role about access to this SocketFunction
*/
- private _notifyRole (socketRoleArg: SocketRole) {
- socketRoleArg.addSocketFunction(this)
+ private _notifyRole(socketRoleArg: SocketRole) {
+ socketRoleArg.addSocketFunction(this);
}
}
diff --git a/ts/smartsocket.classes.socketrequest.ts b/ts/smartsocket.classes.socketrequest.ts
index 921dc37..9cfdb23 100644
--- a/ts/smartsocket.classes.socketrequest.ts
+++ b/ts/smartsocket.classes.socketrequest.ts
@@ -1,54 +1,54 @@
-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 let allSocketRequests = new Objectmap();
// export classes
export class SocketRequest {
- 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)
+ 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 --------------------------
@@ -56,22 +56,22 @@ export class SocketRequest {
/**
* dispatches a socketrequest from the requesting to the receiving side
*/
- dispatch () {
+ dispatch() {
let requestData: ISocketRequestDataObject = {
funcCallData: this.funcCallData,
shortId: this.shortid
- }
- this.originSocketConnection.socket.emit('function', requestData)
- return this.done.promise
+ };
+ 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)
+ handleResponse(responseDataArg: ISocketRequestDataObject) {
+ plugins.beautylog.log('handling response!');
+ this.done.resolve(responseDataArg.funcCallData);
+ allSocketRequests.remove(this);
}
// responding --------------------------
@@ -79,18 +79,19 @@ export class SocketRequest {
/**
* 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)
- })
+ 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);
+ });
}
}
diff --git a/ts/smartsocket.classes.socketrole.ts b/ts/smartsocket.classes.socketrole.ts
index 0fb1f4b..25bf229 100644
--- a/ts/smartsocket.classes.socketrole.ts
+++ b/ts/smartsocket.classes.socketrole.ts
@@ -1,30 +1,29 @@
-import * as plugins from "./smartsocket.plugins";
+import * as plugins from './smartsocket.plugins';
// import classes
-import { Objectmap } from "lik";
-import { SocketFunction } from "./smartsocket.classes.socketfunction";
-
+import { Objectmap } from 'lik';
+import { SocketFunction } from './smartsocket.classes.socketfunction';
/**
* interface for class SocketRole
*/
export interface SocketRoleOptions {
- name: string;
- passwordHash: string;
+ name: string;
+ passwordHash: string;
}
/**
* A socketrole defines access to certain routines.
*/
export class SocketRole {
- name: string;
- passwordHash: string;
- allowedFunctions = new Objectmap();
- constructor(optionsArg: SocketRoleOptions) {
- this.name = optionsArg.name;
- this.passwordHash = optionsArg.passwordHash;
- };
- addSocketFunction(socketFunctionArg:SocketFunction){
- this.allowedFunctions.add(socketFunctionArg);
- }
-}
\ No newline at end of file
+ name: string;
+ passwordHash: string;
+ allowedFunctions = new Objectmap();
+ constructor(optionsArg: SocketRoleOptions) {
+ this.name = optionsArg.name;
+ this.passwordHash = optionsArg.passwordHash;
+ }
+ addSocketFunction(socketFunctionArg: SocketFunction) {
+ this.allowedFunctions.add(socketFunctionArg);
+ }
+}
diff --git a/ts/smartsocket.helpers.ts b/ts/smartsocket.helpers.ts
index 6557454..d018494 100644
--- a/ts/smartsocket.helpers.ts
+++ b/ts/smartsocket.helpers.ts
@@ -1,40 +1,60 @@
-import * as plugins from "./smartsocket.plugins";
+import * as plugins from './smartsocket.plugins';
// classes
-import { Smartsocket } from "./smartsocket.classes.smartsocket";
-import { SocketFunction, allSocketFunctions } from "./smartsocket.classes.socketfunction";
-import { SocketConnection, ISocketConnectionAuthenticationObject } from "./smartsocket.classes.socketconnection";
-import { SocketRequest, allSocketRequests, TSocketRequestSide } from "./smartsocket.classes.socketrequest";
-import { SocketRole } from "./smartsocket.classes.socketrole";
+import { Smartsocket } from './smartsocket.classes.smartsocket';
+import { SocketFunction, allSocketFunctions } from './smartsocket.classes.socketfunction';
+import {
+ SocketConnection,
+ ISocketConnectionAuthenticationObject
+} from './smartsocket.classes.socketconnection';
+import {
+ SocketRequest,
+ allSocketRequests,
+ TSocketRequestSide
+} from './smartsocket.classes.socketrequest';
+import { SocketRole } from './smartsocket.classes.socketrole';
// SocketConnection helpers
-export let checkPasswordForRole = (dataArg: ISocketConnectionAuthenticationObject, referenceSmartsocket:Smartsocket): boolean => {
- let targetPasswordHash = getSocketRoleByName(dataArg.role,referenceSmartsocket).passwordHash;
- let computedCompareHash = plugins.nodehash.sha256FromStringSync(dataArg.password);
- return targetPasswordHash === computedCompareHash;
-}
-
+export let checkPasswordForRole = (
+ dataArg: ISocketConnectionAuthenticationObject,
+ referenceSmartsocket: Smartsocket
+): boolean => {
+ let targetPasswordHash = getSocketRoleByName(dataArg.role, referenceSmartsocket).passwordHash;
+ let computedCompareHash = plugins.nodehash.sha256FromStringSync(dataArg.password);
+ return targetPasswordHash === computedCompareHash;
+};
// SocketFunction helpers
export let getSocketFunctionByName = (functionNameArg: string): SocketFunction => {
- return allSocketFunctions.find((socketFunctionArg) => { return socketFunctionArg.name === functionNameArg });
-}
+ return allSocketFunctions.find(socketFunctionArg => {
+ return socketFunctionArg.name === functionNameArg;
+ });
+};
// SocketRequest helpers
/**
* get corresponding Socketrequest instance by shortId
*/
-export let getSocketRequestById = (shortIdArg: string, requestSide?: TSocketRequestSide): SocketRequest => {
- return allSocketRequests.find((socketRequestArg) => { return socketRequestArg.shortid === shortIdArg })
-}
+export let getSocketRequestById = (
+ shortIdArg: string,
+ requestSide?: TSocketRequestSide
+): SocketRequest => {
+ return allSocketRequests.find(socketRequestArg => {
+ return socketRequestArg.shortid === shortIdArg;
+ });
+};
// SocketRole helpers
/**
* get corresponding SocketRole instance by name
*/
-export let getSocketRoleByName = (socketRoleNameArg: string,referenceSmartsocket:Smartsocket): SocketRole => {
- return referenceSmartsocket.socketRoles.find((socketRoleArg) => { return socketRoleArg.name === socketRoleNameArg })
+export let getSocketRoleByName = (
+ socketRoleNameArg: string,
+ referenceSmartsocket: Smartsocket
+): SocketRole => {
+ return referenceSmartsocket.socketRoles.find(socketRoleArg => {
+ return socketRoleArg.name === socketRoleNameArg;
+ });
};
-
diff --git a/ts/smartsocket.plugins.ts b/ts/smartsocket.plugins.ts
index e3db4c7..c381d46 100644
--- a/ts/smartsocket.plugins.ts
+++ b/ts/smartsocket.plugins.ts
@@ -1,9 +1,8 @@
-import 'typings-global'
-export import beautylog = require('beautylog')
-export import lik = require('lik')
-export import nodehash = require('nodehash')
-export import smartdelay = require('smartdelay')
-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 beautylog = require('beautylog');
+export import lik = require('lik');
+export import nodehash = require('nodehash');
+export import smartdelay = require('smartdelay');
+export import smartq = require('smartq');
+export import shortid = require('shortid');
+export import socketIo = require('socket.io');
+export import socketIoClient = require('socket.io-client');
diff --git a/yarn.lock b/yarn.lock
index 53f79cd..f785a7e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,76 +2,49 @@
# 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.31"
- resolved "https://registry.yarnpkg.com/@types/chai-string/-/chai-string-1.1.31.tgz#a22f75d713f69da8c5cf34f8bc808a62cd249405"
+"@types/chai-as-promised@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.0.tgz#010b04cde78eacfb6e72bfddb3e58fe23c2e78b9"
dependencies:
"@types/chai" "*"
-"@types/chai@*":
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.0.4.tgz#fe86315d9a66827feeb16f73bc954688ec950e18"
-
-"@types/chai@^3.4.35":
- version "3.5.2"
- resolved "https://registry.yarnpkg.com/@types/chai/-/chai-3.5.2.tgz#c11cd2817d3a401b7ba0f5a420f35c56139b1c1e"
-
-"@types/glob@*":
- version "5.0.33"
- resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.33.tgz#3dff7c6ce09d65abe919c7961dc3dee016f36ad7"
+"@types/chai-string@^1.4.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@types/chai-string/-/chai-string-1.4.0.tgz#c8b78deb9ae53e86c05a446c256138faeaff53c1"
dependencies:
- "@types/minimatch" "*"
- "@types/node" "*"
+ "@types/chai" "*"
-"@types/lodash@^4.14.55", "@types/lodash@^4.14.74":
- version "4.14.77"
- resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.77.tgz#0bc699413e84d6ed5d927ca30ea0f0a890b42d75"
+"@types/chai@*", "@types/chai@^4.1.2":
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.1.2.tgz#f1af664769cfb50af805431c407425ed619daa21"
-"@types/minimatch@*", "@types/minimatch@3.x.x":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.1.tgz#b683eb60be358304ef146f5775db4c0e3696a550"
+"@types/lodash@^4.14.55", "@types/lodash@^4.14.97":
+ version "4.14.104"
+ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.104.tgz#53ee2357fa2e6e68379341d92eb2ecea4b11bb80"
+
+"@types/minimatch@^3.0.3":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
"@types/node@*":
- version "8.0.33"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.33.tgz#1126e94374014e54478092830704f6ea89df04cd"
-
-"@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"
+ version "9.4.7"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-9.4.7.tgz#57d81cd98719df2c9de118f2d5f3b1120dcd7275"
"@types/q@0.x.x":
version "0.0.37"
resolved "https://registry.yarnpkg.com/@types/q/-/q-0.0.37.tgz#7d6a934b35ee2f0ed0646d286eba559599021c9e"
-"@types/q@1.x.x":
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/@types/q/-/q-1.0.5.tgz#02b9d43a1a8e7503d15ed2fecb15ebb18c519b1d"
-
-"@types/shelljs@^0.7.4":
- version "0.7.4"
- resolved "https://registry.yarnpkg.com/@types/shelljs/-/shelljs-0.7.4.tgz#137b5f31306eaff4de120ffe5b9d74b297809cfc"
- dependencies:
- "@types/glob" "*"
- "@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.30":
- version "1.4.30"
- resolved "https://registry.yarnpkg.com/@types/socket.io-client/-/socket.io-client-1.4.30.tgz#a76d5a1738aded8889c612bfe7f53f3b5298bfc3"
+"@types/socket.io-client@^1.4.32":
+ version "1.4.32"
+ resolved "https://registry.yarnpkg.com/@types/socket.io-client/-/socket.io-client-1.4.32.tgz#988a65a0386c274b1c22a55377fab6a30789ac14"
-"@types/socket.io@^1.4.31":
- version "1.4.31"
- resolved "https://registry.yarnpkg.com/@types/socket.io/-/socket.io-1.4.31.tgz#7a928518a35516fccd90431f94538ed3fddaba19"
+"@types/socket.io@^1.4.32":
+ version "1.4.32"
+ resolved "https://registry.yarnpkg.com/@types/socket.io/-/socket.io-1.4.32.tgz#bf7bc4ea6991327f31672c05e237a8a28d7bfc30"
dependencies:
"@types/node" "*"
@@ -81,15 +54,11 @@
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"
+accepts@~1.3.4:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2"
dependencies:
- mime-types "~2.1.11"
+ mime-types "~2.1.18"
negotiator "0.6.1"
after@0.8.2:
@@ -100,21 +69,23 @@ 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@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ dependencies:
+ color-convert "^1.9.0"
-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"
+arraybuffer.slice@~0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675"
assertion-error@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c"
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b"
+
+async-limiter@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
backo2@1.0.2:
version "1.0.2"
@@ -167,8 +138,8 @@ blob@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"
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
dependencies:
balanced-match "^1.0.0"
concat-map "0.0.1"
@@ -177,35 +148,36 @@ 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"
+chai-as-promised@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.1.tgz#08645d825deb8696ee61725dbf590c012eb00ca0"
dependencies:
check-error "^1.0.2"
-chai-string@^1.3.0:
+chai-string@^1.4.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"
+chai@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/chai/-/chai-4.1.2.tgz#0f64584ba642f0f2ace2806279f4f06ca23ad73c"
dependencies:
assertion-error "^1.0.1"
- deep-eql "^0.1.3"
- type-detect "^1.0.0"
+ check-error "^1.0.1"
+ deep-eql "^3.0.0"
+ get-func-name "^2.0.0"
+ pathval "^1.0.0"
+ type-detect "^4.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"
+chalk@^2.0.1, chalk@^2.1.0:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.2.tgz#250dc96b07491bfd601e648d66ddf5f60c7a5c65"
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"
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
-check-error@^1.0.2:
+check-error@^1.0.1, check-error@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
@@ -215,10 +187,20 @@ cli-cursor@^2.1.0:
dependencies:
restore-cursor "^2.0.0"
-cli-spinners@^1.0.0:
+cli-spinners@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.1.0.tgz#f1847b168844d917a671eb9d147e3df497c90d06"
+color-convert@^1.9.0:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
+ dependencies:
+ color-name "^1.1.1"
+
+color-name@^1.1.1:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+
component-bind@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
@@ -249,11 +231,17 @@ debug@~2.6.4, debug@~2.6.6:
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"
+debug@~3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
dependencies:
- type-detect "0.1.1"
+ ms "2.0.0"
+
+deep-eql@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
+ dependencies:
+ type-detect "^4.0.0"
define-properties@^1.1.2:
version "1.1.2"
@@ -271,47 +259,47 @@ early@^2.1.1:
typings-global "^1.0.16"
engine.io-client@~3.1.0:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.1.2.tgz#62a0ef08ec83d16a06668ccc3a4f37916768a6b9"
+ version "3.1.6"
+ resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.1.6.tgz#5bdeb130f8b94a50ac5cbeb72583e7a4a063ddfd"
dependencies:
component-emitter "1.2.1"
component-inherit "0.0.3"
- debug "~2.6.4"
+ debug "~3.1.0"
engine.io-parser "~2.1.1"
has-cors "1.1.0"
indexof "0.0.1"
parseqs "0.0.5"
parseuri "0.0.5"
- ws "~2.3.1"
- xmlhttprequest-ssl "1.5.3"
+ ws "~3.3.1"
+ xmlhttprequest-ssl "~1.5.4"
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"
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.2.tgz#4c0f4cff79aaeecbbdcfdea66a823c6085409196"
dependencies:
after "0.8.2"
- arraybuffer.slice "0.0.6"
+ arraybuffer.slice "~0.0.7"
base64-arraybuffer "0.1.5"
blob "0.0.4"
has-binary2 "~1.0.2"
engine.io@~3.1.0:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.1.2.tgz#00a3f6a4054bb1a07958074b1058764deedb7d8a"
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.1.5.tgz#0e7ef9d690eb0b35597f1d4ad02a26ca2dba3845"
dependencies:
- accepts "1.3.3"
+ accepts "~1.3.4"
base64id "1.0.0"
cookie "0.3.1"
- debug "~2.6.4"
+ debug "~3.1.0"
engine.io-parser "~2.1.0"
- ws "~2.3.1"
+ ws "~3.3.1"
optionalDependencies:
- uws "~0.14.4"
+ uws "~9.14.0"
es-abstract@^1.5.1:
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.9.0.tgz#690829a07cae36b222e7fd9b75c0d0573eb25227"
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864"
dependencies:
es-to-primitive "^1.1.1"
function-bind "^1.1.1"
@@ -328,10 +316,10 @@ es-to-primitive@^1.1.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"
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d"
-escape-string-regexp@^1.0.2:
+escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
@@ -343,30 +331,13 @@ 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.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
-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:
+get-func-name@^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"
+ resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
has-binary2@~1.0.2:
version "1.0.2"
@@ -378,6 +349,10 @@ has-cors@1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39"
+has-flag@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+
has@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
@@ -388,21 +363,10 @@ 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:
+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.4"
- resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.4.tgz#820cdd588b868ffb191a809506d6c9c8f212b1b0"
-
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"
@@ -429,10 +393,6 @@ 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"
@@ -444,32 +404,29 @@ leakage@^0.3.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"
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.2.0.tgz#d30a73c6b8201d8f7d8e7956ba9616087a68e0ee"
-lik@^1.0.42:
- version "1.0.42"
- resolved "https://registry.yarnpkg.com/lik/-/lik-1.0.42.tgz#e77604fac257c1b3552779c443de08c09b6e5332"
+lik@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/lik/-/lik-2.0.5.tgz#1338a3201828b557fa91a5b8a6013743ff720e10"
dependencies:
- "@types/lodash" "^4.14.74"
- "@types/minimatch" "3.x.x"
- "@types/q" "1.x.x"
+ "@types/lodash" "^4.14.97"
+ "@types/minimatch" "^3.0.3"
lodash "^4.17.4"
minimatch "^3.0.4"
- q "^1.5.0"
- rxjs "^5.4.3"
smartq "^1.1.6"
- typings-global "^1.0.20"
+ symbol-tree "^3.2.2"
lodash@^4.17.4:
- version "4.17.4"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
+ version "4.17.5"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
-log-symbols@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
+log-symbols@^2.1.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"
dependencies:
- chalk "^1.0.0"
+ chalk "^2.0.1"
memwatch-next@^0.3.0:
version "0.3.0"
@@ -478,19 +435,19 @@ memwatch-next@^0.3.0:
bindings "^1.2.1"
nan "^2.3.2"
-mime-db@~1.30.0:
- version "1.30.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01"
+mime-db@~1.33.0:
+ version "1.33.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db"
-mime-types@~2.1.11:
- version "2.1.17"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a"
+mime-types@~2.1.18:
+ version "2.1.18"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8"
dependencies:
- mime-db "~1.30.0"
+ mime-db "~1.33.0"
mimic-fn@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18"
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
minimatch@^3.0.4:
version "3.0.4"
@@ -507,8 +464,8 @@ ms@2.0.0:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
nan@^2.3.2:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46"
+ version "2.9.2"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.9.2.tgz#f564d75f5f8f36a6d9456cca7a6c4fe488ab7866"
negotiator@0.6.1:
version "0.6.1"
@@ -524,10 +481,6 @@ nodehash@^1.0.4:
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"
@@ -543,12 +496,6 @@ object.getownpropertydescriptors@^2.0.3:
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"
@@ -556,13 +503,13 @@ onetime@^2.0.0:
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"
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/ora/-/ora-1.4.0.tgz#884458215b3a5d4097592285f93321bb7a79e2e5"
dependencies:
- chalk "^1.1.1"
+ chalk "^2.1.0"
cli-cursor "^2.1.0"
- cli-spinners "^1.0.0"
- log-symbols "^1.0.2"
+ cli-spinners "^1.0.1"
+ log-symbols "^2.1.0"
parseqs@0.0.5:
version "0.0.5"
@@ -576,50 +523,34 @@ parseuri@0.0.5:
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"
+pathval@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0"
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"
+process-nextick-args@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
-q@^1.4.1, q@^1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1"
+q@^1.4.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
readable-stream@^2.1.5:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
+ version "2.3.5"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.5.tgz#b4f85003a938cbb6ecbce2a124fb1012bd1a838d"
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
isarray "~1.0.0"
- process-nextick-args "~1.0.6"
+ process-nextick-args "~2.0.0"
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.4.0"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86"
- 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"
@@ -627,32 +558,10 @@ restore-cursor@^2.0.0:
onetime "^2.0.0"
signal-exit "^3.0.2"
-rxjs@^5.4.3:
- version "5.4.3"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.4.3.tgz#0758cddee6033d68e0fd53676f0f3596ce3d483f"
- 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.4.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e"
-
-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"
@@ -661,20 +570,20 @@ 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"
+smartchai@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/smartchai/-/smartchai-2.0.1.tgz#d20f17221f0e3c6c3473600b78ddfba0ab0ea762"
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"
+ "@types/chai" "^4.1.2"
+ "@types/chai-as-promised" "^7.1.0"
+ "@types/chai-string" "^1.4.0"
+ chai "^4.1.2"
+ chai-as-promised "^7.1.1"
+ chai-string "^1.4.0"
-smartdelay@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/smartdelay/-/smartdelay-1.0.3.tgz#5fd44dad77262d110702f0293efa80c072cfb579"
+smartdelay@^1.0.3, smartdelay@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/smartdelay/-/smartdelay-1.0.4.tgz#791c1a4ee6770494064c10b1d2d2b8e6f3105b82"
dependencies:
smartq "^1.1.1"
typings-global "^1.0.16"
@@ -694,24 +603,13 @@ smartq@^1.1.1, smartq@^1.1.6:
typings-global "^1.0.19"
util.promisify "^1.0.0"
-smartshell@^1.0.6:
- version "1.0.18"
- resolved "https://registry.yarnpkg.com/smartshell/-/smartshell-1.0.18.tgz#b84ccc65cedf3a875bf676cec78ee07f4b4aa9e5"
- dependencies:
- "@types/shelljs" "^0.7.4"
- "@types/which" "^1.0.28"
- shelljs "^0.7.8"
- smartq "^1.1.6"
- typings-global "^1.0.20"
- which "^1.3.0"
-
socket.io-adapter@~1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz#2a805e8a14d6372124dd9159ad4502f8cb07f06b"
-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"
+socket.io-client@2.0.4, socket.io-client@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.0.4.tgz#0918a552406dc5e540b380dcd97afc4a64332f8e"
dependencies:
backo2 "1.0.2"
base64-arraybuffer "0.1.5"
@@ -728,23 +626,22 @@ socket.io-client@^2.0.3, socket.io-client@~2.0.2:
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"
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.1.3.tgz#ed2da5ee79f10955036e3da413bfd7f1e4d86c8e"
dependencies:
component-emitter "1.2.1"
- debug "~2.6.4"
+ debug "~3.1.0"
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"
+socket.io@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.0.4.tgz#c1a4590ceff87ecf13c72652f046f716b29e6014"
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-client "2.0.4"
socket.io-parser "~3.1.1"
string_decoder@~1.0.3:
@@ -753,30 +650,25 @@ string_decoder@~1.0.3:
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"
+supports-color@^5.3.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.3.0.tgz#5b24ac15db80fa927cf5227a4a33fd3c4c7676c0"
dependencies:
- ansi-regex "^2.0.0"
+ has-flag "^3.0.0"
-supports-color@^2.0.0:
+symbol-tree@^3.2.2:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
+
+tapbundle@^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.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/tapbundle/-/tapbundle-1.1.1.tgz#ec4172c0e82a77b1f6133fef2606311ede28a62d"
+ resolved "https://registry.yarnpkg.com/tapbundle/-/tapbundle-2.0.0.tgz#79fce68ff185c786fabaf6eb589a4afc7d2714b7"
dependencies:
early "^2.1.1"
leakage "^0.3.0"
- smartchai "^1.0.3"
+ smartchai "^2.0.0"
smartdelay "^1.0.3"
smartq "^1.1.1"
- typings-global "^1.0.19"
through2@^2.0.1:
version "2.0.3"
@@ -789,24 +681,17 @@ 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@^4.0.0:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
-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.19, typings-global@^1.0.20, typings-global@^1.0.6:
- version "1.0.20"
- resolved "https://registry.yarnpkg.com/typings-global/-/typings-global-1.0.20.tgz#3da769c54db538247c5d877d1d9e97eb2ec981ff"
- dependencies:
- semver "^5.3.0"
- smartshell "^1.0.6"
+typings-global@^1.0.14, typings-global@^1.0.16, typings-global@^1.0.19, typings-global@^1.0.6:
+ version "1.0.28"
+ resolved "https://registry.yarnpkg.com/typings-global/-/typings-global-1.0.28.tgz#e28cc965476564cbc00e438739e0aa0735d323d4"
ultron@~1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.0.tgz#b07a2e6a541a815fc6a34ccd4533baec307ca864"
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
util-deprecate@~1.0.1:
version "1.0.2"
@@ -819,30 +704,21 @@ util.promisify@^1.0.0:
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"
+uws@~9.14.0:
+ version "9.14.0"
+ resolved "https://registry.yarnpkg.com/uws/-/uws-9.14.0.tgz#fac8386befc33a7a3705cbd58dc47b430ca4dd95"
-which@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a"
+ws@~3.3.1:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
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"
+ async-limiter "~1.0.0"
+ safe-buffer "~5.1.0"
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"
+xmlhttprequest-ssl@~1.5.4:
+ version "1.5.5"
+ resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e"
xtend@~4.0.1:
version "4.0.1"