@webiny/handler-aws 0.0.0-unstable.d7f521b032 → 0.0.0-unstable.de38392959

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 (82) hide show
  1. package/createHandler.d.ts +2 -0
  2. package/createHandler.js +29 -0
  3. package/createHandler.js.map +1 -0
  4. package/dynamodb/index.d.ts +5 -8
  5. package/dynamodb/index.js +20 -30
  6. package/dynamodb/index.js.map +1 -1
  7. package/dynamodb/plugins/DynamoDBEventHandler.d.ts +6 -5
  8. package/dynamodb/plugins/DynamoDBEventHandler.js +3 -12
  9. package/dynamodb/plugins/DynamoDBEventHandler.js.map +1 -1
  10. package/dynamodb/register.d.ts +1 -0
  11. package/dynamodb/register.js +28 -0
  12. package/dynamodb/register.js.map +1 -0
  13. package/eventBridge/index.d.ts +7 -10
  14. package/eventBridge/index.js +21 -31
  15. package/eventBridge/index.js.map +1 -1
  16. package/eventBridge/plugins/EventBridgeEventHandler.d.ts +6 -5
  17. package/eventBridge/plugins/EventBridgeEventHandler.js +3 -12
  18. package/eventBridge/plugins/EventBridgeEventHandler.js.map +1 -1
  19. package/eventBridge/register.d.ts +4 -0
  20. package/eventBridge/register.js +21 -0
  21. package/eventBridge/register.js.map +1 -0
  22. package/execute.js +7 -14
  23. package/execute.js.map +1 -1
  24. package/gateway/index.d.ts +6 -10
  25. package/gateway/index.js +14 -30
  26. package/gateway/index.js.map +1 -1
  27. package/gateway/register.d.ts +1 -0
  28. package/gateway/register.js +21 -0
  29. package/gateway/register.js.map +1 -0
  30. package/index.d.ts +33 -5
  31. package/index.js +146 -29
  32. package/index.js.map +1 -1
  33. package/package.json +17 -15
  34. package/plugins/handlerClient.js +9 -18
  35. package/plugins/handlerClient.js.map +1 -1
  36. package/plugins/index.js +2 -3
  37. package/plugins/index.js.map +1 -1
  38. package/raw/index.d.ts +1 -5
  39. package/raw/index.js +15 -30
  40. package/raw/index.js.map +1 -1
  41. package/raw/plugins/RawEventHandler.d.ts +2 -2
  42. package/raw/plugins/RawEventHandler.js +6 -6
  43. package/raw/plugins/RawEventHandler.js.map +1 -1
  44. package/registry.d.ts +11 -0
  45. package/registry.js +38 -0
  46. package/registry.js.map +1 -0
  47. package/s3/index.d.ts +7 -9
  48. package/s3/index.js +23 -33
  49. package/s3/index.js.map +1 -1
  50. package/s3/plugins/S3EventHandler.d.ts +6 -5
  51. package/s3/plugins/S3EventHandler.js +3 -12
  52. package/s3/plugins/S3EventHandler.js.map +1 -1
  53. package/s3/register.d.ts +4 -0
  54. package/s3/register.js +25 -0
  55. package/s3/register.js.map +1 -0
  56. package/sns/index.d.ts +9 -0
  57. package/sns/index.js +77 -0
  58. package/sns/index.js.map +1 -0
  59. package/sns/plugins/SNSEventHandler.d.ts +20 -0
  60. package/sns/plugins/SNSEventHandler.js +21 -0
  61. package/sns/plugins/SNSEventHandler.js.map +1 -0
  62. package/sns/register.d.ts +1 -0
  63. package/sns/register.js +25 -0
  64. package/sns/register.js.map +1 -0
  65. package/sourceHandler.d.ts +2 -0
  66. package/sourceHandler.js +12 -0
  67. package/sourceHandler.js.map +1 -0
  68. package/sqs/index.d.ts +7 -9
  69. package/sqs/index.js +23 -33
  70. package/sqs/index.js.map +1 -1
  71. package/sqs/plugins/SQSEventHandler.d.ts +6 -5
  72. package/sqs/plugins/SQSEventHandler.js +3 -12
  73. package/sqs/plugins/SQSEventHandler.js.map +1 -1
  74. package/sqs/register.d.ts +1 -0
  75. package/sqs/register.js +28 -0
  76. package/sqs/register.js.map +1 -0
  77. package/types.d.ts +25 -1
  78. package/types.js +37 -9
  79. package/types.js.map +1 -1
  80. package/utils/composedHandler.d.ts +6 -0
  81. package/utils/composedHandler.js +24 -0
  82. package/utils/composedHandler.js.map +1 -0
