ember-legacy-class-transform
Version:
The default blueprint for ember-cli addons.
27 lines • 757 B
JavaScript
import { CachedReference, combineTagged } from '@glimmer/reference';
export class ConcatReference extends CachedReference {
constructor(parts) {
super();
this.parts = parts;
this.tag = 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;
}
}
function castToString(value) {
if (typeof value.toString !== 'function') {
return '';
}
return String(value);
}