@vicerp/rpc 1.0.0

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 (266) hide show
  1. package/README.md +412 -0
  2. package/dist/cjs/adapters/fivem/client-server.d.ts +3 -0
  3. package/dist/cjs/adapters/fivem/client-server.d.ts.map +1 -0
  4. package/dist/cjs/adapters/fivem/client-server.js +6 -0
  5. package/dist/cjs/adapters/fivem/client-server.js.map +1 -0
  6. package/dist/cjs/adapters/fivem/client.d.ts +3 -0
  7. package/dist/cjs/adapters/fivem/client.d.ts.map +1 -0
  8. package/dist/cjs/adapters/fivem/client.js +6 -0
  9. package/dist/cjs/adapters/fivem/client.js.map +1 -0
  10. package/dist/cjs/adapters/fivem/fivem-client-server.transport.d.ts +17 -0
  11. package/dist/cjs/adapters/fivem/fivem-client-server.transport.d.ts.map +1 -0
  12. package/dist/cjs/adapters/fivem/fivem-client-server.transport.js +42 -0
  13. package/dist/cjs/adapters/fivem/fivem-client-server.transport.js.map +1 -0
  14. package/dist/cjs/adapters/fivem/fivem-client.transport.d.ts +17 -0
  15. package/dist/cjs/adapters/fivem/fivem-client.transport.d.ts.map +1 -0
  16. package/dist/cjs/adapters/fivem/fivem-client.transport.js +44 -0
  17. package/dist/cjs/adapters/fivem/fivem-client.transport.js.map +1 -0
  18. package/dist/cjs/adapters/fivem/fivem-nui.transport.d.ts +17 -0
  19. package/dist/cjs/adapters/fivem/fivem-nui.transport.d.ts.map +1 -0
  20. package/dist/cjs/adapters/fivem/fivem-nui.transport.js +56 -0
  21. package/dist/cjs/adapters/fivem/fivem-nui.transport.js.map +1 -0
  22. package/dist/cjs/adapters/fivem/fivem-server.transport.d.ts +34 -0
  23. package/dist/cjs/adapters/fivem/fivem-server.transport.d.ts.map +1 -0
  24. package/dist/cjs/adapters/fivem/fivem-server.transport.js +80 -0
  25. package/dist/cjs/adapters/fivem/fivem-server.transport.js.map +1 -0
  26. package/dist/cjs/adapters/fivem/fivem.types.d.ts +18 -0
  27. package/dist/cjs/adapters/fivem/fivem.types.d.ts.map +1 -0
  28. package/dist/cjs/adapters/fivem/fivem.types.js +3 -0
  29. package/dist/cjs/adapters/fivem/fivem.types.js.map +1 -0
  30. package/dist/cjs/adapters/fivem/index.d.ts +4 -0
  31. package/dist/cjs/adapters/fivem/index.d.ts.map +1 -0
  32. package/dist/cjs/adapters/fivem/index.js +8 -0
  33. package/dist/cjs/adapters/fivem/index.js.map +1 -0
  34. package/dist/cjs/adapters/fivem/nui.d.ts +3 -0
  35. package/dist/cjs/adapters/fivem/nui.d.ts.map +1 -0
  36. package/dist/cjs/adapters/fivem/nui.js +6 -0
  37. package/dist/cjs/adapters/fivem/nui.js.map +1 -0
  38. package/dist/cjs/adapters/fivem/server.d.ts +3 -0
  39. package/dist/cjs/adapters/fivem/server.d.ts.map +1 -0
  40. package/dist/cjs/adapters/fivem/server.js +7 -0
  41. package/dist/cjs/adapters/fivem/server.js.map +1 -0
  42. package/dist/cjs/adapters/rage/browser.d.ts +3 -0
  43. package/dist/cjs/adapters/rage/browser.d.ts.map +1 -0
  44. package/dist/cjs/adapters/rage/browser.js +6 -0
  45. package/dist/cjs/adapters/rage/browser.js.map +1 -0
  46. package/dist/cjs/adapters/rage/client-server.d.ts +3 -0
  47. package/dist/cjs/adapters/rage/client-server.d.ts.map +1 -0
  48. package/dist/cjs/adapters/rage/client-server.js +6 -0
  49. package/dist/cjs/adapters/rage/client-server.js.map +1 -0
  50. package/dist/cjs/adapters/rage/client.d.ts +3 -0
  51. package/dist/cjs/adapters/rage/client.d.ts.map +1 -0
  52. package/dist/cjs/adapters/rage/client.js +6 -0
  53. package/dist/cjs/adapters/rage/client.js.map +1 -0
  54. package/dist/cjs/adapters/rage/index.d.ts +4 -0
  55. package/dist/cjs/adapters/rage/index.d.ts.map +1 -0
  56. package/dist/cjs/adapters/rage/index.js +8 -0
  57. package/dist/cjs/adapters/rage/index.js.map +1 -0
  58. package/dist/cjs/adapters/rage/rage-browser.transport.d.ts +16 -0
  59. package/dist/cjs/adapters/rage/rage-browser.transport.d.ts.map +1 -0
  60. package/dist/cjs/adapters/rage/rage-browser.transport.js +44 -0
  61. package/dist/cjs/adapters/rage/rage-browser.transport.js.map +1 -0
  62. package/dist/cjs/adapters/rage/rage-client-server.transport.d.ts +18 -0
  63. package/dist/cjs/adapters/rage/rage-client-server.transport.d.ts.map +1 -0
  64. package/dist/cjs/adapters/rage/rage-client-server.transport.js +48 -0
  65. package/dist/cjs/adapters/rage/rage-client-server.transport.js.map +1 -0
  66. package/dist/cjs/adapters/rage/rage-client.transport.d.ts +19 -0
  67. package/dist/cjs/adapters/rage/rage-client.transport.d.ts.map +1 -0
  68. package/dist/cjs/adapters/rage/rage-client.transport.js +50 -0
  69. package/dist/cjs/adapters/rage/rage-client.transport.js.map +1 -0
  70. package/dist/cjs/adapters/rage/rage-server.transport.d.ts +32 -0
  71. package/dist/cjs/adapters/rage/rage-server.transport.d.ts.map +1 -0
  72. package/dist/cjs/adapters/rage/rage-server.transport.js +82 -0
  73. package/dist/cjs/adapters/rage/rage-server.transport.js.map +1 -0
  74. package/dist/cjs/adapters/rage/rage.types.d.ts +34 -0
  75. package/dist/cjs/adapters/rage/rage.types.d.ts.map +1 -0
  76. package/dist/cjs/adapters/rage/rage.types.js +3 -0
  77. package/dist/cjs/adapters/rage/rage.types.js.map +1 -0
  78. package/dist/cjs/adapters/rage/server.d.ts +3 -0
  79. package/dist/cjs/adapters/rage/server.d.ts.map +1 -0
  80. package/dist/cjs/adapters/rage/server.js +7 -0
  81. package/dist/cjs/adapters/rage/server.js.map +1 -0
  82. package/dist/cjs/core/errors.d.ts +7 -0
  83. package/dist/cjs/core/errors.d.ts.map +1 -0
  84. package/dist/cjs/core/errors.js +18 -0
  85. package/dist/cjs/core/errors.js.map +1 -0
  86. package/dist/cjs/core/id.d.ts +2 -0
  87. package/dist/cjs/core/id.d.ts.map +1 -0
  88. package/dist/cjs/core/id.js +13 -0
  89. package/dist/cjs/core/id.js.map +1 -0
  90. package/dist/cjs/core/index.d.ts +6 -0
  91. package/dist/cjs/core/index.d.ts.map +1 -0
  92. package/dist/cjs/core/index.js +26 -0
  93. package/dist/cjs/core/index.js.map +1 -0
  94. package/dist/cjs/core/relay.d.ts +12 -0
  95. package/dist/cjs/core/relay.d.ts.map +1 -0
  96. package/dist/cjs/core/relay.js +23 -0
  97. package/dist/cjs/core/relay.js.map +1 -0
  98. package/dist/cjs/core/rpc.d.ts +21 -0
  99. package/dist/cjs/core/rpc.d.ts.map +1 -0
  100. package/dist/cjs/core/rpc.js +147 -0
  101. package/dist/cjs/core/rpc.js.map +1 -0
  102. package/dist/cjs/core/types.d.ts +30 -0
  103. package/dist/cjs/core/types.d.ts.map +1 -0
  104. package/dist/cjs/core/types.js +3 -0
  105. package/dist/cjs/core/types.js.map +1 -0
  106. package/dist/cjs/index.d.ts +2 -0
  107. package/dist/cjs/index.d.ts.map +1 -0
  108. package/dist/cjs/index.js +18 -0
  109. package/dist/cjs/index.js.map +1 -0
  110. package/dist/cjs/react/RpcProvider.d.ts +10 -0
  111. package/dist/cjs/react/RpcProvider.d.ts.map +1 -0
  112. package/dist/cjs/react/RpcProvider.js +19 -0
  113. package/dist/cjs/react/RpcProvider.js.map +1 -0
  114. package/dist/cjs/react/index.d.ts +8 -0
  115. package/dist/cjs/react/index.d.ts.map +1 -0
  116. package/dist/cjs/react/index.js +15 -0
  117. package/dist/cjs/react/index.js.map +1 -0
  118. package/dist/cjs/react/useRpc.d.ts +3 -0
  119. package/dist/cjs/react/useRpc.d.ts.map +1 -0
  120. package/dist/cjs/react/useRpc.js +13 -0
  121. package/dist/cjs/react/useRpc.js.map +1 -0
  122. package/dist/cjs/react/useRpcCall.d.ts +13 -0
  123. package/dist/cjs/react/useRpcCall.d.ts.map +1 -0
  124. package/dist/cjs/react/useRpcCall.js +35 -0
  125. package/dist/cjs/react/useRpcCall.js.map +1 -0
  126. package/dist/cjs/react/useRpcEvent.d.ts +3 -0
  127. package/dist/cjs/react/useRpcEvent.d.ts.map +1 -0
  128. package/dist/cjs/react/useRpcEvent.js +20 -0
  129. package/dist/cjs/react/useRpcEvent.js.map +1 -0
  130. package/dist/cjs/react/useRpcRegister.d.ts +3 -0
  131. package/dist/cjs/react/useRpcRegister.d.ts.map +1 -0
  132. package/dist/cjs/react/useRpcRegister.js +20 -0
  133. package/dist/cjs/react/useRpcRegister.js.map +1 -0
  134. package/dist/esm/adapters/fivem/client-server.d.ts +3 -0
  135. package/dist/esm/adapters/fivem/client-server.d.ts.map +1 -0
  136. package/dist/esm/adapters/fivem/client-server.js +2 -0
  137. package/dist/esm/adapters/fivem/client-server.js.map +1 -0
  138. package/dist/esm/adapters/fivem/client.d.ts +3 -0
  139. package/dist/esm/adapters/fivem/client.d.ts.map +1 -0
  140. package/dist/esm/adapters/fivem/client.js +2 -0
  141. package/dist/esm/adapters/fivem/client.js.map +1 -0
  142. package/dist/esm/adapters/fivem/fivem-client-server.transport.d.ts +17 -0
  143. package/dist/esm/adapters/fivem/fivem-client-server.transport.d.ts.map +1 -0
  144. package/dist/esm/adapters/fivem/fivem-client-server.transport.js +38 -0
  145. package/dist/esm/adapters/fivem/fivem-client-server.transport.js.map +1 -0
  146. package/dist/esm/adapters/fivem/fivem-client.transport.d.ts +17 -0
  147. package/dist/esm/adapters/fivem/fivem-client.transport.d.ts.map +1 -0
  148. package/dist/esm/adapters/fivem/fivem-client.transport.js +40 -0
  149. package/dist/esm/adapters/fivem/fivem-client.transport.js.map +1 -0
  150. package/dist/esm/adapters/fivem/fivem-nui.transport.d.ts +17 -0
  151. package/dist/esm/adapters/fivem/fivem-nui.transport.d.ts.map +1 -0
  152. package/dist/esm/adapters/fivem/fivem-nui.transport.js +52 -0
  153. package/dist/esm/adapters/fivem/fivem-nui.transport.js.map +1 -0
  154. package/dist/esm/adapters/fivem/fivem-server.transport.d.ts +34 -0
  155. package/dist/esm/adapters/fivem/fivem-server.transport.d.ts.map +1 -0
  156. package/dist/esm/adapters/fivem/fivem-server.transport.js +75 -0
  157. package/dist/esm/adapters/fivem/fivem-server.transport.js.map +1 -0
  158. package/dist/esm/adapters/fivem/fivem.types.d.ts +18 -0
  159. package/dist/esm/adapters/fivem/fivem.types.d.ts.map +1 -0
  160. package/dist/esm/adapters/fivem/fivem.types.js +2 -0
  161. package/dist/esm/adapters/fivem/fivem.types.js.map +1 -0
  162. package/dist/esm/adapters/fivem/index.d.ts +4 -0
  163. package/dist/esm/adapters/fivem/index.d.ts.map +1 -0
  164. package/dist/esm/adapters/fivem/index.js +3 -0
  165. package/dist/esm/adapters/fivem/index.js.map +1 -0
  166. package/dist/esm/adapters/fivem/nui.d.ts +3 -0
  167. package/dist/esm/adapters/fivem/nui.d.ts.map +1 -0
  168. package/dist/esm/adapters/fivem/nui.js +2 -0
  169. package/dist/esm/adapters/fivem/nui.js.map +1 -0
  170. package/dist/esm/adapters/fivem/server.d.ts +3 -0
  171. package/dist/esm/adapters/fivem/server.d.ts.map +1 -0
  172. package/dist/esm/adapters/fivem/server.js +2 -0
  173. package/dist/esm/adapters/fivem/server.js.map +1 -0
  174. package/dist/esm/adapters/rage/browser.d.ts +3 -0
  175. package/dist/esm/adapters/rage/browser.d.ts.map +1 -0
  176. package/dist/esm/adapters/rage/browser.js +2 -0
  177. package/dist/esm/adapters/rage/browser.js.map +1 -0
  178. package/dist/esm/adapters/rage/client-server.d.ts +3 -0
  179. package/dist/esm/adapters/rage/client-server.d.ts.map +1 -0
  180. package/dist/esm/adapters/rage/client-server.js +2 -0
  181. package/dist/esm/adapters/rage/client-server.js.map +1 -0
  182. package/dist/esm/adapters/rage/client.d.ts +3 -0
  183. package/dist/esm/adapters/rage/client.d.ts.map +1 -0
  184. package/dist/esm/adapters/rage/client.js +2 -0
  185. package/dist/esm/adapters/rage/client.js.map +1 -0
  186. package/dist/esm/adapters/rage/index.d.ts +4 -0
  187. package/dist/esm/adapters/rage/index.d.ts.map +1 -0
  188. package/dist/esm/adapters/rage/index.js +3 -0
  189. package/dist/esm/adapters/rage/index.js.map +1 -0
  190. package/dist/esm/adapters/rage/rage-browser.transport.d.ts +16 -0
  191. package/dist/esm/adapters/rage/rage-browser.transport.d.ts.map +1 -0
  192. package/dist/esm/adapters/rage/rage-browser.transport.js +40 -0
  193. package/dist/esm/adapters/rage/rage-browser.transport.js.map +1 -0
  194. package/dist/esm/adapters/rage/rage-client-server.transport.d.ts +18 -0
  195. package/dist/esm/adapters/rage/rage-client-server.transport.d.ts.map +1 -0
  196. package/dist/esm/adapters/rage/rage-client-server.transport.js +44 -0
  197. package/dist/esm/adapters/rage/rage-client-server.transport.js.map +1 -0
  198. package/dist/esm/adapters/rage/rage-client.transport.d.ts +19 -0
  199. package/dist/esm/adapters/rage/rage-client.transport.d.ts.map +1 -0
  200. package/dist/esm/adapters/rage/rage-client.transport.js +46 -0
  201. package/dist/esm/adapters/rage/rage-client.transport.js.map +1 -0
  202. package/dist/esm/adapters/rage/rage-server.transport.d.ts +32 -0
  203. package/dist/esm/adapters/rage/rage-server.transport.d.ts.map +1 -0
  204. package/dist/esm/adapters/rage/rage-server.transport.js +77 -0
  205. package/dist/esm/adapters/rage/rage-server.transport.js.map +1 -0
  206. package/dist/esm/adapters/rage/rage.types.d.ts +34 -0
  207. package/dist/esm/adapters/rage/rage.types.d.ts.map +1 -0
  208. package/dist/esm/adapters/rage/rage.types.js +2 -0
  209. package/dist/esm/adapters/rage/rage.types.js.map +1 -0
  210. package/dist/esm/adapters/rage/server.d.ts +3 -0
  211. package/dist/esm/adapters/rage/server.d.ts.map +1 -0
  212. package/dist/esm/adapters/rage/server.js +2 -0
  213. package/dist/esm/adapters/rage/server.js.map +1 -0
  214. package/dist/esm/core/errors.d.ts +7 -0
  215. package/dist/esm/core/errors.d.ts.map +1 -0
  216. package/dist/esm/core/errors.js +13 -0
  217. package/dist/esm/core/errors.js.map +1 -0
  218. package/dist/esm/core/id.d.ts +2 -0
  219. package/dist/esm/core/id.d.ts.map +1 -0
  220. package/dist/esm/core/id.js +10 -0
  221. package/dist/esm/core/id.js.map +1 -0
  222. package/dist/esm/core/index.d.ts +6 -0
  223. package/dist/esm/core/index.d.ts.map +1 -0
  224. package/dist/esm/core/index.js +6 -0
  225. package/dist/esm/core/index.js.map +1 -0
  226. package/dist/esm/core/relay.d.ts +12 -0
  227. package/dist/esm/core/relay.d.ts.map +1 -0
  228. package/dist/esm/core/relay.js +19 -0
  229. package/dist/esm/core/relay.js.map +1 -0
  230. package/dist/esm/core/rpc.d.ts +21 -0
  231. package/dist/esm/core/rpc.d.ts.map +1 -0
  232. package/dist/esm/core/rpc.js +143 -0
  233. package/dist/esm/core/rpc.js.map +1 -0
  234. package/dist/esm/core/types.d.ts +30 -0
  235. package/dist/esm/core/types.d.ts.map +1 -0
  236. package/dist/esm/core/types.js +2 -0
  237. package/dist/esm/core/types.js.map +1 -0
  238. package/dist/esm/index.d.ts +2 -0
  239. package/dist/esm/index.d.ts.map +1 -0
  240. package/dist/esm/index.js +2 -0
  241. package/dist/esm/index.js.map +1 -0
  242. package/dist/esm/react/RpcProvider.d.ts +10 -0
  243. package/dist/esm/react/RpcProvider.d.ts.map +1 -0
  244. package/dist/esm/react/RpcProvider.js +15 -0
  245. package/dist/esm/react/RpcProvider.js.map +1 -0
  246. package/dist/esm/react/index.d.ts +8 -0
  247. package/dist/esm/react/index.d.ts.map +1 -0
  248. package/dist/esm/react/index.js +6 -0
  249. package/dist/esm/react/index.js.map +1 -0
  250. package/dist/esm/react/useRpc.d.ts +3 -0
  251. package/dist/esm/react/useRpc.d.ts.map +1 -0
  252. package/dist/esm/react/useRpc.js +10 -0
  253. package/dist/esm/react/useRpc.js.map +1 -0
  254. package/dist/esm/react/useRpcCall.d.ts +13 -0
  255. package/dist/esm/react/useRpcCall.d.ts.map +1 -0
  256. package/dist/esm/react/useRpcCall.js +32 -0
  257. package/dist/esm/react/useRpcCall.js.map +1 -0
  258. package/dist/esm/react/useRpcEvent.d.ts +3 -0
  259. package/dist/esm/react/useRpcEvent.d.ts.map +1 -0
  260. package/dist/esm/react/useRpcEvent.js +17 -0
  261. package/dist/esm/react/useRpcEvent.js.map +1 -0
  262. package/dist/esm/react/useRpcRegister.d.ts +3 -0
  263. package/dist/esm/react/useRpcRegister.d.ts.map +1 -0
  264. package/dist/esm/react/useRpcRegister.js +17 -0
  265. package/dist/esm/react/useRpcRegister.js.map +1 -0
  266. package/package.json +170 -0
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useRpcRegister = exports.useRpcEvent = exports.useRpcCall = exports.useRpc = exports.RpcContext = exports.RpcProvider = void 0;
4
+ var RpcProvider_1 = require("./RpcProvider");
5
+ Object.defineProperty(exports, "RpcProvider", { enumerable: true, get: function () { return RpcProvider_1.RpcProvider; } });
6
+ Object.defineProperty(exports, "RpcContext", { enumerable: true, get: function () { return RpcProvider_1.RpcContext; } });
7
+ var useRpc_1 = require("./useRpc");
8
+ Object.defineProperty(exports, "useRpc", { enumerable: true, get: function () { return useRpc_1.useRpc; } });
9
+ var useRpcCall_1 = require("./useRpcCall");
10
+ Object.defineProperty(exports, "useRpcCall", { enumerable: true, get: function () { return useRpcCall_1.useRpcCall; } });
11
+ var useRpcEvent_1 = require("./useRpcEvent");
12
+ Object.defineProperty(exports, "useRpcEvent", { enumerable: true, get: function () { return useRpcEvent_1.useRpcEvent; } });
13
+ var useRpcRegister_1 = require("./useRpcRegister");
14
+ Object.defineProperty(exports, "useRpcRegister", { enumerable: true, get: function () { return useRpcRegister_1.useRpcRegister; } });
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":";;;AAAA,6CAAwD;AAA/C,0GAAA,WAAW,OAAA;AAAE,yGAAA,UAAU,OAAA;AAEhC,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAEnB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA"}
@@ -0,0 +1,3 @@
1
+ import { Rpc } from '../core/rpc';
2
+ export declare function useRpc(): Rpc;
3
+ //# sourceMappingURL=useRpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRpc.d.ts","sourceRoot":"","sources":["../../../src/react/useRpc.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,wBAAgB,MAAM,IAAI,GAAG,CAM5B"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useRpc = useRpc;
4
+ const react_1 = require("react");
5
+ const RpcProvider_1 = require("./RpcProvider");
6
+ function useRpc() {
7
+ const rpc = (0, react_1.useContext)(RpcProvider_1.RpcContext);
8
+ if (!rpc) {
9
+ throw new Error('useRpc must be used within an RpcProvider');
10
+ }
11
+ return rpc;
12
+ }
13
+ //# sourceMappingURL=useRpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRpc.js","sourceRoot":"","sources":["../../../src/react/useRpc.ts"],"names":[],"mappings":";;AAIA,wBAMC;AAVD,iCAAmC;AACnC,+CAA2C;AAG3C,SAAgB,MAAM;IACpB,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,wBAAU,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { RpcCallOptions } from '../core/types';
2
+ export interface UseRpcCallOptions extends RpcCallOptions {
3
+ /** Arguments to pass to the procedure */
4
+ args?: unknown;
5
+ }
6
+ export interface UseRpcCallResult<T> {
7
+ data: T | null;
8
+ error: Error | null;
9
+ loading: boolean;
10
+ call: (args?: unknown) => Promise<T>;
11
+ }
12
+ export declare function useRpcCall<T = unknown>(procedure: string, options?: UseRpcCallOptions): UseRpcCallResult<T>;
13
+ //# sourceMappingURL=useRpcCall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRpcCall.d.ts","sourceRoot":"","sources":["../../../src/react/useRpcCall.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,yCAAyC;IACzC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CACtC;AAED,wBAAgB,UAAU,CAAC,CAAC,GAAG,OAAO,EACpC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,gBAAgB,CAAC,CAAC,CAAC,CA+BrB"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useRpcCall = useRpcCall;
4
+ const react_1 = require("react");
5
+ const useRpc_1 = require("./useRpc");
6
+ function useRpcCall(procedure, options) {
7
+ const rpc = (0, useRpc_1.useRpc)();
8
+ const [data, setData] = (0, react_1.useState)(null);
9
+ const [error, setError] = (0, react_1.useState)(null);
10
+ const [loading, setLoading] = (0, react_1.useState)(false);
11
+ const optionsRef = (0, react_1.useRef)(options);
12
+ optionsRef.current = options;
13
+ const call = (0, react_1.useCallback)(async (callArgs) => {
14
+ setLoading(true);
15
+ setError(null);
16
+ try {
17
+ const args = callArgs ?? optionsRef.current?.args;
18
+ const result = await rpc.call(procedure, args, {
19
+ timeout: optionsRef.current?.timeout,
20
+ });
21
+ setData(result);
22
+ return result;
23
+ }
24
+ catch (err) {
25
+ const error = err instanceof Error ? err : new Error(String(err));
26
+ setError(error);
27
+ throw error;
28
+ }
29
+ finally {
30
+ setLoading(false);
31
+ }
32
+ }, [rpc, procedure]);
33
+ return { data, error, loading, call };
34
+ }
35
+ //# sourceMappingURL=useRpcCall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRpcCall.js","sourceRoot":"","sources":["../../../src/react/useRpcCall.ts"],"names":[],"mappings":";;AAgBA,gCAkCC;AAlDD,iCAAsD;AACtD,qCAAkC;AAelC,SAAgB,UAAU,CACxB,SAAiB,EACjB,OAA2B;IAE3B,MAAM,GAAG,GAAG,IAAA,eAAM,GAAE,CAAC;IACrB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAW,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAe,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAA,cAAM,EAAC,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAE7B,MAAM,IAAI,GAAG,IAAA,mBAAW,EACtB,KAAK,EAAE,QAAkB,EAAc,EAAE;QACvC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,QAAQ,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAI,SAAS,EAAE,IAAI,EAAE;gBAChD,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO;aACrC,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,CAAC;YAChB,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChB,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,EACD,CAAC,GAAG,EAAE,SAAS,CAAC,CACjB,CAAC;IAEF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { RpcEventHandler } from '../core/types';
2
+ export declare function useRpcEvent(name: string, handler: RpcEventHandler): void;
3
+ //# sourceMappingURL=useRpcEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRpcEvent.d.ts","sourceRoot":"","sources":["../../../src/react/useRpcEvent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAcxE"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useRpcEvent = useRpcEvent;
4
+ const react_1 = require("react");
5
+ const useRpc_1 = require("./useRpc");
6
+ function useRpcEvent(name, handler) {
7
+ const rpc = (0, useRpc_1.useRpc)();
8
+ const handlerRef = (0, react_1.useRef)(handler);
9
+ handlerRef.current = handler;
10
+ (0, react_1.useEffect)(() => {
11
+ const wrappedHandler = (args) => {
12
+ handlerRef.current(args);
13
+ };
14
+ rpc.on(name, wrappedHandler);
15
+ return () => {
16
+ rpc.off(name, wrappedHandler);
17
+ };
18
+ }, [rpc, name]);
19
+ }
20
+ //# sourceMappingURL=useRpcEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRpcEvent.js","sourceRoot":"","sources":["../../../src/react/useRpcEvent.ts"],"names":[],"mappings":";;AAIA,kCAcC;AAlBD,iCAA0C;AAC1C,qCAAkC;AAGlC,SAAgB,WAAW,CAAC,IAAY,EAAE,OAAwB;IAChE,MAAM,GAAG,GAAG,IAAA,eAAM,GAAE,CAAC;IACrB,MAAM,UAAU,GAAG,IAAA,cAAM,EAAC,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAE7B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,cAAc,GAAoB,CAAC,IAAI,EAAE,EAAE;YAC/C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC;QACF,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE;YACV,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAChC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { RpcHandler } from '../core/types';
2
+ export declare function useRpcRegister(name: string, handler: RpcHandler): void;
3
+ //# sourceMappingURL=useRpcRegister.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRpcRegister.d.ts","sourceRoot":"","sources":["../../../src/react/useRpcRegister.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CActE"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useRpcRegister = useRpcRegister;
4
+ const react_1 = require("react");
5
+ const useRpc_1 = require("./useRpc");
6
+ function useRpcRegister(name, handler) {
7
+ const rpc = (0, useRpc_1.useRpc)();
8
+ const handlerRef = (0, react_1.useRef)(handler);
9
+ handlerRef.current = handler;
10
+ (0, react_1.useEffect)(() => {
11
+ const wrappedHandler = (args) => {
12
+ return handlerRef.current(args);
13
+ };
14
+ rpc.register(name, wrappedHandler);
15
+ return () => {
16
+ rpc.unregister(name);
17
+ };
18
+ }, [rpc, name]);
19
+ }
20
+ //# sourceMappingURL=useRpcRegister.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRpcRegister.js","sourceRoot":"","sources":["../../../src/react/useRpcRegister.ts"],"names":[],"mappings":";;AAIA,wCAcC;AAlBD,iCAA0C;AAC1C,qCAAkC;AAGlC,SAAgB,cAAc,CAAC,IAAY,EAAE,OAAmB;IAC9D,MAAM,GAAG,GAAG,IAAA,eAAM,GAAE,CAAC;IACrB,MAAM,UAAU,GAAG,IAAA,cAAM,EAAC,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAE7B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,cAAc,GAAe,CAAC,IAAI,EAAE,EAAE;YAC1C,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC;QACF,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACnC,OAAO,GAAG,EAAE;YACV,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { FiveMClientServerTransport } from './fivem-client-server.transport';
2
+ export type * from './fivem.types';
3
+ //# sourceMappingURL=client-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-server.d.ts","sourceRoot":"","sources":["../../../../src/adapters/fivem/client-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,mBAAmB,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { FiveMClientServerTransport } from './fivem-client-server.transport';
2
+ //# sourceMappingURL=client-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-server.js","sourceRoot":"","sources":["../../../../src/adapters/fivem/client-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { FiveMClientTransport } from './fivem-client.transport';
2
+ export type * from './fivem.types';
3
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/adapters/fivem/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,mBAAmB,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { FiveMClientTransport } from './fivem-client.transport';
2
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/adapters/fivem/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { RpcTransport, RpcMessage } from '../../core/types';
2
+ import { FiveMClientGlobal } from './fivem.types';
3
+ /**
4
+ * FiveM client script transport for client <-> server communication.
5
+ *
6
+ * Sends messages to the server via TriggerServerEvent().
7
+ * Receives messages from the server via on().
8
+ */
9
+ export declare class FiveMClientServerTransport implements RpcTransport {
10
+ private readonly fivem;
11
+ private handler;
12
+ constructor(fivem: FiveMClientGlobal);
13
+ send(message: RpcMessage): void;
14
+ onMessage(handler: (message: RpcMessage) => void): void;
15
+ destroy(): void;
16
+ }
17
+ //# sourceMappingURL=fivem-client-server.transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fivem-client-server.transport.d.ts","sourceRoot":"","sources":["../../../../src/adapters/fivem/fivem-client-server.transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKlD;;;;;GAKG;AACH,qBAAa,0BAA2B,YAAW,YAAY;IAGjD,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,OAAO,CAAC,OAAO,CAAgD;gBAElC,KAAK,EAAE,iBAAiB;IAarD,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAK/B,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAIvD,OAAO,IAAI,IAAI;CAGhB"}
@@ -0,0 +1,38 @@
1
+ const C2S_EVENT = '__vicerpc:c2s';
2
+ const S2C_EVENT = '__vicerpc:s2c';
3
+ /**
4
+ * FiveM client script transport for client <-> server communication.
5
+ *
6
+ * Sends messages to the server via TriggerServerEvent().
7
+ * Receives messages from the server via on().
8
+ */
9
+ export class FiveMClientServerTransport {
10
+ fivem;
11
+ handler = null;
12
+ constructor(fivem) {
13
+ this.fivem = fivem;
14
+ this.fivem.on(S2C_EVENT, (_json) => {
15
+ if (!this.handler)
16
+ return;
17
+ try {
18
+ const json = typeof _json === 'string' ? _json : String(_json);
19
+ const message = JSON.parse(json);
20
+ this.handler(message);
21
+ }
22
+ catch {
23
+ // Ignore malformed messages
24
+ }
25
+ });
26
+ }
27
+ send(message) {
28
+ const json = JSON.stringify(message);
29
+ this.fivem.TriggerServerEvent(C2S_EVENT, json);
30
+ }
31
+ onMessage(handler) {
32
+ this.handler = handler;
33
+ }
34
+ destroy() {
35
+ this.handler = null;
36
+ }
37
+ }
38
+ //# sourceMappingURL=fivem-client-server.transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fivem-client-server.transport.js","sourceRoot":"","sources":["../../../../src/adapters/fivem/fivem-client-server.transport.ts"],"names":[],"mappings":"AAGA,MAAM,SAAS,GAAG,eAAe,CAAC;AAClC,MAAM,SAAS,GAAG,eAAe,CAAC;AAElC;;;;;GAKG;AACH,MAAM,OAAO,0BAA0B;IAGR;IAFrB,OAAO,GAA2C,IAAI,CAAC;IAE/D,YAA6B,KAAwB;QAAxB,UAAK,GAAL,KAAK,CAAmB;QACnD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAc,EAAE,EAAE;YAC1C,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC1B,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC;gBAC/C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,4BAA4B;YAC9B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,OAAmB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,SAAS,CAAC,OAAsC;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import { RpcTransport, RpcMessage } from '../../core/types';
2
+ import { FiveMClientGlobal } from './fivem.types';
3
+ /**
4
+ * FiveM client script side transport.
5
+ *
6
+ * Sends messages to the NUI browser via SendNUIMessage.
7
+ * Receives messages from the NUI browser via RegisterNUICallback.
8
+ */
9
+ export declare class FiveMClientTransport implements RpcTransport {
10
+ private readonly fivem;
11
+ private handler;
12
+ constructor(fivem: FiveMClientGlobal);
13
+ send(message: RpcMessage): void;
14
+ onMessage(handler: (message: RpcMessage) => void): void;
15
+ destroy(): void;
16
+ }
17
+ //# sourceMappingURL=fivem-client.transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fivem-client.transport.d.ts","sourceRoot":"","sources":["../../../../src/adapters/fivem/fivem-client.transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKlD;;;;;GAKG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IAG3C,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,OAAO,CAAC,OAAO,CAAgD;gBAElC,KAAK,EAAE,iBAAiB;IAcrD,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAO/B,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAIvD,OAAO,IAAI,IAAI;CAGhB"}
@@ -0,0 +1,40 @@
1
+ const RPC_ENDPOINT = '__vicerpc';
2
+ const RPC_MARKER = '__vicerpc';
3
+ /**
4
+ * FiveM client script side transport.
5
+ *
6
+ * Sends messages to the NUI browser via SendNUIMessage.
7
+ * Receives messages from the NUI browser via RegisterNUICallback.
8
+ */
9
+ export class FiveMClientTransport {
10
+ fivem;
11
+ handler = null;
12
+ constructor(fivem) {
13
+ this.fivem = fivem;
14
+ this.fivem.RegisterNUICallback(RPC_ENDPOINT, (data, cb) => {
15
+ if (this.handler) {
16
+ try {
17
+ const message = data;
18
+ this.handler(message);
19
+ }
20
+ catch {
21
+ // Ignore malformed messages
22
+ }
23
+ }
24
+ cb({ ok: true });
25
+ });
26
+ }
27
+ send(message) {
28
+ this.fivem.SendNUIMessage({
29
+ [RPC_MARKER]: true,
30
+ payload: message,
31
+ });
32
+ }
33
+ onMessage(handler) {
34
+ this.handler = handler;
35
+ }
36
+ destroy() {
37
+ this.handler = null;
38
+ }
39
+ }
40
+ //# sourceMappingURL=fivem-client.transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fivem-client.transport.js","sourceRoot":"","sources":["../../../../src/adapters/fivem/fivem-client.transport.ts"],"names":[],"mappings":"AAGA,MAAM,YAAY,GAAG,WAAW,CAAC;AACjC,MAAM,UAAU,GAAG,WAAW,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IAGF;IAFrB,OAAO,GAA2C,IAAI,CAAC;IAE/D,YAA6B,KAAwB;QAAxB,UAAK,GAAL,KAAK,CAAmB;QACnD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC,IAAa,EAAE,EAA6B,EAAE,EAAE;YAC5F,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAkB,CAAC;oBACnC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACP,4BAA4B;gBAC9B,CAAC;YACH,CAAC;YACD,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,OAAmB;QACtB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;YACxB,CAAC,UAAU,CAAC,EAAE,IAAI;YAClB,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,OAAsC;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import { RpcTransport, RpcMessage } from '../../core/types';
2
+ /**
3
+ * FiveM NUI (browser) side transport.
4
+ *
5
+ * Sends messages to the client script via fetch POST to the resource endpoint.
6
+ * Receives messages from the client script via window message events.
7
+ */
8
+ export declare class FiveMNuiTransport implements RpcTransport {
9
+ private handler;
10
+ private messageListener;
11
+ private resourceName;
12
+ constructor();
13
+ send(message: RpcMessage): void;
14
+ onMessage(handler: (message: RpcMessage) => void): void;
15
+ destroy(): void;
16
+ }
17
+ //# sourceMappingURL=fivem-nui.transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fivem-nui.transport.d.ts","sourceRoot":"","sources":["../../../../src/adapters/fivem/fivem-nui.transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK5D;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IACpD,OAAO,CAAC,OAAO,CAAgD;IAC/D,OAAO,CAAC,eAAe,CAAgD;IACvE,OAAO,CAAC,YAAY,CAAS;;IAqB7B,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAU/B,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAIvD,OAAO,IAAI,IAAI;CAOhB"}
@@ -0,0 +1,52 @@
1
+ const RPC_ENDPOINT = '__vicerpc';
2
+ const RPC_MARKER = '__vicerpc';
3
+ /**
4
+ * FiveM NUI (browser) side transport.
5
+ *
6
+ * Sends messages to the client script via fetch POST to the resource endpoint.
7
+ * Receives messages from the client script via window message events.
8
+ */
9
+ export class FiveMNuiTransport {
10
+ handler = null;
11
+ messageListener = null;
12
+ resourceName;
13
+ constructor() {
14
+ const win = window;
15
+ this.resourceName = win.GetParentResourceName?.() ?? 'vice';
16
+ this.messageListener = (event) => {
17
+ if (!this.handler)
18
+ return;
19
+ const data = event.data;
20
+ if (data && typeof data === 'object' && RPC_MARKER in data) {
21
+ try {
22
+ const message = data.payload;
23
+ this.handler(message);
24
+ }
25
+ catch {
26
+ // Ignore malformed messages
27
+ }
28
+ }
29
+ };
30
+ window.addEventListener('message', this.messageListener);
31
+ }
32
+ send(message) {
33
+ fetch(`https://${this.resourceName}/${RPC_ENDPOINT}`, {
34
+ method: 'POST',
35
+ headers: { 'Content-Type': 'application/json' },
36
+ body: JSON.stringify(message),
37
+ }).catch(() => {
38
+ // Ignore fetch errors (resource may not be ready)
39
+ });
40
+ }
41
+ onMessage(handler) {
42
+ this.handler = handler;
43
+ }
44
+ destroy() {
45
+ this.handler = null;
46
+ if (this.messageListener) {
47
+ window.removeEventListener('message', this.messageListener);
48
+ this.messageListener = null;
49
+ }
50
+ }
51
+ }
52
+ //# sourceMappingURL=fivem-nui.transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fivem-nui.transport.js","sourceRoot":"","sources":["../../../../src/adapters/fivem/fivem-nui.transport.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG,WAAW,CAAC;AACjC,MAAM,UAAU,GAAG,WAAW,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,OAAO,iBAAiB;IACpB,OAAO,GAA2C,IAAI,CAAC;IACvD,eAAe,GAA2C,IAAI,CAAC;IAC/D,YAAY,CAAS;IAE7B;QACE,MAAM,GAAG,GAAG,MAA6D,CAAC;QAC1E,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,qBAAqB,EAAE,EAAE,IAAI,MAAM,CAAC;QAE5D,IAAI,CAAC,eAAe,GAAG,CAAC,KAAmB,EAAE,EAAE;YAC7C,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;gBAC3D,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAqB,CAAC;oBAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACP,4BAA4B;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,CAAC,OAAmB;QACtB,KAAK,CAAC,WAAW,IAAI,CAAC,YAAY,IAAI,YAAY,EAAE,EAAE;YACpD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACZ,kDAAkD;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,OAAsC;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,34 @@
1
+ import { RpcTransport, RpcMessage } from '../../core/types';
2
+ import { FiveMServerGlobal } from './fivem.types';
3
+ /**
4
+ * Per-player RPC transport on the FiveM server side.
5
+ *
6
+ * Sends messages to a specific player's client via TriggerClientEvent().
7
+ * Receives messages via the hub when the player sends to the server.
8
+ */
9
+ export declare class FiveMServerTransport implements RpcTransport {
10
+ private readonly playerId;
11
+ private readonly fivem;
12
+ private handler;
13
+ constructor(playerId: number, fivem: FiveMServerGlobal);
14
+ send(message: RpcMessage): void;
15
+ onMessage(handler: (message: RpcMessage) => void): void;
16
+ /** Called by the hub when a message arrives for this player. */
17
+ deliverMessage(message: RpcMessage): void;
18
+ destroy(): void;
19
+ }
20
+ /**
21
+ * Singleton hub that registers ONE global event listener for all incoming
22
+ * client-to-server RPC messages, then routes them to the correct per-player transport.
23
+ *
24
+ * Uses FiveM's `source` global to determine which player sent the message.
25
+ */
26
+ export declare class FiveMServerTransportHub {
27
+ private readonly fivem;
28
+ private transports;
29
+ constructor(fivem: FiveMServerGlobal);
30
+ createTransport(playerId: number): FiveMServerTransport;
31
+ removeTransport(playerId: number): void;
32
+ destroy(): void;
33
+ }
34
+ //# sourceMappingURL=fivem-server.transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fivem-server.transport.d.ts","sourceRoot":"","sources":["../../../../src/adapters/fivem/fivem-server.transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKlD;;;;;GAKG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IAIrD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJxB,OAAO,CAAC,OAAO,CAAgD;gBAG5C,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,iBAAiB;IAG3C,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAK/B,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAIvD,gEAAgE;IAChE,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAIzC,OAAO,IAAI,IAAI;CAGhB;AAED;;;;;GAKG;AACH,qBAAa,uBAAuB;IAGtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,OAAO,CAAC,UAAU,CAA2C;gBAEhC,KAAK,EAAE,iBAAiB;IAerD,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB;IAMvD,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMvC,OAAO,IAAI,IAAI;CAMhB"}
@@ -0,0 +1,75 @@
1
+ const C2S_EVENT = '__vicerpc:c2s';
2
+ const S2C_EVENT = '__vicerpc:s2c';
3
+ /**
4
+ * Per-player RPC transport on the FiveM server side.
5
+ *
6
+ * Sends messages to a specific player's client via TriggerClientEvent().
7
+ * Receives messages via the hub when the player sends to the server.
8
+ */
9
+ export class FiveMServerTransport {
10
+ playerId;
11
+ fivem;
12
+ handler = null;
13
+ constructor(playerId, fivem) {
14
+ this.playerId = playerId;
15
+ this.fivem = fivem;
16
+ }
17
+ send(message) {
18
+ const json = JSON.stringify(message);
19
+ this.fivem.TriggerClientEvent(S2C_EVENT, this.playerId, json);
20
+ }
21
+ onMessage(handler) {
22
+ this.handler = handler;
23
+ }
24
+ /** Called by the hub when a message arrives for this player. */
25
+ deliverMessage(message) {
26
+ this.handler?.(message);
27
+ }
28
+ destroy() {
29
+ this.handler = null;
30
+ }
31
+ }
32
+ /**
33
+ * Singleton hub that registers ONE global event listener for all incoming
34
+ * client-to-server RPC messages, then routes them to the correct per-player transport.
35
+ *
36
+ * Uses FiveM's `source` global to determine which player sent the message.
37
+ */
38
+ export class FiveMServerTransportHub {
39
+ fivem;
40
+ transports = new Map();
41
+ constructor(fivem) {
42
+ this.fivem = fivem;
43
+ this.fivem.onNet(C2S_EVENT, (...args) => {
44
+ const json = args[0];
45
+ const playerId = this.fivem.source;
46
+ const transport = this.transports.get(playerId);
47
+ if (!transport)
48
+ return;
49
+ try {
50
+ const message = JSON.parse(json);
51
+ transport.deliverMessage(message);
52
+ }
53
+ catch {
54
+ // Ignore malformed messages
55
+ }
56
+ });
57
+ }
58
+ createTransport(playerId) {
59
+ const transport = new FiveMServerTransport(playerId, this.fivem);
60
+ this.transports.set(playerId, transport);
61
+ return transport;
62
+ }
63
+ removeTransport(playerId) {
64
+ const transport = this.transports.get(playerId);
65
+ transport?.destroy();
66
+ this.transports.delete(playerId);
67
+ }
68
+ destroy() {
69
+ for (const transport of this.transports.values()) {
70
+ transport.destroy();
71
+ }
72
+ this.transports.clear();
73
+ }
74
+ }
75
+ //# sourceMappingURL=fivem-server.transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fivem-server.transport.js","sourceRoot":"","sources":["../../../../src/adapters/fivem/fivem-server.transport.ts"],"names":[],"mappings":"AAGA,MAAM,SAAS,GAAG,eAAe,CAAC;AAClC,MAAM,SAAS,GAAG,eAAe,CAAC;AAElC;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IAIZ;IACA;IAJX,OAAO,GAA2C,IAAI,CAAC;IAE/D,YACmB,QAAgB,EAChB,KAAwB;QADxB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,UAAK,GAAL,KAAK,CAAmB;IACxC,CAAC;IAEJ,IAAI,CAAC,OAAmB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,SAAS,CAAC,OAAsC;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,gEAAgE;IAChE,cAAc,CAAC,OAAmB;QAChC,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,uBAAuB;IAGL;IAFrB,UAAU,GAAG,IAAI,GAAG,EAAgC,CAAC;IAE7D,YAA6B,KAAwB;QAAxB,UAAK,GAAL,KAAK,CAAmB;QACnD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS;gBAAE,OAAO;YACvB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC;gBAC/C,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,4BAA4B;YAC9B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,QAAgB;QAC9B,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,eAAe,CAAC,QAAgB;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,SAAS,EAAE,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,OAAO;QACL,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACjD,SAAS,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF"}
@@ -0,0 +1,18 @@
1
+ /** Type declarations for FiveM NUI globals */
2
+ export interface FiveMNuiGlobal {
3
+ GetParentResourceName(): string;
4
+ }
5
+ /** Type declarations for FiveM client script globals */
6
+ export interface FiveMClientGlobal {
7
+ SendNUIMessage(data: unknown): void;
8
+ RegisterNUICallback(name: string, handler: (data: unknown, cb: (result: unknown) => void) => void): void;
9
+ TriggerServerEvent(eventName: string, ...args: unknown[]): void;
10
+ on(eventName: string, handler: (...args: unknown[]) => void): void;
11
+ }
12
+ /** Type declarations for FiveM server-side globals */
13
+ export interface FiveMServerGlobal {
14
+ TriggerClientEvent(eventName: string, playerId: number, ...args: unknown[]): void;
15
+ onNet(eventName: string, handler: (...args: unknown[]) => void): void;
16
+ source: number;
17
+ }
18
+ //# sourceMappingURL=fivem.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fivem.types.d.ts","sourceRoot":"","sources":["../../../../src/adapters/fivem/fivem.types.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,qBAAqB,IAAI,MAAM,CAAC;CACjC;AAED,wDAAwD;AACxD,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC;IACzG,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChE,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;CACpE;AAED,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClF,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IACtE,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fivem.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fivem.types.js","sourceRoot":"","sources":["../../../../src/adapters/fivem/fivem.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export { FiveMNuiTransport } from './fivem-nui.transport';
2
+ export { FiveMClientTransport } from './fivem-client.transport';
3
+ export type * from './fivem.types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/fivem/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,mBAAmB,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { FiveMNuiTransport } from './fivem-nui.transport';
2
+ export { FiveMClientTransport } from './fivem-client.transport';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapters/fivem/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { FiveMNuiTransport } from './fivem-nui.transport';
2
+ export type * from './fivem.types';
3
+ //# sourceMappingURL=nui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nui.d.ts","sourceRoot":"","sources":["../../../../src/adapters/fivem/nui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,mBAAmB,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { FiveMNuiTransport } from './fivem-nui.transport';
2
+ //# sourceMappingURL=nui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nui.js","sourceRoot":"","sources":["../../../../src/adapters/fivem/nui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { FiveMServerTransport, FiveMServerTransportHub } from './fivem-server.transport';
2
+ export type * from './fivem.types';
3
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../src/adapters/fivem/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACzF,mBAAmB,eAAe,CAAC"}