package/execute.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["createHandleResponse","app","resolve","err","result","statusCode","body","JSON","stringify","headers","__webiny_raw_result","isBase64Encoded","Base64EncodeHeader","encoded","binary","response","rawPayload","toString","payload","getPayloadProperty","prop","defaults","value","execute","params","url","query","cookies","Promise","inject","method"],"sources":["execute.ts"],"sourcesContent":["import { FastifyInstance } from \"@webiny/handler/types\";\nimport { APIGatewayProxyResult } from \"aws-lambda/trigger/api-gateway-proxy\";\nimport { LightMyRequestCallback } from \"fastify\";\nimport { Base64EncodeHeader } from \"~/types\";\n\ninterface Resolve {\n (response: APIGatewayProxyResult | any): void;\n}\nconst createHandleResponse = (app: FastifyInstance, resolve: Resolve): LightMyRequestCallback => {\n return (err, result) => {\n if (err) {\n return resolve({\n statusCode: 500,\n body: JSON.stringify(err),\n headers: {}\n });\n }\n if (app.__webiny_raw_result) {\n return resolve(app.__webiny_raw_result);\n }\n const isBase64Encoded =\n !!result.headers[Base64EncodeHeader.encoded] ||\n !!result.headers[Base64EncodeHeader.binary];\n const response: APIGatewayProxyResult = {\n statusCode: result.statusCode,\n body: isBase64Encoded ? result.rawPayload.toString(\"base64\") : result.payload,\n headers: result.headers as APIGatewayProxyResult[\"headers\"],\n isBase64Encoded\n };\n return resolve(response);\n };\n};\n\nconst getPayloadProperty = (\n payload: any,\n prop: string,\n defaults: Record<string, any> = {}\n): Record<string, any> => {\n if (typeof payload === \"object\") {\n const value = payload[prop] ? payload[prop] : {};\n\n return {\n ...defaults,\n ...value\n };\n }\n return defaults;\n};\n\nexport interface ExecuteParams {\n app: FastifyInstance;\n url: string;\n payload: any;\n}\n\nexport const execute = (params: ExecuteParams): Promise<any> => {\n const { app, url, payload } = params;\n\n const query = getPayloadProperty(payload, \"query\", {});\n const headers = getPayloadProperty(payload, \"headers\", {\n [\"content-type\"]: \"application/json\"\n });\n const cookies = getPayloadProperty(payload, \"cookies\", {});\n\n return new Promise(resolve => {\n app.inject(\n {\n method: \"POST\",\n url,\n payload: payload || {},\n query,\n headers,\n cookies\n },\n createHandleResponse(app, resolve)\n );\n });\n};\n"],"mappings":";;;;;;;;;;;AAGA;;AAKA,MAAMA,oBAAoB,GAAG,CAACC,GAAD,EAAuBC,OAAvB,KAAoE;EAC7F,OAAO,CAACC,GAAD,EAAMC,MAAN,KAAiB;IACpB,IAAID,GAAJ,EAAS;MACL,OAAOD,OAAO,CAAC;QACXG,UAAU,EAAE,GADD;QAEXC,IAAI,EAAEC,IAAI,CAACC,SAAL,CAAeL,GAAf,CAFK;QAGXM,OAAO,EAAE;MAHE,CAAD,CAAd;IAKH;;IACD,IAAIR,GAAG,CAACS,mBAAR,EAA6B;MACzB,OAAOR,OAAO,CAACD,GAAG,CAACS,mBAAL,CAAd;IACH;;IACD,MAAMC,eAAe,GACjB,CAAC,CAACP,MAAM,CAACK,OAAP,CAAeG,yBAAA,CAAmBC,OAAlC,CAAF,IACA,CAAC,CAACT,MAAM,CAACK,OAAP,CAAeG,yBAAA,CAAmBE,MAAlC,CAFN;IAGA,MAAMC,QAA+B,GAAG;MACpCV,UAAU,EAAED,MAAM,CAACC,UADiB;MAEpCC,IAAI,EAAEK,eAAe,GAAGP,MAAM,CAACY,UAAP,CAAkBC,QAAlB,CAA2B,QAA3B,CAAH,GAA0Cb,MAAM,CAACc,OAFlC;MAGpCT,OAAO,EAAEL,MAAM,CAACK,OAHoB;MAIpCE;IAJoC,CAAxC;IAMA,OAAOT,OAAO,CAACa,QAAD,CAAd;EACH,CArBD;AAsBH,CAvBD;;AAyBA,MAAMI,kBAAkB,GAAG,CACvBD,OADuB,EAEvBE,IAFuB,EAGvBC,QAA6B,GAAG,EAHT,KAID;EACtB,IAAI,OAAOH,OAAP,KAAmB,QAAvB,EAAiC;IAC7B,MAAMI,KAAK,GAAGJ,OAAO,CAACE,IAAD,CAAP,GAAgBF,OAAO,CAACE,IAAD,CAAvB,GAAgC,EAA9C;IAEA,mEACOC,QADP,GAEOC,KAFP;EAIH;;EACD,OAAOD,QAAP;AACH,CAdD;;AAsBO,MAAME,OAAO,GAAIC,MAAD,IAAyC;EAC5D,MAAM;IAAEvB,GAAF;IAAOwB,GAAP;IAAYP;EAAZ,IAAwBM,MAA9B;EAEA,MAAME,KAAK,GAAGP,kBAAkB,CAACD,OAAD,EAAU,OAAV,EAAmB,EAAnB,CAAhC;EACA,MAAMT,OAAO,GAAGU,kBAAkB,CAACD,OAAD,EAAU,SAAV,EAAqB;IACnD,CAAC,cAAD,GAAkB;EADiC,CAArB,CAAlC;EAGA,MAAMS,OAAO,GAAGR,kBAAkB,CAACD,OAAD,EAAU,SAAV,EAAqB,EAArB,CAAlC;EAEA,OAAO,IAAIU,OAAJ,CAAY1B,OAAO,IAAI;IAC1BD,GAAG,CAAC4B,MAAJ,CACI;MACIC,MAAM,EAAE,MADZ;MAEIL,GAFJ;MAGIP,OAAO,EAAEA,OAAO,IAAI,EAHxB;MAIIQ,KAJJ;MAKIjB,OALJ;MAMIkB;IANJ,CADJ,EASI3B,oBAAoB,CAACC,GAAD,EAAMC,OAAN,CATxB;EAWH,CAZM,CAAP;AAaH,CAtBM"}
1
+ {"version":3,"names":["_types","require","createHandleResponse","app","resolve","err","result","statusCode","body","JSON","stringify","headers","__webiny_raw_result","isBase64Encoded","Base64EncodeHeader","encoded","binary","response","rawPayload","toString","payload","getPayloadProperty","prop","defaults","value","execute","params","url","query","cookies","Promise","inject","method","exports"],"sources":["execute.ts"],"sourcesContent":["import { FastifyInstance } from \"@webiny/handler/types\";\nimport { APIGatewayProxyResult } from \"aws-lambda/trigger/api-gateway-proxy\";\nimport { LightMyRequestCallback } from \"fastify\";\nimport { Base64EncodeHeader } from \"~/types\";\n\ninterface Resolve {\n (response: APIGatewayProxyResult | any): void;\n}\nconst createHandleResponse = (app: FastifyInstance, resolve: Resolve): LightMyRequestCallback => {\n return (err, result) => {\n if (err) {\n return resolve({\n statusCode: 500,\n body: JSON.stringify(err),\n headers: {}\n });\n }\n if (app.__webiny_raw_result) {\n return resolve(app.__webiny_raw_result);\n }\n const isBase64Encoded =\n !!result.headers[Base64EncodeHeader.encoded] ||\n !!result.headers[Base64EncodeHeader.binary];\n const response: APIGatewayProxyResult = {\n statusCode: result.statusCode,\n body: isBase64Encoded ? result.rawPayload.toString(\"base64\") : result.payload,\n headers: result.headers as APIGatewayProxyResult[\"headers\"],\n isBase64Encoded\n };\n return resolve(response);\n };\n};\n\nconst getPayloadProperty = (\n payload: any,\n prop: string,\n defaults: Record<string, any> = {}\n): Record<string, any> => {\n if (payload && typeof payload === \"object\") {\n const value = payload[prop] ? payload[prop] : {};\n\n return {\n ...defaults,\n ...value\n };\n }\n return defaults;\n};\n\nexport interface ExecuteParams {\n app: FastifyInstance;\n url: string;\n payload: any;\n}\n\nexport const execute = (params: ExecuteParams): Promise<any> => {\n const { app, url, payload } = params;\n\n const query = getPayloadProperty(payload, \"query\", {});\n const headers = getPayloadProperty(payload, \"headers\", {\n [\"content-type\"]: \"application/json\"\n });\n const cookies = getPayloadProperty(payload, \"cookies\", {});\n\n return new Promise(resolve => {\n app.inject(\n {\n method: \"POST\",\n url,\n payload: payload || {},\n query,\n headers,\n cookies\n },\n createHandleResponse(app, resolve)\n );\n });\n};\n"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,MAAMC,oBAAoB,GAAGA,CAACC,GAAoB,EAAEC,OAAgB,KAA6B;EAC7F,OAAO,CAACC,GAAG,EAAEC,MAAM,KAAK;IACpB,IAAID,GAAG,EAAE;MACL,OAAOD,OAAO,CAAC;QACXG,UAAU,EAAE,GAAG;QACfC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAACL,GAAG,CAAC;QACzBM,OAAO,EAAE,CAAC;MACd,CAAC,CAAC;IACN;IACA,IAAIR,GAAG,CAACS,mBAAmB,EAAE;MACzB,OAAOR,OAAO,CAACD,GAAG,CAACS,mBAAmB,CAAC;IAC3C;IACA,MAAMC,eAAe,GACjB,CAAC,CAACP,MAAM,CAACK,OAAO,CAACG,yBAAkB,CAACC,OAAO,CAAC,IAC5C,CAAC,CAACT,MAAM,CAACK,OAAO,CAACG,yBAAkB,CAACE,MAAM,CAAC;IAC/C,MAAMC,QAA+B,GAAG;MACpCV,UAAU,EAAED,MAAM,CAACC,UAAU;MAC7BC,IAAI,EAAEK,eAAe,GAAGP,MAAM,CAACY,UAAU,CAACC,QAAQ,CAAC,QAAQ,CAAC,GAAGb,MAAM,CAACc,OAAO;MAC7ET,OAAO,EAAEL,MAAM,CAACK,OAA2C;MAC3DE;IACJ,CAAC;IACD,OAAOT,OAAO,CAACa,QAAQ,CAAC;EAC5B,CAAC;AACL,CAAC;AAED,MAAMI,kBAAkB,GAAGA,CACvBD,OAAY,EACZE,IAAY,EACZC,QAA6B,GAAG,CAAC,CAAC,KACZ;EACtB,IAAIH,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;IACxC,MAAMI,KAAK,GAAGJ,OAAO,CAACE,IAAI,CAAC,GAAGF,OAAO,CAACE,IAAI,CAAC,GAAG,CAAC,CAAC;IAEhD,OAAO;MACH,GAAGC,QAAQ;MACX,GAAGC;IACP,CAAC;EACL;EACA,OAAOD,QAAQ;AACnB,CAAC;AAQM,MAAME,OAAO,GAAIC,MAAqB,IAAmB;EAC5D,MAAM;IAAEvB,GAAG;IAAEwB,GAAG;IAAEP;EAAQ,CAAC,GAAGM,MAAM;EAEpC,MAAME,KAAK,GAAGP,kBAAkB,CAACD,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;EACtD,MAAMT,OAAO,GAAGU,kBAAkB,CAACD,OAAO,EAAE,SAAS,EAAE;IACnD,CAAC,cAAc,GAAG;EACtB,CAAC,CAAC;EACF,MAAMS,OAAO,GAAGR,kBAAkB,CAACD,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;EAE1D,OAAO,IAAIU,OAAO,CAAC1B,OAAO,IAAI;IAC1BD,GAAG,CAAC4B,MAAM,CACN;MACIC,MAAM,EAAE,MAAM;MACdL,GAAG;MACHP,OAAO,EAAEA,OAAO,IAAI,CAAC,CAAC;MACtBQ,KAAK;MACLjB,OAAO;MACPkB;IACJ,CAAC,EACD3B,oBAAoB,CAACC,GAAG,EAAEC,OAAO,CACrC,CAAC;EACL,CAAC,CAAC;AACN,CAAC;AAAC6B,OAAA,CAAAR,OAAA,GAAAA,OAAA"}
@@ -1,14 +1,10 @@
1
- import { LambdaFastifyOptions as LambdaOptions, LambdaResponse } from "@fastify/aws-lambda";
1
+ import { LambdaResponse } from "@fastify/aws-lambda";
2
+ import { createRoute, RoutePlugin } from "@webiny/handler";
2
3
  import { APIGatewayEvent, Context as LambdaContext } from "aws-lambda";
3
- import { CreateHandlerParams as BaseCreateHandlerParams, RoutePlugin, createRoute } from "@webiny/handler";
4
+ import { HandlerFactoryParams } from "../types";
5
+ export { RoutePlugin, createRoute };
6
+ export declare type HandlerParams = HandlerFactoryParams;
4
7
  export interface HandlerCallable {
5
8
  (event: APIGatewayEvent, ctx: LambdaContext): Promise<LambdaResponse>;
6
9
  }
7
- export interface CreateHandlerParams extends BaseCreateHandlerParams {
8
- http?: {
9
- debug?: boolean;
10
- };
11
- lambdaOptions?: LambdaOptions;
12
- }
13
- export declare const createHandler: (params: CreateHandlerParams) => HandlerCallable;
14
- export { RoutePlugin, createRoute };
10
+ export declare const createHandler: (params: HandlerParams) => HandlerCallable;
package/gateway/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -18,35 +17,24 @@ Object.defineProperty(exports, "createRoute", {
18
17
  return _handler.createRoute;
19
18
  }
20
19
  });
21
-
22
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
23
-
24
20
  var _awsLambda = _interopRequireDefault(require("@fastify/aws-lambda"));
25
-
26
21
  var _handler = require("@webiny/handler");
27
-
28
22
  var _plugins = require("../plugins");
29
-
30
23
  var _types = require("../types");
31
-
32
24
  const getHeader = (headers, header) => {
33
25
  for (const key in headers) {
34
26
  if (key.toLowerCase() !== header) {
35
27
  continue;
36
28
  }
37
-
38
29
  return headers[key];
39
30
  }
40
-
41
31
  return undefined;
42
32
  };
43
-
44
33
  const defaultContentType = "application/json";
45
34
  const defaultCharset = "utf-8";
46
35
  /**
47
36
  * We need to attach default headers to the request, so it does not break if there is none sent.
48
37
  */
49
-
50
38
  const attachRequiredProperties = event => {
51
39
  /**
52
40
  * A possibility that headers are not defined?
@@ -55,14 +43,12 @@ const attachRequiredProperties = event => {
55
43
  if (!event.headers) {
56
44
  event.headers = {};
57
45
  }
58
-
59
46
  const contentType = getHeader(event.headers, "content-type");
60
47
  /**
61
48
  * We check the existing content type and add the default one if it does not exist.
62
49
  *
63
50
  * Also, if the content-type is the application/json, and the body is not sent, we add it.
64
51
  */
65
-
66
52
  if (!contentType) {
67
53
  event.headers["content-type"] = [defaultContentType, `charset=${defaultCharset}`].join(";");
68
54
  event.body = "{}";
@@ -70,37 +56,35 @@ const attachRequiredProperties = event => {
70
56
  event.body = "{}";
71
57
  }
72
58
  };
73
-
74
59
  const createHandler = params => {
75
- return (event, context) => {
76
- var _params$http;
77
-
78
- const app = (0, _handler.createHandler)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
79
- options: (0, _objectSpread2.default)({
80
- logger: ((_params$http = params.http) === null || _params$http === void 0 ? void 0 : _params$http.debug) === true
81
- }, params.options || {})
82
- }));
60
+ return async (event, context) => {
61
+ const app = (0, _handler.createHandler)({
62
+ ...params,
63
+ options: {
64
+ logger: params.debug === true,
65
+ ...(params.options || {})
66
+ }
67
+ });
83
68
  /**
84
69
  * We always must add our default plugins to the app.
85
70
  */
86
-
87
71
  (0, _plugins.registerDefaultPlugins)(app.webiny);
88
-
89
72
  if (app.webiny.plugins.byType(_handler.RoutePlugin.type).length === 0) {
90
73
  throw new Error(`To run @webiny/handler-aws/gateway, you must have at least one RoutePlugin set.`);
91
74
  }
92
-
93
75
  attachRequiredProperties(event);
94
- const appLambda = (0, _awsLambda.default)(app, (0, _objectSpread2.default)({
76
+ const appLambda = (0, _awsLambda.default)(app, {
95
77
  decorateRequest: true,
96
78
  serializeLambdaArguments: true,
97
79
  decorationPropertyName: "awsLambda",
98
80
  enforceBase64: response => {
99
81
  return !!response.headers[_types.Base64EncodeHeader.encoded] || !!response.headers[_types.Base64EncodeHeader.binary];
100
- }
101
- }, params.lambdaOptions || {}));
82
+ },
83
+ ...(params.lambdaOptions || {})
84
+ });
102
85
  return appLambda(event, context);
103
86
  };
