UNPKG

@thisisagile/easy

Version:

Straightforward library for building domain-driven microservice architectures

35 lines (33 loc) 759 B
import { Enum, text, toList } from "./chunk-AVHYDITZ.mjs"; import { kebab } from "./chunk-NNA77YYC.mjs"; import { isString } from "./chunk-AAND4MKF.mjs"; // src/process/Scope.ts var Scope = class _Scope extends Enum { constructor(name, id = text(name).kebab, subs = toList()) { super(name, id.toString()); this.name = name; this.subs = subs; } for(item) { return new _Scope(`${this.name} ${isString(item) ? text(item).title : item.name}`, kebab(`${this.id} ${isString(item) ? item : item.id}`)); } combines(...scopes) { this.subs.add(scopes); return this; } expand() { return this.subs.flatMap((s) => s.expand()).add(this).distinct(); } }; export { Scope }; //# sourceMappingURL=chunk-MRV7FQNU.mjs.map