@webiny/handler-aws 0.0.0-unstable.78f581c1d2 → 0.0.0-unstable.7be00a75a9

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 (101) hide show
  1. package/README.md +10 -14
  2. package/createHandler.d.ts +2 -0
  3. package/createHandler.js +23 -0
  4. package/createHandler.js.map +1 -0
  5. package/dynamodb/index.d.ts +5 -8
  6. package/dynamodb/index.js +41 -87
  7. package/dynamodb/index.js.map +1 -1
  8. package/dynamodb/plugins/DynamoDBEventHandler.d.ts +8 -7
  9. package/dynamodb/plugins/DynamoDBEventHandler.js +12 -28
  10. package/dynamodb/plugins/DynamoDBEventHandler.js.map +1 -1
  11. package/dynamodb/register.d.ts +1 -0
  12. package/dynamodb/register.js +16 -0
  13. package/dynamodb/register.js.map +1 -0
  14. package/eventBridge/index.d.ts +7 -10
  15. package/eventBridge/index.js +42 -88
  16. package/eventBridge/index.js.map +1 -1
  17. package/eventBridge/plugins/EventBridgeEventHandler.d.ts +8 -7
  18. package/eventBridge/plugins/EventBridgeEventHandler.js +12 -28
  19. package/eventBridge/plugins/EventBridgeEventHandler.js.map +1 -1
  20. package/eventBridge/register.d.ts +4 -0
  21. package/eventBridge/register.js +11 -0
  22. package/eventBridge/register.js.map +1 -0
  23. package/execute.d.ts +1 -1
  24. package/execute.js +54 -67
  25. package/execute.js.map +1 -1
  26. package/gateway/index.d.ts +7 -11
  27. package/gateway/index.js +43 -102
  28. package/gateway/index.js.map +1 -1
  29. package/gateway/register.d.ts +1 -0
  30. package/gateway/register.js +11 -0
  31. package/gateway/register.js.map +1 -0
  32. package/index.d.ts +35 -6
  33. package/index.js +17 -245
  34. package/package.json +22 -25
  35. package/plugins/index.d.ts +1 -1
  36. package/plugins/index.js +4 -12
  37. package/plugins/index.js.map +1 -1
  38. package/raw/index.d.ts +5 -10
  39. package/raw/index.js +44 -95
  40. package/raw/index.js.map +1 -1
  41. package/raw/plugins/RawEventHandler.d.ts +17 -6
  42. package/raw/plugins/RawEventHandler.js +14 -21
  43. package/raw/plugins/RawEventHandler.js.map +1 -1
  44. package/registry.d.ts +17 -0
  45. package/registry.js +23 -0
  46. package/registry.js.map +1 -0
  47. package/s3/index.d.ts +6 -9
  48. package/s3/index.js +41 -87
  49. package/s3/index.js.map +1 -1
  50. package/s3/plugins/S3EventHandler.d.ts +8 -7
  51. package/s3/plugins/S3EventHandler.js +12 -28
  52. package/s3/plugins/S3EventHandler.js.map +1 -1
  53. package/s3/register.d.ts +4 -0
  54. package/s3/register.js +15 -0
  55. package/s3/register.js.map +1 -0
  56. package/sns/index.d.ts +8 -0
  57. package/sns/index.js +42 -0
  58. package/sns/index.js.map +1 -0
  59. package/sns/plugins/SNSEventHandler.d.ts +20 -0
  60. package/sns/plugins/SNSEventHandler.js +14 -0
  61. package/sns/plugins/SNSEventHandler.js.map +1 -0
  62. package/sns/register.d.ts +1 -0
  63. package/sns/register.js +15 -0
  64. package/sns/register.js.map +1 -0
  65. package/sourceHandler.d.ts +2 -0
  66. package/sourceHandler.js +4 -0
  67. package/sourceHandler.js.map +1 -0
  68. package/sqs/index.d.ts +6 -9
  69. package/sqs/index.js +42 -87
  70. package/sqs/index.js.map +1 -1
  71. package/sqs/plugins/SQSEventHandler.d.ts +8 -7
  72. package/sqs/plugins/SQSEventHandler.js +12 -28
  73. package/sqs/plugins/SQSEventHandler.js.map +1 -1
  74. package/sqs/register.d.ts +1 -0
  75. package/sqs/register.js +16 -0
  76. package/sqs/register.js.map +1 -0
  77. package/types.d.ts +28 -5
  78. package/types.js +10 -32
  79. package/types.js.map +1 -1
  80. package/utils/composedHandler.d.ts +6 -0
  81. package/utils/composedHandler.js +8 -0
  82. package/utils/composedHandler.js.map +1 -0
  83. package/utils/index.d.ts +2 -0
  84. package/utils/index.js +2 -0
  85. package/utils/timer/CustomTimer.d.ts +5 -0
  86. package/utils/timer/CustomTimer.js +13 -0
  87. package/utils/timer/CustomTimer.js.map +1 -0
  88. package/utils/timer/Timer.d.ts +10 -0
  89. package/utils/timer/Timer.js +16 -0
  90. package/utils/timer/Timer.js.map +1 -0
  91. package/utils/timer/abstractions/ITimer.d.ts +10 -0
  92. package/utils/timer/abstractions/ITimer.js +0 -0
  93. package/utils/timer/factory.d.ts +4 -0
  94. package/utils/timer/factory.js +12 -0
  95. package/utils/timer/factory.js.map +1 -0
  96. package/utils/timer/index.d.ts +4 -0
  97. package/utils/timer/index.js +3 -0
  98. package/index.js.map +0 -1
  99. package/plugins/handlerClient.d.ts +0 -2
  100. package/plugins/handlerClient.js +0 -62
  101. package/plugins/handlerClient.js.map +0 -1