104
87
  };
88
+ exports.createHandler = createHandler;
105
89
 
106
- exports.createHandler = createHandler;
90
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getHeader","headers","header","key","toLowerCase","undefined","defaultContentType","defaultCharset","attachRequiredProperties","event","contentType","join","body","startsWith","createHandler","params","context","app","createBaseHandler","options","logger","http","debug","registerDefaultPlugins","webiny","plugins","byType","RoutePlugin","type","length","Error","appLambda","awsLambdaFastify","decorateRequest","serializeLambdaArguments","decorationPropertyName","enforceBase64","response","Base64EncodeHeader","encoded","binary","lambdaOptions"],"sources":["index.ts"],"sourcesContent":["import awsLambdaFastify, {\n LambdaFastifyOptions as LambdaOptions,\n LambdaResponse\n} from \"@fastify/aws-lambda\";\nimport { APIGatewayEvent, Context as LambdaContext } from \"aws-lambda\";\nimport {\n createHandler as createBaseHandler,\n CreateHandlerParams as BaseCreateHandlerParams,\n RoutePlugin,\n createRoute\n} from \"@webiny/handler\";\nimport { registerDefaultPlugins } from \"~/plugins\";\nimport { Base64EncodeHeader } from \"~/types\";\nimport { APIGatewayProxyEventHeaders } from \"aws-lambda/trigger/api-gateway-proxy\";\n\nexport interface HandlerCallable {\n (event: APIGatewayEvent, ctx: LambdaContext): Promise<LambdaResponse>;\n}\n\nexport interface CreateHandlerParams extends BaseCreateHandlerParams {\n http?: {\n debug?: boolean;\n };\n lambdaOptions?: LambdaOptions;\n}\n\nconst getHeader = (headers: APIGatewayProxyEventHeaders, header: string): string | undefined => {\n for (const key in headers) {\n if (key.toLowerCase() !== header) {\n continue;\n }\n return headers[key];\n }\n return undefined;\n};\n\nconst defaultContentType = \"application/json\";\nconst defaultCharset = \"utf-8\";\n/**\n * We need to attach default headers to the request, so it does not break if there is none sent.\n */\nconst attachRequiredProperties = (event: APIGatewayEvent): void => {\n /**\n * A possibility that headers are not defined?\n * Maybe during testing?\n */\n if (!event.headers) {\n event.headers = {};\n }\n const contentType = getHeader(event.headers, \"content-type\");\n /**\n * We check the existing content type and add the default one if it does not exist.\n *\n * Also, if the content-type is the application/json, and the body is not sent, we add it.\n */\n if (!contentType) {\n event.headers[\"content-type\"] = [defaultContentType, `charset=${defaultCharset}`].join(\";\");\n event.body = \"{}\";\n } else if (!event.body && contentType.startsWith(defaultContentType)) {\n event.body = \"{}\";\n }\n};\n\nexport const createHandler = (params: CreateHandlerParams): HandlerCallable => {\n return (event, context) => {\n const app = createBaseHandler({\n ...params,\n options: {\n logger: params.http?.debug === true,\n ...(params.options || {})\n }\n });\n /**\n * We always must add our default plugins to the app.\n */\n registerDefaultPlugins(app.webiny);\n\n if (app.webiny.plugins.byType<RoutePlugin>(RoutePlugin.type).length === 0) {\n throw new Error(\n `To run @webiny/handler-aws/gateway, you must have at least one RoutePlugin set.`\n );\n }\n attachRequiredProperties(event);\n\n const appLambda = awsLambdaFastify(app, {\n decorateRequest: true,\n serializeLambdaArguments: true,\n decorationPropertyName: \"awsLambda\",\n enforceBase64: response => {\n return (\n !!response.headers[Base64EncodeHeader.encoded] ||\n !!response.headers[Base64EncodeHeader.binary]\n );\n },\n ...(params.lambdaOptions || {})\n });\n return appLambda(event, context);\n };\n};\n\nexport { RoutePlugin, createRoute };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAKA;;AAMA;;AACA;;AAcA,MAAMA,SAAS,GAAG,CAACC,OAAD,EAAuCC,MAAvC,KAA8E;EAC5F,KAAK,MAAMC,GAAX,IAAkBF,OAAlB,EAA2B;IACvB,IAAIE,GAAG,CAACC,WAAJ,OAAsBF,MAA1B,EAAkC;MAC9B;IACH;;IACD,OAAOD,OAAO,CAACE,GAAD,CAAd;EACH;;EACD,OAAOE,SAAP;AACH,CARD;;AAUA,MAAMC,kBAAkB,GAAG,kBAA3B;AACA,MAAMC,cAAc,GAAG,OAAvB;AACA;AACA;AACA;;AACA,MAAMC,wBAAwB,GAAIC,KAAD,IAAkC;EAC/D;AACJ;AACA;AACA;EACI,IAAI,CAACA,KAAK,CAACR,OAAX,EAAoB;IAChBQ,KAAK,CAACR,OAAN,GAAgB,EAAhB;EACH;;EACD,MAAMS,WAAW,GAAGV,SAAS,CAACS,KAAK,CAACR,OAAP,EAAgB,cAAhB,CAA7B;EACA;AACJ;AACA;AACA;AACA;;EACI,IAAI,CAACS,WAAL,EAAkB;IACdD,KAAK,CAACR,OAAN,CAAc,cAAd,IAAgC,CAACK,kBAAD,EAAsB,WAAUC,cAAe,EAA/C,EAAkDI,IAAlD,CAAuD,GAAvD,CAAhC;IACAF,KAAK,CAACG,IAAN,GAAa,IAAb;EACH,CAHD,MAGO,IAAI,CAACH,KAAK,CAACG,IAAP,IAAeF,WAAW,CAACG,UAAZ,CAAuBP,kBAAvB,CAAnB,EAA+D;IAClEG,KAAK,CAACG,IAAN,GAAa,IAAb;EACH;AACJ,CApBD;;AAsBO,MAAME,aAAa,GAAIC,MAAD,IAAkD;EAC3E,OAAO,CAACN,KAAD,EAAQO,OAAR,KAAoB;IAAA;;IACvB,MAAMC,GAAG,GAAG,IAAAC,sBAAA,8DACLH,MADK;MAERI,OAAO;QACHC,MAAM,EAAE,iBAAAL,MAAM,CAACM,IAAP,8DAAaC,KAAb,MAAuB;MAD5B,GAECP,MAAM,CAACI,OAAP,IAAkB,EAFnB;IAFC,GAAZ;IAOA;AACR;AACA;;IACQ,IAAAI,+BAAA,EAAuBN,GAAG,CAACO,MAA3B;;IAEA,IAAIP,GAAG,CAACO,MAAJ,CAAWC,OAAX,CAAmBC,MAAnB,CAAuCC,oBAAA,CAAYC,IAAnD,EAAyDC,MAAzD,KAAoE,CAAxE,EAA2E;MACvE,MAAM,IAAIC,KAAJ,CACD,iFADC,CAAN;IAGH;;IACDtB,wBAAwB,CAACC,KAAD,CAAxB;IAEA,MAAMsB,SAAS,GAAG,IAAAC,kBAAA,EAAiBf,GAAjB;MACdgB,eAAe,EAAE,IADH;MAEdC,wBAAwB,EAAE,IAFZ;MAGdC,sBAAsB,EAAE,WAHV;MAIdC,aAAa,EAAEC,QAAQ,IAAI;QACvB,OACI,CAAC,CAACA,QAAQ,CAACpC,OAAT,CAAiBqC,yBAAA,CAAmBC,OAApC,CAAF,IACA,CAAC,CAACF,QAAQ,CAACpC,OAAT,CAAiBqC,yBAAA,CAAmBE,MAApC,CAFN;MAIH;IATa,GAUVzB,MAAM,CAAC0B,aAAP,IAAwB,EAVd,EAAlB;IAYA,OAAOV,SAAS,CAACtB,KAAD,EAAQO,OAAR,CAAhB;EACH,CAjCD;AAkCH,CAnCM"}
1
+ {"version":3,"names":["_awsLambda","_interopRequireDefault","require","_handler","_plugins","_types","getHeader","headers","header","key","toLowerCase","undefined","defaultContentType","defaultCharset","attachRequiredProperties","event","contentType","join","body","startsWith","createHandler","params","context","app","createBaseHandler","options","logger","debug","registerDefaultPlugins","webiny","plugins","byType","RoutePlugin","type","length","Error","appLambda","awsLambdaFastify","decorateRequest","serializeLambdaArguments","decorationPropertyName","enforceBase64","response","Base64EncodeHeader","encoded","binary","lambdaOptions","exports"],"sources":["index.ts"],"sourcesContent":["import awsLambdaFastify, { LambdaResponse } from \"@fastify/aws-lambda\";\nimport { createHandler as createBaseHandler, createRoute, RoutePlugin } from \"@webiny/handler\";\nimport { APIGatewayEvent, Context as LambdaContext } from \"aws-lambda\";\nimport { registerDefaultPlugins } from \"~/plugins\";\nimport { Base64EncodeHeader, HandlerFactoryParams } from \"~/types\";\nimport { APIGatewayProxyEventHeaders } from \"aws-lambda/trigger/api-gateway-proxy\";\n\nexport { RoutePlugin, createRoute };\n\nexport type HandlerParams = HandlerFactoryParams;\n\nexport interface HandlerCallable {\n (event: APIGatewayEvent, ctx: LambdaContext): Promise<LambdaResponse>;\n}\n\nconst getHeader = (headers: APIGatewayProxyEventHeaders, header: string): string | undefined => {\n for (const key in headers) {\n if (key.toLowerCase() !== header) {\n continue;\n }\n return headers[key];\n }\n return undefined;\n};\n\nconst defaultContentType = \"application/json\";\nconst defaultCharset = \"utf-8\";\n/**\n * We need to attach default headers to the request, so it does not break if there is none sent.\n */\nconst attachRequiredProperties = (event: APIGatewayEvent): void => {\n /**\n * A possibility that headers are not defined?\n * Maybe during testing?\n */\n if (!event.headers) {\n event.headers = {};\n }\n const contentType = getHeader(event.headers, \"content-type\");\n /**\n * We check the existing content type and add the default one if it does not exist.\n *\n * Also, if the content-type is the application/json, and the body is not sent, we add it.\n */\n if (!contentType) {\n event.headers[\"content-type\"] = [defaultContentType, `charset=${defaultCharset}`].join(\";\");\n event.body = \"{}\";\n } else if (!event.body && contentType.startsWith(defaultContentType)) {\n event.body = \"{}\";\n }\n};\n\nexport const createHandler = (params: HandlerParams): HandlerCallable => {\n return async (event, context) => {\n const app = createBaseHandler({\n ...params,\n options: {\n logger: params.debug === true,\n ...(params.options || {})\n }\n });\n /**\n * We always must add our default plugins to the app.\n */\n registerDefaultPlugins(app.webiny);\n\n if (app.webiny.plugins.byType<RoutePlugin>(RoutePlugin.type).length === 0) {\n throw new Error(\n `To run @webiny/handler-aws/gateway, you must have at least one RoutePlugin set.`\n );\n }\n attachRequiredProperties(event);\n\n const appLambda = awsLambdaFastify(app, {\n decorateRequest: true,\n serializeLambdaArguments: true,\n decorationPropertyName: \"awsLambda\",\n enforceBase64: response => {\n return (\n !!response.headers[Base64EncodeHeader.encoded] ||\n !!response.headers[Base64EncodeHeader.binary]\n );\n },\n ...(params.lambdaOptions || {})\n });\n return appLambda(event, context);\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAWA,MAAMI,SAAS,GAAGA,CAACC,OAAoC,EAAEC,MAAc,KAAyB;EAC5F,KAAK,MAAMC,GAAG,IAAIF,OAAO,EAAE;IACvB,IAAIE,GAAG,CAACC,WAAW,CAAC,CAAC,KAAKF,MAAM,EAAE;MAC9B;IACJ;IACA,OAAOD,OAAO,CAACE,GAAG,CAAC;EACvB;EACA,OAAOE,SAAS;AACpB,CAAC;AAED,MAAMC,kBAAkB,GAAG,kBAAkB;AAC7C,MAAMC,cAAc,GAAG,OAAO;AAC9B;AACA;AACA;AACA,MAAMC,wBAAwB,GAAIC,KAAsB,IAAW;EAC/D;AACJ;AACA;AACA;EACI,IAAI,CAACA,KAAK,CAACR,OAAO,EAAE;IAChBQ,KAAK,CAACR,OAAO,GAAG,CAAC,CAAC;EACtB;EACA,MAAMS,WAAW,GAAGV,SAAS,CAACS,KAAK,CAACR,OAAO,EAAE,cAAc,CAAC;EAC5D;AACJ;AACA;AACA;AACA;EACI,IAAI,CAACS,WAAW,EAAE;IACdD,KAAK,CAACR,OAAO,CAAC,cAAc,CAAC,GAAG,CAACK,kBAAkB,EAAG,WAAUC,cAAe,EAAC,CAAC,CAACI,IAAI,CAAC,GAAG,CAAC;IAC3FF,KAAK,CAACG,IAAI,GAAG,IAAI;EACrB,CAAC,MAAM,IAAI,CAACH,KAAK,CAACG,IAAI,IAAIF,WAAW,CAACG,UAAU,CAACP,kBAAkB,CAAC,EAAE;IAClEG,KAAK,CAACG,IAAI,GAAG,IAAI;EACrB;AACJ,CAAC;AAEM,MAAME,aAAa,GAAIC,MAAqB,IAAsB;EACrE,OAAO,OAAON,KAAK,EAAEO,OAAO,KAAK;IAC7B,MAAMC,GAAG,GAAG,IAAAC,sBAAiB,EAAC;MAC1B,GAAGH,MAAM;MACTI,OAAO,EAAE;QACLC,MAAM,EAAEL,MAAM,CAACM,KAAK,KAAK,IAAI;QAC7B,IAAIN,MAAM,CAACI,OAAO,IAAI,CAAC,CAAC;MAC5B;IACJ,CAAC,CAAC;IACF;AACR;AACA;IACQ,IAAAG,+BAAsB,EAACL,GAAG,CAACM,MAAM,CAAC;IAElC,IAAIN,GAAG,CAACM,MAAM,CAACC,OAAO,CAACC,MAAM,CAAcC,oBAAW,CAACC,IAAI,CAAC,CAACC,MAAM,KAAK,CAAC,EAAE;MACvE,MAAM,IAAIC,KAAK,CACV,iFACL,CAAC;IACL;IACArB,wBAAwB,CAACC,KAAK,CAAC;IAE/B,MAAMqB,SAAS,GAAG,IAAAC,kBAAgB,EAACd,GAAG,EAAE;MACpCe,eAAe,EAAE,IAAI;MACrBC,wBAAwB,EAAE,IAAI;MAC9BC,sBAAsB,EAAE,WAAW;MACnCC,aAAa,EAAEC,QAAQ,IAAI;QACvB,OACI,CAAC,CAACA,QAAQ,CAACnC,OAAO,CAACoC,yBAAkB,CAACC,OAAO,CAAC,IAC9C,CAAC,CAACF,QAAQ,CAACnC,OAAO,CAACoC,yBAAkB,CAACE,MAAM,CAAC;MAErD,CAAC;MACD,IAAIxB,MAAM,CAACyB,aAAa,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,OAAOV,SAAS,CAACrB,KAAK,EAAEO,OAAO,CAAC;EACpC,CAAC;AACL,CAAC;AAACyB,OAAA,CAAA3B,aAAA,GAAAA,aAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var _registry = require("../registry");
4
+ var _sourceHandler = require("../sourceHandler");
5
+ var _index = require("./index");
6
+ const handler = (0, _sourceHandler.createSourceHandler)({
7
+ name: "handler-aws-api-gateway",
8
+ canUse: event => {
9
+ return !!event.httpMethod;
10
+ },
11
+ handle: async ({
12
+ params,
13
+ event,
14
+ context
15
+ }) => {
16
+ return (0, _index.createHandler)(params)(event, context);
17
+ }
18
+ });
19
+ _registry.registry.register(handler);
20
+
21
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_registry","require","_sourceHandler","_index","handler","createSourceHandler","name","canUse","event","httpMethod","handle","params","context","createHandler","registry","register"],"sources":["register.ts"],"sourcesContent":["import { registry } from \"~/registry\";\nimport { APIGatewayEvent } from \"aws-lambda\";\nimport { createSourceHandler } from \"~/sourceHandler\";\nimport { createHandler, HandlerParams } from \"./index\";\n\nconst handler = createSourceHandler<APIGatewayEvent, HandlerParams>({\n name: \"handler-aws-api-gateway\",\n canUse: event => {\n return !!event.httpMethod;\n },\n handle: async ({ params, event, context }) => {\n return createHandler(params)(event, context);\n }\n});\n\nregistry.register(handler);\n"],"mappings":";;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,MAAMG,OAAO,GAAG,IAAAC,kCAAmB,EAAiC;EAChEC,IAAI,EAAE,yBAAyB;EAC/BC,MAAM,EAAEC,KAAK,IAAI;IACb,OAAO,CAAC,CAACA,KAAK,CAACC,UAAU;EAC7B,CAAC;EACDC,MAAM,EAAE,MAAAA,CAAO;IAAEC,MAAM;IAAEH,KAAK;IAAEI;EAAQ,CAAC,KAAK;IAC1C,OAAO,IAAAC,oBAAa,EAACF,MAAM,CAAC,CAACH,KAAK,EAAEI,OAAO,CAAC;EAChD;AACJ,CAAC,CAAC;AAEFE,kBAAQ,CAACC,QAAQ,CAACX,OAAO,CAAC"}
package/index.d.ts CHANGED
@@ -1,6 +1,34 @@
1
- export { createHandler as createApiGatewayHandler, CreateHandlerParams as CreateApiGatewayHandlerParams, RoutePlugin, createRoute as createApiGatewayRoute } from "./gateway";
2
- export { createHandler as createS3Handler, CreateHandlerParams as CreateS3HandlerParams, S3EventHandler, S3EventHandlerCallable, S3EventHandlerCallableParams, createEventHandler as createS3EventHandler } from "./s3";
3
- export { createHandler as createDynamoDBHandler, CreateHandlerParams as CreateDynamoDBHandlerParams, DynamoDBEventHandler, DynamoDBEventHandlerCallable, DynamoDBEventHandlerCallableParams, createEventHandler as createDynamoDBEventHandler, HandlerCallable as DynamoDBHandlerCallable } from "./dynamodb";
4
- export { createHandler as createSQSHandler, CreateHandlerParams as CreateSQSHandlerParams, SQSEventHandler, SQSEventHandlerCallable, SQSEventHandlerCallableParams, createEventHandler as createSQSEventHandler, HandlerCallable as SQSHandlerCallable } from "./sqs";
5
- export { createHandler as createEventBridgeHandler, CreateHandlerParams as CreateEventBridgeHandlerParams, EventBridgeEventHandler, EventBridgeEventHandlerCallable, EventBridgeEventHandlerCallableParams, createEventHandler as createEventBridgeEventHandler, HandlerCallable as EventBridgeHandlerCallable } from "./eventBridge";
1
+ import "./gateway/register";
2
+ import "./s3/register";
3
+ import "./dynamodb/register";
4
+ import "./sqs/register";
5
+ import "./eventBridge/register";
6
+ import "./sns/register";
7
+ /**
8
+ * API Gateway
9
+ */
10
+ export { createHandler as createApiGatewayHandler, HandlerParams as CreateApiGatewayHandlerParams, HandlerCallable as ApiGatewayHandlerCallable, RoutePlugin, createRoute as createApiGatewayRoute } from "./gateway";
11
+ /**
12
+ * S3
13
+ */
14
+ export { createHandler as createS3Handler, HandlerParams as CreateS3HandlerParams, S3EventHandler, S3EventHandlerCallable, S3EventHandlerCallableParams, createEventHandler as createS3EventHandler } from "./s3";
15
+ /**
16
+ * DynamoDB Stream
17
+ */
18
+ export { createHandler as createDynamoDBHandler, HandlerParams as CreateDynamoDBHandlerParams, DynamoDBEventHandler, DynamoDBEventHandlerCallable, DynamoDBEventHandlerCallableParams, createEventHandler as createDynamoDBEventHandler } from "./dynamodb";
19
+ /**
20
+ * SQS
21
+ */
22
+ export { createHandler as createSQSHandler, HandlerParams as CreateSQSHandlerParams, SQSEventHandler, SQSEventHandlerCallable, SQSEventHandlerCallableParams, createEventHandler as createSQSEventHandler } from "./sqs";
23
+ /**
24
+ * SNS
25
+ */
26
+ export { createHandler as createSNSHandler, HandlerParams as CreateSNSHandlerParams, SNSEventHandler, SNSEventHandlerCallable, SNSEventHandlerCallableParams, createEventHandler as createSNSEventHandler } from "./sns";
27
+ /**
28
+ * EventBridge
29
+ */
30
+ export { createHandler as createEventBridgeHandler, HandlerParams as CreateEventBridgeHandlerParams, EventBridgeEventHandler, EventBridgeEventHandlerCallable, EventBridgeEventHandlerCallableParams, createEventHandler as createEventBridgeEventHandler } from "./eventBridge";
6
31
  export { createHandler as createRawHandler, CreateHandlerParams as CreateRawHandlerParams, HandlerCallable as RawHandlerCallable, createEventHandler as createRawEventHandler, RawEventHandlerCallableParams, RawEventHandlerCallable, RawEventHandler } from "./raw";
