UNPKG

ember-legacy-class-transform

Version:
56 lines (47 loc) 5.45 kB
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } import Meta from '../meta'; import { VOLATILE_TAG } from '@glimmer/reference'; export var PropertyReference = function () { function PropertyReference(object, property, _outer) { _classCallCheck(this, PropertyReference); this.tag = VOLATILE_TAG; this.object = object; this.property = property; } PropertyReference.prototype.value = function value() { return this.object[this.property]; }; PropertyReference.prototype.label = function label() { return '[reference Property]'; }; return PropertyReference; }(); export function ComputedReferenceBlueprint(_property, dependencies) { return function () { function ComputedReference(object, property, outer) { _classCallCheck(this, ComputedReference); this.installed = false; this.tag = VOLATILE_TAG; this.object = object; this.property = property; this.dependencies = dependencies; this.outer = outer; } ComputedReference.prototype.value = function value() { if (!this.installed) { var root = Meta.for(this.object).root(); this.dependencies.forEach(function (dep) { var ref = root.referenceFromParts(dep); ref.value(); }); this.installed = true; } return this.object[this.property]; }; ComputedReference.prototype.label = function label() { return '[reference Computed]'; }; return ComputedReference; }(); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9yZWZlcmVuY2VzL2Rlc2NyaXB0b3JzLmpzIl0sIm5hbWVzIjpbIk1ldGEiLCJWT0xBVElMRV9UQUciLCJQcm9wZXJ0eVJlZmVyZW5jZSIsIm9iamVjdCIsInByb3BlcnR5IiwiX291dGVyIiwidGFnIiwidmFsdWUiLCJsYWJlbCIsIkNvbXB1dGVkUmVmZXJlbmNlQmx1ZXByaW50IiwiX3Byb3BlcnR5IiwiZGVwZW5kZW5jaWVzIiwib3V0ZXIiLCJpbnN0YWxsZWQiLCJyb290IiwiZm9yIiwiZm9yRWFjaCIsInJlZiIsInJlZmVyZW5jZUZyb21QYXJ0cyIsImRlcCJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPQSxJQUFQLE1BQWlCLFNBQWpCO0FBQ0EsU0FBU0MsWUFBVCxRQUE2QixvQkFBN0I7QUFDQSxXQUFhQyxpQkFBYjtBQUNJLCtCQUFZQyxNQUFaLEVBQW9CQyxRQUFwQixFQUE4QkMsTUFBOUIsRUFBc0M7QUFBQTs7QUFDbEMsYUFBS0MsR0FBTCxHQUFXTCxZQUFYO0FBQ0EsYUFBS0UsTUFBTCxHQUFjQSxNQUFkO0FBQ0EsYUFBS0MsUUFBTCxHQUFnQkEsUUFBaEI7QUFDSDs7QUFMTCxnQ0FNSUcsS0FOSixvQkFNWTtBQUNKLGVBQU8sS0FBS0osTUFBTCxDQUFZLEtBQUtDLFFBQWpCLENBQVA7QUFDSCxLQVJMOztBQUFBLGdDQVNJSSxLQVRKLG9CQVNZO0FBQ0osZUFBTyxzQkFBUDtBQUNILEtBWEw7O0FBQUE7QUFBQTtBQWFBLE9BQU8sU0FBU0MsMEJBQVQsQ0FBb0NDLFNBQXBDLEVBQStDQyxZQUEvQyxFQUE2RDtBQUNoRTtBQUNJLG1DQUFZUixNQUFaLEVBQW9CQyxRQUFwQixFQUE4QlEsS0FBOUIsRUFBcUM7QUFBQTs7QUFDakMsaUJBQUtDLFNBQUwsR0FBaUIsS0FBakI7QUFDQSxpQkFBS1AsR0FBTCxHQUFXTCxZQUFYO0FBQ0EsaUJBQUtFLE1BQUwsR0FBY0EsTUFBZDtBQUNBLGlCQUFLQyxRQUFMLEdBQWdCQSxRQUFoQjtBQUNBLGlCQUFLTyxZQUFMLEdBQW9CQSxZQUFwQjtBQUNBLGlCQUFLQyxLQUFMLEdBQWFBLEtBQWI7QUFDSDs7QUFSTCxvQ0FTSUwsS0FUSixvQkFTWTtBQUNKLGdCQUFJLENBQUMsS0FBS00sU0FBVixFQUFxQjtBQUNqQixvQkFBSUMsT0FBT2QsS0FBS2UsR0FBTCxDQUFTLEtBQUtaLE1BQWQsRUFBc0JXLElBQXRCLEVBQVg7QUFDQSxxQkFBS0gsWUFBTCxDQUFrQkssT0FBbEIsQ0FBMEIsZUFBTztBQUM3Qix3QkFBSUMsTUFBTUgsS0FBS0ksa0JBQUwsQ0FBd0JDLEdBQXhCLENBQVY7QUFDQUYsd0JBQUlWLEtBQUo7QUFDSCxpQkFIRDtBQUlBLHFCQUFLTSxTQUFMLEdBQWlCLElBQWpCO0FBQ0g7QUFDRCxtQkFBTyxLQUFLVixNQUFMLENBQVksS0FBS0MsUUFBakIsQ0FBUDtBQUNILFNBbkJMOztBQUFBLG9DQW9CSUksS0FwQkosb0JBb0JZO0FBQ0osbUJBQU8sc0JBQVA7QUFDSCxTQXRCTDs7QUFBQTtBQUFBO0FBd0JIIiwiZmlsZSI6ImxpYi9yZWZlcmVuY2VzL2Rlc2NyaXB0b3JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1ldGEgZnJvbSAnLi4vbWV0YSc7XG5pbXBvcnQgeyBWT0xBVElMRV9UQUcgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuZXhwb3J0IGNsYXNzIFByb3BlcnR5UmVmZXJlbmNlIHtcbiAgICBjb25zdHJ1Y3RvcihvYmplY3QsIHByb3BlcnR5LCBfb3V0ZXIpIHtcbiAgICAgICAgdGhpcy50YWcgPSBWT0xBVElMRV9UQUc7XG4gICAgICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICAgICAgICB0aGlzLnByb3BlcnR5ID0gcHJvcGVydHk7XG4gICAgfVxuICAgIHZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vYmplY3RbdGhpcy5wcm9wZXJ0eV07XG4gICAgfVxuICAgIGxhYmVsKCkge1xuICAgICAgICByZXR1cm4gJ1tyZWZlcmVuY2UgUHJvcGVydHldJztcbiAgICB9XG59XG5leHBvcnQgZnVuY3Rpb24gQ29tcHV0ZWRSZWZlcmVuY2VCbHVlcHJpbnQoX3Byb3BlcnR5LCBkZXBlbmRlbmNpZXMpIHtcbiAgICByZXR1cm4gY2xhc3MgQ29tcHV0ZWRSZWZlcmVuY2Uge1xuICAgICAgICBjb25zdHJ1Y3RvcihvYmplY3QsIHByb3BlcnR5LCBvdXRlcikge1xuICAgICAgICAgICAgdGhpcy5pbnN0YWxsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMudGFnID0gVk9MQVRJTEVfVEFHO1xuICAgICAgICAgICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gICAgICAgICAgICB0aGlzLnByb3BlcnR5ID0gcHJvcGVydHk7XG4gICAgICAgICAgICB0aGlzLmRlcGVuZGVuY2llcyA9IGRlcGVuZGVuY2llcztcbiAgICAgICAgICAgIHRoaXMub3V0ZXIgPSBvdXRlcjtcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZSgpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5pbnN0YWxsZWQpIHtcbiAgICAgICAgICAgICAgICBsZXQgcm9vdCA9IE1ldGEuZm9yKHRoaXMub2JqZWN0KS5yb290KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXBlbmRlbmNpZXMuZm9yRWFjaChkZXAgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgcmVmID0gcm9vdC5yZWZlcmVuY2VGcm9tUGFydHMoZGVwKTtcbiAgICAgICAgICAgICAgICAgICAgcmVmLnZhbHVlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnN0YWxsZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0W3RoaXMucHJvcGVydHldO1xuICAgICAgICB9XG4gICAgICAgIGxhYmVsKCkge1xuICAgICAgICAgICAgcmV0dXJuICdbcmVmZXJlbmNlIENvbXB1dGVkXSc7XG4gICAgICAgIH1cbiAgICB9O1xufSJdfQ==