@aryzing/super-qs

0.0.1 • Public • Published

super-qs

Create and parse URL-safe query strings from arbitrary values.

Install with

npm i super-qs
# or
yarn add super-qs
# or
pnpm i super-qs
# or
bun add super-qs

Use cases

  • Sending data to a browser extension popup.
  • Creating shareable links containing application state.

Usage

import { stringify, parse } from "super-qs";

// Create a value of any type. This example uses an object, although any value
// can be used.
const data = {
  bool: true,
  undef: undefined,
  nullVal: null,
  date: new Date(),
  hugeNum: 0xffffffffffffffffffffn,
  bin: new Uint8Array([42, 24]),
};

// Create a URL-safe string representing the data above.
const stringifiedData = stringify(data);

// Use the stringified data to construct a URL.
const url = new URL(`https://example.com?data=${stringifiedData}`);

// Reconstruct the original data.
const params = new URLSearchParams(url.search);
const stringifiedDataParam = params.get("data");
const parsedData = parse(stringifiedDataParam);

// The `data` and `parsedData` values are equal.
expect(parsedData).toEqual(data); // true

Development

Get started with

bun install

Run tests with

bun run test

Build the package with

bun run build

Package Sidebar

Install

npm i @aryzing/super-qs

Weekly Downloads

3

Version

0.0.1

License

MIT

Unpacked Size

17.5 kB

Total Files

5

Last publish

Collaborators

  • aryzing