@konker.dev/middleware-fp 0.0.5-rc1 → 0.0.6
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/dist/contrib/bodyValidator.d.ts +1 -2
- package/dist/contrib/bodyValidator.js.map +1 -1
- package/dist/contrib/dynamodbDocClientInit/index.d.ts +6 -0
- package/dist/contrib/dynamodbDocClientInit/index.js +35 -0
- package/dist/contrib/dynamodbDocClientInit/index.js.map +1 -0
- package/dist/contrib/{dynamodbDocClientInit.test.js → dynamodbDocClientInit/index.test.js} +3 -3
- package/dist/contrib/dynamodbDocClientInit/index.test.js.map +1 -0
- package/dist/contrib/{dynamodbDocClientInit.d.ts → dynamodbDocClientInit/lib.d.ts} +2 -5
- package/dist/contrib/{dynamodbDocClientInit.js → dynamodbDocClientInit/lib.js} +3 -11
- package/dist/contrib/dynamodbDocClientInit/lib.js.map +1 -0
- package/dist/contrib/envValidator.js +12 -2
- package/dist/contrib/envValidator.js.map +1 -1
- package/dist/contrib/headerSignatureAuthorizer/index.d.ts +10 -0
- package/dist/contrib/headerSignatureAuthorizer/index.js +40 -0
- package/dist/contrib/headerSignatureAuthorizer/index.js.map +1 -0
- package/dist/contrib/headerSignatureAuthorizer/index.test.d.ts +8 -0
- package/dist/contrib/headerSignatureAuthorizer/index.test.js +87 -0
- package/dist/contrib/headerSignatureAuthorizer/index.test.js.map +1 -0
- package/dist/contrib/headerSignatureAuthorizer/lib.d.ts +3 -0
- package/dist/contrib/headerSignatureAuthorizer/lib.js +33 -0
- package/dist/contrib/headerSignatureAuthorizer/lib.js.map +1 -0
- package/dist/contrib/headerSignatureAuthorizer/lib.test.d.ts +4 -0
- package/dist/contrib/headerSignatureAuthorizer/lib.test.js +51 -0
- package/dist/contrib/headerSignatureAuthorizer/lib.test.js.map +1 -0
- package/dist/contrib/headersNormalizer/index.d.ts +2 -3
- package/dist/contrib/headersNormalizer/index.js.map +1 -1
- package/dist/contrib/headersValidator.d.ts +1 -2
- package/dist/contrib/headersValidator.js.map +1 -1
- package/dist/contrib/helmetJsHeaders.d.ts +1 -1
- package/dist/contrib/helmetJsHeaders.js.map +1 -1
- package/dist/contrib/index.d.ts +1 -0
- package/dist/contrib/index.js +2 -1
- package/dist/contrib/index.js.map +1 -1
- package/dist/contrib/jsonBodyParser.d.ts +1 -2
- package/dist/contrib/jsonBodyParser.js.map +1 -1
- package/dist/contrib/momentoClientInit.d.ts +2 -2
- package/dist/contrib/momentoClientInit.js.map +1 -1
- package/dist/contrib/pathParametersValidator.d.ts +1 -2
- package/dist/contrib/pathParametersValidator.js.map +1 -1
- package/dist/contrib/queryStringValidator.d.ts +1 -2
- package/dist/contrib/queryStringValidator.js.map +1 -1
- package/package.json +4 -4
- package/dist/contrib/dynamodbDocClientInit.js.map +0 -1
- package/dist/contrib/dynamodbDocClientInit.test.js.map +0 -1
- /package/dist/contrib/{dynamodbDocClientInit.test.d.ts → dynamodbDocClientInit/index.test.d.ts} +0 -0
|
@@ -8,5 +8,4 @@ export type WithValidatedBody<V> = {
|
|
|
8
8
|
body: V;
|
|
9
9
|
validatorRawBody: unknown;
|
|
10
10
|
};
|
|
11
|
-
export
|
|
12
|
-
export declare const middleware: <V>(schema: P.Schema.Schema<V>) => <I, O, E, R>(wrapped: Handler<I & WithValidatedBody<V>, O, E, R>) => Handler<AdaptedI<I, V>, O, E | MiddlewareError, R>;
|
|
11
|
+
export declare const middleware: <V>(schema: P.Schema.Schema<V>) => <I extends WithBody, O, E, R>(wrapped: Handler<I & WithValidatedBody<V>, O, E, R>) => Handler<I, O, E | MiddlewareError, R>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bodyValidator.js","sourceRoot":"","sources":["../../src/contrib/bodyValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAInD,4DAA2D;AAE3D,MAAM,GAAG,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"bodyValidator.js","sourceRoot":"","sources":["../../src/contrib/bodyValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAInD,4DAA2D;AAE3D,MAAM,GAAG,GAAG,eAAe,CAAC;AAKrB,MAAM,UAAU,GACrB,CAAI,MAA0B,EAAE,EAAE,CAClC,CACE,OAAmD,EACZ,EAAE,CAC3C,CAAC,CAAI,EAAE,EAAE,CACP,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACnB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACrB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAC9F,EACD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mCAAiB,EAAC,CAAC,CAAC,CAAC,EAC9C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,aAAgB,EAAE,EAAE,CAAC,CAAC;IAClC,GAAG,CAAC;IACJ,IAAI,EAAE,aAAa;IACnB,gBAAgB,EAAE,CAAC,CAAC,IAAI;CACzB,CAAC,CAAC,EACH,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAC1B,CAAC;AAnBO,QAAA,UAAU,cAmBjB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { DynamoDBClientConfig } from '@aws-sdk/client-dynamodb';
|
|
2
|
+
import { DynamoDBDocumentClientDeps, DynamoDBDocumentClientFactoryDeps } from '@konker.dev/aws-client-effect-dynamodb';
|
|
3
|
+
import type { Handler } from '../../index';
|
|
4
|
+
import type { MiddlewareError } from '../../lib/MiddlewareError';
|
|
5
|
+
export type Adapted<R> = Exclude<R, DynamoDBDocumentClientDeps> | DynamoDBDocumentClientFactoryDeps;
|
|
6
|
+
export declare const middleware: (config: DynamoDBClientConfig) => <I, O, E, R>(wrapped: Handler<I, O, E, R | DynamoDBDocumentClientDeps>) => Handler<I, O, E | MiddlewareError, Adapted<R>>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
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"));
|
|
28
|
+
const aws_client_effect_dynamodb_1 = require("@konker.dev/aws-client-effect-dynamodb");
|
|
29
|
+
const lib_1 = require("./lib");
|
|
30
|
+
const TAG = 'dynamodbDocClientInit';
|
|
31
|
+
const middleware = (config) => (wrapped) => (i) => P.pipe(
|
|
32
|
+
// TODO: a bit too nested?
|
|
33
|
+
aws_client_effect_dynamodb_1.DynamoDBDocumentClientFactoryDeps, P.Effect.tap(P.Effect.logDebug(`[${TAG}] IN`)), P.Effect.flatMap((factoryDeps) => P.pipe(factoryDeps, (0, lib_1.depsSetupDynamoDB)(config), P.Effect.flatMap((deps) => P.pipe(wrapped(i), P.Effect.provideService(aws_client_effect_dynamodb_1.DynamoDBDocumentClientDeps, deps), P.Effect.tap((0, lib_1.depsCleanupDynamoDB)(deps)))))), P.Effect.tap(P.Effect.logDebug(`[${TAG}] OUT`)));
|
|
34
|
+
exports.middleware = middleware;
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contrib/dynamodbDocClientInit/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAGnD,uFAAuH;AAIvH,+BAA+D;AAE/D,MAAM,GAAG,GAAG,uBAAuB,CAAC;AAI7B,MAAM,UAAU,GACrB,CAAC,MAA4B,EAAE,EAAE,CACjC,CACE,OAAyD,EACT,EAAE,CACpD,CAAC,CAAI,EAAE,EAAE,CACP,CAAC,CAAC,IAAI;AACJ,0BAA0B;AAC1B,8DAAiC,EACjC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAC/B,CAAC,CAAC,IAAI,CACJ,WAAW,EACX,IAAA,uBAAiB,EAAC,MAAM,CAAC,EACzB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,CAAC,CAAC,IAAI,CACJ,OAAO,CAAC,CAAC,CAAC,EACV,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,uDAA0B,EAAE,IAAI,CAAC,EACzD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAA,yBAAmB,EAAC,IAAI,CAAC,CAAC,CACxC,CACF,CACF,CACF,EACD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAChD,CAAC;AAxBO,QAAA,UAAU,cAwBjB"}
|
|
@@ -25,8 +25,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
const P = __importStar(require("@konker.dev/effect-ts-prelude"));
|
|
27
27
|
const aws_client_effect_dynamodb_1 = require("@konker.dev/aws-client-effect-dynamodb");
|
|
28
|
-
const test_common_1 = require("
|
|
29
|
-
const unit = __importStar(require("./
|
|
28
|
+
const test_common_1 = require("../../test/test-common");
|
|
29
|
+
const unit = __importStar(require("./index"));
|
|
30
30
|
const clientDestroyMock = jest.fn();
|
|
31
31
|
const docClientDestroyMock = jest.fn();
|
|
32
32
|
const clientFactoryMock = jest.fn().mockReturnValue({ destroy: clientDestroyMock });
|
|
@@ -49,4 +49,4 @@ describe('middleware/dynamodb-doc-client-init', () => {
|
|
|
49
49
|
expect(docClientDestroyMock).toHaveBeenCalledTimes(1);
|
|
50
50
|
});
|
|
51
51
|
});
|
|
52
|
-
//# sourceMappingURL=
|
|
52
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/contrib/dynamodbDocClientInit/index.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,uFAAuH;AAEvH,wDAAwD;AACxD,8CAAgC;AAIhC,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACpC,MAAM,oBAAoB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACvC,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;AACpF,MAAM,oBAAoB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAE1F,MAAM,OAAO,GAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AACnC,MAAM,SAAS,GAAsC,8DAAiC,CAAC,EAAE,CAAC;IACxF,qBAAqB,EAAE,iBAAiB;IACxC,6BAA6B,EAAE,oBAAoB;CACpD,CAAC,CAAC;AAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,IAAA,4BAAc,EAAC,uDAA0B,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1F,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,CACzB,SAAS,CAAC,OAAO,CAAC,EAClB,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,8DAAiC,EAAE,SAAS,CAAC,EACrE,CAAC,CAAC,MAAM,CAAC,UAAU,CACpB,CAAC;QAEF,6EAA6E;QAC7E,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QACxD,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,oBAAoB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,oBAAoB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import * as P from '@konker.dev/effect-ts-prelude';
|
|
2
2
|
import type { DynamoDBClientConfig } from '@aws-sdk/client-dynamodb';
|
|
3
|
-
import { DynamoDBDocumentClientDeps, DynamoDBDocumentClientFactoryDeps } from '@konker.dev/aws-client-effect-dynamodb';
|
|
4
|
-
import type {
|
|
5
|
-
import type { MiddlewareError } from '../lib/MiddlewareError';
|
|
3
|
+
import type { DynamoDBDocumentClientDeps, DynamoDBDocumentClientFactoryDeps } from '@konker.dev/aws-client-effect-dynamodb';
|
|
4
|
+
import type { MiddlewareError } from '../../lib/MiddlewareError';
|
|
6
5
|
export declare function depsSetupDynamoDB<A1 extends DynamoDBDocumentClientFactoryDeps>(config: DynamoDBClientConfig): (deps: A1) => P.Effect.Effect<A1 & DynamoDBDocumentClientDeps, MiddlewareError, never>;
|
|
7
6
|
export declare const depsCleanupDynamoDB: <R2 extends DynamoDBDocumentClientDeps>(r2: R2) => () => P.Effect.Effect<void, import("@konker.dev/tiny-error-fp").TinyError<"MiddlewareError">, never>;
|
|
8
|
-
export type AdaptedR<R> = Exclude<R, DynamoDBDocumentClientDeps> | DynamoDBDocumentClientFactoryDeps;
|
|
9
|
-
export declare const middleware: (config: DynamoDBClientConfig) => <I, O, E, R>(wrapped: Handler<I, O, E, R | DynamoDBDocumentClientDeps>) => Handler<I, O, E | MiddlewareError, AdaptedR<R>>;
|
|
@@ -23,13 +23,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
26
|
+
exports.depsCleanupDynamoDB = void 0;
|
|
27
27
|
exports.depsSetupDynamoDB = depsSetupDynamoDB;
|
|
28
28
|
const P = __importStar(require("@konker.dev/effect-ts-prelude"));
|
|
29
|
-
const
|
|
30
|
-
const MiddlewareError_1 = require("../lib/MiddlewareError");
|
|
31
|
-
const TAG = 'dynamodbDocClientInit';
|
|
32
|
-
// --------------------------------------------------------------------------
|
|
29
|
+
const MiddlewareError_1 = require("../../lib/MiddlewareError");
|
|
33
30
|
function depsSetupDynamoDB(config) {
|
|
34
31
|
return function (deps) {
|
|
35
32
|
return P.Effect.tryPromise({
|
|
@@ -59,9 +56,4 @@ const depsCleanupDynamoDB = (r2) => () => {
|
|
|
59
56
|
});
|
|
60
57
|
};
|
|
61
58
|
exports.depsCleanupDynamoDB = depsCleanupDynamoDB;
|
|
62
|
-
|
|
63
|
-
const middleware = (config) => (wrapped) => (i) => P.pipe(
|
|
64
|
-
// TODO: a bit too nested?
|
|
65
|
-
aws_client_effect_dynamodb_1.DynamoDBDocumentClientFactoryDeps, P.Effect.tap(P.Effect.logDebug(`[${TAG}] IN`)), P.Effect.flatMap((factoryDeps) => P.pipe(factoryDeps, depsSetupDynamoDB(config), P.Effect.flatMap((deps) => P.pipe(wrapped(i), P.Effect.provideService(aws_client_effect_dynamodb_1.DynamoDBDocumentClientDeps, deps), P.Effect.tap((0, exports.depsCleanupDynamoDB)(deps)))))), P.Effect.tap(P.Effect.logDebug(`[${TAG}] OUT`)));
|
|
66
|
-
exports.middleware = middleware;
|
|
67
|
-
//# sourceMappingURL=dynamodbDocClientInit.js.map
|
|
59
|
+
//# sourceMappingURL=lib.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/contrib/dynamodbDocClientInit/lib.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,8CAeC;AA1BD,iEAAmD;AASnD,+DAA8D;AAE9D,SAAgB,iBAAiB,CAA+C,MAA4B;IAC1G,OAAO,UAAU,IAAQ;QACvB,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;YACzB,GAAG,EAAE,KAAK,IAAI,EAAE;gBACd,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;gBACxD,MAAM,eAAe,GAAG,IAAI,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;gBACzE,OAAO;oBACL,GAAG,IAAI;oBACP,cAAc,EAAE,GAAG,EAAE,CAAC,YAAY;oBAClC,sBAAsB,EAAE,GAAG,EAAE,CAAC,eAAe;iBAC9C,CAAC;YACJ,CAAC;YACD,KAAK,EAAE,mCAAiB;SACzB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAEM,MAAM,mBAAmB,GAC9B,CAAwC,EAAM,EAAE,EAAE,CAClD,GAAG,EAAE;IACH,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QACzB,qCAAqC;QACrC,GAAG,EAAE,KAAK,IAAI,EAAE;YACd,mDAAmD;YACnD,EAAE,CAAC,sBAAsB,EAAE,CAAC,OAAO,EAAE,CAAC;YACtC,mDAAmD;YACnD,EAAE,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;QACD,KAAK,EAAE,mCAAiB;KACzB,CAAC,CAAC;AACL,CAAC,CAAC;AAbS,QAAA,mBAAmB,uBAa5B"}
|
|
@@ -27,9 +27,19 @@ exports.middleware = void 0;
|
|
|
27
27
|
const P = __importStar(require("@konker.dev/effect-ts-prelude"));
|
|
28
28
|
const MiddlewareError_1 = require("../lib/MiddlewareError");
|
|
29
29
|
const TAG = 'envValidator';
|
|
30
|
-
const middleware = (schema) => (wrapped) => (i) => P.pipe(
|
|
30
|
+
const middleware = (schema) => (wrapped) => (i) => P.pipe(
|
|
31
|
+
// Lift the input
|
|
32
|
+
P.Effect.succeed(i),
|
|
33
|
+
// Log before
|
|
34
|
+
P.Effect.tap(P.Effect.logDebug(`[${TAG}] IN`)),
|
|
35
|
+
// Parse the environment according to the given schema and inject into input
|
|
36
|
+
P.Effect.flatMap((_) => P.pipe(process.env, P.Schema.decodeUnknown(schema, { errors: 'all', onExcessProperty: 'ignore' }))), P.Effect.mapError(MiddlewareError_1.toMiddlewareError), P.Effect.map((validatedEnv) => ({
|
|
31
37
|
...i,
|
|
32
38
|
validatedEnv,
|
|
33
|
-
})),
|
|
39
|
+
})),
|
|
40
|
+
// Call the next middleware in the stack
|
|
41
|
+
P.Effect.flatMap(wrapped),
|
|
42
|
+
// Log after
|
|
43
|
+
P.Effect.tap(P.Effect.logDebug(`[${TAG}] OUT`)));
|
|
34
44
|
exports.middleware = middleware;
|
|
35
45
|
//# sourceMappingURL=envValidator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envValidator.js","sourceRoot":"","sources":["../../src/contrib/envValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAInD,4DAA2D;AAE3D,MAAM,GAAG,GAAG,cAAc,CAAC;AAMpB,MAAM,UAAU,GACrB,CAAI,MAA0B,EAAE,EAAE,CAClC,CAAa,OAAkD,EAAyC,EAAE,CAC1G,CAAC,CAAI,EAAE,EAAE,CACP,CAAC,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"envValidator.js","sourceRoot":"","sources":["../../src/contrib/envValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAInD,4DAA2D;AAE3D,MAAM,GAAG,GAAG,cAAc,CAAC;AAMpB,MAAM,UAAU,GACrB,CAAI,MAA0B,EAAE,EAAE,CAClC,CAAa,OAAkD,EAAyC,EAAE,CAC1G,CAAC,CAAI,EAAE,EAAE,CACP,CAAC,CAAC,IAAI;AACJ,iBAAiB;AACjB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACnB,aAAa;AACb,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;AAC9C,4EAA4E;AAC5E,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACrB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC,CACnG,EACD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,mCAAiB,CAAC,EACpC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAe,EAAE,EAAE,CAAC,CAAC;IACjC,GAAG,CAAC;IACJ,YAAY;CACb,CAAC,CAAC;AACH,wCAAwC;AACxC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;AACzB,YAAY;AACZ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAChD,CAAC;AAtBO,QAAA,UAAU,cAsBjB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as P from '@konker.dev/effect-ts-prelude';
|
|
2
|
+
import type { APIGatewayProxyEventV2 } from 'aws-lambda';
|
|
3
|
+
import type { Handler } from '../../index';
|
|
4
|
+
import { HttpApiError } from '../../lib/HttpApiError';
|
|
5
|
+
export type HeaderSignatureAuthorizerDeps = {
|
|
6
|
+
readonly secret: string;
|
|
7
|
+
readonly signatureHeaderName: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const HeaderSignatureAuthorizerDeps: P.Context.Tag<HeaderSignatureAuthorizerDeps, HeaderSignatureAuthorizerDeps>;
|
|
10
|
+
export declare const middleware: () => <I extends APIGatewayProxyEventV2, O, E, R>(wrapped: Handler<I, O, E, R>) => Handler<I, O, E | HttpApiError, R | HeaderSignatureAuthorizerDeps>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
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 = exports.HeaderSignatureAuthorizerDeps = void 0;
|
|
27
|
+
const P = __importStar(require("@konker.dev/effect-ts-prelude"));
|
|
28
|
+
const HttpApiError_1 = require("../../lib/HttpApiError");
|
|
29
|
+
const lib_1 = require("./lib");
|
|
30
|
+
const TAG = 'headerSignatureAuthorizer';
|
|
31
|
+
exports.HeaderSignatureAuthorizerDeps = P.Context.GenericTag('HeaderSignatureAuthorizerDeps');
|
|
32
|
+
// --------------------------------------------------------------------------
|
|
33
|
+
const middleware = () => (wrapped) => (i) => {
|
|
34
|
+
return P.pipe(exports.HeaderSignatureAuthorizerDeps, P.Effect.tap(P.Effect.logDebug(`[${TAG}] IN`)), P.Effect.flatMap(({ secret, signatureHeaderName }) => P.Effect.if((0, lib_1.validateHeaderSignature)(i.headers[signatureHeaderName], i.body, secret), {
|
|
35
|
+
onTrue: () => P.Effect.succeed(i),
|
|
36
|
+
onFalse: () => P.Effect.fail((0, HttpApiError_1.HttpApiError)('UnauthorizedError', 'Invalid signature', 401)),
|
|
37
|
+
})), P.Effect.tapError((_) => P.Effect.logError(`UnauthorizedError: Invalid signature: ${i.body}`)), P.Effect.flatMap(wrapped), P.Effect.tap(P.Effect.logDebug(`[${TAG}] OUT`)));
|
|
38
|
+
};
|
|
39
|
+
exports.middleware = middleware;
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contrib/headerSignatureAuthorizer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAKnD,yDAAsD;AACtD,+BAAgD;AAEhD,MAAM,GAAG,GAAG,2BAA2B,CAAC;AAO3B,QAAA,6BAA6B,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAC/D,+BAA+B,CAChC,CAAC;AAEF,6EAA6E;AACtE,MAAM,UAAU,GACrB,GAAG,EAAE,CACL,CACE,OAA4B,EACwC,EAAE,CACxE,CAAC,CAAI,EAAE,EAAE;IACP,OAAO,CAAC,CAAC,IAAI,CACX,qCAA6B,EAC7B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,EAAE,CACnD,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAA,6BAAuB,EAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;QACpF,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACjC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAY,EAAC,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC;KAC1F,CAAC,CACH,EACD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,yCAAyC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAC9F,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACzB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAChD,CAAC;AACJ,CAAC,CAAC;AAnBS,QAAA,UAAU,cAmBnB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as P from '@konker.dev/effect-ts-prelude';
|
|
2
|
+
import * as unit from './index';
|
|
3
|
+
export declare const CORRECT_TEST_HMAC_VALUE = "test-hmac-value";
|
|
4
|
+
export declare const INCORRECT_TEST_HMAC_VALUE = "wrong-hmac-value";
|
|
5
|
+
export declare const TEST_SIGNATURE_HEADER_NAME = "x-test-signature";
|
|
6
|
+
export declare const TEST_SECRET = "test-secret";
|
|
7
|
+
export declare const HEADER_SIGNATURE_AUTHORIZER_TEST_DEPS: unit.HeaderSignatureAuthorizerDeps;
|
|
8
|
+
export declare const mockHeaderSignatureAuthorizerDeps: <A, E, R>(self: P.Effect.Effect<A, E, R>) => P.Effect.Effect<A, E, Exclude<R, unit.HeaderSignatureAuthorizerDeps>>;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
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.mockHeaderSignatureAuthorizerDeps = exports.HEADER_SIGNATURE_AUTHORIZER_TEST_DEPS = exports.TEST_SECRET = exports.TEST_SIGNATURE_HEADER_NAME = exports.INCORRECT_TEST_HMAC_VALUE = exports.CORRECT_TEST_HMAC_VALUE = void 0;
|
|
27
|
+
const P = __importStar(require("@konker.dev/effect-ts-prelude"));
|
|
28
|
+
const utils = __importStar(require("@konker.dev/tiny-utils-fp"));
|
|
29
|
+
const test_common_1 = require("../../test/test-common");
|
|
30
|
+
const unit = __importStar(require("./index"));
|
|
31
|
+
const index_1 = require("./index");
|
|
32
|
+
exports.CORRECT_TEST_HMAC_VALUE = 'test-hmac-value';
|
|
33
|
+
exports.INCORRECT_TEST_HMAC_VALUE = 'wrong-hmac-value';
|
|
34
|
+
exports.TEST_SIGNATURE_HEADER_NAME = 'x-test-signature';
|
|
35
|
+
exports.TEST_SECRET = 'test-secret';
|
|
36
|
+
exports.HEADER_SIGNATURE_AUTHORIZER_TEST_DEPS = unit.HeaderSignatureAuthorizerDeps.of({
|
|
37
|
+
secret: exports.TEST_SECRET,
|
|
38
|
+
signatureHeaderName: exports.TEST_SIGNATURE_HEADER_NAME,
|
|
39
|
+
});
|
|
40
|
+
exports.mockHeaderSignatureAuthorizerDeps = P.Effect.provideService(index_1.HeaderSignatureAuthorizerDeps, exports.HEADER_SIGNATURE_AUTHORIZER_TEST_DEPS);
|
|
41
|
+
const TEST_IN_1 = {
|
|
42
|
+
isBase64Encoded: false,
|
|
43
|
+
requestContext: {},
|
|
44
|
+
body: 'TEST_BODY',
|
|
45
|
+
headers: {
|
|
46
|
+
[exports.TEST_SIGNATURE_HEADER_NAME]: exports.CORRECT_TEST_HMAC_VALUE,
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
const TEST_IN_2 = {
|
|
50
|
+
isBase64Encoded: false,
|
|
51
|
+
requestContext: {},
|
|
52
|
+
body: 'TEST_BODY',
|
|
53
|
+
headers: {
|
|
54
|
+
[exports.TEST_SIGNATURE_HEADER_NAME]: exports.INCORRECT_TEST_HMAC_VALUE,
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
describe('middleware/header-signature-authorizer', () => {
|
|
58
|
+
let errorSpy;
|
|
59
|
+
beforeEach(() => {
|
|
60
|
+
jest.spyOn(utils, 'sha256HmacHex').mockReturnValue(P.Effect.succeed(exports.CORRECT_TEST_HMAC_VALUE));
|
|
61
|
+
jest.spyOn(P.Effect, 'logDebug').mockReturnValue(P.Effect.succeed(undefined));
|
|
62
|
+
errorSpy = jest.spyOn(P.Effect, 'logError').mockReturnValue(P.Effect.succeed(undefined));
|
|
63
|
+
});
|
|
64
|
+
afterEach(() => {
|
|
65
|
+
jest.restoreAllMocks();
|
|
66
|
+
});
|
|
67
|
+
test('it should work as expected in an success case', async () => {
|
|
68
|
+
const egHandler = P.pipe(test_common_1.http200CoreIn, unit.middleware());
|
|
69
|
+
const result = await P.pipe(egHandler(TEST_IN_1), exports.mockHeaderSignatureAuthorizerDeps, P.Effect.runPromise);
|
|
70
|
+
expect(result).toStrictEqual({
|
|
71
|
+
statusCode: 200,
|
|
72
|
+
headers: {
|
|
73
|
+
QUX: 'qux_value',
|
|
74
|
+
},
|
|
75
|
+
body: JSON.stringify({ result: 'OK' }),
|
|
76
|
+
isBase64Encoded: false,
|
|
77
|
+
});
|
|
78
|
+
expect(errorSpy).toHaveBeenCalledTimes(0);
|
|
79
|
+
});
|
|
80
|
+
test('it should work as expected in an error case', async () => {
|
|
81
|
+
const egHandler = P.pipe(test_common_1.http200CoreIn, unit.middleware());
|
|
82
|
+
const result = P.pipe(egHandler(TEST_IN_2), exports.mockHeaderSignatureAuthorizerDeps, P.Effect.runPromise);
|
|
83
|
+
await expect(() => result).rejects.toThrow('Invalid signature');
|
|
84
|
+
expect(errorSpy).toHaveBeenCalledTimes(1);
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/contrib/headerSignatureAuthorizer/index.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,iEAAmD;AAGnD,wDAAuD;AACvD,8CAAgC;AAChC,mCAAwD;AAE3C,QAAA,uBAAuB,GAAG,iBAAiB,CAAC;AAC5C,QAAA,yBAAyB,GAAG,kBAAkB,CAAC;AAC/C,QAAA,0BAA0B,GAAG,kBAAkB,CAAC;AAChD,QAAA,WAAW,GAAG,aAAa,CAAC;AAE5B,QAAA,qCAAqC,GAChD,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC;IACpC,MAAM,EAAE,mBAAW;IACnB,mBAAmB,EAAE,kCAA0B;CAChD,CAAC,CAAC;AAEQ,QAAA,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC,cAAc,CACtE,qCAA6B,EAC7B,6CAAqC,CACtC,CAAC;AAEF,MAAM,SAAS,GAA2B;IACxC,eAAe,EAAE,KAAK;IACtB,cAAc,EAAE,EAAS;IACzB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE;QACP,CAAC,kCAA0B,CAAC,EAAE,+BAAuB;KACtD;CACmC,CAAC;AAEvC,MAAM,SAAS,GAA2B;IACxC,eAAe,EAAE,KAAK;IACtB,cAAc,EAAE,EAAS;IACzB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE;QACP,CAAC,kCAA0B,CAAC,EAAE,iCAAyB;KACxD;CACmC,CAAC;AAEvC,QAAQ,CAAC,wCAAwC,EAAE,GAAG,EAAE;IACtD,IAAI,QAA0B,CAAC;IAE/B,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,+BAAuB,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9E,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,2BAAa,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,yCAAiC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE1G,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC3B,UAAU,EAAE,GAAG;YACf,OAAO,EAAE;gBACP,GAAG,EAAE,WAAW;aACjB;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACtC,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,2BAAa,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,yCAAiC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEpG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAChE,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
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.validateHeaderSignature = validateHeaderSignature;
|
|
27
|
+
const P = __importStar(require("@konker.dev/effect-ts-prelude"));
|
|
28
|
+
const tiny_utils_fp_1 = require("@konker.dev/tiny-utils-fp");
|
|
29
|
+
const HttpApiError_1 = require("../../lib/HttpApiError");
|
|
30
|
+
function validateHeaderSignature(signature, requestRawBody, secret) {
|
|
31
|
+
return P.pipe((0, tiny_utils_fp_1.sha256HmacHex)(String(requestRawBody), secret), P.Effect.flatMap((calculatedHmac) => P.Effect.succeed(calculatedHmac === signature)), P.Effect.mapError(HttpApiError_1.toHttpApiError));
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=lib.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/contrib/headerSignatureAuthorizer/lib.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,0DAUC;AAjBD,iEAAmD;AAEnD,6DAA0D;AAG1D,yDAAwD;AAExD,SAAgB,uBAAuB,CACrC,SAAiB,EACjB,cAAuB,EACvB,MAAc;IAEd,OAAO,CAAC,CAAC,IAAI,CACX,IAAA,6BAAa,EAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,EAC7C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,EACpF,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAAc,CAAC,CAClC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
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.TEST_SECRET = exports.TEST_BODY = exports.INCORRECT_TEST_HMAC_VALUE = exports.CORRECT_TEST_HMAC_VALUE = void 0;
|
|
27
|
+
const P = __importStar(require("@konker.dev/effect-ts-prelude"));
|
|
28
|
+
const utils = __importStar(require("@konker.dev/tiny-utils-fp"));
|
|
29
|
+
const unit = __importStar(require("./lib"));
|
|
30
|
+
exports.CORRECT_TEST_HMAC_VALUE = 'test-hmac-value';
|
|
31
|
+
exports.INCORRECT_TEST_HMAC_VALUE = 'wrong-hmac-value';
|
|
32
|
+
exports.TEST_BODY = 'test-body';
|
|
33
|
+
exports.TEST_SECRET = 'test-secret';
|
|
34
|
+
describe('middleware/header-signature-authorizer/lib', () => {
|
|
35
|
+
beforeEach(() => {
|
|
36
|
+
jest.spyOn(utils, 'sha256HmacHex').mockReturnValue(P.Effect.succeed(exports.CORRECT_TEST_HMAC_VALUE));
|
|
37
|
+
jest.spyOn(P.Effect, 'logDebug').mockReturnValue(P.Effect.succeed(undefined));
|
|
38
|
+
});
|
|
39
|
+
afterEach(() => {
|
|
40
|
+
jest.restoreAllMocks();
|
|
41
|
+
});
|
|
42
|
+
test('it should work as expected in an success case', async () => {
|
|
43
|
+
const result = await P.pipe(unit.validateHeaderSignature(exports.CORRECT_TEST_HMAC_VALUE, exports.TEST_BODY, exports.TEST_SECRET), P.Effect.runPromise);
|
|
44
|
+
expect(result).toStrictEqual(true);
|
|
45
|
+
});
|
|
46
|
+
test('it should work as expected in an error case', async () => {
|
|
47
|
+
const result = await P.pipe(unit.validateHeaderSignature(exports.INCORRECT_TEST_HMAC_VALUE, exports.TEST_BODY, exports.TEST_SECRET), P.Effect.runPromise);
|
|
48
|
+
expect(result).toStrictEqual(false);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=lib.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.test.js","sourceRoot":"","sources":["../../../src/contrib/headerSignatureAuthorizer/lib.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,iEAAmD;AAEnD,4CAA8B;AAEjB,QAAA,uBAAuB,GAAG,iBAAiB,CAAC;AAC5C,QAAA,yBAAyB,GAAG,kBAAkB,CAAC;AAC/C,QAAA,SAAS,GAAG,WAAW,CAAC;AACxB,QAAA,WAAW,GAAG,aAAa,CAAC;AAEzC,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;IAC1D,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,+BAAuB,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,CACzB,IAAI,CAAC,uBAAuB,CAAC,+BAAuB,EAAE,iBAAS,EAAE,mBAAW,CAAC,EAC7E,CAAC,CAAC,MAAM,CAAC,UAAU,CACpB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,CACzB,IAAI,CAAC,uBAAuB,CAAC,iCAAyB,EAAE,iBAAS,EAAE,mBAAW,CAAC,EAC/E,CAAC,CAAC,MAAM,CAAC,UAAU,CACpB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Handler } from '../../index';
|
|
2
2
|
import type { WithNormalizedInputHeaders, WithNormalizedOutputHeaders, WithPossibleInputHeaders, WithPossibleOutputHeaders } from './types';
|
|
3
|
-
export
|
|
4
|
-
export declare const middleware: <I, O extends WithPossibleOutputHeaders, E, R>({ normalizeRequestHeaders, normalizeResponseHeaders, }?: {
|
|
3
|
+
export declare const middleware: <I extends WithPossibleInputHeaders, O extends WithPossibleOutputHeaders, E, R>({ normalizeRequestHeaders, normalizeResponseHeaders, }?: {
|
|
5
4
|
normalizeRequestHeaders?: boolean | undefined;
|
|
6
5
|
normalizeResponseHeaders?: boolean | undefined;
|
|
7
|
-
}) => (wrapped: Handler<I & WithNormalizedInputHeaders, O, E, R>) => Handler<
|
|
6
|
+
}) => (wrapped: Handler<I & WithNormalizedInputHeaders, O, E, R>) => Handler<I, O & WithNormalizedOutputHeaders, E, R>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contrib/headersNormalizer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAGnD,+BAAwD;AAQxD,MAAM,GAAG,GAAG,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contrib/headersNormalizer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAGnD,+BAAwD;AAQxD,MAAM,GAAG,GAAG,kBAAkB,CAAC;AAExB,MAAM,UAAU,GACrB,CAAgF,EAC9E,uBAAuB,GAAG,IAAI,EAC9B,wBAAwB,GAAG,IAAI,GAChC,GAAG,EAAE,EAAE,EAAE,CACV,CAAC,OAAyD,EAAqD,EAAE,CACjH,CAAC,CAAI,EAAE,EAAE;IACP,OAAO,CAAC,CAAC,IAAI,CACX,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACnB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAC9C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAA,oBAAc,EAAC,uBAAuB,CAAC,CAAC,EACrD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACzB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAA,qBAAe,EAAC,wBAAwB,CAAC,CAAC,EACvD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAChD,CAAC;AACJ,CAAC,CAAC;AAfS,QAAA,UAAU,cAenB"}
|
|
@@ -9,5 +9,4 @@ export type WithValidatedHeaders<V> = {
|
|
|
9
9
|
headers: V;
|
|
10
10
|
validatorRawHeaders: RequestHeaders;
|
|
11
11
|
};
|
|
12
|
-
export
|
|
13
|
-
export declare const middleware: <V>(schema: P.Schema.Schema<V>) => <I, O, E, R>(wrapped: Handler<I & WithValidatedHeaders<V>, O, E, R>) => Handler<AdaptedI<I, V>, O, E | MiddlewareError, R>;
|
|
12
|
+
export declare const middleware: <V>(schema: P.Schema.Schema<V>) => <I extends WithHeaders, O, E, R>(wrapped: Handler<I & WithValidatedHeaders<V>, O, E, R>) => Handler<I, O, E | MiddlewareError, R>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headersValidator.js","sourceRoot":"","sources":["../../src/contrib/headersValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAKnD,4DAA2D;AAE3D,MAAM,GAAG,GAAG,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"headersValidator.js","sourceRoot":"","sources":["../../src/contrib/headersValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAKnD,4DAA2D;AAE3D,MAAM,GAAG,GAAG,kBAAkB,CAAC;AAUxB,MAAM,UAAU,GACrB,CAAI,MAA0B,EAAE,EAAE,CAClC,CACE,OAAsD,EACf,EAAE,CAC3C,CAAC,CAAI,EAAE,EAAE,CACP,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACnB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACrB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC,CACjG,EACD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mCAAiB,EAAC,CAAC,CAAC,CAAC,EAC9C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,gBAAmB,EAAE,EAAE,CAAC,CAAC;IACrC,GAAG,CAAC;IACJ,OAAO,EAAE,gBAAgB;IACzB,mBAAmB,EAAE,CAAC,CAAC,OAAO;CAC/B,CAAC,CAAC,EACH,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAC1B,CAAC;AAnBO,QAAA,UAAU,cAmBjB"}
|
|
@@ -3,4 +3,4 @@ import type { OptionalResponseHeaders } from '../lib/http';
|
|
|
3
3
|
export type WithOutputHeaders = {
|
|
4
4
|
readonly headers?: OptionalResponseHeaders;
|
|
5
5
|
};
|
|
6
|
-
export declare const middleware: () => <I, O
|
|
6
|
+
export declare const middleware: () => <I, O, E, R>(wrapped: Handler<I, O & WithOutputHeaders, E, R>) => Handler<I, O, E, R>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helmetJsHeaders.js","sourceRoot":"","sources":["../../src/contrib/helmetJsHeaders.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAyD;AACzD,iEAAmD;AAKnD,yCAAyC;AACzC,MAAM,GAAG,GAAG,iBAAiB,CAAC;AAMvB,MAAM,UAAU,GACrB,GAAG,EAAE,CACL,
|
|
1
|
+
{"version":3,"file":"helmetJsHeaders.js","sourceRoot":"","sources":["../../src/contrib/helmetJsHeaders.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAyD;AACzD,iEAAmD;AAKnD,yCAAyC;AACzC,MAAM,GAAG,GAAG,iBAAiB,CAAC;AAMvB,MAAM,UAAU,GACrB,GAAG,EAAE,CACL,CAAa,OAAgD,EAAuB,EAAE,CACtF,CAAC,CAAI,EAAE,EAAE,CACP,CAAC,CAAC,IAAI;AACJ,iBAAiB;AACjB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACnB,aAAa;AACb,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;AAC9C,wCAAwC;AACxC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;AACzB,+BAA+B;AAC/B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnB,GAAG,CAAC;IACJ,OAAO,EAAE;QACP,yBAAyB,EACvB,6PAA6P;QAC/P,8BAA8B,EAAE,cAAc;QAC9C,4BAA4B,EAAE,aAAa;QAC3C,8BAA8B,EAAE,aAAa;QAC7C,sBAAsB,EAAE,IAAI;QAC5B,iBAAiB,EAAE,aAAa;QAChC,2BAA2B,EAAE,qCAAqC;QAClE,wBAAwB,EAAE,SAAS;QACnC,wBAAwB,EAAE,KAAK;QAC/B,oBAAoB,EAAE,QAAQ;QAC9B,iBAAiB,EAAE,YAAY;QAC/B,mCAAmC,EAAE,MAAM;QAC3C,kBAAkB,EAAE,GAAG;QACvB,GAAG,CAAC,CAAC,OAAO;KACb;CACF,CAAC,CAAC;AACH,YAAY;AACZ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAChD,CAAC;AAlCO,QAAA,UAAU,cAkCjB"}
|
package/dist/contrib/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export * as cacheInMemory from './cacheInMemory';
|
|
|
6
6
|
export * as cacheMomento from './cacheMomento';
|
|
7
7
|
export * as dynamodbDocClientInit from './dynamodbDocClientInit';
|
|
8
8
|
export * as envValidator from './envValidator';
|
|
9
|
+
export * as headerSignatureAuthorizer from './headerSignatureAuthorizer';
|
|
9
10
|
export * as headersNormalizer from './headersNormalizer';
|
|
10
11
|
export * as headersValidator from './headersValidator';
|
|
11
12
|
export * as helmetJsHeaders from './helmetJsHeaders';
|
package/dist/contrib/index.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.trivial = exports.requestResponseLogger = exports.queryStringValidator = exports.pathTokenAuthorizer = exports.pathParametersValidator = exports.momentoClientInit = exports.jsonBodyParser = exports.identity = exports.helmetJsHeaders = exports.headersValidator = exports.headersNormalizer = exports.envValidator = exports.dynamodbDocClientInit = exports.cacheMomento = exports.cacheInMemory = exports.bodyValidator = exports.base64BodyDecoder = exports.awsAuthorizerProcessor = exports.awsApiGatewayProcessor = void 0;
|
|
26
|
+
exports.trivial = exports.requestResponseLogger = exports.queryStringValidator = exports.pathTokenAuthorizer = exports.pathParametersValidator = exports.momentoClientInit = exports.jsonBodyParser = exports.identity = exports.helmetJsHeaders = exports.headersValidator = exports.headersNormalizer = exports.headerSignatureAuthorizer = exports.envValidator = exports.dynamodbDocClientInit = exports.cacheMomento = exports.cacheInMemory = exports.bodyValidator = exports.base64BodyDecoder = exports.awsAuthorizerProcessor = exports.awsApiGatewayProcessor = void 0;
|
|
27
27
|
exports.awsApiGatewayProcessor = __importStar(require("./awsApiGatewayProcessor"));
|
|
28
28
|
exports.awsAuthorizerProcessor = __importStar(require("./awsAuthorizerProcessor"));
|
|
29
29
|
exports.base64BodyDecoder = __importStar(require("./base64BodyDecoder"));
|
|
@@ -32,6 +32,7 @@ exports.cacheInMemory = __importStar(require("./cacheInMemory"));
|
|
|
32
32
|
exports.cacheMomento = __importStar(require("./cacheMomento"));
|
|
33
33
|
exports.dynamodbDocClientInit = __importStar(require("./dynamodbDocClientInit"));
|
|
34
34
|
exports.envValidator = __importStar(require("./envValidator"));
|
|
35
|
+
exports.headerSignatureAuthorizer = __importStar(require("./headerSignatureAuthorizer"));
|
|
35
36
|
exports.headersNormalizer = __importStar(require("./headersNormalizer"));
|
|
36
37
|
exports.headersValidator = __importStar(require("./headersValidator"));
|
|
37
38
|
exports.helmetJsHeaders = __importStar(require("./helmetJsHeaders"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contrib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mFAAmE;AACnE,mFAAmE;AACnE,yEAAyD;AACzD,iEAAiD;AACjD,iEAAiD;AACjD,+DAA+C;AAC/C,iFAAiE;AACjE,+DAA+C;AAC/C,yEAAyD;AACzD,uEAAuD;AACvD,qEAAqD;AACrD,uDAAuC;AACvC,mEAAmD;AACnD,yEAAyD;AACzD,qFAAqE;AACrE,6EAA6D;AAC7D,+EAA+D;AAC/D,iFAAiE;AACjE,qDAAqC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contrib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mFAAmE;AACnE,mFAAmE;AACnE,yEAAyD;AACzD,iEAAiD;AACjD,iEAAiD;AACjD,+DAA+C;AAC/C,iFAAiE;AACjE,+DAA+C;AAC/C,yFAAyE;AACzE,yEAAyD;AACzD,uEAAuD;AACvD,qEAAqD;AACrD,uDAAuC;AACvC,mEAAmD;AACnD,yEAAyD;AACzD,qFAAqE;AACrE,6EAA6D;AAC7D,+EAA+D;AAC/D,iFAAiE;AACjE,qDAAqC"}
|
|
@@ -7,5 +7,4 @@ export type WithParsedBody = {
|
|
|
7
7
|
body?: unknown;
|
|
8
8
|
jsonParserRawBody: string | undefined;
|
|
9
9
|
};
|
|
10
|
-
export
|
|
11
|
-
export declare const middleware: () => <I, O, E, R>(wrapped: Handler<I & WithParsedBody, O, E, R>) => Handler<AdaptedI<I>, O, E | MiddlewareError, R>;
|
|
10
|
+
export declare const middleware: () => <I extends WithBody, O, E, R>(wrapped: Handler<I & WithParsedBody, O, E, R>) => Handler<I, O, E | MiddlewareError, R>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonBodyParser.js","sourceRoot":"","sources":["../../src/contrib/jsonBodyParser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAInD,4DAA2D;AAE3D,MAAM,GAAG,GAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"jsonBodyParser.js","sourceRoot":"","sources":["../../src/contrib/jsonBodyParser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAInD,4DAA2D;AAE3D,MAAM,GAAG,GAAG,gBAAgB,CAAC;AAKtB,MAAM,UAAU,GACrB,GAAG,EAAE,CACL,CAA8B,OAA6C,EAAyC,EAAE,CACtH,CAAC,CAAe,EAAE,EAAE,CAClB,CAAC,CAAC,IAAI;AACJ,iBAAiB;AACjB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACnB,aAAa;AACb,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;AAC9C,uCAAuC;AACvC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACrB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAC1F,EACD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,mCAAiB,CAAC,EACpC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC5B,GAAG,CAAC;IACJ,IAAI,EAAE,UAAU;IAChB,iBAAiB,EAAE,CAAC,CAAC,IAAI;CAC1B,CAAC,CAAC;AACH,wCAAwC;AACxC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;AACzB,YAAY;AACZ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAChD,CAAC;AAvBO,QAAA,UAAU,cAuBjB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { MomentoClientConfigProps } from '@konker.dev/momento-cache-client-effect';
|
|
2
2
|
import { MomentoClientDeps, MomentoClientFactoryDeps } from '@konker.dev/momento-cache-client-effect';
|
|
3
3
|
import type { Handler } from '../index';
|
|
4
|
-
export type
|
|
5
|
-
export declare const middleware: (config: MomentoClientConfigProps) => <I, O, E, R>(wrapped: Handler<I, O, E, R | MomentoClientDeps>) => Handler<I, O, E,
|
|
4
|
+
export type Adapted<R> = Exclude<R, MomentoClientDeps> | MomentoClientFactoryDeps;
|
|
5
|
+
export declare const middleware: (config: MomentoClientConfigProps) => <I, O, E, R>(wrapped: Handler<I, O, E, R | MomentoClientDeps>) => Handler<I, O, E, Adapted<R>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"momentoClientInit.js","sourceRoot":"","sources":["../../src/contrib/momentoClientInit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAGnD,yFAAsG;AAItG,MAAM,GAAG,GAAG,mBAAmB,CAAC;AAIhC,6EAA6E;AACtE,MAAM,UAAU,GACrB,CAAC,MAAgC,EAAE,EAAE,CACrC,CAAa,OAAgD,
|
|
1
|
+
{"version":3,"file":"momentoClientInit.js","sourceRoot":"","sources":["../../src/contrib/momentoClientInit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAGnD,yFAAsG;AAItG,MAAM,GAAG,GAAG,mBAAmB,CAAC;AAIhC,6EAA6E;AACtE,MAAM,UAAU,GACrB,CAAC,MAAgC,EAAE,EAAE,CACrC,CAAa,OAAgD,EAAgC,EAAE,CAC/F,CAAC,CAAI,EAAE,EAAE,CACP,CAAC,CAAC,IAAI,CACJ,sDAAwB,EACxB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,CAAC,CAAC,IAAI,CACJ,OAAO,CAAC,CAAC,CAAC,EACV,CAAC,CAAC,MAAM,CAAC,cAAc,CACrB,+CAAiB,EACjB,+CAAiB,CAAC,EAAE,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAC/E,CACF,CACF,EACD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAChD,CAAC;AAjBO,QAAA,UAAU,cAiBjB"}
|
|
@@ -8,5 +8,4 @@ export type WithValidatedPathParameters<V> = {
|
|
|
8
8
|
pathParameters: V;
|
|
9
9
|
validatorRawPathParameters: unknown;
|
|
10
10
|
};
|
|
11
|
-
export
|
|
12
|
-
export declare const middleware: <V>(schema: P.Schema.Schema<V>) => <I, O, E, R>(wrapped: Handler<I & WithValidatedPathParameters<V>, O, E, R>) => Handler<AdaptedI<I, V>, O, E | MiddlewareError, R>;
|
|
11
|
+
export declare const middleware: <V>(schema: P.Schema.Schema<V>) => <I extends WithPathParameters, O, E, R>(wrapped: Handler<I & WithValidatedPathParameters<V>, O, E, R>) => Handler<I, O, E | MiddlewareError, R>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pathParametersValidator.js","sourceRoot":"","sources":["../../src/contrib/pathParametersValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAInD,4DAA2D;AAE3D,MAAM,GAAG,GAAG,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"pathParametersValidator.js","sourceRoot":"","sources":["../../src/contrib/pathParametersValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAInD,4DAA2D;AAE3D,MAAM,GAAG,GAAG,yBAAyB,CAAC;AAU/B,MAAM,UAAU,GACrB,CAAI,MAA0B,EAAE,EAAE,CAClC,CACE,OAA6D,EACtB,EAAE,CAC3C,CAAC,CAAI,EAAE,EAAE,CACP,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACnB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACrB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC,CACxG,EACD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mCAAiB,EAAC,CAAC,CAAC,CAAC,EAC9C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,uBAA0B,EAAE,EAAE,CAAC,CAAC;IAC5C,GAAG,CAAC;IACJ,cAAc,EAAE,uBAAuB;IACvC,0BAA0B,EAAE,CAAC,CAAC,cAAc;CAC7C,CAAC,CAAC,EACH,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAC1B,CAAC;AAnBO,QAAA,UAAU,cAmBjB"}
|
|
@@ -8,5 +8,4 @@ export type WithValidatedQueryStringParameters<V> = {
|
|
|
8
8
|
queryStringParameters: V;
|
|
9
9
|
validatorRawQueryStringParameters: unknown;
|
|
10
10
|
};
|
|
11
|
-
export
|
|
12
|
-
export declare const middleware: <V>(schema: P.Schema.Schema<V>) => <I, O, E, R>(wrapped: Handler<I & WithValidatedQueryStringParameters<V>, O, E, R>) => Handler<AdaptedI<I, V>, O, E | MiddlewareError, R>;
|
|
11
|
+
export declare const middleware: <V>(schema: P.Schema.Schema<V>) => <I extends WithQueryStringParameters, O, E, R>(wrapped: Handler<I & WithValidatedQueryStringParameters<V>, O, E, R>) => Handler<I, O, E | MiddlewareError, R>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryStringValidator.js","sourceRoot":"","sources":["../../src/contrib/queryStringValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAInD,4DAA2D;AAE3D,MAAM,GAAG,GAAG,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"queryStringValidator.js","sourceRoot":"","sources":["../../src/contrib/queryStringValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAInD,4DAA2D;AAE3D,MAAM,GAAG,GAAG,sBAAsB,CAAC;AAU5B,MAAM,UAAU,GACrB,CAAI,MAA0B,EAAE,EAAE,CAClC,CACE,OAAoE,EAC7B,EAAE,CAC3C,CAAC,CAAI,EAAE,EAAE,CACP,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACnB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACrB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAC/G,EACD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mCAAiB,EAAC,CAAC,CAAC,CAAC,EAC9C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,8BAAiC,EAAE,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC;IACJ,qBAAqB,EAAE,8BAA8B;IACrD,iCAAiC,EAAE,CAAC,CAAC,qBAAqB;CAC3D,CAAC,CAAC,EACH,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAC1B,CAAC;AAnBO,QAAA,UAAU,cAmBjB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@konker.dev/middleware-fp",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"author": "Konrad Markus <mail@konker.dev>",
|
|
5
5
|
"description": "Type safe middleware system based on Effect-ts",
|
|
6
6
|
"license": "ISC",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"effect-ts"
|
|
21
21
|
],
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"@gomomento/sdk": "^1.95.0",
|
|
24
23
|
"@aws-sdk/client-dynamodb": "^3.635.0",
|
|
24
|
+
"@gomomento/sdk": "^1.95.0",
|
|
25
25
|
"@konker.dev/aws-client-effect-dynamodb": "^0.0.3",
|
|
26
26
|
"@konker.dev/momento-cache-client-effect": "^0.0.7",
|
|
27
27
|
"@konker.dev/tiny-auth-utils-fp": "^0.0.2",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"@konker.dev/effect-ts-prelude": "^0.0.16",
|
|
33
33
|
"@konker.dev/tiny-cache-fp": "^0.0.5",
|
|
34
34
|
"@konker.dev/tiny-error-fp": "^0.0.7",
|
|
35
|
+
"@konker.dev/tiny-utils-fp": "^0.0.1",
|
|
35
36
|
"effect": "^3.5.6",
|
|
36
37
|
"lesslog": "^0.2.7"
|
|
37
38
|
},
|
|
@@ -82,7 +83,6 @@
|
|
|
82
83
|
"lint-fix": "pnpm run eslint-fix && pnpm run prettier-fix",
|
|
83
84
|
"pre-push": "pnpm run lint-check && pnpm run typecheck",
|
|
84
85
|
"ci": "pnpm run lint-check && pnpm run typecheck && pnpm run type-coverage-check && pnpm run test && pnpm run build && pnpm run fixme-check",
|
|
85
|
-
"cd": "pnpm run build && pnpm publish --access public"
|
|
86
|
-
"rc": "pnpm run build && pnpm publish --access public --tag alpha"
|
|
86
|
+
"cd": "pnpm run build && pnpm publish --access public"
|
|
87
87
|
}
|
|
88
88
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dynamodbDocClientInit.js","sourceRoot":"","sources":["../../src/contrib/dynamodbDocClientInit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,8CAeC;AA3BD,iEAAmD;AAGnD,uFAAuH;AAIvH,4DAA2D;AAE3D,MAAM,GAAG,GAAG,uBAAuB,CAAC;AAEpC,6EAA6E;AAC7E,SAAgB,iBAAiB,CAA+C,MAA4B;IAC1G,OAAO,UAAU,IAAQ;QACvB,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;YACzB,GAAG,EAAE,KAAK,IAAI,EAAE;gBACd,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;gBACxD,MAAM,eAAe,GAAG,IAAI,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;gBACzE,OAAO;oBACL,GAAG,IAAI;oBACP,cAAc,EAAE,GAAG,EAAE,CAAC,YAAY;oBAClC,sBAAsB,EAAE,GAAG,EAAE,CAAC,eAAe;iBAC9C,CAAC;YACJ,CAAC;YACD,KAAK,EAAE,mCAAiB;SACzB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAEM,MAAM,mBAAmB,GAC9B,CAAwC,EAAM,EAAE,EAAE,CAClD,GAAG,EAAE;IACH,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QACzB,qCAAqC;QACrC,GAAG,EAAE,KAAK,IAAI,EAAE;YACd,mDAAmD;YACnD,EAAE,CAAC,sBAAsB,EAAE,CAAC,OAAO,EAAE,CAAC;YACtC,mDAAmD;YACnD,EAAE,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;QACD,KAAK,EAAE,mCAAiB;KACzB,CAAC,CAAC;AACL,CAAC,CAAC;AAbS,QAAA,mBAAmB,uBAa5B;AAIJ,6EAA6E;AACtE,MAAM,UAAU,GACrB,CAAC,MAA4B,EAAE,EAAE,CACjC,CACE,OAAyD,EACR,EAAE,CACrD,CAAC,CAAI,EAAE,EAAE,CACP,CAAC,CAAC,IAAI;AACJ,0BAA0B;AAC1B,8DAAiC,EACjC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAC/B,CAAC,CAAC,IAAI,CACJ,WAAW,EACX,iBAAiB,CAAC,MAAM,CAAC,EACzB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,CAAC,CAAC,IAAI,CACJ,OAAO,CAAC,CAAC,CAAC,EACV,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,uDAA0B,EAAE,IAAI,CAAC,EACzD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAA,2BAAmB,EAAC,IAAI,CAAC,CAAC,CACxC,CACF,CACF,CACF,EACD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAChD,CAAC;AAxBO,QAAA,UAAU,cAwBjB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dynamodbDocClientInit.test.js","sourceRoot":"","sources":["../../src/contrib/dynamodbDocClientInit.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,uFAAuH;AAEvH,qDAAqD;AACrD,8DAAgD;AAIhD,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACpC,MAAM,oBAAoB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACvC,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;AACpF,MAAM,oBAAoB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAE1F,MAAM,OAAO,GAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AACnC,MAAM,SAAS,GAAsC,8DAAiC,CAAC,EAAE,CAAC;IACxF,qBAAqB,EAAE,iBAAiB;IACxC,6BAA6B,EAAE,oBAAoB;CACpD,CAAC,CAAC;AAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,IAAA,4BAAc,EAAC,uDAA0B,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1F,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,CACzB,SAAS,CAAC,OAAO,CAAC,EAClB,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,8DAAiC,EAAE,SAAS,CAAC,EACrE,CAAC,CAAC,MAAM,CAAC,UAAU,CACpB,CAAC;QAEF,6EAA6E;QAC7E,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QACxD,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,oBAAoB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,oBAAoB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
/package/dist/contrib/{dynamodbDocClientInit.test.d.ts → dynamodbDocClientInit/index.test.d.ts}
RENAMED
|
File without changes
|