Skip to content

Commit 38a4e9e

Browse files
committed
improve types
1 parent 8affd86 commit 38a4e9e

File tree

2 files changed

+20
-16
lines changed

2 files changed

+20
-16
lines changed

src/lib/use-bootstrap-dialog.tsx

+8-3
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ const defaultPromptOptions = (form: string): PromptOptions => ({
116116
})
117117

118118
const UseBootstrapDialog = {
119-
alert(text: string | AlertOptions) {
119+
alert(text: string | AlertOptions): AlertReturnType | undefined {
120120
const Modal = getModal()
121121
if (Modal) {
122122
let options: AlertOptions = merge(defaultAlertOptions, getOptionsFromGlobal('alert'))
@@ -165,7 +165,7 @@ const UseBootstrapDialog = {
165165
}
166166
},
167167

168-
confirm(confirmOptions: ConfirmOptions) {
168+
confirm(confirmOptions: ConfirmOptions): void {
169169
const Modal = getModal()
170170
if (Modal) {
171171
const options: ConfirmOptions = merge(defaultConfirmOptions, getOptionsFromGlobal('confirm'), confirmOptions)
@@ -202,7 +202,7 @@ const UseBootstrapDialog = {
202202
}
203203
},
204204

205-
prompt(promptOptions: PromptOptions) {
205+
prompt(promptOptions: PromptOptions): void {
206206
const Modal = getModal()
207207
if (Modal) {
208208
const formId = `form-${Math.random()}`
@@ -277,6 +277,11 @@ export interface AlertOptions extends ModalTitle {
277277
modalDialogClassName?: string
278278
}
279279

280+
interface AlertReturnType {
281+
modal: HTMLDivElement
282+
hide: () => void
283+
}
284+
280285
export interface ConfirmOptions extends Content {
281286
staticBackdrop?: boolean
282287
modalDialogClassName?: string

vite.config.ts

+12-13
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { parse, resolve } from 'node:path'
2-
import { rename } from 'node:fs/promises'
1+
import { resolve } from 'node:path'
2+
import { readFile, writeFile } from 'node:fs/promises'
33
import { defineConfig } from 'vite'
44
import solid from 'vite-plugin-solid'
5-
import dts from 'vite-plugin-dts'
5+
import oxc from 'oxc-transform'
66
import pkg from './package.json'
77

88
// https://vitejs.dev/config/
@@ -20,15 +20,14 @@ export default defineConfig({
2020
},
2121
plugins: [
2222
solid(),
23-
dts({
24-
// library source only.
25-
include: pkg.source,
26-
27-
// fix the generated declaration files following the source structure.
28-
entryRoot: parse(pkg.source).dir,
29-
30-
// follow package.json "types" property.
31-
afterBuild: () => rename(`dist/js/${parse(pkg.source).name}.d.ts`, pkg.types),
32-
}),
23+
{
24+
name: 'dts',
25+
async closeBundle() {
26+
const file = pkg.source
27+
const text = await readFile(file, 'utf8')
28+
const code = oxc.isolatedDeclaration(file, text)
29+
await writeFile(pkg.types, code.sourceText)
30+
},
31+
},
3332
],
3433
})

0 commit comments

Comments
 (0)