UNPKG

@triviality/core

Version:
20 lines (19 loc) 918 B
/// <reference types="ts-toolbelt" /> import { SF } from '../ServiceFactory'; import { ServiceFunctionReferenceContainerInterface } from '../Container/ServiceFunctionReferenceContainerInterface'; /** * Context for overriding services. */ export interface OverrideContext<T> { override: Overrides<T>; } export declare const createFeatureFactoryOverrideContext: (container: ServiceFunctionReferenceContainerInterface<any>) => OverrideContext<any>; /** * TODO: original should be a function, so it's not always needed to execute service factory. */ declare type OverrideWith<T> = (original: SF<T>) => T; export declare type Overrides<T> = { [K in keyof T]: (overrideWith: OverrideWith<T[K]>) => {}; }; export declare const overrideBy: import("Function/Curry").Curry<(container: ServiceFunctionReferenceContainerInterface<any>, serviceTagToOverride: string, overrideWith: OverrideWith<any>) => {}>; export {};