@tsed/cli
Version:
CLI to bootstrap your Ts.ED project
47 lines (46 loc) • 1.29 kB
JavaScript
import { __decorate } from "tslib";
import { Injectable, nameOf, Type } from "@tsed/cli-core";
let ProvidersInfoService = class ProvidersInfoService {
constructor() {
this.map = new Map();
}
/**
*
* @param providerInfo
* @param owner
*/
add(providerInfo, owner) {
this.map.set(providerInfo.value, {
...providerInfo,
owner: nameOf(owner)
});
return this;
}
get(value) {
return this.map.get(value);
}
isMyProvider(value, owner) {
return this.map.get(value)?.owner === nameOf(owner);
}
toArray() {
return Array.from(this.map.values());
}
findProviders(type) {
const providers = this.toArray();
if (!type) {
return providers;
}
type = type.toLowerCase();
if (this.get(type)) {
return [this.get(type)];
}
const proposedProviders = providers.filter((provider) => {
return provider.name.toLowerCase().includes(type) || provider.value.includes(type);
});
return proposedProviders.length ? proposedProviders : providers;
}
};
ProvidersInfoService = __decorate([
Injectable()
], ProvidersInfoService);
export { ProvidersInfoService };