package/index.js CHANGED
@@ -1,245 +1,17 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "CreateApiGatewayHandlerParams", {
7
- enumerable: true,
8
- get: function () {
9
- return _gateway.CreateHandlerParams;
10
- }
11
- });
12
- Object.defineProperty(exports, "CreateDynamoDBHandlerParams", {
13
- enumerable: true,
14
- get: function () {
15
- return _dynamodb.CreateHandlerParams;
16
- }
17
- });
18
- Object.defineProperty(exports, "CreateEventBridgeHandlerParams", {
19
- enumerable: true,
20
- get: function () {
21
- return _eventBridge.CreateHandlerParams;
22
- }
23
- });
24
- Object.defineProperty(exports, "CreateRawHandlerParams", {
25
- enumerable: true,
26
- get: function () {
27
- return _raw.CreateHandlerParams;
28
- }
29
- });
30
- Object.defineProperty(exports, "CreateS3HandlerParams", {
31
- enumerable: true,
32
- get: function () {
33
- return _s.CreateHandlerParams;
34
- }
35
- });
36
- Object.defineProperty(exports, "CreateSQSHandlerParams", {
37
- enumerable: true,
38
- get: function () {
39
- return _sqs.CreateHandlerParams;
40
- }
41
- });
42
- Object.defineProperty(exports, "DynamoDBEventHandler", {
43
- enumerable: true,
44
- get: function () {
45
- return _dynamodb.DynamoDBEventHandler;
46
- }
47
- });
48
- Object.defineProperty(exports, "DynamoDBEventHandlerCallable", {
49
- enumerable: true,
50
- get: function () {
51
- return _dynamodb.DynamoDBEventHandlerCallable;
52
- }
53
- });
54
- Object.defineProperty(exports, "DynamoDBEventHandlerCallableParams", {
55
- enumerable: true,
56
- get: function () {
57
- return _dynamodb.DynamoDBEventHandlerCallableParams;
58
- }
59
- });
60
- Object.defineProperty(exports, "DynamoDBHandlerCallable", {
61
- enumerable: true,
62
- get: function () {
63
- return _dynamodb.HandlerCallable;
64
- }
65
- });
66
- Object.defineProperty(exports, "EventBridgeEventHandler", {
67
- enumerable: true,
68
- get: function () {
69
- return _eventBridge.EventBridgeEventHandler;
70
- }
71
- });
72
- Object.defineProperty(exports, "EventBridgeEventHandlerCallable", {
73
- enumerable: true,
74
- get: function () {
75
- return _eventBridge.EventBridgeEventHandlerCallable;
76
- }
77
- });
78
- Object.defineProperty(exports, "EventBridgeEventHandlerCallableParams", {
79
- enumerable: true,
80
- get: function () {
81
- return _eventBridge.EventBridgeEventHandlerCallableParams;
82
- }
83
- });
84
- Object.defineProperty(exports, "EventBridgeHandlerCallable", {
85
- enumerable: true,
86
- get: function () {
87
- return _eventBridge.HandlerCallable;
88
- }
89
- });
90
- Object.defineProperty(exports, "RawEventHandler", {
91
- enumerable: true,
92
- get: function () {
93
- return _raw.RawEventHandler;
94
- }
95
- });
96
- Object.defineProperty(exports, "RawEventHandlerCallable", {
97
- enumerable: true,
98
- get: function () {
99
- return _raw.RawEventHandlerCallable;
100
- }
101
- });
102
- Object.defineProperty(exports, "RawEventHandlerCallableParams", {
103
- enumerable: true,
104
- get: function () {
105
- return _raw.RawEventHandlerCallableParams;
106
- }
107
- });
108
- Object.defineProperty(exports, "RawHandlerCallable", {
109
- enumerable: true,
110
- get: function () {
111
- return _raw.HandlerCallable;
112
- }
113
- });
114
- Object.defineProperty(exports, "RoutePlugin", {
115
- enumerable: true,
116
- get: function () {
117
- return _gateway.RoutePlugin;
118
- }
119
- });
120
- Object.defineProperty(exports, "S3EventHandler", {
121
- enumerable: true,
122
- get: function () {
123
- return _s.S3EventHandler;
124
- }
125
- });
126
- Object.defineProperty(exports, "S3EventHandlerCallable", {
127
- enumerable: true,
128
- get: function () {
129
- return _s.S3EventHandlerCallable;
130
- }
131
- });
132
- Object.defineProperty(exports, "S3EventHandlerCallableParams", {
133
- enumerable: true,
134
- get: function () {
135
- return _s.S3EventHandlerCallableParams;
136
- }
137
- });
138
- Object.defineProperty(exports, "SQSEventHandler", {
139
- enumerable: true,
140
- get: function () {
141
- return _sqs.SQSEventHandler;
142
- }
143
- });
144
- Object.defineProperty(exports, "SQSEventHandlerCallable", {
145
- enumerable: true,
146
- get: function () {
147
- return _sqs.SQSEventHandlerCallable;
148
- }
149
- });
150
- Object.defineProperty(exports, "SQSEventHandlerCallableParams", {
151
- enumerable: true,
152
- get: function () {
153
- return _sqs.SQSEventHandlerCallableParams;
154
- }
155
- });
156
- Object.defineProperty(exports, "SQSHandlerCallable", {
157
- enumerable: true,
158
- get: function () {
159
- return _sqs.HandlerCallable;
160
- }
161
- });
162
- Object.defineProperty(exports, "createApiGatewayHandler", {
163
- enumerable: true,
164
- get: function () {
165
- return _gateway.createHandler;
166
- }
167
- });
168
- Object.defineProperty(exports, "createApiGatewayRoute", {
169
- enumerable: true,
170
- get: function () {
171
- return _gateway.createRoute;
172
- }
173
- });
174
- Object.defineProperty(exports, "createDynamoDBEventHandler", {
175
- enumerable: true,
176
- get: function () {
177
- return _dynamodb.createEventHandler;
178
- }
179
- });
180
- Object.defineProperty(exports, "createDynamoDBHandler", {
181
- enumerable: true,
182
- get: function () {
183
- return _dynamodb.createHandler;
184
- }
185
- });
186
- Object.defineProperty(exports, "createEventBridgeEventHandler", {
187
- enumerable: true,
188
- get: function () {
189
- return _eventBridge.createEventHandler;
190
- }
191
- });
192
- Object.defineProperty(exports, "createEventBridgeHandler", {
193
- enumerable: true,
194
- get: function () {
195
- return _eventBridge.createHandler;
196
- }
197
- });
198
- Object.defineProperty(exports, "createRawEventHandler", {
199
- enumerable: true,
200
- get: function () {
201
- return _raw.createEventHandler;
202
- }
203
- });
204
- Object.defineProperty(exports, "createRawHandler", {
205
- enumerable: true,
206
- get: function () {
207
- return _raw.createHandler;
208
- }
209
- });
210
- Object.defineProperty(exports, "createS3EventHandler", {
211
- enumerable: true,
212
- get: function () {
213
- return _s.createEventHandler;
214
- }
215
- });
216
- Object.defineProperty(exports, "createS3Handler", {
217
- enumerable: true,
218
- get: function () {
219
- return _s.createHandler;
220
- }
221
- });
222
- Object.defineProperty(exports, "createSQSEventHandler", {
223
- enumerable: true,
224
- get: function () {
225
- return _sqs.createEventHandler;
226
- }
227
- });
228
- Object.defineProperty(exports, "createSQSHandler", {
229
- enumerable: true,
230
- get: function () {
231
- return _sqs.createHandler;
232
- }
233
- });
234
-
235
- var _gateway = require("./gateway");
236
-
237
- var _s = require("./s3");
238
-
239
- var _dynamodb = require("./dynamodb");
240
-
241
- var _sqs = require("./sqs");
242
-
243
- var _eventBridge = require("./eventBridge");
244
-
245
- var _raw = require("./raw");
1
+ import "./gateway/register.js";
2
+ import "./s3/register.js";
3
+ import "./dynamodb/register.js";
4
+ import "./sqs/register.js";
5
+ import "./eventBridge/register.js";
6
+ import "./sns/register.js";
7
+ export * from "./utils/index.js";
8
+ export * from "./createHandler.js";
9
+ export * from "./sourceHandler.js";
10
+ export { RoutePlugin, createHandler as createApiGatewayHandler, createRoute as createApiGatewayRoute } from "./gateway/index.js";
11
+ export { S3EventHandler, createEventHandler as createS3EventHandler, createHandler as createS3Handler } from "./s3/index.js";
12
+ export { DynamoDBEventHandler, createEventHandler as createDynamoDBEventHandler, createHandler as createDynamoDBHandler } from "./dynamodb/index.js";
13
+ export { SQSEventHandler, createEventHandler as createSQSEventHandler, createHandler as createSQSHandler } from "./sqs/index.js";
14
+ export { SNSEventHandler, createEventHandler as createSNSEventHandler, createHandler as createSNSHandler } from "./sns/index.js";
15
+ export { EventBridgeEventHandler, createEventHandler as createEventBridgeEventHandler, createHandler as createEventBridgeHandler } from "./eventBridge/index.js";
16
+ export { RawEventHandler, createEventHandler as createRawEventHandler, createHandler as createRawHandler } from "./raw/index.js";
17
+ export { ContextPlugin, createContextPlugin } from "@webiny/handler";
package/package.json CHANGED
@@ -1,7 +1,11 @@
1
1
  {
2
2
  "name": "@webiny/handler-aws",
3
- "version": "0.0.0-unstable.78f581c1d2",
4
- "main": "index.js",
3
+ "version": "0.0.0-unstable.7be00a75a9",
4
+ "type": "module",
5
+ "exports": {
6
+ ".": "./index.js",
7
+ "./*": "./*"
8
+ },
5
9
  "repository": {
6
10
  "type": "git",
7
11
  "url": "https://github.com/webiny/webiny-js.git"
@@ -12,32 +16,25 @@
12
16
  ],
13
17
  "license": "MIT",
14
18
  "dependencies": {
15
- "@babel/runtime": "7.19.0",
16
- "@fastify/aws-lambda": "3.1.3",
17
- "@webiny/handler": "0.0.0-unstable.78f581c1d2",
18
- "@webiny/handler-client": "0.0.0-unstable.78f581c1d2",
19
- "@webiny/plugins": "0.0.0-unstable.78f581c1d2",
20
- "aws-lambda": "1.0.7",
21
- "fastify": "4.9.2"
19
+ "@fastify/aws-lambda": "6.4.0",
20
+ "@webiny/aws-sdk": "0.0.0-unstable.7be00a75a9",
21
+ "@webiny/handler": "0.0.0-unstable.7be00a75a9",
22
+ "@webiny/plugins": "0.0.0-unstable.7be00a75a9",
23
+ "@webiny/utils": "0.0.0-unstable.7be00a75a9",
24
+ "fastify": "5.8.5",
25
+ "pino-lambda": "4.4.1"
22
26
  },
23
27
  "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.78f581c1d2",
29
- "@webiny/project-utils": "^0.0.0-unstable.78f581c1d2",
30
- "rimraf": "^3.0.2",
31
- "ttypescript": "^1.5.13",
32
- "typescript": "4.7.4"
28
+ "@webiny/build-tools": "0.0.0-unstable.7be00a75a9",
29
+ "rimraf": "6.1.3",
30
+ "typescript": "6.0.3",
31
+ "vitest": "4.1.7"
33
32
  },
