Files
react-native-devtools-frontend/node_modules/isbinaryfile
Tim van der Lippe e4974ddc4c Remove whitespace at the end of the package.json lines
json.dump appears to add extraneous spaces before newline characters. By
specifying the separators option, we can remove these whitespaces,
reducing the diff noise. Solution taken from
https://stackoverflow.com/questions/16311562/python-json-without-whitespaces

DISABLE_THIRD_PARTY_CHECK=Fix whitespace in node_modules

Change-Id: I26556e5053f19a9021ad41779319bdfe3f8c2b6c
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2013154
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
2020-01-22 15:17:25 +00:00
..
2019-10-21 08:08:56 +02:00
2019-10-21 08:08:56 +02:00
2019-10-21 08:08:56 +02:00

isBinaryFile

Detects if a file is binary in Node.js. Similar to Perl's -B switch, in that:

  • it reads the first few thousand bytes of a file
  • checks for a null byte; if it's found, it's binary
  • flags non-ASCII characters. After a certain number of "weird" characters, the file is flagged as binary

Much of the logic is pretty much ported from ag.

Note: if the file doesn't exist, is a directory, or is empty, the function returns false.

Installation

npm install isbinaryfile

Usage

isBinaryFile(filepath, callback)

  • filepath, a string indicating the path to the file.
  • callback, a function for the callback. It has two arguments:
    • err, the typical Node.js error argument
    • result, a boolean of true or false, depending on if the file is binary

isBinaryFile(bytes, size, callback)

  • bytes, a Buffer of the file's contents.
  • size, an optional number indicating the file size.
  • callback, a function for the callback. It has two arguments:
    • err, the typical Node.js error argument
    • result, a boolean of true or false, depending on if the file is binary

isBinaryFile.sync(filepath)

  • filepath, a string indicating the path to the file.

isBinaryFile.sync(bytes, size)

  • bytes, a Buffer of the file's contents.
  • size, an number indicating the file size.

Returns a boolean of true or false, depending on if the file is binary.

Examples

var isBinaryFile = require("isbinaryfile");

fs.readFile("some_file", function(err, data) {
  fs.lstat("some_file", function(err, stat) {
    isBinaryFile(data, stat.size, function (err, result) {
      if (!err) {
        if (result) {
          console.log("It is!")
        }
        else {
          console.log("No.")
        }
      }
    });
  });
});

isBinaryFile.sync("some_file"); // true or false
var bytes = fs.readFileSync(("some_file"));
var size = fs.lstatSync(("some_file").size;
isBinaryFile.sync(bytes, size); // true or false

Testing

Run npm install to install mocha, then run npm test.