parse-js
Version:
Utility library for object structure conversion.
32 lines (24 loc) • 752 B
JavaScript
;
var _transform = require('../lib/transform');
function RenameTransformer(parser, reverser) {
if (!(this instanceof RenameTransformer)) {
return this.transform(new RenameTransformer(parser, reverser));
}
this._parser = parser;
this._reverser = reverser;
}
RenameTransformer.prototype.parse = function (source) {
var _this = this;
return _transform(source, function (result, value, key) {
key = _this._parser(key, value);
result[key] = value;
}, {});
};
RenameTransformer.prototype.reverse = function (source) {
var _this2 = this;
return _transform(source, function (result, value, key) {
key = _this2._reverser(key, value);
result[key] = value;
}, {});
};
module.exports = RenameTransformer;