@mstuercke/api-utils 0.0.22 → 0.0.23

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 (64) hide show
  1. package/dist/rest/{fetchRestApi.d.ts → client/fetchRestApi.d.ts} +3 -3
  2. package/dist/rest/client/fetchRestApi.js.map +1 -0
  3. package/dist/rest/client/index.d.ts +1 -0
  4. package/dist/rest/client/index.js +2 -0
  5. package/dist/rest/client/index.js.map +1 -0
  6. package/dist/rest/{RestApi.d.ts → server/RestApi.d.ts} +1 -1
  7. package/dist/rest/server/RestApi.js.map +1 -0
  8. package/dist/rest/server/index.d.ts +1 -0
  9. package/dist/rest/server/index.js +2 -0
  10. package/dist/rest/server/index.js.map +1 -0
  11. package/dist/rest/types/RestApiRequest.d.ts +2 -2
  12. package/dist/rest/types/internal/InternalRestApiRequest.d.ts +2 -2
  13. package/dist/rest/types/internal/index.d.ts +1 -1
  14. package/dist/rest/types/internal/index.js +1 -1
  15. package/dist/rest/types/internal/index.js.map +1 -1
  16. package/dist/{rest/types/internal/RequiredOnly.d.ts → types/OmitNever.d.ts} +1 -1
  17. package/dist/types/OmitNever.js +2 -0
  18. package/dist/types/OmitNever.js.map +1 -0
  19. package/dist/ws/client/index.d.ts +1 -0
  20. package/dist/ws/client/index.js +2 -0
  21. package/dist/ws/client/index.js.map +1 -0
  22. package/dist/ws/client/useWsApi.d.ts +13 -0
  23. package/dist/ws/client/useWsApi.js +60 -0
  24. package/dist/ws/client/useWsApi.js.map +1 -0
  25. package/dist/ws/server/WsApi.d.ts +7 -0
  26. package/dist/ws/server/WsApi.js +37 -0
  27. package/dist/ws/server/WsApi.js.map +1 -0
  28. package/dist/ws/server/index.d.ts +1 -0
  29. package/dist/ws/server/index.js +2 -0
  30. package/dist/ws/server/index.js.map +1 -0
  31. package/dist/ws/types/WsApiRequestHandler.d.ts +8 -0
  32. package/dist/ws/types/WsApiRequestHandler.js +2 -0
  33. package/dist/ws/types/WsApiRequestHandler.js.map +1 -0
  34. package/dist/ws/types/WsApiRoute.d.ts +8 -0
  35. package/dist/ws/types/WsApiRoute.js +2 -0
  36. package/dist/ws/types/WsApiRoute.js.map +1 -0
  37. package/dist/ws/types/common/WsApiRequest.d.ts +1 -0
  38. package/dist/ws/types/common/WsApiRequest.js +2 -0
  39. package/dist/ws/types/common/WsApiRequest.js.map +1 -0
  40. package/dist/ws/types/common/WsApiResponse.d.ts +1 -0
  41. package/dist/ws/types/common/WsApiResponse.js +2 -0
  42. package/dist/ws/types/common/WsApiResponse.js.map +1 -0
  43. package/dist/ws/types/common/WsApiRouteKey.d.ts +1 -0
  44. package/dist/ws/types/common/WsApiRouteKey.js +2 -0
  45. package/dist/ws/types/common/WsApiRouteKey.js.map +1 -0
  46. package/dist/ws/types/common/index.d.ts +3 -0
  47. package/dist/ws/types/common/index.js +4 -0
  48. package/dist/ws/types/common/index.js.map +1 -0
  49. package/dist/ws/types/index.d.ts +3 -0
  50. package/dist/ws/types/index.js +4 -0
  51. package/dist/ws/types/index.js.map +1 -0
  52. package/package.json +12 -3
  53. package/dist/index.d.ts +0 -1
  54. package/dist/index.js +0 -2
  55. package/dist/index.js.map +0 -1
  56. package/dist/rest/RestApi.js.map +0 -1
  57. package/dist/rest/fetchRestApi.js.map +0 -1
  58. package/dist/rest/index.d.ts +0 -3
  59. package/dist/rest/index.js +0 -4
  60. package/dist/rest/index.js.map +0 -1
  61. package/dist/rest/types/internal/RequiredOnly.js +0 -2
  62. package/dist/rest/types/internal/RequiredOnly.js.map +0 -1
  63. /package/dist/rest/{fetchRestApi.js → client/fetchRestApi.js} +0 -0
  64. /package/dist/rest/{RestApi.js → server/RestApi.js} +0 -0
