ember-legacy-class-transform
Version:
The default blueprint for ember-cli addons.
49 lines (39 loc) • 4.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _reference = require("@glimmer/reference");
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
var DynamicVarReference = function () {
function DynamicVarReference(scope, nameRef) {
_classCallCheck(this, DynamicVarReference);
this.scope = scope;
this.nameRef = nameRef;
var varTag = this.varTag = _reference.UpdatableTag.create(_reference.CONSTANT_TAG);
this.tag = (0, _reference.combine)([nameRef.tag, varTag]);
}
DynamicVarReference.prototype.value = function value() {
return this.getVar().value();
};
DynamicVarReference.prototype.get = function get(key) {
return this.getVar().get(key);
};
DynamicVarReference.prototype.getVar = function getVar() {
var name = String(this.nameRef.value());
var ref = this.scope.get(name);
this.varTag.inner.update(ref.tag);
return ref;
};
return DynamicVarReference;
}();
function getDynamicVar(vm, args) {
var scope = vm.dynamicScope();
var nameRef = args.positional.at(0);
return new DynamicVarReference(scope, nameRef);
}
exports.default = getDynamicVar;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9oZWxwZXJzL2dldC1keW5hbWljLXZhci5qcyJdLCJuYW1lcyI6WyJDT05TVEFOVF9UQUciLCJVcGRhdGFibGVUYWciLCJjb21iaW5lIiwiRHluYW1pY1ZhclJlZmVyZW5jZSIsInNjb3BlIiwibmFtZVJlZiIsInZhclRhZyIsImNyZWF0ZSIsInRhZyIsInZhbHVlIiwiZ2V0VmFyIiwiZ2V0Iiwia2V5IiwibmFtZSIsIlN0cmluZyIsInJlZiIsImlubmVyIiwidXBkYXRlIiwiZ2V0RHluYW1pY1ZhciIsInZtIiwiYXJncyIsImR5bmFtaWNTY29wZSIsInBvc2l0aW9uYWwiLCJhdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsQUFBUyxBQUFULEFBQXVCLEFBQXZCLEFBQXFDLEFBQXJDLEFBQW9ELEFBQXBEOzs7Ozs7OztJQUNNLEEsa0NBQ0Y7aUNBQVksQUFBWixPQUFtQixBQUFuQixTQUE0Qjs4QkFDeEI7O2FBQUssQUFBTCxRQUFhLEFBQWIsQUFDQTthQUFLLEFBQUwsVUFBZSxBQUFmLEFBQ0E7WUFBSSxTQUFTLEtBQUssQUFBTCxTQUFjLHdCQUFhLEFBQWIsQUFBb0IsQUFBcEIsQUFBM0IsQUFDQTthQUFLLEFBQUwsTUFBVyx3QkFBUSxDQUFDLFFBQVEsQUFBVCxLQUFjLEFBQWQsQUFBUixBQUFYLEFBQ0g7OztrQ0FDRCxBLHlCQUFRLEFBQ0o7ZUFBTyxLQUFLLEFBQUwsU0FBYyxBQUFkLEFBQVAsQUFDSDtBOztrQ0FDRCxBLG1CQUFJLEEsS0FBSyxBQUNMO2VBQU8sS0FBSyxBQUFMLFNBQWMsQUFBZCxJQUFrQixBQUFsQixBQUFQLEFBQ0g7QTs7a0NBQ0QsQSwyQkFBUyxBQUNMO1lBQUksT0FBTyxPQUFPLEtBQUssQUFBTCxRQUFhLEFBQWIsQUFBUCxBQUFYLEFBQ0E7WUFBSSxNQUFNLEtBQUssQUFBTCxNQUFXLEFBQVgsSUFBZSxBQUFmLEFBQVYsQUFDQTthQUFLLEFBQUwsT0FBWSxBQUFaLE1BQWtCLEFBQWxCLE9BQXlCLElBQUksQUFBN0IsQUFDQTtlQUFPLEFBQVAsQUFDSDtBOzs7OztBQUVMLFNBQVMsQUFBVCxjQUF1QixBQUF2QixJQUEyQixBQUEzQixNQUFpQyxBQUM3QjtRQUFJLFFBQVEsR0FBRyxBQUFILEFBQVosQUFDQTtRQUFJLFVBQVUsS0FBSyxBQUFMLFdBQWdCLEFBQWhCLEdBQW1CLEFBQW5CLEFBQWQsQUFDQTtXQUFPLElBQUksQUFBSixvQkFBd0IsQUFBeEIsT0FBK0IsQUFBL0IsQUFBUCxBQUNIO0FBQ0Q7a0JBQWUsQUFBZiIsImZpbGUiOiJsaWIvaGVscGVycy9nZXQtZHluYW1pYy12YXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDT05TVEFOVF9UQUcsIFVwZGF0YWJsZVRhZywgY29tYmluZSB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5jbGFzcyBEeW5hbWljVmFyUmVmZXJlbmNlIHtcbiAgICBjb25zdHJ1Y3RvcihzY29wZSwgbmFtZVJlZikge1xuICAgICAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgICAgIHRoaXMubmFtZVJlZiA9IG5hbWVSZWY7XG4gICAgICAgIGxldCB2YXJUYWcgPSB0aGlzLnZhclRhZyA9IFVwZGF0YWJsZVRhZy5jcmVhdGUoQ09OU1RBTlRfVEFHKTtcbiAgICAgICAgdGhpcy50YWcgPSBjb21iaW5lKFtuYW1lUmVmLnRhZywgdmFyVGFnXSk7XG4gICAgfVxuICAgIHZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYXIoKS52YWx1ZSgpO1xuICAgIH1cbiAgICBnZXQoa2V5KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFZhcigpLmdldChrZXkpO1xuICAgIH1cbiAgICBnZXRWYXIoKSB7XG4gICAgICAgIGxldCBuYW1lID0gU3RyaW5nKHRoaXMubmFtZVJlZi52YWx1ZSgpKTtcbiAgICAgICAgbGV0IHJlZiA9IHRoaXMuc2NvcGUuZ2V0KG5hbWUpO1xuICAgICAgICB0aGlzLnZhclRhZy5pbm5lci51cGRhdGUocmVmLnRhZyk7XG4gICAgICAgIHJldHVybiByZWY7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0RHluYW1pY1Zhcih2bSwgYXJncykge1xuICAgIGxldCBzY29wZSA9IHZtLmR5bmFtaWNTY29wZSgpO1xuICAgIGxldCBuYW1lUmVmID0gYXJncy5wb3NpdGlvbmFsLmF0KDApO1xuICAgIHJldHVybiBuZXcgRHluYW1pY1ZhclJlZmVyZW5jZShzY29wZSwgbmFtZVJlZik7XG59XG5leHBvcnQgZGVmYXVsdCBnZXREeW5hbWljVmFyOyJdfQ==