@based/server 3.4.5 → 3.4.6

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 (140) hide show
  1. package/dist/handlers/bulkUpdate/index.d.ts +1 -1
  2. package/dist/handlers/configure/index.d.ts +1 -1
  3. package/dist/handlers/copy/index.d.ts +1 -1
  4. package/dist/handlers/delete/index.d.ts +1 -1
  5. package/dist/handlers/digest/index.d.ts +1 -1
  6. package/dist/handlers/get/index.d.ts +1 -1
  7. package/dist/handlers/getConfig/index.d.ts +1 -1
  8. package/dist/handlers/removeField/index.d.ts +1 -1
  9. package/dist/handlers/removeType/index.d.ts +1 -1
  10. package/dist/handlers/rest/file/stream.js +1 -2
  11. package/dist/handlers/rest/file/stream.js.map +1 -1
  12. package/dist/handlers/set/index.d.ts +1 -1
  13. package/package.json +1 -1
  14. package/.turbo/turbo-build.log +0 -4
  15. package/dist/auth/authorize.d.ts +0 -2
  16. package/dist/auth/authorize.js +0 -8
  17. package/dist/auth/authorize.js.map +0 -1
  18. package/dist/auth/dummyAuth.d.ts +0 -2
  19. package/dist/auth/dummyAuth.js +0 -7
  20. package/dist/auth/dummyAuth.js.map +0 -1
  21. package/dist/auth/index.d.ts +0 -11
  22. package/dist/auth/index.js +0 -44
  23. package/dist/auth/index.js.map +0 -1
  24. package/dist/clientContext.d.ts +0 -0
  25. package/dist/clientContext.js +0 -83
  26. package/dist/clientContext.js.map +0 -1
  27. package/dist/error.d.ts +0 -66
  28. package/dist/error.js +0 -149
  29. package/dist/error.js.map +0 -1
  30. package/dist/functions/index.d.ts +0 -48
  31. package/dist/functions/index.js +0 -399
  32. package/dist/functions/index.js.map +0 -1
  33. package/dist/functions/timeout.d.ts +0 -3
  34. package/dist/functions/timeout.js +0 -23
  35. package/dist/functions/timeout.js.map +0 -1
  36. package/dist/functions/workerPool.d.ts +0 -0
  37. package/dist/functions/workerPool.js +0 -5
  38. package/dist/functions/workerPool.js.map +0 -1
  39. package/dist/network/http/authorize.d.ts +0 -3
  40. package/dist/network/http/authorize.js +0 -28
  41. package/dist/network/http/authorize.js.map +0 -1
  42. package/dist/network/http/compress.d.ts +0 -6
  43. package/dist/network/http/compress.js +0 -56
  44. package/dist/network/http/compress.js.map +0 -1
  45. package/dist/network/http/end.d.ts +0 -4
  46. package/dist/network/http/end.js +0 -19
  47. package/dist/network/http/end.js.map +0 -1
  48. package/dist/network/http/function.d.ts +0 -3
  49. package/dist/network/http/function.js +0 -47
  50. package/dist/network/http/function.js.map +0 -1
  51. package/dist/network/http/get.d.ts +0 -3
  52. package/dist/network/http/get.js +0 -129
  53. package/dist/network/http/get.js.map +0 -1
  54. package/dist/network/http/index.d.ts +0 -3
  55. package/dist/network/http/index.js +0 -122
  56. package/dist/network/http/index.js.map +0 -1
  57. package/dist/network/http/readBody.d.ts +0 -3
  58. package/dist/network/http/readBody.js +0 -112
  59. package/dist/network/http/readBody.js.map +0 -1
  60. package/dist/network/http/send.d.ts +0 -5
  61. package/dist/network/http/send.js +0 -60
  62. package/dist/network/http/send.js.map +0 -1
  63. package/dist/network/http/streamFunction/DataStream.d.ts +0 -7
  64. package/dist/network/http/streamFunction/DataStream.js +0 -19
  65. package/dist/network/http/streamFunction/DataStream.js.map +0 -1
  66. package/dist/network/http/streamFunction/getExtension.d.ts +0 -2
  67. package/dist/network/http/streamFunction/getExtension.js +0 -29
  68. package/dist/network/http/streamFunction/getExtension.js.map +0 -1
  69. package/dist/network/http/streamFunction/index.d.ts +0 -3
  70. package/dist/network/http/streamFunction/index.js +0 -81
  71. package/dist/network/http/streamFunction/index.js.map +0 -1
  72. package/dist/network/http/streamFunction/multipartStream.d.ts +0 -12
  73. package/dist/network/http/streamFunction/multipartStream.js +0 -208
  74. package/dist/network/http/streamFunction/multipartStream.js.map +0 -1
  75. package/dist/network/http/streamFunction/stream.d.ts +0 -5
  76. package/dist/network/http/streamFunction/stream.js +0 -103
  77. package/dist/network/http/streamFunction/stream.js.map +0 -1
  78. package/dist/network/index.d.ts +0 -4
  79. package/dist/network/index.js +0 -84
  80. package/dist/network/index.js.map +0 -1
  81. package/dist/network/message/auth.d.ts +0 -4
  82. package/dist/network/message/auth.js +0 -32
  83. package/dist/network/message/auth.js.map +0 -1
  84. package/dist/network/message/function.d.ts +0 -3
  85. package/dist/network/message/function.js +0 -67
  86. package/dist/network/message/function.js.map +0 -1
  87. package/dist/network/message/get.d.ts +0 -3
  88. package/dist/network/message/get.js +0 -109
  89. package/dist/network/message/get.js.map +0 -1
  90. package/dist/network/message/index.d.ts +0 -3
  91. package/dist/network/message/index.js +0 -62
  92. package/dist/network/message/index.js.map +0 -1
  93. package/dist/network/message/observable.d.ts +0 -5
  94. package/dist/network/message/observable.js +0 -103
  95. package/dist/network/message/observable.js.map +0 -1
  96. package/dist/network/message/send.d.ts +0 -4
  97. package/dist/network/message/send.js +0 -11
  98. package/dist/network/message/send.js.map +0 -1
  99. package/dist/network/upgrade.d.ts +0 -4
  100. package/dist/network/upgrade.js +0 -49
  101. package/dist/network/upgrade.js.map +0 -1
  102. package/dist/network/worker/get.d.ts +0 -0
  103. package/dist/network/worker/get.js +0 -122
  104. package/dist/network/worker/get.js.map +0 -1
  105. package/dist/network/worker/observable.d.ts +0 -0
  106. package/dist/network/worker/observable.js +0 -120
  107. package/dist/network/worker/observable.js.map +0 -1
  108. package/dist/observable/index.d.ts +0 -8
  109. package/dist/observable/index.js +0 -154
  110. package/dist/observable/index.js.map +0 -1
  111. package/dist/protocol.d.ts +0 -19
  112. package/dist/protocol.js +0 -212
  113. package/dist/protocol.js.map +0 -1
  114. package/dist/security/index.d.ts +0 -2
  115. package/dist/security/index.js +0 -57
  116. package/dist/security/index.js.map +0 -1
  117. package/dist/server.d.ts +0 -35
  118. package/dist/server.js +0 -99
  119. package/dist/server.js.map +0 -1
  120. package/dist/worker/authorize.d.ts +0 -5
  121. package/dist/worker/authorize.js +0 -15
  122. package/dist/worker/authorize.js.map +0 -1
  123. package/dist/worker/fnMap.d.ts +0 -2
  124. package/dist/worker/fnMap.js +0 -5
  125. package/dist/worker/fnMap.js.map +0 -1
  126. package/dist/worker/functions.d.ts +0 -3
  127. package/dist/worker/functions.js +0 -8
  128. package/dist/worker/functions.js.map +0 -1
  129. package/dist/worker/http/function.d.ts +0 -4
  130. package/dist/worker/http/function.js +0 -75
  131. package/dist/worker/http/function.js.map +0 -1
  132. package/dist/worker/index.d.ts +0 -1
  133. package/dist/worker/index.js +0 -101
  134. package/dist/worker/index.js.map +0 -1
  135. package/dist/worker/observable.d.ts +0 -15
  136. package/dist/worker/observable.js +0 -110
  137. package/dist/worker/observable.js.map +0 -1
  138. package/dist/worker/ws/function.d.ts +0 -3
  139. package/dist/worker/ws/function.js +0 -42
  140. package/dist/worker/ws/function.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"fnMap.js","sourceRoot":"","sources":["../../src/worker/fnMap.ts"],"names":[],"mappings":";;AAAA,MAAM,KAAK,GAAwB,IAAI,GAAG,EAAE,CAAA;AAE5C,kBAAe,KAAK,CAAA"}
