@mstuercke/api-utils 4.3.0 → 5.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 (218) hide show
  1. package/package.json +17 -40
  2. package/src/rest/client/fetchRestApi.ts +47 -0
  3. package/src/rest/client/index.ts +1 -0
  4. package/src/rest/server/RestApi.ts +144 -0
  5. package/src/rest/server/buildRestApiRouteHandler.ts +26 -0
  6. package/{dist/rest/server/index.js → src/rest/server/index.ts} +0 -1
  7. package/src/rest/types/RestApiRequest.ts +14 -0
  8. package/src/rest/types/RestApiRequestHandler.ts +21 -0
  9. package/src/rest/types/RestApiRequestHandlerWithAuthentication.ts +12 -0
  10. package/src/rest/types/RestApiResponse.ts +5 -0
  11. package/src/rest/types/RestApiRoute.ts +34 -0
  12. package/src/rest/types/RestApiRouteHandler.ts +22 -0
  13. package/src/rest/types/RestApiRouteWithAuthentication.ts +12 -0
  14. package/src/rest/types/common/BearerToken.ts +1 -0
  15. package/src/rest/types/common/RestPathParams.ts +1 -0
  16. package/src/rest/types/common/RestQueryParams.ts +1 -0
  17. package/src/rest/types/common/RestRequestBody.ts +1 -0
  18. package/src/rest/types/common/RestRequestHeaders.ts +1 -0
  19. package/src/rest/types/common/RestRequestHeadersWithAuthorization.ts +11 -0
  20. package/src/rest/types/common/RestRequireAuthentication.ts +1 -0
  21. package/src/rest/types/common/RestResponseBody.ts +1 -0
  22. package/{dist/rest/types/common/index.js → src/rest/types/common/index.ts} +0 -1
  23. package/{dist/rest/types/index.js → src/rest/types/index.ts} +0 -1
  24. package/src/rest/types/internal/InternalRestApiRequest.ts +19 -0
  25. package/src/rest/types/internal/index.ts +2 -0
  26. package/src/types/OmitNever.ts +1 -0
  27. package/src/ws/client/index.ts +1 -0
  28. package/src/ws/client/useWsApi.ts +88 -0
  29. package/src/ws/server/WsApi.ts +75 -0
  30. package/src/ws/server/buildWsApiRouteHandler.ts +15 -0
  31. package/src/ws/server/closeConnection.ts +16 -0
  32. package/src/ws/server/getApiGatewayManagementApiClient.ts +11 -0
  33. package/src/ws/server/getConnection.ts +12 -0
  34. package/{dist/ws/server/index.d.ts → src/ws/server/index.ts} +3 -2
  35. package/src/ws/server/sendResponse.ts +17 -0
  36. package/src/ws/server/trpc/TrpcSubscriptionRequest.ts +8 -0
  37. package/src/ws/server/trpc/TrpcSubscriptionResponse.ts +8 -0
  38. package/src/ws/server/trpc/awsLambdaTrpcSubscriptionRequestHandler.ts +105 -0
  39. package/src/ws/types/WsApiConnection.ts +4 -0
  40. package/src/ws/types/WsApiRequestHandler.ts +15 -0
  41. package/src/ws/types/WsApiRoute.ts +17 -0
  42. package/src/ws/types/WsApiRouteHandler.ts +14 -0
  43. package/src/ws/types/common/WsApiAction.ts +1 -0
  44. package/src/ws/types/common/WsApiRequest.ts +3 -0
  45. package/src/ws/types/common/WsApiResponse.ts +1 -0
  46. package/src/ws/types/common/index.ts +3 -0
  47. package/{dist/ws/types/index.js → src/ws/types/index.ts} +0 -1
  48. package/dist/rest/client/fetchRestApi.d.ts +0 -4
  49. package/dist/rest/client/fetchRestApi.d.ts.map +0 -1
  50. package/dist/rest/client/fetchRestApi.js +0 -19
  51. package/dist/rest/client/fetchRestApi.js.map +0 -1
  52. package/dist/rest/client/index.d.ts +0 -2
  53. package/dist/rest/client/index.d.ts.map +0 -1
  54. package/dist/rest/client/index.js +0 -2
  55. package/dist/rest/client/index.js.map +0 -1
  56. package/dist/rest/server/RestApi.d.ts +0 -13
  57. package/dist/rest/server/RestApi.d.ts.map +0 -1
  58. package/dist/rest/server/RestApi.js +0 -101
  59. package/dist/rest/server/RestApi.js.map +0 -1
  60. package/dist/rest/server/buildRestApiRouteHandler.d.ts +0 -3
  61. package/dist/rest/server/buildRestApiRouteHandler.d.ts.map +0 -1
  62. package/dist/rest/server/buildRestApiRouteHandler.js +0 -5
  63. package/dist/rest/server/buildRestApiRouteHandler.js.map +0 -1
  64. package/dist/rest/server/index.d.ts +0 -3
  65. package/dist/rest/server/index.d.ts.map +0 -1
  66. package/dist/rest/server/index.js.map +0 -1
  67. package/dist/rest/types/RestApiRequest.d.ts +0 -9
  68. package/dist/rest/types/RestApiRequest.d.ts.map +0 -1
  69. package/dist/rest/types/RestApiRequest.js +0 -2
  70. package/dist/rest/types/RestApiRequest.js.map +0 -1
  71. package/dist/rest/types/RestApiRequestHandler.d.ts +0 -5
  72. package/dist/rest/types/RestApiRequestHandler.d.ts.map +0 -1
  73. package/dist/rest/types/RestApiRequestHandler.js +0 -2
  74. package/dist/rest/types/RestApiRequestHandler.js.map +0 -1
  75. package/dist/rest/types/RestApiRequestHandlerWithAuthentication.d.ts +0 -4
  76. package/dist/rest/types/RestApiRequestHandlerWithAuthentication.d.ts.map +0 -1
  77. package/dist/rest/types/RestApiRequestHandlerWithAuthentication.js +0 -2
  78. package/dist/rest/types/RestApiRequestHandlerWithAuthentication.js.map +0 -1
  79. package/dist/rest/types/RestApiResponse.d.ts +0 -6
  80. package/dist/rest/types/RestApiResponse.d.ts.map +0 -1
  81. package/dist/rest/types/RestApiResponse.js +0 -2
  82. package/dist/rest/types/RestApiResponse.js.map +0 -1
  83. package/dist/rest/types/RestApiRoute.d.ts +0 -15
  84. package/dist/rest/types/RestApiRoute.d.ts.map +0 -1
  85. package/dist/rest/types/RestApiRoute.js +0 -2
  86. package/dist/rest/types/RestApiRoute.js.map +0 -1
  87. package/dist/rest/types/RestApiRouteHandler.d.ts +0 -8
  88. package/dist/rest/types/RestApiRouteHandler.d.ts.map +0 -1
  89. package/dist/rest/types/RestApiRouteHandler.js +0 -2
  90. package/dist/rest/types/RestApiRouteHandler.js.map +0 -1
  91. package/dist/rest/types/RestApiRouteWithAuthentication.d.ts +0 -4
  92. package/dist/rest/types/RestApiRouteWithAuthentication.d.ts.map +0 -1
  93. package/dist/rest/types/RestApiRouteWithAuthentication.js +0 -2
  94. package/dist/rest/types/RestApiRouteWithAuthentication.js.map +0 -1
  95. package/dist/rest/types/common/BearerToken.d.ts +0 -2
  96. package/dist/rest/types/common/BearerToken.d.ts.map +0 -1
  97. package/dist/rest/types/common/BearerToken.js +0 -2
  98. package/dist/rest/types/common/BearerToken.js.map +0 -1
  99. package/dist/rest/types/common/RestPathParams.d.ts +0 -2
  100. package/dist/rest/types/common/RestPathParams.d.ts.map +0 -1
  101. package/dist/rest/types/common/RestPathParams.js +0 -2
  102. package/dist/rest/types/common/RestPathParams.js.map +0 -1
  103. package/dist/rest/types/common/RestQueryParams.d.ts +0 -2
  104. package/dist/rest/types/common/RestQueryParams.d.ts.map +0 -1
  105. package/dist/rest/types/common/RestQueryParams.js +0 -2
  106. package/dist/rest/types/common/RestQueryParams.js.map +0 -1
  107. package/dist/rest/types/common/RestRequestBody.d.ts +0 -2
  108. package/dist/rest/types/common/RestRequestBody.d.ts.map +0 -1
  109. package/dist/rest/types/common/RestRequestBody.js +0 -2
  110. package/dist/rest/types/common/RestRequestBody.js.map +0 -1
  111. package/dist/rest/types/common/RestRequestHeaders.d.ts +0 -2
  112. package/dist/rest/types/common/RestRequestHeaders.d.ts.map +0 -1
  113. package/dist/rest/types/common/RestRequestHeaders.js +0 -2
  114. package/dist/rest/types/common/RestRequestHeaders.js.map +0 -1
  115. package/dist/rest/types/common/RestRequestHeadersWithAuthorization.d.ts +0 -8
  116. package/dist/rest/types/common/RestRequestHeadersWithAuthorization.d.ts.map +0 -1
  117. package/dist/rest/types/common/RestRequestHeadersWithAuthorization.js +0 -2
  118. package/dist/rest/types/common/RestRequestHeadersWithAuthorization.js.map +0 -1
  119. package/dist/rest/types/common/RestRequireAuthentication.d.ts +0 -2
  120. package/dist/rest/types/common/RestRequireAuthentication.d.ts.map +0 -1
  121. package/dist/rest/types/common/RestRequireAuthentication.js +0 -2
  122. package/dist/rest/types/common/RestRequireAuthentication.js.map +0 -1
  123. package/dist/rest/types/common/RestResponseBody.d.ts +0 -2
  124. package/dist/rest/types/common/RestResponseBody.d.ts.map +0 -1
  125. package/dist/rest/types/common/RestResponseBody.js +0 -2
  126. package/dist/rest/types/common/RestResponseBody.js.map +0 -1
  127. package/dist/rest/types/common/index.d.ts +0 -9
  128. package/dist/rest/types/common/index.d.ts.map +0 -1
  129. package/dist/rest/types/common/index.js.map +0 -1
  130. package/dist/rest/types/index.d.ts +0 -9
  131. package/dist/rest/types/index.d.ts.map +0 -1
  132. package/dist/rest/types/index.js.map +0 -1
  133. package/dist/rest/types/internal/InternalRestApiRequest.d.ts +0 -7
  134. package/dist/rest/types/internal/InternalRestApiRequest.d.ts.map +0 -1
  135. package/dist/rest/types/internal/InternalRestApiRequest.js +0 -2
  136. package/dist/rest/types/internal/InternalRestApiRequest.js.map +0 -1
  137. package/dist/rest/types/internal/index.d.ts +0 -3
  138. package/dist/rest/types/internal/index.d.ts.map +0 -1
  139. package/dist/rest/types/internal/index.js +0 -3
  140. package/dist/rest/types/internal/index.js.map +0 -1
  141. package/dist/types/OmitNever.d.ts +0 -4
  142. package/dist/types/OmitNever.d.ts.map +0 -1
  143. package/dist/types/OmitNever.js +0 -2
  144. package/dist/types/OmitNever.js.map +0 -1
  145. package/dist/ws/client/index.d.ts +0 -2
  146. package/dist/ws/client/index.d.ts.map +0 -1
  147. package/dist/ws/client/index.js +0 -2
  148. package/dist/ws/client/index.js.map +0 -1
  149. package/dist/ws/client/useWsApi.d.ts +0 -20
  150. package/dist/ws/client/useWsApi.d.ts.map +0 -1
  151. package/dist/ws/client/useWsApi.js +0 -59
  152. package/dist/ws/client/useWsApi.js.map +0 -1
  153. package/dist/ws/server/WsApi.d.ts +0 -8
  154. package/dist/ws/server/WsApi.d.ts.map +0 -1
  155. package/dist/ws/server/WsApi.js +0 -55
  156. package/dist/ws/server/WsApi.js.map +0 -1
  157. package/dist/ws/server/awsLambdaTrpcSubscriptionRequestHandler.d.ts +0 -7
  158. package/dist/ws/server/awsLambdaTrpcSubscriptionRequestHandler.d.ts.map +0 -1
  159. package/dist/ws/server/awsLambdaTrpcSubscriptionRequestHandler.js +0 -71
  160. package/dist/ws/server/awsLambdaTrpcSubscriptionRequestHandler.js.map +0 -1
  161. package/dist/ws/server/buildWsApiRouteHandler.d.ts +0 -3
  162. package/dist/ws/server/buildWsApiRouteHandler.d.ts.map +0 -1
  163. package/dist/ws/server/buildWsApiRouteHandler.js +0 -7
  164. package/dist/ws/server/buildWsApiRouteHandler.js.map +0 -1
  165. package/dist/ws/server/closeConnection.d.ts +0 -3
  166. package/dist/ws/server/closeConnection.d.ts.map +0 -1
  167. package/dist/ws/server/closeConnection.js +0 -13
  168. package/dist/ws/server/closeConnection.js.map +0 -1
  169. package/dist/ws/server/getApiGatewayManagementApiClient.d.ts +0 -3
  170. package/dist/ws/server/getApiGatewayManagementApiClient.d.ts.map +0 -1
  171. package/dist/ws/server/getApiGatewayManagementApiClient.js +0 -10
  172. package/dist/ws/server/getApiGatewayManagementApiClient.js.map +0 -1
  173. package/dist/ws/server/getConnection.d.ts +0 -4
  174. package/dist/ws/server/getConnection.d.ts.map +0 -1
  175. package/dist/ws/server/getConnection.js +0 -9
  176. package/dist/ws/server/getConnection.js.map +0 -1
  177. package/dist/ws/server/index.d.ts.map +0 -1
  178. package/dist/ws/server/index.js +0 -7
  179. package/dist/ws/server/index.js.map +0 -1
  180. package/dist/ws/server/sendResponse.d.ts +0 -3
  181. package/dist/ws/server/sendResponse.d.ts.map +0 -1
  182. package/dist/ws/server/sendResponse.js +0 -9
  183. package/dist/ws/server/sendResponse.js.map +0 -1
  184. package/dist/ws/types/WsApiConnection.d.ts +0 -5
  185. package/dist/ws/types/WsApiConnection.d.ts.map +0 -1
  186. package/dist/ws/types/WsApiConnection.js +0 -2
  187. package/dist/ws/types/WsApiConnection.js.map +0 -1
  188. package/dist/ws/types/WsApiRequestHandler.d.ts +0 -11
  189. package/dist/ws/types/WsApiRequestHandler.d.ts.map +0 -1
  190. package/dist/ws/types/WsApiRequestHandler.js +0 -2
  191. package/dist/ws/types/WsApiRequestHandler.js.map +0 -1
  192. package/dist/ws/types/WsApiRoute.d.ts +0 -9
  193. package/dist/ws/types/WsApiRoute.d.ts.map +0 -1
  194. package/dist/ws/types/WsApiRoute.js +0 -2
  195. package/dist/ws/types/WsApiRoute.js.map +0 -1
  196. package/dist/ws/types/WsApiRouteHandler.d.ts +0 -8
  197. package/dist/ws/types/WsApiRouteHandler.d.ts.map +0 -1
  198. package/dist/ws/types/WsApiRouteHandler.js +0 -2
  199. package/dist/ws/types/WsApiRouteHandler.js.map +0 -1
  200. package/dist/ws/types/common/WsApiAction.d.ts +0 -2
  201. package/dist/ws/types/common/WsApiAction.d.ts.map +0 -1
  202. package/dist/ws/types/common/WsApiAction.js +0 -2
  203. package/dist/ws/types/common/WsApiAction.js.map +0 -1
  204. package/dist/ws/types/common/WsApiRequest.d.ts +0 -5
  205. package/dist/ws/types/common/WsApiRequest.d.ts.map +0 -1
  206. package/dist/ws/types/common/WsApiRequest.js +0 -2
  207. package/dist/ws/types/common/WsApiRequest.js.map +0 -1
  208. package/dist/ws/types/common/WsApiResponse.d.ts +0 -2
  209. package/dist/ws/types/common/WsApiResponse.d.ts.map +0 -1
  210. package/dist/ws/types/common/WsApiResponse.js +0 -2
  211. package/dist/ws/types/common/WsApiResponse.js.map +0 -1
  212. package/dist/ws/types/common/index.d.ts +0 -4
  213. package/dist/ws/types/common/index.d.ts.map +0 -1
  214. package/dist/ws/types/common/index.js +0 -4
  215. package/dist/ws/types/common/index.js.map +0 -1
  216. package/dist/ws/types/index.d.ts +0 -6
  217. package/dist/ws/types/index.d.ts.map +0 -1
  218. package/dist/ws/types/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestApiRequestHandlerWithAuthentication.d.ts","sourceRoot":"","sources":["../../../src/rest/types/RestApiRequestHandlerWithAuthentication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAEhH,MAAM,MAAM,uCAAuC,CAC/C,UAAU,SAAS,cAAc,GAAG,KAAK,EACzC,WAAW,SAAS,eAAe,GAAG,KAAK,EAC3C,cAAc,SAAS,kBAAkB,GAAG,KAAK,EACjD,WAAW,SAAS,eAAe,GAAG,KAAK,EAC3C,YAAY,SAAS,gBAAgB,GAAG,KAAK,IAC7C,qBAAqB,CAAC,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=RestApiRequestHandlerWithAuthentication.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestApiRequestHandlerWithAuthentication.js","sourceRoot":"","sources":["../../../src/rest/types/RestApiRequestHandlerWithAuthentication.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- export interface RestApiResponse<ResponseBody> {
2
- status: number;
3
- headers?: Record<string, string>;
4
- body?: ResponseBody;
5
- }
6
- //# sourceMappingURL=RestApiResponse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestApiResponse.d.ts","sourceRoot":"","sources":["../../../src/rest/types/RestApiResponse.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe,CAAC,YAAY;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=RestApiResponse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestApiResponse.js","sourceRoot":"","sources":["../../../src/rest/types/RestApiResponse.ts"],"names":[],"mappings":""}
@@ -1,15 +0,0 @@
1
- import { RestPathParams, RestQueryParams, RestRequestBody, RestRequestHeaders, RestRequireAuthentication, RestResponseBody } from './common';
2
- export type RestHttpMethod = 'GET' | 'POST' | 'DELETE' | 'PATCH' | 'PUT' | 'OPTIONS';
3
- export type RestRoutePath = `/${string}`;
4
- export type RestApiRoute<PathParams extends RestPathParams = never, QueryParams extends RestQueryParams = never, RequestHeaders extends RestRequestHeaders = never, RequestBody extends RestRequestBody = never, ResponseBody extends RestResponseBody = never, RequireAuthentication extends RestRequireAuthentication = false> = {
5
- method: RestHttpMethod;
6
- path: RestRoutePath;
7
- buildUrl: (pathParams: PathParams, queryParams: QueryParams) => RestRoutePath;
8
- requireAuthentication: RequireAuthentication;
9
- __types?: {
10
- RequestHeaders: RequestHeaders;
11
- RequestBody: RequestBody;
12
- ResponseBody: ResponseBody;
13
- };
14
- };
15
- //# sourceMappingURL=RestApiRoute.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestApiRoute.d.ts","sourceRoot":"","sources":["../../../src/rest/types/RestApiRoute.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,CAAA;AACpF,MAAM,MAAM,aAAa,GAAG,IAAI,MAAM,EAAE,CAAA;AAExC,MAAM,MAAM,YAAY,CACpB,UAAU,SAAS,cAAc,GAAG,KAAK,EACzC,WAAW,SAAS,eAAe,GAAG,KAAK,EAC3C,cAAc,SAAS,kBAAkB,GAAG,KAAK,EACjD,WAAW,SAAS,eAAe,GAAG,KAAK,EAC3C,YAAY,SAAS,gBAAgB,GAAG,KAAK,EAC7C,qBAAqB,SAAS,yBAAyB,GAAG,KAAK,IAC/D;IACF,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,KAAK,aAAa,CAAC;IAC9E,qBAAqB,EAAE,qBAAqB,CAAC;IAG7C,OAAO,CAAC,EAAE;QACR,cAAc,EAAE,cAAc,CAAA;QAC9B,WAAW,EAAE,WAAW,CAAA;QACxB,YAAY,EAAE,YAAY,CAAA;KAC3B,CAAC;CACH,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=RestApiRoute.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestApiRoute.js","sourceRoot":"","sources":["../../../src/rest/types/RestApiRoute.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- import { RestApiRequestHandler } from './RestApiRequestHandler';
2
- import { RestApiRoute } from './RestApiRoute';
3
- import { RestPathParams, RestQueryParams, RestRequestBody, RestRequestHeaders, RestRequireAuthentication, RestResponseBody } from './common';
4
- export interface RestApiRouteHandler<PathParams extends RestPathParams = never, QueryParams extends RestQueryParams = never, RequestHeaders extends RestRequestHeaders = never, RequestBody extends RestRequestBody = never, ResponseBody extends RestResponseBody = never, RequireAuthentication extends RestRequireAuthentication = false> {
5
- route: RestApiRoute<PathParams, QueryParams, RequestHeaders, RequestBody, ResponseBody, RequireAuthentication>;
6
- requestHandler: RestApiRequestHandler<PathParams, QueryParams, RequestHeaders, RequestBody, ResponseBody, RequireAuthentication>;
7
- }
8
- //# sourceMappingURL=RestApiRouteHandler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestApiRouteHandler.d.ts","sourceRoot":"","sources":["../../../src/rest/types/RestApiRouteHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,mBAAmB,CAChC,UAAU,SAAS,cAAc,GAAG,KAAK,EACzC,WAAW,SAAS,eAAe,GAAG,KAAK,EAC3C,cAAc,SAAS,kBAAkB,GAAG,KAAK,EACjD,WAAW,SAAS,eAAe,GAAG,KAAK,EAC3C,YAAY,SAAS,gBAAgB,GAAG,KAAK,EAC7C,qBAAqB,SAAS,yBAAyB,GAAG,KAAK;IACjE,KAAK,EAAE,YAAY,CAAC,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC;IAC/G,cAAc,EAAE,qBAAqB,CAAC,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC;CAClI"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=RestApiRouteHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestApiRouteHandler.js","sourceRoot":"","sources":["../../../src/rest/types/RestApiRouteHandler.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- import { RestApiRoute } from './RestApiRoute';
2
- import { RestPathParams, RestQueryParams, RestRequestBody, RestRequestHeaders, RestResponseBody } from './common';
3
- export type RestApiRouteWithAuthentication<PathParams extends RestPathParams = never, QueryParams extends RestQueryParams = never, RequestHeaders extends RestRequestHeaders = never, RequestBody extends RestRequestBody = never, ResponseBody extends RestResponseBody = never> = RestApiRoute<PathParams, QueryParams, RequestHeaders, RequestBody, ResponseBody, true>;
4
- //# sourceMappingURL=RestApiRouteWithAuthentication.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestApiRouteWithAuthentication.d.ts","sourceRoot":"","sources":["../../../src/rest/types/RestApiRouteWithAuthentication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAEhH,MAAM,MAAM,8BAA8B,CACtC,UAAU,SAAS,cAAc,GAAG,KAAK,EACzC,WAAW,SAAS,eAAe,GAAG,KAAK,EAC3C,cAAc,SAAS,kBAAkB,GAAG,KAAK,EACjD,WAAW,SAAS,eAAe,GAAG,KAAK,EAC3C,YAAY,SAAS,gBAAgB,GAAG,KAAK,IAC7C,YAAY,CAAC,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=RestApiRouteWithAuthentication.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestApiRouteWithAuthentication.js","sourceRoot":"","sources":["../../../src/rest/types/RestApiRouteWithAuthentication.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export type BearerToken = `Bearer ${string}`;
2
- //# sourceMappingURL=BearerToken.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BearerToken.d.ts","sourceRoot":"","sources":["../../../../src/rest/types/common/BearerToken.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,UAAU,MAAM,EAAE,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=BearerToken.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BearerToken.js","sourceRoot":"","sources":["../../../../src/rest/types/common/BearerToken.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export type RestPathParams = object | never;
2
- //# sourceMappingURL=RestPathParams.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestPathParams.d.ts","sourceRoot":"","sources":["../../../../src/rest/types/common/RestPathParams.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=RestPathParams.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestPathParams.js","sourceRoot":"","sources":["../../../../src/rest/types/common/RestPathParams.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export type RestQueryParams = object | never;
2
- //# sourceMappingURL=RestQueryParams.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestQueryParams.d.ts","sourceRoot":"","sources":["../../../../src/rest/types/common/RestQueryParams.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=RestQueryParams.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestQueryParams.js","sourceRoot":"","sources":["../../../../src/rest/types/common/RestQueryParams.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export type RestRequestBody = object | never;
2
- //# sourceMappingURL=RestRequestBody.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestRequestBody.d.ts","sourceRoot":"","sources":["../../../../src/rest/types/common/RestRequestBody.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=RestRequestBody.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestRequestBody.js","sourceRoot":"","sources":["../../../../src/rest/types/common/RestRequestBody.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export type RestRequestHeaders = Record<string, string> | never;
2
- //# sourceMappingURL=RestRequestHeaders.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestRequestHeaders.d.ts","sourceRoot":"","sources":["../../../../src/rest/types/common/RestRequestHeaders.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=RestRequestHeaders.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestRequestHeaders.js","sourceRoot":"","sources":["../../../../src/rest/types/common/RestRequestHeaders.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- import { BearerToken } from "./BearerToken";
2
- import { RestRequestHeaders } from './RestRequestHeaders';
3
- import { RestRequireAuthentication } from './RestRequireAuthentication';
4
- export type AuthorizationHeader = {
5
- Authorization: BearerToken;
6
- };
7
- export type RestRequestHeadersWithAuthorization<RequestHeaders extends RestRequestHeaders, RequireAuthentication extends RestRequireAuthentication> = RequireAuthentication extends true ? [RequestHeaders] extends [never] ? AuthorizationHeader : RequestHeaders & AuthorizationHeader : RequestHeaders;
8
- //# sourceMappingURL=RestRequestHeadersWithAuthorization.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestRequestHeadersWithAuthorization.d.ts","sourceRoot":"","sources":["../../../../src/rest/types/common/RestRequestHeadersWithAuthorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,yBAAyB,EAAC,MAAM,6BAA6B,CAAC;AAEtE,MAAM,MAAM,mBAAmB,GAAG;IAAE,aAAa,EAAE,WAAW,CAAA;CAAE,CAAA;AAChE,MAAM,MAAM,mCAAmC,CAC3C,cAAc,SAAS,kBAAkB,EACzC,qBAAqB,SAAS,yBAAyB,IACvD,qBAAqB,SAAS,IAAI,GAChC,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,mBAAmB,GAAG,cAAc,GAAG,mBAAmB,GAC7F,cAAc,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=RestRequestHeadersWithAuthorization.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestRequestHeadersWithAuthorization.js","sourceRoot":"","sources":["../../../../src/rest/types/common/RestRequestHeadersWithAuthorization.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export type RestRequireAuthentication = boolean;
2
- //# sourceMappingURL=RestRequireAuthentication.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestRequireAuthentication.d.ts","sourceRoot":"","sources":["../../../../src/rest/types/common/RestRequireAuthentication.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=RestRequireAuthentication.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestRequireAuthentication.js","sourceRoot":"","sources":["../../../../src/rest/types/common/RestRequireAuthentication.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export type RestResponseBody = object | object[] | null | never;
2
- //# sourceMappingURL=RestResponseBody.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestResponseBody.d.ts","sourceRoot":"","sources":["../../../../src/rest/types/common/RestResponseBody.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,KAAK,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=RestResponseBody.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestResponseBody.js","sourceRoot":"","sources":["../../../../src/rest/types/common/RestResponseBody.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- export * from './BearerToken';
2
- export * from './RestRequestHeadersWithAuthorization';
3
- export * from './RestPathParams';
4
- export * from './RestQueryParams';
5
- export * from './RestRequestBody';
6
- export * from './RestRequestHeaders';
7
- export * from './RestRequireAuthentication';
8
- export * from './RestResponseBody';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/rest/types/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rest/types/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC"}
@@ -1,9 +0,0 @@
1
- export * from './common';
2
- export * from './RestApiRequest';
3
- export * from './RestApiRequestHandler';
4
- export * from './RestApiRequestHandlerWithAuthentication';
5
- export * from './RestApiResponse';
6
- export * from './RestApiRoute';
7
- export * from './RestApiRouteHandler';
8
- export * from './RestApiRouteWithAuthentication';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rest/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rest/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { OmitNever } from '../../../types/OmitNever';
2
- import { RestApiRequest } from '../RestApiRequest';
3
- import { RestPathParams, RestQueryParams, RestRequestBody, RestRequestHeaders, RestRequireAuthentication } from '../common';
4
- export type InternalRestApiRequest<PathParams extends RestPathParams = never, QueryParams extends RestQueryParams = never, RequestHeaders extends RestRequestHeaders = never, RequestBody extends RestRequestBody = never, RequireAuthentication extends RestRequireAuthentication = false> = OmitNever<RestApiRequest<PathParams, QueryParams, RequestHeaders, RequestBody> & {
5
- userId: RequireAuthentication extends true ? string : never;
6
- }>;
7
- //# sourceMappingURL=InternalRestApiRequest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InternalRestApiRequest.d.ts","sourceRoot":"","sources":["../../../../src/rest/types/internal/InternalRestApiRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,sBAAsB,CAC9B,UAAU,SAAS,cAAc,GAAG,KAAK,EACzC,WAAW,SAAS,eAAe,GAAG,KAAK,EAC3C,cAAc,SAAS,kBAAkB,GAAG,KAAK,EACjD,WAAW,SAAS,eAAe,GAAG,KAAK,EAC3C,qBAAqB,SAAS,yBAAyB,GAAG,KAAK,IAAI,SAAS,CAC5E,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,CAAC,GAClE;IAAE,MAAM,EAAE,qBAAqB,SAAS,IAAI,GAAG,MAAM,GAAG,KAAK,CAAA;CAAE,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=InternalRestApiRequest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InternalRestApiRequest.js","sourceRoot":"","sources":["../../../../src/rest/types/internal/InternalRestApiRequest.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- export * from './InternalRestApiRequest';
2
- export * from '../../../types/OmitNever';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/rest/types/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA"}
@@ -1,3 +0,0 @@
1
- export * from './InternalRestApiRequest';
2
- export * from '../../../types/OmitNever';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rest/types/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA"}
@@ -1,4 +0,0 @@
1
- export type OmitNever<T> = {
2
- [P in keyof T as T[P] extends never ? never : P]: T[P];
3
- };
4
- //# sourceMappingURL=OmitNever.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OmitNever.d.ts","sourceRoot":"","sources":["../../src/types/OmitNever.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=OmitNever.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OmitNever.js","sourceRoot":"","sources":["../../src/types/OmitNever.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export * from './useWsApi';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ws/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './useWsApi';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ws/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -1,20 +0,0 @@
1
- import { WsApiAction, WsApiRequest, WsApiResponse, WsApiRoute } from '../types';
2
- type WsApiConnection<Action extends WsApiAction, Request extends WsApiRequest<Action>> = {
3
- disconnect: () => void;
4
- sendRequest: (request: Request) => void;
5
- };
6
- export type WsApiOptions<Action extends WsApiAction, Request extends WsApiRequest<Action>, Response extends WsApiResponse> = {
7
- onConnected?: (connection: WsApiConnection<Action, Request>) => void;
8
- onResponse?: (response: Response, connection: WsApiConnection<Action, Request>) => void;
9
- onError?: (error: unknown, connection: WsApiConnection<Action, Request>) => void;
10
- onDisconnected?: () => void;
11
- };
12
- export declare const useWsApi: <Action extends string, Request extends WsApiRequest<Action>, Response extends object>(wsApiUrl: string, route: WsApiRoute<Action, Request, Response> | undefined) => {
13
- connect: (options: WsApiOptions<Action, Request, Response>) => Promise<void>;
14
- connected: boolean;
15
- connection: WsApiConnection<Action, Request>;
16
- error: boolean;
17
- disconnect: () => void | undefined;
18
- };
19
- export {};
20
- //# sourceMappingURL=useWsApi.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWsApi.d.ts","sourceRoot":"","sources":["../../../src/ws/client/useWsApi.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAE9E,KAAK,eAAe,CAChB,MAAM,SAAS,WAAW,EAC1B,OAAO,SAAS,YAAY,CAAC,MAAM,CAAC,IACpC;IACF,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,YAAY,CACpB,MAAM,SAAS,WAAW,EAC1B,OAAO,SAAS,YAAY,CAAC,MAAM,CAAC,EACpC,QAAQ,SAAS,aAAa,IAAI;IACpC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IACpE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IACvF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IAChF,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC5B,CAAA;AACD,eAAO,MAAM,QAAQ,mGAIT,MAAM,SAAS,WAAW,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,SAAS;uBAsB9B,aAAa,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;;;;;CAyCpF,CAAC"}
@@ -1,59 +0,0 @@
1
- import { useCallback, useMemo, useRef, useState } from 'react';
2
- export const useWsApi = (wsApiUrl, route) => {
3
- const [error, setError] = useState(false);
4
- const [connected, setConnected] = useState(false);
5
- const webSocket = useRef();
6
- const sendRequest = useCallback((request) => {
7
- if (!route)
8
- throw 'Not route';
9
- if (!webSocket.current)
10
- throw 'Not connected';
11
- webSocket.current.send(JSON.stringify({
12
- ...request,
13
- action: route.action,
14
- }));
15
- }, [route]);
16
- const disconnect = useCallback(() => webSocket.current?.close(), [webSocket]);
17
- const connection = useMemo(() => {
18
- return {
19
- disconnect,
20
- sendRequest,
21
- };
22
- }, [disconnect, sendRequest]);
23
- const connect = useCallback(async (options) => {
24
- return new Promise((resolve) => {
25
- if (webSocket.current && (webSocket.current.readyState === WebSocket.CONNECTING || webSocket.current.readyState === WebSocket.OPEN))
26
- throw 'Already connected';
27
- webSocket.current = new WebSocket(wsApiUrl);
28
- webSocket.current.onopen = () => {
29
- setConnected(true);
30
- setError(false);
31
- options?.onConnected?.(connection);
32
- };
33
- webSocket.current.onmessage = (ev) => {
34
- if (!ev.data || ev.data === '{}')
35
- return;
36
- setError(false);
37
- options?.onResponse?.(JSON.parse(ev.data), connection);
38
- };
39
- webSocket.current.onerror = (error) => {
40
- setError(false);
41
- options?.onError?.(error, connection);
42
- };
43
- webSocket.current.onclose = () => {
44
- setConnected(false);
45
- options?.onDisconnected?.();
46
- webSocket.current = undefined;
47
- resolve();
48
- };
49
- });
50
- }, [wsApiUrl, connection]);
51
- return {
52
- connect,
53
- connected,
54
- connection,
55
- error,
56
- disconnect,
57
- };
58
- };
59
- //# sourceMappingURL=useWsApi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWsApi.js","sourceRoot":"","sources":["../../../src/ws/client/useWsApi.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { APIGatewayProxyEvent, APIGatewayProxyResult } from 'aws-lambda';
2
- import { WsApiAction, WsApiRequest, WsApiResponse, WsApiRouteHandler } from '../types';
3
- export declare class WsApi {
4
- private readonly routeHandlers;
5
- addRouteHandler<Action extends WsApiAction, Request extends WsApiRequest<Action>, Response extends WsApiResponse>(routeHandler: WsApiRouteHandler<Action, Request, Response>): this;
6
- handleRequest(event: APIGatewayProxyEvent): Promise<APIGatewayProxyResult>;
7
- }
8
- //# sourceMappingURL=WsApi.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WsApi.d.ts","sourceRoot":"","sources":["../../../src/ws/server/WsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAE,qBAAqB,EAAC,MAAM,YAAY,CAAC;AACvE,OAAO,EACL,WAAW,EAEX,YAAY,EAEZ,aAAa,EACb,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAIlB,qBAAa,KAAK;IAEhB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAG5B;IAEF,eAAe,CACX,MAAM,SAAS,WAAW,EAC1B,OAAO,SAAS,YAAY,CAAC,MAAM,CAAC,EACpC,QAAQ,SAAS,aAAa,EAChC,YAAY,EAAE,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IAKtD,aAAa,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CA8CjF"}
@@ -1,55 +0,0 @@
1
- import { closeConnection } from './closeConnection';
2
- import { sendResponse } from './sendResponse';
3
- export class WsApi {
4
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
- routeHandlers = {
6
- '$connect': () => Promise.resolve(),
7
- '$disconnect': () => Promise.resolve(),
8
- };
9
- addRouteHandler(routeHandler) {
10
- this.routeHandlers[routeHandler.route.action] = routeHandler.requestHandler;
11
- return this;
12
- }
13
- async handleRequest(event) {
14
- const { connectionId, domainName, stage, eventType } = event.requestContext;
15
- if (!eventType)
16
- throw 'No eventType';
17
- if (!connectionId)
18
- throw 'No connectionId';
19
- if (!domainName)
20
- throw 'No domainName';
21
- let request;
22
- switch (eventType) {
23
- case 'CONNECT':
24
- request = { action: '$connect' };
25
- break;
26
- case 'DISCONNECT':
27
- request = { action: '$disconnect' };
28
- break;
29
- case 'MESSAGE':
30
- if (!event.body)
31
- throw 'No body';
32
- request = JSON.parse(event.body);
33
- break;
34
- default:
35
- throw `Unknown eventType ${eventType}`;
36
- }
37
- const endpoint = `https://${domainName}/${stage}`;
38
- const connection = { endpoint, connectionId };
39
- const requestHandler = this.routeHandlers[request.action];
40
- if (!requestHandler) {
41
- await closeConnection(connection);
42
- throw `No requestHandler found for action ${request.action}`;
43
- }
44
- await requestHandler(request, {
45
- connection,
46
- sendResponse: async (response) => await sendResponse(connection, response),
47
- closeConnection: async () => await closeConnection(connection),
48
- });
49
- return {
50
- statusCode: 200,
51
- body: '',
52
- };
53
- }
54
- }
55
- //# sourceMappingURL=WsApi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WsApi.js","sourceRoot":"","sources":["../../../src/ws/server/WsApi.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,MAAM,OAAO,KAAK;IAChB,8DAA8D;IAC7C,aAAa,GAAkE;QAC9F,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;QACnC,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;KACvC,CAAC;IAEF,eAAe,CAIb,YAA0D;QAC1D,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,cAAc,CAAC;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAA2B;QAC7C,MAAM,EAAC,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAC,GAAG,KAAK,CAAC,cAAc,CAAC;QAE1E,IAAI,CAAC,SAAS;YAAE,MAAM,cAAc,CAAC;QACrC,IAAI,CAAC,YAAY;YAAE,MAAM,iBAAiB,CAAC;QAC3C,IAAI,CAAC,UAAU;YAAE,MAAM,eAAe,CAAC;QAEvC,IAAI,OAAkC,CAAC;QACvC,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,SAAS;gBACZ,OAAO,GAAG,EAAC,MAAM,EAAE,UAAU,EAAC,CAAC;gBAC/B,MAAM;YAER,KAAK,YAAY;gBACf,OAAO,GAAG,EAAC,MAAM,EAAE,aAAa,EAAC,CAAC;gBAClC,MAAM;YAER,KAAK,SAAS;gBACZ,IAAI,CAAC,KAAK,CAAC,IAAI;oBAAE,MAAM,SAAS,CAAC;gBACjC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAA8B,CAAC;gBAC9D,MAAM;YAER;gBACE,MAAM,qBAAqB,SAAS,EAAE,CAAC;QAC3C,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,UAAU,IAAI,KAAK,EAAE,CAAC;QAClD,MAAM,UAAU,GAAoB,EAAC,QAAQ,EAAE,YAAY,EAAC,CAAC;QAE7D,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;YAClC,MAAM,sCAAsC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/D,CAAC;QAED,MAAM,cAAc,CAAC,OAAO,EAAE;YAC5B,UAAU;YACV,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC;YAC1E,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,eAAe,CAAC,UAAU,CAAC;SAC/D,CAAC,CAAC;QAEH,OAAO;YACL,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,EAAE;SACT,CAAC;IACJ,CAAC;CACF"}
@@ -1,7 +0,0 @@
1
- import { AnyTRPCRouter } from '@trpc/server';
2
- import { APIGatewayResult } from '@trpc/server/adapters/aws-lambda';
3
- import { APIGatewayProxyEvent } from 'aws-lambda';
4
- export declare const awsLambdaTrpcSubscriptionRequestHandler: <Router extends AnyTRPCRouter>(opts: {
5
- router: Router;
6
- }) => (event: APIGatewayProxyEvent) => Promise<APIGatewayResult>;
7
- //# sourceMappingURL=awsLambdaTrpcSubscriptionRequestHandler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"awsLambdaTrpcSubscriptionRequestHandler.d.ts","sourceRoot":"","sources":["../../../src/ws/server/awsLambdaTrpcSubscriptionRequestHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAoB,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAC,gBAAgB,EAAC,MAAM,kCAAkC,CAAC;AAElE,OAAO,EAAC,oBAAoB,EAAC,MAAM,YAAY,CAAC;AAsBhD,eAAO,MAAM,uCAAuC,uCAAwC;IAC1F,MAAM,EAAE,MAAM,CAAA;CACf,sCAG6C,QAAQ,gBAAgB,CAwErE,CAAC"}