@4players/odin-plugin-web 1.0.0-alpha.6 → 1.0.0-alpha.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/cmake/dependencies.cmake +31 -0
- package/cmake/options.cmake +53 -0
- package/esbuild.config.ts +49 -0
- package/lib/plugin/index.d.ts +45 -0
- package/lib/plugin/index.js +1 -0
- package/lib/worker/shared.js +1 -0
- package/lib/worker/unshared.js +1 -0
- package/package.json +38 -30
- package/backend/lib/audioController.d.ts +0 -102
- package/backend/lib/audioController.d.ts.map +0 -1
- package/backend/lib/audioController.js +0 -442
- package/backend/lib/audioController.js.map +0 -1
- package/backend/lib/config.d.ts +0 -11
- package/backend/lib/config.d.ts.map +0 -1
- package/backend/lib/config.js +0 -11
- package/backend/lib/config.js.map +0 -1
- package/backend/lib/connectionPool.d.ts +0 -17
- package/backend/lib/connectionPool.d.ts.map +0 -1
- package/backend/lib/connectionPool.js +0 -111
- package/backend/lib/connectionPool.js.map +0 -1
- package/backend/lib/index.d.ts +0 -53
- package/backend/lib/index.d.ts.map +0 -1
- package/backend/lib/index.js +0 -293
- package/backend/lib/index.js.map +0 -1
- package/backend/lib/mainConnection.d.ts +0 -40
- package/backend/lib/mainConnection.d.ts.map +0 -1
- package/backend/lib/mainConnection.js +0 -294
- package/backend/lib/mainConnection.js.map +0 -1
- package/backend/lib/roomConnection.d.ts +0 -37
- package/backend/lib/roomConnection.d.ts.map +0 -1
- package/backend/lib/roomConnection.js +0 -299
- package/backend/lib/roomConnection.js.map +0 -1
- package/backend/lib/rpcConnection.d.ts +0 -49
- package/backend/lib/rpcConnection.d.ts.map +0 -1
- package/backend/lib/rpcConnection.js +0 -235
- package/backend/lib/rpcConnection.js.map +0 -1
- package/backend/lib/token.d.ts +0 -16
- package/backend/lib/token.d.ts.map +0 -1
- package/backend/lib/token.js +0 -67
- package/backend/lib/token.js.map +0 -1
- package/backend/package.json +0 -16
- package/wasm/lib/index.d.ts +0 -97
- package/wasm/lib/index.js +0 -19
- package/wasm/package.json +0 -14
- package/worker/lib/common.d.ts +0 -27
- package/worker/lib/index.d.ts +0 -46
- package/worker/lib/index.js +0 -2
- package/worker/lib/messages.d.ts +0 -93
- package/worker/package.json +0 -16
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"roomConnection.js","sourceRoot":"","sources":["../src/roomConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod';
|
|
2
|
-
import { Result, RpcMessage } from '@4players/odin-common';
|
|
3
|
-
export declare function connect(url: URL, signal: AbortSignal): Promise<Result<WebSocket>>;
|
|
4
|
-
export declare function connectOnce(url: URL, signal: AbortSignal): Promise<Result<WebSocket>>;
|
|
5
|
-
export declare class RpcConnection {
|
|
6
|
-
readonly webSocket: WebSocket;
|
|
7
|
-
private readonly _SendQueue;
|
|
8
|
-
private readonly _RecvQueue;
|
|
9
|
-
private readonly _Requests;
|
|
10
|
-
private readonly _Close;
|
|
11
|
-
private _NextId;
|
|
12
|
-
get closed(): boolean;
|
|
13
|
-
get closeSignal(): AbortSignal;
|
|
14
|
-
constructor(webSocket: WebSocket);
|
|
15
|
-
request(name: string, properties: unknown): Promise<Result<unknown> | 'closed'>;
|
|
16
|
-
request(name: string, properties: unknown, timeout: number): Promise<Result<unknown> | 'closed' | 'timeout'>;
|
|
17
|
-
notify(name: string, properties: unknown): void;
|
|
18
|
-
recv(): Promise<RpcMessage | 'closed'>;
|
|
19
|
-
close(): void;
|
|
20
|
-
private _TimeoutRequest;
|
|
21
|
-
private _Send;
|
|
22
|
-
private _OnWebSocketOpen;
|
|
23
|
-
private _OnWebSocketMessage;
|
|
24
|
-
private _OnResponse;
|
|
25
|
-
private _OnEvent;
|
|
26
|
-
private _Cleanup;
|
|
27
|
-
}
|
|
28
|
-
export type Commands = Record<string, {
|
|
29
|
-
request: z.ZodTypeAny;
|
|
30
|
-
response: z.ZodTypeAny;
|
|
31
|
-
}>;
|
|
32
|
-
export type Events = Record<string, z.ZodTypeAny>;
|
|
33
|
-
export interface TypedRpcMessage<Name extends string, Properties> extends RpcMessage {
|
|
34
|
-
name: Name;
|
|
35
|
-
properties: Properties;
|
|
36
|
-
}
|
|
37
|
-
export type RealizedEvents<E extends Events> = {
|
|
38
|
-
[Name in Extract<keyof E, string>]: TypedRpcMessage<Name, z.infer<E[Name]>>;
|
|
39
|
-
}[Extract<keyof E, string>];
|
|
40
|
-
export declare class TypedRpcConnection<C extends Commands, E extends Events> extends RpcConnection {
|
|
41
|
-
readonly _Commands: C;
|
|
42
|
-
readonly _Events: E;
|
|
43
|
-
constructor(webSocket: WebSocket, _Commands: C, _Events: E);
|
|
44
|
-
request<Name extends Extract<keyof C, string>>(name: Name, properties: z.infer<C[Name]['request']>): Promise<Result<z.infer<C[Name]['response']>> | 'closed'>;
|
|
45
|
-
request<Name extends Extract<keyof C, string>>(name: Name, properties: z.infer<C[Name]['request']>, timeout: number): Promise<Result<z.infer<C[Name]['response']>> | 'closed' | 'timeout'>;
|
|
46
|
-
notify<Name extends Extract<keyof C, string>>(name: Name, properties: z.infer<C[Name]['request']>): void;
|
|
47
|
-
recv(): Promise<RealizedEvents<E> | 'closed'>;
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=rpcConnection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rpcConnection.d.ts","sourceRoot":"","sources":["../src/rpcConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-dupe-class-members */
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
import * as msgpack from '@msgpack/msgpack';
|
|
12
|
-
import { failure, success, isKnownRpcMessage, parseRpc, parseRpcMessage, abortableSleep, } from '@4players/odin-common';
|
|
13
|
-
import { ConnectInterval } from './config';
|
|
14
|
-
export function connect(url, signal) {
|
|
15
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
16
|
-
console.debug(`connecting to ${url}`);
|
|
17
|
-
const start = performance.now();
|
|
18
|
-
let connection = failure('no connection was attempted');
|
|
19
|
-
for (let failures = 0; failures < ConnectInterval.length && signal.aborted === false; failures++) {
|
|
20
|
-
const nextReconnectAt = start + whenToConnect(failures);
|
|
21
|
-
if ((yield abortableSleep(nextReconnectAt - performance.now(), signal)) ===
|
|
22
|
-
'aborted') {
|
|
23
|
-
return failure('aborted');
|
|
24
|
-
}
|
|
25
|
-
connection = yield connectOnce(url, signal);
|
|
26
|
-
if (connection.type === 'Success') {
|
|
27
|
-
return connection;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return connection;
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
export function connectOnce(url, signal) {
|
|
34
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
-
let webSocket;
|
|
36
|
-
try {
|
|
37
|
-
webSocket = new WebSocket(url);
|
|
38
|
-
}
|
|
39
|
-
catch (reason) {
|
|
40
|
-
return failure(`unable to create websocket; ${reason}`);
|
|
41
|
-
}
|
|
42
|
-
const abort = new AbortController();
|
|
43
|
-
const onOpen = new Promise((accept) => webSocket.addEventListener('open', () => accept(success(webSocket)), {
|
|
44
|
-
signal: abort.signal,
|
|
45
|
-
}));
|
|
46
|
-
const onClose = new Promise((accept) => webSocket.addEventListener('close', (event) => accept(failure(event.reason)), { signal: abort.signal }));
|
|
47
|
-
const onAbort = new Promise((accept) => signal.addEventListener('abort', () => accept(failure('aborted')), {
|
|
48
|
-
signal: abort.signal,
|
|
49
|
-
}));
|
|
50
|
-
const result = yield Promise.race([onOpen, onClose, onAbort]);
|
|
51
|
-
abort.abort();
|
|
52
|
-
return result;
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
function whenToConnect(failures) {
|
|
56
|
-
const past_connects = ConnectInterval.slice(0, failures).reduce((a, b) => a + b, 0);
|
|
57
|
-
const interval = ConnectInterval[failures] * Math.random();
|
|
58
|
-
return past_connects + interval;
|
|
59
|
-
}
|
|
60
|
-
export class RpcConnection {
|
|
61
|
-
get closed() {
|
|
62
|
-
return this._Close.signal.aborted;
|
|
63
|
-
}
|
|
64
|
-
get closeSignal() {
|
|
65
|
-
return this._Close.signal;
|
|
66
|
-
}
|
|
67
|
-
constructor(webSocket) {
|
|
68
|
-
this.webSocket = webSocket;
|
|
69
|
-
this._SendQueue = [];
|
|
70
|
-
this._RecvQueue = [];
|
|
71
|
-
this._Requests = new Map();
|
|
72
|
-
this._Close = new AbortController();
|
|
73
|
-
this._NextId = 1;
|
|
74
|
-
this.webSocket.addEventListener('open', this._OnWebSocketOpen.bind(this));
|
|
75
|
-
this.webSocket.addEventListener('close', this.close.bind(this));
|
|
76
|
-
this.webSocket.addEventListener('message', this._OnWebSocketMessage.bind(this));
|
|
77
|
-
this.webSocket.binaryType = 'arraybuffer';
|
|
78
|
-
this._Close.signal.addEventListener('abort', this._Cleanup.bind(this), {
|
|
79
|
-
once: true,
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
request(name, properties, timeout) {
|
|
83
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
-
if (this.closed) {
|
|
85
|
-
return Promise.resolve('closed');
|
|
86
|
-
}
|
|
87
|
-
const id = this._NextId;
|
|
88
|
-
const timeoutId = timeout === undefined
|
|
89
|
-
? undefined
|
|
90
|
-
: setTimeout(() => this._TimeoutRequest(id), timeout);
|
|
91
|
-
this._Send([0, id, name, properties]);
|
|
92
|
-
return new Promise((accept) => {
|
|
93
|
-
this._Requests.set(id, { accept, timeoutId });
|
|
94
|
-
this._NextId += 1;
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
notify(name, properties) {
|
|
99
|
-
if (this.closed === false) {
|
|
100
|
-
this._Send([2, name, properties]);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
recv() {
|
|
104
|
-
if (this.closed === false) {
|
|
105
|
-
return new Promise((accept) => this._RecvQueue.push(accept));
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
return Promise.resolve('closed');
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
close() {
|
|
112
|
-
this._Close.abort();
|
|
113
|
-
}
|
|
114
|
-
_TimeoutRequest(requestId) {
|
|
115
|
-
const request = this._Requests.get(requestId);
|
|
116
|
-
if (request === undefined)
|
|
117
|
-
return;
|
|
118
|
-
this._Requests.delete(requestId);
|
|
119
|
-
clearTimeout(request.timeoutId);
|
|
120
|
-
request.accept('timeout');
|
|
121
|
-
}
|
|
122
|
-
_Send(message) {
|
|
123
|
-
this.webSocket.send(msgpack.encode(message));
|
|
124
|
-
}
|
|
125
|
-
_OnWebSocketOpen(ev) {
|
|
126
|
-
for (const data in this._SendQueue) {
|
|
127
|
-
this.webSocket.send(data);
|
|
128
|
-
}
|
|
129
|
-
this._SendQueue.length = 0;
|
|
130
|
-
}
|
|
131
|
-
_OnWebSocketMessage(ev) {
|
|
132
|
-
const rpc = parseRpc(ev.data);
|
|
133
|
-
if (rpc.type !== 'Success') {
|
|
134
|
-
this.webSocket.close();
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
switch (rpc.value[0]) {
|
|
138
|
-
case 0:
|
|
139
|
-
this._Send([1, rpc.value[1], 'not supported', undefined]);
|
|
140
|
-
break;
|
|
141
|
-
case 1:
|
|
142
|
-
this._OnResponse(rpc.value[1], rpc.value[2], rpc.value[3]);
|
|
143
|
-
break;
|
|
144
|
-
case 2:
|
|
145
|
-
this._OnEvent(rpc.value[1], rpc.value[2]);
|
|
146
|
-
break;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
_OnResponse(id, error, result) {
|
|
150
|
-
const request = this._Requests.get(id);
|
|
151
|
-
if (request === undefined)
|
|
152
|
-
return;
|
|
153
|
-
clearTimeout(request.timeoutId);
|
|
154
|
-
request.accept(error === null ? success(result) : failure(error));
|
|
155
|
-
}
|
|
156
|
-
_OnEvent(name, properties) {
|
|
157
|
-
console.log('event', name, properties);
|
|
158
|
-
const receiver = this._RecvQueue.shift();
|
|
159
|
-
if (receiver !== undefined) {
|
|
160
|
-
receiver({ name, properties });
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
_Cleanup() {
|
|
164
|
-
console.log(`cleanup ${this.webSocket.url}`);
|
|
165
|
-
for (const request of this._Requests.values()) {
|
|
166
|
-
clearTimeout(request.timeoutId);
|
|
167
|
-
request.accept('closed');
|
|
168
|
-
}
|
|
169
|
-
this._Requests.clear();
|
|
170
|
-
for (const accept of this._RecvQueue) {
|
|
171
|
-
accept('closed');
|
|
172
|
-
}
|
|
173
|
-
this._RecvQueue.length = 0;
|
|
174
|
-
this._SendQueue.length = 0;
|
|
175
|
-
this.webSocket.close();
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
export class TypedRpcConnection extends RpcConnection {
|
|
179
|
-
constructor(webSocket, _Commands, _Events) {
|
|
180
|
-
super(webSocket);
|
|
181
|
-
this._Commands = _Commands;
|
|
182
|
-
this._Events = _Events;
|
|
183
|
-
}
|
|
184
|
-
request(name, properties, timeout) {
|
|
185
|
-
const _super = Object.create(null, {
|
|
186
|
-
request: { get: () => super.request }
|
|
187
|
-
});
|
|
188
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
189
|
-
properties = this._Commands[name].request.parse(properties);
|
|
190
|
-
const response = yield (timeout !== undefined
|
|
191
|
-
? _super.request.call(this, name, properties, timeout)
|
|
192
|
-
: _super.request.call(this, name, properties));
|
|
193
|
-
if (response === 'closed' ||
|
|
194
|
-
response === 'timeout' ||
|
|
195
|
-
response.type === 'Failure') {
|
|
196
|
-
return response;
|
|
197
|
-
}
|
|
198
|
-
const parsed = this._Commands[name].response.safeParse(response.value);
|
|
199
|
-
if (parsed.success) {
|
|
200
|
-
response.value = parsed.data;
|
|
201
|
-
return response;
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
return failure(`response schema failed validation: ${parsed.error}`);
|
|
205
|
-
}
|
|
206
|
-
});
|
|
207
|
-
}
|
|
208
|
-
notify(name, properties) {
|
|
209
|
-
properties = this._Commands[name].request.parse(properties);
|
|
210
|
-
super.notify(name, properties);
|
|
211
|
-
}
|
|
212
|
-
recv() {
|
|
213
|
-
const _super = Object.create(null, {
|
|
214
|
-
recv: { get: () => super.recv }
|
|
215
|
-
});
|
|
216
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
217
|
-
const event = yield _super.recv.call(this);
|
|
218
|
-
if (event === 'closed')
|
|
219
|
-
return event;
|
|
220
|
-
const parsed = parseRpcMessage(this._Events, event);
|
|
221
|
-
if (parsed !== undefined) {
|
|
222
|
-
return parsed;
|
|
223
|
-
}
|
|
224
|
-
if (!isKnownRpcMessage(this._Events, event.name)) {
|
|
225
|
-
console.warn(`dropping unknown event ${event.name}`);
|
|
226
|
-
}
|
|
227
|
-
else {
|
|
228
|
-
console.error(`schema validation for ${event.name} failed; closing connection`);
|
|
229
|
-
this.close();
|
|
230
|
-
}
|
|
231
|
-
return 'closed';
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
//# sourceMappingURL=rpcConnection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rpcConnection.js","sourceRoot":"","sources":["../src/rpcConnection.ts"],"names":[],"mappings":"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"}
|
package/backend/lib/token.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import * as z from 'zod';
|
|
2
|
-
import { TokenAudienceSchema, TokenClaimsSchema, Result } from '@4players/odin-common';
|
|
3
|
-
export type TokenClaims = z.infer<typeof TokenClaimsSchema>;
|
|
4
|
-
export declare class Token {
|
|
5
|
-
readonly text: string;
|
|
6
|
-
readonly claims: TokenClaims;
|
|
7
|
-
static parse(token: string): Result<Token>;
|
|
8
|
-
private readonly _Address;
|
|
9
|
-
protected constructor(text: string, claims: TokenClaims);
|
|
10
|
-
get timeLeft(): number;
|
|
11
|
-
get address(): URL | undefined;
|
|
12
|
-
get defaultRoomId(): string | undefined;
|
|
13
|
-
hasAudience(audience: z.infer<typeof TokenAudienceSchema>): boolean;
|
|
14
|
-
toString(): string;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=token.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,EAIP,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,qBAAa,KAAK;IAuBM,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW;IAtBzE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;IAoB1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAE3C,SAAS,aAAsB,IAAI,EAAE,MAAM,EAAW,MAAM,EAAE,WAAW;IAazE,IAAI,QAAQ,IAAI,MAAM,CAGrB;IAED,IAAI,OAAO,IAAI,GAAG,GAAG,SAAS,CAE7B;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAMtC;IAED,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GAAG,OAAO;IASnE,QAAQ,IAAI,MAAM;CAGnB"}
|
package/backend/lib/token.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { TokenClaimsSchema, failure, fromBase64Url, success, } from '@4players/odin-common';
|
|
2
|
-
export class Token {
|
|
3
|
-
static parse(token) {
|
|
4
|
-
const segments = token.split('.');
|
|
5
|
-
if (segments.length !== 3)
|
|
6
|
-
return failure('expected three segments');
|
|
7
|
-
const body = fromBase64Url(segments[1]);
|
|
8
|
-
if (body.type === 'Failure') {
|
|
9
|
-
return failure(`invalid token; ${body.reason}`);
|
|
10
|
-
}
|
|
11
|
-
let json;
|
|
12
|
-
try {
|
|
13
|
-
json = JSON.parse(body.value);
|
|
14
|
-
}
|
|
15
|
-
catch (reason) {
|
|
16
|
-
return failure(`invalid token; ${reason}`);
|
|
17
|
-
}
|
|
18
|
-
const parsed = TokenClaimsSchema.safeParse(json);
|
|
19
|
-
if (parsed.success === false) {
|
|
20
|
-
return failure(`invalid token; ${parsed.error}`);
|
|
21
|
-
}
|
|
22
|
-
return success(new Token(token, parsed.data));
|
|
23
|
-
}
|
|
24
|
-
constructor(text, claims) {
|
|
25
|
-
this.text = text;
|
|
26
|
-
this.claims = claims;
|
|
27
|
-
const address = claims.adr;
|
|
28
|
-
if (address !== undefined) {
|
|
29
|
-
try {
|
|
30
|
-
this._Address = new URL(`wss://${address}`);
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
console.error(`address in token(${address}) can not be parsed; ${error}`);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
get timeLeft() {
|
|
38
|
-
if (this.claims.exp === undefined)
|
|
39
|
-
return Infinity;
|
|
40
|
-
return this.claims.exp * 1000 - Date.now();
|
|
41
|
-
}
|
|
42
|
-
get address() {
|
|
43
|
-
return this._Address;
|
|
44
|
-
}
|
|
45
|
-
get defaultRoomId() {
|
|
46
|
-
if (Array.isArray(this.claims.rid)) {
|
|
47
|
-
return this.claims.rid.length === 1 ? this.claims.rid[0] : undefined;
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
return this.claims.rid;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
hasAudience(audience) {
|
|
54
|
-
if (this.claims.aud === undefined)
|
|
55
|
-
return true;
|
|
56
|
-
if (Array.isArray(this.claims.aud)) {
|
|
57
|
-
return this.claims.aud.includes(audience);
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
return this.claims.aud === audience;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
toString() {
|
|
64
|
-
return this.text;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=token.js.map
|
package/backend/lib/token.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"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"}
|
package/backend/package.json
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@4players/odin-plugin-web-backend",
|
|
3
|
-
"version": "0.0.0",
|
|
4
|
-
"author": "Maximilian Münchow <maximilian.muenchow@4players.io>",
|
|
5
|
-
"private": true,
|
|
6
|
-
"license": "UNLICENSED",
|
|
7
|
-
"main": "./lib/index.js",
|
|
8
|
-
"types": "./lib/index.d.ts",
|
|
9
|
-
"scripts": {
|
|
10
|
-
"clean": "rm -rf lib",
|
|
11
|
-
"build": "tsc"
|
|
12
|
-
},
|
|
13
|
-
"dependencies": {
|
|
14
|
-
"@4players/odin-plugin-web-worker": "file:../worker/"
|
|
15
|
-
}
|
|
16
|
-
}
|
package/wasm/lib/index.d.ts
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
export declare namespace OdinWasm {
|
|
2
|
-
function _malloc(size: number): number;
|
|
3
|
-
function _free(ptr: number): void;
|
|
4
|
-
|
|
5
|
-
const ready: Promise<typeof OdinWasm>;
|
|
6
|
-
|
|
7
|
-
const HEAP8: Int8Array;
|
|
8
|
-
const HEAPU8: Uint8Array;
|
|
9
|
-
const HEAP16: Int16Array;
|
|
10
|
-
const HEAPU16: Uint16Array;
|
|
11
|
-
const HEAP32: Int32Array;
|
|
12
|
-
const HEAPU32: Uint32Array;
|
|
13
|
-
const HEAPF32: Float32Array;
|
|
14
|
-
const HEAPF64: Float64Array;
|
|
15
|
-
|
|
16
|
-
interface BindInfo {
|
|
17
|
-
count: {
|
|
18
|
-
value: number;
|
|
19
|
-
};
|
|
20
|
-
ptr: number;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
class Encoder {
|
|
24
|
-
'$$': BindInfo;
|
|
25
|
-
|
|
26
|
-
constructor(
|
|
27
|
-
sample_rate: number,
|
|
28
|
-
fec_packet_loss: number,
|
|
29
|
-
voip: boolean,
|
|
30
|
-
vad_preload: number
|
|
31
|
-
);
|
|
32
|
-
|
|
33
|
-
complexity: number;
|
|
34
|
-
|
|
35
|
-
readonly speech_probability: boolean;
|
|
36
|
-
readonly rms_dbfs: boolean;
|
|
37
|
-
readonly active: boolean;
|
|
38
|
-
set_speech_detection(
|
|
39
|
-
enabled: boolean,
|
|
40
|
-
going_active: number,
|
|
41
|
-
going_inactive: number
|
|
42
|
-
): void;
|
|
43
|
-
|
|
44
|
-
set_volume_gate(
|
|
45
|
-
enabled: boolean,
|
|
46
|
-
going_active: number,
|
|
47
|
-
going_inactive: number
|
|
48
|
-
): void;
|
|
49
|
-
|
|
50
|
-
push(samples: number, information: number): void;
|
|
51
|
-
pop(bytes: number, bytes_length: number): number;
|
|
52
|
-
|
|
53
|
-
delete(): void;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
class Decoder {
|
|
57
|
-
'$$': BindInfo;
|
|
58
|
-
|
|
59
|
-
constructor();
|
|
60
|
-
|
|
61
|
-
volume: number;
|
|
62
|
-
|
|
63
|
-
readonly packets_seen: number;
|
|
64
|
-
readonly packets_invalid: number;
|
|
65
|
-
readonly packets_too_late: number;
|
|
66
|
-
readonly packets_too_early: number;
|
|
67
|
-
readonly packets_repeated: number;
|
|
68
|
-
readonly packets_processed: number;
|
|
69
|
-
readonly packets_lost: number;
|
|
70
|
-
readonly rewinds: number;
|
|
71
|
-
readonly cache_length: number;
|
|
72
|
-
|
|
73
|
-
push(
|
|
74
|
-
sequence_number: number,
|
|
75
|
-
timestamp: number,
|
|
76
|
-
is_end_of_spurt: boolean,
|
|
77
|
-
payload: number,
|
|
78
|
-
length: number
|
|
79
|
-
): number;
|
|
80
|
-
|
|
81
|
-
pop(samples: number): boolean;
|
|
82
|
-
|
|
83
|
-
delete(): void;
|
|
84
|
-
isDeleted(): boolean;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
function pop_many(
|
|
88
|
-
decoders: number,
|
|
89
|
-
activities: number,
|
|
90
|
-
count: number,
|
|
91
|
-
samples: number
|
|
92
|
-
): boolean;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
declare function LoadOdinWasm(): typeof OdinWasm;
|
|
96
|
-
|
|
97
|
-
export default LoadOdinWasm;
|