@thisisagile/easy
Version:
Straightforward library for building domain-driven microservice architectures
1 lines • 1.31 kB
Source Map (JSON)
{"version":3,"sources":["../src/domain/Struct.ts"],"sourcesContent":["import { Validatable } from '../types/Validatable';\nimport { validate } from '../validation/Validate';\nimport { json, Json } from '../types/Json';\nimport { isDefined } from '../types/Is';\n\nexport abstract class Struct implements Validatable {\n constructor(protected readonly state: any = {}) {}\n\n get isValid(): boolean {\n return validate(this).isValid;\n }\n\n toJSON(): Json {\n return json.delete(json.parse({ ...this }), 'state');\n }\n\n toString(): string {\n return this.constructor.name;\n }\n\n update(_add: Json): Struct {\n return this;\n }\n\n protected merge(a: unknown): Json {\n return json.merge(this, a);\n }\n}\n\nexport function isStruct(s?: unknown): s is Struct {\n return isDefined(s) && s instanceof Struct;\n}\n"],"mappings":";;;;;;;;;;;AAKO,IAAe,SAAf,MAA6C;AAAA,EAClD,YAA+B,QAAa,CAAC,GAAG;AAAjB;AAAA,EAAkB;AAAA,EAEjD,IAAI,UAAmB;AACrB,WAAO,SAAS,IAAI,EAAE;AAAA,EACxB;AAAA,EAEA,SAAe;AACb,WAAO,KAAK,OAAO,KAAK,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO;AAAA,EACrD;AAAA,EAEA,WAAmB;AACjB,WAAO,KAAK,YAAY;AAAA,EAC1B;AAAA,EAEA,OAAO,MAAoB;AACzB,WAAO;AAAA,EACT;AAAA,EAEU,MAAM,GAAkB;AAChC,WAAO,KAAK,MAAM,MAAM,CAAC;AAAA,EAC3B;AACF;AAEO,SAAS,SAAS,GAA0B;AACjD,SAAO,UAAU,CAAC,KAAK,aAAa;AACtC;","names":[]}