@konker.dev/middleware-fp 0.0.12 → 0.0.14
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 -1
- package/dist/contrib/bodyValidator.js.map +1 -1
- package/dist/contrib/bodyValidator.test.js +6 -8
- package/dist/contrib/bodyValidator.test.js.map +1 -1
- package/dist/contrib/envValidator.d.ts +1 -1
- package/dist/contrib/envValidator.js.map +1 -1
- package/dist/contrib/envValidator.test.d.ts +2 -0
- package/dist/contrib/envValidator.test.js +8 -8
- package/dist/contrib/envValidator.test.js.map +1 -1
- package/dist/contrib/headersValidator.d.ts +3 -5
- package/dist/contrib/headersValidator.js.map +1 -1
- package/dist/contrib/headersValidator.test.d.ts +1 -0
- package/dist/contrib/headersValidator.test.js +11 -12
- package/dist/contrib/headersValidator.test.js.map +1 -1
- package/dist/contrib/pathParametersValidator.d.ts +1 -1
- package/dist/contrib/pathParametersValidator.js.map +1 -1
- package/dist/contrib/pathParametersValidator.test.d.ts +1 -0
- package/dist/contrib/pathParametersValidator.test.js +12 -13
- package/dist/contrib/pathParametersValidator.test.js.map +1 -1
- package/dist/contrib/queryStringValidator.d.ts +1 -1
- package/dist/contrib/queryStringValidator.js.map +1 -1
- package/dist/contrib/queryStringValidator.test.d.ts +1 -0
- package/dist/contrib/queryStringValidator.test.js +12 -13
- package/dist/contrib/queryStringValidator.test.js.map +1 -1
- package/dist/test/test-common.d.ts +1 -1
- package/dist/test/test-common.js.map +1 -1
- package/dist/test/unit/auth-1.test.js.map +1 -1
- package/dist/test/unit/auth-2.test.js.map +1 -1
- package/package.json +2 -2
|
@@ -8,4 +8,4 @@ export type WithValidatedBody<V> = {
|
|
|
8
8
|
body: V;
|
|
9
9
|
validatorRawBody: unknown;
|
|
10
10
|
};
|
|
11
|
-
export declare const middleware: <
|
|
11
|
+
export declare const middleware: <V0, V1>(schema: P.Schema.Schema<V0, V1>) => <I, O, E, R>(wrapped: Handler<I & WithValidatedBody<V0>, O, E, R>) => Handler<I & WithBody, 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;AAKrB,MAAM,UAAU,GACrB,
|
|
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,CAAS,MAA+B,EAAE,EAAE,CAC5C,CACE,OAAoD,EACF,EAAE,CACtD,CAAC,CAAe,EAAE,EAAE,CAClB,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,aAAiB,EAAE,EAAE,CAAC,CAAC;IACnC,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"}
|
|
@@ -33,25 +33,23 @@ exports.testSchema = P.Schema.Struct({
|
|
|
33
33
|
const TEST_IN_1 = { body: { foo: 'foo_value' } };
|
|
34
34
|
const TEST_IN_2 = { body: { foo: 'wam' } };
|
|
35
35
|
const TEST_IN_3 = {};
|
|
36
|
-
const TEST_DEPS = { bar: 'bar' };
|
|
37
36
|
describe('middleware/body-validator', () => {
|
|
38
37
|
it('should work as expected with valid data', async () => {
|
|
39
|
-
const egHandler = P.pipe(
|
|
40
|
-
const result = P.pipe(egHandler(TEST_IN_1), P.Effect.
|
|
38
|
+
const egHandler = P.pipe(test_common_1.echoCoreIn, unit.middleware(exports.testSchema));
|
|
39
|
+
const result = P.pipe(egHandler(TEST_IN_1), P.Effect.runPromise);
|
|
41
40
|
await expect(result).resolves.toStrictEqual({
|
|
42
|
-
bar: 'bar',
|
|
43
41
|
validatorRawBody: { foo: 'foo_value' },
|
|
44
42
|
body: { foo: 'foo_value' },
|
|
45
43
|
});
|
|
46
44
|
});
|
|
47
45
|
it('should work as expected with invalid data', async () => {
|
|
48
|
-
const egHandler = P.pipe(
|
|
49
|
-
const result = P.pipe(egHandler(TEST_IN_2), P.Effect.
|
|
46
|
+
const egHandler = P.pipe(test_common_1.echoCoreIn, unit.middleware(exports.testSchema));
|
|
47
|
+
const result = P.pipe(egHandler(TEST_IN_2), P.Effect.runPromise);
|
|
50
48
|
await expect(result).rejects.toThrow('Expected "foo_value", actual "wam"');
|
|
51
49
|
});
|
|
52
50
|
it('should work as expected with invalid data', async () => {
|
|
53
|
-
const egHandler = P.pipe(
|
|
54
|
-
const result = P.pipe(egHandler(TEST_IN_3), P.Effect.
|
|
51
|
+
const egHandler = P.pipe(test_common_1.echoCoreIn, unit.middleware(exports.testSchema));
|
|
52
|
+
const result = P.pipe(egHandler(TEST_IN_3), P.Effect.runPromise);
|
|
55
53
|
await expect(result).rejects.toThrow('Expected { readonly foo: "foo_value" }, actual undefined');
|
|
56
54
|
});
|
|
57
55
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bodyValidator.test.js","sourceRoot":"","sources":["../../src/contrib/bodyValidator.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,
|
|
1
|
+
{"version":3,"file":"bodyValidator.test.js","sourceRoot":"","sources":["../../src/contrib/bodyValidator.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,qDAAiD;AACjD,sDAAwC;AAI3B,QAAA,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,CAAC;AACrD,MAAM,SAAS,GAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;AAC/C,MAAM,SAAS,GAAQ,EAAE,CAAC;AAE1B,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAU,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC1C,gBAAgB,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,IAAI,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;SAC3B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAU,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAU,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -4,4 +4,4 @@ import type { MiddlewareError } from '../lib/MiddlewareError';
|
|
|
4
4
|
export type WithValidatedEnv<V> = {
|
|
5
5
|
validatedEnv: V;
|
|
6
6
|
};
|
|
7
|
-
export declare const middleware: <
|
|
7
|
+
export declare const middleware: <V0, V1>(schema: P.Schema.Schema<V0, V1>) => <I, O, E, R>(wrapped: Handler<I & WithValidatedEnv<V0>, O, E, R>) => Handler<I, O, E | MiddlewareError, R>;
|
|
@@ -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,
|
|
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,CAAS,MAA+B,EAAE,EAAE,CAC5C,CAAa,OAAmD,EAAyC,EAAE,CAC3G,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,YAAgB,EAAE,EAAE,CAAC,CAAC;IAClC,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"}
|
|
@@ -29,28 +29,28 @@ const test_common_1 = require("../test/test-common");
|
|
|
29
29
|
const unit = __importStar(require("./envValidator"));
|
|
30
30
|
exports.testSchema = P.Schema.Struct({
|
|
31
31
|
qux: P.Schema.Literal('qux_value'),
|
|
32
|
+
str: P.Schema.String,
|
|
33
|
+
num: P.Schema.NumberFromString,
|
|
32
34
|
});
|
|
33
35
|
const TEST_IN = { foo: 'foo' };
|
|
34
|
-
const TEST_DEPS = { bar: 'bar' };
|
|
35
36
|
describe('middleware/env-validator', () => {
|
|
36
37
|
const OLD_ENV = process.env;
|
|
37
38
|
afterEach(() => {
|
|
38
39
|
process.env = OLD_ENV;
|
|
39
40
|
});
|
|
40
41
|
it('should work as expected with valid data', async () => {
|
|
41
|
-
process.env = { qux: 'qux_value' };
|
|
42
|
-
const egHandler = P.pipe(
|
|
43
|
-
const result = P.pipe(egHandler(TEST_IN), P.Effect.
|
|
42
|
+
process.env = { qux: 'qux_value', str: 'some-string', num: '123' };
|
|
43
|
+
const egHandler = P.pipe(test_common_1.echoCoreIn, unit.middleware(exports.testSchema));
|
|
44
|
+
const result = P.pipe(egHandler(TEST_IN), P.Effect.runPromise);
|
|
44
45
|
await expect(result).resolves.toStrictEqual({
|
|
45
|
-
bar: 'bar',
|
|
46
46
|
foo: 'foo',
|
|
47
|
-
validatedEnv: { qux: 'qux_value' },
|
|
47
|
+
validatedEnv: { qux: 'qux_value', str: 'some-string', num: 123 },
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
50
|
it('should work as expected with invalid data', async () => {
|
|
51
51
|
process.env = { noqux: 'noqux_value' };
|
|
52
|
-
const egHandler = P.pipe(
|
|
53
|
-
const result = P.pipe(egHandler(TEST_IN), P.Effect.
|
|
52
|
+
const egHandler = P.pipe(test_common_1.echoCoreIn, unit.middleware(exports.testSchema));
|
|
53
|
+
const result = P.pipe(egHandler(TEST_IN), P.Effect.runPromise);
|
|
54
54
|
await expect(result).rejects.toThrow('is missing');
|
|
55
55
|
});
|
|
56
56
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envValidator.test.js","sourceRoot":"","sources":["../../src/contrib/envValidator.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,
|
|
1
|
+
{"version":3,"file":"envValidator.test.js","sourceRoot":"","sources":["../../src/contrib/envValidator.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,qDAAiD;AACjD,qDAAuC;AAI1B,QAAA,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;IAClC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;IACpB,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB;CAC/B,CAAC,CAAC;AAEH,MAAM,OAAO,GAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAEnC,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAC5B,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAEnE,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAU,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC1C,GAAG,EAAE,KAAK;YACV,YAAY,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,EAAE;SACjE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,OAAO,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QAEvC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAU,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -2,11 +2,9 @@ import * as P from '@konker.dev/effect-ts-prelude';
|
|
|
2
2
|
import type { Handler } from '../index';
|
|
3
3
|
import type { RequestHeaders } from '../lib/http';
|
|
4
4
|
import type { MiddlewareError } from '../lib/MiddlewareError';
|
|
5
|
-
|
|
6
|
-
headers: RequestHeaders;
|
|
7
|
-
};
|
|
5
|
+
import type { WithPossibleInputHeaders } from './headersNormalizer/types';
|
|
8
6
|
export type WithValidatedHeaders<V> = {
|
|
9
7
|
headers: V;
|
|
10
|
-
validatorRawHeaders: RequestHeaders;
|
|
8
|
+
validatorRawHeaders: RequestHeaders | undefined;
|
|
11
9
|
};
|
|
12
|
-
export declare const middleware: <
|
|
10
|
+
export declare const middleware: <V0, V1>(schema: P.Schema.Schema<V0, V1>) => <I, O, E, R>(wrapped: Handler<I & WithValidatedHeaders<V0>, O, E, R>) => Handler<I & WithPossibleInputHeaders, O, E | MiddlewareError, R>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headersValidator.js","sourceRoot":"","sources":["../../src/contrib/headersValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAKnD,4DAA2D;
|
|
1
|
+
{"version":3,"file":"headersValidator.js","sourceRoot":"","sources":["../../src/contrib/headersValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAKnD,4DAA2D;AAG3D,MAAM,GAAG,GAAG,kBAAkB,CAAC;AAOxB,MAAM,UAAU,GACrB,CAAS,MAA+B,EAAE,EAAE,CAC5C,CACE,OAAuD,EACW,EAAE,CACtE,CAAC,CAA+B,EAAE,EAAE,CAClC,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,gBAAoB,EAAE,EAAE,CAAC,CAAC;IACtC,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"}
|
|
@@ -31,30 +31,29 @@ const unit = __importStar(require("./headersValidator"));
|
|
|
31
31
|
exports.testSchema = P.Schema.Struct({
|
|
32
32
|
foo: P.Schema.Literal('foo_value'),
|
|
33
33
|
'content-type': P.Schema.Literal('application/json'),
|
|
34
|
+
num: P.Schema.NumberFromString,
|
|
34
35
|
});
|
|
35
|
-
const TEST_IN_1 = { headers: { foo: 'foo_value', 'content-type': 'application/json' } };
|
|
36
|
+
const TEST_IN_1 = { headers: { foo: 'foo_value', 'content-type': 'application/json', num: '123' } };
|
|
36
37
|
const TEST_IN_2 = { headers: { foo: 'foo_value', 'content-type': 'text/xml' } };
|
|
37
38
|
const TEST_IN_3 = {};
|
|
38
|
-
const TEST_DEPS = { bar: 'bar' };
|
|
39
39
|
describe('middleware/headers-validator', () => {
|
|
40
40
|
it('should work as expected with valid data', async () => {
|
|
41
|
-
const egHandler = P.pipe(
|
|
42
|
-
const result = P.pipe(egHandler(TEST_IN_1), P.Effect.
|
|
41
|
+
const egHandler = P.pipe(test_common_1.echoCoreIn, unit.middleware(exports.testSchema));
|
|
42
|
+
const result = P.pipe(egHandler(TEST_IN_1), P.Effect.runPromise);
|
|
43
43
|
await expect(result).resolves.toStrictEqual({
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
headers: { foo: 'foo_value', 'content-type': 'application/json' },
|
|
44
|
+
validatorRawHeaders: { foo: 'foo_value', 'content-type': 'application/json', num: '123' },
|
|
45
|
+
headers: { foo: 'foo_value', 'content-type': 'application/json', num: 123 },
|
|
47
46
|
});
|
|
48
47
|
});
|
|
49
48
|
it('should work as expected with invalid data', async () => {
|
|
50
|
-
const egHandler = P.pipe(
|
|
51
|
-
const result = P.pipe(egHandler(TEST_IN_2), P.Effect.
|
|
49
|
+
const egHandler = P.pipe(test_common_1.echoCoreIn, unit.middleware(exports.testSchema));
|
|
50
|
+
const result = P.pipe(egHandler(TEST_IN_2), P.Effect.runPromise);
|
|
52
51
|
await expect(result).rejects.toThrow('Expected "application/json", actual "text/xml"');
|
|
53
52
|
});
|
|
54
53
|
it('should work as expected with invalid data', async () => {
|
|
55
|
-
const egHandler = P.pipe(
|
|
56
|
-
const result = P.pipe(egHandler(TEST_IN_3), P.Effect.
|
|
57
|
-
await expect(result).rejects.toThrow('Expected { readonly foo: "foo_value"; readonly content-type: "application/json" }, actual undefined');
|
|
54
|
+
const egHandler = P.pipe(test_common_1.echoCoreIn, unit.middleware(exports.testSchema));
|
|
55
|
+
const result = P.pipe(egHandler(TEST_IN_3), P.Effect.runPromise);
|
|
56
|
+
await expect(result).rejects.toThrow('Expected { readonly foo: "foo_value"; readonly content-type: "application/json"; readonly num: NumberFromString }, actual undefined');
|
|
58
57
|
});
|
|
59
58
|
});
|
|
60
59
|
//# sourceMappingURL=headersValidator.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headersValidator.test.js","sourceRoot":"","sources":["../../src/contrib/headersValidator.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAyD;AACzD,iEAAmD;AAEnD,
|
|
1
|
+
{"version":3,"file":"headersValidator.test.js","sourceRoot":"","sources":["../../src/contrib/headersValidator.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAyD;AACzD,iEAAmD;AAEnD,qDAAiD;AACjD,yDAA2C;AAI9B,QAAA,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;IAClC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACpD,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB;CAC/B,CAAC,CAAC;AAEH,MAAM,SAAS,GAAO,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;AACxG,MAAM,SAAS,GAAO,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,CAAC;AACpF,MAAM,SAAS,GAAQ,EAAE,CAAC;AAE1B,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAU,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC1C,mBAAmB,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,EAAE,KAAK,EAAE;YACzF,OAAO,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,EAAE,GAAG,EAAE;SAC5E,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAU,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAU,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAClC,qIAAqI,CACtI,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -8,4 +8,4 @@ export type WithValidatedPathParameters<V> = {
|
|
|
8
8
|
pathParameters: V;
|
|
9
9
|
validatorRawPathParameters: unknown;
|
|
10
10
|
};
|
|
11
|
-
export declare const middleware: <
|
|
11
|
+
export declare const middleware: <V0, V1>(schema: P.Schema.Schema<V0, V1>) => <I, O, E, R>(wrapped: Handler<I & WithValidatedPathParameters<V0>, O, E, R>) => Handler<I & WithPathParameters, 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;AAU/B,MAAM,UAAU,GACrB,
|
|
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,CAAS,MAA+B,EAAE,EAAE,CAC5C,CACE,OAA8D,EACF,EAAE,CAChE,CAAC,CAAyB,EAAE,EAAE,CAC5B,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,uBAA2B,EAAE,EAAE,CAAC,CAAC;IAC7C,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"}
|
|
@@ -29,30 +29,29 @@ const test_common_1 = require("../test/test-common");
|
|
|
29
29
|
const unit = __importStar(require("./pathParametersValidator"));
|
|
30
30
|
exports.testSchema = P.Schema.Struct({
|
|
31
31
|
foo: P.Schema.Literal('foo_value'),
|
|
32
|
+
num: P.Schema.NumberFromString,
|
|
32
33
|
});
|
|
33
|
-
const TEST_IN_1 = { pathParameters: { foo: 'foo_value' } };
|
|
34
|
-
const TEST_IN_2 = { pathParameters: { foo: 'wam' } };
|
|
34
|
+
const TEST_IN_1 = { pathParameters: { foo: 'foo_value', num: '123' } };
|
|
35
|
+
const TEST_IN_2 = { pathParameters: { foo: 'wam', num: '123' } };
|
|
35
36
|
const TEST_IN_3 = {};
|
|
36
|
-
const TEST_DEPS = { bar: 'bar' };
|
|
37
37
|
describe('middleware/path-parameters-validator', () => {
|
|
38
38
|
it('should work as expected with valid data', async () => {
|
|
39
|
-
const egHandler = P.pipe(
|
|
40
|
-
const result = P.pipe(egHandler(TEST_IN_1), P.Effect.
|
|
39
|
+
const egHandler = P.pipe(test_common_1.echoCoreIn, unit.middleware(exports.testSchema));
|
|
40
|
+
const result = P.pipe(egHandler(TEST_IN_1), P.Effect.runPromise);
|
|
41
41
|
await expect(result).resolves.toStrictEqual({
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
pathParameters: { foo: 'foo_value' },
|
|
42
|
+
validatorRawPathParameters: { foo: 'foo_value', num: '123' },
|
|
43
|
+
pathParameters: { foo: 'foo_value', num: 123 },
|
|
45
44
|
});
|
|
46
45
|
});
|
|
47
46
|
it('should work as expected with invalid data', async () => {
|
|
48
|
-
const egHandler = P.pipe(
|
|
49
|
-
const result = P.pipe(egHandler(TEST_IN_2), P.Effect.
|
|
47
|
+
const egHandler = P.pipe(test_common_1.echoCoreIn, unit.middleware(exports.testSchema));
|
|
48
|
+
const result = P.pipe(egHandler(TEST_IN_2), P.Effect.runPromise);
|
|
50
49
|
await expect(result).rejects.toThrow('Expected "foo_value", actual "wam"');
|
|
51
50
|
});
|
|
52
51
|
it('should work as expected with invalid data', async () => {
|
|
53
|
-
const egHandler = P.pipe(
|
|
54
|
-
const result = P.pipe(egHandler(TEST_IN_3), P.Effect.
|
|
55
|
-
await expect(result).rejects.toThrow('Expected { readonly foo: "foo_value" }, actual undefined');
|
|
52
|
+
const egHandler = P.pipe(test_common_1.echoCoreIn, unit.middleware(exports.testSchema));
|
|
53
|
+
const result = P.pipe(egHandler(TEST_IN_3), P.Effect.runPromise);
|
|
54
|
+
await expect(result).rejects.toThrow('Expected { readonly foo: "foo_value"; readonly num: NumberFromString }, actual undefined');
|
|
56
55
|
});
|
|
57
56
|
});
|
|
58
57
|
//# sourceMappingURL=pathParametersValidator.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pathParametersValidator.test.js","sourceRoot":"","sources":["../../src/contrib/pathParametersValidator.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,
|
|
1
|
+
{"version":3,"file":"pathParametersValidator.test.js","sourceRoot":"","sources":["../../src/contrib/pathParametersValidator.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,qDAAiD;AACjD,gEAAkD;AAIrC,QAAA,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;IAClC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB;CAC/B,CAAC,CAAC;AAEH,MAAM,SAAS,GAAO,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;AAC3E,MAAM,SAAS,GAAO,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;AACrE,MAAM,SAAS,GAAO,EAAE,CAAC;AAEzB,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAU,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC1C,0BAA0B,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE;YAC5D,cAAc,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE;SAC/C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAU,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAU,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAClC,0FAA0F,CAC3F,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -8,4 +8,4 @@ export type WithValidatedQueryStringParameters<V> = {
|
|
|
8
8
|
queryStringParameters: V;
|
|
9
9
|
validatorRawQueryStringParameters: unknown;
|
|
10
10
|
};
|
|
11
|
-
export declare const middleware: <
|
|
11
|
+
export declare const middleware: <V0, V1>(schema: P.Schema.Schema<V0, V1>) => <I, O, E, R>(wrapped: Handler<I & WithValidatedQueryStringParameters<V0>, O, E, R>) => Handler<I & WithQueryStringParameters, 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;AAU5B,MAAM,UAAU,GACrB,
|
|
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,CAAS,MAA+B,EAAE,EAAE,CAC5C,CACE,OAAqE,EACF,EAAE,CACvE,CAAC,CAAgC,EAAE,EAAE,CACnC,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,8BAAkC,EAAE,EAAE,CAAC,CAAC;IACpD,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"}
|
|
@@ -29,30 +29,29 @@ const test_common_1 = require("../test/test-common");
|
|
|
29
29
|
const unit = __importStar(require("./queryStringValidator"));
|
|
30
30
|
exports.testSchema = P.Schema.Struct({
|
|
31
31
|
foo: P.Schema.Literal('foo_value'),
|
|
32
|
+
num: P.Schema.NumberFromString,
|
|
32
33
|
});
|
|
33
|
-
const TEST_IN_1 = { queryStringParameters: { foo: 'foo_value' } };
|
|
34
|
-
const TEST_IN_2 = { queryStringParameters: { foo: 'wam' } };
|
|
34
|
+
const TEST_IN_1 = { queryStringParameters: { foo: 'foo_value', num: '123' } };
|
|
35
|
+
const TEST_IN_2 = { queryStringParameters: { foo: 'wam', num: '123' } };
|
|
35
36
|
const TEST_IN_3 = {};
|
|
36
|
-
const TEST_DEPS = { bar: 'bar' };
|
|
37
37
|
describe('middleware/query-string-validator', () => {
|
|
38
38
|
it('should work as expected with valid data', async () => {
|
|
39
|
-
const egHandler = P.pipe(
|
|
40
|
-
const result = P.pipe(egHandler(TEST_IN_1), P.Effect.
|
|
39
|
+
const egHandler = P.pipe(test_common_1.echoCoreIn, unit.middleware(exports.testSchema));
|
|
40
|
+
const result = P.pipe(egHandler(TEST_IN_1), P.Effect.runPromise);
|
|
41
41
|
await expect(result).resolves.toStrictEqual({
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
queryStringParameters: { foo: 'foo_value' },
|
|
42
|
+
validatorRawQueryStringParameters: { foo: 'foo_value', num: '123' },
|
|
43
|
+
queryStringParameters: { foo: 'foo_value', num: 123 },
|
|
45
44
|
});
|
|
46
45
|
});
|
|
47
46
|
it('should work as expected with invalid data', async () => {
|
|
48
|
-
const egHandler = P.pipe(
|
|
49
|
-
const result = P.pipe(egHandler(TEST_IN_2), P.Effect.
|
|
47
|
+
const egHandler = P.pipe(test_common_1.echoCoreIn, unit.middleware(exports.testSchema));
|
|
48
|
+
const result = P.pipe(egHandler(TEST_IN_2), P.Effect.runPromise);
|
|
50
49
|
await expect(result).rejects.toThrow('Expected "foo_value", actual "wam"');
|
|
51
50
|
});
|
|
52
51
|
it('should work as expected with invalid data', async () => {
|
|
53
|
-
const egHandler = P.pipe(
|
|
54
|
-
const result = P.pipe(egHandler(TEST_IN_3), P.Effect.
|
|
55
|
-
await expect(result).rejects.toThrow('Expected { readonly foo: "foo_value" }, actual undefined');
|
|
52
|
+
const egHandler = P.pipe(test_common_1.echoCoreIn, unit.middleware(exports.testSchema));
|
|
53
|
+
const result = P.pipe(egHandler(TEST_IN_3), P.Effect.runPromise);
|
|
54
|
+
await expect(result).rejects.toThrow('Expected { readonly foo: "foo_value"; readonly num: NumberFromString }, actual undefined');
|
|
56
55
|
});
|
|
57
56
|
});
|
|
58
57
|
//# sourceMappingURL=queryStringValidator.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryStringValidator.test.js","sourceRoot":"","sources":["../../src/contrib/queryStringValidator.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,
|
|
1
|
+
{"version":3,"file":"queryStringValidator.test.js","sourceRoot":"","sources":["../../src/contrib/queryStringValidator.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,qDAAiD;AACjD,6DAA+C;AAIlC,QAAA,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;IAClC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB;CAC/B,CAAC,CAAC;AAEH,MAAM,SAAS,GAAO,EAAE,qBAAqB,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;AAClF,MAAM,SAAS,GAAO,EAAE,qBAAqB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;AAC5E,MAAM,SAAS,GAAO,EAAE,CAAC;AAEzB,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAU,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC1C,iCAAiC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE;YACnE,qBAAqB,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE;SACtD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAU,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAU,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAU,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAClC,0FAA0F,CAC3F,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -2,6 +2,6 @@ import * as P from '@konker.dev/effect-ts-prelude';
|
|
|
2
2
|
import type { BaseResponse } from '../lib/http';
|
|
3
3
|
export type TestDeps = any;
|
|
4
4
|
export declare const TestDeps: P.Context.Tag<any, any>;
|
|
5
|
-
export declare function echoCoreIn<I
|
|
5
|
+
export declare function echoCoreIn<I>(i: I): P.Effect.Effect<I, never, never>;
|
|
6
6
|
export declare const echoCoreInDeps: <I, E, R>(Deps: P.Context.Tag<R, R>) => (i: I) => P.Effect.Effect<unknown, E, R>;
|
|
7
7
|
export declare function http200CoreIn<I>(_i: I): P.Effect.Effect<BaseResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-common.js","sourceRoot":"","sources":["../../src/test/test-common.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,gCAEC;AAgBD,sCAOC;AAjCD,iEAAmD;AAKtC,QAAA,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAM,MAAM,CAAC,CAAC;AAE1D,gCAAgC;AAChC,SAAgB,UAAU,
|
|
1
|
+
{"version":3,"file":"test-common.js","sourceRoot":"","sources":["../../src/test/test-common.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,gCAEC;AAgBD,sCAOC;AAjCD,iEAAmD;AAKtC,QAAA,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAM,MAAM,CAAC,CAAC;AAE1D,gCAAgC;AAChC,SAAgB,UAAU,CAAI,CAAI;IAChC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,gCAAgC;AACzB,MAAM,cAAc,GACzB,CAAU,IAAyB,EAAE,EAAE,CACvC,CAAC,CAAI,EAAkC,EAAE;IACvC,OAAO,CAAC,CAAC,IAAI,CACX,IAAI,EACJ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtB,GAAG,CAAC;QACJ,GAAG,IAAI;KACR,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC,CAAC;AAVS,QAAA,cAAc,kBAUvB;AAEJ,gCAAgC;AAChC,SAAgB,aAAa,CAAI,EAAK;IACpC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACtB,UAAU,EAAE,GAAG;QACf,OAAO,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;QAC7B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACtC,eAAe,EAAE,KAAK;KACvB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-1.test.js","sourceRoot":"","sources":["../../../src/test/unit/auth-1.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAyD;AACzD,iEAAmD;AAInD,iDAAmC;AACnC,6EAGsD;AAEtD,sIAA0E;AAE1E,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC1B,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;CACpC,CAAC,CAAC;AAGH,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;CACzB,CAAC,CAAC;AAOH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,MAAyB,CAAC;IAE9B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;QACrB,OAAO,CAAC,GAAG,GAAG;YACZ,kBAAkB,EAAE,yBAAyB;YAC7C,CAAC,uCAA0B,CAAC,EAAE,0CAA6B;SAC5D,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,SAAS,QAAQ,CAAC,EAAa;YAC7B,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBACtB,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAClB,QAAQ,EACR,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,EACtC,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAChC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAC9B,CAAC,CAAC,4BAA4B,CAAC,UAAU,EAAE,EAC3C,CAAC,CAAC,qBAAqB,CAAC,UAAU,EAAE,CACrC,CAAC;QAEF,MAAM,OAAO,GAAG,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"auth-1.test.js","sourceRoot":"","sources":["../../../src/test/unit/auth-1.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAyD;AACzD,iEAAmD;AAInD,iDAAmC;AACnC,6EAGsD;AAEtD,sIAA0E;AAE1E,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC1B,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;CACpC,CAAC,CAAC;AAGH,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;CACzB,CAAC,CAAC;AAOH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,MAAyB,CAAC;IAE9B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;QACrB,OAAO,CAAC,GAAG,GAAG;YACZ,kBAAkB,EAAE,yBAAyB;YAC7C,CAAC,uCAA0B,CAAC,EAAE,0CAA6B;SAC5D,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,SAAS,QAAQ,CAAC,EAAa;YAC7B,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBACtB,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAClB,QAAQ,EACR,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,EACtC,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAChC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAC9B,CAAC,CAAC,4BAA4B,CAAC,UAAU,EAAE,EAC3C,CAAC,CAAC,qBAAqB,CAAC,UAAU,EAAE,CACrC,CAAC;QAEF,MAAM,OAAO,GAAG,KAAK,CAAC,mDAA2C,CAAC,CAAC;QAEnE,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAChE,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-2.test.js","sourceRoot":"","sources":["../../../src/test/unit/auth-2.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAyD;AACzD,iEAAmD;AAInD,iDAAmC;AACnC,6EAGsD;AACtD,sIAA0E;AAE1E,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC1B,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;CACpC,CAAC,CAAC;AAGH,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;CACzB,CAAC,CAAC;AAOH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,MAAyB,CAAC;IAE9B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;QACrB,OAAO,CAAC,GAAG,GAAG;YACZ,kBAAkB,EAAE,yBAAyB;YAC7C,CAAC,uCAA0B,CAAC,EAAE,0CAA6B;SAC5D,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,SAAS,QAAQ,CAAC,EAAa;YAC7B,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAClB,QAAQ,EACR,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,EACtC,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAChC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAC9B,CAAC,CAAC,yBAAyB,CAAC,UAAU,EAAE,EACxC,CAAC,CAAC,qBAAqB,CAAC,UAAU,EAAE,CACrC,CAAC;QAEF,MAAM,OAAO,GAAG,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"auth-2.test.js","sourceRoot":"","sources":["../../../src/test/unit/auth-2.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAyD;AACzD,iEAAmD;AAInD,iDAAmC;AACnC,6EAGsD;AACtD,sIAA0E;AAE1E,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC1B,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;CACpC,CAAC,CAAC;AAGH,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;CACzB,CAAC,CAAC;AAOH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,MAAyB,CAAC;IAE9B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;QACrB,OAAO,CAAC,GAAG,GAAG;YACZ,kBAAkB,EAAE,yBAAyB;YAC7C,CAAC,uCAA0B,CAAC,EAAE,0CAA6B;SAC5D,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,SAAS,QAAQ,CAAC,EAAa;YAC7B,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAClB,QAAQ,EACR,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,EACtC,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAChC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAC9B,CAAC,CAAC,yBAAyB,CAAC,UAAU,EAAE,EACxC,CAAC,CAAC,qBAAqB,CAAC,UAAU,EAAE,CACrC,CAAC;QAEF,MAAM,OAAO,GAAG,KAAK,CAAC,mDAA2C,CAAC,CAAC;QAEnE,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAChE,OAAO,EAAE;gBACP,WAAW,EAAE,MAAM;aACpB;YACD,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,oBAAoB;wBAC5B,MAAM,EAAE,MAAM;wBACd,QAAQ,EAAE,GAAG;qBACd;iBACF;gBACD,OAAO,EAAE,YAAY;aACtB;YACD,WAAW,EAAE,MAAM;SACpB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
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.14",
|
|
4
4
|
"author": "Konrad Markus <mail@konker.dev>",
|
|
5
5
|
"description": "Type safe middleware system based on Effect-ts",
|
|
6
6
|
"license": "ISC",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"@gomomento/sdk": "^1.95.0",
|
|
25
25
|
"@konker.dev/aws-client-effect-dynamodb": "^0.0.8",
|
|
26
26
|
"@konker.dev/momento-cache-client-effect": "^0.0.7",
|
|
27
|
-
"@konker.dev/tiny-auth-utils-fp": "^0.0.
|
|
27
|
+
"@konker.dev/tiny-auth-utils-fp": "^0.0.5",
|
|
28
28
|
"aws-lambda": "^1.0.7"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|