@fishka/express 0.9.22 → 0.9.24

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/README.md CHANGED
@@ -94,7 +94,7 @@ routes.get('users/:id', async ctx => ({
94
94
  **Generic:**
95
95
 
96
96
  - `transform(...ops)` - chain of validators/transformers
97
- - `assert(predicate, msg)` - custom validation with predicate
97
+ - `check(predicate, msg)` - custom validation with predicate
98
98
  - `validator(fn)` - custom validator returning string|undefined
99
99
  - `map(fn)` - transform value
100
100
 
@@ -57,55 +57,27 @@ class RequestContextImpl {
57
57
  this.authUser = authUser;
58
58
  this.state = state;
59
59
  }
60
- /**
61
- * Validates a parameter with optional validator and caching.
62
- * @param name Parameter name.
63
- * @param rawValue Raw parameter value from request.
64
- * @param validator Optional validator function.
65
- * @param isRequired Whether parameter is required (path=true, query=false).
66
- * @returns Validated value or undefined for optional missing parameters.
67
- */
68
- validateParam(name, rawValue, validator, isRequired) {
60
+ /** Validates a parameter with optional validator and caching. */
61
+ validateParam(name, value, validator) {
69
62
  try {
70
- let result;
71
- // Check for missing required parameters before calling validator
72
- if (isRequired && (rawValue === undefined || rawValue === null || rawValue === '')) {
73
- (0, api_types_1.assertHttp)(false, http_status_codes_1.HTTP_BAD_REQUEST, `Missing required parameter: ${name}`);
74
- }
75
- if (validator) {
76
- // Pass value to validator even if it's undefined/null/empty
77
- result = validator(rawValue);
78
- }
79
- else {
80
- // Without validator
81
- if (rawValue === undefined || rawValue === null || rawValue === '') {
82
- // Already checked for required parameters above
83
- return undefined;
84
- }
85
- result = rawValue;
86
- }
63
+ const result = validator ? validator(value) : (0, assertions_1.truthy)(value, `Missing required parameter: ${name}`);
87
64
  return result;
88
65
  }
89
66
  catch (error) {
90
67
  if (error instanceof api_types_1.HttpError)
91
68
  throw error;
92
- throw new api_types_1.HttpError(http_status_codes_1.HTTP_BAD_REQUEST, (0, assertions_1.getMessageFromError)(error));
69
+ throw new api_types_1.HttpError(http_status_codes_1.HTTP_BAD_REQUEST, `Parameter validation failed: ${name}. ${(0, assertions_1.getMessageFromError)(error)}`);
93
70
  }
94
71
  }
95
72
  path(name, validator) {
96
73
  const rawValue = this.req.params[name];
97
- const result = this.validateParam(name, rawValue, validator, true);
98
- (0, api_types_1.assertHttp)(result !== undefined, http_status_codes_1.HTTP_BAD_REQUEST, `Missing required path parameter: ${name}`);
99
- return result;
74
+ return this.validateParam(name, rawValue, validator);
100
75
  }
101
76
  query(name, validator) {
102
77
  const parsedUrl = url.parse(this.req.originalUrl, true);
103
78
  const rawValue = parsedUrl.query[name];
104
79
  const value = Array.isArray(rawValue) ? rawValue[0] : rawValue;
105
- // Query parameters are always required (like path parameters)
106
- const result = this.validateParam(name, value, validator, true);
107
- (0, api_types_1.assertHttp)(result !== undefined, http_status_codes_1.HTTP_BAD_REQUEST, `Missing required query parameter: ${name}`);
108
- return result;
80
+ return this.validateParam(name, value, validator);
109
81
  }
110
82
  body(validator) {
111
83
  const apiRequest = this.req.body;
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { ParamValidator } from '../api.types';
6
6
  /** Makes validator optional - returns undefined if value missing */
7
- export declare function optional<T>(validator: ParamValidator<T>): ParamValidator<T | undefined>;
7
+ export declare function optional<T>(validator?: ParamValidator<T>): ParamValidator<T | undefined>;
8
8
  /** Operator that transforms string to T */
9
9
  export type ParamOperator<T> = (value: string) => T;
10
10
  /** Operator that transforms T to R */
@@ -53,7 +53,7 @@ export declare const max: (n: number, message?: string) => Operator<number>;
53
53
  /** Requires value to be in range [minVal, maxVal] */
54
54
  export declare const range: (minVal: number, maxVal: number, message?: string) => Operator<number>;
55
55
  /** Adds custom validation with predicate */
56
- export declare const assert: <T>(predicate: (value: T) => boolean, message: string) => Operator<T>;
56
+ export declare const check: <T>(predicate: (value: T) => boolean, message: string) => Operator<T>;
57
57
  /** Transforms the value */
58
58
  export declare const map: <T, R>(fn: (value: T) => R) => Operator<T, R>;
59
59
  /**
@@ -4,7 +4,7 @@
4
4
  * All params are strings from Express, so validation starts with string.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.map = exports.assert = exports.range = exports.max = exports.min = exports.uppercase = exports.lowercase = exports.trim = exports.matches = exports.maxLength = exports.minLength = exports.oneOf = exports.toBool = exports.toNumber = exports.toInt = void 0;
7
+ exports.map = exports.check = exports.range = exports.max = exports.min = exports.uppercase = exports.lowercase = exports.trim = exports.matches = exports.maxLength = exports.minLength = exports.oneOf = exports.toBool = exports.toNumber = exports.toInt = void 0;
8
8
  exports.optional = optional;
9
9
  exports.transform = transform;
10
10
  exports.validator = validator;
@@ -15,7 +15,7 @@ function optional(validator) {
15
15
  if (value === undefined || value === null || value === '') {
16
16
  return undefined;
17
17
  }
18
- return validator(value);
18
+ return validator ? validator(value) : value;
19
19
  };
20
20
  }
21
21
  function transform(...operators) {
@@ -105,13 +105,12 @@ const range = (minVal, maxVal, message) => (value) => {
105
105
  return value;
106
106
  };
107
107
  exports.range = range;
108
- // Generic operators
109
108
  /** Adds custom validation with predicate */
110
- const assert = (predicate, message) => (value) => {
109
+ const check = (predicate, message) => (value) => {
111
110
  (0, assertions_1.assertTruthy)(predicate(value), message);
112
111
  return value;
113
112
  };
114
- exports.assert = assert;
113
+ exports.check = check;
115
114
  /** Transforms the value */
116
115
  const map = (fn) => (value) => fn(value);
117
116
  exports.map = map;
@@ -1 +1 @@
1
- {"version":3,"file":"type-validators.js","sourceRoot":"","sources":["../../../src/utils/type-validators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-validators.js","sourceRoot":"","sources":["../../../src/utils/type-validators.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { getMessageFromError, validateObject } from '@fishka/assertions';
1
+ import { getMessageFromError, truthy, validateObject } from '@fishka/assertions';
2
2
  import * as url from 'url';
3
3
  import { assertHttp, HttpError } from './api.types';
4
4
  import { getExpressApiConfig } from './config';
@@ -21,55 +21,27 @@ class RequestContextImpl {
21
21
  this.authUser = authUser;
22
22
  this.state = state;
23
23
  }
24
- /**
25
- * Validates a parameter with optional validator and caching.
26
- * @param name Parameter name.
27
- * @param rawValue Raw parameter value from request.
28
- * @param validator Optional validator function.
29
- * @param isRequired Whether parameter is required (path=true, query=false).
30
- * @returns Validated value or undefined for optional missing parameters.
31
- */
32
- validateParam(name, rawValue, validator, isRequired) {
24
+ /** Validates a parameter with optional validator and caching. */
25
+ validateParam(name, value, validator) {
33
26
  try {
34
- let result;
35
- // Check for missing required parameters before calling validator
36
- if (isRequired && (rawValue === undefined || rawValue === null || rawValue === '')) {
37
- assertHttp(false, HTTP_BAD_REQUEST, `Missing required parameter: ${name}`);
38
- }
39
- if (validator) {
40
- // Pass value to validator even if it's undefined/null/empty
41
- result = validator(rawValue);
42
- }
43
- else {
44
- // Without validator
45
- if (rawValue === undefined || rawValue === null || rawValue === '') {
46
- // Already checked for required parameters above
47
- return undefined;
48
- }
49
- result = rawValue;
50
- }
27
+ const result = validator ? validator(value) : truthy(value, `Missing required parameter: ${name}`);
51
28
  return result;
52
29
  }
53
30
  catch (error) {
54
31
  if (error instanceof HttpError)
55
32
  throw error;
56
- throw new HttpError(HTTP_BAD_REQUEST, getMessageFromError(error));
33
+ throw new HttpError(HTTP_BAD_REQUEST, `Parameter validation failed: ${name}. ${getMessageFromError(error)}`);
57
34
  }
58
35
  }
59
36
  path(name, validator) {
60
37
  const rawValue = this.req.params[name];
61
- const result = this.validateParam(name, rawValue, validator, true);
62
- assertHttp(result !== undefined, HTTP_BAD_REQUEST, `Missing required path parameter: ${name}`);
63
- return result;
38
+ return this.validateParam(name, rawValue, validator);
64
39
  }
65
40
  query(name, validator) {
66
41
  const parsedUrl = url.parse(this.req.originalUrl, true);
67
42
  const rawValue = parsedUrl.query[name];
68
43
  const value = Array.isArray(rawValue) ? rawValue[0] : rawValue;
69
- // Query parameters are always required (like path parameters)
70
- const result = this.validateParam(name, value, validator, true);
71
- assertHttp(result !== undefined, HTTP_BAD_REQUEST, `Missing required query parameter: ${name}`);
72
- return result;
44
+ return this.validateParam(name, value, validator);
73
45
  }
74
46
  body(validator) {
75
47
  const apiRequest = this.req.body;
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { ParamValidator } from '../api.types';
6
6
  /** Makes validator optional - returns undefined if value missing */
7
- export declare function optional<T>(validator: ParamValidator<T>): ParamValidator<T | undefined>;
7
+ export declare function optional<T>(validator?: ParamValidator<T>): ParamValidator<T | undefined>;
8
8
  /** Operator that transforms string to T */
9
9
  export type ParamOperator<T> = (value: string) => T;
10
10
  /** Operator that transforms T to R */
@@ -53,7 +53,7 @@ export declare const max: (n: number, message?: string) => Operator<number>;
53
53
  /** Requires value to be in range [minVal, maxVal] */
54
54
  export declare const range: (minVal: number, maxVal: number, message?: string) => Operator<number>;
55
55
  /** Adds custom validation with predicate */
56
- export declare const assert: <T>(predicate: (value: T) => boolean, message: string) => Operator<T>;
56
+ export declare const check: <T>(predicate: (value: T) => boolean, message: string) => Operator<T>;
57
57
  /** Transforms the value */
58
58
  export declare const map: <T, R>(fn: (value: T) => R) => Operator<T, R>;
59
59
  /**
@@ -9,7 +9,7 @@ export function optional(validator) {
9
9
  if (value === undefined || value === null || value === '') {
10
10
  return undefined;
11
11
  }
12
- return validator(value);
12
+ return validator ? validator(value) : value;
13
13
  };
14
14
  }
15
15
  export function transform(...operators) {
@@ -86,9 +86,8 @@ export const range = (minVal, maxVal, message) => (value) => {
86
86
  assertTruthy(value >= minVal && value <= maxVal, message ?? `Must be between ${minVal} and ${maxVal}`);
87
87
  return value;
88
88
  };
89
- // Generic operators
90
89
  /** Adds custom validation with predicate */
91
- export const assert = (predicate, message) => (value) => {
90
+ export const check = (predicate, message) => (value) => {
92
91
  assertTruthy(predicate(value), message);
93
92
  return value;
94
93
  };
@@ -1 +1 @@
1
- {"version":3,"file":"type-validators.js","sourceRoot":"","sources":["../../../src/utils/type-validators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-validators.js","sourceRoot":"","sources":["../../../src/utils/type-validators.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fishka/express",
3
- "version": "0.9.22",
3
+ "version": "0.9.24",
4
4
  "description": "Express.js extension with built-in validation, and type safety",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",