@@ -1,3 +1,3 @@
1
- import { RestApiRequest, RestApiRoute, RestPathParams, RestQueryParams, RestRequestBody, RestRequestHeaders, RestRequestHeadersWithAuthorization, RestRequireAuthentication, RestResponseBody } from './types';
2
- import { RequiredOnly } from './types/internal/RequiredOnly';
3
- export declare function fetchRestApi<PathParams extends RestPathParams, QueryParams extends RestQueryParams, RequestHeaders extends RestRequestHeaders, RequestBody extends RestRequestBody, ResponseBody extends RestResponseBody, RequireAuthentication extends RestRequireAuthentication>(restApiUrl: string, route: RestApiRoute<PathParams, QueryParams, RequestHeaders, RequestBody, ResponseBody, RequireAuthentication>, request: RequiredOnly<RestApiRequest<PathParams, QueryParams, RestRequestHeadersWithAuthorization<RequestHeaders, RequireAuthentication>, RequestBody>>): Promise<ResponseBody>;
1
+ import { RestApiRequest, RestApiRoute, RestPathParams, RestQueryParams, RestRequestBody, RestRequestHeaders, RestRequestHeadersWithAuthorization, RestRequireAuthentication, RestResponseBody } from '../types';
2
+ import { OmitNever } from '../types/internal';
3
+ export declare function fetchRestApi<PathParams extends RestPathParams, QueryParams extends RestQueryParams, RequestHeaders extends RestRequestHeaders, RequestBody extends RestRequestBody, ResponseBody extends RestResponseBody, RequireAuthentication extends RestRequireAuthentication>(restApiUrl: string, route: RestApiRoute<PathParams, QueryParams, RequestHeaders, RequestBody, ResponseBody, RequireAuthentication>, request: OmitNever<RestApiRequest<PathParams, QueryParams, RestRequestHeadersWithAuthorization<RequestHeaders, RequireAuthentication>, RequestBody>>): Promise<ResponseBody>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchRestApi.js","sourceRoot":"","sources":["../../../src/rest/client/fetchRestApi.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,KAAK,UAAU,YAAY,CAO9B,UAAkB,EAClB,KAA8G,EAC9G,OAAoJ;IAEtJ,MAAM,UAAU,GAAG,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAwB,CAAC,CAAC,CAAC,SAAkB,CAAC;IACnG,MAAM,WAAW,GAAG,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAA0B,CAAC,CAAC,CAAC,SAAkB,CAAC;IACvG,MAAM,OAAO,GAAG,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAyB,CAAC,CAAC,CAAC,SAAkB,CAAC;IAC9F,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAmB,CAAC,CAAC,CAAC,SAAkB,CAAC;IAElF,MAAM,GAAG,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,KAAK,CACxB,GAAG,EACH;QACE,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;KACzC,CAAC,CAAC;IAEP,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QACzC,MAAM,WAAW,KAAK,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC;IAEhD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,OAAO,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QACzC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAClB,CAAC,CAAC,IAAI,CAAC;AACb,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './fetchRestApi';
@@ -0,0 +1,2 @@
1
+ export * from './fetchRestApi';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rest/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
@@ -1,4 +1,4 @@
1
- import { RestApiRequestHandler, RestApiRoute, RestPathParams, RestQueryParams, RestRequestBody, RestRequestHeaders, RestRequireAuthentication, RestResponseBody } from './types';
1
+ import { RestApiRequestHandler, RestApiRoute, RestPathParams, RestQueryParams, RestRequestBody, RestRequestHeaders, RestRequireAuthentication, RestResponseBody } from '../types';
2
2
  import { APIGatewayProxyEvent, APIGatewayProxyResult } from 'aws-lambda';