34
33
  "publishConfig": {
35
- "access": "public",
36
- "directory": "dist"
37
- },
38
- "scripts": {
39
- "build": "yarn webiny run build",
40
- "watch": "yarn webiny run watch"
34
+ "access": "public"
41
35
  },
42
- "gitHead": "78f581c1d2e5e6936aa11b9452a66d2a3652a1b2"
36
+ "gitHead": "8476da73b653c89cc1474d968baf55c1b0ae0e5f",
37
+ "webiny": {
38
+ "publishFrom": "dist"
39
+ }
43
40
  }
@@ -1,2 +1,2 @@
1
- import { Context } from "@webiny/handler/types";
1
+ import type { Context } from "@webiny/handler/types.js";
2
2
  export declare const registerDefaultPlugins: (context: Context) => void;
package/plugins/index.js CHANGED
@@ -1,14 +1,6 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.registerDefaultPlugins = void 0;
7
-
8
- var _handlerClient = require("./handlerClient");
9
-
10
- const registerDefaultPlugins = context => {
11
- context.plugins.register([(0, _handlerClient.createHandlerClientPlugin)()]);
1
+ const registerDefaultPlugins = (context)=>{
2
+ context.plugins.register([]);
12
3
  };
4
+ export { registerDefaultPlugins };
13
5
 
14
- exports.registerDefaultPlugins = registerDefaultPlugins;
6
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["registerDefaultPlugins","context","plugins","register","createHandlerClientPlugin"],"sources":["index.ts"],"sourcesContent":["import { createHandlerClientPlugin } from \"./handlerClient\";\nimport { Context } from \"@webiny/handler/types\";\n\nexport const registerDefaultPlugins = (context: Context): void => {\n context.plugins.register([createHandlerClientPlugin()]);\n};\n"],"mappings":";;;;;;;AAAA;;AAGO,MAAMA,sBAAsB,GAAIC,OAAD,IAA4B;EAC9DA,OAAO,CAACC,OAAR,CAAgBC,QAAhB,CAAyB,CAAC,IAAAC,wCAAA,GAAD,CAAzB;AACH,CAFM"}
1
+ {"version":3,"file":"plugins/index.js","sources":["../../src/plugins/index.ts"],"sourcesContent":["import type { Context } from \"@webiny/handler/types.js\";\n\nexport const registerDefaultPlugins = (context: Context): void => {\n context.plugins.register([\n //\n ]);\n};\n"],"names":["registerDefaultPlugins","context"],"mappings":"AAEO,MAAMA,yBAAyB,CAACC;IACnCA,QAAQ,OAAO,CAAC,QAAQ,CAAC,EAExB;AACL"}
package/raw/index.d.ts CHANGED
@@ -4,16 +4,11 @@
4
4
  *
