swap-path
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

swap-path Build Status

Swap two files or folders.

Highlights

Install

$ npm install swap-path

Usage

Assume you have two files:

  • foo.txt with content Foo
  • bar.txt with content Bar
const swap = require('swap-path');
 
(async () => {
    await swap('foo.txt', 'bar.txt');
})();

Result:

  • foo.txt with content Bar
  • bar.txt with content Foo

This is done very fast simply by renaming the files appropriately.

Also works with directories. You can also swap a file with a directory.

TypeScript usage

swap-path is written in TypeScript and comes with complete type declarations. This means that you will have great code completions right in your editor, and also means that you can use it perfectly with TypeScript:

import swap = require('swap-path');
// ...

API

swap(pathA, pathB, options?)

swap.sync(pathA, pathB, options?)

Swaps the two files/folders in pathA and pathB very quickly by renaming their paths in the filesystem. Throws an error if one of them does not exist (or both).

If both paths are identical (or resolve to the same path), nothing is done.

pathA and pathB

Type: string

They can each be absolute or relative to process.cwd(). In windows, either / or \\ can be used as path separators.

options

Type: object

crossDevice

Type: boolean
Default: true

Whether or not to allow swapping paths across different devices. This is relevant because swapping across devices is much slower, since a copy must be created. If false and the two given paths are on different devices, an EXDEV error will be thrown.

License

MIT © Pedro Augusto de Paula Barbosa

Dependents (0)

Package Sidebar

Install

npm i swap-path

Weekly Downloads

4

Version

1.0.0

License

MIT

Unpacked Size

8.8 kB

Total Files

13

Last publish

Collaborators

  • papb