fmod

0.0.1-w • Public • Published

NPM

Travis Codecov license

WARNING 😞

This package was in version 0.0.1 under fmod - shortcut for file modifier name and has changed to replace in next version. It turns out that FMOD is a registered trademark 😮 and I don't want troubles ☺️ 😅

Overview

fmod is node. file modifier.

How it works?

fmod Creates read stream to read from the target file in chunks, do the replacement in new file holding the updated chunk using write stream. Return array of objects contains the final results in callback function.

Original file won't be modified instead fmod will create new file which have new data and delete the old one.

Getting Started

clone the repo:

git clone git@github.com:jimmy02020/fmod.git
cd fmod

Using npm:

$ npm install fmod

Syntax

fmod(path, objects[], callback)

path String.

objects[] array of objects. Each object must have two properties regex for RegExp/String to matching and replace the string that will replaced.

The callback gets two arguments (err, report).

Using fmod

const fmod = require('fmod')
 
// let's create some phrases to replace it in our file.
const phrase1 = {
  // regex
  regex:/old/ig,
  // replace
  replace:'new'
}
 
// and we have to replace more.
const phrase1 = {
  // regex
  regex:'second',
  // replace
  replace:'third'
}
 
fmod('/path1/path2/fileName', [phrase1, phrase1], (err, report) => {
  //
  [
    {
      isChanged: true,
      regex:/old/ig,
      replace:'new'
    },
    {
      isChanged: false, // not found so it wasn't changed
      regex:'second',
      replace:'third'
    },
   ]
  //
});

Or you can check specific phrase result.

fmod('/path1/path2/fileName', [ph0, ph1, p2, ph3], (err, report) => {
  if(report[2].isChanged){
    console.log('p2 was found and changed');
  } else {
    console.log('not found');
  }
});

Tests

$ npm test

License

This project is licensed under the MIT License

Dependencies (1)

Dev Dependencies (14)

Package Sidebar

Install

npm i fmod

Weekly Downloads

0

Version

0.0.1-w

License

'MIT'

Last publish

Collaborators

  • jimmy02020