pnp-scheduler/source/Configuration/ConfigurationProvider.ts

20 lines
No EOL
679 B
TypeScript

import {ConfigurationModel} from "../Database/Models/ConfigurationModel";
import {Model} from "../Database/Models/Model";
import {ValueOf} from "../types/Class";
import {Nullable} from "../types/Nullable";
import {ConfigurationTransformer} from "./ConfigurationTransformer";
export interface ConfigurationProvider<
TProviderModel extends ConfigurationModel = ConfigurationModel,
TRuntimeConfiguration extends object = object
> {
get(path: string): Nullable<TProviderModel>;
getAll(): TProviderModel[];
get defaults(): TRuntimeConfiguration;
save(value: Omit<ConfigurationModel, "id"> & Partial<Model>): void;
getTransformer(): ConfigurationTransformer;
}