ember-legacy-class-transform
Version:
The default blueprint for ember-cli addons.
37 lines (34 loc) • 3.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ConcatReference = undefined;
var _reference = require('@glimmer/reference');
class ConcatReference extends _reference.CachedReference {
constructor(parts) {
super();
this.parts = parts;
this.tag = (0, _reference.combineTagged)(parts);
}
compute() {
let parts = new Array();
for (let i = 0; i < this.parts.length; i++) {
let value = this.parts[i].value();
if (value !== null && value !== undefined) {
parts[i] = castToString(value);
}
}
if (parts.length > 0) {
return parts.join('');
}
return null;
}
}
exports.ConcatReference = ConcatReference;
function castToString(value) {
if (typeof value.toString !== 'function') {
return '';
}
return String(value);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9jb21waWxlZC9leHByZXNzaW9ucy9jb25jYXQuanMiXSwibmFtZXMiOlsiQ29uY2F0UmVmZXJlbmNlIiwiY29uc3RydWN0b3IiLCJwYXJ0cyIsInRhZyIsImNvbXB1dGUiLCJBcnJheSIsImkiLCJsZW5ndGgiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsImNhc3RUb1N0cmluZyIsImpvaW4iLCJ0b1N0cmluZyIsIlN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNPLE1BQU1BLGVBQU4sb0NBQThDO0FBQ2pEQyxnQkFBWUMsS0FBWixFQUFtQjtBQUNmO0FBQ0EsYUFBS0EsS0FBTCxHQUFhQSxLQUFiO0FBQ0EsYUFBS0MsR0FBTCxHQUFXLDhCQUFjRCxLQUFkLENBQVg7QUFDSDtBQUNERSxjQUFVO0FBQ04sWUFBSUYsUUFBUSxJQUFJRyxLQUFKLEVBQVo7QUFDQSxhQUFLLElBQUlDLElBQUksQ0FBYixFQUFnQkEsSUFBSSxLQUFLSixLQUFMLENBQVdLLE1BQS9CLEVBQXVDRCxHQUF2QyxFQUE0QztBQUN4QyxnQkFBSUUsUUFBUSxLQUFLTixLQUFMLENBQVdJLENBQVgsRUFBY0UsS0FBZCxFQUFaO0FBQ0EsZ0JBQUlBLFVBQVUsSUFBVixJQUFrQkEsVUFBVUMsU0FBaEMsRUFBMkM7QUFDdkNQLHNCQUFNSSxDQUFOLElBQVdJLGFBQWFGLEtBQWIsQ0FBWDtBQUNIO0FBQ0o7QUFDRCxZQUFJTixNQUFNSyxNQUFOLEdBQWUsQ0FBbkIsRUFBc0I7QUFDbEIsbUJBQU9MLE1BQU1TLElBQU4sQ0FBVyxFQUFYLENBQVA7QUFDSDtBQUNELGVBQU8sSUFBUDtBQUNIO0FBbEJnRDtRQUF4Q1gsZSxHQUFBQSxlO0FBb0JiLFNBQVNVLFlBQVQsQ0FBc0JGLEtBQXRCLEVBQTZCO0FBQ3pCLFFBQUksT0FBT0EsTUFBTUksUUFBYixLQUEwQixVQUE5QixFQUEwQztBQUN0QyxlQUFPLEVBQVA7QUFDSDtBQUNELFdBQU9DLE9BQU9MLEtBQVAsQ0FBUDtBQUNIIiwiZmlsZSI6ImxpYi9jb21waWxlZC9leHByZXNzaW9ucy9jb25jYXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYWNoZWRSZWZlcmVuY2UsIGNvbWJpbmVUYWdnZWQgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuZXhwb3J0IGNsYXNzIENvbmNhdFJlZmVyZW5jZSBleHRlbmRzIENhY2hlZFJlZmVyZW5jZSB7XG4gICAgY29uc3RydWN0b3IocGFydHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5wYXJ0cyA9IHBhcnRzO1xuICAgICAgICB0aGlzLnRhZyA9IGNvbWJpbmVUYWdnZWQocGFydHMpO1xuICAgIH1cbiAgICBjb21wdXRlKCkge1xuICAgICAgICBsZXQgcGFydHMgPSBuZXcgQXJyYXkoKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnBhcnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLnBhcnRzW2ldLnZhbHVlKCk7XG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHBhcnRzW2ldID0gY2FzdFRvU3RyaW5nKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAocGFydHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHBhcnRzLmpvaW4oJycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGNhc3RUb1N0cmluZyh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUudG9TdHJpbmcgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbn0iXX0=