@glimmer/runtime
Version:
Minimal runtime needed to render Glimmer templates
44 lines (38 loc) • 3.09 kB
JavaScript
import { createComputeRef } from '@glimmer/reference';
import { reifyPositional } from '@glimmer/runtime';
import { internalHelper } from './internal-helper';
/**
Use the `{{array}}` helper to create an array to pass as an option to your
components.
```handlebars
<MyComponent @people={{array
'Tom Dale'
'Yehuda Katz'
this.myOtherPerson}}
/>
```
or
```handlebars
{{my-component people=(array
'Tom Dale'
'Yehuda Katz'
this.myOtherPerson)
}}
```
Would result in an object such as:
```js
['Tom Dale', 'Yehuda Katz', this.get('myOtherPerson')]
```
Where the 3rd item in the array is bound to updates of the `myOtherPerson` property.
@method array
@param {Array} options
@return {Array} Array
@public
*/
export default internalHelper(function (_ref) {
var positional = _ref.positional;
return createComputeRef(function () {
return reifyPositional(positional);
}, null, 'array');
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2hlbHBlcnMvYXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBQSxnQkFBQSxRQUFBLG9CQUFBO0FBQ0EsU0FBQSxlQUFBLFFBQUEsa0JBQUE7QUFDQSxTQUFBLGNBQUEsUUFBQSxtQkFBQTtBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0NBLGVBQWUsY0FBYyxDQUMzQixnQkFBNEQ7QUFBQSxNQUF6RCxVQUF5RCxRQUF6RCxVQUF5RDtBQUMxRCxTQUFPLGdCQUFnQixDQUFDO0FBQUEsV0FBTSxlQUFlLENBQXRCLFVBQXNCLENBQXJCO0FBQUEsR0FBRCxFQUFBLElBQUEsRUFBdkIsT0FBdUIsQ0FBdkI7QUFGSixDQUE2QixDQUE3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhcHR1cmVkQXJndW1lbnRzIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVDb21wdXRlUmVmLCBSZWZlcmVuY2UgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgcmVpZnlQb3NpdGlvbmFsIH0gZnJvbSAnQGdsaW1tZXIvcnVudGltZSc7XG5pbXBvcnQgeyBpbnRlcm5hbEhlbHBlciB9IGZyb20gJy4vaW50ZXJuYWwtaGVscGVyJztcblxuLyoqXG4gICBVc2UgdGhlIGB7e2FycmF5fX1gIGhlbHBlciB0byBjcmVhdGUgYW4gYXJyYXkgdG8gcGFzcyBhcyBhbiBvcHRpb24gdG8geW91clxuICAgY29tcG9uZW50cy5cblxuICAgYGBgaGFuZGxlYmFyc1xuICAgPE15Q29tcG9uZW50IEBwZW9wbGU9e3thcnJheVxuICAgICAnVG9tIERhbGUnXG4gICAgICdZZWh1ZGEgS2F0eidcbiAgICAgdGhpcy5teU90aGVyUGVyc29ufX1cbiAgIC8+XG4gICBgYGBcbiAgICBvclxuICAgYGBgaGFuZGxlYmFyc1xuICAge3tteS1jb21wb25lbnQgcGVvcGxlPShhcnJheVxuICAgICAnVG9tIERhbGUnXG4gICAgICdZZWh1ZGEgS2F0eidcbiAgICAgdGhpcy5teU90aGVyUGVyc29uKVxuICAgfX1cbiAgIGBgYFxuXG4gICBXb3VsZCByZXN1bHQgaW4gYW4gb2JqZWN0IHN1Y2ggYXM6XG5cbiAgIGBgYGpzXG4gICBbJ1RvbSBEYWxlJywgJ1llaHVkYSBLYXR6JywgdGhpcy5nZXQoJ215T3RoZXJQZXJzb24nKV1cbiAgIGBgYFxuXG4gICBXaGVyZSB0aGUgM3JkIGl0ZW0gaW4gdGhlIGFycmF5IGlzIGJvdW5kIHRvIHVwZGF0ZXMgb2YgdGhlIGBteU90aGVyUGVyc29uYCBwcm9wZXJ0eS5cblxuICAgQG1ldGhvZCBhcnJheVxuICAgQHBhcmFtIHtBcnJheX0gb3B0aW9uc1xuICAgQHJldHVybiB7QXJyYXl9IEFycmF5XG4gICBAcHVibGljXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgaW50ZXJuYWxIZWxwZXIoXG4gICh7IHBvc2l0aW9uYWwgfTogQ2FwdHVyZWRBcmd1bWVudHMpOiBSZWZlcmVuY2U8dW5rbm93bltdPiA9PiB7XG4gICAgcmV0dXJuIGNyZWF0ZUNvbXB1dGVSZWYoKCkgPT4gcmVpZnlQb3NpdGlvbmFsKHBvc2l0aW9uYWwpLCBudWxsLCAnYXJyYXknKTtcbiAgfVxuKTtcbiJdLCJzb3VyY2VSb290IjoiIn0=