Skip to content

Tiny javascript library to get and set (encoded) hash parameters

License

Notifications You must be signed in to change notification settings

rvanbaalen/hashparser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HashParser v2

Tiny javascript library to get and set (encoded) query parameters in the URL hash.

npm (scoped) npm bundle size (scoped) downloads

⚠️ v2.* is a complete rewrite from version 1.0 and not backwards compatible.

Installation

npm install @rvanbaalen/hashparser

Before your get started

ℹ️ Important note: HashParser assumes that everything after the hash is a query string.

HashParser uses URLSearchParams to parse and set the query parameters.

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.

About

Tiny javascript library to get and set (encoded) hash parameters

Resources

License

Security policy

Stars

Watchers

Forks

Packages