| Current Path : /usr/local/lib/node_modules/@google/gemini-cli/node_modules/stubborn-fs/src/ |
| Current File : //usr/local/lib/node_modules/@google/gemini-cli/node_modules/stubborn-fs/src/index.ts |
/* IMPORT */
import fs from 'node:fs';
import {promisify} from 'node:util';
import {attemptifyAsync, attemptifySync} from './attemptify';
import {NOOP} from './constants';
import Handlers from './handlers';
import {retryifyAsync, retryifySync} from './retryify';
/* MAIN */
const FS = {
attempt: {
/* ASYNC */
chmod: attemptifyAsync ( promisify ( fs.chmod ), Handlers.onChangeError ),
chown: attemptifyAsync ( promisify ( fs.chown ), Handlers.onChangeError ),
close: attemptifyAsync ( promisify ( fs.close ), NOOP ),
fsync: attemptifyAsync ( promisify ( fs.fsync ), NOOP ),
mkdir: attemptifyAsync ( promisify ( fs.mkdir ), NOOP ),
realpath: attemptifyAsync ( promisify ( fs.realpath ), NOOP ),
stat: attemptifyAsync ( promisify ( fs.stat ), NOOP ),
unlink: attemptifyAsync ( promisify ( fs.unlink ), NOOP ),
/* SYNC */
chmodSync: attemptifySync ( fs.chmodSync, Handlers.onChangeError ),
chownSync: attemptifySync ( fs.chownSync, Handlers.onChangeError ),
closeSync: attemptifySync ( fs.closeSync, NOOP ),
existsSync: attemptifySync ( fs.existsSync, NOOP ),
fsyncSync: attemptifySync ( fs.fsync, NOOP ),
mkdirSync: attemptifySync ( fs.mkdirSync, NOOP ),
realpathSync: attemptifySync ( fs.realpathSync, NOOP ),
statSync: attemptifySync ( fs.statSync, NOOP ),
unlinkSync: attemptifySync ( fs.unlinkSync, NOOP )
},
retry: {
/* ASYNC */
close: retryifyAsync ( promisify ( fs.close ), Handlers.isRetriableError ),
fsync: retryifyAsync ( promisify ( fs.fsync ), Handlers.isRetriableError ),
open: retryifyAsync ( promisify ( fs.open ), Handlers.isRetriableError ),
readFile: retryifyAsync ( promisify ( fs.readFile ), Handlers.isRetriableError ),
rename: retryifyAsync ( promisify ( fs.rename ), Handlers.isRetriableError ),
stat: retryifyAsync ( promisify ( fs.stat ), Handlers.isRetriableError ),
write: retryifyAsync ( promisify ( fs.write ), Handlers.isRetriableError ),
writeFile: retryifyAsync ( promisify ( fs.writeFile ), Handlers.isRetriableError ),
/* SYNC */
closeSync: retryifySync ( fs.closeSync, Handlers.isRetriableError ),
fsyncSync: retryifySync ( fs.fsyncSync, Handlers.isRetriableError ),
openSync: retryifySync ( fs.openSync, Handlers.isRetriableError ),
readFileSync: retryifySync ( fs.readFileSync, Handlers.isRetriableError ),
renameSync: retryifySync ( fs.renameSync, Handlers.isRetriableError ),
statSync: retryifySync ( fs.statSync, Handlers.isRetriableError ),
writeSync: retryifySync ( fs.writeSync, Handlers.isRetriableError ),
writeFileSync: retryifySync ( fs.writeFileSync, Handlers.isRetriableError )
}
};
/* EXPORT */
export default FS;