[Pkg-javascript-commits] [node-read-file] 01/02: Imported Upstream version 0.2.0

Thorsten Alteholz alteholz at moszumanska.debian.org
Sun Mar 27 15:36:22 UTC 2016


This is an automated email from the git hooks/post-receive script.

alteholz pushed a commit to branch master
in repository node-read-file.

commit b3a3043a51d96beaa8fe0acfca0dfb55939c142c
Author: Thorsten Alteholz <debian at alteholz.de>
Date:   Sun Mar 27 17:36:20 2016 +0200

    Imported Upstream version 0.2.0
---
 LICENSE      | 24 +++++++++++++++++
 README.md    | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 index.js     | 60 +++++++++++++++++++++++++++++++++++++++++
 package.json | 42 +++++++++++++++++++++++++++++
 4 files changed, 214 insertions(+)

diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..9249db9
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,24 @@
+The MIT License (MIT)
+
+Copyright (c) 2014, 2015 Jon Schlinkert.
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..98e58fa
--- /dev/null
+++ b/README.md
@@ -0,0 +1,88 @@
+# read-file [![NPM version](https://badge.fury.io/js/read-file.svg)](http://badge.fury.io/js/read-file)
+
+> Thin wrapper around fs.readFile and fs.readFileSync that also strips byte order marks when `utf8` encoding is chosen. Also optionally replaces windows newlines with unix newlines.
+
+Install with [npm](https://www.npmjs.com/)
+
+```sh
+$ npm i read-file --save
+```
+
+## Usage
+
+```js
+var read = require('read-file');
+
+// async
+read('foo.txt', function(err, buffer) {
+  //=> <Buffer 74 68 69 73 20 69 73 20 66 6f 6f>
+});
+
+// sync
+var buffer = read.sync('foo.txt');
+//=> <Buffer 74 68 69 73 20 69 73 20 66 6f 6f>
+```
+
+### BOM
+
+if `utf8` encoding is used, byte order marks will be stripped
+
+**async**
+
+```js
+read('foo.txt', 'utf8', function(err, buffer) {
+  //=> 'some contents...'
+});
+
+// or
+read('foo.txt', {encoding: 'utf8'} function(err, buffer) {
+  //=> 'some contents...'
+});
+```
+
+**sync**
+
+```js
+read.sync('foo.txt', 'utf8');
+// or
+read('foo.txt', {encoding: 'utf8'});
+```
+
+### options.normalize
+
+Pass `{ normalize: true }` on the options to strip windows carriage returns. This will also return a `utf8` string.
+
+## Related projects
+
+* [copy](https://github.com/jonschlinkert/copy): Copy files or directories using globs.
+* [read-yaml](https://github.com/jonschlinkert/read-yaml): Very thin wrapper around js-yaml for directly reading in YAML files.
+* [read-data](https://github.com/jonschlinkert/read-data): Read JSON or YAML files.
+* [write](https://github.com/jonschlinkert/write): Write files to disk, creating intermediate directories if they don't exist.
+
+## Running tests
+
+Install dev dependencies:
+
+```sh
+$ npm i -d && npm test
+```
+
+## Contributing
+
+Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/read-file/issues/new)
+
+## Author
+
+**Jon Schlinkert**
+
++ [github/jonschlinkert](https://github.com/jonschlinkert)
++ [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
+
+## License
+
+Copyright © 2015 Jon Schlinkert
+Released under the MIT license.
+
+***
+
+_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on July 17, 2015._
\ No newline at end of file
diff --git a/index.js b/index.js
new file mode 100644
index 0000000..a5c2f73
--- /dev/null
+++ b/index.js
@@ -0,0 +1,60 @@
+/**
+ * read-file <https://github.com/assemble/read-file>
+ *
+ * Copyright (c) 2014, 2015 Jon Schlinkert.
+ * Licensed under the MIT license.
+ */
+
+var fs = require('fs');
+
+function read(fp, opts, cb) {
+  if (typeof opts === 'function') {
+    cb = opts;
+    opts = {};
+  }
+
+  if (typeof cb !== 'function') {
+    throw new TypeError('read-file async expects a callback function.');
+  }
+
+  if (typeof fp !== 'string') {
+    cb(new TypeError('read-file async expects a string.'));
+  }
+
+  fs.readFile(fp, opts, function (err, buffer) {
+    if (err) return cb(err);
+    cb(null, normalize(buffer, opts));
+  });
+}
+
+read.sync = function(fp, opts) {
+  if (typeof fp !== 'string') {
+    throw new TypeError('read-file sync expects a string.');
+  }
+  try {
+    return normalize(fs.readFileSync(fp, opts), opts);
+  } catch (err) {
+    err.message = 'Failed to read "' + fp + '": ' + err.message;
+    throw new Error(err);
+  }
+};
+
+function normalize(str, opts) {
+  str = stripBom(str);
+  if (typeof opts === 'object' && opts.normalize === true) {
+    return String(str).replace(/\r\n|\n/g, '\n');
+  }
+  return str;
+}
+
+function stripBom(str) {
+  return typeof str === 'string' && str.charAt(0) === '\uFEFF'
+    ? str.slice(1)
+    : str;
+}
+
+/**
+ * Expose `read`
+ */
+
+module.exports = read;
\ No newline at end of file
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..d43bbef
--- /dev/null
+++ b/package.json
@@ -0,0 +1,42 @@
+{
+  "name": "read-file",
+  "description": "Thin wrapper around fs.readFile and fs.readFileSync that also strips byte order marks when `utf8` encoding is chosen. Also optionally replaces windows newlines with unix newlines.",
+  "version": "0.2.0",
+  "homepage": "https://github.com/jonschlinkert/read-file",
+  "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
+  "repository": "jonschlinkert/read-file",
+  "bugs": {
+    "url": "https://github.com/jonschlinkert/read-file/issues"
+  },
+  "license": "MIT",
+  "files": [
+    "index.js"
+  ],
+  "main": "index.js",
+  "engines": {
+    "node": ">=0.8"
+  },
+  "scripts": {
+    "test": "mocha"
+  },
+  "keywords": [
+    "bom",
+    "file",
+    "fs",
+    "path",
+    "read",
+    "util",
+    "readfile",
+    "readfilesync"
+  ],
+  "verb": {
+    "related": {
+      "list": [
+        "read-yaml",
+        "read-data",
+        "write",
+        "copy"
+      ]
+    }
+  }
+}
\ No newline at end of file

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-read-file.git



More information about the Pkg-javascript-commits mailing list