@hg-ts/validation 0.5.35 → 0.5.37

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/dto.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import { infer as ZodInfer, ZodSchema, ZodType } from 'zod';
1
+ import { infer as ZodInfer, ZodObject, ZodSchema } from 'zod';
2
2
  export type ZodDto<TOutput = any, TInput = TOutput> = {
3
3
  new (): TOutput;
4
4
  isZodDto: true;
5
5
  schema: ZodSchema<TOutput, TInput>;
6
6
  create(input: unknown): TOutput;
7
7
  };
8
- export declare function createZodDto<T extends ZodType>(schema: T): ZodDto<ZodInfer<T>>;
8
+ export declare function createZodDto<T extends ZodObject>(schema: T): ZodDto<ZodInfer<T>>;
9
9
  export declare function isZodDto(value: unknown): value is ZodDto;
10
10
  //# sourceMappingURL=dto.d.ts.map
package/dist/dto.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dto.d.ts","sourceRoot":"","sources":["../src/dto.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,IAAI,QAAQ,EACjB,SAAS,EACT,OAAO,EACP,MAAM,KAAK,CAAC;AAEb,MAAM,MAAM,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,MAAM,GAAG,OAAO,IAAI;IACrD,QAAQ,OAAO,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;CAChC,CAAA;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,OAAO,EAC7C,MAAM,EAAE,CAAC,GACP,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAWrB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAMxD"}
1
+ {"version":3,"file":"dto.d.ts","sourceRoot":"","sources":["../src/dto.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,IAAI,QAAQ,EACjB,SAAS,EACT,SAAS,EACT,MAAM,KAAK,CAAC;AAEb,MAAM,MAAM,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,MAAM,GAAG,OAAO,IAAI;IACrD,QAAQ,OAAO,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;CAChC,CAAA;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAC/C,MAAM,EAAE,CAAC,GACP,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAWrB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAMxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"AAAA,OAAY,EACX,IAAI,EACJ,KAAK,IAAI,QAAQ,EACjB,UAAU,EACV,OAAO,EACP,YAAY,EAEZ,MAAM,KAAK,CAAC;AACb,OAAO,aAAa,CAAC;AAErB,OAAO,EAEN,MAAM,EACN,MAAM,UAAU,CAAC;AAGlB,OAAO,QAAQ,KAAK,CAAC;IAEpB,UAAU,OAAO,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;QAClD,UAAU,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAC1C,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3D,sBAAsB,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EACtD,IAAI,EAAE,CAAC,GACL,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC1E,OAAO,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC;KAC9B;CACD"}
1
+ {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"AAAA,OAAY,EACX,IAAI,EACJ,KAAK,IAAI,QAAQ,EACjB,UAAU,EAEV,OAAO,EACP,YAAY,EAEZ,MAAM,KAAK,CAAC;AACb,OAAO,aAAa,CAAC;AAErB,OAAO,EAEN,MAAM,EACN,MAAM,UAAU,CAAC;AAGlB,OAAO,QAAQ,KAAK,CAAC;IAEpB,UAAU,OAAO,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;QAClD,UAAU,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAC1C,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3D,sBAAsB,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EACtD,IAAI,EAAE,CAAC,GACL,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC1E,OAAO,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC;KAC9B;CACD"}
@@ -24,7 +24,7 @@ zod.ZodType.prototype.transformBooleanString = function () {
24
24
  .transform(value => (typeof value === 'boolean' ? value : value === 'true'))
25
25
  .pipe(zod.boolean());
26
26
  };
27
- zod.ZodType.prototype.toClass = function () {
27
+ zod.ZodObject.prototype.toClass = function () {
28
28
  return createZodDto(this);
29
29
  };
30
30
  //# sourceMappingURL=extensions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,GAON,MAAM,KAAK,CAAC;AACb,OAAO,aAAa,CAAC;AAErB,OAAO,EACN,YAAY,GAEZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAkBhE,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,UAElC,IAAY;IAEZ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,UAM7B,KAAc;IAEd,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAEvD,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,WAMvC,KAAc;IAEd,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAElE,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC,CAAC;AAGF,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,sBAAsB,GAAG;IAG9C,OAAO,IAAI;SACT,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;SAC3E,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,GAAG;IAG/B,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC,CAAC"}
1
+ {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,GAQN,MAAM,KAAK,CAAC;AACb,OAAO,aAAa,CAAC;AAErB,OAAO,EACN,YAAY,GAEZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAkBhE,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,UAElC,IAAY;IAEZ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,UAM7B,KAAc;IAEd,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAEvD,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,WAMvC,KAAc;IAEd,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAElE,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC,CAAC;AAGF,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,sBAAsB,GAAG;IAG9C,OAAO,IAAI;SACT,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;SAC3E,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG;IAGjC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC,CAAC"}
package/dist/schemas.d.ts CHANGED
@@ -5,6 +5,13 @@ export declare const baseExceptionSchema: z.ZodObject<{
5
5
  message: z.ZodString;
6
6
  stack: z.ZodArray<z.ZodString>;
7
7
  }, z.core.$strip>;
8
+ export declare const baseValidationExceptionSchema: z.ZodObject<{
9
+ name: z.ZodString;
10
+ code: z.ZodNullable<z.ZodNumber>;
11
+ message: z.ZodString;
12
+ stack: z.ZodArray<z.ZodString>;
13
+ issues: z.ZodArray<z.ZodAny>;
14
+ }, z.core.$strip>;
8
15
  export declare const bufferSchema: z.ZodCustom<Buffer<ArrayBufferLike>, Buffer<ArrayBufferLike>>;
9
16
  export declare const uuidSchema: z.ZodUUID;
10
17
  //# sourceMappingURL=schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;iBAK9B,CAAC;AAEH,eAAO,MAAM,YAAY,+DAKtB,CAAC;AAEJ,eAAO,MAAM,UAAU,WAAa,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,mBAAmB;;;;;iBAK2B,CAAC;AAE5D,eAAO,MAAM,6BAA6B;;;;;;iBAMuB,CAAC;AAElE,eAAO,MAAM,YAAY,+DAKtB,CAAC;AAEJ,eAAO,MAAM,UAAU,WAAa,CAAC"}
package/dist/schemas.js CHANGED
@@ -5,6 +5,13 @@ export const baseExceptionSchema = z.object({
5
5
  message: z.string(),
6
6
  stack: z.array(z.string()),
7
7
  });
8
+ export const baseValidationExceptionSchema = z.object({
9
+ name: z.string(),
10
+ code: z.number().nullable(),
11
+ message: z.string(),
12
+ stack: z.array(z.string()),
13
+ issues: z.array(z.any()),
14
+ });
8
15
  export const bufferSchema = z
9
16
  .instanceof(Buffer)
10
17
  .meta({
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC3B,UAAU,CAAC,MAAM,CAAC;KAClB,IAAI,CAAC;IACL,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,QAAQ;CAChB,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC1B,CAA0D,CAAC;AAE5D,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;CACxB,CAAgE,CAAC;AAElE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC3B,UAAU,CAAC,MAAM,CAAC;KAClB,IAAI,CAAC;IACL,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,QAAQ;CAChB,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import { BaseException, JSONBaseException } from '@hg-ts/exception';
2
- import { ZodError, ZodIssue } from 'zod';
2
+ import zod, { ZodError } from 'zod';
3
3
  export type JSONValidationException = JSONBaseException & {
4
- issues: ZodIssue[];
4
+ issues: zod.core.$ZodIssue[];
5
5
  };
6
6
  export declare class ValidationException extends BaseException {
7
7
  private readonly issues;
8
8
  constructor(originalError: ZodError);
9
9
  toJSON(): JSONValidationException;
10
+ static canBeParsed(error: unknown): error is ZodError;
10
11
  }
11
12
  //# sourceMappingURL=validation.exception.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.exception.d.ts","sourceRoot":"","sources":["../src/validation.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,iBAAiB,EACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,QAAQ,EACR,QAAQ,EACR,MAAM,KAAK,CAAC;AAEb,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,GAAG;IACzD,MAAM,EAAE,QAAQ,EAAE,CAAC;CACnB,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,aAAa;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;gBAEjB,aAAa,EAAE,QAAQ;IAM1B,MAAM,IAAI,uBAAuB;CAMjD"}
1
+ {"version":3,"file":"validation.exception.d.ts","sourceRoot":"","sources":["../src/validation.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,iBAAiB,EACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,GAAG;IACzD,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;CAC7B,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,aAAa;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;gBAE3B,aAAa,EAAE,QAAQ;IAM1B,MAAM,IAAI,uBAAuB;WAOnC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ;CAG5D"}
@@ -1,4 +1,5 @@
1
1
  import { BaseException, } from '@hg-ts/exception';
2
+ import { ZodError } from 'zod';
2
3
  export class ValidationException extends BaseException {
3
4
  issues;
4
5
  constructor(originalError) {
@@ -11,5 +12,8 @@ export class ValidationException extends BaseException {
11
12
  issues: this.issues.map(item => ({ ...item })),
12
13
  };
13
14
  }
15
+ static canBeParsed(error) {
16
+ return error instanceof ZodError;
17
+ }
14
18
  }
15
19
  //# sourceMappingURL=validation.exception.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.exception.js","sourceRoot":"","sources":["../src/validation.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,GAEb,MAAM,kBAAkB,CAAC;AAW1B,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IACpC,MAAM,CAAa;IAEpC,YAAmB,aAAuB;QACzC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE3B,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;IACpC,CAAC;IAEe,MAAM;QACrB,OAAO;YACN,GAAG,KAAK,CAAC,MAAM,EAAE;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;SAC9C,CAAC;IACH,CAAC;CACD"}
1
+ {"version":3,"file":"validation.exception.js","sourceRoot":"","sources":["../src/validation.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,GAEb,MAAM,kBAAkB,CAAC;AAE1B,OAAY,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAMpC,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IACpC,MAAM,CAAuB;IAE9C,YAAmB,aAAuB;QACzC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE3B,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;IACpC,CAAC;IAEe,MAAM;QACrB,OAAO;YACN,GAAG,KAAK,CAAC,MAAM,EAAE;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;SAC9C,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,KAAc;QACvC,OAAO,KAAK,YAAY,QAAQ,CAAC;IAClC,CAAC;CACD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hg-ts/validation",
3
- "version": "0.5.35",
3
+ "version": "0.5.37",
4
4
  "main": "dist/index.js",
5
5
  "type": "module",
6
6
  "exports": {
@@ -16,10 +16,10 @@
16
16
  "lint:ts:fix": "lint-ts --fix"
17
17
  },
18
18
  "devDependencies": {
19
- "@hg-ts-config/typescript": "0.5.35",
20
- "@hg-ts/exception": "0.5.35",
21
- "@hg-ts/linter": "0.5.35",
22
- "@hg-ts/types": "0.5.35",
19
+ "@hg-ts-config/typescript": "0.5.37",
20
+ "@hg-ts/exception": "0.5.37",
21
+ "@hg-ts/linter": "0.5.37",
22
+ "@hg-ts/types": "0.5.37",
23
23
  "@types/node": "22.19.1",
24
24
  "eslint": "9.18.0",
25
25
  "reflect-metadata": "0.2.2",
@@ -28,7 +28,7 @@
28
28
  "typescript": "5.7.3"
29
29
  },
30
30
  "peerDependencies": {
31
- "@hg-ts/exception": "0.5.35",
31
+ "@hg-ts/exception": "0.5.37",
32
32
  "reflect-metadata": "*",
33
33
  "tslib": "*"
34
34
  },
package/src/dto.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  infer as ZodInfer,
3
+ ZodObject,
3
4
  ZodSchema,
4
- ZodType,
5
5
  } from 'zod';
6
6
 
7
7
  export type ZodDto<TOutput = any, TInput = TOutput> = {
@@ -11,7 +11,7 @@ export type ZodDto<TOutput = any, TInput = TOutput> = {
11
11
  create(input: unknown): TOutput;
12
12
  }
13
13
 
14
- export function createZodDto<T extends ZodType>(
14
+ export function createZodDto<T extends ZodObject>(
15
15
  schema: T,
16
16
  ): ZodDto<ZodInfer<T>> {
17
17
  abstract class AugmentedZodDto {
package/src/extensions.ts CHANGED
@@ -2,6 +2,7 @@ import zod, {
2
2
  core,
3
3
  infer as ZodInfer,
4
4
  ZodBoolean,
5
+ ZodObject,
5
6
  ZodPipe,
6
7
  ZodTransform,
7
8
  ZodType,
@@ -80,7 +81,7 @@ zod.ZodType.prototype.transformBooleanString = function<T extends ZodType>(
80
81
  .pipe(zod.boolean());
81
82
  };
82
83
 
83
- zod.ZodType.prototype.toClass = function<T extends ZodType>(
84
+ zod.ZodObject.prototype.toClass = function<T extends ZodObject>(
84
85
  this: T,
85
86
  ): ZodDto<ZodInfer<T>> {
86
87
  return createZodDto(this);
package/src/schemas.ts CHANGED
@@ -1,11 +1,21 @@
1
+ import { BaseException } from '@hg-ts/exception';
1
2
  import { z } from 'zod';
3
+ import { ValidationException } from './validation.exception.js';
2
4
 
3
5
  export const baseExceptionSchema = z.object({
4
6
  name: z.string(),
5
7
  code: z.number().nullable(),
6
8
  message: z.string(),
7
9
  stack: z.array(z.string()),
8
- });
10
+ }) satisfies z.ZodType<ReturnType<BaseException['toJSON']>>;
11
+
12
+ export const baseValidationExceptionSchema = z.object({
13
+ name: z.string(),
14
+ code: z.number().nullable(),
15
+ message: z.string(),
16
+ stack: z.array(z.string()),
17
+ issues: z.array(z.any()),
18
+ }) satisfies z.ZodType<ReturnType<ValidationException['toJSON']>>;
9
19
 
10
20
  export const bufferSchema = z
11
21
  .instanceof(Buffer)
@@ -3,17 +3,14 @@ import {
3
3
  JSONBaseException,
4
4
  } from '@hg-ts/exception';
5
5
 
6
- import {
7
- ZodError,
8
- ZodIssue,
9
- } from 'zod';
6
+ import zod, { ZodError } from 'zod';
10
7
 
11
8
  export type JSONValidationException = JSONBaseException & {
12
- issues: ZodIssue[];
9
+ issues: zod.core.$ZodIssue[];
13
10
  };
14
11
 
15
12
  export class ValidationException extends BaseException {
16
- private readonly issues: ZodIssue[];
13
+ private readonly issues: zod.core.$ZodIssue[];
17
14
 
18
15
  public constructor(originalError: ZodError) {
19
16
  super('Validation failed');
@@ -27,4 +24,8 @@ export class ValidationException extends BaseException {
27
24
  issues: this.issues.map(item => ({ ...item })),
28
25
  };
29
26
  }
27
+
28
+ public static canBeParsed(error: unknown): error is ZodError {
29
+ return error instanceof ZodError;
30
+ }
30
31
  }