Tilde Friends
Tilde Friends App JS

Functions

function App ()
 

Variables

let g_session_index = 0
 
App prototype makeFunction
 
App prototype send
 
exports app_socket
 

Detailed Description

Tilde Friends server-side app wrapper.

Function Documentation

◆ App()

function App ( )

App constructor.

Returns
An app instance.

Variable Documentation

◆ app_socket

exports app_socket

App socket handler.

Parameters
requestThe HTTP request of the WebSocket connection.
responseThe HTTP response.

◆ g_session_index

let g_session_index = 0

A sequence number of apps.

◆ makeFunction

App prototype makeFunction
Initial value:
= function (api) {
let self = this;
let result = function () {
let id = self._next_call_id++;
while (!id || self.calls[id]) {
id = self._next_call_id++;
}
let promise = new Promise(function (resolve, reject) {
self.calls[id] = {resolve: resolve, reject: reject};
});
let message = {
action: 'tfrpc',
method: api[0],
params: [...arguments],
id: id,
};
self.send(message);
return promise;
};
Object.defineProperty(result, 'name', {value: api[0], writable: false});
return result;
}
function message(event)
Definition: client.js:1458

Create a function wrapper that when called invokes a function on the app itself.

Parameters
apiThe function and argument names.
Returns
A function.

◆ send

App prototype send
Initial value:
= function (message) {
if (this._send_queue) {
if (this._on_output) {
this._send_queue.forEach((x) => this._on_output(x));
this._send_queue = null;
} else if (message) {
this._send_queue.push(message);
}
}
if (message && this._on_output) {
this._on_output(message);
}
}

Send a message to the app.

Parameters
messageThe message to send.