dc-management-sdk-js
Version:
Amplience Dynamic Content Management SDK
37 lines • 2.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.JsonTree = void 0;
/**
* @hidden
*/
var JsonTree = /** @class */ (function () {
function JsonTree() {
}
JsonTree.visit = function (data, visitor, depth) {
if (depth === void 0) { depth = 0; }
if (depth > 1000) {
throw new Error('Tree depth exceeded maximum of 1000, verify the data is not self-referential');
}
if (data == null) {
return;
}
else if (Array.isArray(data)) {
for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {
var item = data_1[_i];
JsonTree.visit(item, visitor, depth + 1);
visitor(item);
}
}
else if (typeof data === 'object') {
var keys = Object.keys(data);
for (var _a = 0, keys_1 = keys; _a < keys_1.length; _a++) {
var key = keys_1[_a];
JsonTree.visit(data[key], visitor, depth + 1);
visitor(data[key]);
}
}
};
return JsonTree;
}());
exports.JsonTree = JsonTree;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSnNvblRyZWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL0pzb25UcmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBOztHQUVHO0FBQ0g7SUFBQTtJQXVCQSxDQUFDO0lBdEJlLGNBQUssR0FBbkIsVUFBb0IsSUFBUyxFQUFFLE9BQW9CLEVBQUUsS0FBUztRQUFULHNCQUFBLEVBQUEsU0FBUztRQUM1RCxJQUFJLEtBQUssR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUNiLDhFQUE4RSxDQUMvRSxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2pCLE9BQU87UUFDVCxDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0IsS0FBbUIsVUFBSSxFQUFKLGFBQUksRUFBSixrQkFBSSxFQUFKLElBQUksRUFBRSxDQUFDO2dCQUFyQixJQUFNLElBQUksYUFBQTtnQkFDYixRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN6QyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEIsQ0FBQztRQUNILENBQUM7YUFBTSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3BDLElBQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsS0FBa0IsVUFBSSxFQUFKLGFBQUksRUFBSixrQkFBSSxFQUFKLElBQUksRUFBRSxDQUFDO2dCQUFwQixJQUFNLEdBQUcsYUFBQTtnQkFDWixRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUM5QyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDckIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0gsZUFBQztBQUFELENBQUMsQUF2QkQsSUF1QkM7QUF2QlksNEJBQVEifQ==