@@ -1,3 +0,0 @@
1
- declare const fnPathMap: Map<string, string>;
2
- declare const fnInstallListeners: Map<string, ((fn: Function, err?: Error) => void)[]>;
3
- export { fnPathMap, fnInstallListeners };
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fnInstallListeners = exports.fnPathMap = void 0;
4
- const fnPathMap = new Map();
5
- exports.fnPathMap = fnPathMap;
6
- const fnInstallListeners = new Map();
7
- exports.fnInstallListeners = fnInstallListeners;
8
- //# sourceMappingURL=functions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/worker/functions.ts"],"names":[],"mappings":";;;AAAA,MAAM,SAAS,GAAwB,IAAI,GAAG,EAAE,CAAA;AAKvC,8BAAS;AAHlB,MAAM,kBAAkB,GACtB,IAAI,GAAG,EAAE,CAAA;AAES,gDAAkB"}
@@ -1,4 +0,0 @@
1
- import { ClientContext } from '../../types';
2
- export declare const parsePayload: (id: number, context: ClientContext, data: Uint8Array) => any;
3
- declare const _default: (name: string, type: number, path: string, id: number, context: ClientContext, payload?: Uint8Array) => void;
4
- export default _default;
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parsePayload = void 0;
4
- const worker_threads_1 = require("worker_threads");
5
- const utils_1 = require("@saulx/utils");
6
- const authorize_1 = require("../authorize");
7
- const decoder = new TextDecoder('utf-8');
8
- const parsePayload = (id, context, data) => {
9
- const contentType = context.headers['content-type'];
10
- if (contentType === 'application/json' || !contentType) {
11
- const str = decoder.decode(data);
12
- let parsedData;
13
- try {
14
- parsedData = data.byteLength ? JSON.parse(str) : undefined;
15
- return parsedData;
16
- }
17
- catch (err) {
18
- worker_threads_1.parentPort.postMessage({
19
- id,
20
- err,
21
- });
22
- // sendHttpError(server, client, BasedErrorCode.InvalidPayload, route)
23
- }
24
- }
25
- else if (contentType.startsWith('text') ||
26
- contentType === 'application/xml') {
27
- return decoder.decode(data);
28
- }
29
- else {
30
- return data;
31
- }
32
- };
33
- exports.parsePayload = parsePayload;
34
- exports.default = (name, type, path, id, context, payload) => {
35
- const fn = require(path);
36
- let parsedPayload;
37
- if (payload) {
38
- parsedPayload = (0, exports.parsePayload)(id, context, payload);
39
- }
40
- else if (type === 4) {
41
- parsedPayload = (0, utils_1.parseQuery)(context.query);
42
- }
43
- (0, authorize_1.authorize)(context, name, payload)
44
- .then((ok) => {
45
- if (!ok) {
46
- console.error('autn wrong');
47
- // err will become based error
48
- worker_threads_1.parentPort.postMessage({
49
- id,
50
- err: new Error('AITH WRONG'),
51
- });
52
- return;
53
- }
54
- fn(parsedPayload, {})
55
- .then((v) => {
56
- worker_threads_1.parentPort.postMessage({
57
- id,
58
- payload: v,
59
- });
60
- })
61
- .catch((err) => {
62
- worker_threads_1.parentPort.postMessage({
63
- id,
64
- err,
65
- });
66
- });
67
- })
68
- .catch((err) => {
69
- worker_threads_1.parentPort.postMessage({
70
- id,
71
- err,
72
- });
73
- });
74
- };
75
- //# sourceMappingURL=function.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/worker/http/function.ts"],"names":[],"mappings":";;;AACA,mDAA2C;AAC3C,wCAAyC;AACzC,4CAAwC;AAExC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;AAEjC,MAAM,YAAY,GAAG,CAC1B,EAAU,EACV,OAAsB,EACtB,IAAgB,EACX,EAAE;IACP,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IACnD,IAAI,WAAW,KAAK,kBAAkB,IAAI,CAAC,WAAW,EAAE;QACtD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,UAAe,CAAA;QACnB,IAAI;YACF,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAC1D,OAAO,UAAU,CAAA;SAClB;QAAC,OAAO,GAAG,EAAE;YACZ,2BAAU,CAAC,WAAW,CAAC;gBACrB,EAAE;gBACF,GAAG;aACJ,CAAC,CAAA;YACF,sEAAsE;SACvE;KACF;SAAM,IACL,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC;QAC9B,WAAW,KAAK,iBAAiB,EACjC;QACA,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;KAC5B;SAAM;QACL,OAAO,IAAI,CAAA;KACZ;AACH,CAAC,CAAA;AA3BY,QAAA,YAAY,gBA2BxB;AAED,kBAAe,CACb,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,EAAU,EACV,OAAsB,EACtB,OAAoB,EACpB,EAAE;IACF,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB,IAAI,aAAkB,CAAA;IACtB,IAAI,OAAO,EAAE;QACX,aAAa,GAAG,IAAA,oBAAY,EAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;KACnD;SAAM,IAAI,IAAI,KAAK,CAAC,EAAE;QACrB,aAAa,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA;KAC1C;IACD,IAAA,qBAAS,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC;SAC9B,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QACX,IAAI,CAAC,EAAE,EAAE;YACP,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YAC3B,8BAA8B;YAC9B,2BAAU,CAAC,WAAW,CAAC;gBACrB,EAAE;gBACF,GAAG,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC;aAC7B,CAAC,CAAA;YACF,OAAM;SACP;QACD,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC;aAClB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,2BAAU,CAAC,WAAW,CAAC;gBACrB,EAAE;gBACF,OAAO,EAAE,CAAC;aACX,CAAC,CAAA;QACJ,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,2BAAU,CAAC,WAAW,CAAC;gBACrB,EAAE;gBACF,GAAG;aACJ,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACN,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,2BAAU,CAAC,WAAW,CAAC;YACrB,EAAE;YACF,GAAG;SACJ,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACN,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,101 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const node_worker_threads_1 = require("node:worker_threads");
7
- const observable_1 = require("./observable");
8
- const function_1 = __importDefault(require("./ws/function"));
9
- const function_2 = __importDefault(require("./http/function"));
10
- const functions_1 = require("./functions");
11
- const authorize_1 = require("./authorize");
12
- console.info('Start worker', node_worker_threads_1.threadId);
13
- // outgoing type: 0 => install function
14
- // outgoing type: 1 => GET
15
- // outgoing type: 2 => OBSERVE
16
- node_worker_threads_1.parentPort.on('message', (d) => {
17
- // d.type === 3 // HTTP POST FN
18
- // d.type === 4 // HTTP GET FN
19
- // d.type === 5 // FN INSTALLED (can be observable as well)
20
- // d.type === 6 // UNINSTALL FN
21
- // d.type === 7 // CANNOT INSTALL FN
22
- if (d.type === 5) {
23
- // maybe if you install like this it gets marked for a bit longer
24
- // nested functions have to be kept in mem a bit longer...
25
- const x = functions_1.fnInstallListeners.get(d.name);
26
- const prevPath = functions_1.fnPathMap.get(d.name);
27
- if (prevPath) {
28
- delete require.cache[require.resolve(prevPath)];
29
- }
30
- functions_1.fnPathMap.set(d.name, d.path);
31
- if (x) {
32
- const installedFn = require(d.path);
33
- x.forEach((r) => {
34
- r(installedFn);
35
- });
36
- }
37
- if (d.name === 'authorize') {
38
- authorize_1.state.authorize = require(d.path);
39
- }
40
- }
41
- else if (d.type === 7) {
42
- const x = functions_1.fnInstallListeners.get(d.name);
43
- const prevPath = functions_1.fnPathMap.get(d.name);
44
- if (prevPath) {
45
- delete require.cache[require.resolve(prevPath)];
46
- functions_1.fnPathMap.delete(d.path);
47
- }
48
- if (x) {
49
- const err = new Error(`Cannot install function ${d.name}`);
50
- x.forEach((r) => {
51
- r(undefined, err);
52
- });
53
- }
54
- }
55
- else if (d.type === 6) {
56
- const path = functions_1.fnPathMap.get(d.name);
57
- if (!path) {
58
- // console.info('Cannot find path to uninstall', d.name)
59
- return;
60
- }
61
- console.info('Uninstall', d.name);
62
- functions_1.fnPathMap.delete(path);
63
- delete require.cache[require.resolve(path)];
64
- }
65
- else if (d.type === 3 || d.type === 4) {
66
- const prevPath = functions_1.fnPathMap.get(d.name);
67
- if (!prevPath) {
68
- functions_1.fnPathMap.set(d.name, d.path);
69
- }
70
- else if (prevPath !== d.path) {
71
- delete require.cache[require.resolve(prevPath)];
72
- }
73
- console.info('Http function...');
74
- (0, function_2.default)(d.name, d.type, d.path, d.id, d.context, d.payload);
75
- }
76
- else if (d.type === 0) {
77
- const prevPath = functions_1.fnPathMap.get(d.name);
78
- if (!prevPath) {
79
- functions_1.fnPathMap.set(d.name, d.path);
80
- }
81
- else if (prevPath !== d.path) {
82
- delete require.cache[require.resolve(prevPath)];
83
- }
84
- (0, function_1.default)(d.name, d.path, d.id, d.context.reqId, d.context, d.context.isDeflate, d.payload);
85
- }
86
- else if (d.type === 1) {
87
- const prevPath = functions_1.fnPathMap.get(d.name);
88
- if (!prevPath) {
89
- functions_1.fnPathMap.set(d.name, d.path);
90
- }
91
- else if (prevPath !== d.path) {
92
- delete require.cache[require.resolve(prevPath)];
93
- }
94
- // payload is parsed for this
95
- (0, observable_1.createObs)(d.id, d.path, d.payload);
96
- }
97
- else if (d.type === 2) {
98
- (0, observable_1.closeObs)(d.id);
99
- }
100
- });
101
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- export declare type WorkerObs = {
2
- id: number;
3
- isDestroyed: boolean;
4
- rawData?: any;
5
- rawDataSize?: number;
6
- diffCache?: Uint8Array;
7
- previousChecksum?: number;
8
- cache?: Uint8Array;
9
- isDeflate?: boolean;
10
- checksum?: number;
11
- closeFunction?: () => void;
12
- };
13
- export declare const activeObs: Map<number, WorkerObs>;
14
- export declare const createObs: (id: number, functionPath: string, payload?: any) => void;
15
- export declare const closeObs: (id: number) => void;
@@ -1,110 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.closeObs = exports.createObs = exports.activeObs = void 0;
7
- const protocol_1 = require("../protocol");
8
- const hash_1 = require("@saulx/hash");
9
- const utils_1 = require("@saulx/utils");
10
- const diff_1 = __importDefault(require("@saulx/diff"));
11
- const node_worker_threads_1 = require("node:worker_threads");
12
- exports.activeObs = new Map();
13
- const createObs = (id, functionPath, payload) => {
14
- if (exports.activeObs.has(id)) {
15
- console.warn('trying to creater an obs that allready exists...');
16
- return;
17
- }
18
- const obs = {
19
- id,
20
- isDestroyed: false,
21
- };
22
- exports.activeObs.set(id, obs);
23
- const fn = require(functionPath);
24
- const update = (data, checksum, diff, previousChecksum) => {
25
- if (checksum === undefined) {
26
- if (data === undefined) {
27
- checksum = 0;
28
- }
29
- else {
30
- // do something
31
- if (typeof data === 'object' && data !== null) {
32
- checksum = (0, hash_1.hashObjectIgnoreKeyOrder)(data);
33
- }
34
- else {
35
- checksum = (0, hash_1.hash)(data);
36
- }
37
- }
38
- }
39
- if (checksum !== obs.checksum) {
40
- const buff = (0, protocol_1.valueToBuffer)(data);
41
- if (previousChecksum === undefined) {
42
- if (typeof data === 'object' && data !== null) {
43
- if (obs.rawData) {
44
- diff = (0, diff_1.default)(obs.rawData, data);
45
- obs.previousChecksum = obs.checksum;
46
- }
47
- obs.rawData = (0, utils_1.deepCopy)(data);
48
- }
49
- else if (obs.rawData) {
50
- delete obs.rawData;
51
- delete obs.rawDataSize;
52
- }
53
- }
54
- // TODO: this will all become SHAREDBUFFERS
55
- // keep track globally of total mem usage
56
- const [encodedData, isDeflate] = (0, protocol_1.encodeObservableResponse)(id, checksum, buff);
57
- // add deflate info
58
- obs.isDeflate = isDeflate;
59
- obs.cache = encodedData;
60
- obs.checksum = checksum;
61
- if (diff) {
62
- const diffBuff = (0, protocol_1.valueToBuffer)(diff);
63
- const encodedDiffData = (0, protocol_1.encodeObservableDiffResponse)(id, checksum, obs.previousChecksum, diffBuff);
64
- obs.diffCache = encodedDiffData;
65
- // add to cache size
66
- }
67
- node_worker_threads_1.parentPort.postMessage({
68
- id,
69
- payload: {
70
- diff: obs.diffCache,
71
- data: encodedData,
72
- checksum: checksum,
73
- isDeflate: isDeflate,
74
- },
75
- });
76
- }
77
- };
78
- fn(payload, update)
79
- .then((close) => {
80
- if (obs.isDestroyed) {
81
- close();
82
- }
83
- else {
84
- obs.closeFunction = close;
85
- }
86
- })
87
- .catch((err) => {
88
- node_worker_threads_1.parentPort.postMessage({
89
- id,
90
- err,
91
- });
92
- // TODO: maybe clear instantly?
93
- });
94
- };
95
- exports.createObs = createObs;
96
- const closeObs = (id) => {
97
- const obs = exports.activeObs.get(id);
98
- if (!obs) {
99
- console.warn('trying to close an obs that does not exist');
100
- return;
101
- }
102
- obs.isDestroyed = true;
103
- if (obs.closeFunction) {
104
- obs.closeFunction();
105
- }
106
- exports.activeObs.delete(id);
107
- };
108
- exports.closeObs = closeObs;
109
- // make a map
110
- //# sourceMappingURL=observable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"observable.js","sourceRoot":"","sources":["../../src/worker/observable.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { ClientContext } from '../../types';
2
- declare const _default: (name: string, path: string, id: number, reqId: number, context: ClientContext, isDeflate: boolean, payload?: Uint8Array) => void;
3
- export default _default;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const protocol_1 = require("../../protocol");
4
- const node_worker_threads_1 = require("node:worker_threads");
5
- const authorize_1 = require("../authorize");
6
- exports.default = (name, path, id, reqId, context, isDeflate, payload) => {
7
- const fn = require(path);
8
- let parsedPayload;
9
- if (payload) {
10
- parsedPayload = (0, protocol_1.decodePayload)(payload, isDeflate);
11
- }
12
- (0, authorize_1.authorize)(context, name, payload)
13
- .then((ok) => {
14
- if (!ok) {
15
- node_worker_threads_1.parentPort.postMessage({
16
- id,
17
- err: new Error('AITH WRONG'),
18
- });
19
- return false;
20
- }
21
- fn(parsedPayload, {})
22
- .then((v) => {
23
- node_worker_threads_1.parentPort.postMessage({
24
- id,
25
- payload: (0, protocol_1.encodeFunctionResponse)(reqId, (0, protocol_1.valueToBuffer)(v)),
26
- });
27
- })
28
- .catch((err) => {
29
- node_worker_threads_1.parentPort.postMessage({
30
- id,
31
- err,
32
- });
33
- });
34
- })
35
- .catch((err) => {
36
- node_worker_threads_1.parentPort.postMessage({
37
- id,
38
- err,
39
- });
40
- });
41
- };
42
- //# sourceMappingURL=function.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/worker/ws/function.ts"],"names":[],"mappings":";;AAAA,6CAIuB;AACvB,6DAAgD;AAEhD,4CAAwC;AAExC,kBAAe,CACb,IAAY,EACZ,IAAY,EACZ,EAAU,EACV,KAAa,EACb,OAAsB,EACtB,SAAkB,EAClB,OAAoB,EACpB,EAAE;IACF,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAExB,IAAI,aAAkB,CAAA;IAEtB,IAAI,OAAO,EAAE;QACX,aAAa,GAAG,IAAA,wBAAa,EAAC,OAAO,EAAE,SAAS,CAAC,CAAA;KAClD;IAED,IAAA,qBAAS,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC;SAC9B,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QACX,IAAI,CAAC,EAAE,EAAE;YACP,gCAAU,CAAC,WAAW,CAAC;gBACrB,EAAE;gBACF,GAAG,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC;aAC7B,CAAC,CAAA;YACF,OAAO,KAAK,CAAA;SACb;QAED,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC;aAClB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,gCAAU,CAAC,WAAW,CAAC;gBACrB,EAAE;gBACF,OAAO,EAAE,IAAA,iCAAsB,EAAC,KAAK,EAAE,IAAA,wBAAa,EAAC,CAAC,CAAC,CAAC;aACzD,CAAC,CAAA;QACJ,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,gCAAU,CAAC,WAAW,CAAC;gBACrB,EAAE;gBACF,GAAG;aACJ,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACN,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,gCAAU,CAAC,WAAW,CAAC;YACrB,EAAE;YACF,GAAG;SACJ,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACN,CAAC,CAAA"}