UNPKG

ember-legacy-class-transform

Version:
39 lines (31 loc) 4.07 kB
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==