3.1.1 • Published 5 years ago

query-string-handler v3.1.1

Weekly downloads
10
License
MIT
Repository
github
Last release
5 years ago

query-string-handler

This turns the query string into a private object. Use the API to read and manipulate the query string.

API

.update()

// only call this if an outside script updates the query string
queryStringHandler.update();

.setDefaults(obj)

@param obj {Object}

// When values equal the default value, they are ignored in the "toString"
queryStringHandler.setDefaults({ name: 'John Smith' });

.setTypes(obj)

@param obj {Object}

// Setting the type converts the query string value to that type
queryStringHandler.setTypes({ num: 'float' });

.getValue(name)

@param name {String}
@return {String}

// get a value from the query string
var val = queryStringHandler.getValue('name');

.toString([encoded, params])

@param encoded {Boolean}
@param params {Object}
@return {String}

// get the query string in string format
// optionally encode the ampersands with the first parameter
// optionally temporary extend the query string with the second parameter
// if all parameters are blank, it will return location.pathname
var url = queryStringHandler.toString(true, { beep: 'bop' });
console.log(url); // '?beep=bop'

.push(changes, title)

@param changes {Object}
@param title {String}

// push a new state with changes to the query string
// optionally change the browser title
// emits an event with type 'pop'
queryStringHandler.push({ foo: 'bar' });

.replace(changes, title)

@param changes {Object}
@param title {String}

// replace the state with changes to the query string
// optionally change the browser title
// emits an event with type 'replace'
queryStringHandler.replace({ foo: 'bar' });

.addListener(callback)

@param callback {Function}

// add a callback function to the stack
// all callbacks will be called on any event
// the first parameter in the callback will be the event type
queryStringHandler.addListener(function (type) {
    console.log(type);
});
history.back(); // 'pop'

.clone(obj)

@param obj {Object}
@return {Object}

// clone the private query string object
// optionally pass in an object to extend the query string
var clone = queryStringHandler.clone({ beep: 'boop' });

.clear(method = 'push', title)

@param method {String} replace|push
@param title {String}

// clone the private query string object
// optionally pass in an object to extend the query string
queryStringHandler.clear();

Install

npm install query-string-handler

Tests

Tests are written in qUnit. Open /example/index.html in a browser.

ES5 methods to polyfill

  • Object.keys
  • Array.forEach
  • Array.map
  • Array.filter

License

MIT © The C2 Group

3.1.1

5 years ago

3.1.0

5 years ago

3.0.1

8 years ago

3.0.0

8 years ago

2.1.0

8 years ago

2.0.0

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago