UNPKG

@greenstones/react-spring

Version:

536 lines (535 loc) 17.3 kB
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 };