From 940175e23f3dbfeecb5fc26a318c76e89f7844b1 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Thu, 26 Oct 2017 13:01:48 -0700 Subject: [PATCH] Memoize rule provider (#19501) --- src/harness/unittests/extractTestHelpers.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/harness/unittests/extractTestHelpers.ts b/src/harness/unittests/extractTestHelpers.ts index ac4d1494811..b8974694cfe 100644 --- a/src/harness/unittests/extractTestHelpers.ts +++ b/src/harness/unittests/extractTestHelpers.ts @@ -67,7 +67,8 @@ namespace ts { } export const newLineCharacter = "\n"; - export function getRuleProvider(action?: (opts: FormatCodeSettings) => void) { + export const getRuleProvider = memoize(getRuleProviderInternal); + function getRuleProviderInternal() { const options = { indentSize: 4, tabSize: 4, @@ -89,9 +90,6 @@ namespace ts { placeOpenBraceOnNewLineForFunctions: false, placeOpenBraceOnNewLineForControlBlocks: false, }; - if (action) { - action(options); - } const rulesProvider = new formatting.RulesProvider(); rulesProvider.ensureUpToDate(options); return rulesProvider;