@glimmer/runtime
Version:
Minimal runtime needed to render Glimmer templates
43 lines (37 loc) • 3.02 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(({
positional
}) => {
return createComputeRef(() => reifyPositional(positional), null, 'array');
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2hlbHBlcnMvYXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBUyxnQkFBVCxRQUE0QyxvQkFBNUM7QUFDQSxTQUFTLGVBQVQsUUFBZ0Msa0JBQWhDO0FBQ0EsU0FBUyxjQUFULFFBQStCLG1CQUEvQjtBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0NBLGVBQWUsY0FBYyxDQUMzQixDQUFDO0FBQUUsRUFBQTtBQUFGLENBQUQsS0FBNEQ7QUFDMUQsU0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLGVBQWUsQ0FBQyxVQUFELENBQXRCLEVBQW9DLElBQXBDLEVBQTBDLE9BQTFDLENBQXZCO0FBQ0QsQ0FIMEIsQ0FBN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYXB0dXJlZEFyZ3VtZW50cyB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY3JlYXRlQ29tcHV0ZVJlZiwgUmVmZXJlbmNlIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IHJlaWZ5UG9zaXRpb25hbCB9IGZyb20gJ0BnbGltbWVyL3J1bnRpbWUnO1xuaW1wb3J0IHsgaW50ZXJuYWxIZWxwZXIgfSBmcm9tICcuL2ludGVybmFsLWhlbHBlcic7XG5cbi8qKlxuICAgVXNlIHRoZSBge3thcnJheX19YCBoZWxwZXIgdG8gY3JlYXRlIGFuIGFycmF5IHRvIHBhc3MgYXMgYW4gb3B0aW9uIHRvIHlvdXJcbiAgIGNvbXBvbmVudHMuXG5cbiAgIGBgYGhhbmRsZWJhcnNcbiAgIDxNeUNvbXBvbmVudCBAcGVvcGxlPXt7YXJyYXlcbiAgICAgJ1RvbSBEYWxlJ1xuICAgICAnWWVodWRhIEthdHonXG4gICAgIHRoaXMubXlPdGhlclBlcnNvbn19XG4gICAvPlxuICAgYGBgXG4gICAgb3JcbiAgIGBgYGhhbmRsZWJhcnNcbiAgIHt7bXktY29tcG9uZW50IHBlb3BsZT0oYXJyYXlcbiAgICAgJ1RvbSBEYWxlJ1xuICAgICAnWWVodWRhIEthdHonXG4gICAgIHRoaXMubXlPdGhlclBlcnNvbilcbiAgIH19XG4gICBgYGBcblxuICAgV291bGQgcmVzdWx0IGluIGFuIG9iamVjdCBzdWNoIGFzOlxuXG4gICBgYGBqc1xuICAgWydUb20gRGFsZScsICdZZWh1ZGEgS2F0eicsIHRoaXMuZ2V0KCdteU90aGVyUGVyc29uJyldXG4gICBgYGBcblxuICAgV2hlcmUgdGhlIDNyZCBpdGVtIGluIHRoZSBhcnJheSBpcyBib3VuZCB0byB1cGRhdGVzIG9mIHRoZSBgbXlPdGhlclBlcnNvbmAgcHJvcGVydHkuXG5cbiAgIEBtZXRob2QgYXJyYXlcbiAgIEBwYXJhbSB7QXJyYXl9IG9wdGlvbnNcbiAgIEByZXR1cm4ge0FycmF5fSBBcnJheVxuICAgQHB1YmxpY1xuICovXG5cbmV4cG9ydCBkZWZhdWx0IGludGVybmFsSGVscGVyKFxuICAoeyBwb3NpdGlvbmFsIH06IENhcHR1cmVkQXJndW1lbnRzKTogUmVmZXJlbmNlPHVua25vd25bXT4gPT4ge1xuICAgIHJldHVybiBjcmVhdGVDb21wdXRlUmVmKCgpID0+IHJlaWZ5UG9zaXRpb25hbChwb3NpdGlvbmFsKSwgbnVsbCwgJ2FycmF5Jyk7XG4gIH1cbik7XG4iXSwic291cmNlUm9vdCI6IiJ9