UNPKG

myy-common

Version:
65 lines (64 loc) 2.17 kB
"use strict"; // tests.js Object.defineProperty(exports, "__esModule", { value: true }); exports.recursiveStruct = void 0; var interpolateStr_1 = require("./interpolateStr"); function interpolateStr_Test() { var template = 'The {{speed}} {{color}} {{mammal}} and the {{deep.speed}} {{deep.mammal}}'; var obj = { speed: 'quick', color: 'brown', mammal: 'dog', deep: { speed: 'lazy', mammal: 'fox' } }; var interpolated = interpolateStr_1.interpolateStr(template)(obj); console.log('interpolated: ' + interpolated); } interpolateStr_Test(); var recursive_1 = require("./recursive"); var recursiveStruct = /** @class */ (function () { function recursiveStruct() { // the recursive Structre step this.directChildren = []; // some other object data this.name = 'my name'; } Object.defineProperty(recursiveStruct.prototype, "length", { get: function () { return this.directChildren.length; }, enumerable: false, configurable: true }); recursiveStruct.prototype.str = function () { return 'name: ' + this.name + ', order: ' + this.order; }; return recursiveStruct; }()); exports.recursiveStruct = recursiveStruct; var myRecursiveStruct = { order: 1, name: "first parent", directChildren: [ { order: 2, directChildren: [ { order: 3, name: "some child" }, { order: 3, name: "some child who is also a parent", directChildren: [ { order: 4, name: "some child" }, { order: 4, name: "some child" }, ] }, ] } ] }; function myItemAction(item, index, recursiveArray, parantItem) { // parantItem.directChildren == recursiveArray console.log('my parent name is: ' + parantItem.name); console.log(index + item.str()); } recursive_1.runActionFirst(myRecursiveStruct, myItemAction, undefined, undefined);