@konker.dev/middleware-fp 0.0.19 → 0.1.1
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/LICENSE +1 -1
- package/README.md +3 -2
- package/dist/contrib/awsApiGatewayProcessor.d.ts +3 -2
- package/dist/contrib/awsApiGatewayProcessor.d.ts.map +1 -0
- package/dist/contrib/awsApiGatewayProcessor.js +12 -39
- package/dist/contrib/awsApiGatewayProcessor.js.map +1 -1
- package/dist/contrib/awsApiGatewayProcessor.test.d.ts +3 -2
- package/dist/contrib/awsApiGatewayProcessor.test.d.ts.map +1 -0
- package/dist/contrib/awsApiGatewayProcessor.test.js +25 -49
- package/dist/contrib/awsApiGatewayProcessor.test.js.map +1 -1
- package/dist/contrib/awsIamAuthorizerProcessor.d.ts +2 -1
- package/dist/contrib/awsIamAuthorizerProcessor.d.ts.map +1 -0
- package/dist/contrib/awsIamAuthorizerProcessor.js +9 -35
- package/dist/contrib/awsIamAuthorizerProcessor.js.map +1 -1
- package/dist/contrib/awsIamAuthorizerProcessor.test.d.ts +2 -1
- package/dist/contrib/awsIamAuthorizerProcessor.test.d.ts.map +1 -0
- package/dist/contrib/awsIamAuthorizerProcessor.test.js +25 -48
- package/dist/contrib/awsIamAuthorizerProcessor.test.js.map +1 -1
- package/dist/contrib/awsSimpleAuthorizerProcessor.d.ts +3 -2
- package/dist/contrib/awsSimpleAuthorizerProcessor.d.ts.map +1 -0
- package/dist/contrib/awsSimpleAuthorizerProcessor.js +6 -32
- package/dist/contrib/awsSimpleAuthorizerProcessor.js.map +1 -1
- package/dist/contrib/awsSimpleAuthorizerProcessor.test.d.ts +3 -2
- package/dist/contrib/awsSimpleAuthorizerProcessor.test.d.ts.map +1 -0
- package/dist/contrib/awsSimpleAuthorizerProcessor.test.js +24 -47
- package/dist/contrib/awsSimpleAuthorizerProcessor.test.js.map +1 -1
- package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.d.ts +5 -4
- package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.d.ts.map +1 -0
- package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.js +6 -32
- package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.js.map +1 -1
- package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.test.d.ts +7 -6
- package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.test.d.ts.map +1 -0
- package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.test.js +26 -48
- package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.test.js.map +1 -1
- package/dist/contrib/base64BodyDecoder.d.ts +3 -2
- package/dist/contrib/base64BodyDecoder.d.ts.map +1 -0
- package/dist/contrib/base64BodyDecoder.js +6 -32
- package/dist/contrib/base64BodyDecoder.js.map +1 -1
- package/dist/contrib/base64BodyDecoder.test.d.ts +1 -0
- package/dist/contrib/base64BodyDecoder.test.d.ts.map +1 -0
- package/dist/contrib/base64BodyDecoder.test.js +15 -39
- package/dist/contrib/base64BodyDecoder.test.js.map +1 -1
- package/dist/contrib/basicAuthAuthenticator.d.ts +7 -6
- package/dist/contrib/basicAuthAuthenticator.d.ts.map +1 -0
- package/dist/contrib/basicAuthAuthenticator.js +10 -36
- package/dist/contrib/basicAuthAuthenticator.js.map +1 -1
- package/dist/contrib/basicAuthAuthenticator.test.d.ts +4 -3
- package/dist/contrib/basicAuthAuthenticator.test.d.ts.map +1 -0
- package/dist/contrib/basicAuthAuthenticator.test.js +20 -41
- package/dist/contrib/basicAuthAuthenticator.test.js.map +1 -1
- package/dist/contrib/basicAuthDecoder.d.ts +5 -4
- package/dist/contrib/basicAuthDecoder.d.ts.map +1 -0
- package/dist/contrib/basicAuthDecoder.js +8 -34
- package/dist/contrib/basicAuthDecoder.js.map +1 -1
- package/dist/contrib/basicAuthDecoder.test.d.ts +1 -0
- package/dist/contrib/basicAuthDecoder.test.d.ts.map +1 -0
- package/dist/contrib/basicAuthDecoder.test.js +17 -37
- package/dist/contrib/basicAuthDecoder.test.js.map +1 -1
- package/dist/contrib/bodyValidator.d.ts +5 -4
- package/dist/contrib/bodyValidator.d.ts.map +1 -0
- package/dist/contrib/bodyValidator.js +5 -31
- package/dist/contrib/bodyValidator.js.map +1 -1
- package/dist/contrib/bodyValidator.test.d.ts +4 -3
- package/dist/contrib/bodyValidator.test.d.ts.map +1 -0
- package/dist/contrib/bodyValidator.test.js +13 -37
- package/dist/contrib/bodyValidator.test.js.map +1 -1
- package/dist/contrib/cacheInMemory.d.ts +4 -3
- package/dist/contrib/cacheInMemory.d.ts.map +1 -0
- package/dist/contrib/cacheInMemory.js +13 -39
- package/dist/contrib/cacheInMemory.js.map +1 -1
- package/dist/contrib/cacheInMemory.test.d.ts +1 -0
- package/dist/contrib/cacheInMemory.test.d.ts.map +1 -0
- package/dist/contrib/cacheInMemory.test.js +12 -35
- package/dist/contrib/cacheInMemory.test.js.map +1 -1
- package/dist/contrib/cacheMomento.d.ts +4 -3
- package/dist/contrib/cacheMomento.d.ts.map +1 -0
- package/dist/contrib/cacheMomento.js +10 -36
- package/dist/contrib/cacheMomento.js.map +1 -1
- package/dist/contrib/cacheMomento.test.d.ts +1 -0
- package/dist/contrib/cacheMomento.test.d.ts.map +1 -0
- package/dist/contrib/cacheMomento.test.js +18 -41
- package/dist/contrib/cacheMomento.test.js.map +1 -1
- package/dist/contrib/dynamodbDocClientInit/index.d.ts +4 -3
- package/dist/contrib/dynamodbDocClientInit/index.d.ts.map +1 -0
- package/dist/contrib/dynamodbDocClientInit/index.js +5 -31
- package/dist/contrib/dynamodbDocClientInit/index.js.map +1 -1
- package/dist/contrib/dynamodbDocClientInit/index.test.d.ts +1 -0
- package/dist/contrib/dynamodbDocClientInit/index.test.d.ts.map +1 -0
- package/dist/contrib/dynamodbDocClientInit/index.test.js +13 -36
- package/dist/contrib/dynamodbDocClientInit/index.test.js.map +1 -1
- package/dist/contrib/envValidator.d.ts +5 -4
- package/dist/contrib/envValidator.d.ts.map +1 -0
- package/dist/contrib/envValidator.js +9 -35
- package/dist/contrib/envValidator.js.map +1 -1
- package/dist/contrib/envValidator.test.d.ts +6 -5
- package/dist/contrib/envValidator.test.d.ts.map +1 -0
- package/dist/contrib/envValidator.test.js +13 -37
- package/dist/contrib/envValidator.test.js.map +1 -1
- package/dist/contrib/headerSignatureAuthorizer/index.d.ts +5 -4
- package/dist/contrib/headerSignatureAuthorizer/index.d.ts.map +1 -0
- package/dist/contrib/headerSignatureAuthorizer/index.js +10 -36
- package/dist/contrib/headerSignatureAuthorizer/index.js.map +1 -1
- package/dist/contrib/headerSignatureAuthorizer/index.test.d.ts +4 -3
- package/dist/contrib/headerSignatureAuthorizer/index.test.d.ts.map +1 -0
- package/dist/contrib/headerSignatureAuthorizer/index.test.js +30 -51
- package/dist/contrib/headerSignatureAuthorizer/index.test.js.map +1 -1
- package/dist/contrib/headerSignatureAuthorizer/lib.d.ts +4 -3
- package/dist/contrib/headerSignatureAuthorizer/lib.d.ts.map +1 -0
- package/dist/contrib/headerSignatureAuthorizer/lib.js +6 -31
- package/dist/contrib/headerSignatureAuthorizer/lib.js.map +1 -1
- package/dist/contrib/headerSignatureAuthorizer/lib.test.d.ts +1 -0
- package/dist/contrib/headerSignatureAuthorizer/lib.test.d.ts.map +1 -0
- package/dist/contrib/headerSignatureAuthorizer/lib.test.js +19 -40
- package/dist/contrib/headerSignatureAuthorizer/lib.test.js.map +1 -1
- package/dist/contrib/headersNormalizer/index.d.ts +3 -2
- package/dist/contrib/headersNormalizer/index.d.ts.map +1 -0
- package/dist/contrib/headersNormalizer/index.js +5 -31
- package/dist/contrib/headersNormalizer/index.js.map +1 -1
- package/dist/contrib/headersNormalizer/index.test.d.ts +5 -4
- package/dist/contrib/headersNormalizer/index.test.d.ts.map +1 -0
- package/dist/contrib/headersNormalizer/index.test.js +14 -39
- package/dist/contrib/headersNormalizer/index.test.js.map +1 -1
- package/dist/contrib/headersNormalizer/lib.d.ts +2 -1
- package/dist/contrib/headersNormalizer/lib.d.ts.map +1 -0
- package/dist/contrib/headersNormalizer/lib.js +7 -17
- package/dist/contrib/headersNormalizer/lib.js.map +1 -1
- package/dist/contrib/headersNormalizer/lib.test.d.ts +1 -0
- package/dist/contrib/headersNormalizer/lib.test.d.ts.map +1 -0
- package/dist/contrib/headersNormalizer/lib.test.js +2 -26
- package/dist/contrib/headersNormalizer/lib.test.js.map +1 -1
- package/dist/contrib/headersNormalizer/types.d.ts +2 -1
- package/dist/contrib/headersNormalizer/types.d.ts.map +1 -0
- package/dist/contrib/headersNormalizer/types.js +1 -2
- package/dist/contrib/headersValidator.d.ts +7 -6
- package/dist/contrib/headersValidator.d.ts.map +1 -0
- package/dist/contrib/headersValidator.js +5 -31
- package/dist/contrib/headersValidator.js.map +1 -1
- package/dist/contrib/headersValidator.test.d.ts +6 -5
- package/dist/contrib/headersValidator.test.d.ts.map +1 -0
- package/dist/contrib/headersValidator.test.js +15 -40
- package/dist/contrib/headersValidator.test.js.map +1 -1
- package/dist/contrib/helmetJsHeaders.d.ts +3 -2
- package/dist/contrib/helmetJsHeaders.d.ts.map +1 -0
- package/dist/contrib/helmetJsHeaders.js +8 -35
- package/dist/contrib/helmetJsHeaders.js.map +1 -1
- package/dist/contrib/helmetJsHeaders.test.d.ts +1 -0
- package/dist/contrib/helmetJsHeaders.test.d.ts.map +1 -0
- package/dist/contrib/helmetJsHeaders.test.js +7 -31
- package/dist/contrib/helmetJsHeaders.test.js.map +1 -1
- package/dist/contrib/identity.d.ts +2 -1
- package/dist/contrib/identity.d.ts.map +1 -0
- package/dist/contrib/identity.js +1 -5
- package/dist/contrib/identity.js.map +1 -1
- package/dist/contrib/identity.test.d.ts +1 -0
- package/dist/contrib/identity.test.d.ts.map +1 -0
- package/dist/contrib/identity.test.js +8 -31
- package/dist/contrib/identity.test.js.map +1 -1
- package/dist/contrib/index.d.ts +27 -26
- package/dist/contrib/index.d.ts.map +1 -0
- package/dist/contrib/index.js +26 -52
- package/dist/contrib/index.js.map +1 -1
- package/dist/contrib/jsonBodyParser.d.ts +3 -2
- package/dist/contrib/jsonBodyParser.d.ts.map +1 -0
- package/dist/contrib/jsonBodyParser.js +9 -35
- package/dist/contrib/jsonBodyParser.js.map +1 -1
- package/dist/contrib/jsonBodyParser.test.d.ts +1 -0
- package/dist/contrib/jsonBodyParser.test.d.ts.map +1 -0
- package/dist/contrib/jsonBodyParser.test.js +11 -34
- package/dist/contrib/jsonBodyParser.test.js.map +1 -1
- package/dist/contrib/jwtAuthenticator.d.ts +8 -7
- package/dist/contrib/jwtAuthenticator.d.ts.map +1 -0
- package/dist/contrib/jwtAuthenticator.js +10 -36
- package/dist/contrib/jwtAuthenticator.js.map +1 -1
- package/dist/contrib/jwtAuthenticator.test.d.ts +4 -3
- package/dist/contrib/jwtAuthenticator.test.d.ts.map +1 -0
- package/dist/contrib/jwtAuthenticator.test.js +26 -47
- package/dist/contrib/jwtAuthenticator.test.js.map +1 -1
- package/dist/contrib/jwtAuthenticatorRsa.d.ts +8 -7
- package/dist/contrib/jwtAuthenticatorRsa.d.ts.map +1 -0
- package/dist/contrib/jwtAuthenticatorRsa.js +10 -36
- package/dist/contrib/jwtAuthenticatorRsa.js.map +1 -1
- package/dist/contrib/jwtAuthenticatorRsa.test.d.ts +4 -3
- package/dist/contrib/jwtAuthenticatorRsa.test.d.ts.map +1 -0
- package/dist/contrib/jwtAuthenticatorRsa.test.js +26 -47
- package/dist/contrib/jwtAuthenticatorRsa.test.js.map +1 -1
- package/dist/contrib/jwtDecoder.d.ts +5 -4
- package/dist/contrib/jwtDecoder.d.ts.map +1 -0
- package/dist/contrib/jwtDecoder.js +8 -34
- package/dist/contrib/jwtDecoder.js.map +1 -1
- package/dist/contrib/jwtDecoder.test.d.ts +1 -0
- package/dist/contrib/jwtDecoder.test.d.ts.map +1 -0
- package/dist/contrib/jwtDecoder.test.js +22 -42
- package/dist/contrib/jwtDecoder.test.js.map +1 -1
- package/dist/contrib/momentoClientInit.d.ts +2 -1
- package/dist/contrib/momentoClientInit.d.ts.map +1 -0
- package/dist/contrib/momentoClientInit.js +4 -30
- package/dist/contrib/momentoClientInit.js.map +1 -1
- package/dist/contrib/momentoClientInit.test.d.ts +1 -0
- package/dist/contrib/momentoClientInit.test.d.ts.map +1 -0
- package/dist/contrib/momentoClientInit.test.js +9 -32
- package/dist/contrib/momentoClientInit.test.js.map +1 -1
- package/dist/contrib/pathParametersValidator.d.ts +5 -4
- package/dist/contrib/pathParametersValidator.d.ts.map +1 -0
- package/dist/contrib/pathParametersValidator.js +5 -31
- package/dist/contrib/pathParametersValidator.js.map +1 -1
- package/dist/contrib/pathParametersValidator.test.d.ts +5 -4
- package/dist/contrib/pathParametersValidator.test.d.ts.map +1 -0
- package/dist/contrib/pathParametersValidator.test.js +14 -38
- package/dist/contrib/pathParametersValidator.test.js.map +1 -1
- package/dist/contrib/pathTokenAuthorizer.d.ts +5 -4
- package/dist/contrib/pathTokenAuthorizer.d.ts.map +1 -0
- package/dist/contrib/pathTokenAuthorizer.js +9 -35
- package/dist/contrib/pathTokenAuthorizer.js.map +1 -1
- package/dist/contrib/pathTokenAuthorizer.test.d.ts +4 -3
- package/dist/contrib/pathTokenAuthorizer.test.d.ts.map +1 -0
- package/dist/contrib/pathTokenAuthorizer.test.js +28 -49
- package/dist/contrib/pathTokenAuthorizer.test.js.map +1 -1
- package/dist/contrib/queryStringValidator.d.ts +5 -4
- package/dist/contrib/queryStringValidator.d.ts.map +1 -0
- package/dist/contrib/queryStringValidator.js +5 -31
- package/dist/contrib/queryStringValidator.js.map +1 -1
- package/dist/contrib/queryStringValidator.test.d.ts +5 -4
- package/dist/contrib/queryStringValidator.test.d.ts.map +1 -0
- package/dist/contrib/queryStringValidator.test.js +14 -38
- package/dist/contrib/queryStringValidator.test.js.map +1 -1
- package/dist/contrib/requestResponseLogger.d.ts +2 -1
- package/dist/contrib/requestResponseLogger.d.ts.map +1 -0
- package/dist/contrib/requestResponseLogger.js +4 -30
- package/dist/contrib/requestResponseLogger.js.map +1 -1
- package/dist/contrib/requestResponseLogger.test.d.ts +1 -0
- package/dist/contrib/requestResponseLogger.test.d.ts.map +1 -0
- package/dist/contrib/requestResponseLogger.test.js +15 -37
- package/dist/contrib/requestResponseLogger.test.js.map +1 -1
- package/dist/contrib/trivial.d.ts +2 -1
- package/dist/contrib/trivial.d.ts.map +1 -0
- package/dist/contrib/trivial.js +10 -36
- package/dist/contrib/trivial.js.map +1 -1
- package/dist/contrib/trivial.test.d.ts +1 -0
- package/dist/contrib/trivial.test.d.ts.map +1 -0
- package/dist/contrib/trivial.test.js +8 -31
- package/dist/contrib/trivial.test.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -2
- package/dist/lib/HttpApiError.d.ts +1 -0
- package/dist/lib/HttpApiError.d.ts.map +1 -0
- package/dist/lib/HttpApiError.js +5 -8
- package/dist/lib/HttpApiError.js.map +1 -1
- package/dist/lib/HttpApiError.test.d.ts +1 -0
- package/dist/lib/HttpApiError.test.d.ts.map +1 -0
- package/dist/lib/HttpApiError.test.js +3 -27
- package/dist/lib/HttpApiError.test.js.map +1 -1
- package/dist/lib/MiddlewareError.d.ts +1 -0
- package/dist/lib/MiddlewareError.d.ts.map +1 -0
- package/dist/lib/MiddlewareError.js +5 -8
- package/dist/lib/MiddlewareError.js.map +1 -1
- package/dist/lib/MiddlewareError.test.d.ts +1 -0
- package/dist/lib/MiddlewareError.test.d.ts.map +1 -0
- package/dist/lib/MiddlewareError.test.js +2 -26
- package/dist/lib/MiddlewareError.test.js.map +1 -1
- package/dist/lib/http.d.ts +25 -23
- package/dist/lib/http.d.ts.map +1 -0
- package/dist/lib/http.js +24 -53
- package/dist/lib/http.js.map +1 -1
- package/dist/lib/http.test.d.ts +1 -0
- package/dist/lib/http.test.d.ts.map +1 -0
- package/dist/lib/http.test.js +13 -36
- package/dist/lib/http.test.js.map +1 -1
- package/dist/test/test-common.d.ts +8 -6
- package/dist/test/test-common.d.ts.map +1 -0
- package/dist/test/test-common.js +9 -37
- package/dist/test/test-common.js.map +1 -1
- package/dist/test/unit/auth-1.test.d.ts +1 -0
- package/dist/test/unit/auth-1.test.d.ts.map +1 -0
- package/dist/test/unit/auth-1.test.js +16 -42
- package/dist/test/unit/auth-1.test.js.map +1 -1
- package/dist/test/unit/auth-2.test.d.ts +1 -0
- package/dist/test/unit/auth-2.test.d.ts.map +1 -0
- package/dist/test/unit/auth-2.test.js +16 -42
- package/dist/test/unit/auth-2.test.js.map +1 -1
- package/dist/test/unit/basic-1.test.d.ts +1 -0
- package/dist/test/unit/basic-1.test.d.ts.map +1 -0
- package/dist/test/unit/basic-1.test.js +15 -38
- package/dist/test/unit/basic-1.test.js.map +1 -1
- package/dist/test/unit/basic-2.test.d.ts +5 -1
- package/dist/test/unit/basic-2.test.d.ts.map +1 -0
- package/dist/test/unit/basic-2.test.js +27 -44
- package/dist/test/unit/basic-2.test.js.map +1 -1
- package/dist/test/unit/basic-3.test.d.ts +1 -0
- package/dist/test/unit/basic-3.test.d.ts.map +1 -0
- package/dist/test/unit/basic-3.test.js +18 -41
- package/dist/test/unit/basic-3.test.js.map +1 -1
- package/dist/test/unit/kitchen-sink.test.d.ts +11 -1
- package/dist/test/unit/kitchen-sink.test.d.ts.map +1 -0
- package/dist/test/unit/kitchen-sink.test.js +45 -57
- package/dist/test/unit/kitchen-sink.test.js.map +1 -1
- package/package.json +202 -51
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
ISC License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2024 Konrad Markus <mail@konker.dev>
|
|
4
4
|
|
|
5
5
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
6
|
purpose with or without fee is hereby granted, provided that the above
|
package/README.md
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
A typesafe middleware system based on [Effect-TS](https://www.effect.website/)
|
|
4
4
|
|
|
5
|
-
[](https://github.com/konkerdotdev/middleware-fp/actions/workflows/ci.yml)
|
|
6
|
-
[](https://www.npmjs.com/package/@konker.dev/middleware-fp)
|
|
7
5
|

|
|
6
|
+
[](https://www.npmjs.com/package/@konker.dev/middleware-fp)
|
|
7
|
+
[](https://github.com/konkerdotdev/middleware-fp/actions/workflows/ci.yml)
|
|
8
|
+
[](https://codecov.io/gh/konkerdotdev/middleware-fp)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { APIGatewayProxyEventV2, APIGatewayProxyResult } from 'aws-lambda';
|
|
2
|
-
import type { Handler } from '../index';
|
|
3
|
-
import type { BaseResponse } from '../lib/http';
|
|
2
|
+
import type { Handler } from '../index.js';
|
|
3
|
+
import type { BaseResponse } from '../lib/http.js';
|
|
4
4
|
export declare const middleware: () => <I extends APIGatewayProxyEventV2, O extends BaseResponse, E, R>(wrapped: Handler<I, O, E, R>) => Handler<I, APIGatewayProxyResult, never, R>;
|
|
5
|
+
//# sourceMappingURL=awsApiGatewayProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"awsApiGatewayProcessor.d.ts","sourceRoot":"","sources":["../../src/contrib/awsApiGatewayProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAIhF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMnD,eAAO,MAAM,UAAU,SAEpB,CAAC,SAAS,sBAAsB,EAAE,CAAC,SAAS,YAAY,EAAE,CAAC,EAAE,CAAC,WACpD,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,OAAO,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CA8C5C,CAAC"}
|
|
@@ -1,54 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.middleware = void 0;
|
|
27
|
-
const P = __importStar(require("@konker.dev/effect-ts-prelude"));
|
|
28
|
-
const http_1 = require("../lib/http");
|
|
29
|
-
const HttpApiError_1 = require("../lib/HttpApiError");
|
|
1
|
+
import { pipe, Schema } from 'effect';
|
|
2
|
+
import * as Effect from 'effect/Effect';
|
|
3
|
+
import { UNKNOWN_STRING_EFFECT } from '../lib/http.js';
|
|
4
|
+
import { toHttpApiError } from '../lib/HttpApiError.js';
|
|
30
5
|
const TAG = 'awsApiGatewayProcessor';
|
|
31
|
-
const middleware = () => (wrapped) => (i) => {
|
|
32
|
-
return
|
|
33
|
-
onFailure: (e) =>
|
|
6
|
+
export const middleware = () => (wrapped) => (i) => {
|
|
7
|
+
return pipe(Effect.succeed(i), Effect.tap(Effect.logDebug(`[${TAG}] IN`)), Effect.flatMap(wrapped), Effect.tap(Effect.logDebug(`[${TAG}] OUT`)), Effect.matchEffect({
|
|
8
|
+
onFailure: (e) => pipe(Effect.succeed(e), Effect.tap(Effect.logError('Error', e)), Effect.map(toHttpApiError), Effect.flatMap((apiError) => pipe(
|
|
34
9
|
// Formulate response body
|
|
35
|
-
{ message: `${apiError.name}: ${apiError.message}`, statusCode: apiError.statusCode },
|
|
10
|
+
{ message: `${apiError.name}: ${apiError.message}`, statusCode: apiError.statusCode }, Schema.encode(Schema.parseJson()), Effect.orElse(UNKNOWN_STRING_EFFECT), Effect.map((body) => ({
|
|
36
11
|
statusCode: apiError.statusCode,
|
|
37
12
|
headers: {
|
|
38
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
39
13
|
'Content-Type': 'application/json',
|
|
40
14
|
},
|
|
41
15
|
body,
|
|
42
16
|
}))))),
|
|
43
|
-
onSuccess: (o) =>
|
|
44
|
-
onTrue: () =>
|
|
45
|
-
onFalse: () =>
|
|
46
|
-
}),
|
|
17
|
+
onSuccess: (o) => pipe(o.body, (body) => Effect.if(typeof body === 'string', {
|
|
18
|
+
onTrue: () => Effect.succeed(body),
|
|
19
|
+
onFalse: () => pipe(body, Schema.encode(Schema.parseJson())),
|
|
20
|
+
}), Effect.orElse(UNKNOWN_STRING_EFFECT), Effect.map((body) => ({
|
|
47
21
|
statusCode: 200, // default
|
|
48
22
|
...o,
|
|
49
23
|
body,
|
|
50
24
|
}))),
|
|
51
25
|
}));
|
|
52
26
|
};
|
|
53
|
-
exports.middleware = middleware;
|
|
54
27
|
//# sourceMappingURL=awsApiGatewayProcessor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awsApiGatewayProcessor.js","sourceRoot":"","sources":["../../src/contrib/awsApiGatewayProcessor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"awsApiGatewayProcessor.js","sourceRoot":"","sources":["../../src/contrib/awsApiGatewayProcessor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,GAAG,GAAG,wBAAwB,CAAC;AAErC,MAAM,CAAC,MAAM,UAAU,GACrB,GAAG,EAAE,CACL,CACE,OAA4B,EACiB,EAAE,CACjD,CAAC,CAAI,EAAE,EAAE;IACP,OAAO,IAAI,CACT,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAC1C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACvB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,EAC3C,MAAM,CAAC,WAAW,CAAC;QACjB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CACf,IAAI,CACF,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EACvC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1B,IAAI;QACF,0BAA0B;QAC1B,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,EACrF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,EACjC,MAAM,CAAC,MAAM,CAAmB,qBAAqB,CAAC,EACtD,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI;SACL,CAAC,CAAC,CACJ,CACF,CACF;QACH,SAAS,EAAE,CAAC,CAAI,EAAE,EAAE,CAClB,IAAI,CACF,CAAC,CAAC,IAAI,EACN,CAAC,IAAI,EAAE,EAAE,CACP,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,EAAE;YAClC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAc,CAAC;YAC5C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;SAC7D,CAAC,EACJ,MAAM,CAAC,MAAM,CAAmB,qBAAqB,CAAC,EACtD,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpB,UAAU,EAAE,GAAG,EAAE,UAAU;YAC3B,GAAG,CAAC;YACJ,IAAI;SACL,CAAC,CAAC,CACJ;KACJ,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { APIGatewayProxyEventV2 } from 'aws-lambda';
|
|
2
|
-
import type { Handler } from '../index';
|
|
3
|
-
import type { BaseResponse } from '../lib/http';
|
|
2
|
+
import type { Handler } from '../index.js';
|
|
3
|
+
import type { BaseResponse } from '../lib/http.js';
|
|
4
4
|
export declare const testCoreL: (out: any) => Handler<APIGatewayProxyEventV2, BaseResponse, Error, unknown>;
|
|
5
5
|
export declare const testCoreR: (out: any) => Handler<APIGatewayProxyEventV2, BaseResponse, Error, unknown>;
|
|
6
|
+
//# sourceMappingURL=awsApiGatewayProcessor.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"awsApiGatewayProcessor.test.d.ts","sourceRoot":"","sources":["../../src/contrib/awsApiGatewayProcessor.test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAKzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAoCnD,eAAO,MAAM,SAAS,QACd,GAAG,KAAG,OAAO,CAAC,sBAAsB,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAEtD,CAAC;AAErB,eAAO,MAAM,SAAS,QACd,GAAG,KAAG,OAAO,CAAC,sBAAsB,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAEnD,CAAC"}
|
|
@@ -1,40 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.testCoreR = exports.testCoreL = void 0;
|
|
27
|
-
const P = __importStar(require("@konker.dev/effect-ts-prelude"));
|
|
28
|
-
const HttpApiError_1 = require("../lib/HttpApiError");
|
|
29
|
-
const test_common_1 = require("../test/test-common");
|
|
30
|
-
const unit = __importStar(require("./awsApiGatewayProcessor"));
|
|
1
|
+
import { pipe } from 'effect';
|
|
2
|
+
import * as Effect from 'effect/Effect';
|
|
3
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
4
|
+
import { HttpApiError } from '../lib/HttpApiError.js';
|
|
5
|
+
import { TestDeps } from '../test/test-common.js';
|
|
6
|
+
import * as unit from './awsApiGatewayProcessor.js';
|
|
7
|
+
// https://stackoverflow.com/a/72885576/203284
|
|
8
|
+
// https://github.com/vitest-dev/vitest/issues/6099
|
|
9
|
+
vi.mock('effect/Effect', { spy: true });
|
|
31
10
|
const TEST_IN = {
|
|
32
11
|
headers: {},
|
|
33
12
|
isBase64Encoded: false,
|
|
34
13
|
requestContext: {},
|
|
35
14
|
body: {},
|
|
36
15
|
};
|
|
37
|
-
const TEST_DEPS =
|
|
16
|
+
const TEST_DEPS = TestDeps.of({ bar: 'bar' });
|
|
38
17
|
const TEST_OUT_1 = {
|
|
39
18
|
statusCode: 200,
|
|
40
19
|
headers: {
|
|
@@ -51,23 +30,21 @@ const TEST_OUT_2 = {
|
|
|
51
30
|
isBase64Encoded: false,
|
|
52
31
|
body: 'string body',
|
|
53
32
|
};
|
|
54
|
-
const TEST_OUT_3 =
|
|
55
|
-
const testCoreL = (out) => (_) =>
|
|
56
|
-
|
|
57
|
-
const testCoreR = (out) => (_) => P.Effect.succeed(out);
|
|
58
|
-
exports.testCoreR = testCoreR;
|
|
33
|
+
const TEST_OUT_3 = HttpApiError('SomeError', 'Some Error Message', 409);
|
|
34
|
+
export const testCoreL = (out) => (_) => Effect.fail(out);
|
|
35
|
+
export const testCoreR = (out) => (_) => Effect.succeed(out);
|
|
59
36
|
describe('middleware/aws-api-gateway-processor', () => {
|
|
60
37
|
let errorSpy;
|
|
61
38
|
beforeEach(() => {
|
|
62
|
-
|
|
63
|
-
errorSpy =
|
|
39
|
+
vi.spyOn(Effect, 'logDebug').mockReturnValue(Effect.succeed(undefined));
|
|
40
|
+
errorSpy = vi.spyOn(Effect, 'logError').mockReturnValue(Effect.succeed(undefined));
|
|
64
41
|
});
|
|
65
42
|
afterEach(() => {
|
|
66
|
-
|
|
43
|
+
vi.restoreAllMocks();
|
|
67
44
|
});
|
|
68
|
-
|
|
69
|
-
const stack =
|
|
70
|
-
const result = await
|
|
45
|
+
it('should work as expected in an success case', async () => {
|
|
46
|
+
const stack = pipe(testCoreR(TEST_OUT_1), unit.middleware());
|
|
47
|
+
const result = await pipe(stack(TEST_IN), Effect.provideService(TestDeps, TEST_DEPS), Effect.runPromise);
|
|
71
48
|
expect(result).toStrictEqual({
|
|
72
49
|
statusCode: 200,
|
|
73
50
|
headers: {
|
|
@@ -78,9 +55,9 @@ describe('middleware/aws-api-gateway-processor', () => {
|
|
|
78
55
|
});
|
|
79
56
|
expect(errorSpy).toHaveBeenCalledTimes(0);
|
|
80
57
|
});
|
|
81
|
-
|
|
82
|
-
const stack =
|
|
83
|
-
const result = await
|
|
58
|
+
it('should work as expected in an success case with string body', async () => {
|
|
59
|
+
const stack = pipe(testCoreR(TEST_OUT_2), unit.middleware());
|
|
60
|
+
const result = await pipe(stack(TEST_IN), Effect.provideService(TestDeps, TEST_DEPS), Effect.runPromise);
|
|
84
61
|
expect(result).toStrictEqual({
|
|
85
62
|
statusCode: 200,
|
|
86
63
|
headers: {
|
|
@@ -91,13 +68,12 @@ describe('middleware/aws-api-gateway-processor', () => {
|
|
|
91
68
|
});
|
|
92
69
|
expect(errorSpy).toHaveBeenCalledTimes(0);
|
|
93
70
|
});
|
|
94
|
-
|
|
95
|
-
const stack =
|
|
96
|
-
const result = await
|
|
71
|
+
it('should work as expected in an error case', async () => {
|
|
72
|
+
const stack = pipe(testCoreL(TEST_OUT_3), unit.middleware());
|
|
73
|
+
const result = await pipe(stack(TEST_IN), Effect.provideService(TestDeps, TEST_DEPS), Effect.runPromise);
|
|
97
74
|
expect(result).toStrictEqual({
|
|
98
75
|
statusCode: 409,
|
|
99
76
|
headers: {
|
|
100
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
101
77
|
'Content-Type': 'application/json',
|
|
102
78
|
},
|
|
103
79
|
body: JSON.stringify({ message: 'SomeError: Some Error Message', statusCode: 409 }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awsApiGatewayProcessor.test.js","sourceRoot":"","sources":["../../src/contrib/awsApiGatewayProcessor.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"awsApiGatewayProcessor.test.js","sourceRoot":"","sources":["../../src/contrib/awsApiGatewayProcessor.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { APIGatewayAuthorizerResult, APIGatewayRequestAuthorizerEventV2 } from 'aws-lambda';
|
|
2
|
-
import type { Handler } from '../index';
|
|
2
|
+
import type { Handler } from '../index.js';
|
|
3
3
|
export declare const ANON_PRINCIPAL_ID = "anon";
|
|
4
4
|
export declare const DEFAULT_ROUTE_ARN = "*";
|
|
5
5
|
export declare const middleware: () => <I extends APIGatewayRequestAuthorizerEventV2, O extends APIGatewayAuthorizerResult, E, R>(wrapped: Handler<I, O, E, R>) => Handler<I, APIGatewayAuthorizerResult, never, R>;
|
|
6
|
+
//# sourceMappingURL=awsIamAuthorizerProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"awsIamAuthorizerProcessor.d.ts","sourceRoot":"","sources":["../../src/contrib/awsIamAuthorizerProcessor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAIjG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,eAAO,MAAM,iBAAiB,SAAS,CAAC;AACxC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,eAAO,MAAM,UAAU,SAEpB,CAAC,SAAS,kCAAkC,EAAE,CAAC,SAAS,0BAA0B,EAAE,CAAC,EAAE,CAAC,WAC9E,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,OAAO,CAAC,CAAC,EAAE,0BAA0B,EAAE,KAAK,EAAE,CAAC,CAiBjD,CAAC"}
|
|
@@ -1,39 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.middleware = exports.DEFAULT_ROUTE_ARN = exports.ANON_PRINCIPAL_ID = void 0;
|
|
27
|
-
const P = __importStar(require("@konker.dev/effect-ts-prelude"));
|
|
28
|
-
const aws_authorizer_1 = require("@konker.dev/tiny-auth-utils-fp/dist/aws-authorizer");
|
|
1
|
+
import { generateLambdaAuthResultDeny } from '@konker.dev/tiny-auth-utils-fp/aws-authorizer';
|
|
2
|
+
import { pipe } from 'effect';
|
|
3
|
+
import * as Effect from 'effect/Effect';
|
|
29
4
|
const TAG = 'awsIamAuthorizerProcessor';
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const middleware = () => (wrapped) => (i) => {
|
|
33
|
-
return
|
|
34
|
-
onFailure: (e) =>
|
|
35
|
-
onSuccess: (o) =>
|
|
5
|
+
export const ANON_PRINCIPAL_ID = 'anon';
|
|
6
|
+
export const DEFAULT_ROUTE_ARN = '*';
|
|
7
|
+
export const middleware = () => (wrapped) => (i) => {
|
|
8
|
+
return pipe(Effect.succeed(i), Effect.tap(Effect.logDebug(`[${TAG}] IN`)), Effect.flatMap(wrapped), Effect.tap(Effect.logDebug(`[${TAG}] OUT`)), Effect.matchEffect({
|
|
9
|
+
onFailure: (e) => pipe(Effect.succeed(e), Effect.tap(Effect.logError('Internal server error', e)), Effect.map((_) => generateLambdaAuthResultDeny(ANON_PRINCIPAL_ID, DEFAULT_ROUTE_ARN))),
|
|
10
|
+
onSuccess: (o) => Effect.succeed(o),
|
|
36
11
|
}));
|
|
37
12
|
};
|
|
38
|
-
exports.middleware = middleware;
|
|
39
13
|
//# sourceMappingURL=awsIamAuthorizerProcessor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awsIamAuthorizerProcessor.js","sourceRoot":"","sources":["../../src/contrib/awsIamAuthorizerProcessor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"awsIamAuthorizerProcessor.js","sourceRoot":"","sources":["../../src/contrib/awsIamAuthorizerProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAE7F,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,MAAM,GAAG,GAAG,2BAA2B,CAAC;AAExC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC,MAAM,CAAC,MAAM,UAAU,GACrB,GAAG,EAAE,CACL,CACE,OAA4B,EACsB,EAAE,CACtD,CAAC,CAAI,EAAE,EAAE;IACP,OAAO,IAAI,CACT,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAC1C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACvB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,EAC3C,MAAM,CAAC,WAAW,CAAC;QACjB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CACf,IAAI,CACF,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,EACvD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,4BAA4B,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CACtF;QACH,SAAS,EAAE,CAAC,CAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;KACvC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { APIGatewayAuthorizerResult, APIGatewayRequestAuthorizerEventV2 } from 'aws-lambda';
|
|
2
|
-
import type { Handler } from '../index';
|
|
2
|
+
import type { Handler } from '../index.js';
|
|
3
3
|
export declare const testCoreL: (e: Error) => Handler<APIGatewayRequestAuthorizerEventV2, APIGatewayAuthorizerResult, Error, never>;
|
|
4
4
|
export declare const testCoreRA: (out: any) => Handler<APIGatewayRequestAuthorizerEventV2, APIGatewayAuthorizerResult, Error, never>;
|
|
5
5
|
export declare const testCoreRD: (out: any) => Handler<APIGatewayRequestAuthorizerEventV2, APIGatewayAuthorizerResult, Error, never>;
|
|
6
|
+
//# sourceMappingURL=awsIamAuthorizerProcessor.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"awsIamAuthorizerProcessor.test.d.ts","sourceRoot":"","sources":["../../src/contrib/awsIamAuthorizerProcessor.test.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAKjG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAoB3C,eAAO,MAAM,SAAS,MAChB,KAAK,KAAG,OAAO,CAAC,kCAAkC,EAAE,0BAA0B,EAAE,KAAK,EAAE,KAAK,CAEhF,CAAC;AAEnB,eAAO,MAAM,UAAU,QACf,GAAG,KAAG,OAAO,CAAC,kCAAkC,EAAE,0BAA0B,EAAE,KAAK,EAAE,KAAK,CAElB,CAAC;AAEjF,eAAO,MAAM,UAAU,QACf,GAAG,KAAG,OAAO,CAAC,kCAAkC,EAAE,0BAA0B,EAAE,KAAK,EAAE,KAAK,CAEnB,CAAC"}
|
|
@@ -1,32 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.testCoreRD = exports.testCoreRA = exports.testCoreL = void 0;
|
|
27
|
-
const P = __importStar(require("@konker.dev/effect-ts-prelude"));
|
|
28
|
-
const aws_authorizer_1 = require("@konker.dev/tiny-auth-utils-fp/dist/aws-authorizer");
|
|
29
|
-
const unit = __importStar(require("./awsIamAuthorizerProcessor"));
|
|
1
|
+
import { generateLambdaAuthResultAllow, generateLambdaAuthResultDeny, } from '@konker.dev/tiny-auth-utils-fp/aws-authorizer';
|
|
2
|
+
import { toError } from '@konker.dev/tiny-error-fp/lib';
|
|
3
|
+
import { pipe } from 'effect';
|
|
4
|
+
import * as Effect from 'effect/Effect';
|
|
5
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
6
|
+
import * as unit from './awsIamAuthorizerProcessor.js';
|
|
7
|
+
// https://stackoverflow.com/a/72885576/203284
|
|
8
|
+
// https://github.com/vitest-dev/vitest/issues/6099
|
|
9
|
+
vi.mock('effect/Effect', { spy: true });
|
|
30
10
|
const TEST_IN = {
|
|
31
11
|
headers: {},
|
|
32
12
|
requestContext: {},
|
|
@@ -36,25 +16,22 @@ const TEST_OUT_1 = {
|
|
|
36
16
|
principalId: 'SOME_PRINCIPAL',
|
|
37
17
|
routeArn: 'SOME_ARN',
|
|
38
18
|
};
|
|
39
|
-
const TEST_OUT_2 =
|
|
40
|
-
const testCoreL = (e) => (_) =>
|
|
41
|
-
|
|
42
|
-
const
|
|
43
|
-
exports.testCoreRA = testCoreRA;
|
|
44
|
-
const testCoreRD = (out) => (_) => P.Effect.succeed((0, aws_authorizer_1.generateLambdaAuthResultDeny)(out.principalId, out.routeArn));
|
|
45
|
-
exports.testCoreRD = testCoreRD;
|
|
19
|
+
const TEST_OUT_2 = toError('Some Error Message');
|
|
20
|
+
export const testCoreL = (e) => (_) => Effect.fail(e);
|
|
21
|
+
export const testCoreRA = (out) => (_) => Effect.succeed(generateLambdaAuthResultAllow(out.principalId, out.routeArn));
|
|
22
|
+
export const testCoreRD = (out) => (_) => Effect.succeed(generateLambdaAuthResultDeny(out.principalId, out.routeArn));
|
|
46
23
|
describe('middleware/aws-iam-authorizer-processor', () => {
|
|
47
24
|
let errorSpy;
|
|
48
25
|
beforeEach(() => {
|
|
49
|
-
|
|
50
|
-
errorSpy =
|
|
26
|
+
vi.spyOn(Effect, 'logDebug').mockReturnValue(Effect.succeed(undefined));
|
|
27
|
+
errorSpy = vi.spyOn(Effect, 'logError').mockReturnValue(Effect.succeed(undefined));
|
|
51
28
|
});
|
|
52
29
|
afterEach(() => {
|
|
53
|
-
|
|
30
|
+
vi.restoreAllMocks();
|
|
54
31
|
});
|
|
55
|
-
|
|
56
|
-
const stack =
|
|
57
|
-
const result = await
|
|
32
|
+
it('should work as expected in an success case (Allow)', async () => {
|
|
33
|
+
const stack = pipe(testCoreRA(TEST_OUT_1), unit.middleware());
|
|
34
|
+
const result = await pipe(stack(TEST_IN), Effect.runPromise);
|
|
58
35
|
expect(result).toStrictEqual({
|
|
59
36
|
context: {
|
|
60
37
|
principalId: 'SOME_PRINCIPAL',
|
|
@@ -73,9 +50,9 @@ describe('middleware/aws-iam-authorizer-processor', () => {
|
|
|
73
50
|
});
|
|
74
51
|
expect(errorSpy).toHaveBeenCalledTimes(0);
|
|
75
52
|
});
|
|
76
|
-
|
|
77
|
-
const stack =
|
|
78
|
-
const result = await
|
|
53
|
+
it('should work as expected in an success case (Deny)', async () => {
|
|
54
|
+
const stack = pipe(testCoreRD(TEST_OUT_1), unit.middleware());
|
|
55
|
+
const result = await pipe(stack(TEST_IN), Effect.runPromise);
|
|
79
56
|
expect(result).toStrictEqual({
|
|
80
57
|
context: {
|
|
81
58
|
principalId: 'SOME_PRINCIPAL',
|
|
@@ -94,9 +71,9 @@ describe('middleware/aws-iam-authorizer-processor', () => {
|
|
|
94
71
|
});
|
|
95
72
|
expect(errorSpy).toHaveBeenCalledTimes(0);
|
|
96
73
|
});
|
|
97
|
-
|
|
98
|
-
const stack =
|
|
99
|
-
const result = await
|
|
74
|
+
it('should work as expected in an error case', async () => {
|
|
75
|
+
const stack = pipe(testCoreL(TEST_OUT_2), unit.middleware());
|
|
76
|
+
const result = await pipe(stack(TEST_IN), Effect.runPromise);
|
|
100
77
|
expect(result).toStrictEqual({
|
|
101
78
|
context: {
|
|
102
79
|
principalId: 'anon',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awsIamAuthorizerProcessor.test.js","sourceRoot":"","sources":["../../src/contrib/awsIamAuthorizerProcessor.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"awsIamAuthorizerProcessor.test.js","sourceRoot":"","sources":["../../src/contrib/awsIamAuthorizerProcessor.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { APIGatewayRequestAuthorizerEventV2, APIGatewaySimpleAuthorizerResult } from 'aws-lambda';
|
|
2
|
-
import type { Handler } from '../index';
|
|
3
|
-
import type { BaseSimpleAuthResponse } from '../lib/http';
|
|
2
|
+
import type { Handler } from '../index.js';
|
|
3
|
+
import type { BaseSimpleAuthResponse } from '../lib/http.js';
|
|
4
4
|
export declare const middleware: () => <I extends APIGatewayRequestAuthorizerEventV2, O extends BaseSimpleAuthResponse, E, R>(wrapped: Handler<I, O, E, R>) => Handler<I, APIGatewaySimpleAuthorizerResult, never, R>;
|
|
5
|
+
//# sourceMappingURL=awsSimpleAuthorizerProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"awsSimpleAuthorizerProcessor.d.ts","sourceRoot":"","sources":["../../src/contrib/awsSimpleAuthorizerProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kCAAkC,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAIvG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAI7D,eAAO,MAAM,UAAU,SAEpB,CAAC,SAAS,kCAAkC,EAAE,CAAC,SAAS,sBAAsB,EAAE,CAAC,EAAE,CAAC,WAC1E,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,OAAO,CAAC,CAAC,EAAE,gCAAgC,EAAE,KAAK,EAAE,CAAC,CAsBvD,CAAC"}
|
|
@@ -1,40 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.middleware = void 0;
|
|
27
|
-
const P = __importStar(require("@konker.dev/effect-ts-prelude"));
|
|
1
|
+
import { pipe } from 'effect';
|
|
2
|
+
import * as Effect from 'effect/Effect';
|
|
28
3
|
const TAG = 'awsSimpleAuthorizerProcessor';
|
|
29
|
-
const middleware = () => (wrapped) => (i) => {
|
|
30
|
-
return
|
|
31
|
-
onFailure: (e) =>
|
|
4
|
+
export const middleware = () => (wrapped) => (i) => {
|
|
5
|
+
return pipe(Effect.succeed(i), Effect.tap(Effect.logDebug(`[${TAG}] IN`)), Effect.flatMap(wrapped), Effect.tap(Effect.logDebug(`[${TAG}] OUT`)), Effect.matchEffect({
|
|
6
|
+
onFailure: (e) => pipe(Effect.succeed(e), Effect.tap(Effect.logError('Internal server error', e)), Effect.map((_) => ({
|
|
32
7
|
isAuthorized: false,
|
|
33
8
|
}))),
|
|
34
|
-
onSuccess: (o) =>
|
|
9
|
+
onSuccess: (o) => Effect.succeed({
|
|
35
10
|
isAuthorized: o.isAuthorized,
|
|
36
11
|
}),
|
|
37
12
|
}));
|
|
38
13
|
};
|
|
39
|
-
exports.middleware = middleware;
|
|
40
14
|
//# sourceMappingURL=awsSimpleAuthorizerProcessor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awsSimpleAuthorizerProcessor.js","sourceRoot":"","sources":["../../src/contrib/awsSimpleAuthorizerProcessor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"awsSimpleAuthorizerProcessor.js","sourceRoot":"","sources":["../../src/contrib/awsSimpleAuthorizerProcessor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,MAAM,GAAG,GAAG,8BAA8B,CAAC;AAE3C,MAAM,CAAC,MAAM,UAAU,GACrB,GAAG,EAAE,CACL,CACE,OAA4B,EAC4B,EAAE,CAC5D,CAAC,CAAI,EAAE,EAAE;IACP,OAAO,IAAI,CACT,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAC1C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACvB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,EAC3C,MAAM,CAAC,WAAW,CAAC;QACjB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CACf,IAAI,CACF,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,EACvD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC,CACJ;QACH,SAAS,EAAE,CAAC,CAAI,EAAE,EAAE,CAClB,MAAM,CAAC,OAAO,CAAC;YACb,YAAY,EAAE,CAAC,CAAC,YAAY;SAC7B,CAAC;KACL,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { APIGatewayRequestAuthorizerEventV2 } from 'aws-lambda';
|
|
2
|
-
import type { Handler } from '../index';
|
|
3
|
-
import type { BaseSimpleAuthResponse } from '../lib/http';
|
|
2
|
+
import type { Handler } from '../index.js';
|
|
3
|
+
import type { BaseSimpleAuthResponse } from '../lib/http.js';
|
|
4
4
|
export declare const testCoreL: (e: Error) => Handler<APIGatewayRequestAuthorizerEventV2, BaseSimpleAuthResponse, Error, never>;
|
|
5
5
|
export declare const testCoreRA: (out: any) => Handler<APIGatewayRequestAuthorizerEventV2, BaseSimpleAuthResponse, Error, never>;
|
|
6
6
|
export declare const testCoreRD: (out: any) => Handler<APIGatewayRequestAuthorizerEventV2, BaseSimpleAuthResponse, Error, never>;
|
|
7
|
+
//# sourceMappingURL=awsSimpleAuthorizerProcessor.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"awsSimpleAuthorizerProcessor.test.d.ts","sourceRoot":"","sources":["../../src/contrib/awsSimpleAuthorizerProcessor.test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAKrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAoB7D,eAAO,MAAM,SAAS,MAChB,KAAK,KAAG,OAAO,CAAC,kCAAkC,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,CAE5E,CAAC;AAEnB,eAAO,MAAM,UAAU,QACf,GAAG,KAAG,OAAO,CAAC,kCAAkC,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,CAKxF,CAAC;AAEP,eAAO,MAAM,UAAU,QACf,GAAG,KAAG,OAAO,CAAC,kCAAkC,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,CAKxF,CAAC"}
|