Remove functional changes

This commit is contained in:
Bjorn Stromberg 2020-06-10 19:57:50 +09:00
parent 9ee6338b23
commit 9c7de4f5af
2 changed files with 14 additions and 22 deletions

View file

@ -66,10 +66,6 @@ const objectTypeNames = [
type ObjectTypeName = typeof objectTypeNames[number]; type ObjectTypeName = typeof objectTypeNames[number];
function isObjectTypeName(name: unknown): name is ObjectTypeName {
return objectTypeNames.includes(name as ObjectTypeName);
}
const primitiveTypeNames = [ const primitiveTypeNames = [
'null', 'null',
'undefined', 'undefined',
@ -102,14 +98,9 @@ const {toString} = Object.prototype;
const isOfType = <T extends Function | Primitive>(type: string) => (value: unknown): value is T => typeof value === type; const isOfType = <T extends Function | Primitive>(type: string) => (value: unknown): value is T => typeof value === type;
const getObjectType = (value: unknown): ObjectTypeName | undefined => { const getObjectType = (value: unknown): ObjectTypeName | undefined => {
const objectTypeName = toString.call(value).slice(8, -1); const objectName = toString.call(value).slice(8, -1);
if (objectName) {
if (/HTML\w+Element/.test(objectTypeName) && is.domElement(value)) { return objectName as ObjectTypeName;
return 'HTMLElement';
}
if (isObjectTypeName(objectTypeName)) {
return objectTypeName;
} }
return undefined; return undefined;

View file

@ -1275,17 +1275,18 @@ test('is.domElement', t => {
assert.domElement({nodeType: 1, nodeName: 'div'}); assert.domElement({nodeType: 1, nodeName: 'div'});
}); });
const tagNames = [ const htmlTagNameToTypeName = {
'div', div: 'HTMLDivElement',
'input', input: 'HTMLInputElement',
'span', span: 'HTMLSpanElement',
'img', img: 'HTMLImageElement',
'canvas', canvas: 'HTMLCanvasElement',
'script' script: 'HTMLScriptElement'
]; };
for (const tagName of tagNames) { for (const [tagName, typeName] of Object.entries(htmlTagNameToTypeName)) {
t.is<TypeName>(is(createDomElement(tagName)), 'HTMLElement'); const domElement = createDomElement(tagName);
t.is(is(domElement), typeName);
} }
}); });