UNPKG

bknd

Version:

Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.

60 lines (59 loc) 2.96 kB
import { type Static } from "../../core/utils"; import type { EntityManager } from "../entities"; import { Field, type TActionContext, type TRenderContext } from "./Field"; import * as tbbox from "@sinclair/typebox"; import type { TFieldTSType } from "../../data/entities/EntityTypescript"; export declare const dateFieldConfigSchema: tbbox.TObject<{ type: tbbox.TUnsafe<"date" | "week" | "datetime">; timezone: tbbox.TOptional<tbbox.TString>; min_date: tbbox.TOptional<tbbox.TString>; max_date: tbbox.TOptional<tbbox.TString>; default_value: tbbox.TOptional<tbbox.TAny>; required: tbbox.TOptional<tbbox.TBoolean>; description: tbbox.TOptional<tbbox.TString>; label: tbbox.TOptional<tbbox.TString>; fillable: tbbox.TOptional<tbbox.TUnion<[tbbox.TBoolean, tbbox.TArray<tbbox.TUnsafe<"create" | "read" | "update" | "delete">>]>>; hidden: tbbox.TOptional<tbbox.TUnion<[tbbox.TBoolean, tbbox.TArray<tbbox.TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>; virtual: tbbox.TOptional<tbbox.TBoolean>; }>; export type DateFieldConfig = Static<typeof dateFieldConfigSchema>; export declare class DateField<Required extends true | false = false> extends Field<DateFieldConfig, Date, Required> { readonly type = "date"; protected getSchema(): tbbox.TObject<{ type: tbbox.TUnsafe<"date" | "week" | "datetime">; timezone: tbbox.TOptional<tbbox.TString>; min_date: tbbox.TOptional<tbbox.TString>; max_date: tbbox.TOptional<tbbox.TString>; default_value: tbbox.TOptional<tbbox.TAny>; required: tbbox.TOptional<tbbox.TBoolean>; description: tbbox.TOptional<tbbox.TString>; label: tbbox.TOptional<tbbox.TString>; fillable: tbbox.TOptional<tbbox.TUnion<[tbbox.TBoolean, tbbox.TArray<tbbox.TUnsafe<"create" | "read" | "update" | "delete">>]>>; hidden: tbbox.TOptional<tbbox.TUnion<[tbbox.TBoolean, tbbox.TArray<tbbox.TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>; virtual: tbbox.TOptional<tbbox.TBoolean>; }>; schema(): Readonly<{ type: "date" | "datetime"; name: string; nullable?: boolean; dflt?: any; unique?: boolean; primary?: boolean; references?: string; onDelete?: import("kysely").OnModifyForeignAction; onUpdate?: import("kysely").OnModifyForeignAction; }>; getHtmlConfig(): { element: string; props: { type: string; }; }; private parseDateFromString; getValue(value: string, context?: TRenderContext): string | undefined; formatDate(_date: Date): string; transformRetrieve(_value: string): Date | null; transformPersist(_value: any, em: EntityManager<any>, context: TActionContext): Promise<string | undefined>; toJsonSchema(): tbbox.TString | tbbox.TOptional<tbbox.TString>; toType(): TFieldTSType; }