@h4ad/serverless-adapter 2.9.0 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/lib/@types/binary-settings.d.ts +0 -1
  2. package/lib/@types/digital-ocean/digital-ocean-http-event.d.ts +0 -1
  3. package/lib/@types/digital-ocean/digital-ocean-http-response.d.ts +0 -1
  4. package/lib/@types/digital-ocean/index.d.ts +0 -1
  5. package/lib/@types/headers.d.ts +0 -1
  6. package/lib/@types/helpers.d.ts +0 -1
  7. package/lib/@types/huawei/huawei-api-gateway-event.d.ts +0 -1
  8. package/lib/@types/huawei/huawei-api-gateway-response.d.ts +0 -1
  9. package/lib/@types/huawei/huawei-context.d.ts +0 -1
  10. package/lib/@types/huawei/index.d.ts +0 -1
  11. package/lib/@types/index.d.ts +0 -1
  12. package/lib/adapters/aws/alb.adapter.d.ts +0 -1
  13. package/lib/adapters/aws/api-gateway-v1.adapter.d.ts +0 -1
  14. package/lib/adapters/aws/api-gateway-v2.adapter.d.ts +0 -1
  15. package/lib/adapters/aws/dynamodb.adapter.d.ts +0 -1
  16. package/lib/adapters/aws/event-bridge.adapter.d.ts +0 -1
  17. package/lib/adapters/aws/index.d.ts +1 -1
  18. package/lib/adapters/aws/index.js +1 -0
  19. package/lib/adapters/aws/index.js.map +1 -1
  20. package/lib/adapters/aws/lambda-edge.adapter.d.ts +0 -1
  21. package/lib/adapters/aws/s3.adapter.d.ts +70 -0
  22. package/lib/adapters/aws/s3.adapter.js +91 -0
  23. package/lib/adapters/aws/s3.adapter.js.map +1 -0
  24. package/lib/adapters/aws/sns.adapter.d.ts +0 -1
  25. package/lib/adapters/aws/sqs.adapter.d.ts +0 -1
  26. package/lib/adapters/azure/http-trigger-v4.adapter.d.ts +0 -1
  27. package/lib/adapters/azure/index.d.ts +0 -1
  28. package/lib/adapters/digital-ocean/http-function.adapter.d.ts +0 -1
  29. package/lib/adapters/digital-ocean/index.d.ts +0 -1
  30. package/lib/adapters/dummy/dummy.adapter.d.ts +0 -1
  31. package/lib/adapters/dummy/index.d.ts +0 -1
  32. package/lib/adapters/huawei/huawei-api-gateway.adapter.d.ts +0 -1
  33. package/lib/adapters/huawei/index.d.ts +0 -1
  34. package/lib/contracts/adapter.contract.d.ts +0 -1
  35. package/lib/contracts/framework.contract.d.ts +0 -1
  36. package/lib/contracts/handler.contract.d.ts +0 -1
  37. package/lib/contracts/index.d.ts +0 -1
  38. package/lib/contracts/resolver.contract.d.ts +0 -1
  39. package/lib/core/base-handler.d.ts +0 -1
  40. package/lib/core/constants.d.ts +0 -1
  41. package/lib/core/current-invoke.d.ts +0 -1
  42. package/lib/core/event-body.d.ts +0 -1
  43. package/lib/core/headers.d.ts +0 -1
  44. package/lib/core/index.d.ts +0 -1
  45. package/lib/core/is-binary.d.ts +0 -1
  46. package/lib/core/logger.d.ts +0 -1
  47. package/lib/core/no-op.d.ts +0 -1
  48. package/lib/core/optional.d.ts +0 -1
  49. package/lib/core/path.d.ts +0 -1
  50. package/lib/core/stream.d.ts +9 -1
  51. package/lib/core/stream.js +19 -4
  52. package/lib/core/stream.js.map +1 -1
  53. package/lib/frameworks/cors/cors.framework.d.ts +78 -0
  54. package/lib/frameworks/cors/cors.framework.js +145 -0
  55. package/lib/frameworks/cors/cors.framework.js.map +1 -0
  56. package/lib/frameworks/cors/index.d.ts +1 -0
  57. package/lib/frameworks/cors/index.js +18 -0
  58. package/lib/frameworks/cors/index.js.map +1 -0
  59. package/lib/frameworks/deepkit/http-deepkit.framework.d.ts +0 -1
  60. package/lib/frameworks/deepkit/index.d.ts +0 -1
  61. package/lib/frameworks/express/express.framework.d.ts +0 -1
  62. package/lib/frameworks/express/index.d.ts +0 -1
  63. package/lib/frameworks/fastify/fastify.framework.d.ts +0 -1
  64. package/lib/frameworks/fastify/index.d.ts +0 -1
  65. package/lib/frameworks/hapi/hapi.framework.d.ts +0 -1
  66. package/lib/frameworks/hapi/index.d.ts +0 -1
  67. package/lib/frameworks/koa/index.d.ts +0 -1
  68. package/lib/frameworks/koa/koa.framework.d.ts +0 -1
  69. package/lib/frameworks/lazy/index.d.ts +0 -1
  70. package/lib/frameworks/lazy/lazy.framework.d.ts +0 -1
  71. package/lib/frameworks/trpc/index.d.ts +0 -1
  72. package/lib/frameworks/trpc/trpc.framework.d.ts +0 -1
  73. package/lib/handlers/azure/azure.handler.d.ts +0 -1
  74. package/lib/handlers/azure/index.d.ts +0 -1
  75. package/lib/handlers/default/default.handler.d.ts +0 -1
  76. package/lib/handlers/default/index.d.ts +0 -1
  77. package/lib/handlers/digital-ocean/digital-ocean.handler.d.ts +0 -1
  78. package/lib/handlers/digital-ocean/index.d.ts +0 -1
  79. package/lib/handlers/firebase/http-firebase.handler.d.ts +0 -1
  80. package/lib/handlers/firebase/index.d.ts +0 -1
  81. package/lib/handlers/huawei/http-huawei.handler.d.ts +0 -1
  82. package/lib/handlers/huawei/index.d.ts +0 -1
  83. package/lib/index.d.ts +0 -1
  84. package/lib/network/index.d.ts +0 -1
  85. package/lib/network/request.d.ts +0 -1
  86. package/lib/network/response.d.ts +0 -1
  87. package/lib/resolvers/aws-context/aws-context.resolver.d.ts +0 -1
  88. package/lib/resolvers/aws-context/index.d.ts +0 -1
  89. package/lib/resolvers/callback/callback.resolver.d.ts +0 -1
  90. package/lib/resolvers/callback/index.d.ts +0 -1
  91. package/lib/resolvers/dummy/dummy.resolver.d.ts +0 -1
  92. package/lib/resolvers/dummy/index.d.ts +0 -1
  93. package/lib/resolvers/promise/index.d.ts +0 -1
  94. package/lib/resolvers/promise/promise.resolver.d.ts +0 -1
  95. package/lib/serverless-adapter.d.ts +0 -1
  96. package/package.json +5 -1
  97. package/lib/@types/binary-settings.d.ts.map +0 -1
  98. package/lib/@types/digital-ocean/digital-ocean-http-event.d.ts.map +0 -1
  99. package/lib/@types/digital-ocean/digital-ocean-http-response.d.ts.map +0 -1
  100. package/lib/@types/digital-ocean/index.d.ts.map +0 -1
  101. package/lib/@types/headers.d.ts.map +0 -1
  102. package/lib/@types/helpers.d.ts.map +0 -1
  103. package/lib/@types/huawei/huawei-api-gateway-event.d.ts.map +0 -1
  104. package/lib/@types/huawei/huawei-api-gateway-response.d.ts.map +0 -1
  105. package/lib/@types/huawei/huawei-context.d.ts.map +0 -1
  106. package/lib/@types/huawei/index.d.ts.map +0 -1
  107. package/lib/@types/index.d.ts.map +0 -1
  108. package/lib/adapters/aws/alb.adapter.d.ts.map +0 -1
  109. package/lib/adapters/aws/api-gateway-v1.adapter.d.ts.map +0 -1
  110. package/lib/adapters/aws/api-gateway-v2.adapter.d.ts.map +0 -1
  111. package/lib/adapters/aws/dynamodb.adapter.d.ts.map +0 -1
  112. package/lib/adapters/aws/event-bridge.adapter.d.ts.map +0 -1
  113. package/lib/adapters/aws/index.d.ts.map +0 -1
  114. package/lib/adapters/aws/lambda-edge.adapter.d.ts.map +0 -1
  115. package/lib/adapters/aws/sns.adapter.d.ts.map +0 -1
  116. package/lib/adapters/aws/sqs.adapter.d.ts.map +0 -1
  117. package/lib/adapters/azure/http-trigger-v4.adapter.d.ts.map +0 -1
  118. package/lib/adapters/azure/index.d.ts.map +0 -1
  119. package/lib/adapters/digital-ocean/http-function.adapter.d.ts.map +0 -1
  120. package/lib/adapters/digital-ocean/index.d.ts.map +0 -1
  121. package/lib/adapters/dummy/dummy.adapter.d.ts.map +0 -1
  122. package/lib/adapters/dummy/index.d.ts.map +0 -1
  123. package/lib/adapters/huawei/huawei-api-gateway.adapter.d.ts.map +0 -1
  124. package/lib/adapters/huawei/index.d.ts.map +0 -1
  125. package/lib/contracts/adapter.contract.d.ts.map +0 -1
  126. package/lib/contracts/framework.contract.d.ts.map +0 -1
  127. package/lib/contracts/handler.contract.d.ts.map +0 -1
  128. package/lib/contracts/index.d.ts.map +0 -1
  129. package/lib/contracts/resolver.contract.d.ts.map +0 -1
  130. package/lib/core/base-handler.d.ts.map +0 -1
  131. package/lib/core/constants.d.ts.map +0 -1
  132. package/lib/core/current-invoke.d.ts.map +0 -1
  133. package/lib/core/event-body.d.ts.map +0 -1
  134. package/lib/core/headers.d.ts.map +0 -1
  135. package/lib/core/index.d.ts.map +0 -1
  136. package/lib/core/is-binary.d.ts.map +0 -1
  137. package/lib/core/logger.d.ts.map +0 -1
  138. package/lib/core/no-op.d.ts.map +0 -1
  139. package/lib/core/optional.d.ts.map +0 -1
  140. package/lib/core/path.d.ts.map +0 -1
  141. package/lib/core/stream.d.ts.map +0 -1
  142. package/lib/frameworks/deepkit/http-deepkit.framework.d.ts.map +0 -1
  143. package/lib/frameworks/deepkit/index.d.ts.map +0 -1
  144. package/lib/frameworks/express/express.framework.d.ts.map +0 -1
  145. package/lib/frameworks/express/index.d.ts.map +0 -1
  146. package/lib/frameworks/fastify/fastify.framework.d.ts.map +0 -1
  147. package/lib/frameworks/fastify/index.d.ts.map +0 -1
  148. package/lib/frameworks/hapi/hapi.framework.d.ts.map +0 -1
  149. package/lib/frameworks/hapi/index.d.ts.map +0 -1
  150. package/lib/frameworks/koa/index.d.ts.map +0 -1
  151. package/lib/frameworks/koa/koa.framework.d.ts.map +0 -1
  152. package/lib/frameworks/lazy/index.d.ts.map +0 -1
  153. package/lib/frameworks/lazy/lazy.framework.d.ts.map +0 -1
  154. package/lib/frameworks/trpc/index.d.ts.map +0 -1
  155. package/lib/frameworks/trpc/trpc.framework.d.ts.map +0 -1
  156. package/lib/handlers/azure/azure.handler.d.ts.map +0 -1
  157. package/lib/handlers/azure/index.d.ts.map +0 -1
  158. package/lib/handlers/default/default.handler.d.ts.map +0 -1
  159. package/lib/handlers/default/index.d.ts.map +0 -1
  160. package/lib/handlers/digital-ocean/digital-ocean.handler.d.ts.map +0 -1
  161. package/lib/handlers/digital-ocean/index.d.ts.map +0 -1
  162. package/lib/handlers/firebase/http-firebase.handler.d.ts.map +0 -1
  163. package/lib/handlers/firebase/index.d.ts.map +0 -1
  164. package/lib/handlers/huawei/http-huawei.handler.d.ts.map +0 -1
  165. package/lib/handlers/huawei/index.d.ts.map +0 -1
  166. package/lib/index.d.ts.map +0 -1
  167. package/lib/network/index.d.ts.map +0 -1
  168. package/lib/network/request.d.ts.map +0 -1
  169. package/lib/network/response.d.ts.map +0 -1
  170. package/lib/resolvers/aws-context/aws-context.resolver.d.ts.map +0 -1
  171. package/lib/resolvers/aws-context/index.d.ts.map +0 -1
  172. package/lib/resolvers/callback/callback.resolver.d.ts.map +0 -1
  173. package/lib/resolvers/callback/index.d.ts.map +0 -1
  174. package/lib/resolvers/dummy/dummy.resolver.d.ts.map +0 -1
  175. package/lib/resolvers/dummy/index.d.ts.map +0 -1
  176. package/lib/resolvers/promise/index.d.ts.map +0 -1
  177. package/lib/resolvers/promise/promise.resolver.d.ts.map +0 -1
  178. package/lib/serverless-adapter.d.ts.map +0 -1
