1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.check = void 0;
|
4 | const chain_1 = require("../chain");
|
5 | const utils_1 = require("../utils");
|
6 | const context_builder_1 = require("../context-builder");
|
7 | function check(fields = '', locations = [], message) {
|
8 | const builder = new context_builder_1.ContextBuilder()
|
9 | .setFields(Array.isArray(fields) ? fields : [fields])
|
10 | .setLocations(locations)
|
11 | .setMessage(message);
|
12 | const runner = new chain_1.ContextRunnerImpl(builder);
|
13 | const middleware = async (req, _res, next) => {
|
14 | try {
|
15 | await runner.run(req);
|
16 | next();
|
17 | }
|
18 | catch (e) {
|
19 | next(e);
|
20 | }
|
21 | };
|
22 | return Object.assign(middleware, utils_1.bindAll(runner), utils_1.bindAll(new chain_1.SanitizersImpl(builder, middleware)), utils_1.bindAll(new chain_1.ValidatorsImpl(builder, middleware)), utils_1.bindAll(new chain_1.ContextHandlerImpl(builder, middleware)), { builder });
|
23 | }
|
24 | exports.check = check;
|