UNPKG

@glimmer/runtime

Version:

Minimal runtime needed to render Glimmer templates

29 lines (23 loc) 2.75 kB
import { valueForRef, createComputeRef } from '@glimmer/reference'; export function createConcatRef(partsRefs) { return createComputeRef(function () { var parts = new Array(); for (var i = 0; i < partsRefs.length; i++) { var value = valueForRef(partsRefs[i]); 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); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2NvbXBpbGVkL2V4cHJlc3Npb25zL2NvbmNhdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxTQUFBLFdBQUEsRUFBQSxnQkFBQSxRQUFBLG9CQUFBO0FBRUEsT0FBTSxTQUFBLGVBQUEsQ0FBQSxTQUFBLEVBQWdEO0FBQ3BELFNBQU8sZ0JBQWdCLENBQUMsWUFBSztBQUMzQixRQUFJLEtBQUssR0FBRyxJQUFaLEtBQVksRUFBWjs7QUFFQSxTQUFLLElBQUksQ0FBQyxHQUFWLENBQUEsRUFBZ0IsQ0FBQyxHQUFHLFNBQVMsQ0FBN0IsTUFBQSxFQUFzQyxDQUF0QyxFQUFBLEVBQTJDO0FBQ3pDLFVBQUksS0FBSyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQWpDLENBQWlDLENBQVYsQ0FBdkI7O0FBRUEsVUFBSSxLQUFLLEtBQUwsSUFBQSxJQUFrQixLQUFLLEtBQTNCLFNBQUEsRUFBMkM7QUFDekMsUUFBQSxLQUFLLENBQUwsQ0FBSyxDQUFMLEdBQVcsWUFBWSxDQUF2QixLQUF1QixDQUF2QjtBQUNEO0FBQ0Y7O0FBRUQsUUFBSSxLQUFLLENBQUwsTUFBQSxHQUFKLENBQUEsRUFBc0I7QUFDcEIsYUFBTyxLQUFLLENBQUwsSUFBQSxDQUFQLEVBQU8sQ0FBUDtBQUNEOztBQUVELFdBQUEsSUFBQTtBQWZGLEdBQXVCLENBQXZCO0FBaUJEOztBQUVELFNBQUEsWUFBQSxDQUFBLEtBQUEsRUFBaUM7QUFDL0IsTUFBSSxPQUFPLEtBQUssQ0FBWixRQUFBLEtBQUosVUFBQSxFQUEwQztBQUN4QyxXQUFBLEVBQUE7QUFDRDs7QUFFRCxTQUFPLE1BQU0sQ0FBYixLQUFhLENBQWI7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpY3QsIE1heWJlIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBSZWZlcmVuY2UsIHZhbHVlRm9yUmVmLCBjcmVhdGVDb21wdXRlUmVmIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbmNhdFJlZihwYXJ0c1JlZnM6IFJlZmVyZW5jZVtdKSB7XG4gIHJldHVybiBjcmVhdGVDb21wdXRlUmVmKCgpID0+IHtcbiAgICBsZXQgcGFydHMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0c1JlZnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCB2YWx1ZSA9IHZhbHVlRm9yUmVmKHBhcnRzUmVmc1tpXSkgYXMgTWF5YmU8RGljdD47XG5cbiAgICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHBhcnRzW2ldID0gY2FzdFRvU3RyaW5nKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFydHMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHBhcnRzLmpvaW4oJycpO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gY2FzdFRvU3RyaW5nKHZhbHVlOiBEaWN0KSB7XG4gIGlmICh0eXBlb2YgdmFsdWUudG9TdHJpbmcgIT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=