basant307/AI_Governance_Project
048
1const uvBinding = process.binding('uv');2 3/**4 * Error codes from libuv.5 * @enum {number}6 */7const codes = {};8 9uvBinding.getErrorMap().forEach(function (value, errno) {10 const code = value[0];11 const message = value[1];12 codes[code] = {errno: errno, message: message};13});14 15/**16 * Create an error.17 * @param {string} code Error code.18 * @param {string} path Path (optional).19 * @class20 */21function FSError(code, path) {22 if (!codes.hasOwnProperty(code)) {23 throw new Error('Programmer error, invalid error code: ' + code);24 }25 Error.call(this);26 const details = codes[code];27 let message = code + ', ' + details.message;28 if (path) {29 message += " '" + path + "'";30 }31 this.message = message;32 this.code = code;33 this.errno = details.errno;34 if (path !== undefined) {35 this.path = path;36 }37 Error.captureStackTrace(this, FSError);38}39FSError.prototype = new Error();40FSError.codes = codes;41 42/**43 * Create an abort error for when an asynchronous task was aborted.44 * @class45 */46function AbortError() {47 Error.call(this);48 this.code = 'ABORT_ERR';49 this.name = 'AbortError';50 Error.captureStackTrace(this, AbortError);51}52AbortError.prototype = new Error();53 54/**55 * FSError constructor.56 */57exports.AbortError = AbortError;58exports.FSError = FSError;59 60/**61 * AbortError constructor.62 */63 