UNPKG

@suites/unit

Version:
21 lines (20 loc) 808 B
/** * Shared package resolver with IoC composition. * Module-specific strategies are injected via constructor. * @module */ import type { DependencyInjectionAdapter } from '@suites/types.di'; import type { DoublesAdapter } from '@suites/types.doubles'; /** * Strategy function for checking if a package is available */ export type PackageResolverStrategy = (path: string) => boolean; /** * Package resolver that uses an injected strategy to check package availability */ export declare class PackageResolver<TAdapter extends DependencyInjectionAdapter | DoublesAdapter> { private readonly adapters; private readonly resolverStrategy; constructor(adapters: Record<string, string>, resolverStrategy: PackageResolverStrategy); resolveCorrespondingAdapter(): Promise<TAdapter | never>; }