Tiny javascript library to get and set (encoded) query parameters in the URL hash.
npm install @rvanbaalen/hashparser
ℹ️ Important note: HashParser assumes that everything after the hash is a query string.
HashParser uses URLSearchParams
to parse and set the query parameters.
import {HashParser} from '@rvanbaalen/hashparser';
const hp = new HashParser();
// Set a paramter in the hash
hp.set('foo', 'bar'); // example.com#foo=bar
// Get a parameter from the hash
hp.get('foo'); // bar
// Remove a parameter from the hash
hp.remove('foo'); // example.com#
import {HashParser} from '@rvanbaalen/hashparser';
// Two ways to use encoded parameters
// 1. Via the static getter
// Set a paramter in the hash
HashParser.encoded.set('foo', 'bar'); // example.com#foo=ImJhciI%3D
// Get a parameter from the hash
HashParser.encoded.get('foo'); // "bar"
// For reference, a default HashParser instance does not decode values
const hp = new HashParser();
hp.get('foo'); // ImJhciI%3D
// 2. Via the instance
const hp = new HashParser({encoded: true});
hp.set('foo', 'bar'); // example.com#foo=ImJhciI%3D
hp.get('foo'); // "bar"
The following options can be passed to a new HashParser instance:
{
encoded: false, // default value is false, set to true to always encode values
sync: true // default value is true, this will listen for hashchange events on the window object and update the internal dataset.
}
Compile the source files to the dist
folder:
npm run build
Upon each commit, npm run build
is automatically
executed and ./dist/hashparser.min.js
is automatically added pre-commit.