Remove functional changes
This commit is contained in:
parent
9ee6338b23
commit
9c7de4f5af
2 changed files with 14 additions and 22 deletions
|
|
@ -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;
|
||||||
|
|
|
||||||
21
test/test.ts
21
test/test.ts
|
|
@ -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);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue