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

    Install

    npm i swap-path

    DownloadsWeekly Downloads

    6

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    8.8 kB

    Total Files

    13

    Last publish

    Collaborators

    • papb