dune-ts
Version:
Unofficial Dune Analytics Typescript Client
51 lines • 1.53 kB
TypeScript
export declare enum ParameterType {
Datetime = "datetime",
Number = "number",
Text = "text"
}
export interface ParameterData<T> {
key: string;
value: T;
}
export declare abstract class Parameter<T> {
protected readonly key: string;
abstract readonly type: string;
protected readonly value: T;
constructor(parameterData: ParameterData<T>);
protected validateKeys(parameterData: ParameterData<T>): void;
protected isString(parameterData: ParameterData<T>, propName: keyof ParameterData<T>): void;
protected validate(parameterData: ParameterData<T>): void;
abstract toObject(): Record<string, string>;
}
export declare class NumberParameter extends Parameter<string> {
type: ParameterType;
value: string;
validate(parameterData: ParameterData<string>): void;
toObject(): {
key: string;
type: ParameterType;
value: string;
};
}
export declare class DatetimeParameter extends Parameter<Date> {
type: ParameterType;
value: Date;
validate(parameterData: ParameterData<Date>): void;
serializeDate(date: Date): string;
toObject(): {
key: string;
type: ParameterType;
value: string;
};
}
export declare class TextParameter extends Parameter<string> {
type: ParameterType;
value: string;
validate(parameterData: ParameterData<string>): void;
toObject(): {
key: string;
type: ParameterType;
value: string;
};
}
//# sourceMappingURL=Parameter.d.ts.map