From 4bb4b19cae9c558a32a9232f6b4059a49d04471d Mon Sep 17 00:00:00 2001 From: coderaiser Date: Fri, 21 Nov 2014 08:17:46 -0500 Subject: [PATCH] feature(files) add from npm --- lib/server/edit.js | 7 +- lib/server/files.js | 135 -------------------------------------- lib/server/packer.js | 8 ++- lib/server/rest/fs/get.js | 5 +- lib/server/rest/fs/put.js | 7 +- lib/server/route.js | 2 +- package.json | 1 + test/lib/cloudfunc.js | 2 +- 8 files changed, 20 insertions(+), 147 deletions(-) delete mode 100644 lib/server/files.js diff --git a/lib/server/edit.js b/lib/server/edit.js index ddcc00a5..87a1b9ad 100644 --- a/lib/server/edit.js +++ b/lib/server/edit.js @@ -8,10 +8,13 @@ Util = require(DIR_LIB + 'util'), CloudFunc = require(DIR_LIB + 'cloudfunc'), patch = require(DIR_SERVER + 'patch'), - files = require(DIR_SERVER + 'files'), hash = require(DIR_SERVER + 'hash'), + tryRequire = require('./tryRequire'), - mellow = tryRequire('mellow', {log: true, exit: true}); + tryOptions = {log: true, exit: true}, + + mellow = tryRequire('mellow', tryOptions), + files = tryRequire('files-io', tryOptions); module.exports = function(sock) { Util.check(arguments, ['socket']); diff --git a/lib/server/files.js b/lib/server/files.js deleted file mode 100644 index 993a5412..00000000 --- a/lib/server/files.js +++ /dev/null @@ -1,135 +0,0 @@ -(function() { - 'use strict'; - - var fs = require('fs'), - zlib = require('zlib'), - - Util = require('../util'), - - tryRequire = require('./tryRequire'), - pipe = tryRequire('pipe-io', {log: true, exit: true}), - - type = Util.type; - - module.exports.read = function(files, options, callback) { - var done = [], - isDone = false, - noOptions = type.function(options), - readFiles = {}, - doneFunc = function (name, error, data) { - done.pop(); - - if (error) - done = []; - else - readFiles[name] = data; - - if (!done.length && !isDone) { - isDone = true; - callback(error, readFiles); - } - }; - - Util.check(arguments, ['files', 'callback']); - - if (noOptions) { - callback = options; - options = null; - } - - done = files.map(function(name) { - fs.readFile(name, options, doneFunc.bind(null, name)); - return name; - }); - }; - - module.exports.readPipe = function readPipe(names, write, options, callback) { - var name, lenght; - - if (!callback) { - callback = options; - options = { - gzip : false - }; - } - - options.end = false; - - if (names) { - lenght = names.length; - names = names.slice(); - } - - if (!lenght) { - write.end(); - callback(); - } else { - name = names.shift(); - - pipeFiles(name, write, options, function(error) { - if (error) - callback(error); - else - readPipe(names, write, options, callback); - }); - } - }; - - /** - * create pipe - * - * @param read - readable stream - * @param write - writable stream - * - * @param options { - * gzip - * ungzip - * notEnd - * } - * - * @param callback - function(error) {} - */ - module.exports.pipe = pipeFiles; - - function pipeFiles(read, write, options, callback) { - var gzip, - isStrRead = type.string(read), - isStrWrite = type.string(write), - isFunc = type.function(options), - o = {}, - optionsRead = { - bufferSize: 4 * 1024 - }; - - Util.check(arguments, ['read', 'write', 'callback']); - - if (isFunc) - callback = options; - else - o = options; - - if (options.range) - Util.extend(optionsRead, { - start : o.range.start, - end : o.range.end, - }); - - if (isStrRead) - read = fs.createReadStream(read, optionsRead); - - if (isStrWrite) - write = fs.createWriteStream(write); - - if (o.gzip || o.gunzip) { - if (o.gzip) - gzip = zlib.createGzip(); - else - gzip = zlib.createGunzip(); - - read = read.pipe(gzip); - } - - pipe([read, write], options, callback); - } - -})(this); diff --git a/lib/server/packer.js b/lib/server/packer.js index 356e9fa9..fdfb3a15 100644 --- a/lib/server/packer.js +++ b/lib/server/packer.js @@ -9,13 +9,15 @@ zlib = require('zlib'), tryRequire = require(DIR + 'tryRequire'), + tryOptions = {log: true, exit: true}, tar = tryRequire('tar'), fstream = tryRequire('fstream'), - pipe = tryRequire('pipe-io', {log: true, exit: true}), - Util = require(DIR_LIB + 'util'), - files = require(DIR + 'files'); + pipe = tryRequire('pipe-io', tryOptions), + files = tryRequire('files-io', tryOptions), + + Util = require(DIR_LIB + 'util'); exports.pack = function(from, to, callback) { isDir(from, function(is) { diff --git a/lib/server/rest/fs/get.js b/lib/server/rest/fs/get.js index 3825693d..a5b7d96e 100644 --- a/lib/server/rest/fs/get.js +++ b/lib/server/rest/fs/get.js @@ -7,15 +7,16 @@ Util = require(DIR + 'util'), - files = require(DIR_SERVER + 'files'), hash = require(DIR_SERVER + 'hash'), beautify = require(DIR_SERVER + 'beautify'), minify = require(DIR_SERVER + 'minify'), tryRequire = require(DIR_SERVER + 'tryRequire'), tryOptions = {log: true, exit: true}, + mellow = tryRequire('mellow', tryOptions), - flop = tryRequire('flop', tryOptions); + flop = tryRequire('flop', tryOptions), + files = tryRequire('files-io', tryOptions); module.exports = function(query, name, callback) { var hashStream, error; diff --git a/lib/server/rest/fs/put.js b/lib/server/rest/fs/put.js index 011980f7..9f5f328c 100644 --- a/lib/server/rest/fs/put.js +++ b/lib/server/rest/fs/put.js @@ -11,11 +11,12 @@ Util = require(DIR + 'util'), packer = require(DIR_SERVER + 'packer'), - files = require(DIR_SERVER + 'files'), - tryRequire = require(DIR_SERVER + 'tryRequire'), + tryRequire = require(DIR_SERVER + 'tryRequire'), tryOptions = {log: true, exit: true}, - flop = tryRequire('flop', tryOptions); + + flop = tryRequire('flop', tryOptions), + files = tryRequire('files-io', tryOptions); module.exports = function(query, name, readStream, callback) { var baseName = path.basename(name), diff --git a/lib/server/route.js b/lib/server/route.js index 28de7098..a90cff88 100644 --- a/lib/server/route.js +++ b/lib/server/route.js @@ -14,8 +14,8 @@ mellow = tryRequire('mellow', tryOptions), ponse = tryRequire('ponse', tryOptions), + files = tryRequire('files-io', tryOptions), - files = require(DIR_SERVER + 'files'), minify = require(DIR_SERVER + 'minify'), config = require(DIR_SERVER + 'config'), diff --git a/package.json b/package.json index 5976dcf6..14bdc70f 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "console-io": "~1.10.0", "dropbox": "0.10.x", "express": "~4.10.0", + "files-io": "~1.2.0", "flop": "~1.0.25", "fstream": "~1.0.2", "http-auth": "2.1.x", diff --git a/test/lib/cloudfunc.js b/test/lib/cloudfunc.js index 4ad54b4e..b42f75bb 100644 --- a/test/lib/cloudfunc.js +++ b/test/lib/cloudfunc.js @@ -7,7 +7,7 @@ Util = require(LIBDIR + 'util'), CloudFunc = require(LIBDIR + 'cloudfunc'), - files = require(LIBDIR + 'server/files'), + files = require('files-io'), FS_DIR = HTMLDIR + 'fs/', EXPECT_PATH = DIR + 'test/lib/cloudfunc.html',