From 47c4ffbdbe7302eb9eb416182e7dd9a0032e4883 Mon Sep 17 00:00:00 2001 From: Albert Liu <814921718@qq.com> Date: Fri, 12 Jun 2020 22:46:44 +0800 Subject: [PATCH] refactor(types): improve typing (#1317) --- packages/compiler-sfc/src/compileTemplate.ts | 16 +++++++++++++--- .../runtime-core/src/components/KeepAlive.ts | 2 +- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/compiler-sfc/src/compileTemplate.ts b/packages/compiler-sfc/src/compileTemplate.ts index f7f858a4..f33c86bf 100644 --- a/packages/compiler-sfc/src/compileTemplate.ts +++ b/packages/compiler-sfc/src/compileTemplate.ts @@ -57,20 +57,30 @@ 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 } diff --git a/packages/runtime-core/src/components/KeepAlive.ts b/packages/runtime-core/src/components/KeepAlive.ts index 8301185d..4e18ec44 100644 --- a/packages/runtime-core/src/components/KeepAlive.ts +++ b/packages/runtime-core/src/components/KeepAlive.ts @@ -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) {