addon/-private/state.js
function queryParamsState(queryParamsArray, controller) {
  return queryParamsArray.reduce(
    (state, qp) => {
      let value = qp.value(controller);

      state[qp.key] = {
        value,
        serializedValue: qp.serializedValue(controller),
        as: qp.as,
        defaultValue: qp.defaultValue,
        changed: JSON.stringify(value) !== JSON.stringify(qp.defaultValue)
      };
      return state;
    },
    {},
    undefined
  );
}
function queryParamsState(queryParamsArray, controller) {
  return queryParamsArray.reduce(
    (state, qp) => {
      let value = qp.value(controller);

      state[qp.key] = {
        value,
        serializedValue: qp.serializedValue(controller),
        as: qp.as,
        defaultValue: qp.defaultValue,
        changed: JSON.stringify(value) !== JSON.stringify(qp.defaultValue)
      };
      return state;
    },
    {},
    undefined
  );
}
function queryParamsState ( queryParamsArray , controller ) { return queryParamsArray . reduce ( ( state , qp ) => { let value = qp . value ( controller ) ; state [ qp . key ] = { value , serializedValue : qp . serializedValue ( controller ) , as : qp . as , defaultValue : qp . defaultValue , changed : JSON . stringify ( value ) !== JSON . stringify ( qp . defaultValue ) } ; return state ; } , { } , undefined ) ; }
Creates QueryParamsState interface.

@param {Ember.NativeArray} queryParamsArray
@param {Ember.Controller} controller
@returns {object}
Creates QueryParamsState interface .