#

API Docs for: v2.11.1
Show: Inherited Protected Private Deprecated

# File: packages/ember-glimmer/lib/helpers/query-param.js

    /**
    @module ember
    @submodule ember-glimmer
    */
    import { assign } from 'ember-utils';
    import { InternalHelperReference } from '../utils/references';
    import { assert } from 'ember-metal';
    import { QueryParams } from 'ember-routing';

    /**
      This is a helper to be used in conjunction with the link-to helper.
      It will supply url query parameters to the target route.

      Example

      ```handlebars
      {{#link-to 'posts' (query-params direction="asc")}}Sort{{/link-to}}
      ```

      @method query-params
      @for Ember.Templates.helpers
      @param {Object} hash takes a hash of query parameters
      @return {Object} A `QueryParams` object for `{{link-to}}`
      @public
    */
    function queryParams({ positional, named }) {
      assert('The `query-params` helper only accepts hash parameters, e.g. (query-params queryParamPropertyName=\'foo\') as opposed to just (query-params \'foo\')', positional.value().length === 0);

      return QueryParams.create({
        values: assign({}, named.value())
      });
    }

    export default function(vm, args) {
      return new InternalHelperReference(queryParams, args);
    }