From 6879ae945aa392f84e11a682e1b3b1ded3819176 Mon Sep 17 00:00:00 2001 From: teidesu Date: Tue, 11 May 2021 23:27:09 +0300 Subject: [PATCH] feat(tl): generate switches instead of OR expressions switches are WAY faster. --- packages/tl/scripts/generate-types.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/tl/scripts/generate-types.js b/packages/tl/scripts/generate-types.js index b1de4fac..ded5e370 100644 --- a/packages/tl/scripts/generate-types.js +++ b/packages/tl/scripts/generate-types.js @@ -226,9 +226,11 @@ const writeSingleSchemaEntry = (type) => { js.write(`${jsPrefix}isAny${camelToPascal( union.type )} = function (obj) { - return ${union.subtypes - .map((typ) => `obj._ === '${prefix_}${typ}'`) - .join(' || ')}; + switch (obj._) { + ${union.subtypes + .map((typ) => `case '${prefix_}${typ}':`).join('')}return true; + } + return false; };`) })