ember-legacy-class-transform
Version:
The default blueprint for ember-cli addons.
130 lines (102 loc) • 9.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ConditionalReference = exports.FALSE_REFERENCE = exports.TRUE_REFERENCE = exports.NULL_REFERENCE = exports.UNDEFINED_REFERENCE = exports.PrimitiveReference = undefined;
var _reference = require("@glimmer/reference");
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);
}
var PrimitiveReference = exports.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;
}(_reference.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);
var UNDEFINED_REFERENCE = exports.UNDEFINED_REFERENCE = new ValueReference(undefined);
var NULL_REFERENCE = exports.NULL_REFERENCE = new ValueReference(null);
var TRUE_REFERENCE = exports.TRUE_REFERENCE = new ValueReference(true);
var FALSE_REFERENCE = exports.FALSE_REFERENCE = new ValueReference(false);
var ConditionalReference = exports.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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9yZWZlcmVuY2VzLmpzIl0sIm5hbWVzIjpbIkNvbnN0UmVmZXJlbmNlIiwiUHJpbWl0aXZlUmVmZXJlbmNlIiwidmFsdWUiLCJjcmVhdGUiLCJ1bmRlZmluZWQiLCJVTkRFRklORURfUkVGRVJFTkNFIiwiTlVMTF9SRUZFUkVOQ0UiLCJUUlVFX1JFRkVSRU5DRSIsIkZBTFNFX1JFRkVSRU5DRSIsIlZhbHVlUmVmZXJlbmNlIiwiU3RyaW5nUmVmZXJlbmNlIiwiZ2V0IiwiX2tleSIsImFyZ3VtZW50cyIsImxlbmd0aFJlZmVyZW5jZSIsImtleSIsImlubmVyIiwibGVuZ3RoIiwiQ29uZGl0aW9uYWxSZWZlcmVuY2UiLCJ0YWciLCJ0b0Jvb2wiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxBQUFTLEFBQXNCLEFBQy9COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBQUEsQUFBYSw2RUFBYjtrQ0FDSTs7Z0NBQUEsQUFBWSxPQUFPOzhCQUFBOztnREFDZiwyQkFEZSxBQUNmLEFBQU0sQUFDVDtBQUhMOzt1QkFBQSxBQUlXLHlCQUpYLEFBSWtCLE9BQU8sQUFDakI7WUFBSSxVQUFKLEFBQWMsV0FBVyxBQUNyQjttQkFBQSxBQUFPLEFBQ1Y7QUFGRCxtQkFFVyxVQUFKLEFBQWMsTUFBTSxBQUN2QjttQkFBQSxBQUFPLEFBQ1Y7QUFGTSxTQUFBLFVBRUksVUFBSixBQUFjLE1BQU0sQUFDdkI7bUJBQUEsQUFBTyxBQUNWO0FBRk0sU0FBQSxVQUVJLFVBQUosQUFBYyxPQUFPLEFBQ3hCO21CQUFBLEFBQU8sQUFDVjtBQUZNLFNBQUEsVUFFSSxPQUFBLEFBQU8sVUFBWCxBQUFxQixVQUFVLEFBQ2xDO21CQUFPLElBQUEsQUFBSSxlQUFYLEFBQU8sQUFBbUIsQUFDN0I7QUFGTSxTQUFBLE1BRUEsQUFDSDttQkFBTyxJQUFBLEFBQUksZ0JBQVgsQUFBTyxBQUFvQixBQUM5QjtBQUNKO0FBbEJMOztpQ0FBQSxBQW1CSSxtQkFuQkosQUFtQlEsTUFBTSxBQUNOO2VBQUEsQUFBTyxBQUNWO0FBckJMOztXQUFBO0FBQUEsQUFBd0M7O0ksQUF1QmxDOytCQUNGOzsrQkFBYzs4QkFBQTs7c0RBQ1YsZ0NBRFUsQUFDVixBQUFTLEFBQ1Q7O2VBQUEsQUFBSyxrQkFGSyxBQUVWLEFBQXVCO2VBQzFCOzs7OEJBQ0QsQSxtQixBQUFJLEtBQUssQUFDTDtZQUFJLFFBQUosQUFBWSxVQUFVO2dCQUFBLEFBQ1osa0JBRFksQUFDUSxLQURSLEFBQ1osQUFDTjs7Z0JBQUksb0JBQUosQUFBd0IsTUFBTSxBQUMxQjtrQ0FBa0IsS0FBQSxBQUFLLGtCQUFrQixJQUFBLEFBQUksZUFBZSxLQUFBLEFBQUssTUFBakUsQUFBeUMsQUFBOEIsQUFDMUU7QUFDRDttQkFBQSxBQUFPLEFBQ1Y7QUFORCxlQU1PLEFBQ0g7bUJBQU8sOEJBQUEsQUFBTSxlQUFiLEFBQU8sQUFBVSxBQUNwQjtBQUNKO0E7OztFLEFBZnlCOztJLEFBaUJ4Qjs4QkFDRjs7NEJBQUEsQUFBWSxPQUFPOzhCQUFBOztnREFDZixnQ0FEZSxBQUNmLEFBQU0sQUFDVDs7OztFQUh3QixBLEFBSzdCOztBQUFPLElBQU0sb0RBQXNCLElBQUEsQUFBSSxlQUFoQyxBQUE0QixBQUFtQixBQUN0RDtBQUFPLElBQU0sMENBQWlCLElBQUEsQUFBSSxlQUEzQixBQUF1QixBQUFtQixBQUNqRDtBQUFPLElBQU0sMENBQWlCLElBQUEsQUFBSSxlQUEzQixBQUF1QixBQUFtQixBQUNqRDtBQUFPLElBQU0sNENBQWtCLElBQUEsQUFBSSxlQUE1QixBQUF3QixBQUFtQixBQUNsRDtJQUFBLEFBQWEsa0VBQ1Q7a0NBQUEsQUFBWSxPQUFPOzhCQUNmOzthQUFBLEFBQUssUUFBTCxBQUFhLEFBQ2I7YUFBQSxBQUFLLE1BQU0sTUFBWCxBQUFpQixBQUNwQjtBQUpMOzttQ0FBQSxBQUtJLHlCQUFRLEFBQ0o7ZUFBTyxLQUFBLEFBQUssT0FBTyxLQUFBLEFBQUssTUFBeEIsQUFBTyxBQUFZLEFBQVcsQUFDakM7QUFQTDs7bUNBQUEsQUFRSSx5QkFSSixBQVFXLE9BQU8sQUFDVjtlQUFPLENBQUMsQ0FBUixBQUFTLEFBQ1o7QUFWTDs7V0FBQSIsImZpbGUiOiJsaWIvcmVmZXJlbmNlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0UmVmZXJlbmNlIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmV4cG9ydCBjbGFzcyBQcmltaXRpdmVSZWZlcmVuY2UgZXh0ZW5kcyBDb25zdFJlZmVyZW5jZSB7XG4gICAgY29uc3RydWN0b3IodmFsdWUpIHtcbiAgICAgICAgc3VwZXIodmFsdWUpO1xuICAgIH1cbiAgICBzdGF0aWMgY3JlYXRlKHZhbHVlKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gVU5ERUZJTkVEX1JFRkVSRU5DRTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIE5VTExfUkVGRVJFTkNFO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgICAgICByZXR1cm4gVFJVRV9SRUZFUkVOQ0U7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gRkFMU0VfUkVGRVJFTkNFO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgVmFsdWVSZWZlcmVuY2UodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBTdHJpbmdSZWZlcmVuY2UodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldChfa2V5KSB7XG4gICAgICAgIHJldHVybiBVTkRFRklORURfUkVGRVJFTkNFO1xuICAgIH1cbn1cbmNsYXNzIFN0cmluZ1JlZmVyZW5jZSBleHRlbmRzIFByaW1pdGl2ZVJlZmVyZW5jZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgICAgIHRoaXMubGVuZ3RoUmVmZXJlbmNlID0gbnVsbDtcbiAgICB9XG4gICAgZ2V0KGtleSkge1xuICAgICAgICBpZiAoa2V5ID09PSAnbGVuZ3RoJykge1xuICAgICAgICAgICAgbGV0IHsgbGVuZ3RoUmVmZXJlbmNlIH0gPSB0aGlzO1xuICAgICAgICAgICAgaWYgKGxlbmd0aFJlZmVyZW5jZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGxlbmd0aFJlZmVyZW5jZSA9IHRoaXMubGVuZ3RoUmVmZXJlbmNlID0gbmV3IFZhbHVlUmVmZXJlbmNlKHRoaXMuaW5uZXIubGVuZ3RoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBsZW5ndGhSZWZlcmVuY2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gc3VwZXIuZ2V0KGtleSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5jbGFzcyBWYWx1ZVJlZmVyZW5jZSBleHRlbmRzIFByaW1pdGl2ZVJlZmVyZW5jZSB7XG4gICAgY29uc3RydWN0b3IodmFsdWUpIHtcbiAgICAgICAgc3VwZXIodmFsdWUpO1xuICAgIH1cbn1cbmV4cG9ydCBjb25zdCBVTkRFRklORURfUkVGRVJFTkNFID0gbmV3IFZhbHVlUmVmZXJlbmNlKHVuZGVmaW5lZCk7XG5leHBvcnQgY29uc3QgTlVMTF9SRUZFUkVOQ0UgPSBuZXcgVmFsdWVSZWZlcmVuY2UobnVsbCk7XG5leHBvcnQgY29uc3QgVFJVRV9SRUZFUkVOQ0UgPSBuZXcgVmFsdWVSZWZlcmVuY2UodHJ1ZSk7XG5leHBvcnQgY29uc3QgRkFMU0VfUkVGRVJFTkNFID0gbmV3IFZhbHVlUmVmZXJlbmNlKGZhbHNlKTtcbmV4cG9ydCBjbGFzcyBDb25kaXRpb25hbFJlZmVyZW5jZSB7XG4gICAgY29uc3RydWN0b3IoaW5uZXIpIHtcbiAgICAgICAgdGhpcy5pbm5lciA9IGlubmVyO1xuICAgICAgICB0aGlzLnRhZyA9IGlubmVyLnRhZztcbiAgICB9XG4gICAgdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvQm9vbCh0aGlzLmlubmVyLnZhbHVlKCkpO1xuICAgIH1cbiAgICB0b0Jvb2wodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuICEhdmFsdWU7XG4gICAgfVxufSJdfQ==