@scloud/lambda-api 1.2.5 → 1.2.8
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.
- package/README.md +13 -1
- package/dist/handler.d.ts +2 -0
- package/dist/handler.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -6,6 +6,7 @@ This is a piece of useful boilerplate to handle the mechanics of routing, header
|
|
|
6
6
|
|
|
7
7
|
## Releae notes
|
|
8
8
|
|
|
9
|
+
* `1.2.8`: Add `apiHandler` overload for `ApiGatewayProxyEventAny` so handlers accepting both v1 and v2 events get correct return types
|
|
9
10
|
* `1.2.3`: Readme update
|
|
10
11
|
* '1.2.0': Restructure so we consumers don't need to include '/dist' in the import path
|
|
11
12
|
* `1.1.8`: Trusted publishing enabled
|
|
@@ -41,7 +42,18 @@ const routes: types.Routes = {
|
|
|
41
42
|
}
|
|
42
43
|
```
|
|
43
44
|
|
|
44
|
-
Use `@scloud/lambda-api` in your Lambda handler. `apiHandler` accepts both REST API (v1) and Function URL (v2) events and returns the matching response shape. When the event type is known at compile time, TypeScript infers the result type via overloads
|
|
45
|
+
Use `@scloud/lambda-api` in your Lambda handler. `apiHandler` accepts both REST API (v1) and Function URL / HTTP API (v2) events and returns the matching response shape. When the event type is known at compile time, TypeScript infers the result type via overloads. For handlers that accept either format, type the event as `ApiGatewayProxyEventAny`:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
import { Context } from 'aws-lambda';
|
|
49
|
+
import { apiHandler, ApiGatewayProxyEventAny } from '@scloud/lambda-api';
|
|
50
|
+
|
|
51
|
+
export async function handler(event: ApiGatewayProxyEventAny, context: Context) {
|
|
52
|
+
return apiHandler(event, context, routes);
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
If you need an explicit return type, use `ApiGatewayProxyResultFor<E>`:
|
|
45
57
|
|
|
46
58
|
```
|
|
47
59
|
import { APIGatewayProxyEventV2, Context } from 'aws-lambda';
|
package/dist/handler.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { APIGatewayProxyEvent, APIGatewayProxyEventV2, APIGatewayProxyResult, APIGatewayProxyStructuredResultV2, Context } from 'aws-lambda';
|
|
2
2
|
import { Request, Response, Handler, Routes } from './types';
|
|
3
|
+
import { ApiGatewayProxyEventAny, ApiGatewayProxyResultFor } from './event';
|
|
3
4
|
type ErrorHandler = (request: Request, e: Error) => Promise<Response | undefined>;
|
|
4
5
|
/**
|
|
5
6
|
* API route handler
|
|
6
7
|
*/
|
|
7
8
|
export declare function apiHandler(event: APIGatewayProxyEventV2, context: Context, routes: Routes, errorHandler?: ErrorHandler, catchAll?: Handler): Promise<APIGatewayProxyStructuredResultV2>;
|
|
8
9
|
export declare function apiHandler(event: APIGatewayProxyEvent, context: Context, routes: Routes, errorHandler?: ErrorHandler, catchAll?: Handler): Promise<APIGatewayProxyResult>;
|
|
10
|
+
export declare function apiHandler<E extends ApiGatewayProxyEventAny>(event: E, context: Context, routes: Routes, errorHandler?: ErrorHandler, catchAll?: Handler): Promise<ApiGatewayProxyResultFor<E>>;
|
|
9
11
|
export {};
|
package/dist/handler.js
CHANGED
|
@@ -79,4 +79,4 @@ async function apiHandler(event, context, routes, errorHandler, catchAll) {
|
|
|
79
79
|
? (0, result_1.toApiGatewayResultV2)(response)
|
|
80
80
|
: (0, result_1.toApiGatewayResultV1)(response);
|
|
81
81
|
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBa0hBLGdDQVdDO0FBdEhELG1DQUdpQjtBQUNqQixtQ0FBaUc7QUFDakcsdUNBQXFEO0FBQ3JELHFDQUFzRTtBQUN0RSxnREFBdUI7QUFJdkIsU0FBUyxnQkFBZ0IsQ0FBQyxDQUFXO0lBQ25DLElBQUksQ0FBQyxZQUFZLGdCQUFRLEVBQUUsQ0FBQztRQUMxQixPQUFPO1lBQ0wsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO1lBQ2xCLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVTtZQUN4QixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7U0FDYixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQztRQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsT0FBTztRQUNMLFVBQVUsRUFBRSxHQUFHO1FBQ2YsSUFBSSxFQUFFLHVCQUF1QjtLQUM5QixDQUFDO0FBQ0osQ0FBQztBQUVELEtBQUssVUFBVSxhQUFhLENBQzFCLEtBQThCLEVBQzlCLE1BQWMsRUFDZCxZQUFzQyxFQUN0QyxRQUE2QjtJQUU3QixNQUFNLE9BQU8sR0FBRyxJQUFBLHNCQUFZLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFFcEMsSUFBSSxRQUE4QixDQUFDO0lBQ25DLElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVUsRUFBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksS0FBSyxDQUFDLE1BQU07WUFBRSxPQUFPLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFFeEQsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBcUIsQ0FBQyxD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SUdhdGV3YXlQcm94eUV2ZW50LFxuICBBUElHYXRld2F5UHJveHlFdmVudFYyLFxuICBBUElHYXRld2F5UHJveHlSZXN1bHQsXG4gIEFQSUdhdGV3YXlQcm94eVN0cnVjdHVyZWRSZXN1bHRWMixcbiAgQ29udGV4dCxcbn0gZnJvbSAnYXdzLWxhbWJkYSc7XG5pbXBvcnQge1xuICBSZXF1ZXN0LCBSZXNwb25zZSwgSGFuZGxlciwgUm91dGUsIFJvdXRlcyxcbiAgQXBpRXJyb3IsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgQXBpR2F0ZXdheVByb3h5RXZlbnRBbnksIEFwaUdhdGV3YXlQcm94eVJlc3VsdEZvciwgaXNBcGlHYXRld2F5RXZlbnRWMiB9IGZyb20gJy4vZXZlbnQnO1xuaW1wb3J0IHsgbWF0Y2hSb3V0ZSwgcGFyc2VSZXF1ZXN0IH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHRvQXBpR2F0ZXdheVJlc3VsdFYxLCB0b0FwaUdhdGV3YXlSZXN1bHRWMiB9IGZyb20gJy4vcmVzdWx0JztcbmltcG9ydCB6IGZyb20gJ3pvZC92NCc7XG5cbnR5cGUgRXJyb3JIYW5kbGVyID0gKHJlcXVlc3Q6IFJlcXVlc3QsIGU6IEVycm9yKSA9PiBQcm9taXNlPFJlc3BvbnNlIHwgdW5kZWZpbmVkPjtcblxuZnVuY3Rpb24gYXBpRXJyb3JSZXNwb25zZShlPzogdW5rbm93bik6IFJlc3BvbnNlIHtcbiAgaWYgKGUgaW5zdGFuY2VvZiBBcGlFcnJvcikge1xuICAgIHJldHVybiB7XG4gICAgICBoZWFkZXJzOiBlLmhlYWRlcnMsXG4gICAgICBzdGF0dXNDb2RlOiBlLnN0YXR1c0NvZGUsXG4gICAgICBib2R5OiBlLmJvZHksXG4gICAgfTtcbiAgfVxuXG4gIGlmIChlKSBjb25zb2xlLmVycm9yKGUpO1xuICByZXR1cm4ge1xuICAgIHN0YXR1c0NvZGU6IDUwMCxcbiAgICBib2R5OiAnSW50ZXJuYWwgc2VydmVyIGVycm9yJyxcbiAgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaGFuZGxlUmVxdWVzdChcbiAgZXZlbnQ6IEFwaUdhdGV3YXlQcm94eUV2ZW50QW55LFxuICByb3V0ZXM6IFJvdXRlcyxcbiAgZXJyb3JIYW5kbGVyOiBFcnJvckhhbmRsZXIgfCB1bmRlZmluZWQsXG4gIGNhdGNoQWxsOiBIYW5kbGVyIHwgdW5kZWZpbmVkLFxuKTogUHJvbWlzZTxSZXNwb25zZT4ge1xuICBjb25zdCByZXF1ZXN0ID0gcGFyc2VSZXF1ZXN0KGV2ZW50KTtcblxuICBsZXQgcmVzcG9uc2U6IFJlc3BvbnNlIHwgdW5kZWZpbmVkO1xuICB0cnkge1xuICAgIGNvbnN0IG1hdGNoID0gbWF0Y2hSb3V0ZShyb3V0ZXMsIHJlcXVlc3QucGF0aCk7XG4gICAgaWYgKG1hdGNoLnBhcmFtcykgcmVxdWVzdC5wYXRoUGFyYW1ldGVycyA9IG1hdGNoLnBhcmFtcztcblxuICAgIGlmIChtYXRjaC5tZXRob2RzKSB7XG4gICAgICBjb25zdCByb3V0ZSA9IG1hdGNoLm1ldGhvZHNbcmVxdWVzdC5tZXRob2QgYXMga2V5b2YgUm91dGVdO1xuICAgICAgaWYgKCFyb3V0ZSkgdGhyb3cgbmV3IEFwaUVycm9yKDQwNSwgJ01ldGhvZCBub3QgYWxsb3dlZCcpO1xuXG4gICAgICBpZiAocm91dGUucmVxdWVzdD8uYm9keSkge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSByb3V0ZS5yZXF1ZXN0LmJvZHkuc2FmZVBhcnNlKHJlcXVlc3QuYm9keSk7XG4gICAgICAgIGlmICghcGFyc2VkLnN1Y2Nlc3MpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgQXBpRXJyb3IoNDAwLCB6LnRyZWVpZnlFcnJvcihwYXJzZWQuZXJyb3IpKTtcbiAgICAgICAgfVxuICAgICAgICByZXF1ZXN0LmJvZHkgPSBwYXJzZWQuZGF0YTtcbiAgICAgIH1cblxuICAgICAgcmVzcG9uc2UgPSBhd2FpdCByb3V0ZS5oYW5kbGVyKHJlcXVlc3QpO1xuXG4gICAgICBpZiAocm91dGUucmVzcG9uc2U/LmJvZHkpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkID0gcm91dGUucmVzcG9uc2UuYm9keS5zYWZlUGFyc2UocmVzcG9uc2UuYm9keSk7XG4gICAgICAgIGlmICghcGFyc2VkLnN1Y2Nlc3MpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIHJlc3BvbnNlIGJvZHk6JywgcmVxdWVzdC5tZXRob2QsIHJlcXVlc3QucGF0aCwgSlNPTi5zdHJpbmdpZnkoei50cmVlaWZ5RXJyb3IocGFyc2VkLmVycm9yKSwgbnVsbCwgMikpO1xuICAgICAgICAgIHJlc3BvbnNlID0gdW5kZWZpbmVkO1xuICAgICAgICAgIHRocm93IG5ldyBBcGlFcnJvcig1MDAsICdJbnRlcm5hbCBzZXJ2ZXIgZXJyb3InKTtcbiAgICAgICAgfVxuICAgICAgICByZXNwb25zZS5ib2R5ID0gcGFyc2VkLmRhdGE7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjYXRjaEFsbCkge1xuICAgICAgcmVzcG9uc2UgPSBhd2FpdCBjYXRjaEFsbC5oYW5kbGVyKHJlcXVlc3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgQXBpRXJyb3IoNDA0LCAnTm90IGZvdW5kJyk7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKGVycm9ySGFuZGxlcikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBlcnJvckhhbmRsZXIocmVxdWVzdCwgZSBhcyBFcnJvcik7XG4gICAgICB9IGNhdGNoIChlZSkge1xuICAgICAgICByZXNwb25zZSA9IGFwaUVycm9yUmVzcG9uc2UoZWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJlc3BvbnNlID0gcmVzcG9uc2UgPz8gYXBpRXJyb3JSZXNwb25zZShlKTtcbiAgfVxuXG4gIHJldHVybiByZXNwb25zZTtcbn1cblxuLyoqXG4gKiBBUEkgcm91dGUgaGFuZGxlclxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXBpSGFuZGxlcihcbiAgZXZlbnQ6IEFQSUdhdGV3YXlQcm94eUV2ZW50VjIsXG4gIGNvbnRleHQ6IENvbnRleHQsXG4gIHJvdXRlczogUm91dGVzLFxuICBlcnJvckhhbmRsZXI/OiBFcnJvckhhbmRsZXIsXG4gIGNhdGNoQWxsPzogSGFuZGxlcixcbik6IFByb21pc2U8QVBJR2F0ZXdheVByb3h5U3RydWN0dXJlZFJlc3VsdFYyPjtcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcGlIYW5kbGVyKFxuICBldmVudDogQVBJR2F0ZXdheVByb3h5RXZlbnQsXG4gIGNvbnRleHQ6IENvbnRleHQsXG4gIHJvdXRlczogUm91dGVzLFxuICBlcnJvckhhbmRsZXI/OiBFcnJvckhhbmRsZXIsXG4gIGNhdGNoQWxsPzogSGFuZGxlcixcbik6IFByb21pc2U8QVBJR2F0ZXdheVByb3h5UmVzdWx0PjtcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcGlIYW5kbGVyPEUgZXh0ZW5kcyBBcGlHYXRld2F5UHJveHlFdmVudEFueT4oXG4gIGV2ZW50OiBFLFxuICBjb250ZXh0OiBDb250ZXh0LFxuICByb3V0ZXM6IFJvdXRlcyxcbiAgZXJyb3JIYW5kbGVyPzogRXJyb3JIYW5kbGVyLFxuICBjYXRjaEFsbD86IEhhbmRsZXIsXG4pOiBQcm9taXNlPEFwaUdhdGV3YXlQcm94eVJlc3VsdEZvcjxFPj47XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXBpSGFuZGxlcihcbiAgZXZlbnQ6IEFwaUdhdGV3YXlQcm94eUV2ZW50QW55LFxuICBjb250ZXh0OiBDb250ZXh0LFxuICByb3V0ZXM6IFJvdXRlcyxcbiAgZXJyb3JIYW5kbGVyPzogRXJyb3JIYW5kbGVyLFxuICBjYXRjaEFsbD86IEhhbmRsZXIsXG4pOiBQcm9taXNlPEFQSUdhdGV3YXlQcm94eVJlc3VsdCB8IEFQSUdhdGV3YXlQcm94eVN0cnVjdHVyZWRSZXN1bHRWMj4ge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGhhbmRsZVJlcXVlc3QoZXZlbnQsIHJvdXRlcywgZXJyb3JIYW5kbGVyLCBjYXRjaEFsbCk7XG4gIHJldHVybiBpc0FwaUdhdGV3YXlFdmVudFYyKGV2ZW50KVxuICAgID8gdG9BcGlHYXRld2F5UmVzdWx0VjIocmVzcG9uc2UpXG4gICAgOiB0b0FwaUdhdGV3YXlSZXN1bHRWMShyZXNwb25zZSk7XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scloud/lambda-api",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.8",
|
|
4
4
|
"description": "Lambda handler for API Gateway proxy requests",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"lint": "eslint --fix src/**/*",
|
|
24
24
|
"test": "mocha --import=tsx -r tsconfig-paths/register 'test/**/*.spec.ts' # tsconfig-paths/register helps resolve imports in tests",
|
|
25
25
|
"compile": "tsc",
|
|
26
|
-
"package": "
|
|
26
|
+
"package": "npm run compile"
|
|
27
27
|
},
|
|
28
28
|
"repository": {
|
|
29
29
|
"type": "git",
|