Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / write / index.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/write/index.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/write/index.js
new file mode 100644 (file)
index 0000000..b2b4b43
--- /dev/null
@@ -0,0 +1,160 @@
+/*!
+ * write <https://github.com/jonschlinkert/write>
+ *
+ * Copyright (c) 2014-2017, Jon Schlinkert.
+ * Released under the MIT License.
+ */
+
+'use strict';
+
+var fs = require('fs');
+var path = require('path');
+var mkdirp = require('mkdirp');
+
+/**
+ * Asynchronously writes data to a file, replacing the file if it already
+ * exists and creating any intermediate directories if they don't already
+ * exist. Data can be a string or a buffer. Returns a promise if a callback
+ * function is not passed.
+ *
+ * ```js
+ * var writeFile = require('write');
+ * writeFile('foo.txt', 'This is content...', function(err) {
+ *   if (err) console.log(err);
+ * });
+ *
+ * // promise
+ * writeFile('foo.txt', 'This is content...')
+ *   .then(function() {
+ *     // do stuff
+ *   });
+ * ```
+ * @name writeFile
+ * @param {string|Buffer|integer} `filepath` filepath or file descriptor.
+ * @param {string|Buffer|Uint8Array} `data` String to write to disk.
+ * @param {object} `options` Options to pass to [fs.writeFile][fs]{#fs_fs_writefile_file_data_options_callback} and/or [mkdirp][]
+ * @param {Function} `callback` (optional) If no callback is provided, a promise is returned.
+ * @api public
+ */
+
+function writeFile(filepath, data, options, cb) {
+  if (typeof options === 'function') {
+    cb = options;
+    options = {};
+  }
+
+  if (typeof cb !== 'function') {
+    return writeFile.promise.apply(null, arguments);
+  }
+
+  if (typeof filepath !== 'string') {
+    cb(new TypeError('expected filepath to be a string'));
+    return;
+  }
+
+  mkdirp(path.dirname(filepath), options, function(err) {
+    if (err) {
+      cb(err);
+      return;
+    }
+    fs.writeFile(filepath, data, options, cb);
+  });
+};
+
+/**
+ * The promise version of [writeFile](#writefile). Returns a promise.
+ *
+ * ```js
+ * var writeFile = require('write');
+ * writeFile.promise('foo.txt', 'This is content...')
+ *   .then(function() {
+ *     // do stuff
+ *   });
+ * ```
+ * @name .promise
+ * @param {string|Buffer|integer} `filepath` filepath or file descriptor.
+ * @param {string|Buffer|Uint8Array} `val` String or buffer to write to disk.
+ * @param {object} `options` Options to pass to [fs.writeFile][fs]{#fs_fs_writefile_file_data_options_callback} and/or [mkdirp][]
+ * @return {Promise}
+ * @api public
+ */
+
+writeFile.promise = function(filepath, val, options) {
+  if (typeof filepath !== 'string') {
+    return Promise.reject(new TypeError('expected filepath to be a string'));
+  }
+
+  return new Promise(function(resolve, reject) {
+    mkdirp(path.dirname(filepath), options, function(err) {
+      if (err) {
+        reject(err);
+        return;
+      }
+
+      fs.writeFile(filepath, val, options, function(err) {
+        if (err) {
+          reject(err);
+          return;
+        }
+        resolve(val);
+      });
+    });
+  });
+};
+
+/**
+ * The synchronous version of [writeFile](#writefile). Returns undefined.
+ *
+ * ```js
+ * var writeFile = require('write');
+ * writeFile.sync('foo.txt', 'This is content...');
+ * ```
+ * @name .sync
+ * @param {string|Buffer|integer} `filepath` filepath or file descriptor.
+ * @param {string|Buffer|Uint8Array} `data` String or buffer to write to disk.
+ * @param {object} `options` Options to pass to [fs.writeFileSync][fs]{#fs_fs_writefilesync_file_data_options} and/or [mkdirp][]
+ * @return {undefined}
+ * @api public
+ */
+
+writeFile.sync = function(filepath, data, options) {
+  if (typeof filepath !== 'string') {
+    throw new TypeError('expected filepath to be a string');
+  }
+  mkdirp.sync(path.dirname(filepath), options);
+  fs.writeFileSync(filepath, data, options);
+};
+
+/**
+ * Uses `fs.createWriteStream` to write data to a file, replacing the
+ * file if it already exists and creating any intermediate directories
+ * if they don't already exist. Data can be a string or a buffer. Returns
+ * a new [WriteStream](https://nodejs.org/api/fs.html#fs_class_fs_writestream)
+ * object.
+ *
+ * ```js
+ * var fs = require('fs');
+ * var writeFile = require('write');
+ * fs.createReadStream('README.md')
+ *   .pipe(writeFile.stream('a/b/c/other-file.md'))
+ *   .on('close', function() {
+ *     // do stuff
+ *   });
+ * ```
+ * @name .stream
+ * @param {string|Buffer|integer} `filepath` filepath or file descriptor.
+ * @param {object} `options` Options to pass to [mkdirp][] and [fs.createWriteStream][fs]{#fs_fs_createwritestream_path_options}
+ * @return {Stream} Returns a new [WriteStream](https://nodejs.org/api/fs.html#fs_class_fs_writestream) object. (See [Writable Stream](https://nodejs.org/api/stream.html#stream_class_stream_writable)).
+ * @api public
+ */
+
+writeFile.stream = function(filepath, options) {
+  mkdirp.sync(path.dirname(filepath), options);
+  return fs.createWriteStream(filepath, options);
+};
+
+/**
+ * Expose `writeFile`
+ */
+
+module.exports = writeFile;