@kubernetes-models/base
Version:
Base model for Kubernetes models.
12 lines (11 loc) • 531 B
TypeScript
import { type ValidateFunc } from "@kubernetes-models/validate";
import { type TypeMeta } from "./meta.js";
export type ModelData<T> = T extends TypeMeta ? Omit<T, keyof TypeMeta> : T;
export type ModelConstructor<T> = new (data?: ModelData<T>) => Model<T>;
export declare class Model<T> {
constructor(data?: ModelData<T>);
protected setDefinedProps(data?: ModelData<T>): void;
toJSON(): unknown;
validate(): void;
}
export declare function setValidateFunc<T>(ctor: ModelConstructor<T>, fn: ValidateFunc<T>): void;