Page MenuHomeSealhub

form-types.ts
No OneTemporary

form-types.ts

import { FilePointer } from "@sealcode/file-manager";
import type { FlatTemplatable } from "tempstream";
import type { FormField } from "./fields/field.js";
export type FormDataPrimitive =
| string
| string[]
| number
| undefined
| FilePointer;
export type FormDataValue =
| FormDataPrimitive
| Record<string, FormDataPrimitive>;
export type FieldValueType<F extends FormField> = F extends FormField<infer R>
? R
: never;
export type FormFieldsToValues<
F extends Record<string, FormField<boolean, keyof F>>
> = {
[Property in keyof F]: FieldValueType<F[Property]>;
};
export type FormMessage = { type: "info" | "success" | "error"; text: string };
export type FormData<Fieldnames extends string = string> = {
raw_values: Record<Fieldnames, FormDataValue>;
messages: FormMessage[];
};
export type FormReaction =
| { action: "stay"; content: FlatTemplatable; messages?: FormMessage[] }
| { action: "redirect"; url: string; messages?: FormMessage[] };

File Metadata

Mime Type
text/x-java
Expires
Wed, May 7, 19:37 (1 d, 18 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
625481
Default Alt Text
form-types.ts (972 B)

Event Timeline