UNPKG

bknd

Version:

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

143 lines (142 loc) 13.7 kB
import { BooleanField, type BooleanFieldConfig, booleanFieldConfigSchema } from "./BooleanField"; import { DateField, type DateFieldConfig, dateFieldConfigSchema } from "./DateField"; import { EnumField, type EnumFieldConfig, enumFieldConfigSchema } from "./EnumField"; import { JsonField, type JsonFieldConfig, jsonFieldConfigSchema } from "./JsonField"; import { JsonSchemaField, type JsonSchemaFieldConfig, jsonSchemaFieldConfigSchema } from "./JsonSchemaField"; import { NumberField, type NumberFieldConfig, numberFieldConfigSchema } from "./NumberField"; import { PrimaryField, type PrimaryFieldConfig, primaryFieldConfigSchema } from "./PrimaryField"; import { TextField, type TextFieldConfig, textFieldConfigSchema } from "./TextField"; export { PrimaryField, primaryFieldConfigSchema, type PrimaryFieldConfig, BooleanField, booleanFieldConfigSchema, type BooleanFieldConfig, DateField, dateFieldConfigSchema, type DateFieldConfig, EnumField, enumFieldConfigSchema, type EnumFieldConfig, JsonField, jsonFieldConfigSchema, type JsonFieldConfig, JsonSchemaField, jsonSchemaFieldConfigSchema, type JsonSchemaFieldConfig, NumberField, numberFieldConfigSchema, type NumberFieldConfig, TextField, textFieldConfigSchema, type TextFieldConfig, }; export * from "./Field"; export * from "./PrimaryField"; export * from "./VirtualField"; export * from "./indices/EntityIndex"; export declare const FieldClassMap: { readonly primary: { readonly schema: import("@sinclair/typebox").TObject<{ default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>; description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>; hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>; virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>; required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<false>>; format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>; }>; readonly field: typeof PrimaryField; }; readonly text: { readonly schema: import("@sinclair/typebox").TObject<{ default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny]>>; minLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>; maxLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>; pattern: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; html_config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{ element: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; props: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{}>>; }>>; required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>; description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>; hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>; virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>; }>; readonly field: typeof TextField; }; readonly number: { readonly schema: import("@sinclair/typebox").TObject<{ default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TAny]>>; minimum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>; maximum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>; exclusiveMinimum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>; exclusiveMaximum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>; multipleOf: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>; required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>; description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>; hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>; virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>; }>; readonly field: typeof NumberField; }; readonly boolean: { readonly schema: import("@sinclair/typebox").TObject<{ default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TAny]>>; required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>; description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>; hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>; virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>; }>; readonly field: typeof BooleanField; }; readonly date: { readonly schema: import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TUnsafe<"date" | "week" | "datetime">; timezone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; min_date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; max_date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>; required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>; description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>; hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>; virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>; }>; readonly field: typeof DateField; }; readonly enum: { readonly schema: import("@sinclair/typebox").TObject<{ default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny]>>; options: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"strings">; values: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>; }>, import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"objects">; values: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{ label: import("@sinclair/typebox").TString; value: import("@sinclair/typebox").TString; }>>; }>]>>; required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>; description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>; hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>; virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>; }>; readonly field: typeof EnumField; }; readonly json: { readonly schema: import("@sinclair/typebox").TObject<{ default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>; required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>; description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>; hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>; virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>; }>; readonly field: typeof JsonField; }; readonly jsonschema: { readonly schema: import("@sinclair/typebox").TObject<{ schema: import("@sinclair/typebox").TObject<{}>; ui_schema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{}>>; default_from_schema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>; default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>; required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>; description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>; fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>; hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>; virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>; }>; readonly field: typeof JsonSchemaField; }; }; export { fieldTestSuite } from "./field-test-suite";