5
5
  * We should try to have some kind of standardized event type implementation at some point.
6
6
  */
7
- import { CreateHandlerParams as BaseCreateHandlerParams } from "@webiny/handler";
8
- import { Context as LambdaContext } from "aws-lambda";
9
- import { APIGatewayProxyResult } from "aws-lambda/trigger/api-gateway-proxy";
7
+ import type { APIGatewayProxyResult, Context as LambdaContext } from "@webiny/aws-sdk/types/index.js";
8
+ import type { CreateHandlerParams as BaseCreateHandlerParams } from "@webiny/handler";
10
9
  export interface HandlerCallable<Payload, Response = APIGatewayProxyResult> {
11
10
  (payload: Payload, context: LambdaContext): Promise<Response>;
12
11
  }
13
- export interface CreateHandlerParams extends BaseCreateHandlerParams {
14
- http?: {
15
- debug?: boolean;
16
- };
17
- }
18
- export declare const createHandler: <Payload = any, Response_1 = APIGatewayProxyResult>(params: CreateHandlerParams) => HandlerCallable<Payload, Response_1>;
19
- export * from "./plugins/RawEventHandler";
12
+ export type CreateHandlerParams = BaseCreateHandlerParams;
13
+ export declare const createHandler: <Payload = any, Response = APIGatewayProxyResult>(params: CreateHandlerParams) => HandlerCallable<Payload, Response>;
14
+ export * from "./plugins/RawEventHandler.js";
package/raw/index.js CHANGED
@@ -1,96 +1,45 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- var _exportNames = {
9
- createHandler: true
10
- };
11
- exports.createHandler = void 0;
12
-
13
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
14
-
15
- var _handler = require("@webiny/handler");
16
-
17
- var _RawEventHandler = require("./plugins/RawEventHandler");
18
-
19
- Object.keys(_RawEventHandler).forEach(function (key) {
20
- if (key === "default" || key === "__esModule") return;
21
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
22
- if (key in exports && exports[key] === _RawEventHandler[key]) return;
23
- Object.defineProperty(exports, key, {
24
- enumerable: true,
25
- get: function () {
26
- return _RawEventHandler[key];
27
- }
28
- });
29
- });
30
-
31
- var _plugins = require("../plugins");
32
-
33
- var _execute = require("../execute");
34
-
35
- /**
36
- * This is the handler implementation for @webiny/handler/plugins/EventPlugin.
37
- * This is mostly meant for some custom lambda calls as we are sometimes invoking lambdas directly.
38
- *
39
- * We should try to have some kind of standardized event type implementation at some point.
40
- */
41
- const Reply = require("fastify/lib/reply");
42
-
1
+ import { createHandler } from "@webiny/handler";
2
+ import { RawEventHandler } from "./plugins/RawEventHandler.js";
3
+ import { registerDefaultPlugins } from "../plugins/index.js";
4
+ import { execute } from "../execute.js";
5
+ import { createComposedHandler } from "../utils/composedHandler.js";
6
+ import lib_reply from "fastify/lib/reply.js";
7
+ export * from "./plugins/RawEventHandler.js";
43
8
  const url = "/webiny-raw-event";
