From beb7fcd9bc6cd7de572a7008b07bf8279ef16de2 Mon Sep 17 00:00:00 2001 From: minamo Date: Tue, 18 Dec 2012 06:13:10 +0800 Subject: [PATCH] Fix jsonpath option. --- sabrina/persistence-read-json.js | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/sabrina/persistence-read-json.js b/sabrina/persistence-read-json.js index 0818215..d11705a 100644 --- a/sabrina/persistence-read-json.js +++ b/sabrina/persistence-read-json.js @@ -7,13 +7,18 @@ var waterfall = require("./waterfall"); var jsonParse = require("./json-parse"); module.exports = function (jsonpath, jsondir, callback) { + function onComplete (err, json) { + if (err) { + return callback(err); + } + return jsonParse(json, callback); + } + + if (jsonpath) { + return fs.readFile(jsonpath, "utf8", onComplete); + } + return waterfall.escapeWaterfall([ - function (value, cb, end) { - if (jsonpath) { - fs.readFile(jsonpath, "utf8", end); - } - return cb("next"); - }, function (value, cb, end, escape) { return fs.readdir(jsondir, escape); }, @@ -41,9 +46,6 @@ module.exports = function (jsonpath, jsondir, callback) { }, function (value, cb, end, escape) { return fs.readFile(path.join(jsondir, value), "utf8", escape); - }, - function (value, cb, end) { - return jsonParse(value, end); } - ], callback); + ], onComplete); };