@@ -41,4 +41,3 @@ export declare type BinarySettings = BinarySettingsFunction | BinarySettingsCont
41
41
  export declare type __ΩBinarySettingsFunction = any[];
42
42
  export declare type __ΩBinarySettingsContentHeaders = any[];
43
43
  export declare type __ΩBinarySettings = any[];
44
- //# sourceMappingURL=binary-settings.d.ts.map
@@ -35,4 +35,3 @@ export interface DigitalOceanHttpEvent {
35
35
  __ow_path: string;
36
36
  }
37
37
  export declare type __ΩDigitalOceanHttpEvent = any[];
38
- //# sourceMappingURL=digital-ocean-http-event.d.ts.map
@@ -20,4 +20,3 @@ export interface DigitalOceanHttpResponse {
20
20
  statusCode: number;
21
21
  }
22
22
  export declare type __ΩDigitalOceanHttpResponse = any[];
23
- //# sourceMappingURL=digital-ocean-http-response.d.ts.map
@@ -1,2 +1 @@
1
1
  export * from './digital-ocean-http-event';
2
- //# sourceMappingURL=index.d.ts.map
@@ -37,4 +37,3 @@ export declare type BothValueHeaders = Record<string, string | string[] | undefi
37
37
  export declare type __ΩSingleValueHeaders = any[];