44
-
45
- const createHandler = params => {
46
- return (payload, context) => {
47
- var _params$http;
48
-
49
- const app = (0, _handler.createHandler)({
50
- plugins: params.plugins,
51
- options: (0, _objectSpread2.default)({
52
- logger: ((_params$http = params.http) === null || _params$http === void 0 ? void 0 : _params$http.debug) === true
53
- }, params.options || {})
54
- });
55
- /**
56
- * We always must add our default plugins to the app.
57
- */
58
-
59
- (0, _plugins.registerDefaultPlugins)(app.webiny);
60
- /**
61
- * There must be an event plugin for this handler to work.
62
- */
63
-
64
- const plugins = app.webiny.plugins.byType(_RawEventHandler.RawEventHandler.type);
65
- const handler = plugins.shift();
66
-
67
- if (!handler) {
68
- throw new Error(`To run @webiny/handler-aws/raw, you must have RawEventHandler set.`);
69
- }
70
-
71
- app.post(url, async (request, reply) => {
72
- const params = {
73
- request,
74
- reply,
75
- context: app.webiny,
76
- payload,
77
- lambdaContext: context
78
- };
79
- const result = await handler.cb(params);
80
-
81
- if (result instanceof Reply) {
82
- return result;
83
- }
84
-
85
- app.__webiny_raw_result = result;
86
- return reply.send({});
87
- });
88
- return (0, _execute.execute)({
89
- app,
90
- url,
91
- payload
92
- });
93
- };
94
- };
95
-
96
- exports.createHandler = createHandler;
9
+ const raw_createHandler = (params)=>(payload, context)=>{
10
+ const app = createHandler({
11
+ ...params,
12
+ options: {
13
+ logger: true === params.debug,
14
+ ...params.options || {}
15
+ }
16
+ });
17
+ registerDefaultPlugins(app.webiny);
18
+ const plugins = app.webiny.plugins.byType(RawEventHandler.type).filter((plugin)=>{
19
+ if ("function" != typeof plugin.canHandle) return true;
20
+ return plugin.canHandle(payload);
21
+ }).reverse();
22
+ if (0 === plugins.length) throw new Error("To run @webiny/handler-aws/raw, you must have RawEventHandler set.");
23
+ const handler = createComposedHandler(plugins);
24
+ app.post(url, async (request, reply)=>{
25
+ const params = {
26
+ request,
27
+ reply,
28
+ context: app.webiny,
29
+ payload,
30
+ lambdaContext: context
31
+ };
32
+ const result = await handler(params);
33
+ if (result instanceof lib_reply) return result;
34
+ app.__webiny_raw_result = result;
35
+ return reply.send({});
36
+ });
37
+ return execute({
38
+ app,
39
+ url: url,
40
+ payload
41
+ });
42
+ };
43
+ export { raw_createHandler as createHandler };
44
+
45
+ //# sourceMappingURL=index.js.map
package/raw/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["Reply","require","url","createHandler","params","payload","context","app","createBaseHandler","plugins","options","logger","http","debug","registerDefaultPlugins","webiny","byType","RawEventHandler","type","handler","shift","Error","post","request","reply","lambdaContext","result","cb","__webiny_raw_result","send","execute"],"sources":["index.ts"],"sourcesContent":["/**\n * This is the handler implementation for @webiny/handler/plugins/EventPlugin.\n * This is mostly meant for some custom lambda calls as we are sometimes invoking lambdas directly.\n *\n * We should try to have some kind of standardized event type implementation at some point.\n */\nimport {\n createHandler as createBaseHandler,\n CreateHandlerParams as BaseCreateHandlerParams\n} from \"@webiny/handler\";\nconst Reply = require(\"fastify/lib/reply\");\nimport { Context as LambdaContext } from \"aws-lambda\";\nimport { APIGatewayProxyResult } from \"aws-lambda/trigger/api-gateway-proxy\";\nimport { RawEventHandler } from \"~/raw/plugins/RawEventHandler\";\nimport { registerDefaultPlugins } from \"~/plugins\";\nimport { execute } from \"~/execute\";\n\nconst url = \"/webiny-raw-event\";\n\nexport interface HandlerCallable<Payload, Response = APIGatewayProxyResult> {\n (payload: Payload, context: LambdaContext): Promise<Response>;\n}\n\nexport interface CreateHandlerParams extends BaseCreateHandlerParams {\n http?: {\n debug?: boolean;\n };\n}\n\nexport const createHandler = <Payload = any, Response = APIGatewayProxyResult>(\n params: CreateHandlerParams\n): HandlerCallable<Payload, Response> => {\n return (payload, context) => {\n const app = createBaseHandler({\n plugins: params.plugins,\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 * There must be an event plugin for this handler to work.\n */\n const plugins = app.webiny.plugins.byType<RawEventHandler<Payload, any, Response>>(\n RawEventHandler.type\n );\n const handler = plugins.shift();\n if (!handler) {\n throw new Error(`To run @webiny/handler-aws/raw, you must have RawEventHandler set.`);\n }\n\n app.post(url, async (request, reply) => {\n const params = {\n request,\n reply,\n context: app.webiny,\n payload,\n lambdaContext: context\n };\n const result = await handler.cb(params);\n\n if (result instanceof Reply) {\n return result;\n }\n\n (app as any).__webiny_raw_result = result;\n return reply.send({});\n });\n return execute({\n app,\n url,\n payload\n });\n };\n};\n\nexport * from \"./plugins/RawEventHandler\";\n"],"mappings":";;;;;;;;;;;;;;AAMA;;AAOA;;AAmEA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAlEA;;AACA;;AAfA;AACA;AACA;AACA;AACA;AACA;AAKA,MAAMA,KAAK,GAAGC,OAAO,CAAC,mBAAD,CAArB;;AAOA,MAAMC,GAAG,GAAG,mBAAZ;;AAYO,MAAMC,aAAa,GACtBC,MADyB,IAEY;EACrC,OAAO,CAACC,OAAD,EAAUC,OAAV,KAAsB;IAAA;;IACzB,MAAMC,GAAG,GAAG,IAAAC,sBAAA,EAAkB;MAC1BC,OAAO,EAAEL,MAAM,CAACK,OADU;MAE1BC,OAAO;QACHC,MAAM,EAAE,iBAAAP,MAAM,CAACQ,IAAP,8DAAaC,KAAb,MAAuB;MAD5B,GAECT,MAAM,CAACM,OAAP,IAAkB,EAFnB;IAFmB,CAAlB,CAAZ;IAOA;AACR;AACA;;IACQ,IAAAI,+BAAA,EAAuBP,GAAG,CAACQ,MAA3B;IACA;AACR;AACA;;IACQ,MAAMN,OAAO,GAAGF,GAAG,CAACQ,MAAJ,CAAWN,OAAX,CAAmBO,MAAnB,CACZC,gCAAA,CAAgBC,IADJ,CAAhB;IAGA,MAAMC,OAAO,GAAGV,OAAO,CAACW,KAAR,EAAhB;;IACA,IAAI,CAACD,OAAL,EAAc;MACV,MAAM,IAAIE,KAAJ,CAAW,oEAAX,CAAN;IACH;;IAEDd,GAAG,CAACe,IAAJ,CAASpB,GAAT,EAAc,OAAOqB,OAAP,EAAgBC,KAAhB,KAA0B;MACpC,MAAMpB,MAAM,GAAG;QACXmB,OADW;QAEXC,KAFW;QAGXlB,OAAO,EAAEC,GAAG,CAACQ,MAHF;QAIXV,OAJW;QAKXoB,aAAa,EAAEnB;MALJ,CAAf;MAOA,MAAMoB,MAAM,GAAG,MAAMP,OAAO,CAACQ,EAAR,CAAWvB,MAAX,CAArB;;MAEA,IAAIsB,MAAM,YAAY1B,KAAtB,EAA6B;QACzB,OAAO0B,MAAP;MACH;;MAEAnB,GAAD,CAAaqB,mBAAb,GAAmCF,MAAnC;MACA,OAAOF,KAAK,CAACK,IAAN,CAAW,EAAX,CAAP;IACH,CAhBD;IAiBA,OAAO,IAAAC,gBAAA,EAAQ;MACXvB,GADW;MAEXL,GAFW;MAGXG;IAHW,CAAR,CAAP;EAKH,CA7CD;AA8CH,CAjDM"}
1
+ {"version":3,"file":"raw/index.js","sources":["../../src/raw/index.ts"],"sourcesContent":["/**\n * This is the handler implementation for @webiny/handler/plugins/EventPlugin.\n * This is mostly meant for some custom lambda calls as we are sometimes invoking lambdas directly.\n *\n * We should try to have some kind of standardized event type implementation at some point.\n */\nimport type {\n APIGatewayProxyResult,\n Context as LambdaContext\n} from \"@webiny/aws-sdk/types/index.js\";\nimport type { CreateHandlerParams as BaseCreateHandlerParams } from \"@webiny/handler\";\nimport { createHandler as createBaseHandler } from \"@webiny/handler\";\nimport { RawEventHandler } from \"~/raw/plugins/RawEventHandler.js\";\nimport { registerDefaultPlugins } from \"~/plugins/index.js\";\nimport { execute } from \"~/execute.js\";\nimport { createComposedHandler } from \"~/utils/composedHandler.js\";\nimport type { Context, Request } from \"@webiny/handler/types.js\";\n\n// @ts-expect-error\nimport Reply from \"fastify/lib/reply.js\";\n\nconst url = \"/webiny-raw-event\";\n\nexport interface HandlerCallable<Payload, Response = APIGatewayProxyResult> {\n (payload: Payload, context: LambdaContext): Promise<Response>;\n}\n\nexport type CreateHandlerParams = BaseCreateHandlerParams;\n\ninterface HandlerParams<Payload = any> {\n request: Request;\n context: Context;\n payload: Payload;\n lambdaContext: LambdaContext;\n reply: Record<string, any>;\n next: () => Promise<Payload>;\n}\n\nexport const createHandler = <Payload = any, Response = APIGatewayProxyResult>(\n params: CreateHandlerParams\n): HandlerCallable<Payload, Response> => {\n return (payload, 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 * There must be an event plugin for this handler to work.\n */\n const plugins = app.webiny.plugins\n .byType<RawEventHandler<Payload, any, Response>>(RawEventHandler.type)\n .filter(plugin => {\n /**\n * Just in case check that the plugin contains canHandle method.\n * If it does not, we assume it can handle any payload.\n */\n if (typeof plugin.canHandle !== \"function\") {\n return true;\n }\n return plugin.canHandle(payload);\n })\n .reverse();\n if (plugins.length === 0) {\n throw new Error(`To run @webiny/handler-aws/raw, you must have RawEventHandler set.`);\n }\n\n const handler = createComposedHandler<\n RawEventHandler<Payload, any, Response>,\n HandlerParams,\n Response\n >(plugins);\n\n app.post(url, async (request, reply) => {\n const params: Omit<HandlerParams, \"next\"> = {\n request,\n reply,\n context: app.webiny,\n payload,\n lambdaContext: context\n };\n const result = await handler(params as unknown as HandlerParams);\n\n if (result instanceof Reply) {\n return result;\n }\n\n app.__webiny_raw_result = result;\n return reply.send({});\n });\n return execute({\n app,\n url,\n payload\n });\n };\n};\n\nexport * from \"./plugins/RawEventHandler.js\";\n"],"names":["url","createHandler","params","payload","context","app","createBaseHandler","registerDefaultPlugins","plugins","RawEventHandler","plugin","Error","handler","createComposedHandler","request","reply","result","Reply","execute"],"mappings":";;;;;;;AAqBA,MAAMA,MAAM;AAiBL,MAAMC,oBAAgB,CACzBC,SAEO,CAACC,SAASC;QACb,MAAMC,MAAMC,cAAkB;YAC1B,GAAGJ,MAAM;YACT,SAAS;gBACL,QAAQA,AAAiB,SAAjBA,OAAO,KAAK;gBACpB,GAAIA,OAAO,OAAO,IAAI,CAAC,CAAC;YAC5B;QACJ;QAIAK,uBAAuBF,IAAI,MAAM;QAIjC,MAAMG,UAAUH,IAAI,MAAM,CAAC,OAAO,CAC7B,MAAM,CAA0CI,gBAAgB,IAAI,EACpE,MAAM,CAACC,CAAAA;YAKJ,IAAI,AAA4B,cAA5B,OAAOA,OAAO,SAAS,EACvB,OAAO;YAEX,OAAOA,OAAO,SAAS,CAACP;QAC5B,GACC,OAAO;QACZ,IAAIK,AAAmB,MAAnBA,QAAQ,MAAM,EACd,MAAM,IAAIG,MAAM;QAGpB,MAAMC,UAAUC,sBAIdL;QAEFH,IAAI,IAAI,CAACL,KAAK,OAAOc,SAASC;YAC1B,MAAMb,SAAsC;gBACxCY;gBACAC;gBACA,SAASV,IAAI,MAAM;gBACnBF;gBACA,eAAeC;YACnB;YACA,MAAMY,SAAS,MAAMJ,QAAQV;YAE7B,IAAIc,kBAAkBC,WAClB,OAAOD;YAGXX,IAAI,mBAAmB,GAAGW;YAC1B,OAAOD,MAAM,IAAI,CAAC,CAAC;QACvB;QACA,OAAOG,QAAQ;YACXb;YACAL,KAAAA;YACAG;QACJ;IACJ"}
@@ -1,13 +1,24 @@
1
- import { Reply, Context as BaseContext } from "@webiny/handler/types";
2
- import { Context as LambdaContext } from "aws-lambda";
3
- import { EventPlugin, EventPluginCallableParams } from "@webiny/handler";
1
+ import type { Context as LambdaContext } from "@webiny/aws-sdk/types/index.js";
2
+ import type { Context as BaseContext, Reply } from "@webiny/handler/types.js";
3
+ import type { EventPluginCallableParams } from "@webiny/handler";
4
+ import { EventPlugin } from "@webiny/handler";
4
5
  export interface RawEventHandlerCallableParams<Event, Context extends BaseContext> extends EventPluginCallableParams<Event, Context> {
5
6
  lambdaContext: LambdaContext;
6
7
  }
