tyforge 0.1.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.

Potentially problematic release.


This version of tyforge might be problematic. Click here for more details.

Files changed (265) hide show
  1. package/dist/constants/http-status.constants.d.ts +26 -0
  2. package/dist/constants/http-status.constants.d.ts.map +1 -0
  3. package/dist/constants/http-status.constants.js +27 -0
  4. package/dist/constants/http-status.constants.js.map +1 -0
  5. package/dist/domain-models/agreggate.base.d.ts +10 -0
  6. package/dist/domain-models/agreggate.base.d.ts.map +1 -0
  7. package/dist/domain-models/agreggate.base.js +21 -0
  8. package/dist/domain-models/agreggate.base.js.map +1 -0
  9. package/dist/domain-models/base-repository.interface.d.ts +14 -0
  10. package/dist/domain-models/base-repository.interface.d.ts.map +1 -0
  11. package/dist/domain-models/base-repository.interface.js +3 -0
  12. package/dist/domain-models/base-repository.interface.js.map +1 -0
  13. package/dist/domain-models/class-domain-models.base.d.ts +19 -0
  14. package/dist/domain-models/class-domain-models.base.d.ts.map +1 -0
  15. package/dist/domain-models/class-domain-models.base.js +78 -0
  16. package/dist/domain-models/class-domain-models.base.js.map +1 -0
  17. package/dist/domain-models/class.base.d.ts +10 -0
  18. package/dist/domain-models/class.base.d.ts.map +1 -0
  19. package/dist/domain-models/class.base.js +10 -0
  20. package/dist/domain-models/class.base.js.map +1 -0
  21. package/dist/domain-models/domain-event.base.d.ts +19 -0
  22. package/dist/domain-models/domain-event.base.d.ts.map +1 -0
  23. package/dist/domain-models/domain-event.base.js +29 -0
  24. package/dist/domain-models/domain-event.base.js.map +1 -0
  25. package/dist/domain-models/dto-out-generic.d.ts +33 -0
  26. package/dist/domain-models/dto-out-generic.d.ts.map +1 -0
  27. package/dist/domain-models/dto-out-generic.js +55 -0
  28. package/dist/domain-models/dto-out-generic.js.map +1 -0
  29. package/dist/domain-models/dto-out.base.d.ts +21 -0
  30. package/dist/domain-models/dto-out.base.d.ts.map +1 -0
  31. package/dist/domain-models/dto-out.base.js +11 -0
  32. package/dist/domain-models/dto-out.base.js.map +1 -0
  33. package/dist/domain-models/dto.base.d.ts +23 -0
  34. package/dist/domain-models/dto.base.d.ts.map +1 -0
  35. package/dist/domain-models/dto.base.js +11 -0
  36. package/dist/domain-models/dto.base.js.map +1 -0
  37. package/dist/domain-models/entity.base.d.ts +11 -0
  38. package/dist/domain-models/entity.base.d.ts.map +1 -0
  39. package/dist/domain-models/entity.base.js +20 -0
  40. package/dist/domain-models/entity.base.js.map +1 -0
  41. package/dist/domain-models/value-object.base.d.ts +5 -0
  42. package/dist/domain-models/value-object.base.d.ts.map +1 -0
  43. package/dist/domain-models/value-object.base.js +13 -0
  44. package/dist/domain-models/value-object.base.js.map +1 -0
  45. package/dist/exceptions/auth.exception.d.ts +30 -0
  46. package/dist/exceptions/auth.exception.d.ts.map +1 -0
  47. package/dist/exceptions/auth.exception.js +290 -0
  48. package/dist/exceptions/auth.exception.js.map +1 -0
  49. package/dist/exceptions/base.exceptions.d.ts +36 -0
  50. package/dist/exceptions/base.exceptions.d.ts.map +1 -0
  51. package/dist/exceptions/base.exceptions.js +60 -0
  52. package/dist/exceptions/base.exceptions.js.map +1 -0
  53. package/dist/exceptions/boolean.exception.d.ts +7 -0
  54. package/dist/exceptions/boolean.exception.d.ts.map +1 -0
  55. package/dist/exceptions/boolean.exception.js +25 -0
  56. package/dist/exceptions/boolean.exception.js.map +1 -0
  57. package/dist/exceptions/business.exception.d.ts +13 -0
  58. package/dist/exceptions/business.exception.d.ts.map +1 -0
  59. package/dist/exceptions/business.exception.js +107 -0
  60. package/dist/exceptions/business.exception.js.map +1 -0
  61. package/dist/exceptions/date.exception.d.ts +8 -0
  62. package/dist/exceptions/date.exception.d.ts.map +1 -0
  63. package/dist/exceptions/date.exception.js +32 -0
  64. package/dist/exceptions/date.exception.js.map +1 -0
  65. package/dist/exceptions/db.exception.d.ts +13 -0
  66. package/dist/exceptions/db.exception.d.ts.map +1 -0
  67. package/dist/exceptions/db.exception.js +104 -0
  68. package/dist/exceptions/db.exception.js.map +1 -0
  69. package/dist/exceptions/generic.exception.d.ts +9 -0
  70. package/dist/exceptions/generic.exception.d.ts.map +1 -0
  71. package/dist/exceptions/generic.exception.js +25 -0
  72. package/dist/exceptions/generic.exception.js.map +1 -0
  73. package/dist/exceptions/id.exception.d.ts +8 -0
  74. package/dist/exceptions/id.exception.d.ts.map +1 -0
  75. package/dist/exceptions/id.exception.js +32 -0
  76. package/dist/exceptions/id.exception.js.map +1 -0
  77. package/dist/exceptions/implementation.exception.d.ts +13 -0
  78. package/dist/exceptions/implementation.exception.d.ts.map +1 -0
  79. package/dist/exceptions/implementation.exception.js +39 -0
  80. package/dist/exceptions/implementation.exception.js.map +1 -0
  81. package/dist/exceptions/index.d.ts +18 -0
  82. package/dist/exceptions/index.d.ts.map +1 -0
  83. package/dist/exceptions/index.js +41 -0
  84. package/dist/exceptions/index.js.map +1 -0
  85. package/dist/exceptions/int.exception.d.ts +7 -0
  86. package/dist/exceptions/int.exception.d.ts.map +1 -0
  87. package/dist/exceptions/int.exception.js +25 -0
  88. package/dist/exceptions/int.exception.js.map +1 -0
  89. package/dist/exceptions/interface.exception.d.ts +9 -0
  90. package/dist/exceptions/interface.exception.d.ts.map +1 -0
  91. package/dist/exceptions/interface.exception.js +27 -0
  92. package/dist/exceptions/interface.exception.js.map +1 -0
  93. package/dist/exceptions/json.exception.d.ts +8 -0
  94. package/dist/exceptions/json.exception.d.ts.map +1 -0
  95. package/dist/exceptions/json.exception.js +32 -0
  96. package/dist/exceptions/json.exception.js.map +1 -0
  97. package/dist/exceptions/not-found.exception.d.ts +9 -0
  98. package/dist/exceptions/not-found.exception.d.ts.map +1 -0
  99. package/dist/exceptions/not-found.exception.js +36 -0
  100. package/dist/exceptions/not-found.exception.js.map +1 -0
  101. package/dist/exceptions/string.exception.d.ts +8 -0
  102. package/dist/exceptions/string.exception.d.ts.map +1 -0
  103. package/dist/exceptions/string.exception.js +32 -0
  104. package/dist/exceptions/string.exception.js.map +1 -0
  105. package/dist/exceptions/text.exception.d.ts +8 -0
  106. package/dist/exceptions/text.exception.d.ts.map +1 -0
  107. package/dist/exceptions/text.exception.js +32 -0
  108. package/dist/exceptions/text.exception.js.map +1 -0
  109. package/dist/exceptions/unexpected.d.ts +17 -0
  110. package/dist/exceptions/unexpected.d.ts.map +1 -0
  111. package/dist/exceptions/unexpected.js +29 -0
  112. package/dist/exceptions/unexpected.js.map +1 -0
  113. package/dist/exceptions/validation.exception.d.ts +7 -0
  114. package/dist/exceptions/validation.exception.d.ts.map +1 -0
  115. package/dist/exceptions/validation.exception.js +24 -0
  116. package/dist/exceptions/validation.exception.js.map +1 -0
  117. package/dist/index.d.ts +46 -0
  118. package/dist/index.d.ts.map +1 -0
  119. package/dist/index.js +110 -0
  120. package/dist/index.js.map +1 -0
  121. package/dist/native-bridge.d.ts +12 -0
  122. package/dist/native-bridge.d.ts.map +1 -0
  123. package/dist/native-bridge.js +26 -0
  124. package/dist/native-bridge.js.map +1 -0
  125. package/dist/result/index.d.ts +2 -0
  126. package/dist/result/index.d.ts.map +1 -0
  127. package/dist/result/index.js +18 -0
  128. package/dist/result/index.js.map +1 -0
  129. package/dist/result/result.d.ts +29 -0
  130. package/dist/result/result.d.ts.map +1 -0
  131. package/dist/result/result.js +60 -0
  132. package/dist/result/result.js.map +1 -0
  133. package/dist/schema/index.d.ts +3 -0
  134. package/dist/schema/index.d.ts.map +1 -0
  135. package/dist/schema/index.js +19 -0
  136. package/dist/schema/index.js.map +1 -0
  137. package/dist/schema/schema-build.d.ts +20 -0
  138. package/dist/schema/schema-build.d.ts.map +1 -0
  139. package/dist/schema/schema-build.js +281 -0
  140. package/dist/schema/schema-build.js.map +1 -0
  141. package/dist/schema/schema-types.d.ts +90 -0
  142. package/dist/schema/schema-types.d.ts.map +1 -0
  143. package/dist/schema/schema-types.js +3 -0
  144. package/dist/schema/schema-types.js.map +1 -0
  145. package/dist/tools/formatting/date/date-formatting.tool.d.ts +45 -0
  146. package/dist/tools/formatting/date/date-formatting.tool.d.ts.map +1 -0
  147. package/dist/tools/formatting/date/date-formatting.tool.js +102 -0
  148. package/dist/tools/formatting/date/date-formatting.tool.js.map +1 -0
  149. package/dist/tools/index.d.ts +5 -0
  150. package/dist/tools/index.d.ts.map +1 -0
  151. package/dist/tools/index.js +25 -0
  152. package/dist/tools/index.js.map +1 -0
  153. package/dist/tools/parse/date/parse-date-ISO8601.tool.d.ts +61 -0
  154. package/dist/tools/parse/date/parse-date-ISO8601.tool.d.ts.map +1 -0
  155. package/dist/tools/parse/date/parse-date-ISO8601.tool.js +208 -0
  156. package/dist/tools/parse/date/parse-date-ISO8601.tool.js.map +1 -0
  157. package/dist/tools/parse/parse.tool.d.ts +5 -0
  158. package/dist/tools/parse/parse.tool.d.ts.map +1 -0
  159. package/dist/tools/parse/parse.tool.js +9 -0
  160. package/dist/tools/parse/parse.tool.js.map +1 -0
  161. package/dist/tools/type_guard.d.ts +28 -0
  162. package/dist/tools/type_guard.d.ts.map +1 -0
  163. package/dist/tools/type_guard.js +158 -0
  164. package/dist/tools/type_guard.js.map +1 -0
  165. package/dist/type-fields/api-key.format_vo.d.ts +23 -0
  166. package/dist/type-fields/api-key.format_vo.d.ts.map +1 -0
  167. package/dist/type-fields/api-key.format_vo.js +75 -0
  168. package/dist/type-fields/api-key.format_vo.js.map +1 -0
  169. package/dist/type-fields/bearer.format_vo.d.ts +20 -0
  170. package/dist/type-fields/bearer.format_vo.d.ts.map +1 -0
  171. package/dist/type-fields/bearer.format_vo.js +65 -0
  172. package/dist/type-fields/bearer.format_vo.js.map +1 -0
  173. package/dist/type-fields/bool-int.format_vo.d.ts +24 -0
  174. package/dist/type-fields/bool-int.format_vo.d.ts.map +1 -0
  175. package/dist/type-fields/bool-int.format_vo.js +58 -0
  176. package/dist/type-fields/bool-int.format_vo.js.map +1 -0
  177. package/dist/type-fields/boolean.format_vo.d.ts +19 -0
  178. package/dist/type-fields/boolean.format_vo.d.ts.map +1 -0
  179. package/dist/type-fields/boolean.format_vo.js +69 -0
  180. package/dist/type-fields/boolean.format_vo.js.map +1 -0
  181. package/dist/type-fields/date.format_vo.d.ts +67 -0
  182. package/dist/type-fields/date.format_vo.d.ts.map +1 -0
  183. package/dist/type-fields/date.format_vo.js +209 -0
  184. package/dist/type-fields/date.format_vo.js.map +1 -0
  185. package/dist/type-fields/descricao.format_vo.d.ts +19 -0
  186. package/dist/type-fields/descricao.format_vo.d.ts.map +1 -0
  187. package/dist/type-fields/descricao.format_vo.js +50 -0
  188. package/dist/type-fields/descricao.format_vo.js.map +1 -0
  189. package/dist/type-fields/email.format_vo.d.ts +20 -0
  190. package/dist/type-fields/email.format_vo.d.ts.map +1 -0
  191. package/dist/type-fields/email.format_vo.js +58 -0
  192. package/dist/type-fields/email.format_vo.js.map +1 -0
  193. package/dist/type-fields/http-status.format_vo.d.ts +20 -0
  194. package/dist/type-fields/http-status.format_vo.d.ts.map +1 -0
  195. package/dist/type-fields/http-status.format_vo.js +56 -0
  196. package/dist/type-fields/http-status.format_vo.js.map +1 -0
  197. package/dist/type-fields/id-req.format_vo.d.ts +19 -0
  198. package/dist/type-fields/id-req.format_vo.d.ts.map +1 -0
  199. package/dist/type-fields/id-req.format_vo.js +50 -0
  200. package/dist/type-fields/id-req.format_vo.js.map +1 -0
  201. package/dist/type-fields/id.format_vo.d.ts +21 -0
  202. package/dist/type-fields/id.format_vo.d.ts.map +1 -0
  203. package/dist/type-fields/id.format_vo.js +68 -0
  204. package/dist/type-fields/id.format_vo.js.map +1 -0
  205. package/dist/type-fields/index.d.ts +26 -0
  206. package/dist/type-fields/index.d.ts.map +1 -0
  207. package/dist/type-fields/index.js +59 -0
  208. package/dist/type-fields/index.js.map +1 -0
  209. package/dist/type-fields/int.format_vo.d.ts +19 -0
  210. package/dist/type-fields/int.format_vo.d.ts.map +1 -0
  211. package/dist/type-fields/int.format_vo.js +58 -0
  212. package/dist/type-fields/int.format_vo.js.map +1 -0
  213. package/dist/type-fields/json.format_vo.d.ts +25 -0
  214. package/dist/type-fields/json.format_vo.d.ts.map +1 -0
  215. package/dist/type-fields/json.format_vo.js +84 -0
  216. package/dist/type-fields/json.format_vo.js.map +1 -0
  217. package/dist/type-fields/nome-completo.format_vo.d.ts +19 -0
  218. package/dist/type-fields/nome-completo.format_vo.d.ts.map +1 -0
  219. package/dist/type-fields/nome-completo.format_vo.js +50 -0
  220. package/dist/type-fields/nome-completo.format_vo.js.map +1 -0
  221. package/dist/type-fields/page-number.format_vo.d.ts +19 -0
  222. package/dist/type-fields/page-number.format_vo.d.ts.map +1 -0
  223. package/dist/type-fields/page-number.format_vo.js +61 -0
  224. package/dist/type-fields/page-number.format_vo.js.map +1 -0
  225. package/dist/type-fields/page-size.format_vo.d.ts +19 -0
  226. package/dist/type-fields/page-size.format_vo.d.ts.map +1 -0
  227. package/dist/type-fields/page-size.format_vo.js +64 -0
  228. package/dist/type-fields/page-size.format_vo.js.map +1 -0
  229. package/dist/type-fields/password.format_vo.d.ts +23 -0
  230. package/dist/type-fields/password.format_vo.d.ts.map +1 -0
  231. package/dist/type-fields/password.format_vo.js +66 -0
  232. package/dist/type-fields/password.format_vo.js.map +1 -0
  233. package/dist/type-fields/public-key-pem.format_vo.d.ts +22 -0
  234. package/dist/type-fields/public-key-pem.format_vo.d.ts.map +1 -0
  235. package/dist/type-fields/public-key-pem.format_vo.js +70 -0
  236. package/dist/type-fields/public-key-pem.format_vo.js.map +1 -0
  237. package/dist/type-fields/signature.format_vo.d.ts +20 -0
  238. package/dist/type-fields/signature.format_vo.d.ts.map +1 -0
  239. package/dist/type-fields/signature.format_vo.js +61 -0
  240. package/dist/type-fields/signature.format_vo.js.map +1 -0
  241. package/dist/type-fields/status-aplicacao.format_vo.d.ts +27 -0
  242. package/dist/type-fields/status-aplicacao.format_vo.d.ts.map +1 -0
  243. package/dist/type-fields/status-aplicacao.format_vo.js +69 -0
  244. package/dist/type-fields/status-aplicacao.format_vo.js.map +1 -0
  245. package/dist/type-fields/string.format_vo.d.ts +19 -0
  246. package/dist/type-fields/string.format_vo.d.ts.map +1 -0
  247. package/dist/type-fields/string.format_vo.js +50 -0
  248. package/dist/type-fields/string.format_vo.js.map +1 -0
  249. package/dist/type-fields/text.format_vo.d.ts +19 -0
  250. package/dist/type-fields/text.format_vo.d.ts.map +1 -0
  251. package/dist/type-fields/text.format_vo.js +50 -0
  252. package/dist/type-fields/text.format_vo.js.map +1 -0
  253. package/dist/type-fields/trace-id.format_vo.d.ts +118 -0
  254. package/dist/type-fields/trace-id.format_vo.d.ts.map +1 -0
  255. package/dist/type-fields/trace-id.format_vo.js +120 -0
  256. package/dist/type-fields/trace-id.format_vo.js.map +1 -0
  257. package/dist/type-fields/type-field.base.d.ts +37 -0
  258. package/dist/type-fields/type-field.base.d.ts.map +1 -0
  259. package/dist/type-fields/type-field.base.js +108 -0
  260. package/dist/type-fields/type-field.base.js.map +1 -0
  261. package/dist/type-fields/type-field.config.d.ts +44 -0
  262. package/dist/type-fields/type-field.config.d.ts.map +1 -0
  263. package/dist/type-fields/type-field.config.js +3 -0
  264. package/dist/type-fields/type-field.config.js.map +1 -0
  265. package/package.json +44 -0
