JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 12
  • Score
    100M100P100Q30984F
  • License MIT

A simple and flexible JavaScript library that manages "window.location.hash". With the ability to support queries. (#value?query)

Package Exports

  • @irmmr/hash.js
  • @irmmr/hash.js/src/hash.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@irmmr/hash.js) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Hash Js

GitHub license npm

Hash.js

It is better to use version 1.7.0 and above. Lower versions are not recommended at all.

Hash.js is a simple and flexible javascript library that manages the location.hash page. To change, add, set, check, get the hash value or query you can use this library. The page hash is a combination of 2 parts, "value" and "query". This value is set as follows: #value?query.

Install

You can install this package with ‍‍npm and use it.

npm install @irmmr/hash.js

Or use the built-in version of this library separately.

<script src="path/to/dist/hash.min.js"></script>

You can also use with: jsdelivr:

<script src="https://cdn.jsdelivr.net/npm/@irmmr/hash.js"></script>

Document

The document contains all the components included in the package.

view document ->

Test

You can test this library in the browser online. view ->

Otherwise, you must use the following commands to test the items:

# install test packages
npm run start

# test last published version
npm test

# test last changed file
npm test -- --dev

Structure

The components of this library are divided into 3 main sections, which include main, value and query. query itself includes the (str)string section so that query items can be implemented as a string.

import Hash from "@irmmr/hash.js";

// use Hash.js information
// Object { version: "1.7.5", name: "HashJs", module: "Hash" }
Hash.info();

// use Hash.js event
Hash.on(listener, (e, i) => {
  //...
});

Main: Items for general hash management. value?query

// set example
// => #string-for-me
Hash.set("string-for-me");

// replace example
// => #stringforme
Hash.replace(/-/g, "");

Value: Items for value hash management. value?query

// Hash.v == Hash.value
// set example
Hash.v.set("new-value");

// get example
console.log(Hash.value.get());

Query: Items for query hash management. value?query (objective)

// Hash.q == Hash.query
// set example
Hash.q.set("query-name", "query-val");

// get example
console.log(Hash.query.get("query-name"));

Query str: Items for query hash management as string. value?query (string)

// add example
Hash.q.str.add("q=v", "after:g");

// get example
console.log(Hash.q.str.get());

How to use?

These include a few simple examples.

Use it !

// set a value to location.hash (main component)
Hash.set("hello-babe"); // page's hash => '#hello-babe'

// get location.hash            (main component)
Hash.get(); // returns => 'hello-babe'

// set new value                (value component)
Hash.v.set("hey-value"); // page's hash => '#hey-value'

// set 'page' query             (query component)
Hash.q.set("page", 1); // page's hash => '#hey-value?page=1'

// set 'e' query                (query string component)
Hash.q.str.set("ev=12"); // page's hash => '#hey-value?ev=12'

ready() one-line usage

// #data-type?name=J
Hash.ready()?.set("data-type").q.set("name", "J");