UNPKG

@tsed/cli

Version:
47 lines (46 loc) 1.29 kB
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 };