Skip to content

Reliably write to an unused path.

License

Notifications You must be signed in to change notification settings

fabiospampinato/write-unused-path

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Write Unused Path

Reliably write to an unused path.

It is basically a wrapper around get-unused-path which doesn't just return an unused path, but also writes to it.

Features

  • It reliably retrieves an unused path via get-unused-path.
  • It attempts to write to it, re-trying in case of failure.
  • It writes files atomically.

Install

npm install --save write-unused-path

Usage

It accepts the same options object as get-unused-path, plus the following options:

{
  autoDispose?: boolean // Automatically dispose once the operation is completed, enabled by default
}

It also returns the same return value as get-unused-path.

import fs from 'fs';
import writeUnusedPath from 'write-unused-path';

async function example () {

  const content = 'some content';

  const {folderPath, filePath, fileName} = await writeUnusedPath ( content, {
    folderPath: '/x/y/z',
    fileName: 'foo.txt',
    // maxTries: 1000,
    // incrementer: ( name, ext, attempt ) => attempt > 1 ? `${name}-${attempt}${ext}` : `${name}${ext}`
  });

  console.log ( folderPath ); // => '/x/y/z'
  console.log ( filePath ); // => '/x/y/z/foo (3).txt'
  console.log ( fileName ); // => 'foo (3).txt'

  console.log ( fs.readFileSync ( filePath, { encoding: 'utf8' } ) ); // => 'some content'

}

example ();

Related

License

MIT © Fabio Spampinato