webpack-userscript
Version:
A Webpack plugin for userscript projects.
25 lines (24 loc) • 1.14 kB
TypeScript
export interface GroupsOptions {
groups?: string[];
}
export type Validator = (options?: GroupsOptions) => PropertyDecorator;
export type ValidatorFactory<T extends any[] = []> = (...args: T) => Validator;
/**
* `@Expose()` from class-transformer is not stackable,
* wrap it in a new `@Expose()` implementation to stack for `groups` options.
*/
export declare const Expose: Validator;
export declare const partialGroups: (...groups: string[]) => (...decorators: Validator[]) => PropertyDecorator;
export declare const IsOptional: ValidatorFactory;
export declare const IsDefined: ValidatorFactory;
export declare const IsUnique: ValidatorFactory<[string]>;
export declare const IsSingleValue: ValidatorFactory;
export declare const IsMultiValue: ValidatorFactory;
export declare const IsURLValue: ValidatorFactory;
export declare const IsVersionValue: ValidatorFactory;
export declare const IsSwitchValue: ValidatorFactory;
export declare const IsNamedValue: ValidatorFactory;
export declare const IsEnumValue: ValidatorFactory<[Record<string, unknown>]>;
export declare const IsNestedValue: ValidatorFactory<[{
new (): object;
}]>;