I would like to extend the native JSON object of node.js. In my example, I was able to extend it to add a merge(json1, json2) function, which merges 2 JSONs:
JSON.merge = function(target) {
var sources = [].slice.call(arguments, 1);
sources.forEach(function (source) {
for (var prop in source) {
target[prop] = source[prop];
}
});
return target;
}
This script is larglely inspired from this question: Combine or merge JSON on node.js without jQuery
To have a cleaner code, I put this script in a library folder, and require it in my main script. This is what I did...
My lib/JSON.js file:
extends.merge = function(target){
// The same script as above.
}
and in my app.js file:
JSON = require('./lib/JSON')
It works well, but now, native JSON methods don't work (like .stringify). Then I digged a little bit, and tried to extend JSON using .prototype, like this (in lib/JSON.js):
extends.prototype.merge = ...
But get the following error:
TypeError: Cannot set property 'merge' of undefined
I really don't know what to do (and what I'm doing) since solving a problems causes another problem.
Please, need help.
Thanks.