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

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 (99) hide show
  1. package/README.md +10 -14
  2. package/createHandler.d.ts +1 -1
  3. package/createHandler.js +12 -12
  4. package/createHandler.js.map +1 -1
  5. package/dynamodb/index.d.ts +4 -4
  6. package/dynamodb/index.js +16 -36
  7. package/dynamodb/index.js.map +1 -1
  8. package/dynamodb/plugins/DynamoDBEventHandler.d.ts +4 -4
  9. package/dynamodb/plugins/DynamoDBEventHandler.js +3 -11
  10. package/dynamodb/plugins/DynamoDBEventHandler.js.map +1 -1
  11. package/dynamodb/register.js +6 -8
  12. package/dynamodb/register.js.map +1 -1
  13. package/eventBridge/index.d.ts +4 -4
  14. package/eventBridge/index.js +16 -36
  15. package/eventBridge/index.js.map +1 -1
  16. package/eventBridge/plugins/EventBridgeEventHandler.d.ts +4 -4
  17. package/eventBridge/plugins/EventBridgeEventHandler.js +3 -11
  18. package/eventBridge/plugins/EventBridgeEventHandler.js.map +1 -1
  19. package/eventBridge/register.d.ts +1 -1
  20. package/eventBridge/register.js +6 -8
  21. package/eventBridge/register.js.map +1 -1
  22. package/execute.d.ts +1 -1
  23. package/execute.js +12 -10
  24. package/execute.js.map +1 -1
  25. package/gateway/index.d.ts +4 -4
  26. package/gateway/index.js +16 -30
  27. package/gateway/index.js.map +1 -1
  28. package/gateway/register.js +6 -8
  29. package/gateway/register.js.map +1 -1
  30. package/index.d.ts +17 -16
  31. package/index.js +45 -359
  32. package/index.js.map +1 -1
  33. package/package.json +15 -24
  34. package/plugins/handlerClient.js +6 -13
  35. package/plugins/handlerClient.js.map +1 -1
  36. package/plugins/index.d.ts +1 -1
  37. package/plugins/index.js +3 -10
  38. package/plugins/index.js.map +1 -1
  39. package/raw/index.d.ts +5 -6
  40. package/raw/index.js +23 -33
  41. package/raw/index.js.map +1 -1
  42. package/raw/plugins/RawEventHandler.d.ts +16 -5
  43. package/raw/plugins/RawEventHandler.js +16 -13
  44. package/raw/plugins/RawEventHandler.js.map +1 -1
  45. package/registry.d.ts +9 -3
  46. package/registry.js +8 -8
  47. package/registry.js.map +1 -1
  48. package/s3/index.d.ts +4 -5
  49. package/s3/index.js +16 -36
  50. package/s3/index.js.map +1 -1
  51. package/s3/plugins/S3EventHandler.d.ts +4 -4
  52. package/s3/plugins/S3EventHandler.js +3 -11
  53. package/s3/plugins/S3EventHandler.js.map +1 -1
  54. package/s3/register.d.ts +1 -1
  55. package/s3/register.js +6 -8
  56. package/s3/register.js.map +1 -1
  57. package/sns/index.d.ts +4 -5
  58. package/sns/index.js +16 -36
  59. package/sns/index.js.map +1 -1
  60. package/sns/plugins/SNSEventHandler.d.ts +4 -4
  61. package/sns/plugins/SNSEventHandler.js +3 -11
  62. package/sns/plugins/SNSEventHandler.js.map +1 -1
  63. package/sns/register.js +6 -8
  64. package/sns/register.js.map +1 -1
  65. package/sourceHandler.d.ts +2 -2
  66. package/sourceHandler.js +1 -8
  67. package/sourceHandler.js.map +1 -1
  68. package/sqs/index.d.ts +4 -5
  69. package/sqs/index.js +20 -37
  70. package/sqs/index.js.map +1 -1
  71. package/sqs/plugins/SQSEventHandler.d.ts +4 -4
  72. package/sqs/plugins/SQSEventHandler.js +3 -11
  73. package/sqs/plugins/SQSEventHandler.js.map +1 -1
  74. package/sqs/register.js +6 -8
  75. package/sqs/register.js.map +1 -1
  76. package/types.d.ts +9 -10
  77. package/types.js +3 -54
  78. package/types.js.map +1 -1
  79. package/utils/composedHandler.d.ts +3 -3
  80. package/utils/composedHandler.js +3 -10
  81. package/utils/composedHandler.js.map +1 -1
  82. package/utils/index.d.ts +2 -0
  83. package/utils/index.js +4 -0
  84. package/utils/index.js.map +1 -0
  85. package/utils/timer/CustomTimer.d.ts +5 -0
  86. package/utils/timer/CustomTimer.js +12 -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 +17 -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 +3 -0
  93. package/utils/timer/abstractions/ITimer.js.map +1 -0
  94. package/utils/timer/factory.d.ts +4 -0
  95. package/utils/timer/factory.js +13 -0
  96. package/utils/timer/factory.js.map +1 -0
  97. package/utils/timer/index.d.ts +4 -0
  98. package/utils/timer/index.js +5 -0
  99. package/utils/timer/index.js.map +1 -0
