@donverduyn/react-runtime
Version:
effect-ts react integration
18 lines (17 loc) • 1.26 kB
TypeScript
import type { ComponentInstanceApi } from '@/hooks/useComponentInstance/useComponentInstance';
import type { DryRunCandidateAncestor } from '@/hooks/useDryRun/factories/DryRunCandidate';
import { type DryRunApi } from '@/hooks/useDryRun/useDryRun';
import type { TreeMapStore } from '@/hooks/useTreeMap/useTreeMap';
import type { DeclarationId, ProviderEntry, ScopeId, RegisterId, RuntimeContext } from '@/types';
import type { PropService } from 'utils/effect';
export type ProviderTreeApi = {
register: (id: DeclarationId, providers: ProviderEntry<any, any>[]) => void;
getRoot: (dryRunInstance: DryRunApi) => DryRunCandidateAncestor;
getRootAncestors: (dryRunInstance: DryRunApi) => Map<RegisterId, DryRunCandidateAncestor>;
resolveProviderData: (id: RegisterId, dryRunInstance: DryRunApi, initialModules?: Set<RuntimeContext<any, never, PropService>>) => readonly [
Map<RegisterId, DryRunCandidateAncestor>,
DryRunCandidateAncestor
];
};
export declare const useProviderTree: (scopeId: ScopeId, treeMap: TreeMapStore, componentInstanceApi: ComponentInstanceApi) => ProviderTreeApi;
export declare const getProviderTree: (scopeId: ScopeId, treeMap: TreeMapStore, componentTree: ComponentInstanceApi) => ProviderTreeApi;