@hg-ts/validation 0.1.57 → 0.1.58

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
@@ -6,4 +6,5 @@ export type ZodDto<TOutput = any> = {
6
6
  create(input: unknown): TOutput;
7
7
  };
8
8
  export declare function createZodDto<TOutput = any>(schema: ZodSchema<TOutput, ZodTypeDef, unknown>): ZodDto<TOutput>;
9
+ export declare function isZodDto(value: unknown): value is ZodDto;
9
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,SAAS,EACT,UAAU,EACV,MAAM,KAAK,CAAC;AAEb,MAAM,MAAM,MAAM,CAAC,OAAO,GAAG,GAAG,IAAI;IACnC,QAAQ,OAAO,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;CAChC,CAAA;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAG,GAAG,EACzC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,GAC7C,MAAM,CAAC,OAAO,CAAC,CAWjB"}
1
+ {"version":3,"file":"dto.d.ts","sourceRoot":"","sources":["../src/dto.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,EACT,UAAU,EACV,MAAM,KAAK,CAAC;AAEb,MAAM,MAAM,MAAM,CAAC,OAAO,GAAG,GAAG,IAAI;IACnC,QAAQ,OAAO,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;CAChC,CAAA;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAG,GAAG,EACzC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,GAC7C,MAAM,CAAC,OAAO,CAAC,CAWjB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAMxD"}
package/dist/dto.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createZodDto = createZodDto;
4
+ exports.isZodDto = isZodDto;
4
5
  function createZodDto(schema) {
5
6
  class AugmentedZodDto {
6
7
  static isZodDto = true;
@@ -11,4 +12,10 @@ function createZodDto(schema) {
11
12
  }
12
13
  return AugmentedZodDto;
13
14
  }
15
+ function isZodDto(value) {
16
+ if (!value || typeof value !== 'function') {
17
+ return false;
18
+ }
19
+ return 'isZodDto' in value && value.isZodDto === true;
20
+ }
14
21
  //# sourceMappingURL=dto.js.map
package/dist/dto.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dto.js","sourceRoot":"","sources":["../src/dto.ts"],"names":[],"mappings":";;AAYA,oCAaC;AAbD,SAAgB,YAAY,CAC3B,MAA+C;IAE/C,MAAM,eAAe;QACb,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QAEvB,MAAM,CAAC,MAAM,CAAC,KAAc;YAClC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAoB,CAAC;QACpD,CAAC;;IAGF,OAAO,eAA6C,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"dto.js","sourceRoot":"","sources":["../src/dto.ts"],"names":[],"mappings":";;AAYA,oCAaC;AAED,4BAMC;AArBD,SAAgB,YAAY,CAC3B,MAA+C;IAE/C,MAAe,eAAe;QACtB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QAEvB,MAAM,CAAC,MAAM,CAAC,KAAc;YAClC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAoB,CAAC;QACpD,CAAC;;IAGF,OAAO,eAA6C,CAAC;AACtD,CAAC;AAED,SAAgB,QAAQ,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC;AACvD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ZodEffects, ZodTypeDef, infer as ZodInfer, input as ZodInput, ZodPipeline, ZodBoolean } from 'zod';
1
+ import { infer as ZodInfer, input as ZodInput, ZodBoolean, ZodEffects, ZodPipeline, ZodTypeDef } from 'zod';
2
2
  import { ZodDto } from './dto';
3
3
  declare module 'zod' {
4
4
  interface ZodSchema<Output = any, Def extends ZodTypeDef = ZodTypeDef, Input = Output> {
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"AAAA,OAAY,EACX,UAAU,EAEV,UAAU,EACV,KAAK,IAAI,QAAQ,EACjB,KAAK,IAAI,QAAQ,EACjB,WAAW,EACX,UAAU,EACV,MAAM,KAAK,CAAC;AACb,OAAO,EAEN,MAAM,EACN,MAAM,OAAO,CAAC;AAEf,OAAO,QAAQ,KAAK,CAAC;IAEpB,UAAU,SAAS,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,SAAS,UAAU,GAAG,UAAU,EAAE,KAAK,GAAG,MAAM;QACpF,UAAU,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAChH,sBAAsB,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAC7D,IAAI,EAAE,CAAC,GACL,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAChE,OAAO,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/E;CACD"}
1
+ {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"AAAA,OAAY,EACX,KAAK,IAAI,QAAQ,EACjB,KAAK,IAAI,QAAQ,EACjB,UAAU,EACV,UAAU,EACV,WAAW,EAEX,UAAU,EACV,MAAM,KAAK,CAAC;AAEb,OAAO,EAEN,MAAM,EACN,MAAM,OAAO,CAAC;AAGf,OAAO,QAAQ,KAAK,CAAC;IAEpB,UAAU,SAAS,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,SAAS,UAAU,GAAG,UAAU,EAAE,KAAK,GAAG,MAAM;QACpF,UAAU,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAChH,sBAAsB,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAC7D,IAAI,EAAE,CAAC,GACL,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAChE,OAAO,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/E;CACD"}
@@ -3,9 +3,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const zod_1 = tslib_1.__importDefault(require("zod"));
5
5
  const dto_1 = require("./dto");
6
+ const validation_exception_1 = require("./validation.exception");
6
7
  zod_1.default.Schema.prototype.enforceEnv = function (name) {
7
8
  return this.transform(value => process.env[name] ?? value);
8
9
  };
10
+ zod_1.default.Schema.prototype.parse = function (value) {
11
+ const { success, error, data } = this.safeParse(value);
12
+ if (success) {
13
+ return data;
14
+ }
15
+ throw new validation_exception_1.ValidationException(error);
16
+ };
17
+ zod_1.default.Schema.prototype.parseAsync = async function (value) {
18
+ const { success, error, data } = await this.safeParseAsync(value);
19
+ if (success) {
20
+ return data;
21
+ }
22
+ throw new validation_exception_1.ValidationException(error);
23
+ };
9
24
  zod_1.default.Schema.prototype.transformBooleanString = function () {
10
25
  return this
11
26
  .transform(value => (typeof value === 'boolean' ? value : value === 'true'))
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":";;;AAAA,sDAQa;AACb,+BAGe;AAaf,aAAG,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,UAEjC,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,aAAG,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,GAAG;IAG7C,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,aAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,aAAG,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG;IAG9B,OAAO,IAAA,kBAAY,EAAc,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC"}
1
+ {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":";;;AAAA,sDAQa;AAEb,+BAGe;AACf,iEAA6D;AAa7D,aAAG,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,UAEjC,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,aAAG,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,UAM5B,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,0CAAmB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,aAAG,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,WAMtC,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,0CAAmB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC,CAAC;AAGF,aAAG,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,GAAG;IAG7C,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,aAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,aAAG,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG;IAG9B,OAAO,IAAA,kBAAY,EAAc,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import './extensions';
2
- export * from 'zod';
3
2
  import zod from 'zod';
3
+ export * from 'zod';
4
+ export { isZodDto, ZodDto } from './dto';
5
+ export * from './validation.exception';
4
6
  export default zod;
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AACtB,cAAc,KAAK,CAAC;AACpB,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AACtB,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,cAAc,KAAK,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACzC,cAAc,wBAAwB,CAAC;AAEvC,eAAe,GAAG,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isZodDto = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  require("./extensions");
5
- tslib_1.__exportStar(require("zod"), exports);
6
6
  const zod_1 = tslib_1.__importDefault(require("zod"));
7
+ tslib_1.__exportStar(require("zod"), exports);
8
+ var dto_1 = require("./dto");
9
+ Object.defineProperty(exports, "isZodDto", { enumerable: true, get: function () { return dto_1.isZodDto; } });
10
+ tslib_1.__exportStar(require("./validation.exception"), exports);
7
11
  exports.default = zod_1.default;
8
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,wBAAsB;AACtB,8CAAoB;AACpB,sDAAsB;AAEtB,kBAAe,aAAG,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,wBAAsB;AACtB,sDAAsB;AAEtB,8CAAoB;AACpB,6BAAyC;AAAhC,+FAAA,QAAQ,OAAA;AACjB,iEAAuC;AAEvC,kBAAe,aAAG,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { BaseException, JSONBaseException } from '@hg-ts/exception';
2
+ import { ZodError, ZodIssue } from 'zod';
3
+ export type JSONValidationException = JSONBaseException & {
4
+ issues: ZodIssue[];
5
+ };
6
+ export declare class ValidationException extends BaseException {
7
+ private readonly issues;
8
+ constructor(originalError: ZodError);
9
+ toJSON(): JSONValidationException;
10
+ }
11
+ //# sourceMappingURL=validation.exception.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ValidationException = void 0;
4
+ const exception_1 = require("@hg-ts/exception");
5
+ class ValidationException extends exception_1.BaseException {
6
+ issues;
7
+ constructor(originalError) {
8
+ super('Validation failed');
9
+ this.issues = originalError.issues;
10
+ }
11
+ toJSON() {
12
+ return {
13
+ ...super.toJSON(),
14
+ issues: this.issues.map(item => ({ ...item })),
15
+ };
16
+ }
17
+ }
18
+ exports.ValidationException = ValidationException;
19
+ //# sourceMappingURL=validation.exception.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.exception.js","sourceRoot":"","sources":["../src/validation.exception.ts"],"names":[],"mappings":";;;AAAA,gDAG0B;AAW1B,MAAa,mBAAoB,SAAQ,yBAAa;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;AAfD,kDAeC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hg-ts/validation",
3
- "version": "0.1.57",
3
+ "version": "0.1.58",
4
4
  "main": "dist/index.js",
5
5
  "exports": {
6
6
  ".": "./dist/index.js"
@@ -16,9 +16,10 @@
16
16
  "test:dev": "yarn build:dev --onSuccess \"yarn test\""
17
17
  },
18
18
  "devDependencies": {
19
- "@hg-ts-config/typescript": "0.1.57",
20
- "@hg-ts/linter": "0.1.57",
21
- "@hg-ts/types": "0.1.57",
19
+ "@hg-ts-config/typescript": "0.1.58",
20
+ "@hg-ts/exception": "0.1.58",
21
+ "@hg-ts/linter": "0.1.58",
22
+ "@hg-ts/types": "0.1.58",
22
23
  "@types/node": "22.10.6",
23
24
  "eslint": "9.18.0",
24
25
  "reflect-metadata": "0.2.2",
@@ -27,10 +28,12 @@
27
28
  "typescript": "5.7.3"
28
29
  },
29
30
  "peerDependencies": {
31
+ "@hg-ts/exception": "0.1.58",
30
32
  "reflect-metadata": "*",
31
33
  "tslib": "*"
32
34
  },
33
35
  "dependencies": {
34
- "zod": "3.24.1"
36
+ "zod": "3.24.1",
37
+ "zod-openapi": "4.2.4"
35
38
  }
36
39
  }