@vxrn/utils 2.0.0-beta.33.1 → 2.0.0-beta.362.1

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 (73) hide show
  1. package/dist/cjs/createMessageSocket.cjs +115 -121
  2. package/dist/cjs/createMessageSocket.native.cjs +166 -0
  3. package/dist/cjs/createMessageSocket.native.js +152 -166
  4. package/dist/cjs/createMessageSocket.native.js.map +1 -1
  5. package/dist/cjs/detectPackageManager.cjs +76 -72
  6. package/dist/cjs/detectPackageManager.native.cjs +106 -0
  7. package/dist/cjs/detectPackageManager.native.js +82 -77
  8. package/dist/cjs/detectPackageManager.native.js.map +1 -1
  9. package/dist/cjs/exec.cjs +43 -45
  10. package/dist/cjs/exec.native.cjs +65 -0
  11. package/dist/cjs/exec.native.js +48 -49
  12. package/dist/cjs/exec.native.js.map +1 -1
  13. package/dist/cjs/index.cjs +10 -11
  14. package/dist/cjs/index.native.cjs +26 -0
  15. package/dist/cjs/index.native.js +10 -10
  16. package/dist/cjs/index.native.js.map +1 -1
  17. package/dist/cjs/mustReplace.cjs +27 -35
  18. package/dist/cjs/mustReplace.native.cjs +60 -0
  19. package/dist/cjs/mustReplace.native.js +44 -60
  20. package/dist/cjs/mustReplace.native.js.map +1 -1
  21. package/dist/cjs/nativeAppManifest.cjs +328 -0
  22. package/dist/cjs/nativeAppManifest.native.cjs +445 -0
  23. package/dist/cjs/nativeAppManifest.native.js +447 -0
  24. package/dist/cjs/nativeAppManifest.native.js.map +1 -0
  25. package/dist/cjs/publicEnv.cjs +38 -0
  26. package/dist/cjs/publicEnv.native.cjs +57 -0
  27. package/dist/cjs/publicEnv.native.js +59 -0
  28. package/dist/cjs/publicEnv.native.js.map +1 -0
  29. package/dist/esm/createMessageSocket.mjs +103 -103
  30. package/dist/esm/createMessageSocket.mjs.map +1 -1
  31. package/dist/esm/createMessageSocket.native.js +139 -148
  32. package/dist/esm/createMessageSocket.native.js.map +1 -1
  33. package/dist/esm/detectPackageManager.mjs +65 -55
  34. package/dist/esm/detectPackageManager.mjs.map +1 -1
  35. package/dist/esm/detectPackageManager.native.js +71 -61
  36. package/dist/esm/detectPackageManager.native.js.map +1 -1
  37. package/dist/esm/exec.mjs +29 -27
  38. package/dist/esm/exec.mjs.map +1 -1
  39. package/dist/esm/exec.native.js +34 -32
  40. package/dist/esm/exec.native.js.map +1 -1
  41. package/dist/esm/index.js +13 -7
  42. package/dist/esm/index.mjs +13 -7
  43. package/dist/esm/index.native.js +13 -7
  44. package/dist/esm/mustReplace.mjs +15 -17
  45. package/dist/esm/mustReplace.mjs.map +1 -1
  46. package/dist/esm/mustReplace.native.js +32 -43
  47. package/dist/esm/mustReplace.native.js.map +1 -1
  48. package/dist/esm/nativeAppManifest.mjs +305 -0
  49. package/dist/esm/nativeAppManifest.mjs.map +1 -0
  50. package/dist/esm/nativeAppManifest.native.js +420 -0
  51. package/dist/esm/nativeAppManifest.native.js.map +1 -0
  52. package/dist/esm/publicEnv.mjs +14 -0
  53. package/dist/esm/publicEnv.mjs.map +1 -0
  54. package/dist/esm/publicEnv.native.js +31 -0
  55. package/dist/esm/publicEnv.native.js.map +1 -0
  56. package/package.json +18 -5
  57. package/src/index.ts +1 -0
  58. package/src/nativeAppManifest.test.ts +360 -0
  59. package/src/nativeAppManifest.ts +702 -0
  60. package/src/publicEnv.ts +19 -0
  61. package/types/createMessageSocket.d.ts +1 -1
  62. package/types/createMessageSocket.d.ts.map +1 -1
  63. package/types/detectPackageManager.d.ts.map +1 -1
  64. package/types/exec.d.ts.map +1 -1
  65. package/types/index.d.ts +1 -0
  66. package/types/index.d.ts.map +1 -1
  67. package/types/nativeAppManifest.d.ts +180 -0
  68. package/types/nativeAppManifest.d.ts.map +1 -0
  69. package/types/publicEnv.d.ts +9 -0
  70. package/types/publicEnv.d.ts.map +1 -0
  71. package/dist/esm/index.js.map +0 -1
  72. package/dist/esm/index.mjs.map +0 -1
  73. package/dist/esm/index.native.js.map +0 -1
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
+ var publicEnv_exports = {};
24
+ __export(publicEnv_exports, {
25
+ EXPO_PUBLIC_PREFIX: () => EXPO_PUBLIC_PREFIX,
26
+ ONE_PUBLIC_PREFIX: () => ONE_PUBLIC_PREFIX,
27
+ withExpoPublicEnvAliases: () => withExpoPublicEnvAliases
28
+ });
29
+ module.exports = __toCommonJS(publicEnv_exports);
30
+ var ONE_PUBLIC_PREFIX = "ONE_PUBLIC_";
31
+ var EXPO_PUBLIC_PREFIX = "EXPO_PUBLIC_";
32
+ function withExpoPublicEnvAliases(env) {
33
+ var aliased = { ...env };
34
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
35
+ try {
36
+ for (var _iterator = Object.entries(env)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
37
+ var [key, value] = _step.value;
38
+ if (!key.startsWith(ONE_PUBLIC_PREFIX)) continue;
39
+ var expoKey = `${EXPO_PUBLIC_PREFIX}${key.slice(ONE_PUBLIC_PREFIX.length)}`;
40
+ if (!(expoKey in aliased)) aliased[expoKey] = value;
41
+ }
42
+ } catch (err) {
43
+ _didIteratorError = true;
44
+ _iteratorError = err;
45
+ } finally {
46
+ try {
47
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
48
+ _iterator.return();
49
+ }
50
+ } finally {
51
+ if (_didIteratorError) {
52
+ throw _iteratorError;
53
+ }
54
+ }
55
+ }
56
+ return aliased;
57
+ }
58
+
59
+ //# sourceMappingURL=publicEnv.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publicEnv.native.js","names":[],"sources":["cjs/publicEnv.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar publicEnv_exports = {};\n__export(publicEnv_exports, {\n EXPO_PUBLIC_PREFIX: () => EXPO_PUBLIC_PREFIX,\n ONE_PUBLIC_PREFIX: () => ONE_PUBLIC_PREFIX,\n withExpoPublicEnvAliases: () => withExpoPublicEnvAliases\n});\nmodule.exports = __toCommonJS(publicEnv_exports);\nvar ONE_PUBLIC_PREFIX = \"ONE_PUBLIC_\";\nvar EXPO_PUBLIC_PREFIX = \"EXPO_PUBLIC_\";\nfunction withExpoPublicEnvAliases(env) {\n var aliased = {\n ...env\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(env)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [key, value] = _step.value;\n if (!key.startsWith(ONE_PUBLIC_PREFIX)) continue;\n var expoKey = `${EXPO_PUBLIC_PREFIX}${key.slice(ONE_PUBLIC_PREFIX.length)}`;\n if (!(expoKey in aliased)) aliased[expoKey] = value;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return aliased;\n}\n//# sourceMappingURL=publicEnv.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,oBAAoB,CAAC;AACzB,SAAS,mBAAmB;CAC1B,0BAA0B;CAC1B,yBAAyB;CACzB,gCAAgC;AAClC,CAAC;AACD,OAAO,UAAU,aAAa,iBAAiB;AAC/C,IAAI,oBAAoB;AACxB,IAAI,qBAAqB;AACzB,SAAS,yBAAyB,KAAK;CACrC,IAAI,UAAU,EACZ,GAAG,IACL;CACA,IAAI,4BAA4B,MAAM,oBAAoB,OAAO,iBAAiB,KAAK;CACvF,IAAI;EACF,KAAK,IAAI,YAAY,OAAO,QAAQ,GAAG,CAAC,CAAC,OAAO,SAAS,CAAC,GAAG,OAAO,EAAE,6BAA6B,QAAQ,UAAU,KAAK,EAAC,CAAE,OAAO,4BAA4B,MAAM;GACpK,IAAI,CAAC,KAAK,SAAS,MAAM;GACzB,IAAI,CAAC,IAAI,WAAW,iBAAiB,GAAG;GACxC,IAAI,UAAU,GAAG,qBAAqB,IAAI,MAAM,kBAAkB,MAAM;GACxE,IAAI,EAAE,WAAW,UAAU,QAAQ,WAAW;EAChD;CACF,SAAS,KAAK;EACZ,oBAAoB;EACpB,iBAAiB;CACnB,UAAU;EACR,IAAI;GACF,IAAI,CAAC,6BAA6B,UAAU,UAAU,MAAM;IAC1D,UAAU,OAAO;GACnB;EACF,UAAU;GACR,IAAI,mBAAmB;IACrB,MAAM;GACR;EACF;CACF;CACA,OAAO;AACT"}
@@ -1,108 +1,108 @@
1
1
  import { WebSocketServer } from "ws";
