@thisisagile/easy
Version:
Straightforward library for building domain-driven microservice architectures
35 lines (33 loc) • 759 B
JavaScript
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