[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 [](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