7
8
  export interface RawEventHandlerCallable<Event, Context extends BaseContext, Response> {
8
9
  (params: RawEventHandlerCallableParams<Event, Context>): Promise<Response | Reply>;
9
10
  }
10
- export declare class RawEventHandler<Event = any, Context extends BaseContext = BaseContext, Response = any> extends EventPlugin {
11
- constructor(cb: RawEventHandlerCallable<Event, Context, Response>);
11
+ export interface RawEventHandlerParamsConfig<Event = any, Context extends BaseContext = BaseContext, Response = any> {
12
+ canHandle(event: Event): boolean;
13
+ handle: RawEventHandlerCallable<Event, Context, Response>;
12
14
  }
13
- export declare const createEventHandler: <Event_1 = any, Context extends BaseContext = BaseContext, Response_1 = any>(cb: RawEventHandlerCallable<Event_1, Context, Response_1>) => RawEventHandler<Event_1, Context, Response_1>;
15
+ export type RawEventHandlerParams<Event = any, Context extends BaseContext = BaseContext, Response = any> = RawEventHandlerCallable<Event, Context, Response> | RawEventHandlerParamsConfig<Event, Context, Response>;
16
+ export declare class RawEventHandler<Event = any, Context extends BaseContext = BaseContext, Response = any> extends EventPlugin<Event, Context, Response> {
17
+ private readonly params;
18
+ constructor(params: RawEventHandlerParams<Event, Context, Response>);
19
+ /**
20
+ *
21
+ */
22
+ canHandle(event: Event): boolean;
23
+ }
24
+ export declare const createEventHandler: <Event = any, Context extends BaseContext = BaseContext, Response = any>(params: RawEventHandlerParams<Event, Context, Response>) => RawEventHandler<Event, Context, Response>;
@@ -1,23 +1,16 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createEventHandler = exports.RawEventHandler = void 0;
7
-
8
- var _handler = require("@webiny/handler");
9
-
10
- class RawEventHandler extends _handler.EventPlugin {
11
- constructor(cb) {
12
- super(cb);
13
- }
14
-
1
+ import { EventPlugin } from "@webiny/handler";
2
+ class RawEventHandler extends EventPlugin {
3
+ constructor(params){
4
+ const cb = "function" == typeof params ? params : params.handle;
5
+ super(cb);
6
+ this.params = params;
7
+ }
8
+ canHandle(event) {
9
+ if ("function" == typeof this.params || !this.params?.canHandle) return true;
10
+ return this.params.canHandle(event);
11
+ }
15
12
  }
13
+ const createEventHandler = (params)=>new RawEventHandler(params);
14
+ export { RawEventHandler, createEventHandler };
16
15
 
17
- exports.RawEventHandler = RawEventHandler;
18
-
19
- const createEventHandler = cb => {
20
- return new RawEventHandler(cb);
21
- };
22
-
23
- exports.createEventHandler = createEventHandler;
16
+ //# sourceMappingURL=RawEventHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RawEventHandler","EventPlugin","constructor","cb","createEventHandler"],"sources":["RawEventHandler.ts"],"sourcesContent":["import { Reply, Context as BaseContext } from \"@webiny/handler/types\";\nimport { Context as LambdaContext } from \"aws-lambda\";\nimport { EventPlugin, EventPluginCallableParams } from \"@webiny/handler\";\n\nexport interface RawEventHandlerCallableParams<Event, Context extends BaseContext>\n extends EventPluginCallableParams<Event, Context> {\n lambdaContext: LambdaContext;\n}\nexport interface RawEventHandlerCallable<Event, Context extends BaseContext, Response> {\n (params: RawEventHandlerCallableParams<Event, Context>): Promise<Response | Reply>;\n}\n\nexport class RawEventHandler<\n Event = any,\n Context extends BaseContext = BaseContext,\n Response = any\n> extends EventPlugin {\n public constructor(cb: RawEventHandlerCallable<Event, Context, Response>) {\n super(cb as any);\n }\n}\n\nexport const createEventHandler = <\n Event = any,\n Context extends BaseContext = BaseContext,\n Response = any\n>(\n cb: RawEventHandlerCallable<Event, Context, Response>\n) => {\n return new RawEventHandler<Event, Context, Response>(cb);\n};\n"],"mappings":";;;;;;;AAEA;;AAUO,MAAMA,eAAN,SAIGC,oBAJH,CAIe;EACXC,WAAW,CAACC,EAAD,EAAwD;IACtE,MAAMA,EAAN;EACH;;AAHiB;;;;AAMf,MAAMC,kBAAkB,GAK3BD,EAL8B,IAM7B;EACD,OAAO,IAAIH,eAAJ,CAA8CG,EAA9C,CAAP;AACH,CARM"}
1
+ {"version":3,"file":"raw/plugins/RawEventHandler.js","sources":["../../../src/raw/plugins/RawEventHandler.ts"],"sourcesContent":["import type { Context as LambdaContext } from \"@webiny/aws-sdk/types/index.js\";\nimport type { Context as BaseContext, Reply } from \"@webiny/handler/types.js\";\nimport type { EventPluginCallableParams } from \"@webiny/handler\";\nimport { EventPlugin } from \"@webiny/handler\";\n\nexport interface RawEventHandlerCallableParams<\n Event,\n Context extends BaseContext\n> extends EventPluginCallableParams<Event, Context> {\n lambdaContext: LambdaContext;\n}\nexport interface RawEventHandlerCallable<Event, Context extends BaseContext, Response> {\n (params: RawEventHandlerCallableParams<Event, Context>): Promise<Response | Reply>;\n}\n\nexport interface RawEventHandlerParamsConfig<\n Event = any,\n Context extends BaseContext = BaseContext,\n Response = any\n> {\n canHandle(event: Event): boolean;\n handle: RawEventHandlerCallable<Event, Context, Response>;\n}\n\nexport type RawEventHandlerParams<\n Event = any,\n Context extends BaseContext = BaseContext,\n Response = any\n> =\n | RawEventHandlerCallable<Event, Context, Response>\n | RawEventHandlerParamsConfig<Event, Context, Response>;\n\nexport class RawEventHandler<\n Event = any,\n Context extends BaseContext = BaseContext,\n Response = any\n> extends EventPlugin<Event, Context, Response> {\n private readonly params: RawEventHandlerParams<Event, Context, Response>;\n\n public constructor(params: RawEventHandlerParams<Event, Context, Response>) {\n const cb = typeof params === \"function\" ? params : params.handle;\n /**\n * Callable is correct, TS is just having problems with the override.\n */\n // @ts-expect-error\n super(cb);\n this.params = params;\n }\n /**\n *\n */\n public canHandle(event: Event): boolean {\n if (typeof this.params === \"function\" || !this.params?.canHandle) {\n return true;\n }\n return this.params.canHandle(event);\n }\n}\n\nexport const createEventHandler = <\n Event = any,\n Context extends BaseContext = BaseContext,\n Response = any\n>(\n params: RawEventHandlerParams<Event, Context, Response>\n) => {\n return new RawEventHandler<Event, Context, Response>(params);\n};\n"],"names":["RawEventHandler","EventPlugin","params","cb","event","createEventHandler"],"mappings":";AAgCO,MAAMA,wBAIHC;IAGN,YAAmBC,MAAuD,CAAE;QACxE,MAAMC,KAAK,AAAkB,cAAlB,OAAOD,SAAwBA,SAASA,OAAO,MAAM;QAKhE,KAAK,CAACC;QACN,IAAI,CAAC,MAAM,GAAGD;IAClB;IAIO,UAAUE,KAAY,EAAW;QACpC,IAAI,AAAuB,cAAvB,OAAO,IAAI,CAAC,MAAM,IAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,WACnD,OAAO;QAEX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAACA;IACjC;AACJ;AAEO,MAAMC,qBAAqB,CAK9BH,SAEO,IAAIF,gBAA0CE"}