28 lines
503 B
TypeScript
28 lines
503 B
TypeScript
/**
|
|
* @internal
|
|
*/
|
|
|
|
export interface ErrorLike extends Error {
|
|
name: string;
|
|
message: string;
|
|
}
|
|
/**
|
|
* @internal
|
|
*/
|
|
|
|
export function isErrorLike(obj: unknown): obj is ErrorLike {
|
|
return (
|
|
typeof obj === 'object' && obj !== null && 'name' in obj && 'message' in obj
|
|
);
|
|
}
|
|
/**
|
|
* @internal
|
|
*/
|
|
|
|
export function isErrnoException(obj: unknown): obj is NodeJS.ErrnoException {
|
|
return (
|
|
isErrorLike(obj) &&
|
|
('errno' in obj || 'code' in obj || 'path' in obj || 'syscall' in obj)
|
|
);
|
|
}
|