@metapages/hash-query
Version:
Get/set URL parameters in the hash string instead of the query string.
120 lines (119 loc) • 4.53 kB
JavaScript
import { useState as l, useEffect as i, useCallback as H } from "react";
import { getHashParamFromWindow as S, getHashParamsFromWindow as g, setHashParamInWindow as c, stringToBase64String as u, stringFromBase64String as v, blobToBase64String as I, blobFromBase64String as F } from "../core/index.js";
import { deleteHashParamFromUrl as D, deleteHashParamFromWindow as N, getHashParamValue as x, getHashParamValueBase64DecodedFromUrl as C, getHashParamValueBase64DecodedFromWindow as L, getHashParamValueBooleanFromUrl as T, getHashParamValueBooleanFromWindow as _, getHashParamValueFloatFromUrl as f, getHashParamValueFloatFromWindow as A, getHashParamValueIntFromUrl as j, getHashParamValueIntFromWindow as q, getHashParamValueJsonFromUrl as z, getHashParamValueJsonFromWindow as G, getUrlHashParams as K, getUrlHashParamsFromHashString as M, setHashParamValueBase64EncodedInUrl as O, setHashParamValueBase64EncodedInWindow as Q, setHashParamValueBooleanInUrl as R, setHashParamValueBooleanInWindow as X, setHashParamValueFloatInUrl as Y, setHashParamValueFloatInWindow as Z, setHashParamValueInHashString as $, setHashParamValueInUrl as k, setHashParamValueIntInUrl as y, setHashParamValueIntInWindow as aa, setHashParamValueJsonInHashString as sa, setHashParamValueJsonInUrl as ra, setHashParamValueJsonInWindow as na } from "../core/index.js";
const P = (r, a) => {
const [s, n] = l(S(r) ?? a);
i(() => {
const [e, t] = g();
a && t[r] === void 0 && c(r, a);
}, [a]), i(() => {
const e = (t) => {
const o = g()[1];
n(o[r]);
};
return window.addEventListener("hashchange", e), () => window.removeEventListener("hashchange", e);
}, []);
const h = H((e, t) => {
c(r, e, t);
}, []);
return [s, h];
}, U = (r, a) => {
const [s, n] = P(r, a != null ? u(a) : void 0), [h, e] = l(a);
i(() => {
e(s ? v(s) : void 0);
}, [r, s, e]);
const t = H((o, m) => {
if (o == null)
n(void 0, m);
else {
const d = u(o);
n(d, m);
}
}, [n]);
return [h, t];
}, V = (r) => {
const [a, s] = P(r), [n, h] = l(a === "true");
i(() => {
h(a === "true");
}, [r, a, h]);
const e = H((t, o) => {
t = !!t, s(t ? "true" : void 0, o);
}, [s]);
return [n, e];
}, W = (r, a) => {
const [s, n] = P(r, a != null ? a.toString() : void 0), [h, e] = l(s ? parseFloat(s) : void 0);
i(() => {
e(s ? parseFloat(s) : void 0);
}, [r, s, e]);
const t = H((o, m) => {
n(o ? o.toString() : void 0, m);
}, [n]);
return [h, t];
}, J = (r, a) => {
const [s, n] = P(r, a != null ? a.toString() : void 0), [h, e] = l(s ? parseInt(s) : void 0);
i(() => {
e(s ? parseInt(s) : void 0);
}, [r, s, e]);
const t = H((o, m) => {
n(o ? o.toString() : void 0, m);
}, [n]);
return [h, t];
}, b = (r, a) => {
const [s, n] = P(r, a != null ? I(a) : void 0), [h, e] = l(F(s));
i(() => {
e(F(s));
}, [r, s, e]);
const t = H((o, m) => {
if (o == null)
n(void 0, m);
else {
const d = I(o);
n(d, m);
}
}, [n]);
return [h, t];
};
export {
F as blobFromBase64String,
I as blobToBase64String,
D as deleteHashParamFromUrl,
N as deleteHashParamFromWindow,
S as getHashParamFromWindow,
x as getHashParamValue,
C as getHashParamValueBase64DecodedFromUrl,
L as getHashParamValueBase64DecodedFromWindow,
T as getHashParamValueBooleanFromUrl,
_ as getHashParamValueBooleanFromWindow,
f as getHashParamValueFloatFromUrl,
A as getHashParamValueFloatFromWindow,
j as getHashParamValueIntFromUrl,
q as getHashParamValueIntFromWindow,
z as getHashParamValueJsonFromUrl,
G as getHashParamValueJsonFromWindow,
g as getHashParamsFromWindow,
K as getUrlHashParams,
M as getUrlHashParamsFromHashString,
c as setHashParamInWindow,
O as setHashParamValueBase64EncodedInUrl,
Q as setHashParamValueBase64EncodedInWindow,
R as setHashParamValueBooleanInUrl,
X as setHashParamValueBooleanInWindow,
Y as setHashParamValueFloatInUrl,
Z as setHashParamValueFloatInWindow,
$ as setHashParamValueInHashString,
k as setHashParamValueInUrl,
y as setHashParamValueIntInUrl,
aa as setHashParamValueIntInWindow,
sa as setHashParamValueJsonInHashString,
ra as setHashParamValueJsonInUrl,
na as setHashParamValueJsonInWindow,
v as stringFromBase64String,
u as stringToBase64String,
P as useHashParam,
U as useHashParamBase64,
V as useHashParamBoolean,
W as useHashParamFloat,
J as useHashParamInt,
b as useHashParamJson
};
//# sourceMappingURL=index.js.map