bknd
Version:
Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.
65 lines (64 loc) • 2.63 kB
TypeScript
import { Task } from "../Task";
import { s } from "bknd/utils";
export declare class FetchTask<Output extends Record<string, any>> extends Task<typeof FetchTask.schema, Output> {
type: string;
static schema: s.ObjectSchema<{
readonly url: s.StringSchema<{
readonly pattern: "^(http|https)://";
}> & {
readonly pattern: "^(http|https)://";
};
readonly method: {
readonly default: "GET";
readonly enum: string[];
} & s.Schema<s.ISchemaOptions, string | undefined, string | undefined>;
readonly headers: {
default?: any;
enum?: (readonly any[] | any[]) | undefined;
const?: any;
$defs?: Record<string, s.Schema> | undefined;
contains?: s.Schema | undefined;
minContains?: number | undefined;
maxContains?: number | undefined;
prefixItems?: s.Schema[] | undefined;
uniqueItems?: boolean | undefined;
maxItems?: number | undefined;
minItems?: number | undefined;
readonly items?: s.ObjectSchema<{
readonly key: s.StringSchema<s.IStringOptions> & s.IStringOptions;
readonly value: s.StringSchema<s.IStringOptions> & s.IStringOptions;
}, s.Merge<s.IObjectOptions & {
additionalProperties: false;
}>> | undefined;
} & s.Schema<s.ISchemaOptions, {
key: string;
value: string;
}[] | undefined, {
key: string;
value: string;
}[] | undefined>;
readonly body: {
default?: any;
maxLength?: number | undefined;
minLength?: number | undefined;
pattern?: (string | RegExp) | undefined;
format?: string | undefined;
enum?: (readonly any[] | any[]) | undefined;
const?: any;
} & s.Schema<s.ISchemaOptions, string | undefined, string | undefined>;
readonly normal: {
default?: any;
enum?: (readonly any[] | any[]) | undefined;
const?: any;
multipleOf?: number | undefined;
maximum?: number | undefined;
exclusiveMaximum?: number | undefined;
minimum?: number | undefined;
exclusiveMinimum?: number | undefined;
} & s.Schema<s.ISchemaOptions, number | undefined, number | undefined>;
}, s.Merge<s.IObjectOptions & {
additionalProperties: false;
}>>;
protected getBody(): string | undefined;
execute(): Promise<Output>;
}