@glimmer/runtime
Version:
Minimal runtime needed to render Glimmer templates
25 lines (19 loc) • 2.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createClassListRef;
var _reference = require("@glimmer/reference");
var _normalize = require("../dom/normalize");
function createClassListRef(list) {
return (0, _reference.createComputeRef)(() => {
let ret = [];
for (let i = 0; i < list.length; i++) {
let ref = list[i];
let value = (0, _normalize.normalizeStringValue)(typeof ref === 'string' ? ref : (0, _reference.valueForRef)(list[i]));
if (value) ret.push(value);
}
return ret.length === 0 ? null : ret.join(' ');
});
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL3JlZmVyZW5jZXMvY2xhc3MtbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUE7O0FBRWMsU0FBQSxrQkFBQSxDQUFBLElBQUEsRUFBOEM7QUFDMUQsU0FBTyxpQ0FBaUIsTUFBSztBQUMzQixRQUFJLEdBQUcsR0FBUCxFQUFBOztBQUVBLFNBQUssSUFBSSxDQUFDLEdBQVYsQ0FBQSxFQUFnQixDQUFDLEdBQUcsSUFBSSxDQUF4QixNQUFBLEVBQWlDLENBQWpDLEVBQUEsRUFBc0M7QUFDcEMsVUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFkLENBQWMsQ0FBZDtBQUNBLFVBQUksS0FBSyxHQUFHLHFDQUFxQixPQUFBLEdBQUEsS0FBQSxRQUFBLEdBQUEsR0FBQSxHQUFnQyw0QkFBWSxJQUFJLENBQWpGLENBQWlGLENBQWhCLENBQXJELENBQVo7QUFDQSxVQUFBLEtBQUEsRUFBVyxHQUFHLENBQUgsSUFBQSxDQUFBLEtBQUE7QUFDWjs7QUFFRCxXQUFPLEdBQUcsQ0FBSCxNQUFBLEtBQUEsQ0FBQSxHQUFBLElBQUEsR0FBMEIsR0FBRyxDQUFILElBQUEsQ0FBakMsR0FBaUMsQ0FBakM7QUFURixHQUFPLENBQVA7QUFXRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZmVyZW5jZSwgY3JlYXRlQ29tcHV0ZVJlZiwgdmFsdWVGb3JSZWYgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuXG5pbXBvcnQgeyBub3JtYWxpemVTdHJpbmdWYWx1ZSB9IGZyb20gJy4uL2RvbS9ub3JtYWxpemUnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVDbGFzc0xpc3RSZWYobGlzdDogUmVmZXJlbmNlW10pIHtcbiAgcmV0dXJuIGNyZWF0ZUNvbXB1dGVSZWYoKCkgPT4ge1xuICAgIGxldCByZXQ6IHN0cmluZ1tdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCByZWYgPSBsaXN0W2ldO1xuICAgICAgbGV0IHZhbHVlID0gbm9ybWFsaXplU3RyaW5nVmFsdWUodHlwZW9mIHJlZiA9PT0gJ3N0cmluZycgPyByZWYgOiB2YWx1ZUZvclJlZihsaXN0W2ldKSk7XG4gICAgICBpZiAodmFsdWUpIHJldC5wdXNoKHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0Lmxlbmd0aCA9PT0gMCA/IG51bGwgOiByZXQuam9pbignICcpO1xuICB9KTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=