@aloma.io/integration-sdk 3.8.11 → 3.8.12

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.
Files changed (83) hide show
  1. package/.prettierrc.cjs +8 -0
  2. package/build/builder/index.d.mts +7 -11
  3. package/build/builder/index.mjs +14 -15
  4. package/build/builder/runtime-context.d.mts +1 -1
  5. package/build/builder/runtime-context.mjs +11 -16
  6. package/build/cli.mjs +38 -38
  7. package/build/controller/index.d.mts +58 -2
  8. package/build/controller/index.mjs +68 -11
  9. package/build/index.d.mts +2 -2
  10. package/build/index.mjs +2 -2
  11. package/build/internal/connector/config.d.mts +2 -2
  12. package/build/internal/connector/config.mjs +10 -10
  13. package/build/internal/connector/index.d.mts +2 -2
  14. package/build/internal/connector/index.mjs +4 -4
  15. package/build/internal/connector/metrics.mjs +6 -6
  16. package/build/internal/connector/server/index.d.mts +3 -3
  17. package/build/internal/connector/server/index.mjs +7 -7
  18. package/build/internal/connector/server/on-connect/decrypt-config.mjs +3 -3
  19. package/build/internal/connector/server/on-connect/finish-oauth.d.mts +3 -3
  20. package/build/internal/connector/server/on-connect/finish-oauth.mjs +17 -23
  21. package/build/internal/connector/server/on-connect/index.d.mts +2 -2
  22. package/build/internal/connector/server/on-connect/index.mjs +13 -13
  23. package/build/internal/connector/server/on-connect/make-oauth.d.mts +3 -3
  24. package/build/internal/connector/server/on-connect/make-oauth.mjs +17 -25
  25. package/build/internal/connector/server/on-connect/start-oauth.mjs +6 -13
  26. package/build/internal/connector/server/on-message.mjs +1 -1
  27. package/build/internal/dispatcher/index.mjs +34 -45
  28. package/build/internal/fetcher/fetcher.d.mts +1 -1
  29. package/build/internal/fetcher/fetcher.mjs +11 -15
  30. package/build/internal/fetcher/oauth-fetcher.d.mts +1 -1
  31. package/build/internal/fetcher/oauth-fetcher.mjs +7 -7
  32. package/build/internal/index.d.mts +1 -1
  33. package/build/internal/index.mjs +1 -1
  34. package/build/internal/util/index.mjs +5 -5
  35. package/build/internal/util/jwe/cli.mjs +3 -3
  36. package/build/internal/util/jwe/index.d.mts +1 -1
  37. package/build/internal/util/jwe/index.mjs +10 -10
  38. package/build/internal/websocket/config.d.mts +1 -1
  39. package/build/internal/websocket/config.mjs +7 -7
  40. package/build/internal/websocket/connection/constants.mjs +3 -3
  41. package/build/internal/websocket/connection/index.mjs +8 -8
  42. package/build/internal/websocket/connection/registration.mjs +6 -6
  43. package/build/internal/websocket/index.d.mts +2 -2
  44. package/build/internal/websocket/index.mjs +3 -3
  45. package/build/internal/websocket/transport/durable.mjs +6 -6
  46. package/build/internal/websocket/transport/index.d.mts +2 -2
  47. package/build/internal/websocket/transport/index.mjs +19 -19
  48. package/build/internal/websocket/transport/packet.mjs +1 -1
  49. package/build/internal/websocket/transport/processor.mjs +5 -5
  50. package/build/transform/index.mjs +26 -26
  51. package/package.json +1 -1
  52. package/src/builder/index.mts +66 -66
  53. package/src/builder/runtime-context.mts +17 -43
  54. package/src/cli.mts +48 -53
  55. package/src/controller/index.mts +72 -12
  56. package/src/index.mts +2 -2
  57. package/src/internal/connector/config.mts +11 -19
  58. package/src/internal/connector/index.mts +8 -9
  59. package/src/internal/connector/metrics.mts +7 -7
  60. package/src/internal/connector/server/index.mts +10 -10
  61. package/src/internal/connector/server/on-connect/decrypt-config.mts +4 -4
  62. package/src/internal/connector/server/on-connect/finish-oauth.mts +22 -35
  63. package/src/internal/connector/server/on-connect/index.mts +27 -27
  64. package/src/internal/connector/server/on-connect/make-oauth.mts +22 -33
  65. package/src/internal/connector/server/on-connect/start-oauth.mts +7 -16
  66. package/src/internal/connector/server/on-message.mts +1 -1
  67. package/src/internal/dispatcher/index.mts +49 -70
  68. package/src/internal/fetcher/fetcher.mts +44 -49
  69. package/src/internal/fetcher/oauth-fetcher.mts +12 -13
  70. package/src/internal/index.mts +2 -2
  71. package/src/internal/util/index.mts +8 -11
  72. package/src/internal/util/jwe/cli.mts +3 -3
  73. package/src/internal/util/jwe/index.mts +17 -21
  74. package/src/internal/websocket/config.mjs +8 -12
  75. package/src/internal/websocket/connection/constants.mjs +3 -3
  76. package/src/internal/websocket/connection/index.mjs +14 -14
  77. package/src/internal/websocket/connection/registration.mjs +10 -10
  78. package/src/internal/websocket/index.mjs +6 -6
  79. package/src/internal/websocket/transport/durable.mjs +9 -9
  80. package/src/internal/websocket/transport/index.mjs +28 -32
  81. package/src/internal/websocket/transport/packet.mjs +4 -4
  82. package/src/internal/websocket/transport/processor.mjs +9 -12
  83. package/src/transform/index.mts +28 -41
