react-obsidian
Version:
Dependency injection framework for React and React Native applications
16 lines (13 loc) • 478 B
text/typescript
import { shouldUseModernDecorator } from '../../utils/decorators';
import { legacyDecorator } from './provides.legacy';
import { modernDecorator } from './provides.modern';
interface ProvidesParams {
name: string;
}
export function provides({ name }: Partial<ProvidesParams> = {}): any {
return (...args: any[]) => {
return shouldUseModernDecorator(args)
? modernDecorator(name, args[0], args[1])
: legacyDecorator(name, args[0], args[1], args[2]);
};
}