@greenstones/react-spring
Version:
536 lines (535 loc) • 17.3 kB
JavaScript
import { useState as E, useEffect as Se } from "react";
var A = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, te = {};
function Ce(r, t) {
function e() {
this.constructor = r;
}
e.prototype = t.prototype, r.prototype = new e();
}
function S(r, t, e, i) {
var o = Error.call(this, r);
return Object.setPrototypeOf && Object.setPrototypeOf(o, S.prototype), o.expected = t, o.found = e, o.location = i, o.name = "SyntaxError", o;
}
Ce(S, Error);
function z(r, t, e) {
return e = e || " ", r.length > t ? r : (t -= r.length, e += e.repeat(t), r + e.slice(0, t));
}
S.prototype.format = function(r) {
var t = "Error: " + this.message;
if (this.location) {
var e = null, i;
for (i = 0; i < r.length; i++)
if (r[i].source === this.location.source) {
e = r[i].text.split(/\r\n|\n|\r/g);
break;
}
var o = this.location.start, d = this.location.source + ":" + o.line + ":" + o.column;
if (e) {
var p = this.location.end, y = z("", o.line.toString().length), v = e[o.line - 1], g = o.line === p.line ? p.column : v.length + 1;
t += `
--> ` + d + `
` + y + ` |
` + o.line + " | " + v + `
` + y + " | " + z("", o.column - 1) + z("", g - o.column, "^");
} else
t += `
at ` + d;
}
return t;
};
S.buildMessage = function(r, t) {
var e = {
literal: function(g) {
return '"' + o(g.text) + '"';
},
class: function(g) {
var c = g.parts.map(function(f) {
return Array.isArray(f) ? d(f[0]) + "-" + d(f[1]) : d(f);
});
return "[" + (g.inverted ? "^" : "") + c + "]";
},
any: function() {
return "any character";
},
end: function() {
return "end of input";
},
other: function(g) {
return g.description;
}
};
function i(g) {
return g.charCodeAt(0).toString(16).toUpperCase();
}
function o(g) {
return g.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(c) {
return "\\x0" + i(c);
}).replace(/[\x10-\x1F\x7F-\x9F]/g, function(c) {
return "\\x" + i(c);
});
}
function d(g) {
return g.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(c) {
return "\\x0" + i(c);
}).replace(/[\x10-\x1F\x7F-\x9F]/g, function(c) {
return "\\x" + i(c);
});
}
function p(g) {
return e[g.type](g);
}
function y(g) {
var c = g.map(p), f, h;
if (c.sort(), c.length > 0) {
for (f = 1, h = 1; f < c.length; f++)
c[f - 1] !== c[f] && (c[h] = c[f], h++);
c.length = h;
}
switch (c.length) {
case 1:
return c[0];
case 2:
return c[0] + " or " + c[1];
default:
return c.slice(0, -1).join(", ") + ", or " + c[c.length - 1];
}
}
function v(g) {
return g ? '"' + o(g) + '"' : "end of input";
}
return "Expected " + y(r) + " but " + v(t) + " found.";
};
function Oe(r, t) {
t = t !== void 0 ? t : {};
var e = {}, i = t.grammarSource, o = { template: Y }, d = Y, p = "{", y = "}", v = ",", g = "*", c = ":", f = "(", h = ")", x = /^[\/;.?&+#]/, F = /^[a-zA-Z0-9_.%]/, B = /^[0-9]/, N = /^[^{]/, Z = /^[^)]/, se = j("{", !1), ie = j("}", !1), le = P(["/", ";", ".", "?", "&", "+", "#"], !1, !1), q = j(",", !1), G = P([["a", "z"], ["A", "Z"], ["0", "9"], "_", ".", "%"], !1, !1), ce = j("*", !1), ue = j(":", !1), H = P([["0", "9"]], !1, !1), L = P(["{"], !0, !1), fe = j("(", !1), W = P([")"], !0, !1), oe = j(")", !1), pe = function(n) {
return { type: "template", parts: n };
}, ge = function(n, s) {
return { type: "expression", operator: n, variables: s };
}, X = function(n, s) {
return s;
}, de = function(n, s) {
return s.unshift(n), s;
}, ve = function(n, s, l) {
return { type: "variable", name: n, modifier: s, extension: l };
}, he = function() {
return { type: "explode" };
}, me = function(n) {
return { type: "substr", length: parseInt(n) };
}, ye = function(n) {
return { type: "literal", value: n };
}, $e = function(n) {
return n;
}, a = 0, R = [{ line: 1, column: 1 }], _ = 0, T = [], D;
if ("startRule" in t) {
if (!(t.startRule in o))
throw new Error(`Can't start parsing from rule "` + t.startRule + '".');
d = o[t.startRule];
}
function j(n, s) {
return { type: "literal", text: n, ignoreCase: s };
}
function P(n, s, l) {
return { type: "class", parts: n, inverted: s, ignoreCase: l };
}
function xe() {
return { type: "end" };
}
function J(n) {
var s = R[n], l;
if (s)
return s;
for (l = n - 1; !R[l]; )
l--;
for (s = R[l], s = {
line: s.line,
column: s.column
}; l < n; )
r.charCodeAt(l) === 10 ? (s.line++, s.column = 1) : s.column++, l++;
return R[n] = s, s;
}
function K(n, s) {
var l = J(n), u = J(s);
return {
source: i,
start: {
offset: n,
line: l.line,
column: l.column
},
end: {
offset: s,
line: u.line,
column: u.column
}
};
}
function $(n) {
a < _ || (a > _ && (_ = a, T = []), T.push(n));
}
function be(n, s, l) {
return new S(S.buildMessage(n, s), n, s, l);
}
function Y() {
var n, s, l;
for (n = a, s = [], l = ee(), l === e && (l = k()); l !== e; )
s.push(l), l = ee(), l === e && (l = k());
return s = pe(s), n = s, n;
}
function k() {
var n, s, l, u, m;
return n = a, r.charCodeAt(a) === 123 ? (s = p, a++) : (s = e, $(se)), s !== e ? (l = Ae(), l !== e ? (u = _e(), u !== e ? (r.charCodeAt(a) === 125 ? (m = y, a++) : (m = e, $(ie)), m !== e ? n = ge(l, u) : (a = n, n = e)) : (a = n, n = e)) : (a = n, n = e)) : (a = n, n = e), n;
}
function Ae() {
var n;
return x.test(r.charAt(a)) ? (n = r.charAt(a), a++) : (n = e, $(le)), n === e && (n = ""), n;
}
function _e() {
var n, s, l, u, m, O;
if (n = a, s = Q(), s !== e) {
for (l = [], u = a, r.charCodeAt(a) === 44 ? (m = v, a++) : (m = e, $(q)), m !== e ? (O = Q(), O !== e ? u = X(s, O) : (a = u, u = e)) : (a = u, u = e); u !== e; )
l.push(u), u = a, r.charCodeAt(a) === 44 ? (m = v, a++) : (m = e, $(q)), m !== e ? (O = Q(), O !== e ? u = X(s, O) : (a = u, u = e)) : (a = u, u = e);
n = de(s, l);
} else
a = n, n = e;
return n;
}
function Q() {
var n, s, l, u;
if (n = a, s = a, l = [], F.test(r.charAt(a)) ? (u = r.charAt(a), a++) : (u = e, $(G)), u !== e)
for (; u !== e; )
l.push(u), F.test(r.charAt(a)) ? (u = r.charAt(a), a++) : (u = e, $(G));
else
l = e;
return l !== e ? s = r.substring(s, a) : s = l, s !== e ? (l = we(), l === e && (l = Ee()), l === e && (l = null), u = je(), u === e && (u = null), n = ve(s, l, u)) : (a = n, n = e), n;
}
function Ee() {
var n, s;
return n = a, r.charCodeAt(a) === 42 ? (s = g, a++) : (s = e, $(ce)), s !== e && (s = he()), n = s, n;
}
function we() {
var n, s, l, u, m;
if (n = a, r.charCodeAt(a) === 58 ? (s = c, a++) : (s = e, $(ue)), s !== e) {
if (l = a, u = [], B.test(r.charAt(a)) ? (m = r.charAt(a), a++) : (m = e, $(H)), m !== e)
for (; m !== e; )
u.push(m), B.test(r.charAt(a)) ? (m = r.charAt(a), a++) : (m = e, $(H));
else
u = e;
u !== e ? l = r.substring(l, a) : l = u, l !== e ? n = me(l) : (a = n, n = e);
} else
a = n, n = e;
return n;
}
function ee() {
var n, s, l, u;
if (n = a, s = a, l = [], N.test(r.charAt(a)) ? (u = r.charAt(a), a++) : (u = e, $(L)), u !== e)
for (; u !== e; )
l.push(u), N.test(r.charAt(a)) ? (u = r.charAt(a), a++) : (u = e, $(L));
else
l = e;
return l !== e ? s = r.substring(s, a) : s = l, s !== e && (s = ye(s)), n = s, n;
}
function je() {
var n, s, l, u, m;
if (n = a, r.charCodeAt(a) === 40 ? (s = f, a++) : (s = e, $(fe)), s !== e) {
if (l = a, u = [], Z.test(r.charAt(a)) ? (m = r.charAt(a), a++) : (m = e, $(W)), m !== e)
for (; m !== e; )
u.push(m), Z.test(r.charAt(a)) ? (m = r.charAt(a), a++) : (m = e, $(W));
else
u = e;
u !== e ? l = r.substring(l, a) : l = u, l !== e ? (r.charCodeAt(a) === 41 ? (u = h, a++) : (u = e, $(oe)), u !== e ? n = $e(l) : (a = n, n = e)) : (a = n, n = e);
} else
a = n, n = e;
return n;
}
if (D = d(), D !== e && a === r.length)
return D;
throw D !== e && a < r.length && $(xe()), be(T, _ < r.length ? r.charAt(_) : null, _ < r.length ? K(_, _ + 1) : K(_, _));
}
var Fe = {
SyntaxError: S,
parse: Oe
}, M = {};
M.__esModule = !0;
M.toString = void 0;
function I(r) {
var t, e;
switch (r.type) {
case "template":
return r.parts.map(I).join("");
case "literal":
return r.value;
case "expression":
return "{" + r.operator + r.variables.map(I).join(",") + "}";
case "variable":
var i = r.name;
return ((t = r.modifier) === null || t === void 0 ? void 0 : t.type) == "explode" ? i += "*" : ((e = r.modifier) === null || e === void 0 ? void 0 : e.type) == "substr" && (i += ":" + r.modifier.length), r.extension && (i += "(" + r.extension + ")"), i;
}
}
M.toString = I;
var C = {}, Pe = function(t) {
return t = t || /\W/g, function(i) {
return i = String(i), i.replace(t, function(o) {
var d = o[0].charCodeAt(0), p = [];
return d < 128 ? p.push(d) : 128 <= d && d < 2048 ? (p.push(d >> 6 | 192), p.push(d & 63 | 128)) : (p.push(d >> 12 | 224), p.push(d >> 6 & 63 | 128), p.push(d & 63 | 128)), p.map(function(y) {
return "%" + y.toString(16).toUpperCase();
}).join("");
});
};
}, b = A && A.__assign || function() {
return b = Object.assign || function(r) {
for (var t, e = 1, i = arguments.length; e < i; e++) {
t = arguments[e];
for (var o in t)
Object.prototype.hasOwnProperty.call(t, o) && (r[o] = t[o]);
}
return r;
}, b.apply(this, arguments);
}, Re = A && A.__importDefault || function(r) {
return r && r.__esModule ? r : { default: r };
};
C.__esModule = !0;
C.expandExpression = C.expandTemplate = void 0;
var re = Re(Pe), U = {
UrlSafe: (0, re.default)(/[^\w~.-]/g),
Restricted: (0, re.default)(/[^\w.~:\/\?#\[\]@!\$&'()*+,;=%-]|%(?!\d\d)/g)
};
function De(r, t) {
var e = r.parts.map(function(i) {
switch (i.type) {
case "literal":
return i.value;
case "expression":
return ne(i, t);
}
});
return e.join("");
}
C.expandTemplate = De;
var w = {
first: "",
sep: ",",
empty: "",
encode: U.UrlSafe,
named: !1
}, Me = {
"": b({}, w),
"+": b(b({}, w), { encode: U.Restricted }),
"#": b(b({}, w), { encode: U.Restricted, first: "#", empty: "#" }),
"/": b(b({}, w), { first: "/", sep: "/" }),
".": b(b({}, w), { first: ".", sep: ".", empty: "." }),
";": b(b({}, w), { first: ";", sep: ";", named: !0 }),
"?": b(b({}, w), { first: "?", sep: "&", empty: "=", named: !0 }),
"&": b(b({}, w), { first: "&", sep: "&", empty: "=", named: !0 })
};
function ne(r, t) {
var e = Me[r.operator], i = [];
if (r.variables.forEach(function(d) {
var p = t[d.name];
if (Ie(p)) {
var y = Te(d, p, e);
i.push(y || "");
}
}), i.length === 0)
return "";
var o = i.join(e.sep);
return o.length === 0 ? e.empty : e.first + o;
}
C.expandExpression = ne;
function Te(r, t, e) {
var i;
if (t == null)
throw new TypeError("tried to expand null value for variable " + r.name + ", this is a bug in uri-template");
return ((i = r.modifier) === null || i === void 0 ? void 0 : i.type) === "explode" ? ze(r, t, e) : Qe(r, t, e);
}
function Qe(r, t, e) {
var i, o, d = e.empty, p = e.encode, y = e.named;
if (typeof t == "object" && ((i = r.modifier) === null || i === void 0 ? void 0 : i.type) === "substr")
throw new Error("Prefixed variables do not support lists/maps. Check " + r.name);
var v;
return Array.isArray(t) ? v = t.map(p).join(",") : typeof t == "object" ? v = Object.entries(t).map(function(g) {
return g.map(p).join(",");
}).join(",") : (v = t.toString(), ((o = r.modifier) === null || o === void 0 ? void 0 : o.type) === "substr" && (v = v.substring(0, r.modifier.length)), v = p(v)), y && (v ? v = r.name + "=" + v : v = "" + r.name + d), v;
}
function ze(r, t, e) {
var i = e.encode, o = e.named, d = e.sep;
if (Array.isArray(t)) {
var p = t.map(i);
return o && (p = p.map(function(g) {
return r.name + "=" + g;
})), p.join(d);
} else if (typeof t == "object") {
var y = [];
return Object.entries(t).forEach(function(g) {
var c = g[0], f = g[1];
c = i(c), Array.isArray(f) ? f.forEach(function(h) {
y.push(c + "=" + i(h));
}) : y.push(c + "=" + i(f));
}), y.join(d);
} else {
var v = t.toString();
return i(v);
}
}
function Ie(r) {
switch (typeof r) {
case "undefined":
return !1;
case "object":
if (r == null)
return !1;
if (Array.isArray(r))
return r.length > 0;
for (var t in r)
if (r[t] != null)
return !0;
return !1;
default:
return !0;
}
}
(function(r) {
var t = A && A.__createBinding || (Object.create ? function(c, f, h, x) {
x === void 0 && (x = h), Object.defineProperty(c, x, { enumerable: !0, get: function() {
return f[h];
} });
} : function(c, f, h, x) {
x === void 0 && (x = h), c[x] = f[h];
}), e = A && A.__setModuleDefault || (Object.create ? function(c, f) {
Object.defineProperty(c, "default", { enumerable: !0, value: f });
} : function(c, f) {
c.default = f;
}), i = A && A.__importStar || function(c) {
if (c && c.__esModule)
return c;
var f = {};
if (c != null)
for (var h in c)
h !== "default" && Object.prototype.hasOwnProperty.call(c, h) && t(f, c, h);
return e(f, c), f;
}, o = A && A.__exportStar || function(c, f) {
for (var h in c)
h !== "default" && !Object.prototype.hasOwnProperty.call(f, h) && t(f, c, h);
};
r.__esModule = !0, r.parseRule = r.parse = void 0;
var d = i(Fe), p = i(M), y = C;
function v(c) {
var f = g(c, "template");
return {
ast: f,
expand: function(h) {
return (0, y.expandTemplate)(f, h);
},
toString: function() {
return p.toString(f);
}
};
}
r.parse = v;
function g(c, f) {
return f === void 0 && (f = "template"), d.parse(c, { startRule: f });
}
r.parseRule = g, o(C, r);
})(te);
function Ue(r, t) {
var e = te.parse(r);
return e.expand(t);
}
function ae(r, t) {
return r ? Ue(
typeof r == "string" ? r : r.href,
t || {}
) : void 0;
}
function V(r, t) {
const { init: e, transform: i } = t || {}, [o, d] = E(null), [p, y] = E(null), [v, g] = E(), [c, f] = E(!1);
return E(!1), Se(() => {
if (!r)
return;
const h = new AbortController();
return f(!0), (async () => {
try {
const x = await fetch(r, {
...e,
signal: h.signal
});
d(x);
const F = await (x == null ? void 0 : x.json());
y(i ? i(F) : F), f(!1);
} catch (x) {
if (Ve(x))
return;
g(x), f(!1);
}
})(), () => {
h.abort();
};
}, [e, r]), { response: o, error: v, isLoading: c, value: p };
}
function Ve(r) {
return !!(r && r.name === "AbortError");
}
function Be(r, t) {
const e = ae(r, t == null ? void 0 : t.params);
return V(e, t);
}
function Ne(r, t) {
const [e, i] = E((t == null ? void 0 : t.size) || 10), [o, d] = E((t == null ? void 0 : t.page) || 0), [p, y] = E(
t != null && t.sort ? { column: t == null ? void 0 : t.sort, direction: "asc" } : null
), v = p ? { sort: `${p == null ? void 0 : p.column},${p == null ? void 0 : p.direction}` } : {}, g = (f) => {
const h = f === (p == null ? void 0 : p.column) ? p.direction === "asc" ? "asc" : "desc" : "asc";
y({ column: f, direction: h }), d(0);
};
return {
...Be(r, {
...t,
params: {
...t == null ? void 0 : t.params,
size: e,
page: o,
...v
}
}),
size: e,
setSize: i,
page: o,
setPage: d,
sort: p,
setSort: g
};
}
function qe(r, t) {
const [e, i] = E(
(t == null ? void 0 : t.query) ?? null
), o = t || {}, d = Ne(r, {
...o,
params: { ...o.params, ...e }
});
return {
...d,
query: e,
setQuery: (v) => {
i(v), d.setPage(0);
},
setQueryProp: (v, g) => {
i({ ...e, [v]: g }), d.setPage(0);
}
};
}
function Ge(r, t = "_links") {
return V(`${ae(r)}/search`, {
transform: (i) => i == null ? void 0 : i[t]
});
}
function He(r, t = "_links") {
return V(r, { transform: (i) => i == null ? void 0 : i[t] });
}
export {
Ue as formatUri,
ae as href,
Ne as useCollectionResource,
V as useFetch,
Be as useHalResource,
qe as useQueryMethodResource,
He as useResourceDiscovery,
Ge as useSearchResource
};