feat(prettier): replace sync option with .sync() method

This commit is contained in:
ikatyang
2017-09-01 13:47:54 +08:00
parent 9a49b95c1a
commit 1c7070ef2e
2 changed files with 5 additions and 29 deletions

View File

@@ -102,10 +102,6 @@ export interface ResolveConfigOptions {
* If set to `false`, all caching will be bypassed.
*/
useCache?: boolean;
/**
* If set to `true`, result will be returned directly.
*/
sync?: boolean;
}
/**
@@ -118,9 +114,10 @@ export interface ResolveConfigOptions {
*
* The promise will be rejected if there was an error parsing the configuration file.
*/
export function resolveConfig(filePath: string | undefined, options: ResolveConfigOptions & { sync: true }): null | Options;
export function resolveConfig(filePath?: string, options?: ResolveConfigOptions & { sync?: false }): Promise<null | Options>;
export function resolveConfig(filePath?: string, options?: ResolveConfigOptions): null | Options | Promise<null | Options>;
export function resolveConfig(filePath?: string, options?: ResolveConfigOptions): Promise<null | Options>;
export namespace resolveConfig {
function sync(filePath?: string, options?: ResolveConfigOptions): null | Options;
}
/**
* As you repeatedly call `resolveConfig`, the file system structure will be cached for performance. This function will clear the cache.

View File

@@ -24,28 +24,7 @@ prettier.resolveConfig('path/to/somewhere').then(options => {
}
});
prettier.resolveConfig('path/to/somewhere', undefined).then(options => {
if (options !== null) {
const formatted = prettier.format('hello world', options);
}
});
prettier.resolveConfig('path/to/somewhere', {}).then(options => {
if (options !== null) {
const formatted = prettier.format('hello world', options);
}
});
prettier.resolveConfig('path/to/somewhere', { sync: false }).then(options => {
if (options !== null) {
const formatted = prettier.format('hello world', options);
}
});
// $ExpectType Options | Promise<Options | null> | null
prettier.resolveConfig('path/to/somewhere', { sync: true as boolean });
const options = prettier.resolveConfig('path/to/somewhere', { sync: true });
const options = prettier.resolveConfig.sync('path/to/somewhere');
if (options !== null) {
const formatted = prettier.format('hello world', options);
}