2
+
2
3
  function createMessageSocket() {
3
- const PROTOCOL_VERSION = 2;
4
- const wss = new WebSocketServer({
5
- noServer: true
6
- });
7
- const clients = /* @__PURE__ */new Map();
8
- let nextClientId = 0;
9
- function broadcast(broadcasterId, message) {
10
- const forwarded = JSON.stringify({
11
- version: PROTOCOL_VERSION,
12
- method: message.method,
13
- params: message.params
14
- });
15
- for (const [otherId, other] of clients) {
16
- if (otherId !== broadcasterId) {
17
- try {
18
- other.ws.send(forwarded);
19
- } catch {}
20
- }
21
- }
22
- }
23
- wss.on("connection", (clientWs, req) => {
24
- const clientId = `client#${nextClientId++}`;
25
- const query = Object.fromEntries(new URL(req?.url || "/", "http://localhost").searchParams);
26
- clients.set(clientId, {
27
- ws: clientWs,
28
- query
29
- });
30
- const remove = () => clients.delete(clientId);
31
- clientWs.on("close", remove);
32
- clientWs.on("error", remove);
33
- clientWs.on("message", (data, isBinary) => {
34
- if (isBinary) return;
35
- let message;
36
- try {
37
- message = JSON.parse(data.toString());
38
- } catch {
39
- return;
40
- }
41
- if (message?.version !== PROTOCOL_VERSION) return;
42
- try {
43
- const isBroadcastMsg = typeof message.method === "string" && message.id === void 0 && message.target === void 0;
44
- const isRequest = typeof message.method === "string" && typeof message.target === "string";
45
- const isResponse = typeof message.id === "object" && message.id?.requestId !== void 0 && typeof message.id?.clientId === "string" && (message.result !== void 0 || message.error !== void 0);
46
- if (isBroadcastMsg) {
47
- broadcast(clientId, message);
48
- } else if (isRequest) {
49
- if (message.target === "server") {
50
- let result;
51
- if (message.method === "getid") {
52
- result = clientId;
53
- } else if (message.method === "getpeers") {
54
- const peers = {};
55
- for (const [otherId, other] of clients) {
56
- if (otherId !== clientId) peers[otherId] = other.query;
57
- }
58
- result = peers;
59
- } else {
60
- throw new Error(`unknown method: ${message.method}`);
61
- }
62
- clientWs.send(JSON.stringify({
63
- version: PROTOCOL_VERSION,
64
- result,
65
- id: message.id
66
- }));
67
- } else {
68
- const target = clients.get(message.target);
69
- if (!target) {
70
- throw new Error(`could not find id "${message.target}" while forwarding request`);
71
- }
72
- target.ws.send(JSON.stringify({
73
- version: PROTOCOL_VERSION,
74
- method: message.method,
75
- params: message.params,
76
- id: message.id === void 0 ? void 0 : {
77
- requestId: message.id,
78
- clientId
79
- }
80
- }));
81
- }
82
- } else if (isResponse) {
83
- if (!message.id) return;
84
- const target = clients.get(message.id.clientId);
85
- target?.ws.send(JSON.stringify({
86
- version: PROTOCOL_VERSION,
87
- result: message.result,
88
- error: message.error,
89
- id: message.id.requestId
90
- }));
91
- }
92
- } catch (err) {
93
- if (message.id !== void 0) {
94
- try {
95
- clientWs.send(JSON.stringify({
96
- version: PROTOCOL_VERSION,
97
- error: String(err),
98
- id: message.id
99
- }));
100
- } catch {}
101
- }
102
- }
103
- });
104
- });
105
- return wss;
4
+ const PROTOCOL_VERSION = 2;
5
+ const wss = new WebSocketServer({ noServer: true });
6
+ const clients = /* @__PURE__ */ new Map();
7
+ let nextClientId = 0;
8
+ function broadcast(broadcasterId, message) {
9
+ const forwarded = JSON.stringify({
10
+ version: PROTOCOL_VERSION,
11
+ method: message.method,
12
+ params: message.params
13
+ });
14
+ for (const [otherId, other] of clients) {
15
+ if (otherId !== broadcasterId) {
16
+ try {
17
+ other.ws.send(forwarded);
18
+ } catch {}
19
+ }
20
+ }
21
+ }
22
+ wss.on("connection", (clientWs, req) => {
23
+ const clientId = `client#${nextClientId++}`;
24
+ const query = Object.fromEntries(new URL(req?.url || "/", "http://localhost").searchParams);
25
+ clients.set(clientId, {
26
+ ws: clientWs,
27
+ query
28
+ });
29
+ const remove = () => clients.delete(clientId);
30
+ clientWs.on("close", remove);
31
+ clientWs.on("error", remove);
32
+ clientWs.on("message", (data, isBinary) => {
33
+ if (isBinary) return;
34
+ let message;
35
+ try {
36
+ message = JSON.parse(data.toString());
37
+ } catch {
38
+ return;
39
+ }
40
+ if (message?.version !== PROTOCOL_VERSION) return;
41
+ try {
42
+ const isBroadcastMsg = typeof message.method === "string" && message.id === void 0 && message.target === void 0;
43
+ const isRequest = typeof message.method === "string" && typeof message.target === "string";
44
+ const isResponse = typeof message.id === "object" && message.id?.requestId !== void 0 && typeof message.id?.clientId === "string" && (message.result !== void 0 || message.error !== void 0);
45
+ if (isBroadcastMsg) {
46
+ broadcast(clientId, message);
47
+ } else if (isRequest) {
48
+ if (message.target === "server") {
49
+ let result;
50
+ if (message.method === "getid") {
51
+ result = clientId;
52
+ } else if (message.method === "getpeers") {
53
+ const peers = {};
54
+ for (const [otherId, other] of clients) {
55
+ if (otherId !== clientId) peers[otherId] = other.query;
56
+ }
57
+ result = peers;
58
+ } else {
59
+ throw new Error(`unknown method: ${message.method}`);
60
+ }
61
+ clientWs.send(JSON.stringify({
62
+ version: PROTOCOL_VERSION,
63
+ result,
64
+ id: message.id
65
+ }));
66
+ } else {
67
+ const target = clients.get(message.target);
68
+ if (!target) {
69
+ throw new Error(`could not find id "${message.target}" while forwarding request`);
70
+ }
71
+ target.ws.send(JSON.stringify({
72
+ version: PROTOCOL_VERSION,
73
+ method: message.method,
74
+ params: message.params,
75
+ id: message.id === void 0 ? void 0 : {
76
+ requestId: message.id,
77
+ clientId
78
+ }
79
+ }));
80
+ }
81
+ } else if (isResponse) {
82
+ if (!message.id) return;
83
+ const target = clients.get(message.id.clientId);
84
+ target?.ws.send(JSON.stringify({
85
+ version: PROTOCOL_VERSION,
86
+ result: message.result,
87
+ error: message.error,
88
+ id: message.id.requestId
89
+ }));
90
+ }
91
+ } catch (err) {
92
+ if (message.id !== void 0) {
93
+ try {
94
+ clientWs.send(JSON.stringify({
95
+ version: PROTOCOL_VERSION,
96
+ error: String(err),
97
+ id: message.id
98
+ }));
99
+ } catch {}
100
+ }
101
+ }
102
+ });
103
+ });
104
+ return wss;
106
105
  }
