puppeteer-core
Version:
A high-level API to control headless Chrome over the DevTools Protocol
47 lines • 1.27 kB
JavaScript
/**
* @license
* Copyright 2022 Google Inc.
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.isErrorLike = isErrorLike;
exports.isErrnoException = isErrnoException;
exports.rewriteError = rewriteError;
exports.createProtocolErrorMessage = createProtocolErrorMessage;
/**
* @internal
*/
function isErrorLike(obj) {
return (typeof obj === 'object' && obj !== null && 'name' in obj && 'message' in obj);
}
/**
* @internal
*/
function isErrnoException(obj) {
return (isErrorLike(obj) &&
('errno' in obj || 'code' in obj || 'path' in obj || 'syscall' in obj));
}
/**
* @internal
*/
function rewriteError(error, message, originalMessage) {
error.message = message;
error.originalMessage = originalMessage ?? error.originalMessage;
return error;
}
/**
* @internal
*/
function createProtocolErrorMessage(object) {
let message = object.error.message;
// TODO: remove the type checks when we stop connecting to BiDi with a CDP
// client.
if (object.error &&
typeof object.error === 'object' &&
'data' in object.error) {
message += ` ${object.error.data}`;
}
return message;
}
//# sourceMappingURL=ErrorLike.js.map
;