38
38
  export declare type __ΩMultiValueHeaders = any[];
39
39
  export declare type __ΩBothValueHeaders = any[];
40
- //# sourceMappingURL=headers.d.ts.map
@@ -8,4 +8,3 @@ export declare type Concrete<Type> = {
8
8
  [Property in keyof Type]-?: Type[Property];
9
9
  };
10
10
  export declare type __ΩConcrete = any[];
11
- //# sourceMappingURL=helpers.d.ts.map
@@ -82,4 +82,3 @@ export declare type __ΩHuaweiApiGatewayEvent = any[];
82
82
  export declare type __ΩHuaweiRequestPathParameters = any[];
83
83
  export declare type __ΩHuaweiRequestQueryStringParameters = any[];
84
84
  export declare type __ΩHuaweiRequestContext = any[];
85
- //# sourceMappingURL=huawei-api-gateway-event.d.ts.map
@@ -25,4 +25,3 @@ export interface HuaweiApiGatewayResponse {
25
25
  body: string;
26
26
  }
27
27
  export declare type __ΩHuaweiApiGatewayResponse = any[];
28
- //# sourceMappingURL=huawei-api-gateway-response.d.ts.map
@@ -201,4 +201,3 @@ export declare type __ΩGetPackageReturn = any[];
201
201
  export declare type __ΩGetTokenReturn = any[];
202
202
  export declare type __ΩGetLoggerReturn = any[];
203
203
  export declare type __ΩHuaweiContext = any[];
204
- //# sourceMappingURL=huawei-context.d.ts.map
@@ -1,4 +1,3 @@
1
1
  export * from './huawei-context';
2
2
  export * from './huawei-api-gateway-event';
3
3
  export * from './huawei-api-gateway-response';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,3 @@
1
1
  export * from './binary-settings';
2
2
  export * from './headers';
3
3
  export * from './helpers';
4
- //# sourceMappingURL=index.d.ts.map
@@ -64,4 +64,3 @@ export declare class AlbAdapter implements AdapterContract<ALBEvent, Context, AL
64
64
  protected getPathFromEvent(event: ALBEvent): string;
65
65
  }
