@nathan3boss/expressu 1.0.1 → 1.0.2
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/validator.cjs +87 -0
- package/dist/validator.js +41 -0
- package/package.json +1 -1
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
createValidatorMiddleware: ()=>createValidatorMiddleware,
|
|
28
|
+
createValidationAdapter: ()=>createValidationAdapter,
|
|
29
|
+
createQueryValidator: ()=>createQueryValidator,
|
|
30
|
+
createBodyValidator: ()=>createBodyValidator,
|
|
31
|
+
createParamsValidator: ()=>createParamsValidator
|
|
32
|
+
});
|
|
33
|
+
const external_config_cjs_namespaceObject = require("./config.cjs");
|
|
34
|
+
const defaultFailure = (error, message)=>({
|
|
35
|
+
message,
|
|
36
|
+
issues: error instanceof Error ? error.message : error
|
|
37
|
+
});
|
|
38
|
+
const createValidationAdapter = (parse, toFailure)=>({
|
|
39
|
+
parse,
|
|
40
|
+
toFailure
|
|
41
|
+
});
|
|
42
|
+
const createValidatorMiddleware = (adapter, options = {})=>{
|
|
43
|
+
const target = options.target ?? "body";
|
|
44
|
+
const statusCode = options.statusCode ?? 400;
|
|
45
|
+
const message = (0, external_config_cjs_namespaceObject.resolveValidationMessage)(options.message);
|
|
46
|
+
return (req, res, next)=>{
|
|
47
|
+
try {
|
|
48
|
+
const mutableReq = req;
|
|
49
|
+
const parsed = adapter.parse(mutableReq[target]);
|
|
50
|
+
mutableReq[target] = parsed;
|
|
51
|
+
next();
|
|
52
|
+
} catch (error) {
|
|
53
|
+
const failure = adapter.toFailure?.(error) ?? defaultFailure(error, message);
|
|
54
|
+
return res.status(statusCode).json({
|
|
55
|
+
...failure,
|
|
56
|
+
message: options.message ?? failure.message ?? message
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
const createBodyValidator = (adapter, options = {})=>createValidatorMiddleware(adapter, {
|
|
62
|
+
...options,
|
|
63
|
+
target: "body"
|
|
64
|
+
});
|
|
65
|
+
const createParamsValidator = (adapter, options = {})=>createValidatorMiddleware(adapter, {
|
|
66
|
+
...options,
|
|
67
|
+
target: "params"
|
|
68
|
+
});
|
|
69
|
+
const createQueryValidator = (adapter, options = {})=>createValidatorMiddleware(adapter, {
|
|
70
|
+
...options,
|
|
71
|
+
target: "query"
|
|
72
|
+
});
|
|
73
|
+
exports.createBodyValidator = __webpack_exports__.createBodyValidator;
|
|
74
|
+
exports.createParamsValidator = __webpack_exports__.createParamsValidator;
|
|
75
|
+
exports.createQueryValidator = __webpack_exports__.createQueryValidator;
|
|
76
|
+
exports.createValidationAdapter = __webpack_exports__.createValidationAdapter;
|
|
77
|
+
exports.createValidatorMiddleware = __webpack_exports__.createValidatorMiddleware;
|
|
78
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
79
|
+
"createBodyValidator",
|
|
80
|
+
"createParamsValidator",
|
|
81
|
+
"createQueryValidator",
|
|
82
|
+
"createValidationAdapter",
|
|
83
|
+
"createValidatorMiddleware"
|
|
84
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
85
|
+
Object.defineProperty(exports, '__esModule', {
|
|
86
|
+
value: true
|
|
87
|
+
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { resolveValidationMessage } from "./config.js";
|
|
2
|
+
const defaultFailure = (error, message)=>({
|
|
3
|
+
message,
|
|
4
|
+
issues: error instanceof Error ? error.message : error
|
|
5
|
+
});
|
|
6
|
+
const createValidationAdapter = (parse, toFailure)=>({
|
|
7
|
+
parse,
|
|
8
|
+
toFailure
|
|
9
|
+
});
|
|
10
|
+
const createValidatorMiddleware = (adapter, options = {})=>{
|
|
11
|
+
const target = options.target ?? "body";
|
|
12
|
+
const statusCode = options.statusCode ?? 400;
|
|
13
|
+
const message = resolveValidationMessage(options.message);
|
|
14
|
+
return (req, res, next)=>{
|
|
15
|
+
try {
|
|
16
|
+
const mutableReq = req;
|
|
17
|
+
const parsed = adapter.parse(mutableReq[target]);
|
|
18
|
+
mutableReq[target] = parsed;
|
|
19
|
+
next();
|
|
20
|
+
} catch (error) {
|
|
21
|
+
const failure = adapter.toFailure?.(error) ?? defaultFailure(error, message);
|
|
22
|
+
return res.status(statusCode).json({
|
|
23
|
+
...failure,
|
|
24
|
+
message: options.message ?? failure.message ?? message
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
const createBodyValidator = (adapter, options = {})=>createValidatorMiddleware(adapter, {
|
|
30
|
+
...options,
|
|
31
|
+
target: "body"
|
|
32
|
+
});
|
|
33
|
+
const createParamsValidator = (adapter, options = {})=>createValidatorMiddleware(adapter, {
|
|
34
|
+
...options,
|
|
35
|
+
target: "params"
|
|
36
|
+
});
|
|
37
|
+
const createQueryValidator = (adapter, options = {})=>createValidatorMiddleware(adapter, {
|
|
38
|
+
...options,
|
|
39
|
+
target: "query"
|
|
40
|
+
});
|
|
41
|
+
export { createBodyValidator, createParamsValidator, createQueryValidator, createValidationAdapter, createValidatorMiddleware };
|