57 lines
987 B
Markdown
57 lines
987 B
Markdown
# unused-filename [![Build Status](https://travis-ci.org/sindresorhus/unused-filename.svg?branch=master)](https://travis-ci.org/sindresorhus/unused-filename)
|
|
|
|
> Get an unused filename by appending a number if it exists: `file.txt` → `file (1).txt`
|
|
|
|
Useful for safely writing, copying, moving files without overwriting existing files.
|
|
|
|
|
|
## Install
|
|
|
|
```
|
|
$ npm install --save unused-filename
|
|
```
|
|
|
|
|
|
## Usage
|
|
|
|
```
|
|
.
|
|
├── rainbow (1).txt
|
|
├── rainbow.txt
|
|
└── unicorn.txt
|
|
```
|
|
|
|
```js
|
|
const unusedFilename = require('unused-filename');
|
|
|
|
unusedFilename('rainbow.txt').then(filename => {
|
|
console.log(filename);
|
|
//=> 'rainbow (2).txt'
|
|
});
|
|
```
|
|
|
|
|
|
## API
|
|
|
|
### unusedFilename(filepath)
|
|
|
|
Returns a `Promise<string>`.
|
|
|
|
### unusedFilename.sync(filepath)
|
|
|
|
Returns a `string`.
|
|
|
|
#### filepath
|
|
|
|
Type: `string`
|
|
|
|
|
|
## Related
|
|
|
|
- [filenamify](https://github.com/sindresorhus/filenamify) - Convert a string to a valid safe filename
|
|
|
|
|
|
## License
|
|
|
|
MIT © [Sindre Sorhus](https://sindresorhus.com)
|