@nathan3boss/expressu 1.0.0 → 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.
@@ -0,0 +1,68 @@
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
+ DEFAULT_VALIDATION_MESSAGE: ()=>DEFAULT_VALIDATION_MESSAGE,
28
+ configure: ()=>configure,
29
+ getConfig: ()=>getConfig,
30
+ getExpressuConfig: ()=>getExpressuConfig,
31
+ resetConfig: ()=>resetConfig,
32
+ resetExpressuConfig: ()=>resetExpressuConfig,
33
+ resolveValidationMessage: ()=>resolveValidationMessage
34
+ });
35
+ const DEFAULT_VALIDATION_MESSAGE = "Validation failed";
36
+ let expressuConfig = {};
37
+ const configure = (config = {})=>{
38
+ expressuConfig = {
39
+ ...expressuConfig,
40
+ ...config
41
+ };
42
+ };
43
+ const resetExpressuConfig = ()=>{
44
+ expressuConfig = {};
45
+ };
46
+ const resetConfig = resetExpressuConfig;
47
+ const getExpressuConfig = ()=>expressuConfig;
48
+ const getConfig = getExpressuConfig;
49
+ const resolveValidationMessage = (message)=>message ?? expressuConfig.validationMessage ?? DEFAULT_VALIDATION_MESSAGE;
50
+ exports.DEFAULT_VALIDATION_MESSAGE = __webpack_exports__.DEFAULT_VALIDATION_MESSAGE;
51
+ exports.configure = __webpack_exports__.configure;
52
+ exports.getConfig = __webpack_exports__.getConfig;
53
+ exports.getExpressuConfig = __webpack_exports__.getExpressuConfig;
54
+ exports.resetConfig = __webpack_exports__.resetConfig;
55
+ exports.resetExpressuConfig = __webpack_exports__.resetExpressuConfig;
56
+ exports.resolveValidationMessage = __webpack_exports__.resolveValidationMessage;
57
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
58
+ "DEFAULT_VALIDATION_MESSAGE",
59
+ "configure",
60
+ "getConfig",
61
+ "getExpressuConfig",
62
+ "resetConfig",
63
+ "resetExpressuConfig",
64
+ "resolveValidationMessage"
65
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
66
+ Object.defineProperty(exports, '__esModule', {
67
+ value: true
68
+ });
package/dist/config.js ADDED
@@ -0,0 +1,16 @@
1
+ const DEFAULT_VALIDATION_MESSAGE = "Validation failed";
2
+ let expressuConfig = {};
3
+ const configure = (config = {})=>{
4
+ expressuConfig = {
5
+ ...expressuConfig,
6
+ ...config
7
+ };
8
+ };
9
+ const resetExpressuConfig = ()=>{
10
+ expressuConfig = {};
11
+ };
12
+ const resetConfig = resetExpressuConfig;
13
+ const getExpressuConfig = ()=>expressuConfig;
14
+ const getConfig = getExpressuConfig;
15
+ const resolveValidationMessage = (message)=>message ?? expressuConfig.validationMessage ?? DEFAULT_VALIDATION_MESSAGE;
16
+ export { DEFAULT_VALIDATION_MESSAGE, configure, getConfig, getExpressuConfig, resetConfig, resetExpressuConfig, resolveValidationMessage };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { configure, DEFAULT_VALIDATION_MESSAGE, getConfig, getExpressuConfig, resetConfig, resetExpressuConfig, resolveValidationMessage, } from "./config";
2
1
  export type { ExpressuConfig } from "./config";
2
+ export { configure, DEFAULT_VALIDATION_MESSAGE, getConfig, getExpressuConfig, resetConfig, resetExpressuConfig, resolveValidationMessage, } from "./config";
3
3
  export type { MiddlewareOptions, ValidationAdapter, ValidationFailure, ValidationTarget, } from "./types";
4
4
  export { createBodyValidator, createParamsValidator, createQueryValidator, createValidationAdapter, createValidatorMiddleware, } from "./validator";
@@ -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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nathan3boss/expressu",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Composable middleware builders for Express validators",
5
5
  "license": "MIT",
6
6
  "author": "nathan2slime",