0.0.2 • Published 1 month ago

superqs v0.0.2

Weekly downloads
4
License
MIT
Repository
-
Last release
1 month ago

superqs

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

Install with

npm i superqs
# or
yarn add superqs
# or
pnpm i superqs
# or
bun add superqs

Use cases

  • Sending data to a browser extension popup.
  • Creating shareable links containing application state.
  • Passing non-text data to custom elements.

Usage

import { stringify, parse } from "superqs";

// 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