UNPKG

@glimmer/runtime

Version:

Minimal runtime needed to render Glimmer templates

45 lines (35 loc) 3.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _normalize = require("../../dom/normalize"); var _reference = require("@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 = (0, _reference.valueForRef)(this.reference); var lastValue = this.lastValue; if (value === lastValue) return; var normalized; if ((0, _normalize.isEmpty)(value)) { normalized = ''; } else if ((0, _normalize.isString)(value)) { normalized = value; } else { normalized = String(value); } if (normalized !== lastValue) { var textNode = this.node; textNode.nodeValue = this.lastValue = normalized; } }; return DynamicTextContent; }(); exports.default = DynamicTextContent; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL3ZtL2NvbnRlbnQvdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUE7O0lBR2Msa0I7QUFDWixXQUFBLGtCQUFBLENBQUEsSUFBQSxFQUFBLFNBQUEsRUFBQSxTQUFBLEVBRzJCO0FBRmxCLFNBQUEsSUFBQSxHQUFBLElBQUE7QUFDQyxTQUFBLFNBQUEsR0FBQSxTQUFBO0FBQ0EsU0FBQSxTQUFBLEdBQUEsU0FBQTtBQUNOOzs7O1NBRUosUSxHQUFBLFNBQUEsUUFBQSxHQUFRO0FBQ04sUUFBSSxLQUFLLEdBQUcsNEJBQVksS0FBeEIsU0FBWSxDQUFaO0FBRE0sUUFHQSxTQUhBLEdBQUEsS0FBQSxTQUFBO0FBS04sUUFBSSxLQUFLLEtBQVQsU0FBQSxFQUF5QjtBQUV6QixRQUFBLFVBQUE7O0FBRUEsUUFBSSx3QkFBSixLQUFJLENBQUosRUFBb0I7QUFDbEIsTUFBQSxVQUFVLEdBQVYsRUFBQTtBQURGLEtBQUEsTUFFTyxJQUFJLHlCQUFKLEtBQUksQ0FBSixFQUFxQjtBQUMxQixNQUFBLFVBQVUsR0FBVixLQUFBO0FBREssS0FBQSxNQUVBO0FBQ0wsTUFBQSxVQUFVLEdBQUcsTUFBTSxDQUFuQixLQUFtQixDQUFuQjtBQUNEOztBQUVELFFBQUksVUFBVSxLQUFkLFNBQUEsRUFBOEI7QUFDNUIsVUFBSSxRQUFRLEdBQUcsS0FBZixJQUFBO0FBQ0EsTUFBQSxRQUFRLENBQVIsU0FBQSxHQUFxQixLQUFBLFNBQUEsR0FBckIsVUFBQTtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eSwgaXNTdHJpbmcgfSBmcm9tICcuLi8uLi9kb20vbm9ybWFsaXplJztcbmltcG9ydCB7IFVwZGF0aW5nT3Bjb2RlIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBSZWZlcmVuY2UsIHZhbHVlRm9yUmVmIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IFNpbXBsZVRleHQgfSBmcm9tICdAc2ltcGxlLWRvbS9pbnRlcmZhY2UnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEeW5hbWljVGV4dENvbnRlbnQgaW1wbGVtZW50cyBVcGRhdGluZ09wY29kZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBub2RlOiBTaW1wbGVUZXh0LFxuICAgIHByaXZhdGUgcmVmZXJlbmNlOiBSZWZlcmVuY2U8dW5rbm93bj4sXG4gICAgcHJpdmF0ZSBsYXN0VmFsdWU6IHN0cmluZ1xuICApIHt9XG5cbiAgZXZhbHVhdGUoKSB7XG4gICAgbGV0IHZhbHVlID0gdmFsdWVGb3JSZWYodGhpcy5yZWZlcmVuY2UpO1xuXG4gICAgbGV0IHsgbGFzdFZhbHVlIH0gPSB0aGlzO1xuXG4gICAgaWYgKHZhbHVlID09PSBsYXN0VmFsdWUpIHJldHVybjtcblxuICAgIGxldCBub3JtYWxpemVkOiBzdHJpbmc7XG5cbiAgICBpZiAoaXNFbXB0eSh2YWx1ZSkpIHtcbiAgICAgIG5vcm1hbGl6ZWQgPSAnJztcbiAgICB9IGVsc2UgaWYgKGlzU3RyaW5nKHZhbHVlKSkge1xuICAgICAgbm9ybWFsaXplZCA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBub3JtYWxpemVkID0gU3RyaW5nKHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAobm9ybWFsaXplZCAhPT0gbGFzdFZhbHVlKSB7XG4gICAgICBsZXQgdGV4dE5vZGUgPSB0aGlzLm5vZGU7XG4gICAgICB0ZXh0Tm9kZS5ub2RlVmFsdWUgPSB0aGlzLmxhc3RWYWx1ZSA9IG5vcm1hbGl6ZWQ7XG4gICAgfVxuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9