66
66
  export declare type __ΩAlbAdapterOptions = any[];
67
- //# sourceMappingURL=alb.adapter.d.ts.map
@@ -69,4 +69,3 @@ export declare class ApiGatewayV1Adapter implements AdapterContract<APIGatewayPr
69
69
  protected getPathFromEvent(event: APIGatewayProxyEvent): string;
70
70
  }
71
71
  export declare type __ΩApiGatewayV1Options = any[];
72
- //# sourceMappingURL=api-gateway-v1.adapter.d.ts.map
@@ -67,4 +67,3 @@ export declare class ApiGatewayV2Adapter implements AdapterContract<APIGatewayPr
67
67
  protected getPathFromEvent(event: APIGatewayProxyEventV2): string;
68
68
  }
69
69
  export declare type __ΩApiGatewayV2Options = any[];
70
- //# sourceMappingURL=api-gateway-v2.adapter.d.ts.map
@@ -68,4 +68,3 @@ export declare class DynamoDBAdapter implements AdapterContract<DynamoDBStreamEv
68
68
  onErrorWhileForwarding({ error, delegatedResolver, }: OnErrorProps<DynamoDBStreamEvent, IEmptyResponse>): void;
69
69
  }
70
70
  export declare type __ΩDynamoDBAdapterOptions = any[];
71
- //# sourceMappingURL=dynamodb.adapter.d.ts.map
@@ -76,4 +76,3 @@ export declare class EventBridgeAdapter implements AdapterContract<EventBridgeEv
76
76
  }
77
77
  export declare type __ΩEventBridgeOptions = any[];
78
78
  export declare type __ΩEventBridgeEventAll = any[];
79
- //# sourceMappingURL=event-bridge.adapter.d.ts.map
@@ -4,6 +4,6 @@ export * from './api-gateway-v2.adapter';
4
4
  export * from './dynamodb.adapter';
5
5
  export * from './event-bridge.adapter';
6
6
  export * from './lambda-edge.adapter';
7
+ export * from './s3.adapter';
7
8
  export * from './sns.adapter';
8
9
  export * from './sqs.adapter';
9
- //# sourceMappingURL=index.d.ts.map
@@ -20,6 +20,7 @@ __exportStar(require("./api-gateway-v2.adapter"), exports);
20
20
  __exportStar(require("./dynamodb.adapter"), exports);
21
21
  __exportStar(require("./event-bridge.adapter"), exports);
22
22
  __exportStar(require("./lambda-edge.adapter"), exports);
23
+ __exportStar(require("./s3.adapter"), exports);
23
24
  __exportStar(require("./sns.adapter"), exports);
24
25
  __exportStar(require("./sqs.adapter"), exports);
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/aws/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,2DAAyC;AACzC,2DAAyC;AACzC,qDAAmC;AACnC,yDAAuC;AACvC,wDAAsC;AACtC,gDAA8B;AAC9B,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/aws/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,2DAAyC;AACzC,2DAAyC;AACzC,qDAAmC;AACnC,yDAAuC;AACvC,wDAAsC;AACtC,+CAA6B;AAC7B,gDAA8B;AAC9B,gDAA8B"}
@@ -211,4 +211,3 @@ export declare type __ΩDefaultForwardPath = any[];
211
211
  export declare type __ΩNewLambdaEdgeBody = any[];
212
212
  export declare type __ΩOldLambdaEdgeBody = any[];
213
213
  export declare type __ΩLambdaEdgeAdapterOptions = any[];
