UNPKG

ember-legacy-class-transform

Version:
35 lines (32 loc) 3.62 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _reference = require('@glimmer/reference'); class DynamicVarReference { constructor(scope, nameRef) { this.scope = scope; this.nameRef = nameRef; let varTag = this.varTag = _reference.UpdatableTag.create(_reference.CONSTANT_TAG); this.tag = (0, _reference.combine)([nameRef.tag, varTag]); } value() { return this.getVar().value(); } get(key) { return this.getVar().get(key); } getVar() { let name = String(this.nameRef.value()); let ref = this.scope.get(name); this.varTag.inner.update(ref.tag); return ref; } } function getDynamicVar(vm, args) { let scope = vm.dynamicScope(); let nameRef = args.positional.at(0); return new DynamicVarReference(scope, nameRef); } exports.default = getDynamicVar; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9oZWxwZXJzL2dldC1keW5hbWljLXZhci5qcyJdLCJuYW1lcyI6WyJEeW5hbWljVmFyUmVmZXJlbmNlIiwiY29uc3RydWN0b3IiLCJzY29wZSIsIm5hbWVSZWYiLCJ2YXJUYWciLCJjcmVhdGUiLCJ0YWciLCJ2YWx1ZSIsImdldFZhciIsImdldCIsImtleSIsIm5hbWUiLCJTdHJpbmciLCJyZWYiLCJpbm5lciIsInVwZGF0ZSIsImdldER5bmFtaWNWYXIiLCJ2bSIsImFyZ3MiLCJkeW5hbWljU2NvcGUiLCJwb3NpdGlvbmFsIiwiYXQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBLE1BQU1BLG1CQUFOLENBQTBCO0FBQ3RCQyxnQkFBWUMsS0FBWixFQUFtQkMsT0FBbkIsRUFBNEI7QUFDeEIsYUFBS0QsS0FBTCxHQUFhQSxLQUFiO0FBQ0EsYUFBS0MsT0FBTCxHQUFlQSxPQUFmO0FBQ0EsWUFBSUMsU0FBUyxLQUFLQSxNQUFMLEdBQWMsd0JBQWFDLE1BQWIseUJBQTNCO0FBQ0EsYUFBS0MsR0FBTCxHQUFXLHdCQUFRLENBQUNILFFBQVFHLEdBQVQsRUFBY0YsTUFBZCxDQUFSLENBQVg7QUFDSDtBQUNERyxZQUFRO0FBQ0osZUFBTyxLQUFLQyxNQUFMLEdBQWNELEtBQWQsRUFBUDtBQUNIO0FBQ0RFLFFBQUlDLEdBQUosRUFBUztBQUNMLGVBQU8sS0FBS0YsTUFBTCxHQUFjQyxHQUFkLENBQWtCQyxHQUFsQixDQUFQO0FBQ0g7QUFDREYsYUFBUztBQUNMLFlBQUlHLE9BQU9DLE9BQU8sS0FBS1QsT0FBTCxDQUFhSSxLQUFiLEVBQVAsQ0FBWDtBQUNBLFlBQUlNLE1BQU0sS0FBS1gsS0FBTCxDQUFXTyxHQUFYLENBQWVFLElBQWYsQ0FBVjtBQUNBLGFBQUtQLE1BQUwsQ0FBWVUsS0FBWixDQUFrQkMsTUFBbEIsQ0FBeUJGLElBQUlQLEdBQTdCO0FBQ0EsZUFBT08sR0FBUDtBQUNIO0FBbEJxQjtBQW9CMUIsU0FBU0csYUFBVCxDQUF1QkMsRUFBdkIsRUFBMkJDLElBQTNCLEVBQWlDO0FBQzdCLFFBQUloQixRQUFRZSxHQUFHRSxZQUFILEVBQVo7QUFDQSxRQUFJaEIsVUFBVWUsS0FBS0UsVUFBTCxDQUFnQkMsRUFBaEIsQ0FBbUIsQ0FBbkIsQ0FBZDtBQUNBLFdBQU8sSUFBSXJCLG1CQUFKLENBQXdCRSxLQUF4QixFQUErQkMsT0FBL0IsQ0FBUDtBQUNIO2tCQUNjYSxhIiwiZmlsZSI6ImxpYi9oZWxwZXJzL2dldC1keW5hbWljLXZhci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENPTlNUQU5UX1RBRywgVXBkYXRhYmxlVGFnLCBjb21iaW5lIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmNsYXNzIER5bmFtaWNWYXJSZWZlcmVuY2Uge1xuICAgIGNvbnN0cnVjdG9yKHNjb3BlLCBuYW1lUmVmKSB7XG4gICAgICAgIHRoaXMuc2NvcGUgPSBzY29wZTtcbiAgICAgICAgdGhpcy5uYW1lUmVmID0gbmFtZVJlZjtcbiAgICAgICAgbGV0IHZhclRhZyA9IHRoaXMudmFyVGFnID0gVXBkYXRhYmxlVGFnLmNyZWF0ZShDT05TVEFOVF9UQUcpO1xuICAgICAgICB0aGlzLnRhZyA9IGNvbWJpbmUoW25hbWVSZWYudGFnLCB2YXJUYWddKTtcbiAgICB9XG4gICAgdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFZhcigpLnZhbHVlKCk7XG4gICAgfVxuICAgIGdldChrZXkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFyKCkuZ2V0KGtleSk7XG4gICAgfVxuICAgIGdldFZhcigpIHtcbiAgICAgICAgbGV0IG5hbWUgPSBTdHJpbmcodGhpcy5uYW1lUmVmLnZhbHVlKCkpO1xuICAgICAgICBsZXQgcmVmID0gdGhpcy5zY29wZS5nZXQobmFtZSk7XG4gICAgICAgIHRoaXMudmFyVGFnLmlubmVyLnVwZGF0ZShyZWYudGFnKTtcbiAgICAgICAgcmV0dXJuIHJlZjtcbiAgICB9XG59XG5mdW5jdGlvbiBnZXREeW5hbWljVmFyKHZtLCBhcmdzKSB7XG4gICAgbGV0IHNjb3BlID0gdm0uZHluYW1pY1Njb3BlKCk7XG4gICAgbGV0IG5hbWVSZWYgPSBhcmdzLnBvc2l0aW9uYWwuYXQoMCk7XG4gICAgcmV0dXJuIG5ldyBEeW5hbWljVmFyUmVmZXJlbmNlKHNjb3BlLCBuYW1lUmVmKTtcbn1cbmV4cG9ydCBkZWZhdWx0IGdldER5bmFtaWNWYXI7Il19