@konker.dev/middleware-fp 0.0.13 → 0.0.15
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 +1 -1
- 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/lib/http.js +8 -2
- package/dist/lib/http.js.map +1 -1
- package/dist/test/test-common.d.ts +1 -1
- package/dist/test/test-common.js.map +1 -1
- package/package.json +11 -11
|
@@ -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"}
|
|
@@ -7,4 +7,4 @@ export type WithValidatedHeaders<V> = {
|
|
|
7
7
|
headers: V;
|
|
8
8
|
validatorRawHeaders: RequestHeaders | undefined;
|
|
9
9
|
};
|
|
10
|
-
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;AAG3D,MAAM,GAAG,GAAG,kBAAkB,CAAC;AAOxB,MAAM,UAAU,GACrB,
|
|
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"}
|
package/dist/lib/http.js
CHANGED
|
@@ -33,9 +33,15 @@ exports.UNKNOWN_STRING_EFFECT = UNKNOWN_STRING_EFFECT;
|
|
|
33
33
|
exports.WithBody = P.Schema.Struct({
|
|
34
34
|
body: P.Schema.Unknown,
|
|
35
35
|
});
|
|
36
|
-
exports.RequestHeaders = P.Schema.Record(
|
|
36
|
+
exports.RequestHeaders = P.Schema.Record({
|
|
37
|
+
key: P.Schema.String,
|
|
38
|
+
value: P.Schema.Union(P.Schema.String, P.Schema.Undefined),
|
|
39
|
+
});
|
|
37
40
|
exports.OptionalRequestHeaders = P.Schema.Union(exports.RequestHeaders, P.Schema.Undefined);
|
|
38
|
-
exports.ResponseHeaders = P.Schema.Record(
|
|
41
|
+
exports.ResponseHeaders = P.Schema.Record({
|
|
42
|
+
key: P.Schema.String,
|
|
43
|
+
value: P.Schema.Union(P.Schema.String, P.Schema.Number, P.Schema.Boolean),
|
|
44
|
+
});
|
|
39
45
|
exports.OptionalResponseHeaders = P.Schema.Union(exports.ResponseHeaders, P.Schema.Undefined);
|
|
40
46
|
// --------------------------------------------------------------------------
|
|
41
47
|
exports.BaseResponse = P.Schema.partial(P.Schema.Struct({
|
package/dist/lib/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/lib/http.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/lib/http.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,8EAOC;AAMD,oDAKC;AAID,sBAGC;AArED,iEAAmD;AAE5C,MAAM,qBAAqB,GAAG,GAAwC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAA/F,QAAA,qBAAqB,yBAA0E;AAE/F,QAAA,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;CACvB,CAAC,CAAC;AAGU,QAAA,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5C,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;CAC3D,CAAC,CAAC;AAGU,QAAA,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAc,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAG5E,QAAA,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC7C,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;CAC1E,CAAC,CAAC;AAGU,QAAA,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAe,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAG3F,6EAA6E;AAChE,QAAA,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAC1C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACd,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;IAC3B,OAAO,EAAE,uBAAe;IACxB,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IACrE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;CACvB,CAAC,CACH,CAAC;AAGF,6EAA6E;AAChE,QAAA,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACpD,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;CAC/B,CAAC,CAAC;AAGH,SAAgB,iCAAiC,CAAI,CAAqB;IACxE,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CACpB,8BAAsB,EACtB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC;KACX,CAAC,CACH,CAAC;AACJ,CAAC;AAKD,6EAA6E;AAC7E,SAAgB,oBAAoB;IAClC,OAAO;QACL,UAAU,EAAE,GAAG;QACf,IAAI,EAAE,uBAAuB;KAC9B,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,qCAAqC;AACrC,SAAgB,KAAK,CAAI,CAAI;IAC3B,uCAAuC;IACvC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AAC1B,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"}
|
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.15",
|
|
4
4
|
"author": "Konrad Markus <mail@konker.dev>",
|
|
5
5
|
"description": "Type safe middleware system based on Effect-ts",
|
|
6
6
|
"license": "ISC",
|
|
@@ -24,32 +24,32 @@
|
|
|
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": {
|
|
31
|
-
"@effect/schema": "^0.
|
|
32
|
-
"@konker.dev/effect-ts-prelude": "^0.0.
|
|
31
|
+
"@effect/schema": "^0.72.3",
|
|
32
|
+
"@konker.dev/effect-ts-prelude": "^0.0.17",
|
|
33
33
|
"@konker.dev/tiny-cache-fp": "^0.0.5",
|
|
34
|
-
"@konker.dev/tiny-error-fp": "^0.0.
|
|
34
|
+
"@konker.dev/tiny-error-fp": "^0.0.8",
|
|
35
35
|
"@konker.dev/tiny-utils-fp": "^0.0.1",
|
|
36
|
-
"effect": "^3.
|
|
36
|
+
"effect": "^3.7.2",
|
|
37
37
|
"lesslog": "^0.2.7"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@effect/language-service": "^0.0.21",
|
|
41
|
-
"@types/aws-lambda": "^8.10.
|
|
41
|
+
"@types/aws-lambda": "^8.10.145",
|
|
42
42
|
"@types/jest": "^29.5.12",
|
|
43
|
-
"@types/node": "^20.
|
|
43
|
+
"@types/node": "^20.16.5",
|
|
44
44
|
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
45
45
|
"@typescript-eslint/parser": "^6.21.0",
|
|
46
46
|
"@typescript-eslint/typescript-estree": "^6.21.0",
|
|
47
47
|
"eslint": "^8.57.0",
|
|
48
48
|
"eslint-config-prettier": "^9.1.0",
|
|
49
|
-
"eslint-import-resolver-typescript": "^3.6.
|
|
49
|
+
"eslint-import-resolver-typescript": "^3.6.3",
|
|
50
50
|
"eslint-plugin-deprecation": "^2.0.0",
|
|
51
51
|
"eslint-plugin-fp": "^2.3.0",
|
|
52
|
-
"eslint-plugin-import": "^2.
|
|
52
|
+
"eslint-plugin-import": "^2.30.0",
|
|
53
53
|
"eslint-plugin-json": "^3.1.0",
|
|
54
54
|
"eslint-plugin-prettier": "^5.2.1",
|
|
55
55
|
"eslint-plugin-simple-import-sort": "^10.0.0",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"madge": "^6.1.0",
|
|
62
62
|
"npx": "^10.2.2",
|
|
63
63
|
"prettier": "^3.3.3",
|
|
64
|
-
"ts-jest": "^29.2.
|
|
64
|
+
"ts-jest": "^29.2.5",
|
|
65
65
|
"ts-node": "^10.9.2",
|
|
66
66
|
"type-coverage": "^2.29.1",
|
|
67
67
|
"typescript": "^5.5.4"
|