update: added namespaces in client.js
This commit is contained in:
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
|
||||
[project]
|
||||
name = "common"
|
||||
description = "Reusable code stubs"
|
||||
version = "0.1.8"
|
||||
version = "0.1.9"
|
||||
requires-python = ">=3.13"
|
||||
authors = [
|
||||
{ name="BreakerBear", email="breakerbear@autistic.men" },
|
||||
|
||||
@@ -12,31 +12,41 @@ CONNECTION.addEventListener('message', (e) => {
|
||||
else promise.resolve(message.result);
|
||||
});
|
||||
|
||||
async function notify(method, ...args) {
|
||||
let request = { method };
|
||||
if (args.length > 0) request.params = args;
|
||||
let data = JSON.stringify(request);
|
||||
CONNECTION.send(data);
|
||||
}
|
||||
const LogRecord = {
|
||||
format: (entry) => {
|
||||
let date = new Date(entry.created).toISOString().slice(0, 19).replace("T", " ");
|
||||
let line = `[${date}] [${entry.levelname}] [${entry.name}] ${entry.msg}`;
|
||||
let message = [line, entry.exc_text, entry.stack_info].filter(Boolean).join('\n');
|
||||
return message;
|
||||
},
|
||||
};
|
||||
|
||||
async function invoke(method, ...args) {
|
||||
let id = Math.floor(Math.random() * 1000000000);
|
||||
let request = { method, id };
|
||||
if (args.length > 0) request.params = args;
|
||||
const RemoteProceduralCall = {
|
||||
notify: async (method, ...args) => {
|
||||
let request = { method };
|
||||
if (args.length > 0) request.params = args;
|
||||
let data = JSON.stringify(request);
|
||||
CONNECTION.send(data);
|
||||
},
|
||||
invoke: async (method, ...args) => {
|
||||
let id = Math.floor(Math.random() * 1000000000);
|
||||
let request = { method, id };
|
||||
if (args.length > 0) request.params = args;
|
||||
|
||||
let data = JSON.stringify(request);
|
||||
CONNECTION.send(data);
|
||||
let data = JSON.stringify(request);
|
||||
CONNECTION.send(data);
|
||||
|
||||
let reject = null;
|
||||
let resolve = null;
|
||||
let promise = new Promise((a, b) => { resolve = a; reject = b; });
|
||||
let item = { resolve, reject, id };
|
||||
QUEUE.push(item);
|
||||
let reject = null;
|
||||
let resolve = null;
|
||||
let promise = new Promise((a, b) => { resolve = a; reject = b; });
|
||||
let item = { resolve, reject, id };
|
||||
QUEUE.push(item);
|
||||
|
||||
let result = await promise;
|
||||
return result;
|
||||
}
|
||||
let result = await promise;
|
||||
return result;
|
||||
},
|
||||
};
|
||||
|
||||
window.notify = notify;
|
||||
window.invoke = invoke;
|
||||
window.LogRecord = LogRecord;
|
||||
window.Rpc2 = RemoteProceduralCall;
|
||||
main(...arguments); // entrypoint to user-defined (async) main stub of the script
|
||||
Reference in New Issue
Block a user