UNPKG

bknd

Version:

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

171 lines (170 loc) 16.1 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("jsonv-ts").ObjectSchema<{ readonly description: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly default_value: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, any, any>; readonly label: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly fillable: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("create" | "read" | "update" | "delete")[] | undefined, boolean | ("create" | "read" | "update" | "delete")[] | undefined>; readonly hidden: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined>; readonly virtual: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; readonly format: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, "integer" | "uuid" | undefined, "integer" | "uuid" | undefined>; readonly required: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; }, import("jsonv-ts").Merge<import("jsonv-ts").IObjectOptions & { additionalProperties: false; }>>; readonly field: typeof PrimaryField; }; readonly text: { readonly schema: import("jsonv-ts").ObjectSchema<{ readonly description: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly required: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; readonly label: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly fillable: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("create" | "read" | "update" | "delete")[] | undefined, boolean | ("create" | "read" | "update" | "delete")[] | undefined>; readonly hidden: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined>; readonly virtual: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; readonly default_value: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly minLength: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, number | undefined, number | undefined>; readonly maxLength: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, number | undefined, number | undefined>; readonly pattern: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly html_config: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, { [x: string]: unknown; element?: string | undefined; props?: { [x: string]: string | number; } | undefined; } | undefined, { [x: string]: unknown; element?: string | undefined; props?: { [x: string]: string | number; } | undefined; } | undefined>; }, import("jsonv-ts").Merge<import("jsonv-ts").IObjectOptions & { additionalProperties: false; }>>; readonly field: typeof TextField; }; readonly number: { readonly schema: import("jsonv-ts").ObjectSchema<{ readonly description: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly required: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; readonly label: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly fillable: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("create" | "read" | "update" | "delete")[] | undefined, boolean | ("create" | "read" | "update" | "delete")[] | undefined>; readonly hidden: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined>; readonly virtual: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; readonly default_value: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, number | undefined, number | undefined>; readonly minimum: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, number | undefined, number | undefined>; readonly maximum: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, number | undefined, number | undefined>; readonly exclusiveMinimum: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, number | undefined, number | undefined>; readonly exclusiveMaximum: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, number | undefined, number | undefined>; readonly multipleOf: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, number | undefined, number | undefined>; }, import("jsonv-ts").Merge<import("jsonv-ts").IObjectOptions & { additionalProperties: false; }>>; readonly field: typeof NumberField; }; readonly boolean: { readonly schema: import("jsonv-ts").ObjectSchema<{ readonly description: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly required: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; readonly label: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly fillable: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("create" | "read" | "update" | "delete")[] | undefined, boolean | ("create" | "read" | "update" | "delete")[] | undefined>; readonly hidden: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined>; readonly virtual: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; readonly default_value: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; }, import("jsonv-ts").Merge<import("jsonv-ts").IObjectOptions & { additionalProperties: false; }>>; readonly field: typeof BooleanField; }; readonly date: { readonly schema: import("jsonv-ts").ObjectSchema<{ readonly label: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly description: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly required: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; readonly fillable: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("create" | "read" | "update" | "delete")[] | undefined, boolean | ("create" | "read" | "update" | "delete")[] | undefined>; readonly hidden: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined>; readonly virtual: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; readonly default_value: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, any, any>; readonly type: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, "date" | "week" | "datetime" | undefined, "date" | "week" | "datetime" | undefined>; readonly timezone: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly min_date: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly max_date: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; }, import("jsonv-ts").Merge<import("jsonv-ts").IObjectOptions & { additionalProperties: false; }>>; readonly field: typeof DateField; }; readonly enum: { readonly schema: import("jsonv-ts").ObjectSchema<{ readonly description: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly required: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; readonly label: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly fillable: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("create" | "read" | "update" | "delete")[] | undefined, boolean | ("create" | "read" | "update" | "delete")[] | undefined>; readonly hidden: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined>; readonly virtual: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; readonly default_value: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly options: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, { [x: string]: unknown; values: string[]; type: "strings"; } | { [x: string]: unknown; values: { [x: string]: unknown; value: string; label: string; }[]; type: "objects"; } | undefined, any>; }, import("jsonv-ts").Merge<import("jsonv-ts").IObjectOptions & { additionalProperties: false; }>>; readonly field: typeof EnumField; }; readonly json: { readonly schema: import("jsonv-ts").ObjectSchema<{ readonly description: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly required: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; readonly label: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly fillable: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("create" | "read" | "update" | "delete")[] | undefined, boolean | ("create" | "read" | "update" | "delete")[] | undefined>; readonly hidden: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined>; readonly virtual: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; readonly default_value: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, any, any>; }, import("jsonv-ts").Merge<import("jsonv-ts").IObjectOptions & { additionalProperties: false; }>>; readonly field: typeof JsonField; }; readonly jsonschema: { readonly schema: import("jsonv-ts").ObjectSchema<{ readonly label: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly description: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, string | undefined, string | undefined>; readonly required: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; readonly fillable: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("create" | "read" | "update" | "delete")[] | undefined, boolean | ("create" | "read" | "update" | "delete")[] | undefined>; readonly hidden: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined, boolean | ("table" | "create" | "read" | "update" | "delete" | "form" | "submit")[] | undefined>; readonly virtual: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; readonly default_value: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, any, any>; readonly schema: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, any, any>; readonly ui_schema: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, any, any>; readonly default_from_schema: import("jsonv-ts").Schema<import("jsonv-ts").ISchemaOptions, boolean | undefined, boolean | undefined>; }, import("jsonv-ts").Merge<import("jsonv-ts").IObjectOptions & { additionalProperties: false; }>>; readonly field: typeof JsonSchemaField; }; }; export { fieldTestSuite } from "./field-test-suite";