32
+ export { ContextPlugin, createContextPlugin, ContextPluginCallable } from "@webiny/handler";
33
+ export * from "./createHandler";
34
+ export * from "./sourceHandler";
package/index.js CHANGED
@@ -3,22 +3,87 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ createApiGatewayHandler: true,
8
+ CreateApiGatewayHandlerParams: true,
9
+ ApiGatewayHandlerCallable: true,
10
+ RoutePlugin: true,
11
+ createApiGatewayRoute: true,
12
+ createS3Handler: true,
13
+ CreateS3HandlerParams: true,
14
+ S3EventHandler: true,
15
+ S3EventHandlerCallable: true,
16
+ S3EventHandlerCallableParams: true,
17
+ createS3EventHandler: true,
18
+ createDynamoDBHandler: true,
19
+ CreateDynamoDBHandlerParams: true,
20
+ DynamoDBEventHandler: true,
21
+ DynamoDBEventHandlerCallable: true,
22
+ DynamoDBEventHandlerCallableParams: true,
23
+ createDynamoDBEventHandler: true,
24
+ createSQSHandler: true,
25
+ CreateSQSHandlerParams: true,
26
+ SQSEventHandler: true,
27
+ SQSEventHandlerCallable: true,
28
+ SQSEventHandlerCallableParams: true,
29
+ createSQSEventHandler: true,
30
+ createSNSHandler: true,
31
+ CreateSNSHandlerParams: true,
32
+ SNSEventHandler: true,
33
+ SNSEventHandlerCallable: true,
34
+ SNSEventHandlerCallableParams: true,
35
+ createSNSEventHandler: true,
36
+ createEventBridgeHandler: true,
37
+ CreateEventBridgeHandlerParams: true,
38
+ EventBridgeEventHandler: true,
39
+ EventBridgeEventHandlerCallable: true,
40
+ EventBridgeEventHandlerCallableParams: true,
41
+ createEventBridgeEventHandler: true,
42
+ createRawHandler: true,
43
+ CreateRawHandlerParams: true,
44
+ RawHandlerCallable: true,
45
+ createRawEventHandler: true,
46
+ RawEventHandlerCallableParams: true,
47
+ RawEventHandlerCallable: true,
48
+ RawEventHandler: true,
49
+ ContextPlugin: true,
50
+ createContextPlugin: true,
51
+ ContextPluginCallable: true
52
+ };
53
+ Object.defineProperty(exports, "ApiGatewayHandlerCallable", {
54
+ enumerable: true,
55
+ get: function () {
56
+ return _gateway.HandlerCallable;
57
+ }
58
+ });
59
+ Object.defineProperty(exports, "ContextPlugin", {
60
+ enumerable: true,
61
+ get: function () {
62
+ return _handler.ContextPlugin;
63
+ }
64
+ });
65
+ Object.defineProperty(exports, "ContextPluginCallable", {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _handler.ContextPluginCallable;
69
+ }
70
+ });
6
71
  Object.defineProperty(exports, "CreateApiGatewayHandlerParams", {
7
72
  enumerable: true,
8
73
  get: function () {
9
- return _gateway.CreateHandlerParams;
74
+ return _gateway.HandlerParams;
10
75
  }
11
76
  });