@@ -0,0 +1,25 @@
1
+ import { TypeField } from "../type-fields/type-field.base";
2
+ import { ITypeFieldConfig } from "../type-fields/type-field.config";
3
+ import { Result } from "../result";
4
+ import { ExceptionValidation } from "../exceptions/validation.exception";
5
+ export type TJson = Record<string, unknown>;
6
+ export declare class FJson extends TypeField<TJson, string> {
7
+ readonly typeInference = "FJson";
8
+ readonly config: ITypeFieldConfig<TJson>;
9
+ private constructor();
10
+ static validateRaw(value: unknown, fieldPath: string): Result<TJson, ExceptionValidation>;
11
+ static create(raw: unknown, fieldPath?: string): Result<FJson, ExceptionValidation>;
12
+ static createOrThrow(raw: unknown, fieldPath?: string): FJson;
13
+ static createNew(data?: TJson, fieldPath?: string): Result<FJson, ExceptionValidation>;
14
+ validate(value: TJson, fieldPath: string): Result<true, ExceptionValidation>;
15
+ serialize(): string;
16
+ getAsString(): string;
17
+ get(key: string): unknown;
18
+ has(key: string): boolean;
19
+ keys(): string[];
20
+ isEmpty(): boolean;
21
+ getDescription(): string;
22
+ getShortDescription(): string;
23
+ formatted(): string;
24
+ }
25
+ //# sourceMappingURL=json.format_vo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.format_vo.d.ts","sourceRoot":"","sources":["../../src/type-fields/json.format_vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAA+B,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAE/E,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5C,qBAAa,KAAM,SAAQ,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACjD,SAAkB,aAAa,WAAW;IAE1C,SAAkB,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAG/C;IAEF,OAAO;IAIP,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,mBAAmB,CAAC;IAkBzF,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,OAAO,EACZ,SAAS,SAAS,GACjB,MAAM,CAAC,KAAK,EAAE,mBAAmB,CAAC;IAMrC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,SAAS,GAAG,KAAK;IAM7D,MAAM,CAAC,SAAS,CACd,IAAI,GAAE,KAAU,EAChB,SAAS,SAAS,GACjB,MAAM,CAAC,KAAK,EAAE,mBAAmB,CAAC;IAI5B,QAAQ,CACf,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAMpC,SAAS,IAAI,MAAM;IAInB,WAAW,IAAI,MAAM;IAIrB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,IAAI,IAAI,MAAM,EAAE;IAIhB,OAAO,IAAI,OAAO;IAIT,cAAc,IAAI,MAAM;IAIxB,mBAAmB,IAAI,MAAM;IAI7B,SAAS,IAAI,MAAM;CAG7B"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FJson = void 0;
4
+ const type_field_base_1 = require("../type-fields/type-field.base");
5
+ const result_1 = require("../result");
6
+ const validation_exception_1 = require("../exceptions/validation.exception");
7
+ class FJson extends type_field_base_1.TypeField {
8
+ typeInference = "FJson";
9
+ config = {
10
+ jsonSchemaType: "object",
11
+ serializeAsString: false,
12
+ };
13
+ constructor(value, fieldPath) {
14
+ super(value, fieldPath);
15
+ }
16
+ static validateRaw(value, fieldPath) {
17
+ if (typeof value === "string") {
18
+ try {
19
+ const parsed = JSON.parse(value);
20
+ if (typeof parsed === "object" && parsed !== null && !Array.isArray(parsed)) {
21
+ return (0, result_1.ok)(parsed);
22
+ }
23
+ return (0, result_1.err)(validation_exception_1.ExceptionValidation.create(fieldPath, "Deve ser um objeto JSON válido"));
24
+ }
25
+ catch {
26
+ return (0, result_1.err)(validation_exception_1.ExceptionValidation.create(fieldPath, "Deve ser um objeto JSON válido"));
27
+ }
28
+ }
29
+ if (typeof value === "object" && value !== null && !Array.isArray(value)) {
30
+ return (0, result_1.ok)(value);
31
+ }
32
+ return (0, result_1.err)(validation_exception_1.ExceptionValidation.create(fieldPath, "Deve ser um objeto JSON válido"));
33
+ }
34
+ static create(raw, fieldPath = "Json") {
35
+ const validation = FJson.validateRaw(raw, fieldPath);
36
+ if (!validation.success)
37
+ return (0, result_1.err)(validation.error);
38
+ return (0, result_1.ok)(new FJson(validation.value, fieldPath));
39
+ }
40
+ static createOrThrow(raw, fieldPath = "Json") {
41
+ const result = this.create(raw, fieldPath);
42
+ if ((0, result_1.isFailure)(result))
43
+ throw result.error;
44
+ return result.value;
45
+ }
46
+ static createNew(data = {}, fieldPath = "Json") {
47
+ return this.create(data, fieldPath);
48
+ }
49
+ validate(value, fieldPath) {
50
+ const parsed = FJson.validateRaw(value, fieldPath);
51
+ if (!parsed.success)
52
+ return (0, result_1.err)(parsed.error);
53
+ return result_1.OK_TRUE;
54
+ }
55
+ serialize() {
56
+ return JSON.stringify(this._value);
57
+ }
58
+ getAsString() {
59
+ return JSON.stringify(this._value);
60
+ }
61
+ get(key) {
62
+ return this._value[key];
63
+ }
64
+ has(key) {
65
+ return key in this._value;
66
+ }
67
+ keys() {
68
+ return Object.keys(this._value);
69
+ }
70
+ isEmpty() {
71
+ return Object.keys(this._value).length === 0;
72
+ }
73
+ getDescription() {
74
+ return `Objeto JSON com ${Object.keys(this._value).length} propriedades`;
75
+ }
76
+ getShortDescription() {
77
+ return `JSON(${Object.keys(this._value).length} props)`;
78
+ }
79
+ formatted() {
80
+ return JSON.stringify(this._value, null, 2);
81
+ }
82
+ }
83
+ exports.FJson = FJson;
84
+ //# sourceMappingURL=json.format_vo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.format_vo.js","sourceRoot":"","sources":["../../src/type-fields/json.format_vo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { TypeField } from "../type-fields/type-field.base";
2
+ import { ITypeFieldConfig } from "../type-fields/type-field.config";
3
+ import { Result } from "../result";
4
+ import { ExceptionValidation } from "../exceptions/validation.exception";
5
+ export type TNomeCompleto = string;
6
+ export declare class FNomeCompleto extends TypeField<TNomeCompleto> {
7
+ readonly typeInference = "FNomeCompleto";
8
+ readonly config: ITypeFieldConfig<TNomeCompleto>;
9
+ private constructor();
10
+ static validateRaw(value: unknown, fieldPath: string): Result<true, ExceptionValidation>;
11
+ static create(raw: TNomeCompleto, fieldPath?: string): Result<FNomeCompleto, ExceptionValidation>;
12
+ static createOrThrow(raw: TNomeCompleto, fieldPath?: string): FNomeCompleto;
13
+ validate(value: TNomeCompleto, fieldPath: string): Result<true, ExceptionValidation>;
14
+ toString(): string;
15
+ formatted(): string;
16
+ getDescription(): string;
17
+ getShortDescription(): string;
18
+ }
19
+ //# sourceMappingURL=nome-completo.format_vo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nome-completo.format_vo.d.ts","sourceRoot":"","sources":["../../src/type-fields/nome-completo.format_vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAsB,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAG/E,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC,qBAAa,aAAc,SAAQ,SAAS,CAAC,aAAa,CAAC;IACzD,SAAkB,aAAa,mBAAmB;IAElD,SAAkB,MAAM,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAKvD;IAEF,OAAO;IAIP,MAAM,CAAC,WAAW,CAChB,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAIpC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,aAAa,EAClB,SAAS,SAAiB,GACzB,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAM7C,MAAM,CAAC,aAAa,CAClB,GAAG,EAAE,aAAa,EAClB,SAAS,SAAiB,GACzB,aAAa;IAMP,QAAQ,CACf,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAI3B,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;IAInB,cAAc,IAAI,MAAM;IAIxB,mBAAmB,IAAI,MAAM;CAGvC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FNomeCompleto = void 0;
4
+ const type_field_base_1 = require("../type-fields/type-field.base");
5
+ const result_1 = require("../result");
6
+ const type_guard_1 = require("../tools/type_guard");
7
+ class FNomeCompleto extends type_field_base_1.TypeField {
8
+ typeInference = "FNomeCompleto";
9
+ config = {
10
+ jsonSchemaType: "string",
11
+ minLength: 2,
12
+ maxLength: 140,
13
+ serializeAsString: false,
14
+ };
15
+ constructor(value, fieldPath) {
16
+ super(value, fieldPath);
17
+ }
18
+ static validateRaw(value, fieldPath) {
19
+ return type_guard_1.TypeGuard.isString(value, fieldPath, 2, 140);
20
+ }
21
+ static create(raw, fieldPath = "NomeCompleto") {
22
+ const validation = FNomeCompleto.validateRaw(raw, fieldPath);
23
+ if (!validation.success)
24
+ return (0, result_1.err)(validation.error);
25
+ return (0, result_1.ok)(new FNomeCompleto(raw, fieldPath));
26
+ }
27
+ static createOrThrow(raw, fieldPath = "NomeCompleto") {
28
+ const result = this.create(raw, fieldPath);
29
+ if ((0, result_1.isFailure)(result))
30
+ throw result.error;
31
+ return result.value;
32
+ }
33
+ validate(value, fieldPath) {
34
+ return FNomeCompleto.validateRaw(value, fieldPath);
35
+ }
36
+ toString() {
37
+ return String(this.getValue());
38
+ }
39
+ formatted() {
40
+ return String(this.getValue());
41
+ }
42
+ getDescription() {
43
+ return "Nome completo de uma pessoa, incluindo nome e sobrenome. Deve conter pelo menos 2 caracteres e não pode exceder 100 caracteres. Utilizado para identificação pessoal.";
44
+ }
45
+ getShortDescription() {
46
+ return "Nome completo da pessoa";
47
+ }
48
+ }
49
+ exports.FNomeCompleto = FNomeCompleto;
50
+ //# sourceMappingURL=nome-completo.format_vo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nome-completo.format_vo.js","sourceRoot":"","sources":["../../src/type-fields/nome-completo.format_vo.ts"],"names":[],"mappings":";;;AAAA,0EAAiE;AAEjE,4CAA6D;AAE7D,0DAAsD;AAItD,MAAa,aAAc,SAAQ,2BAAwB;IACvC,aAAa,GAAG,eAAe,CAAC;IAEhC,MAAM,GAAoC;QAC1D,cAAc,EAAE,QAAQ;QACxB,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,GAAG;QACd,iBAAiB,EAAE,KAAK;KACzB,CAAC;IAEF,YAAoB,KAAoB,EAAE,SAAiB;QACzD,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,WAAW,CAChB,KAAc,EACd,SAAiB;QAEjB,OAAO,sBAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,MAAM,CACX,GAAkB,EAClB,SAAS,GAAG,cAAc;QAE1B,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,OAAO,IAAA,YAAG,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,IAAA,WAAE,EAAC,IAAI,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,aAAa,CAClB,GAAkB,EAClB,SAAS,GAAG,cAAc;QAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,IAAA,kBAAS,EAAC,MAAM,CAAC;YAAE,MAAM,MAAM,CAAC,KAAK,CAAC;QAC1C,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAEQ,QAAQ,CACf,KAAoB,EACpB,SAAiB;QAEjB,OAAO,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAEQ,QAAQ;QACf,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjC,CAAC;IAEQ,SAAS;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjC,CAAC;IAEQ,cAAc;QACrB,OAAO,uKAAuK,CAAC;IACjL,CAAC;IAEQ,mBAAmB;QAC1B,OAAO,yBAAyB,CAAC;IACnC,CAAC;CACF;AA7DD,sCA6DC"}
@@ -0,0 +1,19 @@
1
+ import { TypeField } from "../type-fields/type-field.base";
2
+ import { ITypeFieldConfig } from "../type-fields/type-field.config";
3
+ import { Result } from "../result";
4
+ import { ExceptionValidation } from "../exceptions/validation.exception";
5
+ export type TPageNumber = number;
6
+ export declare class FPageNumber extends TypeField<TPageNumber, string> {
7
+ readonly typeInference = "FPageNumber";
8
+ readonly config: ITypeFieldConfig<TPageNumber>;
9
+ private constructor();
10
+ static validateRaw(value: unknown, fieldPath: string): Result<true, ExceptionValidation>;
11
+ static create(raw: TPageNumber, fieldPath?: string): Result<FPageNumber, ExceptionValidation>;
12
+ static createOrThrow(raw: TPageNumber, fieldPath?: string): FPageNumber;
13
+ validate(value: TPageNumber, fieldPath: string): Result<true, ExceptionValidation>;
14
+ toString(): string;
15
+ formatted(): string;
16
+ getDescription(): string;
17
+ getShortDescription(): string;
18
+ }
19
+ //# sourceMappingURL=page-number.format_vo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-number.format_vo.d.ts","sourceRoot":"","sources":["../../src/type-fields/page-number.format_vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAA+B,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAG/E,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC,qBAAa,WAAY,SAAQ,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7D,SAAkB,aAAa,iBAAiB;IAEhD,SAAkB,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAMrD;IAEF,OAAO;IAIP,MAAM,CAAC,WAAW,CAChB,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAyBpC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,WAAW,EAChB,SAAS,SAAe,GACvB,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAM3C,MAAM,CAAC,aAAa,CAClB,GAAG,EAAE,WAAW,EAChB,SAAS,SAAe,GACvB,WAAW;IAML,QAAQ,CACf,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAI3B,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;IAInB,cAAc,IAAI,MAAM;IAIxB,mBAAmB,IAAI,MAAM;CAGvC"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FPageNumber = void 0;
4
+ const type_field_base_1 = require("../type-fields/type-field.base");
5
+ const result_1 = require("../result");
6
+ const validation_exception_1 = require("../exceptions/validation.exception");
7
+ const type_guard_1 = require("../tools/type_guard");
8
+ class FPageNumber extends type_field_base_1.TypeField {
9
+ typeInference = "FPageNumber";
10
+ config = {
11
+ jsonSchemaType: "number",
12
+ min: 1,
13
+ max: Number.MAX_SAFE_INTEGER,
14
+ decimalPrecision: 0,
15
+ serializeAsString: false,
16
+ };
17
+ constructor(value, fieldPath) {
18
+ super(value, fieldPath);
19
+ }
20
+ static validateRaw(value, fieldPath) {
21
+ const base = type_guard_1.TypeGuard.isNumber(value, fieldPath, 1, Number.MAX_SAFE_INTEGER, 0);
22
+ if (!base.success)
23
+ return base;
24
+ if (!Number.isInteger(value)) {
25
+ return (0, result_1.err)(validation_exception_1.ExceptionValidation.create(fieldPath, "Valor deve ser um número inteiro"));
26
+ }
27
+ if (value < 1) {
28
+ return (0, result_1.err)(validation_exception_1.ExceptionValidation.create(fieldPath, "Página deve ser maior ou igual a 1"));
29
+ }
30
+ return result_1.OK_TRUE;
31
+ }
32
+ static create(raw, fieldPath = "PageNumber") {
33
+ const validation = FPageNumber.validateRaw(raw, fieldPath);
34
+ if (!validation.success)
35
+ return (0, result_1.err)(validation.error);
36
+ return (0, result_1.ok)(new FPageNumber(raw, fieldPath));
37
+ }
38
+ static createOrThrow(raw, fieldPath = "PageNumber") {
39
+ const result = this.create(raw, fieldPath);
40
+ if ((0, result_1.isFailure)(result))
41
+ throw result.error;
42
+ return result.value;
43
+ }
44
+ validate(value, fieldPath) {
45
+ return FPageNumber.validateRaw(value, fieldPath);
46
+ }
47
+ toString() {
48
+ return String(this.getValue());
49
+ }
50
+ formatted() {
51
+ return String(this.getValue());
52
+ }
53
+ getDescription() {
54
+ return "Número de página para paginação. Deve ser um inteiro >= 1.";
55
+ }
56
+ getShortDescription() {
57
+ return "Número de página";
58
+ }
59
+ }
60
+ exports.FPageNumber = FPageNumber;
61
+ //# sourceMappingURL=page-number.format_vo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-number.format_vo.js","sourceRoot":"","sources":["../../src/type-fields/page-number.format_vo.ts"],"names":[],"mappings":";;;AAAA,0EAAiE;AAEjE,4CAAsE;AACtE,mFAA+E;AAC/E,0DAAsD;AAItD,MAAa,WAAY,SAAQ,2BAA8B;IAC3C,aAAa,GAAG,aAAa,CAAC;IAE9B,MAAM,GAAkC;QACxD,cAAc,EAAE,QAAQ;QACxB,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,MAAM,CAAC,gBAAgB;QAC5B,gBAAgB,EAAE,CAAC;QACnB,iBAAiB,EAAE,KAAK;KACzB,CAAC;IAEF,YAAoB,KAAkB,EAAE,SAAiB;QACvD,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,WAAW,CAChB,KAAc,EACd,SAAiB;QAEjB,MAAM,IAAI,GAAG,sBAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE/B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAA,YAAG,EACR,0CAAmB,CAAC,MAAM,CACxB,SAAS,EACT,kCAAkC,CACnC,CACF,CAAC;QACJ,CAAC;QAED,IAAK,KAAgB,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAA,YAAG,EACR,0CAAmB,CAAC,MAAM,CACxB,SAAS,EACT,oCAAoC,CACrC,CACF,CAAC;QACJ,CAAC;QAED,OAAO,gBAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,MAAM,CACX,GAAgB,EAChB,SAAS,GAAG,YAAY;QAExB,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,OAAO,IAAA,YAAG,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,IAAA,WAAE,EAAC,IAAI,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,aAAa,CAClB,GAAgB,EAChB,SAAS,GAAG,YAAY;QAExB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,IAAA,kBAAS,EAAC,MAAM,CAAC;YAAE,MAAM,MAAM,CAAC,KAAK,CAAC;QAC1C,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAEQ,QAAQ,CACf,KAAkB,EAClB,SAAiB;QAEjB,OAAO,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC;IAEQ,QAAQ;QACf,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjC,CAAC;IAEQ,SAAS;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjC,CAAC;IAEQ,cAAc;QACrB,OAAO,4DAA4D,CAAC;IACtE,CAAC;IAEQ,mBAAmB;QAC1B,OAAO,kBAAkB,CAAC;IAC5B,CAAC;CACF;AAnFD,kCAmFC"}
@@ -0,0 +1,19 @@
1
+ import { TypeField } from "../type-fields/type-field.base";
2
+ import { ITypeFieldConfig } from "../type-fields/type-field.config";
3
+ import { Result } from "../result";
4
+ import { ExceptionValidation } from "../exceptions/validation.exception";
5
+ export type TPageSize = number;
6
+ export declare class FPageSize extends TypeField<TPageSize, string> {
7
+ readonly typeInference = "FPageSize";
8
+ readonly config: ITypeFieldConfig<TPageSize>;
9
+ private constructor();
10
+ static validateRaw(value: unknown, fieldPath: string): Result<true, ExceptionValidation>;
11
+ static create(raw: TPageSize, fieldPath?: string): Result<FPageSize, ExceptionValidation>;
12
+ static createOrThrow(raw: TPageSize, fieldPath?: string): FPageSize;
13
+ validate(value: TPageSize, fieldPath: string): Result<true, ExceptionValidation>;
14
+ toString(): string;
15
+ formatted(): string;
16
+ getDescription(): string;
17
+ getShortDescription(): string;
18
+ }
19
+ //# sourceMappingURL=page-size.format_vo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-size.format_vo.d.ts","sourceRoot":"","sources":["../../src/type-fields/page-size.format_vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAA+B,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAG/E,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,qBAAa,SAAU,SAAQ,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IACzD,SAAkB,aAAa,eAAe;IAE9C,SAAkB,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAMnD;IAEF,OAAO;IAIP,MAAM,CAAC,WAAW,CAChB,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAkCpC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,SAAS,EACd,SAAS,SAAa,GACrB,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;IAMzC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,SAAa,GAAG,SAAS;IAM9D,QAAQ,CACf,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAI3B,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;IAInB,cAAc,IAAI,MAAM;IAIxB,mBAAmB,IAAI,MAAM;CAGvC"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FPageSize = void 0;
4
+ const type_field_base_1 = require("../type-fields/type-field.base");
5
+ const result_1 = require("../result");
6
+ const validation_exception_1 = require("../exceptions/validation.exception");
7
+ const type_guard_1 = require("../tools/type_guard");
8
+ class FPageSize extends type_field_base_1.TypeField {
9
+ typeInference = "FPageSize";
10
+ config = {
11
+ jsonSchemaType: "number",
12
+ min: 1,
13
+ max: 100,
14
+ decimalPrecision: 0,
15
+ serializeAsString: false,
16
+ };
17
+ constructor(value, fieldPath) {
18
+ super(value, fieldPath);
19
+ }
20
+ static validateRaw(value, fieldPath) {
21
+ const base = type_guard_1.TypeGuard.isNumber(value, fieldPath, 1, 100, 0);
22
+ if (!base.success)
23
+ return base;
24
+ if (!Number.isInteger(value)) {
25
+ return (0, result_1.err)(validation_exception_1.ExceptionValidation.create(fieldPath, "Valor deve ser um número inteiro"));
26
+ }
27
+ if (value < 1) {
28
+ return (0, result_1.err)(validation_exception_1.ExceptionValidation.create(fieldPath, "Tamanho da página deve ser maior que 0"));
29
+ }
30
+ if (value > 100) {
31
+ return (0, result_1.err)(validation_exception_1.ExceptionValidation.create(fieldPath, "Tamanho da página não pode exceder 100"));
32
+ }
33
+ return result_1.OK_TRUE;
34
+ }
35
+ static create(raw, fieldPath = "PageSize") {
36
+ const validation = FPageSize.validateRaw(raw, fieldPath);
37
+ if (!validation.success)
38
+ return (0, result_1.err)(validation.error);
39
+ return (0, result_1.ok)(new FPageSize(raw, fieldPath));
40
+ }
41
+ static createOrThrow(raw, fieldPath = "PageSize") {
42
+ const result = this.create(raw, fieldPath);
43
+ if ((0, result_1.isFailure)(result))
44
+ throw result.error;
45
+ return result.value;
46
+ }
47
+ validate(value, fieldPath) {
48
+ return FPageSize.validateRaw(value, fieldPath);
49
+ }
50
+ toString() {
51
+ return String(this.getValue());
52
+ }
53
+ formatted() {
54
+ return String(this.getValue());
55
+ }
56
+ getDescription() {
57
+ return "Tamanho da página para paginação. Deve ser um inteiro entre 1 e 100.";
58
+ }
59
+ getShortDescription() {
60
+ return "Tamanho da página";
61
+ }
62
+ }
63
+ exports.FPageSize = FPageSize;
64
+ //# sourceMappingURL=page-size.format_vo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-size.format_vo.js","sourceRoot":"","sources":["../../src/type-fields/page-size.format_vo.ts"],"names":[],"mappings":";;;AAAA,0EAAiE;AAEjE,4CAAsE;AACtE,mFAA+E;AAC/E,0DAAsD;AAItD,MAAa,SAAU,SAAQ,2BAA4B;IACvC,aAAa,GAAG,WAAW,CAAC;IAE5B,MAAM,GAAgC;QACtD,cAAc,EAAE,QAAQ;QACxB,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,GAAG;QACR,gBAAgB,EAAE,CAAC;QACnB,iBAAiB,EAAE,KAAK;KACzB,CAAC;IAEF,YAAoB,KAAgB,EAAE,SAAiB;QACrD,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,WAAW,CAChB,KAAc,EACd,SAAiB;QAEjB,MAAM,IAAI,GAAG,sBAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE/B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAA,YAAG,EACR,0CAAmB,CAAC,MAAM,CACxB,SAAS,EACT,kCAAkC,CACnC,CACF,CAAC;QACJ,CAAC;QAED,IAAK,KAAgB,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAA,YAAG,EACR,0CAAmB,CAAC,MAAM,CACxB,SAAS,EACT,wCAAwC,CACzC,CACF,CAAC;QACJ,CAAC;QAED,IAAK,KAAgB,GAAG,GAAG,EAAE,CAAC;YAC5B,OAAO,IAAA,YAAG,EACR,0CAAmB,CAAC,MAAM,CACxB,SAAS,EACT,wCAAwC,CACzC,CACF,CAAC;QACJ,CAAC;QAED,OAAO,gBAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,MAAM,CACX,GAAc,EACd,SAAS,GAAG,UAAU;QAEtB,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,OAAO,IAAA,YAAG,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,IAAA,WAAE,EAAC,IAAI,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,GAAc,EAAE,SAAS,GAAG,UAAU;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,IAAA,kBAAS,EAAC,MAAM,CAAC;YAAE,MAAM,MAAM,CAAC,KAAK,CAAC;QAC1C,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAEQ,QAAQ,CACf,KAAgB,EAChB,SAAiB;QAEjB,OAAO,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAEQ,QAAQ;QACf,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjC,CAAC;IAEQ,SAAS;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjC,CAAC;IAEQ,cAAc;QACrB,OAAO,sEAAsE,CAAC;IAChF,CAAC;IAEQ,mBAAmB;QAC1B,OAAO,mBAAmB,CAAC;IAC7B,CAAC;CACF;AAzFD,8BAyFC"}
@@ -0,0 +1,23 @@
1
+ import { TypeField } from "../type-fields/type-field.base";
2
+ import { ITypeFieldConfig } from "../type-fields/type-field.config";
3
+ import { Result } from "../result";
4
+ import { ExceptionValidation } from "../exceptions/validation.exception";
5
+ export type TPassword = string;
6
+ export declare class FPassword extends TypeField<TPassword> {
7
+ readonly typeInference = "FPassword";
8
+ readonly config: ITypeFieldConfig<TPassword>;
9
+ private static readonly UPPERCASE_REGEX;
10
+ private static readonly LOWERCASE_REGEX;
11
+ private static readonly DIGIT_REGEX;
12
+ private static readonly SPECIAL_REGEX;
13
+ private constructor();
14
+ static validateRaw(value: unknown, fieldPath: string): Result<true, ExceptionValidation>;
15
+ static create(raw: TPassword, fieldPath?: string): Result<FPassword, ExceptionValidation>;
16
+ static createOrThrow(raw: TPassword, fieldPath?: string): FPassword;
17
+ validate(value: TPassword, fieldPath: string): Result<true, ExceptionValidation>;
18
+ toString(): string;
19
+ formatted(): string;
20
+ getDescription(): string;
21
+ getShortDescription(): string;
22
+ }
23
+ //# sourceMappingURL=password.format_vo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password.format_vo.d.ts","sourceRoot":"","sources":["../../src/type-fields/password.format_vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAA+B,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAG/E,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,qBAAa,SAAU,SAAQ,SAAS,CAAC,SAAS,CAAC;IACjD,SAAkB,aAAa,eAAe;IAE9C,SAAkB,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAKnD;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAW;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAW;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAW;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CACG;IAExC,OAAO;IAIP,MAAM,CAAC,WAAW,CAChB,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAuBpC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,SAAS,EACd,SAAS,SAAa,GACrB,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;IAMzC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,SAAa,GAAG,SAAS;IAM9D,QAAQ,CACf,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAI3B,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;IAInB,cAAc,IAAI,MAAM;IAIxB,mBAAmB,IAAI,MAAM;CAGvC"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FPassword = void 0;
4
+ const type_field_base_1 = require("../type-fields/type-field.base");
5
+ const result_1 = require("../result");
6
+ const validation_exception_1 = require("../exceptions/validation.exception");
7
+ const type_guard_1 = require("../tools/type_guard");
8
+ class FPassword extends type_field_base_1.TypeField {
9
+ typeInference = "FPassword";
10
+ config = {
11
+ jsonSchemaType: "string",
12
+ minLength: 8,
13
+ maxLength: 128,
14
+ serializeAsString: false,
15
+ };
16
+ static UPPERCASE_REGEX = /[A-Z]/;
17
+ static LOWERCASE_REGEX = /[a-z]/;
18
+ static DIGIT_REGEX = /[0-9]/;
19
+ static SPECIAL_REGEX = /[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/;
20
+ constructor(value, fieldPath) {
21
+ super(value, fieldPath);
22
+ }
23
+ static validateRaw(value, fieldPath) {
24
+ const base = type_guard_1.TypeGuard.isString(value, fieldPath, 8, 128);
25
+ if (!base.success)
26
+ return base;
27
+ const str = value;
28
+ if (str.length < 8 ||
29
+ !FPassword.UPPERCASE_REGEX.test(str) ||
30
+ !FPassword.LOWERCASE_REGEX.test(str) ||
31
+ !FPassword.DIGIT_REGEX.test(str) ||
32
+ !FPassword.SPECIAL_REGEX.test(str)) {
33
+ return (0, result_1.err)(validation_exception_1.ExceptionValidation.create(fieldPath, "Senha deve ter no mínimo 8 caracteres, incluindo maiúscula, minúscula, número e caractere especial"));
34
+ }
35
+ return result_1.OK_TRUE;
36
+ }
37
+ static create(raw, fieldPath = "Password") {
38
+ const validation = FPassword.validateRaw(raw, fieldPath);
39
+ if (!validation.success)
40
+ return (0, result_1.err)(validation.error);
41
+ return (0, result_1.ok)(new FPassword(raw, fieldPath));
42
+ }
43
+ static createOrThrow(raw, fieldPath = "Password") {
44
+ const result = this.create(raw, fieldPath);
45
+ if ((0, result_1.isFailure)(result))
46
+ throw result.error;
47
+ return result.value;
48
+ }
49
+ validate(value, fieldPath) {
50
+ return FPassword.validateRaw(value, fieldPath);
51
+ }
52
+ toString() {
53
+ return String(this.getValue());
54
+ }
55
+ formatted() {
56
+ return String(this.getValue());
57
+ }
58
+ getDescription() {
59
+ return "Senha de acesso segura para autenticação de usuários. Deve conter no mínimo 8 caracteres, incluindo pelo menos uma letra maiúscula, uma letra minúscula, um número e um caractere especial. Utilizada para proteger o acesso a contas e sistemas com autenticação forte.";
60
+ }
61
+ getShortDescription() {
62
+ return "Senha segura de acesso";
63
+ }
64
+ }
65
+ exports.FPassword = FPassword;
66
+ //# sourceMappingURL=password.format_vo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password.format_vo.js","sourceRoot":"","sources":["../../src/type-fields/password.format_vo.ts"],"names":[],"mappings":";;;AAAA,0EAAiE;AAEjE,4CAAsE;AACtE,mFAA+E;AAC/E,0DAAsD;AAItD,MAAa,SAAU,SAAQ,2BAAoB;IAC/B,aAAa,GAAG,WAAW,CAAC;IAE5B,MAAM,GAAgC;QACtD,cAAc,EAAE,QAAQ;QACxB,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,GAAG;QACd,iBAAiB,EAAE,KAAK;KACzB,CAAC;IAEM,MAAM,CAAU,eAAe,GAAG,OAAO,CAAC;IAC1C,MAAM,CAAU,eAAe,GAAG,OAAO,CAAC;IAC1C,MAAM,CAAU,WAAW,GAAG,OAAO,CAAC;IACtC,MAAM,CAAU,aAAa,GACnC,qCAAqC,CAAC;IAExC,YAAoB,KAAgB,EAAE,SAAiB;QACrD,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,WAAW,CAChB,KAAc,EACd,SAAiB;QAEjB,MAAM,IAAI,GAAG,sBAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE/B,MAAM,GAAG,GAAG,KAAe,CAAC;QAC5B,IACE,GAAG,CAAC,MAAM,GAAG,CAAC;YACd,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;YACpC,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;YACpC,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;YAChC,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAClC,CAAC;YACD,OAAO,IAAA,YAAG,EACR,0CAAmB,CAAC,MAAM,CACxB,SAAS,EACT,oGAAoG,CACrG,CACF,CAAC;QACJ,CAAC;QAED,OAAO,gBAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,MAAM,CACX,GAAc,EACd,SAAS,GAAG,UAAU;QAEtB,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,OAAO,IAAA,YAAG,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,IAAA,WAAE,EAAC,IAAI,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,GAAc,EAAE,SAAS,GAAG,UAAU;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,IAAA,kBAAS,EAAC,MAAM,CAAC;YAAE,MAAM,MAAM,CAAC,KAAK,CAAC;QAC1C,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAEQ,QAAQ,CACf,KAAgB,EAChB,SAAiB;QAEjB,OAAO,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAEQ,QAAQ;QACf,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjC,CAAC;IAEQ,SAAS;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjC,CAAC;IAEQ,cAAc;QACrB,OAAO,0QAA0Q,CAAC;IACpR,CAAC;IAEQ,mBAAmB;QAC1B,OAAO,wBAAwB,CAAC;IAClC,CAAC;;AAlFH,8BAmFC"}
@@ -0,0 +1,22 @@
1
+ import { TypeField } from "../type-fields/type-field.base";
2
+ import { ITypeFieldConfig } from "../type-fields/type-field.config";
3
+ import { Result } from "../result";
4
+ import { ExceptionValidation } from "../exceptions/validation.exception";
5
+ export type TPublicKeyPem = string;
6
+ export declare class FPublicKeyPem extends TypeField<TPublicKeyPem> {
7
+ readonly typeInference = "FPublicKeyPem";
8
+ private static readonly PEM_BEGIN;
9
+ private static readonly PEM_END;
10
+ private static readonly BASE64_REGEX;
11
+ readonly config: ITypeFieldConfig<TPublicKeyPem>;
12
+ private constructor();
13
+ static validateRaw(value: unknown, fieldPath: string): Result<true, ExceptionValidation>;
14
+ static create(raw: TPublicKeyPem, fieldPath?: string): Result<FPublicKeyPem, ExceptionValidation>;
15
+ static createOrThrow(raw: TPublicKeyPem, fieldPath?: string): FPublicKeyPem;
16
+ validate(value: TPublicKeyPem, fieldPath: string): Result<true, ExceptionValidation>;
17
+ toString(): string;
18
+ formatted(): string;
19
+ getDescription(): string;
20
+ getShortDescription(): string;
21
+ }
22
+ //# sourceMappingURL=public-key-pem.format_vo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-key-pem.format_vo.d.ts","sourceRoot":"","sources":["../../src/type-fields/public-key-pem.format_vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAA+B,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAG/E,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC,qBAAa,aAAc,SAAQ,SAAS,CAAC,aAAa,CAAC;IACzD,SAAkB,aAAa,mBAAmB;IAElD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAgC;IACjE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAA8B;IAC7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAuB;IAE3D,SAAkB,MAAM,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAKvD;IAEF,OAAO;IAIP,MAAM,CAAC,WAAW,CAChB,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IA4BpC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,aAAa,EAClB,SAAS,SAAiB,GACzB,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAM7C,MAAM,CAAC,aAAa,CAClB,GAAG,EAAE,aAAa,EAClB,SAAS,SAAiB,GACzB,aAAa;IAMP,QAAQ,CACf,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAI3B,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;IAOnB,cAAc,IAAI,MAAM;IAIxB,mBAAmB,IAAI,MAAM;CAGvC"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FPublicKeyPem = void 0;
4
+ const type_field_base_1 = require("../type-fields/type-field.base");
5
+ const result_1 = require("../result");
6
+ const validation_exception_1 = require("../exceptions/validation.exception");
7
+ const type_guard_1 = require("../tools/type_guard");
8
+ class FPublicKeyPem extends type_field_base_1.TypeField {
9
+ typeInference = "FPublicKeyPem";
10
+ static PEM_BEGIN = "-----BEGIN PUBLIC KEY-----";
11
+ static PEM_END = "-----END PUBLIC KEY-----";
12
+ static BASE64_REGEX = /^[A-Za-z0-9+/=]+$/;
13
+ config = {
14
+ jsonSchemaType: "string",
15
+ minLength: 100,
16
+ maxLength: 1000,
17
+ serializeAsString: false,
18
+ };
19
+ constructor(value, fieldPath) {
20
+ super(value, fieldPath);
21
+ }
22
+ static validateRaw(value, fieldPath) {
23
+ const base = type_guard_1.TypeGuard.isString(value, fieldPath, 100, 1000);
24
+ if (!base.success)
25
+ return base;
26
+ const str = value;
27
+ if (!str.includes(FPublicKeyPem.PEM_BEGIN) ||
28
+ !str.includes(FPublicKeyPem.PEM_END)) {
29
+ return (0, result_1.err)(validation_exception_1.ExceptionValidation.create(fieldPath, "Chave pública PEM inválida"));
30
+ }
31
+ const base64 = str
32
+ .replace(FPublicKeyPem.PEM_BEGIN, "")
33
+ .replace(FPublicKeyPem.PEM_END, "")
34
+ .replace(/\s/g, "");
35
+ if (!FPublicKeyPem.BASE64_REGEX.test(base64) || base64.length < 100) {
36
+ return (0, result_1.err)(validation_exception_1.ExceptionValidation.create(fieldPath, "Chave pública PEM inválida"));
37
+ }
38
+ return result_1.OK_TRUE;
39
+ }
40
+ static create(raw, fieldPath = "PublicKeyPem") {
41
+ const validation = FPublicKeyPem.validateRaw(raw, fieldPath);
42
+ if (!validation.success)
43
+ return (0, result_1.err)(validation.error);
44
+ return (0, result_1.ok)(new FPublicKeyPem(raw, fieldPath));
45
+ }
46
+ static createOrThrow(raw, fieldPath = "PublicKeyPem") {
47
+ const result = this.create(raw, fieldPath);
48
+ if ((0, result_1.isFailure)(result))
49
+ throw result.error;
50
+ return result.value;
51
+ }
52
+ validate(value, fieldPath) {
53
+ return FPublicKeyPem.validateRaw(value, fieldPath);
54
+ }
55
+ toString() {
56
+ return String(this.getValue());
57
+ }
58
+ formatted() {
59
+ const formatPublicKeyPem = (value) => value.trim();
60
+ return formatPublicKeyPem(this.getValue());
61
+ }
62
+ getDescription() {
63
+ return "Chave pública no formato PEM para autenticação assimétrica (ECDSA P-521). Deve conter os delimitadores BEGIN/END e estar em base64.";
64
+ }
65
+ getShortDescription() {
66
+ return "Chave pública PEM (ECDSA)";
67
+ }
68
+ }
69
+ exports.FPublicKeyPem = FPublicKeyPem;
70
+ //# sourceMappingURL=public-key-pem.format_vo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-key-pem.format_vo.js","sourceRoot":"","sources":["../../src/type-fields/public-key-pem.format_vo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { TypeField } from "../type-fields/type-field.base";
2
+ import { ITypeFieldConfig } from "../type-fields/type-field.config";
3
+ import { Result } from "../result";
4
+ import { ExceptionValidation } from "../exceptions/validation.exception";
5
+ export type TSignature = string;
6
+ export declare class FSignature extends TypeField<TSignature> {
7
+ readonly typeInference = "FSignature";
8
+ private static readonly BASE64_REGEX;
9
+ readonly config: ITypeFieldConfig<TSignature>;
10
+ private constructor();
11
+ static validateRaw(value: unknown, fieldPath: string): Result<true, ExceptionValidation>;
12
+ static create(raw: TSignature, fieldPath?: string): Result<FSignature, ExceptionValidation>;
13
+ static createOrThrow(raw: TSignature, fieldPath?: string): FSignature;
14
+ validate(value: TSignature, fieldPath: string): Result<true, ExceptionValidation>;
15
+ toString(): string;
16
+ formatted(): string;
17
+ getDescription(): string;
18
+ getShortDescription(): string;
19
+ }
20
+ //# sourceMappingURL=signature.format_vo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signature.format_vo.d.ts","sourceRoot":"","sources":["../../src/type-fields/signature.format_vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAA+B,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAG/E,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,qBAAa,UAAW,SAAQ,SAAS,CAAC,UAAU,CAAC;IACnD,SAAkB,aAAa,gBAAgB;IAE/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAE5D,SAAkB,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAKpD;IAEF,OAAO;IAIP,MAAM,CAAC,WAAW,CAChB,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAkBpC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,UAAU,EACf,SAAS,SAAc,GACtB,MAAM,CAAC,UAAU,EAAE,mBAAmB,CAAC;IAM1C,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,SAAc,GAAG,UAAU;IAMjE,QAAQ,CACf,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAI3B,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;IAMnB,cAAc,IAAI,MAAM;IAIxB,mBAAmB,IAAI,MAAM;CAGvC"}