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.
- package/dist/constants/http-status.constants.d.ts +26 -0
- package/dist/constants/http-status.constants.d.ts.map +1 -0
- package/dist/constants/http-status.constants.js +27 -0
- package/dist/constants/http-status.constants.js.map +1 -0
- package/dist/domain-models/agreggate.base.d.ts +10 -0
- package/dist/domain-models/agreggate.base.d.ts.map +1 -0
- package/dist/domain-models/agreggate.base.js +21 -0
- package/dist/domain-models/agreggate.base.js.map +1 -0
- package/dist/domain-models/base-repository.interface.d.ts +14 -0
- package/dist/domain-models/base-repository.interface.d.ts.map +1 -0
- package/dist/domain-models/base-repository.interface.js +3 -0
- package/dist/domain-models/base-repository.interface.js.map +1 -0
- package/dist/domain-models/class-domain-models.base.d.ts +19 -0
- package/dist/domain-models/class-domain-models.base.d.ts.map +1 -0
- package/dist/domain-models/class-domain-models.base.js +78 -0
- package/dist/domain-models/class-domain-models.base.js.map +1 -0
- package/dist/domain-models/class.base.d.ts +10 -0
- package/dist/domain-models/class.base.d.ts.map +1 -0
- package/dist/domain-models/class.base.js +10 -0
- package/dist/domain-models/class.base.js.map +1 -0
- package/dist/domain-models/domain-event.base.d.ts +19 -0
- package/dist/domain-models/domain-event.base.d.ts.map +1 -0
- package/dist/domain-models/domain-event.base.js +29 -0
- package/dist/domain-models/domain-event.base.js.map +1 -0
- package/dist/domain-models/dto-out-generic.d.ts +33 -0
- package/dist/domain-models/dto-out-generic.d.ts.map +1 -0
- package/dist/domain-models/dto-out-generic.js +55 -0
- package/dist/domain-models/dto-out-generic.js.map +1 -0
- package/dist/domain-models/dto-out.base.d.ts +21 -0
- package/dist/domain-models/dto-out.base.d.ts.map +1 -0
- package/dist/domain-models/dto-out.base.js +11 -0
- package/dist/domain-models/dto-out.base.js.map +1 -0
- package/dist/domain-models/dto.base.d.ts +23 -0
- package/dist/domain-models/dto.base.d.ts.map +1 -0
- package/dist/domain-models/dto.base.js +11 -0
- package/dist/domain-models/dto.base.js.map +1 -0
- package/dist/domain-models/entity.base.d.ts +11 -0
- package/dist/domain-models/entity.base.d.ts.map +1 -0
- package/dist/domain-models/entity.base.js +20 -0
- package/dist/domain-models/entity.base.js.map +1 -0
- package/dist/domain-models/value-object.base.d.ts +5 -0
- package/dist/domain-models/value-object.base.d.ts.map +1 -0
- package/dist/domain-models/value-object.base.js +13 -0
- package/dist/domain-models/value-object.base.js.map +1 -0
- package/dist/exceptions/auth.exception.d.ts +30 -0
- package/dist/exceptions/auth.exception.d.ts.map +1 -0
- package/dist/exceptions/auth.exception.js +290 -0
- package/dist/exceptions/auth.exception.js.map +1 -0
- package/dist/exceptions/base.exceptions.d.ts +36 -0
- package/dist/exceptions/base.exceptions.d.ts.map +1 -0
- package/dist/exceptions/base.exceptions.js +60 -0
- package/dist/exceptions/base.exceptions.js.map +1 -0
- package/dist/exceptions/boolean.exception.d.ts +7 -0
- package/dist/exceptions/boolean.exception.d.ts.map +1 -0
- package/dist/exceptions/boolean.exception.js +25 -0
- package/dist/exceptions/boolean.exception.js.map +1 -0
- package/dist/exceptions/business.exception.d.ts +13 -0
- package/dist/exceptions/business.exception.d.ts.map +1 -0
- package/dist/exceptions/business.exception.js +107 -0
- package/dist/exceptions/business.exception.js.map +1 -0
- package/dist/exceptions/date.exception.d.ts +8 -0
- package/dist/exceptions/date.exception.d.ts.map +1 -0
- package/dist/exceptions/date.exception.js +32 -0
- package/dist/exceptions/date.exception.js.map +1 -0
- package/dist/exceptions/db.exception.d.ts +13 -0
- package/dist/exceptions/db.exception.d.ts.map +1 -0
- package/dist/exceptions/db.exception.js +104 -0
- package/dist/exceptions/db.exception.js.map +1 -0
- package/dist/exceptions/generic.exception.d.ts +9 -0
- package/dist/exceptions/generic.exception.d.ts.map +1 -0
- package/dist/exceptions/generic.exception.js +25 -0
- package/dist/exceptions/generic.exception.js.map +1 -0
- package/dist/exceptions/id.exception.d.ts +8 -0
- package/dist/exceptions/id.exception.d.ts.map +1 -0
- package/dist/exceptions/id.exception.js +32 -0
- package/dist/exceptions/id.exception.js.map +1 -0
- package/dist/exceptions/implementation.exception.d.ts +13 -0
- package/dist/exceptions/implementation.exception.d.ts.map +1 -0
- package/dist/exceptions/implementation.exception.js +39 -0
- package/dist/exceptions/implementation.exception.js.map +1 -0
- package/dist/exceptions/index.d.ts +18 -0
- package/dist/exceptions/index.d.ts.map +1 -0
- package/dist/exceptions/index.js +41 -0
- package/dist/exceptions/index.js.map +1 -0
- package/dist/exceptions/int.exception.d.ts +7 -0
- package/dist/exceptions/int.exception.d.ts.map +1 -0
- package/dist/exceptions/int.exception.js +25 -0
- package/dist/exceptions/int.exception.js.map +1 -0
- package/dist/exceptions/interface.exception.d.ts +9 -0
- package/dist/exceptions/interface.exception.d.ts.map +1 -0
- package/dist/exceptions/interface.exception.js +27 -0
- package/dist/exceptions/interface.exception.js.map +1 -0
- package/dist/exceptions/json.exception.d.ts +8 -0
- package/dist/exceptions/json.exception.d.ts.map +1 -0
- package/dist/exceptions/json.exception.js +32 -0
- package/dist/exceptions/json.exception.js.map +1 -0
- package/dist/exceptions/not-found.exception.d.ts +9 -0
- package/dist/exceptions/not-found.exception.d.ts.map +1 -0
- package/dist/exceptions/not-found.exception.js +36 -0
- package/dist/exceptions/not-found.exception.js.map +1 -0
- package/dist/exceptions/string.exception.d.ts +8 -0
- package/dist/exceptions/string.exception.d.ts.map +1 -0
- package/dist/exceptions/string.exception.js +32 -0
- package/dist/exceptions/string.exception.js.map +1 -0
- package/dist/exceptions/text.exception.d.ts +8 -0
- package/dist/exceptions/text.exception.d.ts.map +1 -0
- package/dist/exceptions/text.exception.js +32 -0
- package/dist/exceptions/text.exception.js.map +1 -0
- package/dist/exceptions/unexpected.d.ts +17 -0
- package/dist/exceptions/unexpected.d.ts.map +1 -0
- package/dist/exceptions/unexpected.js +29 -0
- package/dist/exceptions/unexpected.js.map +1 -0
- package/dist/exceptions/validation.exception.d.ts +7 -0
- package/dist/exceptions/validation.exception.d.ts.map +1 -0
- package/dist/exceptions/validation.exception.js +24 -0
- package/dist/exceptions/validation.exception.js.map +1 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +110 -0
- package/dist/index.js.map +1 -0
- package/dist/native-bridge.d.ts +12 -0
- package/dist/native-bridge.d.ts.map +1 -0
- package/dist/native-bridge.js +26 -0
- package/dist/native-bridge.js.map +1 -0
- package/dist/result/index.d.ts +2 -0
- package/dist/result/index.d.ts.map +1 -0
- package/dist/result/index.js +18 -0
- package/dist/result/index.js.map +1 -0
- package/dist/result/result.d.ts +29 -0
- package/dist/result/result.d.ts.map +1 -0
- package/dist/result/result.js +60 -0
- package/dist/result/result.js.map +1 -0
- package/dist/schema/index.d.ts +3 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +19 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/schema-build.d.ts +20 -0
- package/dist/schema/schema-build.d.ts.map +1 -0
- package/dist/schema/schema-build.js +281 -0
- package/dist/schema/schema-build.js.map +1 -0
- package/dist/schema/schema-types.d.ts +90 -0
- package/dist/schema/schema-types.d.ts.map +1 -0
- package/dist/schema/schema-types.js +3 -0
- package/dist/schema/schema-types.js.map +1 -0
- package/dist/tools/formatting/date/date-formatting.tool.d.ts +45 -0
- package/dist/tools/formatting/date/date-formatting.tool.d.ts.map +1 -0
- package/dist/tools/formatting/date/date-formatting.tool.js +102 -0
- package/dist/tools/formatting/date/date-formatting.tool.js.map +1 -0
- package/dist/tools/index.d.ts +5 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +25 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/parse/date/parse-date-ISO8601.tool.d.ts +61 -0
- package/dist/tools/parse/date/parse-date-ISO8601.tool.d.ts.map +1 -0
- package/dist/tools/parse/date/parse-date-ISO8601.tool.js +208 -0
- package/dist/tools/parse/date/parse-date-ISO8601.tool.js.map +1 -0
- package/dist/tools/parse/parse.tool.d.ts +5 -0
- package/dist/tools/parse/parse.tool.d.ts.map +1 -0
- package/dist/tools/parse/parse.tool.js +9 -0
- package/dist/tools/parse/parse.tool.js.map +1 -0
- package/dist/tools/type_guard.d.ts +28 -0
- package/dist/tools/type_guard.d.ts.map +1 -0
- package/dist/tools/type_guard.js +158 -0
- package/dist/tools/type_guard.js.map +1 -0
- package/dist/type-fields/api-key.format_vo.d.ts +23 -0
- package/dist/type-fields/api-key.format_vo.d.ts.map +1 -0
- package/dist/type-fields/api-key.format_vo.js +75 -0
- package/dist/type-fields/api-key.format_vo.js.map +1 -0
- package/dist/type-fields/bearer.format_vo.d.ts +20 -0
- package/dist/type-fields/bearer.format_vo.d.ts.map +1 -0
- package/dist/type-fields/bearer.format_vo.js +65 -0
- package/dist/type-fields/bearer.format_vo.js.map +1 -0
- package/dist/type-fields/bool-int.format_vo.d.ts +24 -0
- package/dist/type-fields/bool-int.format_vo.d.ts.map +1 -0
- package/dist/type-fields/bool-int.format_vo.js +58 -0
- package/dist/type-fields/bool-int.format_vo.js.map +1 -0
- package/dist/type-fields/boolean.format_vo.d.ts +19 -0
- package/dist/type-fields/boolean.format_vo.d.ts.map +1 -0
- package/dist/type-fields/boolean.format_vo.js +69 -0
- package/dist/type-fields/boolean.format_vo.js.map +1 -0
- package/dist/type-fields/date.format_vo.d.ts +67 -0
- package/dist/type-fields/date.format_vo.d.ts.map +1 -0
- package/dist/type-fields/date.format_vo.js +209 -0
- package/dist/type-fields/date.format_vo.js.map +1 -0
- package/dist/type-fields/descricao.format_vo.d.ts +19 -0
- package/dist/type-fields/descricao.format_vo.d.ts.map +1 -0
- package/dist/type-fields/descricao.format_vo.js +50 -0
- package/dist/type-fields/descricao.format_vo.js.map +1 -0
- package/dist/type-fields/email.format_vo.d.ts +20 -0
- package/dist/type-fields/email.format_vo.d.ts.map +1 -0
- package/dist/type-fields/email.format_vo.js +58 -0
- package/dist/type-fields/email.format_vo.js.map +1 -0
- package/dist/type-fields/http-status.format_vo.d.ts +20 -0
- package/dist/type-fields/http-status.format_vo.d.ts.map +1 -0
- package/dist/type-fields/http-status.format_vo.js +56 -0
- package/dist/type-fields/http-status.format_vo.js.map +1 -0
- package/dist/type-fields/id-req.format_vo.d.ts +19 -0
- package/dist/type-fields/id-req.format_vo.d.ts.map +1 -0
- package/dist/type-fields/id-req.format_vo.js +50 -0
- package/dist/type-fields/id-req.format_vo.js.map +1 -0
- package/dist/type-fields/id.format_vo.d.ts +21 -0
- package/dist/type-fields/id.format_vo.d.ts.map +1 -0
- package/dist/type-fields/id.format_vo.js +68 -0
- package/dist/type-fields/id.format_vo.js.map +1 -0
- package/dist/type-fields/index.d.ts +26 -0
- package/dist/type-fields/index.d.ts.map +1 -0
- package/dist/type-fields/index.js +59 -0
- package/dist/type-fields/index.js.map +1 -0
- package/dist/type-fields/int.format_vo.d.ts +19 -0
- package/dist/type-fields/int.format_vo.d.ts.map +1 -0
- package/dist/type-fields/int.format_vo.js +58 -0
- package/dist/type-fields/int.format_vo.js.map +1 -0
- package/dist/type-fields/json.format_vo.d.ts +25 -0
- package/dist/type-fields/json.format_vo.d.ts.map +1 -0
- package/dist/type-fields/json.format_vo.js +84 -0
- package/dist/type-fields/json.format_vo.js.map +1 -0
- package/dist/type-fields/nome-completo.format_vo.d.ts +19 -0
- package/dist/type-fields/nome-completo.format_vo.d.ts.map +1 -0
- package/dist/type-fields/nome-completo.format_vo.js +50 -0
- package/dist/type-fields/nome-completo.format_vo.js.map +1 -0
- package/dist/type-fields/page-number.format_vo.d.ts +19 -0
- package/dist/type-fields/page-number.format_vo.d.ts.map +1 -0
- package/dist/type-fields/page-number.format_vo.js +61 -0
- package/dist/type-fields/page-number.format_vo.js.map +1 -0
- package/dist/type-fields/page-size.format_vo.d.ts +19 -0
- package/dist/type-fields/page-size.format_vo.d.ts.map +1 -0
- package/dist/type-fields/page-size.format_vo.js +64 -0
- package/dist/type-fields/page-size.format_vo.js.map +1 -0
- package/dist/type-fields/password.format_vo.d.ts +23 -0
- package/dist/type-fields/password.format_vo.d.ts.map +1 -0
- package/dist/type-fields/password.format_vo.js +66 -0
- package/dist/type-fields/password.format_vo.js.map +1 -0
- package/dist/type-fields/public-key-pem.format_vo.d.ts +22 -0
- package/dist/type-fields/public-key-pem.format_vo.d.ts.map +1 -0
- package/dist/type-fields/public-key-pem.format_vo.js +70 -0
- package/dist/type-fields/public-key-pem.format_vo.js.map +1 -0
- package/dist/type-fields/signature.format_vo.d.ts +20 -0
- package/dist/type-fields/signature.format_vo.d.ts.map +1 -0
- package/dist/type-fields/signature.format_vo.js +61 -0
- package/dist/type-fields/signature.format_vo.js.map +1 -0
- package/dist/type-fields/status-aplicacao.format_vo.d.ts +27 -0
- package/dist/type-fields/status-aplicacao.format_vo.d.ts.map +1 -0
- package/dist/type-fields/status-aplicacao.format_vo.js +69 -0
- package/dist/type-fields/status-aplicacao.format_vo.js.map +1 -0
- package/dist/type-fields/string.format_vo.d.ts +19 -0
- package/dist/type-fields/string.format_vo.d.ts.map +1 -0
- package/dist/type-fields/string.format_vo.js +50 -0
- package/dist/type-fields/string.format_vo.js.map +1 -0
- package/dist/type-fields/text.format_vo.d.ts +19 -0
- package/dist/type-fields/text.format_vo.d.ts.map +1 -0
- package/dist/type-fields/text.format_vo.js +50 -0
- package/dist/type-fields/text.format_vo.js.map +1 -0
- package/dist/type-fields/trace-id.format_vo.d.ts +118 -0
- package/dist/type-fields/trace-id.format_vo.d.ts.map +1 -0
- package/dist/type-fields/trace-id.format_vo.js +120 -0
- package/dist/type-fields/trace-id.format_vo.js.map +1 -0
- package/dist/type-fields/type-field.base.d.ts +37 -0
- package/dist/type-fields/type-field.base.d.ts.map +1 -0
- package/dist/type-fields/type-field.base.js +108 -0
- package/dist/type-fields/type-field.base.js.map +1 -0
- package/dist/type-fields/type-field.config.d.ts +44 -0
- package/dist/type-fields/type-field.config.d.ts.map +1 -0
- package/dist/type-fields/type-field.config.js +3 -0
- package/dist/type-fields/type-field.config.js.map +1 -0
- package/package.json +44 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FSignature = 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 FSignature extends type_field_base_1.TypeField {
|
|
9
|
+
typeInference = "FSignature";
|
|
10
|
+
static BASE64_REGEX = /^[A-Za-z0-9+/]+=*$/;
|
|
11
|
+
config = {
|
|
12
|
+
jsonSchemaType: "string",
|
|
13
|
+
minLength: 64,
|
|
14
|
+
maxLength: 512,
|
|
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.isString(value, fieldPath, 64, 512);
|
|
22
|
+
if (!base.success)
|
|
23
|
+
return base;
|
|
24
|
+
const str = value;
|
|
25
|
+
const cleanValue = str.replace(/\s/g, "");
|
|
26
|
+
if (!FSignature.BASE64_REGEX.test(cleanValue) || cleanValue.length < 64) {
|
|
27
|
+
return (0, result_1.err)(validation_exception_1.ExceptionValidation.create(fieldPath, "Assinatura deve ser uma string base64 válida"));
|
|
28
|
+
}
|
|
29
|
+
return result_1.OK_TRUE;
|
|
30
|
+
}
|
|
31
|
+
static create(raw, fieldPath = "Signature") {
|
|
32
|
+
const validation = FSignature.validateRaw(raw, fieldPath);
|
|
33
|
+
if (!validation.success)
|
|
34
|
+
return (0, result_1.err)(validation.error);
|
|
35
|
+
return (0, result_1.ok)(new FSignature(raw, fieldPath));
|
|
36
|
+
}
|
|
37
|
+
static createOrThrow(raw, fieldPath = "Signature") {
|
|
38
|
+
const result = this.create(raw, fieldPath);
|
|
39
|
+
if ((0, result_1.isFailure)(result))
|
|
40
|
+
throw result.error;
|
|
41
|
+
return result.value;
|
|
42
|
+
}
|
|
43
|
+
validate(value, fieldPath) {
|
|
44
|
+
return FSignature.validateRaw(value, fieldPath);
|
|
45
|
+
}
|
|
46
|
+
toString() {
|
|
47
|
+
return String(this.getValue());
|
|
48
|
+
}
|
|
49
|
+
formatted() {
|
|
50
|
+
const formatSignature = (value) => value.trim();
|
|
51
|
+
return formatSignature(this.getValue());
|
|
52
|
+
}
|
|
53
|
+
getDescription() {
|
|
54
|
+
return "Assinatura digital no formato base64. Utilizada para verificação de autenticidade e integridade de dados em comunicações seguras e autenticação assimétrica.";
|
|
55
|
+
}
|
|
56
|
+
getShortDescription() {
|
|
57
|
+
return "Assinatura digital base64";
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.FSignature = FSignature;
|
|
61
|
+
//# sourceMappingURL=signature.format_vo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature.format_vo.js","sourceRoot":"","sources":["../../src/type-fields/signature.format_vo.ts"],"names":[],"mappings":";;;AAAA,0EAAiE;AAEjE,4CAAsE;AACtE,mFAA+E;AAC/E,0DAAsD;AAItD,MAAa,UAAW,SAAQ,2BAAqB;IACjC,aAAa,GAAG,YAAY,CAAC;IAEvC,MAAM,CAAU,YAAY,GAAG,oBAAoB,CAAC;IAE1C,MAAM,GAAiC;QACvD,cAAc,EAAE,QAAQ;QACxB,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,GAAG;QACd,iBAAiB,EAAE,KAAK;KACzB,CAAC;IAEF,YAAoB,KAAiB,EAAE,SAAiB;QACtD,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,EAAE,EAAE,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE/B,MAAM,GAAG,GAAG,KAAe,CAAC;QAC5B,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACxE,OAAO,IAAA,YAAG,EACR,0CAAmB,CAAC,MAAM,CACxB,SAAS,EACT,8CAA8C,CAC/C,CACF,CAAC;QACJ,CAAC;QAED,OAAO,gBAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,MAAM,CACX,GAAe,EACf,SAAS,GAAG,WAAW;QAEvB,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,OAAO,IAAA,YAAG,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,IAAA,WAAE,EAAC,IAAI,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,GAAe,EAAE,SAAS,GAAG,WAAW;QAC3D,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,KAAiB,EACjB,SAAiB;QAEjB,OAAO,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAEQ,QAAQ;QACf,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjC,CAAC;IAEQ,SAAS;QAChB,MAAM,eAAe,GAAsC,CAAC,KAAK,EAAE,EAAE,CACnE,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,CAAC;IAEQ,cAAc;QACrB,OAAO,8JAA8J,CAAC;IACxK,CAAC;IAEQ,mBAAmB;QAC1B,OAAO,2BAA2B,CAAC;IACrC,CAAC;;AA3EH,gCA4EC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
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 declare const OStatusAplicacao: {
|
|
6
|
+
readonly ACTIVE: "active";
|
|
7
|
+
readonly INACTIVE: "inactive";
|
|
8
|
+
};
|
|
9
|
+
export type TKeyStatusAplicacao = keyof typeof OStatusAplicacao;
|
|
10
|
+
export type TStatusAplicacao = (typeof OStatusAplicacao)[TKeyStatusAplicacao];
|
|
11
|
+
export declare class FStatusAplicacao extends TypeField<TStatusAplicacao, string> {
|
|
12
|
+
readonly typeInference = "FStatusAplicacao";
|
|
13
|
+
readonly config: ITypeFieldConfig<TStatusAplicacao>;
|
|
14
|
+
private constructor();
|
|
15
|
+
static validateRaw(value: unknown, fieldPath: string): Result<true, ExceptionValidation>;
|
|
16
|
+
static create(raw: TStatusAplicacao, fieldPath?: string): Result<FStatusAplicacao, ExceptionValidation>;
|
|
17
|
+
static createOrThrow(raw: TStatusAplicacao, fieldPath?: string): FStatusAplicacao;
|
|
18
|
+
static fromBoolean(isActive: boolean): FStatusAplicacao;
|
|
19
|
+
static generate(): FStatusAplicacao;
|
|
20
|
+
validate(value: TStatusAplicacao, fieldPath: string): Result<true, ExceptionValidation>;
|
|
21
|
+
isActive(): boolean;
|
|
22
|
+
toString(): string;
|
|
23
|
+
formatted(): string;
|
|
24
|
+
getDescription(): string;
|
|
25
|
+
getShortDescription(): string;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=status-aplicacao.format_vo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-aplicacao.format_vo.d.ts","sourceRoot":"","sources":["../../src/type-fields/status-aplicacao.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,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAE9E,qBAAa,gBAAiB,SAAQ,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACvE,SAAkB,aAAa,sBAAsB;IAErD,SAAkB,MAAM,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAM1D;IAEF,OAAO;IAIP,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAMxF,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,gBAAgB,EACrB,SAAS,SAAoB,GAC5B,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;IAMhD,MAAM,CAAC,aAAa,CAClB,GAAG,EAAE,gBAAgB,EACrB,SAAS,SAAoB,GAC5B,gBAAgB;IAMnB,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,gBAAgB;IAOvD,MAAM,CAAC,QAAQ,IAAI,gBAAgB;IAI1B,QAAQ,CACf,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAIpC,QAAQ,IAAI,OAAO;IAIV,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;IAInB,cAAc,IAAI,MAAM;IAIxB,mBAAmB,IAAI,MAAM;CAGvC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FStatusAplicacao = exports.OStatusAplicacao = void 0;
|
|
4
|
+
const type_field_base_1 = require("../type-fields/type-field.base");
|
|
5
|
+
const result_1 = require("../result");
|
|
6
|
+
exports.OStatusAplicacao = {
|
|
7
|
+
ACTIVE: "active",
|
|
8
|
+
INACTIVE: "inactive",
|
|
9
|
+
};
|
|
10
|
+
class FStatusAplicacao extends type_field_base_1.TypeField {
|
|
11
|
+
typeInference = "FStatusAplicacao";
|
|
12
|
+
config = {
|
|
13
|
+
jsonSchemaType: "string",
|
|
14
|
+
minLength: 1,
|
|
15
|
+
maxLength: 10,
|
|
16
|
+
validateEnum: exports.OStatusAplicacao,
|
|
17
|
+
serializeAsString: false,
|
|
18
|
+
};
|
|
19
|
+
constructor(value, fieldPath) {
|
|
20
|
+
super(value, fieldPath);
|
|
21
|
+
}
|
|
22
|
+
static validateRaw(value, fieldPath) {
|
|
23
|
+
const resolved = FStatusAplicacao.resolveEnum(exports.OStatusAplicacao, value, fieldPath);
|
|
24
|
+
if (!resolved.success)
|
|
25
|
+
return (0, result_1.err)(resolved.error);
|
|
26
|
+
return result_1.OK_TRUE;
|
|
27
|
+
}
|
|
28
|
+
static create(raw, fieldPath = "StatusAplicacao") {
|
|
29
|
+
const validation = FStatusAplicacao.validateRaw(raw, fieldPath);
|
|
30
|
+
if (!validation.success)
|
|
31
|
+
return (0, result_1.err)(validation.error);
|
|
32
|
+
return (0, result_1.ok)(new FStatusAplicacao(raw, fieldPath));
|
|
33
|
+
}
|
|
34
|
+
static createOrThrow(raw, fieldPath = "StatusAplicacao") {
|
|
35
|
+
const result = this.create(raw, fieldPath);
|
|
36
|
+
if ((0, result_1.isFailure)(result))
|
|
37
|
+
throw result.error;
|
|
38
|
+
return result.value;
|
|
39
|
+
}
|
|
40
|
+
static fromBoolean(isActive) {
|
|
41
|
+
const status = isActive
|
|
42
|
+
? exports.OStatusAplicacao.ACTIVE
|
|
43
|
+
: exports.OStatusAplicacao.INACTIVE;
|
|
44
|
+
return FStatusAplicacao.createOrThrow(status, "StatusAplicacao");
|
|
45
|
+
}
|
|
46
|
+
static generate() {
|
|
47
|
+
return FStatusAplicacao.createOrThrow(exports.OStatusAplicacao.ACTIVE, "StatusAplicacao");
|
|
48
|
+
}
|
|
49
|
+
validate(value, fieldPath) {
|
|
50
|
+
return FStatusAplicacao.validateRaw(value, fieldPath);
|
|
51
|
+
}
|
|
52
|
+
isActive() {
|
|
53
|
+
return this.getValue() === exports.OStatusAplicacao.ACTIVE;
|
|
54
|
+
}
|
|
55
|
+
toString() {
|
|
56
|
+
return String(this.getValue());
|
|
57
|
+
}
|
|
58
|
+
formatted() {
|
|
59
|
+
return String(this.getValue());
|
|
60
|
+
}
|
|
61
|
+
getDescription() {
|
|
62
|
+
return "Status da aplicacao no sistema. ACTIVE indica aplicacao operacional, INACTIVE indica aplicacao desativada.";
|
|
63
|
+
}
|
|
64
|
+
getShortDescription() {
|
|
65
|
+
return "Status da aplicacao";
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.FStatusAplicacao = FStatusAplicacao;
|
|
69
|
+
//# sourceMappingURL=status-aplicacao.format_vo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-aplicacao.format_vo.js","sourceRoot":"","sources":["../../src/type-fields/status-aplicacao.format_vo.ts"],"names":[],"mappings":";;;AAAA,0EAAiE;AAEjE,4CAAsE;AAGzD,QAAA,gBAAgB,GAAG;IAC9B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAKX,MAAa,gBAAiB,SAAQ,2BAAmC;IACrD,aAAa,GAAG,kBAAkB,CAAC;IAEnC,MAAM,GAAuC;QAC7D,cAAc,EAAE,QAAQ;QACxB,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,wBAAgB;QAC9B,iBAAiB,EAAE,KAAK;KACzB,CAAC;IAEF,YAAoB,KAAuB,EAAE,SAAiB;QAC5D,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,KAAc,EAAE,SAAiB;QAClD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,wBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAClF,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO,IAAA,YAAG,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,gBAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,MAAM,CACX,GAAqB,EACrB,SAAS,GAAG,iBAAiB;QAE7B,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,OAAO,IAAA,YAAG,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,IAAA,WAAE,EAAC,IAAI,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,aAAa,CAClB,GAAqB,EACrB,SAAS,GAAG,iBAAiB;QAE7B,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;IAED,MAAM,CAAC,WAAW,CAAC,QAAiB;QAClC,MAAM,MAAM,GAAG,QAAQ;YACrB,CAAC,CAAC,wBAAgB,CAAC,MAAM;YACzB,CAAC,CAAC,wBAAgB,CAAC,QAAQ,CAAC;QAC9B,OAAO,gBAAgB,CAAC,aAAa,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,QAAQ;QACb,OAAO,gBAAgB,CAAC,aAAa,CAAC,wBAAgB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACpF,CAAC;IAEQ,QAAQ,CACf,KAAuB,EACvB,SAAiB;QAEjB,OAAO,gBAAgB,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,wBAAgB,CAAC,MAAM,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,4GAA4G,CAAC;IACtH,CAAC;IAEQ,mBAAmB;QAC1B,OAAO,qBAAqB,CAAC;IAC/B,CAAC;CACF;AA5ED,4CA4EC"}
|
|
@@ -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 TString = string;
|
|
6
|
+
export declare class FString extends TypeField<TString> {
|
|
7
|
+
readonly typeInference = "FString";
|
|
8
|
+
readonly config: ITypeFieldConfig<TString>;
|
|
9
|
+
private constructor();
|
|
10
|
+
static validateRaw(value: unknown, fieldPath: string): Result<true, ExceptionValidation>;
|
|
11
|
+
static create(raw: TString, fieldPath?: string): Result<FString, ExceptionValidation>;
|
|
12
|
+
static createOrThrow(raw: TString, fieldPath?: string): FString;
|
|
13
|
+
validate(value: TString, fieldPath: string): Result<true, ExceptionValidation>;
|
|
14
|
+
toString(): string;
|
|
15
|
+
formatted(): string;
|
|
16
|
+
getDescription(): string;
|
|
17
|
+
getShortDescription(): string;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=string.format_vo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.format_vo.d.ts","sourceRoot":"","sources":["../../src/type-fields/string.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,OAAO,GAAG,MAAM,CAAC;AAE7B,qBAAa,OAAQ,SAAQ,SAAS,CAAC,OAAO,CAAC;IAC7C,SAAkB,aAAa,aAAa;IAE5C,SAAkB,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAKjD;IAEF,OAAO;IAIP,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAIxF,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,OAAO,EACZ,SAAS,SAAW,GACnB,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC;IAMvC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,SAAW,GAAG,OAAO;IAMxD,QAAQ,CACf,KAAK,EAAE,OAAO,EACd,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.FString = 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 FString extends type_field_base_1.TypeField {
|
|
8
|
+
typeInference = "FString";
|
|
9
|
+
config = {
|
|
10
|
+
jsonSchemaType: "string",
|
|
11
|
+
minLength: 1,
|
|
12
|
+
maxLength: 255,
|
|
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, 1, 255);
|
|
20
|
+
}
|
|
21
|
+
static create(raw, fieldPath = "String") {
|
|
22
|
+
const validation = FString.validateRaw(raw, fieldPath);
|
|
23
|
+
if (!validation.success)
|
|
24
|
+
return (0, result_1.err)(validation.error);
|
|
25
|
+
return (0, result_1.ok)(new FString(raw, fieldPath));
|
|
26
|
+
}
|
|
27
|
+
static createOrThrow(raw, fieldPath = "String") {
|
|
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 FString.validateRaw(value, fieldPath);
|
|
35
|
+
}
|
|
36
|
+
toString() {
|
|
37
|
+
return String(this.getValue());
|
|
38
|
+
}
|
|
39
|
+
formatted() {
|
|
40
|
+
return String(this.getValue());
|
|
41
|
+
}
|
|
42
|
+
getDescription() {
|
|
43
|
+
return "Texto simples sem formatação específica.";
|
|
44
|
+
}
|
|
45
|
+
getShortDescription() {
|
|
46
|
+
return "Texto simples";
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.FString = FString;
|
|
50
|
+
//# sourceMappingURL=string.format_vo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.format_vo.js","sourceRoot":"","sources":["../../src/type-fields/string.format_vo.ts"],"names":[],"mappings":";;;AAAA,0EAAiE;AAEjE,4CAA6D;AAE7D,0DAAsD;AAItD,MAAa,OAAQ,SAAQ,2BAAkB;IAC3B,aAAa,GAAG,SAAS,CAAC;IAE1B,MAAM,GAA8B;QACpD,cAAc,EAAE,QAAQ;QACxB,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,GAAG;QACd,iBAAiB,EAAE,KAAK;KACzB,CAAC;IAEF,YAAoB,KAAc,EAAE,SAAiB;QACnD,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,KAAc,EAAE,SAAiB;QAClD,OAAO,sBAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,MAAM,CACX,GAAY,EACZ,SAAS,GAAG,QAAQ;QAEpB,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,OAAO,IAAA,YAAG,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,IAAA,WAAE,EAAC,IAAI,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,GAAY,EAAE,SAAS,GAAG,QAAQ;QACrD,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,KAAc,EACd,SAAiB;QAEjB,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/C,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,0CAA0C,CAAC;IACpD,CAAC;IAEQ,mBAAmB;QAC1B,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AAvDD,0BAuDC"}
|
|
@@ -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 TText = string;
|
|
6
|
+
export declare class FText extends TypeField<TText> {
|
|
7
|
+
readonly typeInference = "FText";
|
|
8
|
+
readonly config: ITypeFieldConfig<TText>;
|
|
9
|
+
private constructor();
|
|
10
|
+
static validateRaw(value: unknown, fieldPath: string): Result<true, ExceptionValidation>;
|
|
11
|
+
static create(raw: TText, fieldPath?: string): Result<FText, ExceptionValidation>;
|
|
12
|
+
static createOrThrow(raw: TText, fieldPath?: string): FText;
|
|
13
|
+
validate(value: TText, fieldPath: string): Result<true, ExceptionValidation>;
|
|
14
|
+
toString(): string;
|
|
15
|
+
formatted(): string;
|
|
16
|
+
getDescription(): string;
|
|
17
|
+
getShortDescription(): string;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=text.format_vo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.format_vo.d.ts","sourceRoot":"","sources":["../../src/type-fields/text.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,KAAK,GAAG,MAAM,CAAC;AAE3B,qBAAa,KAAM,SAAQ,SAAS,CAAC,KAAK,CAAC;IACzC,SAAkB,aAAa,WAAW;IAE1C,SAAkB,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAK/C;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,KAAK,EACV,SAAS,SAAS,GACjB,MAAM,CAAC,KAAK,EAAE,mBAAmB,CAAC;IAMrC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,SAAS,GAAG,KAAK;IAMlD,QAAQ,CACf,KAAK,EAAE,KAAK,EACZ,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.FText = 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 FText extends type_field_base_1.TypeField {
|
|
8
|
+
typeInference = "FText";
|
|
9
|
+
config = {
|
|
10
|
+
jsonSchemaType: "string",
|
|
11
|
+
minLength: 1,
|
|
12
|
+
maxLength: 4000,
|
|
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, 1, 4000);
|
|
20
|
+
}
|
|
21
|
+
static create(raw, fieldPath = "Text") {
|
|
22
|
+
const validation = FText.validateRaw(raw, fieldPath);
|
|
23
|
+
if (!validation.success)
|
|
24
|
+
return (0, result_1.err)(validation.error);
|
|
25
|
+
return (0, result_1.ok)(new FText(raw, fieldPath));
|
|
26
|
+
}
|
|
27
|
+
static createOrThrow(raw, fieldPath = "Text") {
|
|
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 FText.validateRaw(value, fieldPath);
|
|
35
|
+
}
|
|
36
|
+
toString() {
|
|
37
|
+
return String(this.getValue());
|
|
38
|
+
}
|
|
39
|
+
formatted() {
|
|
40
|
+
return String(this.getValue());
|
|
41
|
+
}
|
|
42
|
+
getDescription() {
|
|
43
|
+
return "Texto simples sem formatação específica. Campo genérico para armazenar qualquer tipo de string, utilizado quando não há regras específicas de validação ou formatação.";
|
|
44
|
+
}
|
|
45
|
+
getShortDescription() {
|
|
46
|
+
return "Texto simples";
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.FText = FText;
|
|
50
|
+
//# sourceMappingURL=text.format_vo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.format_vo.js","sourceRoot":"","sources":["../../src/type-fields/text.format_vo.ts"],"names":[],"mappings":";;;AAAA,0EAAiE;AAEjE,4CAA6D;AAE7D,0DAAsD;AAItD,MAAa,KAAM,SAAQ,2BAAgB;IACvB,aAAa,GAAG,OAAO,CAAC;IAExB,MAAM,GAA4B;QAClD,cAAc,EAAE,QAAQ;QACxB,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;KACzB,CAAC;IAEF,YAAoB,KAAY,EAAE,SAAiB;QACjD,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,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,MAAM,CACX,GAAU,EACV,SAAS,GAAG,MAAM;QAElB,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,OAAO,IAAA,YAAG,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,IAAA,WAAE,EAAC,IAAI,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,GAAU,EAAE,SAAS,GAAG,MAAM;QACjD,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,KAAY,EACZ,SAAiB;QAEjB,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC7C,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,wKAAwK,CAAC;IAClL,CAAC;IAEQ,mBAAmB;QAC1B,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AA1DD,sBA0DC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
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
|
+
/**
|
|
6
|
+
* FTraceId - Identificador de Rastreamento Distribuído (UUID v7)
|
|
7
|
+
*
|
|
8
|
+
* PROPÓSITO:
|
|
9
|
+
* ==========
|
|
10
|
+
* Identificador único para rastreamento distribuído em sistemas de microserviços.
|
|
11
|
+
* Cada requisição recebe um trace ID que é propagado através de todos os serviços,
|
|
12
|
+
* permitindo correlacionar logs, métricas e debug de ponta a ponta.
|
|
13
|
+
*
|
|
14
|
+
* DIFERENÇA ENTRE FId e FTraceId:
|
|
15
|
+
* ===============================
|
|
16
|
+
* - FId: Identificador de entidade/agregado (pode mudar de formato no futuro)
|
|
17
|
+
* - FTraceId: Identificador de requisição (SEMPRE UUID v7 para ordenação temporal)
|
|
18
|
+
*
|
|
19
|
+
* GARANTIAS DE UNICIDADE (uuid@11.x):
|
|
20
|
+
* ===================================
|
|
21
|
+
* A biblioteca uuid implementa UUID v7 com:
|
|
22
|
+
* 1. Timestamp de 48 bits (ms) - ordenável até ano 10889
|
|
23
|
+
* 2. Contador monotônico interno - garante unicidade no mesmo ms
|
|
24
|
+
* 3. 62 bits de entropia criptográfica - impossível colidir entre processos
|
|
25
|
+
*
|
|
26
|
+
* ESTRUTURA UUID v7 (RFC 9562 - 128 bits):
|
|
27
|
+
* ========================================
|
|
28
|
+
*
|
|
29
|
+
* 0 1 2 3
|
|
30
|
+
* 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
|
|
31
|
+
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
32
|
+
* | unix_ts_ms (32 bits) |
|
|
33
|
+
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
34
|
+
* | unix_ts_ms (16 bits) | ver | rand_a (12 bits) |
|
|
35
|
+
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
36
|
+
* |var| rand_b (62 bits) |
|
|
37
|
+
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
38
|
+
* | rand_b (continued) |
|
|
39
|
+
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
40
|
+
*
|
|
41
|
+
* - unix_ts_ms (48 bits): Timestamp Unix em milissegundos
|
|
42
|
+
* - ver (4 bits): Versão 7 (0111 binário)
|
|
43
|
+
* - rand_a (12 bits): Sub-millisecond precision ou contador monotônico
|
|
44
|
+
* - var (2 bits): Variante RFC 4122 (10 binário)
|
|
45
|
+
* - rand_b (62 bits): Bytes criptograficamente seguros
|
|
46
|
+
*
|
|
47
|
+
* ANÁLISE MATEMÁTICA DE COLISÃO:
|
|
48
|
+
* ==============================
|
|
49
|
+
* Probabilidade de colisão entre processos: 1/2^62 = 1/4.6 quintilhões
|
|
50
|
+
* Gerando 1 trilhão IDs/segundo: ~292 mil anos para 50% de chance
|
|
51
|
+
* CONCLUSÃO: Colisão é estatisticamente impossível.
|
|
52
|
+
*
|
|
53
|
+
* EXEMPLO DE USO:
|
|
54
|
+
* ===============
|
|
55
|
+
* ```typescript
|
|
56
|
+
* // Gerar novo trace ID (API Gateway)
|
|
57
|
+
* const traceId = FTraceId.generate();
|
|
58
|
+
*
|
|
59
|
+
* // Validar trace ID recebido (Microserviço)
|
|
60
|
+
* const result = FTraceId.create(payload.headers['x-trace-id']);
|
|
61
|
+
* if (isFailure(result)) {
|
|
62
|
+
* return err(result.error);
|
|
63
|
+
* }
|
|
64
|
+
*
|
|
65
|
+
* // Extrair timestamp do trace ID (debug)
|
|
66
|
+
* const timestamp = traceId.getTimestamp();
|
|
67
|
+
* // → Date object
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export type TTraceId = string;
|
|
71
|
+
interface IParsedTraceId {
|
|
72
|
+
timestamp: Date;
|
|
73
|
+
version: number;
|
|
74
|
+
variant: number;
|
|
75
|
+
}
|
|
76
|
+
export declare class FTraceId extends TypeField<TTraceId> {
|
|
77
|
+
readonly typeInference = "FTraceId";
|
|
78
|
+
readonly config: ITypeFieldConfig<TTraceId>;
|
|
79
|
+
private constructor();
|
|
80
|
+
static validateRaw(value: unknown, fieldPath: string): Result<true, ExceptionValidation>;
|
|
81
|
+
static create(raw: TTraceId, fieldPath?: string): Result<FTraceId, ExceptionValidation>;
|
|
82
|
+
static createOrThrow(raw: TTraceId, fieldPath?: string): FTraceId;
|
|
83
|
+
/**
|
|
84
|
+
* Gera um novo trace ID usando UUID v7.
|
|
85
|
+
* Deve ser usado APENAS no API Gateway para gerar o ID inicial.
|
|
86
|
+
*/
|
|
87
|
+
static generate(): FTraceId;
|
|
88
|
+
/**
|
|
89
|
+
* Gera um novo trace ID e retorna apenas a string.
|
|
90
|
+
* Útil quando não precisa do wrapper FTraceId.
|
|
91
|
+
*/
|
|
92
|
+
static generateString(): string;
|
|
93
|
+
/**
|
|
94
|
+
* Retorna o padrão regex para validação externa.
|
|
95
|
+
* Útil para schemas de validação (Zod, Joi, etc).
|
|
96
|
+
*/
|
|
97
|
+
static getPattern(): RegExp;
|
|
98
|
+
/**
|
|
99
|
+
* Valida se uma string é um trace ID válido (UUID v7).
|
|
100
|
+
*/
|
|
101
|
+
static isValid(value: string): boolean;
|
|
102
|
+
validate(value: TTraceId, fieldPath: string): Result<true, ExceptionValidation>;
|
|
103
|
+
/**
|
|
104
|
+
* Extrai o timestamp de quando o trace ID foi gerado.
|
|
105
|
+
* Útil para debug e análise de latência.
|
|
106
|
+
*/
|
|
107
|
+
getTimestamp(): Date;
|
|
108
|
+
/**
|
|
109
|
+
* Extrai informações detalhadas do UUID v7.
|
|
110
|
+
*/
|
|
111
|
+
parse(): IParsedTraceId | null;
|
|
112
|
+
toString(): string;
|
|
113
|
+
formatted(): string;
|
|
114
|
+
getDescription(): string;
|
|
115
|
+
getShortDescription(): string;
|
|
116
|
+
}
|
|
117
|
+
export {};
|
|
118
|
+
//# sourceMappingURL=trace-id.format_vo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-id.format_vo.d.ts","sourceRoot":"","sources":["../../src/type-fields/trace-id.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;AAI/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,UAAU,cAAc;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,qBAAa,QAAS,SAAQ,SAAS,CAAC,QAAQ,CAAC;IAC/C,SAAkB,aAAa,cAAc;IAE7C,SAAkB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAKlD;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,QAAQ,EACb,SAAS,SAAY,GACpB,MAAM,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IAQxC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,SAAY,GAAG,QAAQ;IAMpE;;;OAGG;IACH,MAAM,CAAC,QAAQ,IAAI,QAAQ;IAK3B;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI,MAAM;IAI/B;;;OAGG;IACH,MAAM,CAAC,UAAU,IAAI,MAAM;IAI3B;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI7B,QAAQ,CACf,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAIpC;;;OAGG;IACH,YAAY,IAAI,IAAI;IAKpB;;OAEG;IACH,KAAK,IAAI,cAAc,GAAG,IAAI;IA2BrB,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;IAInB,cAAc,IAAI,MAAM;IAIxB,mBAAmB,IAAI,MAAM;CAGvC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FTraceId = 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
|
+
const uuid_1 = require("uuid");
|
|
9
|
+
const UUID_V7_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
10
|
+
class FTraceId extends type_field_base_1.TypeField {
|
|
11
|
+
typeInference = "FTraceId";
|
|
12
|
+
config = {
|
|
13
|
+
jsonSchemaType: "string",
|
|
14
|
+
minLength: 36,
|
|
15
|
+
maxLength: 36,
|
|
16
|
+
serializeAsString: false,
|
|
17
|
+
};
|
|
18
|
+
constructor(value, fieldPath) {
|
|
19
|
+
super(value, fieldPath);
|
|
20
|
+
}
|
|
21
|
+
static validateRaw(value, fieldPath) {
|
|
22
|
+
const parsed = typeof value === "string" ? value.trim() : String(value);
|
|
23
|
+
const base = type_guard_1.TypeGuard.isString(parsed, fieldPath, 36, 36);
|
|
24
|
+
if (!base.success)
|
|
25
|
+
return base;
|
|
26
|
+
if (!UUID_V7_PATTERN.test(parsed)) {
|
|
27
|
+
return (0, result_1.err)(validation_exception_1.ExceptionValidation.create(fieldPath, "TraceId deve ser UUID v7 valido (versao 7, variante RFC 4122)"));
|
|
28
|
+
}
|
|
29
|
+
return result_1.OK_TRUE;
|
|
30
|
+
}
|
|
31
|
+
static create(raw, fieldPath = "TraceId") {
|
|
32
|
+
const parsedValue = typeof raw === "string" ? raw.trim() : String(raw);
|
|
33
|
+
const validation = FTraceId.validateRaw(parsedValue, fieldPath);
|
|
34
|
+
if (!validation.success)
|
|
35
|
+
return (0, result_1.err)(validation.error);
|
|
36
|
+
return (0, result_1.ok)(new FTraceId(parsedValue, fieldPath));
|
|
37
|
+
}
|
|
38
|
+
static createOrThrow(raw, fieldPath = "TraceId") {
|
|
39
|
+
const result = this.create(raw, fieldPath);
|
|
40
|
+
if ((0, result_1.isFailure)(result))
|
|
41
|
+
throw result.error;
|
|
42
|
+
return result.value;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Gera um novo trace ID usando UUID v7.
|
|
46
|
+
* Deve ser usado APENAS no API Gateway para gerar o ID inicial.
|
|
47
|
+
*/
|
|
48
|
+
static generate() {
|
|
49
|
+
const uuid = (0, uuid_1.v7)();
|
|
50
|
+
return FTraceId.createOrThrow(uuid, "TraceId");
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Gera um novo trace ID e retorna apenas a string.
|
|
54
|
+
* Útil quando não precisa do wrapper FTraceId.
|
|
55
|
+
*/
|
|
56
|
+
static generateString() {
|
|
57
|
+
return (0, uuid_1.v7)();
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Retorna o padrão regex para validação externa.
|
|
61
|
+
* Útil para schemas de validação (Zod, Joi, etc).
|
|
62
|
+
*/
|
|
63
|
+
static getPattern() {
|
|
64
|
+
return UUID_V7_PATTERN;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Valida se uma string é um trace ID válido (UUID v7).
|
|
68
|
+
*/
|
|
69
|
+
static isValid(value) {
|
|
70
|
+
return UUID_V7_PATTERN.test(value);
|
|
71
|
+
}
|
|
72
|
+
validate(value, fieldPath) {
|
|
73
|
+
return FTraceId.validateRaw(value, fieldPath);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Extrai o timestamp de quando o trace ID foi gerado.
|
|
77
|
+
* Útil para debug e análise de latência.
|
|
78
|
+
*/
|
|
79
|
+
getTimestamp() {
|
|
80
|
+
const parsed = this.parse();
|
|
81
|
+
return parsed?.timestamp ?? new Date(0);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Extrai informações detalhadas do UUID v7.
|
|
85
|
+
*/
|
|
86
|
+
parse() {
|
|
87
|
+
const hex = this._value.replace(/-/g, "");
|
|
88
|
+
const bytes = new Uint8Array(16);
|
|
89
|
+
for (let i = 0; i < 16; i++) {
|
|
90
|
+
bytes[i] = parseInt(hex.slice(i * 2, i * 2 + 2), 16);
|
|
91
|
+
}
|
|
92
|
+
const timestamp = Number((BigInt(bytes[0]) << 40n) |
|
|
93
|
+
(BigInt(bytes[1]) << 32n) |
|
|
94
|
+
(BigInt(bytes[2]) << 24n) |
|
|
95
|
+
(BigInt(bytes[3]) << 16n) |
|
|
96
|
+
(BigInt(bytes[4]) << 8n) |
|
|
97
|
+
BigInt(bytes[5]));
|
|
98
|
+
const version = (bytes[6] >> 4) & 0x0f;
|
|
99
|
+
const variant = (bytes[8] >> 6) & 0x03;
|
|
100
|
+
return {
|
|
101
|
+
timestamp: new Date(timestamp),
|
|
102
|
+
version,
|
|
103
|
+
variant,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
toString() {
|
|
107
|
+
return String(this.getValue());
|
|
108
|
+
}
|
|
109
|
+
formatted() {
|
|
110
|
+
return String(this.getValue());
|
|
111
|
+
}
|
|
112
|
+
getDescription() {
|
|
113
|
+
return "Identificador único de rastreamento distribuído no formato UUID v7 (RFC 9562). Usado para correlacionar logs, métricas e debug entre microserviços. Contém timestamp embutido para ordenação temporal.";
|
|
114
|
+
}
|
|
115
|
+
getShortDescription() {
|
|
116
|
+
return "Trace ID (UUID v7)";
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
exports.FTraceId = FTraceId;
|
|
120
|
+
//# sourceMappingURL=trace-id.format_vo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-id.format_vo.js","sourceRoot":"","sources":["../../src/type-fields/trace-id.format_vo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Result } from "../result";
|
|
2
|
+
import { ExceptionValidation } from "../exceptions";
|
|
3
|
+
import { ITypeFieldConfig } from "./type-field.config";
|
|
4
|
+
export { TJsonSchemaType } from "./type-field.config";
|
|
5
|
+
export declare abstract class TypeField<TPrimitive, TFormatted = TPrimitive> {
|
|
6
|
+
protected readonly _value: TPrimitive;
|
|
7
|
+
protected readonly fieldPath: string;
|
|
8
|
+
/** Nome usado para inferência de tipo */
|
|
9
|
+
abstract readonly typeInference: string;
|
|
10
|
+
/** Configurações de validação e serialização */
|
|
11
|
+
abstract readonly config: ITypeFieldConfig<TPrimitive>;
|
|
12
|
+
protected constructor(_value: TPrimitive, fieldPath: string);
|
|
13
|
+
/**
|
|
14
|
+
* Resolve um valor de enum, validando por chave e/ou valor conforme config
|
|
15
|
+
*/
|
|
16
|
+
protected static resolveEnum<E extends Record<string, string | number>>(enumObj: E, raw: unknown, fieldPath: string): Result<E[keyof E], ExceptionValidation>;
|
|
17
|
+
/**
|
|
18
|
+
* Valida o valor contra o schema configurado
|
|
19
|
+
*/
|
|
20
|
+
protected validate(value: TPrimitive, fieldPath: string): Result<true, ExceptionValidation>;
|
|
21
|
+
/** Retorna o valor primitivo bruto */
|
|
22
|
+
getValue(): TPrimitive;
|
|
23
|
+
abstract getDescription(): string;
|
|
24
|
+
abstract getShortDescription(): string;
|
|
25
|
+
abstract formatted(): TFormatted;
|
|
26
|
+
equals(other?: TypeField<TPrimitive, TFormatted>): boolean;
|
|
27
|
+
toString(): string;
|
|
28
|
+
toInt(): Result<number, ExceptionValidation>;
|
|
29
|
+
getDocumentationAux(): {
|
|
30
|
+
value: TPrimitive;
|
|
31
|
+
formatted: TFormatted;
|
|
32
|
+
description: string;
|
|
33
|
+
};
|
|
34
|
+
isEmpty(): boolean;
|
|
35
|
+
toJSON(): TPrimitive | string;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=type-field.base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-field.base.d.ts","sourceRoot":"","sources":["../../src/type-fields/type-field.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AActD,8BAAsB,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU;IAO/D,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU;IACrC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;IAPtC,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IACxC,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAEvD,SAAS,aACY,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,MAAM;IAGtC;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACpE,OAAO,EAAE,CAAC,EACV,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAa1C;;OAEG;IACH,SAAS,CAAC,QAAQ,CAChB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IA6DpC,sCAAsC;IACtC,QAAQ,IAAI,UAAU;IAItB,QAAQ,CAAC,cAAc,IAAI,MAAM;IACjC,QAAQ,CAAC,mBAAmB,IAAI,MAAM;IACtC,QAAQ,CAAC,SAAS,IAAI,UAAU;IAEhC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,OAAO;IAQ1D,QAAQ,IAAI,MAAM;IAIlB,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAY5C,mBAAmB,IAAI;QACrB,KAAK,EAAE,UAAU,CAAC;QAClB,SAAS,EAAE,UAAU,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB;IAQD,OAAO,IAAI,OAAO;IAIlB,MAAM,IAAI,UAAU,GAAG,MAAM;CAG9B"}
|