214
- //# sourceMappingURL=lambda-edge.adapter.d.ts.map
@@ -0,0 +1,70 @@
1
+ import type { Context, S3Event } from 'aws-lambda';
2
+ import { AdapterContract, AdapterRequest, OnErrorProps } from '../../contracts';
3
+ import { IEmptyResponse } from '../../core';
4
+ /**
5
+ * The options to customize the {@link S3Adapter}
6
+ *
7
+ * @breadcrumb Adapters / AWS / S3Adapter
8
+ * @public
9
+ */
10
+ export interface S3AdapterOptions {
11
+ /**
12
+ * The path that will be used to create a request to be forwarded to the framework.
13
+ *
14
+ * @defaultValue /s3
15
+ */
16
+ s3ForwardPath?: string;
17
+ /**
18
+ * The http method that will be used to create a request to be forwarded to the framework.
19
+ *
20
+ * @defaultValue POST
21
+ */
22
+ s3ForwardMethod?: string;
23
+ }
24
+ /**
25
+ * The adapter to handle requests from AWS S3.
26
+ *
27
+ * The option of `responseWithErrors` is ignored by this adapter and we always call `resolver.fail` with the error.
28
+ *
29
+ * {@link https://docs.aws.amazon.com/pt_br/lambda/latest/dg/with-s3.html | Event Reference}
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const s3ForwardPath = '/your/route/s3'; // default /s3
34
+ * const s3ForwardMethod = 'POST'; // default POST
35
+ * const adapter = new S3Adapter({ s3ForwardPath, s3ForwardMethod });
36
+ * ```
37
+ *
38
+ * @breadcrumb Adapters / AWS / S3Adapter
39
+ * @public
40
+ */
41
+ export declare class S3Adapter implements AdapterContract<S3Event, Context, IEmptyResponse> {
42
+ protected readonly options?: S3AdapterOptions | undefined;
43
+ /**
44
+ * Default constructor
45
+ *
46
+ * @param options - The options to customize the {@link S3Adapter}
47
+ */
48
+ constructor(options?: S3AdapterOptions | undefined);
49
+ /**
50
+ * {@inheritDoc}
51
+ */
52
+ getAdapterName(): string;
53
+ /**
54
+ * {@inheritDoc}
55
+ */
56
+ canHandle(event: unknown): event is S3Event;
57
+ /**
58
+ * {@inheritDoc}
59
+ */
60
+ getRequest(event: S3Event): AdapterRequest;
61
+ /**
62
+ * {@inheritDoc}
63
+ */
64
+ getResponse(): IEmptyResponse;
65
+ /**
66
+ * {@inheritDoc}
67
+ */
68
+ onErrorWhileForwarding({ error, delegatedResolver, }: OnErrorProps<S3Event, IEmptyResponse>): void;
69
+ }
70
+ export declare type __ΩS3AdapterOptions = any[];
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.S3Adapter = exports.__ΩS3AdapterOptions = void 0;
4
+ const { __ΩAdapterRequest } = require('../../contracts');
5
+ const { __ΩIEmptyResponse } = require('../../core');
6
+ const { __ΩOnErrorProps } = require('../../contracts');
7
+ const core_1 = require("../../core");
8
+ const __ΩS3AdapterOptions = ['s3ForwardPath', 's3ForwardMethod', 'P&4!8&4"8M'];
9
+ exports.__ΩS3AdapterOptions = __ΩS3AdapterOptions;
10
+ /**
11
+ * The adapter to handle requests from AWS S3.
12
+ *
13
+ * The option of `responseWithErrors` is ignored by this adapter and we always call `resolver.fail` with the error.
14
+ *
15
+ * {@link https://docs.aws.amazon.com/pt_br/lambda/latest/dg/with-s3.html | Event Reference}
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const s3ForwardPath = '/your/route/s3'; // default /s3
20
+ * const s3ForwardMethod = 'POST'; // default POST
21
+ * const adapter = new S3Adapter({ s3ForwardPath, s3ForwardMethod });
22
+ * ```
23
+ *
24
+ * @breadcrumb Adapters / AWS / S3Adapter
25
+ * @public
26
+ */
27
+ class S3Adapter {
28
+ //#region Constructor
29
+ /**
30
+ * Default constructor
31
+ *
32
+ * @param options - The options to customize the {@link S3Adapter}
33
+ */
34
+ constructor(options) {
35
+ this.options = options;
36
+ }
37
+ //#endregion
38
+ //#region Public Methods
39
+ /**
40
+ * {@inheritDoc}
41
+ */
42
+ getAdapterName() {
43
+ return S3Adapter.name;
44
+ }
45
+ /**
46
+ * {@inheritDoc}
47
+ */
48
+ canHandle(event) {
49
+ var _a;
50
+ const s3Event = event;
51
+ if (!Array.isArray(s3Event === null || s3Event === void 0 ? void 0 : s3Event.Records))
52
+ return false;
53
+ const eventSource = (_a = s3Event.Records[0]) === null || _a === void 0 ? void 0 : _a.eventSource;
54
+ return eventSource === 'aws:s3';
55
+ }
56
+ /**
57
+ * {@inheritDoc}
58
+ */
59
+ getRequest(event) {
60
+ var _a, _b;
61
+ const path = (0, core_1.getDefaultIfUndefined)((_a = this.options) === null || _a === void 0 ? void 0 : _a.s3ForwardPath, '/s3');
62
+ const method = (0, core_1.getDefaultIfUndefined)((_b = this.options) === null || _b === void 0 ? void 0 : _b.s3ForwardMethod, 'POST');
63
+ const [body, contentLength] = (0, core_1.getEventBodyAsBuffer)(JSON.stringify(event), false);
64
+ const headers = {
65
+ host: 's3.amazonaws.com',
66
+ 'content-type': 'application/json',
67
+ 'content-length': String(contentLength),
68
+ };
69
+ return {
70
+ method,
71
+ headers,
72
+ body,
73
+ path,
74
+ };
75
+ }
76
+ /**
77
+ * {@inheritDoc}
78
+ */
79
+ getResponse() {
80
+ return core_1.EmptyResponse;
81
+ }
82
+ /**
83
+ * {@inheritDoc}
84
+ */
85
+ onErrorWhileForwarding({ error, delegatedResolver, }) {
86
+ delegatedResolver.fail(error);
87
+ }
88
+ }
89
+ exports.S3Adapter = S3Adapter;
90
+ S3Adapter.__type = [() => __ΩS3AdapterOptions, 'options', 'constructor', 'getAdapterName', 'event', 'canHandle', () => __ΩAdapterRequest, 'getRequest', () => __ΩIEmptyResponse, 'getResponse', () => __ΩOnErrorProps, () => __ΩIEmptyResponse, 'param0', 'onErrorWhileForwarding', () => __ΩIEmptyResponse, 'Pn!2"8<9"0#P&0$P#2%!0&P"2%n\'0(Pn)0*P"n,o+#2-$0.5""n/6$'];
91
+ //# sourceMappingURL=s3.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3.adapter.js","sourceRoot":"","sources":["../../../src/adapters/aws/s3.adapter.ts"],"names":[],"mappings":";;;sCAG8D,iBAAiB;sCAMxE,YAAY;oCAN2C,iBAAiB;AAC/E,qCAKoB;;;AA0BpB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,SAAS;IAGpB,qBAAqB;IAErB;;;;OAIG;IACH,YAA+B,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;IAAG,CAAC;IAE7D,YAAY;IAEZ,wBAAwB;IAExB;;OAEG;IACI,cAAc;QACnB,OAAO,SAAS,CAAC,IAAI,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,KAAc;;QAC7B,MAAM,OAAO,GAAG,KAAyB,CAAC;QAE1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAEnD,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,0CAAE,WAAW,CAAC;QAEpD,OAAO,WAAW,KAAK,QAAQ,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,KAAc;;QAC9B,MAAM,IAAI,GAAG,IAAA,4BAAqB,EAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,IAAA,4BAAqB,EAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,eAAe,EAAE,MAAM,CAAC,CAAC;QAE5E,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,IAAA,2BAAoB,EAChD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EACrB,KAAK,CACN,CAAC;QAEF,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,kBAAkB;YACxB,cAAc,EAAE,kBAAkB;YAClC,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC;SACxC,CAAC;QAEF,OAAO;YACL,MAAM;YACN,OAAO;YACP,IAAI;YACJ,IAAI;SACL,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,WAAW;QAChB,OAAO,oBAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,sBAAsB,CAAC,EAC5B,KAAK,EACL,iBAAiB,GACqB;QACtC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;;AA7EH,8BAgFC"}
@@ -68,4 +68,3 @@ export declare class SNSAdapter implements AdapterContract<SNSEvent, Context, IE
68
68
  onErrorWhileForwarding({ error, delegatedResolver, }: OnErrorProps<SNSEvent, IEmptyResponse>): void;
