made replaceKey recursive function

This commit is contained in:
Dolan Miu
2016-04-10 05:09:02 +01:00
parent 50e2344d2c
commit 54c09ca4c7
2 changed files with 29 additions and 7 deletions

View File

@ -6,6 +6,19 @@ export abstract class XmlComponent {
this.root = new Array<XmlComponent>();
this.rootKey = rootKey;
}
replaceKey() {
console.log(this.rootKey);
console.log(this.root);
if (this.root !== undefined) {
this.root.forEach(root => {
root.replaceKey();
});
}
this[this.rootKey] = this.root;
//Object(this)[this.rootKey]
delete this.root;
}
}
interface AttributesProperties {

View File

@ -1,24 +1,33 @@
import * as _ from "lodash";
import {XmlComponent} from "../docx/xml-components";
export class Formatter {
format(input: any): Object {
this.replaceKeys(input);
var newJson = this.clense(input);
return newJson;
}
private replaceKeys(input: XmlComponent): Object {
input.replaceKey();
this.deepTraverseJson(input, (parent, value, key) => {
if (isNaN(key) && key !== "rootKey") {
/*if (isNaN(key) && key !== "rootKey") {
var newKey = parent.rootKey;
console.log(key);
if (newKey !== key) {
if (newKey) {
parent[newKey] = parent[key];
delete parent[key];
} else {
//console.error("Key is not in dictionary:" + key);
}
}
}*/
//console.log(value);
//parent.replaceKey();
});
var newJson = this.clense(input);
return newJson;
return input;
}
private clense(input: any): Object {