@nestia/core 3.15.0 → 3.16.0-dev.20240926

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.
@@ -115,5 +115,9 @@ export declare namespace TypedRoute {
115
115
  * Validation error informations with detailed reasons.
116
116
  */
117
117
  errors: IValidation.IError[];
118
+ /**
119
+ * Data that is not following the promised type `T`.
120
+ */
121
+ data: unknown;
118
122
  }
119
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TypedRoute.js","sourceRoot":"","sources":["../../src/decorators/TypedRoute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypedRoute.js","sourceRoot":"","sources":["../../src/decorators/TypedRoute.ts"],"names":[],"mappings":"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"}
@@ -38,8 +38,7 @@ const take = (logger) => (method) => (functor) => {
38
38
  return is(functor.is);
39
39
  else if (functor.type === "validate")
40
40
  return validate(functor.validate);
41
- else if (functor.type === "validate.log" ||
42
- functor.type === "validateEquals.log")
41
+ else if (functor.type === "validate.log")
43
42
  return validateLog(logger)(functor.validate);
44
43
  throw new Error(`Error on nestia.core.${method}(): invalid typed stringify function.`);
45
44
  };
@@ -85,11 +84,14 @@ const validate = (closure) => (data, _method, _path) => {
85
84
  };
86
85
  const validateLog = (logger) => (closure) => (data, method, path) => {
87
86
  const result = closure(data);
87
+ if (result.success === true)
88
+ return result.data;
88
89
  if (result.success === false)
89
90
  logger()({
90
91
  errors: result.errors,
91
92
  method,
92
93
  path,
94
+ data,
93
95
  });
94
96
  return JSON.stringify(data);
95
97
  };
