mframejs
Version:
simple framework
92 lines • 3.32 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var contextOfObject_1 = require("./contextOfObject");
var exported_1 = require("../utils/exported");
function setValue(_class, key, value) {
_class = contextOfObject_1.getCorrectContext(key, _class);
_class = _class.__bindingContext ? _class.$context : _class;
var keys = exported_1.Cache.keyMaps.getCreate(key);
try {
var ref_1;
if (keys.length > 1) {
keys.forEach(function (prop, i) {
if (prop) {
if (i === keys.length - 1) {
ref_1[prop] = value;
}
else {
if (i === 0) {
ref_1 = _class[prop];
}
else {
ref_1 = ref_1[prop];
}
}
}
});
}
else {
_class[key] = value;
}
}
catch (e) {
try {
console.warn('key not found, rebuilding', key);
var newObject_1 = {};
var ref_2;
keys.forEach(function (prop, i) {
if (prop) {
if (i === keys.length - 1) {
if (i === 0) {
newObject_1[prop] = {};
ref_2 = newObject_1[prop];
}
else {
ref_2[prop] = value;
}
}
else {
if (i === 0) {
newObject_1[prop] = {};
ref_2 = newObject_1[prop];
}
else {
ref_2[prop] = {};
ref_2 = ref_2[prop];
}
}
}
});
var classRef_1 = _class;
keys.forEach(function (prop, i) {
if (prop) {
if (i === keys.length - 1) {
if (!classRef_1[prop]) {
classRef_1[prop] = newObject_1[prop];
}
}
else {
if (i === 0) {
if (!classRef_1[prop]) {
classRef_1[prop] = newObject_1[prop];
}
newObject_1 = newObject_1[prop];
classRef_1 = classRef_1[prop];
}
else {
if (!classRef_1[prop]) {
classRef_1[prop] = newObject_1[prop];
}
newObject_1 = newObject_1[prop];
classRef_1 = classRef_1[prop];
}
}
}
});
}
catch (e) {
console.error('key not found', key);
}
}
}
exports.setValue = setValue;
//# sourceMappingURL=setValue.js.map