@zero-scripts/core
Version:
Framework for creating presets, configurations and extensions
25 lines • 828 B
TypeScript
import { AbstractOptionsContainer } from '../AbstractOptionsContainer';
/**
* ReadOptions Decorator
*
* @param OptionsContainer
* @param optionsKey
* @constructor
*
* Decorated class need to accepting OptionsContainer as first argument
*
* Example:
*
* @ReadOptions(MyOptionsContainer, 'myKeyInPackageJson')
* class Foo {
* constructor(optionsContainer: AbstractOptionsContainer, secondArg: number, thirdArg: string): {}
* }
*/
export declare function ReadOptions<TOptionsContainer extends AbstractOptionsContainer>(OptionsContainer: {
new (externalOptions: object): TOptionsContainer;
}, optionsKey: string): <T extends new (...args: any[]) => any>(DecoratedClass: T) => {
new (...args: any[]): {
[x: string]: any;
};
} & T;
//# sourceMappingURL=ReadOptions.d.ts.map