ember-legacy-class-transform
Version:
The default blueprint for ember-cli addons.
39 lines (31 loc) • 4.07 kB
JavaScript
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
import { CONSTANT_TAG, UpdatableTag, combine } from '@glimmer/reference';
var DynamicVarReference = function () {
function DynamicVarReference(scope, nameRef) {
_classCallCheck(this, DynamicVarReference);
this.scope = scope;
this.nameRef = nameRef;
var varTag = this.varTag = UpdatableTag.create(CONSTANT_TAG);
this.tag = 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);
}
export default getDynamicVar;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9oZWxwZXJzL2dldC1keW5hbWljLXZhci5qcyJdLCJuYW1lcyI6WyJDT05TVEFOVF9UQUciLCJVcGRhdGFibGVUYWciLCJjb21iaW5lIiwiRHluYW1pY1ZhclJlZmVyZW5jZSIsInNjb3BlIiwibmFtZVJlZiIsInZhclRhZyIsImNyZWF0ZSIsInRhZyIsInZhbHVlIiwiZ2V0VmFyIiwiZ2V0Iiwia2V5IiwibmFtZSIsIlN0cmluZyIsInJlZiIsImlubmVyIiwidXBkYXRlIiwiZ2V0RHluYW1pY1ZhciIsInZtIiwiYXJncyIsImR5bmFtaWNTY29wZSIsInBvc2l0aW9uYWwiLCJhdCJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFTQSxZQUFULEVBQXVCQyxZQUF2QixFQUFxQ0MsT0FBckMsUUFBb0Qsb0JBQXBEOztJQUNNQyxtQjtBQUNGLGlDQUFZQyxLQUFaLEVBQW1CQyxPQUFuQixFQUE0QjtBQUFBOztBQUN4QixhQUFLRCxLQUFMLEdBQWFBLEtBQWI7QUFDQSxhQUFLQyxPQUFMLEdBQWVBLE9BQWY7QUFDQSxZQUFJQyxTQUFTLEtBQUtBLE1BQUwsR0FBY0wsYUFBYU0sTUFBYixDQUFvQlAsWUFBcEIsQ0FBM0I7QUFDQSxhQUFLUSxHQUFMLEdBQVdOLFFBQVEsQ0FBQ0csUUFBUUcsR0FBVCxFQUFjRixNQUFkLENBQVIsQ0FBWDtBQUNIOztrQ0FDREcsSyxvQkFBUTtBQUNKLGVBQU8sS0FBS0MsTUFBTCxHQUFjRCxLQUFkLEVBQVA7QUFDSCxLOztrQ0FDREUsRyxnQkFBSUMsRyxFQUFLO0FBQ0wsZUFBTyxLQUFLRixNQUFMLEdBQWNDLEdBQWQsQ0FBa0JDLEdBQWxCLENBQVA7QUFDSCxLOztrQ0FDREYsTSxxQkFBUztBQUNMLFlBQUlHLE9BQU9DLE9BQU8sS0FBS1QsT0FBTCxDQUFhSSxLQUFiLEVBQVAsQ0FBWDtBQUNBLFlBQUlNLE1BQU0sS0FBS1gsS0FBTCxDQUFXTyxHQUFYLENBQWVFLElBQWYsQ0FBVjtBQUNBLGFBQUtQLE1BQUwsQ0FBWVUsS0FBWixDQUFrQkMsTUFBbEIsQ0FBeUJGLElBQUlQLEdBQTdCO0FBQ0EsZUFBT08sR0FBUDtBQUNILEs7Ozs7O0FBRUwsU0FBU0csYUFBVCxDQUF1QkMsRUFBdkIsRUFBMkJDLElBQTNCLEVBQWlDO0FBQzdCLFFBQUloQixRQUFRZSxHQUFHRSxZQUFILEVBQVo7QUFDQSxRQUFJaEIsVUFBVWUsS0FBS0UsVUFBTCxDQUFnQkMsRUFBaEIsQ0FBbUIsQ0FBbkIsQ0FBZDtBQUNBLFdBQU8sSUFBSXBCLG1CQUFKLENBQXdCQyxLQUF4QixFQUErQkMsT0FBL0IsQ0FBUDtBQUNIO0FBQ0QsZUFBZWEsYUFBZiIsImZpbGUiOiJsaWIvaGVscGVycy9nZXQtZHluYW1pYy12YXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDT05TVEFOVF9UQUcsIFVwZGF0YWJsZVRhZywgY29tYmluZSB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5jbGFzcyBEeW5hbWljVmFyUmVmZXJlbmNlIHtcbiAgICBjb25zdHJ1Y3RvcihzY29wZSwgbmFtZVJlZikge1xuICAgICAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgICAgIHRoaXMubmFtZVJlZiA9IG5hbWVSZWY7XG4gICAgICAgIGxldCB2YXJUYWcgPSB0aGlzLnZhclRhZyA9IFVwZGF0YWJsZVRhZy5jcmVhdGUoQ09OU1RBTlRfVEFHKTtcbiAgICAgICAgdGhpcy50YWcgPSBjb21iaW5lKFtuYW1lUmVmLnRhZywgdmFyVGFnXSk7XG4gICAgfVxuICAgIHZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYXIoKS52YWx1ZSgpO1xuICAgIH1cbiAgICBnZXQoa2V5KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFZhcigpLmdldChrZXkpO1xuICAgIH1cbiAgICBnZXRWYXIoKSB7XG4gICAgICAgIGxldCBuYW1lID0gU3RyaW5nKHRoaXMubmFtZVJlZi52YWx1ZSgpKTtcbiAgICAgICAgbGV0IHJlZiA9IHRoaXMuc2NvcGUuZ2V0KG5hbWUpO1xuICAgICAgICB0aGlzLnZhclRhZy5pbm5lci51cGRhdGUocmVmLnRhZyk7XG4gICAgICAgIHJldHVybiByZWY7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0RHluYW1pY1Zhcih2bSwgYXJncykge1xuICAgIGxldCBzY29wZSA9IHZtLmR5bmFtaWNTY29wZSgpO1xuICAgIGxldCBuYW1lUmVmID0gYXJncy5wb3NpdGlvbmFsLmF0KDApO1xuICAgIHJldHVybiBuZXcgRHluYW1pY1ZhclJlZmVyZW5jZShzY29wZSwgbmFtZVJlZik7XG59XG5leHBvcnQgZGVmYXVsdCBnZXREeW5hbWljVmFyOyJdfQ==