106
+
107
107
  export { createMessageSocket };
108
108
  //# sourceMappingURL=createMessageSocket.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["WebSocketServer","createMessageSocket","PROTOCOL_VERSION","wss","noServer","clients","Map","nextClientId","broadcast","broadcasterId","message","forwarded","JSON","stringify","version","method","params","otherId","other","ws","send","on","clientWs","req","clientId","query","Object","fromEntries","URL","url","searchParams","set","remove","delete","data","isBinary","parse","toString","isBroadcastMsg","id","target","isRequest","isResponse","requestId","result","error","peers","Error","get","err","String"],"sources":["../../src/createMessageSocket.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"createMessageSocket.js","names":[],"sources":["esm/createMessageSocket.js"],"sourcesContent":["import { WebSocketServer } from \"ws\";\nfunction createMessageSocket() {\n const PROTOCOL_VERSION = 2;\n const wss = new WebSocketServer({ noServer: true });\n const clients = /* @__PURE__ */ new Map();\n let nextClientId = 0;\n function broadcast(broadcasterId, message) {\n const forwarded = JSON.stringify({\n version: PROTOCOL_VERSION,\n method: message.method,\n params: message.params\n });\n for (const [otherId, other] of clients) {\n if (otherId !== broadcasterId) {\n try {\n other.ws.send(forwarded);\n } catch {\n }\n }\n }\n }\n wss.on(\"connection\", (clientWs, req) => {\n const clientId = `client#${nextClientId++}`;\n const query = Object.fromEntries(\n new URL(req?.url || \"/\", \"http://localhost\").searchParams\n );\n clients.set(clientId, { ws: clientWs, query });\n const remove = () => clients.delete(clientId);\n clientWs.on(\"close\", remove);\n clientWs.on(\"error\", remove);\n clientWs.on(\"message\", (data, isBinary) => {\n if (isBinary) return;\n let message;\n try {\n message = JSON.parse(data.toString());\n } catch {\n return;\n }\n if (message?.version !== PROTOCOL_VERSION) return;\n try {\n const isBroadcastMsg = typeof message.method === \"string\" && message.id === void 0 && message.target === void 0;\n const isRequest = typeof message.method === \"string\" && typeof message.target === \"string\";\n const isResponse = typeof message.id === \"object\" && message.id?.requestId !== void 0 && typeof message.id?.clientId === \"string\" && (message.result !== void 0 || message.error !== void 0);\n if (isBroadcastMsg) {\n broadcast(clientId, message);\n } else if (isRequest) {\n if (message.target === \"server\") {\n let result;\n if (message.method === \"getid\") {\n result = clientId;\n } else if (message.method === \"getpeers\") {\n const peers = {};\n for (const [otherId, other] of clients) {\n if (otherId !== clientId) peers[otherId] = other.query;\n }\n result = peers;\n } else {\n throw new Error(`unknown method: ${message.method}`);\n }\n clientWs.send(\n JSON.stringify({ version: PROTOCOL_VERSION, result, id: message.id })\n );\n } else {\n const target = clients.get(message.target);\n if (!target) {\n throw new Error(\n `could not find id \"${message.target}\" while forwarding request`\n );\n }\n target.ws.send(\n JSON.stringify({\n version: PROTOCOL_VERSION,\n method: message.method,\n params: message.params,\n id: message.id === void 0 ? void 0 : { requestId: message.id, clientId }\n })\n );\n }\n } else if (isResponse) {\n if (!message.id) return;\n const target = clients.get(message.id.clientId);\n target?.ws.send(\n JSON.stringify({\n version: PROTOCOL_VERSION,\n result: message.result,\n error: message.error,\n id: message.id.requestId\n })\n );\n }\n } catch (err) {\n if (message.id !== void 0) {\n try {\n clientWs.send(\n JSON.stringify({\n version: PROTOCOL_VERSION,\n error: String(err),\n id: message.id\n })\n );\n } catch {\n }\n }\n }\n });\n });\n return wss;\n}\nexport {\n createMessageSocket\n};\n//# sourceMappingURL=createMessageSocket.js.map\n"],"mappings":"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"}
