@trippler/tr_lib 2.9.2 โ†’ 2.9.5

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 CHANGED
@@ -1,32 +1,38 @@
1
- # tr_lib
2
-
3
- A lightweight utility & helper library for FiveM developers. Designed to improve code reusability, consistency, and performance across and outcross Trippler resources.
4
-
5
- ![](https://img.shields.io/npm/d18m/%40trippler%2Ftr_lib)
6
- ![](https://img.shields.io/npm/v/%40trippler%2Ftr_lib)
7
-
8
- ## ๐Ÿ“ฅ Depend
9
- ```json
10
- "@trippler/tr_lib": "latest",
11
- ```
12
-
13
- ## ๐Ÿ“š Documentation
14
- https://docs.trippler.store/tr_lib
15
-
16
- ## GitHub
17
- [![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/TripplerScripts/tr_lib)
18
-
19
- ## ๐Ÿ—บ๏ธ Roadmap
20
- - [ ] add modules that serverify and clientify (asServer asClient)
21
- - [ ] add client and server metadata communication module instead of heating events
22
- - [ ] add controlled commands
23
-
24
- ## ๐ŸงพLicense
25
- [![](https://img.shields.io/npm/l/%40trippler%2Ftr_lib)](./LICENSE)
26
-
27
- ## ๐Ÿ“ž Support
28
- [![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/vPwaW3rpUk)
29
-
30
- ## ๐Ÿ’ป Build with
31
- ![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge&logo=typescript&logoColor=white)
32
- ![Lua](https://img.shields.io/badge/lua-%232C2D72.svg?style=for-the-badge&logo=lua&logoColor=white)
1
+ # tr_lib
2
+
3
+ A lightweight utility & helper library for FiveM developers. Designed to improve code reusability, consistency, and performance across and outcross Trippler resources.
4
+
5
+ ![](https://img.shields.io/npm/d18m/%40trippler%2Ftr_lib)
6
+ ![](https://img.shields.io/npm/v/%40trippler%2Ftr_lib)
7
+
8
+ ## npm i @trippler/tr_lib
9
+ Depend
10
+ ```json
11
+ "@trippler/tr_lib": "latest",
12
+ ```
13
+
14
+ ## ๐Ÿ“ฅ Install
15
+ ```bash
16
+ npm i @trippler/tr_lib
17
+ ```
18
+
19
+ ## ๐Ÿ“š Documentation
20
+ https://docs.trippler.store/tr_lib
21
+
22
+ ## GitHub
23
+ [![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/TripplerScripts/tr_lib)
24
+
25
+ ## ๐Ÿ—บ๏ธ Roadmap
26
+ - [ ] add modules that serverify and clientify (asServer asClient)
27
+ - [ ] add client and server metadata communication module instead of heating events
28
+ - [ ] add controlled commands
29
+ - [ ] fix keybinds indexes
30
+
31
+ ## ๐ŸงพLicense
32
+ ![](https://img.shields.io/npm/l/%40trippler%2Ftr_lib)
33
+
34
+ ## ๐Ÿ“ž Support
35
+ [![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/vPwaW3rpUk)
36
+
37
+ ## ๐Ÿ’ป Build with
38
+ ![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge&logo=typescript&logoColor=white)
@@ -2,6 +2,11 @@ import { isInvalidKey, noop, onKey } from "..";
2
2
  export default (key) => {
3
3
  if (isInvalidKey(key))
4
4
  return false;
5
- setTick(() => onKey(DisableControlAction, key, noop, true));
5
+ try {
6
+ setTick(() => onKey(DisableControlAction, key, noop, true));
7
+ }
8
+ catch (error) {
9
+ console.error(error);
10
+ }
6
11
  return true;
7
12
  };
@@ -2,9 +2,14 @@ import { isInvalidKey, noop, onKey } from "..";
2
2
  export default (key, callback) => {
3
3
  if (isInvalidKey(key))
4
4
  return false;
5
- setTick(() => {
6
- onKey(DisableControlAction, key, noop, true);
7
- onKey(IsDisabledControlJustPressed, key, callback);
8
- });
5
+ try {
6
+ setTick(() => {
7
+ onKey(DisableControlAction, key, noop, true);
8
+ onKey(IsDisabledControlJustPressed, key, callback);
9
+ });
10
+ }
11
+ catch (error) {
12
+ console.error(error);
13
+ }
9
14
  return true;
10
15
  };
@@ -2,6 +2,11 @@ import { isInvalidKey, onKey } from "..";
2
2
  export default (key, callback) => {
3
3
  if (isInvalidKey(key))
4
4
  return false;
5
- setTick(() => onKey(IsControlPressed, key, callback));
5
+ try {
6
+ setTick(() => onKey(IsControlPressed, key, callback));
7
+ }
8
+ catch (error) {
9
+ console.error(error);
10
+ }
6
11
  return true;
7
12
  };
@@ -2,6 +2,11 @@ import { isInvalidKey, onKey } from "..";
2
2
  export default (key, callback) => {
3
3
  if (isInvalidKey(key))
4
4
  return false;
5
- setTick(() => onKey(IsControlJustPressed, key, callback));
5
+ try {
6
+ setTick(() => onKey(IsControlJustPressed, key, callback));
7
+ }
8
+ catch (error) {
9
+ console.error(error);
10
+ }
6
11
  return true;
7
12
  };
@@ -2,6 +2,11 @@ import { isInvalidKey, onKey } from "..";
2
2
  export default (key, callback) => {
3
3
  if (isInvalidKey(key))
4
4
  return false;
5
- setTick(() => onKey(IsControlJustReleased, key, callback));
5
+ try {
6
+ setTick(() => onKey(IsControlJustReleased, key, callback));
7
+ }
8
+ catch (error) {
9
+ console.error(error);
10
+ }
6
11
  return true;
7
12
  };
package/client/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  export { default as onNuiCallback } from './nuiCallback/onNuiCallback';
2
2
  export { default as triggerNuiCallback } from './nuiCallback/triggerNuiCallback';
3
- export { default as onPromise } from './promise/onPromise';
4
3
  export { default as requestModel } from './request';
5
4
  export { default as awaitInstanceExisting } from './existing';
6
5
  export { default as control } from './control';
7
6
  export { default as onDOMLoaded } from './dom';
7
+ export { default as onPromise } from './promise/onPromise';
8
8
  export * from './promise/triggerPromise';
9
9
  import './nuiFocus';
package/client/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  export { default as onNuiCallback } from './nuiCallback/onNuiCallback';
2
2
  export { default as triggerNuiCallback } from './nuiCallback/triggerNuiCallback';
3
- export { default as onPromise } from './promise/onPromise';
4
3
  export { default as requestModel } from './request';
5
4
  export { default as awaitInstanceExisting } from './existing';
6
5
  export { default as control } from './control';
7
6
  export { default as onDOMLoaded } from './dom';
7
+ export { default as onPromise } from './promise/onPromise';
8
8
  export * from './promise/triggerPromise';
9
9
  import './nuiFocus';
@@ -1,2 +1,2 @@
1
- declare const _default: <T = unknown>(callbackType: string, Function: (data: T, callback: Function) => void) => void;
1
+ declare const _default: <T = unknown>(enpoint: string, callback: (data: T, callback: (returned: any) => void) => void) => void;
2
2
  export default _default;
@@ -1 +1 @@
1
- export default (callbackType, Function) => RegisterNuiCallback(callbackType, Function);
1
+ export default (enpoint, callback) => RegisterNuiCallback(enpoint, callback);
@@ -1,2 +1,2 @@
1
- declare const _default: (name: string, ...params: any[]) => boolean;
1
+ declare const _default: (endpoint: string, ...parameters: any[]) => boolean;
2
2
  export default _default;
@@ -1 +1 @@
1
- export default (name, ...params) => SendNuiMessage(JSON.stringify({ __name: name, params }));
1
+ export default (endpoint, ...parameters) => SendNuiMessage(JSON.stringify({ __name: endpoint, params: parameters }));
@@ -1,2 +1,2 @@
1
- declare const _default: <T extends (...args: any) => ReturnType<T>>(endpoint: string, Function: T) => boolean;
1
+ declare const _default: <T extends (...parameters: any) => ReturnType<T>>(endpoint: string, Function: T) => boolean;
2
2
  export default _default;
package/package.json CHANGED
@@ -1,45 +1,45 @@
1
- {
2
- "name": "@trippler/tr_lib",
3
- "version": "2.9.2",
4
- "description": "A lightweight utility & helper library for FiveM developers. Designed to improve code reusability, consistency, and performance across and outcross Trippler resources.",
5
- "author": "Trippler",
6
- "license": "GPL-3.0",
7
- "keywords": [
8
- "fivem",
9
- "library",
10
- "trippler",
11
- "tr_lib"
12
- ],
13
- "repository": {
14
- "type": "git",
15
- "url": "https://github.com/tripplerscripts/tr_lib"
16
- },
17
- "exports": {
18
- "./client": "./client/index.js",
19
- "./server": "./server/index.js",
20
- "./shared": "./shared/index.js",
21
- "./web": "./web/index.js"
22
- },
23
- "files": [
24
- "client",
25
- "server",
26
- "shared",
27
- "web",
28
- "Readme.md"
29
- ],
30
- "scripts": {
31
- "patch": "npm run rebuild && npm version patch && npm publish",
32
- "minor": "npm run rebuild && npm version minor && npm publish",
33
- "rebuild": "rmdir /s /q client server shared web 2>nul & npm run build",
34
- "build": "npm run build:shared && npm run build:client && npm run build:server && npm run build:web",
35
- "build:client": "npx tsc -p src/client/tsconfig.json",
36
- "build:server": "npx tsc -p src/server/tsconfig.json",
37
- "build:shared": "npx tsc -p src/shared/tsconfig.json",
38
- "build:web": "npx tsc -p src/web/tsconfig.json"
39
- },
40
- "devDependencies": {
41
- "@citizenfx/client": "latest",
42
- "@citizenfx/server": "latest",
43
- "typescript": "^5.0.0"
44
- }
45
- }
1
+ {
2
+ "name": "@trippler/tr_lib",
3
+ "version": "2.9.5",
4
+ "description": "A lightweight utility & helper library for FiveM developers. Designed to improve code reusability, consistency, and performance across and outcross Trippler resources.",
5
+ "author": "Trippler",
6
+ "license": "GPL-3.0",
7
+ "keywords": [
8
+ "fivem",
9
+ "library",
10
+ "trippler",
11
+ "tr_lib"
12
+ ],
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/tripplerscripts/tr_lib"
16
+ },
17
+ "exports": {
18
+ "./client": "./client/index.js",
19
+ "./server": "./server/index.js",
20
+ "./shared": "./shared/index.js",
21
+ "./web": "./web/index.js"
22
+ },
23
+ "files": [
24
+ "client",
25
+ "server",
26
+ "shared",
27
+ "web",
28
+ "Readme.md"
29
+ ],
30
+ "scripts": {
31
+ "patch": "npm run rebuild && npm version patch && npm publish",
32
+ "minor": "npm run rebuild && npm version minor && npm publish",
33
+ "rebuild": "rmdir /s /q client server shared web 2>nul & npm run build",
34
+ "build": "npm run build:shared && npm run build:client && npm run build:server && npm run build:web",
35
+ "build:client": "npx tsc -p src/client/tsconfig.json",
36
+ "build:server": "npx tsc -p src/server/tsconfig.json",
37
+ "build:shared": "npx tsc -p src/shared/tsconfig.json",
38
+ "build:web": "npx tsc -p src/web/tsconfig.json"
39
+ },
40
+ "devDependencies": {
41
+ "@citizenfx/client": "latest",
42
+ "@citizenfx/server": "latest",
43
+ "typescript": "^5.0.0"
44
+ }
45
+ }
@@ -1,2 +1,2 @@
1
- declare const _default: <T extends (source: number, ...args: any) => ReturnType<T>>(endpoint: string, Function: T) => boolean;
1
+ declare const _default: <T extends (source: number, ...parameters: any) => ReturnType<T>>(endpoint: string, Function: T) => boolean;
2
2
  export default _default;
@@ -1 +1 @@
1
- export declare const triggerPromise: <T = unknown>(options: [number, boolean] | number | boolean | string, endpoint?: string | any, ...parameters: any[]) => Promise<T | null>;
1
+ export declare const triggerPromise: <T = unknown>(options: [number, boolean] | number | boolean | string, endpoint: string | number, source?: number, ...parameters: any[]) => Promise<T | null>;
@@ -3,15 +3,15 @@ const pendingPromises = {};
3
3
  const patienceLimit = 5000;
4
4
  const promises = [];
5
5
  let promiseId = 0;
6
- export const triggerPromise = async (options, endpoint, ...parameters) => {
6
+ export const triggerPromise = async (options, endpoint, source, ...parameters) => {
7
7
  if (typeof options === 'string') {
8
8
  return triggerPromise([patienceLimit, false], options, endpoint, ...parameters);
9
9
  }
10
10
  if (typeof options === 'number') {
11
- return triggerPromise([options, false], endpoint, ...parameters);
11
+ return triggerPromise([options, false], endpoint, source, ...parameters);
12
12
  }
13
13
  if (typeof options === 'boolean') {
14
- return triggerPromise([patienceLimit, options], endpoint, ...parameters);
14
+ return triggerPromise([patienceLimit, options], endpoint, source, ...parameters);
15
15
  }
16
16
  const timeout = options?.[0] ?? patienceLimit;
17
17
  const debug = options?.[1] ?? false;
@@ -30,11 +30,12 @@ export const triggerPromise = async (options, endpoint, ...parameters) => {
30
30
  }
31
31
  });
32
32
  }
33
- emitNet(`__tr_promise_on:${endpoint}`, currentPromiseId, ...parameters);
33
+ emitNet(`__tr_promise_on:${endpoint}`, source, currentPromiseId, ...parameters);
34
34
  setTimeout(() => {
35
35
  if (pendingPromises[currentPromiseId]) {
36
36
  pendingPromises[currentPromiseId].resolve({ success: false });
37
37
  delete pendingPromises[currentPromiseId];
38
+ /* TODO: Memory leak - if timeout fires before response, the onNet handler stays registered forever. */
38
39
  }
39
40
  }, timeout);
40
41
  });
@@ -42,13 +43,13 @@ export const triggerPromise = async (options, endpoint, ...parameters) => {
42
43
  const response = await promise();
43
44
  if (response.success) {
44
45
  if (debug) {
45
- trace(`client promise ${endpoint} returned ${Object.keys(response.returned).length} values`);
46
+ trace(`client #${source} promise ${endpoint} returned ${Object.keys(response.returned).length} values`);
46
47
  }
47
48
  return response.returned;
48
49
  }
49
50
  else {
50
51
  if (debug) {
51
- trace(`client promise ${endpoint} timed out after ${timeout}ms`);
52
+ trace(`client #${source} promise ${endpoint} timed out after ${timeout}ms`);
52
53
  }
53
54
  }
54
55
  return null;
@@ -1,2 +1,2 @@
1
- declare const _default: (condition: any, message?: string) => void | never;
1
+ declare const _default: (condition: any, errorMessage?: string) => void | never;
2
2
  export default _default;
@@ -1,4 +1,4 @@
1
- export default (condition, message) => {
1
+ export default (condition, errorMessage) => {
2
2
  if (!condition)
3
- throw new Error(message || `assertion did not passed successfuly`);
3
+ throw new Error(errorMessage || `assertion did not passed successfuly`);
4
4
  };
@@ -1,2 +1,2 @@
1
- declare const _default: (str: string, delimiter?: string) => string[];
1
+ declare const _default: (raw: string, delimiter?: string) => string[];
2
2
  export default _default;
@@ -1 +1 @@
1
- export default (str, delimiter = ',') => str.split(delimiter);
1
+ export default (raw, delimiter = ',') => raw.split(delimiter);
@@ -1 +1 @@
1
- {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/shared/assert/index.ts","../src/shared/split/index.ts","../src/shared/console/index.ts","../src/shared/index.ts","../node_modules/@citizenfx/client/natives_universal.d.ts","../node_modules/@citizenfx/client/index.d.ts","../node_modules/@citizenfx/server/natives_server.d.ts","../node_modules/@citizenfx/server/index.d.ts"],"fileIdsList":[[51],[53],[47,48,49]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"c37ec37f434bfca313e5bf651964bb67e6ea68ebd747a11e7d9d019557d8726f","signature":"2e6309532f6ec411410227bdc1ef328cbf9d02b70e606395aea50184e824c35f"},{"version":"9307774ed4bf7dc76598a427a8a997748af3a88ef13ab49a5d268758cd38cd26","signature":"7705ac6765da758275cbe6476728222e9dfd67d081c5b108e92ba887f9937e23"},{"version":"92052c92eb3c1b4ae766d91d3efc1925fea3acd1686aa37ed0e839fd8c13942b","signature":"da3f799a5f4592e90cf96994d236765cc7393b442a0a20667e7acac7832d91f5"},{"version":"6fc5c50835b1adde9b18bd5998d76fd6121b7ec830310fea1cf3627443872e10","signature":"6cafee9e1665c7c24d6c7683173f3fc96dbee39fbcac226286c1a6f00b0441aa"},{"version":"eb52a727c50b0491fba9386eba5e3a384e00398313f1cae006b0c7a5d96bd1cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"790d112e4ee81cce653df1bb408de6d41f198636f825c679a937ad78fb83658a","affectsGlobalScope":true,"impliedFormat":1},{"version":"336444f0e254ae6e2e361175009ea27b0fc369ca916a877f87aaa540268a6d45","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb69c00a6d7f57274f7efe2b91d0eebc8a1e5d8b800386a69b94dc260ae67212","affectsGlobalScope":true,"impliedFormat":1}],"root":[[47,50]],"options":{"composite":true,"declaration":true,"esModuleInterop":true,"module":99,"outDir":"./","rootDir":"../src/shared","skipLibCheck":true,"strict":true,"target":7},"referencedMap":[[52,1],[54,2],[50,3]],"latestChangedDtsFile":"./index.d.ts","version":"5.9.3"}
1
+ {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/shared/assert/index.ts","../src/shared/split/index.ts","../src/shared/console/index.ts","../src/shared/index.ts","../node_modules/@citizenfx/client/natives_universal.d.ts","../node_modules/@citizenfx/client/index.d.ts","../node_modules/@citizenfx/server/natives_server.d.ts","../node_modules/@citizenfx/server/index.d.ts"],"fileIdsList":[[51],[53],[47,48,49]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"d40531a95d317593a5d13f5fa5e45582ab8048079b5c5893531d1a907666bdeb","signature":"2bb508c14d4bc606c10ded518137dfa8b2e5341d327924a0a7898c0484362e8b"},{"version":"2b56b3d94039da7bb5a074a37563badf76abc99ab4e462e6af654f9a82eedc48","signature":"71d8a753559120c243c8a5671df06ba51d5397ce88a4112a0af5cd539a566590"},{"version":"f9c4d81ca7cff8b0b8cbbfe88793ee9b6f529435b475fa8d9650af1bc06c55fb","signature":"da3f799a5f4592e90cf96994d236765cc7393b442a0a20667e7acac7832d91f5"},{"version":"26ebb58f2e1aec5540f9305fe022dfc23a0fc94b6a87aa66ef6f3090dc7988d6","signature":"6cafee9e1665c7c24d6c7683173f3fc96dbee39fbcac226286c1a6f00b0441aa"},{"version":"eb52a727c50b0491fba9386eba5e3a384e00398313f1cae006b0c7a5d96bd1cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"790d112e4ee81cce653df1bb408de6d41f198636f825c679a937ad78fb83658a","affectsGlobalScope":true,"impliedFormat":1},{"version":"336444f0e254ae6e2e361175009ea27b0fc369ca916a877f87aaa540268a6d45","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb69c00a6d7f57274f7efe2b91d0eebc8a1e5d8b800386a69b94dc260ae67212","affectsGlobalScope":true,"impliedFormat":1}],"root":[[47,50]],"options":{"composite":true,"declaration":true,"esModuleInterop":true,"module":99,"outDir":"./","rootDir":"../src/shared","skipLibCheck":true,"strict":true,"target":7},"referencedMap":[[52,1],[54,2],[50,3]],"latestChangedDtsFile":"./split/index.d.ts","version":"5.9.3"}
@@ -1,2 +1,2 @@
1
- declare const _default: <T extends any[] = any[]>(name: string, Function: (...args: T) => void) => () => void;
1
+ declare const _default: <T extends any[] = any[]>(endpoint: string, callback: (...args: T) => void) => boolean;
2
2
  export default _default;
@@ -1,16 +1,18 @@
1
1
  import { fatal } from "../../shared";
2
- export default (name, Function) => {
3
- const handler = (event) => {
4
- const { __name, params } = event.data;
5
- if (__name === name) {
6
- try {
7
- Function(...params);
8
- }
9
- catch (error) {
10
- fatal(`Error in '${name}' callback: ${error}`);
11
- }
2
+ const callbacks = new Map();
3
+ window.addEventListener('message', (event) => {
4
+ const { __name, params } = event.data;
5
+ const callback = callbacks.get(__name);
6
+ if (callback) {
7
+ try {
8
+ callback(...(params || []));
12
9
  }
13
- };
14
- window.addEventListener('message', handler);
15
- return () => window.removeEventListener('message', handler);
10
+ catch (error) {
11
+ fatal `Error in '${__name}' callback: ${error}`;
12
+ }
13
+ }
14
+ });
15
+ export default (endpoint, callback) => {
16
+ callbacks.set(endpoint, callback);
17
+ return true;
16
18
  };
@@ -1,2 +1,2 @@
1
- declare const _default: <T = unknown>(callbackEnpoint: string, dataObject?: object) => Promise<T>;
1
+ declare const _default: <T = unknown>(endpoint: string, parameters?: object) => Promise<T>;
2
2
  export default _default;
@@ -1,16 +1,16 @@
1
- export default async (callbackEnpoint, dataObject) => {
2
- const response = await fetch(`https://${GetParentResourceName()}/${callbackEnpoint}`, {
1
+ export default async (endpoint, parameters) => {
2
+ const response = await fetch(`https://${GetParentResourceName()}/${endpoint}`, {
3
3
  method: 'POST',
4
4
  headers: {
5
5
  'Content-Type': 'application/json; charset=UTF-8',
6
6
  },
7
- body: JSON.stringify(dataObject || {}),
7
+ body: JSON.stringify(parameters || {}),
8
8
  });
9
9
  try {
10
10
  return await response.json();
11
11
  }
12
12
  catch (error) {
13
- throw new Error(`nui callback invoke was not ok, was the endpoint '${callbackEnpoint}' already defined before the invoke?
13
+ throw new Error(`nui callback invoke was not ok, was the endpoint '${endpoint}' already defined before the invoke?
14
14
  learn more: ${error}`);
15
15
  }
16
16
  };