ember-legacy-class-transform
Version:
The default blueprint for ember-cli addons.
45 lines (36 loc) • 4.8 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 { CachedReference, combineTagged } from '@glimmer/reference';
export var ConcatReference = function (_CachedReference) {
_inherits(ConcatReference, _CachedReference);
function ConcatReference(parts) {
_classCallCheck(this, ConcatReference);
var _this = _possibleConstructorReturn(this, _CachedReference.call(this));
_this.parts = parts;
_this.tag = combineTagged(parts);
return _this;
}
ConcatReference.prototype.compute = function compute() {
var parts = new Array();
for (var i = 0; i < this.parts.length; i++) {
var value = this.parts[i].value();
if (value !== null && value !== undefined) {
parts[i] = castToString(value);
}
}
if (parts.length > 0) {
return parts.join('');
}
return null;
};
return ConcatReference;
}(CachedReference);
function castToString(value) {
if (typeof value.toString !== 'function') {
return '';
}
return String(value);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9jb21waWxlZC9leHByZXNzaW9ucy9jb25jYXQuanMiXSwibmFtZXMiOlsiQ2FjaGVkUmVmZXJlbmNlIiwiY29tYmluZVRhZ2dlZCIsIkNvbmNhdFJlZmVyZW5jZSIsInBhcnRzIiwidGFnIiwiY29tcHV0ZSIsIkFycmF5IiwiaSIsImxlbmd0aCIsInZhbHVlIiwidW5kZWZpbmVkIiwiY2FzdFRvU3RyaW5nIiwiam9pbiIsInRvU3RyaW5nIiwiU3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLFNBQVNBLGVBQVQsRUFBMEJDLGFBQTFCLFFBQStDLG9CQUEvQztBQUNBLFdBQWFDLGVBQWI7QUFBQTs7QUFDSSw2QkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBLHFEQUNmLDJCQURlOztBQUVmLGNBQUtBLEtBQUwsR0FBYUEsS0FBYjtBQUNBLGNBQUtDLEdBQUwsR0FBV0gsY0FBY0UsS0FBZCxDQUFYO0FBSGU7QUFJbEI7O0FBTEwsOEJBTUlFLE9BTkosc0JBTWM7QUFDTixZQUFJRixRQUFRLElBQUlHLEtBQUosRUFBWjtBQUNBLGFBQUssSUFBSUMsSUFBSSxDQUFiLEVBQWdCQSxJQUFJLEtBQUtKLEtBQUwsQ0FBV0ssTUFBL0IsRUFBdUNELEdBQXZDLEVBQTRDO0FBQ3hDLGdCQUFJRSxRQUFRLEtBQUtOLEtBQUwsQ0FBV0ksQ0FBWCxFQUFjRSxLQUFkLEVBQVo7QUFDQSxnQkFBSUEsVUFBVSxJQUFWLElBQWtCQSxVQUFVQyxTQUFoQyxFQUEyQztBQUN2Q1Asc0JBQU1JLENBQU4sSUFBV0ksYUFBYUYsS0FBYixDQUFYO0FBQ0g7QUFDSjtBQUNELFlBQUlOLE1BQU1LLE1BQU4sR0FBZSxDQUFuQixFQUFzQjtBQUNsQixtQkFBT0wsTUFBTVMsSUFBTixDQUFXLEVBQVgsQ0FBUDtBQUNIO0FBQ0QsZUFBTyxJQUFQO0FBQ0gsS0FsQkw7O0FBQUE7QUFBQSxFQUFxQ1osZUFBckM7QUFvQkEsU0FBU1csWUFBVCxDQUFzQkYsS0FBdEIsRUFBNkI7QUFDekIsUUFBSSxPQUFPQSxNQUFNSSxRQUFiLEtBQTBCLFVBQTlCLEVBQTBDO0FBQ3RDLGVBQU8sRUFBUDtBQUNIO0FBQ0QsV0FBT0MsT0FBT0wsS0FBUCxDQUFQO0FBQ0giLCJmaWxlIjoibGliL2NvbXBpbGVkL2V4cHJlc3Npb25zL2NvbmNhdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhY2hlZFJlZmVyZW5jZSwgY29tYmluZVRhZ2dlZCB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5leHBvcnQgY2xhc3MgQ29uY2F0UmVmZXJlbmNlIGV4dGVuZHMgQ2FjaGVkUmVmZXJlbmNlIHtcbiAgICBjb25zdHJ1Y3RvcihwYXJ0cykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnBhcnRzID0gcGFydHM7XG4gICAgICAgIHRoaXMudGFnID0gY29tYmluZVRhZ2dlZChwYXJ0cyk7XG4gICAgfVxuICAgIGNvbXB1dGUoKSB7XG4gICAgICAgIGxldCBwYXJ0cyA9IG5ldyBBcnJheSgpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucGFydHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IHRoaXMucGFydHNbaV0udmFsdWUoKTtcbiAgICAgICAgICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcGFydHNbaV0gPSBjYXN0VG9TdHJpbmcodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChwYXJ0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFydHMuam9pbignJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuZnVuY3Rpb24gY2FzdFRvU3RyaW5nKHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZS50b1N0cmluZyAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xufSJdfQ==