UNPKG

@glimmer/runtime

Version:

Minimal runtime needed to render Glimmer templates

54 lines (38 loc) 3.59 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"); const isEmpty = value => { return value === null || value === undefined || typeof value.toString !== 'function'; }; const 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)(({ positional }) => { return (0, _reference.createComputeRef)(() => (0, _runtime.reifyPositional)(positional).map(normalizeTextValue).join(''), null, 'concat'); }); exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2hlbHBlcnMvY29uY2F0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxNQUFNLE9BQU8sR0FBSSxLQUFELElBQTRCO0FBQzFDLFNBQU8sS0FBSyxLQUFMLElBQUEsSUFBa0IsS0FBSyxLQUF2QixTQUFBLElBQXlDLE9BQVEsS0FBZ0IsQ0FBeEIsUUFBQSxLQUFoRCxVQUFBO0FBREYsQ0FBQTs7QUFJQSxNQUFNLGtCQUFrQixHQUFJLEtBQUQsSUFBMkI7QUFDcEQsTUFBSSxPQUFPLENBQVgsS0FBVyxDQUFYLEVBQW9CO0FBQ2xCLFdBQUEsRUFBQTtBQUNEOztBQUNELFNBQU8sTUFBTSxDQUFiLEtBQWEsQ0FBYjtBQUpGLENBQUE7QUFPQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQW9CZSxvQ0FBZSxDQUFDO0FBQUUsRUFBQTtBQUFGLENBQUQsS0FBc0M7QUFDbEUsU0FBTyxpQ0FDTCxNQUFNLDhCQUFBLFVBQUEsRUFBQSxHQUFBLENBQUEsa0JBQUEsRUFBQSxJQUFBLENBRGUsRUFDZixDQURELEVBQWdCLElBQWhCLEVBQVAsUUFBTyxDQUFQO0FBREYsQ0FBZSxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FwdHVyZWRBcmd1bWVudHMgfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNyZWF0ZUNvbXB1dGVSZWYgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgcmVpZnlQb3NpdGlvbmFsIH0gZnJvbSAnQGdsaW1tZXIvcnVudGltZSc7XG5pbXBvcnQgeyBpbnRlcm5hbEhlbHBlciB9IGZyb20gJy4vaW50ZXJuYWwtaGVscGVyJztcblxuY29uc3QgaXNFbXB0eSA9ICh2YWx1ZTogdW5rbm93bik6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgKHZhbHVlIGFzIG9iamVjdCkudG9TdHJpbmcgIT09ICdmdW5jdGlvbic7XG59O1xuXG5jb25zdCBub3JtYWxpemVUZXh0VmFsdWUgPSAodmFsdWU6IHVua25vd24pOiBzdHJpbmcgPT4ge1xuICBpZiAoaXNFbXB0eSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG59O1xuXG4vKipcbiAgQ29uY2F0ZW5hdGVzIHRoZSBnaXZlbiBhcmd1bWVudHMgaW50byBhIHN0cmluZy5cblxuICBFeGFtcGxlOlxuXG4gIGBgYGhhbmRsZWJhcnNcbiAge3tzb21lLWNvbXBvbmVudCBuYW1lPShjb25jYXQgZmlyc3ROYW1lIFwiIFwiIGxhc3ROYW1lKX19XG5cbiAge3shIHdvdWxkIHBhc3MgbmFtZT1cIjxmaXJzdCBuYW1lIHZhbHVlPiA8bGFzdCBuYW1lIHZhbHVlPlwiIHRvIHRoZSBjb21wb25lbnR9fVxuICBgYGBcblxuICBvciBmb3IgYW5nbGUgYnJhY2tldCBpbnZvY2F0aW9uLCB5b3UgYWN0dWFsbHkgZG9uJ3QgbmVlZCBjb25jYXQgYXQgYWxsLlxuXG4gIGBgYGhhbmRsZWJhcnNcbiAgPFNvbWVDb21wb25lbnQgQG5hbWU9XCJ7e2ZpcnN0TmFtZX19IHt7bGFzdE5hbWV9fVwiIC8+XG4gIGBgYFxuXG4gIEBwdWJsaWNcbiAgQG1ldGhvZCBjb25jYXRcbiovXG5leHBvcnQgZGVmYXVsdCBpbnRlcm5hbEhlbHBlcigoeyBwb3NpdGlvbmFsIH06IENhcHR1cmVkQXJndW1lbnRzKSA9PiB7XG4gIHJldHVybiBjcmVhdGVDb21wdXRlUmVmKFxuICAgICgpID0+IHJlaWZ5UG9zaXRpb25hbChwb3NpdGlvbmFsKS5tYXAobm9ybWFsaXplVGV4dFZhbHVlKS5qb2luKCcnKSxcbiAgICBudWxsLFxuICAgICdjb25jYXQnXG4gICk7XG59KTtcbiJdLCJzb3VyY2VSb290IjoiIn0=