refactor(frontend): os.popup()propsの型チェックを有効化 (#13140)

* refactor(frontend): `os.popup()`の`props`の型チェックを有効化

* refactor: `ComponentProps`に書き換え

* refacor: `import type`
This commit is contained in:
zyoshoka 2024-02-02 15:04:42 +09:00 committed by GitHub
parent d8bdbd53ed
commit e5876440cb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 45 additions and 42 deletions

View file

@ -134,6 +134,7 @@
"vite-plugin-turbosnap": "1.0.3",
"vitest": "0.34.6",
"vitest-fetch-mock": "0.2.2",
"vue-component-type-helpers": "^1.8.27",
"vue-eslint-parser": "9.4.2",
"vue-tsc": "1.8.27"
}

View file

@ -9,6 +9,7 @@ import { Component, markRaw, Ref, ref, defineAsyncComponent } from 'vue';
import { EventEmitter } from 'eventemitter3';
import insertTextAtCursor from 'insert-text-at-cursor';
import * as Misskey from 'misskey-js';
import type { ComponentProps } from 'vue-component-type-helpers';
import { misskeyApi } from '@/scripts/misskey-api.js';
import { i18n } from '@/i18n.js';
import MkPostFormDialog from '@/components/MkPostFormDialog.vue';
@ -143,7 +144,7 @@ export function claimZIndex(priority: keyof typeof zIndexes = 'low'): number {
return zIndexes[priority];
}
export async function popup(component: Component, props: Record<string, any>, events = {}, disposeEvent?: string) {
export async function popup<T extends Component>(component: T, props: ComponentProps<T>, events = {}, disposeEvent?: string) {
markRaw(component);
const id = ++popupIdCount;