isbinaryfile

Detects if a file is binary in Node.js. Similar to Perl's -B.
text binary encoding istext is text isbinary is binary is text or binary is text or binary file isbinaryfile is binary file istextfile is text file


Summary

Project Name isbinaryfile Project Url https://github.com/gjtorikian/isBinaryFile#readme
InceptionYear 2012-10-09 05:40:12 更新时间 2019-07-11 20:22:21
IssueManagement https://github.com/gjtorikian/isBinaryFile/issues Licenses MIT
仓库地址 git+https://github.com/gjtorikian/isBinaryFile.git 用户数 3
Node Engine >= 8.0.0 文件大小 3.6 KB
install build format lint prepare release prepublishOnly preversion version postversion test watch

项目介绍

# isBinaryFile Detects if a file is binary in Node.js using ✨promises✨. Similar to [Perl's `-B` switch](http://stackoverflow.com/questions/899206/how-does-perl-know-a-file-is-binary), 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](https://github.com/ggreer/the_silver_searcher). Note: if the file doesn't exist or is a directory, an error is thrown. ## Installation ``` npm install isbinaryfile ``` ## Usage Returns `Promise` (or just `boolean` for `*Sync`). `true` if the file is binary, `false` otherwise. ### isBinaryFile(filepath) * `filepath` - a `string` indicating the path to the file. ### isBinaryFile(bytes[, size]) * `bytes` - a `Buffer` of the file's contents. * `size` - an optional `number` indicating the file size. ### isBinaryFileSync(filepath) * `filepath` - a `string` indicating the path to the file. ### isBinaryFileSync(bytes[, size]) * `bytes` - a `Buffer` of the file's contents. * `size` - an optional `number` indicating the file size. ### Examples Here's an arbitrary usage: ```javascript const isBinaryFile = require("isbinaryfile").isBinaryFile; const fs = require("fs"); const filename = "fixtures/pdf.pdf"; const data = fs.readFileSync(filename); const stat = fs.lstatSync(filename); isBinaryFile(data, stat.size).then((result) => { if (result) { console.log("It is binary!") } else { console.log("No it is not.") } }); const isBinaryFileSync = require("isbinaryfile").isBinaryFileSync; const bytes = fs.readFileSync(filename); const size = fs.lstatSync(filename).size; console.log(isBinaryFileSync(bytes, size)); // true or false ``` ## Testing Run `npm install`, then run `npm test`.

开发依赖

GroupId ArtifactID Version 引用量
aaronabramov jest 24.8.0 62056
James Long prettier 1.17.1 35595
Lars Kappert release-it 12.3.3 1342
Kulshekhar Kabra ts-jest 24.0.2 13791
palantir tslint 5.17.0 44806
Alex Jover Morales tslint-config-prettier 1.18.0 5129