|
|
@ -10,6 +10,7 @@ |
|
|
|
var fs = require('fs') |
|
|
|
var fs = require('fs') |
|
|
|
, path = require('path') |
|
|
|
, path = require('path') |
|
|
|
, customUtils = require('./customUtils') |
|
|
|
, customUtils = require('./customUtils') |
|
|
|
|
|
|
|
, model = require('./model') |
|
|
|
; |
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -62,7 +63,7 @@ Datastore.treatRawData = function (rawData) { |
|
|
|
var doc; |
|
|
|
var doc; |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
try { |
|
|
|
doc = JSON.parse(d); |
|
|
|
doc = model.deserialize(d); |
|
|
|
res.push(doc); |
|
|
|
res.push(doc); |
|
|
|
} catch (e) { |
|
|
|
} catch (e) { |
|
|
|
} |
|
|
|
} |
|
|
@ -84,7 +85,7 @@ Datastore.prototype.insert = function (newDoc, cb) { |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
try { |
|
|
|
newDoc._id = customUtils.uid(16); |
|
|
|
newDoc._id = customUtils.uid(16); |
|
|
|
persistableNewDoc = JSON.stringify(newDoc); |
|
|
|
persistableNewDoc = model.serialize(newDoc); |
|
|
|
} catch (e) { |
|
|
|
} catch (e) { |
|
|
|
return callback(e); |
|
|
|
return callback(e); |
|
|
|
} |
|
|
|
} |
|
|
@ -92,7 +93,7 @@ Datastore.prototype.insert = function (newDoc, cb) { |
|
|
|
fs.appendFile(self.filename, persistableNewDoc + '\n', 'utf8', function (err) { |
|
|
|
fs.appendFile(self.filename, persistableNewDoc + '\n', 'utf8', function (err) { |
|
|
|
if (err) { return callback(err); } |
|
|
|
if (err) { return callback(err); } |
|
|
|
|
|
|
|
|
|
|
|
var insertedDoc = JSON.parse(persistableNewDoc); |
|
|
|
var insertedDoc = model.deserialize(persistableNewDoc); |
|
|
|
self.data.push(insertedDoc); // Make sure the doc is the same on the disk and in memory
|
|
|
|
self.data.push(insertedDoc); // Make sure the doc is the same on the disk and in memory
|
|
|
|
// Some docs can't be stringified correctly
|
|
|
|
// Some docs can't be stringified correctly
|
|
|
|
return callback(null, insertedDoc); |
|
|
|
return callback(null, insertedDoc); |
|
|
@ -174,7 +175,7 @@ Datastore.prototype.persistWholeDatabase = function (data, cb) { |
|
|
|
callback = cb || function () {}; |
|
|
|
callback = cb || function () {}; |
|
|
|
|
|
|
|
|
|
|
|
data.forEach(function (d) { |
|
|
|
data.forEach(function (d) { |
|
|
|
newContents += JSON.stringify(d) + '\n'; |
|
|
|
newContents += model.serialize(d) + '\n'; |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
fs.writeFile(self.filename, newContents, 'utf8', callback); |
|
|
|
fs.writeFile(self.filename, newContents, 'utf8', callback); |
|
|
|