CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
handlers.ts59 linesDownload Raw Back to src
1 2/* IMPORT */3 4import {IS_USER_ROOT} from './constants';5 6/* MAIN */7 8const Handlers = {9 10  /* API */11 12  isChangeErrorOk: ( error: unknown ): boolean => { //URL: https://github.com/isaacs/node-graceful-fs/blob/master/polyfills.js#L315-L34213 14    if ( !Handlers.isNodeError ( error ) ) return false;15 16    const {code} = error;17 18    if ( code === 'ENOSYS' ) return true;19 20    if ( !IS_USER_ROOT && ( code === 'EINVAL' || code === 'EPERM' ) ) return true;21 22    return false;23 24  },25 26  isNodeError: ( error: unknown ): error is NodeJS.ErrnoException => {27 28    return ( error instanceof Error );29 30  },31 32  isRetriableError: ( error: unknown ): boolean => {33 34    if ( !Handlers.isNodeError ( error ) ) return false;35 36    const {code} = error;37 38    if ( code === 'EMFILE' || code === 'ENFILE' || code === 'EAGAIN' || code === 'EBUSY' || code === 'EACCESS' || code === 'EACCES' || code === 'EACCS' || code === 'EPERM' ) return true;39 40    return false;41 42  },43 44  onChangeError: ( error: unknown ): undefined => {45 46    if ( !Handlers.isNodeError ( error ) ) throw error;47 48    if ( Handlers.isChangeErrorOk ( error ) ) return;49 50    throw error;51 52  }53 54};55 56/* EXPORT */57 58export default Handlers;59