summaryrefslogtreecommitdiff
path: root/packages/frontend/src/scripts/form.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/scripts/form.ts')
-rw-r--r--packages/frontend/src/scripts/form.ts104
1 files changed, 0 insertions, 104 deletions
diff --git a/packages/frontend/src/scripts/form.ts b/packages/frontend/src/scripts/form.ts
deleted file mode 100644
index 1032e97ac9..0000000000
--- a/packages/frontend/src/scripts/form.ts
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * SPDX-FileCopyrightText: syuilo and misskey-project
- * SPDX-License-Identifier: AGPL-3.0-only
- */
-
-import * as Misskey from 'misskey-js';
-
-type EnumItem = string | {
- label: string;
- value: string;
-};
-
-type Hidden = boolean | ((v: any) => boolean);
-
-export type FormItem = {
- label?: string;
- type: 'string';
- default?: string | null;
- description?: string;
- required?: boolean;
- hidden?: Hidden;
- multiline?: boolean;
- treatAsMfm?: boolean;
-} | {
- label?: string;
- type: 'number';
- default?: number | null;
- description?: string;
- required?: boolean;
- hidden?: Hidden;
- step?: number;
-} | {
- label?: string;
- type: 'boolean';
- default?: boolean | null;
- description?: string;
- hidden?: Hidden;
-} | {
- label?: string;
- type: 'enum';
- default?: string | null;
- required?: boolean;
- hidden?: Hidden;
- enum: EnumItem[];
-} | {
- label?: string;
- type: 'radio';
- default?: unknown | null;
- required?: boolean;
- hidden?: Hidden;
- options: {
- label: string;
- value: unknown;
- }[];
-} | {
- label?: string;
- type: 'range';
- default?: number | null;
- description?: string;
- required?: boolean;
- step?: number;
- min: number;
- max: number;
- textConverter?: (value: number) => string;
- hidden?: Hidden;
-} | {
- label?: string;
- type: 'object';
- default?: Record<string, unknown> | null;
- hidden: Hidden;
-} | {
- label?: string;
- type: 'array';
- default?: unknown[] | null;
- hidden: Hidden;
-} | {
- type: 'button';
- content?: string;
- hidden?: Hidden;
- action: (ev: MouseEvent, v: any) => void;
-} | {
- type: 'drive-file';
- defaultFileId?: string | null;
- hidden?: Hidden;
- validate?: (v: Misskey.entities.DriveFile) => Promise<boolean>;
-};
-
-export type Form = Record<string, FormItem>;
-
-type GetItemType<Item extends FormItem> =
- Item['type'] extends 'string' ? string :
- Item['type'] extends 'number' ? number :
- Item['type'] extends 'boolean' ? boolean :
- Item['type'] extends 'radio' ? unknown :
- Item['type'] extends 'range' ? number :
- Item['type'] extends 'enum' ? string :
- Item['type'] extends 'array' ? unknown[] :
- Item['type'] extends 'object' ? Record<string, unknown> :
- Item['type'] extends 'drive-file' ? Misskey.entities.DriveFile | undefined :
- never;
-
-export type GetFormResultType<F extends Form> = {
- [P in keyof F]: GetItemType<F[P]>;
-};