@@ -1,154 +1,145 @@
1
1
  import { WebSocketServer } from "ws";
2
- function _type_of(obj) {
3
- "@swc/helpers - typeof";
4
2
 
5
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
6
- }
7
3
  function createMessageSocket() {
8
- var PROTOCOL_VERSION = 2;
9
- var wss = new WebSocketServer({
10
- noServer: true
11
- });
12
- var clients = /* @__PURE__ */new Map();
13
- var nextClientId = 0;
14
- function broadcast(broadcasterId, message) {
15
- var forwarded = JSON.stringify({
16
- version: PROTOCOL_VERSION,
17
- method: message.method,
18
- params: message.params
19
- });
20
- var _iteratorNormalCompletion = true,
21
- _didIteratorError = false,
22
- _iteratorError = void 0;
23
- try {
24
- for (var _iterator = clients[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
25
- var [otherId, other] = _step.value;
26
- if (otherId !== broadcasterId) {
27
- try {
28
- other.ws.send(forwarded);
29
- } catch (unused) {}
30
- }
31
- }
32
- } catch (err) {
33
- _didIteratorError = true;
34
- _iteratorError = err;
35
- } finally {
36
- try {
37
- if (!_iteratorNormalCompletion && _iterator.return != null) {
38
- _iterator.return();
39
- }
40
- } finally {
41
- if (_didIteratorError) {
42
- throw _iteratorError;
43
- }
44
- }
45
- }
46
- }
47
- wss.on("connection", function (clientWs, req) {
48
- var clientId = `client#${nextClientId++}`;
49
- var query = Object.fromEntries(new URL((req === null || req === void 0 ? void 0 : req.url) || "/", "http://localhost").searchParams);
50
- clients.set(clientId, {
51
- ws: clientWs,
52
- query
53
- });
54
- var remove = function () {
55
- return clients.delete(clientId);
56
- };
57
- clientWs.on("close", remove);
58
- clientWs.on("error", remove);
59
- clientWs.on("message", function (data, isBinary) {
60
- if (isBinary) return;
61
- var message;
62
- try {
63
- message = JSON.parse(data.toString());
64
- } catch (unused) {
65
- return;
66
- }
67
- if ((message === null || message === void 0 ? void 0 : message.version) !== PROTOCOL_VERSION) return;
68
- try {
69
- var _message_id, _message_id1;
70
- var isBroadcastMsg = typeof message.method === "string" && message.id === void 0 && message.target === void 0;
71
- var isRequest = typeof message.method === "string" && typeof message.target === "string";
72
- var isResponse = _type_of(message.id) === "object" && ((_message_id = message.id) === null || _message_id === void 0 ? void 0 : _message_id.requestId) !== void 0 && typeof ((_message_id1 = message.id) === null || _message_id1 === void 0 ? void 0 : _message_id1.clientId) === "string" && (message.result !== void 0 || message.error !== void 0);
73
- if (isBroadcastMsg) {
74
- broadcast(clientId, message);
75
- } else if (isRequest) {
76
- if (message.target === "server") {
77
- var result;
78
- if (message.method === "getid") {
79
- result = clientId;
80
- } else if (message.method === "getpeers") {
81
- var peers = {};
82
- var _iteratorNormalCompletion = true,
83
- _didIteratorError = false,
84
- _iteratorError = void 0;
85
- try {
86
- for (var _iterator = clients[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
87
- var [otherId, other] = _step.value;
88
- if (otherId !== clientId) peers[otherId] = other.query;
89
- }
90
- } catch (err) {
91
- _didIteratorError = true;
92
- _iteratorError = err;
93
- } finally {
94
- try {
95
- if (!_iteratorNormalCompletion && _iterator.return != null) {
96
- _iterator.return();
97
- }
98
- } finally {
99
- if (_didIteratorError) {
100
- throw _iteratorError;
101
- }
102
- }
103
- }
104
- result = peers;
105
- } else {
106
- throw new Error(`unknown method: ${message.method}`);
107
- }
108
- clientWs.send(JSON.stringify({
109
- version: PROTOCOL_VERSION,
110
- result,
111
- id: message.id
112
- }));
113
- } else {
114
- var target = clients.get(message.target);
115
- if (!target) {
116
- throw new Error(`could not find id "${message.target}" while forwarding request`);
117
- }
118
- target.ws.send(JSON.stringify({
119
- version: PROTOCOL_VERSION,
120
- method: message.method,
121
- params: message.params,
122
- id: message.id === void 0 ? void 0 : {
123
- requestId: message.id,
124
- clientId
125
- }
126
- }));
127
- }
128
- } else if (isResponse) {
129
- if (!message.id) return;
130
- var target1 = clients.get(message.id.clientId);
131
- target1 === null || target1 === void 0 ? void 0 : target1.ws.send(JSON.stringify({
132
- version: PROTOCOL_VERSION,
133
- result: message.result,
134
- error: message.error,
135
- id: message.id.requestId
136
- }));
137
- }
138
- } catch (err) {
139
- if (message.id !== void 0) {
140
- try {
141
- clientWs.send(JSON.stringify({
142
- version: PROTOCOL_VERSION,
143
- error: String(err),
144
- id: message.id
145
- }));
146
- } catch (unused) {}
147
- }
148
- }
149
- });
150
- });
151
- return wss;
4
+ var PROTOCOL_VERSION = 2;
5
+ var wss = new WebSocketServer({ noServer: true });
6
+ var clients = /* @__PURE__ */ new Map();
7
+ var nextClientId = 0;
8
+ function broadcast(broadcasterId, message) {
9
+ var forwarded = JSON.stringify({
10
+ version: PROTOCOL_VERSION,
11
+ method: message.method,
12
+ params: message.params
13
+ });
14
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
15
+ try {
16
+ for (var _iterator = clients[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
17
+ var [otherId, other] = _step.value;
18
+ if (otherId !== broadcasterId) {
19
+ try {
20
+ other.ws.send(forwarded);
21
+ } catch (unused) {}
22
+ }
23
+ }
24
+ } catch (err) {
25
+ _didIteratorError = true;
26
+ _iteratorError = err;
27
+ } finally {
28
+ try {
29
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
30
+ _iterator.return();
31
+ }
32
+ } finally {
33
+ if (_didIteratorError) {
34
+ throw _iteratorError;
35
+ }
36
+ }
37
+ }
38
+ }
39
+ wss.on("connection", function(clientWs, req) {
40
+ var clientId = `client#${nextClientId++}`;
41
+ var query = Object.fromEntries(new URL((req === null || req === void 0 ? void 0 : req.url) || "/", "http://localhost").searchParams);
42
+ clients.set(clientId, {
43
+ ws: clientWs,
44
+ query
45
+ });
46
+ var remove = function() {
47
+ return clients.delete(clientId);
48
+ };
49
+ clientWs.on("close", remove);
50
+ clientWs.on("error", remove);
51
+ clientWs.on("message", function(data, isBinary) {
52
+ if (isBinary) return;
53
+ var message;
54
+ try {
55
+ message = JSON.parse(data.toString());
56
+ } catch (unused) {
57
+ return;
58
+ }
59
+ if ((message === null || message === void 0 ? void 0 : message.version) !== PROTOCOL_VERSION) return;
60
+ try {
61
+ var _message_id, _message_id1;
62
+ var isBroadcastMsg = typeof message.method === "string" && message.id === void 0 && message.target === void 0;
63
+ var isRequest = typeof message.method === "string" && typeof message.target === "string";
64
+ var isResponse = typeof message.id === "object" && ((_message_id = message.id) === null || _message_id === void 0 ? void 0 : _message_id.requestId) !== void 0 && typeof ((_message_id1 = message.id) === null || _message_id1 === void 0 ? void 0 : _message_id1.clientId) === "string" && (message.result !== void 0 || message.error !== void 0);
65
+ if (isBroadcastMsg) {
66
+ broadcast(clientId, message);
67
+ } else if (isRequest) {
68
+ if (message.target === "server") {
69
+ var result;
70
+ if (message.method === "getid") {
71
+ result = clientId;
72
+ } else if (message.method === "getpeers") {
73
+ var peers = {};
74
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
75
+ try {
76
+ for (var _iterator = clients[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
77
+ var [otherId, other] = _step.value;
78
+ if (otherId !== clientId) peers[otherId] = other.query;
79
+ }
80
+ } catch (err) {
81
+ _didIteratorError = true;
82
+ _iteratorError = err;
83
+ } finally {
84
+ try {
85
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
86
+ _iterator.return();
87
+ }
88
+ } finally {
89
+ if (_didIteratorError) {
90
+ throw _iteratorError;
91
+ }
92
+ }
93
+ }
94
+ result = peers;
95
+ } else {
96
+ throw new Error(`unknown method: ${message.method}`);
97
+ }
98
+ clientWs.send(JSON.stringify({
99
+ version: PROTOCOL_VERSION,
100
+ result,
101
+ id: message.id
102
+ }));
103
+ } else {
104
+ var target = clients.get(message.target);
105
+ if (!target) {
106
+ throw new Error(`could not find id "${message.target}" while forwarding request`);
107
+ }
108
+ target.ws.send(JSON.stringify({
109
+ version: PROTOCOL_VERSION,
110
+ method: message.method,
111
+ params: message.params,
112
+ id: message.id === void 0 ? void 0 : {
113
+ requestId: message.id,
114
+ clientId
115
+ }
116
+ }));
117
+ }
118
+ } else if (isResponse) {
119
+ if (!message.id) return;
120
+ var target1 = clients.get(message.id.clientId);
121
+ target1 === null || target1 === void 0 ? void 0 : target1.ws.send(JSON.stringify({
122
+ version: PROTOCOL_VERSION,
123
+ result: message.result,
124
+ error: message.error,
125
+ id: message.id.requestId
126
+ }));
127
+ }
128
+ } catch (err) {
129
+ if (message.id !== void 0) {
130
+ try {
131
+ clientWs.send(JSON.stringify({
132
+ version: PROTOCOL_VERSION,
133
+ error: String(err),
134
+ id: message.id
135
+ }));
136
+ } catch (unused) {}
137
+ }
138
+ }
139
+ });
140
+ });
141
+ return wss;
152
142
  }
143
+
153
144
  export { createMessageSocket };
154
145
  //# sourceMappingURL=createMessageSocket.native.js.map