UNPKG

json-restyle

Version:
69 lines (68 loc) 5.7 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; var JsonRestyleService = /** @class */ (function () { function JsonRestyleService() { } /** * * PURPOSE : Rename key in json object * jsonObject : Single JSON object/Array of JSON objects * mappings : { Old key Name1 : New key Name1, Old key Name2 : New key Name2, ... } * TODO : Nested JSON Object * @param {?} jsonObject * @param {?} mappings * @return {?} */ JsonRestyleService.prototype.reform = /** * * PURPOSE : Rename key in json object * jsonObject : Single JSON object/Array of JSON objects * mappings : { Old key Name1 : New key Name1, Old key Name2 : New key Name2, ... } * TODO : Nested JSON Object * @param {?} jsonObject * @param {?} mappings * @return {?} */ function (jsonObject, mappings) { /** @type {?} */ var data; if (jsonObject instanceof Array) { data = JSON.parse(JSON.stringify({ array: jsonObject })).array; for (var i = 0; i < data.length; i++) { for (var property in mappings) { data[i][mappings[property]] = data[i][property]; delete data[i][property]; } } return data; } else { if (jsonObject instanceof Object) { data = JSON.parse(JSON.stringify(jsonObject)); for (var property in mappings) { data[mappings[property]] = data[property]; delete data[property]; } return data; } } return jsonObject; }; JsonRestyleService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] }, ]; /** @nocollapse */ JsonRestyleService.ctorParameters = function () { return []; }; /** @nocollapse */ JsonRestyleService.ngInjectableDef = i0.defineInjectable({ factory: function JsonRestyleService_Factory() { return new JsonRestyleService(); }, token: JsonRestyleService, providedIn: "root" }); return JsonRestyleService; }()); export { JsonRestyleService }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1yZXN0eWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9qc29uLXJlc3R5bGUvIiwic291cmNlcyI6WyJqc29uLXJlc3R5bGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0lBTXpDO0tBQWlCOzs7Ozs7Ozs7OztJQVFWLG1DQUFNOzs7Ozs7Ozs7O2NBQUMsVUFBVSxFQUFFLFFBQVE7O1FBQ2hDLElBQUksSUFBSSxDQUFNO1FBQ2QsRUFBRSxDQUFDLENBQUMsVUFBVSxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDaEMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDekIsS0FBSyxFQUFFLFVBQVU7YUFDbEIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ2hCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNqQyxHQUFHLENBQUMsQ0FBQyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDO29CQUM5QixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUNoRCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDMUI7YUFDRjtZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUM7U0FDYjtRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sRUFBRSxDQUFDLENBQUMsVUFBVSxZQUFZLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDOUMsR0FBRyxDQUFDLENBQUMsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQztvQkFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDMUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ3ZCO2dCQUNELE1BQU0sQ0FBQyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQ0QsTUFBTSxDQUFDLFVBQVUsQ0FBQzs7O2dCQW5DckIsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7Ozs7NkJBSkQ7O1NBS2Esa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBKc29uUmVzdHlsZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4vKioqXG4gKiBQVVJQT1NFICAgIDogUmVuYW1lIGtleSBpbiBqc29uIG9iamVjdFxuICoganNvbk9iamVjdCA6IFNpbmdsZSBKU09OIG9iamVjdC9BcnJheSBvZiBKU09OIG9iamVjdHNcbiAqIG1hcHBpbmdzICAgOiB7IE9sZCBrZXkgTmFtZTEgOiBOZXcga2V5IE5hbWUxLCBPbGQga2V5IE5hbWUyIDogTmV3IGtleSBOYW1lMiwgLi4uIH1cbiAqIFRPRE8gICAgICAgOiBOZXN0ZWQgSlNPTiBPYmplY3RcbiAqL1xuICBwdWJsaWMgcmVmb3JtKGpzb25PYmplY3QsIG1hcHBpbmdzKSB7XG4gICAgbGV0IGRhdGE6IGFueTtcbiAgICBpZiAoanNvbk9iamVjdCBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICBkYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgIGFycmF5OiBqc29uT2JqZWN0XG4gICAgICAgICAgICB9KSkuYXJyYXk7XG4gICAgICBmb3IgKGxldCBpPTA7IGk8ZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBtYXBwaW5ncykge1xuICAgICAgICAgIGRhdGFbaV1bbWFwcGluZ3NbcHJvcGVydHldXSA9IGRhdGFbaV1bcHJvcGVydHldO1xuICAgICAgICAgIGRlbGV0ZSBkYXRhW2ldW3Byb3BlcnR5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChqc29uT2JqZWN0IGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICAgIGRhdGEgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGpzb25PYmplY3QpKTtcbiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbWFwcGluZ3MpIHtcbiAgICAgICAgICBkYXRhW21hcHBpbmdzW3Byb3BlcnR5XV0gPSBkYXRhW3Byb3BlcnR5XTtcbiAgICAgICAgICBkZWxldGUgZGF0YVtwcm9wZXJ0eV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBqc29uT2JqZWN0O1xuICB9XG59XG4iXX0=