3
3
  export declare class RestApi {
4
4
  private routes;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RestApi.js","sourceRoot":"","sources":["../../../src/rest/server/RestApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './RestApi';
@@ -0,0 +1,2 @@
1
+ export * from './RestApi';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rest/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { RestPathParams, RestQueryParams, RestRequestBody, RestRequestHeaders } from './common';
2
- import { RequiredOnly } from './internal';
3
- export type RestApiRequest<PathParams extends RestPathParams = never, QueryParams extends RestQueryParams = never, RequestHeaders extends RestRequestHeaders = never, RequestBody extends RestRequestBody = never> = RequiredOnly<{
2
+ import { OmitNever } from './internal';
3
+ export type RestApiRequest<PathParams extends RestPathParams = never, QueryParams extends RestQueryParams = never, RequestHeaders extends RestRequestHeaders = never, RequestBody extends RestRequestBody = never> = OmitNever<{
4
4
  pathParams: PathParams;
5
5
  queryParams: QueryParams;
6
6
  headers: RequestHeaders;
@@ -1,6 +1,6 @@
1
1
  import { RestPathParams, RestQueryParams, RestRequestBody, RestRequestHeaders, RestRequireAuthentication } from '../common';
2
- import { RequiredOnly } from './RequiredOnly';
2
+ import { OmitNever } from '../../../types/OmitNever';
3
3
  import { RestApiRequest } from '../RestApiRequest';
4
- export type InternalRestApiRequest<PathParams extends RestPathParams = never, QueryParams extends RestQueryParams = never, RequestHeaders extends RestRequestHeaders = never, RequestBody extends RestRequestBody = never, RequireAuthentication extends RestRequireAuthentication = false> = RequiredOnly<RestApiRequest<PathParams, QueryParams, RequestHeaders, RequestBody> & {
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
5
  userId: RequireAuthentication extends true ? string : never;
6
6
  }>;
@@ -1,2 +1,2 @@
1
1
  export * from './InternalRestApiRequest';
2
- export * from './RequiredOnly';
2
+ export * from '../../../types/OmitNever';
@@ -1,3 +1,3 @@
1
1
  export * from './InternalRestApiRequest';
2
- export * from './RequiredOnly';
2
+ export * from '../../../types/OmitNever';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rest/types/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA"}
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,3 +1,3 @@
1
- export type RequiredOnly<T> = {
1
+ export type OmitNever<T> = {
2
2
  [P in keyof T as T[P] extends never ? never : P]: T[P];
3
3
  };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=OmitNever.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OmitNever.js","sourceRoot":"","sources":["../../src/types/OmitNever.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export * from './useWsApi';
@@ -0,0 +1,2 @@
1
+ export * from './useWsApi';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ws/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { WsApiResponse, WsApiRoute } from '../types';
2
+ export type WsApiOptions<Response extends WsApiResponse> = {
3
+ onConnected?: () => void;
4
+ onResponse?: (response: Response) => void;
5
+ onError?: (error: unknown) => void;
6
+ onDisconnected?: () => void;
7
+ };
8
+ export declare const useWsApi: <RouteKey extends string, Request_1 extends object, Response_1 extends object>(wsApiUrl: string, route: WsApiRoute<RouteKey, Request_1, Response_1>, options: WsApiOptions<Response_1>) => {
9
+ sendRequest: (request: Request_1) => void;
10
+ connected: boolean;
11
+ error: boolean;
12
+ disconnect: () => void;
13
+ };
@@ -0,0 +1,60 @@
1
+ import { useCallback, useEffect, useState } from 'react';
2
+ import useWebSocket, { ReadyState } from 'react-use-websocket';
3
+ export const useWsApi = (wsApiUrl, route, options) => {
4
+ const { onConnected, onResponse, onError, onDisconnected } = options;
5
+ const [error, setError] = useState(false);
6
+ const [connected, setConnected] = useState(false);
7
+ const [request, setRequest] = useState();
8
+ const handleConnected = useCallback(() => {
9
+ setConnected(true);
10
+ setError(false);
11
+ onConnected?.();
12
+ }, [onConnected]);
13
+ const handleError = useCallback((error) => {
14
+ setError(false);
15
+ onError?.(error);
16
+ }, [onError]);
17
+ const handleResponse = useCallback((response) => {
18
+ setError(false);
19
+ onResponse?.(response);
20
+ }, [onResponse]);
21
+ const handleDisconnected = useCallback(() => {
22
+ setConnected(false);
23
+ onDisconnected?.();
24
+ }, [onDisconnected]);
25
+ const { readyState, lastJsonMessage, getWebSocket, sendMessage } = useWebSocket(wsApiUrl, {
26
+ onOpen: () => handleConnected(),
27
+ onError: (error) => handleError(error),
28
+ onClose: () => handleDisconnected(),
29
+ }, !!request);
30
+ // send request
31
+ useEffect(() => {
32
+ if (request && readyState === ReadyState.OPEN) {
33
+ sendMessage(JSON.stringify({
34
+ action: route.routeKey,
35
+ request,
36
+ }));
37
+ }
38
+ }, [request, readyState, route.routeKey, sendMessage]);
39
+ // response received
40
+ useEffect(() => {
41
+ if (!lastJsonMessage || JSON.stringify(lastJsonMessage) === '{}')
42
+ return;
43
+ handleResponse(lastJsonMessage);
44
+ }, [lastJsonMessage, getWebSocket, handleResponse]);
45
+ const sendRequest = useCallback((request) => {
46
+ setConnected(true);
47
+ setRequest(request);
48
+ }, []);
49
+ const disconnect = useCallback(() => {
50
+ getWebSocket()?.close();
51
+ handleDisconnected?.();
52
+ }, [getWebSocket, handleDisconnected]);
53
+ return {
54
+ sendRequest,
55
+ connected,
56
+ error,
57
+ disconnect,
58
+ };
59
+ };
60
+ //# sourceMappingURL=useWsApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWsApi.js","sourceRoot":"","sources":["../../../src/ws/client/useWsApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { WsApiRequest, WsApiRequestHandler, WsApiResponse, WsApiRoute, WsApiRouteKey } from '../types';
2
+ import { APIGatewayProxyEvent } from 'aws-lambda';
3
+ export declare class WsApi {
4
+ private requestHandlers;
5
+ addRouteHandler<RouteKey extends WsApiRouteKey, Request extends WsApiRequest, Response extends WsApiResponse = never>(route: WsApiRoute<RouteKey, Request, Response>, requestHandler: WsApiRequestHandler<RouteKey, Request, Response>): this;
6
+ handleRequest(event: APIGatewayProxyEvent): void;
7
+ }
@@ -0,0 +1,37 @@
1
+ import { ApiGatewayManagementApiClient, DeleteConnectionCommand, PostToConnectionCommand, } from '@aws-sdk/client-apigatewaymanagementapi';
2
+ export class WsApi {
3
+ requestHandlers = {};
4
+ addRouteHandler(route, requestHandler) {
5
+ this.requestHandlers[route.routeKey] = requestHandler;
6
+ return this;
7
+ }
8
+ handleRequest(event) {
9
+ const { body } = event;
10
+ const { connectionId, domainName, stage, routeKey } = event.requestContext;
11
+ if (!connectionId)
12
+ throw 'No connectionId';
13
+ if (!domainName)
14
+ throw 'No domainName';
15
+ if (!routeKey)
16
+ throw 'No routeKey';
17
+ if (!body)
18
+ throw 'No body';
19
+ const requestHandler = this.requestHandlers[routeKey];
20
+ if (!requestHandler)
21
+ throw `No requestHandler found for routeKey ${routeKey}`;
22
+ const endpoint = `https://${domainName}/${stage}`;
23
+ const ws = new ApiGatewayManagementApiClient({ endpoint });
24
+ requestHandler(JSON.parse(body), {
25
+ sendMessage: async (message) => {
26
+ await ws.send(new PostToConnectionCommand({
27
+ ConnectionId: connectionId,
28
+ Data: JSON.stringify(message),
29
+ }));
30
+ },
31
+ closeConnection: async () => {
32
+ await ws.send(new DeleteConnectionCommand({ ConnectionId: connectionId }));
33
+ },
34
+ });
35
+ }
36
+ }
37
+ //# sourceMappingURL=WsApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WsApi.js","sourceRoot":"","sources":["../../../src/ws/server/WsApi.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,yCAAyC,CAAC;AAEjD,MAAM,OAAO,KAAK;IACR,eAAe,GAA8D,EAAE,CAAC;IAExF,eAAe,CAIb,KAA8C,EAAE,cAAgE;QAChH,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC;QAEtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,KAA2B;QACvC,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC;QACrB,MAAM,EAAC,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC,cAAc,CAAC;QAEzE,IAAI,CAAC,YAAY;YAAE,MAAM,iBAAiB,CAAC;QAC3C,IAAI,CAAC,UAAU;YAAE,MAAM,eAAe,CAAC;QACvC,IAAI,CAAC,QAAQ;YAAE,MAAM,aAAa,CAAC;QACnC,IAAI,CAAC,IAAI;YAAE,MAAM,SAAS,CAAC;QAE3B,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc;YAAE,MAAM,wCAAwC,QAAQ,EAAE,CAAC;QAE9E,MAAM,QAAQ,GAAG,WAAW,UAAU,IAAI,KAAK,EAAE,CAAC;QAClD,MAAM,EAAE,GAAG,IAAI,6BAA6B,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;QACzD,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC/B,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC7B,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC;oBACxC,YAAY,EAAE,YAAY;oBAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;iBAC9B,CAAC,CAAC,CAAC;YACN,CAAC;YACD,eAAe,EAAE,KAAK,IAAI,EAAE;gBAC1B,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,EAAC,YAAY,EAAE,YAAY,EAAC,CAAC,CAAC,CAAC;YAC3E,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ export * from './WsApi';
@@ -0,0 +1,2 @@
1
+ export * from './WsApi';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ws/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { WsApiRequest, WsApiResponse, WsApiRouteKey } from './common';
2
+ import { OmitNever } from '../../types/OmitNever';
3
+ export type WsApiRequestHandler<RouteKey extends WsApiRouteKey, Request extends WsApiRequest, Response extends WsApiResponse = never> = (request: Request & {
4
+ action: RouteKey;
5
+ }, responseActions: OmitNever<{
6
+ sendMessage: [Response] extends [never] ? never : (message: Response) => void;
7
+ closeConnection: () => void;
8
+ }>) => Promise<void>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=WsApiRequestHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WsApiRequestHandler.js","sourceRoot":"","sources":["../../../src/ws/types/WsApiRequestHandler.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { WsApiRequest, WsApiResponse, WsApiRouteKey } from './common';
2
+ export type WsApiRoute<RouteKey extends WsApiRouteKey, Request extends WsApiRequest, Response extends WsApiResponse = never> = {
3
+ routeKey: RouteKey;
4
+ __types?: {
5
+ Request: Request;
6
+ Response: Response;
7
+ };
8
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=WsApiRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WsApiRoute.js","sourceRoot":"","sources":["../../../src/ws/types/WsApiRoute.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export type WsApiRequest = object;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=WsApiRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WsApiRequest.js","sourceRoot":"","sources":["../../../../src/ws/types/common/WsApiRequest.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export type WsApiResponse = object | never;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=WsApiResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WsApiResponse.js","sourceRoot":"","sources":["../../../../src/ws/types/common/WsApiResponse.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export type WsApiRouteKey = '$connect' | '$disconnect' | '$default' | string;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=WsApiRouteKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WsApiRouteKey.js","sourceRoot":"","sources":["../../../../src/ws/types/common/WsApiRouteKey.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './WsApiRequest';
2
+ export * from './WsApiResponse';
3
+ export * from './WsApiRouteKey';
@@ -0,0 +1,4 @@
1
+ export * from './WsApiRequest';
2
+ export * from './WsApiResponse';
3
+ export * from './WsApiRouteKey';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ws/types/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './common';
2
+ export * from './WsApiRequestHandler';
3
+ export * from './WsApiRoute';
@@ -0,0 +1,4 @@
1
+ export * from './common';
2
+ export * from './WsApiRequestHandler';
3
+ export * from './WsApiRoute';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ws/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mstuercke/api-utils",
3
- "version": "0.0.22",
3
+ "version": "0.0.23",
4
4
  "main": "dist/index.js",
5
5
  "type": "module",
6
6
  "files": [
@@ -10,7 +10,12 @@
10
10
  "README.md"
11
11
  ],
12
12
  "exports": {
13
- ".": "./dist/index.js"
13
+ "rest/types": "./dist/rest/types/index.js",
14
+ "rest/client": "./dist/rest/client/index.js",
15
+ "rest/server": "./dist/rest/server/index.js",
16
+ "ws/types": "./dist/ws/types/index.js",
17
+ "ws/client": "./dist/ws/client/index.js",
18
+ "ws/server": "./dist/ws/server/index.js"
14
19
  },
15
20
  "scripts": {
16
21
  "build": "bun build.ts",
@@ -22,12 +27,16 @@
22
27
  "path-to-regexp": "^6.2.1"
23
28
  },
24
29
  "peerDependencies": {
25
- "@types/aws-lambda": "^8.0.0"
30
+ "@aws-sdk/client-apigatewaymanagementapi": "^3.438.0",
31
+ "@types/aws-lambda": "^8.0.0",
32
+ "react": "^18.2.0",
33
+ "react-use-websocket": "^4.5.0"
26
34
  },
27
35
  "devDependencies": {
28
36
  "@mstuercke/bun-utils": "^0.0.10",
29
37
  "@types/aws-lambda": "^8.10.123",
30
38
  "@types/path-to-regexp": "^1.7.0",
39
+ "@types/react": "^18.2.33",
31
40
  "bump": "^0.2.5",
32
41
  "bun-types": "^1.0.6",
33
42
  "typescript": "^5.2.2"
package/dist/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './rest';
package/dist/index.js DELETED
@@ -1,2 +0,0 @@
1
- export * from './rest';
2
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestApi.js","sourceRoot":"","sources":["../../src/rest/RestApi.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchRestApi.js","sourceRoot":"","sources":["../../src/rest/fetchRestApi.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,KAAK,UAAU,YAAY,CAO9B,UAAkB,EAClB,KAA8G,EAC9G,OAAuJ;IAEzJ,MAAM,UAAU,GAAG,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAwB,CAAC,CAAC,CAAC,SAAkB,CAAC;IACnG,MAAM,WAAW,GAAG,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAA0B,CAAC,CAAC,CAAC,SAAkB,CAAC;IACvG,MAAM,OAAO,GAAG,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAyB,CAAC,CAAC,CAAC,SAAkB,CAAC;IAC9F,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAmB,CAAC,CAAC,CAAC,SAAkB,CAAC;IAElF,MAAM,GAAG,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,KAAK,CACxB,GAAG,EACH;QACE,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;KACzC,CAAC,CAAC;IAEP,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QACzC,MAAM,WAAW,KAAK,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC;IAEhD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,OAAO,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QACzC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAClB,CAAC,CAAC,IAAI,CAAC;AACb,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './types';
2
- export * from './fetchRestApi';
3
- export * from './RestApi';
@@ -1,4 +0,0 @@
1
- export * from './types';
2
- export * from './fetchRestApi';
3
- export * from './RestApi';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rest/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=RequiredOnly.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RequiredOnly.js","sourceRoot":"","sources":["../../../../src/rest/types/internal/RequiredOnly.ts"],"names":[],"mappings":""}
File without changes