12
77
  Object.defineProperty(exports, "CreateDynamoDBHandlerParams", {
13
78
  enumerable: true,
14
79
  get: function () {
15
- return _dynamodb.CreateHandlerParams;
80
+ return _dynamodb.HandlerParams;
16
81
  }
17
82
  });
18
83
  Object.defineProperty(exports, "CreateEventBridgeHandlerParams", {
19
84
  enumerable: true,
20
85
  get: function () {
21
- return _eventBridge.CreateHandlerParams;
86
+ return _eventBridge.HandlerParams;
22
87
  }
23
88
  });
24
89
  Object.defineProperty(exports, "CreateRawHandlerParams", {
@@ -30,13 +95,19 @@ Object.defineProperty(exports, "CreateRawHandlerParams", {
30
95
  Object.defineProperty(exports, "CreateS3HandlerParams", {
31
96
  enumerable: true,
32
97
  get: function () {
33
- return _s.CreateHandlerParams;
98
+ return _s.HandlerParams;
99
+ }
100
+ });
101
+ Object.defineProperty(exports, "CreateSNSHandlerParams", {
102
+ enumerable: true,
103
+ get: function () {
104
+ return _sns.HandlerParams;
34
105
  }
35
106
  });
36
107
  Object.defineProperty(exports, "CreateSQSHandlerParams", {
37
108
  enumerable: true,
38
109
  get: function () {
39
- return _sqs.CreateHandlerParams;
110
+ return _sqs.HandlerParams;
40
111
  }
41
112
  });
42
113
  Object.defineProperty(exports, "DynamoDBEventHandler", {
@@ -57,12 +128,6 @@ Object.defineProperty(exports, "DynamoDBEventHandlerCallableParams", {
57
128
  return _dynamodb.DynamoDBEventHandlerCallableParams;
58
129
  }
59
130
  });
60
- Object.defineProperty(exports, "DynamoDBHandlerCallable", {
61
- enumerable: true,
62
- get: function () {
63
- return _dynamodb.HandlerCallable;
64
- }
65
- });
66
131
  Object.defineProperty(exports, "EventBridgeEventHandler", {
67
132
  enumerable: true,
68
133
  get: function () {
@@ -81,12 +146,6 @@ Object.defineProperty(exports, "EventBridgeEventHandlerCallableParams", {
81
146
  return _eventBridge.EventBridgeEventHandlerCallableParams;
82
147
  }
83
148
  });
84
- Object.defineProperty(exports, "EventBridgeHandlerCallable", {
85
- enumerable: true,
86
- get: function () {
87
- return _eventBridge.HandlerCallable;
88
- }
89
- });
90
149
  Object.defineProperty(exports, "RawEventHandler", {
91
150
  enumerable: true,
92
151
  get: function () {
@@ -135,6 +194,24 @@ Object.defineProperty(exports, "S3EventHandlerCallableParams", {
135
194
  return _s.S3EventHandlerCallableParams;
136
195
  }
137
196
  });
197
+ Object.defineProperty(exports, "SNSEventHandler", {
198
+ enumerable: true,
199
+ get: function () {
200
+ return _sns.SNSEventHandler;
201
+ }
202
+ });
203
+ Object.defineProperty(exports, "SNSEventHandlerCallable", {
204
+ enumerable: true,
205
+ get: function () {
206
+ return _sns.SNSEventHandlerCallable;
207
+ }
208
+ });
209
+ Object.defineProperty(exports, "SNSEventHandlerCallableParams", {
210
+ enumerable: true,
211
+ get: function () {
212
+ return _sns.SNSEventHandlerCallableParams;
213
+ }
214
+ });
138
215
  Object.defineProperty(exports, "SQSEventHandler", {
139
216
  enumerable: true,
140
217
  get: function () {
@@ -153,12 +230,6 @@ Object.defineProperty(exports, "SQSEventHandlerCallableParams", {
153
230
  return _sqs.SQSEventHandlerCallableParams;
154
231
  }
155
232
  });
156
- Object.defineProperty(exports, "SQSHandlerCallable", {
157
- enumerable: true,
158
- get: function () {
159
- return _sqs.HandlerCallable;
160
- }
161
- });
162
233
  Object.defineProperty(exports, "createApiGatewayHandler", {
163
234
  enumerable: true,
164
235
  get: function () {
@@ -171,6 +242,12 @@ Object.defineProperty(exports, "createApiGatewayRoute", {
171
242
  return _gateway.createRoute;
172
243
  }
173
244
  });
245
+ Object.defineProperty(exports, "createContextPlugin", {
246
+ enumerable: true,
247
+ get: function () {
248
+ return _handler.createContextPlugin;
249
+ }
250
+ });
174
251
  Object.defineProperty(exports, "createDynamoDBEventHandler", {
175
252
  enumerable: true,
176
253
  get: function () {
@@ -219,6 +296,18 @@ Object.defineProperty(exports, "createS3Handler", {
219
296
  return _s.createHandler;
220
297
  }
221
298
  });
299
+ Object.defineProperty(exports, "createSNSEventHandler", {
300
+ enumerable: true,
301
+ get: function () {
302
+ return _sns.createEventHandler;
303
+ }
304
+ });
305
+ Object.defineProperty(exports, "createSNSHandler", {
306
+ enumerable: true,
307
+ get: function () {
308
+ return _sns.createHandler;
309
+ }
310
+ });
222
311
  Object.defineProperty(exports, "createSQSEventHandler", {
223
312
  enumerable: true,
224
313
  get: function () {
@@ -231,15 +320,43 @@ Object.defineProperty(exports, "createSQSHandler", {
231
320
  return _sqs.createHandler;
232
321
  }
233
322
  });
234
-
323
+ require("./gateway/register");
324
+ require("./s3/register");
325
+ require("./dynamodb/register");
326
+ require("./sqs/register");
327
+ require("./eventBridge/register");
328
+ require("./sns/register");
235
329
  var _gateway = require("./gateway");
236
-
237
330
  var _s = require("./s3");
238
-
239
331
  var _dynamodb = require("./dynamodb");
240
-
241
332
  var _sqs = require("./sqs");
242
-
333
+ var _sns = require("./sns");
243
334
  var _eventBridge = require("./eventBridge");
335
+ var _raw = require("./raw");
336
+ var _handler = require("@webiny/handler");
337
+ var _createHandler = require("./createHandler");
338
+ Object.keys(_createHandler).forEach(function (key) {
339
+ if (key === "default" || key === "__esModule") return;
340
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
341
+ if (key in exports && exports[key] === _createHandler[key]) return;
342
+ Object.defineProperty(exports, key, {
343
+ enumerable: true,
344
+ get: function () {
345
+ return _createHandler[key];
346
+ }
347
+ });
348
+ });
349
+ var _sourceHandler = require("./sourceHandler");
350
+ Object.keys(_sourceHandler).forEach(function (key) {
351
+ if (key === "default" || key === "__esModule") return;
352
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
353
+ if (key in exports && exports[key] === _sourceHandler[key]) return;
354
+ Object.defineProperty(exports, key, {
355
+ enumerable: true,
356
+ get: function () {
357
+ return _sourceHandler[key];
358
+ }
359
+ });
360
+ });
244
361
 
245
- var _raw = require("./raw");
362
+ //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export {\n createHandler as createApiGatewayHandler,\n CreateHandlerParams as CreateApiGatewayHandlerParams,\n RoutePlugin,\n createRoute as createApiGatewayRoute\n} from \"~/gateway\";\n\nexport {\n createHandler as createS3Handler,\n CreateHandlerParams as CreateS3HandlerParams,\n S3EventHandler,\n S3EventHandlerCallable,\n S3EventHandlerCallableParams,\n createEventHandler as createS3EventHandler\n} from \"~/s3\";\n\nexport {\n createHandler as createDynamoDBHandler,\n CreateHandlerParams as CreateDynamoDBHandlerParams,\n DynamoDBEventHandler,\n DynamoDBEventHandlerCallable,\n DynamoDBEventHandlerCallableParams,\n createEventHandler as createDynamoDBEventHandler,\n HandlerCallable as DynamoDBHandlerCallable\n} from \"~/dynamodb\";\n\nexport {\n createHandler as createSQSHandler,\n CreateHandlerParams as CreateSQSHandlerParams,\n SQSEventHandler,\n SQSEventHandlerCallable,\n SQSEventHandlerCallableParams,\n createEventHandler as createSQSEventHandler,\n HandlerCallable as SQSHandlerCallable\n} from \"~/sqs\";\n\nexport {\n createHandler as createEventBridgeHandler,\n CreateHandlerParams as CreateEventBridgeHandlerParams,\n EventBridgeEventHandler,\n EventBridgeEventHandlerCallable,\n EventBridgeEventHandlerCallableParams,\n createEventHandler as createEventBridgeEventHandler,\n HandlerCallable as EventBridgeHandlerCallable\n} from \"~/eventBridge\";\n\nexport {\n createHandler as createRawHandler,\n CreateHandlerParams as CreateRawHandlerParams,\n HandlerCallable as RawHandlerCallable,\n createEventHandler as createRawEventHandler,\n RawEventHandlerCallableParams,\n RawEventHandlerCallable,\n RawEventHandler\n} from \"~/raw\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAOA;;AASA;;AAUA;;AAUA;;AAUA"}
1
+ {"version":3,"names":["require","_gateway","_s","_dynamodb","_sqs","_sns","_eventBridge","_raw","_handler","_createHandler","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_sourceHandler"],"sources":["index.ts"],"sourcesContent":["import \"./gateway/register\";\nimport \"./s3/register\";\nimport \"./dynamodb/register\";\nimport \"./sqs/register\";\nimport \"./eventBridge/register\";\nimport \"./sns/register\";\n\n/**\n * API Gateway\n */\nexport {\n createHandler as createApiGatewayHandler,\n HandlerParams as CreateApiGatewayHandlerParams,\n HandlerCallable as ApiGatewayHandlerCallable,\n RoutePlugin,\n createRoute as createApiGatewayRoute\n} from \"~/gateway\";\n\n/**\n * S3\n */\n//\nexport {\n createHandler as createS3Handler,\n HandlerParams as CreateS3HandlerParams,\n S3EventHandler,\n S3EventHandlerCallable,\n S3EventHandlerCallableParams,\n createEventHandler as createS3EventHandler\n} from \"~/s3\";\n\n/**\n * DynamoDB Stream\n */\n//\nexport {\n createHandler as createDynamoDBHandler,\n HandlerParams as CreateDynamoDBHandlerParams,\n DynamoDBEventHandler,\n DynamoDBEventHandlerCallable,\n DynamoDBEventHandlerCallableParams,\n createEventHandler as createDynamoDBEventHandler\n} from \"~/dynamodb\";\n\n/**\n * SQS\n */\n//\nexport {\n createHandler as createSQSHandler,\n HandlerParams as CreateSQSHandlerParams,\n SQSEventHandler,\n SQSEventHandlerCallable,\n SQSEventHandlerCallableParams,\n createEventHandler as createSQSEventHandler\n} from \"~/sqs\";\n\n/**\n * SNS\n */\n//\nexport {\n createHandler as createSNSHandler,\n HandlerParams as CreateSNSHandlerParams,\n SNSEventHandler,\n SNSEventHandlerCallable,\n SNSEventHandlerCallableParams,\n createEventHandler as createSNSEventHandler\n} from \"~/sns\";\n\n/**\n * EventBridge\n */\n//\nexport {\n createHandler as createEventBridgeHandler,\n HandlerParams as CreateEventBridgeHandlerParams,\n EventBridgeEventHandler,\n EventBridgeEventHandlerCallable,\n EventBridgeEventHandlerCallableParams,\n createEventHandler as createEventBridgeEventHandler\n} from \"~/eventBridge\";\n\nexport {\n createHandler as createRawHandler,\n CreateHandlerParams as CreateRawHandlerParams,\n HandlerCallable as RawHandlerCallable,\n createEventHandler as createRawEventHandler,\n RawEventHandlerCallableParams,\n RawEventHandlerCallable,\n RawEventHandler\n} from \"~/raw\";\n\nexport { ContextPlugin, createContextPlugin, ContextPluginCallable } from \"@webiny/handler\";\n\nexport * from \"./createHandler\";\nexport * from \"./sourceHandler\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AAYA,IAAAE,EAAA,GAAAF,OAAA;AAaA,IAAAG,SAAA,GAAAH,OAAA;AAaA,IAAAI,IAAA,GAAAJ,OAAA;AAaA,IAAAK,IAAA,GAAAL,OAAA;AAaA,IAAAM,YAAA,GAAAN,OAAA;AASA,IAAAO,IAAA,GAAAP,OAAA;AAUA,IAAAQ,QAAA,GAAAR,OAAA;AAEA,IAAAS,cAAA,GAAAT,OAAA;AAAAU,MAAA,CAAAC,IAAA,CAAAF,cAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,cAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,cAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,cAAA,GAAAtB,OAAA;AAAAU,MAAA,CAAAC,IAAA,CAAAW,cAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,cAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,cAAA,CAAAT,GAAA;IAAA;EAAA;AAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/handler-aws",
3
- "version": "0.0.0-unstable.d7f521b032",
3
+ "version": "0.0.0-unstable.de38392959",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,23 +12,25 @@
12
12
  ],
13
13
  "license": "MIT",
14
14
  "dependencies": {
15
- "@babel/runtime": "7.20.13",
15
+ "@babel/runtime": "7.22.6",
16
16
  "@fastify/aws-lambda": "3.1.3",
17
- "@webiny/handler": "0.0.0-unstable.d7f521b032",
18
- "@webiny/handler-client": "0.0.0-unstable.d7f521b032",
19
- "@webiny/plugins": "0.0.0-unstable.d7f521b032",
20
- "aws-lambda": "1.0.7",
17
+ "@webiny/aws-sdk": "0.0.0-unstable.de38392959",
18
+ "@webiny/handler": "0.0.0-unstable.de38392959",
19
+ "@webiny/handler-client": "0.0.0-unstable.de38392959",
20
+ "@webiny/plugins": "0.0.0-unstable.de38392959",
21
+ "@webiny/utils": "0.0.0-unstable.de38392959",
21
22
  "fastify": "4.11.0"
22
23
  },
23
24
  "devDependencies": {
24
- "@babel/cli": "^7.19.3",
25
- "@babel/core": "^7.19.3",
26
- "@babel/preset-env": "^7.19.4",
27
- "@babel/preset-typescript": "^7.18.6",
28
- "@webiny/cli": "^0.0.0-unstable.d7f521b032",
29
- "@webiny/project-utils": "^0.0.0-unstable.d7f521b032",
30
- "rimraf": "^3.0.2",
31
- "ttypescript": "^1.5.13",
25
+ "@babel/cli": "7.22.6",
26
+ "@babel/core": "7.22.8",
27
+ "@babel/preset-env": "7.22.7",
28
+ "@babel/preset-typescript": "7.22.5",
29
+ "@webiny/cli": "0.0.0-unstable.de38392959",
30
+ "@webiny/project-utils": "0.0.0-unstable.de38392959",
31
+ "aws-lambda": "1.0.7",
32
+ "rimraf": "3.0.2",
33
+ "ttypescript": "1.5.15",
32
34
  "typescript": "4.7.4"
33
35
  },
34
36
  "publishConfig": {
@@ -39,5 +41,5 @@
39
41
  "build": "yarn webiny run build",
40
42
  "watch": "yarn webiny run watch"
41
43
  },
42
- "gitHead": "d7f521b0325964664dbeb6d2d07e2b6518e53841"
44
+ "gitHead": "de38392959f2692d1feb08945a3588cd80e4924c"
43
45
  }