69
69
  }
70
70
  export declare type __ΩSNSAdapterOptions = any[];
71
- //# sourceMappingURL=sns.adapter.d.ts.map
@@ -68,4 +68,3 @@ export declare class SQSAdapter implements AdapterContract<SQSEvent, Context, IE
68
68
  onErrorWhileForwarding({ error, delegatedResolver, }: OnErrorProps<SQSEvent, IEmptyResponse>): void;
69
69
  }
70
70
  export declare type __ΩSQSAdapterOptions = any[];
71
- //# sourceMappingURL=sqs.adapter.d.ts.map
@@ -79,4 +79,3 @@ export declare class HttpTriggerV4Adapter implements AdapterContract<HttpRequest
79
79
  protected parseCookie(cookie: string): Cookie;
80
80
  }
81
81
  export declare type __ΩHttpTriggerV4AdapterOptions = any[];
82
- //# sourceMappingURL=http-trigger-v4.adapter.d.ts.map
@@ -1,2 +1 @@
1
1
  export * from './http-trigger-v4.adapter';
2
- //# sourceMappingURL=index.d.ts.map
@@ -63,4 +63,3 @@ export declare class HttpFunctionAdapter implements AdapterContract<DigitalOcean
63
63
  protected getPathFromEvent(event: DigitalOceanHttpEvent): string;
64
64
  }
65
65
  export declare type __ΩHttpFunctionAdapterOptions = any[];
66
- //# sourceMappingURL=http-function.adapter.d.ts.map
@@ -1,2 +1 @@
1
1
  export * from './http-function.adapter';
2
- //# sourceMappingURL=index.d.ts.map
@@ -28,4 +28,3 @@ export declare class DummyAdapter implements AdapterContract<any, any, void> {
28
28
  */
29
29
  onErrorWhileForwarding(props: OnErrorProps<any, void>): void;
30
30
  }
31
- //# sourceMappingURL=dummy.adapter.d.ts.map
@@ -1,2 +1 @@
1
1
  export * from './dummy.adapter';
2
- //# sourceMappingURL=index.d.ts.map
@@ -64,4 +64,3 @@ export declare class HuaweiApiGatewayAdapter implements AdapterContract<HuaweiAp
64
64
  protected getPathFromEvent(event: HuaweiApiGatewayEvent): string;
65
65
  }
66
66
  export declare type __ΩHuaweiApiGatewayOptions = any[];
67
- //# sourceMappingURL=huawei-api-gateway.adapter.d.ts.map
@@ -1,2 +1 @@
1
1
  export * from './huawei-api-gateway.adapter';
2
- //# sourceMappingURL=index.d.ts.map
@@ -153,4 +153,3 @@ export declare type __ΩAdapterRequest = any[];
153
153
  export declare type __ΩGetResponseAdapterProps = any[];
154
154
  export declare type __ΩOnErrorProps = any[];
155
155
  export declare type __ΩAdapterContract = any[];
156
- //# sourceMappingURL=adapter.contract.d.ts.map
@@ -17,4 +17,3 @@ export interface FrameworkContract<TApp> {
17
17
  sendRequest(app: TApp, request: IncomingMessage, response: ServerResponse): void;
18
18
  }
19
19
  export declare type __ΩFrameworkContract = any[];
20
- //# sourceMappingURL=framework.contract.d.ts.map
@@ -24,4 +24,3 @@ export interface HandlerContract<TApp, TEvent, TContext, TCallback, TResponse, T
24
24
  }
25
25
  export declare type __ΩServerlessHandler = any[];
26
26
  export declare type __ΩHandlerContract = any[];
27
- //# sourceMappingURL=handler.contract.d.ts.map
@@ -2,4 +2,3 @@ export * from './adapter.contract';
2
2
  export * from './framework.contract';
3
3
  export * from './handler.contract';
4
4
  export * from './resolver.contract';
5
- //# sourceMappingURL=index.d.ts.map
@@ -84,4 +84,3 @@ export declare type __ΩResolver = any[];
84
84
  export declare type __ΩDelegatedResolver = any[];
85
85
  export declare type __ΩResolverProps = any[];
86
86
  export declare type __ΩResolverContract = any[];
87
- //# sourceMappingURL=resolver.contract.d.ts.map
@@ -29,4 +29,3 @@ export declare abstract class BaseHandler<TApp, TEvent, TContext, TCallback, TRe
29
29
  */
30
30
  protected getServerlessRequestResponseFromAdapterRequest(requestValues: AdapterRequest): [request: ServerlessRequest, response: ServerlessResponse];
31
31
  }
32
- //# sourceMappingURL=base-handler.d.ts.map
@@ -29,4 +29,3 @@ export declare type IEmptyResponse = {};
29
29
  */
