refactor(types): improve typing (#1317)

This commit is contained in:
Albert Liu 2020-06-12 22:46:44 +08:00 committed by GitHub
parent cab769f174
commit 47c4ffbdbe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 4 deletions

View File

@ -58,19 +58,29 @@ export interface SFCTemplateCompileOptions {
transformAssetUrls?: AssetURLOptions | AssetURLTagConfig | boolean
}
interface PreProcessor {
render(
source: string,
options: any,
cb: (err: Error | null, res: string) => void
): void
}
function preprocess(
{ source, filename, preprocessOptions }: SFCTemplateCompileOptions,
preprocessor: any
preprocessor: PreProcessor
): string {
// Consolidate exposes a callback based API, but the callback is in fact
// called synchronously for most templating engines. In our case, we have to
// expose a synchronous API so that it is usable in Jest transforms (which
// have to be sync because they are applied via Node.js require hooks)
let res: any, err
let res: string = ''
let err: Error | null = null
preprocessor.render(
source,
{ filename, ...preprocessOptions },
(_err: Error | null, _res: string) => {
(_err, _res) => {
if (_err) err = _err
res = _res
}

View File

@ -252,7 +252,7 @@ function getName(comp: Component): string | void {
function matches(pattern: MatchPattern, name: string): boolean {
if (isArray(pattern)) {
return (pattern as any).some((p: string | RegExp) => matches(p, name))
return pattern.some((p: string | RegExp) => matches(p, name))
} else if (isString(pattern)) {
return pattern.split(',').indexOf(name) > -1
} else if (pattern.test) {