Type guards take unknown and cast to avoid type errors

This commit is contained in:
Bjorn Stromberg 2020-06-10 18:32:04 +09:00
parent b909111f10
commit 9ee6338b23

View file

@ -33,8 +33,8 @@ export type TypedArray =
type TypedArrayTypeName = typeof typedArrayTypeNames[number]; type TypedArrayTypeName = typeof typedArrayTypeNames[number];
function isTypedArrayName(name: any): name is TypedArrayTypeName { function isTypedArrayName(name: unknown): name is TypedArrayTypeName {
return typedArrayTypeNames.includes(name); return typedArrayTypeNames.includes(name as TypedArrayTypeName);
} }
const objectTypeNames = [ const objectTypeNames = [
@ -66,8 +66,8 @@ const objectTypeNames = [
type ObjectTypeName = typeof objectTypeNames[number]; type ObjectTypeName = typeof objectTypeNames[number];
function isObjectTypeName(name: any): name is ObjectTypeName { function isObjectTypeName(name: unknown): name is ObjectTypeName {
return objectTypeNames.includes(name); return objectTypeNames.includes(name as ObjectTypeName);
} }
const primitiveTypeNames = [ const primitiveTypeNames = [
@ -91,8 +91,8 @@ export type Primitive =
type PrimitiveTypeName = typeof primitiveTypeNames[number]; type PrimitiveTypeName = typeof primitiveTypeNames[number];
function isPrimitiveTypeName(name: any): name is PrimitiveTypeName { function isPrimitiveTypeName(name: unknown): name is PrimitiveTypeName {
return primitiveTypeNames.includes(name); return primitiveTypeNames.includes(name as PrimitiveTypeName);
} }
export type TypeName = ObjectTypeName | PrimitiveTypeName; export type TypeName = ObjectTypeName | PrimitiveTypeName;