apitally 0.6.1 → 0.8.0

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.
Files changed (206) hide show
  1. package/dist/common/client.cjs +559 -0
  2. package/dist/common/client.cjs.map +1 -0
  3. package/dist/common/client.d.cts +38 -0
  4. package/dist/common/client.d.ts +38 -0
  5. package/dist/common/client.js +526 -0
  6. package/dist/common/client.js.map +1 -0
  7. package/dist/common/consumerRegistry.cjs +86 -0
  8. package/dist/common/consumerRegistry.cjs.map +1 -0
  9. package/dist/common/consumerRegistry.d.cts +14 -0
  10. package/dist/common/consumerRegistry.d.ts +14 -0
  11. package/dist/common/consumerRegistry.js +63 -0
  12. package/dist/common/consumerRegistry.js.map +1 -0
  13. package/dist/common/logging.cjs +41 -0
  14. package/dist/common/logging.cjs.map +1 -0
  15. package/dist/common/logging.d.cts +11 -0
  16. package/{lib/types → dist}/common/logging.d.ts +6 -3
  17. package/dist/common/logging.js +18 -0
  18. package/dist/common/logging.js.map +1 -0
  19. package/dist/common/packageVersions.cjs +42 -0
  20. package/dist/common/packageVersions.cjs.map +1 -0
  21. package/dist/common/packageVersions.d.cts +3 -0
  22. package/dist/common/packageVersions.d.ts +3 -0
  23. package/dist/common/packageVersions.js +18 -0
  24. package/dist/common/packageVersions.js.map +1 -0
  25. package/dist/common/paramValidation.cjs +43 -0
  26. package/dist/common/paramValidation.cjs.map +1 -0
  27. package/dist/common/paramValidation.d.cts +4 -0
  28. package/dist/common/paramValidation.d.ts +4 -0
  29. package/dist/common/paramValidation.js +19 -0
  30. package/dist/common/paramValidation.js.map +1 -0
  31. package/dist/common/requestCounter.cjs +111 -0
  32. package/dist/common/requestCounter.cjs.map +1 -0
  33. package/dist/common/requestCounter.d.cts +18 -0
  34. package/{lib/types → dist}/common/requestCounter.d.ts +7 -3
  35. package/dist/common/requestCounter.js +92 -0
  36. package/dist/common/requestCounter.js.map +1 -0
  37. package/dist/common/serverErrorCounter.cjs +133 -0
  38. package/dist/common/serverErrorCounter.cjs.map +1 -0
  39. package/dist/common/serverErrorCounter.d.cts +20 -0
  40. package/{lib/types → dist}/common/serverErrorCounter.d.ts +7 -3
  41. package/dist/common/serverErrorCounter.js +104 -0
  42. package/dist/common/serverErrorCounter.js.map +1 -0
  43. package/dist/common/types.cjs +19 -0
  44. package/dist/common/types.cjs.map +1 -0
  45. package/dist/common/types.d.cts +83 -0
  46. package/{lib/types → dist}/common/types.d.ts +25 -15
  47. package/dist/common/types.js +1 -0
  48. package/dist/common/types.js.map +1 -0
  49. package/dist/common/validationErrorCounter.cjs +76 -0
  50. package/dist/common/validationErrorCounter.cjs.map +1 -0
  51. package/dist/common/validationErrorCounter.d.cts +14 -0
  52. package/{lib/types → dist}/common/validationErrorCounter.d.ts +7 -3
  53. package/dist/common/validationErrorCounter.js +57 -0
  54. package/dist/common/validationErrorCounter.js.map +1 -0
  55. package/dist/express/index.cjs +898 -0
  56. package/dist/express/index.cjs.map +1 -0
  57. package/dist/express/index.d.cts +5 -0
  58. package/dist/express/index.d.ts +5 -0
  59. package/dist/express/index.js +862 -0
  60. package/dist/express/index.js.map +1 -0
  61. package/dist/express/listEndpoints.cjs +144 -0
  62. package/dist/express/listEndpoints.cjs.map +1 -0
  63. package/dist/express/listEndpoints.d.cts +3 -0
  64. package/dist/express/listEndpoints.d.ts +3 -0
  65. package/dist/express/listEndpoints.js +125 -0
  66. package/dist/express/listEndpoints.js.map +1 -0
  67. package/dist/express/middleware.cjs +896 -0
  68. package/dist/express/middleware.cjs.map +1 -0
  69. package/dist/express/middleware.d.cts +14 -0
  70. package/dist/express/middleware.d.ts +14 -0
  71. package/dist/express/middleware.js +862 -0
  72. package/dist/express/middleware.js.map +1 -0
  73. package/dist/fastify/index.cjs +754 -0
  74. package/dist/fastify/index.cjs.map +1 -0
  75. package/dist/fastify/index.d.cts +5 -0
  76. package/dist/fastify/index.d.ts +5 -0
  77. package/dist/fastify/index.js +718 -0
  78. package/dist/fastify/index.js.map +1 -0
  79. package/dist/fastify/plugin.cjs +748 -0
  80. package/dist/fastify/plugin.cjs.map +1 -0
  81. package/dist/fastify/plugin.d.cts +18 -0
  82. package/dist/fastify/plugin.d.ts +18 -0
  83. package/dist/fastify/plugin.js +718 -0
  84. package/dist/fastify/plugin.js.map +1 -0
  85. package/dist/index.cjs +2 -0
  86. package/dist/index.cjs.map +1 -0
  87. package/dist/index.d.cts +2 -0
  88. package/dist/index.d.ts +2 -0
  89. package/dist/index.js +1 -0
  90. package/dist/index.js.map +1 -0
  91. package/dist/koa/index.cjs +718 -0
  92. package/dist/koa/index.cjs.map +1 -0
  93. package/dist/koa/index.d.cts +5 -0
  94. package/dist/koa/index.d.ts +5 -0
  95. package/dist/koa/index.js +682 -0
  96. package/dist/koa/index.js.map +1 -0
  97. package/dist/koa/middleware.cjs +718 -0
  98. package/dist/koa/middleware.cjs.map +1 -0
  99. package/dist/koa/middleware.d.cts +8 -0
  100. package/dist/koa/middleware.d.ts +8 -0
  101. package/dist/koa/middleware.js +682 -0
  102. package/dist/koa/middleware.js.map +1 -0
  103. package/dist/nestjs/index.cjs +898 -0
  104. package/dist/nestjs/index.cjs.map +1 -0
  105. package/dist/nestjs/index.d.cts +5 -0
  106. package/dist/nestjs/index.d.ts +5 -0
  107. package/dist/nestjs/index.js +862 -0
  108. package/dist/nestjs/index.js.map +1 -0
  109. package/package.json +55 -92
  110. package/lib/cjs/common/client.cjs +0 -334
  111. package/lib/cjs/common/client.cjs.map +0 -1
  112. package/lib/cjs/common/logging.cjs +0 -17
  113. package/lib/cjs/common/logging.cjs.map +0 -1
  114. package/lib/cjs/common/packageVersions.cjs +0 -16
  115. package/lib/cjs/common/packageVersions.cjs.map +0 -1
  116. package/lib/cjs/common/paramValidation.cjs +0 -16
  117. package/lib/cjs/common/paramValidation.cjs.map +0 -1
  118. package/lib/cjs/common/requestCounter.cjs +0 -108
  119. package/lib/cjs/common/requestCounter.cjs.map +0 -1
  120. package/lib/cjs/common/serverErrorCounter.cjs +0 -154
  121. package/lib/cjs/common/serverErrorCounter.cjs.map +0 -1
  122. package/lib/cjs/common/types.cjs +0 -6
  123. package/lib/cjs/common/types.cjs.map +0 -1
  124. package/lib/cjs/common/validationErrorCounter.cjs +0 -60
  125. package/lib/cjs/common/validationErrorCounter.cjs.map +0 -1
  126. package/lib/cjs/express/index.cjs +0 -13
  127. package/lib/cjs/express/index.cjs.map +0 -1
  128. package/lib/cjs/express/listEndpoints.cjs +0 -177
  129. package/lib/cjs/express/listEndpoints.cjs.map +0 -1
  130. package/lib/cjs/express/middleware.cjs +0 -189
  131. package/lib/cjs/express/middleware.cjs.map +0 -1
  132. package/lib/cjs/fastify/index.cjs +0 -14
  133. package/lib/cjs/fastify/index.cjs.map +0 -1
  134. package/lib/cjs/fastify/plugin.cjs +0 -171
  135. package/lib/cjs/fastify/plugin.cjs.map +0 -1
  136. package/lib/cjs/index.cjs +0 -6
  137. package/lib/cjs/index.cjs.map +0 -1
  138. package/lib/cjs/koa/index.cjs +0 -13
  139. package/lib/cjs/koa/index.cjs.map +0 -1
  140. package/lib/cjs/koa/middleware.cjs +0 -139
  141. package/lib/cjs/koa/middleware.cjs.map +0 -1
  142. package/lib/cjs/nestjs/index.cjs +0 -13
  143. package/lib/cjs/nestjs/index.cjs.map +0 -1
  144. package/lib/esm/common/client.js +0 -324
  145. package/lib/esm/common/client.js.map +0 -1
  146. package/lib/esm/common/logging.js +0 -11
  147. package/lib/esm/common/logging.js.map +0 -1
  148. package/lib/esm/common/packageVersions.js +0 -10
  149. package/lib/esm/common/packageVersions.js.map +0 -1
  150. package/lib/esm/common/paramValidation.js +0 -9
  151. package/lib/esm/common/paramValidation.js.map +0 -1
  152. package/lib/esm/common/requestCounter.js +0 -102
  153. package/lib/esm/common/requestCounter.js.map +0 -1
  154. package/lib/esm/common/serverErrorCounter.js +0 -143
  155. package/lib/esm/common/serverErrorCounter.js.map +0 -1
  156. package/lib/esm/common/types.js +0 -1
  157. package/lib/esm/common/types.js.map +0 -1
  158. package/lib/esm/common/validationErrorCounter.js +0 -54
  159. package/lib/esm/common/validationErrorCounter.js.map +0 -1
  160. package/lib/esm/express/index.js +0 -1
  161. package/lib/esm/express/index.js.map +0 -1
  162. package/lib/esm/express/listEndpoints.js +0 -170
  163. package/lib/esm/express/listEndpoints.js.map +0 -1
  164. package/lib/esm/express/middleware.js +0 -182
  165. package/lib/esm/express/middleware.js.map +0 -1
  166. package/lib/esm/fastify/index.js +0 -1
  167. package/lib/esm/fastify/index.js.map +0 -1
  168. package/lib/esm/fastify/plugin.js +0 -164
  169. package/lib/esm/fastify/plugin.js.map +0 -1
  170. package/lib/esm/index.js +0 -1
  171. package/lib/esm/index.js.map +0 -1
  172. package/lib/esm/koa/index.js +0 -1
  173. package/lib/esm/koa/index.js.map +0 -1
  174. package/lib/esm/koa/middleware.js +0 -132
  175. package/lib/esm/koa/middleware.js.map +0 -1
  176. package/lib/esm/nestjs/index.js +0 -1
  177. package/lib/esm/nestjs/index.js.map +0 -1
  178. package/lib/types/common/client.d.ts +0 -33
  179. package/lib/types/common/client.d.ts.map +0 -1
  180. package/lib/types/common/logging.d.ts.map +0 -1
  181. package/lib/types/common/packageVersions.d.ts +0 -2
  182. package/lib/types/common/packageVersions.d.ts.map +0 -1
  183. package/lib/types/common/paramValidation.d.ts +0 -3
  184. package/lib/types/common/paramValidation.d.ts.map +0 -1
  185. package/lib/types/common/requestCounter.d.ts.map +0 -1
  186. package/lib/types/common/serverErrorCounter.d.ts.map +0 -1
  187. package/lib/types/common/types.d.ts.map +0 -1
  188. package/lib/types/common/validationErrorCounter.d.ts.map +0 -1
  189. package/lib/types/express/index.d.ts +0 -2
  190. package/lib/types/express/index.d.ts.map +0 -1
  191. package/lib/types/express/listEndpoints.d.ts +0 -3
  192. package/lib/types/express/listEndpoints.d.ts.map +0 -1
  193. package/lib/types/express/middleware.d.ts +0 -10
  194. package/lib/types/express/middleware.d.ts.map +0 -1
  195. package/lib/types/fastify/index.d.ts +0 -2
  196. package/lib/types/fastify/index.d.ts.map +0 -1
  197. package/lib/types/fastify/plugin.d.ts +0 -15
  198. package/lib/types/fastify/plugin.d.ts.map +0 -1
  199. package/lib/types/index.d.ts +0 -2
  200. package/lib/types/index.d.ts.map +0 -1
  201. package/lib/types/koa/index.d.ts +0 -2
  202. package/lib/types/koa/index.d.ts.map +0 -1
  203. package/lib/types/koa/middleware.d.ts +0 -4
  204. package/lib/types/koa/middleware.d.ts.map +0 -1
  205. package/lib/types/nestjs/index.d.ts +0 -2
  206. package/lib/types/nestjs/index.d.ts.map +0 -1
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/common/validationErrorCounter.ts
22
+ var validationErrorCounter_exports = {};
23
+ __export(validationErrorCounter_exports, {
24
+ default: () => ValidationErrorCounter
25
+ });
26
+ module.exports = __toCommonJS(validationErrorCounter_exports);
27
+ var import_crypto = require("crypto");
28
+ var _ValidationErrorCounter = class _ValidationErrorCounter {
29
+ errorCounts;
30
+ errorDetails;
31
+ constructor() {
32
+ this.errorCounts = /* @__PURE__ */ new Map();
33
+ this.errorDetails = /* @__PURE__ */ new Map();
34
+ }
35
+ addValidationError(validationError) {
36
+ const key = this.getKey(validationError);
37
+ if (!this.errorDetails.has(key)) {
38
+ this.errorDetails.set(key, validationError);
39
+ }
40
+ this.errorCounts.set(key, (this.errorCounts.get(key) || 0) + 1);
41
+ }
42
+ getAndResetValidationErrors() {
43
+ const data = [];
44
+ this.errorCounts.forEach((count, key) => {
45
+ const validationError = this.errorDetails.get(key);
46
+ if (validationError) {
47
+ data.push({
48
+ consumer: validationError.consumer || null,
49
+ method: validationError.method,
50
+ path: validationError.path,
51
+ loc: validationError.loc.split("."),
52
+ msg: validationError.msg,
53
+ type: validationError.type,
54
+ error_count: count
55
+ });
56
+ }
57
+ });
58
+ this.errorCounts.clear();
59
+ this.errorDetails.clear();
60
+ return data;
61
+ }
62
+ getKey(validationError) {
63
+ const hashInput = [
64
+ validationError.consumer || "",
65
+ validationError.method.toUpperCase(),
66
+ validationError.path,
67
+ validationError.loc,
68
+ validationError.msg.trim(),
69
+ validationError.type
70
+ ].join("|");
71
+ return (0, import_crypto.createHash)("md5").update(hashInput).digest("hex");
72
+ }
73
+ };
74
+ __name(_ValidationErrorCounter, "ValidationErrorCounter");
75
+ var ValidationErrorCounter = _ValidationErrorCounter;
76
+ //# sourceMappingURL=validationErrorCounter.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/common/validationErrorCounter.ts"],"sourcesContent":["import { createHash } from \"crypto\";\n\nimport {\n ConsumerMethodPath,\n ValidationError,\n ValidationErrorsItem,\n} from \"./types.js\";\n\nexport default class ValidationErrorCounter {\n private errorCounts: Map<string, number>;\n private errorDetails: Map<string, ConsumerMethodPath & ValidationError>;\n\n constructor() {\n this.errorCounts = new Map();\n this.errorDetails = new Map();\n }\n\n public addValidationError(\n validationError: ConsumerMethodPath & ValidationError,\n ) {\n const key = this.getKey(validationError);\n if (!this.errorDetails.has(key)) {\n this.errorDetails.set(key, validationError);\n }\n this.errorCounts.set(key, (this.errorCounts.get(key) || 0) + 1);\n }\n\n public getAndResetValidationErrors() {\n const data: Array<ValidationErrorsItem> = [];\n this.errorCounts.forEach((count, key) => {\n const validationError = this.errorDetails.get(key);\n if (validationError) {\n data.push({\n consumer: validationError.consumer || null,\n method: validationError.method,\n path: validationError.path,\n loc: validationError.loc.split(\".\"),\n msg: validationError.msg,\n type: validationError.type,\n error_count: count,\n });\n }\n });\n this.errorCounts.clear();\n this.errorDetails.clear();\n return data;\n }\n\n private getKey(validationError: ConsumerMethodPath & ValidationError) {\n const hashInput = [\n validationError.consumer || \"\",\n validationError.method.toUpperCase(),\n validationError.path,\n validationError.loc,\n validationError.msg.trim(),\n validationError.type,\n ].join(\"|\");\n return createHash(\"md5\").update(hashInput).digest(\"hex\");\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;oBAA2B;AAQ3B,IAAqBA,0BAArB,MAAqBA,wBAAAA;EACXC;EACAC;EAERC,cAAc;AACZ,SAAKF,cAAc,oBAAIG,IAAAA;AACvB,SAAKF,eAAe,oBAAIE,IAAAA;EAC1B;EAEOC,mBACLC,iBACA;AACA,UAAMC,MAAM,KAAKC,OAAOF,eAAAA;AACxB,QAAI,CAAC,KAAKJ,aAAaO,IAAIF,GAAAA,GAAM;AAC/B,WAAKL,aAAaQ,IAAIH,KAAKD,eAAAA;IAC7B;AACA,SAAKL,YAAYS,IAAIH,MAAM,KAAKN,YAAYU,IAAIJ,GAAAA,KAAQ,KAAK,CAAA;EAC/D;EAEOK,8BAA8B;AACnC,UAAMC,OAAoC,CAAA;AAC1C,SAAKZ,YAAYa,QAAQ,CAACC,OAAOR,QAAAA;AAC/B,YAAMD,kBAAkB,KAAKJ,aAAaS,IAAIJ,GAAAA;AAC9C,UAAID,iBAAiB;AACnBO,aAAKG,KAAK;UACRC,UAAUX,gBAAgBW,YAAY;UACtCC,QAAQZ,gBAAgBY;UACxBC,MAAMb,gBAAgBa;UACtBC,KAAKd,gBAAgBc,IAAIC,MAAM,GAAA;UAC/BC,KAAKhB,gBAAgBgB;UACrBC,MAAMjB,gBAAgBiB;UACtBC,aAAaT;QACf,CAAA;MACF;IACF,CAAA;AACA,SAAKd,YAAYwB,MAAK;AACtB,SAAKvB,aAAauB,MAAK;AACvB,WAAOZ;EACT;EAEQL,OAAOF,iBAAuD;AACpE,UAAMoB,YAAY;MAChBpB,gBAAgBW,YAAY;MAC5BX,gBAAgBY,OAAOS,YAAW;MAClCrB,gBAAgBa;MAChBb,gBAAgBc;MAChBd,gBAAgBgB,IAAIM,KAAI;MACxBtB,gBAAgBiB;MAChBM,KAAK,GAAA;AACP,eAAOC,0BAAW,KAAA,EAAOC,OAAOL,SAAAA,EAAWM,OAAO,KAAA;EACpD;AACF;AAnDqBhC;AAArB,IAAqBA,yBAArB;","names":["ValidationErrorCounter","errorCounts","errorDetails","constructor","Map","addValidationError","validationError","key","getKey","has","set","get","getAndResetValidationErrors","data","forEach","count","push","consumer","method","path","loc","split","msg","type","error_count","clear","hashInput","toUpperCase","trim","join","createHash","update","digest"]}
@@ -0,0 +1,14 @@
1
+ import { ConsumerMethodPath, ValidationError, ValidationErrorsItem } from './types.cjs';
2
+ import './logging.cjs';
3
+ import 'winston';
4
+
5
+ declare class ValidationErrorCounter {
6
+ private errorCounts;
7
+ private errorDetails;
8
+ constructor();
9
+ addValidationError(validationError: ConsumerMethodPath & ValidationError): void;
10
+ getAndResetValidationErrors(): ValidationErrorsItem[];
11
+ private getKey;
12
+ }
13
+
14
+ export { ValidationErrorCounter as default };
@@ -1,5 +1,8 @@
1
- import { ConsumerMethodPath, ValidationError, ValidationErrorsItem } from "./types.js";
2
- export default class ValidationErrorCounter {
1
+ import { ConsumerMethodPath, ValidationError, ValidationErrorsItem } from './types.js';
2
+ import './logging.js';
3
+ import 'winston';
4
+
5
+ declare class ValidationErrorCounter {
3
6
  private errorCounts;
4
7
  private errorDetails;
5
8
  constructor();
@@ -7,4 +10,5 @@ export default class ValidationErrorCounter {
7
10
  getAndResetValidationErrors(): ValidationErrorsItem[];
8
11
  private getKey;
9
12
  }
10
- //# sourceMappingURL=validationErrorCounter.d.ts.map
13
+
14
+ export { ValidationErrorCounter as default };
@@ -0,0 +1,57 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+ // src/common/validationErrorCounter.ts
5
+ import { createHash } from "crypto";
6
+ var _ValidationErrorCounter = class _ValidationErrorCounter {
7
+ errorCounts;
8
+ errorDetails;
9
+ constructor() {
10
+ this.errorCounts = /* @__PURE__ */ new Map();
11
+ this.errorDetails = /* @__PURE__ */ new Map();
12
+ }
13
+ addValidationError(validationError) {
14
+ const key = this.getKey(validationError);
15
+ if (!this.errorDetails.has(key)) {
16
+ this.errorDetails.set(key, validationError);
17
+ }
18
+ this.errorCounts.set(key, (this.errorCounts.get(key) || 0) + 1);
19
+ }
20
+ getAndResetValidationErrors() {
21
+ const data = [];
22
+ this.errorCounts.forEach((count, key) => {
23
+ const validationError = this.errorDetails.get(key);
24
+ if (validationError) {
25
+ data.push({
26
+ consumer: validationError.consumer || null,
27
+ method: validationError.method,
28
+ path: validationError.path,
29
+ loc: validationError.loc.split("."),
30
+ msg: validationError.msg,
31
+ type: validationError.type,
32
+ error_count: count
33
+ });
34
+ }
35
+ });
36
+ this.errorCounts.clear();
37
+ this.errorDetails.clear();
38
+ return data;
39
+ }
40
+ getKey(validationError) {
41
+ const hashInput = [
42
+ validationError.consumer || "",
43
+ validationError.method.toUpperCase(),
44
+ validationError.path,
45
+ validationError.loc,
46
+ validationError.msg.trim(),
47
+ validationError.type
48
+ ].join("|");
49
+ return createHash("md5").update(hashInput).digest("hex");
50
+ }
51
+ };
52
+ __name(_ValidationErrorCounter, "ValidationErrorCounter");
53
+ var ValidationErrorCounter = _ValidationErrorCounter;
54
+ export {
55
+ ValidationErrorCounter as default
56
+ };
57
+ //# sourceMappingURL=validationErrorCounter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/common/validationErrorCounter.ts"],"sourcesContent":["import { createHash } from \"crypto\";\n\nimport {\n ConsumerMethodPath,\n ValidationError,\n ValidationErrorsItem,\n} from \"./types.js\";\n\nexport default class ValidationErrorCounter {\n private errorCounts: Map<string, number>;\n private errorDetails: Map<string, ConsumerMethodPath & ValidationError>;\n\n constructor() {\n this.errorCounts = new Map();\n this.errorDetails = new Map();\n }\n\n public addValidationError(\n validationError: ConsumerMethodPath & ValidationError,\n ) {\n const key = this.getKey(validationError);\n if (!this.errorDetails.has(key)) {\n this.errorDetails.set(key, validationError);\n }\n this.errorCounts.set(key, (this.errorCounts.get(key) || 0) + 1);\n }\n\n public getAndResetValidationErrors() {\n const data: Array<ValidationErrorsItem> = [];\n this.errorCounts.forEach((count, key) => {\n const validationError = this.errorDetails.get(key);\n if (validationError) {\n data.push({\n consumer: validationError.consumer || null,\n method: validationError.method,\n path: validationError.path,\n loc: validationError.loc.split(\".\"),\n msg: validationError.msg,\n type: validationError.type,\n error_count: count,\n });\n }\n });\n this.errorCounts.clear();\n this.errorDetails.clear();\n return data;\n }\n\n private getKey(validationError: ConsumerMethodPath & ValidationError) {\n const hashInput = [\n validationError.consumer || \"\",\n validationError.method.toUpperCase(),\n validationError.path,\n validationError.loc,\n validationError.msg.trim(),\n validationError.type,\n ].join(\"|\");\n return createHash(\"md5\").update(hashInput).digest(\"hex\");\n }\n}\n"],"mappings":";;;;AAAA,SAASA,kBAAkB;AAQ3B,IAAqBC,0BAArB,MAAqBA,wBAAAA;EACXC;EACAC;EAERC,cAAc;AACZ,SAAKF,cAAc,oBAAIG,IAAAA;AACvB,SAAKF,eAAe,oBAAIE,IAAAA;EAC1B;EAEOC,mBACLC,iBACA;AACA,UAAMC,MAAM,KAAKC,OAAOF,eAAAA;AACxB,QAAI,CAAC,KAAKJ,aAAaO,IAAIF,GAAAA,GAAM;AAC/B,WAAKL,aAAaQ,IAAIH,KAAKD,eAAAA;IAC7B;AACA,SAAKL,YAAYS,IAAIH,MAAM,KAAKN,YAAYU,IAAIJ,GAAAA,KAAQ,KAAK,CAAA;EAC/D;EAEOK,8BAA8B;AACnC,UAAMC,OAAoC,CAAA;AAC1C,SAAKZ,YAAYa,QAAQ,CAACC,OAAOR,QAAAA;AAC/B,YAAMD,kBAAkB,KAAKJ,aAAaS,IAAIJ,GAAAA;AAC9C,UAAID,iBAAiB;AACnBO,aAAKG,KAAK;UACRC,UAAUX,gBAAgBW,YAAY;UACtCC,QAAQZ,gBAAgBY;UACxBC,MAAMb,gBAAgBa;UACtBC,KAAKd,gBAAgBc,IAAIC,MAAM,GAAA;UAC/BC,KAAKhB,gBAAgBgB;UACrBC,MAAMjB,gBAAgBiB;UACtBC,aAAaT;QACf,CAAA;MACF;IACF,CAAA;AACA,SAAKd,YAAYwB,MAAK;AACtB,SAAKvB,aAAauB,MAAK;AACvB,WAAOZ;EACT;EAEQL,OAAOF,iBAAuD;AACpE,UAAMoB,YAAY;MAChBpB,gBAAgBW,YAAY;MAC5BX,gBAAgBY,OAAOS,YAAW;MAClCrB,gBAAgBa;MAChBb,gBAAgBc;MAChBd,gBAAgBgB,IAAIM,KAAI;MACxBtB,gBAAgBiB;MAChBM,KAAK,GAAA;AACP,WAAOC,WAAW,KAAA,EAAOC,OAAOL,SAAAA,EAAWM,OAAO,KAAA;EACpD;AACF;AAnDqBhC;AAArB,IAAqBA,yBAArB;","names":["createHash","ValidationErrorCounter","errorCounts","errorDetails","constructor","Map","addValidationError","validationError","key","getKey","has","set","get","getAndResetValidationErrors","data","forEach","count","push","consumer","method","path","loc","split","msg","type","error_count","clear","hashInput","toUpperCase","trim","join","createHash","update","digest"]}