myy-common
Version:
Common That Helper.
65 lines (64 loc) • 2.17 kB
JavaScript
;
// 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);