Skip to content
All open source

@rvanbaalen/hashparser

A lightweight JavaScript library for managing encoded URL hash parameters

v3.0.4JavaScriptURL APISource

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 hp2 = new HashParser({ encoded: true });

hp2.set('foo', 'bar'); // example.com#foo=ImJhciI%3D
hp2.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.