3.0.2 • Published 7 months ago

@rvanbaalen/hashparser v3.0.2

Weekly downloads
8
License
MIT
Repository
github
Last release
7 months ago

See my other Open Source projects

@rvanbaalen/hashparser

NPM Downloads GitHub License NPM Version GitHub Actions Workflow Status

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.

3.0.2

7 months ago

3.0.1

8 months ago

3.0.0

8 months ago

2.2.4

8 months ago

1.1.4

3 years ago

2.0.2

3 years ago

2.1.0

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.6

5 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago