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)
|
||
|
);
|
||
|
}
|