Description
Tiny javascript library to get and set (encoded) query parameters in the URL hash.
Installation
npm install @rvanbaalen/hashparser
Usage
Basic usage
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#
Encoded values
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"
Options
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.
}
Building
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.
Contributing
Contributions are welcome! Please feel free to open an issue or submit a pull request.
License
This project is licensed under the MIT License - see the LICENSE file for details.