@@ -1 +1 @@
1
- {"version":3,"file":"get_path_and_stringify.js","sourceRoot":"","sources":["../../../src/decorators/internal/get_path_and_stringify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get_path_and_stringify.js","sourceRoot":"","sources":["../../../src/decorators/internal/get_path_and_stringify.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA8D;AAC9D,kDAA2D;AAG3D,oFAAiF;AAGjF;;GAEG;AACI,MAAM,sBAAsB,GACjC,CAAC,MAAyD,EAAE,EAAE,CAC9D,CAAC,MAAc,EAAE,EAAE,CACnB,CACE,GAAG,IAAW,EAId,EAAE;IACF,MAAM,IAAI,GACR,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;QACrB,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QAC3B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACT,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,OAAO,GACX,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC;AAlBS,QAAA,sBAAsB,0BAkB/B;AAEJ;;GAEG;AACH,MAAM,IAAI,GACR,CAAC,MAAyD,EAAE,EAAE,CAC9D,CAAC,MAAc,EAAE,EAAE,CACnB,CAAI,OAA4C,EAAE,EAAE;IAClD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAA,6DAA6B,EAAC,MAAM,CAAC,CAAC;QACtC,OAAO,CAAC,KAAQ,EAAE,OAAe,EAAE,KAAa,EAAE,EAAE,CAClD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;SAAM,IAAI,OAAO,KAAK,IAAI;QACzB,OAAO,CAAC,KAAQ,EAAE,OAAe,EAAE,KAAa,EAAE,EAAE,CAClD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACrB,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,OAAO,CAAC,SAAS,CAAC;SAC3D,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC7D,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACjD,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACnE,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc;QACtC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,IAAI,KAAK,CACb,wBAAwB,MAAM,uCAAuC,CACtE,CAAC;AACJ,CAAC,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,GACV,CAAI,OAA4B,EAAE,EAAE,CACpC,CAAC,IAAO,EAAU,EAAE;IAClB,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,qZAA6B,GAAG;YAC9B,MAAM,IAAI,qCAA4B,CAAC;gBACrC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,OAAO;gBACnB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;QACL,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEJ;;GAEG;AACH,MAAM,EAAE,GACN,CAAI,OAAmC,EAAE,EAAE,CAC3C,CAAC,IAAO,EAAE,OAAe,EAAE,KAAa,EAAE,EAAE;IAC1C,MAAM,MAAM,GAAkB,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,MAAM,KAAK,IAAI;QAAE,MAAM,IAAI,qCAA4B,CAAC,OAAO,CAAC,CAAC;IACrE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEJ;;GAEG;AACH,MAAM,QAAQ,GACZ,CAAI,OAAyC,EAAE,EAAE,CACjD,CAAC,IAAO,EAAE,OAAe,EAAE,KAAa,EAAU,EAAE;IAClD,MAAM,MAAM,GAAwB,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAC1B,MAAM,IAAI,qCAA4B,CAAC;YACrC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;IACL,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC,CAAC;AAEJ,MAAM,WAAW,GACf,CAAC,MAAyD,EAAE,EAAE,CAC9D,CAAI,OAAsC,EAAE,EAAE,CAC9C,CAAC,IAAO,EAAE,MAAc,EAAE,IAAY,EAAU,EAAE;IAChD,MAAM,MAAM,GAAwB,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IAChD,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAC1B,MAAM,EAAE,CAAC;YACP,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM;YACN,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;IACL,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEJ;;GAEG;AACH,MAAM,OAAO,GAAG,wDAAwD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export interface INestiaTransformOptions {
2
2
  validate?: "assert" | "is" | "validate" | "assertEquals" | "equals" | "validateEquals" | "assertClone" | "validateClone" | "assertPrune" | "validatePrune";
3
- stringify?: "stringify" | "assert" | "is" | "validate" | "validate.log" | "validateEquals.log" | null;
3
+ stringify?: "stringify" | "assert" | "is" | "validate" | "validate.log" | null;
4
4
  throws?: boolean;
5
5
  }
@@ -18,7 +18,7 @@ export declare namespace IResponseBodyStringifier {
18
18
  validate: (input: T) => IValidation<string>;
19
19
  }
20
20
  interface IValidateLog<T> {
21
- type: "validate.log" | "validateEquals.log";
22
- validate: (input: T) => IValidation<T>;
21
+ type: "validate.log";
22
+ validate: (input: T) => IValidation<string>;
23
23
  }
24
24
  }
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.TypedRouteProgrammer = void 0;
7
7
  const typescript_1 = __importDefault(require("typescript"));
8
- const ValidateProgrammer_1 = require("typia/lib/programmers/ValidateProgrammer");
9
8
  const JsonAssertStringifyProgrammer_1 = require("typia/lib/programmers/json/JsonAssertStringifyProgrammer");
10
9
  const JsonIsStringifyProgrammer_1 = require("typia/lib/programmers/json/JsonIsStringifyProgrammer");
11
10
  const JsonStringifyProgrammer_1 = require("typia/lib/programmers/json/JsonStringifyProgrammer");
@@ -41,13 +40,7 @@ var TypedRouteProgrammer;
41
40
  return parameter({
42
41
  type: "validate.log",
43
42
  key: "validate",
44
- programmer: (project) => (modulo) => ValidateProgrammer_1.ValidateProgrammer.write(project)(modulo)(false),
45
- });
46
- else if (project.options.stringify === "validateEquals.log")
47
- return parameter({
48
- type: "validateEquals.log",
49
- key: "validate",
50
- programmer: (project) => (modulo) => ValidateProgrammer_1.ValidateProgrammer.write(project)(modulo)(true),
43
+ programmer: JsonValidateStringifyProgrammer_1.JsonValidateStringifyProgrammer.write,
51
44
  });
52
45
  else if (project.options.stringify === null)
53
46
  return typescript_1.default.factory.createNull();
@@ -1 +1 @@
1
- {"version":3,"file":"TypedRouteProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedRouteProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAC5B,iFAA8E;AAC9E,4GAAyG;AACzG,oGAAiG;AACjG,gGAA6F;AAC7F,gHAA6G;AAK7G,IAAiB,oBAAoB,CAwEpC;AAxED,WAAiB,oBAAoB;IACtB,6BAAQ,GACnB,CAAC,OAAgC,EAAE,EAAE,CACrC,CAAC,MAAiC,EAAE,EAAE,CACtC,CAAC,IAAa,EAAiB,EAAE;QAC/B,0BAA0B;QAC1B,MAAM,SAAS,GAAG,CAAC,KAQlB,EAAE,EAAE,CACH,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC;YACvC,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACnC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAC3C;YACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,EACtC,KAAK,CAAC,UAAU,iCACX,OAAO,KACV,OAAO,EAAE,EAAE,IACX,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CACjB;SACF,CAAC,CAAC;QAEL,UAAU;QACV,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI;YACpC,OAAO,SAAS,CAAC;gBACf,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE,IAAI;gBACT,UAAU,EAAE,qDAAyB,CAAC,KAAK;aAC5C,CAAC,CAAC;aACA,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,UAAU;YAC/C,OAAO,SAAS,CAAC;gBACf,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,UAAU;gBACf,UAAU,EAAE,iEAA+B,CAAC,KAAK;aAClD,CAAC,CAAC;aACA,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,WAAW;YAChD,OAAO,SAAS,CAAC;gBACf,IAAI,EAAE,WAAW;gBACjB,GAAG,EAAE,WAAW;gBAChB,UAAU,EAAE,iDAAuB,CAAC,KAAK;aAC1C,CAAC,CAAC;aACA,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,cAAc;YACnD,OAAO,SAAS,CAAC;gBACf,IAAI,EAAE,cAAc;gBACpB,GAAG,EAAE,UAAU;gBACf,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAClC,uCAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;aACnD,CAAC,CAAC;aACA,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,oBAAoB;YACzD,OAAO,SAAS,CAAC;gBACf,IAAI,EAAE,oBAAoB;gBAC1B,GAAG,EAAE,UAAU;gBACf,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAClC,uCAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;aAClD,CAAC,CAAC;aACA,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI;YACzC,OAAO,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAEjC,oBAAoB;QACpB,OAAO,SAAS,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,QAAQ;YACb,UAAU,EAAE,6DAA6B,CAAC,KAAK;SAChD,CAAC,CAAC;IACL,CAAC,CAAC;AACN,CAAC,EAxEgB,oBAAoB,oCAApB,oBAAoB,QAwEpC"}
1
+ {"version":3,"file":"TypedRouteProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedRouteProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAC5B,4GAAyG;AACzG,oGAAiG;AACjG,gGAA6F;AAC7F,gHAA6G;AAK7G,IAAiB,oBAAoB,CAgEpC;AAhED,WAAiB,oBAAoB;IACtB,6BAAQ,GACnB,CAAC,OAAgC,EAAE,EAAE,CACrC,CAAC,MAAiC,EAAE,EAAE,CACtC,CAAC,IAAa,EAAiB,EAAE;QAC/B,0BAA0B;QAC1B,MAAM,SAAS,GAAG,CAAC,KAQlB,EAAE,EAAE,CACH,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC;YACvC,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACnC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAC3C;YACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,EACtC,KAAK,CAAC,UAAU,iCACX,OAAO,KACV,OAAO,EAAE,EAAE,IACX,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CACjB;SACF,CAAC,CAAC;QAEL,UAAU;QACV,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI;YACpC,OAAO,SAAS,CAAC;gBACf,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE,IAAI;gBACT,UAAU,EAAE,qDAAyB,CAAC,KAAK;aAC5C,CAAC,CAAC;aACA,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,UAAU;YAC/C,OAAO,SAAS,CAAC;gBACf,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,UAAU;gBACf,UAAU,EAAE,iEAA+B,CAAC,KAAK;aAClD,CAAC,CAAC;aACA,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,WAAW;YAChD,OAAO,SAAS,CAAC;gBACf,IAAI,EAAE,WAAW;gBACjB,GAAG,EAAE,WAAW;gBAChB,UAAU,EAAE,iDAAuB,CAAC,KAAK;aAC1C,CAAC,CAAC;aACA,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,cAAc;YACnD,OAAO,SAAS,CAAC;gBACf,IAAI,EAAE,cAAc;gBACpB,GAAG,EAAE,UAAU;gBACf,UAAU,EAAE,iEAA+B,CAAC,KAAK;aAClD,CAAC,CAAC;aACA,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI;YACzC,OAAO,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAEjC,oBAAoB;QACpB,OAAO,SAAS,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,QAAQ;YACb,UAAU,EAAE,6DAA6B,CAAC,KAAK;SAChD,CAAC,CAAC;IACL,CAAC,CAAC;AACN,CAAC,EAhEgB,oBAAoB,oCAApB,oBAAoB,QAgEpC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/core",
3
- "version": "3.15.0",
3
+ "version": "3.16.0-dev.20240926",
4
4
  "description": "Super-fast validation decorators of NestJS",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -36,7 +36,7 @@
36
36
  },
37
37
  "homepage": "https://nestia.io",
38
38
  "dependencies": {
39
- "@nestia/fetcher": "^3.15.0",
39
+ "@nestia/fetcher": "^3.16.0-dev.20240926",
40
40
  "@nestjs/common": ">=7.0.1",
41
41
  "@nestjs/core": ">=7.0.1",
42
42
  "@samchon/openapi": "^1.1.0",
@@ -53,7 +53,7 @@
53
53
  "ws": "^7.5.3"
54
54
  },
55
55
  "peerDependencies": {
56
- "@nestia/fetcher": ">=3.15.0",
56
+ "@nestia/fetcher": ">=3.16.0-dev.20240926",
57
57
  "@nestjs/common": ">=7.0.1",
58
58
  "@nestjs/core": ">=7.0.1",
59
59
  "reflect-metadata": ">=0.1.12",
@@ -126,6 +126,11 @@ export namespace TypedRoute {
126
126
  * Validation error informations with detailed reasons.
127
127
  */
128
128
  errors: IValidation.IError[];
129
+
130
+ /**
131
+ * Data that is not following the promised type `T`.
132
+ */
133
+ data: unknown;
129
134
  }
130
135
 
131
136
  /**
@@ -46,10 +46,7 @@ const take =
46
46
  else if (functor.type === "assert") return assert(functor.assert);
47
47
  else if (functor.type === "is") return is(functor.is);
48
48
  else if (functor.type === "validate") return validate(functor.validate);
49
- else if (
50
- functor.type === "validate.log" ||
51
- functor.type === "validateEquals.log"
52
- )
49
+ else if (functor.type === "validate.log")
53
50
  return validateLog(logger)(functor.validate);
54
51
  throw new Error(
55
52
  `Error on nestia.core.${method}(): invalid typed stringify function.`,
@@ -107,12 +104,14 @@ const validateLog =
107
104
  (logger: () => (log: TypedRoute.IValidateErrorLog) => void) =>
108
105
  <T>(closure: (data: T) => IValidation<any>) =>
109
106
  (data: T, method: string, path: string): string => {
110
- const result: IValidation<any> = closure(data);
107
+ const result: IValidation<string> = closure(data);
108
+ if (result.success === true) return result.data;
111
109
  if (result.success === false)
112
110
  logger()({
113
111
  errors: result.errors,
114
112
  method,
115
113
  path,
114
+ data,
116
115
  });
117
116
  return JSON.stringify(data);
118
117
  };
@@ -19,7 +19,6 @@ export interface INestiaTransformOptions {
19
19
  | "is"
20
20
  | "validate"
21
21
  | "validate.log"
22
- | "validateEquals.log"
23
22
  | null;
24
23
  throws?: boolean;
25
24
  }
@@ -24,7 +24,7 @@ export namespace IResponseBodyStringifier {
24
24
  validate: (input: T) => IValidation<string>;
25
25
  }
26
26
  export interface IValidateLog<T> {
27
- type: "validate.log" | "validateEquals.log";
28
- validate: (input: T) => IValidation<T>;
27
+ type: "validate.log";
28
+ validate: (input: T) => IValidation<string>;
29
29
  }
30
30
  }
@@ -1,5 +1,4 @@
1
1
  import ts from "typescript";
2
- import { ValidateProgrammer } from "typia/lib/programmers/ValidateProgrammer";
3
2
  import { JsonAssertStringifyProgrammer } from "typia/lib/programmers/json/JsonAssertStringifyProgrammer";
4
3
  import { JsonIsStringifyProgrammer } from "typia/lib/programmers/json/JsonIsStringifyProgrammer";
5
4
  import { JsonStringifyProgrammer } from "typia/lib/programmers/json/JsonStringifyProgrammer";
@@ -60,15 +59,7 @@ export namespace TypedRouteProgrammer {
60
59
  return parameter({
61
60
  type: "validate.log",
62
61
  key: "validate",
63
- programmer: (project) => (modulo) =>
64
- ValidateProgrammer.write(project)(modulo)(false),
65
- });
66
- else if (project.options.stringify === "validateEquals.log")
67
- return parameter({
68
- type: "validateEquals.log",
69
- key: "validate",
70
- programmer: (project) => (modulo) =>
71
- ValidateProgrammer.write(project)(modulo)(true),
62
+ programmer: JsonValidateStringifyProgrammer.write,
72
63
  });
73
64
  else if (project.options.stringify === null)
74
65
  return ts.factory.createNull();