UNPKG

@glimmer/runtime

Version:

Minimal runtime needed to render Glimmer templates

55 lines (39 loc) 3.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _reference = require("@glimmer/reference"); var _runtime = require("@glimmer/runtime"); var _internalHelper = require("./internal-helper"); var isEmpty = function isEmpty(value) { return value === null || value === undefined || typeof value.toString !== 'function'; }; var normalizeTextValue = function normalizeTextValue(value) { if (isEmpty(value)) { return ''; } return String(value); }; /** Concatenates the given arguments into a string. Example: ```handlebars {{some-component name=(concat firstName " " lastName)}} {{! would pass name="<first name value> <last name value>" to the component}} ``` or for angle bracket invocation, you actually don't need concat at all. ```handlebars <SomeComponent @name="{{firstName}} {{lastName}}" /> ``` @public @method concat */ var _default = (0, _internalHelper.internalHelper)(function (_ref) { var positional = _ref.positional; return (0, _reference.createComputeRef)(function () { return (0, _runtime.reifyPositional)(positional).map(normalizeTextValue).join(''); }, null, 'concat'); }); exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2hlbHBlcnMvY29uY2F0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNLE9BQU8sR0FBSSxTQUFYLE9BQVcsQ0FBRCxLQUFDLEVBQTJCO0FBQzFDLFNBQU8sS0FBSyxLQUFMLElBQUEsSUFBa0IsS0FBSyxLQUF2QixTQUFBLElBQXlDLE9BQVEsS0FBZ0IsQ0FBeEIsUUFBQSxLQUFoRCxVQUFBO0FBREYsQ0FBQTs7QUFJQSxJQUFNLGtCQUFrQixHQUFJLFNBQXRCLGtCQUFzQixDQUFELEtBQUMsRUFBMEI7QUFDcEQsTUFBSSxPQUFPLENBQVgsS0FBVyxDQUFYLEVBQW9CO0FBQ2xCLFdBQUEsRUFBQTtBQUNEOztBQUNELFNBQU8sTUFBTSxDQUFiLEtBQWEsQ0FBYjtBQUpGLENBQUE7QUFPQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQW9CZSxvQ0FBZSxVQUFBLElBQUEsRUFBc0M7QUFBQSxNQUFuQyxVQUFtQyxHQUFBLElBQUEsQ0FBbkMsVUFBbUM7QUFDbEUsU0FBTyxpQ0FDTCxZQUFBO0FBQUEsV0FBTSw4QkFBQSxVQUFBLEVBQUEsR0FBQSxDQUFBLGtCQUFBLEVBQUEsSUFBQSxDQURlLEVBQ2YsQ0FBTjtBQURxQixHQUFoQixFQUFnQixJQUFoQixFQUFQLFFBQU8sQ0FBUDtBQURGLENBQWUsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhcHR1cmVkQXJndW1lbnRzIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVDb21wdXRlUmVmIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IHJlaWZ5UG9zaXRpb25hbCB9IGZyb20gJ0BnbGltbWVyL3J1bnRpbWUnO1xuaW1wb3J0IHsgaW50ZXJuYWxIZWxwZXIgfSBmcm9tICcuL2ludGVybmFsLWhlbHBlcic7XG5cbmNvbnN0IGlzRW1wdHkgPSAodmFsdWU6IHVua25vd24pOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mICh2YWx1ZSBhcyBvYmplY3QpLnRvU3RyaW5nICE9PSAnZnVuY3Rpb24nO1xufTtcblxuY29uc3Qgbm9ybWFsaXplVGV4dFZhbHVlID0gKHZhbHVlOiB1bmtub3duKTogc3RyaW5nID0+IHtcbiAgaWYgKGlzRW1wdHkodmFsdWUpKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIHJldHVybiBTdHJpbmcodmFsdWUpO1xufTtcblxuLyoqXG4gIENvbmNhdGVuYXRlcyB0aGUgZ2l2ZW4gYXJndW1lbnRzIGludG8gYSBzdHJpbmcuXG5cbiAgRXhhbXBsZTpcblxuICBgYGBoYW5kbGViYXJzXG4gIHt7c29tZS1jb21wb25lbnQgbmFtZT0oY29uY2F0IGZpcnN0TmFtZSBcIiBcIiBsYXN0TmFtZSl9fVxuXG4gIHt7ISB3b3VsZCBwYXNzIG5hbWU9XCI8Zmlyc3QgbmFtZSB2YWx1ZT4gPGxhc3QgbmFtZSB2YWx1ZT5cIiB0byB0aGUgY29tcG9uZW50fX1cbiAgYGBgXG5cbiAgb3IgZm9yIGFuZ2xlIGJyYWNrZXQgaW52b2NhdGlvbiwgeW91IGFjdHVhbGx5IGRvbid0IG5lZWQgY29uY2F0IGF0IGFsbC5cblxuICBgYGBoYW5kbGViYXJzXG4gIDxTb21lQ29tcG9uZW50IEBuYW1lPVwie3tmaXJzdE5hbWV9fSB7e2xhc3ROYW1lfX1cIiAvPlxuICBgYGBcblxuICBAcHVibGljXG4gIEBtZXRob2QgY29uY2F0XG4qL1xuZXhwb3J0IGRlZmF1bHQgaW50ZXJuYWxIZWxwZXIoKHsgcG9zaXRpb25hbCB9OiBDYXB0dXJlZEFyZ3VtZW50cykgPT4ge1xuICByZXR1cm4gY3JlYXRlQ29tcHV0ZVJlZihcbiAgICAoKSA9PiByZWlmeVBvc2l0aW9uYWwocG9zaXRpb25hbCkubWFwKG5vcm1hbGl6ZVRleHRWYWx1ZSkuam9pbignJyksXG4gICAgbnVsbCxcbiAgICAnY29uY2F0J1xuICApO1xufSk7XG4iXSwic291cmNlUm9vdCI6IiJ9