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
TypeScript
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";