From 9d9a1112218b62b765978262ae7bcf4ccd8546ea Mon Sep 17 00:00:00 2001 From: daniel Date: Sun, 22 Sep 2019 09:29:38 +0000 Subject: [PATCH 1/2] drone tagged as version 1569144551 --- docs/README.md | 6 + docs/classes/_backend_.rpcserver.md | 166 +++++++++ docs/classes/_frontend_.rpcsocket.md | 304 +++++++++++++++ docs/globals.md | 13 + docs/interfaces/_interfaces_.destroyable.md | 29 ++ docs/interfaces/_interfaces_.rpcexporter.md | 41 +++ docs/interfaces/_interfaces_.socket.md | 151 ++++++++ docs/modules/_backend_.md | 9 + docs/modules/_frontend_.md | 31 ++ docs/modules/_interfaces_.md | 11 + docs/modules/_types_.md | 387 ++++++++++++++++++++ docs/modules/_utils_.md | 124 +++++++ 12 files changed, 1272 insertions(+) create mode 100644 docs/README.md create mode 100644 docs/classes/_backend_.rpcserver.md create mode 100644 docs/classes/_frontend_.rpcsocket.md create mode 100644 docs/globals.md create mode 100644 docs/interfaces/_interfaces_.destroyable.md create mode 100644 docs/interfaces/_interfaces_.rpcexporter.md create mode 100644 docs/interfaces/_interfaces_.socket.md create mode 100644 docs/modules/_backend_.md create mode 100644 docs/modules/_frontend_.md create mode 100644 docs/modules/_interfaces_.md create mode 100644 docs/modules/_types_.md create mode 100644 docs/modules/_utils_.md diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..b7f2f8f --- /dev/null +++ b/docs/README.md @@ -0,0 +1,6 @@ +[rpclibrary](README.md) › [Globals](globals.md) + +# rpclibrary + +# Documentation +docs [https://gitea.frontblock.me/fw-vendor/rpclibrary/src/branch/master/docs/README.md] diff --git a/docs/classes/_backend_.rpcserver.md b/docs/classes/_backend_.rpcserver.md new file mode 100644 index 0000000..8132206 --- /dev/null +++ b/docs/classes/_backend_.rpcserver.md @@ -0,0 +1,166 @@ +[rpclibrary](../README.md) › [Globals](../globals.md) › ["Backend"](../modules/_backend_.md) › [RPCServer](_backend_.rpcserver.md) + +# Class: RPCServer <**SubResType**> + +A Websocket-server-on-steroids with built-in RPC capabilities + +## Type parameters + +▪ **SubResType** + +## Hierarchy + +* **RPCServer** + +## Implements + +* [Destroyable](../interfaces/_interfaces_.destroyable.md) + +## Index + +### Constructors + +* [constructor](_backend_.rpcserver.md#constructor) + +### Properties + +* [closeHandler](_backend_.rpcserver.md#private-closehandler) +* [connectionHandler](_backend_.rpcserver.md#private-connectionhandler) +* [errorHandler](_backend_.rpcserver.md#private-errorhandler) +* [exporters](_backend_.rpcserver.md#private-exporters) +* [io](_backend_.rpcserver.md#private-io) +* [port](_backend_.rpcserver.md#private-port) +* [visibility](_backend_.rpcserver.md#private-visibility) +* [ws](_backend_.rpcserver.md#private-ws) + +### Methods + +* [destroy](_backend_.rpcserver.md#destroy) +* [initRPCs](_backend_.rpcserver.md#protected-initrpcs) +* [startWebsocket](_backend_.rpcserver.md#private-startwebsocket) + +## Constructors + +### constructor + +\+ **new RPCServer**(`port`: number, `exporters`: [RPCExporter](../interfaces/_interfaces_.rpcexporter.md)‹SubResType›[], `conf`: T.SocketConf): *[RPCServer](_backend_.rpcserver.md)* + +Defined in Backend.ts:22 + +**`throws`** On RPC with no name + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`port` | number | - | The port to listen on | +`exporters` | [RPCExporter](../interfaces/_interfaces_.rpcexporter.md)‹SubResType›[] | [] | A list of [RPCExporter](../interfaces/_interfaces_.rpcexporter.md) to publish | +`conf` | T.SocketConf | {} | A [SocketConf](../modules/_types_.md#socketconf) object with optional settings | + +**Returns:** *[RPCServer](_backend_.rpcserver.md)* + +## Properties + +### `Private` closeHandler + +• **closeHandler**: *T.CloseHandler* + +Defined in Backend.ts:20 + +___ + +### `Private` connectionHandler + +• **connectionHandler**: *T.ConnectionHandler* + +Defined in Backend.ts:22 + +___ + +### `Private` errorHandler + +• **errorHandler**: *T.ErrorHandler* + +Defined in Backend.ts:21 + +___ + +### `Private` exporters + +• **exporters**: *[RPCExporter](../interfaces/_interfaces_.rpcexporter.md)‹SubResType›[]* + +Defined in Backend.ts:32 + +A list of [RPCExporter](../interfaces/_interfaces_.rpcexporter.md) to publish + +___ + +### `Private` io + +• **io**: *any* = bsock.createServer() + +Defined in Backend.ts:18 + +___ + +### `Private` port + +• **port**: *number* + +Defined in Backend.ts:31 + +The port to listen on + +___ + +### `Private` visibility + +• **visibility**: *T.Visibility* + +Defined in Backend.ts:19 + +___ + +### `Private` ws + +• **ws**: *Server* = http.createServer() + +Defined in Backend.ts:17 + +## Methods + +### destroy + +▸ **destroy**(): *Promise‹void›* + +*Implementation of [Destroyable](../interfaces/_interfaces_.destroyable.md)* + +Defined in Backend.ts:89 + +**Returns:** *Promise‹void›* + +___ + +### `Protected` initRPCs + +▸ **initRPCs**(`socket`: [Socket](../interfaces/_interfaces_.socket.md)): *void* + +Defined in Backend.ts:82 + +**Parameters:** + +Name | Type | +------ | ------ | +`socket` | [Socket](../interfaces/_interfaces_.socket.md) | + +**Returns:** *void* + +___ + +### `Private` startWebsocket + +▸ **startWebsocket**(): *void* + +Defined in Backend.ts:66 + +**Returns:** *void* diff --git a/docs/classes/_frontend_.rpcsocket.md b/docs/classes/_frontend_.rpcsocket.md new file mode 100644 index 0000000..6702652 --- /dev/null +++ b/docs/classes/_frontend_.rpcsocket.md @@ -0,0 +1,304 @@ +[rpclibrary](../README.md) › [Globals](../globals.md) › ["Frontend"](../modules/_frontend_.md) › [RPCSocket](_frontend_.rpcsocket.md) + +# Class: RPCSocket + +A websocket-on-steroids with built-in RPC capabilities + +## Hierarchy + +* **RPCSocket** + +## Implements + +* [Socket](../interfaces/_interfaces_.socket.md) + +## Index + +### Constructors + +* [constructor](_frontend_.rpcsocket.md#constructor) + +### Properties + +* [port](_frontend_.rpcsocket.md#port) +* [server](_frontend_.rpcsocket.md#private-server) +* [socket](_frontend_.rpcsocket.md#private-socket) +* [tls](_frontend_.rpcsocket.md#private-tls) + +### Methods + +* [call](_frontend_.rpcsocket.md#call) +* [callGenerator](_frontend_.rpcsocket.md#private-callgenerator) +* [close](_frontend_.rpcsocket.md#close) +* [connect](_frontend_.rpcsocket.md#connect) +* [destroy](_frontend_.rpcsocket.md#destroy) +* [fire](_frontend_.rpcsocket.md#fire) +* [hook](_frontend_.rpcsocket.md#hook) +* [hookGenerator](_frontend_.rpcsocket.md#private-hookgenerator) +* [info](_frontend_.rpcsocket.md#info) +* [on](_frontend_.rpcsocket.md#on) +* [unhook](_frontend_.rpcsocket.md#unhook) + +## Constructors + +### constructor + +\+ **new RPCSocket**(`port`: number, `server`: string, `tls`: boolean): *[RPCSocket](_frontend_.rpcsocket.md)* + +Defined in Frontend.ts:20 + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`port` | number | - | Port to connect to | +`server` | string | - | Server address | +`tls` | boolean | false | @default false use TLS | + +**Returns:** *[RPCSocket](_frontend_.rpcsocket.md)* + +## Properties + +### port + +• **port**: *number* + +*Implementation of [Socket](../interfaces/_interfaces_.socket.md).[port](../interfaces/_interfaces_.socket.md#port)* + +Defined in Frontend.ts:28 + +Port to connect to + +___ + +### `Private` server + +• **server**: *string* + +Defined in Frontend.ts:28 + +Server address + +___ + +### `Private` socket + +• **socket**: *[Socket](../interfaces/_interfaces_.socket.md)* + +Defined in Frontend.ts:20 + +___ + +### `Private` tls + +• **tls**: *boolean* + +Defined in Frontend.ts:28 + +@default false use TLS + +## Methods + +### call + +▸ **call**(`rpcname`: T.Name, ...`args`: T.Any[]): *Promise‹T.Any›* + +Defined in Frontend.ts:77 + +Trigger a hooked handler on the server + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`rpcname` | T.Name | The function to call | +`...args` | T.Any[] | other arguments | + +**Returns:** *Promise‹T.Any›* + +___ + +### `Private` callGenerator + +▸ **callGenerator**(`fnName`: T.Name, `fnArgs`: T.Arg[]): *T.AsyncFunction* + +Defined in Frontend.ts:126 + +Utility [AsyncFunction](../modules/_types_.md#asyncfunction) generator + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`fnName` | T.Name | The function name | +`fnArgs` | T.Arg[] | A string-list of parameters | + +**Returns:** *T.AsyncFunction* + +___ + +### close + +▸ **close**(): *void* + +*Implementation of [Socket](../interfaces/_interfaces_.socket.md)* + +Defined in Frontend.ts:68 + +Closes the socket. It may attempt to reconnect. + +**Returns:** *void* + +___ + +### connect + +▸ **connect**(): *Promise‹void›* + +Defined in Frontend.ts:93 + +Connects to the server and attaches available RPCs to this object + +**Returns:** *Promise‹void›* + +___ + +### destroy + +▸ **destroy**(): *void* + +*Implementation of [Socket](../interfaces/_interfaces_.socket.md)* + +Defined in Frontend.ts:61 + +Destroys the socket + +**Returns:** *void* + +___ + +### fire + +▸ **fire**(`rpcname`: T.Name, ...`args`: T.Any[]): *Promise‹void›* + +Defined in Frontend.ts:86 + +An alternative to call that does not wait for confirmation and doesn't return a value. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`rpcname` | T.Name | The function to call | +`...args` | T.Any[] | other arguments | + +**Returns:** *Promise‹void›* + +___ + +### hook + +▸ **hook**(`name`: T.Name, `handler`: function): *[Socket](../interfaces/_interfaces_.socket.md)* + +Defined in Frontend.ts:37 + +Hooks a handler to a function name. Use [call](_frontend_.rpcsocket.md#call) to trigger it. + +**Parameters:** + +▪ **name**: *T.Name* + +The function name to listen on + +▪ **handler**: *function* + +The handler to attach + +▸ (...`args`: any[]): *any | Promise‹any›* + +**Parameters:** + +Name | Type | +------ | ------ | +`...args` | any[] | + +**Returns:** *[Socket](../interfaces/_interfaces_.socket.md)* + +___ + +### `Private` hookGenerator + +▸ **hookGenerator**(`fnName`: T.Name, `fnArgs`: T.Arg[]): *T.HookFunction* + +Defined in Frontend.ts:137 + +Utility [HookFunction](../modules/_types_.md#hookfunction) generator + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`fnName` | T.Name | The function name | +`fnArgs` | T.Arg[] | A string-list of parameters | + +**Returns:** *T.HookFunction* + +___ + +### info + +▸ **info**(): *Promise‹any›* + +Defined in Frontend.ts:117 + +Get a list of available RPCs from the server + +**Returns:** *Promise‹any›* + +___ + +### on + +▸ **on**(`type`: "error" | "close", `f`: function): *[Socket](../interfaces/_interfaces_.socket.md)* + +Defined in Frontend.ts:54 + +Attach a listener to error or close events + +**Parameters:** + +▪ **type**: *"error" | "close"* + +'error' or 'close' + +▪ **f**: *function* + +The listener to attach + +▸ (`e?`: any): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`e?` | any | + +**Returns:** *[Socket](../interfaces/_interfaces_.socket.md)* + +___ + +### unhook + +▸ **unhook**(`name`: T.Name): *[Socket](../interfaces/_interfaces_.socket.md)* + +Defined in Frontend.ts:45 + +Removes a [hook](_frontend_.rpcsocket.md#hook) listener by name. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`name` | T.Name | The function name | + +**Returns:** *[Socket](../interfaces/_interfaces_.socket.md)* diff --git a/docs/globals.md b/docs/globals.md new file mode 100644 index 0000000..854e858 --- /dev/null +++ b/docs/globals.md @@ -0,0 +1,13 @@ +[rpclibrary](README.md) › [Globals](globals.md) + +# rpclibrary + +## Index + +### External modules + +* ["Backend"](modules/_backend_.md) +* ["Frontend"](modules/_frontend_.md) +* ["Interfaces"](modules/_interfaces_.md) +* ["Types"](modules/_types_.md) +* ["Utils"](modules/_utils_.md) diff --git a/docs/interfaces/_interfaces_.destroyable.md b/docs/interfaces/_interfaces_.destroyable.md new file mode 100644 index 0000000..062e0f5 --- /dev/null +++ b/docs/interfaces/_interfaces_.destroyable.md @@ -0,0 +1,29 @@ +[rpclibrary](../README.md) › [Globals](../globals.md) › ["Interfaces"](../modules/_interfaces_.md) › [Destroyable](_interfaces_.destroyable.md) + +# Interface: Destroyable + +## Hierarchy + +* **Destroyable** + + ↳ [Socket](_interfaces_.socket.md) + +## Implemented by + +* [RPCServer](../classes/_backend_.rpcserver.md) + +## Index + +### Methods + +* [destroy](_interfaces_.destroyable.md#destroy) + +## Methods + +### destroy + +▸ **destroy**(): *void* + +Defined in Interfaces.ts:26 + +**Returns:** *void* diff --git a/docs/interfaces/_interfaces_.rpcexporter.md b/docs/interfaces/_interfaces_.rpcexporter.md new file mode 100644 index 0000000..20142c5 --- /dev/null +++ b/docs/interfaces/_interfaces_.rpcexporter.md @@ -0,0 +1,41 @@ +[rpclibrary](../README.md) › [Globals](../globals.md) › ["Interfaces"](../modules/_interfaces_.md) › [RPCExporter](_interfaces_.rpcexporter.md) + +# Interface: RPCExporter <**T**> + +Interface for all classes that may export RPCs + +## Type parameters + +▪ **T** + +## Hierarchy + +* **RPCExporter** + +## Index + +### Properties + +* [name](_interfaces_.rpcexporter.md#name) + +### Methods + +* [exportRPCs](_interfaces_.rpcexporter.md#exportrpcs) + +## Properties + +### name + +• **name**: *T.Name* + +Defined in Interfaces.ts:8 + +## Methods + +### exportRPCs + +▸ **exportRPCs**(): *T.RPC‹T›[]* + +Defined in Interfaces.ts:9 + +**Returns:** *T.RPC‹T›[]* diff --git a/docs/interfaces/_interfaces_.socket.md b/docs/interfaces/_interfaces_.socket.md new file mode 100644 index 0000000..8f82bd7 --- /dev/null +++ b/docs/interfaces/_interfaces_.socket.md @@ -0,0 +1,151 @@ +[rpclibrary](../README.md) › [Globals](../globals.md) › ["Interfaces"](../modules/_interfaces_.md) › [Socket](_interfaces_.socket.md) + +# Interface: Socket + +Generic socket interface that can apply to bsock as well as RPCSocket + +## Hierarchy + +* [Destroyable](_interfaces_.destroyable.md) + + ↳ **Socket** + +## Implemented by + +* [RPCSocket](../classes/_frontend_.rpcsocket.md) + +## Index + +### Properties + +* [call](_interfaces_.socket.md#call) +* [fire](_interfaces_.socket.md#fire) +* [hook](_interfaces_.socket.md#hook) +* [on](_interfaces_.socket.md#on) +* [port](_interfaces_.socket.md#port) +* [unhook](_interfaces_.socket.md#unhook) + +### Methods + +* [close](_interfaces_.socket.md#close) +* [destroy](_interfaces_.socket.md#destroy) + +## Properties + +### call + +• **call**: *function* + +Defined in Interfaces.ts:19 + +#### Type declaration: + +▸ (`rpcname`: T.Name, ...`args`: T.Any[]): *Promise‹T.Any›* + +**Parameters:** + +Name | Type | +------ | ------ | +`rpcname` | T.Name | +`...args` | T.Any[] | + +___ + +### fire + +• **fire**: *function* + +Defined in Interfaces.ts:20 + +#### Type declaration: + +▸ (`rpcname`: T.Name, ...`args`: T.Any[]): *Promise‹T.Any›* + +**Parameters:** + +Name | Type | +------ | ------ | +`rpcname` | T.Name | +`...args` | T.Any[] | + +___ + +### hook + +• **hook**: *function* + +Defined in Interfaces.ts:17 + +#### Type declaration: + +▸ (`rpcname`: T.Name, `handler`: function): *[Socket](_interfaces_.socket.md)* + +**Parameters:** + +▪ **rpcname**: *T.Name* + +▪ **handler**: *function* + +▸ (...`args`: any[]): *any | Promise‹any›* + +**Parameters:** + +Name | Type | +------ | ------ | +`...args` | any[] | + +___ + +### on + +• **on**: *T.OnFunction* + +Defined in Interfaces.ts:21 + +___ + +### port + +• **port**: *number* + +Defined in Interfaces.ts:16 + +___ + +### unhook + +• **unhook**: *function* + +Defined in Interfaces.ts:18 + +#### Type declaration: + +▸ (`rpcname`: T.Name): *[Socket](_interfaces_.socket.md)* + +**Parameters:** + +Name | Type | +------ | ------ | +`rpcname` | T.Name | + +## Methods + +### close + +▸ **close**(): *void* + +Defined in Interfaces.ts:22 + +**Returns:** *void* + +___ + +### destroy + +▸ **destroy**(): *void* + +*Inherited from [Destroyable](_interfaces_.destroyable.md).[destroy](_interfaces_.destroyable.md#destroy)* + +Defined in Interfaces.ts:26 + +**Returns:** *void* diff --git a/docs/modules/_backend_.md b/docs/modules/_backend_.md new file mode 100644 index 0000000..0c65ed7 --- /dev/null +++ b/docs/modules/_backend_.md @@ -0,0 +1,9 @@ +[rpclibrary](../README.md) › [Globals](../globals.md) › ["Backend"](_backend_.md) + +# External module: "Backend" + +## Index + +### Classes + +* [RPCServer](../classes/_backend_.rpcserver.md) diff --git a/docs/modules/_frontend_.md b/docs/modules/_frontend_.md new file mode 100644 index 0000000..a53fcab --- /dev/null +++ b/docs/modules/_frontend_.md @@ -0,0 +1,31 @@ +[rpclibrary](../README.md) › [Globals](../globals.md) › ["Frontend"](_frontend_.md) + +# External module: "Frontend" + +## Index + +### Classes + +* [RPCSocket](../classes/_frontend_.rpcsocket.md) + +### Functions + +* [stripAfterEquals](_frontend_.md#stripafterequals) + +## Functions + +### stripAfterEquals + +▸ **stripAfterEquals**(`str`: string): *string* + +Defined in Frontend.ts:12 + +Utility function to strip parameters like "a = 3" of their defaults + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`str` | string | The parameter to modify | + +**Returns:** *string* diff --git a/docs/modules/_interfaces_.md b/docs/modules/_interfaces_.md new file mode 100644 index 0000000..4738417 --- /dev/null +++ b/docs/modules/_interfaces_.md @@ -0,0 +1,11 @@ +[rpclibrary](../README.md) › [Globals](../globals.md) › ["Interfaces"](_interfaces_.md) + +# External module: "Interfaces" + +## Index + +### Interfaces + +* [Destroyable](../interfaces/_interfaces_.destroyable.md) +* [RPCExporter](../interfaces/_interfaces_.rpcexporter.md) +* [Socket](../interfaces/_interfaces_.socket.md) diff --git a/docs/modules/_types_.md b/docs/modules/_types_.md new file mode 100644 index 0000000..109e778 --- /dev/null +++ b/docs/modules/_types_.md @@ -0,0 +1,387 @@ +[rpclibrary](../README.md) › [Globals](../globals.md) › ["Types"](_types_.md) + +# External module: "Types" + +## Index + +### Type aliases + +* [Any](_types_.md#any) +* [Arg](_types_.md#arg) +* [AsyncFunction](_types_.md#asyncfunction) +* [BaseInfo](_types_.md#baseinfo) +* [CallInfo](_types_.md#callinfo) +* [CallRPC](_types_.md#callrpc) +* [CallbackFunction](_types_.md#callbackfunction) +* [CloseHandler](_types_.md#closehandler) +* [ConnectionHandler](_types_.md#connectionhandler) +* [ErrorHandler](_types_.md#errorhandler) +* [ErrorResponse](_types_.md#errorresponse) +* [ExtendedRpcInfo](_types_.md#extendedrpcinfo) +* [HookCloseFunction](_types_.md#hookclosefunction) +* [HookFunction](_types_.md#hookfunction) +* [HookInfo](_types_.md#hookinfo) +* [HookRPC](_types_.md#hookrpc) +* [Name](_types_.md#name) +* [OnFunction](_types_.md#onfunction) +* [Outcome](_types_.md#outcome) +* [Owner](_types_.md#owner) +* [RPC](_types_.md#rpc) +* [RPCType](_types_.md#rpctype) +* [ResponseType](_types_.md#responsetype) +* [Respose](_types_.md#respose) +* [RpcInfo](_types_.md#rpcinfo) +* [SocketConf](_types_.md#socketconf) +* [SubscriptionResponse](_types_.md#subscriptionresponse) +* [SuccessResponse](_types_.md#successresponse) +* [Visibility](_types_.md#visibility) + +## Type aliases + +### Any + +Ƭ **Any**: *any* + +Defined in Types.ts:4 + +___ + +### Arg + +Ƭ **Arg**: *string* + +Defined in Types.ts:5 + +___ + +### AsyncFunction + +Ƭ **AsyncFunction**: *function* + +Defined in Types.ts:65 + +#### Type declaration: + +▸ (...`args`: any): *Promise‹any›* + +**Parameters:** + +Name | Type | +------ | ------ | +`...args` | any | + +___ + +### BaseInfo + +Ƭ **BaseInfo**: *object* + +Defined in Types.ts:43 + +#### Type declaration: + +* **argNames**: *[Name](_types_.md#name)[]* + +* **name**: *[Name](_types_.md#name)* + +* **owner**: *[Name](_types_.md#name)* + +___ + +### CallInfo + +Ƭ **CallInfo**: *[BaseInfo](_types_.md#baseinfo) & object* + +Defined in Types.ts:54 + +___ + +### CallRPC + +Ƭ **CallRPC**: *object | Function* + +Defined in Types.ts:36 + +___ + +### CallbackFunction + +Ƭ **CallbackFunction**: *function* + +Defined in Types.ts:66 + +#### Type declaration: + +▸ (...`args`: any): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`...args` | any | + +___ + +### CloseHandler + +Ƭ **CloseHandler**: *function* + +Defined in Types.ts:10 + +#### Type declaration: + +▸ (`socket`: [Socket](../interfaces/_interfaces_.socket.md)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`socket` | [Socket](../interfaces/_interfaces_.socket.md) | + +___ + +### ConnectionHandler + +Ƭ **ConnectionHandler**: *function* + +Defined in Types.ts:8 + +#### Type declaration: + +▸ (`socket`: [Socket](../interfaces/_interfaces_.socket.md)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`socket` | [Socket](../interfaces/_interfaces_.socket.md) | + +___ + +### ErrorHandler + +Ƭ **ErrorHandler**: *function* + +Defined in Types.ts:9 + +#### Type declaration: + +▸ (`socket`: [Socket](../interfaces/_interfaces_.socket.md), `error`: any): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`socket` | [Socket](../interfaces/_interfaces_.socket.md) | +`error` | any | + +___ + +### ErrorResponse + +Ƭ **ErrorResponse**: *[Respose](_types_.md#respose)‹T› & object* + +Defined in Types.ts:24 + +___ + +### ExtendedRpcInfo + +Ƭ **ExtendedRpcInfo**: *[RpcInfo](_types_.md#rpcinfo) & object* + +Defined in Types.ts:60 + +___ + +### HookCloseFunction + +Ƭ **HookCloseFunction**: *function* + +Defined in Types.ts:63 + +#### Type declaration: + +▸ (`res`: [SubscriptionResponse](_types_.md#subscriptionresponse)‹T›, `rpc`: [HookRPC](_types_.md#hookrpc)‹T›): *any* + +**Parameters:** + +Name | Type | +------ | ------ | +`res` | [SubscriptionResponse](_types_.md#subscriptionresponse)‹T› | +`rpc` | [HookRPC](_types_.md#hookrpc)‹T› | + +___ + +### HookFunction + +Ƭ **HookFunction**: *function* + +Defined in Types.ts:64 + +#### Type declaration: + +▸ (...`args`: any): *Promise‹[SubscriptionResponse](_types_.md#subscriptionresponse)‹T› | [ErrorResponse](_types_.md#errorresponse)›* + +**Parameters:** + +Name | Type | +------ | ------ | +`...args` | any | + +___ + +### HookInfo + +Ƭ **HookInfo**: *[BaseInfo](_types_.md#baseinfo) & object* + +Defined in Types.ts:49 + +___ + +### HookRPC + +Ƭ **HookRPC**: *object* + +Defined in Types.ts:29 + +#### Type declaration: + +* **hook**: *[HookFunction](_types_.md#hookfunction)‹T›* + +* **name**: *[Name](_types_.md#name)* + +* **onCallback**? : *[CallbackFunction](_types_.md#callbackfunction)* + +* **onClose**? : *[HookCloseFunction](_types_.md#hookclosefunction)‹T›* + +___ + +### Name + +Ƭ **Name**: *[Arg](_types_.md#arg)* + +Defined in Types.ts:6 + +___ + +### OnFunction + +Ƭ **OnFunction**: *function* + +Defined in Types.ts:62 + +#### Type declaration: + +▸ (`type`: "error" | "close", `f`: function): *[Socket](../interfaces/_interfaces_.socket.md)* + +**Parameters:** + +▪ **type**: *"error" | "close"* + +▪ **f**: *function* + +▸ (`e?`: any): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`e?` | any | + +___ + +### Outcome + +Ƭ **Outcome**: *"Success" | "Error"* + +Defined in Types.ts:19 + +___ + +### Owner + +Ƭ **Owner**: *[Name](_types_.md#name)* + +Defined in Types.ts:7 + +___ + +### RPC + +Ƭ **RPC**: *[CallRPC](_types_.md#callrpc) | [HookRPC](_types_.md#hookrpc)‹T›* + +Defined in Types.ts:41 + +___ + +### RPCType + +Ƭ **RPCType**: *"Hook" | "Unhook" | "Call"* + +Defined in Types.ts:27 + +___ + +### ResponseType + +Ƭ **ResponseType**: *"Subscribe" | "Success" | "Error"* + +Defined in Types.ts:18 + +___ + +### Respose + +Ƭ **Respose**: *T & object* + +Defined in Types.ts:22 + +___ + +### RpcInfo + +Ƭ **RpcInfo**: *[HookInfo](_types_.md#hookinfo) | [CallInfo](_types_.md#callinfo)* + +Defined in Types.ts:59 + +___ + +### SocketConf + +Ƭ **SocketConf**: *object* + +Defined in Types.ts:11 + +#### Type declaration: + +* **closeHandler**? : *[CloseHandler](_types_.md#closehandler)* + +* **connectionHandler**? : *[ConnectionHandler](_types_.md#connectionhandler)* + +* **errorHandler**? : *[ErrorHandler](_types_.md#errorhandler)* + +* **visibility**? : *[Visibility](_types_.md#visibility)* + +___ + +### SubscriptionResponse + +Ƭ **SubscriptionResponse**: *[Respose](_types_.md#respose)‹T› & object* + +Defined in Types.ts:25 + +___ + +### SuccessResponse + +Ƭ **SuccessResponse**: *[Respose](_types_.md#respose)‹T› & object* + +Defined in Types.ts:23 + +___ + +### Visibility + +Ƭ **Visibility**: *"127.0.0.1" | "0.0.0.0"* + +Defined in Types.ts:3 diff --git a/docs/modules/_utils_.md b/docs/modules/_utils_.md new file mode 100644 index 0000000..e964b34 --- /dev/null +++ b/docs/modules/_utils_.md @@ -0,0 +1,124 @@ +[rpclibrary](../README.md) › [Globals](../globals.md) › ["Utils"](_utils_.md) + +# External module: "Utils" + +## Index + +### Functions + +* [extractArgs](_utils_.md#const-extractargs) +* [hookGenerator](_utils_.md#const-hookgenerator) +* [makeSubResponse](_utils_.md#makesubresponse) +* [rpcHooker](_utils_.md#rpchooker) +* [rpcToRpcinfo](_utils_.md#const-rpctorpcinfo) + +## Functions + +### `Const` extractArgs + +▸ **extractArgs**(`f`: Function): *T.Arg[]* + +Defined in Utils.ts:110 + +Extract a string list of parameters from a function + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`f` | Function | The source function | + +**Returns:** *T.Arg[]* + +___ + +### `Const` hookGenerator + +▸ **hookGenerator**(`rpc`: T.HookRPC‹any›): *function* + +Defined in Utils.ts:85 + +Utility function to generate [HookFunction](_types_.md#hookfunction) from a RPC + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`rpc` | T.HookRPC‹any› | The RPC to transform | + +**Returns:** *function* + +A [HookFunction](_types_.md#hookfunction) + +▸ (`socket?`: I.Socket): *[HookFunction](_types_.md#hookfunction)‹T›* + +**Parameters:** + +Name | Type | +------ | ------ | +`socket?` | I.Socket | + +___ + +### makeSubResponse + +▸ **makeSubResponse**(`uuid?`: undefined | string): *[SubscriptionResponse](_types_.md#subscriptionresponse)* + +Defined in Utils.ts:119 + +Simple utility function to create basic [SubscriptionResponse](_types_.md#subscriptionresponse) + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`uuid?` | undefined | string | optional uuid to use, otherwise defaults to uuid/v4 | + +**Returns:** *[SubscriptionResponse](_types_.md#subscriptionresponse)* + +___ + +### rpcHooker + +▸ **rpcHooker**<**SubResT**>(`socket`: [Socket](../interfaces/_interfaces_.socket.md), `exporter`: [RPCExporter](../interfaces/_interfaces_.rpcexporter.md)‹SubResT›, `makeUnique`: boolean): *T.ExtendedRpcInfo[]* + +Defined in Utils.ts:59 + +Utility function to apply the RPCs of an [RPCExporter](../interfaces/_interfaces_.rpcexporter.md). + +**Type parameters:** + +▪ **SubResT** + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`socket` | [Socket](../interfaces/_interfaces_.socket.md) | - | The websocket (implementation: bsock) to hook on | +`exporter` | [RPCExporter](../interfaces/_interfaces_.rpcexporter.md)‹SubResT› | - | The exporter | +`makeUnique` | boolean | true | @default true Attach a suffix to RPC names | + +**Returns:** *T.ExtendedRpcInfo[]* + +___ + +### `Const` rpcToRpcinfo + +▸ **rpcToRpcinfo**<**SubResT**>(`rpc`: T.RPC‹SubResT›, `owner`: T.Owner): *T.RpcInfo* + +Defined in Utils.ts:13 + +Translate an RPC to RPCInfo for serialization. + +**Type parameters:** + +▪ **SubResT** + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`rpc` | T.RPC‹SubResT› | The RPC to transform | +`owner` | T.Owner | The owning RPC group's name | + +**Returns:** *T.RpcInfo* From 8e76d93ef5a5362a7f3484ab395b293278b55388 Mon Sep 17 00:00:00 2001 From: daniel Date: Sun, 22 Sep 2019 09:30:06 +0000 Subject: [PATCH 2/2] drone tagged as version 1569144579 --- docs/{ => docs}/README.md | 0 docs/{ => docs}/classes/_backend_.rpcserver.md | 0 docs/{ => docs}/classes/_frontend_.rpcsocket.md | 0 docs/{ => docs}/globals.md | 0 docs/{ => docs}/interfaces/_interfaces_.destroyable.md | 0 docs/{ => docs}/interfaces/_interfaces_.rpcexporter.md | 0 docs/{ => docs}/interfaces/_interfaces_.socket.md | 0 docs/{ => docs}/modules/_backend_.md | 0 docs/{ => docs}/modules/_frontend_.md | 0 docs/{ => docs}/modules/_interfaces_.md | 0 docs/{ => docs}/modules/_types_.md | 0 docs/{ => docs}/modules/_utils_.md | 0 12 files changed, 0 insertions(+), 0 deletions(-) rename docs/{ => docs}/README.md (100%) rename docs/{ => docs}/classes/_backend_.rpcserver.md (100%) rename docs/{ => docs}/classes/_frontend_.rpcsocket.md (100%) rename docs/{ => docs}/globals.md (100%) rename docs/{ => docs}/interfaces/_interfaces_.destroyable.md (100%) rename docs/{ => docs}/interfaces/_interfaces_.rpcexporter.md (100%) rename docs/{ => docs}/interfaces/_interfaces_.socket.md (100%) rename docs/{ => docs}/modules/_backend_.md (100%) rename docs/{ => docs}/modules/_frontend_.md (100%) rename docs/{ => docs}/modules/_interfaces_.md (100%) rename docs/{ => docs}/modules/_types_.md (100%) rename docs/{ => docs}/modules/_utils_.md (100%) diff --git a/docs/README.md b/docs/docs/README.md similarity index 100% rename from docs/README.md rename to docs/docs/README.md diff --git a/docs/classes/_backend_.rpcserver.md b/docs/docs/classes/_backend_.rpcserver.md similarity index 100% rename from docs/classes/_backend_.rpcserver.md rename to docs/docs/classes/_backend_.rpcserver.md diff --git a/docs/classes/_frontend_.rpcsocket.md b/docs/docs/classes/_frontend_.rpcsocket.md similarity index 100% rename from docs/classes/_frontend_.rpcsocket.md rename to docs/docs/classes/_frontend_.rpcsocket.md diff --git a/docs/globals.md b/docs/docs/globals.md similarity index 100% rename from docs/globals.md rename to docs/docs/globals.md diff --git a/docs/interfaces/_interfaces_.destroyable.md b/docs/docs/interfaces/_interfaces_.destroyable.md similarity index 100% rename from docs/interfaces/_interfaces_.destroyable.md rename to docs/docs/interfaces/_interfaces_.destroyable.md diff --git a/docs/interfaces/_interfaces_.rpcexporter.md b/docs/docs/interfaces/_interfaces_.rpcexporter.md similarity index 100% rename from docs/interfaces/_interfaces_.rpcexporter.md rename to docs/docs/interfaces/_interfaces_.rpcexporter.md diff --git a/docs/interfaces/_interfaces_.socket.md b/docs/docs/interfaces/_interfaces_.socket.md similarity index 100% rename from docs/interfaces/_interfaces_.socket.md rename to docs/docs/interfaces/_interfaces_.socket.md diff --git a/docs/modules/_backend_.md b/docs/docs/modules/_backend_.md similarity index 100% rename from docs/modules/_backend_.md rename to docs/docs/modules/_backend_.md diff --git a/docs/modules/_frontend_.md b/docs/docs/modules/_frontend_.md similarity index 100% rename from docs/modules/_frontend_.md rename to docs/docs/modules/_frontend_.md diff --git a/docs/modules/_interfaces_.md b/docs/docs/modules/_interfaces_.md similarity index 100% rename from docs/modules/_interfaces_.md rename to docs/docs/modules/_interfaces_.md diff --git a/docs/modules/_types_.md b/docs/docs/modules/_types_.md similarity index 100% rename from docs/modules/_types_.md rename to docs/docs/modules/_types_.md diff --git a/docs/modules/_utils_.md b/docs/docs/modules/_utils_.md similarity index 100% rename from docs/modules/_utils_.md rename to docs/docs/modules/_utils_.md