UNPKG

@glimmer/runtime

Version:

Minimal runtime needed to render Glimmer templates

37 lines (30 loc) 3.31 kB
import { isEmpty, isString } from '../../dom/normalize'; import { valueForRef } from '@glimmer/reference'; var DynamicTextContent = /*#__PURE__*/function () { function DynamicTextContent(node, reference, lastValue) { this.node = node; this.reference = reference; this.lastValue = lastValue; } var _proto = DynamicTextContent.prototype; _proto.evaluate = function evaluate() { var value = valueForRef(this.reference); var lastValue = this.lastValue; if (value === lastValue) return; var normalized; if (isEmpty(value)) { normalized = ''; } else if (isString(value)) { normalized = value; } else { normalized = String(value); } if (normalized !== lastValue) { var textNode = this.node; textNode.nodeValue = this.lastValue = normalized; } }; return DynamicTextContent; }(); export { DynamicTextContent as default }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL3ZtL2NvbnRlbnQvdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFBLE9BQUEsRUFBQSxRQUFBLFFBQUEscUJBQUE7QUFFQSxTQUFBLFdBQUEsUUFBQSxvQkFBQTs7SUFHYyxrQjtBQUNaLDhCQUFBLElBQUEsRUFBQSxTQUFBLEVBQUEsU0FBQSxFQUcyQjtBQUZsQixTQUFBLElBQUEsR0FBQSxJQUFBO0FBQ0MsU0FBQSxTQUFBLEdBQUEsU0FBQTtBQUNBLFNBQUEsU0FBQSxHQUFBLFNBQUE7QUFDTjs7OztTQUVKLFEsR0FBQSxvQkFBUTtBQUNOLFFBQUksS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUF4QixTQUF1QixDQUF2QjtBQURNLFFBR0EsU0FIQSxHQUdOLElBSE0sQ0FHQSxTQUhBO0FBS04sUUFBSSxLQUFLLEtBQVQsU0FBQSxFQUF5QjtBQUV6QixRQUFBLFVBQUE7O0FBRUEsUUFBSSxPQUFPLENBQVgsS0FBVyxDQUFYLEVBQW9CO0FBQ2xCLE1BQUEsVUFBVSxHQUFWLEVBQUE7QUFERixLQUFBLE1BRU8sSUFBSSxRQUFRLENBQVosS0FBWSxDQUFaLEVBQXFCO0FBQzFCLE1BQUEsVUFBVSxHQUFWLEtBQUE7QUFESyxLQUFBLE1BRUE7QUFDTCxNQUFBLFVBQVUsR0FBRyxNQUFNLENBQW5CLEtBQW1CLENBQW5CO0FBQ0Q7O0FBRUQsUUFBSSxVQUFVLEtBQWQsU0FBQSxFQUE4QjtBQUM1QixVQUFJLFFBQVEsR0FBRyxLQUFmLElBQUE7QUFDQSxNQUFBLFFBQVEsQ0FBUixTQUFBLEdBQXFCLEtBQUEsU0FBQSxHQUFyQixVQUFBO0FBQ0Q7QUFDRixHOzs7OztTQTVCVyxrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRW1wdHksIGlzU3RyaW5nIH0gZnJvbSAnLi4vLi4vZG9tL25vcm1hbGl6ZSc7XG5pbXBvcnQgeyBVcGRhdGluZ09wY29kZSB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUmVmZXJlbmNlLCB2YWx1ZUZvclJlZiB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyBTaW1wbGVUZXh0IH0gZnJvbSAnQHNpbXBsZS1kb20vaW50ZXJmYWNlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRHluYW1pY1RleHRDb250ZW50IGltcGxlbWVudHMgVXBkYXRpbmdPcGNvZGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbm9kZTogU2ltcGxlVGV4dCxcbiAgICBwcml2YXRlIHJlZmVyZW5jZTogUmVmZXJlbmNlPHVua25vd24+LFxuICAgIHByaXZhdGUgbGFzdFZhbHVlOiBzdHJpbmdcbiAgKSB7fVxuXG4gIGV2YWx1YXRlKCkge1xuICAgIGxldCB2YWx1ZSA9IHZhbHVlRm9yUmVmKHRoaXMucmVmZXJlbmNlKTtcblxuICAgIGxldCB7IGxhc3RWYWx1ZSB9ID0gdGhpcztcblxuICAgIGlmICh2YWx1ZSA9PT0gbGFzdFZhbHVlKSByZXR1cm47XG5cbiAgICBsZXQgbm9ybWFsaXplZDogc3RyaW5nO1xuXG4gICAgaWYgKGlzRW1wdHkodmFsdWUpKSB7XG4gICAgICBub3JtYWxpemVkID0gJyc7XG4gICAgfSBlbHNlIGlmIChpc1N0cmluZyh2YWx1ZSkpIHtcbiAgICAgIG5vcm1hbGl6ZWQgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbm9ybWFsaXplZCA9IFN0cmluZyh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKG5vcm1hbGl6ZWQgIT09IGxhc3RWYWx1ZSkge1xuICAgICAgbGV0IHRleHROb2RlID0gdGhpcy5ub2RlO1xuICAgICAgdGV4dE5vZGUubm9kZVZhbHVlID0gdGhpcy5sYXN0VmFsdWUgPSBub3JtYWxpemVkO1xuICAgIH1cbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==