package/sqs/register.js CHANGED
@@ -1,9 +1,7 @@
1
- "use strict";
2
-
3
- var _registry = require("../registry");
4
- var _index = require("./index");
5
- var _sourceHandler = require("../sourceHandler");
6
- const handler = (0, _sourceHandler.createSourceHandler)({
1
+ import { registry } from "../registry.js";
2
+ import { createHandler } from "./index.js";
3
+ import { createSourceHandler } from "../sourceHandler.js";
4
+ const handler = createSourceHandler({
7
5
  name: "handler-aws-sqs",
8
6
  canUse: event => {
9
7
  if (!Array.isArray(event.Records) || event.Records.length === 0) {
@@ -20,9 +18,9 @@ const handler = (0, _sourceHandler.createSourceHandler)({
20
18
  event,
21
19
  context
22
20
  }) => {
23
- return (0, _index.createHandler)(params)(event, context);
21
+ return createHandler(params)(event, context);
24
22
  }
25
23
  });
26
- _registry.registry.register(handler);
24
+ registry.register(handler);
27
25
 
28
26
  //# sourceMappingURL=register.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_registry","require","_index","_sourceHandler","handler","createSourceHandler","name","canUse","event","Array","isArray","Records","length","record","eventSource","toLowerCase","handle","params","context","createHandler","registry","register"],"sources":["register.ts"],"sourcesContent":["import { registry } from \"~/registry\";\nimport { SQSEvent } from \"aws-lambda\";\nimport { createHandler, HandlerParams } from \"./index\";\nimport { createSourceHandler } from \"~/sourceHandler\";\n\nconst handler = createSourceHandler<SQSEvent, HandlerParams>({\n name: \"handler-aws-sqs\",\n canUse: event => {\n if (!Array.isArray(event.Records) || event.Records.length === 0) {\n return false;\n }\n const [record] = event.Records;\n if (typeof record.eventSource !== \"string\") {\n return false;\n }\n return record.eventSource.toLowerCase() === \"aws:sqs\";\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,MAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAEA,MAAMG,OAAO,GAAG,IAAAC,kCAAmB,EAA0B;EACzDC,IAAI,EAAE,iBAAiB;EACvBC,MAAM,EAAEC,KAAK,IAAI;IACb,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,KAAK,CAACG,OAAO,CAAC,IAAIH,KAAK,CAACG,OAAO,CAACC,MAAM,KAAK,CAAC,EAAE;MAC7D,OAAO,KAAK;IAChB;IACA,MAAM,CAACC,MAAM,CAAC,GAAGL,KAAK,CAACG,OAAO;IAC9B,IAAI,OAAOE,MAAM,CAACC,WAAW,KAAK,QAAQ,EAAE;MACxC,OAAO,KAAK;IAChB;IACA,OAAOD,MAAM,CAACC,WAAW,CAACC,WAAW,CAAC,CAAC,KAAK,SAAS;EACzD,CAAC;EACDC,MAAM,EAAE,MAAAA,CAAO;IAAEC,MAAM;IAAET,KAAK;IAAEU;EAAQ,CAAC,KAAK;IAC1C,OAAO,IAAAC,oBAAa,EAACF,MAAM,CAAC,CAACT,KAAK,EAAEU,OAAO,CAAC;EAChD;AACJ,CAAC,CAAC;AAEFE,kBAAQ,CAACC,QAAQ,CAACjB,OAAO,CAAC"}
1
+ {"version":3,"names":["registry","createHandler","createSourceHandler","handler","name","canUse","event","Array","isArray","Records","length","record","eventSource","toLowerCase","handle","params","context","register"],"sources":["register.ts"],"sourcesContent":["import type { SQSEvent } from \"@webiny/aws-sdk/types/index.js\";\nimport { registry } from \"~/registry.js\";\nimport type { HandlerParams } from \"./index.js\";\nimport { createHandler } from \"./index.js\";\nimport { createSourceHandler } from \"~/sourceHandler.js\";\n\nconst handler = createSourceHandler<SQSEvent, HandlerParams>({\n name: \"handler-aws-sqs\",\n canUse: event => {\n if (!Array.isArray(event.Records) || event.Records.length === 0) {\n return false;\n }\n const [record] = event.Records;\n if (typeof record.eventSource !== \"string\") {\n return false;\n }\n return record.eventSource.toLowerCase() === \"aws:sqs\";\n },\n handle: async ({ params, event, context }) => {\n return createHandler(params)(event, context);\n }\n});\n\nregistry.register(handler);\n"],"mappings":"AACA,SAASA,QAAQ;AAEjB,SAASC,aAAa;AACtB,SAASC,mBAAmB;AAE5B,MAAMC,OAAO,GAAGD,mBAAmB,CAA0B;EACzDE,IAAI,EAAE,iBAAiB;EACvBC,MAAM,EAAEC,KAAK,IAAI;IACb,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,KAAK,CAACG,OAAO,CAAC,IAAIH,KAAK,CAACG,OAAO,CAACC,MAAM,KAAK,CAAC,EAAE;MAC7D,OAAO,KAAK;IAChB;IACA,MAAM,CAACC,MAAM,CAAC,GAAGL,KAAK,CAACG,OAAO;IAC9B,IAAI,OAAOE,MAAM,CAACC,WAAW,KAAK,QAAQ,EAAE;MACxC,OAAO,KAAK;IAChB;IACA,OAAOD,MAAM,CAACC,WAAW,CAACC,WAAW,CAAC,CAAC,KAAK,SAAS;EACzD,CAAC;EACDC,MAAM,EAAE,MAAAA,CAAO;IAAEC,MAAM;IAAET,KAAK;IAAEU;EAAQ,CAAC,KAAK;IAC1C,OAAOf,aAAa,CAACc,MAAM,CAAC,CAACT,KAAK,EAAEU,OAAO,CAAC;EAChD;AACJ,CAAC,CAAC;AAEFhB,QAAQ,CAACiB,QAAQ,CAACd,OAAO,CAAC","ignoreList":[]}
package/types.d.ts CHANGED
@@ -1,11 +1,13 @@
1
- import { APIGatewayEvent, Context as LambdaContext, APIGatewayEventRequestContextWithAuthorizer, DynamoDBStreamEvent, EventBridgeEvent, S3Event, SQSEvent, SNSEvent } from "aws-lambda";
1
+ import type { APIGatewayEvent, APIGatewayEventRequestContextWithAuthorizer, AttributeValue, Context as LambdaContext, DynamoDBRecord, DynamoDBStreamEvent, EventBridgeEvent, S3Event, SNSEvent, SQSEvent } from "@webiny/aws-sdk/types/index.js";
2
2
  import "fastify";
3
- import { CreateHandlerParams as BaseCreateHandlerParams } from "@webiny/handler";
4
- import { LambdaFastifyOptions as LambdaOptions } from "@fastify/aws-lambda";
5
- export { HandlerRegistry } from "./registry";
6
- export * from "@webiny/handler/types";
7
- export { APIGatewayEvent, LambdaContext, APIGatewayEventRequestContextWithAuthorizer };
8
- export declare type HandlerEvent = APIGatewayEvent | SNSEvent | SQSEvent | S3Event | EventBridgeEvent<string, string> | DynamoDBStreamEvent;
3
+ import type { CreateHandlerParams as BaseCreateHandlerParams } from "@webiny/handler";
4
+ import type { LambdaFastifyOptions as LambdaOptions } from "@fastify/aws-lambda";
5
+ import type { GenericRecord } from "@webiny/utils";
6
+ export type { AttributeValue, DynamoDBRecord };
7
+ export type { HandlerRegistry } from "./registry.js";
8
+ export * from "@webiny/handler/types.js";
9
+ export type { APIGatewayEvent, LambdaContext, APIGatewayEventRequestContextWithAuthorizer };
10
+ export type HandlerEvent = APIGatewayEvent | SNSEvent | SQSEvent | S3Event | EventBridgeEvent<string, string> | DynamoDBStreamEvent | GenericRecord<string>;
9
11
  export interface EventResolver<T = any> {
10
12
  (event: HandlerEvent, context: LambdaContext): T;
11
13
  }
@@ -30,9 +32,6 @@ export declare enum Base64EncodeHeader {
30
32
  binary = "x-webiny-binary"
31
33
  }
32
34
  declare module "fastify" {
33
- interface FastifyInstance {
34
- __webiny_raw_result: any;
35
- }
36
35
  interface FastifyRequest {
37
36
  awsLambda: {
38
37
  event: APIGatewayEvent;
package/types.js CHANGED
@@ -1,60 +1,9 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- Base64EncodeHeader: true,
8
- APIGatewayEvent: true,
9
- LambdaContext: true,
10
- APIGatewayEventRequestContextWithAuthorizer: true,
11
- HandlerRegistry: true
12
- };
13
- Object.defineProperty(exports, "APIGatewayEvent", {
14
- enumerable: true,
15
- get: function () {
16
- return _awsLambda.APIGatewayEvent;
17
- }
18
- });
19
- Object.defineProperty(exports, "APIGatewayEventRequestContextWithAuthorizer", {
20
- enumerable: true,
21
- get: function () {
22
- return _awsLambda.APIGatewayEventRequestContextWithAuthorizer;
23
- }
24
- });
25
- exports.Base64EncodeHeader = void 0;
26
- Object.defineProperty(exports, "HandlerRegistry", {
27
- enumerable: true,
28
- get: function () {
29
- return _registry.HandlerRegistry;
30
- }
31
- });
32
- Object.defineProperty(exports, "LambdaContext", {
33
- enumerable: true,
34
- get: function () {
35
- return _awsLambda.Context;
36
- }
37
- });
38
- var _awsLambda = require("aws-lambda");
39
- require("fastify");
40
- var _registry = require("./registry");
41
- var _types = require("@webiny/handler/types");
42
- Object.keys(_types).forEach(function (key) {
43
- if (key === "default" || key === "__esModule") return;
44
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
45
- if (key in exports && exports[key] === _types[key]) return;
46
- Object.defineProperty(exports, key, {
47
- enumerable: true,
48
- get: function () {
49
- return _types[key];
50
- }
51
- });
52
- });
53
- let Base64EncodeHeader = /*#__PURE__*/function (Base64EncodeHeader) {
1
+ import "fastify";
2
+ export * from "@webiny/handler/types.js";
3
+ export let Base64EncodeHeader = /*#__PURE__*/function (Base64EncodeHeader) {
54
4
  Base64EncodeHeader["encoded"] = "x-webiny-base64-encoded";
55
5
  Base64EncodeHeader["binary"] = "x-webiny-binary";
56
6
  return Base64EncodeHeader;
57
7
  }({});
58
- exports.Base64EncodeHeader = Base64EncodeHeader;
59
8
 
60
9
  //# sourceMappingURL=types.js.map
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_awsLambda","require","_registry","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","Base64EncodeHeader"],"sources":["types.ts"],"sourcesContent":["import {\n APIGatewayEvent,\n Context as LambdaContext,\n APIGatewayEventRequestContextWithAuthorizer,\n DynamoDBStreamEvent,\n EventBridgeEvent,\n S3Event,\n SQSEvent,\n SNSEvent\n} from \"aws-lambda\";\nimport \"fastify\";\nimport { CreateHandlerParams as BaseCreateHandlerParams } from \"@webiny/handler\";\nimport { LambdaFastifyOptions as LambdaOptions } from \"@fastify/aws-lambda\";\n\nexport { HandlerRegistry } from \"~/registry\";\n\nexport * from \"@webiny/handler/types\";\n\nexport { APIGatewayEvent, LambdaContext, APIGatewayEventRequestContextWithAuthorizer };\n\nexport type HandlerEvent =\n | APIGatewayEvent\n | SNSEvent\n | SQSEvent\n | S3Event\n | EventBridgeEvent<string, string>\n | DynamoDBStreamEvent;\n\nexport interface EventResolver<T = any> {\n (event: HandlerEvent, context: LambdaContext): T;\n}\n\nexport interface HandlerFactoryParams extends BaseCreateHandlerParams {\n lambdaOptions?: LambdaOptions;\n}\n\nexport interface HandlerFactory<T extends HandlerFactoryParams = HandlerFactoryParams, R = any> {\n (params: T): EventResolver<R>;\n}\n\nexport interface HandlerParams<E, P extends HandlerFactoryParams> {\n params: P;\n event: E;\n context: LambdaContext;\n}\n\nexport interface SourceHandler<\n E = HandlerEvent,\n P extends HandlerFactoryParams = HandlerFactoryParams,\n T = any\n> {\n name: string;\n canUse: (event: Partial<E>, context: LambdaContext) => boolean;\n handle: (params: HandlerParams<E, P>) => Promise<T>;\n}\n\nexport enum Base64EncodeHeader {\n encoded = \"x-webiny-base64-encoded\",\n binary = \"x-webiny-binary\"\n}\n\ndeclare module \"fastify\" {\n interface FastifyInstance {\n __webiny_raw_result: any;\n }\n interface FastifyRequest {\n awsLambda: {\n event: APIGatewayEvent;\n context: LambdaContext;\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAUAA,OAAA;AAIA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAF,MAAA,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,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAAsC,IAwC1BS,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAAAJ,OAAA,CAAAI,kBAAA,GAAAA,kBAAA"}
1
+ {"version":3,"names":["Base64EncodeHeader"],"sources":["types.ts"],"sourcesContent":["import type {\n APIGatewayEvent,\n APIGatewayEventRequestContextWithAuthorizer,\n AttributeValue,\n Context as LambdaContext,\n DynamoDBRecord,\n DynamoDBStreamEvent,\n EventBridgeEvent,\n S3Event,\n SNSEvent,\n SQSEvent\n} from \"@webiny/aws-sdk/types/index.js\";\nimport \"fastify\";\nimport type { CreateHandlerParams as BaseCreateHandlerParams } from \"@webiny/handler\";\nimport type { LambdaFastifyOptions as LambdaOptions } from \"@fastify/aws-lambda\";\nimport type { GenericRecord } from \"@webiny/utils\";\n\nexport type { AttributeValue, DynamoDBRecord };\n\nexport type { HandlerRegistry } from \"~/registry.js\";\n\nexport * from \"@webiny/handler/types.js\";\n\nexport type { APIGatewayEvent, LambdaContext, APIGatewayEventRequestContextWithAuthorizer };\n\nexport type HandlerEvent =\n | APIGatewayEvent\n | SNSEvent\n | SQSEvent\n | S3Event\n | EventBridgeEvent<string, string>\n | DynamoDBStreamEvent\n | GenericRecord<string>;\n\nexport interface EventResolver<T = any> {\n (event: HandlerEvent, context: LambdaContext): T;\n}\n\nexport interface HandlerFactoryParams extends BaseCreateHandlerParams {\n lambdaOptions?: LambdaOptions;\n}\n\nexport interface HandlerFactory<T extends HandlerFactoryParams = HandlerFactoryParams, R = any> {\n (params: T): EventResolver<R>;\n}\n\nexport interface HandlerParams<E, P extends HandlerFactoryParams> {\n params: P;\n event: E;\n context: LambdaContext;\n}\n\nexport interface SourceHandler<\n E = HandlerEvent,\n P extends HandlerFactoryParams = HandlerFactoryParams,\n T = any\n> {\n name: string;\n canUse: (event: Partial<E>, context: LambdaContext) => boolean;\n handle: (params: HandlerParams<E, P>) => Promise<T>;\n}\n\nexport enum Base64EncodeHeader {\n encoded = \"x-webiny-base64-encoded\",\n binary = \"x-webiny-binary\"\n}\n\ndeclare module \"fastify\" {\n interface FastifyRequest {\n awsLambda: {\n event: APIGatewayEvent;\n context: LambdaContext;\n };\n }\n}\n"],"mappings":"AAYA,OAAO,SAAS;AAShB,cAAc,0BAA0B;AAyCxC,WAAYA,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { Plugin } from "@webiny/plugins/types";
2
- declare type WrappedInput<TInput, TOutput> = TInput & {
1
+ import type { Plugin } from "@webiny/plugins/types.js";
2
+ type WrappedInput<TInput, TOutput> = TInput & {
3
3
  next: () => Promise<TOutput>;
4
4
  };
5
- export declare const createComposedHandler: <P extends Plugin<Record<string, any>>, TInput, TOutput>(plugins: P[]) => import("@webiny/utils").NextAsyncProcessor<WrappedInput<TInput, TOutput>, TOutput>;
5
+ export declare const createComposedHandler: <P extends Plugin, TInput, TOutput>(plugins: P[]) => import("@webiny/utils").NextAsyncProcessor<WrappedInput<TInput, TOutput>, TOutput>;
6
6
  export {};
@@ -1,12 +1,6 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createComposedHandler = void 0;
7
- var _utils = require("@webiny/utils");
8
- const createComposedHandler = plugins => {
9
- return (0, _utils.composeAsync)(plugins.map(plugin => {
1
+ import { composeAsync } from "@webiny/utils";
2
+ export const createComposedHandler = plugins => {
3
+ return composeAsync(plugins.map(plugin => {
10
4
  return next => {
11
5
  return async params => {
12
6
  return plugin.cb({
@@ -19,6 +13,5 @@ const createComposedHandler = plugins => {
19
13
  };
20
14
  }));
21
15
  };
22
- exports.createComposedHandler = createComposedHandler;
23
16
 
24
17
  //# sourceMappingURL=composedHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","createComposedHandler","plugins","composeAsync","map","plugin","next","params","cb","exports"],"sources":["composedHandler.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins/types\";\nimport { composeAsync } from \"@webiny/utils\";\n\ntype WrappedInput<TInput, TOutput> = TInput & {\n next: () => Promise<TOutput>;\n};\n\nexport const createComposedHandler = <P extends Plugin, TInput, TOutput>(plugins: P[]) => {\n return composeAsync<WrappedInput<TInput, TOutput>, TOutput>(\n plugins.map(plugin => {\n return next => {\n return async params => {\n return plugin.cb({\n ...params,\n next: () => {\n return next(params);\n }\n });\n };\n };\n })\n );\n};\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAMO,MAAMC,qBAAqB,GAAuCC,OAAY,IAAK;EACtF,OAAO,IAAAC,mBAAY,EACfD,OAAO,CAACE,GAAG,CAACC,MAAM,IAAI;IAClB,OAAOC,IAAI,IAAI;MACX,OAAO,MAAMC,MAAM,IAAI;QACnB,OAAOF,MAAM,CAACG,EAAE,CAAC;UACb,GAAGD,MAAM;UACTD,IAAI,EAAEA,CAAA,KAAM;YACR,OAAOA,IAAI,CAACC,MAAM,CAAC;UACvB;QACJ,CAAC,CAAC;MACN,CAAC;IACL,CAAC;EACL,CAAC,CACL,CAAC;AACL,CAAC;AAACE,OAAA,CAAAR,qBAAA,GAAAA,qBAAA"}
1
+ {"version":3,"names":["composeAsync","createComposedHandler","plugins","map","plugin","next","params","cb"],"sources":["composedHandler.ts"],"sourcesContent":["import type { Plugin } from \"@webiny/plugins/types.js\";\nimport { composeAsync } from \"@webiny/utils\";\n\ntype WrappedInput<TInput, TOutput> = TInput & {\n next: () => Promise<TOutput>;\n};\n\nexport const createComposedHandler = <P extends Plugin, TInput, TOutput>(plugins: P[]) => {\n return composeAsync<WrappedInput<TInput, TOutput>, TOutput>(\n plugins.map(plugin => {\n return next => {\n return async params => {\n return plugin.cb({\n ...params,\n next: () => {\n return next(params);\n }\n });\n };\n };\n })\n );\n};\n"],"mappings":"AACA,SAASA,YAAY,QAAQ,eAAe;AAM5C,OAAO,MAAMC,qBAAqB,GAAuCC,OAAY,IAAK;EACtF,OAAOF,YAAY,CACfE,OAAO,CAACC,GAAG,CAACC,MAAM,IAAI;IAClB,OAAOC,IAAI,IAAI;MACX,OAAO,MAAMC,MAAM,IAAI;QACnB,OAAOF,MAAM,CAACG,EAAE,CAAC;UACb,GAAGD,MAAM;UACTD,IAAI,EAAEA,CAAA,KAAM;YACR,OAAOA,IAAI,CAACC,MAAM,CAAC;UACvB;QACJ,CAAC,CAAC;MACN,CAAC;IACL,CAAC;EACL,CAAC,CACL,CAAC;AACL,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./composedHandler.js";
2
+ export * from "./timer/index.js";
package/utils/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export * from "./composedHandler.js";
2
+ export * from "./timer/index.js";
3
+
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./composedHandler.js\";\nexport * from \"./timer/index.js\";\n"],"mappings":"AAAA;AACA","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ export declare class CustomTimer {
2
+ private readonly startTime;
3
+ constructor();
4
+ getRemainingMilliseconds(): number;
5
+ }
@@ -0,0 +1,12 @@
1
+ const MAX_RUNNING_MINUTES = 14;
2
+ const MAX_RUNNING_MILLISECONDS = MAX_RUNNING_MINUTES * 60 * 1000;
3
+ export class CustomTimer {
4
+ constructor() {
5
+ this.startTime = Date.now();
6
+ }
7
+ getRemainingMilliseconds() {
8
+ return this.startTime + MAX_RUNNING_MILLISECONDS - Date.now(); // 14 minutes
9
+ }
10
+ }
11
+
12
+ //# sourceMappingURL=CustomTimer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MAX_RUNNING_MINUTES","MAX_RUNNING_MILLISECONDS","CustomTimer","constructor","startTime","Date","now","getRemainingMilliseconds"],"sources":["CustomTimer.ts"],"sourcesContent":["const MAX_RUNNING_MINUTES = 14;\nconst MAX_RUNNING_MILLISECONDS = MAX_RUNNING_MINUTES * 60 * 1000;\n\nexport class CustomTimer {\n private readonly startTime: number;\n\n public constructor() {\n this.startTime = Date.now();\n }\n\n public getRemainingMilliseconds(): number {\n return this.startTime + MAX_RUNNING_MILLISECONDS - Date.now(); // 14 minutes\n }\n}\n"],"mappings":"AAAA,MAAMA,mBAAmB,GAAG,EAAE;AAC9B,MAAMC,wBAAwB,GAAGD,mBAAmB,GAAG,EAAE,GAAG,IAAI;AAEhE,OAAO,MAAME,WAAW,CAAC;EAGdC,WAAWA,CAAA,EAAG;IACjB,IAAI,CAACC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;EAC/B;EAEOC,wBAAwBA,CAAA,EAAW;IACtC,OAAO,IAAI,CAACH,SAAS,GAAGH,wBAAwB,GAAGI,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC,CAAC;EACnE;AACJ","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { ITimer } from "./abstractions/ITimer.js";
2
+ export interface ITimerCb {
3
+ (): number;
4
+ }
5
+ export declare class Timer implements ITimer {
6
+ private readonly cb;
7
+ constructor(cb: ITimerCb);
8
+ getRemainingMilliseconds(): number;
9
+ getRemainingSeconds(): number;
10
+ }
@@ -0,0 +1,17 @@
1
+ export class Timer {
2
+ constructor(cb) {
3
+ this.cb = cb;
4
+ }
5
+ getRemainingMilliseconds() {
6
+ return this.cb();
7
+ }
8
+ getRemainingSeconds() {
9
+ const result = this.cb();
10
+ if (result > 0) {
11
+ return Math.floor(result / 1000);
12
+ }
13
+ return 0;
14
+ }
15
+ }
16
+
17
+ //# sourceMappingURL=Timer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Timer","constructor","cb","getRemainingMilliseconds","getRemainingSeconds","result","Math","floor"],"sources":["Timer.ts"],"sourcesContent":["import type { ITimer } from \"./abstractions/ITimer.js\";\n\nexport interface ITimerCb {\n (): number;\n}\n\nexport class Timer implements ITimer {\n private readonly cb: ITimerCb;\n\n public constructor(cb: ITimerCb) {\n this.cb = cb;\n }\n public getRemainingMilliseconds(): number {\n return this.cb();\n }\n\n public getRemainingSeconds(): number {\n const result = this.cb();\n if (result > 0) {\n return Math.floor(result / 1000);\n }\n return 0;\n }\n}\n"],"mappings":"AAMA,OAAO,MAAMA,KAAK,CAAmB;EAG1BC,WAAWA,CAACC,EAAY,EAAE;IAC7B,IAAI,CAACA,EAAE,GAAGA,EAAE;EAChB;EACOC,wBAAwBA,CAAA,EAAW;IACtC,OAAO,IAAI,CAACD,EAAE,CAAC,CAAC;EACpB;EAEOE,mBAAmBA,CAAA,EAAW;IACjC,MAAMC,MAAM,GAAG,IAAI,CAACH,EAAE,CAAC,CAAC;IACxB,IAAIG,MAAM,GAAG,CAAC,EAAE;MACZ,OAAOC,IAAI,CAACC,KAAK,CAACF,MAAM,GAAG,IAAI,CAAC;IACpC;IACA,OAAO,CAAC;EACZ;AACJ","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ export interface ITimer {
2
+ /**
3
+ * Return value must be in milliseconds.
4
+ */
5
+ getRemainingMilliseconds(): number;
6
+ /**
7
+ * Return value must be in seconds.
8
+ */
9
+ getRemainingSeconds(): number;
10
+ }
@@ -0,0 +1,3 @@
1
+ export {};
2
+
3
+ //# sourceMappingURL=ITimer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["ITimer.ts"],"sourcesContent":["export interface ITimer {\n /**\n * Return value must be in milliseconds.\n */\n getRemainingMilliseconds(): number;\n /**\n * Return value must be in seconds.\n */\n getRemainingSeconds(): number;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { ITimer } from "./abstractions/ITimer.js";
2
+ import type { Context as LambdaContext } from "@webiny/aws-sdk/types/index.js";
3
+ export type ITimerFactoryParams = Pick<LambdaContext, "getRemainingTimeInMillis">;
4
+ export declare const timerFactory: (params?: Partial<ITimerFactoryParams>) => ITimer;
@@ -0,0 +1,13 @@
1
+ import { CustomTimer } from "./CustomTimer.js";
2
+ import { Timer } from "./Timer.js";
3
+ export const timerFactory = params => {
4
+ const customTimer = new CustomTimer();
5
+ return new Timer(() => {
6
+ if (params?.getRemainingTimeInMillis) {
7
+ return params.getRemainingTimeInMillis();
8
+ }
9
+ return customTimer.getRemainingMilliseconds();
10
+ });
11
+ };
12
+
13
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CustomTimer","Timer","timerFactory","params","customTimer","getRemainingTimeInMillis","getRemainingMilliseconds"],"sources":["factory.ts"],"sourcesContent":["import type { ITimer } from \"./abstractions/ITimer.js\";\nimport { CustomTimer } from \"./CustomTimer.js\";\nimport type { Context as LambdaContext } from \"@webiny/aws-sdk/types/index.js\";\nimport { Timer } from \"./Timer.js\";\n\nexport type ITimerFactoryParams = Pick<LambdaContext, \"getRemainingTimeInMillis\">;\n\nexport const timerFactory = (params?: Partial<ITimerFactoryParams>): ITimer => {\n const customTimer = new CustomTimer();\n\n return new Timer(() => {\n if (params?.getRemainingTimeInMillis) {\n return params.getRemainingTimeInMillis();\n }\n return customTimer.getRemainingMilliseconds();\n });\n};\n"],"mappings":"AACA,SAASA,WAAW;AAEpB,SAASC,KAAK;AAId,OAAO,MAAMC,YAAY,GAAIC,MAAqC,IAAa;EAC3E,MAAMC,WAAW,GAAG,IAAIJ,WAAW,CAAC,CAAC;EAErC,OAAO,IAAIC,KAAK,CAAC,MAAM;IACnB,IAAIE,MAAM,EAAEE,wBAAwB,EAAE;MAClC,OAAOF,MAAM,CAACE,wBAAwB,CAAC,CAAC;IAC5C;IACA,OAAOD,WAAW,CAACE,wBAAwB,CAAC,CAAC;EACjD,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ export type * from "./abstractions/ITimer.js";
2
+ export * from "./CustomTimer.js";
3
+ export * from "./factory.js";
4
+ export * from "./Timer.js";
@@ -0,0 +1,5 @@
1
+ export * from "./CustomTimer.js";
2
+ export * from "./factory.js";
3
+ export * from "./Timer.js";
4
+
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export type * from \"./abstractions/ITimer.js\";\nexport * from \"./CustomTimer.js\";\nexport * from \"./factory.js\";\nexport * from \"./Timer.js\";\n"],"mappings":"AACA;AACA;AACA","ignoreList":[]}