@@ -1,27 +1,24 @@
1
1
  export const handlePacketError = (packet, e, transport) => {
2
2
  if (!packet.cb()) {
3
- console.dir({ msg: "packet error", e, packet }, { depth: null });
3
+ console.dir({msg: 'packet error', e, packet}, {depth: null});
4
4
  return;
5
5
  }
6
6
 
7
- transport.send(transport.newPacket({ c: packet.cb(), a: { error: "" + e } }));
7
+ transport.send(transport.newPacket({c: packet.cb(), a: {error: '' + e}}));
8
8
  };
9
9
 
10
10
  export const reply = (arg, packet, transport) => {
11
11
  if (!packet.cb()) {
12
- console.dir(
13
- { msg: "cannot reply to packet without cb", arg, packet },
14
- { depth: null },
15
- );
12
+ console.dir({msg: 'cannot reply to packet without cb', arg, packet}, {depth: null});
16
13
  return;
17
14
  }
18
15
 
19
- transport.send(transport.newPacket({ c: packet.cb(), a: { ...arg } }));
16
+ transport.send(transport.newPacket({c: packet.cb(), a: {...arg}}));
20
17
  };
21
18
 
22
19
  export const unwrap0 = (ret, body, options) => {
23
20
  if (options?.bodyOnly === false) {
24
- return { status: ret.status, headers: ret.headers, body };
21
+ return {status: ret.status, headers: ret.headers, body};
25
22
  } else {
26
23
  return body;
27
24
  }
@@ -30,13 +27,13 @@ export const unwrap0 = (ret, body, options) => {
30
27
  export const unwrap = async (ret, options) => {
31
28
  if (options?.text) return unwrap0(ret, await ret.text(), options);
32
29
  if (options?.base64) {
33
- const base64 = Buffer.from(await ret.arrayBuffer()).toString("base64");
30
+ const base64 = Buffer.from(await ret.arrayBuffer()).toString('base64');
34
31
 
35
32
  return unwrap0(ret, base64, options);
36
33
  }
37
34
 
38
35
  if (options?.skipResponseBody) {
39
- return { status: ret.status, headers: ret.headers };
36
+ return {status: ret.status, headers: ret.headers};
40
37
  }
41
38
 
42
39
  const text = await ret.text();
@@ -44,7 +41,7 @@ export const unwrap = async (ret, options) => {
44
41
  try {
45
42
  return unwrap0(ret, JSON.parse(text), options);
46
43
  } catch (e) {
47
- throw e + " " + text;
44
+ throw e + ' ' + text;
48
45
  }
49
46
  };
50
47
 
@@ -1,11 +1,11 @@
1
- import JWE from "./index.mjs";
1
+ import JWE from './index.mjs';
2
2
 
3
3
  const main = async () => {
4
4
  const jwe = new JWE({});
5
5
  await jwe.newPair();
6
6
 
7
- console.log("PRIVATE_KEY=" + (await jwe.exportPrivateAsBase64()));
8
- console.log("PUBLIC_KEY=" + (await jwe.exportPublicAsBase64()));
7
+ console.log('PRIVATE_KEY=' + (await jwe.exportPrivateAsBase64()));
8
+ console.log('PUBLIC_KEY=' + (await jwe.exportPublicAsBase64()));
9
9
  };
10
10
 
11
11
  setTimeout(() => null, 100);
@@ -1,11 +1,11 @@
1
- import * as jose from "jose";
1
+ import * as jose from 'jose';
2
2
 
3
3
  class JWE {
4
4
  issuer: string;
5
5
  algorithm: string;
6
6
  pair?: jose.GenerateKeyPairResult<jose.KeyLike>;
7
- constructor({ algorithm = "PS256" }) {
8
- this.issuer = "home.aloma.io";
7
+ constructor({algorithm = 'PS256'}) {
8
+ this.issuer = 'home.aloma.io';
9
9
  this.algorithm = algorithm;
10
10
  }
11
11
 
@@ -23,51 +23,47 @@ class JWE {
23
23
  async exportPrivateAsBase64() {
24
24
  const pair = await this.exportPair();
25
25
 
26
- return Buffer.from(pair.privateKey).toString("base64");
26
+ return Buffer.from(pair.privateKey).toString('base64');
27
27
  }
28
28
 
29
29
  async exportPublicAsBase64() {
30
30
  const pair = await this.exportPair();
31
31
 
32
- return Buffer.from(pair.publicKey).toString("base64");
32
+ return Buffer.from(pair.publicKey).toString('base64');
33
33
  }
34
34
 
35
- async importPair({ publicKey, privateKey, algorithm }) {
35
+ async importPair({publicKey, privateKey, algorithm}) {
36
36
  this.pair = {
37
37
  publicKey: await jose.importSPKI(publicKey, algorithm),
38
38
  privateKey: await jose.importPKCS8(privateKey, algorithm),
39
39
  };
40
40
  }
41
41
 
42
- async importBase64Pair({ publicKey, privateKey, algorithm }) {
42
+ async importBase64Pair({publicKey, privateKey, algorithm}) {
43
43
  this.importPair({
44
- publicKey: Buffer.from(publicKey, "base64").toString(),
45
- privateKey: Buffer.from(privateKey, "base64").toString(),
44
+ publicKey: Buffer.from(publicKey, 'base64').toString(),
45
+ privateKey: Buffer.from(privateKey, 'base64').toString(),
46
46
  algorithm,
47
47
  });
48
48
  }
49
49
 
50
- async encrypt(what, expiration = "7d", audience, algorithm = "RSA-OAEP-256") {
51
- const item = new jose.EncryptJWT({ _data: { ...what } })
52
- .setProtectedHeader({ alg: algorithm, enc: "A256GCM" })
50
+ async encrypt(what, expiration = '7d', audience, algorithm = 'RSA-OAEP-256') {
51
+ const item = new jose.EncryptJWT({_data: {...what}})
52
+ .setProtectedHeader({alg: algorithm, enc: 'A256GCM'})
53
53
  .setIssuedAt()
54
54
  .setIssuer(this.issuer)
55
55
  .setAudience(audience);
56
56
 
57
- if (expiration && expiration !== "none") item.setExpirationTime(expiration);
57
+ if (expiration && expiration !== 'none') item.setExpirationTime(expiration);
58
58
 
59
59
  return await item.encrypt(this.pair!.publicKey);
60
60
  }
61
61
 
62
62
  async decrypt(what, audience) {
63
- const { payload, protectedHeader } = await jose.jwtDecrypt(
64
- what,
65
- this.pair!.privateKey,
66
- {
67
- issuer: this.issuer,
68
- audience,
69
- },
70
- );
63
+ const {payload, protectedHeader} = await jose.jwtDecrypt(what, this.pair!.privateKey, {
64
+ issuer: this.issuer,
65
+ audience,
66
+ });
71
67
 
72
68
  return payload._data;
73
69
  }
@@ -1,5 +1,5 @@
1
- import C from "./connection/constants.mjs";
2
- import JWE from "../util/jwe/index.mjs";
1
+ import C from './connection/constants.mjs';
2
+ import JWE from '../util/jwe/index.mjs';
3
3
 
4
4
  class Config {
5
5
  constructor({
@@ -30,19 +30,15 @@ class Config {
30
30
  this._configSchema = configSchema;
31
31
  this._icon = icon;
32
32
 
33
- if (!registrationToken)
34
- throw new Error("empty registration token (set env.REGISTRATION_TOKEN)");
35
- if (!endpoint) throw new Error("empty endpoint (set env.DEVICE_ENDPOINT)");
36
- if (!wsEndpoint)
37
- throw new Error("empty registration token (set env.WEBSOCKET_ENDPOINT)");
33
+ if (!registrationToken) throw new Error('empty registration token (set env.REGISTRATION_TOKEN)');
34
+ if (!endpoint) throw new Error('empty endpoint (set env.DEVICE_ENDPOINT)');
35
+ if (!wsEndpoint) throw new Error('empty registration token (set env.WEBSOCKET_ENDPOINT)');
38
36
 
39
- if (!this._id || !this._version)
40
- throw new Error("need connector id and version");
37
+ if (!this._id || !this._version) throw new Error('need connector id and version');
41
38
  }
42
39
 
43
40
  async validateKeys(algorithm) {
44
- if (!this._privateKey || !this._publicKey)
45
- throw new Error("need private and public key");
41
+ if (!this._privateKey || !this._publicKey) throw new Error('need private and public key');
46
42
 
47
43
  await this._jwe.importBase64Pair({
48
44
  publicKey: this._publicKey,
@@ -110,4 +106,4 @@ class Config {
110
106
  }
111
107
  }
112
108
 
113
- export { Config };
109
+ export {Config};
@@ -1,10 +1,10 @@
1
- const AUTHORIZATION = "Authorization";
1
+ const AUTHORIZATION = 'Authorization';
2
2
 
3
3
  export default {
4
4
  augmentRequest: (what, config) => {
5
5
  what.headers = {
6
6
  ...what.headers,
7
- "User-Agent": config.id() + "/" + config.version(),
7
+ 'User-Agent': config.id() + '/' + config.version(),
8
8
  };
9
9
 
10
10
  what.headers[AUTHORIZATION] = `Connector ${config.token()}`;
@@ -15,7 +15,7 @@ export default {
15
15
  augmentRegistration: (what, config) => {
16
16
  what.headers = {
17
17
  ...what.headers,
18
- "User-Agent": config.id() + "/" + config.version(),
18
+ 'User-Agent': config.id() + '/' + config.version(),
19
19
  };
20
20
 
21
21
  what.headers[AUTHORIZATION] = `Connector ${config.registrationToken()}`;
@@ -1,8 +1,8 @@
1
- import { Registration } from "./registration.mjs";
2
- import C from "./constants.mjs";
1
+ import {Registration} from './registration.mjs';
2
+ import C from './constants.mjs';
3
3
 
4
4
  class Connection {
5
- constructor({ config, onStart }) {
5
+ constructor({config, onStart}) {
6
6
  this.config = config;
7
7
  this.onStart = onStart;
8
8
  }
@@ -13,16 +13,16 @@ class Connection {
13
13
 
14
14
  try {
15
15
  const response = await fetch(
16
- config.url() + "connect",
16
+ config.url() + 'connect',
17
17
  C.augmentRequest(
18
18
  {
19
- method: "POST",
19
+ method: 'POST',
20
20
  body: JSON.stringify({}),
21
- headers: { "Content-Type": "application/json" },
21
+ headers: {'Content-Type': 'application/json'},
22
22
  signal: AbortSignal.timeout(60 * 1000),
23
23
  },
24
- config,
25
- ),
24
+ config
25
+ )
26
26
  );
27
27
 
28
28
  if (response.status === 401) {
@@ -51,16 +51,16 @@ class Connection {
51
51
  async close() {
52
52
  try {
53
53
  await fetch(
54
- this.config.url() + "disconnect",
54
+ this.config.url() + 'disconnect',
55
55
  C.augmentRequest(
56
56
  {
57
- method: "POST",
57
+ method: 'POST',
58
58
  body: JSON.stringify({}),
59
- headers: { "Content-Type": "application/json" },
59
+ headers: {'Content-Type': 'application/json'},
60
60
  signal: AbortSignal.timeout(60 * 1000),
61
61
  },
62
- this.config,
63
- ),
62
+ this.config
63
+ )
64
64
  );
65
65
  } catch (e) {
66
66
  // blank
@@ -68,4 +68,4 @@ class Connection {
68
68
  }
69
69
  }
70
70
 
71
- export { Connection };
71
+ export {Connection};
@@ -1,4 +1,4 @@
1
- import C from "./constants.mjs";
1
+ import C from './constants.mjs';
2
2
 
3
3
  class Registration {
4
4
  constructor(config) {
@@ -13,30 +13,30 @@ class Registration {
13
13
  const icon = config.icon();
14
14
 
15
15
  const response = await fetch(
16
- config.url() + "register",
16
+ config.url() + 'register',
17
17
  C.augmentRegistration(
18
18
  {
19
- method: "POST",
19
+ method: 'POST',
20
20
  body: JSON.stringify({
21
- deployment: process.env.DEPLOYMENT || "",
21
+ deployment: process.env.DEPLOYMENT || '',
22
22
  name: config.name(),
23
23
  version: config.version(),
24
24
  id: config.id(),
25
25
  publicKey: config.publicKey(),
26
- schema: { configSchema, introspect: intro },
26
+ schema: {configSchema, introspect: intro},
27
27
  icon,
28
28
  }),
29
- headers: { "Content-Type": "application/json" },
29
+ headers: {'Content-Type': 'application/json'},
30
30
  signal: AbortSignal.timeout(60 * 1000),
31
31
  },
32
- config,
33
- ),
32
+ config
33
+ )
34
34
  );
35
35
 
36
36
  if (response.status === 200) return (await response.json()).key;
37
37
 
38
- throw new Error("authentication failed");
38
+ throw new Error('authentication failed');
39
39
  }
40
40
  }
41
41
 
42
- export { Registration };
42
+ export {Registration};
@@ -1,12 +1,12 @@
1
- import WebSocket from "ws";
2
- import { Connection } from "./connection/index.mjs";
3
- import { Transport } from "./transport/index.mjs";
1
+ import WebSocket from 'ws';
2
+ import {Connection} from './connection/index.mjs';
3
+ import {Transport} from './transport/index.mjs';
4
4
 
5
5
  class WebsocketConnector {
6
- constructor({ config, onMessage, onConnect }) {
6
+ constructor({config, onMessage, onConnect}) {
7
7
  var local = this;
8
8
  this.config = config;
9
- this.transport = new Transport({ config, onMessage, onConnect });
9
+ this.transport = new Transport({config, onMessage, onConnect});
10
10
  }
11
11
 
12
12
  async start() {
@@ -43,4 +43,4 @@ class WebsocketConnector {
43
43
  }
44
44
  }
45
45
 
46
- export { WebsocketConnector };
46
+ export {WebsocketConnector};
@@ -1,7 +1,7 @@
1
- import WebSocket from "ws";
1
+ import WebSocket from 'ws';
2
2
 
3
3
  class DurableWebsocket {
4
- constructor({ endpoint, secret, onConnect, onMessage }) {
4
+ constructor({endpoint, secret, onConnect, onMessage}) {
5
5
  this.endpoint = endpoint;
6
6
  this.secret = secret;
7
7
  this.onConnect = onConnect;
@@ -27,10 +27,10 @@ class DurableWebsocket {
27
27
 
28
28
  const ws = (local.ws = new WebSocket(local.endpoint, [], {
29
29
  rejectUnauthorized: false,
30
- headers: { Authorization: `Bearer ${local.secret}` },
30
+ headers: {Authorization: `Bearer ${local.secret}`},
31
31
  }));
32
32
 
33
- ws.on("open", () => {
33
+ ws.on('open', () => {
34
34
  local.connecting = false;
35
35
  local.fails = 0;
36
36
 
@@ -43,17 +43,17 @@ class DurableWebsocket {
43
43
  local.onConnect(local);
44
44
  });
45
45
 
46
- ws.on("message", (message) => {
46
+ ws.on('message', (message) => {
47
47
  setImmediate(() => local.onMessage(JSON.parse(message)));
48
48
  });
49
49
 
50
- ws.on("error", (message) => {
51
- if (local.fails > 50) console.log("error:", message.message);
50
+ ws.on('error', (message) => {
51
+ if (local.fails > 50) console.log('error:', message.message);
52
52
 
53
53
  ++local.fails;
54
54
  });
55
55
 
56
- ws.on("close", (message) => {
56
+ ws.on('close', (message) => {
57
57
  local.connecting = false;
58
58
 
59
59
  if (!local.closed) setTimeout(() => local.start(), 5000);
@@ -68,4 +68,4 @@ class DurableWebsocket {
68
68
  }
69
69
  }
70
70
 
71
- export { DurableWebsocket };
71
+ export {DurableWebsocket};
@@ -1,16 +1,16 @@
1
- import { init } from "@paralleldrive/cuid2";
2
- import C from "../connection/constants.mjs";
3
- const cuid = init({ length: 32 });
1
+ import {init} from '@paralleldrive/cuid2';
2
+ import C from '../connection/constants.mjs';
3
+ const cuid = init({length: 32});
4
4
 
5
- import WebSocket from "ws";
6
- import { DurableWebsocket } from "./durable.mjs";
7
- import { Callback, Packet } from "./packet.mjs";
5
+ import WebSocket from 'ws';
6
+ import {DurableWebsocket} from './durable.mjs';
7
+ import {Callback, Packet} from './packet.mjs';
8
8
 
9
9
  const cleanInterval = 45 * 1000;
10
10
  const pingInterval = 30 * 1000;
11
11
 
12
12
  class Transport {
13
- constructor({ config, onMessage, onConnect }) {
13
+ constructor({config, onMessage, onConnect}) {
14
14
  var local = this;
15
15
 
16
16
  this.config = config;
@@ -45,9 +45,9 @@ class Transport {
45
45
  if (!packets.length) return;
46
46
 
47
47
  try {
48
- local.ws.send(JSON.stringify({ p: packets }));
48
+ local.ws.send(JSON.stringify({p: packets}));
49
49
  } catch (e) {
50
- console.log("could not send packets ", e);
50
+ console.log('could not send packets ', e);
51
51
  packets.forEach((packet) => local.packets.unshift(packet));
52
52
  }
53
53
  }
@@ -62,22 +62,18 @@ class Transport {
62
62
 
63
63
  this.running = true;
64
64
 
65
- const ws = (local.ws = new WebSocket(
66
- config.wsUrl(),
67
- ["connector"],
68
- C.augmentRequest({ headers: {} }, config),
69
- ));
65
+ const ws = (local.ws = new WebSocket(config.wsUrl(), ['connector'], C.augmentRequest({headers: {}}, config)));
70
66
 
71
67
  ws.onPing = function () {
72
68
  clearTimeout(this.pingTimeout);
73
69
  this.pingTimeout = setTimeout(() => {
74
- console.log("terminating ws");
70
+ console.log('terminating ws');
75
71
  if (local.running) this.terminate();
76
72
  }, 30000 + 15000);
77
73
  };
78
74
 
79
- ws.on("open", () => {
80
- console.log("transport connected");
75
+ ws.on('open', () => {
76
+ console.log('transport connected');
81
77
  local.connected = true;
82
78
  ws.onPing();
83
79
  local.pinger = setInterval(() => ws.ping(() => null), pingInterval);
@@ -85,17 +81,17 @@ class Transport {
85
81
  local.onConnect(local);
86
82
  });
87
83
 
88
- ws.on("message", (message) => {
84
+ ws.on('message', (message) => {
89
85
  setTimeout(() => local.onMessages(JSON.parse(message)), 0);
90
86
  });
91
87
 
92
- ws.on("ping", () => ws.onPing());
88
+ ws.on('ping', () => ws.onPing());
93
89
 
94
- ws.on("error", (message) => {
95
- console.log("error:", message);
90
+ ws.on('error', (message) => {
91
+ console.log('error:', message);
96
92
  });
97
93
 
98
- ws.on("close", (message) => {
94
+ ws.on('close', (message) => {
99
95
  local.connected = false;
100
96
  clearInterval(local.pinger);
101
97
 
@@ -103,8 +99,8 @@ class Transport {
103
99
  });
104
100
  }
105
101
 
106
- newDurableWebsocket({ endpoint, secret, onConnect, onMessage }) {
107
- return new DurableWebsocket({ endpoint, secret, onConnect, onMessage });
102
+ newDurableWebsocket({endpoint, secret, onConnect, onMessage}) {
103
+ return new DurableWebsocket({endpoint, secret, onConnect, onMessage});
108
104
  }
109
105
 
110
106
  send(packet) {
@@ -131,7 +127,7 @@ class Transport {
131
127
  try {
132
128
  this.callbacks[packet.cb()].cb(packet.args());
133
129
  } catch (e) {
134
- console.log("error processing packet", e, packet);
130
+ console.log('error processing packet', e, packet);
135
131
  } finally {
136
132
  delete this.callbacks[packet.cb()];
137
133
  }
@@ -143,10 +139,10 @@ class Transport {
143
139
  }
144
140
 
145
141
  newPacket(data, cb, cbKey) {
146
- const packet = new Packet({ ...data });
142
+ const packet = new Packet({...data});
147
143
 
148
144
  if (cb) {
149
- this.callbacks[cbKey || packet.id()] = new Callback({ cb });
145
+ this.callbacks[cbKey || packet.id()] = new Callback({cb});
150
146
  packet.cb(cbKey || packet.id());
151
147
  }
152
148
 
@@ -155,7 +151,7 @@ class Transport {
155
151
 
156
152
  clean() {
157
153
  var local = this;
158
- const cbs = { ...this.callbacks },
154
+ const cbs = {...this.callbacks},
159
155
  then = Date.now() - 5 * 60 * 1000;
160
156
 
161
157
  Object.keys(cbs).forEach((key) => {
@@ -163,12 +159,12 @@ class Transport {
163
159
  if (!cb) return;
164
160
 
165
161
  if (cb.created < then) {
166
- console.log("callback timeout", key);
162
+ console.log('callback timeout', key);
167
163
 
168
164
  try {
169
- cb.cb({ error: "timeout" });
165
+ cb.cb({error: 'timeout'});
170
166
  } catch (e) {
171
- console.log("error while callback", key, cb, e);
167
+ console.log('error while callback', key, cb, e);
172
168
  }
173
169
 
174
170
  delete local.callbacks[key];
@@ -196,4 +192,4 @@ class Transport {
196
192
  }
197
193
  }
198
194
 
199
- export { Transport };
195
+ export {Transport};
@@ -1,5 +1,5 @@
1
- import { init } from "@paralleldrive/cuid2";
2
- const cuid = init({ length: 32 });
1
+ import {init} from '@paralleldrive/cuid2';
2
+ const cuid = init({length: 32});
3
3
 
4
4
  class Packet {
5
5
  constructor(data = {}) {
@@ -45,10 +45,10 @@ class Packet {
45
45
  }
46
46
 
47
47
  class Callback {
48
- constructor({ cb }) {
48
+ constructor({cb}) {
49
49
  this.cb = cb;
50
50
  this.created = Date.now();
51
51
  }
52
52
  }
53
53
 
54
- export { Callback, Packet };
54
+ export {Callback, Packet};
@@ -1,7 +1,7 @@
1
- import { Packet, Callback } from "./packet.mjs";
1
+ import {Packet, Callback} from './packet.mjs';
2
2
 
3
3
  class Processor {
4
- constructor({ transport, processPacket }) {
4
+ constructor({transport, processPacket}) {
5
5
  var local = this;
6
6
 
7
7
  this.transport = transport;
@@ -26,10 +26,7 @@ class Processor {
26
26
  var local = this;
27
27
 
28
28
  if (packet.args().packet) {
29
- await local.processPacket0(
30
- local.transport.newPacket(packet.args().packet),
31
- packet,
32
- );
29
+ await local.processPacket0(local.transport.newPacket(packet.args().packet), packet);
33
30
  } else {
34
31
  await local.processPacket0(packet, packet);
35
32
  }
@@ -43,27 +40,27 @@ class Processor {
43
40
  try {
44
41
  callbacks[packet.cb()](packet.args());
45
42
  } catch (e) {
46
- console.log("error in callback", callbacks[packet.cb()], packet);
43
+ console.log('error in callback', callbacks[packet.cb()], packet);
47
44
  }
48
45
 
49
46
  delete local.transport.callbacks[packet.cb()];
50
47
  } else if (packet.event()) {
51
- console.log("handle event packet", packet);
48
+ console.log('handle event packet', packet);
52
49
  } else {
53
50
  try {
54
51
  const result = await local._processPacket(packet);
55
52
  const reply = local.transport.newPacket({});
56
53
 
57
- reply.method("connector.reply");
54
+ reply.method('connector.reply');
58
55
  reply.cb(original.cb());
59
- reply.args({ ...result });
56
+ reply.args({...result});
60
57
 
61
58
  local.transport.send(reply);
62
59
  } catch (e) {
63
- console.log("error processing packet", e, packet);
60
+ console.log('error processing packet', e, packet);
64
61
  }
65
62
  }
66
63
  }
67
64
  }
68
65
 
69
- export { Processor };
66
+ export {Processor};