ember-legacy-class-transform
Version:
The default blueprint for ember-cli addons.
104 lines (79 loc) • 9.36 kB
JavaScript
function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
import { ConstReference } from '@glimmer/reference';
export var PrimitiveReference = function (_ConstReference) {
_inherits(PrimitiveReference, _ConstReference);
function PrimitiveReference(value) {
_classCallCheck(this, PrimitiveReference);
return _possibleConstructorReturn(this, _ConstReference.call(this, value));
}
PrimitiveReference.create = function create(value) {
if (value === undefined) {
return UNDEFINED_REFERENCE;
} else if (value === null) {
return NULL_REFERENCE;
} else if (value === true) {
return TRUE_REFERENCE;
} else if (value === false) {
return FALSE_REFERENCE;
} else if (typeof value === 'number') {
return new ValueReference(value);
} else {
return new StringReference(value);
}
};
PrimitiveReference.prototype.get = function get(_key) {
return UNDEFINED_REFERENCE;
};
return PrimitiveReference;
}(ConstReference);
var StringReference = function (_PrimitiveReference) {
_inherits(StringReference, _PrimitiveReference);
function StringReference() {
_classCallCheck(this, StringReference);
var _this2 = _possibleConstructorReturn(this, _PrimitiveReference.apply(this, arguments));
_this2.lengthReference = null;
return _this2;
}
StringReference.prototype.get = function get(key) {
if (key === 'length') {
var lengthReference = this.lengthReference;
if (lengthReference === null) {
lengthReference = this.lengthReference = new ValueReference(this.inner.length);
}
return lengthReference;
} else {
return _PrimitiveReference.prototype.get.call(this, key);
}
};
return StringReference;
}(PrimitiveReference);
var ValueReference = function (_PrimitiveReference2) {
_inherits(ValueReference, _PrimitiveReference2);
function ValueReference(value) {
_classCallCheck(this, ValueReference);
return _possibleConstructorReturn(this, _PrimitiveReference2.call(this, value));
}
return ValueReference;
}(PrimitiveReference);
export var UNDEFINED_REFERENCE = new ValueReference(undefined);
export var NULL_REFERENCE = new ValueReference(null);
export var TRUE_REFERENCE = new ValueReference(true);
export var FALSE_REFERENCE = new ValueReference(false);
export var ConditionalReference = function () {
function ConditionalReference(inner) {
_classCallCheck(this, ConditionalReference);
this.inner = inner;
this.tag = inner.tag;
}
ConditionalReference.prototype.value = function value() {
return this.toBool(this.inner.value());
};
ConditionalReference.prototype.toBool = function toBool(value) {
return !!value;
};
return ConditionalReference;
}();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9yZWZlcmVuY2VzLmpzIl0sIm5hbWVzIjpbIkNvbnN0UmVmZXJlbmNlIiwiUHJpbWl0aXZlUmVmZXJlbmNlIiwidmFsdWUiLCJjcmVhdGUiLCJ1bmRlZmluZWQiLCJVTkRFRklORURfUkVGRVJFTkNFIiwiTlVMTF9SRUZFUkVOQ0UiLCJUUlVFX1JFRkVSRU5DRSIsIkZBTFNFX1JFRkVSRU5DRSIsIlZhbHVlUmVmZXJlbmNlIiwiU3RyaW5nUmVmZXJlbmNlIiwiZ2V0IiwiX2tleSIsImFyZ3VtZW50cyIsImxlbmd0aFJlZmVyZW5jZSIsImtleSIsImlubmVyIiwibGVuZ3RoIiwiQ29uZGl0aW9uYWxSZWZlcmVuY2UiLCJ0YWciLCJ0b0Jvb2wiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsU0FBU0EsY0FBVCxRQUErQixvQkFBL0I7QUFDQSxXQUFhQyxrQkFBYjtBQUFBOztBQUNJLGdDQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUEsZ0RBQ2YsMkJBQU1BLEtBQU4sQ0FEZTtBQUVsQjs7QUFITCx1QkFJV0MsTUFKWCxtQkFJa0JELEtBSmxCLEVBSXlCO0FBQ2pCLFlBQUlBLFVBQVVFLFNBQWQsRUFBeUI7QUFDckIsbUJBQU9DLG1CQUFQO0FBQ0gsU0FGRCxNQUVPLElBQUlILFVBQVUsSUFBZCxFQUFvQjtBQUN2QixtQkFBT0ksY0FBUDtBQUNILFNBRk0sTUFFQSxJQUFJSixVQUFVLElBQWQsRUFBb0I7QUFDdkIsbUJBQU9LLGNBQVA7QUFDSCxTQUZNLE1BRUEsSUFBSUwsVUFBVSxLQUFkLEVBQXFCO0FBQ3hCLG1CQUFPTSxlQUFQO0FBQ0gsU0FGTSxNQUVBLElBQUksT0FBT04sS0FBUCxLQUFpQixRQUFyQixFQUErQjtBQUNsQyxtQkFBTyxJQUFJTyxjQUFKLENBQW1CUCxLQUFuQixDQUFQO0FBQ0gsU0FGTSxNQUVBO0FBQ0gsbUJBQU8sSUFBSVEsZUFBSixDQUFvQlIsS0FBcEIsQ0FBUDtBQUNIO0FBQ0osS0FsQkw7O0FBQUEsaUNBbUJJUyxHQW5CSixnQkFtQlFDLElBbkJSLEVBbUJjO0FBQ04sZUFBT1AsbUJBQVA7QUFDSCxLQXJCTDs7QUFBQTtBQUFBLEVBQXdDTCxjQUF4Qzs7SUF1Qk1VLGU7OztBQUNGLCtCQUFjO0FBQUE7O0FBQUEsc0RBQ1YsZ0NBQVNHLFNBQVQsQ0FEVTs7QUFFVixlQUFLQyxlQUFMLEdBQXVCLElBQXZCO0FBRlU7QUFHYjs7OEJBQ0RILEcsZ0JBQUlJLEcsRUFBSztBQUNMLFlBQUlBLFFBQVEsUUFBWixFQUFzQjtBQUFBLGdCQUNaRCxlQURZLEdBQ1EsSUFEUixDQUNaQSxlQURZOztBQUVsQixnQkFBSUEsb0JBQW9CLElBQXhCLEVBQThCO0FBQzFCQSxrQ0FBa0IsS0FBS0EsZUFBTCxHQUF1QixJQUFJTCxjQUFKLENBQW1CLEtBQUtPLEtBQUwsQ0FBV0MsTUFBOUIsQ0FBekM7QUFDSDtBQUNELG1CQUFPSCxlQUFQO0FBQ0gsU0FORCxNQU1PO0FBQ0gsbUJBQU8sOEJBQU1ILEdBQU4sWUFBVUksR0FBVixDQUFQO0FBQ0g7QUFDSixLOzs7RUFmeUJkLGtCOztJQWlCeEJRLGM7OztBQUNGLDRCQUFZUCxLQUFaLEVBQW1CO0FBQUE7O0FBQUEsZ0RBQ2YsZ0NBQU1BLEtBQU4sQ0FEZTtBQUVsQjs7O0VBSHdCRCxrQjs7QUFLN0IsT0FBTyxJQUFNSSxzQkFBc0IsSUFBSUksY0FBSixDQUFtQkwsU0FBbkIsQ0FBNUI7QUFDUCxPQUFPLElBQU1FLGlCQUFpQixJQUFJRyxjQUFKLENBQW1CLElBQW5CLENBQXZCO0FBQ1AsT0FBTyxJQUFNRixpQkFBaUIsSUFBSUUsY0FBSixDQUFtQixJQUFuQixDQUF2QjtBQUNQLE9BQU8sSUFBTUQsa0JBQWtCLElBQUlDLGNBQUosQ0FBbUIsS0FBbkIsQ0FBeEI7QUFDUCxXQUFhUyxvQkFBYjtBQUNJLGtDQUFZRixLQUFaLEVBQW1CO0FBQUE7O0FBQ2YsYUFBS0EsS0FBTCxHQUFhQSxLQUFiO0FBQ0EsYUFBS0csR0FBTCxHQUFXSCxNQUFNRyxHQUFqQjtBQUNIOztBQUpMLG1DQUtJakIsS0FMSixvQkFLWTtBQUNKLGVBQU8sS0FBS2tCLE1BQUwsQ0FBWSxLQUFLSixLQUFMLENBQVdkLEtBQVgsRUFBWixDQUFQO0FBQ0gsS0FQTDs7QUFBQSxtQ0FRSWtCLE1BUkosbUJBUVdsQixLQVJYLEVBUWtCO0FBQ1YsZUFBTyxDQUFDLENBQUNBLEtBQVQ7QUFDSCxLQVZMOztBQUFBO0FBQUEiLCJmaWxlIjoibGliL3JlZmVyZW5jZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdFJlZmVyZW5jZSB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5leHBvcnQgY2xhc3MgUHJpbWl0aXZlUmVmZXJlbmNlIGV4dGVuZHMgQ29uc3RSZWZlcmVuY2Uge1xuICAgIGNvbnN0cnVjdG9yKHZhbHVlKSB7XG4gICAgICAgIHN1cGVyKHZhbHVlKTtcbiAgICB9XG4gICAgc3RhdGljIGNyZWF0ZSh2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIFVOREVGSU5FRF9SRUZFUkVOQ0U7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBOVUxMX1JFRkVSRU5DRTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIFRSVUVfUkVGRVJFTkNFO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmV0dXJuIEZBTFNFX1JFRkVSRU5DRTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFZhbHVlUmVmZXJlbmNlKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgU3RyaW5nUmVmZXJlbmNlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQoX2tleSkge1xuICAgICAgICByZXR1cm4gVU5ERUZJTkVEX1JFRkVSRU5DRTtcbiAgICB9XG59XG5jbGFzcyBTdHJpbmdSZWZlcmVuY2UgZXh0ZW5kcyBQcmltaXRpdmVSZWZlcmVuY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgICAgICB0aGlzLmxlbmd0aFJlZmVyZW5jZSA9IG51bGw7XG4gICAgfVxuICAgIGdldChrZXkpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ2xlbmd0aCcpIHtcbiAgICAgICAgICAgIGxldCB7IGxlbmd0aFJlZmVyZW5jZSB9ID0gdGhpcztcbiAgICAgICAgICAgIGlmIChsZW5ndGhSZWZlcmVuY2UgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBsZW5ndGhSZWZlcmVuY2UgPSB0aGlzLmxlbmd0aFJlZmVyZW5jZSA9IG5ldyBWYWx1ZVJlZmVyZW5jZSh0aGlzLmlubmVyLmxlbmd0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbGVuZ3RoUmVmZXJlbmNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHN1cGVyLmdldChrZXkpO1xuICAgICAgICB9XG4gICAgfVxufVxuY2xhc3MgVmFsdWVSZWZlcmVuY2UgZXh0ZW5kcyBQcmltaXRpdmVSZWZlcmVuY2Uge1xuICAgIGNvbnN0cnVjdG9yKHZhbHVlKSB7XG4gICAgICAgIHN1cGVyKHZhbHVlKTtcbiAgICB9XG59XG5leHBvcnQgY29uc3QgVU5ERUZJTkVEX1JFRkVSRU5DRSA9IG5ldyBWYWx1ZVJlZmVyZW5jZSh1bmRlZmluZWQpO1xuZXhwb3J0IGNvbnN0IE5VTExfUkVGRVJFTkNFID0gbmV3IFZhbHVlUmVmZXJlbmNlKG51bGwpO1xuZXhwb3J0IGNvbnN0IFRSVUVfUkVGRVJFTkNFID0gbmV3IFZhbHVlUmVmZXJlbmNlKHRydWUpO1xuZXhwb3J0IGNvbnN0IEZBTFNFX1JFRkVSRU5DRSA9IG5ldyBWYWx1ZVJlZmVyZW5jZShmYWxzZSk7XG5leHBvcnQgY2xhc3MgQ29uZGl0aW9uYWxSZWZlcmVuY2Uge1xuICAgIGNvbnN0cnVjdG9yKGlubmVyKSB7XG4gICAgICAgIHRoaXMuaW5uZXIgPSBpbm5lcjtcbiAgICAgICAgdGhpcy50YWcgPSBpbm5lci50YWc7XG4gICAgfVxuICAgIHZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50b0Jvb2wodGhpcy5pbm5lci52YWx1ZSgpKTtcbiAgICB9XG4gICAgdG9Cb29sKHZhbHVlKSB7XG4gICAgICAgIHJldHVybiAhIXZhbHVlO1xuICAgIH1cbn0iXX0=