mirror of
https://github.com/tauri-apps/tauri.git
synced 2024-12-20 00:52:41 +03:00
6a21965ff3
* chore: add prettier for js/ts formatting * fix lint-staged to object * test commit * format all * lock file bump * eslint extends prettier This will let us skip rules in eslint that prettier can control. Prettier for styles, eslint for code errors. * add prettier config * roll back to what we had with eslint settings * skip mutation observer * add prettier typescript eslint * run prettier in lint workflow * format:check script * turn off space before function in eslint it is fighting with prettier * fix dir in workflow * remove semis * add api to eslint * shift eslint ignore comment after prettier format * ignore errors that currently exist * build:typevalidators * replace was broken on typevalidator build * try pushing up error * format * try removing working dir from eslint workflow * try node 12 * fix indent in action * bump eslint * fix supposeded error and try another * try breaking eslint * try building in action * adjust action paths again * need dot * remove build * fix(tauri.js/eslint): escape glob * * fix(tauri.js): ignore lint error * Create prettier-taurijs.md Co-authored-by: Noah Klayman <noahklayman@gmail.com>
58 lines
1.3 KiB
TypeScript
58 lines
1.3 KiB
TypeScript
import { promisified } from './tauri'
|
|
|
|
export interface OpenDialogOptions {
|
|
filter?: string
|
|
defaultPath?: string
|
|
multiple?: boolean
|
|
directory?: boolean
|
|
}
|
|
|
|
export type SaveDialogOptions = Pick<
|
|
OpenDialogOptions,
|
|
'filter' | 'defaultPath'
|
|
>
|
|
|
|
/**
|
|
* @name openDialog
|
|
* @description Open a file/directory selection dialog
|
|
* @param {Object} [options]
|
|
* @param {string} [options.filter]
|
|
* @param {string} [options.defaultPath]
|
|
* @param {boolean} [options.multiple=false]
|
|
* @param {boolean} [options.directory=false]
|
|
* @returns {Promise<string | string[]>} Promise resolving to the select path(s)
|
|
*/
|
|
async function open(
|
|
options: OpenDialogOptions = {}
|
|
): Promise<string | string[]> {
|
|
if (typeof options === 'object') {
|
|
Object.freeze(options)
|
|
}
|
|
|
|
return await promisified({
|
|
cmd: 'openDialog',
|
|
options
|
|
})
|
|
}
|
|
|
|
/**
|
|
* @name save
|
|
* @description Open a file/directory save dialog
|
|
* @param {Object} [options]
|
|
* @param {string} [options.filter]
|
|
* @param {string} [options.defaultPath]
|
|
* @returns {Promise<string>} Promise resolving to the select path
|
|
*/
|
|
async function save(options: SaveDialogOptions = {}): Promise<string> {
|
|
if (typeof options === 'object') {
|
|
Object.freeze(options)
|
|
}
|
|
|
|
return await promisified({
|
|
cmd: 'saveDialog',
|
|
options
|
|
})
|
|
}
|
|
|
|
export { open, save }
|