json-restyle
Version:
Rename keys of JSON data
63 lines (62 loc) • 3.98 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Component, Input } from '@angular/core';
import { JsonRestyleService } from './json-restyle.service';
export class JsonRestyleComponent {
/**
* @param {?} jsonService
*/
constructor(jsonService) {
this.jsonService = jsonService;
}
/**
* @return {?}
*/
ngOnInit() {
}
/**
* @param {?} changes
* @return {?}
*/
ngOnChanges(changes) {
if (changes && (changes["data"] && changes["data"].previousValue != changes["data"].currentValue)
|| (changes["mapping"] && changes["mapping"].previousValue != changes["mapping"].currentValue)) {
this.modifiedData = this.jsonService.reform(this.data, this.mapping);
}
}
}
JsonRestyleComponent.decorators = [
{ type: Component, args: [{
selector: 'json-restyle',
template: `
<p>
Raw Data: {{data | json}}
</p>
<p>
Modified Data: {{modifiedData | json}}
</p>
`,
styles: []
},] },
];
/** @nocollapse */
JsonRestyleComponent.ctorParameters = () => [
{ type: JsonRestyleService }
];
JsonRestyleComponent.propDecorators = {
data: [{ type: Input }],
mapping: [{ type: Input }]
};
if (false) {
/** @type {?} */
JsonRestyleComponent.prototype.data;
/** @type {?} */
JsonRestyleComponent.prototype.mapping;
/** @type {?} */
JsonRestyleComponent.prototype.modifiedData;
/** @type {?} */
JsonRestyleComponent.prototype.jsonService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1yZXN0eWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2pzb24tcmVzdHlsZS8iLCJzb3VyY2VzIjpbImpzb24tcmVzdHlsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQWE1RCxNQUFNOzs7O0lBTUosWUFBb0IsV0FBK0I7UUFBL0IsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO0tBQUs7Ozs7SUFFeEQsUUFBUTtLQUNQOzs7OztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxFQUFFLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLFlBQVMsT0FBTyxTQUFNLGFBQWEsSUFBSSxPQUFPLFNBQU0sWUFBWSxDQUFDO2VBQ3JGLENBQUMsT0FBTyxlQUFZLE9BQU8sWUFBUyxhQUFhLElBQUksT0FBTyxZQUFTLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0RixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3RFO0tBQ0Y7OztZQTVCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLFFBQVEsRUFBRTs7Ozs7OztHQU9UO2dCQUNELE1BQU0sRUFBRSxFQUFFO2FBQ1g7Ozs7WUFaUSxrQkFBa0I7OzttQkFjeEIsS0FBSztzQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEpzb25SZXN0eWxlU2VydmljZSB9IGZyb20gJy4vanNvbi1yZXN0eWxlLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnanNvbi1yZXN0eWxlJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8cD5cbiAgICAgIFJhdyBEYXRhOiB7e2RhdGEgfCBqc29ufX1cbiAgICA8L3A+XG4gICAgPHA+XG4gICAgICBNb2RpZmllZCBEYXRhOiB7e21vZGlmaWVkRGF0YSB8IGpzb259fVxuICAgIDwvcD5cbiAgYCxcbiAgc3R5bGVzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBKc29uUmVzdHlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZGF0YTogYW55O1xuICBASW5wdXQoKSBtYXBwaW5nOiBhbnk7XG5cbiAgcHVibGljIG1vZGlmaWVkRGF0YTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUganNvblNlcnZpY2U6IEpzb25SZXN0eWxlU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMgJiYgKGNoYW5nZXMuZGF0YSAmJiBjaGFuZ2VzLmRhdGEucHJldmlvdXNWYWx1ZSAhPSBjaGFuZ2VzLmRhdGEuY3VycmVudFZhbHVlKVxuICAgIHx8IChjaGFuZ2VzLm1hcHBpbmcgJiYgY2hhbmdlcy5tYXBwaW5nLnByZXZpb3VzVmFsdWUgIT0gY2hhbmdlcy5tYXBwaW5nLmN1cnJlbnRWYWx1ZSkpIHtcbiAgICAgIHRoaXMubW9kaWZpZWREYXRhID0gdGhpcy5qc29uU2VydmljZS5yZWZvcm0odGhpcy5kYXRhLCB0aGlzLm1hcHBpbmcpO1xuICAgIH1cbiAgfVxufVxuIl19