UNPKG

ember-legacy-class-transform

Version:
130 lines (102 loc) 9.69 kB
"use strict"; 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==