From 9c7de4f5af8f38b30c1613e7d3f0657adf0a9f85 Mon Sep 17 00:00:00 2001 From: Bjorn Stromberg Date: Wed, 10 Jun 2020 19:57:50 +0900 Subject: [PATCH] Remove functional changes --- source/index.ts | 15 +++------------ test/test.ts | 21 +++++++++++---------- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/source/index.ts b/source/index.ts index b667b6b..71a4a32 100644 --- a/source/index.ts +++ b/source/index.ts @@ -66,10 +66,6 @@ const objectTypeNames = [ type ObjectTypeName = typeof objectTypeNames[number]; -function isObjectTypeName(name: unknown): name is ObjectTypeName { - return objectTypeNames.includes(name as ObjectTypeName); -} - const primitiveTypeNames = [ 'null', 'undefined', @@ -102,14 +98,9 @@ const {toString} = Object.prototype; const isOfType = (type: string) => (value: unknown): value is T => typeof value === type; const getObjectType = (value: unknown): ObjectTypeName | undefined => { - const objectTypeName = toString.call(value).slice(8, -1); - - if (/HTML\w+Element/.test(objectTypeName) && is.domElement(value)) { - return 'HTMLElement'; - } - - if (isObjectTypeName(objectTypeName)) { - return objectTypeName; + const objectName = toString.call(value).slice(8, -1); + if (objectName) { + return objectName as ObjectTypeName; } return undefined; diff --git a/test/test.ts b/test/test.ts index 64c84bc..bd62afc 100644 --- a/test/test.ts +++ b/test/test.ts @@ -1275,17 +1275,18 @@ test('is.domElement', t => { assert.domElement({nodeType: 1, nodeName: 'div'}); }); - const tagNames = [ - 'div', - 'input', - 'span', - 'img', - 'canvas', - 'script' - ]; + const htmlTagNameToTypeName = { + div: 'HTMLDivElement', + input: 'HTMLInputElement', + span: 'HTMLSpanElement', + img: 'HTMLImageElement', + canvas: 'HTMLCanvasElement', + script: 'HTMLScriptElement' + }; - for (const tagName of tagNames) { - t.is(is(createDomElement(tagName)), 'HTMLElement'); + for (const [tagName, typeName] of Object.entries(htmlTagNameToTypeName)) { + const domElement = createDomElement(tagName); + t.is(is(domElement), typeName); } });