30
30
  export declare const EmptyResponse: IEmptyResponse;
31
31
  export declare type __ΩIEmptyResponse = any[];
32
- //# sourceMappingURL=constants.d.ts.map
@@ -46,4 +46,3 @@ export declare function getCurrentInvoke<TEvent = any, TContext = any>(): Curren
46
46
  */
47
47
  export declare function setCurrentInvoke<TEvent = any, TContext = any>({ event, context, }: CurrentInvoke<TEvent, TContext>): void;
48
48
  export declare type __ΩCurrentInvoke = any[];
49
- //# sourceMappingURL=current-invoke.d.ts.map
@@ -19,4 +19,3 @@
19
19
  * @public
20
20
  */
21
21
  export declare function getEventBodyAsBuffer(body: string, isBase64Encoded: boolean): [body: Buffer, contentLength: number];
22
- //# sourceMappingURL=event-body.d.ts.map
@@ -35,4 +35,3 @@ export declare function getFlattenedHeadersMap(headersMap: BothValueHeaders, sep
35
35
  * @public
36
36
  */
37
37
  export declare function getMultiValueHeadersMap(headersMap: BothValueHeaders): Record<string, string[]>;
38
- //# sourceMappingURL=headers.d.ts.map
@@ -9,4 +9,3 @@ export * from './no-op';
9
9
  export * from './optional';
10
10
  export * from './path';
11
11
  export * from './stream';
12
- //# sourceMappingURL=index.d.ts.map
@@ -70,4 +70,3 @@ export declare function isContentTypeBinary(headers: BothValueHeaders, binaryCon
70
70
  * @public
71
71
  */
72
72
  export declare function isBinary(headers: BothValueHeaders, binarySettings: BinarySettings): boolean;
73
- //# sourceMappingURL=is-binary.d.ts.map
@@ -65,4 +65,3 @@ export declare type __ΩLogLevels = any[];
65
65
  export declare type __ΩLoggerOptions = any[];
66
66
  export declare type __ΩLoggerFN = any[];
67
67
  export declare type __ΩILogger = any[];
68
- //# sourceMappingURL=logger.d.ts.map
@@ -5,4 +5,3 @@
5
5
  * @public
6
6
  */
7
7
  export declare const NO_OP: (...args: any[]) => any;
8
- //# sourceMappingURL=no-op.d.ts.map
@@ -19,4 +19,3 @@
19
19
  * @public
20
20
  */
21
21
  export declare function getDefaultIfUndefined<T>(value: T | undefined, defaultValue: T): T;
22
- //# sourceMappingURL=optional.d.ts.map
@@ -34,4 +34,3 @@ export declare function getPathWithQueryStringParams(path: string, queryParams:
34
34
  * @public
35
35
  */
36
36
  export declare function getQueryParamsStringFromRecord(queryParamsRecord: Record<string, string | string[] | undefined> | undefined | null): string;
37
- //# sourceMappingURL=path.d.ts.map
@@ -1,5 +1,14 @@
1
1
  /// <reference types="node" />
2
2
  import { Readable, Writable } from 'stream';
3
+ /**
4
+ * Check if stream already ended
5
+ *
6
+ * @param stream - The stream
7
+ *
8
+ * @breadcrumb Core / Stream
9
+ * @public
10
+ */
11
+ export declare function isStreamEnded(stream: Readable | Writable): boolean;
3
12
  /**
4
13
  * Wait asynchronous the stream to complete
5
14
  *
@@ -9,4 +18,3 @@ import { Readable, Writable } from 'stream';
9
18
  * @public
10
19
  */
11
20
  export declare function waitForStreamComplete<TStream extends Readable | Writable>(stream: TStream): Promise<TStream>;
12
- //# sourceMappingURL=stream.d.ts.map
@@ -1,23 +1,38 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.waitForStreamComplete = void 0;
3
+ exports.waitForStreamComplete = exports.isStreamEnded = void 0;
4
4
  function __assignType(fn, args) {
5
5
  fn.__type = args;
6
6
  return fn;
7
7
  }
8
8
  //#endregion
9
9
  /**
10
- * Wait asynchronous the stream to complete
10
+ * Check if stream already ended
11
11
  *
12
12
  * @param stream - The stream
13
13
  *
14
14
  * @breadcrumb Core / Stream
15
15
  * @public
16
16
  */
17
- function waitForStreamComplete(stream) {
17
+ function isStreamEnded(stream) {
18
18
  if ('readableEnded' in stream && stream.readableEnded)
19
- return Promise.resolve(stream);
19
+ return true;
20
20
  if ('writableEnded' in stream && stream.writableEnded)
21
+ return true;
22
+ return false;
23
+ }
24
+ exports.isStreamEnded = isStreamEnded;
25
+ isStreamEnded.__type = ['stream', 'isStreamEnded', 'PP!!J2!)/"'];
26
+ /**
27
+ * Wait asynchronous the stream to complete
28
+ *
29
+ * @param stream - The stream
30
+ *
31
+ * @breadcrumb Core / Stream
32
+ * @public
33
+ */
34
+ function waitForStreamComplete(stream) {
35
+ if (isStreamEnded(stream))
21
36
  return Promise.resolve(stream);
22
37
  return new Promise(__assignType((resolve, reject) => {
23
38
  // Reading the {@link https://github.com/nodejs/node/blob/v12.22.9/lib/events.js#L262 | emit source code},
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/core/stream.ts"],"names":[],"mappings":";;;;;;;AAIA,YAAY;AAEZ;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CACnC,MAAe;IAEf,IAAI,eAAe,IAAI,MAAM,IAAI,MAAM,CAAC,aAAa;QACnD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjC,IAAI,eAAe,IAAI,MAAM,IAAI,MAAM,CAAC,aAAa;QACnD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjC,OAAO,IAAI,OAAO,cAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9C,0GAA0G;QAC1G,sIAAsI;QACtI,mIAAmI;QACnI,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,SAAS,QAAQ,CAAC,GAAG;YACnB,0BAA0B;YAC1B,IAAI,UAAU;gBAAE,OAAO;YAEvB,UAAU,GAAG,IAAI,CAAC;YAElB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACzC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAE1C,IAAI,GAAG;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;gBAChB,OAAO,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;;QAED,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC,2CAAC,CAAC;AACL,CAAC;AAjCD,sDAiCC"}
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/core/stream.ts"],"names":[],"mappings":";;;;;;;AAIA,YAAY;AAEZ;;;;;;;GAOG;AACH,SAAgB,aAAa,CAAC,MAA2B;IACvD,IAAI,eAAe,IAAI,MAAM,IAAI,MAAM,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEnE,IAAI,eAAe,IAAI,MAAM,IAAI,MAAM,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEnE,OAAO,KAAK,CAAC;AACf,CAAC;AAND,sCAMC;;AAED;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CACnC,MAAe;IAEf,IAAI,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1D,OAAO,IAAI,OAAO,cAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9C,0GAA0G;QAC1G,sIAAsI;QACtI,mIAAmI;QACnI,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,SAAS,QAAQ,CAAC,GAAG;YACnB,0BAA0B;YAC1B,IAAI,UAAU;gBAAE,OAAO;YAEvB,UAAU,GAAG,IAAI,CAAC;YAElB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACzC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAE1C,IAAI,GAAG;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;gBAChB,OAAO,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;;QAED,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC,2CAAC,CAAC;AACL,CAAC;AA7BD,sDA6BC"}
@@ -0,0 +1,78 @@
1
+ /// <reference types="node" />
2
+ import { IncomingMessage, ServerResponse } from 'http';
3
+ import cors, { CorsOptions } from 'cors';
4
+ import { FrameworkContract } from '../../contracts';
5
+ /**
6
+ * The options to customize {@link CorsFramework}
7
+ *
8
+ * @breadcrumb Frameworks / CorsFramework
9
+ * @public
10
+ */
11
+ export declare type CorsFrameworkOptions = CorsOptions & {
12
+ /**
13
+ * Send error 403 when cors is invalid. From what I read in `cors`, `fastify/cors` and [this problem](https://stackoverflow.com/questions/57212248/why-is-http-request-been-processed-in-action-even-when-cors-is-not-enabled)
14
+ * it is normal to process the request even if the origin is invalid.
15
+ * So this option will respond with error if this method was called from an invalid origin (or not allowed method) like [access control lib](https://github.com/primus/access-control/blob/master/index.js#L95-L115) .
16
+ *
17
+ * @defaultValue true
18
+ */
19
+ forbiddenOnInvalidOriginOrMethod?: boolean;
20
+ };
21
+ /**
22
+ * The framework that handles cors for your api without relying on internals of the framework
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * import express from 'express';
27
+ * import { ServerlessAdapter } from '@h4ad/serverless-adapter';
28
+ * import { ExpressFramework } from '@h4ad/serverless-adapter/lib/frameworks/express';
29
+ * import { CorsFramework } from '@h4ad/serverless-adapter/lib/frameworks/cors';
30
+ *
31
+ * const expressFramework = new ExpressFramework();
32
+ * const options: CorsOptions = {}; // customize the options
33
+ * const framework = new CorsFramework(expressFramework, options);
34
+ *
35
+ * export const handler = ServerlessAdapter.new(null)
36
+ * .setFramework(framework)
37
+ * // set other configurations and then build
38
+ * .build();
39
+ * ```
40
+ *
41
+ * @breadcrumb Frameworks / CorsFramework
42
+ * @public
43
+ */
44
+ export declare class CorsFramework<TApp> implements FrameworkContract<TApp> {
45
+ protected readonly framework: FrameworkContract<TApp>;
46
+ protected readonly options?: CorsFrameworkOptions | undefined;
47
+ /**
48
+ * Default Constructor
49
+ */
50
+ constructor(framework: FrameworkContract<TApp>, options?: CorsFrameworkOptions | undefined);
51
+ /**
52
+ * All cors headers that can be added by cors package
53
+ */
54
+ protected readonly corsHeaders: string[];
55
+ /**
56
+ * The cached instance of cors
57
+ */
58
+ protected readonly cachedCorsInstance: ReturnType<typeof cors>;
59
+ /**
60
+ * {@inheritDoc}
61
+ */
62
+ sendRequest(app: TApp, request: IncomingMessage, response: ServerResponse): void;
63
+ /**
64
+ * Handle next execution called by the cors package
65
+ */
66
+ protected onCorsNext(app: TApp, request: IncomingMessage, response: ServerResponse): () => void;
67
+ /**
68
+ * Format the headers to be standardized with the rest of the library, such as ApiGatewayV2.
69
+ * Also, some frameworks don't support headers as an array, so we need to format the values.
70
+ */
71
+ protected formatHeaderValuesAddedByCorsPackage(response: ServerResponse): void;
72
+ /**
73
+ * Check if the origin is invalid or if the method is not allowed.
74
+ * Highly inspired by [access-control](https://github.com/primus/access-control/blob/master/index.js#L95-L115)
75
+ */
76
+ protected isInvalidOriginOrMethodIsNotAllowed(request: IncomingMessage, allowedOrigin: number | string | string[] | undefined): boolean;
77
+ }
78
+ export declare type __ΩCorsFrameworkOptions = any[];