added docs
This commit is contained in:
parent
f0aba45cec
commit
6543d60019
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
coverage/
|
coverage/
|
||||||
docs/
|
pages/
|
||||||
|
|
||||||
|
14
README.md
14
README.md
@ -1,8 +1,20 @@
|
|||||||
# smartsocket
|
# smartsocket
|
||||||
easy and secure websocket communication, Typescript ready
|
easy and secure websocket communication, Typescript ready
|
||||||
|
|
||||||
## Status
|
## Availabililty
|
||||||
|
[![npm](https://push.rocks/assets/repo-button-npm.svg)](https://www.npmjs.com/package/smartsocket)
|
||||||
|
[![git](https://push.rocks/assets/repo-button-git.svg)](https://gitlab.com/pushrocks/smartsocket)
|
||||||
|
[![git](https://push.rocks/assets/repo-button-mirror.svg)](https://github.com/pushrocks/smartsocket)
|
||||||
|
[![docs](https://push.rocks/assets/repo-button-docs.svg)](https://pushrocks.gitlab.io/smartsocket/docs)
|
||||||
|
|
||||||
|
## Status for master
|
||||||
[![build status](https://gitlab.com/pushrocks/smartsocket/badges/master/build.svg)](https://gitlab.com/pushrocks/smartsocket/commits/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)
|
||||||
|
[![Dependency Status](https://david-dm.org/pushrocks/smartsocket.svg)](https://david-dm.org/pushrocks/smartsocket)
|
||||||
|
[![bitHound Dependencies](https://www.bithound.io/github/pushrocks/smartsocket/badges/dependencies.svg)](https://www.bithound.io/github/pushrocks/smartsocket/master/dependencies/npm)
|
||||||
|
[![bitHound Code](https://www.bithound.io/github/pushrocks/smartsocket/badges/code.svg)](https://www.bithound.io/github/pushrocks/smartsocket)
|
||||||
|
[![TypeScript](https://img.shields.io/badge/TypeScript-2.x-blue.svg)](https://nodejs.org/dist/latest-v6.x/docs/api/)
|
||||||
|
[![node](https://img.shields.io/badge/node->=%206.x.x-blue.svg)](https://nodejs.org/dist/latest-v6.x/docs/api/)
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
We recommend the use of typescript.
|
We recommend the use of typescript.
|
||||||
|
2
dist/index.d.ts
vendored
2
dist/index.d.ts
vendored
@ -2,4 +2,4 @@ export * from "./smartsocket.classes.smartsocket";
|
|||||||
export * from "./smartsocket.classes.smartsocketclient";
|
export * from "./smartsocket.classes.smartsocketclient";
|
||||||
export * from "./smartsocket.classes.socketfunction";
|
export * from "./smartsocket.classes.socketfunction";
|
||||||
export * from "./smartsocket.classes.socketrole";
|
export * from "./smartsocket.classes.socketrole";
|
||||||
export { allSocketConnections } from "./smartsocket.classes.socketconnection";
|
export * from "./smartsocket.classes.socketconnection";
|
||||||
|
5
dist/index.js
vendored
5
dist/index.js
vendored
@ -8,7 +8,6 @@ __export(require("./smartsocket.classes.smartsocketclient"));
|
|||||||
// export further classes and objects
|
// export further classes and objects
|
||||||
__export(require("./smartsocket.classes.socketfunction"));
|
__export(require("./smartsocket.classes.socketfunction"));
|
||||||
__export(require("./smartsocket.classes.socketrole"));
|
__export(require("./smartsocket.classes.socketrole"));
|
||||||
var smartsocket_classes_socketconnection_1 = require("./smartsocket.classes.socketconnection");
|
__export(require("./smartsocket.classes.socketconnection"));
|
||||||
exports.allSocketConnections = smartsocket_classes_socketconnection_1.allSocketConnections;
|
|
||||||
// need something more exposed? Create an issue on GitLab!
|
// need something more exposed? Create an issue on GitLab!
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsc0JBQXNCO0FBQ3RCLGlCQUFjLG1DQUFtQyxDQUFDLEVBQUE7QUFDbEQsaUJBQWMseUNBQXlDLENBQUMsRUFBQTtBQUV4RCxxQ0FBcUM7QUFDckMsaUJBQWMsc0NBQXNDLENBQUMsRUFBQTtBQUNyRCxpQkFBYyxrQ0FBa0MsQ0FBQyxFQUFBO0FBQ2pELHFEQUFtQyx3Q0FBd0MsQ0FBQztBQUFwRSwyRkFBb0U7QUFFNUUsMERBQTBEIn0=
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsc0JBQXNCO0FBQ3RCLGlCQUFjLG1DQUFtQyxDQUFDLEVBQUE7QUFDbEQsaUJBQWMseUNBQXlDLENBQUMsRUFBQTtBQUV4RCxxQ0FBcUM7QUFDckMsaUJBQWMsc0NBQXNDLENBQUMsRUFBQTtBQUNyRCxpQkFBYyxrQ0FBa0MsQ0FBQyxFQUFBO0FBQ2pELGlCQUFjLHdDQUF3QyxDQUFDLEVBQUE7QUFFdkQsMERBQTBEIn0=
|
15
docs/book.json
Normal file
15
docs/book.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"structure": {
|
||||||
|
"readme": "index.md"
|
||||||
|
},
|
||||||
|
"plugins": [
|
||||||
|
"tonic",
|
||||||
|
"edit-link"
|
||||||
|
],
|
||||||
|
"pluginsConfig": {
|
||||||
|
"edit-link": {
|
||||||
|
"base": "https://gitlab.com/pushrocks/npmts/edit/master/docs/",
|
||||||
|
"label": "Edit on GitLab"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
88
docs/index.md
Normal file
88
docs/index.md
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
# smartsocket
|
||||||
|
easy and secure websocket communication, Typescript ready
|
||||||
|
|
||||||
|
## Availabililty
|
||||||
|
[![npm](https://push.rocks/assets/repo-button-npm.svg)](https://www.npmjs.com/package/smartsocket)
|
||||||
|
[![git](https://push.rocks/assets/repo-button-git.svg)](https://gitlab.com/pushrocks/smartsocket)
|
||||||
|
[![git](https://push.rocks/assets/repo-button-mirror.svg)](https://github.com/pushrocks/smartsocket)
|
||||||
|
[![docs](https://push.rocks/assets/repo-button-docs.svg)](https://pushrocks.gitlab.io/smartsocket/docs)
|
||||||
|
|
||||||
|
## 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)
|
||||||
|
[![Dependency Status](https://david-dm.org/pushrocks/smartsocket.svg)](https://david-dm.org/pushrocks/smartsocket)
|
||||||
|
[![bitHound Dependencies](https://www.bithound.io/github/pushrocks/smartsocket/badges/dependencies.svg)](https://www.bithound.io/github/pushrocks/smartsocket/master/dependencies/npm)
|
||||||
|
[![bitHound Code](https://www.bithound.io/github/pushrocks/smartsocket/badges/code.svg)](https://www.bithound.io/github/pushrocks/smartsocket)
|
||||||
|
[![TypeScript](https://img.shields.io/badge/TypeScript-2.x-blue.svg)](https://nodejs.org/dist/latest-v6.x/docs/api/)
|
||||||
|
[![node](https://img.shields.io/badge/node->=%206.x.x-blue.svg)](https://nodejs.org/dist/latest-v6.x/docs/api/)
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
We recommend the use of typescript.
|
||||||
|
Under the hood we use socket.io and shortid for managed data exchange.
|
||||||
|
|
||||||
|
### Serverside
|
||||||
|
```typescript
|
||||||
|
import * as smartsocket from "smartsocket";
|
||||||
|
|
||||||
|
let mySmartsocket = new smartsocket.Smartsocket({
|
||||||
|
port: 3000 // the port smartsocket will listen on
|
||||||
|
});
|
||||||
|
|
||||||
|
let mySocketRole = new smartsocket.SocketRole({
|
||||||
|
name: "someRoleName",
|
||||||
|
passwordHash: "someHashedString"
|
||||||
|
});
|
||||||
|
|
||||||
|
let testSocketFunction1 = new smartsocket.SocketFunction({
|
||||||
|
funcName:"testSocketFunction1",
|
||||||
|
funcDef:(data) => {
|
||||||
|
|
||||||
|
}, // the function to execute
|
||||||
|
allowedRoles:[mySocketRole] // all roles that have access to a specific function
|
||||||
|
});
|
||||||
|
|
||||||
|
mySmartsocket.clientCall("","restart",data,someTargetConnection)
|
||||||
|
.then((responseData) => {
|
||||||
|
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Client side
|
||||||
|
```typescript
|
||||||
|
import * as smartsocket from "smartsocket";
|
||||||
|
|
||||||
|
let testSmartsocketClient = new smartsocket.SmartsocketClient({
|
||||||
|
port: testConfig.port,
|
||||||
|
url: "http://localhost",
|
||||||
|
password: "testPassword",
|
||||||
|
alias: "testClient1",
|
||||||
|
role: "testRole1"
|
||||||
|
});
|
||||||
|
testSmartsocketClient.connect()
|
||||||
|
.then(() => {
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
let testSocketFunction2 = new smartsocket.SocketFunction({
|
||||||
|
funcName: "testSocketFunction2",
|
||||||
|
funcDef: (data) => {}, // the function to execute, has to return promise
|
||||||
|
allowedRoles:[]
|
||||||
|
});
|
||||||
|
|
||||||
|
let functionCalldata = {
|
||||||
|
funcName: "",
|
||||||
|
funcData: {
|
||||||
|
someKey:"someValue"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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.
|
@ -8,6 +8,5 @@ export * from "./smartsocket.classes.smartsocketclient";
|
|||||||
export * from "./smartsocket.classes.socketfunction";
|
export * from "./smartsocket.classes.socketfunction";
|
||||||
export * from "./smartsocket.classes.socketrole";
|
export * from "./smartsocket.classes.socketrole";
|
||||||
export * from "./smartsocket.classes.socketconnection";
|
export * from "./smartsocket.classes.socketconnection";
|
||||||
export {allSocketConnections} from "./smartsocket.classes.socketconnection";
|
|
||||||
|
|
||||||
// need something more exposed? Create an issue on GitLab!
|
// need something more exposed? Create an issue on GitLab!
|
||||||
|
Loading…
Reference in New Issue
Block a user