api-machine 1.2.0 → 1.2.1

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
@@ -212,24 +212,26 @@ For the complete list of error classes, usage examples, and custom error creatio
212
212
 
213
213
  ## Validation & Sanitization
214
214
 
215
- api-machine supports request validation and sanitization using [valsan](https://www.npmjs.com/package/valsan). You can declare ObjectSanitizer members on your endpoint classes for `body`, `query`, `params`, or `headers`:
215
+ api-machine supports request validation and sanitization using [valsan](https://www.npmjs.com/package/valsan). You can declare ObjectValSan members on your endpoint classes for `body`, `query`, `params`, or `headers`:
216
216
 
217
217
  ```typescript
218
- import { ObjectSanitizer, EmailValidator } from 'valsan';
218
+ import { ObjectValSan, EmailValidator } from 'valsan';
219
219
  import { NameValSan } from './examples/complete-example/users/name-valsan';
220
220
 
221
221
  class CreateUserEndpoint extends PostEndpoint {
222
- override path = '/users';
222
+ override path = '/users';
223
223
 
224
- override body = new ObjectSanitizer({
225
- name: new NameValSan(),
226
- email: new EmailValidator(),
227
- });
224
+ override body = new ObjectValSan({
225
+ schema: {
226
+ name: new NameValSan(),
227
+ email: new EmailValidator(),
228
+ }
229
+ });
228
230
 
229
- async handle(request, response) {
230
- // request.body is validated & sanitized
231
- // ...
232
- }
231
+ async handle(request, response) {
232
+ // request.body is validated & sanitized
233
+ // ...
234
+ }
233
235
  }
234
236
  ```
235
237
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "api-machine",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "api-machine",
5
5
  "typescript-template": {
6
6
  "base": "1.0.1",
@@ -1,4 +1,4 @@
1
- import { ObjectSanitizer } from 'valsan';
1
+ import { ObjectValSan } from 'valsan';
2
2
  import { GetEndpoint } from './get-endpoint';
3
3
  export declare class HealthCheckEndpoint extends GetEndpoint {
4
4
  path: string;
@@ -8,7 +8,7 @@ export declare class HealthCheckEndpoint extends GetEndpoint {
8
8
  uptime: number;
9
9
  environment: string;
10
10
  };
11
- response: ObjectSanitizer;
11
+ response: ObjectValSan;
12
12
  handle(): Promise<{
13
13
  status: string;
14
14
  timestamp: string;
@@ -11,11 +11,13 @@ class HealthCheckEndpoint extends get_endpoint_1.GetEndpoint {
11
11
  uptime: 12345,
12
12
  environment: 'development',
13
13
  };
14
- response = new valsan_1.ObjectSanitizer({
15
- status: new valsan_1.MinLengthValidator(),
16
- timestamp: new valsan_1.Iso8601TimestampValSan(),
17
- uptime: new valsan_1.StringToNumberValSan(),
18
- environment: new valsan_1.MinLengthValidator(),
14
+ response = new valsan_1.ObjectValSan({
15
+ schema: {
16
+ status: new valsan_1.MinLengthValidator(),
17
+ timestamp: new valsan_1.Iso8601TimestampValSan(),
18
+ uptime: new valsan_1.StringToNumberValSan(),
19
+ environment: new valsan_1.MinLengthValidator(),
20
+ },
19
21
  });
20
22
  async handle() {
21
23
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"health-check-endpoint.js","sourceRoot":"","sources":["../../../../src/router/endpoints/health-check-endpoint.ts"],"names":[],"mappings":";;;AAAA,mCAKgB;AAChB,iDAA6C;AAE7C,MAAa,mBAAoB,SAAQ,0BAAW;IAC1C,IAAI,GAAG,SAAS,CAAC;IAEjB,eAAe,GAAG;QAC1B,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,aAAa;KAC1B,CAAC;IAEO,QAAQ,GAAG,IAAI,wBAAe,CAAC;QACvC,MAAM,EAAE,IAAI,2BAAkB,EAAE;QAChC,SAAS,EAAE,IAAI,+BAAsB,EAAE;QACvC,MAAM,EAAE,IAAI,6BAAoB,EAAE;QAClC,WAAW,EAAE,IAAI,2BAAkB,EAAE;KACrC,CAAC,CAAC;IAEH,KAAK,CAAC,MAAM;QACX,OAAO;YACN,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE;YAC9B,SAAS,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE;YACpC,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE;YAC9B,WAAW,EAAE,MAAM,IAAI,CAAC,cAAc,EAAE;SACxC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,SAAS;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,YAAY;QACxB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,SAAS;QACrB,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,cAAc;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,aAAa,CAAC;IACjD,CAAC;CACD;AAzCD,kDAyCC"}
1
+ {"version":3,"file":"health-check-endpoint.js","sourceRoot":"","sources":["../../../../src/router/endpoints/health-check-endpoint.ts"],"names":[],"mappings":";;;AAAA,mCAKgB;AAChB,iDAA6C;AAE7C,MAAa,mBAAoB,SAAQ,0BAAW;IAC1C,IAAI,GAAG,SAAS,CAAC;IAEjB,eAAe,GAAG;QAC1B,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,aAAa;KAC1B,CAAC;IAEO,QAAQ,GAAG,IAAI,qBAAY,CAAC;QACpC,MAAM,EAAE;YACP,MAAM,EAAE,IAAI,2BAAkB,EAAE;YAChC,SAAS,EAAE,IAAI,+BAAsB,EAAE;YACvC,MAAM,EAAE,IAAI,6BAAoB,EAAE;YAClC,WAAW,EAAE,IAAI,2BAAkB,EAAE;SACrC;KACD,CAAC,CAAC;IAEH,KAAK,CAAC,MAAM;QACX,OAAO;YACN,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE;YAC9B,SAAS,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE;YACpC,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE;YAC9B,WAAW,EAAE,MAAM,IAAI,CAAC,cAAc,EAAE;SACxC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,SAAS;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,YAAY;QACxB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,SAAS;QACrB,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,cAAc;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,aAAa,CAAC;IACjD,CAAC;CACD;AA3CD,kDA2CC"}
@@ -1,13 +1,13 @@
1
1
  import { ArrayValSan, ObjectSanitizer, ObjectValSan } from 'valsan';
2
2
  import { ApiRequest, BaseApiEndpoint } from './endpoint';
3
3
  /**
4
- * Runs a valsan ObjectSanitizer on a value,
4
+ * Runs a valsan ObjectValSan on a value,
5
5
  * throws with error details if validation fails.
6
6
  */
7
7
  export declare function runSanitizer(sanitizer: ObjectSanitizer | ObjectValSan | ArrayValSan, value: any): Promise<Record<string, unknown> | unknown[] | undefined>;
8
8
  /**
9
9
  * Validates and sanitizes request parts
10
10
  * (body, query, params, headers) if the
11
- * endpoint defines a ObjectSanitizers
11
+ * endpoint defines an ObjectValSan
12
12
  */
13
13
  export declare function validateRequest(endpoint: BaseApiEndpoint, request: ApiRequest): Promise<void>;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateRequest = exports.runSanitizer = void 0;
4
4
  const error_1 = require("../error");
5
5
  /**
6
- * Runs a valsan ObjectSanitizer on a value,
6
+ * Runs a valsan ObjectValSan on a value,
7
7
  * throws with error details if validation fails.
8
8
  */
9
9
  async function runSanitizer(sanitizer,
@@ -21,7 +21,7 @@ exports.runSanitizer = runSanitizer;
21
21
  /**
22
22
  * Validates and sanitizes request parts
23
23
  * (body, query, params, headers) if the
24
- * endpoint defines a ObjectSanitizers
24
+ * endpoint defines an ObjectValSan
25
25
  */
26
26
  async function validateRequest(endpoint, request) {
27
27
  for (const part of ['body', 'query', 'params', 'headers']) {