diff --git a/build/main.js b/build/main.js index f694b33..1fb280f 100644 --- a/build/main.js +++ b/build/main.js @@ -1,1209 +1 @@ -// ../../Library/Caches/deno/npm/registry.npmjs.org/preact/10.26.8/dist/preact.module.js -var n; -var l; -var u; -var t; -var i; -var r; -var o; -var e; -var f; -var c; -var s; -var a; -var h; -var p = {}; -var v = []; -var y = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i; -var w = Array.isArray; -function d(n3, l5) { - for (var u5 in l5) n3[u5] = l5[u5]; - return n3; -} -function g(n3) { - n3 && n3.parentNode && n3.parentNode.removeChild(n3); -} -function _(l5, u5, t4) { - var i5, r4, o4, e4 = {}; - for (o4 in u5) "key" == o4 ? i5 = u5[o4] : "ref" == o4 ? r4 = u5[o4] : e4[o4] = u5[o4]; - if (arguments.length > 2 && (e4.children = arguments.length > 3 ? n.call(arguments, 2) : t4), "function" == typeof l5 && null != l5.defaultProps) for (o4 in l5.defaultProps) void 0 === e4[o4] && (e4[o4] = l5.defaultProps[o4]); - return m(l5, e4, i5, r4, null); -} -function m(n3, t4, i5, r4, o4) { - var e4 = { - type: n3, - props: t4, - key: i5, - ref: r4, - __k: null, - __: null, - __b: 0, - __e: null, - __c: null, - constructor: void 0, - __v: null == o4 ? ++u : o4, - __i: -1, - __u: 0 - }; - return null == o4 && null != l.vnode && l.vnode(e4), e4; -} -function k(n3) { - return n3.children; -} -function x(n3, l5) { - this.props = n3, this.context = l5; -} -function S(n3, l5) { - if (null == l5) return n3.__ ? S(n3.__, n3.__i + 1) : null; - for (var u5; l5 < n3.__k.length; l5++) if (null != (u5 = n3.__k[l5]) && null != u5.__e) return u5.__e; - return "function" == typeof n3.type ? S(n3) : null; -} -function C(n3) { - var l5, u5; - if (null != (n3 = n3.__) && null != n3.__c) { - for (n3.__e = n3.__c.base = null, l5 = 0; l5 < n3.__k.length; l5++) if (null != (u5 = n3.__k[l5]) && null != u5.__e) { - n3.__e = n3.__c.base = u5.__e; - break; - } - return C(n3); - } -} -function M(n3) { - (!n3.__d && (n3.__d = true) && i.push(n3) && !$.__r++ || r != l.debounceRendering) && ((r = l.debounceRendering) || o)($); -} -function $() { - for (var n3, u5, t4, r4, o4, f5, c4, s4 = 1; i.length; ) i.length > s4 && i.sort(e), n3 = i.shift(), s4 = i.length, n3.__d && (t4 = void 0, o4 = (r4 = (u5 = n3).__v).__e, f5 = [], c4 = [], u5.__P && ((t4 = d({}, r4)).__v = r4.__v + 1, l.vnode && l.vnode(t4), O(u5.__P, t4, r4, u5.__n, u5.__P.namespaceURI, 32 & r4.__u ? [ - o4 - ] : null, f5, null == o4 ? S(r4) : o4, !!(32 & r4.__u), c4), t4.__v = r4.__v, t4.__.__k[t4.__i] = t4, z(f5, t4, c4), t4.__e != o4 && C(t4))); - $.__r = 0; -} -function I(n3, l5, u5, t4, i5, r4, o4, e4, f5, c4, s4) { - var a4, h4, y5, w4, d4, g4, _4 = t4 && t4.__k || v, m4 = l5.length; - for (f5 = P(u5, l5, _4, f5, m4), a4 = 0; a4 < m4; a4++) null != (y5 = u5.__k[a4]) && (h4 = -1 == y5.__i ? p : _4[y5.__i] || p, y5.__i = a4, g4 = O(n3, y5, h4, i5, r4, o4, e4, f5, c4, s4), w4 = y5.__e, y5.ref && h4.ref != y5.ref && (h4.ref && q(h4.ref, null, y5), s4.push(y5.ref, y5.__c || w4, y5)), null == d4 && null != w4 && (d4 = w4), 4 & y5.__u || h4.__k === y5.__k ? f5 = A(y5, f5, n3) : "function" == typeof y5.type && void 0 !== g4 ? f5 = g4 : w4 && (f5 = w4.nextSibling), y5.__u &= -7); - return u5.__e = d4, f5; -} -function P(n3, l5, u5, t4, i5) { - var r4, o4, e4, f5, c4, s4 = u5.length, a4 = s4, h4 = 0; - for (n3.__k = new Array(i5), r4 = 0; r4 < i5; r4++) null != (o4 = l5[r4]) && "boolean" != typeof o4 && "function" != typeof o4 ? (f5 = r4 + h4, (o4 = n3.__k[r4] = "string" == typeof o4 || "number" == typeof o4 || "bigint" == typeof o4 || o4.constructor == String ? m(null, o4, null, null, null) : w(o4) ? m(k, { - children: o4 - }, null, null, null) : null == o4.constructor && o4.__b > 0 ? m(o4.type, o4.props, o4.key, o4.ref ? o4.ref : null, o4.__v) : o4).__ = n3, o4.__b = n3.__b + 1, e4 = null, -1 != (c4 = o4.__i = L(o4, u5, f5, a4)) && (a4--, (e4 = u5[c4]) && (e4.__u |= 2)), null == e4 || null == e4.__v ? (-1 == c4 && (i5 > s4 ? h4-- : i5 < s4 && h4++), "function" != typeof o4.type && (o4.__u |= 4)) : c4 != f5 && (c4 == f5 - 1 ? h4-- : c4 == f5 + 1 ? h4++ : (c4 > f5 ? h4-- : h4++, o4.__u |= 4))) : n3.__k[r4] = null; - if (a4) for (r4 = 0; r4 < s4; r4++) null != (e4 = u5[r4]) && 0 == (2 & e4.__u) && (e4.__e == t4 && (t4 = S(e4)), B(e4, e4)); - return t4; -} -function A(n3, l5, u5) { - var t4, i5; - if ("function" == typeof n3.type) { - for (t4 = n3.__k, i5 = 0; t4 && i5 < t4.length; i5++) t4[i5] && (t4[i5].__ = n3, l5 = A(t4[i5], l5, u5)); - return l5; - } - n3.__e != l5 && (l5 && n3.type && !u5.contains(l5) && (l5 = S(n3)), u5.insertBefore(n3.__e, l5 || null), l5 = n3.__e); - do { - l5 = l5 && l5.nextSibling; - } while (null != l5 && 8 == l5.nodeType); - return l5; -} -function L(n3, l5, u5, t4) { - var i5, r4, o4 = n3.key, e4 = n3.type, f5 = l5[u5]; - if (null === f5 && null == n3.key || f5 && o4 == f5.key && e4 == f5.type && 0 == (2 & f5.__u)) return u5; - if (t4 > (null != f5 && 0 == (2 & f5.__u) ? 1 : 0)) for (i5 = u5 - 1, r4 = u5 + 1; i5 >= 0 || r4 < l5.length; ) { - if (i5 >= 0) { - if ((f5 = l5[i5]) && 0 == (2 & f5.__u) && o4 == f5.key && e4 == f5.type) return i5; - i5--; - } - if (r4 < l5.length) { - if ((f5 = l5[r4]) && 0 == (2 & f5.__u) && o4 == f5.key && e4 == f5.type) return r4; - r4++; - } - } - return -1; -} -function T(n3, l5, u5) { - "-" == l5[0] ? n3.setProperty(l5, null == u5 ? "" : u5) : n3[l5] = null == u5 ? "" : "number" != typeof u5 || y.test(l5) ? u5 : u5 + "px"; -} -function j(n3, l5, u5, t4, i5) { - var r4, o4; - n: if ("style" == l5) if ("string" == typeof u5) n3.style.cssText = u5; - else { - if ("string" == typeof t4 && (n3.style.cssText = t4 = ""), t4) for (l5 in t4) u5 && l5 in u5 || T(n3.style, l5, ""); - if (u5) for (l5 in u5) t4 && u5[l5] == t4[l5] || T(n3.style, l5, u5[l5]); - } - else if ("o" == l5[0] && "n" == l5[1]) r4 = l5 != (l5 = l5.replace(f, "$1")), o4 = l5.toLowerCase(), l5 = o4 in n3 || "onFocusOut" == l5 || "onFocusIn" == l5 ? o4.slice(2) : l5.slice(2), n3.l || (n3.l = {}), n3.l[l5 + r4] = u5, u5 ? t4 ? u5.u = t4.u : (u5.u = c, n3.addEventListener(l5, r4 ? a : s, r4)) : n3.removeEventListener(l5, r4 ? a : s, r4); - else { - if ("http://www.w3.org/2000/svg" == i5) l5 = l5.replace(/xlink(H|:h)/, "h").replace(/sName$/, "s"); - else if ("width" != l5 && "height" != l5 && "href" != l5 && "list" != l5 && "form" != l5 && "tabIndex" != l5 && "download" != l5 && "rowSpan" != l5 && "colSpan" != l5 && "role" != l5 && "popover" != l5 && l5 in n3) try { - n3[l5] = null == u5 ? "" : u5; - break n; - } catch (n4) { - } - "function" == typeof u5 || (null == u5 || false === u5 && "-" != l5[4] ? n3.removeAttribute(l5) : n3.setAttribute(l5, "popover" == l5 && 1 == u5 ? "" : u5)); - } -} -function F(n3) { - return function(u5) { - if (this.l) { - var t4 = this.l[u5.type + n3]; - if (null == u5.t) u5.t = c++; - else if (u5.t < t4.u) return; - return t4(l.event ? l.event(u5) : u5); - } - }; -} -function O(n3, u5, t4, i5, r4, o4, e4, f5, c4, s4) { - var a4, h4, p4, v4, y5, _4, m4, b3, S2, C3, M2, $2, P2, A3, H, L2, T4, j3 = u5.type; - if (null != u5.constructor) return null; - 128 & t4.__u && (c4 = !!(32 & t4.__u), o4 = [ - f5 = u5.__e = t4.__e - ]), (a4 = l.__b) && a4(u5); - n: if ("function" == typeof j3) try { - if (b3 = u5.props, S2 = "prototype" in j3 && j3.prototype.render, C3 = (a4 = j3.contextType) && i5[a4.__c], M2 = a4 ? C3 ? C3.props.value : a4.__ : i5, t4.__c ? m4 = (h4 = u5.__c = t4.__c).__ = h4.__E : (S2 ? u5.__c = h4 = new j3(b3, M2) : (u5.__c = h4 = new x(b3, M2), h4.constructor = j3, h4.render = D), C3 && C3.sub(h4), h4.props = b3, h4.state || (h4.state = {}), h4.context = M2, h4.__n = i5, p4 = h4.__d = true, h4.__h = [], h4._sb = []), S2 && null == h4.__s && (h4.__s = h4.state), S2 && null != j3.getDerivedStateFromProps && (h4.__s == h4.state && (h4.__s = d({}, h4.__s)), d(h4.__s, j3.getDerivedStateFromProps(b3, h4.__s))), v4 = h4.props, y5 = h4.state, h4.__v = u5, p4) S2 && null == j3.getDerivedStateFromProps && null != h4.componentWillMount && h4.componentWillMount(), S2 && null != h4.componentDidMount && h4.__h.push(h4.componentDidMount); - else { - if (S2 && null == j3.getDerivedStateFromProps && b3 !== v4 && null != h4.componentWillReceiveProps && h4.componentWillReceiveProps(b3, M2), !h4.__e && null != h4.shouldComponentUpdate && false === h4.shouldComponentUpdate(b3, h4.__s, M2) || u5.__v == t4.__v) { - for (u5.__v != t4.__v && (h4.props = b3, h4.state = h4.__s, h4.__d = false), u5.__e = t4.__e, u5.__k = t4.__k, u5.__k.some(function(n4) { - n4 && (n4.__ = u5); - }), $2 = 0; $2 < h4._sb.length; $2++) h4.__h.push(h4._sb[$2]); - h4._sb = [], h4.__h.length && e4.push(h4); - break n; - } - null != h4.componentWillUpdate && h4.componentWillUpdate(b3, h4.__s, M2), S2 && null != h4.componentDidUpdate && h4.__h.push(function() { - h4.componentDidUpdate(v4, y5, _4); - }); - } - if (h4.context = M2, h4.props = b3, h4.__P = n3, h4.__e = false, P2 = l.__r, A3 = 0, S2) { - for (h4.state = h4.__s, h4.__d = false, P2 && P2(u5), a4 = h4.render(h4.props, h4.state, h4.context), H = 0; H < h4._sb.length; H++) h4.__h.push(h4._sb[H]); - h4._sb = []; - } else do { - h4.__d = false, P2 && P2(u5), a4 = h4.render(h4.props, h4.state, h4.context), h4.state = h4.__s; - } while (h4.__d && ++A3 < 25); - h4.state = h4.__s, null != h4.getChildContext && (i5 = d(d({}, i5), h4.getChildContext())), S2 && !p4 && null != h4.getSnapshotBeforeUpdate && (_4 = h4.getSnapshotBeforeUpdate(v4, y5)), L2 = a4, null != a4 && a4.type === k && null == a4.key && (L2 = N(a4.props.children)), f5 = I(n3, w(L2) ? L2 : [ - L2 - ], u5, t4, i5, r4, o4, e4, f5, c4, s4), h4.base = u5.__e, u5.__u &= -161, h4.__h.length && e4.push(h4), m4 && (h4.__E = h4.__ = null); - } catch (n4) { - if (u5.__v = null, c4 || null != o4) if (n4.then) { - for (u5.__u |= c4 ? 160 : 128; f5 && 8 == f5.nodeType && f5.nextSibling; ) f5 = f5.nextSibling; - o4[o4.indexOf(f5)] = null, u5.__e = f5; - } else for (T4 = o4.length; T4--; ) g(o4[T4]); - else u5.__e = t4.__e, u5.__k = t4.__k; - l.__e(n4, u5, t4); - } - else null == o4 && u5.__v == t4.__v ? (u5.__k = t4.__k, u5.__e = t4.__e) : f5 = u5.__e = V(t4.__e, u5, t4, i5, r4, o4, e4, c4, s4); - return (a4 = l.diffed) && a4(u5), 128 & u5.__u ? void 0 : f5; -} -function z(n3, u5, t4) { - for (var i5 = 0; i5 < t4.length; i5++) q(t4[i5], t4[++i5], t4[++i5]); - l.__c && l.__c(u5, n3), n3.some(function(u6) { - try { - n3 = u6.__h, u6.__h = [], n3.some(function(n4) { - n4.call(u6); - }); - } catch (n4) { - l.__e(n4, u6.__v); - } - }); -} -function N(n3) { - return "object" != typeof n3 || null == n3 || n3.__b && n3.__b > 0 ? n3 : w(n3) ? n3.map(N) : d({}, n3); -} -function V(u5, t4, i5, r4, o4, e4, f5, c4, s4) { - var a4, h4, v4, y5, d4, _4, m4, b3 = i5.props, k3 = t4.props, x2 = t4.type; - if ("svg" == x2 ? o4 = "http://www.w3.org/2000/svg" : "math" == x2 ? o4 = "http://www.w3.org/1998/Math/MathML" : o4 || (o4 = "http://www.w3.org/1999/xhtml"), null != e4) { - for (a4 = 0; a4 < e4.length; a4++) if ((d4 = e4[a4]) && "setAttribute" in d4 == !!x2 && (x2 ? d4.localName == x2 : 3 == d4.nodeType)) { - u5 = d4, e4[a4] = null; - break; - } - } - if (null == u5) { - if (null == x2) return document.createTextNode(k3); - u5 = document.createElementNS(o4, x2, k3.is && k3), c4 && (l.__m && l.__m(t4, e4), c4 = false), e4 = null; - } - if (null == x2) b3 === k3 || c4 && u5.data == k3 || (u5.data = k3); - else { - if (e4 = e4 && n.call(u5.childNodes), b3 = i5.props || p, !c4 && null != e4) for (b3 = {}, a4 = 0; a4 < u5.attributes.length; a4++) b3[(d4 = u5.attributes[a4]).name] = d4.value; - for (a4 in b3) if (d4 = b3[a4], "children" == a4) ; - else if ("dangerouslySetInnerHTML" == a4) v4 = d4; - else if (!(a4 in k3)) { - if ("value" == a4 && "defaultValue" in k3 || "checked" == a4 && "defaultChecked" in k3) continue; - j(u5, a4, null, d4, o4); - } - for (a4 in k3) d4 = k3[a4], "children" == a4 ? y5 = d4 : "dangerouslySetInnerHTML" == a4 ? h4 = d4 : "value" == a4 ? _4 = d4 : "checked" == a4 ? m4 = d4 : c4 && "function" != typeof d4 || b3[a4] === d4 || j(u5, a4, d4, b3[a4], o4); - if (h4) c4 || v4 && (h4.__html == v4.__html || h4.__html == u5.innerHTML) || (u5.innerHTML = h4.__html), t4.__k = []; - else if (v4 && (u5.innerHTML = ""), I("template" == t4.type ? u5.content : u5, w(y5) ? y5 : [ - y5 - ], t4, i5, r4, "foreignObject" == x2 ? "http://www.w3.org/1999/xhtml" : o4, e4, f5, e4 ? e4[0] : i5.__k && S(i5, 0), c4, s4), null != e4) for (a4 = e4.length; a4--; ) g(e4[a4]); - c4 || (a4 = "value", "progress" == x2 && null == _4 ? u5.removeAttribute("value") : null != _4 && (_4 !== u5[a4] || "progress" == x2 && !_4 || "option" == x2 && _4 != b3[a4]) && j(u5, a4, _4, b3[a4], o4), a4 = "checked", null != m4 && m4 != u5[a4] && j(u5, a4, m4, b3[a4], o4)); - } - return u5; -} -function q(n3, u5, t4) { - try { - if ("function" == typeof n3) { - var i5 = "function" == typeof n3.__u; - i5 && n3.__u(), i5 && null == u5 || (n3.__u = n3(u5)); - } else n3.current = u5; - } catch (n4) { - l.__e(n4, t4); - } -} -function B(n3, u5, t4) { - var i5, r4; - if (l.unmount && l.unmount(n3), (i5 = n3.ref) && (i5.current && i5.current != n3.__e || q(i5, null, u5)), null != (i5 = n3.__c)) { - if (i5.componentWillUnmount) try { - i5.componentWillUnmount(); - } catch (n4) { - l.__e(n4, u5); - } - i5.base = i5.__P = null; - } - if (i5 = n3.__k) for (r4 = 0; r4 < i5.length; r4++) i5[r4] && B(i5[r4], u5, t4 || "function" != typeof n3.type); - t4 || g(n3.__e), n3.__c = n3.__ = n3.__e = void 0; -} -function D(n3, l5, u5) { - return this.constructor(n3, u5); -} -function E(u5, t4, i5) { - var r4, o4, e4, f5; - t4 == document && (t4 = document.documentElement), l.__ && l.__(u5, t4), o4 = (r4 = "function" == typeof i5) ? null : i5 && i5.__k || t4.__k, e4 = [], f5 = [], O(t4, u5 = (!r4 && i5 || t4).__k = _(k, null, [ - u5 - ]), o4 || p, p, t4.namespaceURI, !r4 && i5 ? [ - i5 - ] : o4 ? null : t4.firstChild ? n.call(t4.childNodes) : null, e4, !r4 && i5 ? i5 : o4 ? o4.__e : t4.firstChild, r4, f5), z(e4, u5, f5); -} -function G(n3, l5) { - E(n3, l5, G); -} -n = v.slice, l = { - __e: function(n3, l5, u5, t4) { - for (var i5, r4, o4; l5 = l5.__; ) if ((i5 = l5.__c) && !i5.__) try { - if ((r4 = i5.constructor) && null != r4.getDerivedStateFromError && (i5.setState(r4.getDerivedStateFromError(n3)), o4 = i5.__d), null != i5.componentDidCatch && (i5.componentDidCatch(n3, t4 || {}), o4 = i5.__d), o4) return i5.__E = i5; - } catch (l6) { - n3 = l6; - } - throw n3; - } -}, u = 0, t = function(n3) { - return null != n3 && null == n3.constructor; -}, x.prototype.setState = function(n3, l5) { - var u5; - u5 = null != this.__s && this.__s != this.state ? this.__s : this.__s = d({}, this.state), "function" == typeof n3 && (n3 = n3(d({}, u5), this.props)), n3 && d(u5, n3), null != n3 && this.__v && (l5 && this._sb.push(l5), M(this)); -}, x.prototype.forceUpdate = function(n3) { - this.__v && (this.__e = true, n3 && this.__h.push(n3), M(this)); -}, x.prototype.render = k, i = [], o = "function" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, e = function(n3, l5) { - return n3.__v.__b - l5.__v.__b; -}, $.__r = 0, f = /(PointerCapture)$|Capture$/i, c = 0, s = F(false), a = F(true), h = 0; - -// ../../Library/Caches/deno/npm/registry.npmjs.org/preact/10.26.8/jsx-runtime/dist/jsxRuntime.module.js -var f2 = 0; -var i2 = Array.isArray; -function u2(e4, t4, n3, o4, i5, u5) { - t4 || (t4 = {}); - var a4, c4, p4 = t4; - if ("ref" in p4) for (c4 in p4 = {}, t4) "ref" == c4 ? a4 = t4[c4] : p4[c4] = t4[c4]; - var l5 = { - type: e4, - props: p4, - key: n3, - ref: a4, - __k: null, - __: null, - __b: 0, - __e: null, - __c: null, - constructor: void 0, - __v: --f2, - __i: -1, - __u: 0, - __source: i5, - __self: u5 - }; - if ("function" == typeof e4 && (a4 = e4.defaultProps)) for (c4 in a4) void 0 === p4[c4] && (p4[c4] = a4[c4]); - return l.vnode && l.vnode(l5), l5; -} - -// ../../Library/Caches/deno/npm/registry.npmjs.org/preact/10.26.8/hooks/dist/hooks.module.js -var t2; -var r2; -var u3; -var i3; -var o2 = 0; -var f3 = []; -var c2 = l; -var e2 = c2.__b; -var a2 = c2.__r; -var v2 = c2.diffed; -var l2 = c2.__c; -var m2 = c2.unmount; -var s2 = c2.__; -function p2(n3, t4) { - c2.__h && c2.__h(r2, n3, o2 || t4), o2 = 0; - var u5 = r2.__H || (r2.__H = { - __: [], - __h: [] - }); - return n3 >= u5.__.length && u5.__.push({}), u5.__[n3]; -} -function T2(n3, r4) { - var u5 = p2(t2++, 7); - return C2(u5.__H, r4) && (u5.__ = n3(), u5.__H = r4, u5.__h = n3), u5.__; -} -function j2() { - for (var n3; n3 = f3.shift(); ) if (n3.__P && n3.__H) try { - n3.__H.__h.forEach(z2), n3.__H.__h.forEach(B2), n3.__H.__h = []; - } catch (t4) { - n3.__H.__h = [], c2.__e(t4, n3.__v); - } -} -c2.__b = function(n3) { - r2 = null, e2 && e2(n3); -}, c2.__ = function(n3, t4) { - n3 && t4.__k && t4.__k.__m && (n3.__m = t4.__k.__m), s2 && s2(n3, t4); -}, c2.__r = function(n3) { - a2 && a2(n3), t2 = 0; - var i5 = (r2 = n3.__c).__H; - i5 && (u3 === r2 ? (i5.__h = [], r2.__h = [], i5.__.forEach(function(n4) { - n4.__N && (n4.__ = n4.__N), n4.u = n4.__N = void 0; - })) : (i5.__h.forEach(z2), i5.__h.forEach(B2), i5.__h = [], t2 = 0)), u3 = r2; -}, c2.diffed = function(n3) { - v2 && v2(n3); - var t4 = n3.__c; - t4 && t4.__H && (t4.__H.__h.length && (1 !== f3.push(t4) && i3 === c2.requestAnimationFrame || ((i3 = c2.requestAnimationFrame) || w2)(j2)), t4.__H.__.forEach(function(n4) { - n4.u && (n4.__H = n4.u), n4.u = void 0; - })), u3 = r2 = null; -}, c2.__c = function(n3, t4) { - t4.some(function(n4) { - try { - n4.__h.forEach(z2), n4.__h = n4.__h.filter(function(n5) { - return !n5.__ || B2(n5); - }); - } catch (r4) { - t4.some(function(n5) { - n5.__h && (n5.__h = []); - }), t4 = [], c2.__e(r4, n4.__v); - } - }), l2 && l2(n3, t4); -}, c2.unmount = function(n3) { - m2 && m2(n3); - var t4, r4 = n3.__c; - r4 && r4.__H && (r4.__H.__.forEach(function(n4) { - try { - z2(n4); - } catch (n5) { - t4 = n5; - } - }), r4.__H = void 0, t4 && c2.__e(t4, r4.__v)); -}; -var k2 = "function" == typeof requestAnimationFrame; -function w2(n3) { - var t4, r4 = function() { - clearTimeout(u5), k2 && cancelAnimationFrame(t4), setTimeout(n3); - }, u5 = setTimeout(r4, 35); - k2 && (t4 = requestAnimationFrame(r4)); -} -function z2(n3) { - var t4 = r2, u5 = n3.__c; - "function" == typeof u5 && (n3.__c = void 0, u5()), r2 = t4; -} -function B2(n3) { - var t4 = r2; - n3.__c = n3.__(), r2 = t4; -} -function C2(n3, t4) { - return !n3 || n3.length !== t4.length || t4.some(function(t5, r4) { - return t5 !== n3[r4]; - }); -} - -// ../../Library/Caches/deno/npm/registry.npmjs.org/@preact/signals-core/1.9.0/dist/signals-core.module.js -var i4 = Symbol.for("preact-signals"); -function t3() { - if (!(s3 > 1)) { - var i5, t4 = false; - while (void 0 !== h2) { - var r4 = h2; - h2 = void 0; - f4++; - while (void 0 !== r4) { - var o4 = r4.o; - r4.o = void 0; - r4.f &= -3; - if (!(8 & r4.f) && c3(r4)) try { - r4.c(); - } catch (r5) { - if (!t4) { - i5 = r5; - t4 = true; - } - } - r4 = o4; - } - } - f4 = 0; - s3--; - if (t4) throw i5; - } else s3--; -} -function r3(i5) { - if (s3 > 0) return i5(); - s3++; - try { - return i5(); - } finally { - t3(); - } -} -var o3 = void 0; -function n2(i5) { - var t4 = o3; - o3 = void 0; - try { - return i5(); - } finally { - o3 = t4; - } -} -var h2 = void 0; -var s3 = 0; -var f4 = 0; -var v3 = 0; -function e3(i5) { - if (void 0 !== o3) { - var t4 = i5.n; - if (void 0 === t4 || t4.t !== o3) { - t4 = { - i: 0, - S: i5, - p: o3.s, - n: void 0, - t: o3, - e: void 0, - x: void 0, - r: t4 - }; - if (void 0 !== o3.s) o3.s.n = t4; - o3.s = t4; - i5.n = t4; - if (32 & o3.f) i5.S(t4); - return t4; - } else if (-1 === t4.i) { - t4.i = 0; - if (void 0 !== t4.n) { - t4.n.p = t4.p; - if (void 0 !== t4.p) t4.p.n = t4.n; - t4.p = o3.s; - t4.n = void 0; - o3.s.n = t4; - o3.s = t4; - } - return t4; - } - } -} -function u4(i5, t4) { - this.v = i5; - this.i = 0; - this.n = void 0; - this.t = void 0; - this.W = null == t4 ? void 0 : t4.watched; - this.Z = null == t4 ? void 0 : t4.unwatched; -} -u4.prototype.brand = i4; -u4.prototype.h = function() { - return true; -}; -u4.prototype.S = function(i5) { - var t4 = this, r4 = this.t; - if (r4 !== i5 && void 0 === i5.e) { - i5.x = r4; - this.t = i5; - if (void 0 !== r4) r4.e = i5; - else n2(function() { - var i6; - null == (i6 = t4.W) || i6.call(t4); - }); - } -}; -u4.prototype.U = function(i5) { - var t4 = this; - if (void 0 !== this.t) { - var r4 = i5.e, o4 = i5.x; - if (void 0 !== r4) { - r4.x = o4; - i5.e = void 0; - } - if (void 0 !== o4) { - o4.e = r4; - i5.x = void 0; - } - if (i5 === this.t) { - this.t = o4; - if (void 0 === o4) n2(function() { - var i6; - null == (i6 = t4.Z) || i6.call(t4); - }); - } - } -}; -u4.prototype.subscribe = function(i5) { - var t4 = this; - return E2(function() { - var r4 = t4.value, n3 = o3; - o3 = void 0; - try { - i5(r4); - } finally { - o3 = n3; - } - }); -}; -u4.prototype.valueOf = function() { - return this.value; -}; -u4.prototype.toString = function() { - return this.value + ""; -}; -u4.prototype.toJSON = function() { - return this.value; -}; -u4.prototype.peek = function() { - var i5 = o3; - o3 = void 0; - try { - return this.value; - } finally { - o3 = i5; - } -}; -Object.defineProperty(u4.prototype, "value", { - get: function() { - var i5 = e3(this); - if (void 0 !== i5) i5.i = this.i; - return this.v; - }, - set: function(i5) { - if (i5 !== this.v) { - if (f4 > 100) throw new Error("Cycle detected"); - this.v = i5; - this.i++; - v3++; - s3++; - try { - for (var r4 = this.t; void 0 !== r4; r4 = r4.x) r4.t.N(); - } finally { - t3(); - } - } - } -}); -function d2(i5, t4) { - return new u4(i5, t4); -} -function c3(i5) { - for (var t4 = i5.s; void 0 !== t4; t4 = t4.n) if (t4.S.i !== t4.i || !t4.S.h() || t4.S.i !== t4.i) return true; - return false; -} -function a3(i5) { - for (var t4 = i5.s; void 0 !== t4; t4 = t4.n) { - var r4 = t4.S.n; - if (void 0 !== r4) t4.r = r4; - t4.S.n = t4; - t4.i = -1; - if (void 0 === t4.n) { - i5.s = t4; - break; - } - } -} -function l3(i5) { - var t4 = i5.s, r4 = void 0; - while (void 0 !== t4) { - var o4 = t4.p; - if (-1 === t4.i) { - t4.S.U(t4); - if (void 0 !== o4) o4.n = t4.n; - if (void 0 !== t4.n) t4.n.p = o4; - } else r4 = t4; - t4.S.n = t4.r; - if (void 0 !== t4.r) t4.r = void 0; - t4 = o4; - } - i5.s = r4; -} -function y2(i5, t4) { - u4.call(this, void 0); - this.x = i5; - this.s = void 0; - this.g = v3 - 1; - this.f = 4; - this.W = null == t4 ? void 0 : t4.watched; - this.Z = null == t4 ? void 0 : t4.unwatched; -} -y2.prototype = new u4(); -y2.prototype.h = function() { - this.f &= -3; - if (1 & this.f) return false; - if (32 == (36 & this.f)) return true; - this.f &= -5; - if (this.g === v3) return true; - this.g = v3; - this.f |= 1; - if (this.i > 0 && !c3(this)) { - this.f &= -2; - return true; - } - var i5 = o3; - try { - a3(this); - o3 = this; - var t4 = this.x(); - if (16 & this.f || this.v !== t4 || 0 === this.i) { - this.v = t4; - this.f &= -17; - this.i++; - } - } catch (i6) { - this.v = i6; - this.f |= 16; - this.i++; - } - o3 = i5; - l3(this); - this.f &= -2; - return true; -}; -y2.prototype.S = function(i5) { - if (void 0 === this.t) { - this.f |= 36; - for (var t4 = this.s; void 0 !== t4; t4 = t4.n) t4.S.S(t4); - } - u4.prototype.S.call(this, i5); -}; -y2.prototype.U = function(i5) { - if (void 0 !== this.t) { - u4.prototype.U.call(this, i5); - if (void 0 === this.t) { - this.f &= -33; - for (var t4 = this.s; void 0 !== t4; t4 = t4.n) t4.S.U(t4); - } - } -}; -y2.prototype.N = function() { - if (!(2 & this.f)) { - this.f |= 6; - for (var i5 = this.t; void 0 !== i5; i5 = i5.x) i5.t.N(); - } -}; -Object.defineProperty(y2.prototype, "value", { - get: function() { - if (1 & this.f) throw new Error("Cycle detected"); - var i5 = e3(this); - this.h(); - if (void 0 !== i5) i5.i = this.i; - if (16 & this.f) throw this.v; - return this.v; - } -}); -function w3(i5, t4) { - return new y2(i5, t4); -} -function _2(i5) { - var r4 = i5.u; - i5.u = void 0; - if ("function" == typeof r4) { - s3++; - var n3 = o3; - o3 = void 0; - try { - r4(); - } catch (t4) { - i5.f &= -2; - i5.f |= 8; - g2(i5); - throw t4; - } finally { - o3 = n3; - t3(); - } - } -} -function g2(i5) { - for (var t4 = i5.s; void 0 !== t4; t4 = t4.n) t4.S.U(t4); - i5.x = void 0; - i5.s = void 0; - _2(i5); -} -function p3(i5) { - if (o3 !== this) throw new Error("Out-of-order effect"); - l3(this); - o3 = i5; - this.f &= -2; - if (8 & this.f) g2(this); - t3(); -} -function b(i5) { - this.x = i5; - this.u = void 0; - this.s = void 0; - this.o = void 0; - this.f = 32; -} -b.prototype.c = function() { - var i5 = this.S(); - try { - if (8 & this.f) return; - if (void 0 === this.x) return; - var t4 = this.x(); - if ("function" == typeof t4) this.u = t4; - } finally { - i5(); - } -}; -b.prototype.S = function() { - if (1 & this.f) throw new Error("Cycle detected"); - this.f |= 1; - this.f &= -9; - _2(this); - a3(this); - s3++; - var i5 = o3; - o3 = this; - return p3.bind(this, i5); -}; -b.prototype.N = function() { - if (!(2 & this.f)) { - this.f |= 2; - this.o = h2; - h2 = this; - } -}; -b.prototype.d = function() { - this.f |= 8; - if (!(1 & this.f)) g2(this); -}; -function E2(i5) { - var t4 = new b(i5); - try { - t4.c(); - } catch (i6) { - t4.d(); - throw i6; - } - return t4.d.bind(t4); -} - -// ../../Library/Caches/deno/npm/registry.npmjs.org/@preact/signals/2.2.0/dist/signals.module.js -var h3; -var l4; -var d3; -var m3 = []; -E2(function() { - h3 = this.N; -})(); -function _3(i5, r4) { - l[i5] = r4.bind(null, l[i5] || function() { - }); -} -function g3(i5) { - if (d3) d3(); - d3 = i5 && i5.S(); -} -function b2(i5) { - var n3 = this, t4 = i5.data, o4 = useSignal(t4); - o4.value = t4; - var e4 = T2(function() { - var i6 = n3, t5 = n3.__v; - while (t5 = t5.__) if (t5.__c) { - t5.__c.__$f |= 4; - break; - } - var f5 = w3(function() { - var i7 = o4.value.value; - return 0 === i7 ? 0 : true === i7 ? "" : i7 || ""; - }), e5 = w3(function() { - return !Array.isArray(f5.value) && !t(f5.value); - }), a5 = E2(function() { - this.N = T3; - if (e5.value) { - var n4 = f5.value; - if (i6.__v && i6.__v.__e && 3 === i6.__v.__e.nodeType) i6.__v.__e.data = n4; - } - }), v5 = n3.__$u.d; - n3.__$u.d = function() { - a5(); - v5.call(this); - }; - return [ - e5, - f5 - ]; - }, []), a4 = e4[0], v4 = e4[1]; - return a4.value ? v4.peek() : v4.value; -} -b2.displayName = "_st"; -Object.defineProperties(u4.prototype, { - constructor: { - configurable: true, - value: void 0 - }, - type: { - configurable: true, - value: b2 - }, - props: { - configurable: true, - get: function() { - return { - data: this - }; - } - }, - __b: { - configurable: true, - value: 1 - } -}); -_3("__b", function(i5, n3) { - if ("string" == typeof n3.type) { - var r4, t4 = n3.props; - for (var f5 in t4) if ("children" !== f5) { - var o4 = t4[f5]; - if (o4 instanceof u4) { - if (!r4) n3.__np = r4 = {}; - r4[f5] = o4; - t4[f5] = o4.peek(); - } - } - } - i5(n3); -}); -_3("__r", function(i5, n3) { - if (n3.type !== k) { - g3(); - var r4, f5 = n3.__c; - if (f5) { - f5.__$f &= -2; - if (void 0 === (r4 = f5.__$u)) f5.__$u = r4 = function(i6) { - var n4; - E2(function() { - n4 = this; - }); - n4.c = function() { - f5.__$f |= 1; - f5.setState({}); - }; - return n4; - }(); - } - l4 = f5; - g3(r4); - } - i5(n3); -}); -_3("__e", function(i5, n3, r4, t4) { - g3(); - l4 = void 0; - i5(n3, r4, t4); -}); -_3("diffed", function(i5, n3) { - g3(); - l4 = void 0; - var r4; - if ("string" == typeof n3.type && (r4 = n3.__e)) { - var t4 = n3.__np, f5 = n3.props; - if (t4) { - var o4 = r4.U; - if (o4) for (var e4 in o4) { - var u5 = o4[e4]; - if (void 0 !== u5 && !(e4 in t4)) { - u5.d(); - o4[e4] = void 0; - } - } - else { - o4 = {}; - r4.U = o4; - } - for (var a4 in t4) { - var c4 = o4[a4], v4 = t4[a4]; - if (void 0 === c4) { - c4 = y4(r4, a4, v4, f5); - o4[a4] = c4; - } else c4.o(v4, f5); - } - } - } - i5(n3); -}); -function y4(i5, n3, r4, t4) { - var f5 = n3 in i5 && void 0 === i5.ownerSVGElement, o4 = d2(r4); - return { - o: function(i6, n4) { - o4.value = i6; - t4 = n4; - }, - d: E2(function() { - this.N = T3; - var r5 = o4.value.value; - if (t4[n3] !== r5) { - t4[n3] = r5; - if (f5) i5[n3] = r5; - else if (r5) i5.setAttribute(n3, r5); - else i5.removeAttribute(n3); - } - }) - }; -} -_3("unmount", function(i5, n3) { - if ("string" == typeof n3.type) { - var r4 = n3.__e; - if (r4) { - var t4 = r4.U; - if (t4) { - r4.U = void 0; - for (var f5 in t4) { - var o4 = t4[f5]; - if (o4) o4.d(); - } - } - } - } else { - var e4 = n3.__c; - if (e4) { - var u5 = e4.__$u; - if (u5) { - e4.__$u = void 0; - u5.d(); - } - } - } - i5(n3); -}); -_3("__h", function(i5, n3, r4, t4) { - if (t4 < 3 || 9 === t4) n3.__$f |= 2; - i5(n3, r4, t4); -}); -x.prototype.shouldComponentUpdate = function(i5, n3) { - var r4 = this.__$u, t4 = r4 && void 0 !== r4.s; - for (var f5 in n3) return true; - if (this.__f || "boolean" == typeof this.u && true === this.u) { - var o4 = 2 & this.__$f; - if (!(t4 || o4 || 4 & this.__$f)) return true; - if (1 & this.__$f) return true; - } else { - if (!(t4 || 4 & this.__$f)) return true; - if (3 & this.__$f) return true; - } - for (var e4 in i5) if ("__source" !== e4 && i5[e4] !== this.props[e4]) return true; - for (var u5 in this.props) if (!(u5 in i5)) return true; - return false; -}; -function useSignal(i5, n3) { - return T2(function() { - return d2(i5, n3); - }, []); -} -var q2 = function(i5) { - queueMicrotask(function() { - queueMicrotask(i5); - }); -}; -function F2() { - r3(function() { - var i5; - while (i5 = m3.shift()) h3.call(i5); - }); -} -function T3() { - if (1 === m3.push(this)) (l.requestAnimationFrame || q2)(F2); -} - -// signals/counter.ts -var count = d2(0); - -// components/counter.tsx -function Counter() { - return /* @__PURE__ */ u2("div", { - children: count - }); -} - -// elements/counter-preact.tsx -var CounterPreact = class extends HTMLElement { - shadow = null; - internals; - constructor() { - super(); - if ("attachInternals" in this) { - this.internals = this.attachInternals(); - } - } - connectedCallback() { - this.shadow = this.internals?.shadowRoot || this.shadowRoot; - if (!this.shadow) { - this.shadow = this.attachShadow({ - mode: "open", - serializable: true - }); - E(/* @__PURE__ */ u2(k, { - children: [ - /* @__PURE__ */ u2("link", { - rel: "stylesheet", - href: "/templates/counter.css" - }), - /* @__PURE__ */ u2(Counter, {}) - ] - }), this.shadow); - } else { - G(/* @__PURE__ */ u2(Counter, {}), this.shadow); - } - } - disconnectedCallback() { - if (this.shadow) { - E(null, this.shadow); - } - } -}; - -// components/button.tsx -function Button({ onClick, children = "Click Me !" }) { - return /* @__PURE__ */ u2("button", { - type: "button", - onClick, - children: /* @__PURE__ */ u2("slot", { - children - }) - }); -} - -// elements/button-preact.tsx -var ButtonPreact = class extends HTMLElement { - static observedAttributes = []; - shadow = null; - internals; - constructor() { - super(); - if ("attachInternals" in this) { - this.internals = this.attachInternals(); - } - } - handleClick() { - count.value++; - } - connectedCallback() { - this.shadow = this.internals?.shadowRoot || this.shadowRoot; - if (!this.shadow) { - this.shadow = this.attachShadow({ - mode: "open", - serializable: true - }); - E(/* @__PURE__ */ u2(k, { - children: [ - /* @__PURE__ */ u2("link", { - rel: "stylesheet", - href: "/templates/button.css" - }), - /* @__PURE__ */ u2(Button, { - onClick: this.handleClick - }) - ] - }), this.shadow); - } else { - G(/* @__PURE__ */ u2(Button, { - onClick: this.handleClick - }), this.shadow); - } - } - disconnectedCallback() { - if (this.shadow) { - E(null, this.shadow); - } - } - attributeChangedCallback(name, oldValue, newValue) { - console.log(name); - console.log(oldValue); - console.log(newValue); - } -}; - -// elements/counter.ts -var Counter2 = class extends HTMLElement { - shadow = null; - internals; - counterPlaceholder = null; - disposeEffect; - constructor() { - super(); - if ("attachInternals" in this) { - this.internals = this.attachInternals(); - } - } - connectedCallback() { - this.shadow = this.internals?.shadowRoot || this.shadowRoot; - if (!this.shadow) { - this.shadow = this.attachShadow({ - mode: "open", - serializable: true - }); - const template = document.getElementById("template-counter"); - if (template) { - this.shadow.appendChild(template.content.cloneNode(true)); - } - } - this.counterPlaceholder = this.shadow?.querySelector("div"); - if (this.counterPlaceholder) { - this.disposeEffect = E2(() => { - this.counterPlaceholder.textContent = `${count.value}`; - }); - } - } - disconnectedCallback() { - if (this.disposeEffect) { - this.disposeEffect(); - this.disposeEffect = void 0; - } - } -}; - -// elements/button.ts -var Button2 = class extends HTMLElement { - shadow = null; - internals; - buttonEl = null; - handleClick = () => { - count.value++; - }; - constructor() { - super(); - if ("attachInternals" in this) { - this.internals = this.attachInternals(); - } - } - connectedCallback() { - this.shadow = this.internals?.shadowRoot || this.shadowRoot; - if (!this.shadow) { - this.shadow = this.attachShadow({ - mode: "open", - serializable: true - }); - const template = document.getElementById("template-button"); - if (template) { - this.shadow.appendChild(template.content.cloneNode(true)); - } - } - this.buttonEl = this.shadow?.querySelector("button"); - if (this.buttonEl) { - this.buttonEl.addEventListener("click", this.handleClick); - } - } - disconnectedCallback() { - if (this.buttonEl) { - this.buttonEl.removeEventListener("click", this.handleClick); - } - } -}; - -// dom/main.ts -function main() { - customElements.define("dsd-counter-preact", CounterPreact); - customElements.define("dsd-button-preact", ButtonPreact); - customElements.define("element-counter", Counter2); - customElements.define("element-button", Button2); -} -document.addEventListener("DOMContentLoaded", main); +var G,h,Ht,ct,O,Nt,Ut,jt,Ft,lt,st,ft,ye,q={},Dt=[],ge=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,X=Array.isArray;function E(e,t){for(var n in t)e[n]=t[n];return e}function pt(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function L(e,t,n){var o,i,r,_={};for(r in t)r=="key"?o=t[r]:r=="ref"?i=t[r]:_[r]=t[r];if(arguments.length>2&&(_.children=arguments.length>3?G.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(r in e.defaultProps)_[r]===void 0&&(_[r]=e.defaultProps[r]);return W(e,_,o,i,null)}function W(e,t,n,o,i){var r={type:e,props:t,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:i??++Ht,__i:-1,__u:0};return i==null&&h.vnode!=null&&h.vnode(r),r}function k(e){return e.children}function F(e,t){this.props=e,this.context=t}function D(e,t){if(t==null)return e.__?D(e.__,e.__i+1):null;for(var n;ts&&O.sort(jt),e=O.shift(),s=O.length,e.__d&&(n=void 0,o=void 0,i=(o=(t=e).__v).__e,r=[],_=[],t.__P&&((n=E({},o)).__v=o.__v+1,h.vnode&&h.vnode(n),ht(t.__P,n,o,t.__n,t.__P.namespaceURI,32&o.__u?[i]:null,r,i??D(o),!!(32&o.__u),_),n.__v=o.__v,n.__.__k[n.__i]=n,It(r,n,_),o.__e=o.__=null,n.__e!=i&&$t(n)));Q.__r=0}function Mt(e,t,n,o,i,r,_,s,a,f,l){var u,p,c,w,x,S,v,m=o&&o.__k||Dt,T=t.length;for(a=be(n,t,m,a,T),u=0;u0?W(_.type,_.props,_.key,_.ref?_.ref:null,_.__v):_).__=e,_.__b=e.__b+1,s=null,(f=_.__i=we(_,n,a,u))!=-1&&(u--,(s=n[f])&&(s.__u|=2)),s==null||s.__v==null?(f==-1&&(i>l?p--:ia?p--:p++,_.__u|=4))):e.__k[r]=null;if(u)for(r=0;r(l?1:0)){for(i=n-1,r=n+1;i>=0||r=0?i--:r++])!=null&&(2&f.__u)==0&&s==f.key&&a==f.type)return _}return-1}function Ot(e,t,n){t[0]=="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||ge.test(t)?n:n+"px"}function K(e,t,n,o,i){var r,_;t:if(t=="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof o=="string"&&(e.style.cssText=o=""),o)for(t in o)n&&t in n||Ot(e.style,t,"");if(n)for(t in n)o&&n[t]==o[t]||Ot(e.style,t,n[t])}else if(t[0]=="o"&&t[1]=="n")r=t!=(t=t.replace(Ft,"$1")),_=t.toLowerCase(),t=_ in e||t=="onFocusOut"||t=="onFocusIn"?_.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+r]=n,n?o?n.u=o.u:(n.u=lt,e.addEventListener(t,r?ft:st,r)):e.removeEventListener(t,r?ft:st,r);else{if(i=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=n??"";break t}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&n==1?"":n))}}function Lt(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t.t==null)t.t=lt++;else if(t.t0?e:X(e)?e.map(Vt):E({},e)}function Se(e,t,n,o,i,r,_,s,a){var f,l,u,p,c,w,x,S=n.props,v=t.props,m=t.type;if(m=="svg"?i="http://www.w3.org/2000/svg":m=="math"?i="http://www.w3.org/1998/Math/MathML":i||(i="http://www.w3.org/1999/xhtml"),r!=null){for(f=0;f2&&(s.children=arguments.length>3?G.call(arguments,2):n),W(e.type,s,o||e.key,i||e.ref,null)}G=Dt.slice,h={__e:function(e,t,n,o){for(var i,r,_;t=t.__;)if((i=t.__c)&&!i.__)try{if((r=i.constructor)&&r.getDerivedStateFromError!=null&&(i.setState(r.getDerivedStateFromError(e)),_=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(e,o||{}),_=i.__d),_)return i.__E=i}catch(s){e=s}throw e}},Ht=0,ct=function(e){return e!=null&&e.constructor==null},F.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=E({},this.state),typeof e=="function"&&(e=e(E({},n),this.props)),e&&E(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),Pt(this))},F.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Pt(this))},F.prototype.render=k,O=[],Ut=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,jt=function(e,t){return e.__v.__b-t.__v.__b},Q.__r=0,Ft=/(PointerCapture)$|Capture$/i,lt=0,st=Lt(!1),ft=Lt(!0),ye=0;function Y(){return Y=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(i[n]=e[n]);return i}var xe=["context","children"],Ce=["useFragment"];function yt(e,t,n,o){function i(){var r=Reflect.construct(HTMLElement,[],i);return r._vdomComponent=e,r._root=o&&o.shadow?r.attachShadow({mode:o.mode||"open"}):r,o&&o.adoptedStyleSheets&&(r._root.adoptedStyleSheets=o.adoptedStyleSheets),r}return(i.prototype=Object.create(HTMLElement.prototype)).constructor=i,i.prototype.connectedCallback=function(){Ae.call(this,o)},i.prototype.attributeChangedCallback=Te,i.prototype.disconnectedCallback=Ne,n=n||e.observedAttributes||Object.keys(e.propTypes||{}),i.observedAttributes=n,e.formAssociated&&(i.formAssociated=!0),n.forEach(function(r){Object.defineProperty(i.prototype,r,{get:function(){return this._vdom?this._vdom.props[r]:this._props[r]},set:function(_){this._vdom?this.attributeChangedCallback(r,null,_):(this._props||(this._props={}),this._props[r]=_);var s=typeof _;_!=null&&s!=="string"&&s!=="boolean"&&s!=="number"||this.setAttribute(r,_)}})}),customElements.define(t||e.tagName||e.displayName||e.name,i),i}function Ee(e){this.getChildContext=function(){return e.context};var t=e.children,n=Gt(e,xe);return mt(t,n)}function Ae(e){var t=new CustomEvent("_preact",{detail:{},bubbles:!0,cancelable:!0});this.dispatchEvent(t),this._vdom=L(Ee,Y({},this._props,{context:t.detail.context}),zt(this,this._vdomComponent,e)),(this.hasAttribute("hydrate")?vt:B)(this._vdom,this._root)}function Bt(e){return e.replace(/-(\w)/g,function(t,n){return n?n.toUpperCase():""})}function Te(e,t,n){if(this._vdom){var o={};o[e]=n=n??void 0,o[Bt(e)]=n,this._vdom=mt(this._vdom,o),B(this._vdom,this._root)}}function Ne(){B(this._vdom=null,this._root)}function qt(e,t){var n=this,o=e.useFragment,i=Gt(e,Ce);return L(o?k:"slot",Y({},i,{ref:function(r){r?(n.ref=r,n._listener||(n._listener=function(_){_.stopPropagation(),_.detail.context=t},r.addEventListener("_preact",n._listener))):n.ref.removeEventListener("_preact",n._listener)}}))}function zt(e,t,n){if(e.nodeType===3)return e.data;if(e.nodeType!==1)return null;var o=[],i={},r=0,_=e.attributes,s=e.childNodes;for(r=_.length;r--;)_[r].name!=="slot"&&(i[_[r].name]=_[r].value,i[Bt(_[r].name)]=_[r].value);for(r=s.length;r--;){var a=zt(s[r],null,n),f=s[r].slot;f?i[f]=L(qt,{name:f},a):o[r]=a}var l=!(!n||!n.shadow),u=t?L(qt,{useFragment:!l},o):o;return!l&&t&&(e.innerHTML=""),L(t||e.nodeName.toLowerCase(),i,u)}var Pe=0,Be=Array.isArray;function A(e,t,n,o,i,r){t||(t={});var _,s,a=t;if("ref"in a)for(s in a={},t)s=="ref"?_=t[s]:a[s]=t[s];var f={type:e,props:a,key:n,ref:_,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Pe,__i:-1,__u:0,__source:i,__self:r};if(typeof e=="function"&&(_=e.defaultProps))for(s in _)a[s]===void 0&&(a[s]=_[s]);return h.vnode&&h.vnode(f),f}var et,y,gt,Zt,bt=0,ne=[],g=h,Jt=g.__b,Kt=g.__r,Qt=g.diffed,Xt=g.__c,Yt=g.unmount,te=g.__;function oe(e,t){g.__h&&g.__h(y,e,bt||t),bt=0;var n=y.__H||(y.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function re(e){return bt=1,Oe(_e,e)}function Oe(e,t,n){var o=oe(et++,2);if(o.t=e,!o.__c&&(o.__=[n?n(t):_e(void 0,t),function(s){var a=o.__N?o.__N[0]:o.__[0],f=o.t(a,s);a!==f&&(o.__N=[f,o.__[1]],o.__c.setState({}))}],o.__c=y,!y.__f)){var i=function(s,a,f){if(!o.__c.__H)return!0;var l=o.__c.__H.__.filter(function(p){return!!p.__c});if(l.every(function(p){return!p.__N}))return!r||r.call(this,s,a,f);var u=o.__c.props!==s;return l.forEach(function(p){if(p.__N){var c=p.__[0];p.__=p.__N,p.__N=void 0,c!==p.__[0]&&(u=!0)}}),r&&r.call(this,s,a,f)||u};y.__f=!0;var r=y.shouldComponentUpdate,_=y.componentWillUpdate;y.componentWillUpdate=function(s,a,f){if(this.__e){var l=r;r=void 0,i(s,a,f),r=l}_&&_.call(this,s,a,f)},y.shouldComponentUpdate=i}return o.__N||o.__}function ie(e,t){var n=oe(et++,7);return Ue(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Le(){for(var e;e=ne.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(tt),e.__H.__h.forEach(wt),e.__H.__h=[]}catch(t){e.__H.__h=[],g.__e(t,e.__v)}}g.__b=function(e){y=null,Jt&&Jt(e)},g.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),te&&te(e,t)},g.__r=function(e){Kt&&Kt(e),et=0;var t=(y=e.__c).__H;t&&(gt===y?(t.__h=[],y.__h=[],t.__.forEach(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(t.__h.forEach(tt),t.__h.forEach(wt),t.__h=[],et=0)),gt=y},g.diffed=function(e){Qt&&Qt(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(ne.push(t)!==1&&Zt===g.requestAnimationFrame||((Zt=g.requestAnimationFrame)||He)(Le)),t.__H.__.forEach(function(n){n.u&&(n.__H=n.u),n.u=void 0})),gt=y=null},g.__c=function(e,t){t.some(function(n){try{n.__h.forEach(tt),n.__h=n.__h.filter(function(o){return!o.__||wt(o)})}catch(o){t.some(function(i){i.__h&&(i.__h=[])}),t=[],g.__e(o,n.__v)}}),Xt&&Xt(e,t)},g.unmount=function(e){Yt&&Yt(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(o){try{tt(o)}catch(i){t=i}}),n.__H=void 0,t&&g.__e(t,n.__v))};var ee=typeof requestAnimationFrame=="function";function He(e){var t,n=function(){clearTimeout(o),ee&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(n,35);ee&&(t=requestAnimationFrame(n))}function tt(e){var t=y,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),y=t}function wt(e){var t=y;e.__c=e.__(),y=t}function Ue(e,t){return!e||e.length!==t.length||t.some(function(n,o){return n!==e[o]})}function _e(e,t){return typeof t=="function"?t(e):t}var je=Symbol.for("preact-signals");function ot(){if(P>1)P--;else{for(var e,t=!1;z!==void 0;){var n=z;for(z=void 0,St++;n!==void 0;){var o=n.o;if(n.o=void 0,n.f&=-3,!(8&n.f)&&se(n))try{n.c()}catch(i){t||(e=i,t=!0)}n=o}}if(St=0,P--,t)throw e}}function kt(e){if(P>0)return e();P++;try{return e()}finally{ot()}}var d=void 0;function xt(e){var t=d;d=void 0;try{return e()}finally{d=t}}var z=void 0,P=0,St=0,nt=0;function ue(e){if(d!==void 0){var t=e.n;if(t===void 0||t.t!==d)return t={i:0,S:e,p:d.s,n:void 0,t:d,e:void 0,x:void 0,r:t},d.s!==void 0&&(d.s.n=t),d.s=t,e.n=t,32&d.f&&e.S(t),t;if(t.i===-1)return t.i=0,t.n!==void 0&&(t.n.p=t.p,t.p!==void 0&&(t.p.n=t.n),t.p=d.s,t.n=void 0,d.s.n=t,d.s=t),t}}function b(e,t){this.v=e,this.i=0,this.n=void 0,this.t=void 0,this.W=t?.watched,this.Z=t?.unwatched,this.name=t?.name}b.prototype.brand=je;b.prototype.h=function(){return!0};b.prototype.S=function(e){var t=this,n=this.t;n!==e&&e.e===void 0&&(e.x=n,this.t=e,n!==void 0?n.e=e:xt(function(){var o;(o=t.W)==null||o.call(t)}))};b.prototype.U=function(e){var t=this;if(this.t!==void 0){var n=e.e,o=e.x;n!==void 0&&(n.x=o,e.e=void 0),o!==void 0&&(o.e=n,e.x=void 0),e===this.t&&(this.t=o,o===void 0&&xt(function(){var i;(i=t.Z)==null||i.call(t)}))}};b.prototype.subscribe=function(e){var t=this;return U(function(){var n=t.value,o=d;d=void 0;try{e(n)}finally{d=o}},{name:"sub"})};b.prototype.valueOf=function(){return this.value};b.prototype.toString=function(){return this.value+""};b.prototype.toJSON=function(){return this.value};b.prototype.peek=function(){var e=d;d=void 0;try{return this.value}finally{d=e}};Object.defineProperty(b.prototype,"value",{get:function(){var e=ue(this);return e!==void 0&&(e.i=this.i),this.v},set:function(e){if(e!==this.v){if(St>100)throw new Error("Cycle detected");this.v=e,this.i++,nt++,P++;try{for(var t=this.t;t!==void 0;t=t.x)t.t.N()}finally{ot()}}}});function $(e,t){return new b(e,t)}function se(e){for(var t=e.s;t!==void 0;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function fe(e){for(var t=e.s;t!==void 0;t=t.n){var n=t.S.n;if(n!==void 0&&(t.r=n),t.S.n=t,t.i=-1,t.n===void 0){e.s=t;break}}}function ae(e){for(var t=e.s,n=void 0;t!==void 0;){var o=t.p;t.i===-1?(t.S.U(t),o!==void 0&&(o.n=t.n),t.n!==void 0&&(t.n.p=o)):n=t,t.S.n=t.r,t.r!==void 0&&(t.r=void 0),t=o}e.s=n}function H(e,t){b.call(this,void 0),this.x=e,this.s=void 0,this.g=nt-1,this.f=4,this.W=t?.watched,this.Z=t?.unwatched,this.name=t?.name}H.prototype=new b;H.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===nt))return!0;if(this.g=nt,this.f|=1,this.i>0&&!se(this))return this.f&=-2,!0;var e=d;try{fe(this),d=this;var t=this.x();(16&this.f||this.v!==t||this.i===0)&&(this.v=t,this.f&=-17,this.i++)}catch(n){this.v=n,this.f|=16,this.i++}return d=e,ae(this),this.f&=-2,!0};H.prototype.S=function(e){if(this.t===void 0){this.f|=36;for(var t=this.s;t!==void 0;t=t.n)t.S.S(t)}b.prototype.S.call(this,e)};H.prototype.U=function(e){if(this.t!==void 0&&(b.prototype.U.call(this,e),this.t===void 0)){this.f&=-33;for(var t=this.s;t!==void 0;t=t.n)t.S.U(t)}};H.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var e=this.t;e!==void 0;e=e.x)e.t.N()}};Object.defineProperty(H.prototype,"value",{get:function(){if(1&this.f)throw new Error("Cycle detected");var e=ue(this);if(this.h(),e!==void 0&&(e.i=this.i),16&this.f)throw this.v;return this.v}});function rt(e,t){return new H(e,t)}function ce(e){var t=e.u;if(e.u=void 0,typeof t=="function"){P++;var n=d;d=void 0;try{t()}catch(o){throw e.f&=-2,e.f|=8,Ct(e),o}finally{d=n,ot()}}}function Ct(e){for(var t=e.s;t!==void 0;t=t.n)t.S.U(t);e.x=void 0,e.s=void 0,ce(e)}function Fe(e){if(d!==this)throw new Error("Out-of-order effect");ae(this),d=e,this.f&=-2,8&this.f&&Ct(this),ot()}function M(e,t){this.x=e,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32,this.name=t?.name}M.prototype.c=function(){var e=this.S();try{if(8&this.f||this.x===void 0)return;var t=this.x();typeof t=="function"&&(this.u=t)}finally{e()}};M.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,ce(this),fe(this),P++;var e=d;return d=this,Fe.bind(this,e)};M.prototype.N=function(){2&this.f||(this.f|=2,this.o=z,z=this)};M.prototype.d=function(){this.f|=8,1&this.f||Ct(this)};M.prototype.dispose=function(){this.d()};function U(e,t){var n=new M(e,t);try{n.c()}catch(i){throw n.d(),i}var o=n.d.bind(n);return o[Symbol.dispose]=o,o}var le,At,Et;var pe=[];U(function(){le=this.N})();function R(e,t){h[e]=t.bind(null,h[e]||function(){})}function it(e){Et&&Et(),Et=e&&e.S()}function he(e){var t=this,n=e.data,o=$e(n);o.value=n;var i=ie(function(){for(var s=t,a=t.__v;a=a.__;)if(a.__c){a.__c.__$f|=4;break}var f=rt(function(){var c=o.value.value;return c===0?0:c===!0?"":c||""}),l=rt(function(){return!Array.isArray(f.value)&&!ct(f.value)}),u=U(function(){if(this.N=de,l.value){var c=f.value;s.__v&&s.__v.__e&&s.__v.__e.nodeType===3&&(s.__v.__e.data=c)}}),p=t.__$u.d;return t.__$u.d=function(){u(),p.call(this)},[l,f]},[]),r=i[0],_=i[1];return r.value?_.peek():_.value}he.displayName="ReactiveTextNode";Object.defineProperties(b.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:he},props:{configurable:!0,get:function(){return{data:this}}},__b:{configurable:!0,value:1}});R("__b",function(e,t){if(typeof t.type=="function"&&typeof window<"u"&&window.__PREACT_SIGNALS_DEVTOOLS__&&window.__PREACT_SIGNALS_DEVTOOLS__.exitComponent(),typeof t.type=="string"){var n,o=t.props;for(var i in o)if(i!=="children"){var r=o[i];r instanceof b&&(n||(t.__np=n={}),n[i]=r,o[i]=r.peek())}}e(t)});R("__r",function(e,t){if(typeof t.type=="function"&&typeof window<"u"&&window.__PREACT_SIGNALS_DEVTOOLS__&&window.__PREACT_SIGNALS_DEVTOOLS__.enterComponent(t.type.displayName||t.type.name||"Unknown"),t.type!==k){it();var n,o=t.__c;o&&(o.__$f&=-2,(n=o.__$u)===void 0&&(o.__$u=n=function(i){var r;return U(function(){r=this}),r.c=function(){o.__$f|=1,o.setState({})},r}())),At=o,it(n)}e(t)});R("__e",function(e,t,n,o){typeof window<"u"&&window.__PREACT_SIGNALS_DEVTOOLS__&&window.__PREACT_SIGNALS_DEVTOOLS__.exitComponent(),it(),At=void 0,e(t,n,o)});R("diffed",function(e,t){typeof t.type=="function"&&typeof window<"u"&&window.__PREACT_SIGNALS_DEVTOOLS__&&window.__PREACT_SIGNALS_DEVTOOLS__.exitComponent(),it(),At=void 0;var n;if(typeof t.type=="string"&&(n=t.__e)){var o=t.__np,i=t.props;if(o){var r=n.U;if(r)for(var _ in r){var s=r[_];s!==void 0&&!(_ in o)&&(s.d(),r[_]=void 0)}else r={},n.U=r;for(var a in o){var f=r[a],l=o[a];f===void 0?(f=De(n,a,l,i),r[a]=f):f.o(l,i)}}}e(t)});function De(e,t,n,o){var i=t in e&&e.ownerSVGElement===void 0,r=$(n);return{o:function(_,s){r.value=_,o=s},d:U(function(){this.N=de;var _=r.value.value;o[t]!==_&&(o[t]=_,i?e[t]=_:_?e.setAttribute(t,_):e.removeAttribute(t))})}}R("unmount",function(e,t){if(typeof t.type=="string"){var n=t.__e;if(n){var o=n.U;if(o){n.U=void 0;for(var i in o){var r=o[i];r&&r.d()}}}}else{var _=t.__c;if(_){var s=_.__$u;s&&(_.__$u=void 0,s.d())}}e(t)});R("__h",function(e,t,n,o){(o<3||o===9)&&(t.__$f|=2),e(t,n,o)});F.prototype.shouldComponentUpdate=function(e,t){var n=this.__$u,o=n&&n.s!==void 0;for(var i in t)return!0;if(this.__f||typeof this.u=="boolean"&&this.u===!0){var r=2&this.__$f;if(!(o||r||4&this.__$f)||1&this.__$f)return!0}else if(!(o||4&this.__$f)||3&this.__$f)return!0;for(var _ in e)if(_!=="__source"&&e[_]!==this.props[_])return!0;for(var s in this.props)if(!(s in e))return!0;return!1};function $e(e,t){return re(function(){return $(e,t)})[0]}var Me=function(e){queueMicrotask(function(){queueMicrotask(e)})};function Re(){kt(function(){for(var e;e=pe.shift();)le.call(e)})}function de(){pe.push(this)===1&&(h.requestAnimationFrame||Me)(Re)}var _t=$(0);function ve({children:e="Increment"}){return A(k,{children:[A("link",{rel:"stylesheet",href:"/components/button.css"}),A("button",{type:"button",onClick:()=>{_t.value++},children:e})]})}function me(){return A(k,{children:[A("link",{rel:"stylesheet",href:"/components/counter.css"}),A("div",{children:_t})]})}function Ie(){yt(me,"element-counter",[],{shadow:!0,mode:"open"}),yt(ve,"element-button",[],{shadow:!0,mode:"open"})}document.addEventListener("DOMContentLoaded",Ie); diff --git a/templates/button.css b/components/button.css similarity index 86% rename from templates/button.css rename to components/button.css index a4a5ea5..859b16a 100644 --- a/templates/button.css +++ b/components/button.css @@ -9,7 +9,4 @@ button { font-size: 16px; margin: 4px 2px; cursor: pointer; -} -body{ - background-color: #b02fc7; } \ No newline at end of file diff --git a/components/button.tsx b/components/button.tsx index 769142e..77d667f 100644 --- a/components/button.tsx +++ b/components/button.tsx @@ -1,16 +1,23 @@ /** @jsxImportSource preact */ -import type { JSX } from "preact"; +import type { ComponentChildren } from "preact"; +import { count } from "#signals/counter"; function Button( - { onClick, children = "Click Me !" }: { - onClick?: JSX.MouseEventHandler | undefined; - children?: JSX.Element | string; + { children = "Increment" }: { + children?: ComponentChildren; }, ) { + const handleClick = () => { + count.value++; + }; + return ( - + <> + + + ); } diff --git a/components/button2.tsx b/components/button2.tsx deleted file mode 100644 index 66a34f9..0000000 --- a/components/button2.tsx +++ /dev/null @@ -1,20 +0,0 @@ -/** @jsxImportSource preact */ -import type { JSX } from "preact"; - -function Button2( - { onClick, children = "Click Me !" }: { - onClick?: JSX.MouseEventHandler | undefined; - children?: JSX.Element | string; - }, -) { - return ( - <> - - - - ); -} - -export { Button2 }; diff --git a/components/counter.css b/components/counter.css index 53dfe59..320348f 100644 --- a/components/counter.css +++ b/components/counter.css @@ -1,4 +1,4 @@ -element-counter2 { +div { display: block; font-family: system-ui, sans-serif; border: 2px solid #ccc; @@ -7,4 +7,5 @@ element-counter2 { margin: 16px 0; text-align: center; background-color: #f9f9f9; + font-size: xx-large; } \ No newline at end of file diff --git a/components/counter.tsx b/components/counter.tsx index a291780..d32ac2b 100644 --- a/components/counter.tsx +++ b/components/counter.tsx @@ -1,10 +1,14 @@ /** @jsxImportSource preact */ import { count } from "#signals/counter"; + function Counter() { return ( -
- {count} -
+ <> + +
+ {count} +
+ ); } diff --git a/components/counter2.tsx b/components/counter2.tsx deleted file mode 100644 index 9aae8d6..0000000 --- a/components/counter2.tsx +++ /dev/null @@ -1,11 +0,0 @@ -/** @jsxImportSource preact */ -import { count } from "#signals/counter"; -function Counter2({emoji = "⚛️"}: {emoji?: string}) { - return ( -
- Counter: {count} {emoji} -
- ); -} - -export { Counter2 }; diff --git a/components/document.tsx b/components/document.tsx new file mode 100644 index 0000000..df6d6a2 --- /dev/null +++ b/components/document.tsx @@ -0,0 +1,52 @@ +/** @jsxImportSource preact */ + +import { Button } from "#components/button"; +import { Counter } from "#components/counter"; + +function Document() { + return ( + + + + + Elements + + + + + + + + +
+ +
+
+

Preact Web Components Study

+ +
event.preventDefault()}> +
+ Counter Form +

+ Current count: + + +

+ Add +
+
+
+ + + ) +} + +export { Document } \ No newline at end of file diff --git a/components/dsd-button.tsx b/components/dsd-button.tsx deleted file mode 100644 index 6c17bae..0000000 --- a/components/dsd-button.tsx +++ /dev/null @@ -1,16 +0,0 @@ -/** @jsxImportSource preact */ -import { TemplateButton } from "#template-button"; -function DSDButton( - { label }: { - label: string; - }, -) { - return ( - - - {label} - - ); -} - -export { DSDButton }; diff --git a/components/dsd-counter.tsx b/components/dsd-counter.tsx deleted file mode 100644 index 9bbcb5d..0000000 --- a/components/dsd-counter.tsx +++ /dev/null @@ -1,11 +0,0 @@ -/** @jsxImportSource preact */ -import { TemplateCounter } from "#template-counter"; -function DSDCounter() { - return ( - - - - ); -} - -export { DSDCounter }; diff --git a/components/home.tsx b/components/home.tsx deleted file mode 100644 index 4d1d796..0000000 --- a/components/home.tsx +++ /dev/null @@ -1,96 +0,0 @@ -/** @jsxImportSource preact */ -import browserImportMap from "../importmap.json" with { type: "json" }; -import { TemplateCounter } from "#template-counter"; -import { TemplateButton } from "#template-button"; -import { Button } from "#button"; -import { count } from "#signals/counter"; -import { DSDCounter } from "#components/dsd-counter"; -import { DSDButton } from "#components/dsd-button"; -import { Button2 } from "#components/button2"; - -function Home() { - return ( - - - - - - DSD - - - - -
- -
-
-

Declarative Shadow DOM study

- -
-

Button Element

- -
- -
-

Button Component

- -
- -
-

Button Custom Element

- {count} - Count -
- -
-

Button Custom Element (Preact)

- {count} - Count -
- -
-

Button Component with Declarative Shadow DOM (Preact)

- - -
- -
-

Preact register

- {count} - - - Count 2 - - - Count 3 - - - Count 4 - -
-
- - - ) -} - -export { Home } \ No newline at end of file diff --git a/deno.json b/deno.json index 8f166b0..741595f 100644 --- a/deno.json +++ b/deno.json @@ -5,6 +5,7 @@ "dev": "deno serve --allow-read --watch main.tsx", "serve": "deno serve --allow-read main.tsx", "build": "deno run -A functions/dnt.ts", + "bundle": "deno run -A --unstable-bundle functions/deno-bundle.ts", "ssg": "deno run --allow-read --allow-write --allow-env --allow-net functions/ssg.ts" }, "exports": { @@ -13,22 +14,15 @@ "imports": { "@deno/dnt": "jsr:@deno/dnt", "@preact/signals": "npm:@preact/signals", - "#button": "./components/button.tsx", - "#components/button2": "./components/button2.tsx", - "#components/counter2": "./components/counter2.tsx", + "@std/fs": "jsr:@std/fs@^1.0.19", + "#components/button.css": "./components/button.css", + "#components/button": "./components/button.tsx", "#components/counter.css": "./components/counter.css", - "#components/dsd-button": "./components/dsd-button.tsx", - "#components/dsd-counter": "./components/dsd-counter.tsx", - "#counter": "./components/counter.tsx", - "#elements/button-preact": "./elements/button-preact.tsx", - "#elements/button": "./elements/button.ts", - "#elements/counter-preact": "./elements/counter-preact.tsx", - "#elements/counter": "./elements/counter.ts", - "#home": "./components/home.tsx", + "#components/counter": "./components/counter.tsx", + "#document": "./components/document.tsx", "#wrangler-config": "./functions/wrangler.ts", "#signals/counter": "./signals/counter.ts", - "#template-button": "./templates/template-button.tsx", - "#template-counter": "./templates/template-counter.tsx", + "@std/http": "jsr:@std/http@^1.0.20", "eszip": "https://deno.land/x/eszip@v0.99.0/mod.ts", "preact-render-to-string": "npm:preact-render-to-string", "preact-custom-element": "npm:preact-custom-element", diff --git a/dom/main.ts b/dom/main.ts index 7efbb05..ec21526 100644 --- a/dom/main.ts +++ b/dom/main.ts @@ -1,19 +1,10 @@ import register from 'preact-custom-element'; -import { CounterPreact } from "#elements/counter-preact"; -import { ButtonPreact } from "#elements/button-preact"; -import { Button2 } from "#components/button2"; -import { Counter2 } from "#components/counter2"; -import { Counter } from "#elements/counter"; -import { Button } from "#elements/button"; - +import { Button } from "#components/button"; +import { Counter } from "#components/counter"; function main() { - customElements.define("dsd-counter-preact", CounterPreact); - customElements.define("dsd-button-preact", ButtonPreact); - register(Counter2, 'element-counter2', [], { shadow: true, mode: 'open', adoptedStyleSheets: [counterStyle] }); - register(Button2, 'element-button2', [], { shadow: true, mode: 'open', adoptedStyleSheets: [] }); - customElements.define("element-counter", Counter); - customElements.define("element-button", Button); + register(Counter, 'element-counter', [], { shadow: true, mode: 'open' }); + register(Button, 'element-button', [], { shadow: true, mode: 'open' }); } -document.addEventListener("DOMContentLoaded", main) \ No newline at end of file +document.addEventListener("DOMContentLoaded", main); \ No newline at end of file diff --git a/elements.html b/elements.html deleted file mode 100644 index acc8cd0..0000000 --- a/elements.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - Elements: Isomorphic Web Components with Declarative Shadow DOM - - - - - - - - - - -
-

Elements: Isomorphic Web Components with Declarative Shadow DOM

-
-

Button Component with Declarative Shadow DOM

-
- count - Count - Count -
-
- -
- - - \ No newline at end of file diff --git a/elements/button-preact.tsx b/elements/button-preact.tsx deleted file mode 100644 index cd13b31..0000000 --- a/elements/button-preact.tsx +++ /dev/null @@ -1,51 +0,0 @@ -/** @jsxImportSource preact */ -import { hydrate, render } from "preact"; -import { Button } from "#button"; -import { count } from "#signals/counter"; -class ButtonPreact extends HTMLElement { - static observedAttributes = []; // Add attribute names if needed - - private shadow: ShadowRoot | null = null; - private internals?: ElementInternals; - - constructor() { - super(); - if ("attachInternals" in this) { - this.internals = this.attachInternals(); - } - } - - private handleClick() { - count.value++; - } - - connectedCallback() { - this.shadow = this.internals?.shadowRoot || this.shadowRoot; - if (!this.shadow) { - this.shadow = this.attachShadow({ mode: "open", serializable: true }); - render( - <> - -

Button Component

Button Custom Element

0Count

Button Custom Element (Preact)

0Count

Button Component with Declarative Shadow DOM (Preact)

Count
\ No newline at end of file + + + + + + Elements + + + + + + + +
+ +
+
+

Web Components Study

+
+ + + + diff --git a/main.tsx b/main.tsx index 18f9ab5..07e7d9f 100644 --- a/main.tsx +++ b/main.tsx @@ -1,102 +1,60 @@ /** @jsxImportSource preact */ -import { renderToStringAsync } from "preact-render-to-string"; -import { serveFile } from "jsr:@std/http/file-server"; -import { Home } from "#home"; - -declare module 'preact/jsx-runtime' { - namespace JSX { - interface IntrinsicElements { - 'element-counter': HTMLAttributes; - 'element-button': HTMLAttributes; - 'dsd-counter-preact': HTMLAttributes; - 'dsd-button-preact': HTMLAttributes; - 'element-button2': HTMLAttributes & { hydrate?: boolean }; - 'element-counter2': HTMLAttributes; - } - } -} +import { renderToReadableStream } from "preact-render-to-string/stream"; +import { serveFile } from "@std/http/file-server"; +import { Document } from "#document"; const routes = [ { - pattern: new URLPattern({ pathname: "/elements" }), - file: "elements.html", - }, - { - pattern: new URLPattern({ pathname: "/esm/_dnt.polyfills.js" }), - file: "package/esm/_dnt.polyfills.js", - }, - { - pattern: new URLPattern({ pathname: "/esm/dom/main.js" }), - file: "package/esm/dom/main.js", - }, - { - pattern: new URLPattern({ pathname: "/esm/signals/counter.js" }), - file: "package/esm/signals/counter.js", - }, - { - pattern: new URLPattern({ pathname: "/esm/components/button2.js" }), - file: "package/esm/components/button2.js", + pattern: new URLPattern({ pathname: "/" }), + file: "index.html", }, { - pattern: new URLPattern({ pathname: "/esm/components/counter.js" }), - file: "package/esm/components/counter.js", + pattern: new URLPattern({ pathname: "/standard-web-components" }), + file: "standard-web-components.html", }, { - pattern: new URLPattern({ pathname: "/esm/components/counter2.js" }), - file: "package/esm/components/counter2.js", + pattern: new URLPattern({ pathname: "/favicon.ico" }), + file: "images/favicon/favicon.ico", }, { - pattern: new URLPattern({ pathname: "/esm/dom/button2.css" }), - file: "package/esm/dom/button2.css", + pattern: new URLPattern({ pathname: "/favicon.svg" }), + file: "images/favicon/favicon.svg", }, { - pattern: new URLPattern({ pathname: "/esm/dom/counter2.css" }), - file: "package/esm/dom/counter2.css", + pattern: new URLPattern({ pathname: "/favicon-96x96.png" }), + file: "images/favicon/favicon-96x96.png", }, { - pattern: new URLPattern({ pathname: "/templates/template-button.js" }), - file: "package/esm/templates/template-button.js", + pattern: new URLPattern({ pathname: "/site.webmanifest" }), + file: "images/favicon/site.webmanifest", }, { - pattern: new URLPattern({ pathname: "/templates/button.css" }), - file: "templates/button.css", + pattern: new URLPattern({ pathname: "/dom/main.js" }), + file: "build/main.js", }, { - pattern: new URLPattern({ pathname: "/esm/components/button.js" }), - file: "package/esm/components/button.js", + pattern: new URLPattern({ pathname: "/components/button.css" }), + file: "components/button.css", }, { - pattern: new URLPattern({ pathname: "/templates/counter.css" }), - file: "templates/counter.css", - }, - { - pattern: new URLPattern({ pathname: "/esm/elements/counter.js" }), - file: "package/esm/elements/counter.js", - }, - { - pattern: new URLPattern({ pathname: "/esm/elements/button.js" }), - file: "package/esm/elements/button.js", - }, - { - pattern: new URLPattern({ pathname: "/esm/elements/counter-preact.js" }), - file: "package/esm/elements/counter-preact.js", - }, - { - pattern: new URLPattern({ pathname: "/esm/elements/button-preact.js" }), - file: "package/esm/elements/button-preact.js", + pattern: new URLPattern({ pathname: "/components/counter.css" }), + file: "components/counter.css", }, ]; -async function documentHome() { - const html = await renderToStringAsync( - - ); - - return `${html}`; +function document(): ReadableStream { + const stream = renderToReadableStream(); + const encoder = new TextEncoder(); + + return stream.pipeThrough(new TransformStream({ + start(controller) { + controller.enqueue(encoder.encode("")); + } + })); } export default { - async fetch(request: Request) { + fetch(request: Request) { const { pathname } = new URL(request.url); for (const route of routes) { @@ -105,27 +63,13 @@ export default { } } - if (pathname === "/favicon.ico") { - return new Response( - "Favicon not found", - { - status: 404, - headers: { - "content-type": "text/plain;charset=UTF-8", - }, - }, - ); - } - const document = await documentHome(); - return new Response( - document, - { - headers: { - "content-type": "text/html;charset=UTF-8", - }, + const stream = document(); + return new Response(stream, { + headers: { + "content-type": "text/html;charset=UTF-8", }, - ); + }); }, }; -export { documentHome } \ No newline at end of file +export { document } \ No newline at end of file diff --git a/package/esm/_dnt.shims.d.ts b/package/esm/_dnt.shims.d.ts deleted file mode 100644 index 39a40c0..0000000 --- a/package/esm/_dnt.shims.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Deno } from "@deno/shim-deno"; -export { Deno } from "@deno/shim-deno"; -export declare const dntGlobalThis: Omit & { - Deno: typeof Deno; -}; -//# sourceMappingURL=_dnt.shims.d.ts.map \ No newline at end of file diff --git a/package/esm/_dnt.shims.d.ts.map b/package/esm/_dnt.shims.d.ts.map deleted file mode 100644 index 5d4283a..0000000 --- a/package/esm/_dnt.shims.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"_dnt.shims.d.ts","sourceRoot":"","sources":["../src/_dnt.shims.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAKvC,eAAO,MAAM,aAAa;;CAA2C,CAAC"} \ No newline at end of file diff --git a/package/esm/_dnt.shims.js b/package/esm/_dnt.shims.js deleted file mode 100644 index aacb619..0000000 --- a/package/esm/_dnt.shims.js +++ /dev/null @@ -1,61 +0,0 @@ -import { Deno } from "@deno/shim-deno"; -export { Deno } from "@deno/shim-deno"; -const dntGlobals = { - Deno, -}; -export const dntGlobalThis = createMergeProxy(globalThis, dntGlobals); -function createMergeProxy(baseObj, extObj) { - return new Proxy(baseObj, { - get(_target, prop, _receiver) { - if (prop in extObj) { - return extObj[prop]; - } - else { - return baseObj[prop]; - } - }, - set(_target, prop, value) { - if (prop in extObj) { - delete extObj[prop]; - } - baseObj[prop] = value; - return true; - }, - deleteProperty(_target, prop) { - let success = false; - if (prop in extObj) { - delete extObj[prop]; - success = true; - } - if (prop in baseObj) { - delete baseObj[prop]; - success = true; - } - return success; - }, - ownKeys(_target) { - const baseKeys = Reflect.ownKeys(baseObj); - const extKeys = Reflect.ownKeys(extObj); - const extKeysSet = new Set(extKeys); - return [...baseKeys.filter((k) => !extKeysSet.has(k)), ...extKeys]; - }, - defineProperty(_target, prop, desc) { - if (prop in extObj) { - delete extObj[prop]; - } - Reflect.defineProperty(baseObj, prop, desc); - return true; - }, - getOwnPropertyDescriptor(_target, prop) { - if (prop in extObj) { - return Reflect.getOwnPropertyDescriptor(extObj, prop); - } - else { - return Reflect.getOwnPropertyDescriptor(baseObj, prop); - } - }, - has(_target, prop) { - return prop in extObj || prop in baseObj; - }, - }); -} diff --git a/package/esm/components/button.d.ts b/package/esm/components/button.d.ts index 4cddf3e..2cfaca1 100644 --- a/package/esm/components/button.d.ts +++ b/package/esm/components/button.d.ts @@ -1,8 +1,8 @@ /** @jsxImportSource preact */ -import type { JSX } from "preact"; +import type { ComponentChildren } from "preact"; declare function Button({ onClick, children }: { - onClick?: JSX.MouseEventHandler | undefined; - children?: JSX.Element | string; -}): JSX.Element; + onClick?: (event: MouseEvent) => void; + children?: ComponentChildren; +}): import("preact").JSX.Element; export { Button }; //# sourceMappingURL=button.d.ts.map \ No newline at end of file diff --git a/package/esm/components/button.d.ts.map b/package/esm/components/button.d.ts.map index 4e760a7..d6526ec 100644 --- a/package/esm/components/button.d.ts.map +++ b/package/esm/components/button.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/components/button.tsx"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAElC,iBAAS,MAAM,CACb,EAAE,OAAO,EAAE,QAAuB,EAAE,EAAE;IACpC,OAAO,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;CACjC,eAOF;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/components/button.tsx"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEhD,iBAAS,MAAM,CACb,EAAE,OAAO,EAAE,QAAuB,EAAE,EAAE;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B,gCAUF;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"} \ No newline at end of file diff --git a/package/esm/components/button.js b/package/esm/components/button.js index 9400dbc..3caf870 100644 --- a/package/esm/components/button.js +++ b/package/esm/components/button.js @@ -1,5 +1,5 @@ -import { jsx as _jsx } from "preact/jsx-runtime"; +import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "preact/jsx-runtime"; function Button({ onClick, children = "Click Me !" }) { - return (_jsx("button", { type: "button", onClick: onClick, children: _jsx("slot", { children: children }) })); + return (_jsxs(_Fragment, { children: [_jsx("link", { rel: "stylesheet", href: "/components/button.css" }), _jsx("button", { type: "button", onClick: onClick, children: children })] })); } export { Button }; diff --git a/package/esm/components/button2.d.ts b/package/esm/components/button2.d.ts deleted file mode 100644 index 2df3129..0000000 --- a/package/esm/components/button2.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** @jsxImportSource preact */ -import type { JSX } from "preact"; -declare function Button2({ onClick, children }: { - onClick?: JSX.MouseEventHandler | undefined; - children?: JSX.Element | string; -}): JSX.Element; -export { Button2 }; -//# sourceMappingURL=button2.d.ts.map \ No newline at end of file diff --git a/package/esm/components/button2.d.ts.map b/package/esm/components/button2.d.ts.map deleted file mode 100644 index f9cd2a1..0000000 --- a/package/esm/components/button2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"button2.d.ts","sourceRoot":"","sources":["../../src/components/button2.tsx"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAElC,iBAAS,OAAO,CACd,EAAE,OAAO,EAAE,QAAuB,EAAE,EAAE;IACpC,OAAO,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;CACjC,eAUF;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"} \ No newline at end of file diff --git a/package/esm/components/button2.js b/package/esm/components/button2.js deleted file mode 100644 index 30d92c1..0000000 --- a/package/esm/components/button2.js +++ /dev/null @@ -1,5 +0,0 @@ -import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "preact/jsx-runtime"; -function Button2({ onClick, children = "Click Me !" }) { - return (_jsxs(_Fragment, { children: [_jsx("link", { rel: "stylesheet", href: "/esm/dom/button2.css" }), _jsx("button", { type: "button", onClick: onClick, children: children })] })); -} -export { Button2 }; diff --git a/package/esm/components/counter.d.ts.map b/package/esm/components/counter.d.ts.map index dbac8f2..275c777 100644 --- a/package/esm/components/counter.d.ts.map +++ b/package/esm/components/counter.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"counter.d.ts","sourceRoot":"","sources":["../../src/components/counter.tsx"],"names":[],"mappings":"AAEA,iBAAS,OAAO,iCAMf;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"counter.d.ts","sourceRoot":"","sources":["../../src/components/counter.tsx"],"names":[],"mappings":"AAGA,iBAAS,OAAO,iCASf;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"} \ No newline at end of file diff --git a/package/esm/components/counter.js b/package/esm/components/counter.js index 0c13a8b..b010af7 100644 --- a/package/esm/components/counter.js +++ b/package/esm/components/counter.js @@ -1,7 +1,7 @@ -import { jsx as _jsx } from "preact/jsx-runtime"; +import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "preact/jsx-runtime"; /** @jsxImportSource preact */ import { count } from "../signals/counter.js"; function Counter() { - return (_jsx("div", { children: count })); + return (_jsxs(_Fragment, { children: [_jsx("link", { rel: "stylesheet", href: "/components/counter.css" }), _jsx("div", { children: count })] })); } export { Counter }; diff --git a/package/esm/components/counter2.d.ts b/package/esm/components/counter2.d.ts deleted file mode 100644 index 03dd5cb..0000000 --- a/package/esm/components/counter2.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -declare function Counter2({ emoji }: { - emoji?: string; -}): import("preact").JSX.Element; -export { Counter2 }; -//# sourceMappingURL=counter2.d.ts.map \ No newline at end of file diff --git a/package/esm/components/counter2.d.ts.map b/package/esm/components/counter2.d.ts.map deleted file mode 100644 index 50604f0..0000000 --- a/package/esm/components/counter2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"counter2.d.ts","sourceRoot":"","sources":["../../src/components/counter2.tsx"],"names":[],"mappings":"AAEA,iBAAS,QAAQ,CAAC,EAAC,KAAY,EAAC,EAAE;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,gCAMjD;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"} \ No newline at end of file diff --git a/package/esm/components/counter2.js b/package/esm/components/counter2.js deleted file mode 100644 index 7847531..0000000 --- a/package/esm/components/counter2.js +++ /dev/null @@ -1,7 +0,0 @@ -import { jsxs as _jsxs, jsx as _jsx } from "preact/jsx-runtime"; -/** @jsxImportSource preact */ -import { count } from "../signals/counter.js"; -function Counter2({ emoji = "⚛️" }) { - return (_jsxs("div", { class: "counter", children: [_jsxs("span", { children: ["Counter: ", count] }), " ", _jsx("span", { class: "emoji", children: emoji })] })); -} -export { Counter2 }; diff --git a/package/esm/components/document.d.ts b/package/esm/components/document.d.ts new file mode 100644 index 0000000..bed884a --- /dev/null +++ b/package/esm/components/document.d.ts @@ -0,0 +1,4 @@ +/** @jsxImportSource preact */ +declare function Document(): import("preact").JSX.Element; +export { Document }; +//# sourceMappingURL=document.d.ts.map \ No newline at end of file diff --git a/package/esm/components/document.d.ts.map b/package/esm/components/document.d.ts.map new file mode 100644 index 0000000..3cf9c1f --- /dev/null +++ b/package/esm/components/document.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/components/document.tsx"],"names":[],"mappings":"AAAA,8BAA8B;AAK9B,iBAAS,QAAQ,iCA4ChB;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"} \ No newline at end of file diff --git a/package/esm/components/document.js b/package/esm/components/document.js new file mode 100644 index 0000000..a0701d5 --- /dev/null +++ b/package/esm/components/document.js @@ -0,0 +1,8 @@ +import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime"; +/** @jsxImportSource preact */ +import { Button } from "./button.js"; +import { Counter } from "./counter.js"; +function Document() { + return (_jsxs("html", { lang: "en", children: [_jsxs("head", { children: [_jsx("meta", { charset: "UTF-8" }), _jsx("meta", { name: "viewport", content: "width=device-width, initial-scale=1.0" }), _jsx("title", { children: "Elements" }), _jsx("link", { rel: "icon", type: "image/png", href: "/favicon-96x96.png", sizes: "96x96" }), _jsx("link", { rel: "icon", type: "image/svg+xml", href: "/favicon.svg" }), _jsx("link", { rel: "shortcut icon", href: "/favicon.ico" }), _jsx("link", { rel: "apple-touch-icon", sizes: "180x180", href: "/apple-touch-icon.png" }), _jsx("link", { rel: "manifest", href: "/site.webmanifest" }), _jsx("script", { type: "module", src: "/dom/main.js" })] }), _jsxs("body", { children: [_jsx("header", { children: _jsx("nav", { children: _jsxs("ul", { children: [_jsx("li", { children: _jsx("a", { href: "/", children: "Home" }) }), _jsx("li", { children: _jsx("a", { href: "/standard-web-components", children: "Standard Web Components" }) })] }) }) }), _jsxs("main", { children: [_jsx("h1", { children: "Preact Web Components Study" }), _jsx("form", { onSubmit: (event) => event.preventDefault(), children: _jsxs("fieldset", { children: [_jsx("legend", { children: "Counter Form" }), _jsxs("p", { children: ["Current count: ", _jsx("element-counter", { "initial-count": 0, children: _jsx("template", { shadowrootmode: "open", children: _jsx(Counter, {}) }) })] }), _jsxs("element-button", { children: [_jsx("template", { shadowrootmode: "open", children: _jsx(Button, { children: "Increment" }) }), "Add"] })] }) })] })] })] })); +} +export { Document }; diff --git a/package/esm/components/dsd-button.d.ts b/package/esm/components/dsd-button.d.ts deleted file mode 100644 index c9f37aa..0000000 --- a/package/esm/components/dsd-button.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -declare function DSDButton({ label }: { - label: string; -}): import("preact").JSX.Element; -export { DSDButton }; -//# sourceMappingURL=dsd-button.d.ts.map \ No newline at end of file diff --git a/package/esm/components/dsd-button.d.ts.map b/package/esm/components/dsd-button.d.ts.map deleted file mode 100644 index 437f13c..0000000 --- a/package/esm/components/dsd-button.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"dsd-button.d.ts","sourceRoot":"","sources":["../../src/components/dsd-button.tsx"],"names":[],"mappings":"AAEA,iBAAS,SAAS,CAChB,EAAE,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,MAAM,CAAC;CACf,gCAQF;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"} \ No newline at end of file diff --git a/package/esm/components/dsd-button.js b/package/esm/components/dsd-button.js deleted file mode 100644 index 7d18941..0000000 --- a/package/esm/components/dsd-button.js +++ /dev/null @@ -1,7 +0,0 @@ -import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime"; -/** @jsxImportSource preact */ -import { TemplateButton } from "../templates/template-button.js"; -function DSDButton({ label }) { - return (_jsxs("dsd-button-preact", { children: [_jsx(TemplateButton, { shadowrootmode: "open", shadowrootserializable: true }), label] })); -} -export { DSDButton }; diff --git a/package/esm/components/dsd-counter.d.ts b/package/esm/components/dsd-counter.d.ts deleted file mode 100644 index 5970030..0000000 --- a/package/esm/components/dsd-counter.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -declare function DSDCounter(): import("preact").JSX.Element; -export { DSDCounter }; -//# sourceMappingURL=dsd-counter.d.ts.map \ No newline at end of file diff --git a/package/esm/components/dsd-counter.d.ts.map b/package/esm/components/dsd-counter.d.ts.map deleted file mode 100644 index 54e39a5..0000000 --- a/package/esm/components/dsd-counter.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"dsd-counter.d.ts","sourceRoot":"","sources":["../../src/components/dsd-counter.tsx"],"names":[],"mappings":"AAEA,iBAAS,UAAU,iCAMlB;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"} \ No newline at end of file diff --git a/package/esm/components/dsd-counter.js b/package/esm/components/dsd-counter.js deleted file mode 100644 index a62e705..0000000 --- a/package/esm/components/dsd-counter.js +++ /dev/null @@ -1,7 +0,0 @@ -import { jsx as _jsx } from "preact/jsx-runtime"; -/** @jsxImportSource preact */ -import { TemplateCounter } from "../templates/template-counter.js"; -function DSDCounter() { - return (_jsx("dsd-counter-preact", { children: _jsx(TemplateCounter, { shadowrootmode: "open", shadowrootserializable: true }) })); -} -export { DSDCounter }; diff --git a/package/esm/components/home.d.ts b/package/esm/components/home.d.ts deleted file mode 100644 index a57cdcf..0000000 --- a/package/esm/components/home.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -declare function Home(): import("preact").JSX.Element; -export { Home }; -//# sourceMappingURL=home.d.ts.map \ No newline at end of file diff --git a/package/esm/components/home.d.ts.map b/package/esm/components/home.d.ts.map deleted file mode 100644 index aeb9ab1..0000000 --- a/package/esm/components/home.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"home.d.ts","sourceRoot":"","sources":["../../src/components/home.tsx"],"names":[],"mappings":"AAUA,iBAAS,IAAI,iCA6EZ;AAED,OAAO,EAAE,IAAI,EAAE,CAAA"} \ No newline at end of file diff --git a/package/esm/components/home.js b/package/esm/components/home.js deleted file mode 100644 index 72480a2..0000000 --- a/package/esm/components/home.js +++ /dev/null @@ -1,16 +0,0 @@ -import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime"; -/** @jsxImportSource preact */ -import browserImportMap from "../importmap.js"; -import { TemplateCounter } from "../templates/template-counter.js"; -import { TemplateButton } from "../templates/template-button.js"; -import { Button } from "./button.js"; -import { count } from "../signals/counter.js"; -import { DSDCounter } from "./dsd-counter.js"; -import { DSDButton } from "./dsd-button.js"; -import { Button2 } from "./button2.js"; -function Home() { - return (_jsxs("html", { lang: "en", children: [_jsxs("head", { children: [_jsx("meta", { charset: "UTF-8" }), _jsx("meta", { name: "viewport", content: "width=device-width, initial-scale=1.0" }), _jsx("title", { children: "DSD" }), _jsx("script", { type: "importmap", dangerouslySetInnerHTML: { - __html: JSON.stringify(browserImportMap, null, 2), - } }), _jsx(TemplateCounter, { id: "template-counter" }), _jsx(TemplateButton, { id: "template-button" }), _jsx("script", { type: "module", src: "./esm/dom/main.js" })] }), _jsxs("body", { children: [_jsx("header", { children: _jsx("nav", { children: _jsx("ul", { children: _jsx("li", { children: _jsx("a", { href: "/elements", children: "Elements" }) }) }) }) }), _jsxs("main", { children: [_jsx("h1", { children: "Declarative Shadow DOM study" }), _jsxs("section", { children: [_jsx("h2", { children: "Button Element" }), _jsx("button", { type: "button", children: "Count" })] }), _jsxs("section", { children: [_jsx("h2", { children: "Button Component" }), _jsx("template", { shadowrootmode: "open", children: _jsx(Button, {}) })] }), _jsxs("section", { children: [_jsx("h2", { children: "Button Custom Element" }), _jsx("element-counter", { children: count }), _jsx("element-button", { children: "Count" })] }), _jsxs("section", { children: [_jsx("h2", { children: "Button Custom Element (Preact)" }), _jsx("dsd-counter-preact", { children: count }), _jsx("dsd-button-preact", { children: "Count" })] }), _jsxs("section", { children: [_jsx("h2", { children: "Button Component with Declarative Shadow DOM (Preact)" }), _jsx(DSDCounter, {}), _jsx(DSDButton, { label: "Count" })] }), _jsxs("section", { children: [_jsx("h2", { children: "Preact register" }), _jsx("element-counter2", { children: count }), _jsxs("element-button2", { hydrate: true, children: [_jsx("template", { shadowrootmode: "open", children: _jsx(Button2, {}) }), _jsx("slot", { name: "children", children: "Count 2" })] })] })] })] })] })); -} -export { Home }; diff --git a/package/esm/deps/jsr.io/@std/cli/1.0.22/parse_args.d.ts b/package/esm/deps/jsr.io/@std/cli/1.0.22/parse_args.d.ts deleted file mode 100644 index 580395f..0000000 --- a/package/esm/deps/jsr.io/@std/cli/1.0.22/parse_args.d.ts +++ /dev/null @@ -1,343 +0,0 @@ -/** - * Command line arguments parser based on - * {@link https://github.com/minimistjs/minimist | minimist}. - * - * See {@linkcode parseArgs} for more information. - * - * @example Usage - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * // For proper use, one should use `parseArgs(Deno.args)` - * assertEquals(parseArgs(["--foo", "--bar=baz", "./quux.txt"]), { - * foo: true, - * bar: "baz", - * _: ["./quux.txt"], - * }); - * ``` - * - * @example `string` and `boolean` options - * - * Use `string` and `boolean` options to specify the type of the argument. - * - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * const args = parseArgs(["--foo", "--bar", "baz"], { - * boolean: ["foo"], - * string: ["bar"], - * }); - * - * assertEquals(args, { foo: true, bar: "baz", _: [] }); - * ``` - * - * @example `collect` option - * - * `collect` option tells the parser to treat the option as an array. All - * values will be collected into one array. If a non-collectable option is used - * multiple times, the last value is used. - * - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * const args = parseArgs(["--foo", "bar", "--foo", "baz"], { - * collect: ["foo"], - * }); - * - * assertEquals(args, { foo: ["bar", "baz"], _: [] }); - * ``` - * - * @example `negatable` option - * - * `negatable` option tells the parser to treat the option can be negated by - * prefixing them with `--no-`, like `--no-config`. - * - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * const args = parseArgs(["--no-foo"], { - * boolean: ["foo"], - * negatable: ["foo"], - * }); - * - * assertEquals(args, { foo: false, _: [] }); - * ``` - * - * @module - */ -/** Combines recursively all intersection types and returns a new single type. - * @internal - */ -type Id = TRecord extends Record ? TRecord extends infer InferredRecord ? { - [Key in keyof InferredRecord]: Id; -} : never : TRecord; -/** Converts a union type `A | B | C` into an intersection type `A & B & C`. - * @internal - */ -type UnionToIntersection = (TValue extends unknown ? (args: TValue) => unknown : never) extends (args: infer R) => unknown ? R extends Record ? R : never : never; -/** @internal */ -type BooleanType = boolean | string | undefined; -/** @internal */ -type StringType = string | undefined; -/** @internal */ -type ArgType = StringType | BooleanType; -/** @internal */ -type Collectable = string | undefined; -/** @internal */ -type Negatable = string | undefined; -type UseTypes = undefined extends ((false extends TBooleans ? undefined : TBooleans) & TCollectable & TStrings) ? false : true; -/** - * Creates a record with all available flags with the corresponding type and - * default type. - * @internal - */ -type Values | undefined, TAliases extends Aliases | undefined> = UseTypes extends true ? Record & AddAliases & RecursiveRequired> & CollectUnknownValues, DedotRecord>, TAliases> : Record; -/** @internal */ -type Aliases = Partial, TAliasNames | ReadonlyArray>>; -type AddAliases = { - [TArgName in keyof TArgs as AliasNames]: TArgs[TArgName]; -}; -type AliasNames = TArgName extends keyof TAliases ? string extends TAliases[TArgName] ? TArgName : TAliases[TArgName] extends string ? TArgName | TAliases[TArgName] : TAliases[TArgName] extends Array ? TArgName | TAliases[TArgName][number] : TArgName : TArgName; -/** - * Spreads all default values of Record `TDefaults` into Record `TArgs` - * and makes default values required. - * - * **Example:** - * `SpreadValues<{ foo?: boolean, bar?: number }, { foo: number }>` - * - * **Result:** `{ foo: boolean | number, bar?: number }` - */ -type SpreadDefaults = TDefaults extends undefined ? TArgs : TArgs extends Record ? Omit & { - [Default in keyof TDefaults]: Default extends keyof TArgs ? (TArgs[Default] & TDefaults[Default] | TDefaults[Default]) extends Record ? NonNullable> : TDefaults[Default] | NonNullable : unknown; -} : never; -/** - * Defines the Record for the `default` option to add - * auto-suggestion support for IDE's. - * @internal - */ -type Defaults = Id & MapTypes & MapTypes & MapDefaults & MapDefaults>>; -type MapDefaults = Partial>; -type RecursiveRequired = TRecord extends Record ? { - [Key in keyof TRecord]-?: RecursiveRequired; -} : TRecord; -/** Same as `MapTypes` but also supports collectable options. */ -type CollectValues = UnionToIntersection extends string ? (Exclude extends never ? Record : MapTypes, TType, TNegatable>) & (Extract extends never ? Record : RecursiveRequired, Array, TNegatable>>) : MapTypes>; -/** Same as `Record` but also supports dotted and negatable options. */ -type MapTypes = undefined extends TArgNames ? Record : TArgNames extends `${infer Name}.${infer Rest}` ? { - [Key in Name]?: MapTypes; -} : TArgNames extends string ? Partial> : Record; -type CollectUnknownValues = UnionToIntersection : DedotRecord, string>, Extract>, Array> & Record, string>, Extract>, Array | false>>>; -/** Converts `{ "foo.bar.baz": unknown }` into `{ foo: { bar: { baz: unknown } } }`. */ -type DedotRecord = Record extends TRecord ? TRecord : TRecord extends Record ? UnionToIntersection : never; -}>> : TRecord; -type Dedot = TKey extends `${infer Name}.${infer Rest}` ? { - [Key in Name]: Dedot; -} : { - [Key in TKey]: TValue; -}; -type ValueOf = TValue[keyof TValue]; -/** The value returned from {@linkcode parseArgs}. */ -export type Args = Record, TDoubleDash extends boolean | undefined = undefined> = Id; -} & (boolean extends TDoubleDash ? DoubleDash : true extends TDoubleDash ? Required : Record)>; -/** @internal */ -type DoubleDash = { - /** Contains all the arguments that appear after the double dash: "--". */ - "--"?: Array; -}; -/** Options for {@linkcode parseArgs}. */ -export interface ParseOptions | undefined = Record | undefined, TAliases extends Aliases | undefined = Aliases | undefined, TDoubleDash extends boolean | undefined = boolean | undefined> { - /** - * When `true`, populate the result `_` with everything before the `--` and - * the result `['--']` with everything after the `--`. - * - * @default {false} - * - * @example Double dash option is false - * ```ts - * // $ deno run example.ts -- a arg1 - * import { parseArgs } from "@std/cli/parse-args"; - * const args = parseArgs(Deno.args, { "--": false }); // args equals { _: [ "a", "arg1" ] } - * ``` - * - * @example Double dash option is true - * ```ts - * // $ deno run example.ts -- a arg1 - * import { parseArgs } from "@std/cli/parse-args"; - * const args = parseArgs(Deno.args, { "--": true }); // args equals { _: [], --: [ "a", "arg1" ] } - * ``` - */ - "--"?: TDoubleDash; - /** - * An object mapping string names to strings or arrays of string argument - * names to use as aliases. - * - * @default {{}} - */ - alias?: TAliases; - /** - * A boolean, string or array of strings to always treat as booleans. If - * `true` will treat all double hyphenated arguments without equal signs as - * `boolean` (e.g. affects `--foo`, not `-f` or `--foo=bar`). - * All `boolean` arguments will be set to `false` by default. - * - * @default {false} - */ - boolean?: TBooleans | ReadonlyArray>; - /** - * An object mapping string argument names to default values. - * - * @default {{}} - */ - default?: TDefault & Defaults; - /** - * When `true`, populate the result `_` with everything after the first - * non-option. - * - * @default {false} - */ - stopEarly?: boolean; - /** - * A string or array of strings argument names to always treat as strings. - * - * @default {[]} - */ - string?: TStrings | ReadonlyArray>; - /** - * A string or array of strings argument names to always treat as arrays. - * Collectable options can be used multiple times. All values will be - * collected into one array. If a non-collectable option is used multiple - * times, the last value is used. - * - * @default {[]} - */ - collect?: TCollectable | ReadonlyArray>; - /** - * A string or array of strings argument names which can be negated - * by prefixing them with `--no-`, like `--no-config`. - * - * @default {[]} - */ - negatable?: TNegatable | ReadonlyArray>; - /** - * A function which is invoked with a command line parameter not defined in - * the `options` configuration object. If the function returns `false`, the - * unknown option is not added to `parsedArgs`. - * - * @default {unknown} - */ - unknown?: (arg: string, key?: string, value?: unknown) => unknown; -} -/** - * Take a set of command line arguments, optionally with a set of options, and - * return an object representing the flags found in the passed arguments. - * - * By default, any arguments starting with `-` or `--` are considered boolean - * flags. If the argument name is followed by an equal sign (`=`) it is - * considered a key-value pair. Any arguments which could not be parsed are - * available in the `_` property of the returned object. - * - * By default, this module tries to determine the type of all arguments - * automatically and the return type of this function will have an index - * signature with `any` as value (`{ [x: string]: any }`). - * - * If the `string`, `boolean` or `collect` option is set, the return value of - * this function will be fully typed and the index signature of the return - * type will change to `{ [x: string]: unknown }`. - * - * Any arguments after `'--'` will not be parsed and will end up in `parsedArgs._`. - * - * Numeric-looking arguments will be returned as numbers unless `options.string` - * or `options.boolean` is set for that argument name. - * - * See {@linkcode ParseOptions} for more information. - * - * @param args An array of command line arguments. - * @param options Options for the parse function. - * - * @typeParam TArgs Type of result. - * @typeParam TDoubleDash Used by `TArgs` for the result. - * @typeParam TBooleans Used by `TArgs` for the result. - * @typeParam TStrings Used by `TArgs` for the result. - * @typeParam TCollectable Used by `TArgs` for the result. - * @typeParam TNegatable Used by `TArgs` for the result. - * @typeParam TDefaults Used by `TArgs` for the result. - * @typeParam TAliases Used by `TArgs` for the result. - * @typeParam TAliasArgNames Used by `TArgs` for the result. - * @typeParam TAliasNames Used by `TArgs` for the result. - * - * @return The parsed arguments. - * - * @example Usage - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * // For proper use, one should use `parseArgs(Deno.args)` - * assertEquals(parseArgs(["--foo", "--bar=baz", "./quux.txt"]), { - * foo: true, - * bar: "baz", - * _: ["./quux.txt"], - * }); - * ``` - * - * @example `string` and `boolean` options - * - * Use `string` and `boolean` options to specify the type of the argument. - * - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * const args = parseArgs(["--foo", "--bar", "baz"], { - * boolean: ["foo"], - * string: ["bar"], - * }); - * - * assertEquals(args, { foo: true, bar: "baz", _: [] }); - * ``` - * - * @example `collect` option - * - * `collect` option tells the parser to treat the option as an array. All - * values will be collected into one array. If a non-collectable option is used - * multiple times, the last value is used. - * - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * const args = parseArgs(["--foo", "bar", "--foo", "baz"], { - * collect: ["foo"], - * }); - * - * assertEquals(args, { foo: ["bar", "baz"], _: [] }); - * ``` - * - * @example `negatable` option - * - * `negatable` option tells the parser to treat the option can be negated by - * prefixing them with `--no-`, like `--no-config`. - * - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * const args = parseArgs(["--no-foo"], { - * boolean: ["foo"], - * negatable: ["foo"], - * }); - * - * assertEquals(args, { foo: false, _: [] }); - * ``` - */ -export declare function parseArgs, TDoubleDash extends boolean | undefined = undefined, TBooleans extends BooleanType = undefined, TStrings extends StringType = undefined, TCollectable extends Collectable = undefined, TNegatable extends Negatable = undefined, TDefaults extends Record | undefined = undefined, TAliases extends Aliases | undefined = undefined, TAliasArgNames extends string = string, TAliasNames extends string = string>(args: string[], options?: ParseOptions): Args; -export {}; -//# sourceMappingURL=parse_args.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/cli/1.0.22/parse_args.d.ts.map b/package/esm/deps/jsr.io/@std/cli/1.0.22/parse_args.d.ts.map deleted file mode 100644 index e60cc30..0000000 --- a/package/esm/deps/jsr.io/@std/cli/1.0.22/parse_args.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"parse_args.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/cli/1.0.22/parse_args.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AAEH;;GAEG;AACH,KAAK,EAAE,CAAC,OAAO,IAAI,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACtD,OAAO,SAAS,MAAM,cAAc,GAClC;KAAG,GAAG,IAAI,MAAM,cAAc,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;CAAE,GAC5D,KAAK,GACL,OAAO,CAAC;AAEZ;;GAEG;AACH,KAAK,mBAAmB,CAAC,MAAM,IAC7B,CAAC,MAAM,SAAS,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,KAAK,CAAC,SAC1D,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,OAAO,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GACxE,KAAK,CAAC;AAEZ,gBAAgB;AAChB,KAAK,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAChD,gBAAgB;AAChB,KAAK,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AACrC,gBAAgB;AAChB,KAAK,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC;AAExC,gBAAgB;AAChB,KAAK,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;AACtC,gBAAgB;AAChB,KAAK,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAEpC,KAAK,QAAQ,CACX,SAAS,SAAS,WAAW,EAC7B,QAAQ,SAAS,UAAU,EAC3B,YAAY,SAAS,WAAW,IAC9B,SAAS,SAAS,CAClB,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,GACjD,YAAY,GACZ,QAAQ,CACX,GAAG,KAAK,GACL,IAAI,CAAC;AAET;;;;GAIG;AACH,KAAK,MAAM,CACT,SAAS,SAAS,WAAW,EAC7B,QAAQ,SAAS,UAAU,EAC3B,YAAY,SAAS,WAAW,EAChC,UAAU,SAAS,SAAS,EAC5B,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACpD,QAAQ,SAAS,OAAO,GAAG,SAAS,IAClC,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,SAAS,IAAI,GACtD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,UAAU,CACV,cAAc,CACV,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,GACzD,iBAAiB,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,GAClE,oBAAoB,CACpB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,UAAU,CACX,EACD,WAAW,CAAC,QAAQ,CAAC,CACtB,EACD,QAAQ,CACT,GAED,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExB,gBAAgB;AAChB,KAAK,OAAO,CAAC,SAAS,GAAG,MAAM,EAAE,WAAW,SAAS,MAAM,GAAG,MAAM,IAAI,OAAO,CAC7E,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAC7E,CAAC;AAEF,KAAK,UAAU,CACb,KAAK,EACL,QAAQ,SAAS,OAAO,GAAG,SAAS,IAClC;KACD,QAAQ,IAAI,MAAM,KAAK,IAAI,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;CAC7E,CAAC;AAEF,KAAK,UAAU,CACb,QAAQ,EACR,QAAQ,SAAS,OAAO,GAAG,SAAS,IAClC,QAAQ,SAAS,MAAM,QAAQ,GAC/B,MAAM,SAAS,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAC5C,QAAQ,CAAC,QAAQ,CAAC,SAAS,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GACjE,QAAQ,CAAC,QAAQ,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,GACtC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GACvC,QAAQ,GACR,QAAQ,CAAC;AAEb;;;;;;;;GAQG;AACH,KAAK,cAAc,CAAC,KAAK,EAAE,SAAS,IAAI,SAAS,SAAS,SAAS,GAAG,KAAK,GACvE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,IAAI,CAAC,KAAK,EAAE,MAAM,SAAS,CAAC,GAC5B;KACC,OAAO,IAAI,MAAM,SAAS,GAAG,OAAO,SAAS,MAAM,KAAK,GACrD,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,SAC1D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrB,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GACjE,SAAS,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAChD,OAAO;CACZ,GACH,KAAK,CAAC;AAEV;;;;GAIG;AACH,KAAK,QAAQ,CAAC,SAAS,SAAS,WAAW,EAAE,QAAQ,SAAS,UAAU,IAAI,EAAE,CAC5E,mBAAmB,CACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAEvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,GAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,GAE5B,WAAW,CAAC,SAAS,CAAC,GACtB,WAAW,CAAC,QAAQ,CAAC,CACxB,CACF,CAAC;AAEF,KAAK,WAAW,CAAC,SAAS,SAAS,OAAO,IAAI,OAAO,CACnD,MAAM,CAAC,SAAS,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,OAAO,CAAC,CAC/D,CAAC;AAEF,KAAK,iBAAiB,CAAC,OAAO,IAAI,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;KACvE,GAAG,IAAI,MAAM,OAAO,CAAC,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;CAC1D,GACC,OAAO,CAAC;AAEZ,gEAAgE;AAChE,KAAK,aAAa,CAChB,SAAS,SAAS,OAAO,EACzB,KAAK,EACL,YAAY,SAAS,WAAW,EAChC,UAAU,SAAS,SAAS,GAAG,SAAS,IACtC,mBAAmB,CACrB,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,MAAM,GACzC,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GACpE,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,GAChE,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GACpE,iBAAiB,CACjB,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CACrE,CAAC,GACJ,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAC3C,CAAC;AAEF,uEAAuE;AACvE,KAAK,QAAQ,CACX,SAAS,SAAS,OAAO,EACzB,KAAK,EACL,UAAU,SAAS,SAAS,GAAG,SAAS,IACtC,SAAS,SAAS,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAClD,SAAS,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,IAAI,EAAE,GAAG;KAC/C,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CACtB,IAAI,EACJ,KAAK,EACL,UAAU,SAAS,GAAG,IAAI,IAAI,MAAM,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAClE;CACF,GACD,SAAS,SAAS,MAAM,GAAG,OAAO,CAChC,MAAM,CAAC,SAAS,EAAE,UAAU,SAAS,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,CACxE,GACD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEzB,KAAK,oBAAoB,CACvB,SAAS,SAAS,WAAW,EAC7B,QAAQ,SAAS,UAAU,EAC3B,YAAY,SAAS,WAAW,EAChC,UAAU,SAAS,SAAS,IAC1B,mBAAmB,CACrB,YAAY,SAAS,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAC5D,WAAW,CAET,MAAM,CACN,OAAO,CACL,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,EAClD,OAAO,CAAC,QAAQ,GAAG,SAAS,EAAE,MAAM,CAAC,CACtC,EACD,KAAK,CAAC,OAAO,CAAC,CACf,GAEC,MAAM,CACN,OAAO,CACL,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,EAClD,OAAO,CAAC,QAAQ,GAAG,SAAS,EAAE,MAAM,CAAC,CACtC,EACD,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CACvB,CACF,CACJ,CAAC;AAEF,uFAAuF;AACvF,KAAK,WAAW,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,OAAO,GAAG,OAAO,GACzE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,mBAAmB,CAC3D,OAAO,CACL;KACG,GAAG,IAAI,MAAM,OAAO,GAAG,GAAG,SAAS,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GACjE,KAAK;CACV,CACF,CACF,GACD,OAAO,CAAC;AAEZ,KAAK,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,IAAI,IAAI,SAC5C,GAAG,MAAM,IAAI,IAAI,MAAM,IAAI,EAAE,GAAG;KAAG,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;CAAE,GACpE;KAAG,GAAG,IAAI,IAAI,GAAG,MAAM;CAAE,CAAC;AAE9B,KAAK,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,MAAM,CAAC,CAAC;AAE5C,qDAAqD;AACrD,MAAM,MAAM,IAAI,CAEd,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3D,WAAW,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,IACjD,EAAE,CACF,KAAK,GACL;IACA;eACW;IACX,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CAC3B,GACC,CAAC,OAAO,SAAS,WAAW,GAAG,UAAU,GACvC,IAAI,SAAS,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,GAC/C,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAC1B,CAAC;AAEF,gBAAgB;AAChB,KAAK,UAAU,GAAG;IAChB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AAEF,yCAAyC;AACzC,MAAM,WAAW,YAAY,CAC3B,SAAS,SAAS,WAAW,GAAG,WAAW,EAC3C,QAAQ,SAAS,UAAU,GAAG,UAAU,EACxC,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAChD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,SAAS,EACb,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,EAC1D,WAAW,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS;IAE7D;;;;;;;;;;;;;;;;;;;OAmBG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;IAEjB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAEhE;;;;OAIG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEnD;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAE7D;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtE;;;;;OAKG;IACH,SAAS,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAEpE;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;CACnE;AAyED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsGG;AACH,wBAAgB,SAAS,CACvB,KAAK,SAAS,MAAM,CAClB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,SAAS,EACT,QAAQ,CACT,EACD,WAAW,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACnD,SAAS,SAAS,WAAW,GAAG,SAAS,EACzC,QAAQ,SAAS,UAAU,GAAG,SAAS,EACvC,YAAY,SAAS,WAAW,GAAG,SAAS,EAC5C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,EACjE,QAAQ,SAAS,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG,SAAS,GAAG,SAAS,EAC7E,cAAc,SAAS,MAAM,GAAG,MAAM,EACtC,WAAW,SAAS,MAAM,GAAG,MAAM,EAEnC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE,YAAY,CACpB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,SAAS,EACT,QAAQ,EACR,WAAW,CACZ,GACA,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAwQ1B"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/cli/1.0.22/parse_args.js b/package/esm/deps/jsr.io/@std/cli/1.0.22/parse_args.js deleted file mode 100644 index b310623..0000000 --- a/package/esm/deps/jsr.io/@std/cli/1.0.22/parse_args.js +++ /dev/null @@ -1,357 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -const FLAG_REGEXP = /^(?:-(?:(?-)(?no-)?)?)(?.+?)(?:=(?.+?))?$/s; -const LETTER_REGEXP = /[A-Za-z]/; -const NUMBER_REGEXP = /-?\d+(\.\d*)?(e-?\d+)?$/; -const HYPHEN_REGEXP = /^(-|--)[^-]/; -const VALUE_REGEXP = /=(?.+)/; -const FLAG_NAME_REGEXP = /^--[^=]+$/; -const SPECIAL_CHAR_REGEXP = /\W/; -const NON_WHITESPACE_REGEXP = /\S/; -function isNumber(string) { - return NON_WHITESPACE_REGEXP.test(string) && Number.isFinite(Number(string)); -} -function setNested(object, keys, value, collect = false) { - keys = [...keys]; - const key = keys.pop(); - keys.forEach((key) => object = (object[key] ??= {})); - if (collect) { - const v = object[key]; - if (Array.isArray(v)) { - v.push(value); - return; - } - value = v ? [v, value] : [value]; - } - object[key] = value; -} -function hasNested(object, keys) { - for (const key of keys) { - const value = object[key]; - if (!Object.hasOwn(object, key)) - return false; - object = value; - } - return true; -} -function aliasIsBoolean(aliasMap, booleanSet, key) { - const set = aliasMap.get(key); - if (set === undefined) - return false; - for (const alias of set) - if (booleanSet.has(alias)) - return true; - return false; -} -function isBooleanString(value) { - return value === "true" || value === "false"; -} -function parseBooleanString(value) { - return value !== "false"; -} -/** - * Take a set of command line arguments, optionally with a set of options, and - * return an object representing the flags found in the passed arguments. - * - * By default, any arguments starting with `-` or `--` are considered boolean - * flags. If the argument name is followed by an equal sign (`=`) it is - * considered a key-value pair. Any arguments which could not be parsed are - * available in the `_` property of the returned object. - * - * By default, this module tries to determine the type of all arguments - * automatically and the return type of this function will have an index - * signature with `any` as value (`{ [x: string]: any }`). - * - * If the `string`, `boolean` or `collect` option is set, the return value of - * this function will be fully typed and the index signature of the return - * type will change to `{ [x: string]: unknown }`. - * - * Any arguments after `'--'` will not be parsed and will end up in `parsedArgs._`. - * - * Numeric-looking arguments will be returned as numbers unless `options.string` - * or `options.boolean` is set for that argument name. - * - * See {@linkcode ParseOptions} for more information. - * - * @param args An array of command line arguments. - * @param options Options for the parse function. - * - * @typeParam TArgs Type of result. - * @typeParam TDoubleDash Used by `TArgs` for the result. - * @typeParam TBooleans Used by `TArgs` for the result. - * @typeParam TStrings Used by `TArgs` for the result. - * @typeParam TCollectable Used by `TArgs` for the result. - * @typeParam TNegatable Used by `TArgs` for the result. - * @typeParam TDefaults Used by `TArgs` for the result. - * @typeParam TAliases Used by `TArgs` for the result. - * @typeParam TAliasArgNames Used by `TArgs` for the result. - * @typeParam TAliasNames Used by `TArgs` for the result. - * - * @return The parsed arguments. - * - * @example Usage - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * // For proper use, one should use `parseArgs(Deno.args)` - * assertEquals(parseArgs(["--foo", "--bar=baz", "./quux.txt"]), { - * foo: true, - * bar: "baz", - * _: ["./quux.txt"], - * }); - * ``` - * - * @example `string` and `boolean` options - * - * Use `string` and `boolean` options to specify the type of the argument. - * - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * const args = parseArgs(["--foo", "--bar", "baz"], { - * boolean: ["foo"], - * string: ["bar"], - * }); - * - * assertEquals(args, { foo: true, bar: "baz", _: [] }); - * ``` - * - * @example `collect` option - * - * `collect` option tells the parser to treat the option as an array. All - * values will be collected into one array. If a non-collectable option is used - * multiple times, the last value is used. - * - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * const args = parseArgs(["--foo", "bar", "--foo", "baz"], { - * collect: ["foo"], - * }); - * - * assertEquals(args, { foo: ["bar", "baz"], _: [] }); - * ``` - * - * @example `negatable` option - * - * `negatable` option tells the parser to treat the option can be negated by - * prefixing them with `--no-`, like `--no-config`. - * - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * const args = parseArgs(["--no-foo"], { - * boolean: ["foo"], - * negatable: ["foo"], - * }); - * - * assertEquals(args, { foo: false, _: [] }); - * ``` - */ -export function parseArgs(args, options) { - const { "--": doubleDash = false, alias = {}, boolean = false, default: defaults = {}, stopEarly = false, string = [], collect = [], negatable = [], unknown: unknownFn = (i) => i, } = options ?? {}; - const aliasMap = new Map(); - const booleanSet = new Set(); - const stringSet = new Set(); - const collectSet = new Set(); - const negatableSet = new Set(); - let allBools = false; - if (alias) { - for (const [key, value] of Object.entries(alias)) { - if (value === undefined) { - throw new TypeError("Alias value must be defined"); - } - const aliases = Array.isArray(value) ? value : [value]; - aliasMap.set(key, new Set(aliases)); - aliases.forEach((alias) => aliasMap.set(alias, new Set([key, ...aliases.filter((it) => it !== alias)]))); - } - } - if (boolean) { - if (typeof boolean === "boolean") { - allBools = boolean; - } - else { - const booleanArgs = Array.isArray(boolean) ? boolean : [boolean]; - for (const key of booleanArgs.filter(Boolean)) { - booleanSet.add(key); - aliasMap.get(key)?.forEach((al) => { - booleanSet.add(al); - }); - } - } - } - if (string) { - const stringArgs = Array.isArray(string) ? string : [string]; - for (const key of stringArgs.filter(Boolean)) { - stringSet.add(key); - aliasMap.get(key)?.forEach((al) => stringSet.add(al)); - } - } - if (collect) { - const collectArgs = Array.isArray(collect) ? collect : [collect]; - for (const key of collectArgs.filter(Boolean)) { - collectSet.add(key); - aliasMap.get(key)?.forEach((al) => collectSet.add(al)); - } - } - if (negatable) { - const negatableArgs = Array.isArray(negatable) ? negatable : [negatable]; - for (const key of negatableArgs.filter(Boolean)) { - negatableSet.add(key); - aliasMap.get(key)?.forEach((alias) => negatableSet.add(alias)); - } - } - const argv = { _: [] }; - function setArgument(key, value, arg, collect) { - if (!booleanSet.has(key) && - !stringSet.has(key) && - !aliasMap.has(key) && - !(allBools && FLAG_NAME_REGEXP.test(arg)) && - unknownFn?.(arg, key, value) === false) { - return; - } - if (typeof value === "string" && !stringSet.has(key)) { - value = isNumber(value) ? Number(value) : value; - } - const collectable = collect && collectSet.has(key); - setNested(argv, key.split("."), value, collectable); - aliasMap.get(key)?.forEach((key) => { - setNested(argv, key.split("."), value, collectable); - }); - } - let notFlags = []; - // all args after "--" are not parsed - const index = args.indexOf("--"); - if (index !== -1) { - notFlags = args.slice(index + 1); - args = args.slice(0, index); - } - argsLoop: for (let i = 0; i < args.length; i++) { - const arg = args[i]; - const groups = arg.match(FLAG_REGEXP)?.groups; - if (groups) { - const { doubleDash, negated } = groups; - let key = groups.key; - let value = groups.value; - if (doubleDash) { - if (value) { - if (booleanSet.has(key)) - value = parseBooleanString(value); - setArgument(key, value, arg, true); - continue; - } - if (negated) { - if (negatableSet.has(key)) { - setArgument(key, false, arg, false); - continue; - } - key = `no-${key}`; - } - const next = args[i + 1]; - if (next) { - if (!booleanSet.has(key) && - !allBools && - !next.startsWith("-") && - (!aliasMap.has(key) || !aliasIsBoolean(aliasMap, booleanSet, key))) { - value = next; - i++; - setArgument(key, value, arg, true); - continue; - } - if (isBooleanString(next)) { - value = parseBooleanString(next); - i++; - setArgument(key, value, arg, true); - continue; - } - } - value = stringSet.has(key) ? "" : true; - setArgument(key, value, arg, true); - continue; - } - const letters = arg.slice(1, -1).split(""); - for (const [j, letter] of letters.entries()) { - const next = arg.slice(j + 2); - if (next === "-") { - setArgument(letter, next, arg, true); - continue; - } - if (LETTER_REGEXP.test(letter)) { - const groups = VALUE_REGEXP.exec(next)?.groups; - if (groups) { - setArgument(letter, groups.value, arg, true); - continue argsLoop; - } - if (NUMBER_REGEXP.test(next)) { - setArgument(letter, next, arg, true); - continue argsLoop; - } - } - if (letters[j + 1]?.match(SPECIAL_CHAR_REGEXP)) { - setArgument(letter, arg.slice(j + 2), arg, true); - continue argsLoop; - } - setArgument(letter, stringSet.has(letter) ? "" : true, arg, true); - } - key = arg.slice(-1); - if (key === "-") - continue; - const nextArg = args[i + 1]; - if (nextArg) { - if (!HYPHEN_REGEXP.test(nextArg) && - !booleanSet.has(key) && - (!aliasMap.has(key) || !aliasIsBoolean(aliasMap, booleanSet, key))) { - setArgument(key, nextArg, arg, true); - i++; - continue; - } - if (isBooleanString(nextArg)) { - const value = parseBooleanString(nextArg); - setArgument(key, value, arg, true); - i++; - continue; - } - } - setArgument(key, stringSet.has(key) ? "" : true, arg, true); - continue; - } - if (unknownFn?.(arg) !== false) { - argv._.push(stringSet.has("_") || !isNumber(arg) ? arg : Number(arg)); - } - if (stopEarly) { - argv._.push(...args.slice(i + 1)); - break; - } - } - for (const [key, value] of Object.entries(defaults)) { - const keys = key.split("."); - if (!hasNested(argv, keys)) { - setNested(argv, keys, value); - aliasMap.get(key)?.forEach((key) => setNested(argv, key.split("."), value)); - } - } - for (const key of booleanSet.keys()) { - const keys = key.split("."); - if (!hasNested(argv, keys)) { - const value = collectSet.has(key) ? [] : false; - setNested(argv, keys, value); - } - } - for (const key of stringSet.keys()) { - const keys = key.split("."); - if (!hasNested(argv, keys) && collectSet.has(key)) { - setNested(argv, keys, []); - } - } - if (doubleDash) { - argv["--"] = notFlags; - } - else { - argv._.push(...notFlags); - } - return argv; -} diff --git a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common64.d.ts b/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common64.d.ts deleted file mode 100644 index f6b4d77..0000000 --- a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common64.d.ts +++ /dev/null @@ -1,35 +0,0 @@ -import type { Uint8Array_ } from "./_types.js"; -export type { Uint8Array_ }; -export declare const padding: number; -export declare const alphabet: Record; -export declare const rAlphabet: Record; -/** - * Options for encoding and decoding base64 strings. - */ -export interface Base64Options { - /** The base64 alphabet. Defaults to "base64" */ - alphabet?: Base64Alphabet; -} -/** - * The base64 alphabets. - */ -export type Base64Alphabet = "base64" | "base64url"; -/** - * Calculate the output size needed to encode a given input size for - * {@linkcode encodeIntoBase64}. - * - * @param originalSize The size of the input buffer. - * @returns The size of the output buffer. - * - * @example Basic Usage - * ```ts - * import { assertEquals } from "@std/assert"; - * import { calcSizeBase64 } from "@std/encoding/unstable-base64"; - * - * assertEquals(calcSizeBase64(1), 4); - * ``` - */ -export declare function calcSizeBase64(originalSize: number): number; -export declare function encode(buffer: Uint8Array_, i: number, o: number, alphabet: Uint8Array, padding: number): number; -export declare function decode(buffer: Uint8Array_, i: number, o: number, alphabet: Uint8Array, padding: number): number; -//# sourceMappingURL=_common64.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common64.d.ts.map b/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common64.d.ts.map deleted file mode 100644 index 3137e93..0000000 --- a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common64.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"_common64.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/encoding/1.0.10/_common64.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B,eAAO,MAAM,OAAO,QAAoB,CAAC;AACzC,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,UAAU,CAKvD,CAAC;AACF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,UAAU,CAGxD,CAAC;AAMF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEpD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,MAAM,CACpB,MAAM,EAAE,WAAW,EACnB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CA4BR;AAED,wBAAgB,MAAM,CACpB,MAAM,EAAE,WAAW,EACnB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAmDR"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common64.js b/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common64.js deleted file mode 100644 index 83ecf13..0000000 --- a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common64.js +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -export const padding = "=".charCodeAt(0); -export const alphabet = { - base64: new TextEncoder() - .encode("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"), - base64url: new TextEncoder() - .encode("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"), -}; -export const rAlphabet = { - base64: new Uint8Array(128).fill(64), // alphabet.base64.length - base64url: new Uint8Array(128).fill(64), -}; -alphabet.base64 - .forEach((byte, i) => rAlphabet.base64[byte] = i); -alphabet.base64url - .forEach((byte, i) => rAlphabet.base64url[byte] = i); -/** - * Calculate the output size needed to encode a given input size for - * {@linkcode encodeIntoBase64}. - * - * @param originalSize The size of the input buffer. - * @returns The size of the output buffer. - * - * @example Basic Usage - * ```ts - * import { assertEquals } from "@std/assert"; - * import { calcSizeBase64 } from "@std/encoding/unstable-base64"; - * - * assertEquals(calcSizeBase64(1), 4); - * ``` - */ -export function calcSizeBase64(originalSize) { - return ((originalSize + 2) / 3 | 0) * 4; -} -export function encode(buffer, i, o, alphabet, padding) { - i += 2; - for (; i < buffer.length; i += 3) { - const x = (buffer[i - 2] << 16) | (buffer[i - 1] << 8) | buffer[i]; - buffer[o++] = alphabet[x >> 18]; - buffer[o++] = alphabet[x >> 12 & 0x3F]; - buffer[o++] = alphabet[x >> 6 & 0x3F]; - buffer[o++] = alphabet[x & 0x3F]; - } - switch (i) { - case buffer.length + 1: { - const x = buffer[i - 2] << 16; - buffer[o++] = alphabet[x >> 18]; - buffer[o++] = alphabet[x >> 12 & 0x3F]; - buffer[o++] = padding; - buffer[o++] = padding; - break; - } - case buffer.length: { - const x = (buffer[i - 2] << 16) | (buffer[i - 1] << 8); - buffer[o++] = alphabet[x >> 18]; - buffer[o++] = alphabet[x >> 12 & 0x3F]; - buffer[o++] = alphabet[x >> 6 & 0x3F]; - buffer[o++] = padding; - break; - } - } - return o; -} -export function decode(buffer, i, o, alphabet, padding) { - for (let x = buffer.length - 2; x < buffer.length; ++x) { - if (buffer[x] === padding) { - for (let y = x + 1; y < buffer.length; ++y) { - if (buffer[y] !== padding) { - throw new TypeError(`Cannot decode input as base64: Invalid character (${String.fromCharCode(buffer[y])})`); - } - } - buffer = buffer.subarray(0, x); - break; - } - } - if ((buffer.length - o) % 4 === 1) { - throw new RangeError(`Cannot decode input as base64: Length (${buffer.length - o}), excluding padding, must not have a remainder of 1 when divided by 4`); - } - i += 3; - for (; i < buffer.length; i += 4) { - const x = (getByte(buffer[i - 3], alphabet) << 18) | - (getByte(buffer[i - 2], alphabet) << 12) | - (getByte(buffer[i - 1], alphabet) << 6) | - getByte(buffer[i], alphabet); - buffer[o++] = x >> 16; - buffer[o++] = x >> 8 & 0xFF; - buffer[o++] = x & 0xFF; - } - switch (i) { - case buffer.length + 1: { - const x = (getByte(buffer[i - 3], alphabet) << 18) | - (getByte(buffer[i - 2], alphabet) << 12); - buffer[o++] = x >> 16; - break; - } - case buffer.length: { - const x = (getByte(buffer[i - 3], alphabet) << 18) | - (getByte(buffer[i - 2], alphabet) << 12) | - (getByte(buffer[i - 1], alphabet) << 6); - buffer[o++] = x >> 16; - buffer[o++] = x >> 8 & 0xFF; - break; - } - } - return o; -} -function getByte(char, alphabet) { - const byte = alphabet[char] ?? 64; - if (byte === 64) { // alphabet.Base64.length - throw new TypeError(`Cannot decode input as base64: Invalid character (${String.fromCharCode(char)})`); - } - return byte; -} diff --git a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts b/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts deleted file mode 100644 index b626e88..0000000 --- a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import type { Uint8Array_ } from "./_types.js"; -export type { Uint8Array_ }; -export declare function detach(buffer: Uint8Array_, maxSize: number): [Uint8Array_, number]; -//# sourceMappingURL=_common_detach.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts.map b/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts.map deleted file mode 100644 index 77075e6..0000000 --- a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"_common_detach.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/encoding/1.0.10/_common_detach.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B,wBAAgB,MAAM,CACpB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,GACd,CAAC,WAAW,EAAE,MAAM,CAAC,CAWvB"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.js b/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.js deleted file mode 100644 index 185b559..0000000 --- a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.js +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -export function detach(buffer, maxSize) { - const originalSize = buffer.length; - if (buffer.byteOffset) { - const b = new Uint8Array(buffer.buffer); - b.set(buffer); - buffer = b.subarray(0, originalSize); - } - // deno-lint-ignore no-explicit-any - buffer = new Uint8Array(buffer.buffer.transfer(maxSize)); - buffer.set(buffer.subarray(0, originalSize), maxSize - originalSize); - return [buffer, maxSize - originalSize]; -} diff --git a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts b/package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts deleted file mode 100644 index 5848e0f..0000000 --- a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Proxy type of {@code Uint8Array; -//# sourceMappingURL=_types.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts.map b/package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts.map deleted file mode 100644 index a3fb8f4..0000000 --- a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"_types.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/encoding/1.0.10/_types.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.js b/package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.js deleted file mode 100644 index c194a67..0000000 --- a/package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.js +++ /dev/null @@ -1,2 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -export {}; diff --git a/package/esm/deps/jsr.io/@std/encoding/1.0.10/base64.d.ts b/package/esm/deps/jsr.io/@std/encoding/1.0.10/base64.d.ts deleted file mode 100644 index 83b1350..0000000 --- a/package/esm/deps/jsr.io/@std/encoding/1.0.10/base64.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -import type { Uint8Array_ } from "./_types.js"; -export type { Uint8Array_ }; -/** - * Converts data into a base64-encoded string. - * - * @see {@link https://www.rfc-editor.org/rfc/rfc4648.html#section-4} - * - * @param data The data to encode. - * @returns The base64-encoded string. - * - * @example Usage - * ```ts - * import { encodeBase64 } from "@std/encoding/base64"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(encodeBase64("foobar"), "Zm9vYmFy"); - * ``` - */ -export declare function encodeBase64(data: ArrayBuffer | Uint8Array | string): string; -/** - * Decodes a base64-encoded string. - * - * @see {@link https://www.rfc-editor.org/rfc/rfc4648.html#section-4} - * - * @param b64 The base64-encoded string to decode. - * @returns The decoded data. - * - * @example Usage - * ```ts - * import { decodeBase64 } from "@std/encoding/base64"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals( - * decodeBase64("Zm9vYmFy"), - * new TextEncoder().encode("foobar") - * ); - * ``` - */ -export declare function decodeBase64(b64: string): Uint8Array_; -//# sourceMappingURL=base64.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/encoding/1.0.10/base64.d.ts.map b/package/esm/deps/jsr.io/@std/encoding/1.0.10/base64.d.ts.map deleted file mode 100644 index 23296cd..0000000 --- a/package/esm/deps/jsr.io/@std/encoding/1.0.10/base64.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/encoding/1.0.10/base64.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,CAAC;AAQ5B;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAW5E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAKrD"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/encoding/1.0.10/base64.js b/package/esm/deps/jsr.io/@std/encoding/1.0.10/base64.js deleted file mode 100644 index 7d6f6a3..0000000 --- a/package/esm/deps/jsr.io/@std/encoding/1.0.10/base64.js +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -/** - * Utilities for - * {@link https://www.rfc-editor.org/rfc/rfc4648.html#section-4 | base64} - * encoding and decoding. - * - * ```ts - * import { - * encodeBase64, - * decodeBase64, - * } from "@std/encoding/base64"; - * import { assertEquals } from "@std/assert"; - * - * const foobar = new TextEncoder().encode("foobar"); - * - * assertEquals(encodeBase64(foobar), "Zm9vYmFy"); - * assertEquals(decodeBase64("Zm9vYmFy"), foobar); - * ``` - * - * @module - */ -import { calcSizeBase64, decode, encode } from "./_common64.js"; -import { detach } from "./_common_detach.js"; -const padding = "=".charCodeAt(0); -const alphabet = new TextEncoder() - .encode("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"); -const rAlphabet = new Uint8Array(128).fill(64); // alphabet.length -alphabet.forEach((byte, i) => rAlphabet[byte] = i); -/** - * Converts data into a base64-encoded string. - * - * @see {@link https://www.rfc-editor.org/rfc/rfc4648.html#section-4} - * - * @param data The data to encode. - * @returns The base64-encoded string. - * - * @example Usage - * ```ts - * import { encodeBase64 } from "@std/encoding/base64"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(encodeBase64("foobar"), "Zm9vYmFy"); - * ``` - */ -export function encodeBase64(data) { - if (typeof data === "string") { - data = new TextEncoder().encode(data); - } - else if (data instanceof ArrayBuffer) - data = new Uint8Array(data).slice(); - else - data = data.slice(); - const [output, i] = detach(data, calcSizeBase64(data.length)); - encode(output, i, 0, alphabet, padding); - return new TextDecoder().decode(output); -} -/** - * Decodes a base64-encoded string. - * - * @see {@link https://www.rfc-editor.org/rfc/rfc4648.html#section-4} - * - * @param b64 The base64-encoded string to decode. - * @returns The decoded data. - * - * @example Usage - * ```ts - * import { decodeBase64 } from "@std/encoding/base64"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals( - * decodeBase64("Zm9vYmFy"), - * new TextEncoder().encode("foobar") - * ); - * ``` - */ -export function decodeBase64(b64) { - const output = new TextEncoder().encode(b64); - // deno-lint-ignore no-explicit-any - return new Uint8Array(output.buffer - .transfer(decode(output, 0, 0, rAlphabet, padding))); -} diff --git a/package/esm/deps/jsr.io/@std/fmt/1.0.8/bytes.d.ts b/package/esm/deps/jsr.io/@std/fmt/1.0.8/bytes.d.ts deleted file mode 100644 index 4892843..0000000 --- a/package/esm/deps/jsr.io/@std/fmt/1.0.8/bytes.d.ts +++ /dev/null @@ -1,94 +0,0 @@ -/** Options for {@linkcode format}. */ -export interface FormatOptions { - /** - * Uses bits representation. - * - * @default {false} - */ - bits?: boolean; - /** - * Uses binary bytes (e.g. kibibyte). - * - * @default {false} - */ - binary?: boolean; - /** - * Include plus sign for positive numbers. - * - * @default {false} - */ - signed?: boolean; - /** - * Uses localized number formatting. If it is set to true, uses default - * locale on the system. If it's set to string, uses that locale. The given - * string should be a - * {@link https://en.wikipedia.org/wiki/IETF_language_tag | BCP 47 language tag}. - * You can also give the list of language tags. - */ - locale?: boolean | string | string[]; - /** - * The minimum number of fraction digits to display. If neither - * {@linkcode minimumFractionDigits} or {@linkcode maximumFractionDigits} - * are set. - * - * @default {3} - */ - minimumFractionDigits?: number; - /** - * The maximum number of fraction digits to display. If neither - * {@linkcode minimumFractionDigits} or {@linkcode maximumFractionDigits} - * are set. - * - * @default {3} - */ - maximumFractionDigits?: number; -} -/** - * Convert bytes to a human-readable string: 1337 → 1.34 kB - * - * Based on {@link https://github.com/sindresorhus/pretty-bytes | pretty-bytes}. - * A utility for displaying file sizes for humans. - * - * @param num The bytes value to format - * @param options The options for formatting - * @returns The formatted string - * - * @example Basic usage - * ```ts - * import { format } from "@std/fmt/bytes"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(format(1337), "1.34 kB"); - * assertEquals(format(100), "100 B"); - * ``` - * - * @example Include bits representation - * - * ```ts - * import { format } from "@std/fmt/bytes"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(format(1337, { bits: true }), "1.34 kbit"); - * ``` - * - * @example Include sign - * - * ```ts - * import { format } from "@std/fmt/bytes"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(format(42, { signed: true }), "+42 B"); - * assertEquals(format(-42, { signed: true }), "-42 B"); - * ``` - * - * @example Change locale - * - * ```ts - * import { format } from "@std/fmt/bytes"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(format(1337, { locale: "de" }), "1,34 kB"); - * ``` - */ -export declare function format(num: number, options?: FormatOptions): string; -//# sourceMappingURL=bytes.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/fmt/1.0.8/bytes.d.ts.map b/package/esm/deps/jsr.io/@std/fmt/1.0.8/bytes.d.ts.map deleted file mode 100644 index e99f8c0..0000000 --- a/package/esm/deps/jsr.io/@std/fmt/1.0.8/bytes.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/fmt/1.0.8/bytes.ts"],"names":[],"mappings":"AA2BA,sCAAsC;AACtC,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;IACrC;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,MAAM,CACpB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,aAAkB,GAC1B,MAAM,CA8CR"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/fmt/1.0.8/bytes.js b/package/esm/deps/jsr.io/@std/fmt/1.0.8/bytes.js deleted file mode 100644 index fb84baf..0000000 --- a/package/esm/deps/jsr.io/@std/fmt/1.0.8/bytes.js +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright 2014-2021 Sindre Sorhus. All rights reserved. MIT license. -// Copyright 2021 Yoshiya Hinosawa. All rights reserved. MIT license. -// Copyright 2021 Giuseppe Eletto. All rights reserved. MIT license. -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -/** - * Convert bytes to a human-readable string: 1337 → 1.34 kB - * - * Based on {@link https://github.com/sindresorhus/pretty-bytes | pretty-bytes}. - * A utility for displaying file sizes for humans. - * - * @param num The bytes value to format - * @param options The options for formatting - * @returns The formatted string - * - * @example Basic usage - * ```ts - * import { format } from "@std/fmt/bytes"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(format(1337), "1.34 kB"); - * assertEquals(format(100), "100 B"); - * ``` - * - * @example Include bits representation - * - * ```ts - * import { format } from "@std/fmt/bytes"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(format(1337, { bits: true }), "1.34 kbit"); - * ``` - * - * @example Include sign - * - * ```ts - * import { format } from "@std/fmt/bytes"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(format(42, { signed: true }), "+42 B"); - * assertEquals(format(-42, { signed: true }), "-42 B"); - * ``` - * - * @example Change locale - * - * ```ts - * import { format } from "@std/fmt/bytes"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(format(1337, { locale: "de" }), "1,34 kB"); - * ``` - */ -export function format(num, options = {}) { - if (!Number.isFinite(num)) { - throw new TypeError(`Expected a finite number, got ${typeof num}: ${num}`); - } - const UNITS_FIRSTLETTER = (options.bits ? "b" : "B") + "kMGTPEZY"; - if (options.signed && num === 0) { - return ` 0 ${UNITS_FIRSTLETTER[0]}`; - } - const prefix = num < 0 ? "-" : (options.signed ? "+" : ""); - num = Math.abs(num); - const localeOptions = getLocaleOptions(options); - if (num < 1) { - const numberString = toLocaleString(num, options.locale, localeOptions); - return prefix + numberString + " " + UNITS_FIRSTLETTER[0]; - } - const exponent = Math.min(Math.floor(options.binary ? Math.log(num) / Math.log(1024) : Math.log10(num) / 3), UNITS_FIRSTLETTER.length - 1); - num /= Math.pow(options.binary ? 1024 : 1000, exponent); - if (!localeOptions) { - num = Number(num.toPrecision(3)); - } - const numberString = toLocaleString(num, options.locale, localeOptions); - let unit = UNITS_FIRSTLETTER[exponent]; - if (exponent > 0) { - unit += options.binary ? "i" : ""; - unit += options.bits ? "bit" : "B"; - } - return prefix + numberString + " " + unit; -} -function getLocaleOptions({ maximumFractionDigits, minimumFractionDigits }) { - if (maximumFractionDigits === undefined && minimumFractionDigits === undefined) { - return; - } - const ret = {}; - if (maximumFractionDigits !== undefined) { - ret.maximumFractionDigits = maximumFractionDigits; - } - if (minimumFractionDigits !== undefined) { - ret.minimumFractionDigits = minimumFractionDigits; - } - return ret; -} -/** - * Formats the given number using `Number#toLocaleString`. - * - If locale is a string, the value is expected to be a locale-key (for example: `de`). - * - If locale is true, the system default locale is used for translation. - * - If no value for locale is specified, the number is returned unmodified. - */ -function toLocaleString(num, locale, options) { - if (typeof locale === "string" || Array.isArray(locale)) { - return num.toLocaleString(locale, options); - } - else if (locale === true || options !== undefined) { - return num.toLocaleString(undefined, options); - } - return num.toString(); -} diff --git a/package/esm/deps/jsr.io/@std/fs/1.0.19/exists.d.ts b/package/esm/deps/jsr.io/@std/fs/1.0.19/exists.d.ts deleted file mode 100644 index f8ad2f2..0000000 --- a/package/esm/deps/jsr.io/@std/fs/1.0.19/exists.d.ts +++ /dev/null @@ -1,218 +0,0 @@ -export interface ExistsOptions { - /** - * When `true`, will check if the path is readable by the user as well. - * - * @default {false} - */ - isReadable?: boolean; - /** - * When `true`, will check if the path is a directory as well. Directory - * symlinks are included. - * - * @default {false} - */ - isDirectory?: boolean; - /** - * When `true`, will check if the path is a file as well. File symlinks are - * included. - * - * @default {false} - */ - isFile?: boolean; -} -/** - * Asynchronously test whether or not the given path exists by checking with - * the file system. - * - * Note: Do not use this function if performing a check before another operation - * on that file. Doing so creates a race condition. Instead, perform the actual - * file operation directly. This function is not recommended for this use case. - * See the recommended method below. - * - * @see {@link https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use} for - * more information on the time-of-check to time-of-use bug. - * - * Requires `--allow-read` permissions, and in some cases, `--allow-sys` - * permissions if `options.isReadable` is `true`. - * - * @see {@link https://docs.deno.com/runtime/manual/basics/permissions#file-system-access} - * for more information on Deno's permissions system. - * - * @param path The path to the file or directory, as a string or URL. - * @param options Additional options for the check. - * - * @returns A promise that resolves with `true` if the path exists, `false` - * otherwise. - * - * @example Recommended method - * ```ts ignore - * // Notice no use of exists - * try { - * await Deno.remove("./foo", { recursive: true }); - * } catch (error) { - * if (!(error instanceof Deno.errors.NotFound)) { - * throw error; - * } - * // Do nothing... - * } - * ``` - * - * Notice that `exists()` is not used in the above example. Doing so avoids a - * possible race condition. See the above note for details. - * - * @example Basic usage - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./exists"); // true - * await exists("./does_not_exist"); // false - * ``` - * - * @example Check if a path is readable - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./readable", { isReadable: true }); // true - * await exists("./not_readable", { isReadable: true }); // false - * ``` - * - * @example Check if a path is a directory - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./directory", { isDirectory: true }); // true - * await exists("./file", { isDirectory: true }); // false - * ``` - * - * @example Check if a path is a file - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./file", { isFile: true }); // true - * await exists("./directory", { isFile: true }); // false - * ``` - * - * @example Check if a path is a readable directory - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./readable_directory", { isReadable: true, isDirectory: true }); // true - * await exists("./not_readable_directory", { isReadable: true, isDirectory: true }); // false - * ``` - * - * @example Check if a path is a readable file - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./readable_file", { isReadable: true, isFile: true }); // true - * await exists("./not_readable_file", { isReadable: true, isFile: true }); // false - * ``` - */ -export declare function exists(path: string | URL, options?: ExistsOptions): Promise; -/** - * Synchronously test whether or not the given path exists by checking with - * the file system. - * - * Note: Do not use this function if performing a check before another operation - * on that file. Doing so creates a race condition. Instead, perform the actual - * file operation directly. This function is not recommended for this use case. - * See the recommended method below. - * - * @see {@link https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use} for - * more information on the time-of-check to time-of-use bug. - * - * Requires `--allow-read` permissions, and in some cases, `--allow-sys` - * permissions if `options.isReadable` is `true`. - * - * @see {@link https://docs.deno.com/runtime/manual/basics/permissions#file-system-access} - * for more information on Deno's permissions system. - * - * @param path The path to the file or directory, as a string or URL. - * @param options Additional options for the check. - * - * @returns `true` if the path exists, `false` otherwise. - * - * @example Recommended method - * ```ts ignore - * // Notice no use of exists - * try { - * Deno.removeSync("./foo", { recursive: true }); - * } catch (error) { - * if (!(error instanceof Deno.errors.NotFound)) { - * throw error; - * } - * // Do nothing... - * } - * ``` - * - * Notice that `existsSync()` is not used in the above example. Doing so avoids - * a possible race condition. See the above note for details. - * - * @example Basic usage - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./exists"); // true - * existsSync("./does_not_exist"); // false - * ``` - * - * @example Check if a path is readable - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./readable", { isReadable: true }); // true - * existsSync("./not_readable", { isReadable: true }); // false - * ``` - * - * @example Check if a path is a directory - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./directory", { isDirectory: true }); // true - * existsSync("./file", { isDirectory: true }); // false - * ``` - * - * @example Check if a path is a file - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./file", { isFile: true }); // true - * existsSync("./directory", { isFile: true }); // false - * ``` - * - * @example Check if a path is a readable directory - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./readable_directory", { isReadable: true, isDirectory: true }); // true - * existsSync("./not_readable_directory", { isReadable: true, isDirectory: true }); // false - * ``` - * - * @example Check if a path is a readable file - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./readable_file", { isReadable: true, isFile: true }); // true - * existsSync("./not_readable_file", { isReadable: true, isFile: true }); // false - * ``` - */ -export declare function existsSync(path: string | URL, options?: ExistsOptions): boolean; -//# sourceMappingURL=exists.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/fs/1.0.19/exists.d.ts.map b/package/esm/deps/jsr.io/@std/fs/1.0.19/exists.d.ts.map deleted file mode 100644 index 5f21cec..0000000 --- a/package/esm/deps/jsr.io/@std/fs/1.0.19/exists.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"exists.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/fs/1.0.19/exists.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgGG;AACH,wBAAsB,MAAM,CAC1B,IAAI,EAAE,MAAM,GAAG,GAAG,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC,CAsClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,GAAG,GAAG,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAqCT"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/fs/1.0.19/exists.js b/package/esm/deps/jsr.io/@std/fs/1.0.19/exists.js deleted file mode 100644 index c6d987b..0000000 --- a/package/esm/deps/jsr.io/@std/fs/1.0.19/exists.js +++ /dev/null @@ -1,271 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -/** Options for {@linkcode exists} and {@linkcode existsSync.} */ -import * as dntShim from "../../../../../_dnt.shims.js"; -/** - * Asynchronously test whether or not the given path exists by checking with - * the file system. - * - * Note: Do not use this function if performing a check before another operation - * on that file. Doing so creates a race condition. Instead, perform the actual - * file operation directly. This function is not recommended for this use case. - * See the recommended method below. - * - * @see {@link https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use} for - * more information on the time-of-check to time-of-use bug. - * - * Requires `--allow-read` permissions, and in some cases, `--allow-sys` - * permissions if `options.isReadable` is `true`. - * - * @see {@link https://docs.deno.com/runtime/manual/basics/permissions#file-system-access} - * for more information on Deno's permissions system. - * - * @param path The path to the file or directory, as a string or URL. - * @param options Additional options for the check. - * - * @returns A promise that resolves with `true` if the path exists, `false` - * otherwise. - * - * @example Recommended method - * ```ts ignore - * // Notice no use of exists - * try { - * await Deno.remove("./foo", { recursive: true }); - * } catch (error) { - * if (!(error instanceof Deno.errors.NotFound)) { - * throw error; - * } - * // Do nothing... - * } - * ``` - * - * Notice that `exists()` is not used in the above example. Doing so avoids a - * possible race condition. See the above note for details. - * - * @example Basic usage - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./exists"); // true - * await exists("./does_not_exist"); // false - * ``` - * - * @example Check if a path is readable - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./readable", { isReadable: true }); // true - * await exists("./not_readable", { isReadable: true }); // false - * ``` - * - * @example Check if a path is a directory - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./directory", { isDirectory: true }); // true - * await exists("./file", { isDirectory: true }); // false - * ``` - * - * @example Check if a path is a file - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./file", { isFile: true }); // true - * await exists("./directory", { isFile: true }); // false - * ``` - * - * @example Check if a path is a readable directory - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./readable_directory", { isReadable: true, isDirectory: true }); // true - * await exists("./not_readable_directory", { isReadable: true, isDirectory: true }); // false - * ``` - * - * @example Check if a path is a readable file - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./readable_file", { isReadable: true, isFile: true }); // true - * await exists("./not_readable_file", { isReadable: true, isFile: true }); // false - * ``` - */ -export async function exists(path, options) { - try { - const stat = await dntShim.Deno.stat(path); - if (options && - (options.isReadable || options.isDirectory || options.isFile)) { - if (options.isDirectory && options.isFile) { - throw new TypeError("ExistsOptions.options.isDirectory and ExistsOptions.options.isFile must not be true together"); - } - if ((options.isDirectory && !stat.isDirectory) || - (options.isFile && !stat.isFile)) { - return false; - } - if (options.isReadable) { - return fileIsReadable(stat); - } - } - return true; - } - catch (error) { - if (error instanceof dntShim.Deno.errors.NotFound) { - return false; - } - if (error instanceof dntShim.Deno.errors.PermissionDenied) { - if ((await dntShim.Deno.permissions.query({ name: "read", path })).state === - "granted") { - // --allow-read not missing - return !options?.isReadable; // PermissionDenied was raised by file system, so the item exists, but can't be read - } - } - throw error; - } -} -/** - * Synchronously test whether or not the given path exists by checking with - * the file system. - * - * Note: Do not use this function if performing a check before another operation - * on that file. Doing so creates a race condition. Instead, perform the actual - * file operation directly. This function is not recommended for this use case. - * See the recommended method below. - * - * @see {@link https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use} for - * more information on the time-of-check to time-of-use bug. - * - * Requires `--allow-read` permissions, and in some cases, `--allow-sys` - * permissions if `options.isReadable` is `true`. - * - * @see {@link https://docs.deno.com/runtime/manual/basics/permissions#file-system-access} - * for more information on Deno's permissions system. - * - * @param path The path to the file or directory, as a string or URL. - * @param options Additional options for the check. - * - * @returns `true` if the path exists, `false` otherwise. - * - * @example Recommended method - * ```ts ignore - * // Notice no use of exists - * try { - * Deno.removeSync("./foo", { recursive: true }); - * } catch (error) { - * if (!(error instanceof Deno.errors.NotFound)) { - * throw error; - * } - * // Do nothing... - * } - * ``` - * - * Notice that `existsSync()` is not used in the above example. Doing so avoids - * a possible race condition. See the above note for details. - * - * @example Basic usage - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./exists"); // true - * existsSync("./does_not_exist"); // false - * ``` - * - * @example Check if a path is readable - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./readable", { isReadable: true }); // true - * existsSync("./not_readable", { isReadable: true }); // false - * ``` - * - * @example Check if a path is a directory - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./directory", { isDirectory: true }); // true - * existsSync("./file", { isDirectory: true }); // false - * ``` - * - * @example Check if a path is a file - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./file", { isFile: true }); // true - * existsSync("./directory", { isFile: true }); // false - * ``` - * - * @example Check if a path is a readable directory - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./readable_directory", { isReadable: true, isDirectory: true }); // true - * existsSync("./not_readable_directory", { isReadable: true, isDirectory: true }); // false - * ``` - * - * @example Check if a path is a readable file - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./readable_file", { isReadable: true, isFile: true }); // true - * existsSync("./not_readable_file", { isReadable: true, isFile: true }); // false - * ``` - */ -export function existsSync(path, options) { - try { - const stat = dntShim.Deno.statSync(path); - if (options && - (options.isReadable || options.isDirectory || options.isFile)) { - if (options.isDirectory && options.isFile) { - throw new TypeError("ExistsOptions.options.isDirectory and ExistsOptions.options.isFile must not be true together"); - } - if ((options.isDirectory && !stat.isDirectory) || - (options.isFile && !stat.isFile)) { - return false; - } - if (options.isReadable) { - return fileIsReadable(stat); - } - } - return true; - } - catch (error) { - if (error instanceof dntShim.Deno.errors.NotFound) { - return false; - } - if (error instanceof dntShim.Deno.errors.PermissionDenied) { - if (dntShim.Deno.permissions.querySync({ name: "read", path }).state === "granted") { - // --allow-read not missing - return !options?.isReadable; // PermissionDenied was raised by file system, so the item exists, but can't be read - } - } - throw error; - } -} -function fileIsReadable(stat) { - if (stat.mode === null) { - return true; // Exclusive on Non-POSIX systems - } - else if (dntShim.Deno.uid() === stat.uid) { - return (stat.mode & 0o400) === 0o400; // User is owner and can read? - } - else if (dntShim.Deno.gid() === stat.gid) { - return (stat.mode & 0o040) === 0o040; // User group is owner and can read? - } - return (stat.mode & 0o004) === 0o004; // Others can read? -} diff --git a/package/esm/deps/jsr.io/@std/html/1.0.4/entities.d.ts b/package/esm/deps/jsr.io/@std/html/1.0.4/entities.d.ts deleted file mode 100644 index eece22c..0000000 --- a/package/esm/deps/jsr.io/@std/html/1.0.4/entities.d.ts +++ /dev/null @@ -1,57 +0,0 @@ -/** Object structure for a list of HTML entities. */ -export type EntityList = Record; -/** - * Escapes text for safe interpolation into HTML text content and quoted attributes. - * - * @example Usage - * ```ts - * import { escape } from "@std/html/entities"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(escape("<>'&AA"), "<>'&AA"); - * - * // Characters that don't need to be escaped will be left alone, - * // even if named HTML entities exist for them. - * assertEquals(escape("þð"), "þð"); - * ``` - * - * @param str The string to escape. - * @returns The escaped string. - */ -export declare function escape(str: string): string; -/** Options for {@linkcode unescape}. */ -export type UnescapeOptions = { - entityList: EntityList; -}; -/** - * Unescapes HTML entities in text. - * - * Default options only handle `&<>'"` and numeric entities. - * - * @example Basic usage - * ```ts - * import { unescape } from "@std/html/entities"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(unescape("<>'&AA"), "<>'&AA"); - * assertEquals(unescape("þð"), "þð"); - * ``` - * - * @example Using a custom entity list - * - * This uses the full named entity list from the HTML spec (~47K un-minified) - * - * ```ts - * import { unescape } from "@std/html/entities"; - * import entityList from "@std/html/named-entity-list.json" with { type: "json" }; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(unescape("<>'&AA", { entityList }), "<>'&AA"); - * ``` - * - * @param str The string to unescape. - * @param options Options for unescaping. - * @returns The unescaped string. - */ -export declare function unescape(str: string, options?: Partial): string; -//# sourceMappingURL=entities.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/html/1.0.4/entities.d.ts.map b/package/esm/deps/jsr.io/@std/html/1.0.4/entities.d.ts.map deleted file mode 100644 index 988724f..0000000 --- a/package/esm/deps/jsr.io/@std/html/1.0.4/entities.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/html/1.0.4/entities.ts"],"names":[],"mappings":"AAGA,oDAAoD;AACpD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAoBhD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED,wCAAwC;AACxC,MAAM,MAAM,eAAe,GAAG;IAAE,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAazD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,OAAO,CAAC,eAAe,CAAM,GACrC,MAAM,CAsBR"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/html/1.0.4/entities.js b/package/esm/deps/jsr.io/@std/html/1.0.4/entities.js deleted file mode 100644 index f1d6d05..0000000 --- a/package/esm/deps/jsr.io/@std/html/1.0.4/entities.js +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -const rawToEntityEntries = [ - ["&", "&"], - ["<", "<"], - [">", ">"], - ['"', """], - ["'", "'"], -]; -const defaultEntityList = Object.fromEntries([ - ...rawToEntityEntries.map(([raw, entity]) => [entity, raw]), - ["'", "'"], - [" ", "\xa0"], -]); -const rawToEntity = new Map(rawToEntityEntries); -const rawRe = new RegExp(`[${[...rawToEntity.keys()].join("")}]`, "g"); -/** - * Escapes text for safe interpolation into HTML text content and quoted attributes. - * - * @example Usage - * ```ts - * import { escape } from "@std/html/entities"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(escape("<>'&AA"), "<>'&AA"); - * - * // Characters that don't need to be escaped will be left alone, - * // even if named HTML entities exist for them. - * assertEquals(escape("þð"), "þð"); - * ``` - * - * @param str The string to escape. - * @returns The escaped string. - */ -export function escape(str) { - return str.replaceAll(rawRe, (m) => rawToEntity.get(m)); -} -const defaultUnescapeOptions = { - entityList: defaultEntityList, -}; -const MAX_CODE_POINT = 0x10ffff; -const RX_DEC_ENTITY = /&#([0-9]+);/g; -const RX_HEX_ENTITY = /&#x(\p{AHex}+);/gu; -const entityListRegexCache = new WeakMap(); -/** - * Unescapes HTML entities in text. - * - * Default options only handle `&<>'"` and numeric entities. - * - * @example Basic usage - * ```ts - * import { unescape } from "@std/html/entities"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(unescape("<>'&AA"), "<>'&AA"); - * assertEquals(unescape("þð"), "þð"); - * ``` - * - * @example Using a custom entity list - * - * This uses the full named entity list from the HTML spec (~47K un-minified) - * - * ```ts - * import { unescape } from "@std/html/entities"; - * import entityList from "@std/html/named-entity-list.json" with { type: "json" }; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(unescape("<>'&AA", { entityList }), "<>'&AA"); - * ``` - * - * @param str The string to unescape. - * @param options Options for unescaping. - * @returns The unescaped string. - */ -export function unescape(str, options = {}) { - const { entityList } = { ...defaultUnescapeOptions, ...options }; - let entityRe = entityListRegexCache.get(entityList); - if (!entityRe) { - entityRe = new RegExp(`(${Object.keys(entityList) - .sort((a, b) => b.length - a.length) - .join("|")})`, "g"); - entityListRegexCache.set(entityList, entityRe); - } - return str - .replaceAll(entityRe, (m) => entityList[m]) - .replaceAll(RX_DEC_ENTITY, (_, dec) => codePointStrToChar(dec, 10)) - .replaceAll(RX_HEX_ENTITY, (_, hex) => codePointStrToChar(hex, 16)); -} -function codePointStrToChar(codePointStr, radix) { - const codePoint = parseInt(codePointStr, radix); - return codePoint > MAX_CODE_POINT ? "�" : String.fromCodePoint(codePoint); -} diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/deno.d.ts b/package/esm/deps/jsr.io/@std/http/1.0.20/deno.d.ts deleted file mode 100644 index 79e2c02..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/deno.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -declare namespace _default { - let name: string; - let version: string; - let exports: { - ".": string; - "./cookie": string; - "./etag": string; - "./file-server": string; - "./unstable-file-server": string; - "./unstable-header": string; - "./unstable-method": string; - "./negotiation": string; - "./server-sent-event-stream": string; - "./status": string; - "./unstable-signed-cookie": string; - "./user-agent": string; - "./unstable-route": string; - }; -} -export default _default; -//# sourceMappingURL=deno.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/deno.d.ts.map b/package/esm/deps/jsr.io/@std/http/1.0.20/deno.d.ts.map deleted file mode 100644 index 97772fc..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/deno.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"deno.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/http/1.0.20/deno.js"],"names":[],"mappings":""} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/deno.js b/package/esm/deps/jsr.io/@std/http/1.0.20/deno.js deleted file mode 100644 index 0d0ef3c..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/deno.js +++ /dev/null @@ -1,19 +0,0 @@ -export default { - "name": "@std/http", - "version": "1.0.20", - "exports": { - ".": "./mod.ts", - "./cookie": "./cookie.ts", - "./etag": "./etag.ts", - "./file-server": "./file_server.ts", - "./unstable-file-server": "./unstable_file_server.ts", - "./unstable-header": "./unstable_header.ts", - "./unstable-method": "./unstable_method.ts", - "./negotiation": "./negotiation.ts", - "./server-sent-event-stream": "./server_sent_event_stream.ts", - "./status": "./status.ts", - "./unstable-signed-cookie": "./unstable_signed_cookie.ts", - "./user-agent": "./user_agent.ts", - "./unstable-route": "./unstable_route.ts" - } -}; diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/etag.d.ts b/package/esm/deps/jsr.io/@std/http/1.0.20/etag.d.ts deleted file mode 100644 index 71f9d44..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/etag.d.ts +++ /dev/null @@ -1,148 +0,0 @@ -/** - * Just the part of {@linkcode Deno.FileInfo} that is required to calculate an `ETag`, - * so partial or user generated file information can be passed. - */ -export interface FileInfo { - /** The last modification time of the file. This corresponds to the `mtime` - * field from `stat` on Linux/Mac OS and `ftLastWriteTime` on Windows. This - * may not be available on all platforms. */ - mtime: Date | null; - /** The size of the file, in bytes. */ - size: number; -} -/** Options for {@linkcode eTag}. */ -export interface ETagOptions { - /** - * A digest algorithm to use to calculate the etag. - * - * @default {"SHA-256"} - */ - algorithm?: AlgorithmIdentifier; - /** - * Override the default behavior of calculating the `ETag`, either forcing - * a tag to be labelled weak or not. - * - * Defaults to `true` when the entity is a `FileInfo` and `false` otherwise. - */ - weak?: boolean; -} -/** - * Calculate an ETag for string or `Uint8Array` entities. This returns a - * {@linkcode https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag#etag_value | strong tag} - * of the form `""`, which guarantees the byte-for-byte equality of the resource. - * - * You can optionally set true to the `weak` option to get a weak tag. - * - * @example Usage - * ```ts - * import { eTag } from "@std/http/etag"; - * import { assert } from "@std/assert"; - * - * const body = "hello deno!"; - * - * const etag = await eTag(body); - * assert(etag); - * - * const res = new Response(body, { headers: { etag } }); - * ``` - * - * @param entity The entity to get the ETag for. - * @param options Various additional options. - * @returns The calculated ETag. - */ -export declare function eTag(entity: string | Uint8Array, options?: ETagOptions): Promise; -/** - * Calculate an ETag for file information entity. This returns a - * {@linkcode https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag#w | weak tag} - * of the form `W\""`, which guarantees the equivalence of the resource, - * not the byte-for-byte equality. - * - * @example Usage - * ```ts - * import { eTag } from "@std/http/etag"; - * import { assert } from "@std/assert"; - * - * const fileInfo = await Deno.stat("README.md"); - * - * const etag = await eTag(fileInfo); - * assert(etag); - * - * using file = await Deno.open("README.md"); - * - * const res = new Response(file.readable, { headers: { etag } }); - * ``` - * - * @param entity The entity to get the ETag for. - * @param options Various additional options. - * @returns The calculated ETag. - */ -export declare function eTag(entity: FileInfo, options?: ETagOptions): Promise; -/** A helper function that takes the value from the `If-Match` header and a - * calculated etag for the target. By using strong comparison, return `true` if - * the values match, otherwise `false`. - * - * See MDN's [`If-Match`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match) - * article for more information on how to use this function. - * - * @example Usage - * ```ts ignore - * import { - * eTag, - * ifMatch, - * } from "@std/http/etag"; - * import { assert } from "@std/assert"; - * - * const body = "hello deno!"; - * - * Deno.serve(async (req) => { - * const ifMatchValue = req.headers.get("if-match"); - * const etag = await eTag(body); - * assert(etag); - * if (!ifMatchValue || ifMatch(ifMatchValue, etag)) { - * return new Response(body, { status: 200, headers: { etag } }); - * } else { - * return new Response(null, { status: 412, statusText: "Precondition Failed"}); - * } - * }); - * ``` - * - * @param value the If-Match header value. - * @param etag the ETag to check against. - * @returns whether or not the parameters match. - */ -export declare function ifMatch(value: string | null, etag: string | undefined): boolean; -/** A helper function that takes the value from the `If-None-Match` header and - * a calculated etag for the target entity and returns `false` if the etag for - * the entity matches the supplied value, otherwise `true`. - * - * See MDN's [`If-None-Match`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match) - * article for more information on how to use this function. - * - * @example Usage - * ```ts ignore - * import { - * eTag, - * ifNoneMatch, - * } from "@std/http/etag"; - * import { assert } from "@std/assert"; - * - * const body = "hello deno!"; - * - * Deno.serve(async (req) => { - * const ifNoneMatchValue = req.headers.get("if-none-match"); - * const etag = await eTag(body); - * assert(etag); - * if (!ifNoneMatch(ifNoneMatchValue, etag)) { - * return new Response(null, { status: 304, headers: { etag } }); - * } else { - * return new Response(body, { status: 200, headers: { etag } }); - * } - * }); - * ``` - * - * @param value the If-None-Match header value. - * @param etag the ETag to check against. - * @returns whether or not the parameters do not match. - */ -export declare function ifNoneMatch(value: string | null, etag: string | undefined): boolean; -//# sourceMappingURL=etag.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/etag.d.ts.map b/package/esm/deps/jsr.io/@std/http/1.0.20/etag.d.ts.map deleted file mode 100644 index 7277720..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/etag.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"etag.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/http/1.0.20/etag.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB;;gDAE4C;IAC5C,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,oCAAoC;AACpC,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAEhC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA0CD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,IAAI,CACxB,MAAM,EAAE,MAAM,GAAG,UAAU,EAC3B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,CAAC;AACnB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,IAAI,CACxB,MAAM,EAAE,QAAQ,EAChB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAiB/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,OAAO,CAUT;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,OAAO,CAYT"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/etag.js b/package/esm/deps/jsr.io/@std/http/1.0.20/etag.js deleted file mode 100644 index f6f3c25..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/etag.js +++ /dev/null @@ -1,135 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -/** - * Provides functions for dealing with and matching ETags, including - * {@linkcode eTag} to calculate an etag for a given entity, - * {@linkcode ifMatch} for validating if an ETag matches against a `If-Match` - * header and {@linkcode ifNoneMatch} for validating an Etag against an - * `If-None-Match` header. - * - * See further information on the `ETag` header on - * {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag | MDN}. - * - * @module - */ -import { encodeBase64 as base64Encode } from "../../encoding/1.0.10/base64.js"; -const encoder = new TextEncoder(); -const DEFAULT_ALGORITHM = "SHA-256"; -function isFileInfo(value) { - return Boolean(value && typeof value === "object" && "mtime" in value && "size" in value); -} -async function calcEntity(entity, { algorithm = DEFAULT_ALGORITHM }) { - // a short circuit for zero length entities - if (entity.length === 0) { - return `0-47DEQpj8HBSa+/TImW+5JCeuQeR`; - } - if (typeof entity === "string") { - entity = encoder.encode(entity); - } - const hash = base64Encode(await crypto.subtle.digest(algorithm, entity)) - .substring(0, 27); - return `${entity.length.toString(16)}-${hash}`; -} -async function calcFileInfo(fileInfo, { algorithm = DEFAULT_ALGORITHM }) { - if (fileInfo.mtime) { - const hash = base64Encode(await crypto.subtle.digest(algorithm, encoder.encode(fileInfo.mtime.toJSON()))).substring(0, 27); - return `${fileInfo.size.toString(16)}-${hash}`; - } -} -export async function eTag(entity, options = {}) { - const weak = options.weak ?? isFileInfo(entity); - const tag = await (isFileInfo(entity) - ? calcFileInfo(entity, options) - : calcEntity(entity, options)); - return tag ? weak ? `W/"${tag}"` : `"${tag}"` : undefined; -} -const STAR_REGEXP = /^\s*\*\s*$/; -const COMMA_REGEXP = /\s*,\s*/; -/** A helper function that takes the value from the `If-Match` header and a - * calculated etag for the target. By using strong comparison, return `true` if - * the values match, otherwise `false`. - * - * See MDN's [`If-Match`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match) - * article for more information on how to use this function. - * - * @example Usage - * ```ts ignore - * import { - * eTag, - * ifMatch, - * } from "@std/http/etag"; - * import { assert } from "@std/assert"; - * - * const body = "hello deno!"; - * - * Deno.serve(async (req) => { - * const ifMatchValue = req.headers.get("if-match"); - * const etag = await eTag(body); - * assert(etag); - * if (!ifMatchValue || ifMatch(ifMatchValue, etag)) { - * return new Response(body, { status: 200, headers: { etag } }); - * } else { - * return new Response(null, { status: 412, statusText: "Precondition Failed"}); - * } - * }); - * ``` - * - * @param value the If-Match header value. - * @param etag the ETag to check against. - * @returns whether or not the parameters match. - */ -export function ifMatch(value, etag) { - // Weak tags cannot be matched and return false. - if (!value || !etag || etag.startsWith("W/")) { - return false; - } - if (STAR_REGEXP.test(value)) { - return true; - } - const tags = value.split(COMMA_REGEXP); - return tags.includes(etag); -} -/** A helper function that takes the value from the `If-None-Match` header and - * a calculated etag for the target entity and returns `false` if the etag for - * the entity matches the supplied value, otherwise `true`. - * - * See MDN's [`If-None-Match`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match) - * article for more information on how to use this function. - * - * @example Usage - * ```ts ignore - * import { - * eTag, - * ifNoneMatch, - * } from "@std/http/etag"; - * import { assert } from "@std/assert"; - * - * const body = "hello deno!"; - * - * Deno.serve(async (req) => { - * const ifNoneMatchValue = req.headers.get("if-none-match"); - * const etag = await eTag(body); - * assert(etag); - * if (!ifNoneMatch(ifNoneMatchValue, etag)) { - * return new Response(null, { status: 304, headers: { etag } }); - * } else { - * return new Response(body, { status: 200, headers: { etag } }); - * } - * }); - * ``` - * - * @param value the If-None-Match header value. - * @param etag the ETag to check against. - * @returns whether or not the parameters do not match. - */ -export function ifNoneMatch(value, etag) { - if (!value || !etag) { - return true; - } - if (STAR_REGEXP.test(value)) { - return false; - } - etag = etag.startsWith("W/") ? etag.slice(2) : etag; - const tags = value.split(COMMA_REGEXP).map((tag) => tag.startsWith("W/") ? tag.slice(2) : tag); - return !tags.includes(etag); -} diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/file_server.d.ts b/package/esm/deps/jsr.io/@std/http/1.0.20/file_server.d.ts deleted file mode 100644 index 6675a15..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/file_server.d.ts +++ /dev/null @@ -1,123 +0,0 @@ -import * as dntShim from "../../../../../_dnt.shims.js"; -/** Options for {@linkcode serveFile}. */ -export interface ServeFileOptions { - /** - * The algorithm to use for generating the ETag. - * - * @default {"SHA-256"} - */ - etagAlgorithm?: AlgorithmIdentifier; - /** - * An optional object returned by {@linkcode Deno.stat}. It is used for - * optimization purposes. - * - * Defaults to the result of calling {@linkcode Deno.stat} with the provided - * `filePath`. - */ - fileInfo?: dntShim.Deno.FileInfo; -} -/** - * Resolves a {@linkcode Response} with the requested file as the body. - * - * @example Usage - * ```ts ignore - * import { serveFile } from "@std/http/file-server"; - * - * Deno.serve((req) => { - * return serveFile(req, "README.md"); - * }); - * ``` - * - * @param req The server request context used to cleanup the file handle. - * @param filePath Path of the file to serve. - * @param options Additional options. - * @returns A response for the request. - */ -export declare function serveFile(req: Request, filePath: string, options?: ServeFileOptions): Promise; -/** Interface for serveDir options. */ -export interface ServeDirOptions { - /** Serves the files under the given directory root. Defaults to your current directory. - * - * @default {"."} - */ - fsRoot?: string; - /** Specified that part is stripped from the beginning of the requested pathname. - */ - urlRoot?: string; - /** Enable directory listing. - * - * @default {false} - */ - showDirListing?: boolean; - /** Serves dotfiles. - * - * @default {false} - */ - showDotfiles?: boolean; - /** Serves `index.html` as the index file of the directory. - * - * @default {true} - */ - showIndex?: boolean; - /** - * Enable CORS via the - * {@linkcode https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin | Access-Control-Allow-Origin} - * header. - * - * @default {false} - */ - enableCors?: boolean; - /** Do not print request level logs. - * - * @default {false} - */ - quiet?: boolean; - /** The algorithm to use for generating the ETag. - * - * @default {"SHA-256"} - */ - etagAlgorithm?: AlgorithmIdentifier; - /** Headers to add to each response - * - * @default {[]} - */ - headers?: string[]; -} -/** - * Serves the files under the given directory root (opts.fsRoot). - * - * @example Usage - * ```ts ignore - * import { serveDir } from "@std/http/file-server"; - * - * Deno.serve((req) => { - * const pathname = new URL(req.url).pathname; - * if (pathname.startsWith("/static")) { - * return serveDir(req, { - * fsRoot: "path/to/static/files/dir", - * }); - * } - * // Do dynamic responses - * return new Response(); - * }); - * ``` - * - * @example Changing the URL root - * - * Requests to `/static/path/to/file` will be served from `./public/path/to/file`. - * - * ```ts ignore - * import { serveDir } from "@std/http/file-server"; - * - * Deno.serve((req) => serveDir(req, { - * fsRoot: "public", - * urlRoot: "static", - * })); - * ``` - * - * @param req The request to handle - * @param opts Additional options. - * @returns A response for the request. - */ -export declare function serveDir(req: Request, opts?: ServeDirOptions): Promise; -//# sourceMappingURL=file_server.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/file_server.d.ts.map b/package/esm/deps/jsr.io/@std/http/1.0.20/file_server.d.ts.map deleted file mode 100644 index ee334f1..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/file_server.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"file_server.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/http/1.0.20/file_server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,8BAA8B,CAAC;AA8IxD,yCAAyC;AACzC,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,QAAQ,CAAC,CAuJnB;AA4OD,sCAAsC;AACtC,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;OACG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,OAAO,EACZ,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,QAAQ,CAAC,CAsCnB"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/file_server.js b/package/esm/deps/jsr.io/@std/http/1.0.20/file_server.js deleted file mode 100644 index e330cdd..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/file_server.js +++ /dev/null @@ -1,757 +0,0 @@ -import * as dntShim from "../../../../../_dnt.shims.js"; -!/usr/bin / env - S; -deno; -run--; -allow - net--; -allow - read; -// Copyright 2018-2025 the Deno authors. MIT license. -// This program serves files in the current directory over HTTP. -// TODO(bartlomieju): Add tests like these: -// https://github.com/indexzero/http-server/blob/master/test/http-server-test.js -/** - * Contains functions {@linkcode serveDir} and {@linkcode serveFile} for - * building a static file server. - * - * This module can also be used as a CLI. If you want to run it directly: - * - * ```shell - * > # start server - * > deno run --allow-net --allow-read --allow-sys jsr:@std/http/file-server - * > # show help - * > deno run jsr:@std/http/file-server --help - * ``` - * - * If you want to install and run: - * - * ```shell - * > # install - * > deno install --allow-net --allow-read --allow-sys --global jsr:@std/http/file-server - * > # start server - * > file-server - * > # show help - * > file-server --help - * ``` - * - * @module - */ -import { normalize as posixNormalize } from "../../path/1.1.2/posix/normalize.js"; -import { extname } from "../../path/1.1.2/extname.js"; -import { join } from "../../path/1.1.2/join.js"; -import { relative } from "../../path/1.1.2/relative.js"; -import { resolve } from "../../path/1.1.2/resolve.js"; -import { SEPARATOR_PATTERN } from "../../path/1.1.2/constants.js"; -import { exists } from "../../fs/1.0.19/exists.js"; -import { contentType } from "../../media-types/1.1.0/content_type.js"; -import { eTag, ifNoneMatch } from "./etag.js"; -import { isRedirectStatus, STATUS_CODE, STATUS_TEXT, } from "./status.js"; -import { ByteSliceStream } from "../../streams/1.0.12/byte_slice_stream.js"; -import { parseArgs } from "../../cli/1.0.22/parse_args.js"; -import denoConfig from "./deno.js"; -import { format as formatBytes } from "../../fmt/1.0.8/bytes.js"; -import { getNetworkAddress } from "../../net/1.0.6/unstable_get_network_address.js"; -import { escape } from "../../html/1.0.4/entities.js"; -import { HEADER } from "./unstable_header.js"; -import { METHOD } from "./unstable_method.js"; -const ENV_PERM_STATUS = dntShim.Deno.permissions.querySync?.({ name: "env", variable: "DENO_DEPLOYMENT_ID" }) - .state ?? "granted"; // for deno deploy -const NET_PERM_STATUS = dntShim.Deno.permissions.querySync?.({ name: "sys", kind: "networkInterfaces" }) - .state ?? "granted"; // for deno deploy -const DENO_DEPLOYMENT_ID = ENV_PERM_STATUS === "granted" - ? dntShim.Deno.env.get("DENO_DEPLOYMENT_ID") - : undefined; -const HASHED_DENO_DEPLOYMENT_ID = DENO_DEPLOYMENT_ID - ? eTag(DENO_DEPLOYMENT_ID, { weak: true }) - : undefined; -function modeToString(isDir, maybeMode) { - const modeMap = ["---", "--x", "-w-", "-wx", "r--", "r-x", "rw-", "rwx"]; - if (maybeMode === null) { - return "(unknown mode)"; - } - const mode = maybeMode.toString(8).padStart(3, "0"); - let output = ""; - mode - .split("") - .reverse() - .slice(0, 3) - .forEach((v) => { - output = `${modeMap[+v]} ${output}`; - }); - output = `${isDir ? "d" : "-"} ${output}`; - return output; -} -function createStandardResponse(status, init) { - const statusText = STATUS_TEXT[status]; - return new Response(statusText, { status, statusText, ...init }); -} -/** - * parse range header. - * - * ```ts ignore - * parseRangeHeader("bytes=0-100", 500); // => { start: 0, end: 100 } - * parseRangeHeader("bytes=0-", 500); // => { start: 0, end: 499 } - * parseRangeHeader("bytes=-100", 500); // => { start: 400, end: 499 } - * parseRangeHeader("bytes=invalid", 500); // => null - * ``` - * - * Note: Currently, no support for multiple Ranges (e.g. `bytes=0-10, 20-30`) - */ -function parseRangeHeader(rangeValue, fileSize) { - const rangeRegex = /bytes=(?\d+)?-(?\d+)?$/u; - const parsed = rangeValue.match(rangeRegex); - if (!parsed || !parsed.groups) { - // failed to parse range header - return null; - } - const { start, end } = parsed.groups; - if (start !== undefined) { - if (end !== undefined) { - return { start: +start, end: +end }; - } - else { - return { start: +start, end: fileSize - 1 }; - } - } - else { - if (end !== undefined) { - // example: `bytes=-100` means the last 100 bytes. - return { start: fileSize - +end, end: fileSize - 1 }; - } - else { - // failed to parse range header - return null; - } - } -} -/** - * Resolves a {@linkcode Response} with the requested file as the body. - * - * @example Usage - * ```ts ignore - * import { serveFile } from "@std/http/file-server"; - * - * Deno.serve((req) => { - * return serveFile(req, "README.md"); - * }); - * ``` - * - * @param req The server request context used to cleanup the file handle. - * @param filePath Path of the file to serve. - * @param options Additional options. - * @returns A response for the request. - */ -export async function serveFile(req, filePath, options) { - if (req.method !== METHOD.Get && req.method !== METHOD.Head) { - return createStandardResponse(STATUS_CODE.MethodNotAllowed); - } - let { etagAlgorithm: algorithm = "SHA-256", fileInfo } = options ?? {}; - try { - fileInfo ??= await dntShim.Deno.stat(filePath); - } - catch (error) { - if (error instanceof dntShim.Deno.errors.NotFound) { - await req.body?.cancel(); - return createStandardResponse(STATUS_CODE.NotFound); - } - else { - throw error; - } - } - if (fileInfo.isDirectory) { - await req.body?.cancel(); - return createStandardResponse(STATUS_CODE.NotFound); - } - const headers = createBaseHeaders(); - const etag = fileInfo.mtime - ? await eTag(fileInfo, { algorithm }) - : await HASHED_DENO_DEPLOYMENT_ID; - // Set last modified header if last modification timestamp is available - if (fileInfo.mtime) { - headers.set(HEADER.LastModified, fileInfo.mtime.toUTCString()); - } - if (etag) { - headers.set(HEADER.ETag, etag); - } - // Set mime-type using the file extension in filePath - const contentTypeValue = contentType(extname(filePath)); - if (contentTypeValue) { - headers.set(HEADER.ContentType, contentTypeValue); - } - const fileSize = fileInfo.size; - if (req.method === METHOD.Head) { - // Set content length - headers.set(HEADER.ContentLength, `${fileSize}`); - const status = STATUS_CODE.OK; - return new Response(null, { - status, - statusText: STATUS_TEXT[status], - headers, - }); - } - if (etag || fileInfo.mtime) { - // If a `if-none-match` header is present and the value matches the tag or - // if a `if-modified-since` header is present and the value is bigger than - // the access timestamp value, then return 304 - const ifNoneMatchValue = req.headers.get(HEADER.IfNoneMatch); - const ifModifiedSinceValue = req.headers.get(HEADER.IfModifiedSince); - if ((!ifNoneMatch(ifNoneMatchValue, etag)) || - (ifNoneMatchValue === null && - fileInfo.mtime && - ifModifiedSinceValue && - fileInfo.mtime.getTime() < - new Date(ifModifiedSinceValue).getTime() + 1000)) { - const status = STATUS_CODE.NotModified; - return new Response(null, { - status, - statusText: STATUS_TEXT[status], - headers, - }); - } - } - const rangeValue = req.headers.get(HEADER.Range); - // handle range request - // Note: Some clients add a Range header to all requests to limit the size of the response. - // If the file is empty, ignore the range header and respond with a 200 rather than a 416. - // https://github.com/golang/go/blob/0d347544cbca0f42b160424f6bc2458ebcc7b3fc/src/net/http/fs.go#L273-L276 - if (rangeValue && 0 < fileSize) { - const parsed = parseRangeHeader(rangeValue, fileSize); - // Returns 200 OK if parsing the range header fails - if (!parsed) { - // Set content length - headers.set(HEADER.ContentLength, `${fileSize}`); - const file = await dntShim.Deno.open(filePath); - const status = STATUS_CODE.OK; - return new Response(file.readable, { - status, - statusText: STATUS_TEXT[status], - headers, - }); - } - // Return 416 Range Not Satisfiable if invalid range header value - if (parsed.end < 0 || - parsed.end < parsed.start || - fileSize <= parsed.start) { - // Set the "Content-range" header - headers.set(HEADER.ContentRange, `bytes */${fileSize}`); - return createStandardResponse(STATUS_CODE.RangeNotSatisfiable, { headers }); - } - // clamps the range header value - const start = Math.max(0, parsed.start); - const end = Math.min(parsed.end, fileSize - 1); - // Set the "Content-range" header - headers.set(HEADER.ContentRange, `bytes ${start}-${end}/${fileSize}`); - // Set content length - const contentLength = end - start + 1; - headers.set(HEADER.ContentLength, `${contentLength}`); - // Return 206 Partial Content - const file = await dntShim.Deno.open(filePath); - await file.seek(start, dntShim.Deno.SeekMode.Start); - const sliced = file.readable - .pipeThrough(new ByteSliceStream(0, contentLength - 1)); - const status = STATUS_CODE.PartialContent; - return new Response(sliced, { - status, - statusText: STATUS_TEXT[status], - headers, - }); - } - // Set content length - headers.set(HEADER.ContentLength, `${fileSize}`); - const file = await dntShim.Deno.open(filePath); - const status = STATUS_CODE.OK; - return new Response(file.readable, { - status, - statusText: STATUS_TEXT[status], - headers, - }); -} -async function serveDirIndex(dirPath, options) { - const { showDotfiles } = options; - const dirUrl = `/${relative(options.target, dirPath).replaceAll(new RegExp(SEPARATOR_PATTERN, "g"), "/")}`; - const listEntryPromise = []; - // if ".." makes sense - if (dirUrl !== "/") { - const prevPath = join(dirPath, ".."); - const entryInfo = dntShim.Deno.stat(prevPath).then((fileInfo) => ({ - mode: modeToString(true, fileInfo.mode), - size: "", - name: "../", - url: "..", - })); - listEntryPromise.push(entryInfo); - } - // Read fileInfo in parallel - for await (const entry of dntShim.Deno.readDir(dirPath)) { - if (!showDotfiles && entry.name[0] === ".") { - continue; - } - const filePath = join(dirPath, entry.name); - const fileUrl = encodeURIComponent(entry.name) - .replaceAll("%2F", "/"); - listEntryPromise.push((async () => { - try { - const fileInfo = await dntShim.Deno.stat(filePath); - return { - mode: modeToString(entry.isDirectory, fileInfo.mode), - size: entry.isFile ? formatBytes(fileInfo.size ?? 0) : "", - name: `${entry.name}${entry.isDirectory ? "/" : ""}`, - url: `./${fileUrl}${entry.isDirectory ? "/" : ""}`, - }; - } - catch (error) { - // Note: Deno.stat for windows system files may be rejected with os error 32. - if (!options.quiet) - logError(error); - return { - mode: "(unknown mode)", - size: "", - name: `${entry.name}${entry.isDirectory ? "/" : ""}`, - url: `./${fileUrl}${entry.isDirectory ? "/" : ""}`, - }; - } - })()); - } - const listEntry = await Promise.all(listEntryPromise); - listEntry.sort((a, b) => - // TODO(iuioiua): Add test to ensure list order is correct - a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1); - const formattedDirUrl = `${dirUrl.replace(/\/$/, "")}/`; - const page = dirViewerTemplate(formattedDirUrl, listEntry); - const headers = createBaseHeaders(); - headers.set(HEADER.ContentType, "text/html; charset=UTF-8"); - const status = STATUS_CODE.OK; - return new Response(page, { - status, - statusText: STATUS_TEXT[status], - headers, - }); -} -function serverLog(req, status) { - const d = new Date().toISOString(); - const dateFmt = `[${d.slice(0, 10)} ${d.slice(11, 19)}]`; - const url = new URL(req.url); - const s = `${dateFmt} [${req.method}] ${url.pathname}${url.search} ${status}`; - // using console.debug instead of console.log so chrome inspect users can hide request logs - // deno-lint-ignore no-console - console.debug(s); -} -function createBaseHeaders() { - return new Headers({ - server: "deno", - // Set "accept-ranges" so that the client knows it can make range requests on future requests - [HEADER.AcceptRanges]: "bytes", - }); -} -function html(strings, ...values) { - let out = ""; - for (let i = 0; i < strings.length; ++i) { - out += strings[i]; - if (i < values.length) - out += values[i] ?? ""; - } - return out; -} -function dirViewerTemplate(dirname, entries) { - const splitDirname = dirname.split("/").filter((path) => Boolean(path)); - const headerPaths = ["home", ...splitDirname]; - return html ` - - - - - - - Deno File Server - - - -
-

- Index of ${headerPaths - .map((path, index) => { - if (path === "") - return ""; - const depth = headerPaths.length - index - 1; - let link; - if (depth == 0) { - link = "."; - } - else { - link = "../".repeat(depth); - } - // deno-fmt-ignore - return html `${escape(path)}`; - }) - .join("/")}/ -

- - - - - - - - - ${entries - .map((entry) => html ` - - - - - - `) - .join("")} -
ModeSizeName
- ${entry.mode} - - ${entry.size} - - ${escape(entry.name)} -
-
- - - `; -} -/** - * Serves the files under the given directory root (opts.fsRoot). - * - * @example Usage - * ```ts ignore - * import { serveDir } from "@std/http/file-server"; - * - * Deno.serve((req) => { - * const pathname = new URL(req.url).pathname; - * if (pathname.startsWith("/static")) { - * return serveDir(req, { - * fsRoot: "path/to/static/files/dir", - * }); - * } - * // Do dynamic responses - * return new Response(); - * }); - * ``` - * - * @example Changing the URL root - * - * Requests to `/static/path/to/file` will be served from `./public/path/to/file`. - * - * ```ts ignore - * import { serveDir } from "@std/http/file-server"; - * - * Deno.serve((req) => serveDir(req, { - * fsRoot: "public", - * urlRoot: "static", - * })); - * ``` - * - * @param req The request to handle - * @param opts Additional options. - * @returns A response for the request. - */ -export async function serveDir(req, opts = {}) { - if (req.method !== METHOD.Get) { - return createStandardResponse(STATUS_CODE.MethodNotAllowed); - } - let response; - try { - response = await createServeDirResponse(req, opts); - } - catch (error) { - if (!opts.quiet) - logError(error); - response = error instanceof dntShim.Deno.errors.NotFound - ? createStandardResponse(STATUS_CODE.NotFound) - : createStandardResponse(STATUS_CODE.InternalServerError); - } - // Do not update the header if the response is a 301 redirect. - const isRedirectResponse = isRedirectStatus(response.status); - if (opts.enableCors && !isRedirectResponse) { - response.headers.append(HEADER.AccessControlAllowOrigin, "*"); - response.headers.append(HEADER.AccessControlAllowHeaders, "Origin, X-Requested-With, Content-Type, Accept, Range"); - } - if (!opts.quiet) - serverLog(req, response.status); - if (opts.headers && !isRedirectResponse) { - for (const header of opts.headers) { - const headerSplit = header.split(":"); - const name = headerSplit[0]; - const value = headerSplit.slice(1).join(":"); - response.headers.append(name, value); - } - } - return response; -} -async function createServeDirResponse(req, opts) { - const target = opts.fsRoot ?? "."; - const urlRoot = opts.urlRoot; - const showIndex = opts.showIndex ?? true; - const cleanUrls = opts.cleanUrls ?? false; - const showDotfiles = opts.showDotfiles || false; - const { etagAlgorithm = "SHA-256", showDirListing = false, quiet = false } = opts; - const url = new URL(req.url); - const decodedUrl = decodeURIComponent(url.pathname); - let normalizedPath = posixNormalize(decodedUrl); - if (urlRoot && !normalizedPath.startsWith("/" + urlRoot)) { - return createStandardResponse(STATUS_CODE.NotFound); - } - // Redirect paths like `/foo////bar` and `/foo/bar/////` to normalized paths. - if (normalizedPath !== decodedUrl) { - url.pathname = normalizedPath; - return Response.redirect(url, 301); - } - if (urlRoot) { - normalizedPath = normalizedPath.replace(urlRoot, ""); - } - // Remove trailing slashes to avoid ENOENT errors - // when accessing a path to a file with a trailing slash. - if (normalizedPath.endsWith("/")) { - normalizedPath = normalizedPath.slice(0, -1); - } - // Exclude dotfiles if showDotfiles is false - if (!showDotfiles && /\/\./.test(normalizedPath)) { - return createStandardResponse(STATUS_CODE.NotFound); - } - // Resolve path - // If cleanUrls is enabled, automatically append ".html" if not present - // and it does not shadow another existing file or directory - let fsPath = join(target, normalizedPath); - if (cleanUrls && !fsPath.endsWith(".html") && !(await exists(fsPath))) { - fsPath += ".html"; - } - const fileInfo = await dntShim.Deno.stat(fsPath); - // For files, remove the trailing slash from the path. - if (fileInfo.isFile && url.pathname.endsWith("/")) { - url.pathname = url.pathname.slice(0, -1); - return Response.redirect(url, 301); - } - // For directories, the path must have a trailing slash. - if (fileInfo.isDirectory && !url.pathname.endsWith("/")) { - // On directory listing pages, - // if the current URL's pathname doesn't end with a slash, any - // relative URLs in the index file will resolve against the parent - // directory, rather than the current directory. To prevent that, we - // return a 301 redirect to the URL with a slash. - url.pathname += "/"; - return Response.redirect(url, 301); - } - // if target is file, serve file. - if (!fileInfo.isDirectory) { - return serveFile(req, fsPath, { - etagAlgorithm, - fileInfo, - }); - } - // if target is directory, serve index or dir listing. - if (showIndex) { // serve index.html - const indexPath = join(fsPath, "index.html"); - let indexFileInfo; - try { - indexFileInfo = await dntShim.Deno.lstat(indexPath); - } - catch (error) { - if (!(error instanceof dntShim.Deno.errors.NotFound)) { - throw error; - } - // skip Not Found error - } - if (indexFileInfo?.isFile) { - return serveFile(req, indexPath, { - etagAlgorithm, - fileInfo: indexFileInfo, - }); - } - } - if (showDirListing) { // serve directory list - return serveDirIndex(fsPath, { showDotfiles, target, quiet }); - } - return createStandardResponse(STATUS_CODE.NotFound); -} -function logError(error) { - // deno-lint-ignore no-console - console.error(`%c${error.message}`, "color: red"); -} -function main() { - const serverArgs = parseArgs(dntShim.Deno.args, { - string: ["port", "host", "cert", "key", "header"], - boolean: ["help", "dir-listing", "dotfiles", "cors", "verbose", "version"], - negatable: ["dir-listing", "dotfiles", "cors"], - collect: ["header"], - default: { - "dir-listing": true, - dotfiles: true, - cors: true, - verbose: false, - version: false, - host: "0.0.0.0", - port: undefined, - cert: "", - key: "", - }, - alias: { - p: "port", - c: "cert", - k: "key", - h: "help", - v: "verbose", - V: "version", - H: "header", - }, - }); - const port = serverArgs.port ? Number(serverArgs.port) : undefined; - const headers = serverArgs.header ?? []; - const host = serverArgs.host; - const certFile = serverArgs.cert; - const keyFile = serverArgs.key; - if (serverArgs.help) { - printUsage(); - dntShim.Deno.exit(); - } - if (serverArgs.version) { - // deno-lint-ignore no-console - console.log(`Deno File Server ${denoConfig.version}`); - dntShim.Deno.exit(); - } - if (keyFile || certFile) { - if (keyFile === "" || certFile === "") { - // deno-lint-ignore no-console - console.log("--key and --cert are required for TLS"); - printUsage(); - dntShim.Deno.exit(1); - } - } - const wild = serverArgs._; - const target = resolve(wild[0] ?? ""); - const handler = (req) => { - return serveDir(req, { - fsRoot: target, - showDirListing: serverArgs["dir-listing"], - showDotfiles: serverArgs.dotfiles, - enableCors: serverArgs.cors, - quiet: !serverArgs.verbose, - headers, - }); - }; - const useTls = !!(keyFile && certFile); - function onListen({ port, hostname }) { - let networkAddress = undefined; - if (NET_PERM_STATUS === "granted") { - networkAddress = getNetworkAddress(); - } - const protocol = useTls ? "https" : "http"; - const host = (dntShim.Deno.build.os === "windows" && hostname === "0.0.0.0") - ? "localhost" - : hostname; - const formattedHost = hostname.includes(":") ? `[${host}]` : host; - let message = `Listening on:\n- Local: ${protocol}://${formattedHost}:${port}`; - if (networkAddress && !DENO_DEPLOYMENT_ID) { - message += `\n- Network: ${protocol}://${networkAddress}:${port}`; - } - // deno-lint-ignore no-console - console.log(message); - } - // TODO(petamoriken): Migrate `Deno.ServeTcpOptions | (Deno.ServeTcpOptions & Deno.TlsCertifiedKeyOptions)` in v2 - const options = { - hostname: host, - onListen, - }; - if (port !== undefined) { - options.port = port; - } - if (useTls) { - options.cert = dntShim.Deno.readTextFileSync(certFile); - options.key = dntShim.Deno.readTextFileSync(keyFile); - } - dntShim.Deno.serve(options, handler); -} -function printUsage() { - // deno-lint-ignore no-console - console.log(`Deno File Server ${denoConfig.version} - Serves a local directory in HTTP. - -INSTALL: - deno install --allow-net --allow-read --allow-sys jsr:@std/http@${denoConfig.version}/file-server - -USAGE: - file_server [path] [options] - -OPTIONS: - -h, --help Prints help information - -p, --port Set port (default is 8000) - --cors Enable CORS via the "Access-Control-Allow-Origin" header - --host Hostname (default is 0.0.0.0) - -c, --cert TLS certificate file (enables TLS) - -k, --key TLS key file (enables TLS) - -H, --header
Sets a header on every request. - (e.g. --header "Cache-Control: no-cache") - This option can be specified multiple times. - --no-dir-listing Disable directory listing - --no-dotfiles Do not show dotfiles - --no-cors Disable cross-origin resource sharing - -v, --verbose Print request level logs - -V, --version Print version information - - All TLS options are required when one is provided.`); -} -if (globalThis[Symbol.for("import-meta-ponyfill-esmodule")](import.meta).main) { - main(); -} diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/status.d.ts b/package/esm/deps/jsr.io/@std/http/1.0.20/status.d.ts deleted file mode 100644 index ca1c4a6..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/status.d.ts +++ /dev/null @@ -1,344 +0,0 @@ -/** - * Contains the {@linkcode STATUS_CODE} object which contains standard HTTP - * status codes and provides several type guards for handling status codes - * with type safety. - * - * @example The status code and status text - * ```ts - * import { - * STATUS_CODE, - * STATUS_TEXT, - * } from "@std/http/status"; - * - * console.log(STATUS_CODE.NotFound); // Returns 404 - * console.log(STATUS_TEXT[STATUS_CODE.NotFound]); // Returns "Not Found" - * ``` - * - * @example Checking the status code type - * ```ts ignore - * import { isErrorStatus } from "@std/http/status"; - * - * const res = await fetch("https://example.com/"); - * - * if (isErrorStatus(res.status)) { - * // error handling here... - * } - * - * await res.body?.cancel(); - * ``` - * - * @module - */ -export declare const STATUS_CODE: { - /** RFC 7231, 6.2.1 */ - readonly Continue: 100; - /** RFC 7231, 6.2.2 */ - readonly SwitchingProtocols: 101; - /** RFC 2518, 10.1 */ - readonly Processing: 102; - /** RFC 8297 **/ - readonly EarlyHints: 103; - /** RFC 7231, 6.3.1 */ - readonly OK: 200; - /** RFC 7231, 6.3.2 */ - readonly Created: 201; - /** RFC 7231, 6.3.3 */ - readonly Accepted: 202; - /** RFC 7231, 6.3.4 */ - readonly NonAuthoritativeInfo: 203; - /** RFC 7231, 6.3.5 */ - readonly NoContent: 204; - /** RFC 7231, 6.3.6 */ - readonly ResetContent: 205; - /** RFC 7233, 4.1 */ - readonly PartialContent: 206; - /** RFC 4918, 11.1 */ - readonly MultiStatus: 207; - /** RFC 5842, 7.1 */ - readonly AlreadyReported: 208; - /** RFC 3229, 10.4.1 */ - readonly IMUsed: 226; - /** RFC 7231, 6.4.1 */ - readonly MultipleChoices: 300; - /** RFC 7231, 6.4.2 */ - readonly MovedPermanently: 301; - /** RFC 7231, 6.4.3 */ - readonly Found: 302; - /** RFC 7231, 6.4.4 */ - readonly SeeOther: 303; - /** RFC 7232, 4.1 */ - readonly NotModified: 304; - /** RFC 7231, 6.4.5 */ - readonly UseProxy: 305; - /** RFC 7231, 6.4.7 */ - readonly TemporaryRedirect: 307; - /** RFC 7538, 3 */ - readonly PermanentRedirect: 308; - /** RFC 7231, 6.5.1 */ - readonly BadRequest: 400; - /** RFC 7235, 3.1 */ - readonly Unauthorized: 401; - /** RFC 7231, 6.5.2 */ - readonly PaymentRequired: 402; - /** RFC 7231, 6.5.3 */ - readonly Forbidden: 403; - /** RFC 7231, 6.5.4 */ - readonly NotFound: 404; - /** RFC 7231, 6.5.5 */ - readonly MethodNotAllowed: 405; - /** RFC 7231, 6.5.6 */ - readonly NotAcceptable: 406; - /** RFC 7235, 3.2 */ - readonly ProxyAuthRequired: 407; - /** RFC 7231, 6.5.7 */ - readonly RequestTimeout: 408; - /** RFC 7231, 6.5.8 */ - readonly Conflict: 409; - /** RFC 7231, 6.5.9 */ - readonly Gone: 410; - /** RFC 7231, 6.5.10 */ - readonly LengthRequired: 411; - /** RFC 7232, 4.2 */ - readonly PreconditionFailed: 412; - /** RFC 7231, 6.5.11 */ - readonly ContentTooLarge: 413; - /** RFC 7231, 6.5.12 */ - readonly URITooLong: 414; - /** RFC 7231, 6.5.13 */ - readonly UnsupportedMediaType: 415; - /** RFC 7233, 4.4 */ - readonly RangeNotSatisfiable: 416; - /** RFC 7231, 6.5.14 */ - readonly ExpectationFailed: 417; - /** RFC 7168, 2.3.3 */ - readonly Teapot: 418; - /** RFC 7540, 9.1.2 */ - readonly MisdirectedRequest: 421; - /** RFC 4918, 11.2 */ - readonly UnprocessableEntity: 422; - /** RFC 4918, 11.3 */ - readonly Locked: 423; - /** RFC 4918, 11.4 */ - readonly FailedDependency: 424; - /** RFC 8470, 5.2 */ - readonly TooEarly: 425; - /** RFC 7231, 6.5.15 */ - readonly UpgradeRequired: 426; - /** RFC 6585, 3 */ - readonly PreconditionRequired: 428; - /** RFC 6585, 4 */ - readonly TooManyRequests: 429; - /** RFC 6585, 5 */ - readonly RequestHeaderFieldsTooLarge: 431; - /** RFC 7725, 3 */ - readonly UnavailableForLegalReasons: 451; - /** RFC 7231, 6.6.1 */ - readonly InternalServerError: 500; - /** RFC 7231, 6.6.2 */ - readonly NotImplemented: 501; - /** RFC 7231, 6.6.3 */ - readonly BadGateway: 502; - /** RFC 7231, 6.6.4 */ - readonly ServiceUnavailable: 503; - /** RFC 7231, 6.6.5 */ - readonly GatewayTimeout: 504; - /** RFC 7231, 6.6.6 */ - readonly HTTPVersionNotSupported: 505; - /** RFC 2295, 8.1 */ - readonly VariantAlsoNegotiates: 506; - /** RFC 4918, 11.5 */ - readonly InsufficientStorage: 507; - /** RFC 5842, 7.2 */ - readonly LoopDetected: 508; - /** RFC 2774, 7 */ - readonly NotExtended: 510; - /** RFC 6585, 6 */ - readonly NetworkAuthenticationRequired: 511; -}; -/** An HTTP status code. */ -export type StatusCode = typeof STATUS_CODE[keyof typeof STATUS_CODE]; -/** A record of all the status codes text. */ -export declare const STATUS_TEXT: { - readonly 202: "Accepted"; - readonly 208: "Already Reported"; - readonly 502: "Bad Gateway"; - readonly 400: "Bad Request"; - readonly 409: "Conflict"; - readonly 100: "Continue"; - readonly 201: "Created"; - readonly 103: "Early Hints"; - readonly 417: "Expectation Failed"; - readonly 424: "Failed Dependency"; - readonly 403: "Forbidden"; - readonly 302: "Found"; - readonly 504: "Gateway Timeout"; - readonly 410: "Gone"; - readonly 505: "HTTP Version Not Supported"; - readonly 226: "IM Used"; - readonly 507: "Insufficient Storage"; - readonly 500: "Internal Server Error"; - readonly 411: "Length Required"; - readonly 423: "Locked"; - readonly 508: "Loop Detected"; - readonly 405: "Method Not Allowed"; - readonly 421: "Misdirected Request"; - readonly 301: "Moved Permanently"; - readonly 207: "Multi Status"; - readonly 300: "Multiple Choices"; - readonly 511: "Network Authentication Required"; - readonly 204: "No Content"; - readonly 203: "Non Authoritative Info"; - readonly 406: "Not Acceptable"; - readonly 510: "Not Extended"; - readonly 404: "Not Found"; - readonly 501: "Not Implemented"; - readonly 304: "Not Modified"; - readonly 200: "OK"; - readonly 206: "Partial Content"; - readonly 402: "Payment Required"; - readonly 308: "Permanent Redirect"; - readonly 412: "Precondition Failed"; - readonly 428: "Precondition Required"; - readonly 102: "Processing"; - readonly 407: "Proxy Auth Required"; - readonly 413: "Content Too Large"; - readonly 431: "Request Header Fields Too Large"; - readonly 408: "Request Timeout"; - readonly 414: "URI Too Long"; - readonly 416: "Range Not Satisfiable"; - readonly 205: "Reset Content"; - readonly 303: "See Other"; - readonly 503: "Service Unavailable"; - readonly 101: "Switching Protocols"; - readonly 418: "I'm a teapot"; - readonly 307: "Temporary Redirect"; - readonly 425: "Too Early"; - readonly 429: "Too Many Requests"; - readonly 401: "Unauthorized"; - readonly 451: "Unavailable For Legal Reasons"; - readonly 422: "Unprocessable Entity"; - readonly 415: "Unsupported Media Type"; - readonly 426: "Upgrade Required"; - readonly 305: "Use Proxy"; - readonly 506: "Variant Also Negotiates"; -}; -/** An HTTP status text. */ -export type StatusText = typeof STATUS_TEXT[keyof typeof STATUS_TEXT]; -/** An HTTP status that is a informational (1XX). */ -export type InformationalStatus = typeof STATUS_CODE.Continue | typeof STATUS_CODE.SwitchingProtocols | typeof STATUS_CODE.Processing | typeof STATUS_CODE.EarlyHints; -/** An HTTP status that is a success (2XX). */ -export type SuccessfulStatus = typeof STATUS_CODE.OK | typeof STATUS_CODE.Created | typeof STATUS_CODE.Accepted | typeof STATUS_CODE.NonAuthoritativeInfo | typeof STATUS_CODE.NoContent | typeof STATUS_CODE.ResetContent | typeof STATUS_CODE.PartialContent | typeof STATUS_CODE.MultiStatus | typeof STATUS_CODE.AlreadyReported | typeof STATUS_CODE.IMUsed; -/** An HTTP status that is a redirect (3XX). */ -export type RedirectStatus = typeof STATUS_CODE.MultipleChoices | typeof STATUS_CODE.MovedPermanently | typeof STATUS_CODE.Found | typeof STATUS_CODE.SeeOther | typeof STATUS_CODE.UseProxy | typeof STATUS_CODE.TemporaryRedirect | typeof STATUS_CODE.PermanentRedirect; -/** An HTTP status that is a client error (4XX). */ -export type ClientErrorStatus = typeof STATUS_CODE.BadRequest | typeof STATUS_CODE.Unauthorized | typeof STATUS_CODE.PaymentRequired | typeof STATUS_CODE.Forbidden | typeof STATUS_CODE.NotFound | typeof STATUS_CODE.MethodNotAllowed | typeof STATUS_CODE.NotAcceptable | typeof STATUS_CODE.ProxyAuthRequired | typeof STATUS_CODE.RequestTimeout | typeof STATUS_CODE.Conflict | typeof STATUS_CODE.Gone | typeof STATUS_CODE.LengthRequired | typeof STATUS_CODE.PreconditionFailed | typeof STATUS_CODE.ContentTooLarge | typeof STATUS_CODE.URITooLong | typeof STATUS_CODE.UnsupportedMediaType | typeof STATUS_CODE.RangeNotSatisfiable | typeof STATUS_CODE.ExpectationFailed | typeof STATUS_CODE.Teapot | typeof STATUS_CODE.MisdirectedRequest | typeof STATUS_CODE.UnprocessableEntity | typeof STATUS_CODE.Locked | typeof STATUS_CODE.FailedDependency | typeof STATUS_CODE.UpgradeRequired | typeof STATUS_CODE.PreconditionRequired | typeof STATUS_CODE.TooManyRequests | typeof STATUS_CODE.RequestHeaderFieldsTooLarge | typeof STATUS_CODE.UnavailableForLegalReasons; -/** An HTTP status that is a server error (5XX). */ -export type ServerErrorStatus = typeof STATUS_CODE.InternalServerError | typeof STATUS_CODE.NotImplemented | typeof STATUS_CODE.BadGateway | typeof STATUS_CODE.ServiceUnavailable | typeof STATUS_CODE.GatewayTimeout | typeof STATUS_CODE.HTTPVersionNotSupported | typeof STATUS_CODE.VariantAlsoNegotiates | typeof STATUS_CODE.InsufficientStorage | typeof STATUS_CODE.LoopDetected | typeof STATUS_CODE.NotExtended | typeof STATUS_CODE.NetworkAuthenticationRequired; -/** An HTTP status that is an error (4XX and 5XX). */ -export type ErrorStatus = ClientErrorStatus | ServerErrorStatus; -/** - * Returns whether the provided number is a valid HTTP status code. - * - * @example Usage - * ```ts - * import { isStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isStatus(404)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is a valid status code. - */ -export declare function isStatus(status: number): status is StatusCode; -/** - * A type guard that determines if the status code is informational. - * - * @example Usage - * ```ts - * import { isInformationalStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isInformationalStatus(100)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is an informational status code. - */ -export declare function isInformationalStatus(status: number): status is InformationalStatus; -/** - * A type guard that determines if the status code is successful. - * - * @example Usage - * ```ts - * import { isSuccessfulStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isSuccessfulStatus(200)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is a successful status code. - */ -export declare function isSuccessfulStatus(status: number): status is SuccessfulStatus; -/** - * A type guard that determines if the status code is a redirection. - * - * @example Usage - * ```ts - * import { isRedirectStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isRedirectStatus(302)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is a redirect status code. - */ -export declare function isRedirectStatus(status: number): status is RedirectStatus; -/** - * A type guard that determines if the status code is a client error. - * - * @example Usage - * ```ts - * import { isClientErrorStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isClientErrorStatus(404)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is a client error status code. - */ -export declare function isClientErrorStatus(status: number): status is ClientErrorStatus; -/** - * A type guard that determines if the status code is a server error. - * - * @example Usage - * ```ts - * import { isServerErrorStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isServerErrorStatus(502)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is a server error status code. - */ -export declare function isServerErrorStatus(status: number): status is ServerErrorStatus; -/** - * A type guard that determines if the status code is an error. - * - * @example Usage - * ```ts - * import { isErrorStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isErrorStatus(502)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is an error status code. - */ -export declare function isErrorStatus(status: number): status is ErrorStatus; -//# sourceMappingURL=status.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/status.d.ts.map b/package/esm/deps/jsr.io/@std/http/1.0.20/status.d.ts.map deleted file mode 100644 index ff4918a..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/status.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/http/1.0.20/status.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,eAAO,MAAM,WAAW;IACtB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,qBAAqB;;IAErB,gBAAgB;;IAGhB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,oBAAoB;;IAEpB,qBAAqB;;IAErB,oBAAoB;;IAEpB,uBAAuB;;IAGvB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,oBAAoB;;IAEpB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,kBAAkB;;IAGlB,sBAAsB;;IAEtB,oBAAoB;;IAEpB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,oBAAoB;;IAEpB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,uBAAuB;;IAEvB,oBAAoB;;IAEpB,uBAAuB;;IAEvB,uBAAuB;;IAEvB,uBAAuB;;IAEvB,oBAAoB;;IAEpB,uBAAuB;;IAEvB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,qBAAqB;;IAErB,qBAAqB;;IAErB,qBAAqB;;IAErB,oBAAoB;;IAEpB,uBAAuB;;IAEvB,kBAAkB;;IAElB,kBAAkB;;IAElB,kBAAkB;;IAElB,kBAAkB;;IAGlB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,oBAAoB;;IAEpB,qBAAqB;;IAErB,oBAAoB;;IAEpB,kBAAkB;;IAElB,kBAAkB;;CAEV,CAAC;AAEX,2BAA2B;AAC3B,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEtE,6CAA6C;AAC7C,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEd,CAAC;AAEX,2BAA2B;AAC3B,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEtE,oDAAoD;AACpD,MAAM,MAAM,mBAAmB,GAC3B,OAAO,WAAW,CAAC,QAAQ,GAC3B,OAAO,WAAW,CAAC,kBAAkB,GACrC,OAAO,WAAW,CAAC,UAAU,GAC7B,OAAO,WAAW,CAAC,UAAU,CAAC;AAElC,8CAA8C;AAC9C,MAAM,MAAM,gBAAgB,GACxB,OAAO,WAAW,CAAC,EAAE,GACrB,OAAO,WAAW,CAAC,OAAO,GAC1B,OAAO,WAAW,CAAC,QAAQ,GAC3B,OAAO,WAAW,CAAC,oBAAoB,GACvC,OAAO,WAAW,CAAC,SAAS,GAC5B,OAAO,WAAW,CAAC,YAAY,GAC/B,OAAO,WAAW,CAAC,cAAc,GACjC,OAAO,WAAW,CAAC,WAAW,GAC9B,OAAO,WAAW,CAAC,eAAe,GAClC,OAAO,WAAW,CAAC,MAAM,CAAC;AAE9B,+CAA+C;AAC/C,MAAM,MAAM,cAAc,GACtB,OAAO,WAAW,CAAC,eAAe,GAClC,OAAO,WAAW,CAAC,gBAAgB,GACnC,OAAO,WAAW,CAAC,KAAK,GACxB,OAAO,WAAW,CAAC,QAAQ,GAC3B,OAAO,WAAW,CAAC,QAAQ,GAC3B,OAAO,WAAW,CAAC,iBAAiB,GACpC,OAAO,WAAW,CAAC,iBAAiB,CAAC;AAEzC,mDAAmD;AACnD,MAAM,MAAM,iBAAiB,GACzB,OAAO,WAAW,CAAC,UAAU,GAC7B,OAAO,WAAW,CAAC,YAAY,GAC/B,OAAO,WAAW,CAAC,eAAe,GAClC,OAAO,WAAW,CAAC,SAAS,GAC5B,OAAO,WAAW,CAAC,QAAQ,GAC3B,OAAO,WAAW,CAAC,gBAAgB,GACnC,OAAO,WAAW,CAAC,aAAa,GAChC,OAAO,WAAW,CAAC,iBAAiB,GACpC,OAAO,WAAW,CAAC,cAAc,GACjC,OAAO,WAAW,CAAC,QAAQ,GAC3B,OAAO,WAAW,CAAC,IAAI,GACvB,OAAO,WAAW,CAAC,cAAc,GACjC,OAAO,WAAW,CAAC,kBAAkB,GACrC,OAAO,WAAW,CAAC,eAAe,GAClC,OAAO,WAAW,CAAC,UAAU,GAC7B,OAAO,WAAW,CAAC,oBAAoB,GACvC,OAAO,WAAW,CAAC,mBAAmB,GACtC,OAAO,WAAW,CAAC,iBAAiB,GACpC,OAAO,WAAW,CAAC,MAAM,GACzB,OAAO,WAAW,CAAC,kBAAkB,GACrC,OAAO,WAAW,CAAC,mBAAmB,GACtC,OAAO,WAAW,CAAC,MAAM,GACzB,OAAO,WAAW,CAAC,gBAAgB,GACnC,OAAO,WAAW,CAAC,eAAe,GAClC,OAAO,WAAW,CAAC,oBAAoB,GACvC,OAAO,WAAW,CAAC,eAAe,GAClC,OAAO,WAAW,CAAC,2BAA2B,GAC9C,OAAO,WAAW,CAAC,0BAA0B,CAAC;AAElD,mDAAmD;AACnD,MAAM,MAAM,iBAAiB,GACzB,OAAO,WAAW,CAAC,mBAAmB,GACtC,OAAO,WAAW,CAAC,cAAc,GACjC,OAAO,WAAW,CAAC,UAAU,GAC7B,OAAO,WAAW,CAAC,kBAAkB,GACrC,OAAO,WAAW,CAAC,cAAc,GACjC,OAAO,WAAW,CAAC,uBAAuB,GAC1C,OAAO,WAAW,CAAC,qBAAqB,GACxC,OAAO,WAAW,CAAC,mBAAmB,GACtC,OAAO,WAAW,CAAC,YAAY,GAC/B,OAAO,WAAW,CAAC,WAAW,GAC9B,OAAO,WAAW,CAAC,6BAA6B,CAAC;AAErD,qDAAqD;AACrD,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAEhE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,UAAU,CAE7D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GACb,MAAM,IAAI,mBAAmB,CAE/B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,GACb,MAAM,IAAI,gBAAgB,CAE5B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,cAAc,CAEzE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GACb,MAAM,IAAI,iBAAiB,CAE7B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GACb,MAAM,IAAI,iBAAiB,CAE7B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,WAAW,CAEnE"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/status.js b/package/esm/deps/jsr.io/@std/http/1.0.20/status.js deleted file mode 100644 index 7ff3181..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/status.js +++ /dev/null @@ -1,343 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -/** - * Contains the {@linkcode STATUS_CODE} object which contains standard HTTP - * status codes and provides several type guards for handling status codes - * with type safety. - * - * @example The status code and status text - * ```ts - * import { - * STATUS_CODE, - * STATUS_TEXT, - * } from "@std/http/status"; - * - * console.log(STATUS_CODE.NotFound); // Returns 404 - * console.log(STATUS_TEXT[STATUS_CODE.NotFound]); // Returns "Not Found" - * ``` - * - * @example Checking the status code type - * ```ts ignore - * import { isErrorStatus } from "@std/http/status"; - * - * const res = await fetch("https://example.com/"); - * - * if (isErrorStatus(res.status)) { - * // error handling here... - * } - * - * await res.body?.cancel(); - * ``` - * - * @module - */ -export const STATUS_CODE = { - /** RFC 7231, 6.2.1 */ - Continue: 100, - /** RFC 7231, 6.2.2 */ - SwitchingProtocols: 101, - /** RFC 2518, 10.1 */ - Processing: 102, - /** RFC 8297 **/ - EarlyHints: 103, - /** RFC 7231, 6.3.1 */ - OK: 200, - /** RFC 7231, 6.3.2 */ - Created: 201, - /** RFC 7231, 6.3.3 */ - Accepted: 202, - /** RFC 7231, 6.3.4 */ - NonAuthoritativeInfo: 203, - /** RFC 7231, 6.3.5 */ - NoContent: 204, - /** RFC 7231, 6.3.6 */ - ResetContent: 205, - /** RFC 7233, 4.1 */ - PartialContent: 206, - /** RFC 4918, 11.1 */ - MultiStatus: 207, - /** RFC 5842, 7.1 */ - AlreadyReported: 208, - /** RFC 3229, 10.4.1 */ - IMUsed: 226, - /** RFC 7231, 6.4.1 */ - MultipleChoices: 300, - /** RFC 7231, 6.4.2 */ - MovedPermanently: 301, - /** RFC 7231, 6.4.3 */ - Found: 302, - /** RFC 7231, 6.4.4 */ - SeeOther: 303, - /** RFC 7232, 4.1 */ - NotModified: 304, - /** RFC 7231, 6.4.5 */ - UseProxy: 305, - /** RFC 7231, 6.4.7 */ - TemporaryRedirect: 307, - /** RFC 7538, 3 */ - PermanentRedirect: 308, - /** RFC 7231, 6.5.1 */ - BadRequest: 400, - /** RFC 7235, 3.1 */ - Unauthorized: 401, - /** RFC 7231, 6.5.2 */ - PaymentRequired: 402, - /** RFC 7231, 6.5.3 */ - Forbidden: 403, - /** RFC 7231, 6.5.4 */ - NotFound: 404, - /** RFC 7231, 6.5.5 */ - MethodNotAllowed: 405, - /** RFC 7231, 6.5.6 */ - NotAcceptable: 406, - /** RFC 7235, 3.2 */ - ProxyAuthRequired: 407, - /** RFC 7231, 6.5.7 */ - RequestTimeout: 408, - /** RFC 7231, 6.5.8 */ - Conflict: 409, - /** RFC 7231, 6.5.9 */ - Gone: 410, - /** RFC 7231, 6.5.10 */ - LengthRequired: 411, - /** RFC 7232, 4.2 */ - PreconditionFailed: 412, - /** RFC 7231, 6.5.11 */ - ContentTooLarge: 413, - /** RFC 7231, 6.5.12 */ - URITooLong: 414, - /** RFC 7231, 6.5.13 */ - UnsupportedMediaType: 415, - /** RFC 7233, 4.4 */ - RangeNotSatisfiable: 416, - /** RFC 7231, 6.5.14 */ - ExpectationFailed: 417, - /** RFC 7168, 2.3.3 */ - Teapot: 418, - /** RFC 7540, 9.1.2 */ - MisdirectedRequest: 421, - /** RFC 4918, 11.2 */ - UnprocessableEntity: 422, - /** RFC 4918, 11.3 */ - Locked: 423, - /** RFC 4918, 11.4 */ - FailedDependency: 424, - /** RFC 8470, 5.2 */ - TooEarly: 425, - /** RFC 7231, 6.5.15 */ - UpgradeRequired: 426, - /** RFC 6585, 3 */ - PreconditionRequired: 428, - /** RFC 6585, 4 */ - TooManyRequests: 429, - /** RFC 6585, 5 */ - RequestHeaderFieldsTooLarge: 431, - /** RFC 7725, 3 */ - UnavailableForLegalReasons: 451, - /** RFC 7231, 6.6.1 */ - InternalServerError: 500, - /** RFC 7231, 6.6.2 */ - NotImplemented: 501, - /** RFC 7231, 6.6.3 */ - BadGateway: 502, - /** RFC 7231, 6.6.4 */ - ServiceUnavailable: 503, - /** RFC 7231, 6.6.5 */ - GatewayTimeout: 504, - /** RFC 7231, 6.6.6 */ - HTTPVersionNotSupported: 505, - /** RFC 2295, 8.1 */ - VariantAlsoNegotiates: 506, - /** RFC 4918, 11.5 */ - InsufficientStorage: 507, - /** RFC 5842, 7.2 */ - LoopDetected: 508, - /** RFC 2774, 7 */ - NotExtended: 510, - /** RFC 6585, 6 */ - NetworkAuthenticationRequired: 511, -}; -/** A record of all the status codes text. */ -export const STATUS_TEXT = { - [STATUS_CODE.Accepted]: "Accepted", - [STATUS_CODE.AlreadyReported]: "Already Reported", - [STATUS_CODE.BadGateway]: "Bad Gateway", - [STATUS_CODE.BadRequest]: "Bad Request", - [STATUS_CODE.Conflict]: "Conflict", - [STATUS_CODE.Continue]: "Continue", - [STATUS_CODE.Created]: "Created", - [STATUS_CODE.EarlyHints]: "Early Hints", - [STATUS_CODE.ExpectationFailed]: "Expectation Failed", - [STATUS_CODE.FailedDependency]: "Failed Dependency", - [STATUS_CODE.Forbidden]: "Forbidden", - [STATUS_CODE.Found]: "Found", - [STATUS_CODE.GatewayTimeout]: "Gateway Timeout", - [STATUS_CODE.Gone]: "Gone", - [STATUS_CODE.HTTPVersionNotSupported]: "HTTP Version Not Supported", - [STATUS_CODE.IMUsed]: "IM Used", - [STATUS_CODE.InsufficientStorage]: "Insufficient Storage", - [STATUS_CODE.InternalServerError]: "Internal Server Error", - [STATUS_CODE.LengthRequired]: "Length Required", - [STATUS_CODE.Locked]: "Locked", - [STATUS_CODE.LoopDetected]: "Loop Detected", - [STATUS_CODE.MethodNotAllowed]: "Method Not Allowed", - [STATUS_CODE.MisdirectedRequest]: "Misdirected Request", - [STATUS_CODE.MovedPermanently]: "Moved Permanently", - [STATUS_CODE.MultiStatus]: "Multi Status", - [STATUS_CODE.MultipleChoices]: "Multiple Choices", - [STATUS_CODE.NetworkAuthenticationRequired]: "Network Authentication Required", - [STATUS_CODE.NoContent]: "No Content", - [STATUS_CODE.NonAuthoritativeInfo]: "Non Authoritative Info", - [STATUS_CODE.NotAcceptable]: "Not Acceptable", - [STATUS_CODE.NotExtended]: "Not Extended", - [STATUS_CODE.NotFound]: "Not Found", - [STATUS_CODE.NotImplemented]: "Not Implemented", - [STATUS_CODE.NotModified]: "Not Modified", - [STATUS_CODE.OK]: "OK", - [STATUS_CODE.PartialContent]: "Partial Content", - [STATUS_CODE.PaymentRequired]: "Payment Required", - [STATUS_CODE.PermanentRedirect]: "Permanent Redirect", - [STATUS_CODE.PreconditionFailed]: "Precondition Failed", - [STATUS_CODE.PreconditionRequired]: "Precondition Required", - [STATUS_CODE.Processing]: "Processing", - [STATUS_CODE.ProxyAuthRequired]: "Proxy Auth Required", - [STATUS_CODE.ContentTooLarge]: "Content Too Large", - [STATUS_CODE.RequestHeaderFieldsTooLarge]: "Request Header Fields Too Large", - [STATUS_CODE.RequestTimeout]: "Request Timeout", - [STATUS_CODE.URITooLong]: "URI Too Long", - [STATUS_CODE.RangeNotSatisfiable]: "Range Not Satisfiable", - [STATUS_CODE.ResetContent]: "Reset Content", - [STATUS_CODE.SeeOther]: "See Other", - [STATUS_CODE.ServiceUnavailable]: "Service Unavailable", - [STATUS_CODE.SwitchingProtocols]: "Switching Protocols", - [STATUS_CODE.Teapot]: "I'm a teapot", - [STATUS_CODE.TemporaryRedirect]: "Temporary Redirect", - [STATUS_CODE.TooEarly]: "Too Early", - [STATUS_CODE.TooManyRequests]: "Too Many Requests", - [STATUS_CODE.Unauthorized]: "Unauthorized", - [STATUS_CODE.UnavailableForLegalReasons]: "Unavailable For Legal Reasons", - [STATUS_CODE.UnprocessableEntity]: "Unprocessable Entity", - [STATUS_CODE.UnsupportedMediaType]: "Unsupported Media Type", - [STATUS_CODE.UpgradeRequired]: "Upgrade Required", - [STATUS_CODE.UseProxy]: "Use Proxy", - [STATUS_CODE.VariantAlsoNegotiates]: "Variant Also Negotiates", -}; -/** - * Returns whether the provided number is a valid HTTP status code. - * - * @example Usage - * ```ts - * import { isStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isStatus(404)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is a valid status code. - */ -export function isStatus(status) { - return Object.values(STATUS_CODE).includes(status); -} -/** - * A type guard that determines if the status code is informational. - * - * @example Usage - * ```ts - * import { isInformationalStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isInformationalStatus(100)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is an informational status code. - */ -export function isInformationalStatus(status) { - return isStatus(status) && status >= 100 && status < 200; -} -/** - * A type guard that determines if the status code is successful. - * - * @example Usage - * ```ts - * import { isSuccessfulStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isSuccessfulStatus(200)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is a successful status code. - */ -export function isSuccessfulStatus(status) { - return isStatus(status) && status >= 200 && status < 300; -} -/** - * A type guard that determines if the status code is a redirection. - * - * @example Usage - * ```ts - * import { isRedirectStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isRedirectStatus(302)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is a redirect status code. - */ -export function isRedirectStatus(status) { - return isStatus(status) && status >= 300 && status < 400; -} -/** - * A type guard that determines if the status code is a client error. - * - * @example Usage - * ```ts - * import { isClientErrorStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isClientErrorStatus(404)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is a client error status code. - */ -export function isClientErrorStatus(status) { - return isStatus(status) && status >= 400 && status < 500; -} -/** - * A type guard that determines if the status code is a server error. - * - * @example Usage - * ```ts - * import { isServerErrorStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isServerErrorStatus(502)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is a server error status code. - */ -export function isServerErrorStatus(status) { - return isStatus(status) && status >= 500 && status < 600; -} -/** - * A type guard that determines if the status code is an error. - * - * @example Usage - * ```ts - * import { isErrorStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isErrorStatus(502)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is an error status code. - */ -export function isErrorStatus(status) { - return isStatus(status) && status >= 400 && status < 600; -} diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_header.d.ts b/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_header.d.ts deleted file mode 100644 index 9dfde74..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_header.d.ts +++ /dev/null @@ -1,1029 +0,0 @@ -/** - * HTTP Headers with status permanent - * - * @experimental **UNSTABLE**: New API, yet to be vetted. - * - * @see {@link https://www.iana.org/assignments/http-fields/http-fields.xhtml#field-names | IANA Hypertext Transfer Protocol (HTTP) Field Name Registry} - */ -export declare const HEADER: { - /** - * HTTP Header A-IM - * - * @see {@link https://www.iana.org/go/rfc3229 | RFC 3229: Delta encoding in HTTP} - */ - readonly AIm: "A-IM"; - /** - * HTTP Header Accept - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 12.5.1: HTTP Semantics} - */ - readonly Accept: "Accept"; - /** - * HTTP Header Accept-Additions - * - * @see {@link https://www.iana.org/go/rfc2324 | RFC 2324: Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)} - */ - readonly AcceptAdditions: "Accept-Additions"; - /** - * HTTP Header Accept-CH - * - * @see {@link https://www.iana.org/go/rfc8942 | RFC 8942, Section 3.1: HTTP Client Hints} - */ - readonly AcceptCh: "Accept-CH"; - /** - * HTTP Header Accept-Datetime - * - * @see {@link https://www.iana.org/go/rfc7089 | RFC 7089: HTTP Framework for Time-Based Access to Resource States -- Memento} - */ - readonly AcceptDatetime: "Accept-Datetime"; - /** - * HTTP Header Accept-Encoding - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 12.5.3: HTTP Semantics} - */ - readonly AcceptEncoding: "Accept-Encoding"; - /** - * HTTP Header Accept-Features - * - * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} - */ - readonly AcceptFeatures: "Accept-Features"; - /** - * HTTP Header Accept-Language - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 12.5.4: HTTP Semantics} - */ - readonly AcceptLanguage: "Accept-Language"; - /** - * HTTP Header Accept-Patch - * - * @see {@link https://www.iana.org/go/rfc5789 | RFC 5789: PATCH Method for HTTP} - */ - readonly AcceptPatch: "Accept-Patch"; - /** - * HTTP Header Accept-Post - * - * @see {@link https://www.w3.org/TR/ldp | Linked Data Platform 1.0} - */ - readonly AcceptPost: "Accept-Post"; - /** - * HTTP Header Accept-Ranges - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 14.3: HTTP Semantics} - */ - readonly AcceptRanges: "Accept-Ranges"; - /** - * HTTP Header Accept-Signature - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-message-signatures-19 | RFC-ietf-httpbis-message-signatures-19, Section 5.1: HTTP Message Signatures} - */ - readonly AcceptSignature: "Accept-Signature"; - /** - * HTTP Header Access-Control-Allow-Credentials - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-allow-credentials | Fetch} - */ - readonly AccessControlAllowCredentials: "Access-Control-Allow-Credentials"; - /** - * HTTP Header Access-Control-Allow-Headers - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-allow-headers | Fetch} - */ - readonly AccessControlAllowHeaders: "Access-Control-Allow-Headers"; - /** - * HTTP Header Access-Control-Allow-Methods - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-allow-methods | Fetch} - */ - readonly AccessControlAllowMethods: "Access-Control-Allow-Methods"; - /** - * HTTP Header Access-Control-Allow-Origin - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-allow-origin | Fetch} - */ - readonly AccessControlAllowOrigin: "Access-Control-Allow-Origin"; - /** - * HTTP Header Access-Control-Expose-Headers - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-expose-headers | Fetch} - */ - readonly AccessControlExposeHeaders: "Access-Control-Expose-Headers"; - /** - * HTTP Header Access-Control-Max-Age - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-max-age | Fetch} - */ - readonly AccessControlMaxAge: "Access-Control-Max-Age"; - /** - * HTTP Header Access-Control-Request-Headers - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-request-headers | Fetch} - */ - readonly AccessControlRequestHeaders: "Access-Control-Request-Headers"; - /** - * HTTP Header Access-Control-Request-Method - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-request-method | Fetch} - */ - readonly AccessControlRequestMethod: "Access-Control-Request-Method"; - /** - * HTTP Header Age - * - * @see {@link https://www.iana.org/go/rfc9111 | RFC9111, Section 5.1: HTTP Caching} - */ - readonly Age: "Age"; - /** - * HTTP Header Allow - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.2.1: HTTP Semantics} - */ - readonly Allow: "Allow"; - /** - * HTTP Header ALPN - * - * @see {@link https://www.iana.org/go/rfc7639 | RFC 7639, Section 2: The ALPN HTTP Header Field} - */ - readonly ALPN: "ALPN"; - /** - * HTTP Header Alt-Svc - * - * @see {@link https://www.iana.org/go/rfc7838 | RFC 7838: HTTP Alternative Services} - */ - readonly AltSvc: "Alt-Svc"; - /** - * HTTP Header Alt-Used - * - * @see {@link https://www.iana.org/go/rfc7838 | RFC 7838: HTTP Alternative Services} - */ - readonly AltUsed: "Alt-Used"; - /** - * HTTP Header Alternates - * - * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} - */ - readonly Alternates: "Alternates"; - /** - * HTTP Header Apply-To-Redirect-Ref - * - * @see {@link https://www.iana.org/go/rfc4437 | RFC 4437: Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources} - */ - readonly ApplyToRedirectRef: "Apply-To-Redirect-Ref"; - /** - * HTTP Header Authentication-Control - * - * @see {@link https://www.iana.org/go/rfc8053 | RFC 8053, Section 4: HTTP Authentication Extensions for Interactive Clients} - */ - readonly AuthenticationControl: "Authentication-Control"; - /** - * HTTP Header Authentication-Info - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.6.3: HTTP Semantics} - */ - readonly AuthenticationInfo: "Authentication-Info"; - /** - * HTTP Header Authorization - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.6.2: HTTP Semantics} - */ - readonly Authorization: "Authorization"; - /** - * HTTP Header Cache-Control - * - * @see {@link https://www.iana.org/go/rfc9111 | RFC9111, Section 5.2} - */ - readonly CacheControl: "Cache-Control"; - /** - * HTTP Header Cache-Status - * - * @see {@link https://www.iana.org/go/rfc9211 | RFC9211: The Cache-Status HTTP Response Header Field} - */ - readonly CacheStatus: "Cache-Status"; - /** - * HTTP Header Cal-Managed-ID - * - * @see {@link https://www.iana.org/go/rfc8607 | RFC 8607, Section 5.1: Calendaring Extensions to WebDAV (CalDAV): Managed Attachments} - */ - readonly CalManagedId: "Cal-Managed-ID"; - /** - * HTTP Header CalDAV-Timezones - * - * @see {@link https://www.iana.org/go/rfc7809 | RFC 7809, Section 7.1: Calendaring Extensions to WebDAV (CalDAV): Time Zones by Reference} - */ - readonly CaldavTimezones: "CalDAV-Timezones"; - /** - * HTTP Header Capsule-Protocol - * - * @see {@link https://www.iana.org/go/rfc9297 | RFC9297} - */ - readonly CapsuleProtocol: "Capsule-Protocol"; - /** - * HTTP Header CDN-Cache-Control - * - * @see {@link https://www.iana.org/go/rfc9213 | RFC9213: Targeted HTTP Cache Control} - */ - readonly CdnCacheControl: "CDN-Cache-Control"; - /** - * HTTP Header CDN-Loop - * - * @see {@link https://www.iana.org/go/rfc8586 | RFC 8586: Loop Detection in Content Delivery Networks (CDNs)} - */ - readonly CdnLoop: "CDN-Loop"; - /** - * HTTP Header Cert-Not-After - * - * @see {@link https://www.iana.org/go/rfc8739 | RFC 8739, Section 3.3: Support for Short-Term, Automatically Renewed (STAR) Certificates in the Automated Certificate Management Environment (ACME)} - */ - readonly CertNotAfter: "Cert-Not-After"; - /** - * HTTP Header Cert-Not-Before - * - * @see {@link https://www.iana.org/go/rfc8739 | RFC 8739, Section 3.3: Support for Short-Term, Automatically Renewed (STAR) Certificates in the Automated Certificate Management Environment (ACME)} - */ - readonly CertNotBefore: "Cert-Not-Before"; - /** - * HTTP Header Clear-Site-Data - * - * @see {@link https://w3.org/TR/clear-site-data/#header | Clear Site Data} - */ - readonly ClearSiteData: "Clear-Site-Data"; - /** - * HTTP Header Client-Cert - * - * @see {@link https://www.iana.org/go/rfc9440 | RFC9440, Section 2: Client-Cert HTTP Header Field} - */ - readonly ClientCert: "Client-Cert"; - /** - * HTTP Header Client-Cert-Chain - * - * @see {@link https://www.iana.org/go/rfc9440 | RFC9440, Section 2: Client-Cert HTTP Header Field} - */ - readonly ClientCertChain: "Client-Cert-Chain"; - /** - * HTTP Header Close - * - * @see {@link https://www.iana.org/go/rfc9112 | RFC9112, Section 9.6: HTTP/1.1} - */ - readonly Close: "Close"; - /** - * HTTP Header Connection - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.6.1: HTTP Semantics} - */ - readonly Connection: "Connection"; - /** - * HTTP Header Content-Digest - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-digest-headers-13 | RFC-ietf-httpbis-digest-headers-13, Section 2: Digest Fields} - */ - readonly ContentDigest: "Content-Digest"; - /** - * HTTP Header Content-Disposition - * - * @see {@link https://www.iana.org/go/rfc6266 | RFC 6266: Use of the Content-Disposition Header Field in the - Hypertext Transfer Protocol (HTTP)} - */ - readonly ContentDisposition: "Content-Disposition"; - /** - * HTTP Header Content-Encoding - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.4: HTTP Semantics} - */ - readonly ContentEncoding: "Content-Encoding"; - /** - * HTTP Header Content-Language - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.5: HTTP Semantics} - */ - readonly ContentLanguage: "Content-Language"; - /** - * HTTP Header Content-Length - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.6: HTTP Semantics} - */ - readonly ContentLength: "Content-Length"; - /** - * HTTP Header Content-Location - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.7: HTTP Semantics} - */ - readonly ContentLocation: "Content-Location"; - /** - * HTTP Header Content-Range - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 14.4: HTTP Semantics} - */ - readonly ContentRange: "Content-Range"; - /** - * HTTP Header Content-Security-Policy - * - * @see {@link https://www.w3.org/TR/CSP/#csp-header | Content Security Policy Level 3} - */ - readonly ContentSecurityPolicy: "Content-Security-Policy"; - /** - * HTTP Header Content-Security-Policy-Report-Only - * - * @see {@link https://www.w3.org/TR/CSP/#cspro-header | Content Security Policy Level 3} - */ - readonly ContentSecurityPolicyReportOnly: "Content-Security-Policy-Report-Only"; - /** - * HTTP Header Content-Type - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.3: HTTP Semantics} - */ - readonly ContentType: "Content-Type"; - /** - * HTTP Header Cookie - * - * @see {@link https://www.iana.org/go/rfc6265 | RFC 6265: HTTP State Management Mechanism} - */ - readonly Cookie: "Cookie"; - /** - * HTTP Header Cross-Origin-Embedder-Policy - * - * @see {@link https://html.spec.whatwg.org/multipage/origin.html#cross-origin-embedder-policy | HTML} - */ - readonly CrossOriginEmbedderPolicy: "Cross-Origin-Embedder-Policy"; - /** - * HTTP Header Cross-Origin-Embedder-Policy-Report-Only - * - * @see {@link https://html.spec.whatwg.org/multipage/origin.html#cross-origin-embedder-policy-report-only | HTML} - */ - readonly CrossOriginEmbedderPolicyReportOnly: "Cross-Origin-Embedder-Policy-Report-Only"; - /** - * HTTP Header Cross-Origin-Opener-Policy - * - * @see {@link https://html.spec.whatwg.org/multipage/origin.html#cross-origin-opener-policy-2 | HTML} - */ - readonly CrossOriginOpenerPolicy: "Cross-Origin-Opener-Policy"; - /** - * HTTP Header Cross-Origin-Opener-Policy-Report-Only - * - * @see {@link https://html.spec.whatwg.org/multipage/origin.html#cross-origin-opener-policy-report-only | HTML} - */ - readonly CrossOriginOpenerPolicyReportOnly: "Cross-Origin-Opener-Policy-Report-Only"; - /** - * HTTP Header Cross-Origin-Resource-Policy - * - * @see {@link https://fetch.spec.whatwg.org/#cross-origin-resource-policy-header | Fetch} - */ - readonly CrossOriginResourcePolicy: "Cross-Origin-Resource-Policy"; - /** - * HTTP Header DASL - * - * @see {@link https://www.iana.org/go/rfc5323 | RFC 5323: Web Distributed Authoring and Versioning (WebDAV) SEARCH} - */ - readonly DASL: "DASL"; - /** - * HTTP Header Date - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 6.6.1: HTTP Semantics} - */ - readonly Date: "Date"; - /** - * HTTP Header DAV - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - readonly DAV: "DAV"; - /** - * HTTP Header Delta-Base - * - * @see {@link https://www.iana.org/go/rfc3229 | RFC 3229: Delta encoding in HTTP} - */ - readonly DeltaBase: "Delta-Base"; - /** - * HTTP Header Depth - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - readonly Depth: "Depth"; - /** - * HTTP Header Destination - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - readonly Destination: "Destination"; - /** - * HTTP Header DPoP - * - * @see {@link https://www.iana.org/go/rfc9449 | RFC9449: OAuth 2.0 Demonstrating Proof of Possession (DPoP)} - */ - readonly DPoP: "DPoP"; - /** - * HTTP Header DPoP-Nonce - * - * @see {@link https://www.iana.org/go/rfc9449 | RFC9449: OAuth 2.0 Demonstrating Proof of Possession (DPoP)} - */ - readonly DpopNonce: "DPoP-Nonce"; - /** - * HTTP Header Early-Data - * - * @see {@link https://www.iana.org/go/rfc8470 | RFC 8470: Using Early Data in HTTP} - */ - readonly EarlyData: "Early-Data"; - /** - * HTTP Header ETag - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.8.3: HTTP Semantics} - */ - readonly ETag: "ETag"; - /** - * HTTP Header Expect - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.1: HTTP Semantics} - */ - readonly Expect: "Expect"; - /** - * HTTP Header Expires - * - * @see {@link https://www.iana.org/go/rfc9111 | RFC9111, Section 5.3: HTTP Caching} - */ - readonly Expires: "Expires"; - /** - * HTTP Header Forwarded - * - * @see {@link https://www.iana.org/go/rfc7239 | RFC 7239: Forwarded HTTP Extension} - */ - readonly Forwarded: "Forwarded"; - /** - * HTTP Header From - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.2: HTTP Semantics} - */ - readonly From: "From"; - /** - * HTTP Header Hobareg - * - * @see {@link https://www.iana.org/go/rfc7486 | RFC 7486, Section 6.1.1: HTTP Origin-Bound Authentication (HOBA)} - */ - readonly Hobareg: "Hobareg"; - /** - * HTTP Header Host - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.2: HTTP Semantics} - */ - readonly Host: "Host"; - /** - * HTTP Header If - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - readonly If: "If"; - /** - * HTTP Header If-Match - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.1: HTTP Semantics} - */ - readonly IfMatch: "If-Match"; - /** - * HTTP Header If-Modified-Since - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.3: HTTP Semantics} - */ - readonly IfModifiedSince: "If-Modified-Since"; - /** - * HTTP Header If-None-Match - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.2: HTTP Semantics} - */ - readonly IfNoneMatch: "If-None-Match"; - /** - * HTTP Header If-Range - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.5: HTTP Semantics} - */ - readonly IfRange: "If-Range"; - /** - * HTTP Header If-Schedule-Tag-Match - * - * @see {@link https://www.iana.org/go/rfc6638 | RFC 6338: Scheduling Extensions to CalDAV} - */ - readonly IfScheduleTagMatch: "If-Schedule-Tag-Match"; - /** - * HTTP Header If-Unmodified-Since - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.4: HTTP Semantics} - */ - readonly IfUnmodifiedSince: "If-Unmodified-Since"; - /** - * HTTP Header IM - * - * @see {@link https://www.iana.org/go/rfc3229 | RFC 3229: Delta encoding in HTTP} - */ - readonly IM: "IM"; - /** - * HTTP Header Include-Referred-Token-Binding-ID - * - * @see {@link https://www.iana.org/go/rfc8473 | RFC 8473: Token Binding over HTTP} - */ - readonly IncludeReferredTokenBindingId: "Include-Referred-Token-Binding-ID"; - /** - * HTTP Header Keep-Alive - * - * @see {@link https://www.iana.org/go/rfc2068 | RFC 2068: Hypertext Transfer Protocol -- HTTP/1.1} - */ - readonly KeepAlive: "Keep-Alive"; - /** - * HTTP Header Label - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC 3253: Versioning Extensions to WebDAV: (Web Distributed Authoring and Versioning)} - */ - readonly Label: "Label"; - /** - * HTTP Header Last-Event-ID - * - * @see {@link https://html.spec.whatwg.org/multipage/server-sent-events.html#last-event-id | HTML} - */ - readonly LastEventId: "Last-Event-ID"; - /** - * HTTP Header Last-Modified - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.8.2: HTTP Semantics} - */ - readonly LastModified: "Last-Modified"; - /** - * HTTP Header Link - * - * @see {@link https://www.iana.org/go/rfc8288 | RFC 8288: Web Linking} - */ - readonly Link: "Link"; - /** - * HTTP Header Location - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.2.2: HTTP Semantics} - */ - readonly Location: "Location"; - /** - * HTTP Header Lock-Token - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - readonly LockToken: "Lock-Token"; - /** - * HTTP Header Max-Forwards - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.6.2: HTTP Semantics} - */ - readonly MaxForwards: "Max-Forwards"; - /** - * HTTP Header Memento-Datetime - * - * @see {@link https://www.iana.org/go/rfc7089 | RFC 7089: HTTP Framework for Time-Based Access to Resource States -- Memento} - */ - readonly MementoDatetime: "Memento-Datetime"; - /** - * HTTP Header Meter - * - * @see {@link https://www.iana.org/go/rfc2227 | RFC 2227: Simple Hit-Metering and Usage-Limiting for HTTP} - */ - readonly Meter: "Meter"; - /** - * HTTP Header MIME-Version - * - * @see {@link https://www.iana.org/go/rfc9112 | RFC9112, Appendix B.1: HTTP/1.1} - */ - readonly MimeVersion: "MIME-Version"; - /** - * HTTP Header Negotiate - * - * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} - */ - readonly Negotiate: "Negotiate"; - /** - * HTTP Header NEL - * - * @see {@link https://www.w3.org/TR/network-error-logging/ | Network Error Logging} - */ - readonly NEL: "NEL"; - /** - * HTTP Header OData-EntityId - * - * @see {@link http://docs.oasis-open.org/odata/odata/v4.01/csprd05/part1-protocol/odata-v4.01-csprd05-part1-protocol.html#_Toc14172735 | OData Version 4.01 Part 1: Protocol} - * @see {@link #OASIS | OASIS} - * @see {@link #Chet_Ensign | Chet_Ensign} - */ - readonly OdataEntityid: "OData-EntityId"; - /** - * HTTP Header OData-Isolation - * - * @see {@link http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_HeaderIsolationODataIsolation | OData Version 4.01 Part 1: Protocol} - * @see {@link #OASIS | OASIS} - * @see {@link #Chet_Ensign | Chet_Ensign} - */ - readonly OdataIsolation: "OData-Isolation"; - /** - * HTTP Header OData-MaxVersion - * - * @see {@link http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_HeaderODataMaxVersion | OData Version 4.01 Part 1: Protocol} - * @see {@link #OASIS | OASIS} - * @see {@link #Chet_Ensign | Chet_Ensign} - */ - readonly OdataMaxversion: "OData-MaxVersion"; - /** - * HTTP Header OData-Version - * - * @see {@link http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_HeaderODataVersion | OData Version 4.01 Part 1: Protocol} - * @see {@link #OASIS | OASIS} - * @see {@link #Chet_Ensign | Chet_Ensign} - */ - readonly OdataVersion: "OData-Version"; - /** - * HTTP Header Optional-WWW-Authenticate - * - * @see {@link https://www.iana.org/go/rfc8053 | RFC 8053, Section 3: HTTP Authentication Extensions for Interactive Clients} - */ - readonly OptionalWwwAuthenticate: "Optional-WWW-Authenticate"; - /** - * HTTP Header Ordering-Type - * - * @see {@link https://www.iana.org/go/rfc3648 | RFC 3648: Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol} - */ - readonly OrderingType: "Ordering-Type"; - /** - * HTTP Header Origin - * - * @see {@link https://www.iana.org/go/rfc6454 | RFC 6454: The Web Origin Concept} - */ - readonly Origin: "Origin"; - /** - * HTTP Header Origin-Agent-Cluster - * - * @see {@link https://html.spec.whatwg.org/multipage/origin.html#origin-agent-cluster | HTML} - */ - readonly OriginAgentCluster: "Origin-Agent-Cluster"; - /** - * HTTP Header OSCORE - * - * @see {@link https://www.iana.org/go/rfc8613 | RFC 8613, Section 11.1: Object Security for Constrained RESTful Environments (OSCORE)} - */ - readonly OSCORE: "OSCORE"; - /** - * HTTP Header OSLC-Core-Version - * - * @see {@link https://docs.oasis-open-projects.org/oslc-op/core/v3.0/oslc-core.html | OASIS Project Specification 01} - * @see {@link #OASIS | OASIS} - * @see {@link #Chet_Ensign | Chet_Ensign} - */ - readonly OslcCoreVersion: "OSLC-Core-Version"; - /** - * HTTP Header Overwrite - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - readonly Overwrite: "Overwrite"; - /** - * HTTP Header Ping-From - * - * @see {@link https://html.spec.whatwg.org/multipage/links.html#ping-from | HTML} - */ - readonly PingFrom: "Ping-From"; - /** - * HTTP Header Ping-To - * - * @see {@link https://html.spec.whatwg.org/multipage/links.html#ping-to | HTML} - */ - readonly PingTo: "Ping-To"; - /** - * HTTP Header Position - * - * @see {@link https://www.iana.org/go/rfc3648 | RFC 3648: Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol} - */ - readonly Position: "Position"; - /** - * HTTP Header Prefer - * - * @see {@link https://www.iana.org/go/rfc7240 | RFC 7240: Prefer Header for HTTP} - */ - readonly Prefer: "Prefer"; - /** - * HTTP Header Preference-Applied - * - * @see {@link https://www.iana.org/go/rfc7240 | RFC 7240: Prefer Header for HTTP} - */ - readonly PreferenceApplied: "Preference-Applied"; - /** - * HTTP Header Priority - * - * @see {@link https://www.iana.org/go/rfc9218 | RFC9218: Extensible Prioritization Scheme for HTTP} - */ - readonly Priority: "Priority"; - /** - * HTTP Header Proxy-Authenticate - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.7.1: HTTP Semantics} - */ - readonly ProxyAuthenticate: "Proxy-Authenticate"; - /** - * HTTP Header Proxy-Authentication-Info - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.7.3: HTTP Semantics} - */ - readonly ProxyAuthenticationInfo: "Proxy-Authentication-Info"; - /** - * HTTP Header Proxy-Authorization - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.7.2: HTTP Semantics} - */ - readonly ProxyAuthorization: "Proxy-Authorization"; - /** - * HTTP Header Proxy-Status - * - * @see {@link https://www.iana.org/go/rfc9209 | RFC9209: The Proxy-Status HTTP Response Header Field} - */ - readonly ProxyStatus: "Proxy-Status"; - /** - * HTTP Header Public-Key-Pins - * - * @see {@link https://www.iana.org/go/rfc7469 | RFC 7469: Public Key Pinning Extension for HTTP} - */ - readonly PublicKeyPins: "Public-Key-Pins"; - /** - * HTTP Header Public-Key-Pins-Report-Only - * - * @see {@link https://www.iana.org/go/rfc7469 | RFC 7469: Public Key Pinning Extension for HTTP} - */ - readonly PublicKeyPinsReportOnly: "Public-Key-Pins-Report-Only"; - /** - * HTTP Header Range - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 14.2: HTTP Semantics} - */ - readonly Range: "Range"; - /** - * HTTP Header Redirect-Ref - * - * @see {@link https://www.iana.org/go/rfc4437 | RFC 4437: Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources} - */ - readonly RedirectRef: "Redirect-Ref"; - /** - * HTTP Header Referer - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.3: HTTP Semantics} - */ - readonly Referer: "Referer"; - /** - * HTTP Header Refresh - * - * @see {@link https://html.spec.whatwg.org/multipage/browsing-the-web.html#refresh | HTML} - */ - readonly Refresh: "Refresh"; - /** - * HTTP Header Replay-Nonce - * - * @see {@link https://www.iana.org/go/rfc8555 | RFC 8555, Section 6.5.1: Automatic Certificate Management Environment (ACME)} - */ - readonly ReplayNonce: "Replay-Nonce"; - /** - * HTTP Header Repr-Digest - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-digest-headers-13 | RFC-ietf-httpbis-digest-headers-13, Section 3: Digest Fields} - */ - readonly ReprDigest: "Repr-Digest"; - /** - * HTTP Header Retry-After - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.2.3: HTTP Semantics} - */ - readonly RetryAfter: "Retry-After"; - /** - * HTTP Header Schedule-Reply - * - * @see {@link https://www.iana.org/go/rfc6638 | RFC 6638: Scheduling Extensions to CalDAV} - */ - readonly ScheduleReply: "Schedule-Reply"; - /** - * HTTP Header Schedule-Tag - * - * @see {@link https://www.iana.org/go/rfc6638 | RFC 6338: Scheduling Extensions to CalDAV} - */ - readonly ScheduleTag: "Schedule-Tag"; - /** - * HTTP Header Sec-Purpose - * - * @see {@link https://fetch.spec.whatwg.org/#sec-purpose-header | Fetch} - */ - readonly SecPurpose: "Sec-Purpose"; - /** - * HTTP Header Sec-Token-Binding - * - * @see {@link https://www.iana.org/go/rfc8473 | RFC 8473: Token Binding over HTTP} - */ - readonly SecTokenBinding: "Sec-Token-Binding"; - /** - * HTTP Header Sec-WebSocket-Accept - * - * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} - */ - readonly SecWebsocketAccept: "Sec-WebSocket-Accept"; - /** - * HTTP Header Sec-WebSocket-Extensions - * - * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} - */ - readonly SecWebsocketExtensions: "Sec-WebSocket-Extensions"; - /** - * HTTP Header Sec-WebSocket-Key - * - * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} - */ - readonly SecWebsocketKey: "Sec-WebSocket-Key"; - /** - * HTTP Header Sec-WebSocket-Protocol - * - * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} - */ - readonly SecWebsocketProtocol: "Sec-WebSocket-Protocol"; - /** - * HTTP Header Sec-WebSocket-Version - * - * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} - */ - readonly SecWebsocketVersion: "Sec-WebSocket-Version"; - /** - * HTTP Header Server - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.2.4: HTTP Semantics} - */ - readonly Server: "Server"; - /** - * HTTP Header Server-Timing - * - * @see {@link https://www.w3.org/TR/server-timing/ | Server Timing} - */ - readonly ServerTiming: "Server-Timing"; - /** - * HTTP Header Set-Cookie - * - * @see {@link https://www.iana.org/go/rfc6265 | RFC 6265: HTTP State Management Mechanism} - */ - readonly SetCookie: "Set-Cookie"; - /** - * HTTP Header Signature - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-message-signatures-19 | RFC-ietf-httpbis-message-signatures-19, Section 4.2: HTTP Message Signatures} - */ - readonly Signature: "Signature"; - /** - * HTTP Header Signature-Input - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-message-signatures-19 | RFC-ietf-httpbis-message-signatures-19, Section 4.1: HTTP Message Signatures} - */ - readonly SignatureInput: "Signature-Input"; - /** - * HTTP Header SLUG - * - * @see {@link https://www.iana.org/go/rfc5023 | RFC 5023: The Atom Publishing Protocol} - */ - readonly SLUG: "SLUG"; - /** - * HTTP Header SoapAction - * - * @see {@link https://www.w3.org/TR/2000/NOTE-SOAP-20000508 | Simple Object Access Protocol (SOAP) 1.1} - */ - readonly SoapAction: "SoapAction"; - /** - * HTTP Header Status-URI - * - * @see {@link https://www.iana.org/go/rfc2518 | RFC 2518: HTTP Extensions for Distributed Authoring -- WEBDAV} - */ - readonly StatusUri: "Status-URI"; - /** - * HTTP Header Strict-Transport-Security - * - * @see {@link https://www.iana.org/go/rfc6797 | RFC 6797: HTTP Strict Transport Security (HSTS)} - */ - readonly StrictTransportSecurity: "Strict-Transport-Security"; - /** - * HTTP Header Sunset - * - * @see {@link https://www.iana.org/go/rfc8594 | RFC 8594: The Sunset HTTP Header Field} - */ - readonly Sunset: "Sunset"; - /** - * HTTP Header TCN - * - * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} - */ - readonly TCN: "TCN"; - /** - * HTTP Header TE - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.4: HTTP Semantics} - */ - readonly TE: "TE"; - /** - * HTTP Header Timeout - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - readonly Timeout: "Timeout"; - /** - * HTTP Header Topic - * - * @see {@link https://www.iana.org/go/rfc8030 | RFC 8030, Section 5.4: Generic Event Delivery Using HTTP Push} - */ - readonly Topic: "Topic"; - /** - * HTTP Header Traceparent - * - * @see {@link https://www.w3.org/TR/trace-context/#traceparent-header | Trace Context} - */ - readonly Traceparent: "Traceparent"; - /** - * HTTP Header Tracestate - * - * @see {@link https://www.w3.org/TR/trace-context/#tracestate-header | Trace Context} - */ - readonly Tracestate: "Tracestate"; - /** - * HTTP Header Trailer - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 6.6.2: HTTP Semantics} - */ - readonly Trailer: "Trailer"; - /** - * HTTP Header Transfer-Encoding - * - * @see {@link https://www.iana.org/go/rfc9112 | RFC9112, Section 6.1: HTTP Semantics} - */ - readonly TransferEncoding: "Transfer-Encoding"; - /** - * HTTP Header TTL - * - * @see {@link https://www.iana.org/go/rfc8030 | RFC 8030, Section 5.2: Generic Event Delivery Using HTTP Push} - */ - readonly TTL: "TTL"; - /** - * HTTP Header Upgrade - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.8: HTTP Semantics} - */ - readonly Upgrade: "Upgrade"; - /** - * HTTP Header Urgency - * - * @see {@link https://www.iana.org/go/rfc8030 | RFC 8030, Section 5.3: Generic Event Delivery Using HTTP Push} - */ - readonly Urgency: "Urgency"; - /** - * HTTP Header User-Agent - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.5: HTTP Semantics} - */ - readonly UserAgent: "User-Agent"; - /** - * HTTP Header Variant-Vary - * - * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} - */ - readonly VariantVary: "Variant-Vary"; - /** - * HTTP Header Vary - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 12.5.5: HTTP Semantics} - */ - readonly Vary: "Vary"; - /** - * HTTP Header Via - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.6.3: HTTP Semantics} - */ - readonly Via: "Via"; - /** - * HTTP Header Want-Content-Digest - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-digest-headers-13 | RFC-ietf-httpbis-digest-headers-13, Section 4: Digest Fields} - */ - readonly WantContentDigest: "Want-Content-Digest"; - /** - * HTTP Header Want-Repr-Digest - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-digest-headers-13 | RFC-ietf-httpbis-digest-headers-13, Section 4: Digest Fields} - */ - readonly WantReprDigest: "Want-Repr-Digest"; - /** - * HTTP Header WWW-Authenticate - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.6.1: HTTP Semantics} - */ - readonly WwwAuthenticate: "WWW-Authenticate"; - /** - * HTTP Header X-Content-Type-Options - * - * @see {@link https://fetch.spec.whatwg.org/#x-content-type-options-header | Fetch} - */ - readonly XContentTypeOptions: "X-Content-Type-Options"; - /** - * HTTP Header X-Frame-Options - * - * @see {@link https://html.spec.whatwg.org/multipage/browsing-the-web.html#x-frame-options | HTML} - */ - readonly XFrameOptions: "X-Frame-Options"; -}; -/** - * A HTTP Header - * - * @experimental **UNSTABLE**: New API, yet to be vetted. - */ -export type Header = typeof HEADER[keyof typeof HEADER]; -//# sourceMappingURL=unstable_header.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_header.d.ts.map b/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_header.d.ts.map deleted file mode 100644 index 6eb2d75..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_header.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"unstable_header.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/http/1.0.20/unstable_header.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,eAAO,MAAM,MAAM;IACjB;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;KAKC;;IAGD;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAIH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;CAEK,CAAC;AAEX;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_header.js b/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_header.js deleted file mode 100644 index 981334a..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_header.js +++ /dev/null @@ -1,1025 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -// This module is generated from {@link https://www.iana.org/assignments/http-fields/http-fields.xhtml#field-names | IANA Hypertext Transfer Protocol (HTTP) Field Name Registry} -/** - * HTTP Headers with status permanent - * - * @experimental **UNSTABLE**: New API, yet to be vetted. - * - * @see {@link https://www.iana.org/assignments/http-fields/http-fields.xhtml#field-names | IANA Hypertext Transfer Protocol (HTTP) Field Name Registry} - */ -export const HEADER = { - /** - * HTTP Header A-IM - * - * @see {@link https://www.iana.org/go/rfc3229 | RFC 3229: Delta encoding in HTTP} - */ - AIm: "A-IM", - /** - * HTTP Header Accept - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 12.5.1: HTTP Semantics} - */ - Accept: "Accept", - /** - * HTTP Header Accept-Additions - * - * @see {@link https://www.iana.org/go/rfc2324 | RFC 2324: Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)} - */ - AcceptAdditions: "Accept-Additions", - /** - * HTTP Header Accept-CH - * - * @see {@link https://www.iana.org/go/rfc8942 | RFC 8942, Section 3.1: HTTP Client Hints} - */ - AcceptCh: "Accept-CH", - /** - * HTTP Header Accept-Datetime - * - * @see {@link https://www.iana.org/go/rfc7089 | RFC 7089: HTTP Framework for Time-Based Access to Resource States -- Memento} - */ - AcceptDatetime: "Accept-Datetime", - /** - * HTTP Header Accept-Encoding - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 12.5.3: HTTP Semantics} - */ - AcceptEncoding: "Accept-Encoding", - /** - * HTTP Header Accept-Features - * - * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} - */ - AcceptFeatures: "Accept-Features", - /** - * HTTP Header Accept-Language - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 12.5.4: HTTP Semantics} - */ - AcceptLanguage: "Accept-Language", - /** - * HTTP Header Accept-Patch - * - * @see {@link https://www.iana.org/go/rfc5789 | RFC 5789: PATCH Method for HTTP} - */ - AcceptPatch: "Accept-Patch", - /** - * HTTP Header Accept-Post - * - * @see {@link https://www.w3.org/TR/ldp | Linked Data Platform 1.0} - */ - AcceptPost: "Accept-Post", - /** - * HTTP Header Accept-Ranges - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 14.3: HTTP Semantics} - */ - AcceptRanges: "Accept-Ranges", - /** - * HTTP Header Accept-Signature - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-message-signatures-19 | RFC-ietf-httpbis-message-signatures-19, Section 5.1: HTTP Message Signatures} - */ - AcceptSignature: "Accept-Signature", - /** - * HTTP Header Access-Control-Allow-Credentials - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-allow-credentials | Fetch} - */ - AccessControlAllowCredentials: "Access-Control-Allow-Credentials", - /** - * HTTP Header Access-Control-Allow-Headers - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-allow-headers | Fetch} - */ - AccessControlAllowHeaders: "Access-Control-Allow-Headers", - /** - * HTTP Header Access-Control-Allow-Methods - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-allow-methods | Fetch} - */ - AccessControlAllowMethods: "Access-Control-Allow-Methods", - /** - * HTTP Header Access-Control-Allow-Origin - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-allow-origin | Fetch} - */ - AccessControlAllowOrigin: "Access-Control-Allow-Origin", - /** - * HTTP Header Access-Control-Expose-Headers - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-expose-headers | Fetch} - */ - AccessControlExposeHeaders: "Access-Control-Expose-Headers", - /** - * HTTP Header Access-Control-Max-Age - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-max-age | Fetch} - */ - AccessControlMaxAge: "Access-Control-Max-Age", - /** - * HTTP Header Access-Control-Request-Headers - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-request-headers | Fetch} - */ - AccessControlRequestHeaders: "Access-Control-Request-Headers", - /** - * HTTP Header Access-Control-Request-Method - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-request-method | Fetch} - */ - AccessControlRequestMethod: "Access-Control-Request-Method", - /** - * HTTP Header Age - * - * @see {@link https://www.iana.org/go/rfc9111 | RFC9111, Section 5.1: HTTP Caching} - */ - Age: "Age", - /** - * HTTP Header Allow - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.2.1: HTTP Semantics} - */ - Allow: "Allow", - /** - * HTTP Header ALPN - * - * @see {@link https://www.iana.org/go/rfc7639 | RFC 7639, Section 2: The ALPN HTTP Header Field} - */ - ALPN: "ALPN", - /** - * HTTP Header Alt-Svc - * - * @see {@link https://www.iana.org/go/rfc7838 | RFC 7838: HTTP Alternative Services} - */ - AltSvc: "Alt-Svc", - /** - * HTTP Header Alt-Used - * - * @see {@link https://www.iana.org/go/rfc7838 | RFC 7838: HTTP Alternative Services} - */ - AltUsed: "Alt-Used", - /** - * HTTP Header Alternates - * - * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} - */ - Alternates: "Alternates", - /** - * HTTP Header Apply-To-Redirect-Ref - * - * @see {@link https://www.iana.org/go/rfc4437 | RFC 4437: Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources} - */ - ApplyToRedirectRef: "Apply-To-Redirect-Ref", - /** - * HTTP Header Authentication-Control - * - * @see {@link https://www.iana.org/go/rfc8053 | RFC 8053, Section 4: HTTP Authentication Extensions for Interactive Clients} - */ - AuthenticationControl: "Authentication-Control", - /** - * HTTP Header Authentication-Info - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.6.3: HTTP Semantics} - */ - AuthenticationInfo: "Authentication-Info", - /** - * HTTP Header Authorization - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.6.2: HTTP Semantics} - */ - Authorization: "Authorization", - /** - * HTTP Header Cache-Control - * - * @see {@link https://www.iana.org/go/rfc9111 | RFC9111, Section 5.2} - */ - CacheControl: "Cache-Control", - /** - * HTTP Header Cache-Status - * - * @see {@link https://www.iana.org/go/rfc9211 | RFC9211: The Cache-Status HTTP Response Header Field} - */ - CacheStatus: "Cache-Status", - /** - * HTTP Header Cal-Managed-ID - * - * @see {@link https://www.iana.org/go/rfc8607 | RFC 8607, Section 5.1: Calendaring Extensions to WebDAV (CalDAV): Managed Attachments} - */ - CalManagedId: "Cal-Managed-ID", - /** - * HTTP Header CalDAV-Timezones - * - * @see {@link https://www.iana.org/go/rfc7809 | RFC 7809, Section 7.1: Calendaring Extensions to WebDAV (CalDAV): Time Zones by Reference} - */ - CaldavTimezones: "CalDAV-Timezones", - /** - * HTTP Header Capsule-Protocol - * - * @see {@link https://www.iana.org/go/rfc9297 | RFC9297} - */ - CapsuleProtocol: "Capsule-Protocol", - /** - * HTTP Header CDN-Cache-Control - * - * @see {@link https://www.iana.org/go/rfc9213 | RFC9213: Targeted HTTP Cache Control} - */ - CdnCacheControl: "CDN-Cache-Control", - /** - * HTTP Header CDN-Loop - * - * @see {@link https://www.iana.org/go/rfc8586 | RFC 8586: Loop Detection in Content Delivery Networks (CDNs)} - */ - CdnLoop: "CDN-Loop", - /** - * HTTP Header Cert-Not-After - * - * @see {@link https://www.iana.org/go/rfc8739 | RFC 8739, Section 3.3: Support for Short-Term, Automatically Renewed (STAR) Certificates in the Automated Certificate Management Environment (ACME)} - */ - CertNotAfter: "Cert-Not-After", - /** - * HTTP Header Cert-Not-Before - * - * @see {@link https://www.iana.org/go/rfc8739 | RFC 8739, Section 3.3: Support for Short-Term, Automatically Renewed (STAR) Certificates in the Automated Certificate Management Environment (ACME)} - */ - CertNotBefore: "Cert-Not-Before", - /** - * HTTP Header Clear-Site-Data - * - * @see {@link https://w3.org/TR/clear-site-data/#header | Clear Site Data} - */ - ClearSiteData: "Clear-Site-Data", - /** - * HTTP Header Client-Cert - * - * @see {@link https://www.iana.org/go/rfc9440 | RFC9440, Section 2: Client-Cert HTTP Header Field} - */ - ClientCert: "Client-Cert", - /** - * HTTP Header Client-Cert-Chain - * - * @see {@link https://www.iana.org/go/rfc9440 | RFC9440, Section 2: Client-Cert HTTP Header Field} - */ - ClientCertChain: "Client-Cert-Chain", - /** - * HTTP Header Close - * - * @see {@link https://www.iana.org/go/rfc9112 | RFC9112, Section 9.6: HTTP/1.1} - */ - Close: "Close", - /** - * HTTP Header Connection - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.6.1: HTTP Semantics} - */ - Connection: "Connection", - /** - * HTTP Header Content-Digest - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-digest-headers-13 | RFC-ietf-httpbis-digest-headers-13, Section 2: Digest Fields} - */ - ContentDigest: "Content-Digest", - /** - * HTTP Header Content-Disposition - * - * @see {@link https://www.iana.org/go/rfc6266 | RFC 6266: Use of the Content-Disposition Header Field in the - Hypertext Transfer Protocol (HTTP)} - */ - ContentDisposition: "Content-Disposition", - /** - * HTTP Header Content-Encoding - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.4: HTTP Semantics} - */ - ContentEncoding: "Content-Encoding", - /** - * HTTP Header Content-Language - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.5: HTTP Semantics} - */ - ContentLanguage: "Content-Language", - /** - * HTTP Header Content-Length - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.6: HTTP Semantics} - */ - ContentLength: "Content-Length", - /** - * HTTP Header Content-Location - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.7: HTTP Semantics} - */ - ContentLocation: "Content-Location", - /** - * HTTP Header Content-Range - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 14.4: HTTP Semantics} - */ - ContentRange: "Content-Range", - /** - * HTTP Header Content-Security-Policy - * - * @see {@link https://www.w3.org/TR/CSP/#csp-header | Content Security Policy Level 3} - */ - ContentSecurityPolicy: "Content-Security-Policy", - /** - * HTTP Header Content-Security-Policy-Report-Only - * - * @see {@link https://www.w3.org/TR/CSP/#cspro-header | Content Security Policy Level 3} - */ - ContentSecurityPolicyReportOnly: "Content-Security-Policy-Report-Only", - /** - * HTTP Header Content-Type - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.3: HTTP Semantics} - */ - ContentType: "Content-Type", - /** - * HTTP Header Cookie - * - * @see {@link https://www.iana.org/go/rfc6265 | RFC 6265: HTTP State Management Mechanism} - */ - Cookie: "Cookie", - /** - * HTTP Header Cross-Origin-Embedder-Policy - * - * @see {@link https://html.spec.whatwg.org/multipage/origin.html#cross-origin-embedder-policy | HTML} - */ - CrossOriginEmbedderPolicy: "Cross-Origin-Embedder-Policy", - /** - * HTTP Header Cross-Origin-Embedder-Policy-Report-Only - * - * @see {@link https://html.spec.whatwg.org/multipage/origin.html#cross-origin-embedder-policy-report-only | HTML} - */ - CrossOriginEmbedderPolicyReportOnly: "Cross-Origin-Embedder-Policy-Report-Only", - /** - * HTTP Header Cross-Origin-Opener-Policy - * - * @see {@link https://html.spec.whatwg.org/multipage/origin.html#cross-origin-opener-policy-2 | HTML} - */ - CrossOriginOpenerPolicy: "Cross-Origin-Opener-Policy", - /** - * HTTP Header Cross-Origin-Opener-Policy-Report-Only - * - * @see {@link https://html.spec.whatwg.org/multipage/origin.html#cross-origin-opener-policy-report-only | HTML} - */ - CrossOriginOpenerPolicyReportOnly: "Cross-Origin-Opener-Policy-Report-Only", - /** - * HTTP Header Cross-Origin-Resource-Policy - * - * @see {@link https://fetch.spec.whatwg.org/#cross-origin-resource-policy-header | Fetch} - */ - CrossOriginResourcePolicy: "Cross-Origin-Resource-Policy", - /** - * HTTP Header DASL - * - * @see {@link https://www.iana.org/go/rfc5323 | RFC 5323: Web Distributed Authoring and Versioning (WebDAV) SEARCH} - */ - DASL: "DASL", - /** - * HTTP Header Date - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 6.6.1: HTTP Semantics} - */ - Date: "Date", - /** - * HTTP Header DAV - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - DAV: "DAV", - /** - * HTTP Header Delta-Base - * - * @see {@link https://www.iana.org/go/rfc3229 | RFC 3229: Delta encoding in HTTP} - */ - DeltaBase: "Delta-Base", - /** - * HTTP Header Depth - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - Depth: "Depth", - /** - * HTTP Header Destination - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - Destination: "Destination", - /** - * HTTP Header DPoP - * - * @see {@link https://www.iana.org/go/rfc9449 | RFC9449: OAuth 2.0 Demonstrating Proof of Possession (DPoP)} - */ - DPoP: "DPoP", - /** - * HTTP Header DPoP-Nonce - * - * @see {@link https://www.iana.org/go/rfc9449 | RFC9449: OAuth 2.0 Demonstrating Proof of Possession (DPoP)} - */ - DpopNonce: "DPoP-Nonce", - /** - * HTTP Header Early-Data - * - * @see {@link https://www.iana.org/go/rfc8470 | RFC 8470: Using Early Data in HTTP} - */ - EarlyData: "Early-Data", - /** - * HTTP Header ETag - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.8.3: HTTP Semantics} - */ - ETag: "ETag", - /** - * HTTP Header Expect - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.1: HTTP Semantics} - */ - Expect: "Expect", - /** - * HTTP Header Expires - * - * @see {@link https://www.iana.org/go/rfc9111 | RFC9111, Section 5.3: HTTP Caching} - */ - Expires: "Expires", - /** - * HTTP Header Forwarded - * - * @see {@link https://www.iana.org/go/rfc7239 | RFC 7239: Forwarded HTTP Extension} - */ - Forwarded: "Forwarded", - /** - * HTTP Header From - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.2: HTTP Semantics} - */ - From: "From", - /** - * HTTP Header Hobareg - * - * @see {@link https://www.iana.org/go/rfc7486 | RFC 7486, Section 6.1.1: HTTP Origin-Bound Authentication (HOBA)} - */ - Hobareg: "Hobareg", - /** - * HTTP Header Host - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.2: HTTP Semantics} - */ - Host: "Host", - /** - * HTTP Header If - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - If: "If", - /** - * HTTP Header If-Match - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.1: HTTP Semantics} - */ - IfMatch: "If-Match", - /** - * HTTP Header If-Modified-Since - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.3: HTTP Semantics} - */ - IfModifiedSince: "If-Modified-Since", - /** - * HTTP Header If-None-Match - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.2: HTTP Semantics} - */ - IfNoneMatch: "If-None-Match", - /** - * HTTP Header If-Range - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.5: HTTP Semantics} - */ - IfRange: "If-Range", - /** - * HTTP Header If-Schedule-Tag-Match - * - * @see {@link https://www.iana.org/go/rfc6638 | RFC 6338: Scheduling Extensions to CalDAV} - */ - IfScheduleTagMatch: "If-Schedule-Tag-Match", - /** - * HTTP Header If-Unmodified-Since - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.4: HTTP Semantics} - */ - IfUnmodifiedSince: "If-Unmodified-Since", - /** - * HTTP Header IM - * - * @see {@link https://www.iana.org/go/rfc3229 | RFC 3229: Delta encoding in HTTP} - */ - IM: "IM", - /** - * HTTP Header Include-Referred-Token-Binding-ID - * - * @see {@link https://www.iana.org/go/rfc8473 | RFC 8473: Token Binding over HTTP} - */ - IncludeReferredTokenBindingId: "Include-Referred-Token-Binding-ID", - /** - * HTTP Header Keep-Alive - * - * @see {@link https://www.iana.org/go/rfc2068 | RFC 2068: Hypertext Transfer Protocol -- HTTP/1.1} - */ - KeepAlive: "Keep-Alive", - /** - * HTTP Header Label - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC 3253: Versioning Extensions to WebDAV: (Web Distributed Authoring and Versioning)} - */ - Label: "Label", - /** - * HTTP Header Last-Event-ID - * - * @see {@link https://html.spec.whatwg.org/multipage/server-sent-events.html#last-event-id | HTML} - */ - LastEventId: "Last-Event-ID", - /** - * HTTP Header Last-Modified - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.8.2: HTTP Semantics} - */ - LastModified: "Last-Modified", - /** - * HTTP Header Link - * - * @see {@link https://www.iana.org/go/rfc8288 | RFC 8288: Web Linking} - */ - Link: "Link", - /** - * HTTP Header Location - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.2.2: HTTP Semantics} - */ - Location: "Location", - /** - * HTTP Header Lock-Token - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - LockToken: "Lock-Token", - /** - * HTTP Header Max-Forwards - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.6.2: HTTP Semantics} - */ - MaxForwards: "Max-Forwards", - /** - * HTTP Header Memento-Datetime - * - * @see {@link https://www.iana.org/go/rfc7089 | RFC 7089: HTTP Framework for Time-Based Access to Resource States -- Memento} - */ - MementoDatetime: "Memento-Datetime", - /** - * HTTP Header Meter - * - * @see {@link https://www.iana.org/go/rfc2227 | RFC 2227: Simple Hit-Metering and Usage-Limiting for HTTP} - */ - Meter: "Meter", - /** - * HTTP Header MIME-Version - * - * @see {@link https://www.iana.org/go/rfc9112 | RFC9112, Appendix B.1: HTTP/1.1} - */ - MimeVersion: "MIME-Version", - /** - * HTTP Header Negotiate - * - * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} - */ - Negotiate: "Negotiate", - /** - * HTTP Header NEL - * - * @see {@link https://www.w3.org/TR/network-error-logging/ | Network Error Logging} - */ - NEL: "NEL", - /** - * HTTP Header OData-EntityId - * - * @see {@link http://docs.oasis-open.org/odata/odata/v4.01/csprd05/part1-protocol/odata-v4.01-csprd05-part1-protocol.html#_Toc14172735 | OData Version 4.01 Part 1: Protocol} - * @see {@link #OASIS | OASIS} - * @see {@link #Chet_Ensign | Chet_Ensign} - */ - OdataEntityid: "OData-EntityId", - /** - * HTTP Header OData-Isolation - * - * @see {@link http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_HeaderIsolationODataIsolation | OData Version 4.01 Part 1: Protocol} - * @see {@link #OASIS | OASIS} - * @see {@link #Chet_Ensign | Chet_Ensign} - */ - OdataIsolation: "OData-Isolation", - /** - * HTTP Header OData-MaxVersion - * - * @see {@link http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_HeaderODataMaxVersion | OData Version 4.01 Part 1: Protocol} - * @see {@link #OASIS | OASIS} - * @see {@link #Chet_Ensign | Chet_Ensign} - */ - OdataMaxversion: "OData-MaxVersion", - /** - * HTTP Header OData-Version - * - * @see {@link http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_HeaderODataVersion | OData Version 4.01 Part 1: Protocol} - * @see {@link #OASIS | OASIS} - * @see {@link #Chet_Ensign | Chet_Ensign} - */ - OdataVersion: "OData-Version", - /** - * HTTP Header Optional-WWW-Authenticate - * - * @see {@link https://www.iana.org/go/rfc8053 | RFC 8053, Section 3: HTTP Authentication Extensions for Interactive Clients} - */ - OptionalWwwAuthenticate: "Optional-WWW-Authenticate", - /** - * HTTP Header Ordering-Type - * - * @see {@link https://www.iana.org/go/rfc3648 | RFC 3648: Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol} - */ - OrderingType: "Ordering-Type", - /** - * HTTP Header Origin - * - * @see {@link https://www.iana.org/go/rfc6454 | RFC 6454: The Web Origin Concept} - */ - Origin: "Origin", - /** - * HTTP Header Origin-Agent-Cluster - * - * @see {@link https://html.spec.whatwg.org/multipage/origin.html#origin-agent-cluster | HTML} - */ - OriginAgentCluster: "Origin-Agent-Cluster", - /** - * HTTP Header OSCORE - * - * @see {@link https://www.iana.org/go/rfc8613 | RFC 8613, Section 11.1: Object Security for Constrained RESTful Environments (OSCORE)} - */ - OSCORE: "OSCORE", - /** - * HTTP Header OSLC-Core-Version - * - * @see {@link https://docs.oasis-open-projects.org/oslc-op/core/v3.0/oslc-core.html | OASIS Project Specification 01} - * @see {@link #OASIS | OASIS} - * @see {@link #Chet_Ensign | Chet_Ensign} - */ - OslcCoreVersion: "OSLC-Core-Version", - /** - * HTTP Header Overwrite - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - Overwrite: "Overwrite", - /** - * HTTP Header Ping-From - * - * @see {@link https://html.spec.whatwg.org/multipage/links.html#ping-from | HTML} - */ - PingFrom: "Ping-From", - /** - * HTTP Header Ping-To - * - * @see {@link https://html.spec.whatwg.org/multipage/links.html#ping-to | HTML} - */ - PingTo: "Ping-To", - /** - * HTTP Header Position - * - * @see {@link https://www.iana.org/go/rfc3648 | RFC 3648: Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol} - */ - Position: "Position", - /** - * HTTP Header Prefer - * - * @see {@link https://www.iana.org/go/rfc7240 | RFC 7240: Prefer Header for HTTP} - */ - Prefer: "Prefer", - /** - * HTTP Header Preference-Applied - * - * @see {@link https://www.iana.org/go/rfc7240 | RFC 7240: Prefer Header for HTTP} - */ - PreferenceApplied: "Preference-Applied", - /** - * HTTP Header Priority - * - * @see {@link https://www.iana.org/go/rfc9218 | RFC9218: Extensible Prioritization Scheme for HTTP} - */ - Priority: "Priority", - /** - * HTTP Header Proxy-Authenticate - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.7.1: HTTP Semantics} - */ - ProxyAuthenticate: "Proxy-Authenticate", - /** - * HTTP Header Proxy-Authentication-Info - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.7.3: HTTP Semantics} - */ - ProxyAuthenticationInfo: "Proxy-Authentication-Info", - /** - * HTTP Header Proxy-Authorization - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.7.2: HTTP Semantics} - */ - ProxyAuthorization: "Proxy-Authorization", - /** - * HTTP Header Proxy-Status - * - * @see {@link https://www.iana.org/go/rfc9209 | RFC9209: The Proxy-Status HTTP Response Header Field} - */ - ProxyStatus: "Proxy-Status", - /** - * HTTP Header Public-Key-Pins - * - * @see {@link https://www.iana.org/go/rfc7469 | RFC 7469: Public Key Pinning Extension for HTTP} - */ - PublicKeyPins: "Public-Key-Pins", - /** - * HTTP Header Public-Key-Pins-Report-Only - * - * @see {@link https://www.iana.org/go/rfc7469 | RFC 7469: Public Key Pinning Extension for HTTP} - */ - PublicKeyPinsReportOnly: "Public-Key-Pins-Report-Only", - /** - * HTTP Header Range - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 14.2: HTTP Semantics} - */ - Range: "Range", - /** - * HTTP Header Redirect-Ref - * - * @see {@link https://www.iana.org/go/rfc4437 | RFC 4437: Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources} - */ - RedirectRef: "Redirect-Ref", - /** - * HTTP Header Referer - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.3: HTTP Semantics} - */ - Referer: "Referer", - /** - * HTTP Header Refresh - * - * @see {@link https://html.spec.whatwg.org/multipage/browsing-the-web.html#refresh | HTML} - */ - Refresh: "Refresh", - /** - * HTTP Header Replay-Nonce - * - * @see {@link https://www.iana.org/go/rfc8555 | RFC 8555, Section 6.5.1: Automatic Certificate Management Environment (ACME)} - */ - ReplayNonce: "Replay-Nonce", - /** - * HTTP Header Repr-Digest - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-digest-headers-13 | RFC-ietf-httpbis-digest-headers-13, Section 3: Digest Fields} - */ - ReprDigest: "Repr-Digest", - /** - * HTTP Header Retry-After - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.2.3: HTTP Semantics} - */ - RetryAfter: "Retry-After", - /** - * HTTP Header Schedule-Reply - * - * @see {@link https://www.iana.org/go/rfc6638 | RFC 6638: Scheduling Extensions to CalDAV} - */ - ScheduleReply: "Schedule-Reply", - /** - * HTTP Header Schedule-Tag - * - * @see {@link https://www.iana.org/go/rfc6638 | RFC 6338: Scheduling Extensions to CalDAV} - */ - ScheduleTag: "Schedule-Tag", - /** - * HTTP Header Sec-Purpose - * - * @see {@link https://fetch.spec.whatwg.org/#sec-purpose-header | Fetch} - */ - SecPurpose: "Sec-Purpose", - /** - * HTTP Header Sec-Token-Binding - * - * @see {@link https://www.iana.org/go/rfc8473 | RFC 8473: Token Binding over HTTP} - */ - SecTokenBinding: "Sec-Token-Binding", - /** - * HTTP Header Sec-WebSocket-Accept - * - * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} - */ - SecWebsocketAccept: "Sec-WebSocket-Accept", - /** - * HTTP Header Sec-WebSocket-Extensions - * - * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} - */ - SecWebsocketExtensions: "Sec-WebSocket-Extensions", - /** - * HTTP Header Sec-WebSocket-Key - * - * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} - */ - SecWebsocketKey: "Sec-WebSocket-Key", - /** - * HTTP Header Sec-WebSocket-Protocol - * - * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} - */ - SecWebsocketProtocol: "Sec-WebSocket-Protocol", - /** - * HTTP Header Sec-WebSocket-Version - * - * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} - */ - SecWebsocketVersion: "Sec-WebSocket-Version", - /** - * HTTP Header Server - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.2.4: HTTP Semantics} - */ - Server: "Server", - /** - * HTTP Header Server-Timing - * - * @see {@link https://www.w3.org/TR/server-timing/ | Server Timing} - */ - ServerTiming: "Server-Timing", - /** - * HTTP Header Set-Cookie - * - * @see {@link https://www.iana.org/go/rfc6265 | RFC 6265: HTTP State Management Mechanism} - */ - SetCookie: "Set-Cookie", - /** - * HTTP Header Signature - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-message-signatures-19 | RFC-ietf-httpbis-message-signatures-19, Section 4.2: HTTP Message Signatures} - */ - Signature: "Signature", - /** - * HTTP Header Signature-Input - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-message-signatures-19 | RFC-ietf-httpbis-message-signatures-19, Section 4.1: HTTP Message Signatures} - */ - SignatureInput: "Signature-Input", - /** - * HTTP Header SLUG - * - * @see {@link https://www.iana.org/go/rfc5023 | RFC 5023: The Atom Publishing Protocol} - */ - SLUG: "SLUG", - /** - * HTTP Header SoapAction - * - * @see {@link https://www.w3.org/TR/2000/NOTE-SOAP-20000508 | Simple Object Access Protocol (SOAP) 1.1} - */ - SoapAction: "SoapAction", - /** - * HTTP Header Status-URI - * - * @see {@link https://www.iana.org/go/rfc2518 | RFC 2518: HTTP Extensions for Distributed Authoring -- WEBDAV} - */ - StatusUri: "Status-URI", - /** - * HTTP Header Strict-Transport-Security - * - * @see {@link https://www.iana.org/go/rfc6797 | RFC 6797: HTTP Strict Transport Security (HSTS)} - */ - StrictTransportSecurity: "Strict-Transport-Security", - /** - * HTTP Header Sunset - * - * @see {@link https://www.iana.org/go/rfc8594 | RFC 8594: The Sunset HTTP Header Field} - */ - Sunset: "Sunset", - /** - * HTTP Header TCN - * - * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} - */ - TCN: "TCN", - /** - * HTTP Header TE - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.4: HTTP Semantics} - */ - TE: "TE", - /** - * HTTP Header Timeout - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - Timeout: "Timeout", - /** - * HTTP Header Topic - * - * @see {@link https://www.iana.org/go/rfc8030 | RFC 8030, Section 5.4: Generic Event Delivery Using HTTP Push} - */ - Topic: "Topic", - /** - * HTTP Header Traceparent - * - * @see {@link https://www.w3.org/TR/trace-context/#traceparent-header | Trace Context} - */ - Traceparent: "Traceparent", - /** - * HTTP Header Tracestate - * - * @see {@link https://www.w3.org/TR/trace-context/#tracestate-header | Trace Context} - */ - Tracestate: "Tracestate", - /** - * HTTP Header Trailer - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 6.6.2: HTTP Semantics} - */ - Trailer: "Trailer", - /** - * HTTP Header Transfer-Encoding - * - * @see {@link https://www.iana.org/go/rfc9112 | RFC9112, Section 6.1: HTTP Semantics} - */ - TransferEncoding: "Transfer-Encoding", - /** - * HTTP Header TTL - * - * @see {@link https://www.iana.org/go/rfc8030 | RFC 8030, Section 5.2: Generic Event Delivery Using HTTP Push} - */ - TTL: "TTL", - /** - * HTTP Header Upgrade - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.8: HTTP Semantics} - */ - Upgrade: "Upgrade", - /** - * HTTP Header Urgency - * - * @see {@link https://www.iana.org/go/rfc8030 | RFC 8030, Section 5.3: Generic Event Delivery Using HTTP Push} - */ - Urgency: "Urgency", - /** - * HTTP Header User-Agent - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.5: HTTP Semantics} - */ - UserAgent: "User-Agent", - /** - * HTTP Header Variant-Vary - * - * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} - */ - VariantVary: "Variant-Vary", - /** - * HTTP Header Vary - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 12.5.5: HTTP Semantics} - */ - Vary: "Vary", - /** - * HTTP Header Via - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.6.3: HTTP Semantics} - */ - Via: "Via", - /** - * HTTP Header Want-Content-Digest - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-digest-headers-13 | RFC-ietf-httpbis-digest-headers-13, Section 4: Digest Fields} - */ - WantContentDigest: "Want-Content-Digest", - /** - * HTTP Header Want-Repr-Digest - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-digest-headers-13 | RFC-ietf-httpbis-digest-headers-13, Section 4: Digest Fields} - */ - WantReprDigest: "Want-Repr-Digest", - /** - * HTTP Header WWW-Authenticate - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.6.1: HTTP Semantics} - */ - WwwAuthenticate: "WWW-Authenticate", - /** - * HTTP Header X-Content-Type-Options - * - * @see {@link https://fetch.spec.whatwg.org/#x-content-type-options-header | Fetch} - */ - XContentTypeOptions: "X-Content-Type-Options", - /** - * HTTP Header X-Frame-Options - * - * @see {@link https://html.spec.whatwg.org/multipage/browsing-the-web.html#x-frame-options | HTML} - */ - XFrameOptions: "X-Frame-Options", -}; diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_method.d.ts b/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_method.d.ts deleted file mode 100644 index 65157f8..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_method.d.ts +++ /dev/null @@ -1,256 +0,0 @@ -/** - * HTTP Methods derived from IANA Hypertext Transfer Protocol (HTTP) Method Registry - * - * @experimental **UNSTABLE**: New API, yet to be vetted. - * - * @see {@link https://www.iana.org/assignments/http-methods/http-methods.xhtml#methods | IANA Hypertext Transfer Protocol (HTTP) Method Registry} - */ -export declare const METHOD: { - /** - * ACL (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3744 | RFC3744, Section 8.1} - */ - readonly Acl: "ACL"; - /** - * BASELINE-CONTROL (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 12.6} - */ - readonly BaselineControl: "BASELINE-CONTROL"; - /** - * BIND (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc5842 | RFC5842, Section 4} - */ - readonly Bind: "BIND"; - /** - * CHECKIN (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 4.4, Section 9.4} - */ - readonly Checkin: "CHECKIN"; - /** - * CHECKOUT (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 4.3, Section 8.8} - */ - readonly Checkout: "CHECKOUT"; - /** - * CONNECT (Safe: no; Idempotent: no) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.6} - */ - readonly Connect: "CONNECT"; - /** - * COPY (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.8} - */ - readonly Copy: "COPY"; - /** - * DELETE (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.5} - */ - readonly Delete: "DELETE"; - /** - * GET (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.1} - */ - readonly Get: "GET"; - /** - * HEAD (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.2} - */ - readonly Head: "HEAD"; - /** - * LABEL (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 8.2} - */ - readonly Label: "LABEL"; - /** - * LINK (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc2068 | RFC2068, Section 19.6.1.2} - */ - readonly Link: "LINK"; - /** - * LOCK (Safe: no; Idempotent: no) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.10} - */ - readonly Lock: "LOCK"; - /** - * MERGE (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 11.2} - */ - readonly Merge: "MERGE"; - /** - * MKACTIVITY (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 13.5} - */ - readonly Mkactivity: "MKACTIVITY"; - /** - * MKCALENDAR (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4791 | RFC4791, Section 5.3.1} - * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.3} - */ - readonly Mkcalendar: "MKCALENDAR"; - /** - * MKCOL (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.3} - * @see {@link https://www.iana.org/go/rfc5689 | RFC5689, Section 3} - * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.3} - */ - readonly Mkcol: "MKCOL"; - /** - * MKREDIRECTREF (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4437 | RFC4437, Section 6} - */ - readonly Mkredirectref: "MKREDIRECTREF"; - /** - * MKWORKSPACE (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 6.3} - */ - readonly Mkworkspace: "MKWORKSPACE"; - /** - * MOVE (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.9} - */ - readonly Move: "MOVE"; - /** - * OPTIONS (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.7} - */ - readonly Options: "OPTIONS"; - /** - * ORDERPATCH (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3648 | RFC3648, Section 7} - */ - readonly Orderpatch: "ORDERPATCH"; - /** - * PATCH (Safe: no; Idempotent: no) - * - * @see {@link https://www.iana.org/go/rfc5789 | RFC5789, Section 2} - */ - readonly Patch: "PATCH"; - /** - * POST (Safe: no; Idempotent: no) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.3} - */ - readonly Post: "POST"; - /** - * PRI (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9113 | RFC9113, Section 3.4} - */ - readonly Pri: "PRI"; - /** - * PROPFIND (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.1} - * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.1} - */ - readonly Propfind: "PROPFIND"; - /** - * PROPPATCH (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.2} - * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.2} - */ - readonly Proppatch: "PROPPATCH"; - /** - * PUT (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.4} - */ - readonly Put: "PUT"; - /** - * REBIND (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc5842 | RFC5842, Section 6} - */ - readonly Rebind: "REBIND"; - /** - * REPORT (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 3.6} - * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.1} - */ - readonly Report: "REPORT"; - /** - * SEARCH (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc5323 | RFC5323, Section 2} - */ - readonly Search: "SEARCH"; - /** - * TRACE (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.8} - */ - readonly Trace: "TRACE"; - /** - * UNBIND (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc5842 | RFC5842, Section 5} - */ - readonly Unbind: "UNBIND"; - /** - * UNCHECKOUT (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 4.5} - */ - readonly Uncheckout: "UNCHECKOUT"; - /** - * UNLINK (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc2068 | RFC2068, Section 19.6.1.3} - */ - readonly Unlink: "UNLINK"; - /** - * UNLOCK (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.11} - */ - readonly Unlock: "UNLOCK"; - /** - * UPDATE (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 7.1} - */ - readonly Update: "UPDATE"; - /** - * UPDATEREDIRECTREF (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4437 | RFC4437, Section 7} - */ - readonly Updateredirectref: "UPDATEREDIRECTREF"; - /** - * VERSION-CONTROL (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 3.5} - */ - readonly VersionControl: "VERSION-CONTROL"; -}; -/** - * A HTTP Method - * - * @experimental **UNSTABLE**: New API, yet to be vetted. - */ -export type Method = typeof METHOD[keyof typeof METHOD]; -//# sourceMappingURL=unstable_method.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_method.d.ts.map b/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_method.d.ts.map deleted file mode 100644 index dfe10f3..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_method.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"unstable_method.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/http/1.0.20/unstable_method.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,eAAO,MAAM,MAAM;IACjB;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;OAKG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;CAEK,CAAC;AAEX;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_method.js b/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_method.js deleted file mode 100644 index 33a803f..0000000 --- a/package/esm/deps/jsr.io/@std/http/1.0.20/unstable_method.js +++ /dev/null @@ -1,252 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -// This module is generated from {@link https://www.iana.org/assignments/http-methods/http-methods.xhtml#methods | IANA Hypertext Transfer Protocol (HTTP) Method Registry} -/** - * HTTP Methods derived from IANA Hypertext Transfer Protocol (HTTP) Method Registry - * - * @experimental **UNSTABLE**: New API, yet to be vetted. - * - * @see {@link https://www.iana.org/assignments/http-methods/http-methods.xhtml#methods | IANA Hypertext Transfer Protocol (HTTP) Method Registry} - */ -export const METHOD = { - /** - * ACL (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3744 | RFC3744, Section 8.1} - */ - Acl: "ACL", - /** - * BASELINE-CONTROL (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 12.6} - */ - BaselineControl: "BASELINE-CONTROL", - /** - * BIND (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc5842 | RFC5842, Section 4} - */ - Bind: "BIND", - /** - * CHECKIN (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 4.4, Section 9.4} - */ - Checkin: "CHECKIN", - /** - * CHECKOUT (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 4.3, Section 8.8} - */ - Checkout: "CHECKOUT", - /** - * CONNECT (Safe: no; Idempotent: no) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.6} - */ - Connect: "CONNECT", - /** - * COPY (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.8} - */ - Copy: "COPY", - /** - * DELETE (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.5} - */ - Delete: "DELETE", - /** - * GET (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.1} - */ - Get: "GET", - /** - * HEAD (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.2} - */ - Head: "HEAD", - /** - * LABEL (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 8.2} - */ - Label: "LABEL", - /** - * LINK (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc2068 | RFC2068, Section 19.6.1.2} - */ - Link: "LINK", - /** - * LOCK (Safe: no; Idempotent: no) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.10} - */ - Lock: "LOCK", - /** - * MERGE (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 11.2} - */ - Merge: "MERGE", - /** - * MKACTIVITY (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 13.5} - */ - Mkactivity: "MKACTIVITY", - /** - * MKCALENDAR (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4791 | RFC4791, Section 5.3.1} - * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.3} - */ - Mkcalendar: "MKCALENDAR", - /** - * MKCOL (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.3} - * @see {@link https://www.iana.org/go/rfc5689 | RFC5689, Section 3} - * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.3} - */ - Mkcol: "MKCOL", - /** - * MKREDIRECTREF (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4437 | RFC4437, Section 6} - */ - Mkredirectref: "MKREDIRECTREF", - /** - * MKWORKSPACE (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 6.3} - */ - Mkworkspace: "MKWORKSPACE", - /** - * MOVE (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.9} - */ - Move: "MOVE", - /** - * OPTIONS (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.7} - */ - Options: "OPTIONS", - /** - * ORDERPATCH (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3648 | RFC3648, Section 7} - */ - Orderpatch: "ORDERPATCH", - /** - * PATCH (Safe: no; Idempotent: no) - * - * @see {@link https://www.iana.org/go/rfc5789 | RFC5789, Section 2} - */ - Patch: "PATCH", - /** - * POST (Safe: no; Idempotent: no) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.3} - */ - Post: "POST", - /** - * PRI (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9113 | RFC9113, Section 3.4} - */ - Pri: "PRI", - /** - * PROPFIND (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.1} - * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.1} - */ - Propfind: "PROPFIND", - /** - * PROPPATCH (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.2} - * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.2} - */ - Proppatch: "PROPPATCH", - /** - * PUT (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.4} - */ - Put: "PUT", - /** - * REBIND (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc5842 | RFC5842, Section 6} - */ - Rebind: "REBIND", - /** - * REPORT (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 3.6} - * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.1} - */ - Report: "REPORT", - /** - * SEARCH (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc5323 | RFC5323, Section 2} - */ - Search: "SEARCH", - /** - * TRACE (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.8} - */ - Trace: "TRACE", - /** - * UNBIND (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc5842 | RFC5842, Section 5} - */ - Unbind: "UNBIND", - /** - * UNCHECKOUT (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 4.5} - */ - Uncheckout: "UNCHECKOUT", - /** - * UNLINK (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc2068 | RFC2068, Section 19.6.1.3} - */ - Unlink: "UNLINK", - /** - * UNLOCK (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.11} - */ - Unlock: "UNLOCK", - /** - * UPDATE (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 7.1} - */ - Update: "UPDATE", - /** - * UPDATEREDIRECTREF (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4437 | RFC4437, Section 7} - */ - Updateredirectref: "UPDATEREDIRECTREF", - /** - * VERSION-CONTROL (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 3.5} - */ - VersionControl: "VERSION-CONTROL", -}; diff --git a/package/esm/deps/jsr.io/@std/internal/1.0.10/_os.d.ts b/package/esm/deps/jsr.io/@std/internal/1.0.10/_os.d.ts deleted file mode 100644 index 91b5388..0000000 --- a/package/esm/deps/jsr.io/@std/internal/1.0.10/_os.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function checkWindows(): boolean; -//# sourceMappingURL=_os.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/internal/1.0.10/_os.d.ts.map b/package/esm/deps/jsr.io/@std/internal/1.0.10/_os.d.ts.map deleted file mode 100644 index 5d7c9c2..0000000 --- a/package/esm/deps/jsr.io/@std/internal/1.0.10/_os.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"_os.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.10/_os.ts"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,IAAI,OAAO,CAUtC"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/internal/1.0.10/_os.js b/package/esm/deps/jsr.io/@std/internal/1.0.10/_os.js deleted file mode 100644 index 3f662c6..0000000 --- a/package/esm/deps/jsr.io/@std/internal/1.0.10/_os.js +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -import * as dntShim from "../../../../../_dnt.shims.js"; -export function checkWindows() { - // deno-lint-ignore no-explicit-any - const global = dntShim.dntGlobalThis; - const os = global.Deno?.build?.os; - // Check Deno, then the remaining runtimes (e.g. Node, Bun and the browser) - return typeof os === "string" - ? os === "windows" - : global.navigator?.platform?.startsWith("Win") ?? - global.process?.platform?.startsWith("win") ?? false; -} diff --git a/package/esm/deps/jsr.io/@std/internal/1.0.10/os.d.ts b/package/esm/deps/jsr.io/@std/internal/1.0.10/os.d.ts deleted file mode 100644 index 0d762bd..0000000 --- a/package/esm/deps/jsr.io/@std/internal/1.0.10/os.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -/** Whether the current platform is Windows */ -export declare const isWindows: boolean; -//# sourceMappingURL=os.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/internal/1.0.10/os.d.ts.map b/package/esm/deps/jsr.io/@std/internal/1.0.10/os.d.ts.map deleted file mode 100644 index d4bddf7..0000000 --- a/package/esm/deps/jsr.io/@std/internal/1.0.10/os.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"os.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.10/os.ts"],"names":[],"mappings":"AAKA,8CAA8C;AAC9C,eAAO,MAAM,SAAS,EAAE,OAAwB,CAAC"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/internal/1.0.10/os.js b/package/esm/deps/jsr.io/@std/internal/1.0.10/os.js deleted file mode 100644 index e14ef7f..0000000 --- a/package/esm/deps/jsr.io/@std/internal/1.0.10/os.js +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { checkWindows } from "./_os.js"; -/** Whether the current platform is Windows */ -export const isWindows = checkWindows(); diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/_db.d.ts b/package/esm/deps/jsr.io/@std/media-types/1.1.0/_db.d.ts deleted file mode 100644 index 6388d7c..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/_db.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import db from "./vendor/db.js"; -export type KeyOfDb = keyof typeof db; -/** A map of the media type for a given extension */ -export declare const types: Map; -/** A map of extensions for a given media type. */ -declare const extensions: Map; -export { db, extensions }; -//# sourceMappingURL=_db.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/_db.d.ts.map b/package/esm/deps/jsr.io/@std/media-types/1.1.0/_db.d.ts.map deleted file mode 100644 index f531fdd..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/_db.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"_db.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/media-types/1.1.0/_db.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGhC,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,EAAE,CAAC;AAEtC,oDAAoD;AACpD,eAAO,MAAM,KAAK,g03EAA6B,CAAC;AAEhD,kDAAkD;AAClD,QAAA,MAAM,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAa,CAAC;AAqCpD,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/_db.js b/package/esm/deps/jsr.io/@std/media-types/1.1.0/_db.js deleted file mode 100644 index 91e9d16..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/_db.js +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -import db from "./vendor/db.js"; -/** A map of the media type for a given extension */ -export const types = new Map(); -/** A map of extensions for a given media type. */ -const extensions = new Map(); -/** Internal function to populate the maps based on the Mime DB. */ -const preference = ["nginx", "apache", undefined, "iana"]; -for (const type of Object.keys(db)) { - const mime = db[type]; - const exts = mime.extensions; - if (!exts || !exts.length) { - continue; - } - // @ts-ignore Work around https://github.com/denoland/dnt/issues/148 - extensions.set(type, exts); - for (const ext of exts) { - const current = types.get(ext); - if (current) { - const from = preference.indexOf(db[current].source); - const to = preference.indexOf(mime.source); - if (current !== "application/octet-stream" && - current !== "application/mp4" && - (from > to || - // @ts-ignore work around https://github.com/denoland/dnt/issues/148 - (from === to && current.startsWith("application/")))) { - continue; - } - } - types.set(ext, type); - } -} -export { db, extensions }; diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/_util.d.ts b/package/esm/deps/jsr.io/@std/media-types/1.1.0/_util.d.ts deleted file mode 100644 index a75c0c7..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/_util.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -export interface DBEntry { - source: string; - compressible?: boolean; - charset?: string; - extensions?: string[]; -} -export declare function consumeToken(v: string): [token: string, rest: string]; -export declare function consumeValue(v: string): [value: string, rest: string]; -export declare function consumeMediaParam(v: string): [key: string, value: string, rest: string]; -export declare function decode2331Encoding(v: string): string | undefined; -export declare function isIterator(obj: unknown): obj is Iterable; -export declare function isToken(s: string): boolean; -export declare function isTSpecial(r: string): boolean; -export declare function needsEncoding(s: string): boolean; -//# sourceMappingURL=_util.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/_util.d.ts.map b/package/esm/deps/jsr.io/@std/media-types/1.1.0/_util.d.ts.map deleted file mode 100644 index 7e20e1a..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/_util.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"_util.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/media-types/1.1.0/_util.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CASrE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAyBrE;AAED,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,MAAM,GACR,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAqB5C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAkBhE;AAaD,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,CAM9D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAK1C;AAWD,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7C;AAKD,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAUhD"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/_util.js b/package/esm/deps/jsr.io/@std/media-types/1.1.0/_util.js deleted file mode 100644 index b195d41..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/_util.js +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -export function consumeToken(v) { - const notPos = indexOf(v, isNotTokenChar); - if (notPos === -1) { - return [v, ""]; - } - if (notPos === 0) { - return ["", v]; - } - return [v.slice(0, notPos), v.slice(notPos)]; -} -export function consumeValue(v) { - if (!v) { - return ["", v]; - } - if (v[0] !== `"`) { - return consumeToken(v); - } - let value = ""; - for (let i = 1; i < v.length; i++) { - const r = v[i]; - if (r === `"`) { - return [value, v.slice(i + 1)]; - } - const next = v[i + 1]; - if (r === "\\" && typeof next === "string" && isTSpecial(next)) { - value += next; - i++; - continue; - } - if (r === "\r" || r === "\n") { - return ["", v]; - } - value += v[i]; - } - return ["", v]; -} -export function consumeMediaParam(v) { - let rest = v.trimStart(); - if (!rest.startsWith(";")) { - return ["", "", v]; - } - rest = rest.slice(1); - rest = rest.trimStart(); - let param; - [param, rest] = consumeToken(rest); - param = param.toLowerCase(); - if (!param) { - return ["", "", v]; - } - rest = rest.slice(1); - rest = rest.trimStart(); - const [value, rest2] = consumeValue(rest); - if (value === "" && rest2 === rest) { - return ["", "", v]; - } - rest = rest2; - return [param, value, rest]; -} -export function decode2331Encoding(v) { - const sv = v.split(`'`, 3); - if (sv.length !== 3) { - return undefined; - } - const [sv0, , sv2] = sv; - const charset = sv0.toLowerCase(); - if (!charset) { - return undefined; - } - if (charset !== "us-ascii" && charset !== "utf-8") { - return undefined; - } - const encv = decodeURI(sv2); - if (!encv) { - return undefined; - } - return encv; -} -function indexOf(s, fn) { - let i = -1; - for (const v of s) { - i++; - if (fn(v)) { - return i; - } - } - return -1; -} -export function isIterator(obj) { - if (obj === null || obj === undefined) { - return false; - } - // deno-lint-ignore no-explicit-any - return typeof obj[Symbol.iterator] === "function"; -} -export function isToken(s) { - if (!s) { - return false; - } - return indexOf(s, isNotTokenChar) < 0; -} -function isNotTokenChar(r) { - return !isTokenChar(r); -} -function isTokenChar(r) { - const code = r.charCodeAt(0); - return code > 0x20 && code < 0x7f && !isTSpecial(r); -} -export function isTSpecial(r) { - return r[0] ? `()<>@,;:\\"/[]?=`.includes(r[0]) : false; -} -const CHAR_CODE_SPACE = " ".charCodeAt(0); -const CHAR_CODE_TILDE = "~".charCodeAt(0); -export function needsEncoding(s) { - for (const b of s) { - const charCode = b.charCodeAt(0); - if ((charCode < CHAR_CODE_SPACE || charCode > CHAR_CODE_TILDE) && b !== "\t") { - return true; - } - } - return false; -} diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/content_type.d.ts b/package/esm/deps/jsr.io/@std/media-types/1.1.0/content_type.d.ts deleted file mode 100644 index c1d5bd9..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/content_type.d.ts +++ /dev/null @@ -1,43 +0,0 @@ -import type { db } from "./_db.js"; -/** MIME-types database. */ -export type DB = typeof db; -/** Maps content types to their corresponding file extensions. */ -export type ContentTypeToExtension = { - [K in keyof DB]: DB[K] extends { - "extensions": readonly string[]; - } ? DB[K]["extensions"][number] : never; -}; -/** Known extension or type. Used in {@linkcode contentType}. */ -export type KnownExtensionOrType = keyof ContentTypeToExtension | ContentTypeToExtension[keyof ContentTypeToExtension] | `.${ContentTypeToExtension[keyof ContentTypeToExtension]}`; -/** - * Returns the full `Content-Type` or `Content-Disposition` header value for the - * given extension or media type. - * - * The function will treat the `extensionOrType` as a media type when it - * contains a `/`, otherwise it will process it as an extension, with or without - * the leading `.`. - * - * Returns `undefined` if unable to resolve the media type. - * - * @typeParam T Type of the extension or media type to resolve. - * - * @param extensionOrType The extension or media type to resolve. - * - * @returns The full `Content-Type` or `Content-Disposition` header value, or - * `undefined` if unable to resolve the media type. - * - * @example Usage - * ```ts - * import { contentType } from "@std/media-types/content-type"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(contentType(".json"), "application/json; charset=UTF-8"); - * assertEquals(contentType("text/html"), "text/html; charset=UTF-8"); - * assertEquals(contentType("text/html; charset=UTF-8"), "text/html; charset=UTF-8"); - * assertEquals(contentType("txt"), "text/plain; charset=UTF-8"); - * assertEquals(contentType("foo"), undefined); - * assertEquals(contentType("file.json"), undefined); - * ``` - */ -export declare function contentType(extensionOrType: T): Lowercase extends KnownExtensionOrType ? string : string | undefined; -//# sourceMappingURL=content_type.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/content_type.d.ts.map b/package/esm/deps/jsr.io/@std/media-types/1.1.0/content_type.d.ts.map deleted file mode 100644 index f5def7e..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/content_type.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"content_type.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/media-types/1.1.0/content_type.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC,2BAA2B;AAC3B,MAAM,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;AAC3B,iEAAiE;AACjE,MAAM,MAAM,sBAAsB,GAAG;KAIlC,CAAC,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS;QAAE,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GAC9D,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAC3B,KAAK;CACV,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,oBAAoB,GAC5B,MAAM,sBAAsB,GAC5B,sBAAsB,CAAC,MAAM,sBAAsB,CAAC,GACpD,IAAI,sBAAsB,CAAC,MAAM,sBAAsB,CAAC,EAAE,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,WAAW,CAGzB,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,oBAAoB,EAE9C,eAAe,EAAE,CAAC,GACjB,SAAS,CAAC,CAAC,CAAC,SAAS,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAqBzE"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/content_type.js b/package/esm/deps/jsr.io/@std/media-types/1.1.0/content_type.js deleted file mode 100644 index 7baee15..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/content_type.js +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. -import { parseMediaType } from "./parse_media_type.js"; -import { getCharset } from "./get_charset.js"; -import { formatMediaType } from "./format_media_type.js"; -import { typeByExtension } from "./type_by_extension.js"; -/** - * Returns the full `Content-Type` or `Content-Disposition` header value for the - * given extension or media type. - * - * The function will treat the `extensionOrType` as a media type when it - * contains a `/`, otherwise it will process it as an extension, with or without - * the leading `.`. - * - * Returns `undefined` if unable to resolve the media type. - * - * @typeParam T Type of the extension or media type to resolve. - * - * @param extensionOrType The extension or media type to resolve. - * - * @returns The full `Content-Type` or `Content-Disposition` header value, or - * `undefined` if unable to resolve the media type. - * - * @example Usage - * ```ts - * import { contentType } from "@std/media-types/content-type"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(contentType(".json"), "application/json; charset=UTF-8"); - * assertEquals(contentType("text/html"), "text/html; charset=UTF-8"); - * assertEquals(contentType("text/html; charset=UTF-8"), "text/html; charset=UTF-8"); - * assertEquals(contentType("txt"), "text/plain; charset=UTF-8"); - * assertEquals(contentType("foo"), undefined); - * assertEquals(contentType("file.json"), undefined); - * ``` - */ -export function contentType(extensionOrType) { - try { - const [mediaType, params = {}] = extensionOrType.includes("/") - ? parseMediaType(extensionOrType) - : [typeByExtension(extensionOrType), undefined]; - if (!mediaType) { - return undefined; - } - if (!("charset" in params)) { - const charset = getCharset(mediaType); - if (charset) { - params.charset = charset; - } - } - return formatMediaType(mediaType, params); - } - catch { - // just swallow returning undefined - } - return undefined; -} diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/format_media_type.d.ts b/package/esm/deps/jsr.io/@std/media-types/1.1.0/format_media_type.d.ts deleted file mode 100644 index 5ce93a5..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/format_media_type.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Serializes the media type and the optional parameters as a media type - * conforming to {@link https://www.rfc-editor.org/rfc/rfc2045.html | RFC 2045} and - * {@link https://www.rfc-editor.org/rfc/rfc2616.html | RFC 2616}. - * - * The type and parameter names are written in lower-case. - * - * When any of the arguments results in a standard violation then the return - * value will be an empty string (`""`). - * - * @param type The media type to serialize. - * @param param Optional parameters to serialize. - * - * @returns The serialized media type. - * - * @example Basic usage - * ```ts - * import { formatMediaType } from "@std/media-types/format-media-type"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(formatMediaType("text/plain"), "text/plain"); - * ``` - * - * @example With parameters - * ```ts - * import { formatMediaType } from "@std/media-types/format-media-type"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(formatMediaType("text/plain", { charset: "UTF-8" }), "text/plain; charset=UTF-8"); - * ``` - */ -export declare function formatMediaType(type: string, param?: Record | Iterable<[string, string]>): string; -//# sourceMappingURL=format_media_type.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/format_media_type.d.ts.map b/package/esm/deps/jsr.io/@std/media-types/1.1.0/format_media_type.d.ts.map deleted file mode 100644 index 1e609dc..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/format_media_type.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"format_media_type.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/media-types/1.1.0/format_media_type.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC1D,MAAM,CA8CR"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/format_media_type.js b/package/esm/deps/jsr.io/@std/media-types/1.1.0/format_media_type.js deleted file mode 100644 index cf923b3..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/format_media_type.js +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. -import { isIterator, isToken, needsEncoding } from "./_util.js"; -/** - * Serializes the media type and the optional parameters as a media type - * conforming to {@link https://www.rfc-editor.org/rfc/rfc2045.html | RFC 2045} and - * {@link https://www.rfc-editor.org/rfc/rfc2616.html | RFC 2616}. - * - * The type and parameter names are written in lower-case. - * - * When any of the arguments results in a standard violation then the return - * value will be an empty string (`""`). - * - * @param type The media type to serialize. - * @param param Optional parameters to serialize. - * - * @returns The serialized media type. - * - * @example Basic usage - * ```ts - * import { formatMediaType } from "@std/media-types/format-media-type"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(formatMediaType("text/plain"), "text/plain"); - * ``` - * - * @example With parameters - * ```ts - * import { formatMediaType } from "@std/media-types/format-media-type"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(formatMediaType("text/plain", { charset: "UTF-8" }), "text/plain; charset=UTF-8"); - * ``` - */ -export function formatMediaType(type, param) { - let serializedMediaType = ""; - const [major = "", sub] = type.split("/"); - if (!sub) { - if (!isToken(type)) { - return ""; - } - serializedMediaType += type.toLowerCase(); - } - else { - if (!isToken(major) || !isToken(sub)) { - return ""; - } - serializedMediaType += `${major.toLowerCase()}/${sub.toLowerCase()}`; - } - if (param) { - param = isIterator(param) ? Object.fromEntries(param) : param; - const attrs = Object.keys(param); - attrs.sort(); - for (const attribute of attrs) { - if (!isToken(attribute)) { - return ""; - } - const value = param[attribute]; - serializedMediaType += `; ${attribute.toLowerCase()}`; - const needEnc = needsEncoding(value); - if (needEnc) { - serializedMediaType += "*"; - } - serializedMediaType += "="; - if (needEnc) { - serializedMediaType += `utf-8''${encodeURIComponent(value)}`; - continue; - } - if (isToken(value)) { - serializedMediaType += value; - continue; - } - serializedMediaType += `"${value.replace(/["\\]/gi, (m) => `\\${m}`)}"`; - } - } - return serializedMediaType; -} diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/get_charset.d.ts b/package/esm/deps/jsr.io/@std/media-types/1.1.0/get_charset.d.ts deleted file mode 100644 index 79db599..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/get_charset.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Given a media type or header value, identify the encoding charset. If the - * charset cannot be determined, the function returns `undefined`. - * - * @param type The media type or header value to get the charset for. - * - * @returns The charset for the given media type or header value, or `undefined` - * if the charset cannot be determined. - * - * @example Usage - * ```ts - * import { getCharset } from "@std/media-types/get-charset"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(getCharset("text/plain"), "UTF-8"); - * assertEquals(getCharset("application/foo"), undefined); - * assertEquals(getCharset("application/news-checkgroups"), "US-ASCII"); - * assertEquals(getCharset("application/news-checkgroups; charset=UTF-8"), "UTF-8"); - * ``` - */ -export declare function getCharset(type: string): string | undefined; -//# sourceMappingURL=get_charset.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/get_charset.d.ts.map b/package/esm/deps/jsr.io/@std/media-types/1.1.0/get_charset.d.ts.map deleted file mode 100644 index 4b87aec..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/get_charset.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"get_charset.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/media-types/1.1.0/get_charset.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAiB3D"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/get_charset.js b/package/esm/deps/jsr.io/@std/media-types/1.1.0/get_charset.js deleted file mode 100644 index e16ecb9..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/get_charset.js +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. -import { parseMediaType } from "./parse_media_type.js"; -import { db } from "./_db.js"; -/** - * Given a media type or header value, identify the encoding charset. If the - * charset cannot be determined, the function returns `undefined`. - * - * @param type The media type or header value to get the charset for. - * - * @returns The charset for the given media type or header value, or `undefined` - * if the charset cannot be determined. - * - * @example Usage - * ```ts - * import { getCharset } from "@std/media-types/get-charset"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(getCharset("text/plain"), "UTF-8"); - * assertEquals(getCharset("application/foo"), undefined); - * assertEquals(getCharset("application/news-checkgroups"), "US-ASCII"); - * assertEquals(getCharset("application/news-checkgroups; charset=UTF-8"), "UTF-8"); - * ``` - */ -export function getCharset(type) { - try { - const [mediaType, params] = parseMediaType(type); - if (params?.charset) { - return params.charset; - } - const entry = db[mediaType]; - if (entry?.charset) { - return entry.charset; - } - if (mediaType.startsWith("text/")) { - return "UTF-8"; - } - } - catch { - // just swallow errors, returning undefined - } - return undefined; -} diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/parse_media_type.d.ts b/package/esm/deps/jsr.io/@std/media-types/1.1.0/parse_media_type.d.ts deleted file mode 100644 index 165ce7a..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/parse_media_type.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Parses the media type and any optional parameters, per - * {@link https://www.rfc-editor.org/rfc/rfc1521.html | RFC 1521}. - * - * Media types are the values in `Content-Type` and `Content-Disposition` - * headers. On success the function returns a tuple where the first element is - * the media type and the second element is the optional parameters or - * `undefined` if there are none. - * - * The function will throw if the parsed value is invalid. - * - * The returned media type will be normalized to be lower case, and returned - * params keys will be normalized to lower case, but preserves the casing of - * the value. - * - * @param type The media type to parse. - * - * @returns A tuple where the first element is the media type and the second - * element is the optional parameters or `undefined` if there are none. - * - * @example Usage - * ```ts - * import { parseMediaType } from "@std/media-types/parse-media-type"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(parseMediaType("application/JSON"), ["application/json", undefined]); - * assertEquals(parseMediaType("text/html; charset=UTF-8"), ["text/html", { charset: "UTF-8" }]); - * ``` - */ -export declare function parseMediaType(type: string): [mediaType: string, params: Record | undefined]; -//# sourceMappingURL=parse_media_type.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/parse_media_type.d.ts.map b/package/esm/deps/jsr.io/@std/media-types/1.1.0/parse_media_type.d.ts.map deleted file mode 100644 index 3877e7f..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/parse_media_type.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"parse_media_type.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/media-types/1.1.0/parse_media_type.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,GACX,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAuFjE"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/parse_media_type.js b/package/esm/deps/jsr.io/@std/media-types/1.1.0/parse_media_type.js deleted file mode 100644 index 4a38b78..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/parse_media_type.js +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. -import { consumeMediaParam, decode2331Encoding } from "./_util.js"; -const SEMICOLON_REGEXP = /^\s*;\s*$/; -/** - * Parses the media type and any optional parameters, per - * {@link https://www.rfc-editor.org/rfc/rfc1521.html | RFC 1521}. - * - * Media types are the values in `Content-Type` and `Content-Disposition` - * headers. On success the function returns a tuple where the first element is - * the media type and the second element is the optional parameters or - * `undefined` if there are none. - * - * The function will throw if the parsed value is invalid. - * - * The returned media type will be normalized to be lower case, and returned - * params keys will be normalized to lower case, but preserves the casing of - * the value. - * - * @param type The media type to parse. - * - * @returns A tuple where the first element is the media type and the second - * element is the optional parameters or `undefined` if there are none. - * - * @example Usage - * ```ts - * import { parseMediaType } from "@std/media-types/parse-media-type"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(parseMediaType("application/JSON"), ["application/json", undefined]); - * assertEquals(parseMediaType("text/html; charset=UTF-8"), ["text/html", { charset: "UTF-8" }]); - * ``` - */ -export function parseMediaType(type) { - const [base] = type.split(";"); - const mediaType = base.toLowerCase().trim(); - const params = {}; - // Map of base parameter name -> parameter name -> value - // for parameters containing a '*' character. - const continuation = new Map(); - type = type.slice(base.length); - while (type.length) { - type = type.trimStart(); - if (type.length === 0) { - break; - } - const [key, value, rest] = consumeMediaParam(type); - if (!key) { - if (SEMICOLON_REGEXP.test(rest)) { - // ignore trailing semicolons - break; - } - throw new TypeError(`Cannot parse media type: invalid parameter "${type}"`); - } - let pmap = params; - const [baseName, rest2] = key.split("*"); - if (baseName && rest2 !== undefined) { - if (!continuation.has(baseName)) { - continuation.set(baseName, {}); - } - pmap = continuation.get(baseName); - } - if (key in pmap) { - throw new TypeError("Cannot parse media type: duplicate key"); - } - pmap[key] = value; - type = rest; - } - // Stitch together any continuations or things with stars - // (i.e. RFC 2231 things with stars: "foo*0" or "foo*") - let str = ""; - for (const [key, pieceMap] of continuation) { - const singlePartKey = `${key}*`; - const type = pieceMap[singlePartKey]; - if (type) { - const decv = decode2331Encoding(type); - if (decv) { - params[key] = decv; - } - continue; - } - str = ""; - let valid = false; - for (let n = 0;; n++) { - const simplePart = `${key}*${n}`; - let type = pieceMap[simplePart]; - if (type) { - valid = true; - str += type; - continue; - } - const encodedPart = `${simplePart}*`; - type = pieceMap[encodedPart]; - if (!type) { - break; - } - valid = true; - if (n === 0) { - const decv = decode2331Encoding(type); - if (decv) { - str += decv; - } - } - else { - const decv = decodeURI(type); - str += decv; - } - } - if (valid) { - params[key] = str; - } - } - return [mediaType, Object.keys(params).length ? params : undefined]; -} diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/type_by_extension.d.ts b/package/esm/deps/jsr.io/@std/media-types/1.1.0/type_by_extension.d.ts deleted file mode 100644 index 0cd5079..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/type_by_extension.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Returns the media type associated with the file extension, or `undefined` if - * no media type is found. - * - * Values are normalized to lower case and matched irrespective of a leading - * `.`. - * - * @param extension The file extension to get the media type for. - * - * @returns The media type associated with the file extension, or `undefined` if - * no media type is found. - * - * @example Usage - * ```ts - * import { typeByExtension } from "@std/media-types/type-by-extension"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(typeByExtension("js"), "text/javascript"); - * assertEquals(typeByExtension(".HTML"), "text/html"); - * assertEquals(typeByExtension("foo"), undefined); - * assertEquals(typeByExtension("file.json"), undefined); - * ``` - */ -export declare function typeByExtension(extension: string): string | undefined; -//# sourceMappingURL=type_by_extension.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/type_by_extension.d.ts.map b/package/esm/deps/jsr.io/@std/media-types/1.1.0/type_by_extension.d.ts.map deleted file mode 100644 index ade3430..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/type_by_extension.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"type_by_extension.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/media-types/1.1.0/type_by_extension.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIrE"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/type_by_extension.js b/package/esm/deps/jsr.io/@std/media-types/1.1.0/type_by_extension.js deleted file mode 100644 index d577eb5..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/type_by_extension.js +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. -import { types } from "./_db.js"; -/** - * Returns the media type associated with the file extension, or `undefined` if - * no media type is found. - * - * Values are normalized to lower case and matched irrespective of a leading - * `.`. - * - * @param extension The file extension to get the media type for. - * - * @returns The media type associated with the file extension, or `undefined` if - * no media type is found. - * - * @example Usage - * ```ts - * import { typeByExtension } from "@std/media-types/type-by-extension"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(typeByExtension("js"), "text/javascript"); - * assertEquals(typeByExtension(".HTML"), "text/html"); - * assertEquals(typeByExtension("foo"), undefined); - * assertEquals(typeByExtension("file.json"), undefined); - * ``` - */ -export function typeByExtension(extension) { - extension = extension.startsWith(".") ? extension.slice(1) : extension; - // @ts-ignore Work around https://github.com/denoland/dnt/issues/148 - return types.get(extension.toLowerCase()); -} diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/vendor/db.d.ts b/package/esm/deps/jsr.io/@std/media-types/1.1.0/vendor/db.d.ts deleted file mode 100644 index 763e70c..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/vendor/db.d.ts +++ /dev/null @@ -1,9103 +0,0 @@ -declare const _default: { - readonly "application/1d-interleaved-parityfec": { - readonly source: "iana"; - }; - readonly "application/3gpdash-qoe-report+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/3gpp-ims+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/3gpphal+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/3gpphalforms+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/a2l": { - readonly source: "iana"; - }; - readonly "application/ace+cbor": { - readonly source: "iana"; - }; - readonly "application/ace+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/ace-groupcomm+cbor": { - readonly source: "iana"; - }; - readonly "application/activemessage": { - readonly source: "iana"; - }; - readonly "application/activity+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/aif+cbor": { - readonly source: "iana"; - }; - readonly "application/aif+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-cdni+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-cdnifilter+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-costmap+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-costmapfilter+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-directory+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-endpointcost+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-endpointcostparams+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-endpointprop+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-endpointpropparams+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-error+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-networkmap+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-networkmapfilter+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-propmap+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-propmapparams+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-tips+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-tipsparams+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-updatestreamcontrol+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/alto-updatestreamparams+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/aml": { - readonly source: "iana"; - }; - readonly "application/andrew-inset": { - readonly source: "iana"; - readonly extensions: readonly ["ez"]; - }; - readonly "application/appinstaller": { - readonly compressible: false; - readonly extensions: readonly ["appinstaller"]; - }; - readonly "application/applefile": { - readonly source: "iana"; - }; - readonly "application/applixware": { - readonly source: "apache"; - readonly extensions: readonly ["aw"]; - }; - readonly "application/appx": { - readonly compressible: false; - readonly extensions: readonly ["appx"]; - }; - readonly "application/appxbundle": { - readonly compressible: false; - readonly extensions: readonly ["appxbundle"]; - }; - readonly "application/at+jwt": { - readonly source: "iana"; - }; - readonly "application/atf": { - readonly source: "iana"; - }; - readonly "application/atfx": { - readonly source: "iana"; - }; - readonly "application/atom+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["atom"]; - }; - readonly "application/atomcat+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["atomcat"]; - }; - readonly "application/atomdeleted+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["atomdeleted"]; - }; - readonly "application/atomicmail": { - readonly source: "iana"; - }; - readonly "application/atomsvc+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["atomsvc"]; - }; - readonly "application/atsc-dwd+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["dwd"]; - }; - readonly "application/atsc-dynamic-event-message": { - readonly source: "iana"; - }; - readonly "application/atsc-held+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["held"]; - }; - readonly "application/atsc-rdt+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/atsc-rsat+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["rsat"]; - }; - readonly "application/atxml": { - readonly source: "iana"; - }; - readonly "application/auth-policy+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/automationml-aml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["aml"]; - }; - readonly "application/automationml-amlx+zip": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["amlx"]; - }; - readonly "application/bacnet-xdd+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/batch-smtp": { - readonly source: "iana"; - }; - readonly "application/bdoc": { - readonly compressible: false; - readonly extensions: readonly ["bdoc"]; - }; - readonly "application/beep+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/bufr": { - readonly source: "iana"; - }; - readonly "application/c2pa": { - readonly source: "iana"; - }; - readonly "application/calendar+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/calendar+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xcs"]; - }; - readonly "application/call-completion": { - readonly source: "iana"; - }; - readonly "application/cals-1840": { - readonly source: "iana"; - }; - readonly "application/captive+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/cbor": { - readonly source: "iana"; - }; - readonly "application/cbor-seq": { - readonly source: "iana"; - }; - readonly "application/cccex": { - readonly source: "iana"; - }; - readonly "application/ccmp+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/ccxml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["ccxml"]; - }; - readonly "application/cda+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/cdfx+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["cdfx"]; - }; - readonly "application/cdmi-capability": { - readonly source: "iana"; - readonly extensions: readonly ["cdmia"]; - }; - readonly "application/cdmi-container": { - readonly source: "iana"; - readonly extensions: readonly ["cdmic"]; - }; - readonly "application/cdmi-domain": { - readonly source: "iana"; - readonly extensions: readonly ["cdmid"]; - }; - readonly "application/cdmi-object": { - readonly source: "iana"; - readonly extensions: readonly ["cdmio"]; - }; - readonly "application/cdmi-queue": { - readonly source: "iana"; - readonly extensions: readonly ["cdmiq"]; - }; - readonly "application/cdni": { - readonly source: "iana"; - }; - readonly "application/cea": { - readonly source: "iana"; - }; - readonly "application/cea-2018+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/cellml+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/cfw": { - readonly source: "iana"; - }; - readonly "application/cid-edhoc+cbor-seq": { - readonly source: "iana"; - }; - readonly "application/city+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/clr": { - readonly source: "iana"; - }; - readonly "application/clue+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/clue_info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/cms": { - readonly source: "iana"; - }; - readonly "application/cnrp+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/coap-group+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/coap-payload": { - readonly source: "iana"; - }; - readonly "application/commonground": { - readonly source: "iana"; - }; - readonly "application/concise-problem-details+cbor": { - readonly source: "iana"; - }; - readonly "application/conference-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/cose": { - readonly source: "iana"; - }; - readonly "application/cose-key": { - readonly source: "iana"; - }; - readonly "application/cose-key-set": { - readonly source: "iana"; - }; - readonly "application/cose-x509": { - readonly source: "iana"; - }; - readonly "application/cpl+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["cpl"]; - }; - readonly "application/csrattrs": { - readonly source: "iana"; - }; - readonly "application/csta+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/cstadata+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/csvm+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/cu-seeme": { - readonly source: "apache"; - readonly extensions: readonly ["cu"]; - }; - readonly "application/cwl": { - readonly source: "iana"; - readonly extensions: readonly ["cwl"]; - }; - readonly "application/cwl+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/cwl+yaml": { - readonly source: "iana"; - }; - readonly "application/cwt": { - readonly source: "iana"; - }; - readonly "application/cybercash": { - readonly source: "iana"; - }; - readonly "application/dart": { - readonly compressible: true; - }; - readonly "application/dash+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["mpd"]; - }; - readonly "application/dash-patch+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["mpp"]; - }; - readonly "application/dashdelta": { - readonly source: "iana"; - }; - readonly "application/davmount+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["davmount"]; - }; - readonly "application/dca-rft": { - readonly source: "iana"; - }; - readonly "application/dcd": { - readonly source: "iana"; - }; - readonly "application/dec-dx": { - readonly source: "iana"; - }; - readonly "application/dialog-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/dicom": { - readonly source: "iana"; - }; - readonly "application/dicom+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/dicom+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/dii": { - readonly source: "iana"; - }; - readonly "application/dit": { - readonly source: "iana"; - }; - readonly "application/dns": { - readonly source: "iana"; - }; - readonly "application/dns+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/dns-message": { - readonly source: "iana"; - }; - readonly "application/docbook+xml": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["dbk"]; - }; - readonly "application/dots+cbor": { - readonly source: "iana"; - }; - readonly "application/dpop+jwt": { - readonly source: "iana"; - }; - readonly "application/dskpp+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/dssc+der": { - readonly source: "iana"; - readonly extensions: readonly ["dssc"]; - }; - readonly "application/dssc+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xdssc"]; - }; - readonly "application/dvcs": { - readonly source: "iana"; - }; - readonly "application/ecmascript": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["ecma"]; - }; - readonly "application/edhoc+cbor-seq": { - readonly source: "iana"; - }; - readonly "application/edi-consent": { - readonly source: "iana"; - }; - readonly "application/edi-x12": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/edifact": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/efi": { - readonly source: "iana"; - }; - readonly "application/elm+json": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/elm+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/emergencycalldata.cap+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/emergencycalldata.comment+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/emergencycalldata.control+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/emergencycalldata.deviceinfo+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/emergencycalldata.ecall.msd": { - readonly source: "iana"; - }; - readonly "application/emergencycalldata.legacyesn+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/emergencycalldata.providerinfo+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/emergencycalldata.serviceinfo+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/emergencycalldata.subscriberinfo+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/emergencycalldata.veds+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/emma+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["emma"]; - }; - readonly "application/emotionml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["emotionml"]; - }; - readonly "application/encaprtp": { - readonly source: "iana"; - }; - readonly "application/epp+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/epub+zip": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["epub"]; - }; - readonly "application/eshop": { - readonly source: "iana"; - }; - readonly "application/exi": { - readonly source: "iana"; - readonly extensions: readonly ["exi"]; - }; - readonly "application/expect-ct-report+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/express": { - readonly source: "iana"; - readonly extensions: readonly ["exp"]; - }; - readonly "application/fastinfoset": { - readonly source: "iana"; - }; - readonly "application/fastsoap": { - readonly source: "iana"; - }; - readonly "application/fdf": { - readonly source: "iana"; - readonly extensions: readonly ["fdf"]; - }; - readonly "application/fdt+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["fdt"]; - }; - readonly "application/fhir+json": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/fhir+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/fido.trusted-apps+json": { - readonly compressible: true; - }; - readonly "application/fits": { - readonly source: "iana"; - }; - readonly "application/flexfec": { - readonly source: "iana"; - }; - readonly "application/font-sfnt": { - readonly source: "iana"; - }; - readonly "application/font-tdpfr": { - readonly source: "iana"; - readonly extensions: readonly ["pfr"]; - }; - readonly "application/font-woff": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/framework-attributes+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/geo+json": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["geojson"]; - }; - readonly "application/geo+json-seq": { - readonly source: "iana"; - }; - readonly "application/geopackage+sqlite3": { - readonly source: "iana"; - }; - readonly "application/geoxacml+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/geoxacml+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/gltf-buffer": { - readonly source: "iana"; - }; - readonly "application/gml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["gml"]; - }; - readonly "application/gnap-binding-jws": { - readonly source: "iana"; - }; - readonly "application/gnap-binding-jwsd": { - readonly source: "iana"; - }; - readonly "application/gnap-binding-rotation-jws": { - readonly source: "iana"; - }; - readonly "application/gnap-binding-rotation-jwsd": { - readonly source: "iana"; - }; - readonly "application/gpx+xml": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["gpx"]; - }; - readonly "application/grib": { - readonly source: "iana"; - }; - readonly "application/gxf": { - readonly source: "apache"; - readonly extensions: readonly ["gxf"]; - }; - readonly "application/gzip": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["gz"]; - }; - readonly "application/h224": { - readonly source: "iana"; - }; - readonly "application/held+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/hjson": { - readonly extensions: readonly ["hjson"]; - }; - readonly "application/hl7v2+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/http": { - readonly source: "iana"; - }; - readonly "application/hyperstudio": { - readonly source: "iana"; - readonly extensions: readonly ["stk"]; - }; - readonly "application/ibe-key-request+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/ibe-pkg-reply+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/ibe-pp-data": { - readonly source: "iana"; - }; - readonly "application/iges": { - readonly source: "iana"; - }; - readonly "application/im-iscomposing+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/index": { - readonly source: "iana"; - }; - readonly "application/index.cmd": { - readonly source: "iana"; - }; - readonly "application/index.obj": { - readonly source: "iana"; - }; - readonly "application/index.response": { - readonly source: "iana"; - }; - readonly "application/index.vnd": { - readonly source: "iana"; - }; - readonly "application/inkml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["ink", "inkml"]; - }; - readonly "application/iotp": { - readonly source: "iana"; - }; - readonly "application/ipfix": { - readonly source: "iana"; - readonly extensions: readonly ["ipfix"]; - }; - readonly "application/ipp": { - readonly source: "iana"; - }; - readonly "application/isup": { - readonly source: "iana"; - }; - readonly "application/its+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["its"]; - }; - readonly "application/java-archive": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["jar", "war", "ear"]; - }; - readonly "application/java-serialized-object": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["ser"]; - }; - readonly "application/java-vm": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["class"]; - }; - readonly "application/javascript": { - readonly source: "apache"; - readonly charset: "UTF-8"; - readonly compressible: true; - readonly extensions: readonly ["js"]; - }; - readonly "application/jf2feed+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/jose": { - readonly source: "iana"; - }; - readonly "application/jose+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/jrd+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/jscalendar+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/jscontact+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/json": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - readonly extensions: readonly ["json", "map"]; - }; - readonly "application/json-patch+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/json-seq": { - readonly source: "iana"; - }; - readonly "application/json5": { - readonly extensions: readonly ["json5"]; - }; - readonly "application/jsonml+json": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["jsonml"]; - }; - readonly "application/jsonpath": { - readonly source: "iana"; - }; - readonly "application/jwk+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/jwk-set+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/jwt": { - readonly source: "iana"; - }; - readonly "application/kpml-request+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/kpml-response+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/ld+json": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["jsonld"]; - }; - readonly "application/lgr+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["lgr"]; - }; - readonly "application/link-format": { - readonly source: "iana"; - }; - readonly "application/linkset": { - readonly source: "iana"; - }; - readonly "application/linkset+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/load-control+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/logout+jwt": { - readonly source: "iana"; - }; - readonly "application/lost+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["lostxml"]; - }; - readonly "application/lostsync+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/lpf+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/lxf": { - readonly source: "iana"; - }; - readonly "application/mac-binhex40": { - readonly source: "iana"; - readonly extensions: readonly ["hqx"]; - }; - readonly "application/mac-compactpro": { - readonly source: "apache"; - readonly extensions: readonly ["cpt"]; - }; - readonly "application/macwriteii": { - readonly source: "iana"; - }; - readonly "application/mads+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["mads"]; - }; - readonly "application/manifest+json": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - readonly extensions: readonly ["webmanifest"]; - }; - readonly "application/marc": { - readonly source: "iana"; - readonly extensions: readonly ["mrc"]; - }; - readonly "application/marcxml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["mrcx"]; - }; - readonly "application/mathematica": { - readonly source: "iana"; - readonly extensions: readonly ["ma", "nb", "mb"]; - }; - readonly "application/mathml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["mathml"]; - }; - readonly "application/mathml-content+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/mathml-presentation+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/mbms-associated-procedure-description+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/mbms-deregister+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/mbms-envelope+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/mbms-msk+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/mbms-msk-response+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/mbms-protection-description+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/mbms-reception-report+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/mbms-register+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/mbms-register-response+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/mbms-schedule+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/mbms-user-service-description+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/mbox": { - readonly source: "iana"; - readonly extensions: readonly ["mbox"]; - }; - readonly "application/media-policy-dataset+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["mpf"]; - }; - readonly "application/media_control+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/mediaservercontrol+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["mscml"]; - }; - readonly "application/merge-patch+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/metalink+xml": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["metalink"]; - }; - readonly "application/metalink4+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["meta4"]; - }; - readonly "application/mets+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["mets"]; - }; - readonly "application/mf4": { - readonly source: "iana"; - }; - readonly "application/mikey": { - readonly source: "iana"; - }; - readonly "application/mipc": { - readonly source: "iana"; - }; - readonly "application/missing-blocks+cbor-seq": { - readonly source: "iana"; - }; - readonly "application/mmt-aei+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["maei"]; - }; - readonly "application/mmt-usd+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["musd"]; - }; - readonly "application/mods+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["mods"]; - }; - readonly "application/moss-keys": { - readonly source: "iana"; - }; - readonly "application/moss-signature": { - readonly source: "iana"; - }; - readonly "application/mosskey-data": { - readonly source: "iana"; - }; - readonly "application/mosskey-request": { - readonly source: "iana"; - }; - readonly "application/mp21": { - readonly source: "iana"; - readonly extensions: readonly ["m21", "mp21"]; - }; - readonly "application/mp4": { - readonly source: "iana"; - readonly extensions: readonly ["mp4", "mpg4", "mp4s", "m4p"]; - }; - readonly "application/mpeg4-generic": { - readonly source: "iana"; - }; - readonly "application/mpeg4-iod": { - readonly source: "iana"; - }; - readonly "application/mpeg4-iod-xmt": { - readonly source: "iana"; - }; - readonly "application/mrb-consumer+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/mrb-publish+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/msc-ivr+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/msc-mixer+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/msix": { - readonly compressible: false; - readonly extensions: readonly ["msix"]; - }; - readonly "application/msixbundle": { - readonly compressible: false; - readonly extensions: readonly ["msixbundle"]; - }; - readonly "application/msword": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["doc", "dot"]; - }; - readonly "application/mud+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/multipart-core": { - readonly source: "iana"; - }; - readonly "application/mxf": { - readonly source: "iana"; - readonly extensions: readonly ["mxf"]; - }; - readonly "application/n-quads": { - readonly source: "iana"; - readonly extensions: readonly ["nq"]; - }; - readonly "application/n-triples": { - readonly source: "iana"; - readonly extensions: readonly ["nt"]; - }; - readonly "application/nasdata": { - readonly source: "iana"; - }; - readonly "application/news-checkgroups": { - readonly source: "iana"; - readonly charset: "US-ASCII"; - }; - readonly "application/news-groupinfo": { - readonly source: "iana"; - readonly charset: "US-ASCII"; - }; - readonly "application/news-transmission": { - readonly source: "iana"; - }; - readonly "application/nlsml+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/node": { - readonly source: "iana"; - readonly extensions: readonly ["cjs"]; - }; - readonly "application/nss": { - readonly source: "iana"; - }; - readonly "application/oauth-authz-req+jwt": { - readonly source: "iana"; - }; - readonly "application/oblivious-dns-message": { - readonly source: "iana"; - }; - readonly "application/ocsp-request": { - readonly source: "iana"; - }; - readonly "application/ocsp-response": { - readonly source: "iana"; - }; - readonly "application/octet-stream": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"]; - }; - readonly "application/oda": { - readonly source: "iana"; - readonly extensions: readonly ["oda"]; - }; - readonly "application/odm+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/odx": { - readonly source: "iana"; - }; - readonly "application/oebps-package+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["opf"]; - }; - readonly "application/ogg": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["ogx"]; - }; - readonly "application/ohttp-keys": { - readonly source: "iana"; - }; - readonly "application/omdoc+xml": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["omdoc"]; - }; - readonly "application/onenote": { - readonly source: "apache"; - readonly extensions: readonly ["onetoc", "onetoc2", "onetmp", "onepkg"]; - }; - readonly "application/opc-nodeset+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/oscore": { - readonly source: "iana"; - }; - readonly "application/oxps": { - readonly source: "iana"; - readonly extensions: readonly ["oxps"]; - }; - readonly "application/p21": { - readonly source: "iana"; - }; - readonly "application/p21+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/p2p-overlay+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["relo"]; - }; - readonly "application/parityfec": { - readonly source: "iana"; - }; - readonly "application/passport": { - readonly source: "iana"; - }; - readonly "application/patch-ops-error+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xer"]; - }; - readonly "application/pdf": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["pdf"]; - }; - readonly "application/pdx": { - readonly source: "iana"; - }; - readonly "application/pem-certificate-chain": { - readonly source: "iana"; - }; - readonly "application/pgp-encrypted": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["pgp"]; - }; - readonly "application/pgp-keys": { - readonly source: "iana"; - readonly extensions: readonly ["asc"]; - }; - readonly "application/pgp-signature": { - readonly source: "iana"; - readonly extensions: readonly ["sig", "asc"]; - }; - readonly "application/pics-rules": { - readonly source: "apache"; - readonly extensions: readonly ["prf"]; - }; - readonly "application/pidf+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/pidf-diff+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/pkcs10": { - readonly source: "iana"; - readonly extensions: readonly ["p10"]; - }; - readonly "application/pkcs12": { - readonly source: "iana"; - }; - readonly "application/pkcs7-mime": { - readonly source: "iana"; - readonly extensions: readonly ["p7m", "p7c"]; - }; - readonly "application/pkcs7-signature": { - readonly source: "iana"; - readonly extensions: readonly ["p7s"]; - }; - readonly "application/pkcs8": { - readonly source: "iana"; - readonly extensions: readonly ["p8"]; - }; - readonly "application/pkcs8-encrypted": { - readonly source: "iana"; - }; - readonly "application/pkix-attr-cert": { - readonly source: "iana"; - readonly extensions: readonly ["ac"]; - }; - readonly "application/pkix-cert": { - readonly source: "iana"; - readonly extensions: readonly ["cer"]; - }; - readonly "application/pkix-crl": { - readonly source: "iana"; - readonly extensions: readonly ["crl"]; - }; - readonly "application/pkix-pkipath": { - readonly source: "iana"; - readonly extensions: readonly ["pkipath"]; - }; - readonly "application/pkixcmp": { - readonly source: "iana"; - readonly extensions: readonly ["pki"]; - }; - readonly "application/pls+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["pls"]; - }; - readonly "application/poc-settings+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/postscript": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["ai", "eps", "ps"]; - }; - readonly "application/ppsp-tracker+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/private-token-issuer-directory": { - readonly source: "iana"; - }; - readonly "application/private-token-request": { - readonly source: "iana"; - }; - readonly "application/private-token-response": { - readonly source: "iana"; - }; - readonly "application/problem+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/problem+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/provenance+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["provx"]; - }; - readonly "application/prs.alvestrand.titrax-sheet": { - readonly source: "iana"; - }; - readonly "application/prs.cww": { - readonly source: "iana"; - readonly extensions: readonly ["cww"]; - }; - readonly "application/prs.cyn": { - readonly source: "iana"; - readonly charset: "7-BIT"; - }; - readonly "application/prs.hpub+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/prs.implied-document+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/prs.implied-executable": { - readonly source: "iana"; - }; - readonly "application/prs.implied-object+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/prs.implied-object+json-seq": { - readonly source: "iana"; - }; - readonly "application/prs.implied-object+yaml": { - readonly source: "iana"; - }; - readonly "application/prs.implied-structure": { - readonly source: "iana"; - }; - readonly "application/prs.nprend": { - readonly source: "iana"; - }; - readonly "application/prs.plucker": { - readonly source: "iana"; - }; - readonly "application/prs.rdf-xml-crypt": { - readonly source: "iana"; - }; - readonly "application/prs.vcfbzip2": { - readonly source: "iana"; - }; - readonly "application/prs.xsf+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xsf"]; - }; - readonly "application/pskc+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["pskcxml"]; - }; - readonly "application/pvd+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/qsig": { - readonly source: "iana"; - }; - readonly "application/raml+yaml": { - readonly compressible: true; - readonly extensions: readonly ["raml"]; - }; - readonly "application/raptorfec": { - readonly source: "iana"; - }; - readonly "application/rdap+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/rdf+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["rdf", "owl"]; - }; - readonly "application/reginfo+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["rif"]; - }; - readonly "application/relax-ng-compact-syntax": { - readonly source: "iana"; - readonly extensions: readonly ["rnc"]; - }; - readonly "application/remote-printing": { - readonly source: "apache"; - }; - readonly "application/reputon+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/resource-lists+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["rl"]; - }; - readonly "application/resource-lists-diff+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["rld"]; - }; - readonly "application/rfc+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/riscos": { - readonly source: "iana"; - }; - readonly "application/rlmi+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/rls-services+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["rs"]; - }; - readonly "application/route-apd+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["rapd"]; - }; - readonly "application/route-s-tsid+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["sls"]; - }; - readonly "application/route-usd+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["rusd"]; - }; - readonly "application/rpki-checklist": { - readonly source: "iana"; - }; - readonly "application/rpki-ghostbusters": { - readonly source: "iana"; - readonly extensions: readonly ["gbr"]; - }; - readonly "application/rpki-manifest": { - readonly source: "iana"; - readonly extensions: readonly ["mft"]; - }; - readonly "application/rpki-publication": { - readonly source: "iana"; - }; - readonly "application/rpki-roa": { - readonly source: "iana"; - readonly extensions: readonly ["roa"]; - }; - readonly "application/rpki-signed-tal": { - readonly source: "iana"; - }; - readonly "application/rpki-updown": { - readonly source: "iana"; - }; - readonly "application/rsd+xml": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["rsd"]; - }; - readonly "application/rss+xml": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["rss"]; - }; - readonly "application/rtf": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["rtf"]; - }; - readonly "application/rtploopback": { - readonly source: "iana"; - }; - readonly "application/rtx": { - readonly source: "iana"; - }; - readonly "application/samlassertion+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/samlmetadata+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/sarif+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/sarif-external-properties+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/sbe": { - readonly source: "iana"; - }; - readonly "application/sbml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["sbml"]; - }; - readonly "application/scaip+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/scim+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/scvp-cv-request": { - readonly source: "iana"; - readonly extensions: readonly ["scq"]; - }; - readonly "application/scvp-cv-response": { - readonly source: "iana"; - readonly extensions: readonly ["scs"]; - }; - readonly "application/scvp-vp-request": { - readonly source: "iana"; - readonly extensions: readonly ["spq"]; - }; - readonly "application/scvp-vp-response": { - readonly source: "iana"; - readonly extensions: readonly ["spp"]; - }; - readonly "application/sdp": { - readonly source: "iana"; - readonly extensions: readonly ["sdp"]; - }; - readonly "application/secevent+jwt": { - readonly source: "iana"; - }; - readonly "application/senml+cbor": { - readonly source: "iana"; - }; - readonly "application/senml+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/senml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["senmlx"]; - }; - readonly "application/senml-etch+cbor": { - readonly source: "iana"; - }; - readonly "application/senml-etch+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/senml-exi": { - readonly source: "iana"; - }; - readonly "application/sensml+cbor": { - readonly source: "iana"; - }; - readonly "application/sensml+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/sensml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["sensmlx"]; - }; - readonly "application/sensml-exi": { - readonly source: "iana"; - }; - readonly "application/sep+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/sep-exi": { - readonly source: "iana"; - }; - readonly "application/session-info": { - readonly source: "iana"; - }; - readonly "application/set-payment": { - readonly source: "iana"; - }; - readonly "application/set-payment-initiation": { - readonly source: "iana"; - readonly extensions: readonly ["setpay"]; - }; - readonly "application/set-registration": { - readonly source: "iana"; - }; - readonly "application/set-registration-initiation": { - readonly source: "iana"; - readonly extensions: readonly ["setreg"]; - }; - readonly "application/sgml": { - readonly source: "iana"; - }; - readonly "application/sgml-open-catalog": { - readonly source: "iana"; - }; - readonly "application/shf+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["shf"]; - }; - readonly "application/sieve": { - readonly source: "iana"; - readonly extensions: readonly ["siv", "sieve"]; - }; - readonly "application/simple-filter+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/simple-message-summary": { - readonly source: "iana"; - }; - readonly "application/simplesymbolcontainer": { - readonly source: "iana"; - }; - readonly "application/sipc": { - readonly source: "iana"; - }; - readonly "application/slate": { - readonly source: "iana"; - }; - readonly "application/smil": { - readonly source: "apache"; - }; - readonly "application/smil+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["smi", "smil"]; - }; - readonly "application/smpte336m": { - readonly source: "iana"; - }; - readonly "application/soap+fastinfoset": { - readonly source: "iana"; - }; - readonly "application/soap+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/sparql-query": { - readonly source: "iana"; - readonly extensions: readonly ["rq"]; - }; - readonly "application/sparql-results+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["srx"]; - }; - readonly "application/spdx+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/spirits-event+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/sql": { - readonly source: "iana"; - readonly extensions: readonly ["sql"]; - }; - readonly "application/srgs": { - readonly source: "iana"; - readonly extensions: readonly ["gram"]; - }; - readonly "application/srgs+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["grxml"]; - }; - readonly "application/sru+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["sru"]; - }; - readonly "application/ssdl+xml": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["ssdl"]; - }; - readonly "application/ssml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["ssml"]; - }; - readonly "application/st2110-41": { - readonly source: "iana"; - }; - readonly "application/stix+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/stratum": { - readonly source: "iana"; - }; - readonly "application/swid+cbor": { - readonly source: "iana"; - }; - readonly "application/swid+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["swidtag"]; - }; - readonly "application/tamp-apex-update": { - readonly source: "iana"; - }; - readonly "application/tamp-apex-update-confirm": { - readonly source: "iana"; - }; - readonly "application/tamp-community-update": { - readonly source: "iana"; - }; - readonly "application/tamp-community-update-confirm": { - readonly source: "iana"; - }; - readonly "application/tamp-error": { - readonly source: "iana"; - }; - readonly "application/tamp-sequence-adjust": { - readonly source: "iana"; - }; - readonly "application/tamp-sequence-adjust-confirm": { - readonly source: "iana"; - }; - readonly "application/tamp-status-query": { - readonly source: "iana"; - }; - readonly "application/tamp-status-response": { - readonly source: "iana"; - }; - readonly "application/tamp-update": { - readonly source: "iana"; - }; - readonly "application/tamp-update-confirm": { - readonly source: "iana"; - }; - readonly "application/tar": { - readonly compressible: true; - }; - readonly "application/taxii+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/td+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/tei+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["tei", "teicorpus"]; - }; - readonly "application/tetra_isi": { - readonly source: "iana"; - }; - readonly "application/thraud+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["tfi"]; - }; - readonly "application/timestamp-query": { - readonly source: "iana"; - }; - readonly "application/timestamp-reply": { - readonly source: "iana"; - }; - readonly "application/timestamped-data": { - readonly source: "iana"; - readonly extensions: readonly ["tsd"]; - }; - readonly "application/tlsrpt+gzip": { - readonly source: "iana"; - }; - readonly "application/tlsrpt+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/tm+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/tnauthlist": { - readonly source: "iana"; - }; - readonly "application/token-introspection+jwt": { - readonly source: "iana"; - }; - readonly "application/toml": { - readonly compressible: true; - readonly extensions: readonly ["toml"]; - }; - readonly "application/trickle-ice-sdpfrag": { - readonly source: "iana"; - }; - readonly "application/trig": { - readonly source: "iana"; - readonly extensions: readonly ["trig"]; - }; - readonly "application/ttml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["ttml"]; - }; - readonly "application/tve-trigger": { - readonly source: "iana"; - }; - readonly "application/tzif": { - readonly source: "iana"; - }; - readonly "application/tzif-leap": { - readonly source: "iana"; - }; - readonly "application/ubjson": { - readonly compressible: false; - readonly extensions: readonly ["ubj"]; - }; - readonly "application/ulpfec": { - readonly source: "iana"; - }; - readonly "application/urc-grpsheet+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/urc-ressheet+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["rsheet"]; - }; - readonly "application/urc-targetdesc+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["td"]; - }; - readonly "application/urc-uisocketdesc+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vc": { - readonly source: "iana"; - }; - readonly "application/vcard+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vcard+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vemmi": { - readonly source: "iana"; - }; - readonly "application/vividence.scriptfile": { - readonly source: "apache"; - }; - readonly "application/vnd.1000minds.decision-model+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["1km"]; - }; - readonly "application/vnd.1ob": { - readonly source: "iana"; - }; - readonly "application/vnd.3gpp-prose+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp-prose-pc3a+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp-prose-pc3ach+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp-prose-pc3ch+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp-prose-pc8+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp-v2x-local-service-information": { - readonly source: "iana"; - }; - readonly "application/vnd.3gpp.5gnas": { - readonly source: "iana"; - }; - readonly "application/vnd.3gpp.5gsa2x": { - readonly source: "iana"; - }; - readonly "application/vnd.3gpp.5gsa2x-local-service-information": { - readonly source: "iana"; - }; - readonly "application/vnd.3gpp.access-transfer-events+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.bsf+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.crs+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.current-location-discovery+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.gmop+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.gtpc": { - readonly source: "iana"; - }; - readonly "application/vnd.3gpp.interworking-data": { - readonly source: "iana"; - }; - readonly "application/vnd.3gpp.lpp": { - readonly source: "iana"; - }; - readonly "application/vnd.3gpp.mc-signalling-ear": { - readonly source: "iana"; - }; - readonly "application/vnd.3gpp.mcdata-affiliation-command+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcdata-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcdata-msgstore-ctrl-request+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcdata-payload": { - readonly source: "iana"; - }; - readonly "application/vnd.3gpp.mcdata-regroup+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcdata-service-config+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcdata-signalling": { - readonly source: "iana"; - }; - readonly "application/vnd.3gpp.mcdata-ue-config+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcdata-user-profile+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcptt-affiliation-command+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcptt-floor-request+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcptt-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcptt-location-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcptt-mbms-usage-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcptt-regroup+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcptt-service-config+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcptt-signed+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcptt-ue-config+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcptt-ue-init-config+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcptt-user-profile+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcvideo-affiliation-command+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcvideo-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcvideo-location-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcvideo-mbms-usage-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcvideo-regroup+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcvideo-service-config+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcvideo-transmission-request+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcvideo-ue-config+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mcvideo-user-profile+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.mid-call+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.ngap": { - readonly source: "iana"; - }; - readonly "application/vnd.3gpp.pfcp": { - readonly source: "iana"; - }; - readonly "application/vnd.3gpp.pic-bw-large": { - readonly source: "iana"; - readonly extensions: readonly ["plb"]; - }; - readonly "application/vnd.3gpp.pic-bw-small": { - readonly source: "iana"; - readonly extensions: readonly ["psb"]; - }; - readonly "application/vnd.3gpp.pic-bw-var": { - readonly source: "iana"; - readonly extensions: readonly ["pvb"]; - }; - readonly "application/vnd.3gpp.pinapp-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.s1ap": { - readonly source: "iana"; - }; - readonly "application/vnd.3gpp.seal-group-doc+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.seal-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.seal-location-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.seal-mbms-usage-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.seal-network-qos-management-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.seal-ue-config-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.seal-unicast-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.seal-user-profile-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.sms": { - readonly source: "iana"; - }; - readonly "application/vnd.3gpp.sms+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.srvcc-ext+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.srvcc-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.state-and-event-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.ussd+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp.v2x": { - readonly source: "iana"; - }; - readonly "application/vnd.3gpp.vae-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp2.bcmcsinfo+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.3gpp2.sms": { - readonly source: "iana"; - }; - readonly "application/vnd.3gpp2.tcap": { - readonly source: "iana"; - readonly extensions: readonly ["tcap"]; - }; - readonly "application/vnd.3lightssoftware.imagescal": { - readonly source: "iana"; - }; - readonly "application/vnd.3m.post-it-notes": { - readonly source: "iana"; - readonly extensions: readonly ["pwn"]; - }; - readonly "application/vnd.accpac.simply.aso": { - readonly source: "iana"; - readonly extensions: readonly ["aso"]; - }; - readonly "application/vnd.accpac.simply.imp": { - readonly source: "iana"; - readonly extensions: readonly ["imp"]; - }; - readonly "application/vnd.acm.addressxfer+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.acm.chatbot+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.acucobol": { - readonly source: "iana"; - readonly extensions: readonly ["acu"]; - }; - readonly "application/vnd.acucorp": { - readonly source: "iana"; - readonly extensions: readonly ["atc", "acutc"]; - }; - readonly "application/vnd.adobe.air-application-installer-package+zip": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["air"]; - }; - readonly "application/vnd.adobe.flash.movie": { - readonly source: "iana"; - }; - readonly "application/vnd.adobe.formscentral.fcdt": { - readonly source: "iana"; - readonly extensions: readonly ["fcdt"]; - }; - readonly "application/vnd.adobe.fxp": { - readonly source: "iana"; - readonly extensions: readonly ["fxp", "fxpl"]; - }; - readonly "application/vnd.adobe.partial-upload": { - readonly source: "iana"; - }; - readonly "application/vnd.adobe.xdp+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xdp"]; - }; - readonly "application/vnd.adobe.xfdf": { - readonly source: "apache"; - readonly extensions: readonly ["xfdf"]; - }; - readonly "application/vnd.aether.imp": { - readonly source: "iana"; - }; - readonly "application/vnd.afpc.afplinedata": { - readonly source: "iana"; - }; - readonly "application/vnd.afpc.afplinedata-pagedef": { - readonly source: "iana"; - }; - readonly "application/vnd.afpc.cmoca-cmresource": { - readonly source: "iana"; - }; - readonly "application/vnd.afpc.foca-charset": { - readonly source: "iana"; - }; - readonly "application/vnd.afpc.foca-codedfont": { - readonly source: "iana"; - }; - readonly "application/vnd.afpc.foca-codepage": { - readonly source: "iana"; - }; - readonly "application/vnd.afpc.modca": { - readonly source: "iana"; - }; - readonly "application/vnd.afpc.modca-cmtable": { - readonly source: "iana"; - }; - readonly "application/vnd.afpc.modca-formdef": { - readonly source: "iana"; - }; - readonly "application/vnd.afpc.modca-mediummap": { - readonly source: "iana"; - }; - readonly "application/vnd.afpc.modca-objectcontainer": { - readonly source: "iana"; - }; - readonly "application/vnd.afpc.modca-overlay": { - readonly source: "iana"; - }; - readonly "application/vnd.afpc.modca-pagesegment": { - readonly source: "iana"; - }; - readonly "application/vnd.age": { - readonly source: "iana"; - readonly extensions: readonly ["age"]; - }; - readonly "application/vnd.ah-barcode": { - readonly source: "apache"; - }; - readonly "application/vnd.ahead.space": { - readonly source: "iana"; - readonly extensions: readonly ["ahead"]; - }; - readonly "application/vnd.airzip.filesecure.azf": { - readonly source: "iana"; - readonly extensions: readonly ["azf"]; - }; - readonly "application/vnd.airzip.filesecure.azs": { - readonly source: "iana"; - readonly extensions: readonly ["azs"]; - }; - readonly "application/vnd.amadeus+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.amazon.ebook": { - readonly source: "apache"; - readonly extensions: readonly ["azw"]; - }; - readonly "application/vnd.amazon.mobi8-ebook": { - readonly source: "iana"; - }; - readonly "application/vnd.americandynamics.acc": { - readonly source: "iana"; - readonly extensions: readonly ["acc"]; - }; - readonly "application/vnd.amiga.ami": { - readonly source: "iana"; - readonly extensions: readonly ["ami"]; - }; - readonly "application/vnd.amundsen.maze+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.android.ota": { - readonly source: "iana"; - }; - readonly "application/vnd.android.package-archive": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["apk"]; - }; - readonly "application/vnd.anki": { - readonly source: "iana"; - }; - readonly "application/vnd.anser-web-certificate-issue-initiation": { - readonly source: "iana"; - readonly extensions: readonly ["cii"]; - }; - readonly "application/vnd.anser-web-funds-transfer-initiation": { - readonly source: "apache"; - readonly extensions: readonly ["fti"]; - }; - readonly "application/vnd.antix.game-component": { - readonly source: "iana"; - readonly extensions: readonly ["atx"]; - }; - readonly "application/vnd.apache.arrow.file": { - readonly source: "iana"; - }; - readonly "application/vnd.apache.arrow.stream": { - readonly source: "iana"; - }; - readonly "application/vnd.apache.parquet": { - readonly source: "iana"; - }; - readonly "application/vnd.apache.thrift.binary": { - readonly source: "iana"; - }; - readonly "application/vnd.apache.thrift.compact": { - readonly source: "iana"; - }; - readonly "application/vnd.apache.thrift.json": { - readonly source: "iana"; - }; - readonly "application/vnd.apexlang": { - readonly source: "iana"; - }; - readonly "application/vnd.api+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.aplextor.warrp+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.apothekende.reservation+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.apple.installer+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["mpkg"]; - }; - readonly "application/vnd.apple.keynote": { - readonly source: "iana"; - readonly extensions: readonly ["key"]; - }; - readonly "application/vnd.apple.mpegurl": { - readonly source: "iana"; - readonly extensions: readonly ["m3u8"]; - }; - readonly "application/vnd.apple.numbers": { - readonly source: "iana"; - readonly extensions: readonly ["numbers"]; - }; - readonly "application/vnd.apple.pages": { - readonly source: "iana"; - readonly extensions: readonly ["pages"]; - }; - readonly "application/vnd.apple.pkpass": { - readonly compressible: false; - readonly extensions: readonly ["pkpass"]; - }; - readonly "application/vnd.arastra.swi": { - readonly source: "apache"; - }; - readonly "application/vnd.aristanetworks.swi": { - readonly source: "iana"; - readonly extensions: readonly ["swi"]; - }; - readonly "application/vnd.artisan+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.artsquare": { - readonly source: "iana"; - }; - readonly "application/vnd.astraea-software.iota": { - readonly source: "iana"; - readonly extensions: readonly ["iota"]; - }; - readonly "application/vnd.audiograph": { - readonly source: "iana"; - readonly extensions: readonly ["aep"]; - }; - readonly "application/vnd.autopackage": { - readonly source: "iana"; - }; - readonly "application/vnd.avalon+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.avistar+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.balsamiq.bmml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["bmml"]; - }; - readonly "application/vnd.balsamiq.bmpr": { - readonly source: "iana"; - }; - readonly "application/vnd.banana-accounting": { - readonly source: "iana"; - }; - readonly "application/vnd.bbf.usp.error": { - readonly source: "iana"; - }; - readonly "application/vnd.bbf.usp.msg": { - readonly source: "iana"; - }; - readonly "application/vnd.bbf.usp.msg+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.bekitzur-stech+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.belightsoft.lhzd+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.belightsoft.lhzl+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.bint.med-content": { - readonly source: "iana"; - }; - readonly "application/vnd.biopax.rdf+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.blink-idb-value-wrapper": { - readonly source: "iana"; - }; - readonly "application/vnd.blueice.multipass": { - readonly source: "iana"; - readonly extensions: readonly ["mpm"]; - }; - readonly "application/vnd.bluetooth.ep.oob": { - readonly source: "iana"; - }; - readonly "application/vnd.bluetooth.le.oob": { - readonly source: "iana"; - }; - readonly "application/vnd.bmi": { - readonly source: "iana"; - readonly extensions: readonly ["bmi"]; - }; - readonly "application/vnd.bpf": { - readonly source: "iana"; - }; - readonly "application/vnd.bpf3": { - readonly source: "iana"; - }; - readonly "application/vnd.businessobjects": { - readonly source: "iana"; - readonly extensions: readonly ["rep"]; - }; - readonly "application/vnd.byu.uapi+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.bzip3": { - readonly source: "iana"; - }; - readonly "application/vnd.c3voc.schedule+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.cab-jscript": { - readonly source: "iana"; - }; - readonly "application/vnd.canon-cpdl": { - readonly source: "iana"; - }; - readonly "application/vnd.canon-lips": { - readonly source: "iana"; - }; - readonly "application/vnd.capasystems-pg+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.cendio.thinlinc.clientconf": { - readonly source: "iana"; - }; - readonly "application/vnd.century-systems.tcp_stream": { - readonly source: "iana"; - }; - readonly "application/vnd.chemdraw+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["cdxml"]; - }; - readonly "application/vnd.chess-pgn": { - readonly source: "iana"; - }; - readonly "application/vnd.chipnuts.karaoke-mmd": { - readonly source: "iana"; - readonly extensions: readonly ["mmd"]; - }; - readonly "application/vnd.ciedi": { - readonly source: "iana"; - }; - readonly "application/vnd.cinderella": { - readonly source: "iana"; - readonly extensions: readonly ["cdy"]; - }; - readonly "application/vnd.cirpack.isdn-ext": { - readonly source: "iana"; - }; - readonly "application/vnd.citationstyles.style+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["csl"]; - }; - readonly "application/vnd.claymore": { - readonly source: "iana"; - readonly extensions: readonly ["cla"]; - }; - readonly "application/vnd.cloanto.rp9": { - readonly source: "iana"; - readonly extensions: readonly ["rp9"]; - }; - readonly "application/vnd.clonk.c4group": { - readonly source: "iana"; - readonly extensions: readonly ["c4g", "c4d", "c4f", "c4p", "c4u"]; - }; - readonly "application/vnd.cluetrust.cartomobile-config": { - readonly source: "iana"; - readonly extensions: readonly ["c11amc"]; - }; - readonly "application/vnd.cluetrust.cartomobile-config-pkg": { - readonly source: "iana"; - readonly extensions: readonly ["c11amz"]; - }; - readonly "application/vnd.cncf.helm.chart.content.v1.tar+gzip": { - readonly source: "iana"; - }; - readonly "application/vnd.cncf.helm.chart.provenance.v1.prov": { - readonly source: "iana"; - }; - readonly "application/vnd.cncf.helm.config.v1+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.coffeescript": { - readonly source: "iana"; - }; - readonly "application/vnd.collabio.xodocuments.document": { - readonly source: "iana"; - }; - readonly "application/vnd.collabio.xodocuments.document-template": { - readonly source: "iana"; - }; - readonly "application/vnd.collabio.xodocuments.presentation": { - readonly source: "iana"; - }; - readonly "application/vnd.collabio.xodocuments.presentation-template": { - readonly source: "iana"; - }; - readonly "application/vnd.collabio.xodocuments.spreadsheet": { - readonly source: "iana"; - }; - readonly "application/vnd.collabio.xodocuments.spreadsheet-template": { - readonly source: "iana"; - }; - readonly "application/vnd.collection+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.collection.doc+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.collection.next+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.comicbook+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.comicbook-rar": { - readonly source: "iana"; - }; - readonly "application/vnd.commerce-battelle": { - readonly source: "iana"; - }; - readonly "application/vnd.commonspace": { - readonly source: "iana"; - readonly extensions: readonly ["csp"]; - }; - readonly "application/vnd.contact.cmsg": { - readonly source: "iana"; - readonly extensions: readonly ["cdbcmsg"]; - }; - readonly "application/vnd.coreos.ignition+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.cosmocaller": { - readonly source: "iana"; - readonly extensions: readonly ["cmc"]; - }; - readonly "application/vnd.crick.clicker": { - readonly source: "iana"; - readonly extensions: readonly ["clkx"]; - }; - readonly "application/vnd.crick.clicker.keyboard": { - readonly source: "iana"; - readonly extensions: readonly ["clkk"]; - }; - readonly "application/vnd.crick.clicker.palette": { - readonly source: "iana"; - readonly extensions: readonly ["clkp"]; - }; - readonly "application/vnd.crick.clicker.template": { - readonly source: "iana"; - readonly extensions: readonly ["clkt"]; - }; - readonly "application/vnd.crick.clicker.wordbank": { - readonly source: "iana"; - readonly extensions: readonly ["clkw"]; - }; - readonly "application/vnd.criticaltools.wbs+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["wbs"]; - }; - readonly "application/vnd.cryptii.pipe+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.crypto-shade-file": { - readonly source: "iana"; - }; - readonly "application/vnd.cryptomator.encrypted": { - readonly source: "iana"; - }; - readonly "application/vnd.cryptomator.vault": { - readonly source: "iana"; - }; - readonly "application/vnd.ctc-posml": { - readonly source: "iana"; - readonly extensions: readonly ["pml"]; - }; - readonly "application/vnd.ctct.ws+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.cups-pdf": { - readonly source: "iana"; - }; - readonly "application/vnd.cups-postscript": { - readonly source: "iana"; - }; - readonly "application/vnd.cups-ppd": { - readonly source: "iana"; - readonly extensions: readonly ["ppd"]; - }; - readonly "application/vnd.cups-raster": { - readonly source: "iana"; - }; - readonly "application/vnd.cups-raw": { - readonly source: "iana"; - }; - readonly "application/vnd.curl": { - readonly source: "iana"; - }; - readonly "application/vnd.curl.car": { - readonly source: "apache"; - readonly extensions: readonly ["car"]; - }; - readonly "application/vnd.curl.pcurl": { - readonly source: "apache"; - readonly extensions: readonly ["pcurl"]; - }; - readonly "application/vnd.cyan.dean.root+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.cybank": { - readonly source: "iana"; - }; - readonly "application/vnd.cyclonedx+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.cyclonedx+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.d2l.coursepackage1p0+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.d3m-dataset": { - readonly source: "iana"; - }; - readonly "application/vnd.d3m-problem": { - readonly source: "iana"; - }; - readonly "application/vnd.dart": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["dart"]; - }; - readonly "application/vnd.data-vision.rdz": { - readonly source: "iana"; - readonly extensions: readonly ["rdz"]; - }; - readonly "application/vnd.datalog": { - readonly source: "iana"; - }; - readonly "application/vnd.datapackage+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.dataresource+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.dbf": { - readonly source: "iana"; - readonly extensions: readonly ["dbf"]; - }; - readonly "application/vnd.debian.binary-package": { - readonly source: "iana"; - }; - readonly "application/vnd.dece.data": { - readonly source: "iana"; - readonly extensions: readonly ["uvf", "uvvf", "uvd", "uvvd"]; - }; - readonly "application/vnd.dece.ttml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["uvt", "uvvt"]; - }; - readonly "application/vnd.dece.unspecified": { - readonly source: "iana"; - readonly extensions: readonly ["uvx", "uvvx"]; - }; - readonly "application/vnd.dece.zip": { - readonly source: "iana"; - readonly extensions: readonly ["uvz", "uvvz"]; - }; - readonly "application/vnd.denovo.fcselayout-link": { - readonly source: "iana"; - readonly extensions: readonly ["fe_launch"]; - }; - readonly "application/vnd.desmume.movie": { - readonly source: "iana"; - }; - readonly "application/vnd.dir-bi.plate-dl-nosuffix": { - readonly source: "iana"; - }; - readonly "application/vnd.dm.delegation+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.dna": { - readonly source: "iana"; - readonly extensions: readonly ["dna"]; - }; - readonly "application/vnd.document+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.dolby.mlp": { - readonly source: "apache"; - readonly extensions: readonly ["mlp"]; - }; - readonly "application/vnd.dolby.mobile.1": { - readonly source: "iana"; - }; - readonly "application/vnd.dolby.mobile.2": { - readonly source: "iana"; - }; - readonly "application/vnd.doremir.scorecloud-binary-document": { - readonly source: "iana"; - }; - readonly "application/vnd.dpgraph": { - readonly source: "iana"; - readonly extensions: readonly ["dpg"]; - }; - readonly "application/vnd.dreamfactory": { - readonly source: "iana"; - readonly extensions: readonly ["dfac"]; - }; - readonly "application/vnd.drive+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.ds-keypoint": { - readonly source: "apache"; - readonly extensions: readonly ["kpxx"]; - }; - readonly "application/vnd.dtg.local": { - readonly source: "iana"; - }; - readonly "application/vnd.dtg.local.flash": { - readonly source: "iana"; - }; - readonly "application/vnd.dtg.local.html": { - readonly source: "iana"; - }; - readonly "application/vnd.dvb.ait": { - readonly source: "iana"; - readonly extensions: readonly ["ait"]; - }; - readonly "application/vnd.dvb.dvbisl+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.dvb.dvbj": { - readonly source: "iana"; - }; - readonly "application/vnd.dvb.esgcontainer": { - readonly source: "iana"; - }; - readonly "application/vnd.dvb.ipdcdftnotifaccess": { - readonly source: "iana"; - }; - readonly "application/vnd.dvb.ipdcesgaccess": { - readonly source: "iana"; - }; - readonly "application/vnd.dvb.ipdcesgaccess2": { - readonly source: "iana"; - }; - readonly "application/vnd.dvb.ipdcesgpdd": { - readonly source: "iana"; - }; - readonly "application/vnd.dvb.ipdcroaming": { - readonly source: "iana"; - }; - readonly "application/vnd.dvb.iptv.alfec-base": { - readonly source: "iana"; - }; - readonly "application/vnd.dvb.iptv.alfec-enhancement": { - readonly source: "iana"; - }; - readonly "application/vnd.dvb.notif-aggregate-root+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.dvb.notif-container+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.dvb.notif-generic+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.dvb.notif-ia-msglist+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.dvb.notif-ia-registration-request+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.dvb.notif-ia-registration-response+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.dvb.notif-init+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.dvb.pfr": { - readonly source: "iana"; - }; - readonly "application/vnd.dvb.service": { - readonly source: "iana"; - readonly extensions: readonly ["svc"]; - }; - readonly "application/vnd.dxr": { - readonly source: "iana"; - }; - readonly "application/vnd.dynageo": { - readonly source: "iana"; - readonly extensions: readonly ["geo"]; - }; - readonly "application/vnd.dzr": { - readonly source: "iana"; - }; - readonly "application/vnd.easykaraoke.cdgdownload": { - readonly source: "iana"; - }; - readonly "application/vnd.ecdis-update": { - readonly source: "iana"; - }; - readonly "application/vnd.ecip.rlp": { - readonly source: "iana"; - }; - readonly "application/vnd.eclipse.ditto+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.ecowin.chart": { - readonly source: "iana"; - readonly extensions: readonly ["mag"]; - }; - readonly "application/vnd.ecowin.filerequest": { - readonly source: "iana"; - }; - readonly "application/vnd.ecowin.fileupdate": { - readonly source: "iana"; - }; - readonly "application/vnd.ecowin.series": { - readonly source: "iana"; - }; - readonly "application/vnd.ecowin.seriesrequest": { - readonly source: "iana"; - }; - readonly "application/vnd.ecowin.seriesupdate": { - readonly source: "iana"; - }; - readonly "application/vnd.efi.img": { - readonly source: "iana"; - }; - readonly "application/vnd.efi.iso": { - readonly source: "iana"; - }; - readonly "application/vnd.eln+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.emclient.accessrequest+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.enliven": { - readonly source: "iana"; - readonly extensions: readonly ["nml"]; - }; - readonly "application/vnd.enphase.envoy": { - readonly source: "iana"; - }; - readonly "application/vnd.eprints.data+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.epson.esf": { - readonly source: "iana"; - readonly extensions: readonly ["esf"]; - }; - readonly "application/vnd.epson.msf": { - readonly source: "iana"; - readonly extensions: readonly ["msf"]; - }; - readonly "application/vnd.epson.quickanime": { - readonly source: "iana"; - readonly extensions: readonly ["qam"]; - }; - readonly "application/vnd.epson.salt": { - readonly source: "iana"; - readonly extensions: readonly ["slt"]; - }; - readonly "application/vnd.epson.ssf": { - readonly source: "iana"; - readonly extensions: readonly ["ssf"]; - }; - readonly "application/vnd.ericsson.quickcall": { - readonly source: "iana"; - }; - readonly "application/vnd.erofs": { - readonly source: "iana"; - }; - readonly "application/vnd.espass-espass+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.eszigno3+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["es3", "et3"]; - }; - readonly "application/vnd.etsi.aoc+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.etsi.asic-e+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.etsi.asic-s+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.etsi.cug+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.etsi.iptvcommand+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.etsi.iptvdiscovery+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.etsi.iptvprofile+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.etsi.iptvsad-bc+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.etsi.iptvsad-cod+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.etsi.iptvsad-npvr+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.etsi.iptvservice+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.etsi.iptvsync+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.etsi.iptvueprofile+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.etsi.mcid+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.etsi.mheg5": { - readonly source: "iana"; - }; - readonly "application/vnd.etsi.overload-control-policy-dataset+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.etsi.pstn+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.etsi.sci+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.etsi.simservs+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.etsi.timestamp-token": { - readonly source: "iana"; - }; - readonly "application/vnd.etsi.tsl+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.etsi.tsl.der": { - readonly source: "iana"; - }; - readonly "application/vnd.eu.kasparian.car+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.eudora.data": { - readonly source: "iana"; - }; - readonly "application/vnd.evolv.ecig.profile": { - readonly source: "iana"; - }; - readonly "application/vnd.evolv.ecig.settings": { - readonly source: "iana"; - }; - readonly "application/vnd.evolv.ecig.theme": { - readonly source: "iana"; - }; - readonly "application/vnd.exstream-empower+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.exstream-package": { - readonly source: "iana"; - }; - readonly "application/vnd.ezpix-album": { - readonly source: "iana"; - readonly extensions: readonly ["ez2"]; - }; - readonly "application/vnd.ezpix-package": { - readonly source: "iana"; - readonly extensions: readonly ["ez3"]; - }; - readonly "application/vnd.f-secure.mobile": { - readonly source: "iana"; - }; - readonly "application/vnd.familysearch.gedcom+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.fastcopy-disk-image": { - readonly source: "iana"; - }; - readonly "application/vnd.fdf": { - readonly source: "apache"; - readonly extensions: readonly ["fdf"]; - }; - readonly "application/vnd.fdsn.mseed": { - readonly source: "iana"; - readonly extensions: readonly ["mseed"]; - }; - readonly "application/vnd.fdsn.seed": { - readonly source: "iana"; - readonly extensions: readonly ["seed", "dataless"]; - }; - readonly "application/vnd.ffsns": { - readonly source: "iana"; - }; - readonly "application/vnd.ficlab.flb+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.filmit.zfc": { - readonly source: "iana"; - }; - readonly "application/vnd.fints": { - readonly source: "iana"; - }; - readonly "application/vnd.firemonkeys.cloudcell": { - readonly source: "iana"; - }; - readonly "application/vnd.flographit": { - readonly source: "iana"; - readonly extensions: readonly ["gph"]; - }; - readonly "application/vnd.fluxtime.clip": { - readonly source: "iana"; - readonly extensions: readonly ["ftc"]; - }; - readonly "application/vnd.font-fontforge-sfd": { - readonly source: "iana"; - }; - readonly "application/vnd.framemaker": { - readonly source: "iana"; - readonly extensions: readonly ["fm", "frame", "maker", "book"]; - }; - readonly "application/vnd.freelog.comic": { - readonly source: "iana"; - }; - readonly "application/vnd.frogans.fnc": { - readonly source: "apache"; - readonly extensions: readonly ["fnc"]; - }; - readonly "application/vnd.frogans.ltf": { - readonly source: "apache"; - readonly extensions: readonly ["ltf"]; - }; - readonly "application/vnd.fsc.weblaunch": { - readonly source: "iana"; - readonly extensions: readonly ["fsc"]; - }; - readonly "application/vnd.fujifilm.fb.docuworks": { - readonly source: "iana"; - }; - readonly "application/vnd.fujifilm.fb.docuworks.binder": { - readonly source: "iana"; - }; - readonly "application/vnd.fujifilm.fb.docuworks.container": { - readonly source: "iana"; - }; - readonly "application/vnd.fujifilm.fb.jfi+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.fujitsu.oasys": { - readonly source: "iana"; - readonly extensions: readonly ["oas"]; - }; - readonly "application/vnd.fujitsu.oasys2": { - readonly source: "iana"; - readonly extensions: readonly ["oa2"]; - }; - readonly "application/vnd.fujitsu.oasys3": { - readonly source: "iana"; - readonly extensions: readonly ["oa3"]; - }; - readonly "application/vnd.fujitsu.oasysgp": { - readonly source: "iana"; - readonly extensions: readonly ["fg5"]; - }; - readonly "application/vnd.fujitsu.oasysprs": { - readonly source: "iana"; - readonly extensions: readonly ["bh2"]; - }; - readonly "application/vnd.fujixerox.art-ex": { - readonly source: "iana"; - }; - readonly "application/vnd.fujixerox.art4": { - readonly source: "iana"; - }; - readonly "application/vnd.fujixerox.ddd": { - readonly source: "iana"; - readonly extensions: readonly ["ddd"]; - }; - readonly "application/vnd.fujixerox.docuworks": { - readonly source: "iana"; - readonly extensions: readonly ["xdw"]; - }; - readonly "application/vnd.fujixerox.docuworks.binder": { - readonly source: "iana"; - readonly extensions: readonly ["xbd"]; - }; - readonly "application/vnd.fujixerox.docuworks.container": { - readonly source: "iana"; - }; - readonly "application/vnd.fujixerox.hbpl": { - readonly source: "iana"; - }; - readonly "application/vnd.fut-misnet": { - readonly source: "iana"; - }; - readonly "application/vnd.futoin+cbor": { - readonly source: "iana"; - }; - readonly "application/vnd.futoin+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.fuzzysheet": { - readonly source: "iana"; - readonly extensions: readonly ["fzs"]; - }; - readonly "application/vnd.ga4gh.passport+jwt": { - readonly source: "iana"; - }; - readonly "application/vnd.genomatix.tuxedo": { - readonly source: "iana"; - readonly extensions: readonly ["txd"]; - }; - readonly "application/vnd.genozip": { - readonly source: "iana"; - }; - readonly "application/vnd.gentics.grd+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.gentoo.catmetadata+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.gentoo.ebuild": { - readonly source: "iana"; - }; - readonly "application/vnd.gentoo.eclass": { - readonly source: "iana"; - }; - readonly "application/vnd.gentoo.gpkg": { - readonly source: "iana"; - }; - readonly "application/vnd.gentoo.manifest": { - readonly source: "iana"; - }; - readonly "application/vnd.gentoo.pkgmetadata+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.gentoo.xpak": { - readonly source: "iana"; - }; - readonly "application/vnd.geo+json": { - readonly source: "apache"; - readonly compressible: true; - }; - readonly "application/vnd.geocube+xml": { - readonly source: "apache"; - readonly compressible: true; - }; - readonly "application/vnd.geogebra.file": { - readonly source: "iana"; - readonly extensions: readonly ["ggb"]; - }; - readonly "application/vnd.geogebra.slides": { - readonly source: "iana"; - readonly extensions: readonly ["ggs"]; - }; - readonly "application/vnd.geogebra.tool": { - readonly source: "iana"; - readonly extensions: readonly ["ggt"]; - }; - readonly "application/vnd.geometry-explorer": { - readonly source: "iana"; - readonly extensions: readonly ["gex", "gre"]; - }; - readonly "application/vnd.geonext": { - readonly source: "iana"; - readonly extensions: readonly ["gxt"]; - }; - readonly "application/vnd.geoplan": { - readonly source: "iana"; - readonly extensions: readonly ["g2w"]; - }; - readonly "application/vnd.geospace": { - readonly source: "iana"; - readonly extensions: readonly ["g3w"]; - }; - readonly "application/vnd.gerber": { - readonly source: "iana"; - }; - readonly "application/vnd.globalplatform.card-content-mgt": { - readonly source: "iana"; - }; - readonly "application/vnd.globalplatform.card-content-mgt-response": { - readonly source: "iana"; - }; - readonly "application/vnd.gmx": { - readonly source: "iana"; - readonly extensions: readonly ["gmx"]; - }; - readonly "application/vnd.gnu.taler.exchange+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.gnu.taler.merchant+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.google-apps.document": { - readonly compressible: false; - readonly extensions: readonly ["gdoc"]; - }; - readonly "application/vnd.google-apps.presentation": { - readonly compressible: false; - readonly extensions: readonly ["gslides"]; - }; - readonly "application/vnd.google-apps.spreadsheet": { - readonly compressible: false; - readonly extensions: readonly ["gsheet"]; - }; - readonly "application/vnd.google-earth.kml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["kml"]; - }; - readonly "application/vnd.google-earth.kmz": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["kmz"]; - }; - readonly "application/vnd.gov.sk.e-form+xml": { - readonly source: "apache"; - readonly compressible: true; - }; - readonly "application/vnd.gov.sk.e-form+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.gov.sk.xmldatacontainer+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xdcf"]; - }; - readonly "application/vnd.gpxsee.map+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.grafeq": { - readonly source: "iana"; - readonly extensions: readonly ["gqf", "gqs"]; - }; - readonly "application/vnd.gridmp": { - readonly source: "iana"; - }; - readonly "application/vnd.groove-account": { - readonly source: "iana"; - readonly extensions: readonly ["gac"]; - }; - readonly "application/vnd.groove-help": { - readonly source: "iana"; - readonly extensions: readonly ["ghf"]; - }; - readonly "application/vnd.groove-identity-message": { - readonly source: "iana"; - readonly extensions: readonly ["gim"]; - }; - readonly "application/vnd.groove-injector": { - readonly source: "iana"; - readonly extensions: readonly ["grv"]; - }; - readonly "application/vnd.groove-tool-message": { - readonly source: "iana"; - readonly extensions: readonly ["gtm"]; - }; - readonly "application/vnd.groove-tool-template": { - readonly source: "iana"; - readonly extensions: readonly ["tpl"]; - }; - readonly "application/vnd.groove-vcard": { - readonly source: "iana"; - readonly extensions: readonly ["vcg"]; - }; - readonly "application/vnd.hal+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.hal+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["hal"]; - }; - readonly "application/vnd.handheld-entertainment+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["zmm"]; - }; - readonly "application/vnd.hbci": { - readonly source: "iana"; - readonly extensions: readonly ["hbci"]; - }; - readonly "application/vnd.hc+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.hcl-bireports": { - readonly source: "iana"; - }; - readonly "application/vnd.hdt": { - readonly source: "iana"; - }; - readonly "application/vnd.heroku+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.hhe.lesson-player": { - readonly source: "iana"; - readonly extensions: readonly ["les"]; - }; - readonly "application/vnd.hp-hpgl": { - readonly source: "iana"; - readonly extensions: readonly ["hpgl"]; - }; - readonly "application/vnd.hp-hpid": { - readonly source: "iana"; - readonly extensions: readonly ["hpid"]; - }; - readonly "application/vnd.hp-hps": { - readonly source: "iana"; - readonly extensions: readonly ["hps"]; - }; - readonly "application/vnd.hp-jlyt": { - readonly source: "iana"; - readonly extensions: readonly ["jlt"]; - }; - readonly "application/vnd.hp-pcl": { - readonly source: "iana"; - readonly extensions: readonly ["pcl"]; - }; - readonly "application/vnd.hp-pclxl": { - readonly source: "iana"; - readonly extensions: readonly ["pclxl"]; - }; - readonly "application/vnd.hsl": { - readonly source: "iana"; - }; - readonly "application/vnd.httphone": { - readonly source: "iana"; - }; - readonly "application/vnd.hydrostatix.sof-data": { - readonly source: "iana"; - readonly extensions: readonly ["sfd-hdstx"]; - }; - readonly "application/vnd.hyper+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.hyper-item+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.hyperdrive+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.hzn-3d-crossword": { - readonly source: "iana"; - }; - readonly "application/vnd.ibm.afplinedata": { - readonly source: "apache"; - }; - readonly "application/vnd.ibm.electronic-media": { - readonly source: "iana"; - }; - readonly "application/vnd.ibm.minipay": { - readonly source: "iana"; - readonly extensions: readonly ["mpy"]; - }; - readonly "application/vnd.ibm.modcap": { - readonly source: "apache"; - readonly extensions: readonly ["afp", "listafp", "list3820"]; - }; - readonly "application/vnd.ibm.rights-management": { - readonly source: "iana"; - readonly extensions: readonly ["irm"]; - }; - readonly "application/vnd.ibm.secure-container": { - readonly source: "iana"; - readonly extensions: readonly ["sc"]; - }; - readonly "application/vnd.iccprofile": { - readonly source: "iana"; - readonly extensions: readonly ["icc", "icm"]; - }; - readonly "application/vnd.ieee.1905": { - readonly source: "iana"; - }; - readonly "application/vnd.igloader": { - readonly source: "iana"; - readonly extensions: readonly ["igl"]; - }; - readonly "application/vnd.imagemeter.folder+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.imagemeter.image+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.immervision-ivp": { - readonly source: "iana"; - readonly extensions: readonly ["ivp"]; - }; - readonly "application/vnd.immervision-ivu": { - readonly source: "iana"; - readonly extensions: readonly ["ivu"]; - }; - readonly "application/vnd.ims.imsccv1p1": { - readonly source: "iana"; - }; - readonly "application/vnd.ims.imsccv1p2": { - readonly source: "iana"; - }; - readonly "application/vnd.ims.imsccv1p3": { - readonly source: "iana"; - }; - readonly "application/vnd.ims.lis.v2.result+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.ims.lti.v2.toolconsumerprofile+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.ims.lti.v2.toolproxy+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.ims.lti.v2.toolproxy.id+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.ims.lti.v2.toolsettings+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.ims.lti.v2.toolsettings.simple+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.informedcontrol.rms+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.informix-visionary": { - readonly source: "apache"; - }; - readonly "application/vnd.infotech.project": { - readonly source: "iana"; - }; - readonly "application/vnd.infotech.project+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.innopath.wamp.notification": { - readonly source: "iana"; - }; - readonly "application/vnd.insors.igm": { - readonly source: "iana"; - readonly extensions: readonly ["igm"]; - }; - readonly "application/vnd.intercon.formnet": { - readonly source: "iana"; - readonly extensions: readonly ["xpw", "xpx"]; - }; - readonly "application/vnd.intergeo": { - readonly source: "iana"; - readonly extensions: readonly ["i2g"]; - }; - readonly "application/vnd.intertrust.digibox": { - readonly source: "iana"; - }; - readonly "application/vnd.intertrust.nncp": { - readonly source: "iana"; - }; - readonly "application/vnd.intu.qbo": { - readonly source: "iana"; - readonly extensions: readonly ["qbo"]; - }; - readonly "application/vnd.intu.qfx": { - readonly source: "iana"; - readonly extensions: readonly ["qfx"]; - }; - readonly "application/vnd.ipfs.ipns-record": { - readonly source: "iana"; - }; - readonly "application/vnd.ipld.car": { - readonly source: "iana"; - }; - readonly "application/vnd.ipld.dag-cbor": { - readonly source: "iana"; - }; - readonly "application/vnd.ipld.dag-json": { - readonly source: "iana"; - }; - readonly "application/vnd.ipld.raw": { - readonly source: "iana"; - }; - readonly "application/vnd.iptc.g2.catalogitem+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.iptc.g2.conceptitem+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.iptc.g2.knowledgeitem+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.iptc.g2.newsitem+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.iptc.g2.newsmessage+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.iptc.g2.packageitem+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.iptc.g2.planningitem+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.ipunplugged.rcprofile": { - readonly source: "iana"; - readonly extensions: readonly ["rcprofile"]; - }; - readonly "application/vnd.irepository.package+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["irp"]; - }; - readonly "application/vnd.is-xpr": { - readonly source: "iana"; - readonly extensions: readonly ["xpr"]; - }; - readonly "application/vnd.isac.fcs": { - readonly source: "iana"; - readonly extensions: readonly ["fcs"]; - }; - readonly "application/vnd.iso11783-10+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.jam": { - readonly source: "iana"; - readonly extensions: readonly ["jam"]; - }; - readonly "application/vnd.japannet-directory-service": { - readonly source: "iana"; - }; - readonly "application/vnd.japannet-jpnstore-wakeup": { - readonly source: "iana"; - }; - readonly "application/vnd.japannet-payment-wakeup": { - readonly source: "iana"; - }; - readonly "application/vnd.japannet-registration": { - readonly source: "iana"; - }; - readonly "application/vnd.japannet-registration-wakeup": { - readonly source: "iana"; - }; - readonly "application/vnd.japannet-setstore-wakeup": { - readonly source: "iana"; - }; - readonly "application/vnd.japannet-verification": { - readonly source: "iana"; - }; - readonly "application/vnd.japannet-verification-wakeup": { - readonly source: "iana"; - }; - readonly "application/vnd.jcp.javame.midlet-rms": { - readonly source: "iana"; - readonly extensions: readonly ["rms"]; - }; - readonly "application/vnd.jisp": { - readonly source: "iana"; - readonly extensions: readonly ["jisp"]; - }; - readonly "application/vnd.joost.joda-archive": { - readonly source: "iana"; - readonly extensions: readonly ["joda"]; - }; - readonly "application/vnd.jsk.isdn-ngn": { - readonly source: "iana"; - }; - readonly "application/vnd.kahootz": { - readonly source: "iana"; - readonly extensions: readonly ["ktz", "ktr"]; - }; - readonly "application/vnd.kde.karbon": { - readonly source: "iana"; - readonly extensions: readonly ["karbon"]; - }; - readonly "application/vnd.kde.kchart": { - readonly source: "iana"; - readonly extensions: readonly ["chrt"]; - }; - readonly "application/vnd.kde.kformula": { - readonly source: "iana"; - readonly extensions: readonly ["kfo"]; - }; - readonly "application/vnd.kde.kivio": { - readonly source: "iana"; - readonly extensions: readonly ["flw"]; - }; - readonly "application/vnd.kde.kontour": { - readonly source: "iana"; - readonly extensions: readonly ["kon"]; - }; - readonly "application/vnd.kde.kpresenter": { - readonly source: "iana"; - readonly extensions: readonly ["kpr", "kpt"]; - }; - readonly "application/vnd.kde.kspread": { - readonly source: "iana"; - readonly extensions: readonly ["ksp"]; - }; - readonly "application/vnd.kde.kword": { - readonly source: "iana"; - readonly extensions: readonly ["kwd", "kwt"]; - }; - readonly "application/vnd.kenameaapp": { - readonly source: "iana"; - readonly extensions: readonly ["htke"]; - }; - readonly "application/vnd.kidspiration": { - readonly source: "iana"; - readonly extensions: readonly ["kia"]; - }; - readonly "application/vnd.kinar": { - readonly source: "iana"; - readonly extensions: readonly ["kne", "knp"]; - }; - readonly "application/vnd.koan": { - readonly source: "iana"; - readonly extensions: readonly ["skp", "skd", "skt", "skm"]; - }; - readonly "application/vnd.kodak-descriptor": { - readonly source: "iana"; - readonly extensions: readonly ["sse"]; - }; - readonly "application/vnd.las": { - readonly source: "iana"; - }; - readonly "application/vnd.las.las+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.las.las+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["lasxml"]; - }; - readonly "application/vnd.laszip": { - readonly source: "iana"; - }; - readonly "application/vnd.ldev.productlicensing": { - readonly source: "iana"; - }; - readonly "application/vnd.leap+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.liberty-request+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.llamagraphics.life-balance.desktop": { - readonly source: "iana"; - readonly extensions: readonly ["lbd"]; - }; - readonly "application/vnd.llamagraphics.life-balance.exchange+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["lbe"]; - }; - readonly "application/vnd.logipipe.circuit+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.loom": { - readonly source: "iana"; - }; - readonly "application/vnd.lotus-1-2-3": { - readonly source: "iana"; - readonly extensions: readonly ["123"]; - }; - readonly "application/vnd.lotus-approach": { - readonly source: "iana"; - readonly extensions: readonly ["apr"]; - }; - readonly "application/vnd.lotus-freelance": { - readonly source: "iana"; - readonly extensions: readonly ["pre"]; - }; - readonly "application/vnd.lotus-notes": { - readonly source: "iana"; - readonly extensions: readonly ["nsf"]; - }; - readonly "application/vnd.lotus-organizer": { - readonly source: "iana"; - readonly extensions: readonly ["org"]; - }; - readonly "application/vnd.lotus-screencam": { - readonly source: "iana"; - readonly extensions: readonly ["scm"]; - }; - readonly "application/vnd.lotus-wordpro": { - readonly source: "iana"; - readonly extensions: readonly ["lwp"]; - }; - readonly "application/vnd.macports.portpkg": { - readonly source: "iana"; - readonly extensions: readonly ["portpkg"]; - }; - readonly "application/vnd.mapbox-vector-tile": { - readonly source: "iana"; - readonly extensions: readonly ["mvt"]; - }; - readonly "application/vnd.marlin.drm.actiontoken+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.marlin.drm.conftoken+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.marlin.drm.license+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.marlin.drm.mdcf": { - readonly source: "iana"; - }; - readonly "application/vnd.mason+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.maxar.archive.3tz+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.maxmind.maxmind-db": { - readonly source: "iana"; - }; - readonly "application/vnd.mcd": { - readonly source: "iana"; - readonly extensions: readonly ["mcd"]; - }; - readonly "application/vnd.mdl": { - readonly source: "iana"; - }; - readonly "application/vnd.mdl-mbsdf": { - readonly source: "iana"; - }; - readonly "application/vnd.medcalcdata": { - readonly source: "iana"; - readonly extensions: readonly ["mc1"]; - }; - readonly "application/vnd.mediastation.cdkey": { - readonly source: "iana"; - readonly extensions: readonly ["cdkey"]; - }; - readonly "application/vnd.medicalholodeck.recordxr": { - readonly source: "iana"; - }; - readonly "application/vnd.meridian-slingshot": { - readonly source: "iana"; - }; - readonly "application/vnd.mermaid": { - readonly source: "iana"; - }; - readonly "application/vnd.mfer": { - readonly source: "iana"; - readonly extensions: readonly ["mwf"]; - }; - readonly "application/vnd.mfmp": { - readonly source: "iana"; - readonly extensions: readonly ["mfm"]; - }; - readonly "application/vnd.micro+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.micrografx.flo": { - readonly source: "iana"; - readonly extensions: readonly ["flo"]; - }; - readonly "application/vnd.micrografx.igx": { - readonly source: "iana"; - readonly extensions: readonly ["igx"]; - }; - readonly "application/vnd.microsoft.portable-executable": { - readonly source: "iana"; - }; - readonly "application/vnd.microsoft.windows.thumbnail-cache": { - readonly source: "iana"; - }; - readonly "application/vnd.miele+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.mif": { - readonly source: "iana"; - readonly extensions: readonly ["mif"]; - }; - readonly "application/vnd.minisoft-hp3000-save": { - readonly source: "iana"; - }; - readonly "application/vnd.mitsubishi.misty-guard.trustweb": { - readonly source: "iana"; - }; - readonly "application/vnd.mobius.daf": { - readonly source: "iana"; - readonly extensions: readonly ["daf"]; - }; - readonly "application/vnd.mobius.dis": { - readonly source: "iana"; - readonly extensions: readonly ["dis"]; - }; - readonly "application/vnd.mobius.mbk": { - readonly source: "iana"; - readonly extensions: readonly ["mbk"]; - }; - readonly "application/vnd.mobius.mqy": { - readonly source: "iana"; - readonly extensions: readonly ["mqy"]; - }; - readonly "application/vnd.mobius.msl": { - readonly source: "iana"; - readonly extensions: readonly ["msl"]; - }; - readonly "application/vnd.mobius.plc": { - readonly source: "iana"; - readonly extensions: readonly ["plc"]; - }; - readonly "application/vnd.mobius.txf": { - readonly source: "iana"; - readonly extensions: readonly ["txf"]; - }; - readonly "application/vnd.modl": { - readonly source: "iana"; - }; - readonly "application/vnd.mophun.application": { - readonly source: "iana"; - readonly extensions: readonly ["mpn"]; - }; - readonly "application/vnd.mophun.certificate": { - readonly source: "iana"; - readonly extensions: readonly ["mpc"]; - }; - readonly "application/vnd.motorola.flexsuite": { - readonly source: "iana"; - }; - readonly "application/vnd.motorola.flexsuite.adsi": { - readonly source: "iana"; - }; - readonly "application/vnd.motorola.flexsuite.fis": { - readonly source: "iana"; - }; - readonly "application/vnd.motorola.flexsuite.gotap": { - readonly source: "iana"; - }; - readonly "application/vnd.motorola.flexsuite.kmr": { - readonly source: "iana"; - }; - readonly "application/vnd.motorola.flexsuite.ttc": { - readonly source: "iana"; - }; - readonly "application/vnd.motorola.flexsuite.wem": { - readonly source: "iana"; - }; - readonly "application/vnd.motorola.iprm": { - readonly source: "iana"; - }; - readonly "application/vnd.mozilla.xul+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xul"]; - }; - readonly "application/vnd.ms-3mfdocument": { - readonly source: "iana"; - }; - readonly "application/vnd.ms-artgalry": { - readonly source: "iana"; - readonly extensions: readonly ["cil"]; - }; - readonly "application/vnd.ms-asf": { - readonly source: "iana"; - }; - readonly "application/vnd.ms-cab-compressed": { - readonly source: "iana"; - readonly extensions: readonly ["cab"]; - }; - readonly "application/vnd.ms-color.iccprofile": { - readonly source: "apache"; - }; - readonly "application/vnd.ms-excel": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["xls", "xlm", "xla", "xlc", "xlt", "xlw"]; - }; - readonly "application/vnd.ms-excel.addin.macroenabled.12": { - readonly source: "iana"; - readonly extensions: readonly ["xlam"]; - }; - readonly "application/vnd.ms-excel.sheet.binary.macroenabled.12": { - readonly source: "iana"; - readonly extensions: readonly ["xlsb"]; - }; - readonly "application/vnd.ms-excel.sheet.macroenabled.12": { - readonly source: "iana"; - readonly extensions: readonly ["xlsm"]; - }; - readonly "application/vnd.ms-excel.template.macroenabled.12": { - readonly source: "iana"; - readonly extensions: readonly ["xltm"]; - }; - readonly "application/vnd.ms-fontobject": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["eot"]; - }; - readonly "application/vnd.ms-htmlhelp": { - readonly source: "iana"; - readonly extensions: readonly ["chm"]; - }; - readonly "application/vnd.ms-ims": { - readonly source: "iana"; - readonly extensions: readonly ["ims"]; - }; - readonly "application/vnd.ms-lrm": { - readonly source: "iana"; - readonly extensions: readonly ["lrm"]; - }; - readonly "application/vnd.ms-office.activex+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.ms-officetheme": { - readonly source: "iana"; - readonly extensions: readonly ["thmx"]; - }; - readonly "application/vnd.ms-opentype": { - readonly source: "apache"; - readonly compressible: true; - }; - readonly "application/vnd.ms-outlook": { - readonly compressible: false; - readonly extensions: readonly ["msg"]; - }; - readonly "application/vnd.ms-package.obfuscated-opentype": { - readonly source: "apache"; - }; - readonly "application/vnd.ms-pki.seccat": { - readonly source: "apache"; - readonly extensions: readonly ["cat"]; - }; - readonly "application/vnd.ms-pki.stl": { - readonly source: "apache"; - readonly extensions: readonly ["stl"]; - }; - readonly "application/vnd.ms-playready.initiator+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.ms-powerpoint": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["ppt", "pps", "pot"]; - }; - readonly "application/vnd.ms-powerpoint.addin.macroenabled.12": { - readonly source: "iana"; - readonly extensions: readonly ["ppam"]; - }; - readonly "application/vnd.ms-powerpoint.presentation.macroenabled.12": { - readonly source: "iana"; - readonly extensions: readonly ["pptm"]; - }; - readonly "application/vnd.ms-powerpoint.slide.macroenabled.12": { - readonly source: "iana"; - readonly extensions: readonly ["sldm"]; - }; - readonly "application/vnd.ms-powerpoint.slideshow.macroenabled.12": { - readonly source: "iana"; - readonly extensions: readonly ["ppsm"]; - }; - readonly "application/vnd.ms-powerpoint.template.macroenabled.12": { - readonly source: "iana"; - readonly extensions: readonly ["potm"]; - }; - readonly "application/vnd.ms-printdevicecapabilities+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.ms-printing.printticket+xml": { - readonly source: "apache"; - readonly compressible: true; - }; - readonly "application/vnd.ms-printschematicket+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.ms-project": { - readonly source: "iana"; - readonly extensions: readonly ["mpp", "mpt"]; - }; - readonly "application/vnd.ms-tnef": { - readonly source: "iana"; - }; - readonly "application/vnd.ms-windows.devicepairing": { - readonly source: "iana"; - }; - readonly "application/vnd.ms-windows.nwprinting.oob": { - readonly source: "iana"; - }; - readonly "application/vnd.ms-windows.printerpairing": { - readonly source: "iana"; - }; - readonly "application/vnd.ms-windows.wsd.oob": { - readonly source: "iana"; - }; - readonly "application/vnd.ms-wmdrm.lic-chlg-req": { - readonly source: "iana"; - }; - readonly "application/vnd.ms-wmdrm.lic-resp": { - readonly source: "iana"; - }; - readonly "application/vnd.ms-wmdrm.meter-chlg-req": { - readonly source: "iana"; - }; - readonly "application/vnd.ms-wmdrm.meter-resp": { - readonly source: "iana"; - }; - readonly "application/vnd.ms-word.document.macroenabled.12": { - readonly source: "iana"; - readonly extensions: readonly ["docm"]; - }; - readonly "application/vnd.ms-word.template.macroenabled.12": { - readonly source: "iana"; - readonly extensions: readonly ["dotm"]; - }; - readonly "application/vnd.ms-works": { - readonly source: "iana"; - readonly extensions: readonly ["wps", "wks", "wcm", "wdb"]; - }; - readonly "application/vnd.ms-wpl": { - readonly source: "iana"; - readonly extensions: readonly ["wpl"]; - }; - readonly "application/vnd.ms-xpsdocument": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["xps"]; - }; - readonly "application/vnd.msa-disk-image": { - readonly source: "iana"; - }; - readonly "application/vnd.mseq": { - readonly source: "iana"; - readonly extensions: readonly ["mseq"]; - }; - readonly "application/vnd.msgpack": { - readonly source: "iana"; - }; - readonly "application/vnd.msign": { - readonly source: "iana"; - }; - readonly "application/vnd.multiad.creator": { - readonly source: "iana"; - }; - readonly "application/vnd.multiad.creator.cif": { - readonly source: "iana"; - }; - readonly "application/vnd.music-niff": { - readonly source: "iana"; - }; - readonly "application/vnd.musician": { - readonly source: "iana"; - readonly extensions: readonly ["mus"]; - }; - readonly "application/vnd.muvee.style": { - readonly source: "iana"; - readonly extensions: readonly ["msty"]; - }; - readonly "application/vnd.mynfc": { - readonly source: "iana"; - readonly extensions: readonly ["taglet"]; - }; - readonly "application/vnd.nacamar.ybrid+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.nato.bindingdataobject+cbor": { - readonly source: "iana"; - }; - readonly "application/vnd.nato.bindingdataobject+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.nato.bindingdataobject+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["bdo"]; - }; - readonly "application/vnd.nato.openxmlformats-package.iepd+zip": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "application/vnd.ncd.control": { - readonly source: "iana"; - }; - readonly "application/vnd.ncd.reference": { - readonly source: "iana"; - }; - readonly "application/vnd.nearst.inv+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.nebumind.line": { - readonly source: "iana"; - }; - readonly "application/vnd.nervana": { - readonly source: "iana"; - }; - readonly "application/vnd.netfpx": { - readonly source: "iana"; - }; - readonly "application/vnd.neurolanguage.nlu": { - readonly source: "iana"; - readonly extensions: readonly ["nlu"]; - }; - readonly "application/vnd.nimn": { - readonly source: "iana"; - }; - readonly "application/vnd.nintendo.nitro.rom": { - readonly source: "iana"; - }; - readonly "application/vnd.nintendo.snes.rom": { - readonly source: "iana"; - }; - readonly "application/vnd.nitf": { - readonly source: "iana"; - readonly extensions: readonly ["ntf", "nitf"]; - }; - readonly "application/vnd.noblenet-directory": { - readonly source: "iana"; - readonly extensions: readonly ["nnd"]; - }; - readonly "application/vnd.noblenet-sealer": { - readonly source: "iana"; - readonly extensions: readonly ["nns"]; - }; - readonly "application/vnd.noblenet-web": { - readonly source: "iana"; - readonly extensions: readonly ["nnw"]; - }; - readonly "application/vnd.nokia.catalogs": { - readonly source: "iana"; - }; - readonly "application/vnd.nokia.conml+wbxml": { - readonly source: "iana"; - }; - readonly "application/vnd.nokia.conml+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.nokia.iptv.config+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.nokia.isds-radio-presets": { - readonly source: "iana"; - }; - readonly "application/vnd.nokia.landmark+wbxml": { - readonly source: "iana"; - }; - readonly "application/vnd.nokia.landmark+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.nokia.landmarkcollection+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.nokia.n-gage.ac+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["ac"]; - }; - readonly "application/vnd.nokia.n-gage.data": { - readonly source: "iana"; - readonly extensions: readonly ["ngdat"]; - }; - readonly "application/vnd.nokia.n-gage.symbian.install": { - readonly source: "apache"; - readonly extensions: readonly ["n-gage"]; - }; - readonly "application/vnd.nokia.ncd": { - readonly source: "iana"; - }; - readonly "application/vnd.nokia.pcd+wbxml": { - readonly source: "iana"; - }; - readonly "application/vnd.nokia.pcd+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.nokia.radio-preset": { - readonly source: "iana"; - readonly extensions: readonly ["rpst"]; - }; - readonly "application/vnd.nokia.radio-presets": { - readonly source: "iana"; - readonly extensions: readonly ["rpss"]; - }; - readonly "application/vnd.novadigm.edm": { - readonly source: "iana"; - readonly extensions: readonly ["edm"]; - }; - readonly "application/vnd.novadigm.edx": { - readonly source: "iana"; - readonly extensions: readonly ["edx"]; - }; - readonly "application/vnd.novadigm.ext": { - readonly source: "iana"; - readonly extensions: readonly ["ext"]; - }; - readonly "application/vnd.ntt-local.content-share": { - readonly source: "iana"; - }; - readonly "application/vnd.ntt-local.file-transfer": { - readonly source: "iana"; - }; - readonly "application/vnd.ntt-local.ogw_remote-access": { - readonly source: "iana"; - }; - readonly "application/vnd.ntt-local.sip-ta_remote": { - readonly source: "iana"; - }; - readonly "application/vnd.ntt-local.sip-ta_tcp_stream": { - readonly source: "iana"; - }; - readonly "application/vnd.oai.workflows": { - readonly source: "iana"; - }; - readonly "application/vnd.oai.workflows+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oai.workflows+yaml": { - readonly source: "iana"; - }; - readonly "application/vnd.oasis.opendocument.base": { - readonly source: "iana"; - }; - readonly "application/vnd.oasis.opendocument.chart": { - readonly source: "iana"; - readonly extensions: readonly ["odc"]; - }; - readonly "application/vnd.oasis.opendocument.chart-template": { - readonly source: "iana"; - readonly extensions: readonly ["otc"]; - }; - readonly "application/vnd.oasis.opendocument.database": { - readonly source: "apache"; - readonly extensions: readonly ["odb"]; - }; - readonly "application/vnd.oasis.opendocument.formula": { - readonly source: "iana"; - readonly extensions: readonly ["odf"]; - }; - readonly "application/vnd.oasis.opendocument.formula-template": { - readonly source: "iana"; - readonly extensions: readonly ["odft"]; - }; - readonly "application/vnd.oasis.opendocument.graphics": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["odg"]; - }; - readonly "application/vnd.oasis.opendocument.graphics-template": { - readonly source: "iana"; - readonly extensions: readonly ["otg"]; - }; - readonly "application/vnd.oasis.opendocument.image": { - readonly source: "iana"; - readonly extensions: readonly ["odi"]; - }; - readonly "application/vnd.oasis.opendocument.image-template": { - readonly source: "iana"; - readonly extensions: readonly ["oti"]; - }; - readonly "application/vnd.oasis.opendocument.presentation": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["odp"]; - }; - readonly "application/vnd.oasis.opendocument.presentation-template": { - readonly source: "iana"; - readonly extensions: readonly ["otp"]; - }; - readonly "application/vnd.oasis.opendocument.spreadsheet": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["ods"]; - }; - readonly "application/vnd.oasis.opendocument.spreadsheet-template": { - readonly source: "iana"; - readonly extensions: readonly ["ots"]; - }; - readonly "application/vnd.oasis.opendocument.text": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["odt"]; - }; - readonly "application/vnd.oasis.opendocument.text-master": { - readonly source: "iana"; - readonly extensions: readonly ["odm"]; - }; - readonly "application/vnd.oasis.opendocument.text-master-template": { - readonly source: "iana"; - }; - readonly "application/vnd.oasis.opendocument.text-template": { - readonly source: "iana"; - readonly extensions: readonly ["ott"]; - }; - readonly "application/vnd.oasis.opendocument.text-web": { - readonly source: "iana"; - readonly extensions: readonly ["oth"]; - }; - readonly "application/vnd.obn": { - readonly source: "iana"; - }; - readonly "application/vnd.ocf+cbor": { - readonly source: "iana"; - }; - readonly "application/vnd.oci.image.manifest.v1+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oftn.l10n+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oipf.contentaccessdownload+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oipf.contentaccessstreaming+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oipf.cspg-hexbinary": { - readonly source: "iana"; - }; - readonly "application/vnd.oipf.dae.svg+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oipf.dae.xhtml+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oipf.mippvcontrolmessage+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oipf.pae.gem": { - readonly source: "iana"; - }; - readonly "application/vnd.oipf.spdiscovery+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oipf.spdlist+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oipf.ueprofile+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oipf.userprofile+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.olpc-sugar": { - readonly source: "iana"; - readonly extensions: readonly ["xo"]; - }; - readonly "application/vnd.oma-scws-config": { - readonly source: "iana"; - }; - readonly "application/vnd.oma-scws-http-request": { - readonly source: "iana"; - }; - readonly "application/vnd.oma-scws-http-response": { - readonly source: "iana"; - }; - readonly "application/vnd.oma.bcast.associated-procedure-parameter+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.bcast.drm-trigger+xml": { - readonly source: "apache"; - readonly compressible: true; - }; - readonly "application/vnd.oma.bcast.imd+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.bcast.ltkm": { - readonly source: "iana"; - }; - readonly "application/vnd.oma.bcast.notification+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.bcast.provisioningtrigger": { - readonly source: "iana"; - }; - readonly "application/vnd.oma.bcast.sgboot": { - readonly source: "iana"; - }; - readonly "application/vnd.oma.bcast.sgdd+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.bcast.sgdu": { - readonly source: "iana"; - }; - readonly "application/vnd.oma.bcast.simple-symbol-container": { - readonly source: "iana"; - }; - readonly "application/vnd.oma.bcast.smartcard-trigger+xml": { - readonly source: "apache"; - readonly compressible: true; - }; - readonly "application/vnd.oma.bcast.sprov+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.bcast.stkm": { - readonly source: "iana"; - }; - readonly "application/vnd.oma.cab-address-book+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.cab-feature-handler+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.cab-pcc+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.cab-subs-invite+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.cab-user-prefs+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.dcd": { - readonly source: "iana"; - }; - readonly "application/vnd.oma.dcdc": { - readonly source: "iana"; - }; - readonly "application/vnd.oma.dd2+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["dd2"]; - }; - readonly "application/vnd.oma.drm.risd+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.group-usage-list+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.lwm2m+cbor": { - readonly source: "iana"; - }; - readonly "application/vnd.oma.lwm2m+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.lwm2m+tlv": { - readonly source: "iana"; - }; - readonly "application/vnd.oma.pal+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.poc.detailed-progress-report+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.poc.final-report+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.poc.groups+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.poc.invocation-descriptor+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.poc.optimized-progress-report+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.push": { - readonly source: "iana"; - }; - readonly "application/vnd.oma.scidm.messages+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oma.xcap-directory+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.omads-email+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/vnd.omads-file+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/vnd.omads-folder+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/vnd.omaloc-supl-init": { - readonly source: "iana"; - }; - readonly "application/vnd.onepager": { - readonly source: "iana"; - }; - readonly "application/vnd.onepagertamp": { - readonly source: "iana"; - }; - readonly "application/vnd.onepagertamx": { - readonly source: "iana"; - }; - readonly "application/vnd.onepagertat": { - readonly source: "iana"; - }; - readonly "application/vnd.onepagertatp": { - readonly source: "iana"; - }; - readonly "application/vnd.onepagertatx": { - readonly source: "iana"; - }; - readonly "application/vnd.onvif.metadata": { - readonly source: "iana"; - }; - readonly "application/vnd.openblox.game+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["obgx"]; - }; - readonly "application/vnd.openblox.game-binary": { - readonly source: "iana"; - }; - readonly "application/vnd.openeye.oeb": { - readonly source: "iana"; - }; - readonly "application/vnd.openofficeorg.extension": { - readonly source: "apache"; - readonly extensions: readonly ["oxt"]; - }; - readonly "application/vnd.openstreetmap.data+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["osm"]; - }; - readonly "application/vnd.opentimestamps.ots": { - readonly source: "iana"; - }; - readonly "application/vnd.openxmlformats-officedocument.custom-properties+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.drawing+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.extended-properties+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.presentation": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["pptx"]; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.slide": { - readonly source: "iana"; - readonly extensions: readonly ["sldx"]; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.slideshow": { - readonly source: "iana"; - readonly extensions: readonly ["ppsx"]; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.template": { - readonly source: "iana"; - readonly extensions: readonly ["potx"]; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["xlsx"]; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.template": { - readonly source: "iana"; - readonly extensions: readonly ["xltx"]; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.theme+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.themeoverride+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.vmldrawing": { - readonly source: "iana"; - }; - readonly "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.wordprocessingml.document": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["docx"]; - }; - readonly "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.wordprocessingml.template": { - readonly source: "iana"; - readonly extensions: readonly ["dotx"]; - }; - readonly "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-package.core-properties+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.openxmlformats-package.relationships+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oracle.resource+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.orange.indata": { - readonly source: "iana"; - }; - readonly "application/vnd.osa.netdeploy": { - readonly source: "iana"; - }; - readonly "application/vnd.osgeo.mapguide.package": { - readonly source: "iana"; - readonly extensions: readonly ["mgp"]; - }; - readonly "application/vnd.osgi.bundle": { - readonly source: "iana"; - }; - readonly "application/vnd.osgi.dp": { - readonly source: "iana"; - readonly extensions: readonly ["dp"]; - }; - readonly "application/vnd.osgi.subsystem": { - readonly source: "iana"; - readonly extensions: readonly ["esa"]; - }; - readonly "application/vnd.otps.ct-kip+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.oxli.countgraph": { - readonly source: "iana"; - }; - readonly "application/vnd.pagerduty+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.palm": { - readonly source: "iana"; - readonly extensions: readonly ["pdb", "pqa", "oprc"]; - }; - readonly "application/vnd.panoply": { - readonly source: "iana"; - }; - readonly "application/vnd.paos.xml": { - readonly source: "iana"; - }; - readonly "application/vnd.patentdive": { - readonly source: "iana"; - }; - readonly "application/vnd.patientecommsdoc": { - readonly source: "iana"; - }; - readonly "application/vnd.pawaafile": { - readonly source: "iana"; - readonly extensions: readonly ["paw"]; - }; - readonly "application/vnd.pcos": { - readonly source: "iana"; - }; - readonly "application/vnd.pg.format": { - readonly source: "iana"; - readonly extensions: readonly ["str"]; - }; - readonly "application/vnd.pg.osasli": { - readonly source: "iana"; - readonly extensions: readonly ["ei6"]; - }; - readonly "application/vnd.piaccess.application-licence": { - readonly source: "iana"; - }; - readonly "application/vnd.picsel": { - readonly source: "iana"; - readonly extensions: readonly ["efif"]; - }; - readonly "application/vnd.pmi.widget": { - readonly source: "iana"; - readonly extensions: readonly ["wg"]; - }; - readonly "application/vnd.poc.group-advertisement+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.pocketlearn": { - readonly source: "iana"; - readonly extensions: readonly ["plf"]; - }; - readonly "application/vnd.powerbuilder6": { - readonly source: "iana"; - readonly extensions: readonly ["pbd"]; - }; - readonly "application/vnd.powerbuilder6-s": { - readonly source: "iana"; - }; - readonly "application/vnd.powerbuilder7": { - readonly source: "iana"; - }; - readonly "application/vnd.powerbuilder7-s": { - readonly source: "iana"; - }; - readonly "application/vnd.powerbuilder75": { - readonly source: "iana"; - }; - readonly "application/vnd.powerbuilder75-s": { - readonly source: "iana"; - }; - readonly "application/vnd.preminet": { - readonly source: "iana"; - }; - readonly "application/vnd.previewsystems.box": { - readonly source: "iana"; - readonly extensions: readonly ["box"]; - }; - readonly "application/vnd.proteus.magazine": { - readonly source: "iana"; - readonly extensions: readonly ["mgz"]; - }; - readonly "application/vnd.psfs": { - readonly source: "iana"; - }; - readonly "application/vnd.pt.mundusmundi": { - readonly source: "iana"; - }; - readonly "application/vnd.publishare-delta-tree": { - readonly source: "iana"; - readonly extensions: readonly ["qps"]; - }; - readonly "application/vnd.pvi.ptid1": { - readonly source: "iana"; - readonly extensions: readonly ["ptid"]; - }; - readonly "application/vnd.pwg-multiplexed": { - readonly source: "iana"; - }; - readonly "application/vnd.pwg-xhtml-print+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xhtm"]; - }; - readonly "application/vnd.qualcomm.brew-app-res": { - readonly source: "iana"; - }; - readonly "application/vnd.quarantainenet": { - readonly source: "iana"; - }; - readonly "application/vnd.quark.quarkxpress": { - readonly source: "iana"; - readonly extensions: readonly ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"]; - }; - readonly "application/vnd.quobject-quoxdocument": { - readonly source: "iana"; - }; - readonly "application/vnd.radisys.moml+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.radisys.msml+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.radisys.msml-audit+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.radisys.msml-audit-conf+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.radisys.msml-audit-conn+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.radisys.msml-audit-dialog+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.radisys.msml-audit-stream+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.radisys.msml-conf+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.radisys.msml-dialog+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.radisys.msml-dialog-base+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.radisys.msml-dialog-fax-detect+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.radisys.msml-dialog-group+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.radisys.msml-dialog-speech+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.radisys.msml-dialog-transform+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.rainstor.data": { - readonly source: "iana"; - }; - readonly "application/vnd.rapid": { - readonly source: "iana"; - }; - readonly "application/vnd.rar": { - readonly source: "iana"; - readonly extensions: readonly ["rar"]; - }; - readonly "application/vnd.realvnc.bed": { - readonly source: "iana"; - readonly extensions: readonly ["bed"]; - }; - readonly "application/vnd.recordare.musicxml": { - readonly source: "iana"; - readonly extensions: readonly ["mxl"]; - }; - readonly "application/vnd.recordare.musicxml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["musicxml"]; - }; - readonly "application/vnd.relpipe": { - readonly source: "iana"; - }; - readonly "application/vnd.renlearn.rlprint": { - readonly source: "iana"; - }; - readonly "application/vnd.resilient.logic": { - readonly source: "iana"; - }; - readonly "application/vnd.restful+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.rig.cryptonote": { - readonly source: "iana"; - readonly extensions: readonly ["cryptonote"]; - }; - readonly "application/vnd.rim.cod": { - readonly source: "apache"; - readonly extensions: readonly ["cod"]; - }; - readonly "application/vnd.rn-realmedia": { - readonly source: "apache"; - readonly extensions: readonly ["rm"]; - }; - readonly "application/vnd.rn-realmedia-vbr": { - readonly source: "apache"; - readonly extensions: readonly ["rmvb"]; - }; - readonly "application/vnd.route66.link66+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["link66"]; - }; - readonly "application/vnd.rs-274x": { - readonly source: "iana"; - }; - readonly "application/vnd.ruckus.download": { - readonly source: "iana"; - }; - readonly "application/vnd.s3sms": { - readonly source: "iana"; - }; - readonly "application/vnd.sailingtracker.track": { - readonly source: "iana"; - readonly extensions: readonly ["st"]; - }; - readonly "application/vnd.sar": { - readonly source: "iana"; - }; - readonly "application/vnd.sbm.cid": { - readonly source: "iana"; - }; - readonly "application/vnd.sbm.mid2": { - readonly source: "iana"; - }; - readonly "application/vnd.scribus": { - readonly source: "iana"; - }; - readonly "application/vnd.sealed.3df": { - readonly source: "iana"; - }; - readonly "application/vnd.sealed.csf": { - readonly source: "iana"; - }; - readonly "application/vnd.sealed.doc": { - readonly source: "iana"; - }; - readonly "application/vnd.sealed.eml": { - readonly source: "iana"; - }; - readonly "application/vnd.sealed.mht": { - readonly source: "iana"; - }; - readonly "application/vnd.sealed.net": { - readonly source: "iana"; - }; - readonly "application/vnd.sealed.ppt": { - readonly source: "iana"; - }; - readonly "application/vnd.sealed.tiff": { - readonly source: "iana"; - }; - readonly "application/vnd.sealed.xls": { - readonly source: "iana"; - }; - readonly "application/vnd.sealedmedia.softseal.html": { - readonly source: "iana"; - }; - readonly "application/vnd.sealedmedia.softseal.pdf": { - readonly source: "iana"; - }; - readonly "application/vnd.seemail": { - readonly source: "iana"; - readonly extensions: readonly ["see"]; - }; - readonly "application/vnd.seis+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.sema": { - readonly source: "iana"; - readonly extensions: readonly ["sema"]; - }; - readonly "application/vnd.semd": { - readonly source: "iana"; - readonly extensions: readonly ["semd"]; - }; - readonly "application/vnd.semf": { - readonly source: "iana"; - readonly extensions: readonly ["semf"]; - }; - readonly "application/vnd.shade-save-file": { - readonly source: "iana"; - }; - readonly "application/vnd.shana.informed.formdata": { - readonly source: "iana"; - readonly extensions: readonly ["ifm"]; - }; - readonly "application/vnd.shana.informed.formtemplate": { - readonly source: "iana"; - readonly extensions: readonly ["itp"]; - }; - readonly "application/vnd.shana.informed.interchange": { - readonly source: "iana"; - readonly extensions: readonly ["iif"]; - }; - readonly "application/vnd.shana.informed.package": { - readonly source: "iana"; - readonly extensions: readonly ["ipk"]; - }; - readonly "application/vnd.shootproof+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.shopkick+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.shp": { - readonly source: "iana"; - }; - readonly "application/vnd.shx": { - readonly source: "iana"; - }; - readonly "application/vnd.sigrok.session": { - readonly source: "iana"; - }; - readonly "application/vnd.simtech-mindmapper": { - readonly source: "iana"; - readonly extensions: readonly ["twd", "twds"]; - }; - readonly "application/vnd.siren+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.smaf": { - readonly source: "iana"; - readonly extensions: readonly ["mmf"]; - }; - readonly "application/vnd.smart.notebook": { - readonly source: "iana"; - }; - readonly "application/vnd.smart.teacher": { - readonly source: "iana"; - readonly extensions: readonly ["teacher"]; - }; - readonly "application/vnd.smintio.portals.archive": { - readonly source: "iana"; - }; - readonly "application/vnd.snesdev-page-table": { - readonly source: "iana"; - }; - readonly "application/vnd.software602.filler.form+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["fo"]; - }; - readonly "application/vnd.software602.filler.form-xml-zip": { - readonly source: "iana"; - }; - readonly "application/vnd.solent.sdkm+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["sdkm", "sdkd"]; - }; - readonly "application/vnd.spotfire.dxp": { - readonly source: "iana"; - readonly extensions: readonly ["dxp"]; - }; - readonly "application/vnd.spotfire.sfs": { - readonly source: "iana"; - readonly extensions: readonly ["sfs"]; - }; - readonly "application/vnd.sqlite3": { - readonly source: "iana"; - }; - readonly "application/vnd.sss-cod": { - readonly source: "iana"; - }; - readonly "application/vnd.sss-dtf": { - readonly source: "iana"; - }; - readonly "application/vnd.sss-ntf": { - readonly source: "iana"; - }; - readonly "application/vnd.stardivision.calc": { - readonly source: "apache"; - readonly extensions: readonly ["sdc"]; - }; - readonly "application/vnd.stardivision.draw": { - readonly source: "apache"; - readonly extensions: readonly ["sda"]; - }; - readonly "application/vnd.stardivision.impress": { - readonly source: "apache"; - readonly extensions: readonly ["sdd"]; - }; - readonly "application/vnd.stardivision.math": { - readonly source: "apache"; - readonly extensions: readonly ["smf"]; - }; - readonly "application/vnd.stardivision.writer": { - readonly source: "apache"; - readonly extensions: readonly ["sdw", "vor"]; - }; - readonly "application/vnd.stardivision.writer-global": { - readonly source: "apache"; - readonly extensions: readonly ["sgl"]; - }; - readonly "application/vnd.stepmania.package": { - readonly source: "iana"; - readonly extensions: readonly ["smzip"]; - }; - readonly "application/vnd.stepmania.stepchart": { - readonly source: "iana"; - readonly extensions: readonly ["sm"]; - }; - readonly "application/vnd.street-stream": { - readonly source: "iana"; - }; - readonly "application/vnd.sun.wadl+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["wadl"]; - }; - readonly "application/vnd.sun.xml.calc": { - readonly source: "apache"; - readonly extensions: readonly ["sxc"]; - }; - readonly "application/vnd.sun.xml.calc.template": { - readonly source: "apache"; - readonly extensions: readonly ["stc"]; - }; - readonly "application/vnd.sun.xml.draw": { - readonly source: "apache"; - readonly extensions: readonly ["sxd"]; - }; - readonly "application/vnd.sun.xml.draw.template": { - readonly source: "apache"; - readonly extensions: readonly ["std"]; - }; - readonly "application/vnd.sun.xml.impress": { - readonly source: "apache"; - readonly extensions: readonly ["sxi"]; - }; - readonly "application/vnd.sun.xml.impress.template": { - readonly source: "apache"; - readonly extensions: readonly ["sti"]; - }; - readonly "application/vnd.sun.xml.math": { - readonly source: "apache"; - readonly extensions: readonly ["sxm"]; - }; - readonly "application/vnd.sun.xml.writer": { - readonly source: "apache"; - readonly extensions: readonly ["sxw"]; - }; - readonly "application/vnd.sun.xml.writer.global": { - readonly source: "apache"; - readonly extensions: readonly ["sxg"]; - }; - readonly "application/vnd.sun.xml.writer.template": { - readonly source: "apache"; - readonly extensions: readonly ["stw"]; - }; - readonly "application/vnd.sus-calendar": { - readonly source: "iana"; - readonly extensions: readonly ["sus", "susp"]; - }; - readonly "application/vnd.svd": { - readonly source: "iana"; - readonly extensions: readonly ["svd"]; - }; - readonly "application/vnd.swiftview-ics": { - readonly source: "iana"; - }; - readonly "application/vnd.sybyl.mol2": { - readonly source: "iana"; - }; - readonly "application/vnd.sycle+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.syft+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.symbian.install": { - readonly source: "apache"; - readonly extensions: readonly ["sis", "sisx"]; - }; - readonly "application/vnd.syncml+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - readonly extensions: readonly ["xsm"]; - }; - readonly "application/vnd.syncml.dm+wbxml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly extensions: readonly ["bdm"]; - }; - readonly "application/vnd.syncml.dm+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - readonly extensions: readonly ["xdm"]; - }; - readonly "application/vnd.syncml.dm.notification": { - readonly source: "iana"; - }; - readonly "application/vnd.syncml.dmddf+wbxml": { - readonly source: "iana"; - }; - readonly "application/vnd.syncml.dmddf+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - readonly extensions: readonly ["ddf"]; - }; - readonly "application/vnd.syncml.dmtnds+wbxml": { - readonly source: "iana"; - }; - readonly "application/vnd.syncml.dmtnds+xml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - }; - readonly "application/vnd.syncml.ds.notification": { - readonly source: "iana"; - }; - readonly "application/vnd.tableschema+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.tao.intent-module-archive": { - readonly source: "iana"; - readonly extensions: readonly ["tao"]; - }; - readonly "application/vnd.tcpdump.pcap": { - readonly source: "iana"; - readonly extensions: readonly ["pcap", "cap", "dmp"]; - }; - readonly "application/vnd.think-cell.ppttc+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.tmd.mediaflex.api+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.tml": { - readonly source: "iana"; - }; - readonly "application/vnd.tmobile-livetv": { - readonly source: "iana"; - readonly extensions: readonly ["tmo"]; - }; - readonly "application/vnd.tri.onesource": { - readonly source: "iana"; - }; - readonly "application/vnd.trid.tpt": { - readonly source: "iana"; - readonly extensions: readonly ["tpt"]; - }; - readonly "application/vnd.triscape.mxs": { - readonly source: "iana"; - readonly extensions: readonly ["mxs"]; - }; - readonly "application/vnd.trueapp": { - readonly source: "iana"; - readonly extensions: readonly ["tra"]; - }; - readonly "application/vnd.truedoc": { - readonly source: "iana"; - }; - readonly "application/vnd.ubisoft.webplayer": { - readonly source: "iana"; - }; - readonly "application/vnd.ufdl": { - readonly source: "iana"; - readonly extensions: readonly ["ufd", "ufdl"]; - }; - readonly "application/vnd.uiq.theme": { - readonly source: "iana"; - readonly extensions: readonly ["utz"]; - }; - readonly "application/vnd.umajin": { - readonly source: "iana"; - readonly extensions: readonly ["umj"]; - }; - readonly "application/vnd.unity": { - readonly source: "iana"; - readonly extensions: readonly ["unityweb"]; - }; - readonly "application/vnd.uoml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["uoml", "uo"]; - }; - readonly "application/vnd.uplanet.alert": { - readonly source: "iana"; - }; - readonly "application/vnd.uplanet.alert-wbxml": { - readonly source: "iana"; - }; - readonly "application/vnd.uplanet.bearer-choice": { - readonly source: "iana"; - }; - readonly "application/vnd.uplanet.bearer-choice-wbxml": { - readonly source: "iana"; - }; - readonly "application/vnd.uplanet.cacheop": { - readonly source: "iana"; - }; - readonly "application/vnd.uplanet.cacheop-wbxml": { - readonly source: "iana"; - }; - readonly "application/vnd.uplanet.channel": { - readonly source: "iana"; - }; - readonly "application/vnd.uplanet.channel-wbxml": { - readonly source: "iana"; - }; - readonly "application/vnd.uplanet.list": { - readonly source: "iana"; - }; - readonly "application/vnd.uplanet.list-wbxml": { - readonly source: "iana"; - }; - readonly "application/vnd.uplanet.listcmd": { - readonly source: "iana"; - }; - readonly "application/vnd.uplanet.listcmd-wbxml": { - readonly source: "iana"; - }; - readonly "application/vnd.uplanet.signal": { - readonly source: "iana"; - }; - readonly "application/vnd.uri-map": { - readonly source: "iana"; - }; - readonly "application/vnd.valve.source.material": { - readonly source: "iana"; - }; - readonly "application/vnd.vcx": { - readonly source: "iana"; - readonly extensions: readonly ["vcx"]; - }; - readonly "application/vnd.vd-study": { - readonly source: "iana"; - }; - readonly "application/vnd.vectorworks": { - readonly source: "iana"; - }; - readonly "application/vnd.vel+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.verimatrix.vcas": { - readonly source: "iana"; - }; - readonly "application/vnd.veritone.aion+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.veryant.thin": { - readonly source: "iana"; - }; - readonly "application/vnd.ves.encrypted": { - readonly source: "iana"; - }; - readonly "application/vnd.vidsoft.vidconference": { - readonly source: "iana"; - }; - readonly "application/vnd.visio": { - readonly source: "iana"; - readonly extensions: readonly ["vsd", "vst", "vss", "vsw"]; - }; - readonly "application/vnd.visionary": { - readonly source: "iana"; - readonly extensions: readonly ["vis"]; - }; - readonly "application/vnd.vividence.scriptfile": { - readonly source: "iana"; - }; - readonly "application/vnd.vsf": { - readonly source: "iana"; - readonly extensions: readonly ["vsf"]; - }; - readonly "application/vnd.wap.sic": { - readonly source: "iana"; - }; - readonly "application/vnd.wap.slc": { - readonly source: "iana"; - }; - readonly "application/vnd.wap.wbxml": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly extensions: readonly ["wbxml"]; - }; - readonly "application/vnd.wap.wmlc": { - readonly source: "iana"; - readonly extensions: readonly ["wmlc"]; - }; - readonly "application/vnd.wap.wmlscriptc": { - readonly source: "iana"; - readonly extensions: readonly ["wmlsc"]; - }; - readonly "application/vnd.wasmflow.wafl": { - readonly source: "iana"; - }; - readonly "application/vnd.webturbo": { - readonly source: "iana"; - readonly extensions: readonly ["wtb"]; - }; - readonly "application/vnd.wfa.dpp": { - readonly source: "iana"; - }; - readonly "application/vnd.wfa.p2p": { - readonly source: "iana"; - }; - readonly "application/vnd.wfa.wsc": { - readonly source: "iana"; - }; - readonly "application/vnd.windows.devicepairing": { - readonly source: "iana"; - }; - readonly "application/vnd.wmc": { - readonly source: "iana"; - }; - readonly "application/vnd.wmf.bootstrap": { - readonly source: "iana"; - }; - readonly "application/vnd.wolfram.mathematica": { - readonly source: "iana"; - }; - readonly "application/vnd.wolfram.mathematica.package": { - readonly source: "iana"; - }; - readonly "application/vnd.wolfram.player": { - readonly source: "iana"; - readonly extensions: readonly ["nbp"]; - }; - readonly "application/vnd.wordlift": { - readonly source: "iana"; - }; - readonly "application/vnd.wordperfect": { - readonly source: "iana"; - readonly extensions: readonly ["wpd"]; - }; - readonly "application/vnd.wqd": { - readonly source: "iana"; - readonly extensions: readonly ["wqd"]; - }; - readonly "application/vnd.wrq-hp3000-labelled": { - readonly source: "iana"; - }; - readonly "application/vnd.wt.stf": { - readonly source: "iana"; - readonly extensions: readonly ["stf"]; - }; - readonly "application/vnd.wv.csp+wbxml": { - readonly source: "iana"; - }; - readonly "application/vnd.wv.csp+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.wv.ssp+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.xacml+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.xara": { - readonly source: "iana"; - readonly extensions: readonly ["xar"]; - }; - readonly "application/vnd.xecrets-encrypted": { - readonly source: "iana"; - }; - readonly "application/vnd.xfdl": { - readonly source: "iana"; - readonly extensions: readonly ["xfdl"]; - }; - readonly "application/vnd.xfdl.webform": { - readonly source: "iana"; - }; - readonly "application/vnd.xmi+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vnd.xmpie.cpkg": { - readonly source: "iana"; - }; - readonly "application/vnd.xmpie.dpkg": { - readonly source: "iana"; - }; - readonly "application/vnd.xmpie.plan": { - readonly source: "iana"; - }; - readonly "application/vnd.xmpie.ppkg": { - readonly source: "iana"; - }; - readonly "application/vnd.xmpie.xlim": { - readonly source: "iana"; - }; - readonly "application/vnd.yamaha.hv-dic": { - readonly source: "iana"; - readonly extensions: readonly ["hvd"]; - }; - readonly "application/vnd.yamaha.hv-script": { - readonly source: "iana"; - readonly extensions: readonly ["hvs"]; - }; - readonly "application/vnd.yamaha.hv-voice": { - readonly source: "iana"; - readonly extensions: readonly ["hvp"]; - }; - readonly "application/vnd.yamaha.openscoreformat": { - readonly source: "iana"; - readonly extensions: readonly ["osf"]; - }; - readonly "application/vnd.yamaha.openscoreformat.osfpvg+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["osfpvg"]; - }; - readonly "application/vnd.yamaha.remote-setup": { - readonly source: "iana"; - }; - readonly "application/vnd.yamaha.smaf-audio": { - readonly source: "iana"; - readonly extensions: readonly ["saf"]; - }; - readonly "application/vnd.yamaha.smaf-phrase": { - readonly source: "iana"; - readonly extensions: readonly ["spf"]; - }; - readonly "application/vnd.yamaha.through-ngn": { - readonly source: "iana"; - }; - readonly "application/vnd.yamaha.tunnel-udpencap": { - readonly source: "iana"; - }; - readonly "application/vnd.yaoweme": { - readonly source: "iana"; - }; - readonly "application/vnd.yellowriver-custom-menu": { - readonly source: "iana"; - readonly extensions: readonly ["cmp"]; - }; - readonly "application/vnd.zul": { - readonly source: "iana"; - readonly extensions: readonly ["zir", "zirz"]; - }; - readonly "application/vnd.zzazz.deck+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["zaz"]; - }; - readonly "application/voicexml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["vxml"]; - }; - readonly "application/voucher-cms+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/vp": { - readonly source: "iana"; - }; - readonly "application/vq-rtcpxr": { - readonly source: "iana"; - }; - readonly "application/wasm": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["wasm"]; - }; - readonly "application/watcherinfo+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["wif"]; - }; - readonly "application/webpush-options+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/whoispp-query": { - readonly source: "iana"; - }; - readonly "application/whoispp-response": { - readonly source: "iana"; - }; - readonly "application/widget": { - readonly source: "iana"; - readonly extensions: readonly ["wgt"]; - }; - readonly "application/winhlp": { - readonly source: "apache"; - readonly extensions: readonly ["hlp"]; - }; - readonly "application/wita": { - readonly source: "iana"; - }; - readonly "application/wordperfect5.1": { - readonly source: "iana"; - }; - readonly "application/wsdl+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["wsdl"]; - }; - readonly "application/wspolicy+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["wspolicy"]; - }; - readonly "application/x-7z-compressed": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["7z"]; - }; - readonly "application/x-abiword": { - readonly source: "apache"; - readonly extensions: readonly ["abw"]; - }; - readonly "application/x-ace-compressed": { - readonly source: "apache"; - readonly extensions: readonly ["ace"]; - }; - readonly "application/x-amf": { - readonly source: "apache"; - }; - readonly "application/x-apple-diskimage": { - readonly source: "apache"; - readonly extensions: readonly ["dmg"]; - }; - readonly "application/x-arj": { - readonly compressible: false; - readonly extensions: readonly ["arj"]; - }; - readonly "application/x-authorware-bin": { - readonly source: "apache"; - readonly extensions: readonly ["aab", "x32", "u32", "vox"]; - }; - readonly "application/x-authorware-map": { - readonly source: "apache"; - readonly extensions: readonly ["aam"]; - }; - readonly "application/x-authorware-seg": { - readonly source: "apache"; - readonly extensions: readonly ["aas"]; - }; - readonly "application/x-bcpio": { - readonly source: "apache"; - readonly extensions: readonly ["bcpio"]; - }; - readonly "application/x-bdoc": { - readonly compressible: false; - readonly extensions: readonly ["bdoc"]; - }; - readonly "application/x-bittorrent": { - readonly source: "apache"; - readonly extensions: readonly ["torrent"]; - }; - readonly "application/x-blorb": { - readonly source: "apache"; - readonly extensions: readonly ["blb", "blorb"]; - }; - readonly "application/x-bzip": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["bz"]; - }; - readonly "application/x-bzip2": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["bz2", "boz"]; - }; - readonly "application/x-cbr": { - readonly source: "apache"; - readonly extensions: readonly ["cbr", "cba", "cbt", "cbz", "cb7"]; - }; - readonly "application/x-cdlink": { - readonly source: "apache"; - readonly extensions: readonly ["vcd"]; - }; - readonly "application/x-cfs-compressed": { - readonly source: "apache"; - readonly extensions: readonly ["cfs"]; - }; - readonly "application/x-chat": { - readonly source: "apache"; - readonly extensions: readonly ["chat"]; - }; - readonly "application/x-chess-pgn": { - readonly source: "apache"; - readonly extensions: readonly ["pgn"]; - }; - readonly "application/x-chrome-extension": { - readonly extensions: readonly ["crx"]; - }; - readonly "application/x-cocoa": { - readonly source: "nginx"; - readonly extensions: readonly ["cco"]; - }; - readonly "application/x-compress": { - readonly source: "apache"; - }; - readonly "application/x-conference": { - readonly source: "apache"; - readonly extensions: readonly ["nsc"]; - }; - readonly "application/x-cpio": { - readonly source: "apache"; - readonly extensions: readonly ["cpio"]; - }; - readonly "application/x-csh": { - readonly source: "apache"; - readonly extensions: readonly ["csh"]; - }; - readonly "application/x-deb": { - readonly compressible: false; - }; - readonly "application/x-debian-package": { - readonly source: "apache"; - readonly extensions: readonly ["deb", "udeb"]; - }; - readonly "application/x-dgc-compressed": { - readonly source: "apache"; - readonly extensions: readonly ["dgc"]; - }; - readonly "application/x-director": { - readonly source: "apache"; - readonly extensions: readonly ["dir", "dcr", "dxr", "cst", "cct", "cxt", "w3d", "fgd", "swa"]; - }; - readonly "application/x-doom": { - readonly source: "apache"; - readonly extensions: readonly ["wad"]; - }; - readonly "application/x-dtbncx+xml": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["ncx"]; - }; - readonly "application/x-dtbook+xml": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["dtb"]; - }; - readonly "application/x-dtbresource+xml": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["res"]; - }; - readonly "application/x-dvi": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["dvi"]; - }; - readonly "application/x-envoy": { - readonly source: "apache"; - readonly extensions: readonly ["evy"]; - }; - readonly "application/x-eva": { - readonly source: "apache"; - readonly extensions: readonly ["eva"]; - }; - readonly "application/x-font-bdf": { - readonly source: "apache"; - readonly extensions: readonly ["bdf"]; - }; - readonly "application/x-font-dos": { - readonly source: "apache"; - }; - readonly "application/x-font-framemaker": { - readonly source: "apache"; - }; - readonly "application/x-font-ghostscript": { - readonly source: "apache"; - readonly extensions: readonly ["gsf"]; - }; - readonly "application/x-font-libgrx": { - readonly source: "apache"; - }; - readonly "application/x-font-linux-psf": { - readonly source: "apache"; - readonly extensions: readonly ["psf"]; - }; - readonly "application/x-font-pcf": { - readonly source: "apache"; - readonly extensions: readonly ["pcf"]; - }; - readonly "application/x-font-snf": { - readonly source: "apache"; - readonly extensions: readonly ["snf"]; - }; - readonly "application/x-font-speedo": { - readonly source: "apache"; - }; - readonly "application/x-font-sunos-news": { - readonly source: "apache"; - }; - readonly "application/x-font-type1": { - readonly source: "apache"; - readonly extensions: readonly ["pfa", "pfb", "pfm", "afm"]; - }; - readonly "application/x-font-vfont": { - readonly source: "apache"; - }; - readonly "application/x-freearc": { - readonly source: "apache"; - readonly extensions: readonly ["arc"]; - }; - readonly "application/x-futuresplash": { - readonly source: "apache"; - readonly extensions: readonly ["spl"]; - }; - readonly "application/x-gca-compressed": { - readonly source: "apache"; - readonly extensions: readonly ["gca"]; - }; - readonly "application/x-glulx": { - readonly source: "apache"; - readonly extensions: readonly ["ulx"]; - }; - readonly "application/x-gnumeric": { - readonly source: "apache"; - readonly extensions: readonly ["gnumeric"]; - }; - readonly "application/x-gramps-xml": { - readonly source: "apache"; - readonly extensions: readonly ["gramps"]; - }; - readonly "application/x-gtar": { - readonly source: "apache"; - readonly extensions: readonly ["gtar"]; - }; - readonly "application/x-gzip": { - readonly source: "apache"; - }; - readonly "application/x-hdf": { - readonly source: "apache"; - readonly extensions: readonly ["hdf"]; - }; - readonly "application/x-httpd-php": { - readonly compressible: true; - readonly extensions: readonly ["php"]; - }; - readonly "application/x-install-instructions": { - readonly source: "apache"; - readonly extensions: readonly ["install"]; - }; - readonly "application/x-iso9660-image": { - readonly source: "apache"; - readonly extensions: readonly ["iso"]; - }; - readonly "application/x-iwork-keynote-sffkey": { - readonly extensions: readonly ["key"]; - }; - readonly "application/x-iwork-numbers-sffnumbers": { - readonly extensions: readonly ["numbers"]; - }; - readonly "application/x-iwork-pages-sffpages": { - readonly extensions: readonly ["pages"]; - }; - readonly "application/x-java-archive-diff": { - readonly source: "nginx"; - readonly extensions: readonly ["jardiff"]; - }; - readonly "application/x-java-jnlp-file": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["jnlp"]; - }; - readonly "application/x-javascript": { - readonly compressible: true; - }; - readonly "application/x-keepass2": { - readonly extensions: readonly ["kdbx"]; - }; - readonly "application/x-latex": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["latex"]; - }; - readonly "application/x-lua-bytecode": { - readonly extensions: readonly ["luac"]; - }; - readonly "application/x-lzh-compressed": { - readonly source: "apache"; - readonly extensions: readonly ["lzh", "lha"]; - }; - readonly "application/x-makeself": { - readonly source: "nginx"; - readonly extensions: readonly ["run"]; - }; - readonly "application/x-mie": { - readonly source: "apache"; - readonly extensions: readonly ["mie"]; - }; - readonly "application/x-mobipocket-ebook": { - readonly source: "apache"; - readonly extensions: readonly ["prc", "mobi"]; - }; - readonly "application/x-mpegurl": { - readonly compressible: false; - }; - readonly "application/x-ms-application": { - readonly source: "apache"; - readonly extensions: readonly ["application"]; - }; - readonly "application/x-ms-shortcut": { - readonly source: "apache"; - readonly extensions: readonly ["lnk"]; - }; - readonly "application/x-ms-wmd": { - readonly source: "apache"; - readonly extensions: readonly ["wmd"]; - }; - readonly "application/x-ms-wmz": { - readonly source: "apache"; - readonly extensions: readonly ["wmz"]; - }; - readonly "application/x-ms-xbap": { - readonly source: "apache"; - readonly extensions: readonly ["xbap"]; - }; - readonly "application/x-msaccess": { - readonly source: "apache"; - readonly extensions: readonly ["mdb"]; - }; - readonly "application/x-msbinder": { - readonly source: "apache"; - readonly extensions: readonly ["obd"]; - }; - readonly "application/x-mscardfile": { - readonly source: "apache"; - readonly extensions: readonly ["crd"]; - }; - readonly "application/x-msclip": { - readonly source: "apache"; - readonly extensions: readonly ["clp"]; - }; - readonly "application/x-msdos-program": { - readonly extensions: readonly ["exe"]; - }; - readonly "application/x-msdownload": { - readonly source: "apache"; - readonly extensions: readonly ["exe", "dll", "com", "bat", "msi"]; - }; - readonly "application/x-msmediaview": { - readonly source: "apache"; - readonly extensions: readonly ["mvb", "m13", "m14"]; - }; - readonly "application/x-msmetafile": { - readonly source: "apache"; - readonly extensions: readonly ["wmf", "wmz", "emf", "emz"]; - }; - readonly "application/x-msmoney": { - readonly source: "apache"; - readonly extensions: readonly ["mny"]; - }; - readonly "application/x-mspublisher": { - readonly source: "apache"; - readonly extensions: readonly ["pub"]; - }; - readonly "application/x-msschedule": { - readonly source: "apache"; - readonly extensions: readonly ["scd"]; - }; - readonly "application/x-msterminal": { - readonly source: "apache"; - readonly extensions: readonly ["trm"]; - }; - readonly "application/x-mswrite": { - readonly source: "apache"; - readonly extensions: readonly ["wri"]; - }; - readonly "application/x-netcdf": { - readonly source: "apache"; - readonly extensions: readonly ["nc", "cdf"]; - }; - readonly "application/x-ns-proxy-autoconfig": { - readonly compressible: true; - readonly extensions: readonly ["pac"]; - }; - readonly "application/x-nzb": { - readonly source: "apache"; - readonly extensions: readonly ["nzb"]; - }; - readonly "application/x-perl": { - readonly source: "nginx"; - readonly extensions: readonly ["pl", "pm"]; - }; - readonly "application/x-pilot": { - readonly source: "nginx"; - readonly extensions: readonly ["prc", "pdb"]; - }; - readonly "application/x-pkcs12": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["p12", "pfx"]; - }; - readonly "application/x-pkcs7-certificates": { - readonly source: "apache"; - readonly extensions: readonly ["p7b", "spc"]; - }; - readonly "application/x-pkcs7-certreqresp": { - readonly source: "apache"; - readonly extensions: readonly ["p7r"]; - }; - readonly "application/x-pki-message": { - readonly source: "iana"; - }; - readonly "application/x-rar-compressed": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["rar"]; - }; - readonly "application/x-redhat-package-manager": { - readonly source: "nginx"; - readonly extensions: readonly ["rpm"]; - }; - readonly "application/x-research-info-systems": { - readonly source: "apache"; - readonly extensions: readonly ["ris"]; - }; - readonly "application/x-sea": { - readonly source: "nginx"; - readonly extensions: readonly ["sea"]; - }; - readonly "application/x-sh": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["sh"]; - }; - readonly "application/x-shar": { - readonly source: "apache"; - readonly extensions: readonly ["shar"]; - }; - readonly "application/x-shockwave-flash": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["swf"]; - }; - readonly "application/x-silverlight-app": { - readonly source: "apache"; - readonly extensions: readonly ["xap"]; - }; - readonly "application/x-sql": { - readonly source: "apache"; - readonly extensions: readonly ["sql"]; - }; - readonly "application/x-stuffit": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["sit"]; - }; - readonly "application/x-stuffitx": { - readonly source: "apache"; - readonly extensions: readonly ["sitx"]; - }; - readonly "application/x-subrip": { - readonly source: "apache"; - readonly extensions: readonly ["srt"]; - }; - readonly "application/x-sv4cpio": { - readonly source: "apache"; - readonly extensions: readonly ["sv4cpio"]; - }; - readonly "application/x-sv4crc": { - readonly source: "apache"; - readonly extensions: readonly ["sv4crc"]; - }; - readonly "application/x-t3vm-image": { - readonly source: "apache"; - readonly extensions: readonly ["t3"]; - }; - readonly "application/x-tads": { - readonly source: "apache"; - readonly extensions: readonly ["gam"]; - }; - readonly "application/x-tar": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["tar"]; - }; - readonly "application/x-tcl": { - readonly source: "apache"; - readonly extensions: readonly ["tcl", "tk"]; - }; - readonly "application/x-tex": { - readonly source: "apache"; - readonly extensions: readonly ["tex"]; - }; - readonly "application/x-tex-tfm": { - readonly source: "apache"; - readonly extensions: readonly ["tfm"]; - }; - readonly "application/x-texinfo": { - readonly source: "apache"; - readonly extensions: readonly ["texinfo", "texi"]; - }; - readonly "application/x-tgif": { - readonly source: "apache"; - readonly extensions: readonly ["obj"]; - }; - readonly "application/x-ustar": { - readonly source: "apache"; - readonly extensions: readonly ["ustar"]; - }; - readonly "application/x-virtualbox-hdd": { - readonly compressible: true; - readonly extensions: readonly ["hdd"]; - }; - readonly "application/x-virtualbox-ova": { - readonly compressible: true; - readonly extensions: readonly ["ova"]; - }; - readonly "application/x-virtualbox-ovf": { - readonly compressible: true; - readonly extensions: readonly ["ovf"]; - }; - readonly "application/x-virtualbox-vbox": { - readonly compressible: true; - readonly extensions: readonly ["vbox"]; - }; - readonly "application/x-virtualbox-vbox-extpack": { - readonly compressible: false; - readonly extensions: readonly ["vbox-extpack"]; - }; - readonly "application/x-virtualbox-vdi": { - readonly compressible: true; - readonly extensions: readonly ["vdi"]; - }; - readonly "application/x-virtualbox-vhd": { - readonly compressible: true; - readonly extensions: readonly ["vhd"]; - }; - readonly "application/x-virtualbox-vmdk": { - readonly compressible: true; - readonly extensions: readonly ["vmdk"]; - }; - readonly "application/x-wais-source": { - readonly source: "apache"; - readonly extensions: readonly ["src"]; - }; - readonly "application/x-web-app-manifest+json": { - readonly compressible: true; - readonly extensions: readonly ["webapp"]; - }; - readonly "application/x-www-form-urlencoded": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/x-x509-ca-cert": { - readonly source: "iana"; - readonly extensions: readonly ["der", "crt", "pem"]; - }; - readonly "application/x-x509-ca-ra-cert": { - readonly source: "iana"; - }; - readonly "application/x-x509-next-ca-cert": { - readonly source: "iana"; - }; - readonly "application/x-xfig": { - readonly source: "apache"; - readonly extensions: readonly ["fig"]; - }; - readonly "application/x-xliff+xml": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["xlf"]; - }; - readonly "application/x-xpinstall": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["xpi"]; - }; - readonly "application/x-xz": { - readonly source: "apache"; - readonly extensions: readonly ["xz"]; - }; - readonly "application/x-zmachine": { - readonly source: "apache"; - readonly extensions: readonly ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"]; - }; - readonly "application/x400-bp": { - readonly source: "iana"; - }; - readonly "application/xacml+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/xaml+xml": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["xaml"]; - }; - readonly "application/xcap-att+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xav"]; - }; - readonly "application/xcap-caps+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xca"]; - }; - readonly "application/xcap-diff+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xdf"]; - }; - readonly "application/xcap-el+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xel"]; - }; - readonly "application/xcap-error+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/xcap-ns+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xns"]; - }; - readonly "application/xcon-conference-info+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/xcon-conference-info-diff+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/xenc+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xenc"]; - }; - readonly "application/xfdf": { - readonly source: "iana"; - readonly extensions: readonly ["xfdf"]; - }; - readonly "application/xhtml+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xhtml", "xht"]; - }; - readonly "application/xhtml-voice+xml": { - readonly source: "apache"; - readonly compressible: true; - }; - readonly "application/xliff+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xlf"]; - }; - readonly "application/xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xml", "xsl", "xsd", "rng"]; - }; - readonly "application/xml-dtd": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["dtd"]; - }; - readonly "application/xml-external-parsed-entity": { - readonly source: "iana"; - }; - readonly "application/xml-patch+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/xmpp+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/xop+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xop"]; - }; - readonly "application/xproc+xml": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["xpl"]; - }; - readonly "application/xslt+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xsl", "xslt"]; - }; - readonly "application/xspf+xml": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["xspf"]; - }; - readonly "application/xv+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["mxml", "xhvml", "xvml", "xvm"]; - }; - readonly "application/yaml": { - readonly source: "iana"; - }; - readonly "application/yang": { - readonly source: "iana"; - readonly extensions: readonly ["yang"]; - }; - readonly "application/yang-data+cbor": { - readonly source: "iana"; - }; - readonly "application/yang-data+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/yang-data+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/yang-patch+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/yang-patch+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/yang-sid+json": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "application/yin+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["yin"]; - }; - readonly "application/zip": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["zip"]; - }; - readonly "application/zlib": { - readonly source: "iana"; - }; - readonly "application/zstd": { - readonly source: "iana"; - }; - readonly "audio/1d-interleaved-parityfec": { - readonly source: "iana"; - }; - readonly "audio/32kadpcm": { - readonly source: "iana"; - }; - readonly "audio/3gpp": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["3gpp"]; - }; - readonly "audio/3gpp2": { - readonly source: "iana"; - }; - readonly "audio/aac": { - readonly source: "iana"; - readonly extensions: readonly ["adts", "aac"]; - }; - readonly "audio/ac3": { - readonly source: "iana"; - }; - readonly "audio/adpcm": { - readonly source: "apache"; - readonly extensions: readonly ["adp"]; - }; - readonly "audio/amr": { - readonly source: "iana"; - readonly extensions: readonly ["amr"]; - }; - readonly "audio/amr-wb": { - readonly source: "iana"; - }; - readonly "audio/amr-wb+": { - readonly source: "iana"; - }; - readonly "audio/aptx": { - readonly source: "iana"; - }; - readonly "audio/asc": { - readonly source: "iana"; - }; - readonly "audio/atrac-advanced-lossless": { - readonly source: "iana"; - }; - readonly "audio/atrac-x": { - readonly source: "iana"; - }; - readonly "audio/atrac3": { - readonly source: "iana"; - }; - readonly "audio/basic": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["au", "snd"]; - }; - readonly "audio/bv16": { - readonly source: "iana"; - }; - readonly "audio/bv32": { - readonly source: "iana"; - }; - readonly "audio/clearmode": { - readonly source: "iana"; - }; - readonly "audio/cn": { - readonly source: "iana"; - }; - readonly "audio/dat12": { - readonly source: "iana"; - }; - readonly "audio/dls": { - readonly source: "iana"; - }; - readonly "audio/dsr-es201108": { - readonly source: "iana"; - }; - readonly "audio/dsr-es202050": { - readonly source: "iana"; - }; - readonly "audio/dsr-es202211": { - readonly source: "iana"; - }; - readonly "audio/dsr-es202212": { - readonly source: "iana"; - }; - readonly "audio/dv": { - readonly source: "iana"; - }; - readonly "audio/dvi4": { - readonly source: "iana"; - }; - readonly "audio/eac3": { - readonly source: "iana"; - }; - readonly "audio/encaprtp": { - readonly source: "iana"; - }; - readonly "audio/evrc": { - readonly source: "iana"; - }; - readonly "audio/evrc-qcp": { - readonly source: "iana"; - }; - readonly "audio/evrc0": { - readonly source: "iana"; - }; - readonly "audio/evrc1": { - readonly source: "iana"; - }; - readonly "audio/evrcb": { - readonly source: "iana"; - }; - readonly "audio/evrcb0": { - readonly source: "iana"; - }; - readonly "audio/evrcb1": { - readonly source: "iana"; - }; - readonly "audio/evrcnw": { - readonly source: "iana"; - }; - readonly "audio/evrcnw0": { - readonly source: "iana"; - }; - readonly "audio/evrcnw1": { - readonly source: "iana"; - }; - readonly "audio/evrcwb": { - readonly source: "iana"; - }; - readonly "audio/evrcwb0": { - readonly source: "iana"; - }; - readonly "audio/evrcwb1": { - readonly source: "iana"; - }; - readonly "audio/evs": { - readonly source: "iana"; - }; - readonly "audio/flac": { - readonly source: "iana"; - }; - readonly "audio/flexfec": { - readonly source: "iana"; - }; - readonly "audio/fwdred": { - readonly source: "iana"; - }; - readonly "audio/g711-0": { - readonly source: "iana"; - }; - readonly "audio/g719": { - readonly source: "iana"; - }; - readonly "audio/g722": { - readonly source: "iana"; - }; - readonly "audio/g7221": { - readonly source: "iana"; - }; - readonly "audio/g723": { - readonly source: "iana"; - }; - readonly "audio/g726-16": { - readonly source: "iana"; - }; - readonly "audio/g726-24": { - readonly source: "iana"; - }; - readonly "audio/g726-32": { - readonly source: "iana"; - }; - readonly "audio/g726-40": { - readonly source: "iana"; - }; - readonly "audio/g728": { - readonly source: "iana"; - }; - readonly "audio/g729": { - readonly source: "iana"; - }; - readonly "audio/g7291": { - readonly source: "iana"; - }; - readonly "audio/g729d": { - readonly source: "iana"; - }; - readonly "audio/g729e": { - readonly source: "iana"; - }; - readonly "audio/gsm": { - readonly source: "iana"; - }; - readonly "audio/gsm-efr": { - readonly source: "iana"; - }; - readonly "audio/gsm-hr-08": { - readonly source: "iana"; - }; - readonly "audio/ilbc": { - readonly source: "iana"; - }; - readonly "audio/ip-mr_v2.5": { - readonly source: "iana"; - }; - readonly "audio/isac": { - readonly source: "apache"; - }; - readonly "audio/l16": { - readonly source: "iana"; - }; - readonly "audio/l20": { - readonly source: "iana"; - }; - readonly "audio/l24": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "audio/l8": { - readonly source: "iana"; - }; - readonly "audio/lpc": { - readonly source: "iana"; - }; - readonly "audio/matroska": { - readonly source: "iana"; - }; - readonly "audio/melp": { - readonly source: "iana"; - }; - readonly "audio/melp1200": { - readonly source: "iana"; - }; - readonly "audio/melp2400": { - readonly source: "iana"; - }; - readonly "audio/melp600": { - readonly source: "iana"; - }; - readonly "audio/mhas": { - readonly source: "iana"; - }; - readonly "audio/midi": { - readonly source: "apache"; - readonly extensions: readonly ["mid", "midi", "kar", "rmi"]; - }; - readonly "audio/midi-clip": { - readonly source: "iana"; - }; - readonly "audio/mobile-xmf": { - readonly source: "iana"; - readonly extensions: readonly ["mxmf"]; - }; - readonly "audio/mp3": { - readonly compressible: false; - readonly extensions: readonly ["mp3"]; - }; - readonly "audio/mp4": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["m4a", "mp4a"]; - }; - readonly "audio/mp4a-latm": { - readonly source: "iana"; - }; - readonly "audio/mpa": { - readonly source: "iana"; - }; - readonly "audio/mpa-robust": { - readonly source: "iana"; - }; - readonly "audio/mpeg": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"]; - }; - readonly "audio/mpeg4-generic": { - readonly source: "iana"; - }; - readonly "audio/musepack": { - readonly source: "apache"; - }; - readonly "audio/ogg": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["oga", "ogg", "spx", "opus"]; - }; - readonly "audio/opus": { - readonly source: "iana"; - }; - readonly "audio/parityfec": { - readonly source: "iana"; - }; - readonly "audio/pcma": { - readonly source: "iana"; - }; - readonly "audio/pcma-wb": { - readonly source: "iana"; - }; - readonly "audio/pcmu": { - readonly source: "iana"; - }; - readonly "audio/pcmu-wb": { - readonly source: "iana"; - }; - readonly "audio/prs.sid": { - readonly source: "iana"; - }; - readonly "audio/qcelp": { - readonly source: "iana"; - }; - readonly "audio/raptorfec": { - readonly source: "iana"; - }; - readonly "audio/red": { - readonly source: "iana"; - }; - readonly "audio/rtp-enc-aescm128": { - readonly source: "iana"; - }; - readonly "audio/rtp-midi": { - readonly source: "iana"; - }; - readonly "audio/rtploopback": { - readonly source: "iana"; - }; - readonly "audio/rtx": { - readonly source: "iana"; - }; - readonly "audio/s3m": { - readonly source: "apache"; - readonly extensions: readonly ["s3m"]; - }; - readonly "audio/scip": { - readonly source: "iana"; - }; - readonly "audio/silk": { - readonly source: "apache"; - readonly extensions: readonly ["sil"]; - }; - readonly "audio/smv": { - readonly source: "iana"; - }; - readonly "audio/smv-qcp": { - readonly source: "iana"; - }; - readonly "audio/smv0": { - readonly source: "iana"; - }; - readonly "audio/sofa": { - readonly source: "iana"; - }; - readonly "audio/sp-midi": { - readonly source: "iana"; - }; - readonly "audio/speex": { - readonly source: "iana"; - }; - readonly "audio/t140c": { - readonly source: "iana"; - }; - readonly "audio/t38": { - readonly source: "iana"; - }; - readonly "audio/telephone-event": { - readonly source: "iana"; - }; - readonly "audio/tetra_acelp": { - readonly source: "iana"; - }; - readonly "audio/tetra_acelp_bb": { - readonly source: "iana"; - }; - readonly "audio/tone": { - readonly source: "iana"; - }; - readonly "audio/tsvcis": { - readonly source: "iana"; - }; - readonly "audio/uemclip": { - readonly source: "iana"; - }; - readonly "audio/ulpfec": { - readonly source: "iana"; - }; - readonly "audio/usac": { - readonly source: "iana"; - }; - readonly "audio/vdvi": { - readonly source: "iana"; - }; - readonly "audio/vmr-wb": { - readonly source: "iana"; - }; - readonly "audio/vnd.3gpp.iufp": { - readonly source: "iana"; - }; - readonly "audio/vnd.4sb": { - readonly source: "iana"; - }; - readonly "audio/vnd.audiokoz": { - readonly source: "iana"; - }; - readonly "audio/vnd.celp": { - readonly source: "iana"; - }; - readonly "audio/vnd.cisco.nse": { - readonly source: "iana"; - }; - readonly "audio/vnd.cmles.radio-events": { - readonly source: "iana"; - }; - readonly "audio/vnd.cns.anp1": { - readonly source: "iana"; - }; - readonly "audio/vnd.cns.inf1": { - readonly source: "iana"; - }; - readonly "audio/vnd.dece.audio": { - readonly source: "iana"; - readonly extensions: readonly ["uva", "uvva"]; - }; - readonly "audio/vnd.digital-winds": { - readonly source: "iana"; - readonly extensions: readonly ["eol"]; - }; - readonly "audio/vnd.dlna.adts": { - readonly source: "iana"; - }; - readonly "audio/vnd.dolby.heaac.1": { - readonly source: "iana"; - }; - readonly "audio/vnd.dolby.heaac.2": { - readonly source: "iana"; - }; - readonly "audio/vnd.dolby.mlp": { - readonly source: "iana"; - }; - readonly "audio/vnd.dolby.mps": { - readonly source: "iana"; - }; - readonly "audio/vnd.dolby.pl2": { - readonly source: "iana"; - }; - readonly "audio/vnd.dolby.pl2x": { - readonly source: "iana"; - }; - readonly "audio/vnd.dolby.pl2z": { - readonly source: "iana"; - }; - readonly "audio/vnd.dolby.pulse.1": { - readonly source: "iana"; - }; - readonly "audio/vnd.dra": { - readonly source: "iana"; - readonly extensions: readonly ["dra"]; - }; - readonly "audio/vnd.dts": { - readonly source: "iana"; - readonly extensions: readonly ["dts"]; - }; - readonly "audio/vnd.dts.hd": { - readonly source: "iana"; - readonly extensions: readonly ["dtshd"]; - }; - readonly "audio/vnd.dts.uhd": { - readonly source: "iana"; - }; - readonly "audio/vnd.dvb.file": { - readonly source: "iana"; - }; - readonly "audio/vnd.everad.plj": { - readonly source: "iana"; - }; - readonly "audio/vnd.hns.audio": { - readonly source: "iana"; - }; - readonly "audio/vnd.lucent.voice": { - readonly source: "iana"; - readonly extensions: readonly ["lvp"]; - }; - readonly "audio/vnd.ms-playready.media.pya": { - readonly source: "iana"; - readonly extensions: readonly ["pya"]; - }; - readonly "audio/vnd.nokia.mobile-xmf": { - readonly source: "iana"; - }; - readonly "audio/vnd.nortel.vbk": { - readonly source: "iana"; - }; - readonly "audio/vnd.nuera.ecelp4800": { - readonly source: "iana"; - readonly extensions: readonly ["ecelp4800"]; - }; - readonly "audio/vnd.nuera.ecelp7470": { - readonly source: "iana"; - readonly extensions: readonly ["ecelp7470"]; - }; - readonly "audio/vnd.nuera.ecelp9600": { - readonly source: "iana"; - readonly extensions: readonly ["ecelp9600"]; - }; - readonly "audio/vnd.octel.sbc": { - readonly source: "iana"; - }; - readonly "audio/vnd.presonus.multitrack": { - readonly source: "iana"; - }; - readonly "audio/vnd.qcelp": { - readonly source: "apache"; - }; - readonly "audio/vnd.rhetorex.32kadpcm": { - readonly source: "iana"; - }; - readonly "audio/vnd.rip": { - readonly source: "iana"; - readonly extensions: readonly ["rip"]; - }; - readonly "audio/vnd.rn-realaudio": { - readonly compressible: false; - }; - readonly "audio/vnd.sealedmedia.softseal.mpeg": { - readonly source: "iana"; - }; - readonly "audio/vnd.vmx.cvsd": { - readonly source: "iana"; - }; - readonly "audio/vnd.wave": { - readonly compressible: false; - }; - readonly "audio/vorbis": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "audio/vorbis-config": { - readonly source: "iana"; - }; - readonly "audio/wav": { - readonly compressible: false; - readonly extensions: readonly ["wav"]; - }; - readonly "audio/wave": { - readonly compressible: false; - readonly extensions: readonly ["wav"]; - }; - readonly "audio/webm": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["weba"]; - }; - readonly "audio/x-aac": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["aac"]; - }; - readonly "audio/x-aiff": { - readonly source: "apache"; - readonly extensions: readonly ["aif", "aiff", "aifc"]; - }; - readonly "audio/x-caf": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["caf"]; - }; - readonly "audio/x-flac": { - readonly source: "apache"; - readonly extensions: readonly ["flac"]; - }; - readonly "audio/x-m4a": { - readonly source: "nginx"; - readonly extensions: readonly ["m4a"]; - }; - readonly "audio/x-matroska": { - readonly source: "apache"; - readonly extensions: readonly ["mka"]; - }; - readonly "audio/x-mpegurl": { - readonly source: "apache"; - readonly extensions: readonly ["m3u"]; - }; - readonly "audio/x-ms-wax": { - readonly source: "apache"; - readonly extensions: readonly ["wax"]; - }; - readonly "audio/x-ms-wma": { - readonly source: "apache"; - readonly extensions: readonly ["wma"]; - }; - readonly "audio/x-pn-realaudio": { - readonly source: "apache"; - readonly extensions: readonly ["ram", "ra"]; - }; - readonly "audio/x-pn-realaudio-plugin": { - readonly source: "apache"; - readonly extensions: readonly ["rmp"]; - }; - readonly "audio/x-realaudio": { - readonly source: "nginx"; - readonly extensions: readonly ["ra"]; - }; - readonly "audio/x-tta": { - readonly source: "apache"; - }; - readonly "audio/x-wav": { - readonly source: "apache"; - readonly extensions: readonly ["wav"]; - }; - readonly "audio/xm": { - readonly source: "apache"; - readonly extensions: readonly ["xm"]; - }; - readonly "chemical/x-cdx": { - readonly source: "apache"; - readonly extensions: readonly ["cdx"]; - }; - readonly "chemical/x-cif": { - readonly source: "apache"; - readonly extensions: readonly ["cif"]; - }; - readonly "chemical/x-cmdf": { - readonly source: "apache"; - readonly extensions: readonly ["cmdf"]; - }; - readonly "chemical/x-cml": { - readonly source: "apache"; - readonly extensions: readonly ["cml"]; - }; - readonly "chemical/x-csml": { - readonly source: "apache"; - readonly extensions: readonly ["csml"]; - }; - readonly "chemical/x-pdb": { - readonly source: "apache"; - }; - readonly "chemical/x-xyz": { - readonly source: "apache"; - readonly extensions: readonly ["xyz"]; - }; - readonly "font/collection": { - readonly source: "iana"; - readonly extensions: readonly ["ttc"]; - }; - readonly "font/otf": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["otf"]; - }; - readonly "font/sfnt": { - readonly source: "iana"; - }; - readonly "font/ttf": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["ttf"]; - }; - readonly "font/woff": { - readonly source: "iana"; - readonly extensions: readonly ["woff"]; - }; - readonly "font/woff2": { - readonly source: "iana"; - readonly extensions: readonly ["woff2"]; - }; - readonly "image/aces": { - readonly source: "iana"; - readonly extensions: readonly ["exr"]; - }; - readonly "image/apng": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["apng"]; - }; - readonly "image/avci": { - readonly source: "iana"; - readonly extensions: readonly ["avci"]; - }; - readonly "image/avcs": { - readonly source: "iana"; - readonly extensions: readonly ["avcs"]; - }; - readonly "image/avif": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["avif"]; - }; - readonly "image/bmp": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["bmp", "dib"]; - }; - readonly "image/cgm": { - readonly source: "iana"; - readonly extensions: readonly ["cgm"]; - }; - readonly "image/dicom-rle": { - readonly source: "iana"; - readonly extensions: readonly ["drle"]; - }; - readonly "image/dpx": { - readonly source: "iana"; - readonly extensions: readonly ["dpx"]; - }; - readonly "image/emf": { - readonly source: "iana"; - readonly extensions: readonly ["emf"]; - }; - readonly "image/fits": { - readonly source: "iana"; - readonly extensions: readonly ["fits"]; - }; - readonly "image/g3fax": { - readonly source: "iana"; - readonly extensions: readonly ["g3"]; - }; - readonly "image/gif": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["gif"]; - }; - readonly "image/heic": { - readonly source: "iana"; - readonly extensions: readonly ["heic"]; - }; - readonly "image/heic-sequence": { - readonly source: "iana"; - readonly extensions: readonly ["heics"]; - }; - readonly "image/heif": { - readonly source: "iana"; - readonly extensions: readonly ["heif"]; - }; - readonly "image/heif-sequence": { - readonly source: "iana"; - readonly extensions: readonly ["heifs"]; - }; - readonly "image/hej2k": { - readonly source: "iana"; - readonly extensions: readonly ["hej2"]; - }; - readonly "image/hsj2": { - readonly source: "iana"; - readonly extensions: readonly ["hsj2"]; - }; - readonly "image/ief": { - readonly source: "iana"; - readonly extensions: readonly ["ief"]; - }; - readonly "image/j2c": { - readonly source: "iana"; - }; - readonly "image/jls": { - readonly source: "iana"; - readonly extensions: readonly ["jls"]; - }; - readonly "image/jp2": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["jp2", "jpg2"]; - }; - readonly "image/jpeg": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["jpeg", "jpg", "jpe"]; - }; - readonly "image/jph": { - readonly source: "iana"; - readonly extensions: readonly ["jph"]; - }; - readonly "image/jphc": { - readonly source: "iana"; - readonly extensions: readonly ["jhc"]; - }; - readonly "image/jpm": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["jpm", "jpgm"]; - }; - readonly "image/jpx": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["jpx", "jpf"]; - }; - readonly "image/jxl": { - readonly source: "iana"; - readonly extensions: readonly ["jxl"]; - }; - readonly "image/jxr": { - readonly source: "iana"; - readonly extensions: readonly ["jxr"]; - }; - readonly "image/jxra": { - readonly source: "iana"; - readonly extensions: readonly ["jxra"]; - }; - readonly "image/jxrs": { - readonly source: "iana"; - readonly extensions: readonly ["jxrs"]; - }; - readonly "image/jxs": { - readonly source: "iana"; - readonly extensions: readonly ["jxs"]; - }; - readonly "image/jxsc": { - readonly source: "iana"; - readonly extensions: readonly ["jxsc"]; - }; - readonly "image/jxsi": { - readonly source: "iana"; - readonly extensions: readonly ["jxsi"]; - }; - readonly "image/jxss": { - readonly source: "iana"; - readonly extensions: readonly ["jxss"]; - }; - readonly "image/ktx": { - readonly source: "iana"; - readonly extensions: readonly ["ktx"]; - }; - readonly "image/ktx2": { - readonly source: "iana"; - readonly extensions: readonly ["ktx2"]; - }; - readonly "image/naplps": { - readonly source: "iana"; - }; - readonly "image/pjpeg": { - readonly compressible: false; - }; - readonly "image/png": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["png"]; - }; - readonly "image/prs.btif": { - readonly source: "iana"; - readonly extensions: readonly ["btif", "btf"]; - }; - readonly "image/prs.pti": { - readonly source: "iana"; - readonly extensions: readonly ["pti"]; - }; - readonly "image/pwg-raster": { - readonly source: "iana"; - }; - readonly "image/sgi": { - readonly source: "apache"; - readonly extensions: readonly ["sgi"]; - }; - readonly "image/svg+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["svg", "svgz"]; - }; - readonly "image/t38": { - readonly source: "iana"; - readonly extensions: readonly ["t38"]; - }; - readonly "image/tiff": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["tif", "tiff"]; - }; - readonly "image/tiff-fx": { - readonly source: "iana"; - readonly extensions: readonly ["tfx"]; - }; - readonly "image/vnd.adobe.photoshop": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["psd"]; - }; - readonly "image/vnd.airzip.accelerator.azv": { - readonly source: "iana"; - readonly extensions: readonly ["azv"]; - }; - readonly "image/vnd.cns.inf2": { - readonly source: "iana"; - }; - readonly "image/vnd.dece.graphic": { - readonly source: "iana"; - readonly extensions: readonly ["uvi", "uvvi", "uvg", "uvvg"]; - }; - readonly "image/vnd.djvu": { - readonly source: "iana"; - readonly extensions: readonly ["djvu", "djv"]; - }; - readonly "image/vnd.dvb.subtitle": { - readonly source: "iana"; - readonly extensions: readonly ["sub"]; - }; - readonly "image/vnd.dwg": { - readonly source: "iana"; - readonly extensions: readonly ["dwg"]; - }; - readonly "image/vnd.dxf": { - readonly source: "iana"; - readonly extensions: readonly ["dxf"]; - }; - readonly "image/vnd.fastbidsheet": { - readonly source: "iana"; - readonly extensions: readonly ["fbs"]; - }; - readonly "image/vnd.fpx": { - readonly source: "iana"; - readonly extensions: readonly ["fpx"]; - }; - readonly "image/vnd.fst": { - readonly source: "iana"; - readonly extensions: readonly ["fst"]; - }; - readonly "image/vnd.fujixerox.edmics-mmr": { - readonly source: "iana"; - readonly extensions: readonly ["mmr"]; - }; - readonly "image/vnd.fujixerox.edmics-rlc": { - readonly source: "iana"; - readonly extensions: readonly ["rlc"]; - }; - readonly "image/vnd.globalgraphics.pgb": { - readonly source: "iana"; - }; - readonly "image/vnd.microsoft.icon": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["ico"]; - }; - readonly "image/vnd.mix": { - readonly source: "iana"; - }; - readonly "image/vnd.mozilla.apng": { - readonly source: "iana"; - }; - readonly "image/vnd.ms-dds": { - readonly compressible: true; - readonly extensions: readonly ["dds"]; - }; - readonly "image/vnd.ms-modi": { - readonly source: "iana"; - readonly extensions: readonly ["mdi"]; - }; - readonly "image/vnd.ms-photo": { - readonly source: "apache"; - readonly extensions: readonly ["wdp"]; - }; - readonly "image/vnd.net-fpx": { - readonly source: "iana"; - readonly extensions: readonly ["npx"]; - }; - readonly "image/vnd.pco.b16": { - readonly source: "iana"; - readonly extensions: readonly ["b16"]; - }; - readonly "image/vnd.radiance": { - readonly source: "iana"; - }; - readonly "image/vnd.sealed.png": { - readonly source: "iana"; - }; - readonly "image/vnd.sealedmedia.softseal.gif": { - readonly source: "iana"; - }; - readonly "image/vnd.sealedmedia.softseal.jpg": { - readonly source: "iana"; - }; - readonly "image/vnd.svf": { - readonly source: "iana"; - }; - readonly "image/vnd.tencent.tap": { - readonly source: "iana"; - readonly extensions: readonly ["tap"]; - }; - readonly "image/vnd.valve.source.texture": { - readonly source: "iana"; - readonly extensions: readonly ["vtf"]; - }; - readonly "image/vnd.wap.wbmp": { - readonly source: "iana"; - readonly extensions: readonly ["wbmp"]; - }; - readonly "image/vnd.xiff": { - readonly source: "iana"; - readonly extensions: readonly ["xif"]; - }; - readonly "image/vnd.zbrush.pcx": { - readonly source: "iana"; - readonly extensions: readonly ["pcx"]; - }; - readonly "image/webp": { - readonly source: "iana"; - readonly extensions: readonly ["webp"]; - }; - readonly "image/wmf": { - readonly source: "iana"; - readonly extensions: readonly ["wmf"]; - }; - readonly "image/x-3ds": { - readonly source: "apache"; - readonly extensions: readonly ["3ds"]; - }; - readonly "image/x-cmu-raster": { - readonly source: "apache"; - readonly extensions: readonly ["ras"]; - }; - readonly "image/x-cmx": { - readonly source: "apache"; - readonly extensions: readonly ["cmx"]; - }; - readonly "image/x-freehand": { - readonly source: "apache"; - readonly extensions: readonly ["fh", "fhc", "fh4", "fh5", "fh7"]; - }; - readonly "image/x-icon": { - readonly source: "apache"; - readonly compressible: true; - readonly extensions: readonly ["ico"]; - }; - readonly "image/x-jng": { - readonly source: "nginx"; - readonly extensions: readonly ["jng"]; - }; - readonly "image/x-mrsid-image": { - readonly source: "apache"; - readonly extensions: readonly ["sid"]; - }; - readonly "image/x-ms-bmp": { - readonly source: "nginx"; - readonly compressible: true; - readonly extensions: readonly ["bmp"]; - }; - readonly "image/x-pcx": { - readonly source: "apache"; - readonly extensions: readonly ["pcx"]; - }; - readonly "image/x-pict": { - readonly source: "apache"; - readonly extensions: readonly ["pic", "pct"]; - }; - readonly "image/x-portable-anymap": { - readonly source: "apache"; - readonly extensions: readonly ["pnm"]; - }; - readonly "image/x-portable-bitmap": { - readonly source: "apache"; - readonly extensions: readonly ["pbm"]; - }; - readonly "image/x-portable-graymap": { - readonly source: "apache"; - readonly extensions: readonly ["pgm"]; - }; - readonly "image/x-portable-pixmap": { - readonly source: "apache"; - readonly extensions: readonly ["ppm"]; - }; - readonly "image/x-rgb": { - readonly source: "apache"; - readonly extensions: readonly ["rgb"]; - }; - readonly "image/x-tga": { - readonly source: "apache"; - readonly extensions: readonly ["tga"]; - }; - readonly "image/x-xbitmap": { - readonly source: "apache"; - readonly extensions: readonly ["xbm"]; - }; - readonly "image/x-xcf": { - readonly compressible: false; - }; - readonly "image/x-xpixmap": { - readonly source: "apache"; - readonly extensions: readonly ["xpm"]; - }; - readonly "image/x-xwindowdump": { - readonly source: "apache"; - readonly extensions: readonly ["xwd"]; - }; - readonly "message/bhttp": { - readonly source: "iana"; - }; - readonly "message/cpim": { - readonly source: "iana"; - }; - readonly "message/delivery-status": { - readonly source: "iana"; - }; - readonly "message/disposition-notification": { - readonly source: "iana"; - readonly extensions: readonly ["disposition-notification"]; - }; - readonly "message/external-body": { - readonly source: "iana"; - }; - readonly "message/feedback-report": { - readonly source: "iana"; - }; - readonly "message/global": { - readonly source: "iana"; - readonly extensions: readonly ["u8msg"]; - }; - readonly "message/global-delivery-status": { - readonly source: "iana"; - readonly extensions: readonly ["u8dsn"]; - }; - readonly "message/global-disposition-notification": { - readonly source: "iana"; - readonly extensions: readonly ["u8mdn"]; - }; - readonly "message/global-headers": { - readonly source: "iana"; - readonly extensions: readonly ["u8hdr"]; - }; - readonly "message/http": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "message/imdn+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "message/mls": { - readonly source: "iana"; - }; - readonly "message/news": { - readonly source: "apache"; - }; - readonly "message/ohttp-req": { - readonly source: "iana"; - }; - readonly "message/ohttp-res": { - readonly source: "iana"; - }; - readonly "message/partial": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "message/rfc822": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["eml", "mime"]; - }; - readonly "message/s-http": { - readonly source: "apache"; - }; - readonly "message/sip": { - readonly source: "iana"; - }; - readonly "message/sipfrag": { - readonly source: "iana"; - }; - readonly "message/tracking-status": { - readonly source: "iana"; - }; - readonly "message/vnd.si.simp": { - readonly source: "apache"; - }; - readonly "message/vnd.wfa.wsc": { - readonly source: "iana"; - readonly extensions: readonly ["wsc"]; - }; - readonly "model/3mf": { - readonly source: "iana"; - readonly extensions: readonly ["3mf"]; - }; - readonly "model/e57": { - readonly source: "iana"; - }; - readonly "model/gltf+json": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["gltf"]; - }; - readonly "model/gltf-binary": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["glb"]; - }; - readonly "model/iges": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["igs", "iges"]; - }; - readonly "model/jt": { - readonly source: "iana"; - readonly extensions: readonly ["jt"]; - }; - readonly "model/mesh": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["msh", "mesh", "silo"]; - }; - readonly "model/mtl": { - readonly source: "iana"; - readonly extensions: readonly ["mtl"]; - }; - readonly "model/obj": { - readonly source: "iana"; - readonly extensions: readonly ["obj"]; - }; - readonly "model/prc": { - readonly source: "iana"; - readonly extensions: readonly ["prc"]; - }; - readonly "model/step": { - readonly source: "iana"; - }; - readonly "model/step+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["stpx"]; - }; - readonly "model/step+zip": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["stpz"]; - }; - readonly "model/step-xml+zip": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["stpxz"]; - }; - readonly "model/stl": { - readonly source: "iana"; - readonly extensions: readonly ["stl"]; - }; - readonly "model/u3d": { - readonly source: "iana"; - readonly extensions: readonly ["u3d"]; - }; - readonly "model/vnd.bary": { - readonly source: "iana"; - readonly extensions: readonly ["bary"]; - }; - readonly "model/vnd.cld": { - readonly source: "iana"; - readonly extensions: readonly ["cld"]; - }; - readonly "model/vnd.collada+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["dae"]; - }; - readonly "model/vnd.dwf": { - readonly source: "iana"; - readonly extensions: readonly ["dwf"]; - }; - readonly "model/vnd.flatland.3dml": { - readonly source: "iana"; - }; - readonly "model/vnd.gdl": { - readonly source: "iana"; - readonly extensions: readonly ["gdl"]; - }; - readonly "model/vnd.gs-gdl": { - readonly source: "apache"; - }; - readonly "model/vnd.gs.gdl": { - readonly source: "iana"; - }; - readonly "model/vnd.gtw": { - readonly source: "iana"; - readonly extensions: readonly ["gtw"]; - }; - readonly "model/vnd.moml+xml": { - readonly source: "iana"; - readonly compressible: true; - }; - readonly "model/vnd.mts": { - readonly source: "iana"; - readonly extensions: readonly ["mts"]; - }; - readonly "model/vnd.opengex": { - readonly source: "iana"; - readonly extensions: readonly ["ogex"]; - }; - readonly "model/vnd.parasolid.transmit.binary": { - readonly source: "iana"; - readonly extensions: readonly ["x_b"]; - }; - readonly "model/vnd.parasolid.transmit.text": { - readonly source: "iana"; - readonly extensions: readonly ["x_t"]; - }; - readonly "model/vnd.pytha.pyox": { - readonly source: "iana"; - readonly extensions: readonly ["pyo", "pyox"]; - }; - readonly "model/vnd.rosette.annotated-data-model": { - readonly source: "iana"; - }; - readonly "model/vnd.sap.vds": { - readonly source: "iana"; - readonly extensions: readonly ["vds"]; - }; - readonly "model/vnd.usda": { - readonly source: "iana"; - readonly extensions: readonly ["usda"]; - }; - readonly "model/vnd.usdz+zip": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["usdz"]; - }; - readonly "model/vnd.valve.source.compiled-map": { - readonly source: "iana"; - readonly extensions: readonly ["bsp"]; - }; - readonly "model/vnd.vtu": { - readonly source: "iana"; - readonly extensions: readonly ["vtu"]; - }; - readonly "model/vrml": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["wrl", "vrml"]; - }; - readonly "model/x3d+binary": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["x3db", "x3dbz"]; - }; - readonly "model/x3d+fastinfoset": { - readonly source: "iana"; - readonly extensions: readonly ["x3db"]; - }; - readonly "model/x3d+vrml": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["x3dv", "x3dvz"]; - }; - readonly "model/x3d+xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["x3d", "x3dz"]; - }; - readonly "model/x3d-vrml": { - readonly source: "iana"; - readonly extensions: readonly ["x3dv"]; - }; - readonly "multipart/alternative": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "multipart/appledouble": { - readonly source: "iana"; - }; - readonly "multipart/byteranges": { - readonly source: "iana"; - }; - readonly "multipart/digest": { - readonly source: "iana"; - }; - readonly "multipart/encrypted": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "multipart/form-data": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "multipart/header-set": { - readonly source: "iana"; - }; - readonly "multipart/mixed": { - readonly source: "iana"; - }; - readonly "multipart/multilingual": { - readonly source: "iana"; - }; - readonly "multipart/parallel": { - readonly source: "iana"; - }; - readonly "multipart/related": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "multipart/report": { - readonly source: "iana"; - }; - readonly "multipart/signed": { - readonly source: "iana"; - readonly compressible: false; - }; - readonly "multipart/vnd.bint.med-plus": { - readonly source: "iana"; - }; - readonly "multipart/voice-message": { - readonly source: "iana"; - }; - readonly "multipart/x-mixed-replace": { - readonly source: "iana"; - }; - readonly "text/1d-interleaved-parityfec": { - readonly source: "iana"; - }; - readonly "text/cache-manifest": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["appcache", "manifest"]; - }; - readonly "text/calendar": { - readonly source: "iana"; - readonly extensions: readonly ["ics", "ifb"]; - }; - readonly "text/calender": { - readonly compressible: true; - }; - readonly "text/cmd": { - readonly compressible: true; - }; - readonly "text/coffeescript": { - readonly extensions: readonly ["coffee", "litcoffee"]; - }; - readonly "text/cql": { - readonly source: "iana"; - }; - readonly "text/cql-expression": { - readonly source: "iana"; - }; - readonly "text/cql-identifier": { - readonly source: "iana"; - }; - readonly "text/css": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - readonly extensions: readonly ["css"]; - }; - readonly "text/csv": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["csv"]; - }; - readonly "text/csv-schema": { - readonly source: "iana"; - }; - readonly "text/directory": { - readonly source: "iana"; - }; - readonly "text/dns": { - readonly source: "iana"; - }; - readonly "text/ecmascript": { - readonly source: "apache"; - }; - readonly "text/encaprtp": { - readonly source: "iana"; - }; - readonly "text/enriched": { - readonly source: "iana"; - }; - readonly "text/fhirpath": { - readonly source: "iana"; - }; - readonly "text/flexfec": { - readonly source: "iana"; - }; - readonly "text/fwdred": { - readonly source: "iana"; - }; - readonly "text/gff3": { - readonly source: "iana"; - }; - readonly "text/grammar-ref-list": { - readonly source: "iana"; - }; - readonly "text/hl7v2": { - readonly source: "iana"; - }; - readonly "text/html": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["html", "htm", "shtml"]; - }; - readonly "text/jade": { - readonly extensions: readonly ["jade"]; - }; - readonly "text/javascript": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - readonly extensions: readonly ["js", "mjs"]; - }; - readonly "text/jcr-cnd": { - readonly source: "iana"; - }; - readonly "text/jsx": { - readonly compressible: true; - readonly extensions: readonly ["jsx"]; - }; - readonly "text/less": { - readonly compressible: true; - readonly extensions: readonly ["less"]; - }; - readonly "text/markdown": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["md", "markdown"]; - }; - readonly "text/mathml": { - readonly source: "nginx"; - readonly extensions: readonly ["mml"]; - }; - readonly "text/mdx": { - readonly compressible: true; - readonly extensions: readonly ["mdx"]; - }; - readonly "text/mizar": { - readonly source: "iana"; - }; - readonly "text/n3": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - readonly extensions: readonly ["n3"]; - }; - readonly "text/parameters": { - readonly source: "iana"; - readonly charset: "UTF-8"; - }; - readonly "text/parityfec": { - readonly source: "iana"; - }; - readonly "text/plain": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["txt", "text", "conf", "def", "list", "log", "in", "ini"]; - }; - readonly "text/provenance-notation": { - readonly source: "iana"; - readonly charset: "UTF-8"; - }; - readonly "text/prs.fallenstein.rst": { - readonly source: "iana"; - }; - readonly "text/prs.lines.tag": { - readonly source: "iana"; - readonly extensions: readonly ["dsc"]; - }; - readonly "text/prs.prop.logic": { - readonly source: "iana"; - }; - readonly "text/prs.texi": { - readonly source: "iana"; - }; - readonly "text/raptorfec": { - readonly source: "iana"; - }; - readonly "text/red": { - readonly source: "iana"; - }; - readonly "text/rfc822-headers": { - readonly source: "iana"; - }; - readonly "text/richtext": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["rtx"]; - }; - readonly "text/rtf": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["rtf"]; - }; - readonly "text/rtp-enc-aescm128": { - readonly source: "iana"; - }; - readonly "text/rtploopback": { - readonly source: "iana"; - }; - readonly "text/rtx": { - readonly source: "iana"; - }; - readonly "text/sgml": { - readonly source: "iana"; - readonly extensions: readonly ["sgml", "sgm"]; - }; - readonly "text/shaclc": { - readonly source: "iana"; - }; - readonly "text/shex": { - readonly source: "iana"; - readonly extensions: readonly ["shex"]; - }; - readonly "text/slim": { - readonly extensions: readonly ["slim", "slm"]; - }; - readonly "text/spdx": { - readonly source: "iana"; - readonly extensions: readonly ["spdx"]; - }; - readonly "text/strings": { - readonly source: "iana"; - }; - readonly "text/stylus": { - readonly extensions: readonly ["stylus", "styl"]; - }; - readonly "text/t140": { - readonly source: "iana"; - }; - readonly "text/tab-separated-values": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["tsv"]; - }; - readonly "text/troff": { - readonly source: "iana"; - readonly extensions: readonly ["t", "tr", "roff", "man", "me", "ms"]; - }; - readonly "text/turtle": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly extensions: readonly ["ttl"]; - }; - readonly "text/ulpfec": { - readonly source: "iana"; - }; - readonly "text/uri-list": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["uri", "uris", "urls"]; - }; - readonly "text/vcard": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["vcard"]; - }; - readonly "text/vnd.a": { - readonly source: "iana"; - }; - readonly "text/vnd.abc": { - readonly source: "iana"; - }; - readonly "text/vnd.ascii-art": { - readonly source: "iana"; - }; - readonly "text/vnd.curl": { - readonly source: "iana"; - readonly extensions: readonly ["curl"]; - }; - readonly "text/vnd.curl.dcurl": { - readonly source: "apache"; - readonly extensions: readonly ["dcurl"]; - }; - readonly "text/vnd.curl.mcurl": { - readonly source: "apache"; - readonly extensions: readonly ["mcurl"]; - }; - readonly "text/vnd.curl.scurl": { - readonly source: "apache"; - readonly extensions: readonly ["scurl"]; - }; - readonly "text/vnd.debian.copyright": { - readonly source: "iana"; - readonly charset: "UTF-8"; - }; - readonly "text/vnd.dmclientscript": { - readonly source: "iana"; - }; - readonly "text/vnd.dvb.subtitle": { - readonly source: "iana"; - readonly extensions: readonly ["sub"]; - }; - readonly "text/vnd.esmertec.theme-descriptor": { - readonly source: "iana"; - readonly charset: "UTF-8"; - }; - readonly "text/vnd.exchangeable": { - readonly source: "iana"; - }; - readonly "text/vnd.familysearch.gedcom": { - readonly source: "iana"; - readonly extensions: readonly ["ged"]; - }; - readonly "text/vnd.ficlab.flt": { - readonly source: "iana"; - }; - readonly "text/vnd.fly": { - readonly source: "iana"; - readonly extensions: readonly ["fly"]; - }; - readonly "text/vnd.fmi.flexstor": { - readonly source: "iana"; - readonly extensions: readonly ["flx"]; - }; - readonly "text/vnd.gml": { - readonly source: "iana"; - }; - readonly "text/vnd.graphviz": { - readonly source: "iana"; - readonly extensions: readonly ["gv"]; - }; - readonly "text/vnd.hans": { - readonly source: "iana"; - }; - readonly "text/vnd.hgl": { - readonly source: "iana"; - }; - readonly "text/vnd.in3d.3dml": { - readonly source: "iana"; - readonly extensions: readonly ["3dml"]; - }; - readonly "text/vnd.in3d.spot": { - readonly source: "iana"; - readonly extensions: readonly ["spot"]; - }; - readonly "text/vnd.iptc.newsml": { - readonly source: "iana"; - }; - readonly "text/vnd.iptc.nitf": { - readonly source: "iana"; - }; - readonly "text/vnd.latex-z": { - readonly source: "iana"; - }; - readonly "text/vnd.motorola.reflex": { - readonly source: "iana"; - }; - readonly "text/vnd.ms-mediapackage": { - readonly source: "iana"; - }; - readonly "text/vnd.net2phone.commcenter.command": { - readonly source: "iana"; - }; - readonly "text/vnd.radisys.msml-basic-layout": { - readonly source: "iana"; - }; - readonly "text/vnd.senx.warpscript": { - readonly source: "iana"; - }; - readonly "text/vnd.si.uricatalogue": { - readonly source: "apache"; - }; - readonly "text/vnd.sosi": { - readonly source: "iana"; - }; - readonly "text/vnd.sun.j2me.app-descriptor": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly extensions: readonly ["jad"]; - }; - readonly "text/vnd.trolltech.linguist": { - readonly source: "iana"; - readonly charset: "UTF-8"; - }; - readonly "text/vnd.vcf": { - readonly source: "iana"; - }; - readonly "text/vnd.wap.si": { - readonly source: "iana"; - }; - readonly "text/vnd.wap.sl": { - readonly source: "iana"; - }; - readonly "text/vnd.wap.wml": { - readonly source: "iana"; - readonly extensions: readonly ["wml"]; - }; - readonly "text/vnd.wap.wmlscript": { - readonly source: "iana"; - readonly extensions: readonly ["wmls"]; - }; - readonly "text/vnd.zoo.kcl": { - readonly source: "iana"; - }; - readonly "text/vtt": { - readonly source: "iana"; - readonly charset: "UTF-8"; - readonly compressible: true; - readonly extensions: readonly ["vtt"]; - }; - readonly "text/wgsl": { - readonly source: "iana"; - readonly extensions: readonly ["wgsl"]; - }; - readonly "text/x-asm": { - readonly source: "apache"; - readonly extensions: readonly ["s", "asm"]; - }; - readonly "text/x-c": { - readonly source: "apache"; - readonly extensions: readonly ["c", "cc", "cxx", "cpp", "h", "hh", "dic"]; - }; - readonly "text/x-component": { - readonly source: "nginx"; - readonly extensions: readonly ["htc"]; - }; - readonly "text/x-fortran": { - readonly source: "apache"; - readonly extensions: readonly ["f", "for", "f77", "f90"]; - }; - readonly "text/x-gwt-rpc": { - readonly compressible: true; - }; - readonly "text/x-handlebars-template": { - readonly extensions: readonly ["hbs"]; - }; - readonly "text/x-java-source": { - readonly source: "apache"; - readonly extensions: readonly ["java"]; - }; - readonly "text/x-jquery-tmpl": { - readonly compressible: true; - }; - readonly "text/x-lua": { - readonly extensions: readonly ["lua"]; - }; - readonly "text/x-markdown": { - readonly compressible: true; - readonly extensions: readonly ["mkd"]; - }; - readonly "text/x-nfo": { - readonly source: "apache"; - readonly extensions: readonly ["nfo"]; - }; - readonly "text/x-opml": { - readonly source: "apache"; - readonly extensions: readonly ["opml"]; - }; - readonly "text/x-org": { - readonly compressible: true; - readonly extensions: readonly ["org"]; - }; - readonly "text/x-pascal": { - readonly source: "apache"; - readonly extensions: readonly ["p", "pas"]; - }; - readonly "text/x-processing": { - readonly compressible: true; - readonly extensions: readonly ["pde"]; - }; - readonly "text/x-sass": { - readonly extensions: readonly ["sass"]; - }; - readonly "text/x-scss": { - readonly extensions: readonly ["scss"]; - }; - readonly "text/x-setext": { - readonly source: "apache"; - readonly extensions: readonly ["etx"]; - }; - readonly "text/x-sfv": { - readonly source: "apache"; - readonly extensions: readonly ["sfv"]; - }; - readonly "text/x-suse-ymp": { - readonly compressible: true; - readonly extensions: readonly ["ymp"]; - }; - readonly "text/x-uuencode": { - readonly source: "apache"; - readonly extensions: readonly ["uu"]; - }; - readonly "text/x-vcalendar": { - readonly source: "apache"; - readonly extensions: readonly ["vcs"]; - }; - readonly "text/x-vcard": { - readonly source: "apache"; - readonly extensions: readonly ["vcf"]; - }; - readonly "text/xml": { - readonly source: "iana"; - readonly compressible: true; - readonly extensions: readonly ["xml"]; - }; - readonly "text/xml-external-parsed-entity": { - readonly source: "iana"; - }; - readonly "text/yaml": { - readonly compressible: true; - readonly extensions: readonly ["yaml", "yml"]; - }; - readonly "video/1d-interleaved-parityfec": { - readonly source: "iana"; - }; - readonly "video/3gpp": { - readonly source: "iana"; - readonly extensions: readonly ["3gp", "3gpp"]; - }; - readonly "video/3gpp-tt": { - readonly source: "iana"; - }; - readonly "video/3gpp2": { - readonly source: "iana"; - readonly extensions: readonly ["3g2"]; - }; - readonly "video/av1": { - readonly source: "iana"; - }; - readonly "video/bmpeg": { - readonly source: "iana"; - }; - readonly "video/bt656": { - readonly source: "iana"; - }; - readonly "video/celb": { - readonly source: "iana"; - }; - readonly "video/dv": { - readonly source: "iana"; - }; - readonly "video/encaprtp": { - readonly source: "iana"; - }; - readonly "video/evc": { - readonly source: "iana"; - }; - readonly "video/ffv1": { - readonly source: "iana"; - }; - readonly "video/flexfec": { - readonly source: "iana"; - }; - readonly "video/h261": { - readonly source: "iana"; - readonly extensions: readonly ["h261"]; - }; - readonly "video/h263": { - readonly source: "iana"; - readonly extensions: readonly ["h263"]; - }; - readonly "video/h263-1998": { - readonly source: "iana"; - }; - readonly "video/h263-2000": { - readonly source: "iana"; - }; - readonly "video/h264": { - readonly source: "iana"; - readonly extensions: readonly ["h264"]; - }; - readonly "video/h264-rcdo": { - readonly source: "iana"; - }; - readonly "video/h264-svc": { - readonly source: "iana"; - }; - readonly "video/h265": { - readonly source: "iana"; - }; - readonly "video/h266": { - readonly source: "iana"; - }; - readonly "video/iso.segment": { - readonly source: "iana"; - readonly extensions: readonly ["m4s"]; - }; - readonly "video/jpeg": { - readonly source: "iana"; - readonly extensions: readonly ["jpgv"]; - }; - readonly "video/jpeg2000": { - readonly source: "iana"; - }; - readonly "video/jpm": { - readonly source: "apache"; - readonly extensions: readonly ["jpm", "jpgm"]; - }; - readonly "video/jxsv": { - readonly source: "iana"; - }; - readonly "video/matroska": { - readonly source: "iana"; - }; - readonly "video/matroska-3d": { - readonly source: "iana"; - }; - readonly "video/mj2": { - readonly source: "iana"; - readonly extensions: readonly ["mj2", "mjp2"]; - }; - readonly "video/mp1s": { - readonly source: "iana"; - }; - readonly "video/mp2p": { - readonly source: "iana"; - }; - readonly "video/mp2t": { - readonly source: "iana"; - readonly extensions: readonly ["ts", "m2t", "m2ts", "mts"]; - }; - readonly "video/mp4": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["mp4", "mp4v", "mpg4"]; - }; - readonly "video/mp4v-es": { - readonly source: "iana"; - }; - readonly "video/mpeg": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["mpeg", "mpg", "mpe", "m1v", "m2v"]; - }; - readonly "video/mpeg4-generic": { - readonly source: "iana"; - }; - readonly "video/mpv": { - readonly source: "iana"; - }; - readonly "video/nv": { - readonly source: "iana"; - }; - readonly "video/ogg": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["ogv"]; - }; - readonly "video/parityfec": { - readonly source: "iana"; - }; - readonly "video/pointer": { - readonly source: "iana"; - }; - readonly "video/quicktime": { - readonly source: "iana"; - readonly compressible: false; - readonly extensions: readonly ["qt", "mov"]; - }; - readonly "video/raptorfec": { - readonly source: "iana"; - }; - readonly "video/raw": { - readonly source: "iana"; - }; - readonly "video/rtp-enc-aescm128": { - readonly source: "iana"; - }; - readonly "video/rtploopback": { - readonly source: "iana"; - }; - readonly "video/rtx": { - readonly source: "iana"; - }; - readonly "video/scip": { - readonly source: "iana"; - }; - readonly "video/smpte291": { - readonly source: "iana"; - }; - readonly "video/smpte292m": { - readonly source: "iana"; - }; - readonly "video/ulpfec": { - readonly source: "iana"; - }; - readonly "video/vc1": { - readonly source: "iana"; - }; - readonly "video/vc2": { - readonly source: "iana"; - }; - readonly "video/vnd.cctv": { - readonly source: "iana"; - }; - readonly "video/vnd.dece.hd": { - readonly source: "iana"; - readonly extensions: readonly ["uvh", "uvvh"]; - }; - readonly "video/vnd.dece.mobile": { - readonly source: "iana"; - readonly extensions: readonly ["uvm", "uvvm"]; - }; - readonly "video/vnd.dece.mp4": { - readonly source: "iana"; - }; - readonly "video/vnd.dece.pd": { - readonly source: "iana"; - readonly extensions: readonly ["uvp", "uvvp"]; - }; - readonly "video/vnd.dece.sd": { - readonly source: "iana"; - readonly extensions: readonly ["uvs", "uvvs"]; - }; - readonly "video/vnd.dece.video": { - readonly source: "iana"; - readonly extensions: readonly ["uvv", "uvvv"]; - }; - readonly "video/vnd.directv.mpeg": { - readonly source: "iana"; - }; - readonly "video/vnd.directv.mpeg-tts": { - readonly source: "iana"; - }; - readonly "video/vnd.dlna.mpeg-tts": { - readonly source: "iana"; - }; - readonly "video/vnd.dvb.file": { - readonly source: "iana"; - readonly extensions: readonly ["dvb"]; - }; - readonly "video/vnd.fvt": { - readonly source: "iana"; - readonly extensions: readonly ["fvt"]; - }; - readonly "video/vnd.hns.video": { - readonly source: "iana"; - }; - readonly "video/vnd.iptvforum.1dparityfec-1010": { - readonly source: "iana"; - }; - readonly "video/vnd.iptvforum.1dparityfec-2005": { - readonly source: "iana"; - }; - readonly "video/vnd.iptvforum.2dparityfec-1010": { - readonly source: "iana"; - }; - readonly "video/vnd.iptvforum.2dparityfec-2005": { - readonly source: "iana"; - }; - readonly "video/vnd.iptvforum.ttsavc": { - readonly source: "iana"; - }; - readonly "video/vnd.iptvforum.ttsmpeg2": { - readonly source: "iana"; - }; - readonly "video/vnd.motorola.video": { - readonly source: "iana"; - }; - readonly "video/vnd.motorola.videop": { - readonly source: "iana"; - }; - readonly "video/vnd.mpegurl": { - readonly source: "iana"; - readonly extensions: readonly ["mxu", "m4u"]; - }; - readonly "video/vnd.ms-playready.media.pyv": { - readonly source: "iana"; - readonly extensions: readonly ["pyv"]; - }; - readonly "video/vnd.nokia.interleaved-multimedia": { - readonly source: "iana"; - }; - readonly "video/vnd.nokia.mp4vr": { - readonly source: "iana"; - }; - readonly "video/vnd.nokia.videovoip": { - readonly source: "iana"; - }; - readonly "video/vnd.objectvideo": { - readonly source: "iana"; - }; - readonly "video/vnd.radgamettools.bink": { - readonly source: "iana"; - }; - readonly "video/vnd.radgamettools.smacker": { - readonly source: "apache"; - }; - readonly "video/vnd.sealed.mpeg1": { - readonly source: "iana"; - }; - readonly "video/vnd.sealed.mpeg4": { - readonly source: "iana"; - }; - readonly "video/vnd.sealed.swf": { - readonly source: "iana"; - }; - readonly "video/vnd.sealedmedia.softseal.mov": { - readonly source: "iana"; - }; - readonly "video/vnd.uvvu.mp4": { - readonly source: "iana"; - readonly extensions: readonly ["uvu", "uvvu"]; - }; - readonly "video/vnd.vivo": { - readonly source: "iana"; - readonly extensions: readonly ["viv"]; - }; - readonly "video/vnd.youtube.yt": { - readonly source: "iana"; - }; - readonly "video/vp8": { - readonly source: "iana"; - }; - readonly "video/vp9": { - readonly source: "iana"; - }; - readonly "video/webm": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["webm"]; - }; - readonly "video/x-f4v": { - readonly source: "apache"; - readonly extensions: readonly ["f4v"]; - }; - readonly "video/x-fli": { - readonly source: "apache"; - readonly extensions: readonly ["fli"]; - }; - readonly "video/x-flv": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["flv"]; - }; - readonly "video/x-m4v": { - readonly source: "apache"; - readonly extensions: readonly ["m4v"]; - }; - readonly "video/x-matroska": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["mkv", "mk3d", "mks"]; - }; - readonly "video/x-mng": { - readonly source: "apache"; - readonly extensions: readonly ["mng"]; - }; - readonly "video/x-ms-asf": { - readonly source: "apache"; - readonly extensions: readonly ["asf", "asx"]; - }; - readonly "video/x-ms-vob": { - readonly source: "apache"; - readonly extensions: readonly ["vob"]; - }; - readonly "video/x-ms-wm": { - readonly source: "apache"; - readonly extensions: readonly ["wm"]; - }; - readonly "video/x-ms-wmv": { - readonly source: "apache"; - readonly compressible: false; - readonly extensions: readonly ["wmv"]; - }; - readonly "video/x-ms-wmx": { - readonly source: "apache"; - readonly extensions: readonly ["wmx"]; - }; - readonly "video/x-ms-wvx": { - readonly source: "apache"; - readonly extensions: readonly ["wvx"]; - }; - readonly "video/x-msvideo": { - readonly source: "apache"; - readonly extensions: readonly ["avi"]; - }; - readonly "video/x-sgi-movie": { - readonly source: "apache"; - readonly extensions: readonly ["movie"]; - }; - readonly "video/x-smv": { - readonly source: "apache"; - readonly extensions: readonly ["smv"]; - }; - readonly "x-conference/x-cooltalk": { - readonly source: "apache"; - readonly extensions: readonly ["ice"]; - }; - readonly "x-shader/x-fragment": { - readonly compressible: true; - }; - readonly "x-shader/x-vertex": { - readonly compressible: true; - }; -}; -export default _default; -//# sourceMappingURL=db.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/vendor/db.d.ts.map b/package/esm/deps/jsr.io/@std/media-types/1.1.0/vendor/db.d.ts.map deleted file mode 100644 index 261b303..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/vendor/db.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/media-types/1.1.0/vendor/db.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wBAs9RW"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/media-types/1.1.0/vendor/db.js b/package/esm/deps/jsr.io/@std/media-types/1.1.0/vendor/db.js deleted file mode 100644 index 7c75987..0000000 --- a/package/esm/deps/jsr.io/@std/media-types/1.1.0/vendor/db.js +++ /dev/null @@ -1,9138 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. -export default { - "application/1d-interleaved-parityfec": { - "source": "iana", - }, - "application/3gpdash-qoe-report+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/3gpp-ims+xml": { - "source": "iana", - "compressible": true, - }, - "application/3gpphal+json": { - "source": "iana", - "compressible": true, - }, - "application/3gpphalforms+json": { - "source": "iana", - "compressible": true, - }, - "application/a2l": { - "source": "iana", - }, - "application/ace+cbor": { - "source": "iana", - }, - "application/ace+json": { - "source": "iana", - "compressible": true, - }, - "application/ace-groupcomm+cbor": { - "source": "iana", - }, - "application/activemessage": { - "source": "iana", - }, - "application/activity+json": { - "source": "iana", - "compressible": true, - }, - "application/aif+cbor": { - "source": "iana", - }, - "application/aif+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-cdni+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-cdnifilter+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-costmap+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-costmapfilter+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-directory+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-endpointcost+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-endpointcostparams+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-endpointprop+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-endpointpropparams+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-error+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-networkmap+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-networkmapfilter+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-propmap+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-propmapparams+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-tips+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-tipsparams+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-updatestreamcontrol+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-updatestreamparams+json": { - "source": "iana", - "compressible": true, - }, - "application/aml": { - "source": "iana", - }, - "application/andrew-inset": { - "source": "iana", - "extensions": ["ez"], - }, - "application/appinstaller": { - "compressible": false, - "extensions": ["appinstaller"], - }, - "application/applefile": { - "source": "iana", - }, - "application/applixware": { - "source": "apache", - "extensions": ["aw"], - }, - "application/appx": { - "compressible": false, - "extensions": ["appx"], - }, - "application/appxbundle": { - "compressible": false, - "extensions": ["appxbundle"], - }, - "application/at+jwt": { - "source": "iana", - }, - "application/atf": { - "source": "iana", - }, - "application/atfx": { - "source": "iana", - }, - "application/atom+xml": { - "source": "iana", - "compressible": true, - "extensions": ["atom"], - }, - "application/atomcat+xml": { - "source": "iana", - "compressible": true, - "extensions": ["atomcat"], - }, - "application/atomdeleted+xml": { - "source": "iana", - "compressible": true, - "extensions": ["atomdeleted"], - }, - "application/atomicmail": { - "source": "iana", - }, - "application/atomsvc+xml": { - "source": "iana", - "compressible": true, - "extensions": ["atomsvc"], - }, - "application/atsc-dwd+xml": { - "source": "iana", - "compressible": true, - "extensions": ["dwd"], - }, - "application/atsc-dynamic-event-message": { - "source": "iana", - }, - "application/atsc-held+xml": { - "source": "iana", - "compressible": true, - "extensions": ["held"], - }, - "application/atsc-rdt+json": { - "source": "iana", - "compressible": true, - }, - "application/atsc-rsat+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rsat"], - }, - "application/atxml": { - "source": "iana", - }, - "application/auth-policy+xml": { - "source": "iana", - "compressible": true, - }, - "application/automationml-aml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["aml"], - }, - "application/automationml-amlx+zip": { - "source": "iana", - "compressible": false, - "extensions": ["amlx"], - }, - "application/bacnet-xdd+zip": { - "source": "iana", - "compressible": false, - }, - "application/batch-smtp": { - "source": "iana", - }, - "application/bdoc": { - "compressible": false, - "extensions": ["bdoc"], - }, - "application/beep+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/bufr": { - "source": "iana", - }, - "application/c2pa": { - "source": "iana", - }, - "application/calendar+json": { - "source": "iana", - "compressible": true, - }, - "application/calendar+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xcs"], - }, - "application/call-completion": { - "source": "iana", - }, - "application/cals-1840": { - "source": "iana", - }, - "application/captive+json": { - "source": "iana", - "compressible": true, - }, - "application/cbor": { - "source": "iana", - }, - "application/cbor-seq": { - "source": "iana", - }, - "application/cccex": { - "source": "iana", - }, - "application/ccmp+xml": { - "source": "iana", - "compressible": true, - }, - "application/ccxml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["ccxml"], - }, - "application/cda+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/cdfx+xml": { - "source": "iana", - "compressible": true, - "extensions": ["cdfx"], - }, - "application/cdmi-capability": { - "source": "iana", - "extensions": ["cdmia"], - }, - "application/cdmi-container": { - "source": "iana", - "extensions": ["cdmic"], - }, - "application/cdmi-domain": { - "source": "iana", - "extensions": ["cdmid"], - }, - "application/cdmi-object": { - "source": "iana", - "extensions": ["cdmio"], - }, - "application/cdmi-queue": { - "source": "iana", - "extensions": ["cdmiq"], - }, - "application/cdni": { - "source": "iana", - }, - "application/cea": { - "source": "iana", - }, - "application/cea-2018+xml": { - "source": "iana", - "compressible": true, - }, - "application/cellml+xml": { - "source": "iana", - "compressible": true, - }, - "application/cfw": { - "source": "iana", - }, - "application/cid-edhoc+cbor-seq": { - "source": "iana", - }, - "application/city+json": { - "source": "iana", - "compressible": true, - }, - "application/clr": { - "source": "iana", - }, - "application/clue+xml": { - "source": "iana", - "compressible": true, - }, - "application/clue_info+xml": { - "source": "iana", - "compressible": true, - }, - "application/cms": { - "source": "iana", - }, - "application/cnrp+xml": { - "source": "iana", - "compressible": true, - }, - "application/coap-group+json": { - "source": "iana", - "compressible": true, - }, - "application/coap-payload": { - "source": "iana", - }, - "application/commonground": { - "source": "iana", - }, - "application/concise-problem-details+cbor": { - "source": "iana", - }, - "application/conference-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/cose": { - "source": "iana", - }, - "application/cose-key": { - "source": "iana", - }, - "application/cose-key-set": { - "source": "iana", - }, - "application/cose-x509": { - "source": "iana", - }, - "application/cpl+xml": { - "source": "iana", - "compressible": true, - "extensions": ["cpl"], - }, - "application/csrattrs": { - "source": "iana", - }, - "application/csta+xml": { - "source": "iana", - "compressible": true, - }, - "application/cstadata+xml": { - "source": "iana", - "compressible": true, - }, - "application/csvm+json": { - "source": "iana", - "compressible": true, - }, - "application/cu-seeme": { - "source": "apache", - "extensions": ["cu"], - }, - "application/cwl": { - "source": "iana", - "extensions": ["cwl"], - }, - "application/cwl+json": { - "source": "iana", - "compressible": true, - }, - "application/cwl+yaml": { - "source": "iana", - }, - "application/cwt": { - "source": "iana", - }, - "application/cybercash": { - "source": "iana", - }, - "application/dart": { - "compressible": true, - }, - "application/dash+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mpd"], - }, - "application/dash-patch+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mpp"], - }, - "application/dashdelta": { - "source": "iana", - }, - "application/davmount+xml": { - "source": "iana", - "compressible": true, - "extensions": ["davmount"], - }, - "application/dca-rft": { - "source": "iana", - }, - "application/dcd": { - "source": "iana", - }, - "application/dec-dx": { - "source": "iana", - }, - "application/dialog-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/dicom": { - "source": "iana", - }, - "application/dicom+json": { - "source": "iana", - "compressible": true, - }, - "application/dicom+xml": { - "source": "iana", - "compressible": true, - }, - "application/dii": { - "source": "iana", - }, - "application/dit": { - "source": "iana", - }, - "application/dns": { - "source": "iana", - }, - "application/dns+json": { - "source": "iana", - "compressible": true, - }, - "application/dns-message": { - "source": "iana", - }, - "application/docbook+xml": { - "source": "apache", - "compressible": true, - "extensions": ["dbk"], - }, - "application/dots+cbor": { - "source": "iana", - }, - "application/dpop+jwt": { - "source": "iana", - }, - "application/dskpp+xml": { - "source": "iana", - "compressible": true, - }, - "application/dssc+der": { - "source": "iana", - "extensions": ["dssc"], - }, - "application/dssc+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xdssc"], - }, - "application/dvcs": { - "source": "iana", - }, - "application/ecmascript": { - "source": "apache", - "compressible": true, - "extensions": ["ecma"], - }, - "application/edhoc+cbor-seq": { - "source": "iana", - }, - "application/edi-consent": { - "source": "iana", - }, - "application/edi-x12": { - "source": "iana", - "compressible": false, - }, - "application/edifact": { - "source": "iana", - "compressible": false, - }, - "application/efi": { - "source": "iana", - }, - "application/elm+json": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/elm+xml": { - "source": "iana", - "compressible": true, - }, - "application/emergencycalldata.cap+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/emergencycalldata.comment+xml": { - "source": "iana", - "compressible": true, - }, - "application/emergencycalldata.control+xml": { - "source": "iana", - "compressible": true, - }, - "application/emergencycalldata.deviceinfo+xml": { - "source": "iana", - "compressible": true, - }, - "application/emergencycalldata.ecall.msd": { - "source": "iana", - }, - "application/emergencycalldata.legacyesn+json": { - "source": "iana", - "compressible": true, - }, - "application/emergencycalldata.providerinfo+xml": { - "source": "iana", - "compressible": true, - }, - "application/emergencycalldata.serviceinfo+xml": { - "source": "iana", - "compressible": true, - }, - "application/emergencycalldata.subscriberinfo+xml": { - "source": "iana", - "compressible": true, - }, - "application/emergencycalldata.veds+xml": { - "source": "iana", - "compressible": true, - }, - "application/emma+xml": { - "source": "iana", - "compressible": true, - "extensions": ["emma"], - }, - "application/emotionml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["emotionml"], - }, - "application/encaprtp": { - "source": "iana", - }, - "application/epp+xml": { - "source": "iana", - "compressible": true, - }, - "application/epub+zip": { - "source": "iana", - "compressible": false, - "extensions": ["epub"], - }, - "application/eshop": { - "source": "iana", - }, - "application/exi": { - "source": "iana", - "extensions": ["exi"], - }, - "application/expect-ct-report+json": { - "source": "iana", - "compressible": true, - }, - "application/express": { - "source": "iana", - "extensions": ["exp"], - }, - "application/fastinfoset": { - "source": "iana", - }, - "application/fastsoap": { - "source": "iana", - }, - "application/fdf": { - "source": "iana", - "extensions": ["fdf"], - }, - "application/fdt+xml": { - "source": "iana", - "compressible": true, - "extensions": ["fdt"], - }, - "application/fhir+json": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/fhir+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/fido.trusted-apps+json": { - "compressible": true, - }, - "application/fits": { - "source": "iana", - }, - "application/flexfec": { - "source": "iana", - }, - "application/font-sfnt": { - "source": "iana", - }, - "application/font-tdpfr": { - "source": "iana", - "extensions": ["pfr"], - }, - "application/font-woff": { - "source": "iana", - "compressible": false, - }, - "application/framework-attributes+xml": { - "source": "iana", - "compressible": true, - }, - "application/geo+json": { - "source": "iana", - "compressible": true, - "extensions": ["geojson"], - }, - "application/geo+json-seq": { - "source": "iana", - }, - "application/geopackage+sqlite3": { - "source": "iana", - }, - "application/geoxacml+json": { - "source": "iana", - "compressible": true, - }, - "application/geoxacml+xml": { - "source": "iana", - "compressible": true, - }, - "application/gltf-buffer": { - "source": "iana", - }, - "application/gml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["gml"], - }, - "application/gnap-binding-jws": { - "source": "iana", - }, - "application/gnap-binding-jwsd": { - "source": "iana", - }, - "application/gnap-binding-rotation-jws": { - "source": "iana", - }, - "application/gnap-binding-rotation-jwsd": { - "source": "iana", - }, - "application/gpx+xml": { - "source": "apache", - "compressible": true, - "extensions": ["gpx"], - }, - "application/grib": { - "source": "iana", - }, - "application/gxf": { - "source": "apache", - "extensions": ["gxf"], - }, - "application/gzip": { - "source": "iana", - "compressible": false, - "extensions": ["gz"], - }, - "application/h224": { - "source": "iana", - }, - "application/held+xml": { - "source": "iana", - "compressible": true, - }, - "application/hjson": { - "extensions": ["hjson"], - }, - "application/hl7v2+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/http": { - "source": "iana", - }, - "application/hyperstudio": { - "source": "iana", - "extensions": ["stk"], - }, - "application/ibe-key-request+xml": { - "source": "iana", - "compressible": true, - }, - "application/ibe-pkg-reply+xml": { - "source": "iana", - "compressible": true, - }, - "application/ibe-pp-data": { - "source": "iana", - }, - "application/iges": { - "source": "iana", - }, - "application/im-iscomposing+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/index": { - "source": "iana", - }, - "application/index.cmd": { - "source": "iana", - }, - "application/index.obj": { - "source": "iana", - }, - "application/index.response": { - "source": "iana", - }, - "application/index.vnd": { - "source": "iana", - }, - "application/inkml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["ink", "inkml"], - }, - "application/iotp": { - "source": "iana", - }, - "application/ipfix": { - "source": "iana", - "extensions": ["ipfix"], - }, - "application/ipp": { - "source": "iana", - }, - "application/isup": { - "source": "iana", - }, - "application/its+xml": { - "source": "iana", - "compressible": true, - "extensions": ["its"], - }, - "application/java-archive": { - "source": "iana", - "compressible": false, - "extensions": ["jar", "war", "ear"], - }, - "application/java-serialized-object": { - "source": "apache", - "compressible": false, - "extensions": ["ser"], - }, - "application/java-vm": { - "source": "apache", - "compressible": false, - "extensions": ["class"], - }, - "application/javascript": { - "source": "apache", - "charset": "UTF-8", - "compressible": true, - "extensions": ["js"], - }, - "application/jf2feed+json": { - "source": "iana", - "compressible": true, - }, - "application/jose": { - "source": "iana", - }, - "application/jose+json": { - "source": "iana", - "compressible": true, - }, - "application/jrd+json": { - "source": "iana", - "compressible": true, - }, - "application/jscalendar+json": { - "source": "iana", - "compressible": true, - }, - "application/jscontact+json": { - "source": "iana", - "compressible": true, - }, - "application/json": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["json", "map"], - }, - "application/json-patch+json": { - "source": "iana", - "compressible": true, - }, - "application/json-seq": { - "source": "iana", - }, - "application/json5": { - "extensions": ["json5"], - }, - "application/jsonml+json": { - "source": "apache", - "compressible": true, - "extensions": ["jsonml"], - }, - "application/jsonpath": { - "source": "iana", - }, - "application/jwk+json": { - "source": "iana", - "compressible": true, - }, - "application/jwk-set+json": { - "source": "iana", - "compressible": true, - }, - "application/jwt": { - "source": "iana", - }, - "application/kpml-request+xml": { - "source": "iana", - "compressible": true, - }, - "application/kpml-response+xml": { - "source": "iana", - "compressible": true, - }, - "application/ld+json": { - "source": "iana", - "compressible": true, - "extensions": ["jsonld"], - }, - "application/lgr+xml": { - "source": "iana", - "compressible": true, - "extensions": ["lgr"], - }, - "application/link-format": { - "source": "iana", - }, - "application/linkset": { - "source": "iana", - }, - "application/linkset+json": { - "source": "iana", - "compressible": true, - }, - "application/load-control+xml": { - "source": "iana", - "compressible": true, - }, - "application/logout+jwt": { - "source": "iana", - }, - "application/lost+xml": { - "source": "iana", - "compressible": true, - "extensions": ["lostxml"], - }, - "application/lostsync+xml": { - "source": "iana", - "compressible": true, - }, - "application/lpf+zip": { - "source": "iana", - "compressible": false, - }, - "application/lxf": { - "source": "iana", - }, - "application/mac-binhex40": { - "source": "iana", - "extensions": ["hqx"], - }, - "application/mac-compactpro": { - "source": "apache", - "extensions": ["cpt"], - }, - "application/macwriteii": { - "source": "iana", - }, - "application/mads+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mads"], - }, - "application/manifest+json": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["webmanifest"], - }, - "application/marc": { - "source": "iana", - "extensions": ["mrc"], - }, - "application/marcxml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mrcx"], - }, - "application/mathematica": { - "source": "iana", - "extensions": ["ma", "nb", "mb"], - }, - "application/mathml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mathml"], - }, - "application/mathml-content+xml": { - "source": "iana", - "compressible": true, - }, - "application/mathml-presentation+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-associated-procedure-description+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-deregister+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-envelope+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-msk+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-msk-response+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-protection-description+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-reception-report+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-register+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-register-response+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-schedule+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-user-service-description+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbox": { - "source": "iana", - "extensions": ["mbox"], - }, - "application/media-policy-dataset+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mpf"], - }, - "application/media_control+xml": { - "source": "iana", - "compressible": true, - }, - "application/mediaservercontrol+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mscml"], - }, - "application/merge-patch+json": { - "source": "iana", - "compressible": true, - }, - "application/metalink+xml": { - "source": "apache", - "compressible": true, - "extensions": ["metalink"], - }, - "application/metalink4+xml": { - "source": "iana", - "compressible": true, - "extensions": ["meta4"], - }, - "application/mets+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mets"], - }, - "application/mf4": { - "source": "iana", - }, - "application/mikey": { - "source": "iana", - }, - "application/mipc": { - "source": "iana", - }, - "application/missing-blocks+cbor-seq": { - "source": "iana", - }, - "application/mmt-aei+xml": { - "source": "iana", - "compressible": true, - "extensions": ["maei"], - }, - "application/mmt-usd+xml": { - "source": "iana", - "compressible": true, - "extensions": ["musd"], - }, - "application/mods+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mods"], - }, - "application/moss-keys": { - "source": "iana", - }, - "application/moss-signature": { - "source": "iana", - }, - "application/mosskey-data": { - "source": "iana", - }, - "application/mosskey-request": { - "source": "iana", - }, - "application/mp21": { - "source": "iana", - "extensions": ["m21", "mp21"], - }, - "application/mp4": { - "source": "iana", - "extensions": ["mp4", "mpg4", "mp4s", "m4p"], - }, - "application/mpeg4-generic": { - "source": "iana", - }, - "application/mpeg4-iod": { - "source": "iana", - }, - "application/mpeg4-iod-xmt": { - "source": "iana", - }, - "application/mrb-consumer+xml": { - "source": "iana", - "compressible": true, - }, - "application/mrb-publish+xml": { - "source": "iana", - "compressible": true, - }, - "application/msc-ivr+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/msc-mixer+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/msix": { - "compressible": false, - "extensions": ["msix"], - }, - "application/msixbundle": { - "compressible": false, - "extensions": ["msixbundle"], - }, - "application/msword": { - "source": "iana", - "compressible": false, - "extensions": ["doc", "dot"], - }, - "application/mud+json": { - "source": "iana", - "compressible": true, - }, - "application/multipart-core": { - "source": "iana", - }, - "application/mxf": { - "source": "iana", - "extensions": ["mxf"], - }, - "application/n-quads": { - "source": "iana", - "extensions": ["nq"], - }, - "application/n-triples": { - "source": "iana", - "extensions": ["nt"], - }, - "application/nasdata": { - "source": "iana", - }, - "application/news-checkgroups": { - "source": "iana", - "charset": "US-ASCII", - }, - "application/news-groupinfo": { - "source": "iana", - "charset": "US-ASCII", - }, - "application/news-transmission": { - "source": "iana", - }, - "application/nlsml+xml": { - "source": "iana", - "compressible": true, - }, - "application/node": { - "source": "iana", - "extensions": ["cjs"], - }, - "application/nss": { - "source": "iana", - }, - "application/oauth-authz-req+jwt": { - "source": "iana", - }, - "application/oblivious-dns-message": { - "source": "iana", - }, - "application/ocsp-request": { - "source": "iana", - }, - "application/ocsp-response": { - "source": "iana", - }, - "application/octet-stream": { - "source": "iana", - "compressible": false, - "extensions": [ - "bin", - "dms", - "lrf", - "mar", - "so", - "dist", - "distz", - "pkg", - "bpk", - "dump", - "elc", - "deploy", - "exe", - "dll", - "deb", - "dmg", - "iso", - "img", - "msi", - "msp", - "msm", - "buffer", - ], - }, - "application/oda": { - "source": "iana", - "extensions": ["oda"], - }, - "application/odm+xml": { - "source": "iana", - "compressible": true, - }, - "application/odx": { - "source": "iana", - }, - "application/oebps-package+xml": { - "source": "iana", - "compressible": true, - "extensions": ["opf"], - }, - "application/ogg": { - "source": "iana", - "compressible": false, - "extensions": ["ogx"], - }, - "application/ohttp-keys": { - "source": "iana", - }, - "application/omdoc+xml": { - "source": "apache", - "compressible": true, - "extensions": ["omdoc"], - }, - "application/onenote": { - "source": "apache", - "extensions": ["onetoc", "onetoc2", "onetmp", "onepkg"], - }, - "application/opc-nodeset+xml": { - "source": "iana", - "compressible": true, - }, - "application/oscore": { - "source": "iana", - }, - "application/oxps": { - "source": "iana", - "extensions": ["oxps"], - }, - "application/p21": { - "source": "iana", - }, - "application/p21+zip": { - "source": "iana", - "compressible": false, - }, - "application/p2p-overlay+xml": { - "source": "iana", - "compressible": true, - "extensions": ["relo"], - }, - "application/parityfec": { - "source": "iana", - }, - "application/passport": { - "source": "iana", - }, - "application/patch-ops-error+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xer"], - }, - "application/pdf": { - "source": "iana", - "compressible": false, - "extensions": ["pdf"], - }, - "application/pdx": { - "source": "iana", - }, - "application/pem-certificate-chain": { - "source": "iana", - }, - "application/pgp-encrypted": { - "source": "iana", - "compressible": false, - "extensions": ["pgp"], - }, - "application/pgp-keys": { - "source": "iana", - "extensions": ["asc"], - }, - "application/pgp-signature": { - "source": "iana", - "extensions": ["sig", "asc"], - }, - "application/pics-rules": { - "source": "apache", - "extensions": ["prf"], - }, - "application/pidf+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/pidf-diff+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/pkcs10": { - "source": "iana", - "extensions": ["p10"], - }, - "application/pkcs12": { - "source": "iana", - }, - "application/pkcs7-mime": { - "source": "iana", - "extensions": ["p7m", "p7c"], - }, - "application/pkcs7-signature": { - "source": "iana", - "extensions": ["p7s"], - }, - "application/pkcs8": { - "source": "iana", - "extensions": ["p8"], - }, - "application/pkcs8-encrypted": { - "source": "iana", - }, - "application/pkix-attr-cert": { - "source": "iana", - "extensions": ["ac"], - }, - "application/pkix-cert": { - "source": "iana", - "extensions": ["cer"], - }, - "application/pkix-crl": { - "source": "iana", - "extensions": ["crl"], - }, - "application/pkix-pkipath": { - "source": "iana", - "extensions": ["pkipath"], - }, - "application/pkixcmp": { - "source": "iana", - "extensions": ["pki"], - }, - "application/pls+xml": { - "source": "iana", - "compressible": true, - "extensions": ["pls"], - }, - "application/poc-settings+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/postscript": { - "source": "iana", - "compressible": true, - "extensions": ["ai", "eps", "ps"], - }, - "application/ppsp-tracker+json": { - "source": "iana", - "compressible": true, - }, - "application/private-token-issuer-directory": { - "source": "iana", - }, - "application/private-token-request": { - "source": "iana", - }, - "application/private-token-response": { - "source": "iana", - }, - "application/problem+json": { - "source": "iana", - "compressible": true, - }, - "application/problem+xml": { - "source": "iana", - "compressible": true, - }, - "application/provenance+xml": { - "source": "iana", - "compressible": true, - "extensions": ["provx"], - }, - "application/prs.alvestrand.titrax-sheet": { - "source": "iana", - }, - "application/prs.cww": { - "source": "iana", - "extensions": ["cww"], - }, - "application/prs.cyn": { - "source": "iana", - "charset": "7-BIT", - }, - "application/prs.hpub+zip": { - "source": "iana", - "compressible": false, - }, - "application/prs.implied-document+xml": { - "source": "iana", - "compressible": true, - }, - "application/prs.implied-executable": { - "source": "iana", - }, - "application/prs.implied-object+json": { - "source": "iana", - "compressible": true, - }, - "application/prs.implied-object+json-seq": { - "source": "iana", - }, - "application/prs.implied-object+yaml": { - "source": "iana", - }, - "application/prs.implied-structure": { - "source": "iana", - }, - "application/prs.nprend": { - "source": "iana", - }, - "application/prs.plucker": { - "source": "iana", - }, - "application/prs.rdf-xml-crypt": { - "source": "iana", - }, - "application/prs.vcfbzip2": { - "source": "iana", - }, - "application/prs.xsf+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xsf"], - }, - "application/pskc+xml": { - "source": "iana", - "compressible": true, - "extensions": ["pskcxml"], - }, - "application/pvd+json": { - "source": "iana", - "compressible": true, - }, - "application/qsig": { - "source": "iana", - }, - "application/raml+yaml": { - "compressible": true, - "extensions": ["raml"], - }, - "application/raptorfec": { - "source": "iana", - }, - "application/rdap+json": { - "source": "iana", - "compressible": true, - }, - "application/rdf+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rdf", "owl"], - }, - "application/reginfo+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rif"], - }, - "application/relax-ng-compact-syntax": { - "source": "iana", - "extensions": ["rnc"], - }, - "application/remote-printing": { - "source": "apache", - }, - "application/reputon+json": { - "source": "iana", - "compressible": true, - }, - "application/resource-lists+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rl"], - }, - "application/resource-lists-diff+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rld"], - }, - "application/rfc+xml": { - "source": "iana", - "compressible": true, - }, - "application/riscos": { - "source": "iana", - }, - "application/rlmi+xml": { - "source": "iana", - "compressible": true, - }, - "application/rls-services+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rs"], - }, - "application/route-apd+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rapd"], - }, - "application/route-s-tsid+xml": { - "source": "iana", - "compressible": true, - "extensions": ["sls"], - }, - "application/route-usd+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rusd"], - }, - "application/rpki-checklist": { - "source": "iana", - }, - "application/rpki-ghostbusters": { - "source": "iana", - "extensions": ["gbr"], - }, - "application/rpki-manifest": { - "source": "iana", - "extensions": ["mft"], - }, - "application/rpki-publication": { - "source": "iana", - }, - "application/rpki-roa": { - "source": "iana", - "extensions": ["roa"], - }, - "application/rpki-signed-tal": { - "source": "iana", - }, - "application/rpki-updown": { - "source": "iana", - }, - "application/rsd+xml": { - "source": "apache", - "compressible": true, - "extensions": ["rsd"], - }, - "application/rss+xml": { - "source": "apache", - "compressible": true, - "extensions": ["rss"], - }, - "application/rtf": { - "source": "iana", - "compressible": true, - "extensions": ["rtf"], - }, - "application/rtploopback": { - "source": "iana", - }, - "application/rtx": { - "source": "iana", - }, - "application/samlassertion+xml": { - "source": "iana", - "compressible": true, - }, - "application/samlmetadata+xml": { - "source": "iana", - "compressible": true, - }, - "application/sarif+json": { - "source": "iana", - "compressible": true, - }, - "application/sarif-external-properties+json": { - "source": "iana", - "compressible": true, - }, - "application/sbe": { - "source": "iana", - }, - "application/sbml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["sbml"], - }, - "application/scaip+xml": { - "source": "iana", - "compressible": true, - }, - "application/scim+json": { - "source": "iana", - "compressible": true, - }, - "application/scvp-cv-request": { - "source": "iana", - "extensions": ["scq"], - }, - "application/scvp-cv-response": { - "source": "iana", - "extensions": ["scs"], - }, - "application/scvp-vp-request": { - "source": "iana", - "extensions": ["spq"], - }, - "application/scvp-vp-response": { - "source": "iana", - "extensions": ["spp"], - }, - "application/sdp": { - "source": "iana", - "extensions": ["sdp"], - }, - "application/secevent+jwt": { - "source": "iana", - }, - "application/senml+cbor": { - "source": "iana", - }, - "application/senml+json": { - "source": "iana", - "compressible": true, - }, - "application/senml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["senmlx"], - }, - "application/senml-etch+cbor": { - "source": "iana", - }, - "application/senml-etch+json": { - "source": "iana", - "compressible": true, - }, - "application/senml-exi": { - "source": "iana", - }, - "application/sensml+cbor": { - "source": "iana", - }, - "application/sensml+json": { - "source": "iana", - "compressible": true, - }, - "application/sensml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["sensmlx"], - }, - "application/sensml-exi": { - "source": "iana", - }, - "application/sep+xml": { - "source": "iana", - "compressible": true, - }, - "application/sep-exi": { - "source": "iana", - }, - "application/session-info": { - "source": "iana", - }, - "application/set-payment": { - "source": "iana", - }, - "application/set-payment-initiation": { - "source": "iana", - "extensions": ["setpay"], - }, - "application/set-registration": { - "source": "iana", - }, - "application/set-registration-initiation": { - "source": "iana", - "extensions": ["setreg"], - }, - "application/sgml": { - "source": "iana", - }, - "application/sgml-open-catalog": { - "source": "iana", - }, - "application/shf+xml": { - "source": "iana", - "compressible": true, - "extensions": ["shf"], - }, - "application/sieve": { - "source": "iana", - "extensions": ["siv", "sieve"], - }, - "application/simple-filter+xml": { - "source": "iana", - "compressible": true, - }, - "application/simple-message-summary": { - "source": "iana", - }, - "application/simplesymbolcontainer": { - "source": "iana", - }, - "application/sipc": { - "source": "iana", - }, - "application/slate": { - "source": "iana", - }, - "application/smil": { - "source": "apache", - }, - "application/smil+xml": { - "source": "iana", - "compressible": true, - "extensions": ["smi", "smil"], - }, - "application/smpte336m": { - "source": "iana", - }, - "application/soap+fastinfoset": { - "source": "iana", - }, - "application/soap+xml": { - "source": "iana", - "compressible": true, - }, - "application/sparql-query": { - "source": "iana", - "extensions": ["rq"], - }, - "application/sparql-results+xml": { - "source": "iana", - "compressible": true, - "extensions": ["srx"], - }, - "application/spdx+json": { - "source": "iana", - "compressible": true, - }, - "application/spirits-event+xml": { - "source": "iana", - "compressible": true, - }, - "application/sql": { - "source": "iana", - "extensions": ["sql"], - }, - "application/srgs": { - "source": "iana", - "extensions": ["gram"], - }, - "application/srgs+xml": { - "source": "iana", - "compressible": true, - "extensions": ["grxml"], - }, - "application/sru+xml": { - "source": "iana", - "compressible": true, - "extensions": ["sru"], - }, - "application/ssdl+xml": { - "source": "apache", - "compressible": true, - "extensions": ["ssdl"], - }, - "application/ssml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["ssml"], - }, - "application/st2110-41": { - "source": "iana", - }, - "application/stix+json": { - "source": "iana", - "compressible": true, - }, - "application/stratum": { - "source": "iana", - }, - "application/swid+cbor": { - "source": "iana", - }, - "application/swid+xml": { - "source": "iana", - "compressible": true, - "extensions": ["swidtag"], - }, - "application/tamp-apex-update": { - "source": "iana", - }, - "application/tamp-apex-update-confirm": { - "source": "iana", - }, - "application/tamp-community-update": { - "source": "iana", - }, - "application/tamp-community-update-confirm": { - "source": "iana", - }, - "application/tamp-error": { - "source": "iana", - }, - "application/tamp-sequence-adjust": { - "source": "iana", - }, - "application/tamp-sequence-adjust-confirm": { - "source": "iana", - }, - "application/tamp-status-query": { - "source": "iana", - }, - "application/tamp-status-response": { - "source": "iana", - }, - "application/tamp-update": { - "source": "iana", - }, - "application/tamp-update-confirm": { - "source": "iana", - }, - "application/tar": { - "compressible": true, - }, - "application/taxii+json": { - "source": "iana", - "compressible": true, - }, - "application/td+json": { - "source": "iana", - "compressible": true, - }, - "application/tei+xml": { - "source": "iana", - "compressible": true, - "extensions": ["tei", "teicorpus"], - }, - "application/tetra_isi": { - "source": "iana", - }, - "application/thraud+xml": { - "source": "iana", - "compressible": true, - "extensions": ["tfi"], - }, - "application/timestamp-query": { - "source": "iana", - }, - "application/timestamp-reply": { - "source": "iana", - }, - "application/timestamped-data": { - "source": "iana", - "extensions": ["tsd"], - }, - "application/tlsrpt+gzip": { - "source": "iana", - }, - "application/tlsrpt+json": { - "source": "iana", - "compressible": true, - }, - "application/tm+json": { - "source": "iana", - "compressible": true, - }, - "application/tnauthlist": { - "source": "iana", - }, - "application/token-introspection+jwt": { - "source": "iana", - }, - "application/toml": { - "compressible": true, - "extensions": ["toml"], - }, - "application/trickle-ice-sdpfrag": { - "source": "iana", - }, - "application/trig": { - "source": "iana", - "extensions": ["trig"], - }, - "application/ttml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["ttml"], - }, - "application/tve-trigger": { - "source": "iana", - }, - "application/tzif": { - "source": "iana", - }, - "application/tzif-leap": { - "source": "iana", - }, - "application/ubjson": { - "compressible": false, - "extensions": ["ubj"], - }, - "application/ulpfec": { - "source": "iana", - }, - "application/urc-grpsheet+xml": { - "source": "iana", - "compressible": true, - }, - "application/urc-ressheet+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rsheet"], - }, - "application/urc-targetdesc+xml": { - "source": "iana", - "compressible": true, - "extensions": ["td"], - }, - "application/urc-uisocketdesc+xml": { - "source": "iana", - "compressible": true, - }, - "application/vc": { - "source": "iana", - }, - "application/vcard+json": { - "source": "iana", - "compressible": true, - }, - "application/vcard+xml": { - "source": "iana", - "compressible": true, - }, - "application/vemmi": { - "source": "iana", - }, - "application/vividence.scriptfile": { - "source": "apache", - }, - "application/vnd.1000minds.decision-model+xml": { - "source": "iana", - "compressible": true, - "extensions": ["1km"], - }, - "application/vnd.1ob": { - "source": "iana", - }, - "application/vnd.3gpp-prose+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp-prose-pc3a+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp-prose-pc3ach+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp-prose-pc3ch+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp-prose-pc8+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp-v2x-local-service-information": { - "source": "iana", - }, - "application/vnd.3gpp.5gnas": { - "source": "iana", - }, - "application/vnd.3gpp.5gsa2x": { - "source": "iana", - }, - "application/vnd.3gpp.5gsa2x-local-service-information": { - "source": "iana", - }, - "application/vnd.3gpp.access-transfer-events+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.bsf+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.crs+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.current-location-discovery+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.gmop+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.gtpc": { - "source": "iana", - }, - "application/vnd.3gpp.interworking-data": { - "source": "iana", - }, - "application/vnd.3gpp.lpp": { - "source": "iana", - }, - "application/vnd.3gpp.mc-signalling-ear": { - "source": "iana", - }, - "application/vnd.3gpp.mcdata-affiliation-command+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcdata-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcdata-msgstore-ctrl-request+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcdata-payload": { - "source": "iana", - }, - "application/vnd.3gpp.mcdata-regroup+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcdata-service-config+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcdata-signalling": { - "source": "iana", - }, - "application/vnd.3gpp.mcdata-ue-config+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcdata-user-profile+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-affiliation-command+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-floor-request+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-location-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-mbms-usage-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-regroup+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-service-config+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-signed+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-ue-config+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-ue-init-config+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-user-profile+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-affiliation-command+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-location-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-mbms-usage-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-regroup+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-service-config+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-transmission-request+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-ue-config+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-user-profile+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mid-call+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.ngap": { - "source": "iana", - }, - "application/vnd.3gpp.pfcp": { - "source": "iana", - }, - "application/vnd.3gpp.pic-bw-large": { - "source": "iana", - "extensions": ["plb"], - }, - "application/vnd.3gpp.pic-bw-small": { - "source": "iana", - "extensions": ["psb"], - }, - "application/vnd.3gpp.pic-bw-var": { - "source": "iana", - "extensions": ["pvb"], - }, - "application/vnd.3gpp.pinapp-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.s1ap": { - "source": "iana", - }, - "application/vnd.3gpp.seal-group-doc+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.seal-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.seal-location-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.seal-mbms-usage-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.seal-network-qos-management-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.seal-ue-config-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.seal-unicast-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.seal-user-profile-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.sms": { - "source": "iana", - }, - "application/vnd.3gpp.sms+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.srvcc-ext+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.srvcc-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.state-and-event-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.ussd+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.v2x": { - "source": "iana", - }, - "application/vnd.3gpp.vae-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp2.bcmcsinfo+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp2.sms": { - "source": "iana", - }, - "application/vnd.3gpp2.tcap": { - "source": "iana", - "extensions": ["tcap"], - }, - "application/vnd.3lightssoftware.imagescal": { - "source": "iana", - }, - "application/vnd.3m.post-it-notes": { - "source": "iana", - "extensions": ["pwn"], - }, - "application/vnd.accpac.simply.aso": { - "source": "iana", - "extensions": ["aso"], - }, - "application/vnd.accpac.simply.imp": { - "source": "iana", - "extensions": ["imp"], - }, - "application/vnd.acm.addressxfer+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.acm.chatbot+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.acucobol": { - "source": "iana", - "extensions": ["acu"], - }, - "application/vnd.acucorp": { - "source": "iana", - "extensions": ["atc", "acutc"], - }, - "application/vnd.adobe.air-application-installer-package+zip": { - "source": "apache", - "compressible": false, - "extensions": ["air"], - }, - "application/vnd.adobe.flash.movie": { - "source": "iana", - }, - "application/vnd.adobe.formscentral.fcdt": { - "source": "iana", - "extensions": ["fcdt"], - }, - "application/vnd.adobe.fxp": { - "source": "iana", - "extensions": ["fxp", "fxpl"], - }, - "application/vnd.adobe.partial-upload": { - "source": "iana", - }, - "application/vnd.adobe.xdp+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xdp"], - }, - "application/vnd.adobe.xfdf": { - "source": "apache", - "extensions": ["xfdf"], - }, - "application/vnd.aether.imp": { - "source": "iana", - }, - "application/vnd.afpc.afplinedata": { - "source": "iana", - }, - "application/vnd.afpc.afplinedata-pagedef": { - "source": "iana", - }, - "application/vnd.afpc.cmoca-cmresource": { - "source": "iana", - }, - "application/vnd.afpc.foca-charset": { - "source": "iana", - }, - "application/vnd.afpc.foca-codedfont": { - "source": "iana", - }, - "application/vnd.afpc.foca-codepage": { - "source": "iana", - }, - "application/vnd.afpc.modca": { - "source": "iana", - }, - "application/vnd.afpc.modca-cmtable": { - "source": "iana", - }, - "application/vnd.afpc.modca-formdef": { - "source": "iana", - }, - "application/vnd.afpc.modca-mediummap": { - "source": "iana", - }, - "application/vnd.afpc.modca-objectcontainer": { - "source": "iana", - }, - "application/vnd.afpc.modca-overlay": { - "source": "iana", - }, - "application/vnd.afpc.modca-pagesegment": { - "source": "iana", - }, - "application/vnd.age": { - "source": "iana", - "extensions": ["age"], - }, - "application/vnd.ah-barcode": { - "source": "apache", - }, - "application/vnd.ahead.space": { - "source": "iana", - "extensions": ["ahead"], - }, - "application/vnd.airzip.filesecure.azf": { - "source": "iana", - "extensions": ["azf"], - }, - "application/vnd.airzip.filesecure.azs": { - "source": "iana", - "extensions": ["azs"], - }, - "application/vnd.amadeus+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.amazon.ebook": { - "source": "apache", - "extensions": ["azw"], - }, - "application/vnd.amazon.mobi8-ebook": { - "source": "iana", - }, - "application/vnd.americandynamics.acc": { - "source": "iana", - "extensions": ["acc"], - }, - "application/vnd.amiga.ami": { - "source": "iana", - "extensions": ["ami"], - }, - "application/vnd.amundsen.maze+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.android.ota": { - "source": "iana", - }, - "application/vnd.android.package-archive": { - "source": "apache", - "compressible": false, - "extensions": ["apk"], - }, - "application/vnd.anki": { - "source": "iana", - }, - "application/vnd.anser-web-certificate-issue-initiation": { - "source": "iana", - "extensions": ["cii"], - }, - "application/vnd.anser-web-funds-transfer-initiation": { - "source": "apache", - "extensions": ["fti"], - }, - "application/vnd.antix.game-component": { - "source": "iana", - "extensions": ["atx"], - }, - "application/vnd.apache.arrow.file": { - "source": "iana", - }, - "application/vnd.apache.arrow.stream": { - "source": "iana", - }, - "application/vnd.apache.parquet": { - "source": "iana", - }, - "application/vnd.apache.thrift.binary": { - "source": "iana", - }, - "application/vnd.apache.thrift.compact": { - "source": "iana", - }, - "application/vnd.apache.thrift.json": { - "source": "iana", - }, - "application/vnd.apexlang": { - "source": "iana", - }, - "application/vnd.api+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.aplextor.warrp+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.apothekende.reservation+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.apple.installer+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mpkg"], - }, - "application/vnd.apple.keynote": { - "source": "iana", - "extensions": ["key"], - }, - "application/vnd.apple.mpegurl": { - "source": "iana", - "extensions": ["m3u8"], - }, - "application/vnd.apple.numbers": { - "source": "iana", - "extensions": ["numbers"], - }, - "application/vnd.apple.pages": { - "source": "iana", - "extensions": ["pages"], - }, - "application/vnd.apple.pkpass": { - "compressible": false, - "extensions": ["pkpass"], - }, - "application/vnd.arastra.swi": { - "source": "apache", - }, - "application/vnd.aristanetworks.swi": { - "source": "iana", - "extensions": ["swi"], - }, - "application/vnd.artisan+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.artsquare": { - "source": "iana", - }, - "application/vnd.astraea-software.iota": { - "source": "iana", - "extensions": ["iota"], - }, - "application/vnd.audiograph": { - "source": "iana", - "extensions": ["aep"], - }, - "application/vnd.autopackage": { - "source": "iana", - }, - "application/vnd.avalon+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.avistar+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.balsamiq.bmml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["bmml"], - }, - "application/vnd.balsamiq.bmpr": { - "source": "iana", - }, - "application/vnd.banana-accounting": { - "source": "iana", - }, - "application/vnd.bbf.usp.error": { - "source": "iana", - }, - "application/vnd.bbf.usp.msg": { - "source": "iana", - }, - "application/vnd.bbf.usp.msg+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.bekitzur-stech+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.belightsoft.lhzd+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.belightsoft.lhzl+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.bint.med-content": { - "source": "iana", - }, - "application/vnd.biopax.rdf+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.blink-idb-value-wrapper": { - "source": "iana", - }, - "application/vnd.blueice.multipass": { - "source": "iana", - "extensions": ["mpm"], - }, - "application/vnd.bluetooth.ep.oob": { - "source": "iana", - }, - "application/vnd.bluetooth.le.oob": { - "source": "iana", - }, - "application/vnd.bmi": { - "source": "iana", - "extensions": ["bmi"], - }, - "application/vnd.bpf": { - "source": "iana", - }, - "application/vnd.bpf3": { - "source": "iana", - }, - "application/vnd.businessobjects": { - "source": "iana", - "extensions": ["rep"], - }, - "application/vnd.byu.uapi+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.bzip3": { - "source": "iana", - }, - "application/vnd.c3voc.schedule+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.cab-jscript": { - "source": "iana", - }, - "application/vnd.canon-cpdl": { - "source": "iana", - }, - "application/vnd.canon-lips": { - "source": "iana", - }, - "application/vnd.capasystems-pg+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.cendio.thinlinc.clientconf": { - "source": "iana", - }, - "application/vnd.century-systems.tcp_stream": { - "source": "iana", - }, - "application/vnd.chemdraw+xml": { - "source": "iana", - "compressible": true, - "extensions": ["cdxml"], - }, - "application/vnd.chess-pgn": { - "source": "iana", - }, - "application/vnd.chipnuts.karaoke-mmd": { - "source": "iana", - "extensions": ["mmd"], - }, - "application/vnd.ciedi": { - "source": "iana", - }, - "application/vnd.cinderella": { - "source": "iana", - "extensions": ["cdy"], - }, - "application/vnd.cirpack.isdn-ext": { - "source": "iana", - }, - "application/vnd.citationstyles.style+xml": { - "source": "iana", - "compressible": true, - "extensions": ["csl"], - }, - "application/vnd.claymore": { - "source": "iana", - "extensions": ["cla"], - }, - "application/vnd.cloanto.rp9": { - "source": "iana", - "extensions": ["rp9"], - }, - "application/vnd.clonk.c4group": { - "source": "iana", - "extensions": ["c4g", "c4d", "c4f", "c4p", "c4u"], - }, - "application/vnd.cluetrust.cartomobile-config": { - "source": "iana", - "extensions": ["c11amc"], - }, - "application/vnd.cluetrust.cartomobile-config-pkg": { - "source": "iana", - "extensions": ["c11amz"], - }, - "application/vnd.cncf.helm.chart.content.v1.tar+gzip": { - "source": "iana", - }, - "application/vnd.cncf.helm.chart.provenance.v1.prov": { - "source": "iana", - }, - "application/vnd.cncf.helm.config.v1+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.coffeescript": { - "source": "iana", - }, - "application/vnd.collabio.xodocuments.document": { - "source": "iana", - }, - "application/vnd.collabio.xodocuments.document-template": { - "source": "iana", - }, - "application/vnd.collabio.xodocuments.presentation": { - "source": "iana", - }, - "application/vnd.collabio.xodocuments.presentation-template": { - "source": "iana", - }, - "application/vnd.collabio.xodocuments.spreadsheet": { - "source": "iana", - }, - "application/vnd.collabio.xodocuments.spreadsheet-template": { - "source": "iana", - }, - "application/vnd.collection+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.collection.doc+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.collection.next+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.comicbook+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.comicbook-rar": { - "source": "iana", - }, - "application/vnd.commerce-battelle": { - "source": "iana", - }, - "application/vnd.commonspace": { - "source": "iana", - "extensions": ["csp"], - }, - "application/vnd.contact.cmsg": { - "source": "iana", - "extensions": ["cdbcmsg"], - }, - "application/vnd.coreos.ignition+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.cosmocaller": { - "source": "iana", - "extensions": ["cmc"], - }, - "application/vnd.crick.clicker": { - "source": "iana", - "extensions": ["clkx"], - }, - "application/vnd.crick.clicker.keyboard": { - "source": "iana", - "extensions": ["clkk"], - }, - "application/vnd.crick.clicker.palette": { - "source": "iana", - "extensions": ["clkp"], - }, - "application/vnd.crick.clicker.template": { - "source": "iana", - "extensions": ["clkt"], - }, - "application/vnd.crick.clicker.wordbank": { - "source": "iana", - "extensions": ["clkw"], - }, - "application/vnd.criticaltools.wbs+xml": { - "source": "iana", - "compressible": true, - "extensions": ["wbs"], - }, - "application/vnd.cryptii.pipe+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.crypto-shade-file": { - "source": "iana", - }, - "application/vnd.cryptomator.encrypted": { - "source": "iana", - }, - "application/vnd.cryptomator.vault": { - "source": "iana", - }, - "application/vnd.ctc-posml": { - "source": "iana", - "extensions": ["pml"], - }, - "application/vnd.ctct.ws+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.cups-pdf": { - "source": "iana", - }, - "application/vnd.cups-postscript": { - "source": "iana", - }, - "application/vnd.cups-ppd": { - "source": "iana", - "extensions": ["ppd"], - }, - "application/vnd.cups-raster": { - "source": "iana", - }, - "application/vnd.cups-raw": { - "source": "iana", - }, - "application/vnd.curl": { - "source": "iana", - }, - "application/vnd.curl.car": { - "source": "apache", - "extensions": ["car"], - }, - "application/vnd.curl.pcurl": { - "source": "apache", - "extensions": ["pcurl"], - }, - "application/vnd.cyan.dean.root+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.cybank": { - "source": "iana", - }, - "application/vnd.cyclonedx+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.cyclonedx+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.d2l.coursepackage1p0+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.d3m-dataset": { - "source": "iana", - }, - "application/vnd.d3m-problem": { - "source": "iana", - }, - "application/vnd.dart": { - "source": "iana", - "compressible": true, - "extensions": ["dart"], - }, - "application/vnd.data-vision.rdz": { - "source": "iana", - "extensions": ["rdz"], - }, - "application/vnd.datalog": { - "source": "iana", - }, - "application/vnd.datapackage+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dataresource+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dbf": { - "source": "iana", - "extensions": ["dbf"], - }, - "application/vnd.debian.binary-package": { - "source": "iana", - }, - "application/vnd.dece.data": { - "source": "iana", - "extensions": ["uvf", "uvvf", "uvd", "uvvd"], - }, - "application/vnd.dece.ttml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["uvt", "uvvt"], - }, - "application/vnd.dece.unspecified": { - "source": "iana", - "extensions": ["uvx", "uvvx"], - }, - "application/vnd.dece.zip": { - "source": "iana", - "extensions": ["uvz", "uvvz"], - }, - "application/vnd.denovo.fcselayout-link": { - "source": "iana", - "extensions": ["fe_launch"], - }, - "application/vnd.desmume.movie": { - "source": "iana", - }, - "application/vnd.dir-bi.plate-dl-nosuffix": { - "source": "iana", - }, - "application/vnd.dm.delegation+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dna": { - "source": "iana", - "extensions": ["dna"], - }, - "application/vnd.document+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dolby.mlp": { - "source": "apache", - "extensions": ["mlp"], - }, - "application/vnd.dolby.mobile.1": { - "source": "iana", - }, - "application/vnd.dolby.mobile.2": { - "source": "iana", - }, - "application/vnd.doremir.scorecloud-binary-document": { - "source": "iana", - }, - "application/vnd.dpgraph": { - "source": "iana", - "extensions": ["dpg"], - }, - "application/vnd.dreamfactory": { - "source": "iana", - "extensions": ["dfac"], - }, - "application/vnd.drive+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ds-keypoint": { - "source": "apache", - "extensions": ["kpxx"], - }, - "application/vnd.dtg.local": { - "source": "iana", - }, - "application/vnd.dtg.local.flash": { - "source": "iana", - }, - "application/vnd.dtg.local.html": { - "source": "iana", - }, - "application/vnd.dvb.ait": { - "source": "iana", - "extensions": ["ait"], - }, - "application/vnd.dvb.dvbisl+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dvb.dvbj": { - "source": "iana", - }, - "application/vnd.dvb.esgcontainer": { - "source": "iana", - }, - "application/vnd.dvb.ipdcdftnotifaccess": { - "source": "iana", - }, - "application/vnd.dvb.ipdcesgaccess": { - "source": "iana", - }, - "application/vnd.dvb.ipdcesgaccess2": { - "source": "iana", - }, - "application/vnd.dvb.ipdcesgpdd": { - "source": "iana", - }, - "application/vnd.dvb.ipdcroaming": { - "source": "iana", - }, - "application/vnd.dvb.iptv.alfec-base": { - "source": "iana", - }, - "application/vnd.dvb.iptv.alfec-enhancement": { - "source": "iana", - }, - "application/vnd.dvb.notif-aggregate-root+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dvb.notif-container+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dvb.notif-generic+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dvb.notif-ia-msglist+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dvb.notif-ia-registration-request+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dvb.notif-ia-registration-response+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dvb.notif-init+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dvb.pfr": { - "source": "iana", - }, - "application/vnd.dvb.service": { - "source": "iana", - "extensions": ["svc"], - }, - "application/vnd.dxr": { - "source": "iana", - }, - "application/vnd.dynageo": { - "source": "iana", - "extensions": ["geo"], - }, - "application/vnd.dzr": { - "source": "iana", - }, - "application/vnd.easykaraoke.cdgdownload": { - "source": "iana", - }, - "application/vnd.ecdis-update": { - "source": "iana", - }, - "application/vnd.ecip.rlp": { - "source": "iana", - }, - "application/vnd.eclipse.ditto+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ecowin.chart": { - "source": "iana", - "extensions": ["mag"], - }, - "application/vnd.ecowin.filerequest": { - "source": "iana", - }, - "application/vnd.ecowin.fileupdate": { - "source": "iana", - }, - "application/vnd.ecowin.series": { - "source": "iana", - }, - "application/vnd.ecowin.seriesrequest": { - "source": "iana", - }, - "application/vnd.ecowin.seriesupdate": { - "source": "iana", - }, - "application/vnd.efi.img": { - "source": "iana", - }, - "application/vnd.efi.iso": { - "source": "iana", - }, - "application/vnd.eln+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.emclient.accessrequest+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.enliven": { - "source": "iana", - "extensions": ["nml"], - }, - "application/vnd.enphase.envoy": { - "source": "iana", - }, - "application/vnd.eprints.data+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.epson.esf": { - "source": "iana", - "extensions": ["esf"], - }, - "application/vnd.epson.msf": { - "source": "iana", - "extensions": ["msf"], - }, - "application/vnd.epson.quickanime": { - "source": "iana", - "extensions": ["qam"], - }, - "application/vnd.epson.salt": { - "source": "iana", - "extensions": ["slt"], - }, - "application/vnd.epson.ssf": { - "source": "iana", - "extensions": ["ssf"], - }, - "application/vnd.ericsson.quickcall": { - "source": "iana", - }, - "application/vnd.erofs": { - "source": "iana", - }, - "application/vnd.espass-espass+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.eszigno3+xml": { - "source": "iana", - "compressible": true, - "extensions": ["es3", "et3"], - }, - "application/vnd.etsi.aoc+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.asic-e+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.etsi.asic-s+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.etsi.cug+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvcommand+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvdiscovery+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvprofile+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvsad-bc+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvsad-cod+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvsad-npvr+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvservice+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvsync+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvueprofile+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.mcid+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.mheg5": { - "source": "iana", - }, - "application/vnd.etsi.overload-control-policy-dataset+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.pstn+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.sci+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.simservs+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.timestamp-token": { - "source": "iana", - }, - "application/vnd.etsi.tsl+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.tsl.der": { - "source": "iana", - }, - "application/vnd.eu.kasparian.car+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.eudora.data": { - "source": "iana", - }, - "application/vnd.evolv.ecig.profile": { - "source": "iana", - }, - "application/vnd.evolv.ecig.settings": { - "source": "iana", - }, - "application/vnd.evolv.ecig.theme": { - "source": "iana", - }, - "application/vnd.exstream-empower+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.exstream-package": { - "source": "iana", - }, - "application/vnd.ezpix-album": { - "source": "iana", - "extensions": ["ez2"], - }, - "application/vnd.ezpix-package": { - "source": "iana", - "extensions": ["ez3"], - }, - "application/vnd.f-secure.mobile": { - "source": "iana", - }, - "application/vnd.familysearch.gedcom+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.fastcopy-disk-image": { - "source": "iana", - }, - "application/vnd.fdf": { - "source": "apache", - "extensions": ["fdf"], - }, - "application/vnd.fdsn.mseed": { - "source": "iana", - "extensions": ["mseed"], - }, - "application/vnd.fdsn.seed": { - "source": "iana", - "extensions": ["seed", "dataless"], - }, - "application/vnd.ffsns": { - "source": "iana", - }, - "application/vnd.ficlab.flb+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.filmit.zfc": { - "source": "iana", - }, - "application/vnd.fints": { - "source": "iana", - }, - "application/vnd.firemonkeys.cloudcell": { - "source": "iana", - }, - "application/vnd.flographit": { - "source": "iana", - "extensions": ["gph"], - }, - "application/vnd.fluxtime.clip": { - "source": "iana", - "extensions": ["ftc"], - }, - "application/vnd.font-fontforge-sfd": { - "source": "iana", - }, - "application/vnd.framemaker": { - "source": "iana", - "extensions": ["fm", "frame", "maker", "book"], - }, - "application/vnd.freelog.comic": { - "source": "iana", - }, - "application/vnd.frogans.fnc": { - "source": "apache", - "extensions": ["fnc"], - }, - "application/vnd.frogans.ltf": { - "source": "apache", - "extensions": ["ltf"], - }, - "application/vnd.fsc.weblaunch": { - "source": "iana", - "extensions": ["fsc"], - }, - "application/vnd.fujifilm.fb.docuworks": { - "source": "iana", - }, - "application/vnd.fujifilm.fb.docuworks.binder": { - "source": "iana", - }, - "application/vnd.fujifilm.fb.docuworks.container": { - "source": "iana", - }, - "application/vnd.fujifilm.fb.jfi+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.fujitsu.oasys": { - "source": "iana", - "extensions": ["oas"], - }, - "application/vnd.fujitsu.oasys2": { - "source": "iana", - "extensions": ["oa2"], - }, - "application/vnd.fujitsu.oasys3": { - "source": "iana", - "extensions": ["oa3"], - }, - "application/vnd.fujitsu.oasysgp": { - "source": "iana", - "extensions": ["fg5"], - }, - "application/vnd.fujitsu.oasysprs": { - "source": "iana", - "extensions": ["bh2"], - }, - "application/vnd.fujixerox.art-ex": { - "source": "iana", - }, - "application/vnd.fujixerox.art4": { - "source": "iana", - }, - "application/vnd.fujixerox.ddd": { - "source": "iana", - "extensions": ["ddd"], - }, - "application/vnd.fujixerox.docuworks": { - "source": "iana", - "extensions": ["xdw"], - }, - "application/vnd.fujixerox.docuworks.binder": { - "source": "iana", - "extensions": ["xbd"], - }, - "application/vnd.fujixerox.docuworks.container": { - "source": "iana", - }, - "application/vnd.fujixerox.hbpl": { - "source": "iana", - }, - "application/vnd.fut-misnet": { - "source": "iana", - }, - "application/vnd.futoin+cbor": { - "source": "iana", - }, - "application/vnd.futoin+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.fuzzysheet": { - "source": "iana", - "extensions": ["fzs"], - }, - "application/vnd.ga4gh.passport+jwt": { - "source": "iana", - }, - "application/vnd.genomatix.tuxedo": { - "source": "iana", - "extensions": ["txd"], - }, - "application/vnd.genozip": { - "source": "iana", - }, - "application/vnd.gentics.grd+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.gentoo.catmetadata+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.gentoo.ebuild": { - "source": "iana", - }, - "application/vnd.gentoo.eclass": { - "source": "iana", - }, - "application/vnd.gentoo.gpkg": { - "source": "iana", - }, - "application/vnd.gentoo.manifest": { - "source": "iana", - }, - "application/vnd.gentoo.pkgmetadata+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.gentoo.xpak": { - "source": "iana", - }, - "application/vnd.geo+json": { - "source": "apache", - "compressible": true, - }, - "application/vnd.geocube+xml": { - "source": "apache", - "compressible": true, - }, - "application/vnd.geogebra.file": { - "source": "iana", - "extensions": ["ggb"], - }, - "application/vnd.geogebra.slides": { - "source": "iana", - "extensions": ["ggs"], - }, - "application/vnd.geogebra.tool": { - "source": "iana", - "extensions": ["ggt"], - }, - "application/vnd.geometry-explorer": { - "source": "iana", - "extensions": ["gex", "gre"], - }, - "application/vnd.geonext": { - "source": "iana", - "extensions": ["gxt"], - }, - "application/vnd.geoplan": { - "source": "iana", - "extensions": ["g2w"], - }, - "application/vnd.geospace": { - "source": "iana", - "extensions": ["g3w"], - }, - "application/vnd.gerber": { - "source": "iana", - }, - "application/vnd.globalplatform.card-content-mgt": { - "source": "iana", - }, - "application/vnd.globalplatform.card-content-mgt-response": { - "source": "iana", - }, - "application/vnd.gmx": { - "source": "iana", - "extensions": ["gmx"], - }, - "application/vnd.gnu.taler.exchange+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.gnu.taler.merchant+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.google-apps.document": { - "compressible": false, - "extensions": ["gdoc"], - }, - "application/vnd.google-apps.presentation": { - "compressible": false, - "extensions": ["gslides"], - }, - "application/vnd.google-apps.spreadsheet": { - "compressible": false, - "extensions": ["gsheet"], - }, - "application/vnd.google-earth.kml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["kml"], - }, - "application/vnd.google-earth.kmz": { - "source": "iana", - "compressible": false, - "extensions": ["kmz"], - }, - "application/vnd.gov.sk.e-form+xml": { - "source": "apache", - "compressible": true, - }, - "application/vnd.gov.sk.e-form+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.gov.sk.xmldatacontainer+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xdcf"], - }, - "application/vnd.gpxsee.map+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.grafeq": { - "source": "iana", - "extensions": ["gqf", "gqs"], - }, - "application/vnd.gridmp": { - "source": "iana", - }, - "application/vnd.groove-account": { - "source": "iana", - "extensions": ["gac"], - }, - "application/vnd.groove-help": { - "source": "iana", - "extensions": ["ghf"], - }, - "application/vnd.groove-identity-message": { - "source": "iana", - "extensions": ["gim"], - }, - "application/vnd.groove-injector": { - "source": "iana", - "extensions": ["grv"], - }, - "application/vnd.groove-tool-message": { - "source": "iana", - "extensions": ["gtm"], - }, - "application/vnd.groove-tool-template": { - "source": "iana", - "extensions": ["tpl"], - }, - "application/vnd.groove-vcard": { - "source": "iana", - "extensions": ["vcg"], - }, - "application/vnd.hal+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.hal+xml": { - "source": "iana", - "compressible": true, - "extensions": ["hal"], - }, - "application/vnd.handheld-entertainment+xml": { - "source": "iana", - "compressible": true, - "extensions": ["zmm"], - }, - "application/vnd.hbci": { - "source": "iana", - "extensions": ["hbci"], - }, - "application/vnd.hc+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.hcl-bireports": { - "source": "iana", - }, - "application/vnd.hdt": { - "source": "iana", - }, - "application/vnd.heroku+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.hhe.lesson-player": { - "source": "iana", - "extensions": ["les"], - }, - "application/vnd.hp-hpgl": { - "source": "iana", - "extensions": ["hpgl"], - }, - "application/vnd.hp-hpid": { - "source": "iana", - "extensions": ["hpid"], - }, - "application/vnd.hp-hps": { - "source": "iana", - "extensions": ["hps"], - }, - "application/vnd.hp-jlyt": { - "source": "iana", - "extensions": ["jlt"], - }, - "application/vnd.hp-pcl": { - "source": "iana", - "extensions": ["pcl"], - }, - "application/vnd.hp-pclxl": { - "source": "iana", - "extensions": ["pclxl"], - }, - "application/vnd.hsl": { - "source": "iana", - }, - "application/vnd.httphone": { - "source": "iana", - }, - "application/vnd.hydrostatix.sof-data": { - "source": "iana", - "extensions": ["sfd-hdstx"], - }, - "application/vnd.hyper+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.hyper-item+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.hyperdrive+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.hzn-3d-crossword": { - "source": "iana", - }, - "application/vnd.ibm.afplinedata": { - "source": "apache", - }, - "application/vnd.ibm.electronic-media": { - "source": "iana", - }, - "application/vnd.ibm.minipay": { - "source": "iana", - "extensions": ["mpy"], - }, - "application/vnd.ibm.modcap": { - "source": "apache", - "extensions": ["afp", "listafp", "list3820"], - }, - "application/vnd.ibm.rights-management": { - "source": "iana", - "extensions": ["irm"], - }, - "application/vnd.ibm.secure-container": { - "source": "iana", - "extensions": ["sc"], - }, - "application/vnd.iccprofile": { - "source": "iana", - "extensions": ["icc", "icm"], - }, - "application/vnd.ieee.1905": { - "source": "iana", - }, - "application/vnd.igloader": { - "source": "iana", - "extensions": ["igl"], - }, - "application/vnd.imagemeter.folder+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.imagemeter.image+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.immervision-ivp": { - "source": "iana", - "extensions": ["ivp"], - }, - "application/vnd.immervision-ivu": { - "source": "iana", - "extensions": ["ivu"], - }, - "application/vnd.ims.imsccv1p1": { - "source": "iana", - }, - "application/vnd.ims.imsccv1p2": { - "source": "iana", - }, - "application/vnd.ims.imsccv1p3": { - "source": "iana", - }, - "application/vnd.ims.lis.v2.result+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ims.lti.v2.toolconsumerprofile+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ims.lti.v2.toolproxy+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ims.lti.v2.toolproxy.id+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ims.lti.v2.toolsettings+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ims.lti.v2.toolsettings.simple+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.informedcontrol.rms+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.informix-visionary": { - "source": "apache", - }, - "application/vnd.infotech.project": { - "source": "iana", - }, - "application/vnd.infotech.project+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.innopath.wamp.notification": { - "source": "iana", - }, - "application/vnd.insors.igm": { - "source": "iana", - "extensions": ["igm"], - }, - "application/vnd.intercon.formnet": { - "source": "iana", - "extensions": ["xpw", "xpx"], - }, - "application/vnd.intergeo": { - "source": "iana", - "extensions": ["i2g"], - }, - "application/vnd.intertrust.digibox": { - "source": "iana", - }, - "application/vnd.intertrust.nncp": { - "source": "iana", - }, - "application/vnd.intu.qbo": { - "source": "iana", - "extensions": ["qbo"], - }, - "application/vnd.intu.qfx": { - "source": "iana", - "extensions": ["qfx"], - }, - "application/vnd.ipfs.ipns-record": { - "source": "iana", - }, - "application/vnd.ipld.car": { - "source": "iana", - }, - "application/vnd.ipld.dag-cbor": { - "source": "iana", - }, - "application/vnd.ipld.dag-json": { - "source": "iana", - }, - "application/vnd.ipld.raw": { - "source": "iana", - }, - "application/vnd.iptc.g2.catalogitem+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.iptc.g2.conceptitem+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.iptc.g2.knowledgeitem+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.iptc.g2.newsitem+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.iptc.g2.newsmessage+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.iptc.g2.packageitem+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.iptc.g2.planningitem+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ipunplugged.rcprofile": { - "source": "iana", - "extensions": ["rcprofile"], - }, - "application/vnd.irepository.package+xml": { - "source": "iana", - "compressible": true, - "extensions": ["irp"], - }, - "application/vnd.is-xpr": { - "source": "iana", - "extensions": ["xpr"], - }, - "application/vnd.isac.fcs": { - "source": "iana", - "extensions": ["fcs"], - }, - "application/vnd.iso11783-10+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.jam": { - "source": "iana", - "extensions": ["jam"], - }, - "application/vnd.japannet-directory-service": { - "source": "iana", - }, - "application/vnd.japannet-jpnstore-wakeup": { - "source": "iana", - }, - "application/vnd.japannet-payment-wakeup": { - "source": "iana", - }, - "application/vnd.japannet-registration": { - "source": "iana", - }, - "application/vnd.japannet-registration-wakeup": { - "source": "iana", - }, - "application/vnd.japannet-setstore-wakeup": { - "source": "iana", - }, - "application/vnd.japannet-verification": { - "source": "iana", - }, - "application/vnd.japannet-verification-wakeup": { - "source": "iana", - }, - "application/vnd.jcp.javame.midlet-rms": { - "source": "iana", - "extensions": ["rms"], - }, - "application/vnd.jisp": { - "source": "iana", - "extensions": ["jisp"], - }, - "application/vnd.joost.joda-archive": { - "source": "iana", - "extensions": ["joda"], - }, - "application/vnd.jsk.isdn-ngn": { - "source": "iana", - }, - "application/vnd.kahootz": { - "source": "iana", - "extensions": ["ktz", "ktr"], - }, - "application/vnd.kde.karbon": { - "source": "iana", - "extensions": ["karbon"], - }, - "application/vnd.kde.kchart": { - "source": "iana", - "extensions": ["chrt"], - }, - "application/vnd.kde.kformula": { - "source": "iana", - "extensions": ["kfo"], - }, - "application/vnd.kde.kivio": { - "source": "iana", - "extensions": ["flw"], - }, - "application/vnd.kde.kontour": { - "source": "iana", - "extensions": ["kon"], - }, - "application/vnd.kde.kpresenter": { - "source": "iana", - "extensions": ["kpr", "kpt"], - }, - "application/vnd.kde.kspread": { - "source": "iana", - "extensions": ["ksp"], - }, - "application/vnd.kde.kword": { - "source": "iana", - "extensions": ["kwd", "kwt"], - }, - "application/vnd.kenameaapp": { - "source": "iana", - "extensions": ["htke"], - }, - "application/vnd.kidspiration": { - "source": "iana", - "extensions": ["kia"], - }, - "application/vnd.kinar": { - "source": "iana", - "extensions": ["kne", "knp"], - }, - "application/vnd.koan": { - "source": "iana", - "extensions": ["skp", "skd", "skt", "skm"], - }, - "application/vnd.kodak-descriptor": { - "source": "iana", - "extensions": ["sse"], - }, - "application/vnd.las": { - "source": "iana", - }, - "application/vnd.las.las+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.las.las+xml": { - "source": "iana", - "compressible": true, - "extensions": ["lasxml"], - }, - "application/vnd.laszip": { - "source": "iana", - }, - "application/vnd.ldev.productlicensing": { - "source": "iana", - }, - "application/vnd.leap+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.liberty-request+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.llamagraphics.life-balance.desktop": { - "source": "iana", - "extensions": ["lbd"], - }, - "application/vnd.llamagraphics.life-balance.exchange+xml": { - "source": "iana", - "compressible": true, - "extensions": ["lbe"], - }, - "application/vnd.logipipe.circuit+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.loom": { - "source": "iana", - }, - "application/vnd.lotus-1-2-3": { - "source": "iana", - "extensions": ["123"], - }, - "application/vnd.lotus-approach": { - "source": "iana", - "extensions": ["apr"], - }, - "application/vnd.lotus-freelance": { - "source": "iana", - "extensions": ["pre"], - }, - "application/vnd.lotus-notes": { - "source": "iana", - "extensions": ["nsf"], - }, - "application/vnd.lotus-organizer": { - "source": "iana", - "extensions": ["org"], - }, - "application/vnd.lotus-screencam": { - "source": "iana", - "extensions": ["scm"], - }, - "application/vnd.lotus-wordpro": { - "source": "iana", - "extensions": ["lwp"], - }, - "application/vnd.macports.portpkg": { - "source": "iana", - "extensions": ["portpkg"], - }, - "application/vnd.mapbox-vector-tile": { - "source": "iana", - "extensions": ["mvt"], - }, - "application/vnd.marlin.drm.actiontoken+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.marlin.drm.conftoken+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.marlin.drm.license+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.marlin.drm.mdcf": { - "source": "iana", - }, - "application/vnd.mason+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.maxar.archive.3tz+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.maxmind.maxmind-db": { - "source": "iana", - }, - "application/vnd.mcd": { - "source": "iana", - "extensions": ["mcd"], - }, - "application/vnd.mdl": { - "source": "iana", - }, - "application/vnd.mdl-mbsdf": { - "source": "iana", - }, - "application/vnd.medcalcdata": { - "source": "iana", - "extensions": ["mc1"], - }, - "application/vnd.mediastation.cdkey": { - "source": "iana", - "extensions": ["cdkey"], - }, - "application/vnd.medicalholodeck.recordxr": { - "source": "iana", - }, - "application/vnd.meridian-slingshot": { - "source": "iana", - }, - "application/vnd.mermaid": { - "source": "iana", - }, - "application/vnd.mfer": { - "source": "iana", - "extensions": ["mwf"], - }, - "application/vnd.mfmp": { - "source": "iana", - "extensions": ["mfm"], - }, - "application/vnd.micro+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.micrografx.flo": { - "source": "iana", - "extensions": ["flo"], - }, - "application/vnd.micrografx.igx": { - "source": "iana", - "extensions": ["igx"], - }, - "application/vnd.microsoft.portable-executable": { - "source": "iana", - }, - "application/vnd.microsoft.windows.thumbnail-cache": { - "source": "iana", - }, - "application/vnd.miele+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.mif": { - "source": "iana", - "extensions": ["mif"], - }, - "application/vnd.minisoft-hp3000-save": { - "source": "iana", - }, - "application/vnd.mitsubishi.misty-guard.trustweb": { - "source": "iana", - }, - "application/vnd.mobius.daf": { - "source": "iana", - "extensions": ["daf"], - }, - "application/vnd.mobius.dis": { - "source": "iana", - "extensions": ["dis"], - }, - "application/vnd.mobius.mbk": { - "source": "iana", - "extensions": ["mbk"], - }, - "application/vnd.mobius.mqy": { - "source": "iana", - "extensions": ["mqy"], - }, - "application/vnd.mobius.msl": { - "source": "iana", - "extensions": ["msl"], - }, - "application/vnd.mobius.plc": { - "source": "iana", - "extensions": ["plc"], - }, - "application/vnd.mobius.txf": { - "source": "iana", - "extensions": ["txf"], - }, - "application/vnd.modl": { - "source": "iana", - }, - "application/vnd.mophun.application": { - "source": "iana", - "extensions": ["mpn"], - }, - "application/vnd.mophun.certificate": { - "source": "iana", - "extensions": ["mpc"], - }, - "application/vnd.motorola.flexsuite": { - "source": "iana", - }, - "application/vnd.motorola.flexsuite.adsi": { - "source": "iana", - }, - "application/vnd.motorola.flexsuite.fis": { - "source": "iana", - }, - "application/vnd.motorola.flexsuite.gotap": { - "source": "iana", - }, - "application/vnd.motorola.flexsuite.kmr": { - "source": "iana", - }, - "application/vnd.motorola.flexsuite.ttc": { - "source": "iana", - }, - "application/vnd.motorola.flexsuite.wem": { - "source": "iana", - }, - "application/vnd.motorola.iprm": { - "source": "iana", - }, - "application/vnd.mozilla.xul+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xul"], - }, - "application/vnd.ms-3mfdocument": { - "source": "iana", - }, - "application/vnd.ms-artgalry": { - "source": "iana", - "extensions": ["cil"], - }, - "application/vnd.ms-asf": { - "source": "iana", - }, - "application/vnd.ms-cab-compressed": { - "source": "iana", - "extensions": ["cab"], - }, - "application/vnd.ms-color.iccprofile": { - "source": "apache", - }, - "application/vnd.ms-excel": { - "source": "iana", - "compressible": false, - "extensions": ["xls", "xlm", "xla", "xlc", "xlt", "xlw"], - }, - "application/vnd.ms-excel.addin.macroenabled.12": { - "source": "iana", - "extensions": ["xlam"], - }, - "application/vnd.ms-excel.sheet.binary.macroenabled.12": { - "source": "iana", - "extensions": ["xlsb"], - }, - "application/vnd.ms-excel.sheet.macroenabled.12": { - "source": "iana", - "extensions": ["xlsm"], - }, - "application/vnd.ms-excel.template.macroenabled.12": { - "source": "iana", - "extensions": ["xltm"], - }, - "application/vnd.ms-fontobject": { - "source": "iana", - "compressible": true, - "extensions": ["eot"], - }, - "application/vnd.ms-htmlhelp": { - "source": "iana", - "extensions": ["chm"], - }, - "application/vnd.ms-ims": { - "source": "iana", - "extensions": ["ims"], - }, - "application/vnd.ms-lrm": { - "source": "iana", - "extensions": ["lrm"], - }, - "application/vnd.ms-office.activex+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ms-officetheme": { - "source": "iana", - "extensions": ["thmx"], - }, - "application/vnd.ms-opentype": { - "source": "apache", - "compressible": true, - }, - "application/vnd.ms-outlook": { - "compressible": false, - "extensions": ["msg"], - }, - "application/vnd.ms-package.obfuscated-opentype": { - "source": "apache", - }, - "application/vnd.ms-pki.seccat": { - "source": "apache", - "extensions": ["cat"], - }, - "application/vnd.ms-pki.stl": { - "source": "apache", - "extensions": ["stl"], - }, - "application/vnd.ms-playready.initiator+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ms-powerpoint": { - "source": "iana", - "compressible": false, - "extensions": ["ppt", "pps", "pot"], - }, - "application/vnd.ms-powerpoint.addin.macroenabled.12": { - "source": "iana", - "extensions": ["ppam"], - }, - "application/vnd.ms-powerpoint.presentation.macroenabled.12": { - "source": "iana", - "extensions": ["pptm"], - }, - "application/vnd.ms-powerpoint.slide.macroenabled.12": { - "source": "iana", - "extensions": ["sldm"], - }, - "application/vnd.ms-powerpoint.slideshow.macroenabled.12": { - "source": "iana", - "extensions": ["ppsm"], - }, - "application/vnd.ms-powerpoint.template.macroenabled.12": { - "source": "iana", - "extensions": ["potm"], - }, - "application/vnd.ms-printdevicecapabilities+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ms-printing.printticket+xml": { - "source": "apache", - "compressible": true, - }, - "application/vnd.ms-printschematicket+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ms-project": { - "source": "iana", - "extensions": ["mpp", "mpt"], - }, - "application/vnd.ms-tnef": { - "source": "iana", - }, - "application/vnd.ms-windows.devicepairing": { - "source": "iana", - }, - "application/vnd.ms-windows.nwprinting.oob": { - "source": "iana", - }, - "application/vnd.ms-windows.printerpairing": { - "source": "iana", - }, - "application/vnd.ms-windows.wsd.oob": { - "source": "iana", - }, - "application/vnd.ms-wmdrm.lic-chlg-req": { - "source": "iana", - }, - "application/vnd.ms-wmdrm.lic-resp": { - "source": "iana", - }, - "application/vnd.ms-wmdrm.meter-chlg-req": { - "source": "iana", - }, - "application/vnd.ms-wmdrm.meter-resp": { - "source": "iana", - }, - "application/vnd.ms-word.document.macroenabled.12": { - "source": "iana", - "extensions": ["docm"], - }, - "application/vnd.ms-word.template.macroenabled.12": { - "source": "iana", - "extensions": ["dotm"], - }, - "application/vnd.ms-works": { - "source": "iana", - "extensions": ["wps", "wks", "wcm", "wdb"], - }, - "application/vnd.ms-wpl": { - "source": "iana", - "extensions": ["wpl"], - }, - "application/vnd.ms-xpsdocument": { - "source": "iana", - "compressible": false, - "extensions": ["xps"], - }, - "application/vnd.msa-disk-image": { - "source": "iana", - }, - "application/vnd.mseq": { - "source": "iana", - "extensions": ["mseq"], - }, - "application/vnd.msgpack": { - "source": "iana", - }, - "application/vnd.msign": { - "source": "iana", - }, - "application/vnd.multiad.creator": { - "source": "iana", - }, - "application/vnd.multiad.creator.cif": { - "source": "iana", - }, - "application/vnd.music-niff": { - "source": "iana", - }, - "application/vnd.musician": { - "source": "iana", - "extensions": ["mus"], - }, - "application/vnd.muvee.style": { - "source": "iana", - "extensions": ["msty"], - }, - "application/vnd.mynfc": { - "source": "iana", - "extensions": ["taglet"], - }, - "application/vnd.nacamar.ybrid+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.nato.bindingdataobject+cbor": { - "source": "iana", - }, - "application/vnd.nato.bindingdataobject+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.nato.bindingdataobject+xml": { - "source": "iana", - "compressible": true, - "extensions": ["bdo"], - }, - "application/vnd.nato.openxmlformats-package.iepd+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.ncd.control": { - "source": "iana", - }, - "application/vnd.ncd.reference": { - "source": "iana", - }, - "application/vnd.nearst.inv+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.nebumind.line": { - "source": "iana", - }, - "application/vnd.nervana": { - "source": "iana", - }, - "application/vnd.netfpx": { - "source": "iana", - }, - "application/vnd.neurolanguage.nlu": { - "source": "iana", - "extensions": ["nlu"], - }, - "application/vnd.nimn": { - "source": "iana", - }, - "application/vnd.nintendo.nitro.rom": { - "source": "iana", - }, - "application/vnd.nintendo.snes.rom": { - "source": "iana", - }, - "application/vnd.nitf": { - "source": "iana", - "extensions": ["ntf", "nitf"], - }, - "application/vnd.noblenet-directory": { - "source": "iana", - "extensions": ["nnd"], - }, - "application/vnd.noblenet-sealer": { - "source": "iana", - "extensions": ["nns"], - }, - "application/vnd.noblenet-web": { - "source": "iana", - "extensions": ["nnw"], - }, - "application/vnd.nokia.catalogs": { - "source": "iana", - }, - "application/vnd.nokia.conml+wbxml": { - "source": "iana", - }, - "application/vnd.nokia.conml+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.nokia.iptv.config+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.nokia.isds-radio-presets": { - "source": "iana", - }, - "application/vnd.nokia.landmark+wbxml": { - "source": "iana", - }, - "application/vnd.nokia.landmark+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.nokia.landmarkcollection+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.nokia.n-gage.ac+xml": { - "source": "iana", - "compressible": true, - "extensions": ["ac"], - }, - "application/vnd.nokia.n-gage.data": { - "source": "iana", - "extensions": ["ngdat"], - }, - "application/vnd.nokia.n-gage.symbian.install": { - "source": "apache", - "extensions": ["n-gage"], - }, - "application/vnd.nokia.ncd": { - "source": "iana", - }, - "application/vnd.nokia.pcd+wbxml": { - "source": "iana", - }, - "application/vnd.nokia.pcd+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.nokia.radio-preset": { - "source": "iana", - "extensions": ["rpst"], - }, - "application/vnd.nokia.radio-presets": { - "source": "iana", - "extensions": ["rpss"], - }, - "application/vnd.novadigm.edm": { - "source": "iana", - "extensions": ["edm"], - }, - "application/vnd.novadigm.edx": { - "source": "iana", - "extensions": ["edx"], - }, - "application/vnd.novadigm.ext": { - "source": "iana", - "extensions": ["ext"], - }, - "application/vnd.ntt-local.content-share": { - "source": "iana", - }, - "application/vnd.ntt-local.file-transfer": { - "source": "iana", - }, - "application/vnd.ntt-local.ogw_remote-access": { - "source": "iana", - }, - "application/vnd.ntt-local.sip-ta_remote": { - "source": "iana", - }, - "application/vnd.ntt-local.sip-ta_tcp_stream": { - "source": "iana", - }, - "application/vnd.oai.workflows": { - "source": "iana", - }, - "application/vnd.oai.workflows+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oai.workflows+yaml": { - "source": "iana", - }, - "application/vnd.oasis.opendocument.base": { - "source": "iana", - }, - "application/vnd.oasis.opendocument.chart": { - "source": "iana", - "extensions": ["odc"], - }, - "application/vnd.oasis.opendocument.chart-template": { - "source": "iana", - "extensions": ["otc"], - }, - "application/vnd.oasis.opendocument.database": { - "source": "apache", - "extensions": ["odb"], - }, - "application/vnd.oasis.opendocument.formula": { - "source": "iana", - "extensions": ["odf"], - }, - "application/vnd.oasis.opendocument.formula-template": { - "source": "iana", - "extensions": ["odft"], - }, - "application/vnd.oasis.opendocument.graphics": { - "source": "iana", - "compressible": false, - "extensions": ["odg"], - }, - "application/vnd.oasis.opendocument.graphics-template": { - "source": "iana", - "extensions": ["otg"], - }, - "application/vnd.oasis.opendocument.image": { - "source": "iana", - "extensions": ["odi"], - }, - "application/vnd.oasis.opendocument.image-template": { - "source": "iana", - "extensions": ["oti"], - }, - "application/vnd.oasis.opendocument.presentation": { - "source": "iana", - "compressible": false, - "extensions": ["odp"], - }, - "application/vnd.oasis.opendocument.presentation-template": { - "source": "iana", - "extensions": ["otp"], - }, - "application/vnd.oasis.opendocument.spreadsheet": { - "source": "iana", - "compressible": false, - "extensions": ["ods"], - }, - "application/vnd.oasis.opendocument.spreadsheet-template": { - "source": "iana", - "extensions": ["ots"], - }, - "application/vnd.oasis.opendocument.text": { - "source": "iana", - "compressible": false, - "extensions": ["odt"], - }, - "application/vnd.oasis.opendocument.text-master": { - "source": "iana", - "extensions": ["odm"], - }, - "application/vnd.oasis.opendocument.text-master-template": { - "source": "iana", - }, - "application/vnd.oasis.opendocument.text-template": { - "source": "iana", - "extensions": ["ott"], - }, - "application/vnd.oasis.opendocument.text-web": { - "source": "iana", - "extensions": ["oth"], - }, - "application/vnd.obn": { - "source": "iana", - }, - "application/vnd.ocf+cbor": { - "source": "iana", - }, - "application/vnd.oci.image.manifest.v1+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oftn.l10n+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.contentaccessdownload+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.contentaccessstreaming+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.cspg-hexbinary": { - "source": "iana", - }, - "application/vnd.oipf.dae.svg+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.dae.xhtml+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.mippvcontrolmessage+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.pae.gem": { - "source": "iana", - }, - "application/vnd.oipf.spdiscovery+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.spdlist+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.ueprofile+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.userprofile+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.olpc-sugar": { - "source": "iana", - "extensions": ["xo"], - }, - "application/vnd.oma-scws-config": { - "source": "iana", - }, - "application/vnd.oma-scws-http-request": { - "source": "iana", - }, - "application/vnd.oma-scws-http-response": { - "source": "iana", - }, - "application/vnd.oma.bcast.associated-procedure-parameter+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.bcast.drm-trigger+xml": { - "source": "apache", - "compressible": true, - }, - "application/vnd.oma.bcast.imd+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.bcast.ltkm": { - "source": "iana", - }, - "application/vnd.oma.bcast.notification+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.bcast.provisioningtrigger": { - "source": "iana", - }, - "application/vnd.oma.bcast.sgboot": { - "source": "iana", - }, - "application/vnd.oma.bcast.sgdd+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.bcast.sgdu": { - "source": "iana", - }, - "application/vnd.oma.bcast.simple-symbol-container": { - "source": "iana", - }, - "application/vnd.oma.bcast.smartcard-trigger+xml": { - "source": "apache", - "compressible": true, - }, - "application/vnd.oma.bcast.sprov+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.bcast.stkm": { - "source": "iana", - }, - "application/vnd.oma.cab-address-book+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.cab-feature-handler+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.cab-pcc+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.cab-subs-invite+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.cab-user-prefs+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.dcd": { - "source": "iana", - }, - "application/vnd.oma.dcdc": { - "source": "iana", - }, - "application/vnd.oma.dd2+xml": { - "source": "iana", - "compressible": true, - "extensions": ["dd2"], - }, - "application/vnd.oma.drm.risd+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.group-usage-list+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.lwm2m+cbor": { - "source": "iana", - }, - "application/vnd.oma.lwm2m+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.lwm2m+tlv": { - "source": "iana", - }, - "application/vnd.oma.pal+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.poc.detailed-progress-report+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.poc.final-report+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.poc.groups+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.poc.invocation-descriptor+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.poc.optimized-progress-report+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.push": { - "source": "iana", - }, - "application/vnd.oma.scidm.messages+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.xcap-directory+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.omads-email+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/vnd.omads-file+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/vnd.omads-folder+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/vnd.omaloc-supl-init": { - "source": "iana", - }, - "application/vnd.onepager": { - "source": "iana", - }, - "application/vnd.onepagertamp": { - "source": "iana", - }, - "application/vnd.onepagertamx": { - "source": "iana", - }, - "application/vnd.onepagertat": { - "source": "iana", - }, - "application/vnd.onepagertatp": { - "source": "iana", - }, - "application/vnd.onepagertatx": { - "source": "iana", - }, - "application/vnd.onvif.metadata": { - "source": "iana", - }, - "application/vnd.openblox.game+xml": { - "source": "iana", - "compressible": true, - "extensions": ["obgx"], - }, - "application/vnd.openblox.game-binary": { - "source": "iana", - }, - "application/vnd.openeye.oeb": { - "source": "iana", - }, - "application/vnd.openofficeorg.extension": { - "source": "apache", - "extensions": ["oxt"], - }, - "application/vnd.openstreetmap.data+xml": { - "source": "iana", - "compressible": true, - "extensions": ["osm"], - }, - "application/vnd.opentimestamps.ots": { - "source": "iana", - }, - "application/vnd.openxmlformats-officedocument.custom-properties+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.drawing+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.extended-properties+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation": { - "source": "iana", - "compressible": false, - "extensions": ["pptx"], - }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.slide": { - "source": "iana", - "extensions": ["sldx"], - }, - "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.slideshow": { - "source": "iana", - "extensions": ["ppsx"], - }, - "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.template": { - "source": "iana", - "extensions": ["potx"], - }, - "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { - "source": "iana", - "compressible": false, - "extensions": ["xlsx"], - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.template": { - "source": "iana", - "extensions": ["xltx"], - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.theme+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.themeoverride+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.vmldrawing": { - "source": "iana", - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.document": { - "source": "iana", - "compressible": false, - "extensions": ["docx"], - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.template": { - "source": "iana", - "extensions": ["dotx"], - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-package.core-properties+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-package.relationships+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oracle.resource+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.orange.indata": { - "source": "iana", - }, - "application/vnd.osa.netdeploy": { - "source": "iana", - }, - "application/vnd.osgeo.mapguide.package": { - "source": "iana", - "extensions": ["mgp"], - }, - "application/vnd.osgi.bundle": { - "source": "iana", - }, - "application/vnd.osgi.dp": { - "source": "iana", - "extensions": ["dp"], - }, - "application/vnd.osgi.subsystem": { - "source": "iana", - "extensions": ["esa"], - }, - "application/vnd.otps.ct-kip+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oxli.countgraph": { - "source": "iana", - }, - "application/vnd.pagerduty+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.palm": { - "source": "iana", - "extensions": ["pdb", "pqa", "oprc"], - }, - "application/vnd.panoply": { - "source": "iana", - }, - "application/vnd.paos.xml": { - "source": "iana", - }, - "application/vnd.patentdive": { - "source": "iana", - }, - "application/vnd.patientecommsdoc": { - "source": "iana", - }, - "application/vnd.pawaafile": { - "source": "iana", - "extensions": ["paw"], - }, - "application/vnd.pcos": { - "source": "iana", - }, - "application/vnd.pg.format": { - "source": "iana", - "extensions": ["str"], - }, - "application/vnd.pg.osasli": { - "source": "iana", - "extensions": ["ei6"], - }, - "application/vnd.piaccess.application-licence": { - "source": "iana", - }, - "application/vnd.picsel": { - "source": "iana", - "extensions": ["efif"], - }, - "application/vnd.pmi.widget": { - "source": "iana", - "extensions": ["wg"], - }, - "application/vnd.poc.group-advertisement+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.pocketlearn": { - "source": "iana", - "extensions": ["plf"], - }, - "application/vnd.powerbuilder6": { - "source": "iana", - "extensions": ["pbd"], - }, - "application/vnd.powerbuilder6-s": { - "source": "iana", - }, - "application/vnd.powerbuilder7": { - "source": "iana", - }, - "application/vnd.powerbuilder7-s": { - "source": "iana", - }, - "application/vnd.powerbuilder75": { - "source": "iana", - }, - "application/vnd.powerbuilder75-s": { - "source": "iana", - }, - "application/vnd.preminet": { - "source": "iana", - }, - "application/vnd.previewsystems.box": { - "source": "iana", - "extensions": ["box"], - }, - "application/vnd.proteus.magazine": { - "source": "iana", - "extensions": ["mgz"], - }, - "application/vnd.psfs": { - "source": "iana", - }, - "application/vnd.pt.mundusmundi": { - "source": "iana", - }, - "application/vnd.publishare-delta-tree": { - "source": "iana", - "extensions": ["qps"], - }, - "application/vnd.pvi.ptid1": { - "source": "iana", - "extensions": ["ptid"], - }, - "application/vnd.pwg-multiplexed": { - "source": "iana", - }, - "application/vnd.pwg-xhtml-print+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xhtm"], - }, - "application/vnd.qualcomm.brew-app-res": { - "source": "iana", - }, - "application/vnd.quarantainenet": { - "source": "iana", - }, - "application/vnd.quark.quarkxpress": { - "source": "iana", - "extensions": ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"], - }, - "application/vnd.quobject-quoxdocument": { - "source": "iana", - }, - "application/vnd.radisys.moml+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-audit+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-audit-conf+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-audit-conn+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-audit-dialog+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-audit-stream+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-conf+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-dialog+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-dialog-base+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-dialog-fax-detect+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-dialog-group+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-dialog-speech+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-dialog-transform+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.rainstor.data": { - "source": "iana", - }, - "application/vnd.rapid": { - "source": "iana", - }, - "application/vnd.rar": { - "source": "iana", - "extensions": ["rar"], - }, - "application/vnd.realvnc.bed": { - "source": "iana", - "extensions": ["bed"], - }, - "application/vnd.recordare.musicxml": { - "source": "iana", - "extensions": ["mxl"], - }, - "application/vnd.recordare.musicxml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["musicxml"], - }, - "application/vnd.relpipe": { - "source": "iana", - }, - "application/vnd.renlearn.rlprint": { - "source": "iana", - }, - "application/vnd.resilient.logic": { - "source": "iana", - }, - "application/vnd.restful+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.rig.cryptonote": { - "source": "iana", - "extensions": ["cryptonote"], - }, - "application/vnd.rim.cod": { - "source": "apache", - "extensions": ["cod"], - }, - "application/vnd.rn-realmedia": { - "source": "apache", - "extensions": ["rm"], - }, - "application/vnd.rn-realmedia-vbr": { - "source": "apache", - "extensions": ["rmvb"], - }, - "application/vnd.route66.link66+xml": { - "source": "iana", - "compressible": true, - "extensions": ["link66"], - }, - "application/vnd.rs-274x": { - "source": "iana", - }, - "application/vnd.ruckus.download": { - "source": "iana", - }, - "application/vnd.s3sms": { - "source": "iana", - }, - "application/vnd.sailingtracker.track": { - "source": "iana", - "extensions": ["st"], - }, - "application/vnd.sar": { - "source": "iana", - }, - "application/vnd.sbm.cid": { - "source": "iana", - }, - "application/vnd.sbm.mid2": { - "source": "iana", - }, - "application/vnd.scribus": { - "source": "iana", - }, - "application/vnd.sealed.3df": { - "source": "iana", - }, - "application/vnd.sealed.csf": { - "source": "iana", - }, - "application/vnd.sealed.doc": { - "source": "iana", - }, - "application/vnd.sealed.eml": { - "source": "iana", - }, - "application/vnd.sealed.mht": { - "source": "iana", - }, - "application/vnd.sealed.net": { - "source": "iana", - }, - "application/vnd.sealed.ppt": { - "source": "iana", - }, - "application/vnd.sealed.tiff": { - "source": "iana", - }, - "application/vnd.sealed.xls": { - "source": "iana", - }, - "application/vnd.sealedmedia.softseal.html": { - "source": "iana", - }, - "application/vnd.sealedmedia.softseal.pdf": { - "source": "iana", - }, - "application/vnd.seemail": { - "source": "iana", - "extensions": ["see"], - }, - "application/vnd.seis+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.sema": { - "source": "iana", - "extensions": ["sema"], - }, - "application/vnd.semd": { - "source": "iana", - "extensions": ["semd"], - }, - "application/vnd.semf": { - "source": "iana", - "extensions": ["semf"], - }, - "application/vnd.shade-save-file": { - "source": "iana", - }, - "application/vnd.shana.informed.formdata": { - "source": "iana", - "extensions": ["ifm"], - }, - "application/vnd.shana.informed.formtemplate": { - "source": "iana", - "extensions": ["itp"], - }, - "application/vnd.shana.informed.interchange": { - "source": "iana", - "extensions": ["iif"], - }, - "application/vnd.shana.informed.package": { - "source": "iana", - "extensions": ["ipk"], - }, - "application/vnd.shootproof+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.shopkick+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.shp": { - "source": "iana", - }, - "application/vnd.shx": { - "source": "iana", - }, - "application/vnd.sigrok.session": { - "source": "iana", - }, - "application/vnd.simtech-mindmapper": { - "source": "iana", - "extensions": ["twd", "twds"], - }, - "application/vnd.siren+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.smaf": { - "source": "iana", - "extensions": ["mmf"], - }, - "application/vnd.smart.notebook": { - "source": "iana", - }, - "application/vnd.smart.teacher": { - "source": "iana", - "extensions": ["teacher"], - }, - "application/vnd.smintio.portals.archive": { - "source": "iana", - }, - "application/vnd.snesdev-page-table": { - "source": "iana", - }, - "application/vnd.software602.filler.form+xml": { - "source": "iana", - "compressible": true, - "extensions": ["fo"], - }, - "application/vnd.software602.filler.form-xml-zip": { - "source": "iana", - }, - "application/vnd.solent.sdkm+xml": { - "source": "iana", - "compressible": true, - "extensions": ["sdkm", "sdkd"], - }, - "application/vnd.spotfire.dxp": { - "source": "iana", - "extensions": ["dxp"], - }, - "application/vnd.spotfire.sfs": { - "source": "iana", - "extensions": ["sfs"], - }, - "application/vnd.sqlite3": { - "source": "iana", - }, - "application/vnd.sss-cod": { - "source": "iana", - }, - "application/vnd.sss-dtf": { - "source": "iana", - }, - "application/vnd.sss-ntf": { - "source": "iana", - }, - "application/vnd.stardivision.calc": { - "source": "apache", - "extensions": ["sdc"], - }, - "application/vnd.stardivision.draw": { - "source": "apache", - "extensions": ["sda"], - }, - "application/vnd.stardivision.impress": { - "source": "apache", - "extensions": ["sdd"], - }, - "application/vnd.stardivision.math": { - "source": "apache", - "extensions": ["smf"], - }, - "application/vnd.stardivision.writer": { - "source": "apache", - "extensions": ["sdw", "vor"], - }, - "application/vnd.stardivision.writer-global": { - "source": "apache", - "extensions": ["sgl"], - }, - "application/vnd.stepmania.package": { - "source": "iana", - "extensions": ["smzip"], - }, - "application/vnd.stepmania.stepchart": { - "source": "iana", - "extensions": ["sm"], - }, - "application/vnd.street-stream": { - "source": "iana", - }, - "application/vnd.sun.wadl+xml": { - "source": "iana", - "compressible": true, - "extensions": ["wadl"], - }, - "application/vnd.sun.xml.calc": { - "source": "apache", - "extensions": ["sxc"], - }, - "application/vnd.sun.xml.calc.template": { - "source": "apache", - "extensions": ["stc"], - }, - "application/vnd.sun.xml.draw": { - "source": "apache", - "extensions": ["sxd"], - }, - "application/vnd.sun.xml.draw.template": { - "source": "apache", - "extensions": ["std"], - }, - "application/vnd.sun.xml.impress": { - "source": "apache", - "extensions": ["sxi"], - }, - "application/vnd.sun.xml.impress.template": { - "source": "apache", - "extensions": ["sti"], - }, - "application/vnd.sun.xml.math": { - "source": "apache", - "extensions": ["sxm"], - }, - "application/vnd.sun.xml.writer": { - "source": "apache", - "extensions": ["sxw"], - }, - "application/vnd.sun.xml.writer.global": { - "source": "apache", - "extensions": ["sxg"], - }, - "application/vnd.sun.xml.writer.template": { - "source": "apache", - "extensions": ["stw"], - }, - "application/vnd.sus-calendar": { - "source": "iana", - "extensions": ["sus", "susp"], - }, - "application/vnd.svd": { - "source": "iana", - "extensions": ["svd"], - }, - "application/vnd.swiftview-ics": { - "source": "iana", - }, - "application/vnd.sybyl.mol2": { - "source": "iana", - }, - "application/vnd.sycle+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.syft+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.symbian.install": { - "source": "apache", - "extensions": ["sis", "sisx"], - }, - "application/vnd.syncml+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["xsm"], - }, - "application/vnd.syncml.dm+wbxml": { - "source": "iana", - "charset": "UTF-8", - "extensions": ["bdm"], - }, - "application/vnd.syncml.dm+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["xdm"], - }, - "application/vnd.syncml.dm.notification": { - "source": "iana", - }, - "application/vnd.syncml.dmddf+wbxml": { - "source": "iana", - }, - "application/vnd.syncml.dmddf+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["ddf"], - }, - "application/vnd.syncml.dmtnds+wbxml": { - "source": "iana", - }, - "application/vnd.syncml.dmtnds+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/vnd.syncml.ds.notification": { - "source": "iana", - }, - "application/vnd.tableschema+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.tao.intent-module-archive": { - "source": "iana", - "extensions": ["tao"], - }, - "application/vnd.tcpdump.pcap": { - "source": "iana", - "extensions": ["pcap", "cap", "dmp"], - }, - "application/vnd.think-cell.ppttc+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.tmd.mediaflex.api+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.tml": { - "source": "iana", - }, - "application/vnd.tmobile-livetv": { - "source": "iana", - "extensions": ["tmo"], - }, - "application/vnd.tri.onesource": { - "source": "iana", - }, - "application/vnd.trid.tpt": { - "source": "iana", - "extensions": ["tpt"], - }, - "application/vnd.triscape.mxs": { - "source": "iana", - "extensions": ["mxs"], - }, - "application/vnd.trueapp": { - "source": "iana", - "extensions": ["tra"], - }, - "application/vnd.truedoc": { - "source": "iana", - }, - "application/vnd.ubisoft.webplayer": { - "source": "iana", - }, - "application/vnd.ufdl": { - "source": "iana", - "extensions": ["ufd", "ufdl"], - }, - "application/vnd.uiq.theme": { - "source": "iana", - "extensions": ["utz"], - }, - "application/vnd.umajin": { - "source": "iana", - "extensions": ["umj"], - }, - "application/vnd.unity": { - "source": "iana", - "extensions": ["unityweb"], - }, - "application/vnd.uoml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["uoml", "uo"], - }, - "application/vnd.uplanet.alert": { - "source": "iana", - }, - "application/vnd.uplanet.alert-wbxml": { - "source": "iana", - }, - "application/vnd.uplanet.bearer-choice": { - "source": "iana", - }, - "application/vnd.uplanet.bearer-choice-wbxml": { - "source": "iana", - }, - "application/vnd.uplanet.cacheop": { - "source": "iana", - }, - "application/vnd.uplanet.cacheop-wbxml": { - "source": "iana", - }, - "application/vnd.uplanet.channel": { - "source": "iana", - }, - "application/vnd.uplanet.channel-wbxml": { - "source": "iana", - }, - "application/vnd.uplanet.list": { - "source": "iana", - }, - "application/vnd.uplanet.list-wbxml": { - "source": "iana", - }, - "application/vnd.uplanet.listcmd": { - "source": "iana", - }, - "application/vnd.uplanet.listcmd-wbxml": { - "source": "iana", - }, - "application/vnd.uplanet.signal": { - "source": "iana", - }, - "application/vnd.uri-map": { - "source": "iana", - }, - "application/vnd.valve.source.material": { - "source": "iana", - }, - "application/vnd.vcx": { - "source": "iana", - "extensions": ["vcx"], - }, - "application/vnd.vd-study": { - "source": "iana", - }, - "application/vnd.vectorworks": { - "source": "iana", - }, - "application/vnd.vel+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.verimatrix.vcas": { - "source": "iana", - }, - "application/vnd.veritone.aion+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.veryant.thin": { - "source": "iana", - }, - "application/vnd.ves.encrypted": { - "source": "iana", - }, - "application/vnd.vidsoft.vidconference": { - "source": "iana", - }, - "application/vnd.visio": { - "source": "iana", - "extensions": ["vsd", "vst", "vss", "vsw"], - }, - "application/vnd.visionary": { - "source": "iana", - "extensions": ["vis"], - }, - "application/vnd.vividence.scriptfile": { - "source": "iana", - }, - "application/vnd.vsf": { - "source": "iana", - "extensions": ["vsf"], - }, - "application/vnd.wap.sic": { - "source": "iana", - }, - "application/vnd.wap.slc": { - "source": "iana", - }, - "application/vnd.wap.wbxml": { - "source": "iana", - "charset": "UTF-8", - "extensions": ["wbxml"], - }, - "application/vnd.wap.wmlc": { - "source": "iana", - "extensions": ["wmlc"], - }, - "application/vnd.wap.wmlscriptc": { - "source": "iana", - "extensions": ["wmlsc"], - }, - "application/vnd.wasmflow.wafl": { - "source": "iana", - }, - "application/vnd.webturbo": { - "source": "iana", - "extensions": ["wtb"], - }, - "application/vnd.wfa.dpp": { - "source": "iana", - }, - "application/vnd.wfa.p2p": { - "source": "iana", - }, - "application/vnd.wfa.wsc": { - "source": "iana", - }, - "application/vnd.windows.devicepairing": { - "source": "iana", - }, - "application/vnd.wmc": { - "source": "iana", - }, - "application/vnd.wmf.bootstrap": { - "source": "iana", - }, - "application/vnd.wolfram.mathematica": { - "source": "iana", - }, - "application/vnd.wolfram.mathematica.package": { - "source": "iana", - }, - "application/vnd.wolfram.player": { - "source": "iana", - "extensions": ["nbp"], - }, - "application/vnd.wordlift": { - "source": "iana", - }, - "application/vnd.wordperfect": { - "source": "iana", - "extensions": ["wpd"], - }, - "application/vnd.wqd": { - "source": "iana", - "extensions": ["wqd"], - }, - "application/vnd.wrq-hp3000-labelled": { - "source": "iana", - }, - "application/vnd.wt.stf": { - "source": "iana", - "extensions": ["stf"], - }, - "application/vnd.wv.csp+wbxml": { - "source": "iana", - }, - "application/vnd.wv.csp+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.wv.ssp+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.xacml+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.xara": { - "source": "iana", - "extensions": ["xar"], - }, - "application/vnd.xecrets-encrypted": { - "source": "iana", - }, - "application/vnd.xfdl": { - "source": "iana", - "extensions": ["xfdl"], - }, - "application/vnd.xfdl.webform": { - "source": "iana", - }, - "application/vnd.xmi+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.xmpie.cpkg": { - "source": "iana", - }, - "application/vnd.xmpie.dpkg": { - "source": "iana", - }, - "application/vnd.xmpie.plan": { - "source": "iana", - }, - "application/vnd.xmpie.ppkg": { - "source": "iana", - }, - "application/vnd.xmpie.xlim": { - "source": "iana", - }, - "application/vnd.yamaha.hv-dic": { - "source": "iana", - "extensions": ["hvd"], - }, - "application/vnd.yamaha.hv-script": { - "source": "iana", - "extensions": ["hvs"], - }, - "application/vnd.yamaha.hv-voice": { - "source": "iana", - "extensions": ["hvp"], - }, - "application/vnd.yamaha.openscoreformat": { - "source": "iana", - "extensions": ["osf"], - }, - "application/vnd.yamaha.openscoreformat.osfpvg+xml": { - "source": "iana", - "compressible": true, - "extensions": ["osfpvg"], - }, - "application/vnd.yamaha.remote-setup": { - "source": "iana", - }, - "application/vnd.yamaha.smaf-audio": { - "source": "iana", - "extensions": ["saf"], - }, - "application/vnd.yamaha.smaf-phrase": { - "source": "iana", - "extensions": ["spf"], - }, - "application/vnd.yamaha.through-ngn": { - "source": "iana", - }, - "application/vnd.yamaha.tunnel-udpencap": { - "source": "iana", - }, - "application/vnd.yaoweme": { - "source": "iana", - }, - "application/vnd.yellowriver-custom-menu": { - "source": "iana", - "extensions": ["cmp"], - }, - "application/vnd.zul": { - "source": "iana", - "extensions": ["zir", "zirz"], - }, - "application/vnd.zzazz.deck+xml": { - "source": "iana", - "compressible": true, - "extensions": ["zaz"], - }, - "application/voicexml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["vxml"], - }, - "application/voucher-cms+json": { - "source": "iana", - "compressible": true, - }, - "application/vp": { - "source": "iana", - }, - "application/vq-rtcpxr": { - "source": "iana", - }, - "application/wasm": { - "source": "iana", - "compressible": true, - "extensions": ["wasm"], - }, - "application/watcherinfo+xml": { - "source": "iana", - "compressible": true, - "extensions": ["wif"], - }, - "application/webpush-options+json": { - "source": "iana", - "compressible": true, - }, - "application/whoispp-query": { - "source": "iana", - }, - "application/whoispp-response": { - "source": "iana", - }, - "application/widget": { - "source": "iana", - "extensions": ["wgt"], - }, - "application/winhlp": { - "source": "apache", - "extensions": ["hlp"], - }, - "application/wita": { - "source": "iana", - }, - "application/wordperfect5.1": { - "source": "iana", - }, - "application/wsdl+xml": { - "source": "iana", - "compressible": true, - "extensions": ["wsdl"], - }, - "application/wspolicy+xml": { - "source": "iana", - "compressible": true, - "extensions": ["wspolicy"], - }, - "application/x-7z-compressed": { - "source": "apache", - "compressible": false, - "extensions": ["7z"], - }, - "application/x-abiword": { - "source": "apache", - "extensions": ["abw"], - }, - "application/x-ace-compressed": { - "source": "apache", - "extensions": ["ace"], - }, - "application/x-amf": { - "source": "apache", - }, - "application/x-apple-diskimage": { - "source": "apache", - "extensions": ["dmg"], - }, - "application/x-arj": { - "compressible": false, - "extensions": ["arj"], - }, - "application/x-authorware-bin": { - "source": "apache", - "extensions": ["aab", "x32", "u32", "vox"], - }, - "application/x-authorware-map": { - "source": "apache", - "extensions": ["aam"], - }, - "application/x-authorware-seg": { - "source": "apache", - "extensions": ["aas"], - }, - "application/x-bcpio": { - "source": "apache", - "extensions": ["bcpio"], - }, - "application/x-bdoc": { - "compressible": false, - "extensions": ["bdoc"], - }, - "application/x-bittorrent": { - "source": "apache", - "extensions": ["torrent"], - }, - "application/x-blorb": { - "source": "apache", - "extensions": ["blb", "blorb"], - }, - "application/x-bzip": { - "source": "apache", - "compressible": false, - "extensions": ["bz"], - }, - "application/x-bzip2": { - "source": "apache", - "compressible": false, - "extensions": ["bz2", "boz"], - }, - "application/x-cbr": { - "source": "apache", - "extensions": ["cbr", "cba", "cbt", "cbz", "cb7"], - }, - "application/x-cdlink": { - "source": "apache", - "extensions": ["vcd"], - }, - "application/x-cfs-compressed": { - "source": "apache", - "extensions": ["cfs"], - }, - "application/x-chat": { - "source": "apache", - "extensions": ["chat"], - }, - "application/x-chess-pgn": { - "source": "apache", - "extensions": ["pgn"], - }, - "application/x-chrome-extension": { - "extensions": ["crx"], - }, - "application/x-cocoa": { - "source": "nginx", - "extensions": ["cco"], - }, - "application/x-compress": { - "source": "apache", - }, - "application/x-conference": { - "source": "apache", - "extensions": ["nsc"], - }, - "application/x-cpio": { - "source": "apache", - "extensions": ["cpio"], - }, - "application/x-csh": { - "source": "apache", - "extensions": ["csh"], - }, - "application/x-deb": { - "compressible": false, - }, - "application/x-debian-package": { - "source": "apache", - "extensions": ["deb", "udeb"], - }, - "application/x-dgc-compressed": { - "source": "apache", - "extensions": ["dgc"], - }, - "application/x-director": { - "source": "apache", - "extensions": [ - "dir", - "dcr", - "dxr", - "cst", - "cct", - "cxt", - "w3d", - "fgd", - "swa", - ], - }, - "application/x-doom": { - "source": "apache", - "extensions": ["wad"], - }, - "application/x-dtbncx+xml": { - "source": "apache", - "compressible": true, - "extensions": ["ncx"], - }, - "application/x-dtbook+xml": { - "source": "apache", - "compressible": true, - "extensions": ["dtb"], - }, - "application/x-dtbresource+xml": { - "source": "apache", - "compressible": true, - "extensions": ["res"], - }, - "application/x-dvi": { - "source": "apache", - "compressible": false, - "extensions": ["dvi"], - }, - "application/x-envoy": { - "source": "apache", - "extensions": ["evy"], - }, - "application/x-eva": { - "source": "apache", - "extensions": ["eva"], - }, - "application/x-font-bdf": { - "source": "apache", - "extensions": ["bdf"], - }, - "application/x-font-dos": { - "source": "apache", - }, - "application/x-font-framemaker": { - "source": "apache", - }, - "application/x-font-ghostscript": { - "source": "apache", - "extensions": ["gsf"], - }, - "application/x-font-libgrx": { - "source": "apache", - }, - "application/x-font-linux-psf": { - "source": "apache", - "extensions": ["psf"], - }, - "application/x-font-pcf": { - "source": "apache", - "extensions": ["pcf"], - }, - "application/x-font-snf": { - "source": "apache", - "extensions": ["snf"], - }, - "application/x-font-speedo": { - "source": "apache", - }, - "application/x-font-sunos-news": { - "source": "apache", - }, - "application/x-font-type1": { - "source": "apache", - "extensions": ["pfa", "pfb", "pfm", "afm"], - }, - "application/x-font-vfont": { - "source": "apache", - }, - "application/x-freearc": { - "source": "apache", - "extensions": ["arc"], - }, - "application/x-futuresplash": { - "source": "apache", - "extensions": ["spl"], - }, - "application/x-gca-compressed": { - "source": "apache", - "extensions": ["gca"], - }, - "application/x-glulx": { - "source": "apache", - "extensions": ["ulx"], - }, - "application/x-gnumeric": { - "source": "apache", - "extensions": ["gnumeric"], - }, - "application/x-gramps-xml": { - "source": "apache", - "extensions": ["gramps"], - }, - "application/x-gtar": { - "source": "apache", - "extensions": ["gtar"], - }, - "application/x-gzip": { - "source": "apache", - }, - "application/x-hdf": { - "source": "apache", - "extensions": ["hdf"], - }, - "application/x-httpd-php": { - "compressible": true, - "extensions": ["php"], - }, - "application/x-install-instructions": { - "source": "apache", - "extensions": ["install"], - }, - "application/x-iso9660-image": { - "source": "apache", - "extensions": ["iso"], - }, - "application/x-iwork-keynote-sffkey": { - "extensions": ["key"], - }, - "application/x-iwork-numbers-sffnumbers": { - "extensions": ["numbers"], - }, - "application/x-iwork-pages-sffpages": { - "extensions": ["pages"], - }, - "application/x-java-archive-diff": { - "source": "nginx", - "extensions": ["jardiff"], - }, - "application/x-java-jnlp-file": { - "source": "apache", - "compressible": false, - "extensions": ["jnlp"], - }, - "application/x-javascript": { - "compressible": true, - }, - "application/x-keepass2": { - "extensions": ["kdbx"], - }, - "application/x-latex": { - "source": "apache", - "compressible": false, - "extensions": ["latex"], - }, - "application/x-lua-bytecode": { - "extensions": ["luac"], - }, - "application/x-lzh-compressed": { - "source": "apache", - "extensions": ["lzh", "lha"], - }, - "application/x-makeself": { - "source": "nginx", - "extensions": ["run"], - }, - "application/x-mie": { - "source": "apache", - "extensions": ["mie"], - }, - "application/x-mobipocket-ebook": { - "source": "apache", - "extensions": ["prc", "mobi"], - }, - "application/x-mpegurl": { - "compressible": false, - }, - "application/x-ms-application": { - "source": "apache", - "extensions": ["application"], - }, - "application/x-ms-shortcut": { - "source": "apache", - "extensions": ["lnk"], - }, - "application/x-ms-wmd": { - "source": "apache", - "extensions": ["wmd"], - }, - "application/x-ms-wmz": { - "source": "apache", - "extensions": ["wmz"], - }, - "application/x-ms-xbap": { - "source": "apache", - "extensions": ["xbap"], - }, - "application/x-msaccess": { - "source": "apache", - "extensions": ["mdb"], - }, - "application/x-msbinder": { - "source": "apache", - "extensions": ["obd"], - }, - "application/x-mscardfile": { - "source": "apache", - "extensions": ["crd"], - }, - "application/x-msclip": { - "source": "apache", - "extensions": ["clp"], - }, - "application/x-msdos-program": { - "extensions": ["exe"], - }, - "application/x-msdownload": { - "source": "apache", - "extensions": ["exe", "dll", "com", "bat", "msi"], - }, - "application/x-msmediaview": { - "source": "apache", - "extensions": ["mvb", "m13", "m14"], - }, - "application/x-msmetafile": { - "source": "apache", - "extensions": ["wmf", "wmz", "emf", "emz"], - }, - "application/x-msmoney": { - "source": "apache", - "extensions": ["mny"], - }, - "application/x-mspublisher": { - "source": "apache", - "extensions": ["pub"], - }, - "application/x-msschedule": { - "source": "apache", - "extensions": ["scd"], - }, - "application/x-msterminal": { - "source": "apache", - "extensions": ["trm"], - }, - "application/x-mswrite": { - "source": "apache", - "extensions": ["wri"], - }, - "application/x-netcdf": { - "source": "apache", - "extensions": ["nc", "cdf"], - }, - "application/x-ns-proxy-autoconfig": { - "compressible": true, - "extensions": ["pac"], - }, - "application/x-nzb": { - "source": "apache", - "extensions": ["nzb"], - }, - "application/x-perl": { - "source": "nginx", - "extensions": ["pl", "pm"], - }, - "application/x-pilot": { - "source": "nginx", - "extensions": ["prc", "pdb"], - }, - "application/x-pkcs12": { - "source": "apache", - "compressible": false, - "extensions": ["p12", "pfx"], - }, - "application/x-pkcs7-certificates": { - "source": "apache", - "extensions": ["p7b", "spc"], - }, - "application/x-pkcs7-certreqresp": { - "source": "apache", - "extensions": ["p7r"], - }, - "application/x-pki-message": { - "source": "iana", - }, - "application/x-rar-compressed": { - "source": "apache", - "compressible": false, - "extensions": ["rar"], - }, - "application/x-redhat-package-manager": { - "source": "nginx", - "extensions": ["rpm"], - }, - "application/x-research-info-systems": { - "source": "apache", - "extensions": ["ris"], - }, - "application/x-sea": { - "source": "nginx", - "extensions": ["sea"], - }, - "application/x-sh": { - "source": "apache", - "compressible": true, - "extensions": ["sh"], - }, - "application/x-shar": { - "source": "apache", - "extensions": ["shar"], - }, - "application/x-shockwave-flash": { - "source": "apache", - "compressible": false, - "extensions": ["swf"], - }, - "application/x-silverlight-app": { - "source": "apache", - "extensions": ["xap"], - }, - "application/x-sql": { - "source": "apache", - "extensions": ["sql"], - }, - "application/x-stuffit": { - "source": "apache", - "compressible": false, - "extensions": ["sit"], - }, - "application/x-stuffitx": { - "source": "apache", - "extensions": ["sitx"], - }, - "application/x-subrip": { - "source": "apache", - "extensions": ["srt"], - }, - "application/x-sv4cpio": { - "source": "apache", - "extensions": ["sv4cpio"], - }, - "application/x-sv4crc": { - "source": "apache", - "extensions": ["sv4crc"], - }, - "application/x-t3vm-image": { - "source": "apache", - "extensions": ["t3"], - }, - "application/x-tads": { - "source": "apache", - "extensions": ["gam"], - }, - "application/x-tar": { - "source": "apache", - "compressible": true, - "extensions": ["tar"], - }, - "application/x-tcl": { - "source": "apache", - "extensions": ["tcl", "tk"], - }, - "application/x-tex": { - "source": "apache", - "extensions": ["tex"], - }, - "application/x-tex-tfm": { - "source": "apache", - "extensions": ["tfm"], - }, - "application/x-texinfo": { - "source": "apache", - "extensions": ["texinfo", "texi"], - }, - "application/x-tgif": { - "source": "apache", - "extensions": ["obj"], - }, - "application/x-ustar": { - "source": "apache", - "extensions": ["ustar"], - }, - "application/x-virtualbox-hdd": { - "compressible": true, - "extensions": ["hdd"], - }, - "application/x-virtualbox-ova": { - "compressible": true, - "extensions": ["ova"], - }, - "application/x-virtualbox-ovf": { - "compressible": true, - "extensions": ["ovf"], - }, - "application/x-virtualbox-vbox": { - "compressible": true, - "extensions": ["vbox"], - }, - "application/x-virtualbox-vbox-extpack": { - "compressible": false, - "extensions": ["vbox-extpack"], - }, - "application/x-virtualbox-vdi": { - "compressible": true, - "extensions": ["vdi"], - }, - "application/x-virtualbox-vhd": { - "compressible": true, - "extensions": ["vhd"], - }, - "application/x-virtualbox-vmdk": { - "compressible": true, - "extensions": ["vmdk"], - }, - "application/x-wais-source": { - "source": "apache", - "extensions": ["src"], - }, - "application/x-web-app-manifest+json": { - "compressible": true, - "extensions": ["webapp"], - }, - "application/x-www-form-urlencoded": { - "source": "iana", - "compressible": true, - }, - "application/x-x509-ca-cert": { - "source": "iana", - "extensions": ["der", "crt", "pem"], - }, - "application/x-x509-ca-ra-cert": { - "source": "iana", - }, - "application/x-x509-next-ca-cert": { - "source": "iana", - }, - "application/x-xfig": { - "source": "apache", - "extensions": ["fig"], - }, - "application/x-xliff+xml": { - "source": "apache", - "compressible": true, - "extensions": ["xlf"], - }, - "application/x-xpinstall": { - "source": "apache", - "compressible": false, - "extensions": ["xpi"], - }, - "application/x-xz": { - "source": "apache", - "extensions": ["xz"], - }, - "application/x-zmachine": { - "source": "apache", - "extensions": ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"], - }, - "application/x400-bp": { - "source": "iana", - }, - "application/xacml+xml": { - "source": "iana", - "compressible": true, - }, - "application/xaml+xml": { - "source": "apache", - "compressible": true, - "extensions": ["xaml"], - }, - "application/xcap-att+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xav"], - }, - "application/xcap-caps+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xca"], - }, - "application/xcap-diff+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xdf"], - }, - "application/xcap-el+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xel"], - }, - "application/xcap-error+xml": { - "source": "iana", - "compressible": true, - }, - "application/xcap-ns+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xns"], - }, - "application/xcon-conference-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/xcon-conference-info-diff+xml": { - "source": "iana", - "compressible": true, - }, - "application/xenc+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xenc"], - }, - "application/xfdf": { - "source": "iana", - "extensions": ["xfdf"], - }, - "application/xhtml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xhtml", "xht"], - }, - "application/xhtml-voice+xml": { - "source": "apache", - "compressible": true, - }, - "application/xliff+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xlf"], - }, - "application/xml": { - "source": "iana", - "compressible": true, - "extensions": ["xml", "xsl", "xsd", "rng"], - }, - "application/xml-dtd": { - "source": "iana", - "compressible": true, - "extensions": ["dtd"], - }, - "application/xml-external-parsed-entity": { - "source": "iana", - }, - "application/xml-patch+xml": { - "source": "iana", - "compressible": true, - }, - "application/xmpp+xml": { - "source": "iana", - "compressible": true, - }, - "application/xop+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xop"], - }, - "application/xproc+xml": { - "source": "apache", - "compressible": true, - "extensions": ["xpl"], - }, - "application/xslt+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xsl", "xslt"], - }, - "application/xspf+xml": { - "source": "apache", - "compressible": true, - "extensions": ["xspf"], - }, - "application/xv+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mxml", "xhvml", "xvml", "xvm"], - }, - "application/yaml": { - "source": "iana", - }, - "application/yang": { - "source": "iana", - "extensions": ["yang"], - }, - "application/yang-data+cbor": { - "source": "iana", - }, - "application/yang-data+json": { - "source": "iana", - "compressible": true, - }, - "application/yang-data+xml": { - "source": "iana", - "compressible": true, - }, - "application/yang-patch+json": { - "source": "iana", - "compressible": true, - }, - "application/yang-patch+xml": { - "source": "iana", - "compressible": true, - }, - "application/yang-sid+json": { - "source": "iana", - "compressible": true, - }, - "application/yin+xml": { - "source": "iana", - "compressible": true, - "extensions": ["yin"], - }, - "application/zip": { - "source": "iana", - "compressible": false, - "extensions": ["zip"], - }, - "application/zlib": { - "source": "iana", - }, - "application/zstd": { - "source": "iana", - }, - "audio/1d-interleaved-parityfec": { - "source": "iana", - }, - "audio/32kadpcm": { - "source": "iana", - }, - "audio/3gpp": { - "source": "iana", - "compressible": false, - "extensions": ["3gpp"], - }, - "audio/3gpp2": { - "source": "iana", - }, - "audio/aac": { - "source": "iana", - "extensions": ["adts", "aac"], - }, - "audio/ac3": { - "source": "iana", - }, - "audio/adpcm": { - "source": "apache", - "extensions": ["adp"], - }, - "audio/amr": { - "source": "iana", - "extensions": ["amr"], - }, - "audio/amr-wb": { - "source": "iana", - }, - "audio/amr-wb+": { - "source": "iana", - }, - "audio/aptx": { - "source": "iana", - }, - "audio/asc": { - "source": "iana", - }, - "audio/atrac-advanced-lossless": { - "source": "iana", - }, - "audio/atrac-x": { - "source": "iana", - }, - "audio/atrac3": { - "source": "iana", - }, - "audio/basic": { - "source": "iana", - "compressible": false, - "extensions": ["au", "snd"], - }, - "audio/bv16": { - "source": "iana", - }, - "audio/bv32": { - "source": "iana", - }, - "audio/clearmode": { - "source": "iana", - }, - "audio/cn": { - "source": "iana", - }, - "audio/dat12": { - "source": "iana", - }, - "audio/dls": { - "source": "iana", - }, - "audio/dsr-es201108": { - "source": "iana", - }, - "audio/dsr-es202050": { - "source": "iana", - }, - "audio/dsr-es202211": { - "source": "iana", - }, - "audio/dsr-es202212": { - "source": "iana", - }, - "audio/dv": { - "source": "iana", - }, - "audio/dvi4": { - "source": "iana", - }, - "audio/eac3": { - "source": "iana", - }, - "audio/encaprtp": { - "source": "iana", - }, - "audio/evrc": { - "source": "iana", - }, - "audio/evrc-qcp": { - "source": "iana", - }, - "audio/evrc0": { - "source": "iana", - }, - "audio/evrc1": { - "source": "iana", - }, - "audio/evrcb": { - "source": "iana", - }, - "audio/evrcb0": { - "source": "iana", - }, - "audio/evrcb1": { - "source": "iana", - }, - "audio/evrcnw": { - "source": "iana", - }, - "audio/evrcnw0": { - "source": "iana", - }, - "audio/evrcnw1": { - "source": "iana", - }, - "audio/evrcwb": { - "source": "iana", - }, - "audio/evrcwb0": { - "source": "iana", - }, - "audio/evrcwb1": { - "source": "iana", - }, - "audio/evs": { - "source": "iana", - }, - "audio/flac": { - "source": "iana", - }, - "audio/flexfec": { - "source": "iana", - }, - "audio/fwdred": { - "source": "iana", - }, - "audio/g711-0": { - "source": "iana", - }, - "audio/g719": { - "source": "iana", - }, - "audio/g722": { - "source": "iana", - }, - "audio/g7221": { - "source": "iana", - }, - "audio/g723": { - "source": "iana", - }, - "audio/g726-16": { - "source": "iana", - }, - "audio/g726-24": { - "source": "iana", - }, - "audio/g726-32": { - "source": "iana", - }, - "audio/g726-40": { - "source": "iana", - }, - "audio/g728": { - "source": "iana", - }, - "audio/g729": { - "source": "iana", - }, - "audio/g7291": { - "source": "iana", - }, - "audio/g729d": { - "source": "iana", - }, - "audio/g729e": { - "source": "iana", - }, - "audio/gsm": { - "source": "iana", - }, - "audio/gsm-efr": { - "source": "iana", - }, - "audio/gsm-hr-08": { - "source": "iana", - }, - "audio/ilbc": { - "source": "iana", - }, - "audio/ip-mr_v2.5": { - "source": "iana", - }, - "audio/isac": { - "source": "apache", - }, - "audio/l16": { - "source": "iana", - }, - "audio/l20": { - "source": "iana", - }, - "audio/l24": { - "source": "iana", - "compressible": false, - }, - "audio/l8": { - "source": "iana", - }, - "audio/lpc": { - "source": "iana", - }, - "audio/matroska": { - "source": "iana", - }, - "audio/melp": { - "source": "iana", - }, - "audio/melp1200": { - "source": "iana", - }, - "audio/melp2400": { - "source": "iana", - }, - "audio/melp600": { - "source": "iana", - }, - "audio/mhas": { - "source": "iana", - }, - "audio/midi": { - "source": "apache", - "extensions": ["mid", "midi", "kar", "rmi"], - }, - "audio/midi-clip": { - "source": "iana", - }, - "audio/mobile-xmf": { - "source": "iana", - "extensions": ["mxmf"], - }, - "audio/mp3": { - "compressible": false, - "extensions": ["mp3"], - }, - "audio/mp4": { - "source": "iana", - "compressible": false, - "extensions": ["m4a", "mp4a"], - }, - "audio/mp4a-latm": { - "source": "iana", - }, - "audio/mpa": { - "source": "iana", - }, - "audio/mpa-robust": { - "source": "iana", - }, - "audio/mpeg": { - "source": "iana", - "compressible": false, - "extensions": ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"], - }, - "audio/mpeg4-generic": { - "source": "iana", - }, - "audio/musepack": { - "source": "apache", - }, - "audio/ogg": { - "source": "iana", - "compressible": false, - "extensions": ["oga", "ogg", "spx", "opus"], - }, - "audio/opus": { - "source": "iana", - }, - "audio/parityfec": { - "source": "iana", - }, - "audio/pcma": { - "source": "iana", - }, - "audio/pcma-wb": { - "source": "iana", - }, - "audio/pcmu": { - "source": "iana", - }, - "audio/pcmu-wb": { - "source": "iana", - }, - "audio/prs.sid": { - "source": "iana", - }, - "audio/qcelp": { - "source": "iana", - }, - "audio/raptorfec": { - "source": "iana", - }, - "audio/red": { - "source": "iana", - }, - "audio/rtp-enc-aescm128": { - "source": "iana", - }, - "audio/rtp-midi": { - "source": "iana", - }, - "audio/rtploopback": { - "source": "iana", - }, - "audio/rtx": { - "source": "iana", - }, - "audio/s3m": { - "source": "apache", - "extensions": ["s3m"], - }, - "audio/scip": { - "source": "iana", - }, - "audio/silk": { - "source": "apache", - "extensions": ["sil"], - }, - "audio/smv": { - "source": "iana", - }, - "audio/smv-qcp": { - "source": "iana", - }, - "audio/smv0": { - "source": "iana", - }, - "audio/sofa": { - "source": "iana", - }, - "audio/sp-midi": { - "source": "iana", - }, - "audio/speex": { - "source": "iana", - }, - "audio/t140c": { - "source": "iana", - }, - "audio/t38": { - "source": "iana", - }, - "audio/telephone-event": { - "source": "iana", - }, - "audio/tetra_acelp": { - "source": "iana", - }, - "audio/tetra_acelp_bb": { - "source": "iana", - }, - "audio/tone": { - "source": "iana", - }, - "audio/tsvcis": { - "source": "iana", - }, - "audio/uemclip": { - "source": "iana", - }, - "audio/ulpfec": { - "source": "iana", - }, - "audio/usac": { - "source": "iana", - }, - "audio/vdvi": { - "source": "iana", - }, - "audio/vmr-wb": { - "source": "iana", - }, - "audio/vnd.3gpp.iufp": { - "source": "iana", - }, - "audio/vnd.4sb": { - "source": "iana", - }, - "audio/vnd.audiokoz": { - "source": "iana", - }, - "audio/vnd.celp": { - "source": "iana", - }, - "audio/vnd.cisco.nse": { - "source": "iana", - }, - "audio/vnd.cmles.radio-events": { - "source": "iana", - }, - "audio/vnd.cns.anp1": { - "source": "iana", - }, - "audio/vnd.cns.inf1": { - "source": "iana", - }, - "audio/vnd.dece.audio": { - "source": "iana", - "extensions": ["uva", "uvva"], - }, - "audio/vnd.digital-winds": { - "source": "iana", - "extensions": ["eol"], - }, - "audio/vnd.dlna.adts": { - "source": "iana", - }, - "audio/vnd.dolby.heaac.1": { - "source": "iana", - }, - "audio/vnd.dolby.heaac.2": { - "source": "iana", - }, - "audio/vnd.dolby.mlp": { - "source": "iana", - }, - "audio/vnd.dolby.mps": { - "source": "iana", - }, - "audio/vnd.dolby.pl2": { - "source": "iana", - }, - "audio/vnd.dolby.pl2x": { - "source": "iana", - }, - "audio/vnd.dolby.pl2z": { - "source": "iana", - }, - "audio/vnd.dolby.pulse.1": { - "source": "iana", - }, - "audio/vnd.dra": { - "source": "iana", - "extensions": ["dra"], - }, - "audio/vnd.dts": { - "source": "iana", - "extensions": ["dts"], - }, - "audio/vnd.dts.hd": { - "source": "iana", - "extensions": ["dtshd"], - }, - "audio/vnd.dts.uhd": { - "source": "iana", - }, - "audio/vnd.dvb.file": { - "source": "iana", - }, - "audio/vnd.everad.plj": { - "source": "iana", - }, - "audio/vnd.hns.audio": { - "source": "iana", - }, - "audio/vnd.lucent.voice": { - "source": "iana", - "extensions": ["lvp"], - }, - "audio/vnd.ms-playready.media.pya": { - "source": "iana", - "extensions": ["pya"], - }, - "audio/vnd.nokia.mobile-xmf": { - "source": "iana", - }, - "audio/vnd.nortel.vbk": { - "source": "iana", - }, - "audio/vnd.nuera.ecelp4800": { - "source": "iana", - "extensions": ["ecelp4800"], - }, - "audio/vnd.nuera.ecelp7470": { - "source": "iana", - "extensions": ["ecelp7470"], - }, - "audio/vnd.nuera.ecelp9600": { - "source": "iana", - "extensions": ["ecelp9600"], - }, - "audio/vnd.octel.sbc": { - "source": "iana", - }, - "audio/vnd.presonus.multitrack": { - "source": "iana", - }, - "audio/vnd.qcelp": { - "source": "apache", - }, - "audio/vnd.rhetorex.32kadpcm": { - "source": "iana", - }, - "audio/vnd.rip": { - "source": "iana", - "extensions": ["rip"], - }, - "audio/vnd.rn-realaudio": { - "compressible": false, - }, - "audio/vnd.sealedmedia.softseal.mpeg": { - "source": "iana", - }, - "audio/vnd.vmx.cvsd": { - "source": "iana", - }, - "audio/vnd.wave": { - "compressible": false, - }, - "audio/vorbis": { - "source": "iana", - "compressible": false, - }, - "audio/vorbis-config": { - "source": "iana", - }, - "audio/wav": { - "compressible": false, - "extensions": ["wav"], - }, - "audio/wave": { - "compressible": false, - "extensions": ["wav"], - }, - "audio/webm": { - "source": "apache", - "compressible": false, - "extensions": ["weba"], - }, - "audio/x-aac": { - "source": "apache", - "compressible": false, - "extensions": ["aac"], - }, - "audio/x-aiff": { - "source": "apache", - "extensions": ["aif", "aiff", "aifc"], - }, - "audio/x-caf": { - "source": "apache", - "compressible": false, - "extensions": ["caf"], - }, - "audio/x-flac": { - "source": "apache", - "extensions": ["flac"], - }, - "audio/x-m4a": { - "source": "nginx", - "extensions": ["m4a"], - }, - "audio/x-matroska": { - "source": "apache", - "extensions": ["mka"], - }, - "audio/x-mpegurl": { - "source": "apache", - "extensions": ["m3u"], - }, - "audio/x-ms-wax": { - "source": "apache", - "extensions": ["wax"], - }, - "audio/x-ms-wma": { - "source": "apache", - "extensions": ["wma"], - }, - "audio/x-pn-realaudio": { - "source": "apache", - "extensions": ["ram", "ra"], - }, - "audio/x-pn-realaudio-plugin": { - "source": "apache", - "extensions": ["rmp"], - }, - "audio/x-realaudio": { - "source": "nginx", - "extensions": ["ra"], - }, - "audio/x-tta": { - "source": "apache", - }, - "audio/x-wav": { - "source": "apache", - "extensions": ["wav"], - }, - "audio/xm": { - "source": "apache", - "extensions": ["xm"], - }, - "chemical/x-cdx": { - "source": "apache", - "extensions": ["cdx"], - }, - "chemical/x-cif": { - "source": "apache", - "extensions": ["cif"], - }, - "chemical/x-cmdf": { - "source": "apache", - "extensions": ["cmdf"], - }, - "chemical/x-cml": { - "source": "apache", - "extensions": ["cml"], - }, - "chemical/x-csml": { - "source": "apache", - "extensions": ["csml"], - }, - "chemical/x-pdb": { - "source": "apache", - }, - "chemical/x-xyz": { - "source": "apache", - "extensions": ["xyz"], - }, - "font/collection": { - "source": "iana", - "extensions": ["ttc"], - }, - "font/otf": { - "source": "iana", - "compressible": true, - "extensions": ["otf"], - }, - "font/sfnt": { - "source": "iana", - }, - "font/ttf": { - "source": "iana", - "compressible": true, - "extensions": ["ttf"], - }, - "font/woff": { - "source": "iana", - "extensions": ["woff"], - }, - "font/woff2": { - "source": "iana", - "extensions": ["woff2"], - }, - "image/aces": { - "source": "iana", - "extensions": ["exr"], - }, - "image/apng": { - "source": "iana", - "compressible": false, - "extensions": ["apng"], - }, - "image/avci": { - "source": "iana", - "extensions": ["avci"], - }, - "image/avcs": { - "source": "iana", - "extensions": ["avcs"], - }, - "image/avif": { - "source": "iana", - "compressible": false, - "extensions": ["avif"], - }, - "image/bmp": { - "source": "iana", - "compressible": true, - "extensions": ["bmp", "dib"], - }, - "image/cgm": { - "source": "iana", - "extensions": ["cgm"], - }, - "image/dicom-rle": { - "source": "iana", - "extensions": ["drle"], - }, - "image/dpx": { - "source": "iana", - "extensions": ["dpx"], - }, - "image/emf": { - "source": "iana", - "extensions": ["emf"], - }, - "image/fits": { - "source": "iana", - "extensions": ["fits"], - }, - "image/g3fax": { - "source": "iana", - "extensions": ["g3"], - }, - "image/gif": { - "source": "iana", - "compressible": false, - "extensions": ["gif"], - }, - "image/heic": { - "source": "iana", - "extensions": ["heic"], - }, - "image/heic-sequence": { - "source": "iana", - "extensions": ["heics"], - }, - "image/heif": { - "source": "iana", - "extensions": ["heif"], - }, - "image/heif-sequence": { - "source": "iana", - "extensions": ["heifs"], - }, - "image/hej2k": { - "source": "iana", - "extensions": ["hej2"], - }, - "image/hsj2": { - "source": "iana", - "extensions": ["hsj2"], - }, - "image/ief": { - "source": "iana", - "extensions": ["ief"], - }, - "image/j2c": { - "source": "iana", - }, - "image/jls": { - "source": "iana", - "extensions": ["jls"], - }, - "image/jp2": { - "source": "iana", - "compressible": false, - "extensions": ["jp2", "jpg2"], - }, - "image/jpeg": { - "source": "iana", - "compressible": false, - "extensions": ["jpeg", "jpg", "jpe"], - }, - "image/jph": { - "source": "iana", - "extensions": ["jph"], - }, - "image/jphc": { - "source": "iana", - "extensions": ["jhc"], - }, - "image/jpm": { - "source": "iana", - "compressible": false, - "extensions": ["jpm", "jpgm"], - }, - "image/jpx": { - "source": "iana", - "compressible": false, - "extensions": ["jpx", "jpf"], - }, - "image/jxl": { - "source": "iana", - "extensions": ["jxl"], - }, - "image/jxr": { - "source": "iana", - "extensions": ["jxr"], - }, - "image/jxra": { - "source": "iana", - "extensions": ["jxra"], - }, - "image/jxrs": { - "source": "iana", - "extensions": ["jxrs"], - }, - "image/jxs": { - "source": "iana", - "extensions": ["jxs"], - }, - "image/jxsc": { - "source": "iana", - "extensions": ["jxsc"], - }, - "image/jxsi": { - "source": "iana", - "extensions": ["jxsi"], - }, - "image/jxss": { - "source": "iana", - "extensions": ["jxss"], - }, - "image/ktx": { - "source": "iana", - "extensions": ["ktx"], - }, - "image/ktx2": { - "source": "iana", - "extensions": ["ktx2"], - }, - "image/naplps": { - "source": "iana", - }, - "image/pjpeg": { - "compressible": false, - }, - "image/png": { - "source": "iana", - "compressible": false, - "extensions": ["png"], - }, - "image/prs.btif": { - "source": "iana", - "extensions": ["btif", "btf"], - }, - "image/prs.pti": { - "source": "iana", - "extensions": ["pti"], - }, - "image/pwg-raster": { - "source": "iana", - }, - "image/sgi": { - "source": "apache", - "extensions": ["sgi"], - }, - "image/svg+xml": { - "source": "iana", - "compressible": true, - "extensions": ["svg", "svgz"], - }, - "image/t38": { - "source": "iana", - "extensions": ["t38"], - }, - "image/tiff": { - "source": "iana", - "compressible": false, - "extensions": ["tif", "tiff"], - }, - "image/tiff-fx": { - "source": "iana", - "extensions": ["tfx"], - }, - "image/vnd.adobe.photoshop": { - "source": "iana", - "compressible": true, - "extensions": ["psd"], - }, - "image/vnd.airzip.accelerator.azv": { - "source": "iana", - "extensions": ["azv"], - }, - "image/vnd.cns.inf2": { - "source": "iana", - }, - "image/vnd.dece.graphic": { - "source": "iana", - "extensions": ["uvi", "uvvi", "uvg", "uvvg"], - }, - "image/vnd.djvu": { - "source": "iana", - "extensions": ["djvu", "djv"], - }, - "image/vnd.dvb.subtitle": { - "source": "iana", - "extensions": ["sub"], - }, - "image/vnd.dwg": { - "source": "iana", - "extensions": ["dwg"], - }, - "image/vnd.dxf": { - "source": "iana", - "extensions": ["dxf"], - }, - "image/vnd.fastbidsheet": { - "source": "iana", - "extensions": ["fbs"], - }, - "image/vnd.fpx": { - "source": "iana", - "extensions": ["fpx"], - }, - "image/vnd.fst": { - "source": "iana", - "extensions": ["fst"], - }, - "image/vnd.fujixerox.edmics-mmr": { - "source": "iana", - "extensions": ["mmr"], - }, - "image/vnd.fujixerox.edmics-rlc": { - "source": "iana", - "extensions": ["rlc"], - }, - "image/vnd.globalgraphics.pgb": { - "source": "iana", - }, - "image/vnd.microsoft.icon": { - "source": "iana", - "compressible": true, - "extensions": ["ico"], - }, - "image/vnd.mix": { - "source": "iana", - }, - "image/vnd.mozilla.apng": { - "source": "iana", - }, - "image/vnd.ms-dds": { - "compressible": true, - "extensions": ["dds"], - }, - "image/vnd.ms-modi": { - "source": "iana", - "extensions": ["mdi"], - }, - "image/vnd.ms-photo": { - "source": "apache", - "extensions": ["wdp"], - }, - "image/vnd.net-fpx": { - "source": "iana", - "extensions": ["npx"], - }, - "image/vnd.pco.b16": { - "source": "iana", - "extensions": ["b16"], - }, - "image/vnd.radiance": { - "source": "iana", - }, - "image/vnd.sealed.png": { - "source": "iana", - }, - "image/vnd.sealedmedia.softseal.gif": { - "source": "iana", - }, - "image/vnd.sealedmedia.softseal.jpg": { - "source": "iana", - }, - "image/vnd.svf": { - "source": "iana", - }, - "image/vnd.tencent.tap": { - "source": "iana", - "extensions": ["tap"], - }, - "image/vnd.valve.source.texture": { - "source": "iana", - "extensions": ["vtf"], - }, - "image/vnd.wap.wbmp": { - "source": "iana", - "extensions": ["wbmp"], - }, - "image/vnd.xiff": { - "source": "iana", - "extensions": ["xif"], - }, - "image/vnd.zbrush.pcx": { - "source": "iana", - "extensions": ["pcx"], - }, - "image/webp": { - "source": "iana", - "extensions": ["webp"], - }, - "image/wmf": { - "source": "iana", - "extensions": ["wmf"], - }, - "image/x-3ds": { - "source": "apache", - "extensions": ["3ds"], - }, - "image/x-cmu-raster": { - "source": "apache", - "extensions": ["ras"], - }, - "image/x-cmx": { - "source": "apache", - "extensions": ["cmx"], - }, - "image/x-freehand": { - "source": "apache", - "extensions": ["fh", "fhc", "fh4", "fh5", "fh7"], - }, - "image/x-icon": { - "source": "apache", - "compressible": true, - "extensions": ["ico"], - }, - "image/x-jng": { - "source": "nginx", - "extensions": ["jng"], - }, - "image/x-mrsid-image": { - "source": "apache", - "extensions": ["sid"], - }, - "image/x-ms-bmp": { - "source": "nginx", - "compressible": true, - "extensions": ["bmp"], - }, - "image/x-pcx": { - "source": "apache", - "extensions": ["pcx"], - }, - "image/x-pict": { - "source": "apache", - "extensions": ["pic", "pct"], - }, - "image/x-portable-anymap": { - "source": "apache", - "extensions": ["pnm"], - }, - "image/x-portable-bitmap": { - "source": "apache", - "extensions": ["pbm"], - }, - "image/x-portable-graymap": { - "source": "apache", - "extensions": ["pgm"], - }, - "image/x-portable-pixmap": { - "source": "apache", - "extensions": ["ppm"], - }, - "image/x-rgb": { - "source": "apache", - "extensions": ["rgb"], - }, - "image/x-tga": { - "source": "apache", - "extensions": ["tga"], - }, - "image/x-xbitmap": { - "source": "apache", - "extensions": ["xbm"], - }, - "image/x-xcf": { - "compressible": false, - }, - "image/x-xpixmap": { - "source": "apache", - "extensions": ["xpm"], - }, - "image/x-xwindowdump": { - "source": "apache", - "extensions": ["xwd"], - }, - "message/bhttp": { - "source": "iana", - }, - "message/cpim": { - "source": "iana", - }, - "message/delivery-status": { - "source": "iana", - }, - "message/disposition-notification": { - "source": "iana", - "extensions": [ - "disposition-notification", - ], - }, - "message/external-body": { - "source": "iana", - }, - "message/feedback-report": { - "source": "iana", - }, - "message/global": { - "source": "iana", - "extensions": ["u8msg"], - }, - "message/global-delivery-status": { - "source": "iana", - "extensions": ["u8dsn"], - }, - "message/global-disposition-notification": { - "source": "iana", - "extensions": ["u8mdn"], - }, - "message/global-headers": { - "source": "iana", - "extensions": ["u8hdr"], - }, - "message/http": { - "source": "iana", - "compressible": false, - }, - "message/imdn+xml": { - "source": "iana", - "compressible": true, - }, - "message/mls": { - "source": "iana", - }, - "message/news": { - "source": "apache", - }, - "message/ohttp-req": { - "source": "iana", - }, - "message/ohttp-res": { - "source": "iana", - }, - "message/partial": { - "source": "iana", - "compressible": false, - }, - "message/rfc822": { - "source": "iana", - "compressible": true, - "extensions": ["eml", "mime"], - }, - "message/s-http": { - "source": "apache", - }, - "message/sip": { - "source": "iana", - }, - "message/sipfrag": { - "source": "iana", - }, - "message/tracking-status": { - "source": "iana", - }, - "message/vnd.si.simp": { - "source": "apache", - }, - "message/vnd.wfa.wsc": { - "source": "iana", - "extensions": ["wsc"], - }, - "model/3mf": { - "source": "iana", - "extensions": ["3mf"], - }, - "model/e57": { - "source": "iana", - }, - "model/gltf+json": { - "source": "iana", - "compressible": true, - "extensions": ["gltf"], - }, - "model/gltf-binary": { - "source": "iana", - "compressible": true, - "extensions": ["glb"], - }, - "model/iges": { - "source": "iana", - "compressible": false, - "extensions": ["igs", "iges"], - }, - "model/jt": { - "source": "iana", - "extensions": ["jt"], - }, - "model/mesh": { - "source": "iana", - "compressible": false, - "extensions": ["msh", "mesh", "silo"], - }, - "model/mtl": { - "source": "iana", - "extensions": ["mtl"], - }, - "model/obj": { - "source": "iana", - "extensions": ["obj"], - }, - "model/prc": { - "source": "iana", - "extensions": ["prc"], - }, - "model/step": { - "source": "iana", - }, - "model/step+xml": { - "source": "iana", - "compressible": true, - "extensions": ["stpx"], - }, - "model/step+zip": { - "source": "iana", - "compressible": false, - "extensions": ["stpz"], - }, - "model/step-xml+zip": { - "source": "iana", - "compressible": false, - "extensions": ["stpxz"], - }, - "model/stl": { - "source": "iana", - "extensions": ["stl"], - }, - "model/u3d": { - "source": "iana", - "extensions": ["u3d"], - }, - "model/vnd.bary": { - "source": "iana", - "extensions": ["bary"], - }, - "model/vnd.cld": { - "source": "iana", - "extensions": ["cld"], - }, - "model/vnd.collada+xml": { - "source": "iana", - "compressible": true, - "extensions": ["dae"], - }, - "model/vnd.dwf": { - "source": "iana", - "extensions": ["dwf"], - }, - "model/vnd.flatland.3dml": { - "source": "iana", - }, - "model/vnd.gdl": { - "source": "iana", - "extensions": ["gdl"], - }, - "model/vnd.gs-gdl": { - "source": "apache", - }, - "model/vnd.gs.gdl": { - "source": "iana", - }, - "model/vnd.gtw": { - "source": "iana", - "extensions": ["gtw"], - }, - "model/vnd.moml+xml": { - "source": "iana", - "compressible": true, - }, - "model/vnd.mts": { - "source": "iana", - "extensions": ["mts"], - }, - "model/vnd.opengex": { - "source": "iana", - "extensions": ["ogex"], - }, - "model/vnd.parasolid.transmit.binary": { - "source": "iana", - "extensions": ["x_b"], - }, - "model/vnd.parasolid.transmit.text": { - "source": "iana", - "extensions": ["x_t"], - }, - "model/vnd.pytha.pyox": { - "source": "iana", - "extensions": ["pyo", "pyox"], - }, - "model/vnd.rosette.annotated-data-model": { - "source": "iana", - }, - "model/vnd.sap.vds": { - "source": "iana", - "extensions": ["vds"], - }, - "model/vnd.usda": { - "source": "iana", - "extensions": ["usda"], - }, - "model/vnd.usdz+zip": { - "source": "iana", - "compressible": false, - "extensions": ["usdz"], - }, - "model/vnd.valve.source.compiled-map": { - "source": "iana", - "extensions": ["bsp"], - }, - "model/vnd.vtu": { - "source": "iana", - "extensions": ["vtu"], - }, - "model/vrml": { - "source": "iana", - "compressible": false, - "extensions": ["wrl", "vrml"], - }, - "model/x3d+binary": { - "source": "apache", - "compressible": false, - "extensions": ["x3db", "x3dbz"], - }, - "model/x3d+fastinfoset": { - "source": "iana", - "extensions": ["x3db"], - }, - "model/x3d+vrml": { - "source": "apache", - "compressible": false, - "extensions": ["x3dv", "x3dvz"], - }, - "model/x3d+xml": { - "source": "iana", - "compressible": true, - "extensions": ["x3d", "x3dz"], - }, - "model/x3d-vrml": { - "source": "iana", - "extensions": ["x3dv"], - }, - "multipart/alternative": { - "source": "iana", - "compressible": false, - }, - "multipart/appledouble": { - "source": "iana", - }, - "multipart/byteranges": { - "source": "iana", - }, - "multipart/digest": { - "source": "iana", - }, - "multipart/encrypted": { - "source": "iana", - "compressible": false, - }, - "multipart/form-data": { - "source": "iana", - "compressible": false, - }, - "multipart/header-set": { - "source": "iana", - }, - "multipart/mixed": { - "source": "iana", - }, - "multipart/multilingual": { - "source": "iana", - }, - "multipart/parallel": { - "source": "iana", - }, - "multipart/related": { - "source": "iana", - "compressible": false, - }, - "multipart/report": { - "source": "iana", - }, - "multipart/signed": { - "source": "iana", - "compressible": false, - }, - "multipart/vnd.bint.med-plus": { - "source": "iana", - }, - "multipart/voice-message": { - "source": "iana", - }, - "multipart/x-mixed-replace": { - "source": "iana", - }, - "text/1d-interleaved-parityfec": { - "source": "iana", - }, - "text/cache-manifest": { - "source": "iana", - "compressible": true, - "extensions": ["appcache", "manifest"], - }, - "text/calendar": { - "source": "iana", - "extensions": ["ics", "ifb"], - }, - "text/calender": { - "compressible": true, - }, - "text/cmd": { - "compressible": true, - }, - "text/coffeescript": { - "extensions": ["coffee", "litcoffee"], - }, - "text/cql": { - "source": "iana", - }, - "text/cql-expression": { - "source": "iana", - }, - "text/cql-identifier": { - "source": "iana", - }, - "text/css": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["css"], - }, - "text/csv": { - "source": "iana", - "compressible": true, - "extensions": ["csv"], - }, - "text/csv-schema": { - "source": "iana", - }, - "text/directory": { - "source": "iana", - }, - "text/dns": { - "source": "iana", - }, - "text/ecmascript": { - "source": "apache", - }, - "text/encaprtp": { - "source": "iana", - }, - "text/enriched": { - "source": "iana", - }, - "text/fhirpath": { - "source": "iana", - }, - "text/flexfec": { - "source": "iana", - }, - "text/fwdred": { - "source": "iana", - }, - "text/gff3": { - "source": "iana", - }, - "text/grammar-ref-list": { - "source": "iana", - }, - "text/hl7v2": { - "source": "iana", - }, - "text/html": { - "source": "iana", - "compressible": true, - "extensions": ["html", "htm", "shtml"], - }, - "text/jade": { - "extensions": ["jade"], - }, - "text/javascript": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["js", "mjs"], - }, - "text/jcr-cnd": { - "source": "iana", - }, - "text/jsx": { - "compressible": true, - "extensions": ["jsx"], - }, - "text/less": { - "compressible": true, - "extensions": ["less"], - }, - "text/markdown": { - "source": "iana", - "compressible": true, - "extensions": ["md", "markdown"], - }, - "text/mathml": { - "source": "nginx", - "extensions": ["mml"], - }, - "text/mdx": { - "compressible": true, - "extensions": ["mdx"], - }, - "text/mizar": { - "source": "iana", - }, - "text/n3": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["n3"], - }, - "text/parameters": { - "source": "iana", - "charset": "UTF-8", - }, - "text/parityfec": { - "source": "iana", - }, - "text/plain": { - "source": "iana", - "compressible": true, - "extensions": ["txt", "text", "conf", "def", "list", "log", "in", "ini"], - }, - "text/provenance-notation": { - "source": "iana", - "charset": "UTF-8", - }, - "text/prs.fallenstein.rst": { - "source": "iana", - }, - "text/prs.lines.tag": { - "source": "iana", - "extensions": ["dsc"], - }, - "text/prs.prop.logic": { - "source": "iana", - }, - "text/prs.texi": { - "source": "iana", - }, - "text/raptorfec": { - "source": "iana", - }, - "text/red": { - "source": "iana", - }, - "text/rfc822-headers": { - "source": "iana", - }, - "text/richtext": { - "source": "iana", - "compressible": true, - "extensions": ["rtx"], - }, - "text/rtf": { - "source": "iana", - "compressible": true, - "extensions": ["rtf"], - }, - "text/rtp-enc-aescm128": { - "source": "iana", - }, - "text/rtploopback": { - "source": "iana", - }, - "text/rtx": { - "source": "iana", - }, - "text/sgml": { - "source": "iana", - "extensions": ["sgml", "sgm"], - }, - "text/shaclc": { - "source": "iana", - }, - "text/shex": { - "source": "iana", - "extensions": ["shex"], - }, - "text/slim": { - "extensions": ["slim", "slm"], - }, - "text/spdx": { - "source": "iana", - "extensions": ["spdx"], - }, - "text/strings": { - "source": "iana", - }, - "text/stylus": { - "extensions": ["stylus", "styl"], - }, - "text/t140": { - "source": "iana", - }, - "text/tab-separated-values": { - "source": "iana", - "compressible": true, - "extensions": ["tsv"], - }, - "text/troff": { - "source": "iana", - "extensions": ["t", "tr", "roff", "man", "me", "ms"], - }, - "text/turtle": { - "source": "iana", - "charset": "UTF-8", - "extensions": ["ttl"], - }, - "text/ulpfec": { - "source": "iana", - }, - "text/uri-list": { - "source": "iana", - "compressible": true, - "extensions": ["uri", "uris", "urls"], - }, - "text/vcard": { - "source": "iana", - "compressible": true, - "extensions": ["vcard"], - }, - "text/vnd.a": { - "source": "iana", - }, - "text/vnd.abc": { - "source": "iana", - }, - "text/vnd.ascii-art": { - "source": "iana", - }, - "text/vnd.curl": { - "source": "iana", - "extensions": ["curl"], - }, - "text/vnd.curl.dcurl": { - "source": "apache", - "extensions": ["dcurl"], - }, - "text/vnd.curl.mcurl": { - "source": "apache", - "extensions": ["mcurl"], - }, - "text/vnd.curl.scurl": { - "source": "apache", - "extensions": ["scurl"], - }, - "text/vnd.debian.copyright": { - "source": "iana", - "charset": "UTF-8", - }, - "text/vnd.dmclientscript": { - "source": "iana", - }, - "text/vnd.dvb.subtitle": { - "source": "iana", - "extensions": ["sub"], - }, - "text/vnd.esmertec.theme-descriptor": { - "source": "iana", - "charset": "UTF-8", - }, - "text/vnd.exchangeable": { - "source": "iana", - }, - "text/vnd.familysearch.gedcom": { - "source": "iana", - "extensions": ["ged"], - }, - "text/vnd.ficlab.flt": { - "source": "iana", - }, - "text/vnd.fly": { - "source": "iana", - "extensions": ["fly"], - }, - "text/vnd.fmi.flexstor": { - "source": "iana", - "extensions": ["flx"], - }, - "text/vnd.gml": { - "source": "iana", - }, - "text/vnd.graphviz": { - "source": "iana", - "extensions": ["gv"], - }, - "text/vnd.hans": { - "source": "iana", - }, - "text/vnd.hgl": { - "source": "iana", - }, - "text/vnd.in3d.3dml": { - "source": "iana", - "extensions": ["3dml"], - }, - "text/vnd.in3d.spot": { - "source": "iana", - "extensions": ["spot"], - }, - "text/vnd.iptc.newsml": { - "source": "iana", - }, - "text/vnd.iptc.nitf": { - "source": "iana", - }, - "text/vnd.latex-z": { - "source": "iana", - }, - "text/vnd.motorola.reflex": { - "source": "iana", - }, - "text/vnd.ms-mediapackage": { - "source": "iana", - }, - "text/vnd.net2phone.commcenter.command": { - "source": "iana", - }, - "text/vnd.radisys.msml-basic-layout": { - "source": "iana", - }, - "text/vnd.senx.warpscript": { - "source": "iana", - }, - "text/vnd.si.uricatalogue": { - "source": "apache", - }, - "text/vnd.sosi": { - "source": "iana", - }, - "text/vnd.sun.j2me.app-descriptor": { - "source": "iana", - "charset": "UTF-8", - "extensions": ["jad"], - }, - "text/vnd.trolltech.linguist": { - "source": "iana", - "charset": "UTF-8", - }, - "text/vnd.vcf": { - "source": "iana", - }, - "text/vnd.wap.si": { - "source": "iana", - }, - "text/vnd.wap.sl": { - "source": "iana", - }, - "text/vnd.wap.wml": { - "source": "iana", - "extensions": ["wml"], - }, - "text/vnd.wap.wmlscript": { - "source": "iana", - "extensions": ["wmls"], - }, - "text/vnd.zoo.kcl": { - "source": "iana", - }, - "text/vtt": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["vtt"], - }, - "text/wgsl": { - "source": "iana", - "extensions": ["wgsl"], - }, - "text/x-asm": { - "source": "apache", - "extensions": ["s", "asm"], - }, - "text/x-c": { - "source": "apache", - "extensions": ["c", "cc", "cxx", "cpp", "h", "hh", "dic"], - }, - "text/x-component": { - "source": "nginx", - "extensions": ["htc"], - }, - "text/x-fortran": { - "source": "apache", - "extensions": ["f", "for", "f77", "f90"], - }, - "text/x-gwt-rpc": { - "compressible": true, - }, - "text/x-handlebars-template": { - "extensions": ["hbs"], - }, - "text/x-java-source": { - "source": "apache", - "extensions": ["java"], - }, - "text/x-jquery-tmpl": { - "compressible": true, - }, - "text/x-lua": { - "extensions": ["lua"], - }, - "text/x-markdown": { - "compressible": true, - "extensions": ["mkd"], - }, - "text/x-nfo": { - "source": "apache", - "extensions": ["nfo"], - }, - "text/x-opml": { - "source": "apache", - "extensions": ["opml"], - }, - "text/x-org": { - "compressible": true, - "extensions": ["org"], - }, - "text/x-pascal": { - "source": "apache", - "extensions": ["p", "pas"], - }, - "text/x-processing": { - "compressible": true, - "extensions": ["pde"], - }, - "text/x-sass": { - "extensions": ["sass"], - }, - "text/x-scss": { - "extensions": ["scss"], - }, - "text/x-setext": { - "source": "apache", - "extensions": ["etx"], - }, - "text/x-sfv": { - "source": "apache", - "extensions": ["sfv"], - }, - "text/x-suse-ymp": { - "compressible": true, - "extensions": ["ymp"], - }, - "text/x-uuencode": { - "source": "apache", - "extensions": ["uu"], - }, - "text/x-vcalendar": { - "source": "apache", - "extensions": ["vcs"], - }, - "text/x-vcard": { - "source": "apache", - "extensions": ["vcf"], - }, - "text/xml": { - "source": "iana", - "compressible": true, - "extensions": ["xml"], - }, - "text/xml-external-parsed-entity": { - "source": "iana", - }, - "text/yaml": { - "compressible": true, - "extensions": ["yaml", "yml"], - }, - "video/1d-interleaved-parityfec": { - "source": "iana", - }, - "video/3gpp": { - "source": "iana", - "extensions": ["3gp", "3gpp"], - }, - "video/3gpp-tt": { - "source": "iana", - }, - "video/3gpp2": { - "source": "iana", - "extensions": ["3g2"], - }, - "video/av1": { - "source": "iana", - }, - "video/bmpeg": { - "source": "iana", - }, - "video/bt656": { - "source": "iana", - }, - "video/celb": { - "source": "iana", - }, - "video/dv": { - "source": "iana", - }, - "video/encaprtp": { - "source": "iana", - }, - "video/evc": { - "source": "iana", - }, - "video/ffv1": { - "source": "iana", - }, - "video/flexfec": { - "source": "iana", - }, - "video/h261": { - "source": "iana", - "extensions": ["h261"], - }, - "video/h263": { - "source": "iana", - "extensions": ["h263"], - }, - "video/h263-1998": { - "source": "iana", - }, - "video/h263-2000": { - "source": "iana", - }, - "video/h264": { - "source": "iana", - "extensions": ["h264"], - }, - "video/h264-rcdo": { - "source": "iana", - }, - "video/h264-svc": { - "source": "iana", - }, - "video/h265": { - "source": "iana", - }, - "video/h266": { - "source": "iana", - }, - "video/iso.segment": { - "source": "iana", - "extensions": ["m4s"], - }, - "video/jpeg": { - "source": "iana", - "extensions": ["jpgv"], - }, - "video/jpeg2000": { - "source": "iana", - }, - "video/jpm": { - "source": "apache", - "extensions": ["jpm", "jpgm"], - }, - "video/jxsv": { - "source": "iana", - }, - "video/matroska": { - "source": "iana", - }, - "video/matroska-3d": { - "source": "iana", - }, - "video/mj2": { - "source": "iana", - "extensions": ["mj2", "mjp2"], - }, - "video/mp1s": { - "source": "iana", - }, - "video/mp2p": { - "source": "iana", - }, - "video/mp2t": { - "source": "iana", - "extensions": ["ts", "m2t", "m2ts", "mts"], - }, - "video/mp4": { - "source": "iana", - "compressible": false, - "extensions": ["mp4", "mp4v", "mpg4"], - }, - "video/mp4v-es": { - "source": "iana", - }, - "video/mpeg": { - "source": "iana", - "compressible": false, - "extensions": ["mpeg", "mpg", "mpe", "m1v", "m2v"], - }, - "video/mpeg4-generic": { - "source": "iana", - }, - "video/mpv": { - "source": "iana", - }, - "video/nv": { - "source": "iana", - }, - "video/ogg": { - "source": "iana", - "compressible": false, - "extensions": ["ogv"], - }, - "video/parityfec": { - "source": "iana", - }, - "video/pointer": { - "source": "iana", - }, - "video/quicktime": { - "source": "iana", - "compressible": false, - "extensions": ["qt", "mov"], - }, - "video/raptorfec": { - "source": "iana", - }, - "video/raw": { - "source": "iana", - }, - "video/rtp-enc-aescm128": { - "source": "iana", - }, - "video/rtploopback": { - "source": "iana", - }, - "video/rtx": { - "source": "iana", - }, - "video/scip": { - "source": "iana", - }, - "video/smpte291": { - "source": "iana", - }, - "video/smpte292m": { - "source": "iana", - }, - "video/ulpfec": { - "source": "iana", - }, - "video/vc1": { - "source": "iana", - }, - "video/vc2": { - "source": "iana", - }, - "video/vnd.cctv": { - "source": "iana", - }, - "video/vnd.dece.hd": { - "source": "iana", - "extensions": ["uvh", "uvvh"], - }, - "video/vnd.dece.mobile": { - "source": "iana", - "extensions": ["uvm", "uvvm"], - }, - "video/vnd.dece.mp4": { - "source": "iana", - }, - "video/vnd.dece.pd": { - "source": "iana", - "extensions": ["uvp", "uvvp"], - }, - "video/vnd.dece.sd": { - "source": "iana", - "extensions": ["uvs", "uvvs"], - }, - "video/vnd.dece.video": { - "source": "iana", - "extensions": ["uvv", "uvvv"], - }, - "video/vnd.directv.mpeg": { - "source": "iana", - }, - "video/vnd.directv.mpeg-tts": { - "source": "iana", - }, - "video/vnd.dlna.mpeg-tts": { - "source": "iana", - }, - "video/vnd.dvb.file": { - "source": "iana", - "extensions": ["dvb"], - }, - "video/vnd.fvt": { - "source": "iana", - "extensions": ["fvt"], - }, - "video/vnd.hns.video": { - "source": "iana", - }, - "video/vnd.iptvforum.1dparityfec-1010": { - "source": "iana", - }, - "video/vnd.iptvforum.1dparityfec-2005": { - "source": "iana", - }, - "video/vnd.iptvforum.2dparityfec-1010": { - "source": "iana", - }, - "video/vnd.iptvforum.2dparityfec-2005": { - "source": "iana", - }, - "video/vnd.iptvforum.ttsavc": { - "source": "iana", - }, - "video/vnd.iptvforum.ttsmpeg2": { - "source": "iana", - }, - "video/vnd.motorola.video": { - "source": "iana", - }, - "video/vnd.motorola.videop": { - "source": "iana", - }, - "video/vnd.mpegurl": { - "source": "iana", - "extensions": ["mxu", "m4u"], - }, - "video/vnd.ms-playready.media.pyv": { - "source": "iana", - "extensions": ["pyv"], - }, - "video/vnd.nokia.interleaved-multimedia": { - "source": "iana", - }, - "video/vnd.nokia.mp4vr": { - "source": "iana", - }, - "video/vnd.nokia.videovoip": { - "source": "iana", - }, - "video/vnd.objectvideo": { - "source": "iana", - }, - "video/vnd.radgamettools.bink": { - "source": "iana", - }, - "video/vnd.radgamettools.smacker": { - "source": "apache", - }, - "video/vnd.sealed.mpeg1": { - "source": "iana", - }, - "video/vnd.sealed.mpeg4": { - "source": "iana", - }, - "video/vnd.sealed.swf": { - "source": "iana", - }, - "video/vnd.sealedmedia.softseal.mov": { - "source": "iana", - }, - "video/vnd.uvvu.mp4": { - "source": "iana", - "extensions": ["uvu", "uvvu"], - }, - "video/vnd.vivo": { - "source": "iana", - "extensions": ["viv"], - }, - "video/vnd.youtube.yt": { - "source": "iana", - }, - "video/vp8": { - "source": "iana", - }, - "video/vp9": { - "source": "iana", - }, - "video/webm": { - "source": "apache", - "compressible": false, - "extensions": ["webm"], - }, - "video/x-f4v": { - "source": "apache", - "extensions": ["f4v"], - }, - "video/x-fli": { - "source": "apache", - "extensions": ["fli"], - }, - "video/x-flv": { - "source": "apache", - "compressible": false, - "extensions": ["flv"], - }, - "video/x-m4v": { - "source": "apache", - "extensions": ["m4v"], - }, - "video/x-matroska": { - "source": "apache", - "compressible": false, - "extensions": ["mkv", "mk3d", "mks"], - }, - "video/x-mng": { - "source": "apache", - "extensions": ["mng"], - }, - "video/x-ms-asf": { - "source": "apache", - "extensions": ["asf", "asx"], - }, - "video/x-ms-vob": { - "source": "apache", - "extensions": ["vob"], - }, - "video/x-ms-wm": { - "source": "apache", - "extensions": ["wm"], - }, - "video/x-ms-wmv": { - "source": "apache", - "compressible": false, - "extensions": ["wmv"], - }, - "video/x-ms-wmx": { - "source": "apache", - "extensions": ["wmx"], - }, - "video/x-ms-wvx": { - "source": "apache", - "extensions": ["wvx"], - }, - "video/x-msvideo": { - "source": "apache", - "extensions": ["avi"], - }, - "video/x-sgi-movie": { - "source": "apache", - "extensions": ["movie"], - }, - "video/x-smv": { - "source": "apache", - "extensions": ["smv"], - }, - "x-conference/x-cooltalk": { - "source": "apache", - "extensions": ["ice"], - }, - "x-shader/x-fragment": { - "compressible": true, - }, - "x-shader/x-vertex": { - "compressible": true, - }, -}; diff --git a/package/esm/deps/jsr.io/@std/net/1.0.6/unstable_get_network_address.d.ts b/package/esm/deps/jsr.io/@std/net/1.0.6/unstable_get_network_address.d.ts deleted file mode 100644 index 3178e39..0000000 --- a/package/esm/deps/jsr.io/@std/net/1.0.6/unstable_get_network_address.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Gets the IPv4 or IPv6 network address of the machine. - * - * @experimental **UNSTABLE**: New API, yet to be vetted. - - * - * This is inspired by the util of the same name in - * {@linkcode https://www.npmjs.com/package/serve | npm:serve}. - * - * For more advanced use, use {@linkcode Deno.networkInterfaces} directly. - * - * @see {@link https://github.com/vercel/serve/blob/1ea55b1b5004f468159b54775e4fb3090fedbb2b/source/utilities/http.ts#L33} - * - * @param family The IP protocol version of the interface to get the address of. - * @returns The IPv4 network address of the machine or `undefined` if not found. - * - * @example Get the IPv4 network address (default) - * ```ts no-assert ignore - * import { getNetworkAddress } from "@std/net/unstable-get-network-address"; - * - * const hostname = getNetworkAddress()!; - * - * Deno.serve({ port: 0, hostname }, () => new Response("Hello, world!")); - * ``` - * - * @example Get the IPv6 network address - * ```ts no-assert ignore - * import { getNetworkAddress } from "@std/net/unstable-get-network-address"; - * - * const hostname = getNetworkAddress("IPv6")!; - * - * Deno.serve({ port: 0, hostname }, () => new Response("Hello, world!")); - * ``` - */ -import * as dntShim from "../../../../../_dnt.shims.js"; -export declare function getNetworkAddress(family?: dntShim.Deno.NetworkInterfaceInfo["family"]): string | undefined; -//# sourceMappingURL=unstable_get_network_address.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/net/1.0.6/unstable_get_network_address.d.ts.map b/package/esm/deps/jsr.io/@std/net/1.0.6/unstable_get_network_address.d.ts.map deleted file mode 100644 index 19350e9..0000000 --- a/package/esm/deps/jsr.io/@std/net/1.0.6/unstable_get_network_address.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"unstable_get_network_address.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/net/1.0.6/unstable_get_network_address.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,KAAK,OAAO,MAAM,8BAA8B,CAAC;AAExD,wBAAgB,iBAAiB,CAC/B,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAU,GAC3D,MAAM,GAAG,SAAS,CAYpB"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/net/1.0.6/unstable_get_network_address.js b/package/esm/deps/jsr.io/@std/net/1.0.6/unstable_get_network_address.js deleted file mode 100644 index 948256b..0000000 --- a/package/esm/deps/jsr.io/@std/net/1.0.6/unstable_get_network_address.js +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -/** - * Gets the IPv4 or IPv6 network address of the machine. - * - * @experimental **UNSTABLE**: New API, yet to be vetted. - - * - * This is inspired by the util of the same name in - * {@linkcode https://www.npmjs.com/package/serve | npm:serve}. - * - * For more advanced use, use {@linkcode Deno.networkInterfaces} directly. - * - * @see {@link https://github.com/vercel/serve/blob/1ea55b1b5004f468159b54775e4fb3090fedbb2b/source/utilities/http.ts#L33} - * - * @param family The IP protocol version of the interface to get the address of. - * @returns The IPv4 network address of the machine or `undefined` if not found. - * - * @example Get the IPv4 network address (default) - * ```ts no-assert ignore - * import { getNetworkAddress } from "@std/net/unstable-get-network-address"; - * - * const hostname = getNetworkAddress()!; - * - * Deno.serve({ port: 0, hostname }, () => new Response("Hello, world!")); - * ``` - * - * @example Get the IPv6 network address - * ```ts no-assert ignore - * import { getNetworkAddress } from "@std/net/unstable-get-network-address"; - * - * const hostname = getNetworkAddress("IPv6")!; - * - * Deno.serve({ port: 0, hostname }, () => new Response("Hello, world!")); - * ``` - */ -import * as dntShim from "../../../../../_dnt.shims.js"; -export function getNetworkAddress(family = "IPv4") { - return dntShim.Deno.networkInterfaces() - .find((i) => i.family === family && - i.mac !== "00:00:00:00:00:00" && - (family === "IPv4" - // Cannot lie within 127.0.0.0/8 - ? !i.address.startsWith("127") - // Cannot be loopback or link-local addresses - : !(i.address === "::1" || i.address === "fe80::1") && i.scopeid === 0)) - ?.address; -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/assert_path.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/assert_path.d.ts deleted file mode 100644 index a008406..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/assert_path.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function assertPath(path?: string): void; -//# sourceMappingURL=assert_path.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/assert_path.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/assert_path.d.ts.map deleted file mode 100644 index e4634ba..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/assert_path.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"assert_path.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/_common/assert_path.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,QAMvC"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/assert_path.js b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/assert_path.js deleted file mode 100644 index acf61f9..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/assert_path.js +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// Copyright the Browserify authors. MIT License. -export function assertPath(path) { - if (typeof path !== "string") { - throw new TypeError(`Path must be a string, received "${JSON.stringify(path)}"`); - } -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/constants.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/constants.d.ts deleted file mode 100644 index 33faded..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/constants.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -export declare const CHAR_UPPERCASE_A = 65; -export declare const CHAR_LOWERCASE_A = 97; -export declare const CHAR_UPPERCASE_Z = 90; -export declare const CHAR_LOWERCASE_Z = 122; -export declare const CHAR_DOT = 46; -export declare const CHAR_FORWARD_SLASH = 47; -export declare const CHAR_BACKWARD_SLASH = 92; -export declare const CHAR_VERTICAL_LINE = 124; -export declare const CHAR_COLON = 58; -export declare const CHAR_QUESTION_MARK = 63; -export declare const CHAR_UNDERSCORE = 95; -export declare const CHAR_LINE_FEED = 10; -export declare const CHAR_CARRIAGE_RETURN = 13; -export declare const CHAR_TAB = 9; -export declare const CHAR_FORM_FEED = 12; -export declare const CHAR_EXCLAMATION_MARK = 33; -export declare const CHAR_HASH = 35; -export declare const CHAR_SPACE = 32; -export declare const CHAR_NO_BREAK_SPACE = 160; -export declare const CHAR_ZERO_WIDTH_NOBREAK_SPACE = 65279; -export declare const CHAR_LEFT_SQUARE_BRACKET = 91; -export declare const CHAR_RIGHT_SQUARE_BRACKET = 93; -export declare const CHAR_LEFT_ANGLE_BRACKET = 60; -export declare const CHAR_RIGHT_ANGLE_BRACKET = 62; -export declare const CHAR_LEFT_CURLY_BRACKET = 123; -export declare const CHAR_RIGHT_CURLY_BRACKET = 125; -export declare const CHAR_HYPHEN_MINUS = 45; -export declare const CHAR_PLUS = 43; -export declare const CHAR_DOUBLE_QUOTE = 34; -export declare const CHAR_SINGLE_QUOTE = 39; -export declare const CHAR_PERCENT = 37; -export declare const CHAR_SEMICOLON = 59; -export declare const CHAR_CIRCUMFLEX_ACCENT = 94; -export declare const CHAR_GRAVE_ACCENT = 96; -export declare const CHAR_AT = 64; -export declare const CHAR_AMPERSAND = 38; -export declare const CHAR_EQUAL = 61; -export declare const CHAR_0 = 48; -export declare const CHAR_9 = 57; -//# sourceMappingURL=constants.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/constants.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/constants.d.ts.map deleted file mode 100644 index 8567f70..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/constants.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/_common/constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAGpC,eAAO,MAAM,QAAQ,KAAK,CAAC;AAC3B,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,QAAQ,IAAI,CAAC;AAC1B,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AACnD,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,OAAO,KAAK,CAAC;AAC1B,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,UAAU,KAAK,CAAC;AAG7B,eAAO,MAAM,MAAM,KAAK,CAAC;AACzB,eAAO,MAAM,MAAM,KAAK,CAAC"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/constants.js b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/constants.js deleted file mode 100644 index 41fed61..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/constants.js +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// Copyright the Browserify authors. MIT License. -// Ported from https://github.com/browserify/path-browserify/ -// This module is browser compatible. -// Alphabet chars. -export const CHAR_UPPERCASE_A = 65; /* A */ -export const CHAR_LOWERCASE_A = 97; /* a */ -export const CHAR_UPPERCASE_Z = 90; /* Z */ -export const CHAR_LOWERCASE_Z = 122; /* z */ -// Non-alphabetic chars. -export const CHAR_DOT = 46; /* . */ -export const CHAR_FORWARD_SLASH = 47; /* / */ -export const CHAR_BACKWARD_SLASH = 92; /* \ */ -export const CHAR_VERTICAL_LINE = 124; /* | */ -export const CHAR_COLON = 58; /* : */ -export const CHAR_QUESTION_MARK = 63; /* ? */ -export const CHAR_UNDERSCORE = 95; /* _ */ -export const CHAR_LINE_FEED = 10; /* \n */ -export const CHAR_CARRIAGE_RETURN = 13; /* \r */ -export const CHAR_TAB = 9; /* \t */ -export const CHAR_FORM_FEED = 12; /* \f */ -export const CHAR_EXCLAMATION_MARK = 33; /* ! */ -export const CHAR_HASH = 35; /* # */ -export const CHAR_SPACE = 32; /* */ -export const CHAR_NO_BREAK_SPACE = 160; /* \u00A0 */ -export const CHAR_ZERO_WIDTH_NOBREAK_SPACE = 65279; /* \uFEFF */ -export const CHAR_LEFT_SQUARE_BRACKET = 91; /* [ */ -export const CHAR_RIGHT_SQUARE_BRACKET = 93; /* ] */ -export const CHAR_LEFT_ANGLE_BRACKET = 60; /* < */ -export const CHAR_RIGHT_ANGLE_BRACKET = 62; /* > */ -export const CHAR_LEFT_CURLY_BRACKET = 123; /* { */ -export const CHAR_RIGHT_CURLY_BRACKET = 125; /* } */ -export const CHAR_HYPHEN_MINUS = 45; /* - */ -export const CHAR_PLUS = 43; /* + */ -export const CHAR_DOUBLE_QUOTE = 34; /* " */ -export const CHAR_SINGLE_QUOTE = 39; /* ' */ -export const CHAR_PERCENT = 37; /* % */ -export const CHAR_SEMICOLON = 59; /* ; */ -export const CHAR_CIRCUMFLEX_ACCENT = 94; /* ^ */ -export const CHAR_GRAVE_ACCENT = 96; /* ` */ -export const CHAR_AT = 64; /* @ */ -export const CHAR_AMPERSAND = 38; /* & */ -export const CHAR_EQUAL = 61; /* = */ -// Digits -export const CHAR_0 = 48; /* 0 */ -export const CHAR_9 = 57; /* 9 */ diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/from_file_url.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/from_file_url.d.ts deleted file mode 100644 index d1b6735..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/from_file_url.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function assertArg(url: URL | string): URL; -//# sourceMappingURL=from_file_url.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/from_file_url.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/from_file_url.d.ts.map deleted file mode 100644 index ba31920..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/from_file_url.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"from_file_url.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/_common/from_file_url.ts"],"names":[],"mappings":"AAGA,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,OAQ1C"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/from_file_url.js b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/from_file_url.js deleted file mode 100644 index 43ad218..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/from_file_url.js +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -export function assertArg(url) { - url = url instanceof URL ? url : new URL(url); - if (url.protocol !== "file:") { - throw new TypeError(`URL must be a file URL: received "${url.protocol}"`); - } - return url; -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize.d.ts deleted file mode 100644 index a426824..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function assertArg(path: string): "." | undefined; -//# sourceMappingURL=normalize.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize.d.ts.map deleted file mode 100644 index de5b258..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/_common/normalize.ts"],"names":[],"mappings":"AAKA,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,mBAGrC"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize.js b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize.js deleted file mode 100644 index 86efa13..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize.js +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { assertPath } from "./assert_path.js"; -export function assertArg(path) { - assertPath(path); - if (path.length === 0) - return "."; -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize_string.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize_string.d.ts deleted file mode 100644 index b082e21..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize_string.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function normalizeString(path: string, allowAboveRoot: boolean, separator: string, isPathSeparator: (code: number) => boolean): string; -//# sourceMappingURL=normalize_string.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize_string.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize_string.d.ts.map deleted file mode 100644 index 2de61dd..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize_string.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"normalize_string.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/_common/normalize_string.ts"],"names":[],"mappings":"AAQA,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,OAAO,EACvB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GACzC,MAAM,CA4DR"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize_string.js b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize_string.js deleted file mode 100644 index 05c1144..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/normalize_string.js +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// Copyright the Browserify authors. MIT License. -// Ported from https://github.com/browserify/path-browserify/ -// This module is browser compatible. -import { CHAR_DOT, CHAR_FORWARD_SLASH } from "./constants.js"; -// Resolves . and .. elements in a path with directory names -export function normalizeString(path, allowAboveRoot, separator, isPathSeparator) { - let res = ""; - let lastSegmentLength = 0; - let lastSlash = -1; - let dots = 0; - let code; - for (let i = 0; i <= path.length; ++i) { - if (i < path.length) - code = path.charCodeAt(i); - else if (isPathSeparator(code)) - break; - else - code = CHAR_FORWARD_SLASH; - if (isPathSeparator(code)) { - if (lastSlash === i - 1 || dots === 1) { - // NOOP - } - else if (lastSlash !== i - 1 && dots === 2) { - if (res.length < 2 || - lastSegmentLength !== 2 || - res.charCodeAt(res.length - 1) !== CHAR_DOT || - res.charCodeAt(res.length - 2) !== CHAR_DOT) { - if (res.length > 2) { - const lastSlashIndex = res.lastIndexOf(separator); - if (lastSlashIndex === -1) { - res = ""; - lastSegmentLength = 0; - } - else { - res = res.slice(0, lastSlashIndex); - lastSegmentLength = res.length - 1 - res.lastIndexOf(separator); - } - lastSlash = i; - dots = 0; - continue; - } - else if (res.length === 2 || res.length === 1) { - res = ""; - lastSegmentLength = 0; - lastSlash = i; - dots = 0; - continue; - } - } - if (allowAboveRoot) { - if (res.length > 0) - res += `${separator}..`; - else - res = ".."; - lastSegmentLength = 2; - } - } - else { - if (res.length > 0) - res += separator + path.slice(lastSlash + 1, i); - else - res = path.slice(lastSlash + 1, i); - lastSegmentLength = i - lastSlash - 1; - } - lastSlash = i; - dots = 0; - } - else if (code === CHAR_DOT && dots !== -1) { - ++dots; - } - else { - dots = -1; - } - } - return res; -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/relative.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/relative.d.ts deleted file mode 100644 index d15ee2e..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/relative.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function assertArgs(from: string, to: string): "" | undefined; -//# sourceMappingURL=relative.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/relative.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/relative.d.ts.map deleted file mode 100644 index 0f4c251..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/relative.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"relative.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/_common/relative.ts"],"names":[],"mappings":"AAKA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,kBAIlD"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/relative.js b/package/esm/deps/jsr.io/@std/path/1.1.2/_common/relative.js deleted file mode 100644 index 1ef0bc7..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/_common/relative.js +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { assertPath } from "./assert_path.js"; -export function assertArgs(from, to) { - assertPath(from); - assertPath(to); - if (from === to) - return ""; -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/constants.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/constants.d.ts deleted file mode 100644 index b7c469a..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/constants.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * The character used to separate entries in the PATH environment variable. - * On Windows, this is `;`. On all other platforms, this is `:`. - */ -export declare const DELIMITER: ";" | ":"; -/** - * The character used to separate components of a file path. - * On Windows, this is `\`. On all other platforms, this is `/`. - */ -export declare const SEPARATOR: "/" | "\\"; -/** - * A regular expression that matches one or more path separators. - */ -export declare const SEPARATOR_PATTERN: RegExp; -//# sourceMappingURL=constants.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/constants.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/constants.d.ts.map deleted file mode 100644 index 9ac82fe..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/constants.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/path/1.1.2/constants.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,SAAS,WAA0C,CAAC;AACjE;;;GAGG;AACH,eAAO,MAAM,SAAS,YAA2C,CAAC;AAClE;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAA+B,CAAC"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/constants.js b/package/esm/deps/jsr.io/@std/path/1.1.2/constants.js deleted file mode 100644 index 218864e..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/constants.js +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { isWindows } from "../../internal/1.0.10/os.js"; -/** - * The character used to separate entries in the PATH environment variable. - * On Windows, this is `;`. On all other platforms, this is `:`. - */ -export const DELIMITER = isWindows ? ";" : ":"; -/** - * The character used to separate components of a file path. - * On Windows, this is `\`. On all other platforms, this is `/`. - */ -export const SEPARATOR = isWindows ? "\\" : "/"; -/** - * A regular expression that matches one or more path separators. - */ -export const SEPARATOR_PATTERN = isWindows ? /[\\/]+/ : /\/+/; diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/extname.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/extname.d.ts deleted file mode 100644 index d8afd4c..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/extname.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Return the extension of the path with leading period ("."). - * - * @example Usage - * ```ts - * import { extname } from "@std/path/extname"; - * import { assertEquals } from "@std/assert"; - * - * if (Deno.build.os === "windows") { - * assertEquals(extname("C:\\home\\user\\Documents\\image.png"), ".png"); - * assertEquals(extname(new URL("file:///C:/home/user/Documents/image.png")), ".png"); - * } else { - * assertEquals(extname("/home/user/Documents/image.png"), ".png"); - * assertEquals(extname(new URL("file:///home/user/Documents/image.png")), ".png"); - * } - * ``` - * - * @param path Path with extension. - * @returns The file extension. E.g. returns `.ts` for `file.ts`. - */ -export declare function extname(path: string | URL): string; -//# sourceMappingURL=extname.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/extname.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/extname.d.ts.map deleted file mode 100644 index ad8aeac..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/extname.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"extname.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/path/1.1.2/extname.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,MAAM,CAElD"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/extname.js b/package/esm/deps/jsr.io/@std/path/1.1.2/extname.js deleted file mode 100644 index 077bc91..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/extname.js +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { isWindows } from "../../internal/1.0.10/os.js"; -import { extname as posixExtname } from "./posix/extname.js"; -import { extname as windowsExtname } from "./windows/extname.js"; -/** - * Return the extension of the path with leading period ("."). - * - * @example Usage - * ```ts - * import { extname } from "@std/path/extname"; - * import { assertEquals } from "@std/assert"; - * - * if (Deno.build.os === "windows") { - * assertEquals(extname("C:\\home\\user\\Documents\\image.png"), ".png"); - * assertEquals(extname(new URL("file:///C:/home/user/Documents/image.png")), ".png"); - * } else { - * assertEquals(extname("/home/user/Documents/image.png"), ".png"); - * assertEquals(extname(new URL("file:///home/user/Documents/image.png")), ".png"); - * } - * ``` - * - * @param path Path with extension. - * @returns The file extension. E.g. returns `.ts` for `file.ts`. - */ -export function extname(path) { - return isWindows ? windowsExtname(path) : posixExtname(path); -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/join.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/join.d.ts deleted file mode 100644 index 8e5215f..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/join.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Joins a sequence of paths, then normalizes the resulting path. - * - * @example Usage - * ```ts - * import { join } from "@std/path/join"; - * import { assertEquals } from "@std/assert"; - * - * if (Deno.build.os === "windows") { - * assertEquals(join("C:\\foo", "bar", "baz\\quux", "garply", ".."), "C:\\foo\\bar\\baz\\quux"); - * assertEquals(join(new URL("file:///C:/foo"), "bar", "baz/asdf", "quux", ".."), "C:\\foo\\bar\\baz\\asdf"); - * } else { - * assertEquals(join("/foo", "bar", "baz/quux", "garply", ".."), "/foo/bar/baz/quux"); - * assertEquals(join(new URL("file:///foo"), "bar", "baz/asdf", "quux", ".."), "/foo/bar/baz/asdf"); - * } - * ``` - * - * @param path The path to join. This can be string or file URL. - * @param paths Paths to be joined and normalized. - * @returns The joined and normalized path. - */ -export declare function join(path: string | URL, ...paths: string[]): string; -//# sourceMappingURL=join.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/join.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/join.d.ts.map deleted file mode 100644 index 10fb4b5..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/join.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/path/1.1.2/join.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAEnE"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/join.js b/package/esm/deps/jsr.io/@std/path/1.1.2/join.js deleted file mode 100644 index b6b1b4d..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/join.js +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { isWindows } from "../../internal/1.0.10/os.js"; -import { join as posixJoin } from "./posix/join.js"; -import { join as windowsJoin } from "./windows/join.js"; -/** - * Joins a sequence of paths, then normalizes the resulting path. - * - * @example Usage - * ```ts - * import { join } from "@std/path/join"; - * import { assertEquals } from "@std/assert"; - * - * if (Deno.build.os === "windows") { - * assertEquals(join("C:\\foo", "bar", "baz\\quux", "garply", ".."), "C:\\foo\\bar\\baz\\quux"); - * assertEquals(join(new URL("file:///C:/foo"), "bar", "baz/asdf", "quux", ".."), "C:\\foo\\bar\\baz\\asdf"); - * } else { - * assertEquals(join("/foo", "bar", "baz/quux", "garply", ".."), "/foo/bar/baz/quux"); - * assertEquals(join(new URL("file:///foo"), "bar", "baz/asdf", "quux", ".."), "/foo/bar/baz/asdf"); - * } - * ``` - * - * @param path The path to join. This can be string or file URL. - * @param paths Paths to be joined and normalized. - * @returns The joined and normalized path. - */ -export function join(path, ...paths) { - return isWindows ? windowsJoin(path, ...paths) : posixJoin(path, ...paths); -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/_util.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/_util.d.ts deleted file mode 100644 index 2bfb4c8..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/_util.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function isPosixPathSeparator(code: number): boolean; -//# sourceMappingURL=_util.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/_util.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/_util.d.ts.map deleted file mode 100644 index 2557134..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/_util.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"_util.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/posix/_util.ts"],"names":[],"mappings":"AAOA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/_util.js b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/_util.js deleted file mode 100644 index 22a4ba1..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/_util.js +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// Copyright the Browserify authors. MIT License. -// Ported from https://github.com/browserify/path-browserify/ -// This module is browser compatible. -import { CHAR_FORWARD_SLASH } from "../_common/constants.js"; -export function isPosixPathSeparator(code) { - return code === CHAR_FORWARD_SLASH; -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/extname.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/extname.d.ts deleted file mode 100644 index a93ba45..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/extname.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Return the extension of the `path` with leading period. - * - * @example Usage - * ```ts - * import { extname } from "@std/path/posix/extname"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(extname("/home/user/Documents/file.ts"), ".ts"); - * assertEquals(extname("/home/user/Documents/"), ""); - * assertEquals(extname("/home/user/Documents/image.png"), ".png"); - * assertEquals(extname(new URL("file:///home/user/Documents/file.ts")), ".ts"); - * assertEquals(extname(new URL("file:///home/user/Documents/file.ts?a=b")), ".ts"); - * assertEquals(extname(new URL("file:///home/user/Documents/file.ts#header")), ".ts"); - * ``` - * - * @example Working with URLs - * - * Note: This function doesn't automatically strip hash and query parts from - * URLs. If your URL contains a hash or query, remove them before passing the - * URL to the function. This can be done by passing the URL to `new URL(url)`, - * and setting the `hash` and `search` properties to empty strings. - * - * ```ts - * import { extname } from "@std/path/posix/extname"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(extname("https://deno.land/std/path/mod.ts"), ".ts"); - * assertEquals(extname("https://deno.land/std/path/mod.ts?a=b"), ".ts?a=b"); - * assertEquals(extname("https://deno.land/std/path/mod.ts#header"), ".ts#header"); - * ``` - * - * @param path The path to get the extension from. - * @returns The extension (ex. for `file.ts` returns `.ts`). - */ -export declare function extname(path: string | URL): string; -//# sourceMappingURL=extname.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/extname.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/extname.d.ts.map deleted file mode 100644 index 5e19c0c..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/extname.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"extname.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/posix/extname.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,MAAM,CAoDlD"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/extname.js b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/extname.js deleted file mode 100644 index c3ca910..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/extname.js +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { CHAR_DOT } from "../_common/constants.js"; -import { assertPath } from "../_common/assert_path.js"; -import { isPosixPathSeparator } from "./_util.js"; -import { fromFileUrl } from "./from_file_url.js"; -/** - * Return the extension of the `path` with leading period. - * - * @example Usage - * ```ts - * import { extname } from "@std/path/posix/extname"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(extname("/home/user/Documents/file.ts"), ".ts"); - * assertEquals(extname("/home/user/Documents/"), ""); - * assertEquals(extname("/home/user/Documents/image.png"), ".png"); - * assertEquals(extname(new URL("file:///home/user/Documents/file.ts")), ".ts"); - * assertEquals(extname(new URL("file:///home/user/Documents/file.ts?a=b")), ".ts"); - * assertEquals(extname(new URL("file:///home/user/Documents/file.ts#header")), ".ts"); - * ``` - * - * @example Working with URLs - * - * Note: This function doesn't automatically strip hash and query parts from - * URLs. If your URL contains a hash or query, remove them before passing the - * URL to the function. This can be done by passing the URL to `new URL(url)`, - * and setting the `hash` and `search` properties to empty strings. - * - * ```ts - * import { extname } from "@std/path/posix/extname"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(extname("https://deno.land/std/path/mod.ts"), ".ts"); - * assertEquals(extname("https://deno.land/std/path/mod.ts?a=b"), ".ts?a=b"); - * assertEquals(extname("https://deno.land/std/path/mod.ts#header"), ".ts#header"); - * ``` - * - * @param path The path to get the extension from. - * @returns The extension (ex. for `file.ts` returns `.ts`). - */ -export function extname(path) { - if (path instanceof URL) { - path = fromFileUrl(path); - } - assertPath(path); - let startDot = -1; - let startPart = 0; - let end = -1; - let matchedSlash = true; - // Track the state of characters (if any) we see before our first dot and - // after any path separator we find - let preDotState = 0; - for (let i = path.length - 1; i >= 0; --i) { - const code = path.charCodeAt(i); - if (isPosixPathSeparator(code)) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - startPart = i + 1; - break; - } - continue; - } - if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // extension - matchedSlash = false; - end = i + 1; - } - if (code === CHAR_DOT) { - // If this is our first dot, mark it as the start of our extension - if (startDot === -1) - startDot = i; - else if (preDotState !== 1) - preDotState = 1; - } - else if (startDot !== -1) { - // We saw a non-dot and non-path separator before our dot, so we should - // have a good chance at having a non-empty extension - preDotState = -1; - } - } - if (startDot === -1 || - end === -1 || - // We saw a non-dot character immediately before the dot - preDotState === 0 || - // The (right-most) trimmed path component is exactly '..' - (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)) { - return ""; - } - return path.slice(startDot, end); -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/from_file_url.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/from_file_url.d.ts deleted file mode 100644 index f334365..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/from_file_url.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Converts a file URL to a path string. - * - * @example Usage - * ```ts - * import { fromFileUrl } from "@std/path/posix/from-file-url"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(fromFileUrl(new URL("file:///home/foo")), "/home/foo"); - * ``` - * - * @param url The file URL to convert. - * @returns The path string. - */ -export declare function fromFileUrl(url: URL | string): string; -//# sourceMappingURL=from_file_url.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/from_file_url.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/from_file_url.d.ts.map deleted file mode 100644 index 3236f9f..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/from_file_url.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"from_file_url.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/posix/from_file_url.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,MAAM,CAKrD"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/from_file_url.js b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/from_file_url.js deleted file mode 100644 index 58c9efa..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/from_file_url.js +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { assertArg } from "../_common/from_file_url.js"; -/** - * Converts a file URL to a path string. - * - * @example Usage - * ```ts - * import { fromFileUrl } from "@std/path/posix/from-file-url"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(fromFileUrl(new URL("file:///home/foo")), "/home/foo"); - * ``` - * - * @param url The file URL to convert. - * @returns The path string. - */ -export function fromFileUrl(url) { - url = assertArg(url); - return decodeURIComponent(url.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25")); -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/join.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/join.d.ts deleted file mode 100644 index 4073904..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/join.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Join all given a sequence of `paths`,then normalizes the resulting path. - * - * @example Usage - * ```ts - * import { join } from "@std/path/posix/join"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(join("/foo", "bar", "baz/asdf", "quux", ".."), "/foo/bar/baz/asdf"); - * assertEquals(join(new URL("file:///foo"), "bar", "baz/asdf", "quux", ".."), "/foo/bar/baz/asdf"); - * ``` - * - * @example Working with URLs - * ```ts - * import { join } from "@std/path/posix/join"; - * import { assertEquals } from "@std/assert"; - * - * const url = new URL("https://deno.land"); - * url.pathname = join("std", "path", "mod.ts"); - * assertEquals(url.href, "https://deno.land/std/path/mod.ts"); - * - * url.pathname = join("//std", "path/", "/mod.ts"); - * assertEquals(url.href, "https://deno.land/std/path/mod.ts"); - * ``` - * - * @param path The path to join. This can be string or file URL. - * @param paths The paths to join. - * @returns The joined path. - */ -export declare function join(path?: URL | string, ...paths: string[]): string; -//# sourceMappingURL=join.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/join.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/join.d.ts.map deleted file mode 100644 index 163de2a..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/join.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/posix/join.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CASpE"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/join.js b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/join.js deleted file mode 100644 index d3f5b0b..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/join.js +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { assertPath } from "../_common/assert_path.js"; -import { fromFileUrl } from "./from_file_url.js"; -import { normalize } from "./normalize.js"; -/** - * Join all given a sequence of `paths`,then normalizes the resulting path. - * - * @example Usage - * ```ts - * import { join } from "@std/path/posix/join"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(join("/foo", "bar", "baz/asdf", "quux", ".."), "/foo/bar/baz/asdf"); - * assertEquals(join(new URL("file:///foo"), "bar", "baz/asdf", "quux", ".."), "/foo/bar/baz/asdf"); - * ``` - * - * @example Working with URLs - * ```ts - * import { join } from "@std/path/posix/join"; - * import { assertEquals } from "@std/assert"; - * - * const url = new URL("https://deno.land"); - * url.pathname = join("std", "path", "mod.ts"); - * assertEquals(url.href, "https://deno.land/std/path/mod.ts"); - * - * url.pathname = join("//std", "path/", "/mod.ts"); - * assertEquals(url.href, "https://deno.land/std/path/mod.ts"); - * ``` - * - * @param path The path to join. This can be string or file URL. - * @param paths The paths to join. - * @returns The joined path. - */ -export function join(path, ...paths) { - if (path === undefined) - return "."; - if (path instanceof URL) { - path = fromFileUrl(path); - } - paths = path ? [path, ...paths] : paths; - paths.forEach((path) => assertPath(path)); - const joined = paths.filter((path) => path.length > 0).join("/"); - return joined === "" ? "." : normalize(joined); -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/normalize.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/normalize.d.ts deleted file mode 100644 index a872d21..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/normalize.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Normalize the `path`, resolving `'..'` and `'.'` segments. - * Note that resolving these segments does not necessarily mean that all will be eliminated. - * A `'..'` at the top-level will be preserved, and an empty path is canonically `'.'`. - * - * @example Usage - * ```ts - * import { normalize } from "@std/path/posix/normalize"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(normalize("/foo/bar//baz/asdf/quux/.."), "/foo/bar/baz/asdf"); - * assertEquals(normalize(new URL("file:///foo/bar//baz/asdf/quux/..")), "/foo/bar/baz/asdf/"); - * ``` - * - * @example Working with URLs - * - * Note: This function will remove the double slashes from a URL's scheme. - * Hence, do not pass a full URL to this function. Instead, pass the pathname of - * the URL. - * - * ```ts - * import { normalize } from "@std/path/posix/normalize"; - * import { assertEquals } from "@std/assert"; - * - * const url = new URL("https://deno.land"); - * url.pathname = normalize("//std//assert//.//mod.ts"); - * assertEquals(url.href, "https://deno.land/std/assert/mod.ts"); - * - * url.pathname = normalize("std/assert/../async/retry.ts"); - * assertEquals(url.href, "https://deno.land/std/async/retry.ts"); - * ``` - * - * @param path The path to normalize. - * @returns The normalized path. - */ -export declare function normalize(path: string | URL): string; -//# sourceMappingURL=normalize.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/normalize.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/normalize.d.ts.map deleted file mode 100644 index f201a73..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/normalize.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/posix/normalize.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,MAAM,CAmBpD"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/normalize.js b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/normalize.js deleted file mode 100644 index a169679..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/normalize.js +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { assertArg } from "../_common/normalize.js"; -import { normalizeString } from "../_common/normalize_string.js"; -import { isPosixPathSeparator } from "./_util.js"; -import { fromFileUrl } from "./from_file_url.js"; -/** - * Normalize the `path`, resolving `'..'` and `'.'` segments. - * Note that resolving these segments does not necessarily mean that all will be eliminated. - * A `'..'` at the top-level will be preserved, and an empty path is canonically `'.'`. - * - * @example Usage - * ```ts - * import { normalize } from "@std/path/posix/normalize"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(normalize("/foo/bar//baz/asdf/quux/.."), "/foo/bar/baz/asdf"); - * assertEquals(normalize(new URL("file:///foo/bar//baz/asdf/quux/..")), "/foo/bar/baz/asdf/"); - * ``` - * - * @example Working with URLs - * - * Note: This function will remove the double slashes from a URL's scheme. - * Hence, do not pass a full URL to this function. Instead, pass the pathname of - * the URL. - * - * ```ts - * import { normalize } from "@std/path/posix/normalize"; - * import { assertEquals } from "@std/assert"; - * - * const url = new URL("https://deno.land"); - * url.pathname = normalize("//std//assert//.//mod.ts"); - * assertEquals(url.href, "https://deno.land/std/assert/mod.ts"); - * - * url.pathname = normalize("std/assert/../async/retry.ts"); - * assertEquals(url.href, "https://deno.land/std/async/retry.ts"); - * ``` - * - * @param path The path to normalize. - * @returns The normalized path. - */ -export function normalize(path) { - if (path instanceof URL) { - path = fromFileUrl(path); - } - assertArg(path); - const isAbsolute = isPosixPathSeparator(path.charCodeAt(0)); - const trailingSeparator = isPosixPathSeparator(path.charCodeAt(path.length - 1)); - // Normalize the path - path = normalizeString(path, !isAbsolute, "/", isPosixPathSeparator); - if (path.length === 0 && !isAbsolute) - path = "."; - if (path.length > 0 && trailingSeparator) - path += "/"; - if (isAbsolute) - return `/${path}`; - return path; -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/relative.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/relative.d.ts deleted file mode 100644 index d7d491e..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/relative.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Return the relative path from `from` to `to` based on current working directory. - * - * If `from` and `to` are the same, return an empty string. - * - * @example Usage - * ```ts - * import { relative } from "@std/path/posix/relative"; - * import { assertEquals } from "@std/assert"; - * - * const path = relative("/data/orandea/test/aaa", "/data/orandea/impl/bbb"); - * assertEquals(path, "../../impl/bbb"); - * ``` - * - * @param from The path to start from. - * @param to The path to reach. - * @returns The relative path. - */ -export declare function relative(from: string, to: string): string; -//# sourceMappingURL=relative.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/relative.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/relative.d.ts.map deleted file mode 100644 index 9dd15b9..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/relative.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"relative.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/posix/relative.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CA6EzD"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/relative.js b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/relative.js deleted file mode 100644 index 24697d4..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/relative.js +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { isPosixPathSeparator } from "./_util.js"; -import { resolve } from "./resolve.js"; -import { assertArgs } from "../_common/relative.js"; -/** - * Return the relative path from `from` to `to` based on current working directory. - * - * If `from` and `to` are the same, return an empty string. - * - * @example Usage - * ```ts - * import { relative } from "@std/path/posix/relative"; - * import { assertEquals } from "@std/assert"; - * - * const path = relative("/data/orandea/test/aaa", "/data/orandea/impl/bbb"); - * assertEquals(path, "../../impl/bbb"); - * ``` - * - * @param from The path to start from. - * @param to The path to reach. - * @returns The relative path. - */ -export function relative(from, to) { - assertArgs(from, to); - from = resolve(from); - to = resolve(to); - if (from === to) - return ""; - // Trim any leading backslashes - let fromStart = 1; - const fromEnd = from.length; - for (; fromStart < fromEnd; ++fromStart) { - if (!isPosixPathSeparator(from.charCodeAt(fromStart))) - break; - } - const fromLen = fromEnd - fromStart; - // Trim any leading backslashes - let toStart = 1; - const toEnd = to.length; - for (; toStart < toEnd; ++toStart) { - if (!isPosixPathSeparator(to.charCodeAt(toStart))) - break; - } - const toLen = toEnd - toStart; - // Compare paths to find the longest common path from root - const length = fromLen < toLen ? fromLen : toLen; - let lastCommonSep = -1; - let i = 0; - for (; i <= length; ++i) { - if (i === length) { - if (toLen > length) { - if (isPosixPathSeparator(to.charCodeAt(toStart + i))) { - // We get here if `from` is the exact base path for `to`. - // For example: from='/foo/bar'; to='/foo/bar/baz' - return to.slice(toStart + i + 1); - } - else if (i === 0) { - // We get here if `from` is the root - // For example: from='/'; to='/foo' - return to.slice(toStart + i); - } - } - else if (fromLen > length) { - if (isPosixPathSeparator(from.charCodeAt(fromStart + i))) { - // We get here if `to` is the exact base path for `from`. - // For example: from='/foo/bar/baz'; to='/foo/bar' - lastCommonSep = i; - } - else if (i === 0) { - // We get here if `to` is the root. - // For example: from='/foo'; to='/' - lastCommonSep = 0; - } - } - break; - } - const fromCode = from.charCodeAt(fromStart + i); - const toCode = to.charCodeAt(toStart + i); - if (fromCode !== toCode) - break; - else if (isPosixPathSeparator(fromCode)) - lastCommonSep = i; - } - let out = ""; - // Generate the relative path based on the path difference between `to` - // and `from` - for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { - if (i === fromEnd || isPosixPathSeparator(from.charCodeAt(i))) { - if (out.length === 0) - out += ".."; - else - out += "/.."; - } - } - // Lastly, append the rest of the destination (`to`) path that comes after - // the common path parts - if (out.length > 0) - return out + to.slice(toStart + lastCommonSep); - else { - toStart += lastCommonSep; - if (isPosixPathSeparator(to.charCodeAt(toStart))) - ++toStart; - return to.slice(toStart); - } -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/resolve.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/resolve.d.ts deleted file mode 100644 index 8ab9688..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/resolve.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Resolves path segments into a `path`. - * - * @example Usage - * ```ts - * import { resolve } from "@std/path/posix/resolve"; - * import { assertEquals } from "@std/assert"; - * - * const path = resolve("/foo", "bar", "baz/asdf", "quux", ".."); - * assertEquals(path, "/foo/bar/baz/asdf"); - * ``` - * - * @param pathSegments The path segments to resolve. - * @returns The resolved path. - */ -export declare function resolve(...pathSegments: string[]): string; -//# sourceMappingURL=resolve.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/resolve.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/resolve.d.ts.map deleted file mode 100644 index 051a1e3..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/resolve.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/posix/resolve.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,GAAG,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CA8CzD"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/resolve.js b/package/esm/deps/jsr.io/@std/path/1.1.2/posix/resolve.js deleted file mode 100644 index 5860569..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/posix/resolve.js +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import * as dntShim from "../../../../../../_dnt.shims.js"; -import { normalizeString } from "../_common/normalize_string.js"; -import { assertPath } from "../_common/assert_path.js"; -import { isPosixPathSeparator } from "./_util.js"; -/** - * Resolves path segments into a `path`. - * - * @example Usage - * ```ts - * import { resolve } from "@std/path/posix/resolve"; - * import { assertEquals } from "@std/assert"; - * - * const path = resolve("/foo", "bar", "baz/asdf", "quux", ".."); - * assertEquals(path, "/foo/bar/baz/asdf"); - * ``` - * - * @param pathSegments The path segments to resolve. - * @returns The resolved path. - */ -export function resolve(...pathSegments) { - let resolvedPath = ""; - let resolvedAbsolute = false; - for (let i = pathSegments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - let path; - if (i >= 0) - path = pathSegments[i]; - else { - // deno-lint-ignore no-explicit-any - const { Deno } = dntShim.dntGlobalThis; - if (typeof Deno?.cwd !== "function") { - throw new TypeError("Resolved a relative path without a current working directory (CWD)"); - } - path = Deno.cwd(); - } - assertPath(path); - // Skip empty entries - if (path.length === 0) { - continue; - } - resolvedPath = `${path}/${resolvedPath}`; - resolvedAbsolute = isPosixPathSeparator(path.charCodeAt(0)); - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when Deno.cwd() fails) - // Normalize the path - resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute, "/", isPosixPathSeparator); - if (resolvedAbsolute) { - if (resolvedPath.length > 0) - return `/${resolvedPath}`; - else - return "/"; - } - else if (resolvedPath.length > 0) - return resolvedPath; - else - return "."; -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/relative.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/relative.d.ts deleted file mode 100644 index e8d3339..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/relative.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Return the relative path from `from` to `to` based on current working - * directory. - * - * @example Usage - * ```ts - * import { relative } from "@std/path/relative"; - * import { assertEquals } from "@std/assert"; - * - * if (Deno.build.os === "windows") { - * const path = relative("C:\\foobar\\test\\aaa", "C:\\foobar\\impl\\bbb"); - * assertEquals(path, "..\\..\\impl\\bbb"); - * } else { - * const path = relative("/data/foobar/test/aaa", "/data/foobar/impl/bbb"); - * assertEquals(path, "../../impl/bbb"); - * } - * ``` - * - * @param from Path in current working directory. - * @param to Path in current working directory. - * @returns The relative path from `from` to `to`. - */ -export declare function relative(from: string, to: string): string; -//# sourceMappingURL=relative.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/relative.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/relative.d.ts.map deleted file mode 100644 index fb4ea23..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/relative.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"relative.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/path/1.1.2/relative.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAEzD"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/relative.js b/package/esm/deps/jsr.io/@std/path/1.1.2/relative.js deleted file mode 100644 index fefae4d..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/relative.js +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { isWindows } from "../../internal/1.0.10/os.js"; -import { relative as posixRelative } from "./posix/relative.js"; -import { relative as windowsRelative } from "./windows/relative.js"; -/** - * Return the relative path from `from` to `to` based on current working - * directory. - * - * @example Usage - * ```ts - * import { relative } from "@std/path/relative"; - * import { assertEquals } from "@std/assert"; - * - * if (Deno.build.os === "windows") { - * const path = relative("C:\\foobar\\test\\aaa", "C:\\foobar\\impl\\bbb"); - * assertEquals(path, "..\\..\\impl\\bbb"); - * } else { - * const path = relative("/data/foobar/test/aaa", "/data/foobar/impl/bbb"); - * assertEquals(path, "../../impl/bbb"); - * } - * ``` - * - * @param from Path in current working directory. - * @param to Path in current working directory. - * @returns The relative path from `from` to `to`. - */ -export function relative(from, to) { - return isWindows ? windowsRelative(from, to) : posixRelative(from, to); -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/resolve.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/resolve.d.ts deleted file mode 100644 index d83fa79..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/resolve.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Resolves path segments into a path. - * - * @example Usage - * ```ts - * import { resolve } from "@std/path/resolve"; - * import { assertEquals } from "@std/assert"; - * - * if (Deno.build.os === "windows") { - * assertEquals(resolve("C:\\foo", "bar", "baz"), "C:\\foo\\bar\\baz"); - * assertEquals(resolve("C:\\foo", "C:\\bar", "baz"), "C:\\bar\\baz"); - * } else { - * assertEquals(resolve("/foo", "bar", "baz"), "/foo/bar/baz"); - * assertEquals(resolve("/foo", "/bar", "baz"), "/bar/baz"); - * } - * ``` - * - * @param pathSegments Path segments to process to path. - * @returns The resolved path. - */ -export declare function resolve(...pathSegments: string[]): string; -//# sourceMappingURL=resolve.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/resolve.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/resolve.d.ts.map deleted file mode 100644 index 99cbaeb..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/resolve.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/path/1.1.2/resolve.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,OAAO,CAAC,GAAG,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAIzD"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/resolve.js b/package/esm/deps/jsr.io/@std/path/1.1.2/resolve.js deleted file mode 100644 index ec6ed67..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/resolve.js +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { isWindows } from "../../internal/1.0.10/os.js"; -import { resolve as posixResolve } from "./posix/resolve.js"; -import { resolve as windowsResolve } from "./windows/resolve.js"; -/** - * Resolves path segments into a path. - * - * @example Usage - * ```ts - * import { resolve } from "@std/path/resolve"; - * import { assertEquals } from "@std/assert"; - * - * if (Deno.build.os === "windows") { - * assertEquals(resolve("C:\\foo", "bar", "baz"), "C:\\foo\\bar\\baz"); - * assertEquals(resolve("C:\\foo", "C:\\bar", "baz"), "C:\\bar\\baz"); - * } else { - * assertEquals(resolve("/foo", "bar", "baz"), "/foo/bar/baz"); - * assertEquals(resolve("/foo", "/bar", "baz"), "/bar/baz"); - * } - * ``` - * - * @param pathSegments Path segments to process to path. - * @returns The resolved path. - */ -export function resolve(...pathSegments) { - return isWindows - ? windowsResolve(...pathSegments) - : posixResolve(...pathSegments); -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/_util.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/_util.d.ts deleted file mode 100644 index 096cb84..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/_util.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare function isPosixPathSeparator(code: number): boolean; -export declare function isPathSeparator(code: number): boolean; -export declare function isWindowsDeviceRoot(code: number): boolean; -//# sourceMappingURL=_util.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/_util.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/_util.d.ts.map deleted file mode 100644 index 1d8d3ed..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/_util.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"_util.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/windows/_util.ts"],"names":[],"mappings":"AAcA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKzD"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/_util.js b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/_util.js deleted file mode 100644 index c603972..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/_util.js +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// Copyright the Browserify authors. MIT License. -// Ported from https://github.com/browserify/path-browserify/ -// This module is browser compatible. -import { CHAR_BACKWARD_SLASH, CHAR_FORWARD_SLASH, CHAR_LOWERCASE_A, CHAR_LOWERCASE_Z, CHAR_UPPERCASE_A, CHAR_UPPERCASE_Z, } from "../_common/constants.js"; -export function isPosixPathSeparator(code) { - return code === CHAR_FORWARD_SLASH; -} -export function isPathSeparator(code) { - return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; -} -export function isWindowsDeviceRoot(code) { - return ((code >= CHAR_LOWERCASE_A && code <= CHAR_LOWERCASE_Z) || - (code >= CHAR_UPPERCASE_A && code <= CHAR_UPPERCASE_Z)); -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/extname.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/extname.d.ts deleted file mode 100644 index 12aeadf..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/extname.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Return the extension of the `path` with leading period. - * - * @example Usage - * ```ts - * import { extname } from "@std/path/windows/extname"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(extname("file.ts"), ".ts"); - * assertEquals(extname(new URL("file:///C:/foo/bar/baz.ext")), ".ext"); - * ``` - * - * @param path The path to get the extension from. - * @returns The extension of the `path`. - */ -export declare function extname(path: string | URL): string; -//# sourceMappingURL=extname.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/extname.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/extname.d.ts.map deleted file mode 100644 index 4d2740d..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/extname.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"extname.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/windows/extname.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,MAAM,CAkElD"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/extname.js b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/extname.js deleted file mode 100644 index 93b2b64..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/extname.js +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { CHAR_COLON, CHAR_DOT } from "../_common/constants.js"; -import { assertPath } from "../_common/assert_path.js"; -import { isPathSeparator, isWindowsDeviceRoot } from "./_util.js"; -import { fromFileUrl } from "./from_file_url.js"; -/** - * Return the extension of the `path` with leading period. - * - * @example Usage - * ```ts - * import { extname } from "@std/path/windows/extname"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(extname("file.ts"), ".ts"); - * assertEquals(extname(new URL("file:///C:/foo/bar/baz.ext")), ".ext"); - * ``` - * - * @param path The path to get the extension from. - * @returns The extension of the `path`. - */ -export function extname(path) { - if (path instanceof URL) { - path = fromFileUrl(path); - } - assertPath(path); - let start = 0; - let startDot = -1; - let startPart = 0; - let end = -1; - let matchedSlash = true; - // Track the state of characters (if any) we see before our first dot and - // after any path separator we find - let preDotState = 0; - // Check for a drive letter prefix so as not to mistake the following - // path separator as an extra separator at the end of the path that can be - // disregarded - if (path.length >= 2 && - path.charCodeAt(1) === CHAR_COLON && - isWindowsDeviceRoot(path.charCodeAt(0))) { - start = startPart = 2; - } - for (let i = path.length - 1; i >= start; --i) { - const code = path.charCodeAt(i); - if (isPathSeparator(code)) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - startPart = i + 1; - break; - } - continue; - } - if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // extension - matchedSlash = false; - end = i + 1; - } - if (code === CHAR_DOT) { - // If this is our first dot, mark it as the start of our extension - if (startDot === -1) - startDot = i; - else if (preDotState !== 1) - preDotState = 1; - } - else if (startDot !== -1) { - // We saw a non-dot and non-path separator before our dot, so we should - // have a good chance at having a non-empty extension - preDotState = -1; - } - } - if (startDot === -1 || - end === -1 || - // We saw a non-dot character immediately before the dot - preDotState === 0 || - // The (right-most) trimmed path component is exactly '..' - (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)) { - return ""; - } - return path.slice(startDot, end); -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/from_file_url.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/from_file_url.d.ts deleted file mode 100644 index 409b6a3..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/from_file_url.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Converts a file URL to a path string. - * - * @example Usage - * ```ts - * import { fromFileUrl } from "@std/path/windows/from-file-url"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(fromFileUrl("file:///home/foo"), "\\home\\foo"); - * assertEquals(fromFileUrl("file:///C:/Users/foo"), "C:\\Users\\foo"); - * assertEquals(fromFileUrl("file://localhost/home/foo"), "\\home\\foo"); - * ``` - * - * @param url The file URL to convert. - * @returns The path string. - */ -export declare function fromFileUrl(url: URL | string): string; -//# sourceMappingURL=from_file_url.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/from_file_url.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/from_file_url.d.ts.map deleted file mode 100644 index 5233a73..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/from_file_url.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"from_file_url.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/windows/from_file_url.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,MAAM,CAYrD"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/from_file_url.js b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/from_file_url.js deleted file mode 100644 index 542a42d..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/from_file_url.js +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { assertArg } from "../_common/from_file_url.js"; -/** - * Converts a file URL to a path string. - * - * @example Usage - * ```ts - * import { fromFileUrl } from "@std/path/windows/from-file-url"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(fromFileUrl("file:///home/foo"), "\\home\\foo"); - * assertEquals(fromFileUrl("file:///C:/Users/foo"), "C:\\Users\\foo"); - * assertEquals(fromFileUrl("file://localhost/home/foo"), "\\home\\foo"); - * ``` - * - * @param url The file URL to convert. - * @returns The path string. - */ -export function fromFileUrl(url) { - url = assertArg(url); - let path = decodeURIComponent(url.pathname.replace(/\//g, "\\").replace(/%(?![0-9A-Fa-f]{2})/g, "%25")).replace(/^\\*([A-Za-z]:)(\\|$)/, "$1\\"); - if (url.hostname !== "") { - // Note: The `URL` implementation guarantees that the drive letter and - // hostname are mutually exclusive. Otherwise it would not have been valid - // to append the hostname and path like this. - path = `\\\\${url.hostname}${path}`; - } - return path; -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/join.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/join.d.ts deleted file mode 100644 index 40cc489..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/join.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Join all given a sequence of `paths`,then normalizes the resulting path. - * - * @example Usage - * ```ts - * import { join } from "@std/path/windows/join"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(join("C:\\foo", "bar", "baz\\.."), "C:\\foo\\bar"); - * assertEquals(join(new URL("file:///C:/foo"), "bar", "baz\\.."), "C:\\foo\\bar"); - * ``` - * - * @param path The path to join. This can be string or file URL. - * @param paths The paths to join. - * @returns The joined path. - */ -export declare function join(path?: URL | string, ...paths: string[]): string; -//# sourceMappingURL=join.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/join.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/join.d.ts.map deleted file mode 100644 index 4c6a4f6..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/join.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/windows/join.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAqDpE"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/join.js b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/join.js deleted file mode 100644 index 55798a3..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/join.js +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { assertPath } from "../_common/assert_path.js"; -import { isPathSeparator } from "./_util.js"; -import { normalize } from "./normalize.js"; -import { fromFileUrl } from "./from_file_url.js"; -/** - * Join all given a sequence of `paths`,then normalizes the resulting path. - * - * @example Usage - * ```ts - * import { join } from "@std/path/windows/join"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(join("C:\\foo", "bar", "baz\\.."), "C:\\foo\\bar"); - * assertEquals(join(new URL("file:///C:/foo"), "bar", "baz\\.."), "C:\\foo\\bar"); - * ``` - * - * @param path The path to join. This can be string or file URL. - * @param paths The paths to join. - * @returns The joined path. - */ -export function join(path, ...paths) { - if (path instanceof URL) { - path = fromFileUrl(path); - } - paths = path ? [path, ...paths] : paths; - paths.forEach((path) => assertPath(path)); - paths = paths.filter((path) => path.length > 0); - if (paths.length === 0) - return "."; - // Make sure that the joined path doesn't start with two slashes, because - // normalize() will mistake it for an UNC path then. - // - // This step is skipped when it is very clear that the user actually - // intended to point at an UNC path. This is assumed when the first - // non-empty string arguments starts with exactly two slashes followed by - // at least one more non-slash character. - // - // Note that for normalize() to treat a path as an UNC path it needs to - // have at least 2 components, so we don't filter for that here. - // This means that the user can use join to construct UNC paths from - // a server name and a share name; for example: - // path.join('//server', 'share') -> '\\\\server\\share\\' - let needsReplace = true; - let slashCount = 0; - const firstPart = paths[0]; - if (isPathSeparator(firstPart.charCodeAt(0))) { - ++slashCount; - const firstLen = firstPart.length; - if (firstLen > 1) { - if (isPathSeparator(firstPart.charCodeAt(1))) { - ++slashCount; - if (firstLen > 2) { - if (isPathSeparator(firstPart.charCodeAt(2))) - ++slashCount; - else { - // We matched a UNC path in the first part - needsReplace = false; - } - } - } - } - } - let joined = paths.join("\\"); - if (needsReplace) { - // Find any more consecutive slashes we need to replace - for (; slashCount < joined.length; ++slashCount) { - if (!isPathSeparator(joined.charCodeAt(slashCount))) - break; - } - // Replace the slashes if needed - if (slashCount >= 2) - joined = `\\${joined.slice(slashCount)}`; - } - return normalize(joined); -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/normalize.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/normalize.d.ts deleted file mode 100644 index f59307b..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/normalize.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Normalize the `path`, resolving `'..'` and `'.'` segments. - * Note that resolving these segments does not necessarily mean that all will be eliminated. - * A `'..'` at the top-level will be preserved, and an empty path is canonically `'.'`. - * - * @example Usage - * ```ts - * import { normalize } from "@std/path/windows/normalize"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(normalize("C:\\foo\\..\\bar"), "C:\\bar"); - * assertEquals(normalize(new URL("file:///C:/foo/../bar")), "C:\\bar"); - * ``` - * - * @param path The path to normalize - * @returns The normalized path - */ -export declare function normalize(path: string | URL): string; -//# sourceMappingURL=normalize.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/normalize.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/normalize.d.ts.map deleted file mode 100644 index a0643a6..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/normalize.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/windows/normalize.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,MAAM,CA6GpD"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/normalize.js b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/normalize.js deleted file mode 100644 index a6e443e..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/normalize.js +++ /dev/null @@ -1,135 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { assertArg } from "../_common/normalize.js"; -import { CHAR_COLON } from "../_common/constants.js"; -import { normalizeString } from "../_common/normalize_string.js"; -import { isPathSeparator, isWindowsDeviceRoot } from "./_util.js"; -import { fromFileUrl } from "./from_file_url.js"; -/** - * Normalize the `path`, resolving `'..'` and `'.'` segments. - * Note that resolving these segments does not necessarily mean that all will be eliminated. - * A `'..'` at the top-level will be preserved, and an empty path is canonically `'.'`. - * - * @example Usage - * ```ts - * import { normalize } from "@std/path/windows/normalize"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(normalize("C:\\foo\\..\\bar"), "C:\\bar"); - * assertEquals(normalize(new URL("file:///C:/foo/../bar")), "C:\\bar"); - * ``` - * - * @param path The path to normalize - * @returns The normalized path - */ -export function normalize(path) { - if (path instanceof URL) { - path = fromFileUrl(path); - } - assertArg(path); - const len = path.length; - let rootEnd = 0; - let device; - let isAbsolute = false; - const code = path.charCodeAt(0); - // Try to match a root - if (len > 1) { - if (isPathSeparator(code)) { - // Possible UNC root - // If we started with a separator, we know we at least have an absolute - // path of some kind (UNC or otherwise) - isAbsolute = true; - if (isPathSeparator(path.charCodeAt(1))) { - // Matched double path separator at beginning - let j = 2; - let last = j; - // Match 1 or more non-path separators - for (; j < len; ++j) { - if (isPathSeparator(path.charCodeAt(j))) - break; - } - if (j < len && j !== last) { - const firstPart = path.slice(last, j); - // Matched! - last = j; - // Match 1 or more path separators - for (; j < len; ++j) { - if (!isPathSeparator(path.charCodeAt(j))) - break; - } - if (j < len && j !== last) { - // Matched! - last = j; - // Match 1 or more non-path separators - for (; j < len; ++j) { - if (isPathSeparator(path.charCodeAt(j))) - break; - } - if (j === len) { - // We matched a UNC root only - // Return the normalized version of the UNC root since there - // is nothing left to process - return `\\\\${firstPart}\\${path.slice(last)}\\`; - } - else if (j !== last) { - // We matched a UNC root with leftovers - device = `\\\\${firstPart}\\${path.slice(last, j)}`; - rootEnd = j; - } - } - } - } - else { - rootEnd = 1; - } - } - else if (isWindowsDeviceRoot(code)) { - // Possible device root - if (path.charCodeAt(1) === CHAR_COLON) { - device = path.slice(0, 2); - rootEnd = 2; - if (len > 2) { - if (isPathSeparator(path.charCodeAt(2))) { - // Treat separator following drive name as an absolute path - // indicator - isAbsolute = true; - rootEnd = 3; - } - } - } - } - } - else if (isPathSeparator(code)) { - // `path` contains just a path separator, exit early to avoid unnecessary - // work - return "\\"; - } - let tail; - if (rootEnd < len) { - tail = normalizeString(path.slice(rootEnd), !isAbsolute, "\\", isPathSeparator); - } - else { - tail = ""; - } - if (tail.length === 0 && !isAbsolute) - tail = "."; - if (tail.length > 0 && isPathSeparator(path.charCodeAt(len - 1))) { - tail += "\\"; - } - if (device === undefined) { - if (isAbsolute) { - if (tail.length > 0) - return `\\${tail}`; - else - return "\\"; - } - return tail; - } - else if (isAbsolute) { - if (tail.length > 0) - return `${device}\\${tail}`; - else - return `${device}\\`; - } - return device + tail; -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/relative.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/relative.d.ts deleted file mode 100644 index b9a0281..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/relative.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Return the relative path from `from` to `to` based on current working directory. - * - * An example in windws, for instance: - * from = 'C:\\orandea\\test\\aaa' - * to = 'C:\\orandea\\impl\\bbb' - * The output of the function should be: '..\\..\\impl\\bbb' - * - * @example Usage - * ```ts - * import { relative } from "@std/path/windows/relative"; - * import { assertEquals } from "@std/assert"; - * - * const relativePath = relative("C:\\foobar\\test\\aaa", "C:\\foobar\\impl\\bbb"); - * assertEquals(relativePath, "..\\..\\impl\\bbb"); - * ``` - * - * @param from The path from which to calculate the relative path - * @param to The path to which to calculate the relative path - * @returns The relative path from `from` to `to` - */ -export declare function relative(from: string, to: string): string; -//# sourceMappingURL=relative.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/relative.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/relative.d.ts.map deleted file mode 100644 index 1156d8a..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/relative.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"relative.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/windows/relative.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAmGzD"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/relative.js b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/relative.js deleted file mode 100644 index 2587c27..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/relative.js +++ /dev/null @@ -1,131 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { CHAR_BACKWARD_SLASH } from "../_common/constants.js"; -import { resolve } from "./resolve.js"; -import { assertArgs } from "../_common/relative.js"; -/** - * Return the relative path from `from` to `to` based on current working directory. - * - * An example in windws, for instance: - * from = 'C:\\orandea\\test\\aaa' - * to = 'C:\\orandea\\impl\\bbb' - * The output of the function should be: '..\\..\\impl\\bbb' - * - * @example Usage - * ```ts - * import { relative } from "@std/path/windows/relative"; - * import { assertEquals } from "@std/assert"; - * - * const relativePath = relative("C:\\foobar\\test\\aaa", "C:\\foobar\\impl\\bbb"); - * assertEquals(relativePath, "..\\..\\impl\\bbb"); - * ``` - * - * @param from The path from which to calculate the relative path - * @param to The path to which to calculate the relative path - * @returns The relative path from `from` to `to` - */ -export function relative(from, to) { - assertArgs(from, to); - const fromOrig = resolve(from); - const toOrig = resolve(to); - if (fromOrig === toOrig) - return ""; - from = fromOrig.toLowerCase(); - to = toOrig.toLowerCase(); - if (from === to) - return ""; - // Trim any leading backslashes - let fromStart = 0; - let fromEnd = from.length; - for (; fromStart < fromEnd; ++fromStart) { - if (from.charCodeAt(fromStart) !== CHAR_BACKWARD_SLASH) - break; - } - // Trim trailing backslashes (applicable to UNC paths only) - for (; fromEnd - 1 > fromStart; --fromEnd) { - if (from.charCodeAt(fromEnd - 1) !== CHAR_BACKWARD_SLASH) - break; - } - const fromLen = fromEnd - fromStart; - // Trim any leading backslashes - let toStart = 0; - let toEnd = to.length; - for (; toStart < toEnd; ++toStart) { - if (to.charCodeAt(toStart) !== CHAR_BACKWARD_SLASH) - break; - } - // Trim trailing backslashes (applicable to UNC paths only) - for (; toEnd - 1 > toStart; --toEnd) { - if (to.charCodeAt(toEnd - 1) !== CHAR_BACKWARD_SLASH) - break; - } - const toLen = toEnd - toStart; - // Compare paths to find the longest common path from root - const length = fromLen < toLen ? fromLen : toLen; - let lastCommonSep = -1; - let i = 0; - for (; i <= length; ++i) { - if (i === length) { - if (toLen > length) { - if (to.charCodeAt(toStart + i) === CHAR_BACKWARD_SLASH) { - // We get here if `from` is the exact base path for `to`. - // For example: from='C:\\foo\\bar'; to='C:\\foo\\bar\\baz' - return toOrig.slice(toStart + i + 1); - } - else if (i === 2) { - // We get here if `from` is the device root. - // For example: from='C:\\'; to='C:\\foo' - return toOrig.slice(toStart + i); - } - } - if (fromLen > length) { - if (from.charCodeAt(fromStart + i) === CHAR_BACKWARD_SLASH) { - // We get here if `to` is the exact base path for `from`. - // For example: from='C:\\foo\\bar'; to='C:\\foo' - lastCommonSep = i; - } - else if (i === 2) { - // We get here if `to` is the device root. - // For example: from='C:\\foo\\bar'; to='C:\\' - lastCommonSep = 3; - } - } - break; - } - const fromCode = from.charCodeAt(fromStart + i); - const toCode = to.charCodeAt(toStart + i); - if (fromCode !== toCode) - break; - else if (fromCode === CHAR_BACKWARD_SLASH) - lastCommonSep = i; - } - // We found a mismatch before the first common path separator was seen, so - // return the original `to`. - if (i !== length && lastCommonSep === -1) { - return toOrig; - } - let out = ""; - if (lastCommonSep === -1) - lastCommonSep = 0; - // Generate the relative path based on the path difference between `to` and - // `from` - for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { - if (i === fromEnd || from.charCodeAt(i) === CHAR_BACKWARD_SLASH) { - if (out.length === 0) - out += ".."; - else - out += "\\.."; - } - } - // Lastly, append the rest of the destination (`to`) path that comes after - // the common path parts - if (out.length > 0) { - return out + toOrig.slice(toStart + lastCommonSep, toEnd); - } - else { - toStart += lastCommonSep; - if (toOrig.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) - ++toStart; - return toOrig.slice(toStart, toEnd); - } -} diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/resolve.d.ts b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/resolve.d.ts deleted file mode 100644 index 09a401d..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/resolve.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Resolves path segments into a `path`. - * - * @example Usage - * ```ts - * import { resolve } from "@std/path/windows/resolve"; - * import { assertEquals } from "@std/assert"; - * - * const resolved = resolve("C:\\foo\\bar", "..\\baz"); - * assertEquals(resolved, "C:\\foo\\baz"); - * ``` - * - * @param pathSegments The path segments to process to path - * @returns The resolved path - */ -export declare function resolve(...pathSegments: string[]): string; -//# sourceMappingURL=resolve.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/resolve.d.ts.map b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/resolve.d.ts.map deleted file mode 100644 index ff05757..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/resolve.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.1.2/windows/resolve.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,GAAG,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAwJzD"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/resolve.js b/package/esm/deps/jsr.io/@std/path/1.1.2/windows/resolve.js deleted file mode 100644 index a6ee197..0000000 --- a/package/esm/deps/jsr.io/@std/path/1.1.2/windows/resolve.js +++ /dev/null @@ -1,154 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import * as dntShim from "../../../../../../_dnt.shims.js"; -import { CHAR_COLON } from "../_common/constants.js"; -import { normalizeString } from "../_common/normalize_string.js"; -import { assertPath } from "../_common/assert_path.js"; -import { isPathSeparator, isWindowsDeviceRoot } from "./_util.js"; -/** - * Resolves path segments into a `path`. - * - * @example Usage - * ```ts - * import { resolve } from "@std/path/windows/resolve"; - * import { assertEquals } from "@std/assert"; - * - * const resolved = resolve("C:\\foo\\bar", "..\\baz"); - * assertEquals(resolved, "C:\\foo\\baz"); - * ``` - * - * @param pathSegments The path segments to process to path - * @returns The resolved path - */ -export function resolve(...pathSegments) { - let resolvedDevice = ""; - let resolvedTail = ""; - let resolvedAbsolute = false; - for (let i = pathSegments.length - 1; i >= -1; i--) { - let path; - // deno-lint-ignore no-explicit-any - const { Deno } = dntShim.dntGlobalThis; - if (i >= 0) { - path = pathSegments[i]; - } - else if (!resolvedDevice) { - if (typeof Deno?.cwd !== "function") { - throw new TypeError("Resolved a drive-letter-less path without a current working directory (CWD)"); - } - path = Deno.cwd(); - } - else { - if (typeof Deno?.env?.get !== "function" || typeof Deno?.cwd !== "function") { - throw new TypeError("Resolved a relative path without a current working directory (CWD)"); - } - path = Deno.cwd(); - // Verify that a cwd was found and that it actually points - // to our drive. If not, default to the drive's root. - if (path === undefined || - path.slice(0, 3).toLowerCase() !== `${resolvedDevice.toLowerCase()}\\`) { - path = `${resolvedDevice}\\`; - } - } - assertPath(path); - const len = path.length; - // Skip empty entries - if (len === 0) - continue; - let rootEnd = 0; - let device = ""; - let isAbsolute = false; - const code = path.charCodeAt(0); - // Try to match a root - if (len > 1) { - if (isPathSeparator(code)) { - // Possible UNC root - // If we started with a separator, we know we at least have an - // absolute path of some kind (UNC or otherwise) - isAbsolute = true; - if (isPathSeparator(path.charCodeAt(1))) { - // Matched double path separator at beginning - let j = 2; - let last = j; - // Match 1 or more non-path separators - for (; j < len; ++j) { - if (isPathSeparator(path.charCodeAt(j))) - break; - } - if (j < len && j !== last) { - const firstPart = path.slice(last, j); - // Matched! - last = j; - // Match 1 or more path separators - for (; j < len; ++j) { - if (!isPathSeparator(path.charCodeAt(j))) - break; - } - if (j < len && j !== last) { - // Matched! - last = j; - // Match 1 or more non-path separators - for (; j < len; ++j) { - if (isPathSeparator(path.charCodeAt(j))) - break; - } - if (j === len) { - // We matched a UNC root only - device = `\\\\${firstPart}\\${path.slice(last)}`; - rootEnd = j; - } - else if (j !== last) { - // We matched a UNC root with leftovers - device = `\\\\${firstPart}\\${path.slice(last, j)}`; - rootEnd = j; - } - } - } - } - else { - rootEnd = 1; - } - } - else if (isWindowsDeviceRoot(code)) { - // Possible device root - if (path.charCodeAt(1) === CHAR_COLON) { - device = path.slice(0, 2); - rootEnd = 2; - if (len > 2) { - if (isPathSeparator(path.charCodeAt(2))) { - // Treat separator following drive name as an absolute path - // indicator - isAbsolute = true; - rootEnd = 3; - } - } - } - } - } - else if (isPathSeparator(code)) { - // `path` contains just a path separator - rootEnd = 1; - isAbsolute = true; - } - if (device.length > 0 && - resolvedDevice.length > 0 && - device.toLowerCase() !== resolvedDevice.toLowerCase()) { - // This path points to another device so it is not applicable - continue; - } - if (resolvedDevice.length === 0 && device.length > 0) { - resolvedDevice = device; - } - if (!resolvedAbsolute) { - resolvedTail = `${path.slice(rootEnd)}\\${resolvedTail}`; - resolvedAbsolute = isAbsolute; - } - if (resolvedAbsolute && resolvedDevice.length > 0) - break; - } - // At this point the path should be resolved to a full absolute path, - // but handle relative paths to be safe (might happen when Deno.cwd() - // fails) - // Normalize the tail path - resolvedTail = normalizeString(resolvedTail, !resolvedAbsolute, "\\", isPathSeparator); - return resolvedDevice + (resolvedAbsolute ? "\\" : "") + resolvedTail || "."; -} diff --git a/package/esm/deps/jsr.io/@std/streams/1.0.12/byte_slice_stream.d.ts b/package/esm/deps/jsr.io/@std/streams/1.0.12/byte_slice_stream.d.ts deleted file mode 100644 index f94fb89..0000000 --- a/package/esm/deps/jsr.io/@std/streams/1.0.12/byte_slice_stream.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * A transform stream that only transforms from the zero-indexed `start` and - * `end` bytes (both inclusive). - * - * @example Basic usage - * ```ts - * import { ByteSliceStream } from "@std/streams/byte-slice-stream"; - * import { assertEquals } from "@std/assert"; - * - * const stream = ReadableStream.from([ - * new Uint8Array([0, 1]), - * new Uint8Array([2, 3, 4]), - * ]); - * const slicedStream = stream.pipeThrough(new ByteSliceStream(1, 3)); - * - * assertEquals( - * await Array.fromAsync(slicedStream), - * [new Uint8Array([1]), new Uint8Array([2, 3])] - * ); - * ``` - * - * @example Get a range of bytes from a fetch response body - * ```ts - * import { ByteSliceStream } from "@std/streams/byte-slice-stream"; - * import { assertEquals } from "@std/assert"; - * - * const response = await fetch("https://example.com"); - * const rangedStream = response.body! - * .pipeThrough(new ByteSliceStream(3, 8)); - * const collected = await Array.fromAsync(rangedStream); - * assertEquals(collected[0]?.length, 6); - * ``` - */ -export declare class ByteSliceStream extends TransformStream { - #private; - /** - * Constructs a new instance. - * - * @param start The zero-indexed byte index to start reading from. - * @param end The zero-indexed byte index to stop reading at. Inclusive. - */ - constructor(start?: number, end?: number); -} -//# sourceMappingURL=byte_slice_stream.d.ts.map \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/streams/1.0.12/byte_slice_stream.d.ts.map b/package/esm/deps/jsr.io/@std/streams/1.0.12/byte_slice_stream.d.ts.map deleted file mode 100644 index 89f7827..0000000 --- a/package/esm/deps/jsr.io/@std/streams/1.0.12/byte_slice_stream.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"byte_slice_stream.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/streams/1.0.12/byte_slice_stream.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,eAAgB,SAAQ,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC;;IAI1E;;;;;OAKG;gBACS,KAAK,SAAI,EAAE,GAAG,GAAE,MAAiB;CA4B9C"} \ No newline at end of file diff --git a/package/esm/deps/jsr.io/@std/streams/1.0.12/byte_slice_stream.js b/package/esm/deps/jsr.io/@std/streams/1.0.12/byte_slice_stream.js deleted file mode 100644 index 5fb8709..0000000 --- a/package/esm/deps/jsr.io/@std/streams/1.0.12/byte_slice_stream.js +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -/** - * A transform stream that only transforms from the zero-indexed `start` and - * `end` bytes (both inclusive). - * - * @example Basic usage - * ```ts - * import { ByteSliceStream } from "@std/streams/byte-slice-stream"; - * import { assertEquals } from "@std/assert"; - * - * const stream = ReadableStream.from([ - * new Uint8Array([0, 1]), - * new Uint8Array([2, 3, 4]), - * ]); - * const slicedStream = stream.pipeThrough(new ByteSliceStream(1, 3)); - * - * assertEquals( - * await Array.fromAsync(slicedStream), - * [new Uint8Array([1]), new Uint8Array([2, 3])] - * ); - * ``` - * - * @example Get a range of bytes from a fetch response body - * ```ts - * import { ByteSliceStream } from "@std/streams/byte-slice-stream"; - * import { assertEquals } from "@std/assert"; - * - * const response = await fetch("https://example.com"); - * const rangedStream = response.body! - * .pipeThrough(new ByteSliceStream(3, 8)); - * const collected = await Array.fromAsync(rangedStream); - * assertEquals(collected[0]?.length, 6); - * ``` - */ -export class ByteSliceStream extends TransformStream { - #offsetStart = 0; - #offsetEnd = 0; - /** - * Constructs a new instance. - * - * @param start The zero-indexed byte index to start reading from. - * @param end The zero-indexed byte index to stop reading at. Inclusive. - */ - constructor(start = 0, end = Infinity) { - super({ - start: () => { - if (start < 0) { - throw new RangeError(`Cannot construct ByteSliceStream as start must be >= 0: received ${start}`); - } - end += 1; - }, - transform: (chunk, controller) => { - this.#offsetStart = this.#offsetEnd; - this.#offsetEnd += chunk.byteLength; - if (this.#offsetEnd > start) { - if (this.#offsetStart < start) { - chunk = chunk.slice(start - this.#offsetStart); - } - if (this.#offsetEnd >= end) { - chunk = chunk.slice(0, chunk.byteLength - this.#offsetEnd + end); - controller.enqueue(chunk); - controller.terminate(); - } - else { - controller.enqueue(chunk); - } - } - }, - }); - } -} diff --git a/package/esm/dom/button2.css b/package/esm/dom/button2.css deleted file mode 100644 index 01b8cf4..0000000 --- a/package/esm/dom/button2.css +++ /dev/null @@ -1,15 +0,0 @@ -button { - background-color: #7cfaf8; /* Green */ - border: none; - color: white; - padding: 15px 32px; - text-align: center; - text-decoration: none; - display: inline-block; - font-size: 16px; - margin: 4px 2px; - cursor: pointer; -} -body{ - background-color: #b02fc7; -} \ No newline at end of file diff --git a/package/esm/dom/counter2.css b/package/esm/dom/counter2.css deleted file mode 100644 index 2cb4708..0000000 --- a/package/esm/dom/counter2.css +++ /dev/null @@ -1,18 +0,0 @@ -.emoji { - display: block; - font-family: system-ui, sans-serif; - border: 2px solid #ccc; - border-radius: 8px; - padding: 16px; - margin: 16px 0; - text-align: center; - background-color: #9f2ea4; -} -.counter { - color: purple; -} - -div { - padding: 16px; - font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; -} \ No newline at end of file diff --git a/package/esm/dom/main.js b/package/esm/dom/main.js index 56e9a4e..cb1eecc 100644 --- a/package/esm/dom/main.js +++ b/package/esm/dom/main.js @@ -1,17 +1,8 @@ import register from 'preact-custom-element'; -import { CounterPreact } from "../elements/counter-preact.js"; -import { ButtonPreact } from "../elements/button-preact.js"; -import { Button2 } from "../components/button2.js"; -import { Counter2 } from "../components/counter2.js"; -import { Counter } from "../elements/counter.js"; -import { Button } from "../elements/button.js"; -import counterStyle from './counter2.css' with { type: 'css' }; +import { Button } from "../components/button.js"; +import { Counter } from "../components/counter.js"; function main() { - customElements.define("dsd-counter-preact", CounterPreact); - customElements.define("dsd-button-preact", ButtonPreact); - register(Counter2, 'element-counter2', [], { shadow: true, mode: 'open', adoptedStyleSheets: [counterStyle] }); - register(Button2, 'element-button2', [], { shadow: true, mode: 'open', adoptedStyleSheets: [] }); - customElements.define("element-counter", Counter); - customElements.define("element-button", Button); + register(Counter, 'element-counter', [], { shadow: true, mode: 'open' }); + register(Button, 'element-button', [], { shadow: true, mode: 'open' }); } document.addEventListener("DOMContentLoaded", main); diff --git a/package/esm/elements/button-preact.d.ts b/package/esm/elements/button-preact.d.ts deleted file mode 100644 index 1cea286..0000000 --- a/package/esm/elements/button-preact.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -declare class ButtonPreact extends HTMLElement { - static observedAttributes: never[]; - private shadow; - private internals?; - constructor(); - private handleClick; - connectedCallback(): void; - disconnectedCallback(): void; - attributeChangedCallback(name: string, oldValue: string, newValue: string): void; -} -export { ButtonPreact }; -//# sourceMappingURL=button-preact.d.ts.map \ No newline at end of file diff --git a/package/esm/elements/button-preact.d.ts.map b/package/esm/elements/button-preact.d.ts.map deleted file mode 100644 index 4378684..0000000 --- a/package/esm/elements/button-preact.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"button-preact.d.ts","sourceRoot":"","sources":["../../src/elements/button-preact.tsx"],"names":[],"mappings":"AAIA,cAAM,YAAa,SAAQ,WAAW;IACpC,MAAM,CAAC,kBAAkB,UAAM;IAE/B,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,SAAS,CAAC,CAAmB;;IASrC,OAAO,CAAC,WAAW;IAInB,iBAAiB;IAgBjB,oBAAoB;IAMpB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAK1E;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"} \ No newline at end of file diff --git a/package/esm/elements/button-preact.js b/package/esm/elements/button-preact.js deleted file mode 100644 index a3626a7..0000000 --- a/package/esm/elements/button-preact.js +++ /dev/null @@ -1,40 +0,0 @@ -import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "preact/jsx-runtime"; -/** @jsxImportSource preact */ -import { hydrate, render } from "preact"; -import { Button } from "../components/button.js"; -import { count } from "../signals/counter.js"; -class ButtonPreact extends HTMLElement { - static observedAttributes = []; // Add attribute names if needed - shadow = null; - internals; - constructor() { - super(); - if ("attachInternals" in this) { - this.internals = this.attachInternals(); - } - } - handleClick() { - count.value++; - } - connectedCallback() { - this.shadow = this.internals?.shadowRoot || this.shadowRoot; - if (!this.shadow) { - this.shadow = this.attachShadow({ mode: "open", serializable: true }); - render(_jsxs(_Fragment, { children: [_jsx("link", { rel: "stylesheet", href: "/templates/button.css" }), _jsx(Button, { onClick: this.handleClick })] }), this.shadow); - } - else { - hydrate(_jsx(Button, { onClick: this.handleClick }), this.shadow); - } - } - disconnectedCallback() { - if (this.shadow) { - render(null, this.shadow); - } - } - attributeChangedCallback(name, oldValue, newValue) { - console.log(name); - console.log(oldValue); - console.log(newValue); - } -} -export { ButtonPreact }; diff --git a/package/esm/elements/button.d.ts b/package/esm/elements/button.d.ts deleted file mode 100644 index a17ed70..0000000 --- a/package/esm/elements/button.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -declare class Button extends HTMLElement { - private shadow; - private internals?; - private buttonEl; - private handleClick; - constructor(); - connectedCallback(): void; - disconnectedCallback(): void; -} -export { Button }; -//# sourceMappingURL=button.d.ts.map \ No newline at end of file diff --git a/package/esm/elements/button.d.ts.map b/package/esm/elements/button.d.ts.map deleted file mode 100644 index 1722058..0000000 --- a/package/esm/elements/button.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/elements/button.ts"],"names":[],"mappings":"AAEA,cAAM,MAAO,SAAQ,WAAW;IAC9B,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,SAAS,CAAC,CAAmB;IACrC,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,WAAW,CAEjB;;IASF,iBAAiB;IAoBjB,oBAAoB;CAKrB;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"} \ No newline at end of file diff --git a/package/esm/elements/button.js b/package/esm/elements/button.js deleted file mode 100644 index 7d9c138..0000000 --- a/package/esm/elements/button.js +++ /dev/null @@ -1,36 +0,0 @@ -import { count } from "../signals/counter.js"; -class Button extends HTMLElement { - shadow = null; - internals; - buttonEl = null; - handleClick = () => { - count.value++; - }; - constructor() { - super(); - if ("attachInternals" in this) { - this.internals = this.attachInternals(); - } - } - connectedCallback() { - this.shadow = this.internals?.shadowRoot || this.shadowRoot; - if (!this.shadow) { - this.shadow = this.attachShadow({ mode: "open", serializable: true }); - const template = document.getElementById("template-button"); - if (template) { - this.shadow.appendChild(template.content.cloneNode(true)); - } - } - // Attach event listener - this.buttonEl = this.shadow?.querySelector("button"); - if (this.buttonEl) { - this.buttonEl.addEventListener("click", this.handleClick); - } - } - disconnectedCallback() { - if (this.buttonEl) { - this.buttonEl.removeEventListener("click", this.handleClick); - } - } -} -export { Button }; diff --git a/package/esm/elements/counter-preact.d.ts b/package/esm/elements/counter-preact.d.ts deleted file mode 100644 index da0be68..0000000 --- a/package/esm/elements/counter-preact.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** @jsxImportSource preact */ -declare class CounterPreact extends HTMLElement { - private shadow; - private internals?; - constructor(); - connectedCallback(): void; - disconnectedCallback(): void; -} -export { CounterPreact }; -//# sourceMappingURL=counter-preact.d.ts.map \ No newline at end of file diff --git a/package/esm/elements/counter-preact.d.ts.map b/package/esm/elements/counter-preact.d.ts.map deleted file mode 100644 index 526cd8a..0000000 --- a/package/esm/elements/counter-preact.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"counter-preact.d.ts","sourceRoot":"","sources":["../../src/elements/counter-preact.tsx"],"names":[],"mappings":"AAAA,8BAA8B;AAK9B,cAAM,aAAc,SAAQ,WAAW;IAErC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,SAAS,CAAC,CAAmB;;IASrC,iBAAiB;IAgBjB,oBAAoB;CAKrB;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"} \ No newline at end of file diff --git a/package/esm/elements/counter-preact.js b/package/esm/elements/counter-preact.js deleted file mode 100644 index cb29a51..0000000 --- a/package/esm/elements/counter-preact.js +++ /dev/null @@ -1,30 +0,0 @@ -import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "preact/jsx-runtime"; -/** @jsxImportSource preact */ -import { hydrate, render } from "preact"; -import { Counter } from "../components/counter.js"; -class CounterPreact extends HTMLElement { - shadow = null; - internals; - constructor() { - super(); - if ("attachInternals" in this) { - this.internals = this.attachInternals(); - } - } - connectedCallback() { - this.shadow = this.internals?.shadowRoot || this.shadowRoot; - if (!this.shadow) { - this.shadow = this.attachShadow({ mode: "open", serializable: true }); - render(_jsxs(_Fragment, { children: [_jsx("link", { rel: "stylesheet", href: "/templates/counter.css" }), _jsx(Counter, {})] }), this.shadow); - } - else { - hydrate(_jsx(Counter, {}), this.shadow); - } - } - disconnectedCallback() { - if (this.shadow) { - render(null, this.shadow); - } - } -} -export { CounterPreact }; diff --git a/package/esm/elements/counter.d.ts b/package/esm/elements/counter.d.ts deleted file mode 100644 index 8757e26..0000000 --- a/package/esm/elements/counter.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -declare class Counter extends HTMLElement { - private shadow; - private internals?; - private counterPlaceholder; - private disposeEffect?; - constructor(); - connectedCallback(): void; - disconnectedCallback(): void; -} -export { Counter }; -//# sourceMappingURL=counter.d.ts.map \ No newline at end of file diff --git a/package/esm/elements/counter.d.ts.map b/package/esm/elements/counter.d.ts.map deleted file mode 100644 index e29e6dc..0000000 --- a/package/esm/elements/counter.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"counter.d.ts","sourceRoot":"","sources":["../../src/elements/counter.ts"],"names":[],"mappings":"AAGA,cAAM,OAAQ,SAAQ,WAAW;IAC/B,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,SAAS,CAAC,CAAmB;IACrC,OAAO,CAAC,kBAAkB,CAA+B;IACzD,OAAO,CAAC,aAAa,CAAC,CAAa;;IASnC,iBAAiB;IAsBjB,oBAAoB;CAMrB;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"} \ No newline at end of file diff --git a/package/esm/elements/counter.js b/package/esm/elements/counter.js deleted file mode 100644 index d9d009a..0000000 --- a/package/esm/elements/counter.js +++ /dev/null @@ -1,38 +0,0 @@ -import { effect } from "@preact/signals"; -import { count } from "../signals/counter.js"; -class Counter extends HTMLElement { - shadow = null; - internals; - counterPlaceholder = null; - disposeEffect; - constructor() { - super(); - if ("attachInternals" in this) { - this.internals = this.attachInternals(); - } - } - connectedCallback() { - this.shadow = this.internals?.shadowRoot || this.shadowRoot; - if (!this.shadow) { - this.shadow = this.attachShadow({ mode: "open", serializable: true }); - const template = document.getElementById("template-counter"); - if (template) { - this.shadow.appendChild(template.content.cloneNode(true)); - } - } - this.counterPlaceholder = this.shadow?.querySelector("div"); - if (this.counterPlaceholder) { - // Store disposer to clean up effect on disconnect - this.disposeEffect = effect(() => { - this.counterPlaceholder.textContent = `${count.value}`; - }); - } - } - disconnectedCallback() { - if (this.disposeEffect) { - this.disposeEffect(); - this.disposeEffect = undefined; - } - } -} -export { Counter }; diff --git a/package/esm/importmap.d.ts b/package/esm/importmap.d.ts deleted file mode 100644 index 06de8f6..0000000 --- a/package/esm/importmap.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -declare namespace _default { - let imports: { - "@preact/signals": string; - preact: string; - "preact-custom-element": string; - "preact/jsx-runtime": string; - }; - let scopes: { - "https://ga.jspm.io/": { - "@preact/signals-core": string; - "preact/hooks": string; - }; - }; - let integrity: { - "https://ga.jspm.io/npm:@preact/signals-core@1.12.1/dist/signals-core.module.js": string; - "https://ga.jspm.io/npm:@preact/signals@2.3.1/dist/signals.module.js": string; - "https://ga.jspm.io/npm:preact-custom-element@4.5.0/dist/preact-custom-element.esm.js": string; - "https://ga.jspm.io/npm:preact@10.27.1/dist/preact.module.js": string; - "https://ga.jspm.io/npm:preact@10.27.1/hooks/dist/hooks.module.js": string; - "https://ga.jspm.io/npm:preact@10.27.1/jsx-runtime/dist/jsxRuntime.module.js": string; - }; -} -export default _default; -//# sourceMappingURL=importmap.d.ts.map \ No newline at end of file diff --git a/package/esm/importmap.d.ts.map b/package/esm/importmap.d.ts.map deleted file mode 100644 index 87482fd..0000000 --- a/package/esm/importmap.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"importmap.d.ts","sourceRoot":"","sources":["../src/importmap.js"],"names":[],"mappings":""} \ No newline at end of file diff --git a/package/esm/importmap.js b/package/esm/importmap.js deleted file mode 100644 index 01a2dea..0000000 --- a/package/esm/importmap.js +++ /dev/null @@ -1,22 +0,0 @@ -export default { - "imports": { - "@preact/signals": "https://ga.jspm.io/npm:@preact/signals@2.3.1/dist/signals.module.js", - "preact": "https://ga.jspm.io/npm:preact@10.27.1/dist/preact.module.js", - "preact-custom-element": "https://ga.jspm.io/npm:preact-custom-element@4.5.0/dist/preact-custom-element.esm.js", - "preact/jsx-runtime": "https://ga.jspm.io/npm:preact@10.27.1/jsx-runtime/dist/jsxRuntime.module.js" - }, - "scopes": { - "https://ga.jspm.io/": { - "@preact/signals-core": "https://ga.jspm.io/npm:@preact/signals-core@1.12.1/dist/signals-core.module.js", - "preact/hooks": "https://ga.jspm.io/npm:preact@10.27.1/hooks/dist/hooks.module.js" - } - }, - "integrity": { - "https://ga.jspm.io/npm:@preact/signals-core@1.12.1/dist/signals-core.module.js": "sha384-9UFMm/WSztUU3wlFfrAWXQRwGznZ6Sn239sBI9J3KcPVwwrb9cbpZPZcdXhdh8oF", - "https://ga.jspm.io/npm:@preact/signals@2.3.1/dist/signals.module.js": "sha384-bKb3ydc1F5AvMqFrwbazxvT3YNO2h1Q7kNfLm20CZbBr7gDrkGW7Zhu+GCeGSHeP", - "https://ga.jspm.io/npm:preact-custom-element@4.5.0/dist/preact-custom-element.esm.js": "sha384-O6WmKNiOz37uUp/Ql0708GGp78j5smJjmHKP/4RFlZ4xzhM7pU7pmXzxICRsbuSB", - "https://ga.jspm.io/npm:preact@10.27.1/dist/preact.module.js": "sha384-uED1sqA0mUE6gU4PPIYC9u8poFC1jwGs2hy9sNpaq6tMVMbu2jD6z6E21qmaZ7nS", - "https://ga.jspm.io/npm:preact@10.27.1/hooks/dist/hooks.module.js": "sha384-Yuoj3LKvItbLrh7UD0HpgPwNIApy0SSur+BFGX+kR4SrbA75NHsX6NkmxYtBFV+P", - "https://ga.jspm.io/npm:preact@10.27.1/jsx-runtime/dist/jsxRuntime.module.js": "sha384-7/qpgtXqILUTaZFfdAW8wL2mRFPf4d+G5LoVgUhpHlje71DUgR7W9+vKq4UaeY9D" - } -}; diff --git a/package/esm/main.d.ts b/package/esm/main.d.ts index ec8a374..6161276 100644 --- a/package/esm/main.d.ts +++ b/package/esm/main.d.ts @@ -1,21 +1,7 @@ -declare module 'preact/jsx-runtime' { - namespace JSX { - interface IntrinsicElements { - 'element-counter': HTMLAttributes; - 'element-button': HTMLAttributes; - 'dsd-counter-preact': HTMLAttributes; - 'dsd-button-preact': HTMLAttributes; - 'element-button2': HTMLAttributes & { - hydrate?: boolean; - }; - 'element-counter2': HTMLAttributes; - } - } -} -declare function documentHome(): Promise; +declare function document(): ReadableStream; declare const _default: { - fetch(request: Request): Promise; + fetch(request: Request): any; }; export default _default; -export { documentHome }; +export { document }; //# sourceMappingURL=main.d.ts.map \ No newline at end of file diff --git a/package/esm/main.d.ts.map b/package/esm/main.d.ts.map index 625dfc2..c3e026b 100644 --- a/package/esm/main.d.ts.map +++ b/package/esm/main.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.tsx"],"names":[],"mappings":"AAKA,OAAO,QAAQ,oBAAoB,CAAC;IAClC,UAAU,GAAG,CAAC;QACZ,UAAU,iBAAiB;YACzB,iBAAiB,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;YAC/C,gBAAgB,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;YAC9C,oBAAoB,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;YAClD,mBAAmB,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;YACjD,iBAAiB,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG;gBAAE,OAAO,CAAC,EAAE,OAAO,CAAA;aAAE,CAAC;YACvE,kBAAkB,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;SACjD;KACF;CACF;AAyED,iBAAe,YAAY,oBAM1B;;mBAGsB,OAAO;;AAD9B,wBA+BE;AAEF,OAAO,EAAE,YAAY,EAAE,CAAA"} \ No newline at end of file +{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.tsx"],"names":[],"mappings":"AA4CA,iBAAS,QAAQ,IAAI,cAAc,CAAC,UAAU,CAAC,CAS9C;;mBAGgB,OAAO;;AADxB,wBAiBE;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAA"} \ No newline at end of file diff --git a/package/esm/main.js b/package/esm/main.js index e3b4273..dac1575 100644 --- a/package/esm/main.js +++ b/package/esm/main.js @@ -1,104 +1,69 @@ import { jsx as _jsx } from "preact/jsx-runtime"; /** @jsxImportSource preact */ -import { renderToStringAsync } from "preact-render-to-string"; -import { serveFile } from "./deps/jsr.io/@std/http/1.0.20/file_server.js"; -import { Home } from "./components/home.js"; +import { renderToReadableStream } from "preact-render-to-string/stream"; +import { serveFile } from "@std/http/file-server"; +import { Document } from "./components/document.js"; const routes = [ { - pattern: new URLPattern({ pathname: "/elements" }), - file: "elements.html", + pattern: new URLPattern({ pathname: "/" }), + file: "index.html", }, { - pattern: new URLPattern({ pathname: "/esm/_dnt.polyfills.js" }), - file: "package/esm/_dnt.polyfills.js", + pattern: new URLPattern({ pathname: "/standard-web-components" }), + file: "standard-web-components.html", }, { - pattern: new URLPattern({ pathname: "/esm/dom/main.js" }), - file: "package/esm/dom/main.js", + pattern: new URLPattern({ pathname: "/favicon.ico" }), + file: "images/favicon/favicon.ico", }, { - pattern: new URLPattern({ pathname: "/esm/signals/counter.js" }), - file: "package/esm/signals/counter.js", + pattern: new URLPattern({ pathname: "/favicon.svg" }), + file: "images/favicon/favicon.svg", }, { - pattern: new URLPattern({ pathname: "/esm/components/button2.js" }), - file: "package/esm/components/button2.js", + pattern: new URLPattern({ pathname: "/favicon-96x96.png" }), + file: "images/favicon/favicon-96x96.png", }, { - pattern: new URLPattern({ pathname: "/esm/components/counter.js" }), - file: "package/esm/components/counter.js", + pattern: new URLPattern({ pathname: "/site.webmanifest" }), + file: "images/favicon/site.webmanifest", }, { - pattern: new URLPattern({ pathname: "/esm/components/counter2.js" }), - file: "package/esm/components/counter2.js", + pattern: new URLPattern({ pathname: "/dom/main.js" }), + file: "bundle/main.js", }, { - pattern: new URLPattern({ pathname: "/esm/dom/button2.css" }), - file: "package/esm/dom/button2.css", + pattern: new URLPattern({ pathname: "/components/button.css" }), + file: "components/button.css", }, { - pattern: new URLPattern({ pathname: "/esm/dom/counter2.css" }), - file: "package/esm/dom/counter2.css", - }, - { - pattern: new URLPattern({ pathname: "/templates/template-button.js" }), - file: "package/esm/templates/template-button.js", - }, - { - pattern: new URLPattern({ pathname: "/templates/button.css" }), - file: "templates/button.css", - }, - { - pattern: new URLPattern({ pathname: "/esm/components/button.js" }), - file: "package/esm/components/button.js", - }, - { - pattern: new URLPattern({ pathname: "/templates/counter.css" }), - file: "templates/counter.css", - }, - { - pattern: new URLPattern({ pathname: "/esm/elements/counter.js" }), - file: "package/esm/elements/counter.js", - }, - { - pattern: new URLPattern({ pathname: "/esm/elements/button.js" }), - file: "package/esm/elements/button.js", - }, - { - pattern: new URLPattern({ pathname: "/esm/elements/counter-preact.js" }), - file: "package/esm/elements/counter-preact.js", - }, - { - pattern: new URLPattern({ pathname: "/esm/elements/button-preact.js" }), - file: "package/esm/elements/button-preact.js", + pattern: new URLPattern({ pathname: "/components/counter.css" }), + file: "components/counter.css", }, ]; -async function documentHome() { - const html = await renderToStringAsync(_jsx(Home, {})); - return `${html}`; +function document() { + const stream = renderToReadableStream(_jsx(Document, {})); + const encoder = new TextEncoder(); + return stream.pipeThrough(new TransformStream({ + start(controller) { + controller.enqueue(encoder.encode("")); + } + })); } export default { - async fetch(request) { + fetch(request) { const { pathname } = new URL(request.url); for (const route of routes) { if (route.pattern.test({ pathname })) { return serveFile(request, route.file); } } - if (pathname === "/favicon.ico") { - return new Response("Favicon not found", { - status: 404, - headers: { - "content-type": "text/plain;charset=UTF-8", - }, - }); - } - const document = await documentHome(); - return new Response(document, { + const stream = document(); + return new Response(stream, { headers: { "content-type": "text/html;charset=UTF-8", }, }); }, }; -export { documentHome }; +export { document }; diff --git a/package/esm/templates/template-button.d.ts b/package/esm/templates/template-button.d.ts deleted file mode 100644 index d69eddf..0000000 --- a/package/esm/templates/template-button.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -declare function TemplateButton({ shadowrootmode, id, shadowrootserializable }: { - shadowrootmode?: "open" | "closed"; - id?: string; - shadowrootserializable?: boolean; -}): import("preact").JSX.Element; -export { TemplateButton }; -//# sourceMappingURL=template-button.d.ts.map \ No newline at end of file diff --git a/package/esm/templates/template-button.d.ts.map b/package/esm/templates/template-button.d.ts.map deleted file mode 100644 index 74ee46e..0000000 --- a/package/esm/templates/template-button.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"template-button.d.ts","sourceRoot":"","sources":["../../src/templates/template-button.tsx"],"names":[],"mappings":"AAEA,iBAAS,cAAc,CACrB,EAAE,cAAc,EAAE,EAAE,EAAE,sBAAsB,EAAE,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,gCAQtI;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"} \ No newline at end of file diff --git a/package/esm/templates/template-button.js b/package/esm/templates/template-button.js deleted file mode 100644 index 07ae244..0000000 --- a/package/esm/templates/template-button.js +++ /dev/null @@ -1,7 +0,0 @@ -import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime"; -/** @jsxImportSource preact */ -import { Button } from "../components/button.js"; -function TemplateButton({ shadowrootmode, id, shadowrootserializable }) { - return (_jsxs("template", { shadowrootmode: shadowrootmode, id: id, shadowrootserializable: shadowrootserializable, children: [_jsx("link", { rel: "stylesheet", href: "/templates/button.css" }), _jsx(Button, {})] })); -} -export { TemplateButton }; diff --git a/package/esm/templates/template-counter.d.ts b/package/esm/templates/template-counter.d.ts deleted file mode 100644 index 2ca5e9d..0000000 --- a/package/esm/templates/template-counter.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -declare function TemplateCounter({ shadowrootmode, id, shadowrootserializable }: { - shadowrootmode?: "open" | "closed"; - id?: string; - shadowrootserializable?: boolean; -}): import("preact").JSX.Element; -export { TemplateCounter }; -//# sourceMappingURL=template-counter.d.ts.map \ No newline at end of file diff --git a/package/esm/templates/template-counter.d.ts.map b/package/esm/templates/template-counter.d.ts.map deleted file mode 100644 index 988072f..0000000 --- a/package/esm/templates/template-counter.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"template-counter.d.ts","sourceRoot":"","sources":["../../src/templates/template-counter.tsx"],"names":[],"mappings":"AAEA,iBAAS,eAAe,CACtB,EAAE,cAAc,EAAE,EAAE,EAAE,sBAAsB,EAAE,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,gCAQtI;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"} \ No newline at end of file diff --git a/package/esm/templates/template-counter.js b/package/esm/templates/template-counter.js deleted file mode 100644 index 922ae1e..0000000 --- a/package/esm/templates/template-counter.js +++ /dev/null @@ -1,7 +0,0 @@ -import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime"; -/** @jsxImportSource preact */ -import { Counter } from "../components/counter.js"; -function TemplateCounter({ shadowrootmode, id, shadowrootserializable }) { - return (_jsxs("template", { shadowrootmode: shadowrootmode, id: id, shadowrootserializable: shadowrootserializable, children: [_jsx("link", { rel: "stylesheet", href: "/templates/counter.css" }), _jsx(Counter, {})] })); -} -export { TemplateCounter }; diff --git a/package/index.html b/package/index.html deleted file mode 100644 index ce5a7ac..0000000 --- a/package/index.html +++ /dev/null @@ -1,31 +0,0 @@ -DSD - - - - - - -

Declarative Shadow DOM study

Button Element

Button Component

Button Custom Element

0Count

Button Custom Element (Preact)

0Count

Button Component with Declarative Shadow DOM (Preact)

Count

Preact register

0Count 2
\ No newline at end of file diff --git a/package/package-lock.json b/package/package-lock.json index 32b5645..c5d9194 100644 --- a/package/package-lock.json +++ b/package/package-lock.json @@ -6,32 +6,14 @@ "": { "name": "@fusionstrings/elements", "dependencies": { - "@deno/shim-deno": "~0.18.0", "@preact/signals": "*", "preact": "*", - "preact-custom-element": "*", - "preact-render-to-string": "*" + "preact-custom-element": "*" }, "devDependencies": { "@types/node": "^20.9.0" } }, - "node_modules/@deno/shim-deno": { - "version": "0.18.2", - "resolved": "https://registry.npmjs.org/@deno/shim-deno/-/shim-deno-0.18.2.tgz", - "integrity": "sha512-oQ0CVmOio63wlhwQF75zA4ioolPvOwAoK0yuzcS5bDC1JUvH3y1GS8xPh8EOpcoDQRU4FTG8OQfxhpR+c6DrzA==", - "license": "MIT", - "dependencies": { - "@deno/shim-deno-test": "^0.5.0", - "which": "^4.0.0" - } - }, - "node_modules/@deno/shim-deno-test": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@deno/shim-deno-test/-/shim-deno-test-0.5.0.tgz", - "integrity": "sha512-4nMhecpGlPi0cSzT67L+Tm+GOJqvuk8gqHBziqcUQOarnuIax1z96/gJHCSIz2Z0zhxE6Rzwb3IZXPtFh51j+w==", - "license": "MIT" - }, "node_modules/@preact/signals": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/@preact/signals/-/signals-2.3.1.tgz", @@ -59,28 +41,19 @@ } }, "node_modules/@types/node": { - "version": "20.19.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.13.tgz", - "integrity": "sha512-yCAeZl7a0DxgNVteXFHt9+uyFbqXGy/ShC4BlcHkoE0AfGXYv/BUiplV72DjMYXHDBXFjhvr6DD1NiRVfB4j8g==", + "version": "20.19.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.14.tgz", + "integrity": "sha512-gqiKWld3YIkmtrrg9zDvg9jfksZCcPywXVN7IauUGhilwGV/yOyeUsvpR796m/Jye0zUzMXPKe8Ct1B79A7N5Q==", "dev": true, "license": "MIT", "dependencies": { "undici-types": "~6.21.0" } }, - "node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "license": "ISC", - "engines": { - "node": ">=16" - } - }, "node_modules/preact": { - "version": "10.27.1", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.27.1.tgz", - "integrity": "sha512-V79raXEWch/rbqoNc7nT9E4ep7lu+mI3+sBmfRD4i1M73R3WLYcCtdI0ibxGVf4eQL8ZIz2nFacqEC+rmnOORQ==", + "version": "10.27.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.27.2.tgz", + "integrity": "sha512-5SYSgFKSyhCbk6SrXyMpqjb5+MQBgfvEKE/OC+PujcY34sOpqtr+0AZQtPYx5IA6VxynQ7rUPCtKzyovpj9Bpg==", "license": "MIT", "funding": { "type": "opencollective", @@ -88,44 +61,20 @@ } }, "node_modules/preact-custom-element": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/preact-custom-element/-/preact-custom-element-4.5.0.tgz", - "integrity": "sha512-OloqaHGKf9P+YehXjk7MhB257J/gGJYmkWyEiAFh7IPfPLh2Xv+UkQAYb7N7BVWUDI/5ORif3BXho5NGRz/HFQ==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/preact-custom-element/-/preact-custom-element-4.5.1.tgz", + "integrity": "sha512-G5HRe5lrWibvjdsA8vkX9gZlSb8Gggs8SMNB9xU96KQ75MrqFjjezBACimozThu1IhO/SIbFwX2tW4IUMDNxpg==", "license": "MIT", "peerDependencies": { "preact": ">= 10.25.0 || >=11.0.0-0" } }, - "node_modules/preact-render-to-string": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-6.6.1.tgz", - "integrity": "sha512-IIMfXRjmbSP9QmG18WJLQa4Z4yx3J0VC9QN5q9z2XYlWSzFlJ+bSm/AyLyyV/YFwjof1OXFX2Mz6Ao60LXudJg==", - "license": "MIT", - "peerDependencies": { - "preact": ">=10 || >= 11.0.0-0" - } - }, "node_modules/undici-types": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" - }, - "node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", - "license": "ISC", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^16.13.0 || >=18.0.0" - } } } } diff --git a/package/package.json b/package/package.json index b27b5c5..ca5398a 100644 --- a/package/package.json +++ b/package/package.json @@ -14,9 +14,7 @@ "dependencies": { "@preact/signals": "*", "preact": "*", - "preact-custom-element": "*", - "preact-render-to-string": "*", - "@deno/shim-deno": "~0.18.0" + "preact-custom-element": "*" }, "devDependencies": { "@types/node": "^20.9.0" diff --git a/package/src/_dnt.shims.ts b/package/src/_dnt.shims.ts deleted file mode 100644 index 4f4afe5..0000000 --- a/package/src/_dnt.shims.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { Deno } from "@deno/shim-deno"; -export { Deno } from "@deno/shim-deno"; - -const dntGlobals = { - Deno, -}; -export const dntGlobalThis = createMergeProxy(globalThis, dntGlobals); - -function createMergeProxy( - baseObj: T, - extObj: U, -): Omit & U { - return new Proxy(baseObj, { - get(_target, prop, _receiver) { - if (prop in extObj) { - return (extObj as any)[prop]; - } else { - return (baseObj as any)[prop]; - } - }, - set(_target, prop, value) { - if (prop in extObj) { - delete (extObj as any)[prop]; - } - (baseObj as any)[prop] = value; - return true; - }, - deleteProperty(_target, prop) { - let success = false; - if (prop in extObj) { - delete (extObj as any)[prop]; - success = true; - } - if (prop in baseObj) { - delete (baseObj as any)[prop]; - success = true; - } - return success; - }, - ownKeys(_target) { - const baseKeys = Reflect.ownKeys(baseObj); - const extKeys = Reflect.ownKeys(extObj); - const extKeysSet = new Set(extKeys); - return [...baseKeys.filter((k) => !extKeysSet.has(k)), ...extKeys]; - }, - defineProperty(_target, prop, desc) { - if (prop in extObj) { - delete (extObj as any)[prop]; - } - Reflect.defineProperty(baseObj, prop, desc); - return true; - }, - getOwnPropertyDescriptor(_target, prop) { - if (prop in extObj) { - return Reflect.getOwnPropertyDescriptor(extObj, prop); - } else { - return Reflect.getOwnPropertyDescriptor(baseObj, prop); - } - }, - has(_target, prop) { - return prop in extObj || prop in baseObj; - }, - }) as any; -} diff --git a/package/src/components/button.tsx b/package/src/components/button.tsx index 769142e..2c179a8 100644 --- a/package/src/components/button.tsx +++ b/package/src/components/button.tsx @@ -1,16 +1,19 @@ /** @jsxImportSource preact */ -import type { JSX } from "preact"; +import type { ComponentChildren } from "preact"; function Button( { onClick, children = "Click Me !" }: { - onClick?: JSX.MouseEventHandler | undefined; - children?: JSX.Element | string; + onClick?: (event: MouseEvent) => void; + children?: ComponentChildren; }, ) { return ( - + <> + + + ); } diff --git a/package/src/components/button2.tsx b/package/src/components/button2.tsx deleted file mode 100644 index 66a34f9..0000000 --- a/package/src/components/button2.tsx +++ /dev/null @@ -1,20 +0,0 @@ -/** @jsxImportSource preact */ -import type { JSX } from "preact"; - -function Button2( - { onClick, children = "Click Me !" }: { - onClick?: JSX.MouseEventHandler | undefined; - children?: JSX.Element | string; - }, -) { - return ( - <> - - - - ); -} - -export { Button2 }; diff --git a/package/src/components/counter.tsx b/package/src/components/counter.tsx index 3cfeefa..e0e3f1a 100644 --- a/package/src/components/counter.tsx +++ b/package/src/components/counter.tsx @@ -1,10 +1,14 @@ /** @jsxImportSource preact */ import { count } from "../signals/counter.js"; + function Counter() { return ( -
- {count} -
+ <> + +
+ {count} +
+ ); } diff --git a/package/src/components/counter2.tsx b/package/src/components/counter2.tsx deleted file mode 100644 index bedc4e3..0000000 --- a/package/src/components/counter2.tsx +++ /dev/null @@ -1,11 +0,0 @@ -/** @jsxImportSource preact */ -import { count } from "../signals/counter.js"; -function Counter2({emoji = "⚛️"}: {emoji?: string}) { - return ( -
- Counter: {count} {emoji} -
- ); -} - -export { Counter2 }; diff --git a/package/src/components/document.tsx b/package/src/components/document.tsx new file mode 100644 index 0000000..f6af07a --- /dev/null +++ b/package/src/components/document.tsx @@ -0,0 +1,52 @@ +/** @jsxImportSource preact */ + +import { Button } from "./button.js"; +import { Counter } from "./counter.js"; + +function Document() { + return ( + + + + + Elements + + + + + + + + +
+ +
+
+

Preact Web Components Study

+ +
event.preventDefault()}> +
+ Counter Form +

+ Current count: + + +

+ Add +
+
+
+ + + ) +} + +export { Document } \ No newline at end of file diff --git a/package/src/components/dsd-button.tsx b/package/src/components/dsd-button.tsx deleted file mode 100644 index aa591e9..0000000 --- a/package/src/components/dsd-button.tsx +++ /dev/null @@ -1,16 +0,0 @@ -/** @jsxImportSource preact */ -import { TemplateButton } from "../templates/template-button.js"; -function DSDButton( - { label }: { - label: string; - }, -) { - return ( - - - {label} - - ); -} - -export { DSDButton }; diff --git a/package/src/components/dsd-counter.tsx b/package/src/components/dsd-counter.tsx deleted file mode 100644 index 0156039..0000000 --- a/package/src/components/dsd-counter.tsx +++ /dev/null @@ -1,11 +0,0 @@ -/** @jsxImportSource preact */ -import { TemplateCounter } from "../templates/template-counter.js"; -function DSDCounter() { - return ( - - - - ); -} - -export { DSDCounter }; diff --git a/package/src/components/home.tsx b/package/src/components/home.tsx deleted file mode 100644 index db556c6..0000000 --- a/package/src/components/home.tsx +++ /dev/null @@ -1,90 +0,0 @@ -/** @jsxImportSource preact */ -import browserImportMap from "../importmap.js"; -import { TemplateCounter } from "../templates/template-counter.js"; -import { TemplateButton } from "../templates/template-button.js"; -import { Button } from "./button.js"; -import { count } from "../signals/counter.js"; -import { DSDCounter } from "./dsd-counter.js"; -import { DSDButton } from "./dsd-button.js"; -import { Button2 } from "./button2.js"; - -function Home() { - return ( - - - - - - DSD - - - - -
- -
-
-

Declarative Shadow DOM study

- -
-

Button Element

- -
- -
-

Button Component

- -
- -
-

Button Custom Element

- {count} - Count -
- -
-

Button Custom Element (Preact)

- {count} - Count -
- -
-

Button Component with Declarative Shadow DOM (Preact)

- - -
- -
-

Preact register

- {count} - - - Count 2 - -
-
- - - ) -} - -export { Home } \ No newline at end of file diff --git a/package/src/deps/jsr.io/@std/cli/1.0.22/parse_args.ts b/package/src/deps/jsr.io/@std/cli/1.0.22/parse_args.ts deleted file mode 100644 index a6e97cd..0000000 --- a/package/src/deps/jsr.io/@std/cli/1.0.22/parse_args.ts +++ /dev/null @@ -1,890 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -/** - * Command line arguments parser based on - * {@link https://github.com/minimistjs/minimist | minimist}. - * - * See {@linkcode parseArgs} for more information. - * - * @example Usage - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * // For proper use, one should use `parseArgs(Deno.args)` - * assertEquals(parseArgs(["--foo", "--bar=baz", "./quux.txt"]), { - * foo: true, - * bar: "baz", - * _: ["./quux.txt"], - * }); - * ``` - * - * @example `string` and `boolean` options - * - * Use `string` and `boolean` options to specify the type of the argument. - * - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * const args = parseArgs(["--foo", "--bar", "baz"], { - * boolean: ["foo"], - * string: ["bar"], - * }); - * - * assertEquals(args, { foo: true, bar: "baz", _: [] }); - * ``` - * - * @example `collect` option - * - * `collect` option tells the parser to treat the option as an array. All - * values will be collected into one array. If a non-collectable option is used - * multiple times, the last value is used. - * - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * const args = parseArgs(["--foo", "bar", "--foo", "baz"], { - * collect: ["foo"], - * }); - * - * assertEquals(args, { foo: ["bar", "baz"], _: [] }); - * ``` - * - * @example `negatable` option - * - * `negatable` option tells the parser to treat the option can be negated by - * prefixing them with `--no-`, like `--no-config`. - * - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * const args = parseArgs(["--no-foo"], { - * boolean: ["foo"], - * negatable: ["foo"], - * }); - * - * assertEquals(args, { foo: false, _: [] }); - * ``` - * - * @module - */ - -/** Combines recursively all intersection types and returns a new single type. - * @internal - */ -type Id = TRecord extends Record - ? TRecord extends infer InferredRecord - ? { [Key in keyof InferredRecord]: Id } - : never - : TRecord; - -/** Converts a union type `A | B | C` into an intersection type `A & B & C`. - * @internal - */ -type UnionToIntersection = - (TValue extends unknown ? (args: TValue) => unknown : never) extends - (args: infer R) => unknown ? R extends Record ? R : never - : never; - -/** @internal */ -type BooleanType = boolean | string | undefined; -/** @internal */ -type StringType = string | undefined; -/** @internal */ -type ArgType = StringType | BooleanType; - -/** @internal */ -type Collectable = string | undefined; -/** @internal */ -type Negatable = string | undefined; - -type UseTypes< - TBooleans extends BooleanType, - TStrings extends StringType, - TCollectable extends Collectable, -> = undefined extends ( - & (false extends TBooleans ? undefined : TBooleans) - & TCollectable - & TStrings -) ? false - : true; - -/** - * Creates a record with all available flags with the corresponding type and - * default type. - * @internal - */ -type Values< - TBooleans extends BooleanType, - TStrings extends StringType, - TCollectable extends Collectable, - TNegatable extends Negatable, - TDefault extends Record | undefined, - TAliases extends Aliases | undefined, -> = UseTypes extends true ? - & Record - & AddAliases< - SpreadDefaults< - & CollectValues - & RecursiveRequired> - & CollectUnknownValues< - TBooleans, - TStrings, - TCollectable, - TNegatable - >, - DedotRecord - >, - TAliases - > - // deno-lint-ignore no-explicit-any - : Record; - -/** @internal */ -type Aliases = Partial< - Record, TAliasNames | ReadonlyArray> ->; - -type AddAliases< - TArgs, - TAliases extends Aliases | undefined, -> = { - [TArgName in keyof TArgs as AliasNames]: TArgs[TArgName]; -}; - -type AliasNames< - TArgName, - TAliases extends Aliases | undefined, -> = TArgName extends keyof TAliases - ? string extends TAliases[TArgName] ? TArgName - : TAliases[TArgName] extends string ? TArgName | TAliases[TArgName] - : TAliases[TArgName] extends Array - ? TArgName | TAliases[TArgName][number] - : TArgName - : TArgName; - -/** - * Spreads all default values of Record `TDefaults` into Record `TArgs` - * and makes default values required. - * - * **Example:** - * `SpreadValues<{ foo?: boolean, bar?: number }, { foo: number }>` - * - * **Result:** `{ foo: boolean | number, bar?: number }` - */ -type SpreadDefaults = TDefaults extends undefined ? TArgs - : TArgs extends Record ? - & Omit - & { - [Default in keyof TDefaults]: Default extends keyof TArgs - ? (TArgs[Default] & TDefaults[Default] | TDefaults[Default]) extends - Record - ? NonNullable> - : TDefaults[Default] | NonNullable - : unknown; - } - : never; - -/** - * Defines the Record for the `default` option to add - * auto-suggestion support for IDE's. - * @internal - */ -type Defaults = Id< - UnionToIntersection< - & Record - // Dedotted auto suggestions: { foo: { bar: unknown } } - & MapTypes - & MapTypes - // Flat auto suggestions: { "foo.bar": unknown } - & MapDefaults - & MapDefaults - > ->; - -type MapDefaults = Partial< - Record ->; - -type RecursiveRequired = TRecord extends Record ? { - [Key in keyof TRecord]-?: RecursiveRequired; - } - : TRecord; - -/** Same as `MapTypes` but also supports collectable options. */ -type CollectValues< - TArgNames extends ArgType, - TType, - TCollectable extends Collectable, - TNegatable extends Negatable = undefined, -> = UnionToIntersection< - Extract extends string ? - & (Exclude extends never ? Record - : MapTypes, TType, TNegatable>) - & (Extract extends never ? Record - : RecursiveRequired< - MapTypes, Array, TNegatable> - >) - : MapTypes ->; - -/** Same as `Record` but also supports dotted and negatable options. */ -type MapTypes< - TArgNames extends ArgType, - TType, - TNegatable extends Negatable = undefined, -> = undefined extends TArgNames ? Record - : TArgNames extends `${infer Name}.${infer Rest}` ? { - [Key in Name]?: MapTypes< - Rest, - TType, - TNegatable extends `${Name}.${infer Negate}` ? Negate : undefined - >; - } - : TArgNames extends string ? Partial< - Record - > - : Record; - -type CollectUnknownValues< - TBooleans extends BooleanType, - TStrings extends StringType, - TCollectable extends Collectable, - TNegatable extends Negatable, -> = UnionToIntersection< - TCollectable extends TBooleans & TStrings ? Record - : DedotRecord< - // Unknown collectable & non-negatable args. - & Record< - Exclude< - Extract, string>, - Extract - >, - Array - > - // Unknown collectable & negatable args. - & Record< - Exclude< - Extract, string>, - Extract - >, - Array | false - > - > ->; - -/** Converts `{ "foo.bar.baz": unknown }` into `{ foo: { bar: { baz: unknown } } }`. */ -type DedotRecord = Record extends TRecord ? TRecord - : TRecord extends Record ? UnionToIntersection< - ValueOf< - { - [Key in keyof TRecord]: Key extends string ? Dedot - : never; - } - > - > - : TRecord; - -type Dedot = TKey extends - `${infer Name}.${infer Rest}` ? { [Key in Name]: Dedot } - : { [Key in TKey]: TValue }; - -type ValueOf = TValue[keyof TValue]; - -/** The value returned from {@linkcode parseArgs}. */ -export type Args< - // deno-lint-ignore no-explicit-any - TArgs extends Record = Record, - TDoubleDash extends boolean | undefined = undefined, -> = Id< - & TArgs - & { - /** Contains all the arguments that didn't have an option associated with - * them. */ - _: Array; - } - & (boolean extends TDoubleDash ? DoubleDash - : true extends TDoubleDash ? Required - : Record) ->; - -/** @internal */ -type DoubleDash = { - /** Contains all the arguments that appear after the double dash: "--". */ - "--"?: Array; -}; - -/** Options for {@linkcode parseArgs}. */ -export interface ParseOptions< - TBooleans extends BooleanType = BooleanType, - TStrings extends StringType = StringType, - TCollectable extends Collectable = Collectable, - TNegatable extends Negatable = Negatable, - TDefault extends Record | undefined = - | Record - | undefined, - TAliases extends Aliases | undefined = Aliases | undefined, - TDoubleDash extends boolean | undefined = boolean | undefined, -> { - /** - * When `true`, populate the result `_` with everything before the `--` and - * the result `['--']` with everything after the `--`. - * - * @default {false} - * - * @example Double dash option is false - * ```ts - * // $ deno run example.ts -- a arg1 - * import { parseArgs } from "@std/cli/parse-args"; - * const args = parseArgs(Deno.args, { "--": false }); // args equals { _: [ "a", "arg1" ] } - * ``` - * - * @example Double dash option is true - * ```ts - * // $ deno run example.ts -- a arg1 - * import { parseArgs } from "@std/cli/parse-args"; - * const args = parseArgs(Deno.args, { "--": true }); // args equals { _: [], --: [ "a", "arg1" ] } - * ``` - */ - "--"?: TDoubleDash; - - /** - * An object mapping string names to strings or arrays of string argument - * names to use as aliases. - * - * @default {{}} - */ - alias?: TAliases; - - /** - * A boolean, string or array of strings to always treat as booleans. If - * `true` will treat all double hyphenated arguments without equal signs as - * `boolean` (e.g. affects `--foo`, not `-f` or `--foo=bar`). - * All `boolean` arguments will be set to `false` by default. - * - * @default {false} - */ - boolean?: TBooleans | ReadonlyArray>; - - /** - * An object mapping string argument names to default values. - * - * @default {{}} - */ - default?: TDefault & Defaults; - - /** - * When `true`, populate the result `_` with everything after the first - * non-option. - * - * @default {false} - */ - stopEarly?: boolean; - - /** - * A string or array of strings argument names to always treat as strings. - * - * @default {[]} - */ - string?: TStrings | ReadonlyArray>; - - /** - * A string or array of strings argument names to always treat as arrays. - * Collectable options can be used multiple times. All values will be - * collected into one array. If a non-collectable option is used multiple - * times, the last value is used. - * - * @default {[]} - */ - collect?: TCollectable | ReadonlyArray>; - - /** - * A string or array of strings argument names which can be negated - * by prefixing them with `--no-`, like `--no-config`. - * - * @default {[]} - */ - negatable?: TNegatable | ReadonlyArray>; - - /** - * A function which is invoked with a command line parameter not defined in - * the `options` configuration object. If the function returns `false`, the - * unknown option is not added to `parsedArgs`. - * - * @default {unknown} - */ - unknown?: (arg: string, key?: string, value?: unknown) => unknown; -} - -interface NestedMapping { - [key: string]: NestedMapping | unknown; -} - -const FLAG_REGEXP = - /^(?:-(?:(?-)(?no-)?)?)(?.+?)(?:=(?.+?))?$/s; -const LETTER_REGEXP = /[A-Za-z]/; -const NUMBER_REGEXP = /-?\d+(\.\d*)?(e-?\d+)?$/; -const HYPHEN_REGEXP = /^(-|--)[^-]/; -const VALUE_REGEXP = /=(?.+)/; -const FLAG_NAME_REGEXP = /^--[^=]+$/; -const SPECIAL_CHAR_REGEXP = /\W/; - -const NON_WHITESPACE_REGEXP = /\S/; - -function isNumber(string: string): boolean { - return NON_WHITESPACE_REGEXP.test(string) && Number.isFinite(Number(string)); -} - -function setNested( - object: NestedMapping, - keys: string[], - value: unknown, - collect = false, -) { - keys = [...keys]; - const key = keys.pop()!; - - keys.forEach((key) => object = (object[key] ??= {}) as NestedMapping); - - if (collect) { - const v = object[key]; - if (Array.isArray(v)) { - v.push(value); - return; - } - - value = v ? [v, value] : [value]; - } - - object[key] = value; -} - -function hasNested(object: NestedMapping, keys: string[]): boolean { - for (const key of keys) { - const value = object[key]; - if (!Object.hasOwn(object, key)) return false; - object = value as NestedMapping; - } - return true; -} - -function aliasIsBoolean( - aliasMap: Map>, - booleanSet: Set, - key: string, -): boolean { - const set = aliasMap.get(key); - if (set === undefined) return false; - for (const alias of set) if (booleanSet.has(alias)) return true; - return false; -} - -function isBooleanString(value: string) { - return value === "true" || value === "false"; -} - -function parseBooleanString(value: unknown) { - return value !== "false"; -} - -/** - * Take a set of command line arguments, optionally with a set of options, and - * return an object representing the flags found in the passed arguments. - * - * By default, any arguments starting with `-` or `--` are considered boolean - * flags. If the argument name is followed by an equal sign (`=`) it is - * considered a key-value pair. Any arguments which could not be parsed are - * available in the `_` property of the returned object. - * - * By default, this module tries to determine the type of all arguments - * automatically and the return type of this function will have an index - * signature with `any` as value (`{ [x: string]: any }`). - * - * If the `string`, `boolean` or `collect` option is set, the return value of - * this function will be fully typed and the index signature of the return - * type will change to `{ [x: string]: unknown }`. - * - * Any arguments after `'--'` will not be parsed and will end up in `parsedArgs._`. - * - * Numeric-looking arguments will be returned as numbers unless `options.string` - * or `options.boolean` is set for that argument name. - * - * See {@linkcode ParseOptions} for more information. - * - * @param args An array of command line arguments. - * @param options Options for the parse function. - * - * @typeParam TArgs Type of result. - * @typeParam TDoubleDash Used by `TArgs` for the result. - * @typeParam TBooleans Used by `TArgs` for the result. - * @typeParam TStrings Used by `TArgs` for the result. - * @typeParam TCollectable Used by `TArgs` for the result. - * @typeParam TNegatable Used by `TArgs` for the result. - * @typeParam TDefaults Used by `TArgs` for the result. - * @typeParam TAliases Used by `TArgs` for the result. - * @typeParam TAliasArgNames Used by `TArgs` for the result. - * @typeParam TAliasNames Used by `TArgs` for the result. - * - * @return The parsed arguments. - * - * @example Usage - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * // For proper use, one should use `parseArgs(Deno.args)` - * assertEquals(parseArgs(["--foo", "--bar=baz", "./quux.txt"]), { - * foo: true, - * bar: "baz", - * _: ["./quux.txt"], - * }); - * ``` - * - * @example `string` and `boolean` options - * - * Use `string` and `boolean` options to specify the type of the argument. - * - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * const args = parseArgs(["--foo", "--bar", "baz"], { - * boolean: ["foo"], - * string: ["bar"], - * }); - * - * assertEquals(args, { foo: true, bar: "baz", _: [] }); - * ``` - * - * @example `collect` option - * - * `collect` option tells the parser to treat the option as an array. All - * values will be collected into one array. If a non-collectable option is used - * multiple times, the last value is used. - * - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * const args = parseArgs(["--foo", "bar", "--foo", "baz"], { - * collect: ["foo"], - * }); - * - * assertEquals(args, { foo: ["bar", "baz"], _: [] }); - * ``` - * - * @example `negatable` option - * - * `negatable` option tells the parser to treat the option can be negated by - * prefixing them with `--no-`, like `--no-config`. - * - * ```ts - * import { parseArgs } from "@std/cli/parse-args"; - * import { assertEquals } from "@std/assert/equals"; - * - * const args = parseArgs(["--no-foo"], { - * boolean: ["foo"], - * negatable: ["foo"], - * }); - * - * assertEquals(args, { foo: false, _: [] }); - * ``` - */ -export function parseArgs< - TArgs extends Values< - TBooleans, - TStrings, - TCollectable, - TNegatable, - TDefaults, - TAliases - >, - TDoubleDash extends boolean | undefined = undefined, - TBooleans extends BooleanType = undefined, - TStrings extends StringType = undefined, - TCollectable extends Collectable = undefined, - TNegatable extends Negatable = undefined, - TDefaults extends Record | undefined = undefined, - TAliases extends Aliases | undefined = undefined, - TAliasArgNames extends string = string, - TAliasNames extends string = string, ->( - args: string[], - options?: ParseOptions< - TBooleans, - TStrings, - TCollectable, - TNegatable, - TDefaults, - TAliases, - TDoubleDash - >, -): Args { - const { - "--": doubleDash = false, - alias = {} as NonNullable, - boolean = false, - default: defaults = {} as TDefaults & Defaults, - stopEarly = false, - string = [], - collect = [], - negatable = [], - unknown: unknownFn = (i: string): unknown => i, - } = options ?? {}; - const aliasMap: Map> = new Map(); - const booleanSet = new Set(); - const stringSet = new Set(); - const collectSet = new Set(); - const negatableSet = new Set(); - - let allBools = false; - - if (alias) { - for (const [key, value] of Object.entries(alias)) { - if (value === undefined) { - throw new TypeError("Alias value must be defined"); - } - const aliases = Array.isArray(value) ? value : [value]; - aliasMap.set(key, new Set(aliases)); - aliases.forEach((alias) => - aliasMap.set( - alias, - new Set([key, ...aliases.filter((it) => it !== alias)]), - ) - ); - } - } - - if (boolean) { - if (typeof boolean === "boolean") { - allBools = boolean; - } else { - const booleanArgs = Array.isArray(boolean) ? boolean : [boolean]; - for (const key of booleanArgs.filter(Boolean)) { - booleanSet.add(key); - aliasMap.get(key)?.forEach((al) => { - booleanSet.add(al); - }); - } - } - } - - if (string) { - const stringArgs = Array.isArray(string) ? string : [string]; - for (const key of stringArgs.filter(Boolean)) { - stringSet.add(key); - aliasMap.get(key)?.forEach((al) => stringSet.add(al)); - } - } - - if (collect) { - const collectArgs = Array.isArray(collect) ? collect : [collect]; - for (const key of collectArgs.filter(Boolean)) { - collectSet.add(key); - aliasMap.get(key)?.forEach((al) => collectSet.add(al)); - } - } - - if (negatable) { - const negatableArgs = Array.isArray(negatable) ? negatable : [negatable]; - for (const key of negatableArgs.filter(Boolean)) { - negatableSet.add(key); - aliasMap.get(key)?.forEach((alias) => negatableSet.add(alias)); - } - } - - const argv: Args = { _: [] }; - - function setArgument( - key: string, - value: string | number | boolean, - arg: string, - collect: boolean, - ) { - if ( - !booleanSet.has(key) && - !stringSet.has(key) && - !aliasMap.has(key) && - !(allBools && FLAG_NAME_REGEXP.test(arg)) && - unknownFn?.(arg, key, value) === false - ) { - return; - } - - if (typeof value === "string" && !stringSet.has(key)) { - value = isNumber(value) ? Number(value) : value; - } - - const collectable = collect && collectSet.has(key); - setNested(argv, key.split("."), value, collectable); - aliasMap.get(key)?.forEach((key) => { - setNested(argv, key.split("."), value, collectable); - }); - } - - let notFlags: string[] = []; - - // all args after "--" are not parsed - const index = args.indexOf("--"); - if (index !== -1) { - notFlags = args.slice(index + 1); - args = args.slice(0, index); - } - - argsLoop: - for (let i = 0; i < args.length; i++) { - const arg = args[i]!; - - const groups = arg.match(FLAG_REGEXP)?.groups; - - if (groups) { - const { doubleDash, negated } = groups; - let key = groups.key!; - let value: string | number | boolean | undefined = groups.value; - - if (doubleDash) { - if (value) { - if (booleanSet.has(key)) value = parseBooleanString(value); - setArgument(key, value, arg, true); - continue; - } - - if (negated) { - if (negatableSet.has(key)) { - setArgument(key, false, arg, false); - continue; - } - key = `no-${key}`; - } - - const next = args[i + 1]; - - if (next) { - if ( - !booleanSet.has(key) && - !allBools && - !next.startsWith("-") && - (!aliasMap.has(key) || !aliasIsBoolean(aliasMap, booleanSet, key)) - ) { - value = next; - i++; - setArgument(key, value, arg, true); - continue; - } - - if (isBooleanString(next)) { - value = parseBooleanString(next); - i++; - setArgument(key, value, arg, true); - continue; - } - } - - value = stringSet.has(key) ? "" : true; - setArgument(key, value, arg, true); - continue; - } - const letters = arg.slice(1, -1).split(""); - - for (const [j, letter] of letters.entries()) { - const next = arg.slice(j + 2); - - if (next === "-") { - setArgument(letter, next, arg, true); - continue; - } - - if (LETTER_REGEXP.test(letter)) { - const groups = VALUE_REGEXP.exec(next)?.groups; - if (groups) { - setArgument(letter, groups.value!, arg, true); - continue argsLoop; - } - if (NUMBER_REGEXP.test(next)) { - setArgument(letter, next, arg, true); - continue argsLoop; - } - } - - if (letters[j + 1]?.match(SPECIAL_CHAR_REGEXP)) { - setArgument(letter, arg.slice(j + 2), arg, true); - continue argsLoop; - } - setArgument(letter, stringSet.has(letter) ? "" : true, arg, true); - } - - key = arg.slice(-1); - if (key === "-") continue; - - const nextArg = args[i + 1]; - - if (nextArg) { - if ( - !HYPHEN_REGEXP.test(nextArg) && - !booleanSet.has(key) && - (!aliasMap.has(key) || !aliasIsBoolean(aliasMap, booleanSet, key)) - ) { - setArgument(key, nextArg, arg, true); - i++; - continue; - } - if (isBooleanString(nextArg)) { - const value = parseBooleanString(nextArg); - setArgument(key, value, arg, true); - i++; - continue; - } - } - setArgument(key, stringSet.has(key) ? "" : true, arg, true); - continue; - } - - if (unknownFn?.(arg) !== false) { - argv._.push( - stringSet.has("_") || !isNumber(arg) ? arg : Number(arg), - ); - } - - if (stopEarly) { - argv._.push(...args.slice(i + 1)); - break; - } - } - - for (const [key, value] of Object.entries(defaults)) { - const keys = key.split("."); - if (!hasNested(argv, keys)) { - setNested(argv, keys, value); - aliasMap.get(key)?.forEach((key) => - setNested(argv, key.split("."), value) - ); - } - } - - for (const key of booleanSet.keys()) { - const keys = key.split("."); - if (!hasNested(argv, keys)) { - const value = collectSet.has(key) ? [] : false; - setNested(argv, keys, value); - } - } - - for (const key of stringSet.keys()) { - const keys = key.split("."); - if (!hasNested(argv, keys) && collectSet.has(key)) { - setNested(argv, keys, []); - } - } - - if (doubleDash) { - argv["--"] = notFlags; - } else { - argv._.push(...notFlags); - } - - return argv as Args; -} diff --git a/package/src/deps/jsr.io/@std/encoding/1.0.10/_common64.ts b/package/src/deps/jsr.io/@std/encoding/1.0.10/_common64.ts deleted file mode 100644 index cdc2fdc..0000000 --- a/package/src/deps/jsr.io/@std/encoding/1.0.10/_common64.ts +++ /dev/null @@ -1,159 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. - -import type { Uint8Array_ } from "./_types.js"; -export type { Uint8Array_ }; - -export const padding = "=".charCodeAt(0); -export const alphabet: Record = { - base64: new TextEncoder() - .encode("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"), - base64url: new TextEncoder() - .encode("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"), -}; -export const rAlphabet: Record = { - base64: new Uint8Array(128).fill(64), // alphabet.base64.length - base64url: new Uint8Array(128).fill(64), -}; -alphabet.base64 - .forEach((byte, i) => rAlphabet.base64[byte] = i); -alphabet.base64url - .forEach((byte, i) => rAlphabet.base64url[byte] = i); - -/** - * Options for encoding and decoding base64 strings. - */ -export interface Base64Options { - /** The base64 alphabet. Defaults to "base64" */ - alphabet?: Base64Alphabet; -} - -/** - * The base64 alphabets. - */ -export type Base64Alphabet = "base64" | "base64url"; - -/** - * Calculate the output size needed to encode a given input size for - * {@linkcode encodeIntoBase64}. - * - * @param originalSize The size of the input buffer. - * @returns The size of the output buffer. - * - * @example Basic Usage - * ```ts - * import { assertEquals } from "@std/assert"; - * import { calcSizeBase64 } from "@std/encoding/unstable-base64"; - * - * assertEquals(calcSizeBase64(1), 4); - * ``` - */ -export function calcSizeBase64(originalSize: number): number { - return ((originalSize + 2) / 3 | 0) * 4; -} - -export function encode( - buffer: Uint8Array_, - i: number, - o: number, - alphabet: Uint8Array, - padding: number, -): number { - i += 2; - for (; i < buffer.length; i += 3) { - const x = (buffer[i - 2]! << 16) | (buffer[i - 1]! << 8) | buffer[i]!; - buffer[o++] = alphabet[x >> 18]!; - buffer[o++] = alphabet[x >> 12 & 0x3F]!; - buffer[o++] = alphabet[x >> 6 & 0x3F]!; - buffer[o++] = alphabet[x & 0x3F]!; - } - switch (i) { - case buffer.length + 1: { - const x = buffer[i - 2]! << 16; - buffer[o++] = alphabet[x >> 18]!; - buffer[o++] = alphabet[x >> 12 & 0x3F]!; - buffer[o++] = padding; - buffer[o++] = padding; - break; - } - case buffer.length: { - const x = (buffer[i - 2]! << 16) | (buffer[i - 1]! << 8); - buffer[o++] = alphabet[x >> 18]!; - buffer[o++] = alphabet[x >> 12 & 0x3F]!; - buffer[o++] = alphabet[x >> 6 & 0x3F]!; - buffer[o++] = padding; - break; - } - } - return o; -} - -export function decode( - buffer: Uint8Array_, - i: number, - o: number, - alphabet: Uint8Array, - padding: number, -): number { - for (let x = buffer.length - 2; x < buffer.length; ++x) { - if (buffer[x] === padding) { - for (let y = x + 1; y < buffer.length; ++y) { - if (buffer[y] !== padding) { - throw new TypeError( - `Cannot decode input as base64: Invalid character (${ - String.fromCharCode(buffer[y]!) - })`, - ); - } - } - buffer = buffer.subarray(0, x); - break; - } - } - if ((buffer.length - o) % 4 === 1) { - throw new RangeError( - `Cannot decode input as base64: Length (${ - buffer.length - o - }), excluding padding, must not have a remainder of 1 when divided by 4`, - ); - } - - i += 3; - for (; i < buffer.length; i += 4) { - const x = (getByte(buffer[i - 3]!, alphabet) << 18) | - (getByte(buffer[i - 2]!, alphabet) << 12) | - (getByte(buffer[i - 1]!, alphabet) << 6) | - getByte(buffer[i]!, alphabet); - buffer[o++] = x >> 16; - buffer[o++] = x >> 8 & 0xFF; - buffer[o++] = x & 0xFF; - } - switch (i) { - case buffer.length + 1: { - const x = (getByte(buffer[i - 3]!, alphabet) << 18) | - (getByte(buffer[i - 2]!, alphabet) << 12); - buffer[o++] = x >> 16; - break; - } - case buffer.length: { - const x = (getByte(buffer[i - 3]!, alphabet) << 18) | - (getByte(buffer[i - 2]!, alphabet) << 12) | - (getByte(buffer[i - 1]!, alphabet) << 6); - buffer[o++] = x >> 16; - buffer[o++] = x >> 8 & 0xFF; - break; - } - } - return o; -} - -function getByte(char: number, alphabet: Uint8Array): number { - const byte = alphabet[char] ?? 64; - if (byte === 64) { // alphabet.Base64.length - throw new TypeError( - `Cannot decode input as base64: Invalid character (${ - String.fromCharCode(char) - })`, - ); - } - return byte; -} diff --git a/package/src/deps/jsr.io/@std/encoding/1.0.10/_common_detach.ts b/package/src/deps/jsr.io/@std/encoding/1.0.10/_common_detach.ts deleted file mode 100644 index a714da8..0000000 --- a/package/src/deps/jsr.io/@std/encoding/1.0.10/_common_detach.ts +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. - -import type { Uint8Array_ } from "./_types.js"; -export type { Uint8Array_ }; - -export function detach( - buffer: Uint8Array_, - maxSize: number, -): [Uint8Array_, number] { - const originalSize = buffer.length; - if (buffer.byteOffset) { - const b = new Uint8Array(buffer.buffer); - b.set(buffer); - buffer = b.subarray(0, originalSize); - } - // deno-lint-ignore no-explicit-any - buffer = new Uint8Array((buffer.buffer as any).transfer(maxSize)); - buffer.set(buffer.subarray(0, originalSize), maxSize - originalSize); - return [buffer, maxSize - originalSize]; -} diff --git a/package/src/deps/jsr.io/@std/encoding/1.0.10/_types.ts b/package/src/deps/jsr.io/@std/encoding/1.0.10/_types.ts deleted file mode 100644 index 340b2fc..0000000 --- a/package/src/deps/jsr.io/@std/encoding/1.0.10/_types.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. - -/** - * Proxy type of {@code Uint8Array; diff --git a/package/src/deps/jsr.io/@std/encoding/1.0.10/base64.ts b/package/src/deps/jsr.io/@std/encoding/1.0.10/base64.ts deleted file mode 100644 index 23b86ec..0000000 --- a/package/src/deps/jsr.io/@std/encoding/1.0.10/base64.ts +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -/** - * Utilities for - * {@link https://www.rfc-editor.org/rfc/rfc4648.html#section-4 | base64} - * encoding and decoding. - * - * ```ts - * import { - * encodeBase64, - * decodeBase64, - * } from "@std/encoding/base64"; - * import { assertEquals } from "@std/assert"; - * - * const foobar = new TextEncoder().encode("foobar"); - * - * assertEquals(encodeBase64(foobar), "Zm9vYmFy"); - * assertEquals(decodeBase64("Zm9vYmFy"), foobar); - * ``` - * - * @module - */ - -import { calcSizeBase64, decode, encode } from "./_common64.js"; -import { detach } from "./_common_detach.js"; -import type { Uint8Array_ } from "./_types.js"; -export type { Uint8Array_ }; - -const padding = "=".charCodeAt(0); -const alphabet = new TextEncoder() - .encode("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"); -const rAlphabet = new Uint8Array(128).fill(64); // alphabet.length -alphabet.forEach((byte, i) => rAlphabet[byte] = i); - -/** - * Converts data into a base64-encoded string. - * - * @see {@link https://www.rfc-editor.org/rfc/rfc4648.html#section-4} - * - * @param data The data to encode. - * @returns The base64-encoded string. - * - * @example Usage - * ```ts - * import { encodeBase64 } from "@std/encoding/base64"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(encodeBase64("foobar"), "Zm9vYmFy"); - * ``` - */ -export function encodeBase64(data: ArrayBuffer | Uint8Array | string): string { - if (typeof data === "string") { - data = new TextEncoder().encode(data) as Uint8Array_; - } else if (data instanceof ArrayBuffer) data = new Uint8Array(data).slice(); - else data = data.slice(); - const [output, i] = detach( - data as Uint8Array_, - calcSizeBase64((data as Uint8Array_).length), - ); - encode(output, i, 0, alphabet, padding); - return new TextDecoder().decode(output); -} - -/** - * Decodes a base64-encoded string. - * - * @see {@link https://www.rfc-editor.org/rfc/rfc4648.html#section-4} - * - * @param b64 The base64-encoded string to decode. - * @returns The decoded data. - * - * @example Usage - * ```ts - * import { decodeBase64 } from "@std/encoding/base64"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals( - * decodeBase64("Zm9vYmFy"), - * new TextEncoder().encode("foobar") - * ); - * ``` - */ -export function decodeBase64(b64: string): Uint8Array_ { - const output = new TextEncoder().encode(b64) as Uint8Array_; - // deno-lint-ignore no-explicit-any - return new Uint8Array((output.buffer as any) - .transfer(decode(output, 0, 0, rAlphabet, padding))); -} diff --git a/package/src/deps/jsr.io/@std/fmt/1.0.8/bytes.ts b/package/src/deps/jsr.io/@std/fmt/1.0.8/bytes.ts deleted file mode 100644 index d844e68..0000000 --- a/package/src/deps/jsr.io/@std/fmt/1.0.8/bytes.ts +++ /dev/null @@ -1,209 +0,0 @@ -// Copyright 2014-2021 Sindre Sorhus. All rights reserved. MIT license. -// Copyright 2021 Yoshiya Hinosawa. All rights reserved. MIT license. -// Copyright 2021 Giuseppe Eletto. All rights reserved. MIT license. -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -/** - * Convert bytes to a human-readable string: 1337 → 1.34 kB - * - * Based on {@link https://github.com/sindresorhus/pretty-bytes | pretty-bytes}. - * A utility for displaying file sizes for humans. - * - * ```ts - * import { format } from "@std/fmt/bytes"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(format(1337), "1.34 kB"); - * assertEquals(format(100), "100 B"); - * ``` - * @module - */ - -type LocaleOptions = { - minimumFractionDigits?: number; - maximumFractionDigits?: number; -}; - -/** Options for {@linkcode format}. */ -export interface FormatOptions { - /** - * Uses bits representation. - * - * @default {false} - */ - bits?: boolean; - /** - * Uses binary bytes (e.g. kibibyte). - * - * @default {false} - */ - binary?: boolean; - /** - * Include plus sign for positive numbers. - * - * @default {false} - */ - signed?: boolean; - /** - * Uses localized number formatting. If it is set to true, uses default - * locale on the system. If it's set to string, uses that locale. The given - * string should be a - * {@link https://en.wikipedia.org/wiki/IETF_language_tag | BCP 47 language tag}. - * You can also give the list of language tags. - */ - locale?: boolean | string | string[]; - /** - * The minimum number of fraction digits to display. If neither - * {@linkcode minimumFractionDigits} or {@linkcode maximumFractionDigits} - * are set. - * - * @default {3} - */ - minimumFractionDigits?: number; - /** - * The maximum number of fraction digits to display. If neither - * {@linkcode minimumFractionDigits} or {@linkcode maximumFractionDigits} - * are set. - * - * @default {3} - */ - maximumFractionDigits?: number; -} - -/** - * Convert bytes to a human-readable string: 1337 → 1.34 kB - * - * Based on {@link https://github.com/sindresorhus/pretty-bytes | pretty-bytes}. - * A utility for displaying file sizes for humans. - * - * @param num The bytes value to format - * @param options The options for formatting - * @returns The formatted string - * - * @example Basic usage - * ```ts - * import { format } from "@std/fmt/bytes"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(format(1337), "1.34 kB"); - * assertEquals(format(100), "100 B"); - * ``` - * - * @example Include bits representation - * - * ```ts - * import { format } from "@std/fmt/bytes"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(format(1337, { bits: true }), "1.34 kbit"); - * ``` - * - * @example Include sign - * - * ```ts - * import { format } from "@std/fmt/bytes"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(format(42, { signed: true }), "+42 B"); - * assertEquals(format(-42, { signed: true }), "-42 B"); - * ``` - * - * @example Change locale - * - * ```ts - * import { format } from "@std/fmt/bytes"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(format(1337, { locale: "de" }), "1,34 kB"); - * ``` - */ -export function format( - num: number, - options: FormatOptions = {}, -): string { - if (!Number.isFinite(num)) { - throw new TypeError(`Expected a finite number, got ${typeof num}: ${num}`); - } - - const UNITS_FIRSTLETTER = (options.bits ? "b" : "B") + "kMGTPEZY"; - - if (options.signed && num === 0) { - return ` 0 ${UNITS_FIRSTLETTER[0]}`; - } - - const prefix = num < 0 ? "-" : (options.signed ? "+" : ""); - num = Math.abs(num); - - const localeOptions = getLocaleOptions(options); - - if (num < 1) { - const numberString = toLocaleString(num, options.locale, localeOptions); - return prefix + numberString + " " + UNITS_FIRSTLETTER[0]; - } - - const exponent = Math.min( - Math.floor( - options.binary ? Math.log(num) / Math.log(1024) : Math.log10(num) / 3, - ), - UNITS_FIRSTLETTER.length - 1, - ); - num /= Math.pow(options.binary ? 1024 : 1000, exponent); - - if (!localeOptions) { - num = Number(num.toPrecision(3)); - } - - const numberString = toLocaleString( - num, - options.locale, - localeOptions, - ); - - let unit = UNITS_FIRSTLETTER[exponent]; - if (exponent > 0) { - unit += options.binary ? "i" : ""; - unit += options.bits ? "bit" : "B"; - } - - return prefix + numberString + " " + unit; -} - -function getLocaleOptions( - { maximumFractionDigits, minimumFractionDigits }: FormatOptions, -): LocaleOptions | undefined { - if ( - maximumFractionDigits === undefined && minimumFractionDigits === undefined - ) { - return; - } - - const ret: LocaleOptions = {}; - if (maximumFractionDigits !== undefined) { - ret.maximumFractionDigits = maximumFractionDigits; - } - if (minimumFractionDigits !== undefined) { - ret.minimumFractionDigits = minimumFractionDigits; - } - return ret; -} - -/** - * Formats the given number using `Number#toLocaleString`. - * - If locale is a string, the value is expected to be a locale-key (for example: `de`). - * - If locale is true, the system default locale is used for translation. - * - If no value for locale is specified, the number is returned unmodified. - */ -function toLocaleString( - num: number, - locale: boolean | string | string[] | undefined, - options: LocaleOptions | undefined, -): string { - if (typeof locale === "string" || Array.isArray(locale)) { - return num.toLocaleString(locale, options); - } else if (locale === true || options !== undefined) { - return num.toLocaleString(undefined, options); - } - - return num.toString(); -} diff --git a/package/src/deps/jsr.io/@std/fs/1.0.19/exists.ts b/package/src/deps/jsr.io/@std/fs/1.0.19/exists.ts deleted file mode 100644 index 99fbb57..0000000 --- a/package/src/deps/jsr.io/@std/fs/1.0.19/exists.ts +++ /dev/null @@ -1,316 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. - -/** Options for {@linkcode exists} and {@linkcode existsSync.} */ -import * as dntShim from "../../../../../_dnt.shims.js"; - -export interface ExistsOptions { - /** - * When `true`, will check if the path is readable by the user as well. - * - * @default {false} - */ - isReadable?: boolean; - /** - * When `true`, will check if the path is a directory as well. Directory - * symlinks are included. - * - * @default {false} - */ - isDirectory?: boolean; - /** - * When `true`, will check if the path is a file as well. File symlinks are - * included. - * - * @default {false} - */ - isFile?: boolean; -} - -/** - * Asynchronously test whether or not the given path exists by checking with - * the file system. - * - * Note: Do not use this function if performing a check before another operation - * on that file. Doing so creates a race condition. Instead, perform the actual - * file operation directly. This function is not recommended for this use case. - * See the recommended method below. - * - * @see {@link https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use} for - * more information on the time-of-check to time-of-use bug. - * - * Requires `--allow-read` permissions, and in some cases, `--allow-sys` - * permissions if `options.isReadable` is `true`. - * - * @see {@link https://docs.deno.com/runtime/manual/basics/permissions#file-system-access} - * for more information on Deno's permissions system. - * - * @param path The path to the file or directory, as a string or URL. - * @param options Additional options for the check. - * - * @returns A promise that resolves with `true` if the path exists, `false` - * otherwise. - * - * @example Recommended method - * ```ts ignore - * // Notice no use of exists - * try { - * await Deno.remove("./foo", { recursive: true }); - * } catch (error) { - * if (!(error instanceof Deno.errors.NotFound)) { - * throw error; - * } - * // Do nothing... - * } - * ``` - * - * Notice that `exists()` is not used in the above example. Doing so avoids a - * possible race condition. See the above note for details. - * - * @example Basic usage - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./exists"); // true - * await exists("./does_not_exist"); // false - * ``` - * - * @example Check if a path is readable - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./readable", { isReadable: true }); // true - * await exists("./not_readable", { isReadable: true }); // false - * ``` - * - * @example Check if a path is a directory - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./directory", { isDirectory: true }); // true - * await exists("./file", { isDirectory: true }); // false - * ``` - * - * @example Check if a path is a file - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./file", { isFile: true }); // true - * await exists("./directory", { isFile: true }); // false - * ``` - * - * @example Check if a path is a readable directory - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./readable_directory", { isReadable: true, isDirectory: true }); // true - * await exists("./not_readable_directory", { isReadable: true, isDirectory: true }); // false - * ``` - * - * @example Check if a path is a readable file - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { exists } from "@std/fs/exists"; - * - * await exists("./readable_file", { isReadable: true, isFile: true }); // true - * await exists("./not_readable_file", { isReadable: true, isFile: true }); // false - * ``` - */ -export async function exists( - path: string | URL, - options?: ExistsOptions, -): Promise { - try { - const stat = await dntShim.Deno.stat(path); - if ( - options && - (options.isReadable || options.isDirectory || options.isFile) - ) { - if (options.isDirectory && options.isFile) { - throw new TypeError( - "ExistsOptions.options.isDirectory and ExistsOptions.options.isFile must not be true together", - ); - } - if ( - (options.isDirectory && !stat.isDirectory) || - (options.isFile && !stat.isFile) - ) { - return false; - } - if (options.isReadable) { - return fileIsReadable(stat); - } - } - return true; - } catch (error) { - if (error instanceof dntShim.Deno.errors.NotFound) { - return false; - } - if (error instanceof dntShim.Deno.errors.PermissionDenied) { - if ( - (await dntShim.Deno.permissions.query({ name: "read", path })).state === - "granted" - ) { - // --allow-read not missing - return !options?.isReadable; // PermissionDenied was raised by file system, so the item exists, but can't be read - } - } - throw error; - } -} - -/** - * Synchronously test whether or not the given path exists by checking with - * the file system. - * - * Note: Do not use this function if performing a check before another operation - * on that file. Doing so creates a race condition. Instead, perform the actual - * file operation directly. This function is not recommended for this use case. - * See the recommended method below. - * - * @see {@link https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use} for - * more information on the time-of-check to time-of-use bug. - * - * Requires `--allow-read` permissions, and in some cases, `--allow-sys` - * permissions if `options.isReadable` is `true`. - * - * @see {@link https://docs.deno.com/runtime/manual/basics/permissions#file-system-access} - * for more information on Deno's permissions system. - * - * @param path The path to the file or directory, as a string or URL. - * @param options Additional options for the check. - * - * @returns `true` if the path exists, `false` otherwise. - * - * @example Recommended method - * ```ts ignore - * // Notice no use of exists - * try { - * Deno.removeSync("./foo", { recursive: true }); - * } catch (error) { - * if (!(error instanceof Deno.errors.NotFound)) { - * throw error; - * } - * // Do nothing... - * } - * ``` - * - * Notice that `existsSync()` is not used in the above example. Doing so avoids - * a possible race condition. See the above note for details. - * - * @example Basic usage - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./exists"); // true - * existsSync("./does_not_exist"); // false - * ``` - * - * @example Check if a path is readable - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./readable", { isReadable: true }); // true - * existsSync("./not_readable", { isReadable: true }); // false - * ``` - * - * @example Check if a path is a directory - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./directory", { isDirectory: true }); // true - * existsSync("./file", { isDirectory: true }); // false - * ``` - * - * @example Check if a path is a file - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./file", { isFile: true }); // true - * existsSync("./directory", { isFile: true }); // false - * ``` - * - * @example Check if a path is a readable directory - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./readable_directory", { isReadable: true, isDirectory: true }); // true - * existsSync("./not_readable_directory", { isReadable: true, isDirectory: true }); // false - * ``` - * - * @example Check if a path is a readable file - * - * Requires `--allow-sys` permissions in some cases. - * - * ```ts ignore - * import { existsSync } from "@std/fs/exists"; - * - * existsSync("./readable_file", { isReadable: true, isFile: true }); // true - * existsSync("./not_readable_file", { isReadable: true, isFile: true }); // false - * ``` - */ -export function existsSync( - path: string | URL, - options?: ExistsOptions, -): boolean { - try { - const stat = dntShim.Deno.statSync(path); - if ( - options && - (options.isReadable || options.isDirectory || options.isFile) - ) { - if (options.isDirectory && options.isFile) { - throw new TypeError( - "ExistsOptions.options.isDirectory and ExistsOptions.options.isFile must not be true together", - ); - } - if ( - (options.isDirectory && !stat.isDirectory) || - (options.isFile && !stat.isFile) - ) { - return false; - } - if (options.isReadable) { - return fileIsReadable(stat); - } - } - return true; - } catch (error) { - if (error instanceof dntShim.Deno.errors.NotFound) { - return false; - } - if (error instanceof dntShim.Deno.errors.PermissionDenied) { - if ( - dntShim.Deno.permissions.querySync({ name: "read", path }).state === "granted" - ) { - // --allow-read not missing - return !options?.isReadable; // PermissionDenied was raised by file system, so the item exists, but can't be read - } - } - throw error; - } -} - -function fileIsReadable(stat: dntShim.Deno.FileInfo) { - if (stat.mode === null) { - return true; // Exclusive on Non-POSIX systems - } else if (dntShim.Deno.uid() === stat.uid) { - return (stat.mode & 0o400) === 0o400; // User is owner and can read? - } else if (dntShim.Deno.gid() === stat.gid) { - return (stat.mode & 0o040) === 0o040; // User group is owner and can read? - } - return (stat.mode & 0o004) === 0o004; // Others can read? -} diff --git a/package/src/deps/jsr.io/@std/html/1.0.4/entities.ts b/package/src/deps/jsr.io/@std/html/1.0.4/entities.ts deleted file mode 100644 index 321f7dc..0000000 --- a/package/src/deps/jsr.io/@std/html/1.0.4/entities.ts +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -/** Object structure for a list of HTML entities. */ -export type EntityList = Record; - -const rawToEntityEntries = [ - ["&", "&"], - ["<", "<"], - [">", ">"], - ['"', """], - ["'", "'"], -] as const; - -const defaultEntityList: EntityList = Object.fromEntries([ - ...rawToEntityEntries.map(([raw, entity]) => [entity, raw]), - ["'", "'"], - [" ", "\xa0"], -]); - -const rawToEntity = new Map(rawToEntityEntries); - -const rawRe = new RegExp(`[${[...rawToEntity.keys()].join("")}]`, "g"); - -/** - * Escapes text for safe interpolation into HTML text content and quoted attributes. - * - * @example Usage - * ```ts - * import { escape } from "@std/html/entities"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(escape("<>'&AA"), "<>'&AA"); - * - * // Characters that don't need to be escaped will be left alone, - * // even if named HTML entities exist for them. - * assertEquals(escape("þð"), "þð"); - * ``` - * - * @param str The string to escape. - * @returns The escaped string. - */ -export function escape(str: string): string { - return str.replaceAll(rawRe, (m) => rawToEntity.get(m)!); -} - -/** Options for {@linkcode unescape}. */ -export type UnescapeOptions = { entityList: EntityList }; - -const defaultUnescapeOptions: UnescapeOptions = { - entityList: defaultEntityList, -}; - -const MAX_CODE_POINT = 0x10ffff; - -const RX_DEC_ENTITY = /&#([0-9]+);/g; -const RX_HEX_ENTITY = /&#x(\p{AHex}+);/gu; - -const entityListRegexCache = new WeakMap(); - -/** - * Unescapes HTML entities in text. - * - * Default options only handle `&<>'"` and numeric entities. - * - * @example Basic usage - * ```ts - * import { unescape } from "@std/html/entities"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(unescape("<>'&AA"), "<>'&AA"); - * assertEquals(unescape("þð"), "þð"); - * ``` - * - * @example Using a custom entity list - * - * This uses the full named entity list from the HTML spec (~47K un-minified) - * - * ```ts - * import { unescape } from "@std/html/entities"; - * import entityList from "@std/html/named-entity-list.json" with { type: "json" }; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(unescape("<>'&AA", { entityList }), "<>'&AA"); - * ``` - * - * @param str The string to unescape. - * @param options Options for unescaping. - * @returns The unescaped string. - */ -export function unescape( - str: string, - options: Partial = {}, -): string { - const { entityList } = { ...defaultUnescapeOptions, ...options }; - - let entityRe = entityListRegexCache.get(entityList); - - if (!entityRe) { - entityRe = new RegExp( - `(${ - Object.keys(entityList) - .sort((a, b) => b.length - a.length) - .join("|") - })`, - "g", - ); - - entityListRegexCache.set(entityList, entityRe); - } - - return str - .replaceAll(entityRe, (m) => entityList[m]!) - .replaceAll(RX_DEC_ENTITY, (_, dec) => codePointStrToChar(dec, 10)) - .replaceAll(RX_HEX_ENTITY, (_, hex) => codePointStrToChar(hex, 16)); -} - -function codePointStrToChar(codePointStr: string, radix: number) { - const codePoint = parseInt(codePointStr, radix); - - return codePoint > MAX_CODE_POINT ? "�" : String.fromCodePoint(codePoint); -} diff --git a/package/src/deps/jsr.io/@std/http/1.0.20/deno.js b/package/src/deps/jsr.io/@std/http/1.0.20/deno.js deleted file mode 100644 index d4238a9..0000000 --- a/package/src/deps/jsr.io/@std/http/1.0.20/deno.js +++ /dev/null @@ -1,19 +0,0 @@ -export default { - "name": "@std/http", - "version": "1.0.20", - "exports": { - ".": "./mod.ts", - "./cookie": "./cookie.ts", - "./etag": "./etag.ts", - "./file-server": "./file_server.ts", - "./unstable-file-server": "./unstable_file_server.ts", - "./unstable-header": "./unstable_header.ts", - "./unstable-method": "./unstable_method.ts", - "./negotiation": "./negotiation.ts", - "./server-sent-event-stream": "./server_sent_event_stream.ts", - "./status": "./status.ts", - "./unstable-signed-cookie": "./unstable_signed_cookie.ts", - "./user-agent": "./user_agent.ts", - "./unstable-route": "./unstable_route.ts" - } -}; \ No newline at end of file diff --git a/package/src/deps/jsr.io/@std/http/1.0.20/etag.ts b/package/src/deps/jsr.io/@std/http/1.0.20/etag.ts deleted file mode 100644 index c639876..0000000 --- a/package/src/deps/jsr.io/@std/http/1.0.20/etag.ts +++ /dev/null @@ -1,263 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -/** - * Provides functions for dealing with and matching ETags, including - * {@linkcode eTag} to calculate an etag for a given entity, - * {@linkcode ifMatch} for validating if an ETag matches against a `If-Match` - * header and {@linkcode ifNoneMatch} for validating an Etag against an - * `If-None-Match` header. - * - * See further information on the `ETag` header on - * {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag | MDN}. - * - * @module - */ - -import { encodeBase64 as base64Encode } from "../../encoding/1.0.10/base64.js"; - -/** - * Just the part of {@linkcode Deno.FileInfo} that is required to calculate an `ETag`, - * so partial or user generated file information can be passed. - */ -export interface FileInfo { - /** The last modification time of the file. This corresponds to the `mtime` - * field from `stat` on Linux/Mac OS and `ftLastWriteTime` on Windows. This - * may not be available on all platforms. */ - mtime: Date | null; - /** The size of the file, in bytes. */ - size: number; -} - -const encoder = new TextEncoder(); - -const DEFAULT_ALGORITHM: AlgorithmIdentifier = "SHA-256"; - -/** Options for {@linkcode eTag}. */ -export interface ETagOptions { - /** - * A digest algorithm to use to calculate the etag. - * - * @default {"SHA-256"} - */ - algorithm?: AlgorithmIdentifier; - - /** - * Override the default behavior of calculating the `ETag`, either forcing - * a tag to be labelled weak or not. - * - * Defaults to `true` when the entity is a `FileInfo` and `false` otherwise. - */ - weak?: boolean; -} - -function isFileInfo(value: unknown): value is FileInfo { - return Boolean( - value && typeof value === "object" && "mtime" in value && "size" in value, - ); -} - -async function calcEntity( - entity: string | Uint8Array, - { algorithm = DEFAULT_ALGORITHM }: ETagOptions, -) { - // a short circuit for zero length entities - if (entity.length === 0) { - return `0-47DEQpj8HBSa+/TImW+5JCeuQeR`; - } - - if (typeof entity === "string") { - entity = encoder.encode(entity); - } - - const hash = base64Encode(await crypto.subtle.digest(algorithm, entity)) - .substring(0, 27); - - return `${entity.length.toString(16)}-${hash}`; -} - -async function calcFileInfo( - fileInfo: FileInfo, - { algorithm = DEFAULT_ALGORITHM }: ETagOptions, -) { - if (fileInfo.mtime) { - const hash = base64Encode( - await crypto.subtle.digest( - algorithm, - encoder.encode(fileInfo.mtime.toJSON()), - ), - ).substring(0, 27); - return `${fileInfo.size.toString(16)}-${hash}`; - } -} - -/** - * Calculate an ETag for string or `Uint8Array` entities. This returns a - * {@linkcode https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag#etag_value | strong tag} - * of the form `""`, which guarantees the byte-for-byte equality of the resource. - * - * You can optionally set true to the `weak` option to get a weak tag. - * - * @example Usage - * ```ts - * import { eTag } from "@std/http/etag"; - * import { assert } from "@std/assert"; - * - * const body = "hello deno!"; - * - * const etag = await eTag(body); - * assert(etag); - * - * const res = new Response(body, { headers: { etag } }); - * ``` - * - * @param entity The entity to get the ETag for. - * @param options Various additional options. - * @returns The calculated ETag. - */ -export async function eTag( - entity: string | Uint8Array, - options?: ETagOptions, -): Promise; -/** - * Calculate an ETag for file information entity. This returns a - * {@linkcode https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag#w | weak tag} - * of the form `W\""`, which guarantees the equivalence of the resource, - * not the byte-for-byte equality. - * - * @example Usage - * ```ts - * import { eTag } from "@std/http/etag"; - * import { assert } from "@std/assert"; - * - * const fileInfo = await Deno.stat("README.md"); - * - * const etag = await eTag(fileInfo); - * assert(etag); - * - * using file = await Deno.open("README.md"); - * - * const res = new Response(file.readable, { headers: { etag } }); - * ``` - * - * @param entity The entity to get the ETag for. - * @param options Various additional options. - * @returns The calculated ETag. - */ -export async function eTag( - entity: FileInfo, - options?: ETagOptions, -): Promise; -export async function eTag( - entity: string | Uint8Array | FileInfo, - options: ETagOptions = {}, -): Promise { - const weak = options.weak ?? isFileInfo(entity); - const tag = - await (isFileInfo(entity) - ? calcFileInfo(entity, options) - : calcEntity(entity, options)); - - return tag ? weak ? `W/"${tag}"` : `"${tag}"` : undefined; -} - -const STAR_REGEXP = /^\s*\*\s*$/; -const COMMA_REGEXP = /\s*,\s*/; - -/** A helper function that takes the value from the `If-Match` header and a - * calculated etag for the target. By using strong comparison, return `true` if - * the values match, otherwise `false`. - * - * See MDN's [`If-Match`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match) - * article for more information on how to use this function. - * - * @example Usage - * ```ts ignore - * import { - * eTag, - * ifMatch, - * } from "@std/http/etag"; - * import { assert } from "@std/assert"; - * - * const body = "hello deno!"; - * - * Deno.serve(async (req) => { - * const ifMatchValue = req.headers.get("if-match"); - * const etag = await eTag(body); - * assert(etag); - * if (!ifMatchValue || ifMatch(ifMatchValue, etag)) { - * return new Response(body, { status: 200, headers: { etag } }); - * } else { - * return new Response(null, { status: 412, statusText: "Precondition Failed"}); - * } - * }); - * ``` - * - * @param value the If-Match header value. - * @param etag the ETag to check against. - * @returns whether or not the parameters match. - */ -export function ifMatch( - value: string | null, - etag: string | undefined, -): boolean { - // Weak tags cannot be matched and return false. - if (!value || !etag || etag.startsWith("W/")) { - return false; - } - if (STAR_REGEXP.test(value)) { - return true; - } - const tags = value.split(COMMA_REGEXP); - return tags.includes(etag); -} - -/** A helper function that takes the value from the `If-None-Match` header and - * a calculated etag for the target entity and returns `false` if the etag for - * the entity matches the supplied value, otherwise `true`. - * - * See MDN's [`If-None-Match`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match) - * article for more information on how to use this function. - * - * @example Usage - * ```ts ignore - * import { - * eTag, - * ifNoneMatch, - * } from "@std/http/etag"; - * import { assert } from "@std/assert"; - * - * const body = "hello deno!"; - * - * Deno.serve(async (req) => { - * const ifNoneMatchValue = req.headers.get("if-none-match"); - * const etag = await eTag(body); - * assert(etag); - * if (!ifNoneMatch(ifNoneMatchValue, etag)) { - * return new Response(null, { status: 304, headers: { etag } }); - * } else { - * return new Response(body, { status: 200, headers: { etag } }); - * } - * }); - * ``` - * - * @param value the If-None-Match header value. - * @param etag the ETag to check against. - * @returns whether or not the parameters do not match. - */ -export function ifNoneMatch( - value: string | null, - etag: string | undefined, -): boolean { - if (!value || !etag) { - return true; - } - if (STAR_REGEXP.test(value)) { - return false; - } - etag = etag.startsWith("W/") ? etag.slice(2) : etag; - const tags = value.split(COMMA_REGEXP).map((tag) => - tag.startsWith("W/") ? tag.slice(2) : tag - ); - return !tags.includes(etag); -} diff --git a/package/src/deps/jsr.io/@std/http/1.0.20/file_server.ts b/package/src/deps/jsr.io/@std/http/1.0.20/file_server.ts deleted file mode 100644 index 6f20c70..0000000 --- a/package/src/deps/jsr.io/@std/http/1.0.20/file_server.ts +++ /dev/null @@ -1,948 +0,0 @@ -import * as dntShim from "../../../../../_dnt.shims.js"; -#!/usr/bin/env -S deno run --allow-net --allow-read -// Copyright 2018-2025 the Deno authors. MIT license. - -// This program serves files in the current directory over HTTP. -// TODO(bartlomieju): Add tests like these: -// https://github.com/indexzero/http-server/blob/master/test/http-server-test.js - -/** - * Contains functions {@linkcode serveDir} and {@linkcode serveFile} for - * building a static file server. - * - * This module can also be used as a CLI. If you want to run it directly: - * - * ```shell - * > # start server - * > deno run --allow-net --allow-read --allow-sys jsr:@std/http/file-server - * > # show help - * > deno run jsr:@std/http/file-server --help - * ``` - * - * If you want to install and run: - * - * ```shell - * > # install - * > deno install --allow-net --allow-read --allow-sys --global jsr:@std/http/file-server - * > # start server - * > file-server - * > # show help - * > file-server --help - * ``` - * - * @module - */ - -import { normalize as posixNormalize } from "../../path/1.1.2/posix/normalize.js"; -import { extname } from "../../path/1.1.2/extname.js"; -import { join } from "../../path/1.1.2/join.js"; -import { relative } from "../../path/1.1.2/relative.js"; -import { resolve } from "../../path/1.1.2/resolve.js"; -import { SEPARATOR_PATTERN } from "../../path/1.1.2/constants.js"; -import { exists } from "../../fs/1.0.19/exists.js"; -import { contentType } from "../../media-types/1.1.0/content_type.js"; -import { eTag, ifNoneMatch } from "./etag.js"; -import { - isRedirectStatus, - STATUS_CODE, - STATUS_TEXT, - type StatusCode, -} from "./status.js"; -import { ByteSliceStream } from "../../streams/1.0.12/byte_slice_stream.js"; -import { parseArgs } from "../../cli/1.0.22/parse_args.js"; -import denoConfig from "./deno.js"; -import { format as formatBytes } from "../../fmt/1.0.8/bytes.js"; -import { getNetworkAddress } from "../../net/1.0.6/unstable_get_network_address.js"; -import { escape } from "../../html/1.0.4/entities.js"; -import { HEADER } from "./unstable_header.js"; -import { METHOD } from "./unstable_method.js"; - -interface EntryInfo { - mode: string; - size: string; - url: string; - name: string; -} - -const ENV_PERM_STATUS = - dntShim.Deno.permissions.querySync?.({ name: "env", variable: "DENO_DEPLOYMENT_ID" }) - .state ?? "granted"; // for deno deploy -const NET_PERM_STATUS = - dntShim.Deno.permissions.querySync?.({ name: "sys", kind: "networkInterfaces" }) - .state ?? "granted"; // for deno deploy -const DENO_DEPLOYMENT_ID = ENV_PERM_STATUS === "granted" - ? dntShim.Deno.env.get("DENO_DEPLOYMENT_ID") - : undefined; -const HASHED_DENO_DEPLOYMENT_ID = DENO_DEPLOYMENT_ID - ? eTag(DENO_DEPLOYMENT_ID, { weak: true }) - : undefined; - -function modeToString(isDir: boolean, maybeMode: number | null): string { - const modeMap = ["---", "--x", "-w-", "-wx", "r--", "r-x", "rw-", "rwx"]; - - if (maybeMode === null) { - return "(unknown mode)"; - } - const mode = maybeMode.toString(8).padStart(3, "0"); - let output = ""; - mode - .split("") - .reverse() - .slice(0, 3) - .forEach((v) => { - output = `${modeMap[+v]} ${output}`; - }); - output = `${isDir ? "d" : "-"} ${output}`; - return output; -} - -function createStandardResponse(status: StatusCode, init?: ResponseInit) { - const statusText = STATUS_TEXT[status]; - return new Response(statusText, { status, statusText, ...init }); -} - -/** - * parse range header. - * - * ```ts ignore - * parseRangeHeader("bytes=0-100", 500); // => { start: 0, end: 100 } - * parseRangeHeader("bytes=0-", 500); // => { start: 0, end: 499 } - * parseRangeHeader("bytes=-100", 500); // => { start: 400, end: 499 } - * parseRangeHeader("bytes=invalid", 500); // => null - * ``` - * - * Note: Currently, no support for multiple Ranges (e.g. `bytes=0-10, 20-30`) - */ -function parseRangeHeader(rangeValue: string, fileSize: number) { - const rangeRegex = /bytes=(?\d+)?-(?\d+)?$/u; - const parsed = rangeValue.match(rangeRegex); - - if (!parsed || !parsed.groups) { - // failed to parse range header - return null; - } - - const { start, end } = parsed.groups; - if (start !== undefined) { - if (end !== undefined) { - return { start: +start, end: +end }; - } else { - return { start: +start, end: fileSize - 1 }; - } - } else { - if (end !== undefined) { - // example: `bytes=-100` means the last 100 bytes. - return { start: fileSize - +end, end: fileSize - 1 }; - } else { - // failed to parse range header - return null; - } - } -} - -/** Options for {@linkcode serveFile}. */ -export interface ServeFileOptions { - /** - * The algorithm to use for generating the ETag. - * - * @default {"SHA-256"} - */ - etagAlgorithm?: AlgorithmIdentifier; - /** - * An optional object returned by {@linkcode Deno.stat}. It is used for - * optimization purposes. - * - * Defaults to the result of calling {@linkcode Deno.stat} with the provided - * `filePath`. - */ - fileInfo?: dntShim.Deno.FileInfo; -} - -/** - * Resolves a {@linkcode Response} with the requested file as the body. - * - * @example Usage - * ```ts ignore - * import { serveFile } from "@std/http/file-server"; - * - * Deno.serve((req) => { - * return serveFile(req, "README.md"); - * }); - * ``` - * - * @param req The server request context used to cleanup the file handle. - * @param filePath Path of the file to serve. - * @param options Additional options. - * @returns A response for the request. - */ -export async function serveFile( - req: Request, - filePath: string, - options?: ServeFileOptions, -): Promise { - if (req.method !== METHOD.Get && req.method !== METHOD.Head) { - return createStandardResponse(STATUS_CODE.MethodNotAllowed); - } - - let { etagAlgorithm: algorithm = "SHA-256", fileInfo } = options ?? {}; - - try { - fileInfo ??= await dntShim.Deno.stat(filePath); - } catch (error) { - if (error instanceof dntShim.Deno.errors.NotFound) { - await req.body?.cancel(); - return createStandardResponse(STATUS_CODE.NotFound); - } else { - throw error; - } - } - - if (fileInfo.isDirectory) { - await req.body?.cancel(); - return createStandardResponse(STATUS_CODE.NotFound); - } - - const headers = createBaseHeaders(); - - const etag = fileInfo.mtime - ? await eTag(fileInfo, { algorithm }) - : await HASHED_DENO_DEPLOYMENT_ID; - - // Set last modified header if last modification timestamp is available - if (fileInfo.mtime) { - headers.set(HEADER.LastModified, fileInfo.mtime.toUTCString()); - } - if (etag) { - headers.set(HEADER.ETag, etag); - } - - // Set mime-type using the file extension in filePath - const contentTypeValue = contentType(extname(filePath)); - if (contentTypeValue) { - headers.set(HEADER.ContentType, contentTypeValue); - } - const fileSize = fileInfo.size; - - if (req.method === METHOD.Head) { - // Set content length - headers.set(HEADER.ContentLength, `${fileSize}`); - - const status = STATUS_CODE.OK; - return new Response(null, { - status, - statusText: STATUS_TEXT[status], - headers, - }); - } - - if (etag || fileInfo.mtime) { - // If a `if-none-match` header is present and the value matches the tag or - // if a `if-modified-since` header is present and the value is bigger than - // the access timestamp value, then return 304 - const ifNoneMatchValue = req.headers.get(HEADER.IfNoneMatch); - const ifModifiedSinceValue = req.headers.get(HEADER.IfModifiedSince); - if ( - (!ifNoneMatch(ifNoneMatchValue, etag)) || - (ifNoneMatchValue === null && - fileInfo.mtime && - ifModifiedSinceValue && - fileInfo.mtime.getTime() < - new Date(ifModifiedSinceValue).getTime() + 1000) - ) { - const status = STATUS_CODE.NotModified; - return new Response(null, { - status, - statusText: STATUS_TEXT[status], - headers, - }); - } - } - - const rangeValue = req.headers.get(HEADER.Range); - - // handle range request - // Note: Some clients add a Range header to all requests to limit the size of the response. - // If the file is empty, ignore the range header and respond with a 200 rather than a 416. - // https://github.com/golang/go/blob/0d347544cbca0f42b160424f6bc2458ebcc7b3fc/src/net/http/fs.go#L273-L276 - if (rangeValue && 0 < fileSize) { - const parsed = parseRangeHeader(rangeValue, fileSize); - - // Returns 200 OK if parsing the range header fails - if (!parsed) { - // Set content length - headers.set(HEADER.ContentLength, `${fileSize}`); - - const file = await dntShim.Deno.open(filePath); - const status = STATUS_CODE.OK; - return new Response(file.readable, { - status, - statusText: STATUS_TEXT[status], - headers, - }); - } - - // Return 416 Range Not Satisfiable if invalid range header value - if ( - parsed.end < 0 || - parsed.end < parsed.start || - fileSize <= parsed.start - ) { - // Set the "Content-range" header - headers.set(HEADER.ContentRange, `bytes */${fileSize}`); - - return createStandardResponse( - STATUS_CODE.RangeNotSatisfiable, - { headers }, - ); - } - - // clamps the range header value - const start = Math.max(0, parsed.start); - const end = Math.min(parsed.end, fileSize - 1); - - // Set the "Content-range" header - headers.set(HEADER.ContentRange, `bytes ${start}-${end}/${fileSize}`); - - // Set content length - const contentLength = end - start + 1; - headers.set(HEADER.ContentLength, `${contentLength}`); - - // Return 206 Partial Content - const file = await dntShim.Deno.open(filePath); - await file.seek(start, dntShim.Deno.SeekMode.Start); - const sliced = file.readable - .pipeThrough(new ByteSliceStream(0, contentLength - 1)); - const status = STATUS_CODE.PartialContent; - return new Response(sliced, { - status, - statusText: STATUS_TEXT[status], - headers, - }); - } - - // Set content length - headers.set(HEADER.ContentLength, `${fileSize}`); - - const file = await dntShim.Deno.open(filePath); - const status = STATUS_CODE.OK; - return new Response(file.readable, { - status, - statusText: STATUS_TEXT[status], - headers, - }); -} - -async function serveDirIndex( - dirPath: string, - options: { - showDotfiles: boolean; - target: string; - quiet: boolean | undefined; - }, -): Promise { - const { showDotfiles } = options; - const dirUrl = `/${ - relative(options.target, dirPath).replaceAll( - new RegExp(SEPARATOR_PATTERN, "g"), - "/", - ) - }`; - const listEntryPromise: Promise[] = []; - - // if ".." makes sense - if (dirUrl !== "/") { - const prevPath = join(dirPath, ".."); - const entryInfo = dntShim.Deno.stat(prevPath).then((fileInfo): EntryInfo => ({ - mode: modeToString(true, fileInfo.mode), - size: "", - name: "../", - url: "..", - })); - listEntryPromise.push(entryInfo); - } - - // Read fileInfo in parallel - for await (const entry of dntShim.Deno.readDir(dirPath)) { - if (!showDotfiles && entry.name[0] === ".") { - continue; - } - const filePath = join(dirPath, entry.name); - const fileUrl = encodeURIComponent(entry.name) - .replaceAll("%2F", "/"); - - listEntryPromise.push((async () => { - try { - const fileInfo = await dntShim.Deno.stat(filePath); - return { - mode: modeToString(entry.isDirectory, fileInfo.mode), - size: entry.isFile ? formatBytes(fileInfo.size ?? 0) : "", - name: `${entry.name}${entry.isDirectory ? "/" : ""}`, - url: `./${fileUrl}${entry.isDirectory ? "/" : ""}`, - }; - } catch (error) { - // Note: Deno.stat for windows system files may be rejected with os error 32. - if (!options.quiet) logError(error as Error); - return { - mode: "(unknown mode)", - size: "", - name: `${entry.name}${entry.isDirectory ? "/" : ""}`, - url: `./${fileUrl}${entry.isDirectory ? "/" : ""}`, - }; - } - })()); - } - - const listEntry = await Promise.all(listEntryPromise); - listEntry.sort((a, b) => - // TODO(iuioiua): Add test to ensure list order is correct - a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1 - ); - const formattedDirUrl = `${dirUrl.replace(/\/$/, "")}/`; - const page = dirViewerTemplate(formattedDirUrl, listEntry); - - const headers = createBaseHeaders(); - headers.set(HEADER.ContentType, "text/html; charset=UTF-8"); - - const status = STATUS_CODE.OK; - return new Response(page, { - status, - statusText: STATUS_TEXT[status], - headers, - }); -} - -function serverLog(req: Request, status: number) { - const d = new Date().toISOString(); - const dateFmt = `[${d.slice(0, 10)} ${d.slice(11, 19)}]`; - const url = new URL(req.url); - const s = `${dateFmt} [${req.method}] ${url.pathname}${url.search} ${status}`; - // using console.debug instead of console.log so chrome inspect users can hide request logs - // deno-lint-ignore no-console - console.debug(s); -} - -function createBaseHeaders(): Headers { - return new Headers({ - server: "deno", - // Set "accept-ranges" so that the client knows it can make range requests on future requests - [HEADER.AcceptRanges]: "bytes", - }); -} - -function html( - strings: TemplateStringsArray, - ...values: unknown[] -): string { - let out = ""; - for (let i = 0; i < strings.length; ++i) { - out += strings[i]; - if (i < values.length) out += values[i] ?? ""; - } - return out; -} - -function dirViewerTemplate(dirname: string, entries: EntryInfo[]): string { - const splitDirname = dirname.split("/").filter((path) => Boolean(path)); - const headerPaths = ["home", ...splitDirname]; - - return html` - - - - - - - Deno File Server - - - -
-

- Index of ${headerPaths - .map((path, index) => { - if (path === "") return ""; - const depth = headerPaths.length - index - 1; - let link; - if (depth == 0) { - link = "."; - } else { - link = "../".repeat(depth); - } - // deno-fmt-ignore - return html`${escape(path)}`; - }) - .join("/")}/ -

- - - - - - - - - ${entries - .map( - (entry) => - html` - - - - - - `, - ) - .join("")} -
ModeSizeName
- ${entry.mode} - - ${entry.size} - - ${escape(entry.name)} -
-
- - - `; -} - -/** Interface for serveDir options. */ -export interface ServeDirOptions { - /** Serves the files under the given directory root. Defaults to your current directory. - * - * @default {"."} - */ - fsRoot?: string; - /** Specified that part is stripped from the beginning of the requested pathname. - */ - urlRoot?: string; - /** Enable directory listing. - * - * @default {false} - */ - showDirListing?: boolean; - /** Serves dotfiles. - * - * @default {false} - */ - showDotfiles?: boolean; - /** Serves `index.html` as the index file of the directory. - * - * @default {true} - */ - showIndex?: boolean; - /** - * Enable CORS via the - * {@linkcode https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin | Access-Control-Allow-Origin} - * header. - * - * @default {false} - */ - enableCors?: boolean; - /** Do not print request level logs. - * - * @default {false} - */ - quiet?: boolean; - /** The algorithm to use for generating the ETag. - * - * @default {"SHA-256"} - */ - etagAlgorithm?: AlgorithmIdentifier; - /** Headers to add to each response - * - * @default {[]} - */ - headers?: string[]; -} - -/** - * Serves the files under the given directory root (opts.fsRoot). - * - * @example Usage - * ```ts ignore - * import { serveDir } from "@std/http/file-server"; - * - * Deno.serve((req) => { - * const pathname = new URL(req.url).pathname; - * if (pathname.startsWith("/static")) { - * return serveDir(req, { - * fsRoot: "path/to/static/files/dir", - * }); - * } - * // Do dynamic responses - * return new Response(); - * }); - * ``` - * - * @example Changing the URL root - * - * Requests to `/static/path/to/file` will be served from `./public/path/to/file`. - * - * ```ts ignore - * import { serveDir } from "@std/http/file-server"; - * - * Deno.serve((req) => serveDir(req, { - * fsRoot: "public", - * urlRoot: "static", - * })); - * ``` - * - * @param req The request to handle - * @param opts Additional options. - * @returns A response for the request. - */ -export async function serveDir( - req: Request, - opts: ServeDirOptions = {}, -): Promise { - if (req.method !== METHOD.Get) { - return createStandardResponse(STATUS_CODE.MethodNotAllowed); - } - - let response: Response; - try { - response = await createServeDirResponse(req, opts); - } catch (error) { - if (!opts.quiet) logError(error as Error); - response = error instanceof dntShim.Deno.errors.NotFound - ? createStandardResponse(STATUS_CODE.NotFound) - : createStandardResponse(STATUS_CODE.InternalServerError); - } - - // Do not update the header if the response is a 301 redirect. - const isRedirectResponse = isRedirectStatus(response.status); - - if (opts.enableCors && !isRedirectResponse) { - response.headers.append(HEADER.AccessControlAllowOrigin, "*"); - response.headers.append( - HEADER.AccessControlAllowHeaders, - "Origin, X-Requested-With, Content-Type, Accept, Range", - ); - } - - if (!opts.quiet) serverLog(req, response.status); - - if (opts.headers && !isRedirectResponse) { - for (const header of opts.headers) { - const headerSplit = header.split(":"); - const name = headerSplit[0]!; - const value = headerSplit.slice(1).join(":"); - response.headers.append(name, value); - } - } - - return response; -} - -async function createServeDirResponse( - req: Request, - opts: ServeDirOptions, -) { - const target = opts.fsRoot ?? "."; - const urlRoot = opts.urlRoot; - const showIndex = opts.showIndex ?? true; - const cleanUrls = (opts as { cleanUrls?: boolean }).cleanUrls ?? false; - const showDotfiles = opts.showDotfiles || false; - const { etagAlgorithm = "SHA-256", showDirListing = false, quiet = false } = - opts; - - const url = new URL(req.url); - const decodedUrl = decodeURIComponent(url.pathname); - let normalizedPath = posixNormalize(decodedUrl); - - if (urlRoot && !normalizedPath.startsWith("/" + urlRoot)) { - return createStandardResponse(STATUS_CODE.NotFound); - } - - // Redirect paths like `/foo////bar` and `/foo/bar/////` to normalized paths. - if (normalizedPath !== decodedUrl) { - url.pathname = normalizedPath; - return Response.redirect(url, 301); - } - - if (urlRoot) { - normalizedPath = normalizedPath.replace(urlRoot, ""); - } - - // Remove trailing slashes to avoid ENOENT errors - // when accessing a path to a file with a trailing slash. - if (normalizedPath.endsWith("/")) { - normalizedPath = normalizedPath.slice(0, -1); - } - - // Exclude dotfiles if showDotfiles is false - if (!showDotfiles && /\/\./.test(normalizedPath)) { - return createStandardResponse(STATUS_CODE.NotFound); - } - - // Resolve path - // If cleanUrls is enabled, automatically append ".html" if not present - // and it does not shadow another existing file or directory - let fsPath = join(target, normalizedPath); - if (cleanUrls && !fsPath.endsWith(".html") && !(await exists(fsPath))) { - fsPath += ".html"; - } - const fileInfo = await dntShim.Deno.stat(fsPath); - - // For files, remove the trailing slash from the path. - if (fileInfo.isFile && url.pathname.endsWith("/")) { - url.pathname = url.pathname.slice(0, -1); - return Response.redirect(url, 301); - } - // For directories, the path must have a trailing slash. - if (fileInfo.isDirectory && !url.pathname.endsWith("/")) { - // On directory listing pages, - // if the current URL's pathname doesn't end with a slash, any - // relative URLs in the index file will resolve against the parent - // directory, rather than the current directory. To prevent that, we - // return a 301 redirect to the URL with a slash. - url.pathname += "/"; - return Response.redirect(url, 301); - } - - // if target is file, serve file. - if (!fileInfo.isDirectory) { - return serveFile(req, fsPath, { - etagAlgorithm, - fileInfo, - }); - } - - // if target is directory, serve index or dir listing. - if (showIndex) { // serve index.html - const indexPath = join(fsPath, "index.html"); - - let indexFileInfo: dntShim.Deno.FileInfo | undefined; - try { - indexFileInfo = await dntShim.Deno.lstat(indexPath); - } catch (error) { - if (!(error instanceof dntShim.Deno.errors.NotFound)) { - throw error; - } - // skip Not Found error - } - - if (indexFileInfo?.isFile) { - return serveFile(req, indexPath, { - etagAlgorithm, - fileInfo: indexFileInfo, - }); - } - } - - if (showDirListing) { // serve directory list - return serveDirIndex(fsPath, { showDotfiles, target, quiet }); - } - - return createStandardResponse(STATUS_CODE.NotFound); -} - -function logError(error: Error) { - // deno-lint-ignore no-console - console.error(`%c${error.message}`, "color: red"); -} - -function main() { - const serverArgs = parseArgs(dntShim.Deno.args, { - string: ["port", "host", "cert", "key", "header"], - boolean: ["help", "dir-listing", "dotfiles", "cors", "verbose", "version"], - negatable: ["dir-listing", "dotfiles", "cors"], - collect: ["header"], - default: { - "dir-listing": true, - dotfiles: true, - cors: true, - verbose: false, - version: false, - host: "0.0.0.0", - port: undefined, - cert: "", - key: "", - }, - alias: { - p: "port", - c: "cert", - k: "key", - h: "help", - v: "verbose", - V: "version", - H: "header", - }, - }); - const port = serverArgs.port ? Number(serverArgs.port) : undefined; - const headers = serverArgs.header ?? []; - const host = serverArgs.host; - const certFile = serverArgs.cert; - const keyFile = serverArgs.key; - - if (serverArgs.help) { - printUsage(); - dntShim.Deno.exit(); - } - - if (serverArgs.version) { - // deno-lint-ignore no-console - console.log(`Deno File Server ${denoConfig.version}`); - dntShim.Deno.exit(); - } - - if (keyFile || certFile) { - if (keyFile === "" || certFile === "") { - // deno-lint-ignore no-console - console.log("--key and --cert are required for TLS"); - printUsage(); - dntShim.Deno.exit(1); - } - } - - const wild = serverArgs._ as string[]; - const target = resolve(wild[0] ?? ""); - - const handler = (req: Request): Promise => { - return serveDir(req, { - fsRoot: target, - showDirListing: serverArgs["dir-listing"], - showDotfiles: serverArgs.dotfiles, - enableCors: serverArgs.cors, - quiet: !serverArgs.verbose, - headers, - }); - }; - - const useTls = !!(keyFile && certFile); - - function onListen({ port, hostname }: { port: number; hostname: string }) { - let networkAddress: string | undefined = undefined; - if (NET_PERM_STATUS === "granted") { - networkAddress = getNetworkAddress(); - } - const protocol = useTls ? "https" : "http"; - const host = (dntShim.Deno.build.os === "windows" && hostname === "0.0.0.0") - ? "localhost" - : hostname; - - const formattedHost = hostname.includes(":") ? `[${host}]` : host; - let message = - `Listening on:\n- Local: ${protocol}://${formattedHost}:${port}`; - if (networkAddress && !DENO_DEPLOYMENT_ID) { - message += `\n- Network: ${protocol}://${networkAddress}:${port}`; - } - // deno-lint-ignore no-console - console.log(message); - } - - // TODO(petamoriken): Migrate `Deno.ServeTcpOptions | (Deno.ServeTcpOptions & Deno.TlsCertifiedKeyOptions)` in v2 - const options: { - port?: number; - hostname?: string; - onListen?: (localAddr: dntShim.Deno.NetAddr) => void; - cert?: string; - key?: string; - } = { - hostname: host, - onListen, - }; - if (port !== undefined) { - options.port = port; - } - if (useTls) { - options.cert = dntShim.Deno.readTextFileSync(certFile); - options.key = dntShim.Deno.readTextFileSync(keyFile); - } - dntShim.Deno.serve(options, handler); -} - -function printUsage() { - // deno-lint-ignore no-console - console.log(`Deno File Server ${denoConfig.version} - Serves a local directory in HTTP. - -INSTALL: - deno install --allow-net --allow-read --allow-sys jsr:@std/http@${denoConfig.version}/file-server - -USAGE: - file_server [path] [options] - -OPTIONS: - -h, --help Prints help information - -p, --port Set port (default is 8000) - --cors Enable CORS via the "Access-Control-Allow-Origin" header - --host Hostname (default is 0.0.0.0) - -c, --cert TLS certificate file (enables TLS) - -k, --key TLS key file (enables TLS) - -H, --header
Sets a header on every request. - (e.g. --header "Cache-Control: no-cache") - This option can be specified multiple times. - --no-dir-listing Disable directory listing - --no-dotfiles Do not show dotfiles - --no-cors Disable cross-origin resource sharing - -v, --verbose Print request level logs - -V, --version Print version information - - All TLS options are required when one is provided.`); -} - -if (import.meta.main) { - main(); -} diff --git a/package/src/deps/jsr.io/@std/http/1.0.20/status.ts b/package/src/deps/jsr.io/@std/http/1.0.20/status.ts deleted file mode 100644 index 547774b..0000000 --- a/package/src/deps/jsr.io/@std/http/1.0.20/status.ts +++ /dev/null @@ -1,450 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -/** - * Contains the {@linkcode STATUS_CODE} object which contains standard HTTP - * status codes and provides several type guards for handling status codes - * with type safety. - * - * @example The status code and status text - * ```ts - * import { - * STATUS_CODE, - * STATUS_TEXT, - * } from "@std/http/status"; - * - * console.log(STATUS_CODE.NotFound); // Returns 404 - * console.log(STATUS_TEXT[STATUS_CODE.NotFound]); // Returns "Not Found" - * ``` - * - * @example Checking the status code type - * ```ts ignore - * import { isErrorStatus } from "@std/http/status"; - * - * const res = await fetch("https://example.com/"); - * - * if (isErrorStatus(res.status)) { - * // error handling here... - * } - * - * await res.body?.cancel(); - * ``` - * - * @module - */ - -export const STATUS_CODE = { - /** RFC 7231, 6.2.1 */ - Continue: 100, - /** RFC 7231, 6.2.2 */ - SwitchingProtocols: 101, - /** RFC 2518, 10.1 */ - Processing: 102, - /** RFC 8297 **/ - EarlyHints: 103, - - /** RFC 7231, 6.3.1 */ - OK: 200, - /** RFC 7231, 6.3.2 */ - Created: 201, - /** RFC 7231, 6.3.3 */ - Accepted: 202, - /** RFC 7231, 6.3.4 */ - NonAuthoritativeInfo: 203, - /** RFC 7231, 6.3.5 */ - NoContent: 204, - /** RFC 7231, 6.3.6 */ - ResetContent: 205, - /** RFC 7233, 4.1 */ - PartialContent: 206, - /** RFC 4918, 11.1 */ - MultiStatus: 207, - /** RFC 5842, 7.1 */ - AlreadyReported: 208, - /** RFC 3229, 10.4.1 */ - IMUsed: 226, - - /** RFC 7231, 6.4.1 */ - MultipleChoices: 300, - /** RFC 7231, 6.4.2 */ - MovedPermanently: 301, - /** RFC 7231, 6.4.3 */ - Found: 302, - /** RFC 7231, 6.4.4 */ - SeeOther: 303, - /** RFC 7232, 4.1 */ - NotModified: 304, - /** RFC 7231, 6.4.5 */ - UseProxy: 305, - /** RFC 7231, 6.4.7 */ - TemporaryRedirect: 307, - /** RFC 7538, 3 */ - PermanentRedirect: 308, - - /** RFC 7231, 6.5.1 */ - BadRequest: 400, - /** RFC 7235, 3.1 */ - Unauthorized: 401, - /** RFC 7231, 6.5.2 */ - PaymentRequired: 402, - /** RFC 7231, 6.5.3 */ - Forbidden: 403, - /** RFC 7231, 6.5.4 */ - NotFound: 404, - /** RFC 7231, 6.5.5 */ - MethodNotAllowed: 405, - /** RFC 7231, 6.5.6 */ - NotAcceptable: 406, - /** RFC 7235, 3.2 */ - ProxyAuthRequired: 407, - /** RFC 7231, 6.5.7 */ - RequestTimeout: 408, - /** RFC 7231, 6.5.8 */ - Conflict: 409, - /** RFC 7231, 6.5.9 */ - Gone: 410, - /** RFC 7231, 6.5.10 */ - LengthRequired: 411, - /** RFC 7232, 4.2 */ - PreconditionFailed: 412, - /** RFC 7231, 6.5.11 */ - ContentTooLarge: 413, - /** RFC 7231, 6.5.12 */ - URITooLong: 414, - /** RFC 7231, 6.5.13 */ - UnsupportedMediaType: 415, - /** RFC 7233, 4.4 */ - RangeNotSatisfiable: 416, - /** RFC 7231, 6.5.14 */ - ExpectationFailed: 417, - /** RFC 7168, 2.3.3 */ - Teapot: 418, - /** RFC 7540, 9.1.2 */ - MisdirectedRequest: 421, - /** RFC 4918, 11.2 */ - UnprocessableEntity: 422, - /** RFC 4918, 11.3 */ - Locked: 423, - /** RFC 4918, 11.4 */ - FailedDependency: 424, - /** RFC 8470, 5.2 */ - TooEarly: 425, - /** RFC 7231, 6.5.15 */ - UpgradeRequired: 426, - /** RFC 6585, 3 */ - PreconditionRequired: 428, - /** RFC 6585, 4 */ - TooManyRequests: 429, - /** RFC 6585, 5 */ - RequestHeaderFieldsTooLarge: 431, - /** RFC 7725, 3 */ - UnavailableForLegalReasons: 451, - - /** RFC 7231, 6.6.1 */ - InternalServerError: 500, - /** RFC 7231, 6.6.2 */ - NotImplemented: 501, - /** RFC 7231, 6.6.3 */ - BadGateway: 502, - /** RFC 7231, 6.6.4 */ - ServiceUnavailable: 503, - /** RFC 7231, 6.6.5 */ - GatewayTimeout: 504, - /** RFC 7231, 6.6.6 */ - HTTPVersionNotSupported: 505, - /** RFC 2295, 8.1 */ - VariantAlsoNegotiates: 506, - /** RFC 4918, 11.5 */ - InsufficientStorage: 507, - /** RFC 5842, 7.2 */ - LoopDetected: 508, - /** RFC 2774, 7 */ - NotExtended: 510, - /** RFC 6585, 6 */ - NetworkAuthenticationRequired: 511, -} as const; - -/** An HTTP status code. */ -export type StatusCode = typeof STATUS_CODE[keyof typeof STATUS_CODE]; - -/** A record of all the status codes text. */ -export const STATUS_TEXT = { - [STATUS_CODE.Accepted]: "Accepted", - [STATUS_CODE.AlreadyReported]: "Already Reported", - [STATUS_CODE.BadGateway]: "Bad Gateway", - [STATUS_CODE.BadRequest]: "Bad Request", - [STATUS_CODE.Conflict]: "Conflict", - [STATUS_CODE.Continue]: "Continue", - [STATUS_CODE.Created]: "Created", - [STATUS_CODE.EarlyHints]: "Early Hints", - [STATUS_CODE.ExpectationFailed]: "Expectation Failed", - [STATUS_CODE.FailedDependency]: "Failed Dependency", - [STATUS_CODE.Forbidden]: "Forbidden", - [STATUS_CODE.Found]: "Found", - [STATUS_CODE.GatewayTimeout]: "Gateway Timeout", - [STATUS_CODE.Gone]: "Gone", - [STATUS_CODE.HTTPVersionNotSupported]: "HTTP Version Not Supported", - [STATUS_CODE.IMUsed]: "IM Used", - [STATUS_CODE.InsufficientStorage]: "Insufficient Storage", - [STATUS_CODE.InternalServerError]: "Internal Server Error", - [STATUS_CODE.LengthRequired]: "Length Required", - [STATUS_CODE.Locked]: "Locked", - [STATUS_CODE.LoopDetected]: "Loop Detected", - [STATUS_CODE.MethodNotAllowed]: "Method Not Allowed", - [STATUS_CODE.MisdirectedRequest]: "Misdirected Request", - [STATUS_CODE.MovedPermanently]: "Moved Permanently", - [STATUS_CODE.MultiStatus]: "Multi Status", - [STATUS_CODE.MultipleChoices]: "Multiple Choices", - [STATUS_CODE.NetworkAuthenticationRequired]: - "Network Authentication Required", - [STATUS_CODE.NoContent]: "No Content", - [STATUS_CODE.NonAuthoritativeInfo]: "Non Authoritative Info", - [STATUS_CODE.NotAcceptable]: "Not Acceptable", - [STATUS_CODE.NotExtended]: "Not Extended", - [STATUS_CODE.NotFound]: "Not Found", - [STATUS_CODE.NotImplemented]: "Not Implemented", - [STATUS_CODE.NotModified]: "Not Modified", - [STATUS_CODE.OK]: "OK", - [STATUS_CODE.PartialContent]: "Partial Content", - [STATUS_CODE.PaymentRequired]: "Payment Required", - [STATUS_CODE.PermanentRedirect]: "Permanent Redirect", - [STATUS_CODE.PreconditionFailed]: "Precondition Failed", - [STATUS_CODE.PreconditionRequired]: "Precondition Required", - [STATUS_CODE.Processing]: "Processing", - [STATUS_CODE.ProxyAuthRequired]: "Proxy Auth Required", - [STATUS_CODE.ContentTooLarge]: "Content Too Large", - [STATUS_CODE.RequestHeaderFieldsTooLarge]: "Request Header Fields Too Large", - [STATUS_CODE.RequestTimeout]: "Request Timeout", - [STATUS_CODE.URITooLong]: "URI Too Long", - [STATUS_CODE.RangeNotSatisfiable]: "Range Not Satisfiable", - [STATUS_CODE.ResetContent]: "Reset Content", - [STATUS_CODE.SeeOther]: "See Other", - [STATUS_CODE.ServiceUnavailable]: "Service Unavailable", - [STATUS_CODE.SwitchingProtocols]: "Switching Protocols", - [STATUS_CODE.Teapot]: "I'm a teapot", - [STATUS_CODE.TemporaryRedirect]: "Temporary Redirect", - [STATUS_CODE.TooEarly]: "Too Early", - [STATUS_CODE.TooManyRequests]: "Too Many Requests", - [STATUS_CODE.Unauthorized]: "Unauthorized", - [STATUS_CODE.UnavailableForLegalReasons]: "Unavailable For Legal Reasons", - [STATUS_CODE.UnprocessableEntity]: "Unprocessable Entity", - [STATUS_CODE.UnsupportedMediaType]: "Unsupported Media Type", - [STATUS_CODE.UpgradeRequired]: "Upgrade Required", - [STATUS_CODE.UseProxy]: "Use Proxy", - [STATUS_CODE.VariantAlsoNegotiates]: "Variant Also Negotiates", -} as const; - -/** An HTTP status text. */ -export type StatusText = typeof STATUS_TEXT[keyof typeof STATUS_TEXT]; - -/** An HTTP status that is a informational (1XX). */ -export type InformationalStatus = - | typeof STATUS_CODE.Continue - | typeof STATUS_CODE.SwitchingProtocols - | typeof STATUS_CODE.Processing - | typeof STATUS_CODE.EarlyHints; - -/** An HTTP status that is a success (2XX). */ -export type SuccessfulStatus = - | typeof STATUS_CODE.OK - | typeof STATUS_CODE.Created - | typeof STATUS_CODE.Accepted - | typeof STATUS_CODE.NonAuthoritativeInfo - | typeof STATUS_CODE.NoContent - | typeof STATUS_CODE.ResetContent - | typeof STATUS_CODE.PartialContent - | typeof STATUS_CODE.MultiStatus - | typeof STATUS_CODE.AlreadyReported - | typeof STATUS_CODE.IMUsed; - -/** An HTTP status that is a redirect (3XX). */ -export type RedirectStatus = - | typeof STATUS_CODE.MultipleChoices // 300 - | typeof STATUS_CODE.MovedPermanently // 301 - | typeof STATUS_CODE.Found // 302 - | typeof STATUS_CODE.SeeOther // 303 - | typeof STATUS_CODE.UseProxy // 305 - DEPRECATED - | typeof STATUS_CODE.TemporaryRedirect // 307 - | typeof STATUS_CODE.PermanentRedirect; // 308 - -/** An HTTP status that is a client error (4XX). */ -export type ClientErrorStatus = - | typeof STATUS_CODE.BadRequest - | typeof STATUS_CODE.Unauthorized - | typeof STATUS_CODE.PaymentRequired - | typeof STATUS_CODE.Forbidden - | typeof STATUS_CODE.NotFound - | typeof STATUS_CODE.MethodNotAllowed - | typeof STATUS_CODE.NotAcceptable - | typeof STATUS_CODE.ProxyAuthRequired - | typeof STATUS_CODE.RequestTimeout - | typeof STATUS_CODE.Conflict - | typeof STATUS_CODE.Gone - | typeof STATUS_CODE.LengthRequired - | typeof STATUS_CODE.PreconditionFailed - | typeof STATUS_CODE.ContentTooLarge - | typeof STATUS_CODE.URITooLong - | typeof STATUS_CODE.UnsupportedMediaType - | typeof STATUS_CODE.RangeNotSatisfiable - | typeof STATUS_CODE.ExpectationFailed - | typeof STATUS_CODE.Teapot - | typeof STATUS_CODE.MisdirectedRequest - | typeof STATUS_CODE.UnprocessableEntity - | typeof STATUS_CODE.Locked - | typeof STATUS_CODE.FailedDependency - | typeof STATUS_CODE.UpgradeRequired - | typeof STATUS_CODE.PreconditionRequired - | typeof STATUS_CODE.TooManyRequests - | typeof STATUS_CODE.RequestHeaderFieldsTooLarge - | typeof STATUS_CODE.UnavailableForLegalReasons; - -/** An HTTP status that is a server error (5XX). */ -export type ServerErrorStatus = - | typeof STATUS_CODE.InternalServerError - | typeof STATUS_CODE.NotImplemented - | typeof STATUS_CODE.BadGateway - | typeof STATUS_CODE.ServiceUnavailable - | typeof STATUS_CODE.GatewayTimeout - | typeof STATUS_CODE.HTTPVersionNotSupported - | typeof STATUS_CODE.VariantAlsoNegotiates - | typeof STATUS_CODE.InsufficientStorage - | typeof STATUS_CODE.LoopDetected - | typeof STATUS_CODE.NotExtended - | typeof STATUS_CODE.NetworkAuthenticationRequired; - -/** An HTTP status that is an error (4XX and 5XX). */ -export type ErrorStatus = ClientErrorStatus | ServerErrorStatus; - -/** - * Returns whether the provided number is a valid HTTP status code. - * - * @example Usage - * ```ts - * import { isStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isStatus(404)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is a valid status code. - */ -export function isStatus(status: number): status is StatusCode { - return Object.values(STATUS_CODE).includes(status as StatusCode); -} - -/** - * A type guard that determines if the status code is informational. - * - * @example Usage - * ```ts - * import { isInformationalStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isInformationalStatus(100)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is an informational status code. - */ -export function isInformationalStatus( - status: number, -): status is InformationalStatus { - return isStatus(status) && status >= 100 && status < 200; -} - -/** - * A type guard that determines if the status code is successful. - * - * @example Usage - * ```ts - * import { isSuccessfulStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isSuccessfulStatus(200)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is a successful status code. - */ -export function isSuccessfulStatus( - status: number, -): status is SuccessfulStatus { - return isStatus(status) && status >= 200 && status < 300; -} - -/** - * A type guard that determines if the status code is a redirection. - * - * @example Usage - * ```ts - * import { isRedirectStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isRedirectStatus(302)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is a redirect status code. - */ -export function isRedirectStatus(status: number): status is RedirectStatus { - return isStatus(status) && status >= 300 && status < 400; -} - -/** - * A type guard that determines if the status code is a client error. - * - * @example Usage - * ```ts - * import { isClientErrorStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isClientErrorStatus(404)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is a client error status code. - */ -export function isClientErrorStatus( - status: number, -): status is ClientErrorStatus { - return isStatus(status) && status >= 400 && status < 500; -} - -/** - * A type guard that determines if the status code is a server error. - * - * @example Usage - * ```ts - * import { isServerErrorStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isServerErrorStatus(502)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is a server error status code. - */ -export function isServerErrorStatus( - status: number, -): status is ServerErrorStatus { - return isStatus(status) && status >= 500 && status < 600; -} - -/** - * A type guard that determines if the status code is an error. - * - * @example Usage - * ```ts - * import { isErrorStatus } from "@std/http/status"; - * import { assert } from "@std/assert"; - * - * assert(isErrorStatus(502)); - * ``` - * - * @param status The status to assert against. - * @returns Whether or not the provided status is an error status code. - */ -export function isErrorStatus(status: number): status is ErrorStatus { - return isStatus(status) && status >= 400 && status < 600; -} diff --git a/package/src/deps/jsr.io/@std/http/1.0.20/unstable_header.ts b/package/src/deps/jsr.io/@std/http/1.0.20/unstable_header.ts deleted file mode 100644 index 5594f69..0000000 --- a/package/src/deps/jsr.io/@std/http/1.0.20/unstable_header.ts +++ /dev/null @@ -1,1200 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -// This module is generated from {@link https://www.iana.org/assignments/http-fields/http-fields.xhtml#field-names | IANA Hypertext Transfer Protocol (HTTP) Field Name Registry} - -/** - * HTTP Headers with status permanent - * - * @experimental **UNSTABLE**: New API, yet to be vetted. - * - * @see {@link https://www.iana.org/assignments/http-fields/http-fields.xhtml#field-names | IANA Hypertext Transfer Protocol (HTTP) Field Name Registry} - */ -export const HEADER = { - /** - * HTTP Header A-IM - * - * @see {@link https://www.iana.org/go/rfc3229 | RFC 3229: Delta encoding in HTTP} - */ - AIm: "A-IM", - - /** - * HTTP Header Accept - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 12.5.1: HTTP Semantics} - */ - Accept: "Accept", - - /** - * HTTP Header Accept-Additions - * - * @see {@link https://www.iana.org/go/rfc2324 | RFC 2324: Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)} - */ - AcceptAdditions: "Accept-Additions", - - /** - * HTTP Header Accept-CH - * - * @see {@link https://www.iana.org/go/rfc8942 | RFC 8942, Section 3.1: HTTP Client Hints} - */ - AcceptCh: "Accept-CH", - - /** - * HTTP Header Accept-Datetime - * - * @see {@link https://www.iana.org/go/rfc7089 | RFC 7089: HTTP Framework for Time-Based Access to Resource States -- Memento} - */ - AcceptDatetime: "Accept-Datetime", - - /** - * HTTP Header Accept-Encoding - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 12.5.3: HTTP Semantics} - */ - AcceptEncoding: "Accept-Encoding", - - /** - * HTTP Header Accept-Features - * - * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} - */ - AcceptFeatures: "Accept-Features", - - /** - * HTTP Header Accept-Language - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 12.5.4: HTTP Semantics} - */ - AcceptLanguage: "Accept-Language", - - /** - * HTTP Header Accept-Patch - * - * @see {@link https://www.iana.org/go/rfc5789 | RFC 5789: PATCH Method for HTTP} - */ - AcceptPatch: "Accept-Patch", - - /** - * HTTP Header Accept-Post - * - * @see {@link https://www.w3.org/TR/ldp | Linked Data Platform 1.0} - */ - AcceptPost: "Accept-Post", - - /** - * HTTP Header Accept-Ranges - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 14.3: HTTP Semantics} - */ - AcceptRanges: "Accept-Ranges", - - /** - * HTTP Header Accept-Signature - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-message-signatures-19 | RFC-ietf-httpbis-message-signatures-19, Section 5.1: HTTP Message Signatures} - */ - AcceptSignature: "Accept-Signature", - - /** - * HTTP Header Access-Control-Allow-Credentials - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-allow-credentials | Fetch} - */ - AccessControlAllowCredentials: "Access-Control-Allow-Credentials", - - /** - * HTTP Header Access-Control-Allow-Headers - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-allow-headers | Fetch} - */ - AccessControlAllowHeaders: "Access-Control-Allow-Headers", - - /** - * HTTP Header Access-Control-Allow-Methods - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-allow-methods | Fetch} - */ - AccessControlAllowMethods: "Access-Control-Allow-Methods", - - /** - * HTTP Header Access-Control-Allow-Origin - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-allow-origin | Fetch} - */ - AccessControlAllowOrigin: "Access-Control-Allow-Origin", - - /** - * HTTP Header Access-Control-Expose-Headers - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-expose-headers | Fetch} - */ - AccessControlExposeHeaders: "Access-Control-Expose-Headers", - - /** - * HTTP Header Access-Control-Max-Age - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-max-age | Fetch} - */ - AccessControlMaxAge: "Access-Control-Max-Age", - - /** - * HTTP Header Access-Control-Request-Headers - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-request-headers | Fetch} - */ - AccessControlRequestHeaders: "Access-Control-Request-Headers", - - /** - * HTTP Header Access-Control-Request-Method - * - * @see {@link https://fetch.spec.whatwg.org/#http-access-control-request-method | Fetch} - */ - AccessControlRequestMethod: "Access-Control-Request-Method", - - /** - * HTTP Header Age - * - * @see {@link https://www.iana.org/go/rfc9111 | RFC9111, Section 5.1: HTTP Caching} - */ - Age: "Age", - - /** - * HTTP Header Allow - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.2.1: HTTP Semantics} - */ - Allow: "Allow", - - /** - * HTTP Header ALPN - * - * @see {@link https://www.iana.org/go/rfc7639 | RFC 7639, Section 2: The ALPN HTTP Header Field} - */ - ALPN: "ALPN", - - /** - * HTTP Header Alt-Svc - * - * @see {@link https://www.iana.org/go/rfc7838 | RFC 7838: HTTP Alternative Services} - */ - AltSvc: "Alt-Svc", - - /** - * HTTP Header Alt-Used - * - * @see {@link https://www.iana.org/go/rfc7838 | RFC 7838: HTTP Alternative Services} - */ - AltUsed: "Alt-Used", - - /** - * HTTP Header Alternates - * - * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} - */ - Alternates: "Alternates", - - /** - * HTTP Header Apply-To-Redirect-Ref - * - * @see {@link https://www.iana.org/go/rfc4437 | RFC 4437: Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources} - */ - ApplyToRedirectRef: "Apply-To-Redirect-Ref", - - /** - * HTTP Header Authentication-Control - * - * @see {@link https://www.iana.org/go/rfc8053 | RFC 8053, Section 4: HTTP Authentication Extensions for Interactive Clients} - */ - AuthenticationControl: "Authentication-Control", - - /** - * HTTP Header Authentication-Info - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.6.3: HTTP Semantics} - */ - AuthenticationInfo: "Authentication-Info", - - /** - * HTTP Header Authorization - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.6.2: HTTP Semantics} - */ - Authorization: "Authorization", - - /** - * HTTP Header Cache-Control - * - * @see {@link https://www.iana.org/go/rfc9111 | RFC9111, Section 5.2} - */ - CacheControl: "Cache-Control", - - /** - * HTTP Header Cache-Status - * - * @see {@link https://www.iana.org/go/rfc9211 | RFC9211: The Cache-Status HTTP Response Header Field} - */ - CacheStatus: "Cache-Status", - - /** - * HTTP Header Cal-Managed-ID - * - * @see {@link https://www.iana.org/go/rfc8607 | RFC 8607, Section 5.1: Calendaring Extensions to WebDAV (CalDAV): Managed Attachments} - */ - CalManagedId: "Cal-Managed-ID", - - /** - * HTTP Header CalDAV-Timezones - * - * @see {@link https://www.iana.org/go/rfc7809 | RFC 7809, Section 7.1: Calendaring Extensions to WebDAV (CalDAV): Time Zones by Reference} - */ - CaldavTimezones: "CalDAV-Timezones", - - /** - * HTTP Header Capsule-Protocol - * - * @see {@link https://www.iana.org/go/rfc9297 | RFC9297} - */ - CapsuleProtocol: "Capsule-Protocol", - - /** - * HTTP Header CDN-Cache-Control - * - * @see {@link https://www.iana.org/go/rfc9213 | RFC9213: Targeted HTTP Cache Control} - */ - CdnCacheControl: "CDN-Cache-Control", - - /** - * HTTP Header CDN-Loop - * - * @see {@link https://www.iana.org/go/rfc8586 | RFC 8586: Loop Detection in Content Delivery Networks (CDNs)} - */ - CdnLoop: "CDN-Loop", - - /** - * HTTP Header Cert-Not-After - * - * @see {@link https://www.iana.org/go/rfc8739 | RFC 8739, Section 3.3: Support for Short-Term, Automatically Renewed (STAR) Certificates in the Automated Certificate Management Environment (ACME)} - */ - CertNotAfter: "Cert-Not-After", - - /** - * HTTP Header Cert-Not-Before - * - * @see {@link https://www.iana.org/go/rfc8739 | RFC 8739, Section 3.3: Support for Short-Term, Automatically Renewed (STAR) Certificates in the Automated Certificate Management Environment (ACME)} - */ - CertNotBefore: "Cert-Not-Before", - - /** - * HTTP Header Clear-Site-Data - * - * @see {@link https://w3.org/TR/clear-site-data/#header | Clear Site Data} - */ - ClearSiteData: "Clear-Site-Data", - - /** - * HTTP Header Client-Cert - * - * @see {@link https://www.iana.org/go/rfc9440 | RFC9440, Section 2: Client-Cert HTTP Header Field} - */ - ClientCert: "Client-Cert", - - /** - * HTTP Header Client-Cert-Chain - * - * @see {@link https://www.iana.org/go/rfc9440 | RFC9440, Section 2: Client-Cert HTTP Header Field} - */ - ClientCertChain: "Client-Cert-Chain", - - /** - * HTTP Header Close - * - * @see {@link https://www.iana.org/go/rfc9112 | RFC9112, Section 9.6: HTTP/1.1} - */ - Close: "Close", - - /** - * HTTP Header Connection - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.6.1: HTTP Semantics} - */ - Connection: "Connection", - - /** - * HTTP Header Content-Digest - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-digest-headers-13 | RFC-ietf-httpbis-digest-headers-13, Section 2: Digest Fields} - */ - ContentDigest: "Content-Digest", - - /** - * HTTP Header Content-Disposition - * - * @see {@link https://www.iana.org/go/rfc6266 | RFC 6266: Use of the Content-Disposition Header Field in the - Hypertext Transfer Protocol (HTTP)} - */ - ContentDisposition: "Content-Disposition", - - /** - * HTTP Header Content-Encoding - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.4: HTTP Semantics} - */ - ContentEncoding: "Content-Encoding", - - /** - * HTTP Header Content-Language - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.5: HTTP Semantics} - */ - ContentLanguage: "Content-Language", - - /** - * HTTP Header Content-Length - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.6: HTTP Semantics} - */ - ContentLength: "Content-Length", - - /** - * HTTP Header Content-Location - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.7: HTTP Semantics} - */ - ContentLocation: "Content-Location", - - /** - * HTTP Header Content-Range - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 14.4: HTTP Semantics} - */ - ContentRange: "Content-Range", - - /** - * HTTP Header Content-Security-Policy - * - * @see {@link https://www.w3.org/TR/CSP/#csp-header | Content Security Policy Level 3} - */ - ContentSecurityPolicy: "Content-Security-Policy", - - /** - * HTTP Header Content-Security-Policy-Report-Only - * - * @see {@link https://www.w3.org/TR/CSP/#cspro-header | Content Security Policy Level 3} - */ - ContentSecurityPolicyReportOnly: "Content-Security-Policy-Report-Only", - - /** - * HTTP Header Content-Type - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.3: HTTP Semantics} - */ - ContentType: "Content-Type", - - /** - * HTTP Header Cookie - * - * @see {@link https://www.iana.org/go/rfc6265 | RFC 6265: HTTP State Management Mechanism} - */ - Cookie: "Cookie", - - /** - * HTTP Header Cross-Origin-Embedder-Policy - * - * @see {@link https://html.spec.whatwg.org/multipage/origin.html#cross-origin-embedder-policy | HTML} - */ - CrossOriginEmbedderPolicy: "Cross-Origin-Embedder-Policy", - - /** - * HTTP Header Cross-Origin-Embedder-Policy-Report-Only - * - * @see {@link https://html.spec.whatwg.org/multipage/origin.html#cross-origin-embedder-policy-report-only | HTML} - */ - CrossOriginEmbedderPolicyReportOnly: - "Cross-Origin-Embedder-Policy-Report-Only", - - /** - * HTTP Header Cross-Origin-Opener-Policy - * - * @see {@link https://html.spec.whatwg.org/multipage/origin.html#cross-origin-opener-policy-2 | HTML} - */ - CrossOriginOpenerPolicy: "Cross-Origin-Opener-Policy", - - /** - * HTTP Header Cross-Origin-Opener-Policy-Report-Only - * - * @see {@link https://html.spec.whatwg.org/multipage/origin.html#cross-origin-opener-policy-report-only | HTML} - */ - CrossOriginOpenerPolicyReportOnly: "Cross-Origin-Opener-Policy-Report-Only", - - /** - * HTTP Header Cross-Origin-Resource-Policy - * - * @see {@link https://fetch.spec.whatwg.org/#cross-origin-resource-policy-header | Fetch} - */ - CrossOriginResourcePolicy: "Cross-Origin-Resource-Policy", - - /** - * HTTP Header DASL - * - * @see {@link https://www.iana.org/go/rfc5323 | RFC 5323: Web Distributed Authoring and Versioning (WebDAV) SEARCH} - */ - DASL: "DASL", - - /** - * HTTP Header Date - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 6.6.1: HTTP Semantics} - */ - Date: "Date", - - /** - * HTTP Header DAV - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - DAV: "DAV", - - /** - * HTTP Header Delta-Base - * - * @see {@link https://www.iana.org/go/rfc3229 | RFC 3229: Delta encoding in HTTP} - */ - DeltaBase: "Delta-Base", - - /** - * HTTP Header Depth - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - Depth: "Depth", - - /** - * HTTP Header Destination - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - Destination: "Destination", - - /** - * HTTP Header DPoP - * - * @see {@link https://www.iana.org/go/rfc9449 | RFC9449: OAuth 2.0 Demonstrating Proof of Possession (DPoP)} - */ - DPoP: "DPoP", - - /** - * HTTP Header DPoP-Nonce - * - * @see {@link https://www.iana.org/go/rfc9449 | RFC9449: OAuth 2.0 Demonstrating Proof of Possession (DPoP)} - */ - DpopNonce: "DPoP-Nonce", - - /** - * HTTP Header Early-Data - * - * @see {@link https://www.iana.org/go/rfc8470 | RFC 8470: Using Early Data in HTTP} - */ - EarlyData: "Early-Data", - - /** - * HTTP Header ETag - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.8.3: HTTP Semantics} - */ - ETag: "ETag", - - /** - * HTTP Header Expect - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.1: HTTP Semantics} - */ - Expect: "Expect", - - /** - * HTTP Header Expires - * - * @see {@link https://www.iana.org/go/rfc9111 | RFC9111, Section 5.3: HTTP Caching} - */ - Expires: "Expires", - - /** - * HTTP Header Forwarded - * - * @see {@link https://www.iana.org/go/rfc7239 | RFC 7239: Forwarded HTTP Extension} - */ - Forwarded: "Forwarded", - - /** - * HTTP Header From - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.2: HTTP Semantics} - */ - From: "From", - - /** - * HTTP Header Hobareg - * - * @see {@link https://www.iana.org/go/rfc7486 | RFC 7486, Section 6.1.1: HTTP Origin-Bound Authentication (HOBA)} - */ - Hobareg: "Hobareg", - - /** - * HTTP Header Host - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.2: HTTP Semantics} - */ - Host: "Host", - - /** - * HTTP Header If - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - If: "If", - - /** - * HTTP Header If-Match - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.1: HTTP Semantics} - */ - IfMatch: "If-Match", - - /** - * HTTP Header If-Modified-Since - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.3: HTTP Semantics} - */ - IfModifiedSince: "If-Modified-Since", - - /** - * HTTP Header If-None-Match - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.2: HTTP Semantics} - */ - IfNoneMatch: "If-None-Match", - - /** - * HTTP Header If-Range - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.5: HTTP Semantics} - */ - IfRange: "If-Range", - - /** - * HTTP Header If-Schedule-Tag-Match - * - * @see {@link https://www.iana.org/go/rfc6638 | RFC 6338: Scheduling Extensions to CalDAV} - */ - IfScheduleTagMatch: "If-Schedule-Tag-Match", - - /** - * HTTP Header If-Unmodified-Since - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.4: HTTP Semantics} - */ - IfUnmodifiedSince: "If-Unmodified-Since", - - /** - * HTTP Header IM - * - * @see {@link https://www.iana.org/go/rfc3229 | RFC 3229: Delta encoding in HTTP} - */ - IM: "IM", - - /** - * HTTP Header Include-Referred-Token-Binding-ID - * - * @see {@link https://www.iana.org/go/rfc8473 | RFC 8473: Token Binding over HTTP} - */ - IncludeReferredTokenBindingId: "Include-Referred-Token-Binding-ID", - - /** - * HTTP Header Keep-Alive - * - * @see {@link https://www.iana.org/go/rfc2068 | RFC 2068: Hypertext Transfer Protocol -- HTTP/1.1} - */ - KeepAlive: "Keep-Alive", - - /** - * HTTP Header Label - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC 3253: Versioning Extensions to WebDAV: (Web Distributed Authoring and Versioning)} - */ - Label: "Label", - - /** - * HTTP Header Last-Event-ID - * - * @see {@link https://html.spec.whatwg.org/multipage/server-sent-events.html#last-event-id | HTML} - */ - LastEventId: "Last-Event-ID", - - /** - * HTTP Header Last-Modified - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.8.2: HTTP Semantics} - */ - LastModified: "Last-Modified", - - /** - * HTTP Header Link - * - * @see {@link https://www.iana.org/go/rfc8288 | RFC 8288: Web Linking} - */ - Link: "Link", - - /** - * HTTP Header Location - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.2.2: HTTP Semantics} - */ - Location: "Location", - - /** - * HTTP Header Lock-Token - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - LockToken: "Lock-Token", - - /** - * HTTP Header Max-Forwards - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.6.2: HTTP Semantics} - */ - MaxForwards: "Max-Forwards", - - /** - * HTTP Header Memento-Datetime - * - * @see {@link https://www.iana.org/go/rfc7089 | RFC 7089: HTTP Framework for Time-Based Access to Resource States -- Memento} - */ - MementoDatetime: "Memento-Datetime", - - /** - * HTTP Header Meter - * - * @see {@link https://www.iana.org/go/rfc2227 | RFC 2227: Simple Hit-Metering and Usage-Limiting for HTTP} - */ - Meter: "Meter", - - /** - * HTTP Header MIME-Version - * - * @see {@link https://www.iana.org/go/rfc9112 | RFC9112, Appendix B.1: HTTP/1.1} - */ - MimeVersion: "MIME-Version", - - /** - * HTTP Header Negotiate - * - * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} - */ - Negotiate: "Negotiate", - - /** - * HTTP Header NEL - * - * @see {@link https://www.w3.org/TR/network-error-logging/ | Network Error Logging} - */ - NEL: "NEL", - - /** - * HTTP Header OData-EntityId - * - * @see {@link http://docs.oasis-open.org/odata/odata/v4.01/csprd05/part1-protocol/odata-v4.01-csprd05-part1-protocol.html#_Toc14172735 | OData Version 4.01 Part 1: Protocol} - * @see {@link #OASIS | OASIS} - * @see {@link #Chet_Ensign | Chet_Ensign} - */ - OdataEntityid: "OData-EntityId", - - /** - * HTTP Header OData-Isolation - * - * @see {@link http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_HeaderIsolationODataIsolation | OData Version 4.01 Part 1: Protocol} - * @see {@link #OASIS | OASIS} - * @see {@link #Chet_Ensign | Chet_Ensign} - */ - OdataIsolation: "OData-Isolation", - - /** - * HTTP Header OData-MaxVersion - * - * @see {@link http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_HeaderODataMaxVersion | OData Version 4.01 Part 1: Protocol} - * @see {@link #OASIS | OASIS} - * @see {@link #Chet_Ensign | Chet_Ensign} - */ - OdataMaxversion: "OData-MaxVersion", - - /** - * HTTP Header OData-Version - * - * @see {@link http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_HeaderODataVersion | OData Version 4.01 Part 1: Protocol} - * @see {@link #OASIS | OASIS} - * @see {@link #Chet_Ensign | Chet_Ensign} - */ - OdataVersion: "OData-Version", - - /** - * HTTP Header Optional-WWW-Authenticate - * - * @see {@link https://www.iana.org/go/rfc8053 | RFC 8053, Section 3: HTTP Authentication Extensions for Interactive Clients} - */ - OptionalWwwAuthenticate: "Optional-WWW-Authenticate", - - /** - * HTTP Header Ordering-Type - * - * @see {@link https://www.iana.org/go/rfc3648 | RFC 3648: Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol} - */ - OrderingType: "Ordering-Type", - - /** - * HTTP Header Origin - * - * @see {@link https://www.iana.org/go/rfc6454 | RFC 6454: The Web Origin Concept} - */ - Origin: "Origin", - - /** - * HTTP Header Origin-Agent-Cluster - * - * @see {@link https://html.spec.whatwg.org/multipage/origin.html#origin-agent-cluster | HTML} - */ - OriginAgentCluster: "Origin-Agent-Cluster", - - /** - * HTTP Header OSCORE - * - * @see {@link https://www.iana.org/go/rfc8613 | RFC 8613, Section 11.1: Object Security for Constrained RESTful Environments (OSCORE)} - */ - OSCORE: "OSCORE", - - /** - * HTTP Header OSLC-Core-Version - * - * @see {@link https://docs.oasis-open-projects.org/oslc-op/core/v3.0/oslc-core.html | OASIS Project Specification 01} - * @see {@link #OASIS | OASIS} - * @see {@link #Chet_Ensign | Chet_Ensign} - */ - OslcCoreVersion: "OSLC-Core-Version", - - /** - * HTTP Header Overwrite - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - Overwrite: "Overwrite", - - /** - * HTTP Header Ping-From - * - * @see {@link https://html.spec.whatwg.org/multipage/links.html#ping-from | HTML} - */ - PingFrom: "Ping-From", - - /** - * HTTP Header Ping-To - * - * @see {@link https://html.spec.whatwg.org/multipage/links.html#ping-to | HTML} - */ - PingTo: "Ping-To", - - /** - * HTTP Header Position - * - * @see {@link https://www.iana.org/go/rfc3648 | RFC 3648: Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol} - */ - Position: "Position", - - /** - * HTTP Header Prefer - * - * @see {@link https://www.iana.org/go/rfc7240 | RFC 7240: Prefer Header for HTTP} - */ - Prefer: "Prefer", - - /** - * HTTP Header Preference-Applied - * - * @see {@link https://www.iana.org/go/rfc7240 | RFC 7240: Prefer Header for HTTP} - */ - PreferenceApplied: "Preference-Applied", - - /** - * HTTP Header Priority - * - * @see {@link https://www.iana.org/go/rfc9218 | RFC9218: Extensible Prioritization Scheme for HTTP} - */ - Priority: "Priority", - - /** - * HTTP Header Proxy-Authenticate - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.7.1: HTTP Semantics} - */ - ProxyAuthenticate: "Proxy-Authenticate", - - /** - * HTTP Header Proxy-Authentication-Info - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.7.3: HTTP Semantics} - */ - ProxyAuthenticationInfo: "Proxy-Authentication-Info", - - /** - * HTTP Header Proxy-Authorization - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.7.2: HTTP Semantics} - */ - ProxyAuthorization: "Proxy-Authorization", - - /** - * HTTP Header Proxy-Status - * - * @see {@link https://www.iana.org/go/rfc9209 | RFC9209: The Proxy-Status HTTP Response Header Field} - */ - ProxyStatus: "Proxy-Status", - - /** - * HTTP Header Public-Key-Pins - * - * @see {@link https://www.iana.org/go/rfc7469 | RFC 7469: Public Key Pinning Extension for HTTP} - */ - PublicKeyPins: "Public-Key-Pins", - - /** - * HTTP Header Public-Key-Pins-Report-Only - * - * @see {@link https://www.iana.org/go/rfc7469 | RFC 7469: Public Key Pinning Extension for HTTP} - */ - PublicKeyPinsReportOnly: "Public-Key-Pins-Report-Only", - - /** - * HTTP Header Range - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 14.2: HTTP Semantics} - */ - Range: "Range", - - /** - * HTTP Header Redirect-Ref - * - * @see {@link https://www.iana.org/go/rfc4437 | RFC 4437: Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources} - */ - RedirectRef: "Redirect-Ref", - - /** - * HTTP Header Referer - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.3: HTTP Semantics} - */ - Referer: "Referer", - - /** - * HTTP Header Refresh - * - * @see {@link https://html.spec.whatwg.org/multipage/browsing-the-web.html#refresh | HTML} - */ - Refresh: "Refresh", - - /** - * HTTP Header Replay-Nonce - * - * @see {@link https://www.iana.org/go/rfc8555 | RFC 8555, Section 6.5.1: Automatic Certificate Management Environment (ACME)} - */ - ReplayNonce: "Replay-Nonce", - - /** - * HTTP Header Repr-Digest - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-digest-headers-13 | RFC-ietf-httpbis-digest-headers-13, Section 3: Digest Fields} - */ - ReprDigest: "Repr-Digest", - - /** - * HTTP Header Retry-After - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.2.3: HTTP Semantics} - */ - RetryAfter: "Retry-After", - - /** - * HTTP Header Schedule-Reply - * - * @see {@link https://www.iana.org/go/rfc6638 | RFC 6638: Scheduling Extensions to CalDAV} - */ - ScheduleReply: "Schedule-Reply", - - /** - * HTTP Header Schedule-Tag - * - * @see {@link https://www.iana.org/go/rfc6638 | RFC 6338: Scheduling Extensions to CalDAV} - */ - ScheduleTag: "Schedule-Tag", - - /** - * HTTP Header Sec-Purpose - * - * @see {@link https://fetch.spec.whatwg.org/#sec-purpose-header | Fetch} - */ - SecPurpose: "Sec-Purpose", - - /** - * HTTP Header Sec-Token-Binding - * - * @see {@link https://www.iana.org/go/rfc8473 | RFC 8473: Token Binding over HTTP} - */ - SecTokenBinding: "Sec-Token-Binding", - - /** - * HTTP Header Sec-WebSocket-Accept - * - * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} - */ - SecWebsocketAccept: "Sec-WebSocket-Accept", - - /** - * HTTP Header Sec-WebSocket-Extensions - * - * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} - */ - SecWebsocketExtensions: "Sec-WebSocket-Extensions", - - /** - * HTTP Header Sec-WebSocket-Key - * - * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} - */ - SecWebsocketKey: "Sec-WebSocket-Key", - - /** - * HTTP Header Sec-WebSocket-Protocol - * - * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} - */ - SecWebsocketProtocol: "Sec-WebSocket-Protocol", - - /** - * HTTP Header Sec-WebSocket-Version - * - * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} - */ - SecWebsocketVersion: "Sec-WebSocket-Version", - - /** - * HTTP Header Server - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.2.4: HTTP Semantics} - */ - Server: "Server", - - /** - * HTTP Header Server-Timing - * - * @see {@link https://www.w3.org/TR/server-timing/ | Server Timing} - */ - ServerTiming: "Server-Timing", - - /** - * HTTP Header Set-Cookie - * - * @see {@link https://www.iana.org/go/rfc6265 | RFC 6265: HTTP State Management Mechanism} - */ - SetCookie: "Set-Cookie", - - /** - * HTTP Header Signature - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-message-signatures-19 | RFC-ietf-httpbis-message-signatures-19, Section 4.2: HTTP Message Signatures} - */ - Signature: "Signature", - - /** - * HTTP Header Signature-Input - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-message-signatures-19 | RFC-ietf-httpbis-message-signatures-19, Section 4.1: HTTP Message Signatures} - */ - SignatureInput: "Signature-Input", - - /** - * HTTP Header SLUG - * - * @see {@link https://www.iana.org/go/rfc5023 | RFC 5023: The Atom Publishing Protocol} - */ - SLUG: "SLUG", - - /** - * HTTP Header SoapAction - * - * @see {@link https://www.w3.org/TR/2000/NOTE-SOAP-20000508 | Simple Object Access Protocol (SOAP) 1.1} - */ - SoapAction: "SoapAction", - - /** - * HTTP Header Status-URI - * - * @see {@link https://www.iana.org/go/rfc2518 | RFC 2518: HTTP Extensions for Distributed Authoring -- WEBDAV} - */ - StatusUri: "Status-URI", - - /** - * HTTP Header Strict-Transport-Security - * - * @see {@link https://www.iana.org/go/rfc6797 | RFC 6797: HTTP Strict Transport Security (HSTS)} - */ - StrictTransportSecurity: "Strict-Transport-Security", - - /** - * HTTP Header Sunset - * - * @see {@link https://www.iana.org/go/rfc8594 | RFC 8594: The Sunset HTTP Header Field} - */ - Sunset: "Sunset", - - /** - * HTTP Header TCN - * - * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} - */ - TCN: "TCN", - - /** - * HTTP Header TE - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.4: HTTP Semantics} - */ - TE: "TE", - - /** - * HTTP Header Timeout - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} - */ - Timeout: "Timeout", - - /** - * HTTP Header Topic - * - * @see {@link https://www.iana.org/go/rfc8030 | RFC 8030, Section 5.4: Generic Event Delivery Using HTTP Push} - */ - Topic: "Topic", - - /** - * HTTP Header Traceparent - * - * @see {@link https://www.w3.org/TR/trace-context/#traceparent-header | Trace Context} - */ - Traceparent: "Traceparent", - - /** - * HTTP Header Tracestate - * - * @see {@link https://www.w3.org/TR/trace-context/#tracestate-header | Trace Context} - */ - Tracestate: "Tracestate", - - /** - * HTTP Header Trailer - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 6.6.2: HTTP Semantics} - */ - Trailer: "Trailer", - - /** - * HTTP Header Transfer-Encoding - * - * @see {@link https://www.iana.org/go/rfc9112 | RFC9112, Section 6.1: HTTP Semantics} - */ - TransferEncoding: "Transfer-Encoding", - - /** - * HTTP Header TTL - * - * @see {@link https://www.iana.org/go/rfc8030 | RFC 8030, Section 5.2: Generic Event Delivery Using HTTP Push} - */ - TTL: "TTL", - - /** - * HTTP Header Upgrade - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.8: HTTP Semantics} - */ - Upgrade: "Upgrade", - - /** - * HTTP Header Urgency - * - * @see {@link https://www.iana.org/go/rfc8030 | RFC 8030, Section 5.3: Generic Event Delivery Using HTTP Push} - */ - Urgency: "Urgency", - - /** - * HTTP Header User-Agent - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.5: HTTP Semantics} - */ - UserAgent: "User-Agent", - - /** - * HTTP Header Variant-Vary - * - * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} - */ - VariantVary: "Variant-Vary", - - /** - * HTTP Header Vary - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 12.5.5: HTTP Semantics} - */ - Vary: "Vary", - - /** - * HTTP Header Via - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.6.3: HTTP Semantics} - */ - Via: "Via", - - /** - * HTTP Header Want-Content-Digest - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-digest-headers-13 | RFC-ietf-httpbis-digest-headers-13, Section 4: Digest Fields} - */ - WantContentDigest: "Want-Content-Digest", - - /** - * HTTP Header Want-Repr-Digest - * - * @see {@link https://www.iana.org/go/draft-ietf-httpbis-digest-headers-13 | RFC-ietf-httpbis-digest-headers-13, Section 4: Digest Fields} - */ - WantReprDigest: "Want-Repr-Digest", - - /** - * HTTP Header WWW-Authenticate - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.6.1: HTTP Semantics} - */ - WwwAuthenticate: "WWW-Authenticate", - - /** - * HTTP Header X-Content-Type-Options - * - * @see {@link https://fetch.spec.whatwg.org/#x-content-type-options-header | Fetch} - */ - XContentTypeOptions: "X-Content-Type-Options", - - /** - * HTTP Header X-Frame-Options - * - * @see {@link https://html.spec.whatwg.org/multipage/browsing-the-web.html#x-frame-options | HTML} - */ - XFrameOptions: "X-Frame-Options", -} as const; - -/** - * A HTTP Header - * - * @experimental **UNSTABLE**: New API, yet to be vetted. - */ -export type Header = typeof HEADER[keyof typeof HEADER]; diff --git a/package/src/deps/jsr.io/@std/http/1.0.20/unstable_method.ts b/package/src/deps/jsr.io/@std/http/1.0.20/unstable_method.ts deleted file mode 100644 index 6de426e..0000000 --- a/package/src/deps/jsr.io/@std/http/1.0.20/unstable_method.ts +++ /dev/null @@ -1,298 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -// This module is generated from {@link https://www.iana.org/assignments/http-methods/http-methods.xhtml#methods | IANA Hypertext Transfer Protocol (HTTP) Method Registry} - -/** - * HTTP Methods derived from IANA Hypertext Transfer Protocol (HTTP) Method Registry - * - * @experimental **UNSTABLE**: New API, yet to be vetted. - * - * @see {@link https://www.iana.org/assignments/http-methods/http-methods.xhtml#methods | IANA Hypertext Transfer Protocol (HTTP) Method Registry} - */ -export const METHOD = { - /** - * ACL (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3744 | RFC3744, Section 8.1} - */ - Acl: "ACL", - - /** - * BASELINE-CONTROL (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 12.6} - */ - BaselineControl: "BASELINE-CONTROL", - - /** - * BIND (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc5842 | RFC5842, Section 4} - */ - Bind: "BIND", - - /** - * CHECKIN (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 4.4, Section 9.4} - */ - Checkin: "CHECKIN", - - /** - * CHECKOUT (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 4.3, Section 8.8} - */ - Checkout: "CHECKOUT", - - /** - * CONNECT (Safe: no; Idempotent: no) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.6} - */ - Connect: "CONNECT", - - /** - * COPY (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.8} - */ - Copy: "COPY", - - /** - * DELETE (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.5} - */ - Delete: "DELETE", - - /** - * GET (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.1} - */ - Get: "GET", - - /** - * HEAD (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.2} - */ - Head: "HEAD", - - /** - * LABEL (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 8.2} - */ - Label: "LABEL", - - /** - * LINK (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc2068 | RFC2068, Section 19.6.1.2} - */ - Link: "LINK", - - /** - * LOCK (Safe: no; Idempotent: no) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.10} - */ - Lock: "LOCK", - - /** - * MERGE (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 11.2} - */ - Merge: "MERGE", - - /** - * MKACTIVITY (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 13.5} - */ - Mkactivity: "MKACTIVITY", - - /** - * MKCALENDAR (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4791 | RFC4791, Section 5.3.1} - * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.3} - */ - Mkcalendar: "MKCALENDAR", - - /** - * MKCOL (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.3} - * @see {@link https://www.iana.org/go/rfc5689 | RFC5689, Section 3} - * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.3} - */ - Mkcol: "MKCOL", - - /** - * MKREDIRECTREF (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4437 | RFC4437, Section 6} - */ - Mkredirectref: "MKREDIRECTREF", - - /** - * MKWORKSPACE (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 6.3} - */ - Mkworkspace: "MKWORKSPACE", - - /** - * MOVE (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.9} - */ - Move: "MOVE", - - /** - * OPTIONS (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.7} - */ - Options: "OPTIONS", - - /** - * ORDERPATCH (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3648 | RFC3648, Section 7} - */ - Orderpatch: "ORDERPATCH", - - /** - * PATCH (Safe: no; Idempotent: no) - * - * @see {@link https://www.iana.org/go/rfc5789 | RFC5789, Section 2} - */ - Patch: "PATCH", - - /** - * POST (Safe: no; Idempotent: no) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.3} - */ - Post: "POST", - - /** - * PRI (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9113 | RFC9113, Section 3.4} - */ - Pri: "PRI", - - /** - * PROPFIND (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.1} - * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.1} - */ - Propfind: "PROPFIND", - - /** - * PROPPATCH (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.2} - * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.2} - */ - Proppatch: "PROPPATCH", - - /** - * PUT (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.4} - */ - Put: "PUT", - - /** - * REBIND (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc5842 | RFC5842, Section 6} - */ - Rebind: "REBIND", - - /** - * REPORT (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 3.6} - * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.1} - */ - Report: "REPORT", - - /** - * SEARCH (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc5323 | RFC5323, Section 2} - */ - Search: "SEARCH", - - /** - * TRACE (Safe: yes; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.8} - */ - Trace: "TRACE", - - /** - * UNBIND (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc5842 | RFC5842, Section 5} - */ - Unbind: "UNBIND", - - /** - * UNCHECKOUT (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 4.5} - */ - Uncheckout: "UNCHECKOUT", - - /** - * UNLINK (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc2068 | RFC2068, Section 19.6.1.3} - */ - Unlink: "UNLINK", - - /** - * UNLOCK (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.11} - */ - Unlock: "UNLOCK", - - /** - * UPDATE (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 7.1} - */ - Update: "UPDATE", - - /** - * UPDATEREDIRECTREF (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc4437 | RFC4437, Section 7} - */ - Updateredirectref: "UPDATEREDIRECTREF", - - /** - * VERSION-CONTROL (Safe: no; Idempotent: yes) - * - * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 3.5} - */ - VersionControl: "VERSION-CONTROL", -} as const; - -/** - * A HTTP Method - * - * @experimental **UNSTABLE**: New API, yet to be vetted. - */ -export type Method = typeof METHOD[keyof typeof METHOD]; diff --git a/package/src/deps/jsr.io/@std/internal/1.0.10/_os.ts b/package/src/deps/jsr.io/@std/internal/1.0.10/_os.ts deleted file mode 100644 index b2c1bdd..0000000 --- a/package/src/deps/jsr.io/@std/internal/1.0.10/_os.ts +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -import * as dntShim from "../../../../../_dnt.shims.js"; - - -export function checkWindows(): boolean { - // deno-lint-ignore no-explicit-any - const global = dntShim.dntGlobalThis as any; - const os = global.Deno?.build?.os; - - // Check Deno, then the remaining runtimes (e.g. Node, Bun and the browser) - return typeof os === "string" - ? os === "windows" - : global.navigator?.platform?.startsWith("Win") ?? - global.process?.platform?.startsWith("win") ?? false; -} diff --git a/package/src/deps/jsr.io/@std/internal/1.0.10/os.ts b/package/src/deps/jsr.io/@std/internal/1.0.10/os.ts deleted file mode 100644 index c56c86e..0000000 --- a/package/src/deps/jsr.io/@std/internal/1.0.10/os.ts +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -import { checkWindows } from "./_os.js"; - -/** Whether the current platform is Windows */ -export const isWindows: boolean = checkWindows(); diff --git a/package/src/deps/jsr.io/@std/media-types/1.1.0/_db.ts b/package/src/deps/jsr.io/@std/media-types/1.1.0/_db.ts deleted file mode 100644 index 7658f20..0000000 --- a/package/src/deps/jsr.io/@std/media-types/1.1.0/_db.ts +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -import db from "./vendor/db.js"; -import type { DBEntry } from "./_util.js"; - -export type KeyOfDb = keyof typeof db; - -/** A map of the media type for a given extension */ -export const types = new Map(); - -/** A map of extensions for a given media type. */ -const extensions: Map = new Map(); - -/** Internal function to populate the maps based on the Mime DB. */ -const preference = ["nginx", "apache", undefined, "iana"]; - -for (const type of Object.keys(db) as KeyOfDb[]) { - const mime = db[type] as DBEntry; - const exts = mime.extensions; - - if (!exts || !exts.length) { - continue; - } - - // @ts-ignore Work around https://github.com/denoland/dnt/issues/148 - extensions.set(type, exts); - - for (const ext of exts) { - const current = types.get(ext); - if (current) { - const from = preference.indexOf((db[current] as DBEntry).source); - const to = preference.indexOf(mime.source); - - if ( - current !== "application/octet-stream" && - current !== "application/mp4" && - (from > to || - // @ts-ignore work around https://github.com/denoland/dnt/issues/148 - (from === to && current.startsWith("application/"))) - ) { - continue; - } - } - - types.set(ext, type); - } -} - -export { db, extensions }; diff --git a/package/src/deps/jsr.io/@std/media-types/1.1.0/_util.ts b/package/src/deps/jsr.io/@std/media-types/1.1.0/_util.ts deleted file mode 100644 index d53e1c3..0000000 --- a/package/src/deps/jsr.io/@std/media-types/1.1.0/_util.ts +++ /dev/null @@ -1,145 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. - -export interface DBEntry { - source: string; - compressible?: boolean; - charset?: string; - extensions?: string[]; -} - -export function consumeToken(v: string): [token: string, rest: string] { - const notPos = indexOf(v, isNotTokenChar); - if (notPos === -1) { - return [v, ""]; - } - if (notPos === 0) { - return ["", v]; - } - return [v.slice(0, notPos), v.slice(notPos)]; -} - -export function consumeValue(v: string): [value: string, rest: string] { - if (!v) { - return ["", v]; - } - if (v[0] !== `"`) { - return consumeToken(v); - } - let value = ""; - for (let i = 1; i < v.length; i++) { - const r = v[i]; - if (r === `"`) { - return [value, v.slice(i + 1)]; - } - const next = v[i + 1]; - if (r === "\\" && typeof next === "string" && isTSpecial(next)) { - value += next; - i++; - continue; - } - if (r === "\r" || r === "\n") { - return ["", v]; - } - value += v[i]; - } - return ["", v]; -} - -export function consumeMediaParam( - v: string, -): [key: string, value: string, rest: string] { - let rest = v.trimStart(); - if (!rest.startsWith(";")) { - return ["", "", v]; - } - rest = rest.slice(1); - rest = rest.trimStart(); - let param: string; - [param, rest] = consumeToken(rest); - param = param.toLowerCase(); - if (!param) { - return ["", "", v]; - } - rest = rest.slice(1); - rest = rest.trimStart(); - const [value, rest2] = consumeValue(rest); - if (value === "" && rest2 === rest) { - return ["", "", v]; - } - rest = rest2; - return [param, value, rest]; -} - -export function decode2331Encoding(v: string): string | undefined { - const sv = v.split(`'`, 3); - if (sv.length !== 3) { - return undefined; - } - const [sv0, , sv2] = sv as [string, string, string]; - const charset = sv0.toLowerCase(); - if (!charset) { - return undefined; - } - if (charset !== "us-ascii" && charset !== "utf-8") { - return undefined; - } - const encv = decodeURI(sv2); - if (!encv) { - return undefined; - } - return encv; -} - -function indexOf(s: Iterable, fn: (s: T) => boolean): number { - let i = -1; - for (const v of s) { - i++; - if (fn(v)) { - return i; - } - } - return -1; -} - -export function isIterator(obj: unknown): obj is Iterable { - if (obj === null || obj === undefined) { - return false; - } - // deno-lint-ignore no-explicit-any - return typeof (obj as any)[Symbol.iterator] === "function"; -} - -export function isToken(s: string): boolean { - if (!s) { - return false; - } - return indexOf(s, isNotTokenChar) < 0; -} - -function isNotTokenChar(r: string): boolean { - return !isTokenChar(r); -} - -function isTokenChar(r: string): boolean { - const code = r.charCodeAt(0); - return code > 0x20 && code < 0x7f && !isTSpecial(r); -} - -export function isTSpecial(r: string): boolean { - return r[0] ? `()<>@,;:\\"/[]?=`.includes(r[0]) : false; -} - -const CHAR_CODE_SPACE = " ".charCodeAt(0); -const CHAR_CODE_TILDE = "~".charCodeAt(0); - -export function needsEncoding(s: string): boolean { - for (const b of s) { - const charCode = b.charCodeAt(0); - if ( - (charCode < CHAR_CODE_SPACE || charCode > CHAR_CODE_TILDE) && b !== "\t" - ) { - return true; - } - } - return false; -} diff --git a/package/src/deps/jsr.io/@std/media-types/1.1.0/content_type.ts b/package/src/deps/jsr.io/@std/media-types/1.1.0/content_type.ts deleted file mode 100644 index 452c634..0000000 --- a/package/src/deps/jsr.io/@std/media-types/1.1.0/content_type.ts +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -import { parseMediaType } from "./parse_media_type.js"; -import { getCharset } from "./get_charset.js"; -import { formatMediaType } from "./format_media_type.js"; -import type { db } from "./_db.js"; -import { typeByExtension } from "./type_by_extension.js"; - -/** MIME-types database. */ -export type DB = typeof db; -/** Maps content types to their corresponding file extensions. */ -export type ContentTypeToExtension = { - /** - * Maps each content type key to its corresponding file extension. - */ - [K in keyof DB]: DB[K] extends { "extensions": readonly string[] } - ? DB[K]["extensions"][number] - : never; -}; - -/** Known extension or type. Used in {@linkcode contentType}. */ -export type KnownExtensionOrType = - | keyof ContentTypeToExtension - | ContentTypeToExtension[keyof ContentTypeToExtension] - | `.${ContentTypeToExtension[keyof ContentTypeToExtension]}`; - -/** - * Returns the full `Content-Type` or `Content-Disposition` header value for the - * given extension or media type. - * - * The function will treat the `extensionOrType` as a media type when it - * contains a `/`, otherwise it will process it as an extension, with or without - * the leading `.`. - * - * Returns `undefined` if unable to resolve the media type. - * - * @typeParam T Type of the extension or media type to resolve. - * - * @param extensionOrType The extension or media type to resolve. - * - * @returns The full `Content-Type` or `Content-Disposition` header value, or - * `undefined` if unable to resolve the media type. - * - * @example Usage - * ```ts - * import { contentType } from "@std/media-types/content-type"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(contentType(".json"), "application/json; charset=UTF-8"); - * assertEquals(contentType("text/html"), "text/html; charset=UTF-8"); - * assertEquals(contentType("text/html; charset=UTF-8"), "text/html; charset=UTF-8"); - * assertEquals(contentType("txt"), "text/plain; charset=UTF-8"); - * assertEquals(contentType("foo"), undefined); - * assertEquals(contentType("file.json"), undefined); - * ``` - */ -export function contentType< - // Workaround to autocomplete for parameters: https://github.com/microsoft/TypeScript/issues/29729#issuecomment-567871939 - // deno-lint-ignore ban-types - T extends (string & {}) | KnownExtensionOrType, ->( - extensionOrType: T, -): Lowercase extends KnownExtensionOrType ? string : string | undefined { - try { - const [mediaType, params = {}] = extensionOrType.includes("/") - ? parseMediaType(extensionOrType) - : [typeByExtension(extensionOrType), undefined]; - if (!mediaType) { - return undefined as Lowercase extends KnownExtensionOrType ? string - : string | undefined; - } - if (!("charset" in params)) { - const charset = getCharset(mediaType); - if (charset) { - params.charset = charset; - } - } - return formatMediaType(mediaType, params); - } catch { - // just swallow returning undefined - } - return undefined as Lowercase extends KnownExtensionOrType ? string - : string | undefined; -} diff --git a/package/src/deps/jsr.io/@std/media-types/1.1.0/format_media_type.ts b/package/src/deps/jsr.io/@std/media-types/1.1.0/format_media_type.ts deleted file mode 100644 index ef21089..0000000 --- a/package/src/deps/jsr.io/@std/media-types/1.1.0/format_media_type.ts +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -import { isIterator, isToken, needsEncoding } from "./_util.js"; - -/** - * Serializes the media type and the optional parameters as a media type - * conforming to {@link https://www.rfc-editor.org/rfc/rfc2045.html | RFC 2045} and - * {@link https://www.rfc-editor.org/rfc/rfc2616.html | RFC 2616}. - * - * The type and parameter names are written in lower-case. - * - * When any of the arguments results in a standard violation then the return - * value will be an empty string (`""`). - * - * @param type The media type to serialize. - * @param param Optional parameters to serialize. - * - * @returns The serialized media type. - * - * @example Basic usage - * ```ts - * import { formatMediaType } from "@std/media-types/format-media-type"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(formatMediaType("text/plain"), "text/plain"); - * ``` - * - * @example With parameters - * ```ts - * import { formatMediaType } from "@std/media-types/format-media-type"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(formatMediaType("text/plain", { charset: "UTF-8" }), "text/plain; charset=UTF-8"); - * ``` - */ -export function formatMediaType( - type: string, - param?: Record | Iterable<[string, string]>, -): string { - let serializedMediaType = ""; - const [major = "", sub] = type.split("/"); - if (!sub) { - if (!isToken(type)) { - return ""; - } - serializedMediaType += type.toLowerCase(); - } else { - if (!isToken(major) || !isToken(sub)) { - return ""; - } - serializedMediaType += `${major.toLowerCase()}/${sub.toLowerCase()}`; - } - - if (param) { - param = isIterator(param) ? Object.fromEntries(param) : param; - const attrs = Object.keys(param); - attrs.sort(); - - for (const attribute of attrs) { - if (!isToken(attribute)) { - return ""; - } - const value = param[attribute]!; - serializedMediaType += `; ${attribute.toLowerCase()}`; - - const needEnc = needsEncoding(value); - if (needEnc) { - serializedMediaType += "*"; - } - serializedMediaType += "="; - - if (needEnc) { - serializedMediaType += `utf-8''${encodeURIComponent(value)}`; - continue; - } - - if (isToken(value)) { - serializedMediaType += value; - continue; - } - serializedMediaType += `"${value.replace(/["\\]/gi, (m) => `\\${m}`)}"`; - } - } - return serializedMediaType; -} diff --git a/package/src/deps/jsr.io/@std/media-types/1.1.0/get_charset.ts b/package/src/deps/jsr.io/@std/media-types/1.1.0/get_charset.ts deleted file mode 100644 index c61bfe1..0000000 --- a/package/src/deps/jsr.io/@std/media-types/1.1.0/get_charset.ts +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -import { parseMediaType } from "./parse_media_type.js"; -import type { DBEntry } from "./_util.js"; -import { db, type KeyOfDb } from "./_db.js"; - -/** - * Given a media type or header value, identify the encoding charset. If the - * charset cannot be determined, the function returns `undefined`. - * - * @param type The media type or header value to get the charset for. - * - * @returns The charset for the given media type or header value, or `undefined` - * if the charset cannot be determined. - * - * @example Usage - * ```ts - * import { getCharset } from "@std/media-types/get-charset"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(getCharset("text/plain"), "UTF-8"); - * assertEquals(getCharset("application/foo"), undefined); - * assertEquals(getCharset("application/news-checkgroups"), "US-ASCII"); - * assertEquals(getCharset("application/news-checkgroups; charset=UTF-8"), "UTF-8"); - * ``` - */ -export function getCharset(type: string): string | undefined { - try { - const [mediaType, params] = parseMediaType(type); - if (params?.charset) { - return params.charset; - } - const entry = db[mediaType as KeyOfDb] as DBEntry; - if (entry?.charset) { - return entry.charset; - } - if (mediaType.startsWith("text/")) { - return "UTF-8"; - } - } catch { - // just swallow errors, returning undefined - } - return undefined; -} diff --git a/package/src/deps/jsr.io/@std/media-types/1.1.0/parse_media_type.ts b/package/src/deps/jsr.io/@std/media-types/1.1.0/parse_media_type.ts deleted file mode 100644 index 0f770e4..0000000 --- a/package/src/deps/jsr.io/@std/media-types/1.1.0/parse_media_type.ts +++ /dev/null @@ -1,125 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -import { consumeMediaParam, decode2331Encoding } from "./_util.js"; - -const SEMICOLON_REGEXP = /^\s*;\s*$/; -/** - * Parses the media type and any optional parameters, per - * {@link https://www.rfc-editor.org/rfc/rfc1521.html | RFC 1521}. - * - * Media types are the values in `Content-Type` and `Content-Disposition` - * headers. On success the function returns a tuple where the first element is - * the media type and the second element is the optional parameters or - * `undefined` if there are none. - * - * The function will throw if the parsed value is invalid. - * - * The returned media type will be normalized to be lower case, and returned - * params keys will be normalized to lower case, but preserves the casing of - * the value. - * - * @param type The media type to parse. - * - * @returns A tuple where the first element is the media type and the second - * element is the optional parameters or `undefined` if there are none. - * - * @example Usage - * ```ts - * import { parseMediaType } from "@std/media-types/parse-media-type"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(parseMediaType("application/JSON"), ["application/json", undefined]); - * assertEquals(parseMediaType("text/html; charset=UTF-8"), ["text/html", { charset: "UTF-8" }]); - * ``` - */ -export function parseMediaType( - type: string, -): [mediaType: string, params: Record | undefined] { - const [base] = type.split(";") as [string]; - const mediaType = base.toLowerCase().trim(); - - const params: Record = {}; - // Map of base parameter name -> parameter name -> value - // for parameters containing a '*' character. - const continuation = new Map>(); - - type = type.slice(base.length); - while (type.length) { - type = type.trimStart(); - if (type.length === 0) { - break; - } - const [key, value, rest] = consumeMediaParam(type); - if (!key) { - if (SEMICOLON_REGEXP.test(rest)) { - // ignore trailing semicolons - break; - } - throw new TypeError( - `Cannot parse media type: invalid parameter "${type}"`, - ); - } - - let pmap = params; - const [baseName, rest2] = key.split("*"); - if (baseName && rest2 !== undefined) { - if (!continuation.has(baseName)) { - continuation.set(baseName, {}); - } - pmap = continuation.get(baseName)!; - } - if (key in pmap) { - throw new TypeError("Cannot parse media type: duplicate key"); - } - pmap[key] = value; - type = rest; - } - - // Stitch together any continuations or things with stars - // (i.e. RFC 2231 things with stars: "foo*0" or "foo*") - let str = ""; - for (const [key, pieceMap] of continuation) { - const singlePartKey = `${key}*`; - const type = pieceMap[singlePartKey]; - if (type) { - const decv = decode2331Encoding(type); - if (decv) { - params[key] = decv; - } - continue; - } - - str = ""; - let valid = false; - for (let n = 0;; n++) { - const simplePart = `${key}*${n}`; - let type = pieceMap[simplePart]; - if (type) { - valid = true; - str += type; - continue; - } - const encodedPart = `${simplePart}*`; - type = pieceMap[encodedPart]; - if (!type) { - break; - } - valid = true; - if (n === 0) { - const decv = decode2331Encoding(type); - if (decv) { - str += decv; - } - } else { - const decv = decodeURI(type); - str += decv; - } - } - if (valid) { - params[key] = str; - } - } - - return [mediaType, Object.keys(params).length ? params : undefined]; -} diff --git a/package/src/deps/jsr.io/@std/media-types/1.1.0/type_by_extension.ts b/package/src/deps/jsr.io/@std/media-types/1.1.0/type_by_extension.ts deleted file mode 100644 index a035140..0000000 --- a/package/src/deps/jsr.io/@std/media-types/1.1.0/type_by_extension.ts +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -import { types } from "./_db.js"; - -/** - * Returns the media type associated with the file extension, or `undefined` if - * no media type is found. - * - * Values are normalized to lower case and matched irrespective of a leading - * `.`. - * - * @param extension The file extension to get the media type for. - * - * @returns The media type associated with the file extension, or `undefined` if - * no media type is found. - * - * @example Usage - * ```ts - * import { typeByExtension } from "@std/media-types/type-by-extension"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(typeByExtension("js"), "text/javascript"); - * assertEquals(typeByExtension(".HTML"), "text/html"); - * assertEquals(typeByExtension("foo"), undefined); - * assertEquals(typeByExtension("file.json"), undefined); - * ``` - */ -export function typeByExtension(extension: string): string | undefined { - extension = extension.startsWith(".") ? extension.slice(1) : extension; - // @ts-ignore Work around https://github.com/denoland/dnt/issues/148 - return types.get(extension.toLowerCase()); -} diff --git a/package/src/deps/jsr.io/@std/media-types/1.1.0/vendor/db.ts b/package/src/deps/jsr.io/@std/media-types/1.1.0/vendor/db.ts deleted file mode 100644 index 8fc5a1d..0000000 --- a/package/src/deps/jsr.io/@std/media-types/1.1.0/vendor/db.ts +++ /dev/null @@ -1,9178 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -export default { - "application/1d-interleaved-parityfec": { - "source": "iana", - }, - "application/3gpdash-qoe-report+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/3gpp-ims+xml": { - "source": "iana", - "compressible": true, - }, - "application/3gpphal+json": { - "source": "iana", - "compressible": true, - }, - "application/3gpphalforms+json": { - "source": "iana", - "compressible": true, - }, - "application/a2l": { - "source": "iana", - }, - "application/ace+cbor": { - "source": "iana", - }, - "application/ace+json": { - "source": "iana", - "compressible": true, - }, - "application/ace-groupcomm+cbor": { - "source": "iana", - }, - "application/activemessage": { - "source": "iana", - }, - "application/activity+json": { - "source": "iana", - "compressible": true, - }, - "application/aif+cbor": { - "source": "iana", - }, - "application/aif+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-cdni+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-cdnifilter+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-costmap+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-costmapfilter+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-directory+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-endpointcost+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-endpointcostparams+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-endpointprop+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-endpointpropparams+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-error+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-networkmap+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-networkmapfilter+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-propmap+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-propmapparams+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-tips+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-tipsparams+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-updatestreamcontrol+json": { - "source": "iana", - "compressible": true, - }, - "application/alto-updatestreamparams+json": { - "source": "iana", - "compressible": true, - }, - "application/aml": { - "source": "iana", - }, - "application/andrew-inset": { - "source": "iana", - "extensions": ["ez"], - }, - "application/appinstaller": { - "compressible": false, - "extensions": ["appinstaller"], - }, - "application/applefile": { - "source": "iana", - }, - "application/applixware": { - "source": "apache", - "extensions": ["aw"], - }, - "application/appx": { - "compressible": false, - "extensions": ["appx"], - }, - "application/appxbundle": { - "compressible": false, - "extensions": ["appxbundle"], - }, - "application/at+jwt": { - "source": "iana", - }, - "application/atf": { - "source": "iana", - }, - "application/atfx": { - "source": "iana", - }, - "application/atom+xml": { - "source": "iana", - "compressible": true, - "extensions": ["atom"], - }, - "application/atomcat+xml": { - "source": "iana", - "compressible": true, - "extensions": ["atomcat"], - }, - "application/atomdeleted+xml": { - "source": "iana", - "compressible": true, - "extensions": ["atomdeleted"], - }, - "application/atomicmail": { - "source": "iana", - }, - "application/atomsvc+xml": { - "source": "iana", - "compressible": true, - "extensions": ["atomsvc"], - }, - "application/atsc-dwd+xml": { - "source": "iana", - "compressible": true, - "extensions": ["dwd"], - }, - "application/atsc-dynamic-event-message": { - "source": "iana", - }, - "application/atsc-held+xml": { - "source": "iana", - "compressible": true, - "extensions": ["held"], - }, - "application/atsc-rdt+json": { - "source": "iana", - "compressible": true, - }, - "application/atsc-rsat+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rsat"], - }, - "application/atxml": { - "source": "iana", - }, - "application/auth-policy+xml": { - "source": "iana", - "compressible": true, - }, - "application/automationml-aml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["aml"], - }, - "application/automationml-amlx+zip": { - "source": "iana", - "compressible": false, - "extensions": ["amlx"], - }, - "application/bacnet-xdd+zip": { - "source": "iana", - "compressible": false, - }, - "application/batch-smtp": { - "source": "iana", - }, - "application/bdoc": { - "compressible": false, - "extensions": ["bdoc"], - }, - "application/beep+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/bufr": { - "source": "iana", - }, - "application/c2pa": { - "source": "iana", - }, - "application/calendar+json": { - "source": "iana", - "compressible": true, - }, - "application/calendar+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xcs"], - }, - "application/call-completion": { - "source": "iana", - }, - "application/cals-1840": { - "source": "iana", - }, - "application/captive+json": { - "source": "iana", - "compressible": true, - }, - "application/cbor": { - "source": "iana", - }, - "application/cbor-seq": { - "source": "iana", - }, - "application/cccex": { - "source": "iana", - }, - "application/ccmp+xml": { - "source": "iana", - "compressible": true, - }, - "application/ccxml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["ccxml"], - }, - "application/cda+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/cdfx+xml": { - "source": "iana", - "compressible": true, - "extensions": ["cdfx"], - }, - "application/cdmi-capability": { - "source": "iana", - "extensions": ["cdmia"], - }, - "application/cdmi-container": { - "source": "iana", - "extensions": ["cdmic"], - }, - "application/cdmi-domain": { - "source": "iana", - "extensions": ["cdmid"], - }, - "application/cdmi-object": { - "source": "iana", - "extensions": ["cdmio"], - }, - "application/cdmi-queue": { - "source": "iana", - "extensions": ["cdmiq"], - }, - "application/cdni": { - "source": "iana", - }, - "application/cea": { - "source": "iana", - }, - "application/cea-2018+xml": { - "source": "iana", - "compressible": true, - }, - "application/cellml+xml": { - "source": "iana", - "compressible": true, - }, - "application/cfw": { - "source": "iana", - }, - "application/cid-edhoc+cbor-seq": { - "source": "iana", - }, - "application/city+json": { - "source": "iana", - "compressible": true, - }, - "application/clr": { - "source": "iana", - }, - "application/clue+xml": { - "source": "iana", - "compressible": true, - }, - "application/clue_info+xml": { - "source": "iana", - "compressible": true, - }, - "application/cms": { - "source": "iana", - }, - "application/cnrp+xml": { - "source": "iana", - "compressible": true, - }, - "application/coap-group+json": { - "source": "iana", - "compressible": true, - }, - "application/coap-payload": { - "source": "iana", - }, - "application/commonground": { - "source": "iana", - }, - "application/concise-problem-details+cbor": { - "source": "iana", - }, - "application/conference-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/cose": { - "source": "iana", - }, - "application/cose-key": { - "source": "iana", - }, - "application/cose-key-set": { - "source": "iana", - }, - "application/cose-x509": { - "source": "iana", - }, - "application/cpl+xml": { - "source": "iana", - "compressible": true, - "extensions": ["cpl"], - }, - "application/csrattrs": { - "source": "iana", - }, - "application/csta+xml": { - "source": "iana", - "compressible": true, - }, - "application/cstadata+xml": { - "source": "iana", - "compressible": true, - }, - "application/csvm+json": { - "source": "iana", - "compressible": true, - }, - "application/cu-seeme": { - "source": "apache", - "extensions": ["cu"], - }, - "application/cwl": { - "source": "iana", - "extensions": ["cwl"], - }, - "application/cwl+json": { - "source": "iana", - "compressible": true, - }, - "application/cwl+yaml": { - "source": "iana", - }, - "application/cwt": { - "source": "iana", - }, - "application/cybercash": { - "source": "iana", - }, - "application/dart": { - "compressible": true, - }, - "application/dash+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mpd"], - }, - "application/dash-patch+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mpp"], - }, - "application/dashdelta": { - "source": "iana", - }, - "application/davmount+xml": { - "source": "iana", - "compressible": true, - "extensions": ["davmount"], - }, - "application/dca-rft": { - "source": "iana", - }, - "application/dcd": { - "source": "iana", - }, - "application/dec-dx": { - "source": "iana", - }, - "application/dialog-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/dicom": { - "source": "iana", - }, - "application/dicom+json": { - "source": "iana", - "compressible": true, - }, - "application/dicom+xml": { - "source": "iana", - "compressible": true, - }, - "application/dii": { - "source": "iana", - }, - "application/dit": { - "source": "iana", - }, - "application/dns": { - "source": "iana", - }, - "application/dns+json": { - "source": "iana", - "compressible": true, - }, - "application/dns-message": { - "source": "iana", - }, - "application/docbook+xml": { - "source": "apache", - "compressible": true, - "extensions": ["dbk"], - }, - "application/dots+cbor": { - "source": "iana", - }, - "application/dpop+jwt": { - "source": "iana", - }, - "application/dskpp+xml": { - "source": "iana", - "compressible": true, - }, - "application/dssc+der": { - "source": "iana", - "extensions": ["dssc"], - }, - "application/dssc+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xdssc"], - }, - "application/dvcs": { - "source": "iana", - }, - "application/ecmascript": { - "source": "apache", - "compressible": true, - "extensions": ["ecma"], - }, - "application/edhoc+cbor-seq": { - "source": "iana", - }, - "application/edi-consent": { - "source": "iana", - }, - "application/edi-x12": { - "source": "iana", - "compressible": false, - }, - "application/edifact": { - "source": "iana", - "compressible": false, - }, - "application/efi": { - "source": "iana", - }, - "application/elm+json": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/elm+xml": { - "source": "iana", - "compressible": true, - }, - "application/emergencycalldata.cap+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/emergencycalldata.comment+xml": { - "source": "iana", - "compressible": true, - }, - "application/emergencycalldata.control+xml": { - "source": "iana", - "compressible": true, - }, - "application/emergencycalldata.deviceinfo+xml": { - "source": "iana", - "compressible": true, - }, - "application/emergencycalldata.ecall.msd": { - "source": "iana", - }, - "application/emergencycalldata.legacyesn+json": { - "source": "iana", - "compressible": true, - }, - "application/emergencycalldata.providerinfo+xml": { - "source": "iana", - "compressible": true, - }, - "application/emergencycalldata.serviceinfo+xml": { - "source": "iana", - "compressible": true, - }, - "application/emergencycalldata.subscriberinfo+xml": { - "source": "iana", - "compressible": true, - }, - "application/emergencycalldata.veds+xml": { - "source": "iana", - "compressible": true, - }, - "application/emma+xml": { - "source": "iana", - "compressible": true, - "extensions": ["emma"], - }, - "application/emotionml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["emotionml"], - }, - "application/encaprtp": { - "source": "iana", - }, - "application/epp+xml": { - "source": "iana", - "compressible": true, - }, - "application/epub+zip": { - "source": "iana", - "compressible": false, - "extensions": ["epub"], - }, - "application/eshop": { - "source": "iana", - }, - "application/exi": { - "source": "iana", - "extensions": ["exi"], - }, - "application/expect-ct-report+json": { - "source": "iana", - "compressible": true, - }, - "application/express": { - "source": "iana", - "extensions": ["exp"], - }, - "application/fastinfoset": { - "source": "iana", - }, - "application/fastsoap": { - "source": "iana", - }, - "application/fdf": { - "source": "iana", - "extensions": ["fdf"], - }, - "application/fdt+xml": { - "source": "iana", - "compressible": true, - "extensions": ["fdt"], - }, - "application/fhir+json": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/fhir+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/fido.trusted-apps+json": { - "compressible": true, - }, - "application/fits": { - "source": "iana", - }, - "application/flexfec": { - "source": "iana", - }, - "application/font-sfnt": { - "source": "iana", - }, - "application/font-tdpfr": { - "source": "iana", - "extensions": ["pfr"], - }, - "application/font-woff": { - "source": "iana", - "compressible": false, - }, - "application/framework-attributes+xml": { - "source": "iana", - "compressible": true, - }, - "application/geo+json": { - "source": "iana", - "compressible": true, - "extensions": ["geojson"], - }, - "application/geo+json-seq": { - "source": "iana", - }, - "application/geopackage+sqlite3": { - "source": "iana", - }, - "application/geoxacml+json": { - "source": "iana", - "compressible": true, - }, - "application/geoxacml+xml": { - "source": "iana", - "compressible": true, - }, - "application/gltf-buffer": { - "source": "iana", - }, - "application/gml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["gml"], - }, - "application/gnap-binding-jws": { - "source": "iana", - }, - "application/gnap-binding-jwsd": { - "source": "iana", - }, - "application/gnap-binding-rotation-jws": { - "source": "iana", - }, - "application/gnap-binding-rotation-jwsd": { - "source": "iana", - }, - "application/gpx+xml": { - "source": "apache", - "compressible": true, - "extensions": ["gpx"], - }, - "application/grib": { - "source": "iana", - }, - "application/gxf": { - "source": "apache", - "extensions": ["gxf"], - }, - "application/gzip": { - "source": "iana", - "compressible": false, - "extensions": ["gz"], - }, - "application/h224": { - "source": "iana", - }, - "application/held+xml": { - "source": "iana", - "compressible": true, - }, - "application/hjson": { - "extensions": ["hjson"], - }, - "application/hl7v2+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/http": { - "source": "iana", - }, - "application/hyperstudio": { - "source": "iana", - "extensions": ["stk"], - }, - "application/ibe-key-request+xml": { - "source": "iana", - "compressible": true, - }, - "application/ibe-pkg-reply+xml": { - "source": "iana", - "compressible": true, - }, - "application/ibe-pp-data": { - "source": "iana", - }, - "application/iges": { - "source": "iana", - }, - "application/im-iscomposing+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/index": { - "source": "iana", - }, - "application/index.cmd": { - "source": "iana", - }, - "application/index.obj": { - "source": "iana", - }, - "application/index.response": { - "source": "iana", - }, - "application/index.vnd": { - "source": "iana", - }, - "application/inkml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["ink", "inkml"], - }, - "application/iotp": { - "source": "iana", - }, - "application/ipfix": { - "source": "iana", - "extensions": ["ipfix"], - }, - "application/ipp": { - "source": "iana", - }, - "application/isup": { - "source": "iana", - }, - "application/its+xml": { - "source": "iana", - "compressible": true, - "extensions": ["its"], - }, - "application/java-archive": { - "source": "iana", - "compressible": false, - "extensions": ["jar", "war", "ear"], - }, - "application/java-serialized-object": { - "source": "apache", - "compressible": false, - "extensions": ["ser"], - }, - "application/java-vm": { - "source": "apache", - "compressible": false, - "extensions": ["class"], - }, - "application/javascript": { - "source": "apache", - "charset": "UTF-8", - "compressible": true, - "extensions": ["js"], - }, - "application/jf2feed+json": { - "source": "iana", - "compressible": true, - }, - "application/jose": { - "source": "iana", - }, - "application/jose+json": { - "source": "iana", - "compressible": true, - }, - "application/jrd+json": { - "source": "iana", - "compressible": true, - }, - "application/jscalendar+json": { - "source": "iana", - "compressible": true, - }, - "application/jscontact+json": { - "source": "iana", - "compressible": true, - }, - "application/json": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["json", "map"], - }, - "application/json-patch+json": { - "source": "iana", - "compressible": true, - }, - "application/json-seq": { - "source": "iana", - }, - "application/json5": { - "extensions": ["json5"], - }, - "application/jsonml+json": { - "source": "apache", - "compressible": true, - "extensions": ["jsonml"], - }, - "application/jsonpath": { - "source": "iana", - }, - "application/jwk+json": { - "source": "iana", - "compressible": true, - }, - "application/jwk-set+json": { - "source": "iana", - "compressible": true, - }, - "application/jwt": { - "source": "iana", - }, - "application/kpml-request+xml": { - "source": "iana", - "compressible": true, - }, - "application/kpml-response+xml": { - "source": "iana", - "compressible": true, - }, - "application/ld+json": { - "source": "iana", - "compressible": true, - "extensions": ["jsonld"], - }, - "application/lgr+xml": { - "source": "iana", - "compressible": true, - "extensions": ["lgr"], - }, - "application/link-format": { - "source": "iana", - }, - "application/linkset": { - "source": "iana", - }, - "application/linkset+json": { - "source": "iana", - "compressible": true, - }, - "application/load-control+xml": { - "source": "iana", - "compressible": true, - }, - "application/logout+jwt": { - "source": "iana", - }, - "application/lost+xml": { - "source": "iana", - "compressible": true, - "extensions": ["lostxml"], - }, - "application/lostsync+xml": { - "source": "iana", - "compressible": true, - }, - "application/lpf+zip": { - "source": "iana", - "compressible": false, - }, - "application/lxf": { - "source": "iana", - }, - "application/mac-binhex40": { - "source": "iana", - "extensions": ["hqx"], - }, - "application/mac-compactpro": { - "source": "apache", - "extensions": ["cpt"], - }, - "application/macwriteii": { - "source": "iana", - }, - "application/mads+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mads"], - }, - "application/manifest+json": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["webmanifest"], - }, - "application/marc": { - "source": "iana", - "extensions": ["mrc"], - }, - "application/marcxml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mrcx"], - }, - "application/mathematica": { - "source": "iana", - "extensions": ["ma", "nb", "mb"], - }, - "application/mathml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mathml"], - }, - "application/mathml-content+xml": { - "source": "iana", - "compressible": true, - }, - "application/mathml-presentation+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-associated-procedure-description+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-deregister+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-envelope+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-msk+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-msk-response+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-protection-description+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-reception-report+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-register+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-register-response+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-schedule+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbms-user-service-description+xml": { - "source": "iana", - "compressible": true, - }, - "application/mbox": { - "source": "iana", - "extensions": ["mbox"], - }, - "application/media-policy-dataset+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mpf"], - }, - "application/media_control+xml": { - "source": "iana", - "compressible": true, - }, - "application/mediaservercontrol+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mscml"], - }, - "application/merge-patch+json": { - "source": "iana", - "compressible": true, - }, - "application/metalink+xml": { - "source": "apache", - "compressible": true, - "extensions": ["metalink"], - }, - "application/metalink4+xml": { - "source": "iana", - "compressible": true, - "extensions": ["meta4"], - }, - "application/mets+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mets"], - }, - "application/mf4": { - "source": "iana", - }, - "application/mikey": { - "source": "iana", - }, - "application/mipc": { - "source": "iana", - }, - "application/missing-blocks+cbor-seq": { - "source": "iana", - }, - "application/mmt-aei+xml": { - "source": "iana", - "compressible": true, - "extensions": ["maei"], - }, - "application/mmt-usd+xml": { - "source": "iana", - "compressible": true, - "extensions": ["musd"], - }, - "application/mods+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mods"], - }, - "application/moss-keys": { - "source": "iana", - }, - "application/moss-signature": { - "source": "iana", - }, - "application/mosskey-data": { - "source": "iana", - }, - "application/mosskey-request": { - "source": "iana", - }, - "application/mp21": { - "source": "iana", - "extensions": ["m21", "mp21"], - }, - "application/mp4": { - "source": "iana", - "extensions": ["mp4", "mpg4", "mp4s", "m4p"], - }, - "application/mpeg4-generic": { - "source": "iana", - }, - "application/mpeg4-iod": { - "source": "iana", - }, - "application/mpeg4-iod-xmt": { - "source": "iana", - }, - "application/mrb-consumer+xml": { - "source": "iana", - "compressible": true, - }, - "application/mrb-publish+xml": { - "source": "iana", - "compressible": true, - }, - "application/msc-ivr+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/msc-mixer+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/msix": { - "compressible": false, - "extensions": ["msix"], - }, - "application/msixbundle": { - "compressible": false, - "extensions": ["msixbundle"], - }, - "application/msword": { - "source": "iana", - "compressible": false, - "extensions": ["doc", "dot"], - }, - "application/mud+json": { - "source": "iana", - "compressible": true, - }, - "application/multipart-core": { - "source": "iana", - }, - "application/mxf": { - "source": "iana", - "extensions": ["mxf"], - }, - "application/n-quads": { - "source": "iana", - "extensions": ["nq"], - }, - "application/n-triples": { - "source": "iana", - "extensions": ["nt"], - }, - "application/nasdata": { - "source": "iana", - }, - "application/news-checkgroups": { - "source": "iana", - "charset": "US-ASCII", - }, - "application/news-groupinfo": { - "source": "iana", - "charset": "US-ASCII", - }, - "application/news-transmission": { - "source": "iana", - }, - "application/nlsml+xml": { - "source": "iana", - "compressible": true, - }, - "application/node": { - "source": "iana", - "extensions": ["cjs"], - }, - "application/nss": { - "source": "iana", - }, - "application/oauth-authz-req+jwt": { - "source": "iana", - }, - "application/oblivious-dns-message": { - "source": "iana", - }, - "application/ocsp-request": { - "source": "iana", - }, - "application/ocsp-response": { - "source": "iana", - }, - "application/octet-stream": { - "source": "iana", - "compressible": false, - "extensions": [ - "bin", - "dms", - "lrf", - "mar", - "so", - "dist", - "distz", - "pkg", - "bpk", - "dump", - "elc", - "deploy", - "exe", - "dll", - "deb", - "dmg", - "iso", - "img", - "msi", - "msp", - "msm", - "buffer", - ], - }, - "application/oda": { - "source": "iana", - "extensions": ["oda"], - }, - "application/odm+xml": { - "source": "iana", - "compressible": true, - }, - "application/odx": { - "source": "iana", - }, - "application/oebps-package+xml": { - "source": "iana", - "compressible": true, - "extensions": ["opf"], - }, - "application/ogg": { - "source": "iana", - "compressible": false, - "extensions": ["ogx"], - }, - "application/ohttp-keys": { - "source": "iana", - }, - "application/omdoc+xml": { - "source": "apache", - "compressible": true, - "extensions": ["omdoc"], - }, - "application/onenote": { - "source": "apache", - "extensions": ["onetoc", "onetoc2", "onetmp", "onepkg"], - }, - "application/opc-nodeset+xml": { - "source": "iana", - "compressible": true, - }, - "application/oscore": { - "source": "iana", - }, - "application/oxps": { - "source": "iana", - "extensions": ["oxps"], - }, - "application/p21": { - "source": "iana", - }, - "application/p21+zip": { - "source": "iana", - "compressible": false, - }, - "application/p2p-overlay+xml": { - "source": "iana", - "compressible": true, - "extensions": ["relo"], - }, - "application/parityfec": { - "source": "iana", - }, - "application/passport": { - "source": "iana", - }, - "application/patch-ops-error+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xer"], - }, - "application/pdf": { - "source": "iana", - "compressible": false, - "extensions": ["pdf"], - }, - "application/pdx": { - "source": "iana", - }, - "application/pem-certificate-chain": { - "source": "iana", - }, - "application/pgp-encrypted": { - "source": "iana", - "compressible": false, - "extensions": ["pgp"], - }, - "application/pgp-keys": { - "source": "iana", - "extensions": ["asc"], - }, - "application/pgp-signature": { - "source": "iana", - "extensions": ["sig", "asc"], - }, - "application/pics-rules": { - "source": "apache", - "extensions": ["prf"], - }, - "application/pidf+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/pidf-diff+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/pkcs10": { - "source": "iana", - "extensions": ["p10"], - }, - "application/pkcs12": { - "source": "iana", - }, - "application/pkcs7-mime": { - "source": "iana", - "extensions": ["p7m", "p7c"], - }, - "application/pkcs7-signature": { - "source": "iana", - "extensions": ["p7s"], - }, - "application/pkcs8": { - "source": "iana", - "extensions": ["p8"], - }, - "application/pkcs8-encrypted": { - "source": "iana", - }, - "application/pkix-attr-cert": { - "source": "iana", - "extensions": ["ac"], - }, - "application/pkix-cert": { - "source": "iana", - "extensions": ["cer"], - }, - "application/pkix-crl": { - "source": "iana", - "extensions": ["crl"], - }, - "application/pkix-pkipath": { - "source": "iana", - "extensions": ["pkipath"], - }, - "application/pkixcmp": { - "source": "iana", - "extensions": ["pki"], - }, - "application/pls+xml": { - "source": "iana", - "compressible": true, - "extensions": ["pls"], - }, - "application/poc-settings+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/postscript": { - "source": "iana", - "compressible": true, - "extensions": ["ai", "eps", "ps"], - }, - "application/ppsp-tracker+json": { - "source": "iana", - "compressible": true, - }, - "application/private-token-issuer-directory": { - "source": "iana", - }, - "application/private-token-request": { - "source": "iana", - }, - "application/private-token-response": { - "source": "iana", - }, - "application/problem+json": { - "source": "iana", - "compressible": true, - }, - "application/problem+xml": { - "source": "iana", - "compressible": true, - }, - "application/provenance+xml": { - "source": "iana", - "compressible": true, - "extensions": ["provx"], - }, - "application/prs.alvestrand.titrax-sheet": { - "source": "iana", - }, - "application/prs.cww": { - "source": "iana", - "extensions": ["cww"], - }, - "application/prs.cyn": { - "source": "iana", - "charset": "7-BIT", - }, - "application/prs.hpub+zip": { - "source": "iana", - "compressible": false, - }, - "application/prs.implied-document+xml": { - "source": "iana", - "compressible": true, - }, - "application/prs.implied-executable": { - "source": "iana", - }, - "application/prs.implied-object+json": { - "source": "iana", - "compressible": true, - }, - "application/prs.implied-object+json-seq": { - "source": "iana", - }, - "application/prs.implied-object+yaml": { - "source": "iana", - }, - "application/prs.implied-structure": { - "source": "iana", - }, - "application/prs.nprend": { - "source": "iana", - }, - "application/prs.plucker": { - "source": "iana", - }, - "application/prs.rdf-xml-crypt": { - "source": "iana", - }, - "application/prs.vcfbzip2": { - "source": "iana", - }, - "application/prs.xsf+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xsf"], - }, - "application/pskc+xml": { - "source": "iana", - "compressible": true, - "extensions": ["pskcxml"], - }, - "application/pvd+json": { - "source": "iana", - "compressible": true, - }, - "application/qsig": { - "source": "iana", - }, - "application/raml+yaml": { - "compressible": true, - "extensions": ["raml"], - }, - "application/raptorfec": { - "source": "iana", - }, - "application/rdap+json": { - "source": "iana", - "compressible": true, - }, - "application/rdf+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rdf", "owl"], - }, - "application/reginfo+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rif"], - }, - "application/relax-ng-compact-syntax": { - "source": "iana", - "extensions": ["rnc"], - }, - "application/remote-printing": { - "source": "apache", - }, - "application/reputon+json": { - "source": "iana", - "compressible": true, - }, - "application/resource-lists+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rl"], - }, - "application/resource-lists-diff+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rld"], - }, - "application/rfc+xml": { - "source": "iana", - "compressible": true, - }, - "application/riscos": { - "source": "iana", - }, - "application/rlmi+xml": { - "source": "iana", - "compressible": true, - }, - "application/rls-services+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rs"], - }, - "application/route-apd+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rapd"], - }, - "application/route-s-tsid+xml": { - "source": "iana", - "compressible": true, - "extensions": ["sls"], - }, - "application/route-usd+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rusd"], - }, - "application/rpki-checklist": { - "source": "iana", - }, - "application/rpki-ghostbusters": { - "source": "iana", - "extensions": ["gbr"], - }, - "application/rpki-manifest": { - "source": "iana", - "extensions": ["mft"], - }, - "application/rpki-publication": { - "source": "iana", - }, - "application/rpki-roa": { - "source": "iana", - "extensions": ["roa"], - }, - "application/rpki-signed-tal": { - "source": "iana", - }, - "application/rpki-updown": { - "source": "iana", - }, - "application/rsd+xml": { - "source": "apache", - "compressible": true, - "extensions": ["rsd"], - }, - "application/rss+xml": { - "source": "apache", - "compressible": true, - "extensions": ["rss"], - }, - "application/rtf": { - "source": "iana", - "compressible": true, - "extensions": ["rtf"], - }, - "application/rtploopback": { - "source": "iana", - }, - "application/rtx": { - "source": "iana", - }, - "application/samlassertion+xml": { - "source": "iana", - "compressible": true, - }, - "application/samlmetadata+xml": { - "source": "iana", - "compressible": true, - }, - "application/sarif+json": { - "source": "iana", - "compressible": true, - }, - "application/sarif-external-properties+json": { - "source": "iana", - "compressible": true, - }, - "application/sbe": { - "source": "iana", - }, - "application/sbml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["sbml"], - }, - "application/scaip+xml": { - "source": "iana", - "compressible": true, - }, - "application/scim+json": { - "source": "iana", - "compressible": true, - }, - "application/scvp-cv-request": { - "source": "iana", - "extensions": ["scq"], - }, - "application/scvp-cv-response": { - "source": "iana", - "extensions": ["scs"], - }, - "application/scvp-vp-request": { - "source": "iana", - "extensions": ["spq"], - }, - "application/scvp-vp-response": { - "source": "iana", - "extensions": ["spp"], - }, - "application/sdp": { - "source": "iana", - "extensions": ["sdp"], - }, - "application/secevent+jwt": { - "source": "iana", - }, - "application/senml+cbor": { - "source": "iana", - }, - "application/senml+json": { - "source": "iana", - "compressible": true, - }, - "application/senml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["senmlx"], - }, - "application/senml-etch+cbor": { - "source": "iana", - }, - "application/senml-etch+json": { - "source": "iana", - "compressible": true, - }, - "application/senml-exi": { - "source": "iana", - }, - "application/sensml+cbor": { - "source": "iana", - }, - "application/sensml+json": { - "source": "iana", - "compressible": true, - }, - "application/sensml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["sensmlx"], - }, - "application/sensml-exi": { - "source": "iana", - }, - "application/sep+xml": { - "source": "iana", - "compressible": true, - }, - "application/sep-exi": { - "source": "iana", - }, - "application/session-info": { - "source": "iana", - }, - "application/set-payment": { - "source": "iana", - }, - "application/set-payment-initiation": { - "source": "iana", - "extensions": ["setpay"], - }, - "application/set-registration": { - "source": "iana", - }, - "application/set-registration-initiation": { - "source": "iana", - "extensions": ["setreg"], - }, - "application/sgml": { - "source": "iana", - }, - "application/sgml-open-catalog": { - "source": "iana", - }, - "application/shf+xml": { - "source": "iana", - "compressible": true, - "extensions": ["shf"], - }, - "application/sieve": { - "source": "iana", - "extensions": ["siv", "sieve"], - }, - "application/simple-filter+xml": { - "source": "iana", - "compressible": true, - }, - "application/simple-message-summary": { - "source": "iana", - }, - "application/simplesymbolcontainer": { - "source": "iana", - }, - "application/sipc": { - "source": "iana", - }, - "application/slate": { - "source": "iana", - }, - "application/smil": { - "source": "apache", - }, - "application/smil+xml": { - "source": "iana", - "compressible": true, - "extensions": ["smi", "smil"], - }, - "application/smpte336m": { - "source": "iana", - }, - "application/soap+fastinfoset": { - "source": "iana", - }, - "application/soap+xml": { - "source": "iana", - "compressible": true, - }, - "application/sparql-query": { - "source": "iana", - "extensions": ["rq"], - }, - "application/sparql-results+xml": { - "source": "iana", - "compressible": true, - "extensions": ["srx"], - }, - "application/spdx+json": { - "source": "iana", - "compressible": true, - }, - "application/spirits-event+xml": { - "source": "iana", - "compressible": true, - }, - "application/sql": { - "source": "iana", - "extensions": ["sql"], - }, - "application/srgs": { - "source": "iana", - "extensions": ["gram"], - }, - "application/srgs+xml": { - "source": "iana", - "compressible": true, - "extensions": ["grxml"], - }, - "application/sru+xml": { - "source": "iana", - "compressible": true, - "extensions": ["sru"], - }, - "application/ssdl+xml": { - "source": "apache", - "compressible": true, - "extensions": ["ssdl"], - }, - "application/ssml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["ssml"], - }, - "application/st2110-41": { - "source": "iana", - }, - "application/stix+json": { - "source": "iana", - "compressible": true, - }, - "application/stratum": { - "source": "iana", - }, - "application/swid+cbor": { - "source": "iana", - }, - "application/swid+xml": { - "source": "iana", - "compressible": true, - "extensions": ["swidtag"], - }, - "application/tamp-apex-update": { - "source": "iana", - }, - "application/tamp-apex-update-confirm": { - "source": "iana", - }, - "application/tamp-community-update": { - "source": "iana", - }, - "application/tamp-community-update-confirm": { - "source": "iana", - }, - "application/tamp-error": { - "source": "iana", - }, - "application/tamp-sequence-adjust": { - "source": "iana", - }, - "application/tamp-sequence-adjust-confirm": { - "source": "iana", - }, - "application/tamp-status-query": { - "source": "iana", - }, - "application/tamp-status-response": { - "source": "iana", - }, - "application/tamp-update": { - "source": "iana", - }, - "application/tamp-update-confirm": { - "source": "iana", - }, - "application/tar": { - "compressible": true, - }, - "application/taxii+json": { - "source": "iana", - "compressible": true, - }, - "application/td+json": { - "source": "iana", - "compressible": true, - }, - "application/tei+xml": { - "source": "iana", - "compressible": true, - "extensions": ["tei", "teicorpus"], - }, - "application/tetra_isi": { - "source": "iana", - }, - "application/thraud+xml": { - "source": "iana", - "compressible": true, - "extensions": ["tfi"], - }, - "application/timestamp-query": { - "source": "iana", - }, - "application/timestamp-reply": { - "source": "iana", - }, - "application/timestamped-data": { - "source": "iana", - "extensions": ["tsd"], - }, - "application/tlsrpt+gzip": { - "source": "iana", - }, - "application/tlsrpt+json": { - "source": "iana", - "compressible": true, - }, - "application/tm+json": { - "source": "iana", - "compressible": true, - }, - "application/tnauthlist": { - "source": "iana", - }, - "application/token-introspection+jwt": { - "source": "iana", - }, - "application/toml": { - "compressible": true, - "extensions": ["toml"], - }, - "application/trickle-ice-sdpfrag": { - "source": "iana", - }, - "application/trig": { - "source": "iana", - "extensions": ["trig"], - }, - "application/ttml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["ttml"], - }, - "application/tve-trigger": { - "source": "iana", - }, - "application/tzif": { - "source": "iana", - }, - "application/tzif-leap": { - "source": "iana", - }, - "application/ubjson": { - "compressible": false, - "extensions": ["ubj"], - }, - "application/ulpfec": { - "source": "iana", - }, - "application/urc-grpsheet+xml": { - "source": "iana", - "compressible": true, - }, - "application/urc-ressheet+xml": { - "source": "iana", - "compressible": true, - "extensions": ["rsheet"], - }, - "application/urc-targetdesc+xml": { - "source": "iana", - "compressible": true, - "extensions": ["td"], - }, - "application/urc-uisocketdesc+xml": { - "source": "iana", - "compressible": true, - }, - "application/vc": { - "source": "iana", - }, - "application/vcard+json": { - "source": "iana", - "compressible": true, - }, - "application/vcard+xml": { - "source": "iana", - "compressible": true, - }, - "application/vemmi": { - "source": "iana", - }, - "application/vividence.scriptfile": { - "source": "apache", - }, - "application/vnd.1000minds.decision-model+xml": { - "source": "iana", - "compressible": true, - "extensions": ["1km"], - }, - "application/vnd.1ob": { - "source": "iana", - }, - "application/vnd.3gpp-prose+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp-prose-pc3a+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp-prose-pc3ach+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp-prose-pc3ch+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp-prose-pc8+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp-v2x-local-service-information": { - "source": "iana", - }, - "application/vnd.3gpp.5gnas": { - "source": "iana", - }, - "application/vnd.3gpp.5gsa2x": { - "source": "iana", - }, - "application/vnd.3gpp.5gsa2x-local-service-information": { - "source": "iana", - }, - "application/vnd.3gpp.access-transfer-events+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.bsf+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.crs+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.current-location-discovery+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.gmop+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.gtpc": { - "source": "iana", - }, - "application/vnd.3gpp.interworking-data": { - "source": "iana", - }, - "application/vnd.3gpp.lpp": { - "source": "iana", - }, - "application/vnd.3gpp.mc-signalling-ear": { - "source": "iana", - }, - "application/vnd.3gpp.mcdata-affiliation-command+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcdata-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcdata-msgstore-ctrl-request+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcdata-payload": { - "source": "iana", - }, - "application/vnd.3gpp.mcdata-regroup+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcdata-service-config+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcdata-signalling": { - "source": "iana", - }, - "application/vnd.3gpp.mcdata-ue-config+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcdata-user-profile+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-affiliation-command+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-floor-request+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-location-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-mbms-usage-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-regroup+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-service-config+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-signed+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-ue-config+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-ue-init-config+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcptt-user-profile+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-affiliation-command+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-location-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-mbms-usage-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-regroup+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-service-config+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-transmission-request+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-ue-config+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mcvideo-user-profile+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.mid-call+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.ngap": { - "source": "iana", - }, - "application/vnd.3gpp.pfcp": { - "source": "iana", - }, - "application/vnd.3gpp.pic-bw-large": { - "source": "iana", - "extensions": ["plb"], - }, - "application/vnd.3gpp.pic-bw-small": { - "source": "iana", - "extensions": ["psb"], - }, - "application/vnd.3gpp.pic-bw-var": { - "source": "iana", - "extensions": ["pvb"], - }, - "application/vnd.3gpp.pinapp-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.s1ap": { - "source": "iana", - }, - "application/vnd.3gpp.seal-group-doc+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.seal-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.seal-location-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.seal-mbms-usage-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.seal-network-qos-management-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.seal-ue-config-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.seal-unicast-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.seal-user-profile-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.sms": { - "source": "iana", - }, - "application/vnd.3gpp.sms+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.srvcc-ext+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.srvcc-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.state-and-event-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.ussd+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp.v2x": { - "source": "iana", - }, - "application/vnd.3gpp.vae-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp2.bcmcsinfo+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.3gpp2.sms": { - "source": "iana", - }, - "application/vnd.3gpp2.tcap": { - "source": "iana", - "extensions": ["tcap"], - }, - "application/vnd.3lightssoftware.imagescal": { - "source": "iana", - }, - "application/vnd.3m.post-it-notes": { - "source": "iana", - "extensions": ["pwn"], - }, - "application/vnd.accpac.simply.aso": { - "source": "iana", - "extensions": ["aso"], - }, - "application/vnd.accpac.simply.imp": { - "source": "iana", - "extensions": ["imp"], - }, - "application/vnd.acm.addressxfer+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.acm.chatbot+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.acucobol": { - "source": "iana", - "extensions": ["acu"], - }, - "application/vnd.acucorp": { - "source": "iana", - "extensions": ["atc", "acutc"], - }, - "application/vnd.adobe.air-application-installer-package+zip": { - "source": "apache", - "compressible": false, - "extensions": ["air"], - }, - "application/vnd.adobe.flash.movie": { - "source": "iana", - }, - "application/vnd.adobe.formscentral.fcdt": { - "source": "iana", - "extensions": ["fcdt"], - }, - "application/vnd.adobe.fxp": { - "source": "iana", - "extensions": ["fxp", "fxpl"], - }, - "application/vnd.adobe.partial-upload": { - "source": "iana", - }, - "application/vnd.adobe.xdp+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xdp"], - }, - "application/vnd.adobe.xfdf": { - "source": "apache", - "extensions": ["xfdf"], - }, - "application/vnd.aether.imp": { - "source": "iana", - }, - "application/vnd.afpc.afplinedata": { - "source": "iana", - }, - "application/vnd.afpc.afplinedata-pagedef": { - "source": "iana", - }, - "application/vnd.afpc.cmoca-cmresource": { - "source": "iana", - }, - "application/vnd.afpc.foca-charset": { - "source": "iana", - }, - "application/vnd.afpc.foca-codedfont": { - "source": "iana", - }, - "application/vnd.afpc.foca-codepage": { - "source": "iana", - }, - "application/vnd.afpc.modca": { - "source": "iana", - }, - "application/vnd.afpc.modca-cmtable": { - "source": "iana", - }, - "application/vnd.afpc.modca-formdef": { - "source": "iana", - }, - "application/vnd.afpc.modca-mediummap": { - "source": "iana", - }, - "application/vnd.afpc.modca-objectcontainer": { - "source": "iana", - }, - "application/vnd.afpc.modca-overlay": { - "source": "iana", - }, - "application/vnd.afpc.modca-pagesegment": { - "source": "iana", - }, - "application/vnd.age": { - "source": "iana", - "extensions": ["age"], - }, - "application/vnd.ah-barcode": { - "source": "apache", - }, - "application/vnd.ahead.space": { - "source": "iana", - "extensions": ["ahead"], - }, - "application/vnd.airzip.filesecure.azf": { - "source": "iana", - "extensions": ["azf"], - }, - "application/vnd.airzip.filesecure.azs": { - "source": "iana", - "extensions": ["azs"], - }, - "application/vnd.amadeus+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.amazon.ebook": { - "source": "apache", - "extensions": ["azw"], - }, - "application/vnd.amazon.mobi8-ebook": { - "source": "iana", - }, - "application/vnd.americandynamics.acc": { - "source": "iana", - "extensions": ["acc"], - }, - "application/vnd.amiga.ami": { - "source": "iana", - "extensions": ["ami"], - }, - "application/vnd.amundsen.maze+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.android.ota": { - "source": "iana", - }, - "application/vnd.android.package-archive": { - "source": "apache", - "compressible": false, - "extensions": ["apk"], - }, - "application/vnd.anki": { - "source": "iana", - }, - "application/vnd.anser-web-certificate-issue-initiation": { - "source": "iana", - "extensions": ["cii"], - }, - "application/vnd.anser-web-funds-transfer-initiation": { - "source": "apache", - "extensions": ["fti"], - }, - "application/vnd.antix.game-component": { - "source": "iana", - "extensions": ["atx"], - }, - "application/vnd.apache.arrow.file": { - "source": "iana", - }, - "application/vnd.apache.arrow.stream": { - "source": "iana", - }, - "application/vnd.apache.parquet": { - "source": "iana", - }, - "application/vnd.apache.thrift.binary": { - "source": "iana", - }, - "application/vnd.apache.thrift.compact": { - "source": "iana", - }, - "application/vnd.apache.thrift.json": { - "source": "iana", - }, - "application/vnd.apexlang": { - "source": "iana", - }, - "application/vnd.api+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.aplextor.warrp+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.apothekende.reservation+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.apple.installer+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mpkg"], - }, - "application/vnd.apple.keynote": { - "source": "iana", - "extensions": ["key"], - }, - "application/vnd.apple.mpegurl": { - "source": "iana", - "extensions": ["m3u8"], - }, - "application/vnd.apple.numbers": { - "source": "iana", - "extensions": ["numbers"], - }, - "application/vnd.apple.pages": { - "source": "iana", - "extensions": ["pages"], - }, - "application/vnd.apple.pkpass": { - "compressible": false, - "extensions": ["pkpass"], - }, - "application/vnd.arastra.swi": { - "source": "apache", - }, - "application/vnd.aristanetworks.swi": { - "source": "iana", - "extensions": ["swi"], - }, - "application/vnd.artisan+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.artsquare": { - "source": "iana", - }, - "application/vnd.astraea-software.iota": { - "source": "iana", - "extensions": ["iota"], - }, - "application/vnd.audiograph": { - "source": "iana", - "extensions": ["aep"], - }, - "application/vnd.autopackage": { - "source": "iana", - }, - "application/vnd.avalon+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.avistar+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.balsamiq.bmml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["bmml"], - }, - "application/vnd.balsamiq.bmpr": { - "source": "iana", - }, - "application/vnd.banana-accounting": { - "source": "iana", - }, - "application/vnd.bbf.usp.error": { - "source": "iana", - }, - "application/vnd.bbf.usp.msg": { - "source": "iana", - }, - "application/vnd.bbf.usp.msg+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.bekitzur-stech+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.belightsoft.lhzd+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.belightsoft.lhzl+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.bint.med-content": { - "source": "iana", - }, - "application/vnd.biopax.rdf+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.blink-idb-value-wrapper": { - "source": "iana", - }, - "application/vnd.blueice.multipass": { - "source": "iana", - "extensions": ["mpm"], - }, - "application/vnd.bluetooth.ep.oob": { - "source": "iana", - }, - "application/vnd.bluetooth.le.oob": { - "source": "iana", - }, - "application/vnd.bmi": { - "source": "iana", - "extensions": ["bmi"], - }, - "application/vnd.bpf": { - "source": "iana", - }, - "application/vnd.bpf3": { - "source": "iana", - }, - "application/vnd.businessobjects": { - "source": "iana", - "extensions": ["rep"], - }, - "application/vnd.byu.uapi+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.bzip3": { - "source": "iana", - }, - "application/vnd.c3voc.schedule+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.cab-jscript": { - "source": "iana", - }, - "application/vnd.canon-cpdl": { - "source": "iana", - }, - "application/vnd.canon-lips": { - "source": "iana", - }, - "application/vnd.capasystems-pg+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.cendio.thinlinc.clientconf": { - "source": "iana", - }, - "application/vnd.century-systems.tcp_stream": { - "source": "iana", - }, - "application/vnd.chemdraw+xml": { - "source": "iana", - "compressible": true, - "extensions": ["cdxml"], - }, - "application/vnd.chess-pgn": { - "source": "iana", - }, - "application/vnd.chipnuts.karaoke-mmd": { - "source": "iana", - "extensions": ["mmd"], - }, - "application/vnd.ciedi": { - "source": "iana", - }, - "application/vnd.cinderella": { - "source": "iana", - "extensions": ["cdy"], - }, - "application/vnd.cirpack.isdn-ext": { - "source": "iana", - }, - "application/vnd.citationstyles.style+xml": { - "source": "iana", - "compressible": true, - "extensions": ["csl"], - }, - "application/vnd.claymore": { - "source": "iana", - "extensions": ["cla"], - }, - "application/vnd.cloanto.rp9": { - "source": "iana", - "extensions": ["rp9"], - }, - "application/vnd.clonk.c4group": { - "source": "iana", - "extensions": ["c4g", "c4d", "c4f", "c4p", "c4u"], - }, - "application/vnd.cluetrust.cartomobile-config": { - "source": "iana", - "extensions": ["c11amc"], - }, - "application/vnd.cluetrust.cartomobile-config-pkg": { - "source": "iana", - "extensions": ["c11amz"], - }, - "application/vnd.cncf.helm.chart.content.v1.tar+gzip": { - "source": "iana", - }, - "application/vnd.cncf.helm.chart.provenance.v1.prov": { - "source": "iana", - }, - "application/vnd.cncf.helm.config.v1+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.coffeescript": { - "source": "iana", - }, - "application/vnd.collabio.xodocuments.document": { - "source": "iana", - }, - "application/vnd.collabio.xodocuments.document-template": { - "source": "iana", - }, - "application/vnd.collabio.xodocuments.presentation": { - "source": "iana", - }, - "application/vnd.collabio.xodocuments.presentation-template": { - "source": "iana", - }, - "application/vnd.collabio.xodocuments.spreadsheet": { - "source": "iana", - }, - "application/vnd.collabio.xodocuments.spreadsheet-template": { - "source": "iana", - }, - "application/vnd.collection+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.collection.doc+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.collection.next+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.comicbook+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.comicbook-rar": { - "source": "iana", - }, - "application/vnd.commerce-battelle": { - "source": "iana", - }, - "application/vnd.commonspace": { - "source": "iana", - "extensions": ["csp"], - }, - "application/vnd.contact.cmsg": { - "source": "iana", - "extensions": ["cdbcmsg"], - }, - "application/vnd.coreos.ignition+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.cosmocaller": { - "source": "iana", - "extensions": ["cmc"], - }, - "application/vnd.crick.clicker": { - "source": "iana", - "extensions": ["clkx"], - }, - "application/vnd.crick.clicker.keyboard": { - "source": "iana", - "extensions": ["clkk"], - }, - "application/vnd.crick.clicker.palette": { - "source": "iana", - "extensions": ["clkp"], - }, - "application/vnd.crick.clicker.template": { - "source": "iana", - "extensions": ["clkt"], - }, - "application/vnd.crick.clicker.wordbank": { - "source": "iana", - "extensions": ["clkw"], - }, - "application/vnd.criticaltools.wbs+xml": { - "source": "iana", - "compressible": true, - "extensions": ["wbs"], - }, - "application/vnd.cryptii.pipe+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.crypto-shade-file": { - "source": "iana", - }, - "application/vnd.cryptomator.encrypted": { - "source": "iana", - }, - "application/vnd.cryptomator.vault": { - "source": "iana", - }, - "application/vnd.ctc-posml": { - "source": "iana", - "extensions": ["pml"], - }, - "application/vnd.ctct.ws+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.cups-pdf": { - "source": "iana", - }, - "application/vnd.cups-postscript": { - "source": "iana", - }, - "application/vnd.cups-ppd": { - "source": "iana", - "extensions": ["ppd"], - }, - "application/vnd.cups-raster": { - "source": "iana", - }, - "application/vnd.cups-raw": { - "source": "iana", - }, - "application/vnd.curl": { - "source": "iana", - }, - "application/vnd.curl.car": { - "source": "apache", - "extensions": ["car"], - }, - "application/vnd.curl.pcurl": { - "source": "apache", - "extensions": ["pcurl"], - }, - "application/vnd.cyan.dean.root+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.cybank": { - "source": "iana", - }, - "application/vnd.cyclonedx+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.cyclonedx+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.d2l.coursepackage1p0+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.d3m-dataset": { - "source": "iana", - }, - "application/vnd.d3m-problem": { - "source": "iana", - }, - "application/vnd.dart": { - "source": "iana", - "compressible": true, - "extensions": ["dart"], - }, - "application/vnd.data-vision.rdz": { - "source": "iana", - "extensions": ["rdz"], - }, - "application/vnd.datalog": { - "source": "iana", - }, - "application/vnd.datapackage+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dataresource+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dbf": { - "source": "iana", - "extensions": ["dbf"], - }, - "application/vnd.debian.binary-package": { - "source": "iana", - }, - "application/vnd.dece.data": { - "source": "iana", - "extensions": ["uvf", "uvvf", "uvd", "uvvd"], - }, - "application/vnd.dece.ttml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["uvt", "uvvt"], - }, - "application/vnd.dece.unspecified": { - "source": "iana", - "extensions": ["uvx", "uvvx"], - }, - "application/vnd.dece.zip": { - "source": "iana", - "extensions": ["uvz", "uvvz"], - }, - "application/vnd.denovo.fcselayout-link": { - "source": "iana", - "extensions": ["fe_launch"], - }, - "application/vnd.desmume.movie": { - "source": "iana", - }, - "application/vnd.dir-bi.plate-dl-nosuffix": { - "source": "iana", - }, - "application/vnd.dm.delegation+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dna": { - "source": "iana", - "extensions": ["dna"], - }, - "application/vnd.document+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dolby.mlp": { - "source": "apache", - "extensions": ["mlp"], - }, - "application/vnd.dolby.mobile.1": { - "source": "iana", - }, - "application/vnd.dolby.mobile.2": { - "source": "iana", - }, - "application/vnd.doremir.scorecloud-binary-document": { - "source": "iana", - }, - "application/vnd.dpgraph": { - "source": "iana", - "extensions": ["dpg"], - }, - "application/vnd.dreamfactory": { - "source": "iana", - "extensions": ["dfac"], - }, - "application/vnd.drive+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ds-keypoint": { - "source": "apache", - "extensions": ["kpxx"], - }, - "application/vnd.dtg.local": { - "source": "iana", - }, - "application/vnd.dtg.local.flash": { - "source": "iana", - }, - "application/vnd.dtg.local.html": { - "source": "iana", - }, - "application/vnd.dvb.ait": { - "source": "iana", - "extensions": ["ait"], - }, - "application/vnd.dvb.dvbisl+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dvb.dvbj": { - "source": "iana", - }, - "application/vnd.dvb.esgcontainer": { - "source": "iana", - }, - "application/vnd.dvb.ipdcdftnotifaccess": { - "source": "iana", - }, - "application/vnd.dvb.ipdcesgaccess": { - "source": "iana", - }, - "application/vnd.dvb.ipdcesgaccess2": { - "source": "iana", - }, - "application/vnd.dvb.ipdcesgpdd": { - "source": "iana", - }, - "application/vnd.dvb.ipdcroaming": { - "source": "iana", - }, - "application/vnd.dvb.iptv.alfec-base": { - "source": "iana", - }, - "application/vnd.dvb.iptv.alfec-enhancement": { - "source": "iana", - }, - "application/vnd.dvb.notif-aggregate-root+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dvb.notif-container+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dvb.notif-generic+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dvb.notif-ia-msglist+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dvb.notif-ia-registration-request+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dvb.notif-ia-registration-response+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dvb.notif-init+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.dvb.pfr": { - "source": "iana", - }, - "application/vnd.dvb.service": { - "source": "iana", - "extensions": ["svc"], - }, - "application/vnd.dxr": { - "source": "iana", - }, - "application/vnd.dynageo": { - "source": "iana", - "extensions": ["geo"], - }, - "application/vnd.dzr": { - "source": "iana", - }, - "application/vnd.easykaraoke.cdgdownload": { - "source": "iana", - }, - "application/vnd.ecdis-update": { - "source": "iana", - }, - "application/vnd.ecip.rlp": { - "source": "iana", - }, - "application/vnd.eclipse.ditto+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ecowin.chart": { - "source": "iana", - "extensions": ["mag"], - }, - "application/vnd.ecowin.filerequest": { - "source": "iana", - }, - "application/vnd.ecowin.fileupdate": { - "source": "iana", - }, - "application/vnd.ecowin.series": { - "source": "iana", - }, - "application/vnd.ecowin.seriesrequest": { - "source": "iana", - }, - "application/vnd.ecowin.seriesupdate": { - "source": "iana", - }, - "application/vnd.efi.img": { - "source": "iana", - }, - "application/vnd.efi.iso": { - "source": "iana", - }, - "application/vnd.eln+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.emclient.accessrequest+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.enliven": { - "source": "iana", - "extensions": ["nml"], - }, - "application/vnd.enphase.envoy": { - "source": "iana", - }, - "application/vnd.eprints.data+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.epson.esf": { - "source": "iana", - "extensions": ["esf"], - }, - "application/vnd.epson.msf": { - "source": "iana", - "extensions": ["msf"], - }, - "application/vnd.epson.quickanime": { - "source": "iana", - "extensions": ["qam"], - }, - "application/vnd.epson.salt": { - "source": "iana", - "extensions": ["slt"], - }, - "application/vnd.epson.ssf": { - "source": "iana", - "extensions": ["ssf"], - }, - "application/vnd.ericsson.quickcall": { - "source": "iana", - }, - "application/vnd.erofs": { - "source": "iana", - }, - "application/vnd.espass-espass+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.eszigno3+xml": { - "source": "iana", - "compressible": true, - "extensions": ["es3", "et3"], - }, - "application/vnd.etsi.aoc+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.asic-e+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.etsi.asic-s+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.etsi.cug+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvcommand+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvdiscovery+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvprofile+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvsad-bc+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvsad-cod+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvsad-npvr+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvservice+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvsync+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.iptvueprofile+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.mcid+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.mheg5": { - "source": "iana", - }, - "application/vnd.etsi.overload-control-policy-dataset+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.pstn+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.sci+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.simservs+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.timestamp-token": { - "source": "iana", - }, - "application/vnd.etsi.tsl+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.etsi.tsl.der": { - "source": "iana", - }, - "application/vnd.eu.kasparian.car+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.eudora.data": { - "source": "iana", - }, - "application/vnd.evolv.ecig.profile": { - "source": "iana", - }, - "application/vnd.evolv.ecig.settings": { - "source": "iana", - }, - "application/vnd.evolv.ecig.theme": { - "source": "iana", - }, - "application/vnd.exstream-empower+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.exstream-package": { - "source": "iana", - }, - "application/vnd.ezpix-album": { - "source": "iana", - "extensions": ["ez2"], - }, - "application/vnd.ezpix-package": { - "source": "iana", - "extensions": ["ez3"], - }, - "application/vnd.f-secure.mobile": { - "source": "iana", - }, - "application/vnd.familysearch.gedcom+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.fastcopy-disk-image": { - "source": "iana", - }, - "application/vnd.fdf": { - "source": "apache", - "extensions": ["fdf"], - }, - "application/vnd.fdsn.mseed": { - "source": "iana", - "extensions": ["mseed"], - }, - "application/vnd.fdsn.seed": { - "source": "iana", - "extensions": ["seed", "dataless"], - }, - "application/vnd.ffsns": { - "source": "iana", - }, - "application/vnd.ficlab.flb+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.filmit.zfc": { - "source": "iana", - }, - "application/vnd.fints": { - "source": "iana", - }, - "application/vnd.firemonkeys.cloudcell": { - "source": "iana", - }, - "application/vnd.flographit": { - "source": "iana", - "extensions": ["gph"], - }, - "application/vnd.fluxtime.clip": { - "source": "iana", - "extensions": ["ftc"], - }, - "application/vnd.font-fontforge-sfd": { - "source": "iana", - }, - "application/vnd.framemaker": { - "source": "iana", - "extensions": ["fm", "frame", "maker", "book"], - }, - "application/vnd.freelog.comic": { - "source": "iana", - }, - "application/vnd.frogans.fnc": { - "source": "apache", - "extensions": ["fnc"], - }, - "application/vnd.frogans.ltf": { - "source": "apache", - "extensions": ["ltf"], - }, - "application/vnd.fsc.weblaunch": { - "source": "iana", - "extensions": ["fsc"], - }, - "application/vnd.fujifilm.fb.docuworks": { - "source": "iana", - }, - "application/vnd.fujifilm.fb.docuworks.binder": { - "source": "iana", - }, - "application/vnd.fujifilm.fb.docuworks.container": { - "source": "iana", - }, - "application/vnd.fujifilm.fb.jfi+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.fujitsu.oasys": { - "source": "iana", - "extensions": ["oas"], - }, - "application/vnd.fujitsu.oasys2": { - "source": "iana", - "extensions": ["oa2"], - }, - "application/vnd.fujitsu.oasys3": { - "source": "iana", - "extensions": ["oa3"], - }, - "application/vnd.fujitsu.oasysgp": { - "source": "iana", - "extensions": ["fg5"], - }, - "application/vnd.fujitsu.oasysprs": { - "source": "iana", - "extensions": ["bh2"], - }, - "application/vnd.fujixerox.art-ex": { - "source": "iana", - }, - "application/vnd.fujixerox.art4": { - "source": "iana", - }, - "application/vnd.fujixerox.ddd": { - "source": "iana", - "extensions": ["ddd"], - }, - "application/vnd.fujixerox.docuworks": { - "source": "iana", - "extensions": ["xdw"], - }, - "application/vnd.fujixerox.docuworks.binder": { - "source": "iana", - "extensions": ["xbd"], - }, - "application/vnd.fujixerox.docuworks.container": { - "source": "iana", - }, - "application/vnd.fujixerox.hbpl": { - "source": "iana", - }, - "application/vnd.fut-misnet": { - "source": "iana", - }, - "application/vnd.futoin+cbor": { - "source": "iana", - }, - "application/vnd.futoin+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.fuzzysheet": { - "source": "iana", - "extensions": ["fzs"], - }, - "application/vnd.ga4gh.passport+jwt": { - "source": "iana", - }, - "application/vnd.genomatix.tuxedo": { - "source": "iana", - "extensions": ["txd"], - }, - "application/vnd.genozip": { - "source": "iana", - }, - "application/vnd.gentics.grd+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.gentoo.catmetadata+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.gentoo.ebuild": { - "source": "iana", - }, - "application/vnd.gentoo.eclass": { - "source": "iana", - }, - "application/vnd.gentoo.gpkg": { - "source": "iana", - }, - "application/vnd.gentoo.manifest": { - "source": "iana", - }, - "application/vnd.gentoo.pkgmetadata+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.gentoo.xpak": { - "source": "iana", - }, - "application/vnd.geo+json": { - "source": "apache", - "compressible": true, - }, - "application/vnd.geocube+xml": { - "source": "apache", - "compressible": true, - }, - "application/vnd.geogebra.file": { - "source": "iana", - "extensions": ["ggb"], - }, - "application/vnd.geogebra.slides": { - "source": "iana", - "extensions": ["ggs"], - }, - "application/vnd.geogebra.tool": { - "source": "iana", - "extensions": ["ggt"], - }, - "application/vnd.geometry-explorer": { - "source": "iana", - "extensions": ["gex", "gre"], - }, - "application/vnd.geonext": { - "source": "iana", - "extensions": ["gxt"], - }, - "application/vnd.geoplan": { - "source": "iana", - "extensions": ["g2w"], - }, - "application/vnd.geospace": { - "source": "iana", - "extensions": ["g3w"], - }, - "application/vnd.gerber": { - "source": "iana", - }, - "application/vnd.globalplatform.card-content-mgt": { - "source": "iana", - }, - "application/vnd.globalplatform.card-content-mgt-response": { - "source": "iana", - }, - "application/vnd.gmx": { - "source": "iana", - "extensions": ["gmx"], - }, - "application/vnd.gnu.taler.exchange+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.gnu.taler.merchant+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.google-apps.document": { - "compressible": false, - "extensions": ["gdoc"], - }, - "application/vnd.google-apps.presentation": { - "compressible": false, - "extensions": ["gslides"], - }, - "application/vnd.google-apps.spreadsheet": { - "compressible": false, - "extensions": ["gsheet"], - }, - "application/vnd.google-earth.kml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["kml"], - }, - "application/vnd.google-earth.kmz": { - "source": "iana", - "compressible": false, - "extensions": ["kmz"], - }, - "application/vnd.gov.sk.e-form+xml": { - "source": "apache", - "compressible": true, - }, - "application/vnd.gov.sk.e-form+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.gov.sk.xmldatacontainer+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xdcf"], - }, - "application/vnd.gpxsee.map+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.grafeq": { - "source": "iana", - "extensions": ["gqf", "gqs"], - }, - "application/vnd.gridmp": { - "source": "iana", - }, - "application/vnd.groove-account": { - "source": "iana", - "extensions": ["gac"], - }, - "application/vnd.groove-help": { - "source": "iana", - "extensions": ["ghf"], - }, - "application/vnd.groove-identity-message": { - "source": "iana", - "extensions": ["gim"], - }, - "application/vnd.groove-injector": { - "source": "iana", - "extensions": ["grv"], - }, - "application/vnd.groove-tool-message": { - "source": "iana", - "extensions": ["gtm"], - }, - "application/vnd.groove-tool-template": { - "source": "iana", - "extensions": ["tpl"], - }, - "application/vnd.groove-vcard": { - "source": "iana", - "extensions": ["vcg"], - }, - "application/vnd.hal+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.hal+xml": { - "source": "iana", - "compressible": true, - "extensions": ["hal"], - }, - "application/vnd.handheld-entertainment+xml": { - "source": "iana", - "compressible": true, - "extensions": ["zmm"], - }, - "application/vnd.hbci": { - "source": "iana", - "extensions": ["hbci"], - }, - "application/vnd.hc+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.hcl-bireports": { - "source": "iana", - }, - "application/vnd.hdt": { - "source": "iana", - }, - "application/vnd.heroku+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.hhe.lesson-player": { - "source": "iana", - "extensions": ["les"], - }, - "application/vnd.hp-hpgl": { - "source": "iana", - "extensions": ["hpgl"], - }, - "application/vnd.hp-hpid": { - "source": "iana", - "extensions": ["hpid"], - }, - "application/vnd.hp-hps": { - "source": "iana", - "extensions": ["hps"], - }, - "application/vnd.hp-jlyt": { - "source": "iana", - "extensions": ["jlt"], - }, - "application/vnd.hp-pcl": { - "source": "iana", - "extensions": ["pcl"], - }, - "application/vnd.hp-pclxl": { - "source": "iana", - "extensions": ["pclxl"], - }, - "application/vnd.hsl": { - "source": "iana", - }, - "application/vnd.httphone": { - "source": "iana", - }, - "application/vnd.hydrostatix.sof-data": { - "source": "iana", - "extensions": ["sfd-hdstx"], - }, - "application/vnd.hyper+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.hyper-item+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.hyperdrive+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.hzn-3d-crossword": { - "source": "iana", - }, - "application/vnd.ibm.afplinedata": { - "source": "apache", - }, - "application/vnd.ibm.electronic-media": { - "source": "iana", - }, - "application/vnd.ibm.minipay": { - "source": "iana", - "extensions": ["mpy"], - }, - "application/vnd.ibm.modcap": { - "source": "apache", - "extensions": ["afp", "listafp", "list3820"], - }, - "application/vnd.ibm.rights-management": { - "source": "iana", - "extensions": ["irm"], - }, - "application/vnd.ibm.secure-container": { - "source": "iana", - "extensions": ["sc"], - }, - "application/vnd.iccprofile": { - "source": "iana", - "extensions": ["icc", "icm"], - }, - "application/vnd.ieee.1905": { - "source": "iana", - }, - "application/vnd.igloader": { - "source": "iana", - "extensions": ["igl"], - }, - "application/vnd.imagemeter.folder+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.imagemeter.image+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.immervision-ivp": { - "source": "iana", - "extensions": ["ivp"], - }, - "application/vnd.immervision-ivu": { - "source": "iana", - "extensions": ["ivu"], - }, - "application/vnd.ims.imsccv1p1": { - "source": "iana", - }, - "application/vnd.ims.imsccv1p2": { - "source": "iana", - }, - "application/vnd.ims.imsccv1p3": { - "source": "iana", - }, - "application/vnd.ims.lis.v2.result+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ims.lti.v2.toolconsumerprofile+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ims.lti.v2.toolproxy+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ims.lti.v2.toolproxy.id+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ims.lti.v2.toolsettings+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ims.lti.v2.toolsettings.simple+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.informedcontrol.rms+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.informix-visionary": { - "source": "apache", - }, - "application/vnd.infotech.project": { - "source": "iana", - }, - "application/vnd.infotech.project+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.innopath.wamp.notification": { - "source": "iana", - }, - "application/vnd.insors.igm": { - "source": "iana", - "extensions": ["igm"], - }, - "application/vnd.intercon.formnet": { - "source": "iana", - "extensions": ["xpw", "xpx"], - }, - "application/vnd.intergeo": { - "source": "iana", - "extensions": ["i2g"], - }, - "application/vnd.intertrust.digibox": { - "source": "iana", - }, - "application/vnd.intertrust.nncp": { - "source": "iana", - }, - "application/vnd.intu.qbo": { - "source": "iana", - "extensions": ["qbo"], - }, - "application/vnd.intu.qfx": { - "source": "iana", - "extensions": ["qfx"], - }, - "application/vnd.ipfs.ipns-record": { - "source": "iana", - }, - "application/vnd.ipld.car": { - "source": "iana", - }, - "application/vnd.ipld.dag-cbor": { - "source": "iana", - }, - "application/vnd.ipld.dag-json": { - "source": "iana", - }, - "application/vnd.ipld.raw": { - "source": "iana", - }, - "application/vnd.iptc.g2.catalogitem+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.iptc.g2.conceptitem+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.iptc.g2.knowledgeitem+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.iptc.g2.newsitem+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.iptc.g2.newsmessage+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.iptc.g2.packageitem+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.iptc.g2.planningitem+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ipunplugged.rcprofile": { - "source": "iana", - "extensions": ["rcprofile"], - }, - "application/vnd.irepository.package+xml": { - "source": "iana", - "compressible": true, - "extensions": ["irp"], - }, - "application/vnd.is-xpr": { - "source": "iana", - "extensions": ["xpr"], - }, - "application/vnd.isac.fcs": { - "source": "iana", - "extensions": ["fcs"], - }, - "application/vnd.iso11783-10+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.jam": { - "source": "iana", - "extensions": ["jam"], - }, - "application/vnd.japannet-directory-service": { - "source": "iana", - }, - "application/vnd.japannet-jpnstore-wakeup": { - "source": "iana", - }, - "application/vnd.japannet-payment-wakeup": { - "source": "iana", - }, - "application/vnd.japannet-registration": { - "source": "iana", - }, - "application/vnd.japannet-registration-wakeup": { - "source": "iana", - }, - "application/vnd.japannet-setstore-wakeup": { - "source": "iana", - }, - "application/vnd.japannet-verification": { - "source": "iana", - }, - "application/vnd.japannet-verification-wakeup": { - "source": "iana", - }, - "application/vnd.jcp.javame.midlet-rms": { - "source": "iana", - "extensions": ["rms"], - }, - "application/vnd.jisp": { - "source": "iana", - "extensions": ["jisp"], - }, - "application/vnd.joost.joda-archive": { - "source": "iana", - "extensions": ["joda"], - }, - "application/vnd.jsk.isdn-ngn": { - "source": "iana", - }, - "application/vnd.kahootz": { - "source": "iana", - "extensions": ["ktz", "ktr"], - }, - "application/vnd.kde.karbon": { - "source": "iana", - "extensions": ["karbon"], - }, - "application/vnd.kde.kchart": { - "source": "iana", - "extensions": ["chrt"], - }, - "application/vnd.kde.kformula": { - "source": "iana", - "extensions": ["kfo"], - }, - "application/vnd.kde.kivio": { - "source": "iana", - "extensions": ["flw"], - }, - "application/vnd.kde.kontour": { - "source": "iana", - "extensions": ["kon"], - }, - "application/vnd.kde.kpresenter": { - "source": "iana", - "extensions": ["kpr", "kpt"], - }, - "application/vnd.kde.kspread": { - "source": "iana", - "extensions": ["ksp"], - }, - "application/vnd.kde.kword": { - "source": "iana", - "extensions": ["kwd", "kwt"], - }, - "application/vnd.kenameaapp": { - "source": "iana", - "extensions": ["htke"], - }, - "application/vnd.kidspiration": { - "source": "iana", - "extensions": ["kia"], - }, - "application/vnd.kinar": { - "source": "iana", - "extensions": ["kne", "knp"], - }, - "application/vnd.koan": { - "source": "iana", - "extensions": ["skp", "skd", "skt", "skm"], - }, - "application/vnd.kodak-descriptor": { - "source": "iana", - "extensions": ["sse"], - }, - "application/vnd.las": { - "source": "iana", - }, - "application/vnd.las.las+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.las.las+xml": { - "source": "iana", - "compressible": true, - "extensions": ["lasxml"], - }, - "application/vnd.laszip": { - "source": "iana", - }, - "application/vnd.ldev.productlicensing": { - "source": "iana", - }, - "application/vnd.leap+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.liberty-request+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.llamagraphics.life-balance.desktop": { - "source": "iana", - "extensions": ["lbd"], - }, - "application/vnd.llamagraphics.life-balance.exchange+xml": { - "source": "iana", - "compressible": true, - "extensions": ["lbe"], - }, - "application/vnd.logipipe.circuit+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.loom": { - "source": "iana", - }, - "application/vnd.lotus-1-2-3": { - "source": "iana", - "extensions": ["123"], - }, - "application/vnd.lotus-approach": { - "source": "iana", - "extensions": ["apr"], - }, - "application/vnd.lotus-freelance": { - "source": "iana", - "extensions": ["pre"], - }, - "application/vnd.lotus-notes": { - "source": "iana", - "extensions": ["nsf"], - }, - "application/vnd.lotus-organizer": { - "source": "iana", - "extensions": ["org"], - }, - "application/vnd.lotus-screencam": { - "source": "iana", - "extensions": ["scm"], - }, - "application/vnd.lotus-wordpro": { - "source": "iana", - "extensions": ["lwp"], - }, - "application/vnd.macports.portpkg": { - "source": "iana", - "extensions": ["portpkg"], - }, - "application/vnd.mapbox-vector-tile": { - "source": "iana", - "extensions": ["mvt"], - }, - "application/vnd.marlin.drm.actiontoken+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.marlin.drm.conftoken+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.marlin.drm.license+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.marlin.drm.mdcf": { - "source": "iana", - }, - "application/vnd.mason+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.maxar.archive.3tz+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.maxmind.maxmind-db": { - "source": "iana", - }, - "application/vnd.mcd": { - "source": "iana", - "extensions": ["mcd"], - }, - "application/vnd.mdl": { - "source": "iana", - }, - "application/vnd.mdl-mbsdf": { - "source": "iana", - }, - "application/vnd.medcalcdata": { - "source": "iana", - "extensions": ["mc1"], - }, - "application/vnd.mediastation.cdkey": { - "source": "iana", - "extensions": ["cdkey"], - }, - "application/vnd.medicalholodeck.recordxr": { - "source": "iana", - }, - "application/vnd.meridian-slingshot": { - "source": "iana", - }, - "application/vnd.mermaid": { - "source": "iana", - }, - "application/vnd.mfer": { - "source": "iana", - "extensions": ["mwf"], - }, - "application/vnd.mfmp": { - "source": "iana", - "extensions": ["mfm"], - }, - "application/vnd.micro+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.micrografx.flo": { - "source": "iana", - "extensions": ["flo"], - }, - "application/vnd.micrografx.igx": { - "source": "iana", - "extensions": ["igx"], - }, - "application/vnd.microsoft.portable-executable": { - "source": "iana", - }, - "application/vnd.microsoft.windows.thumbnail-cache": { - "source": "iana", - }, - "application/vnd.miele+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.mif": { - "source": "iana", - "extensions": ["mif"], - }, - "application/vnd.minisoft-hp3000-save": { - "source": "iana", - }, - "application/vnd.mitsubishi.misty-guard.trustweb": { - "source": "iana", - }, - "application/vnd.mobius.daf": { - "source": "iana", - "extensions": ["daf"], - }, - "application/vnd.mobius.dis": { - "source": "iana", - "extensions": ["dis"], - }, - "application/vnd.mobius.mbk": { - "source": "iana", - "extensions": ["mbk"], - }, - "application/vnd.mobius.mqy": { - "source": "iana", - "extensions": ["mqy"], - }, - "application/vnd.mobius.msl": { - "source": "iana", - "extensions": ["msl"], - }, - "application/vnd.mobius.plc": { - "source": "iana", - "extensions": ["plc"], - }, - "application/vnd.mobius.txf": { - "source": "iana", - "extensions": ["txf"], - }, - "application/vnd.modl": { - "source": "iana", - }, - "application/vnd.mophun.application": { - "source": "iana", - "extensions": ["mpn"], - }, - "application/vnd.mophun.certificate": { - "source": "iana", - "extensions": ["mpc"], - }, - "application/vnd.motorola.flexsuite": { - "source": "iana", - }, - "application/vnd.motorola.flexsuite.adsi": { - "source": "iana", - }, - "application/vnd.motorola.flexsuite.fis": { - "source": "iana", - }, - "application/vnd.motorola.flexsuite.gotap": { - "source": "iana", - }, - "application/vnd.motorola.flexsuite.kmr": { - "source": "iana", - }, - "application/vnd.motorola.flexsuite.ttc": { - "source": "iana", - }, - "application/vnd.motorola.flexsuite.wem": { - "source": "iana", - }, - "application/vnd.motorola.iprm": { - "source": "iana", - }, - "application/vnd.mozilla.xul+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xul"], - }, - "application/vnd.ms-3mfdocument": { - "source": "iana", - }, - "application/vnd.ms-artgalry": { - "source": "iana", - "extensions": ["cil"], - }, - "application/vnd.ms-asf": { - "source": "iana", - }, - "application/vnd.ms-cab-compressed": { - "source": "iana", - "extensions": ["cab"], - }, - "application/vnd.ms-color.iccprofile": { - "source": "apache", - }, - "application/vnd.ms-excel": { - "source": "iana", - "compressible": false, - "extensions": ["xls", "xlm", "xla", "xlc", "xlt", "xlw"], - }, - "application/vnd.ms-excel.addin.macroenabled.12": { - "source": "iana", - "extensions": ["xlam"], - }, - "application/vnd.ms-excel.sheet.binary.macroenabled.12": { - "source": "iana", - "extensions": ["xlsb"], - }, - "application/vnd.ms-excel.sheet.macroenabled.12": { - "source": "iana", - "extensions": ["xlsm"], - }, - "application/vnd.ms-excel.template.macroenabled.12": { - "source": "iana", - "extensions": ["xltm"], - }, - "application/vnd.ms-fontobject": { - "source": "iana", - "compressible": true, - "extensions": ["eot"], - }, - "application/vnd.ms-htmlhelp": { - "source": "iana", - "extensions": ["chm"], - }, - "application/vnd.ms-ims": { - "source": "iana", - "extensions": ["ims"], - }, - "application/vnd.ms-lrm": { - "source": "iana", - "extensions": ["lrm"], - }, - "application/vnd.ms-office.activex+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ms-officetheme": { - "source": "iana", - "extensions": ["thmx"], - }, - "application/vnd.ms-opentype": { - "source": "apache", - "compressible": true, - }, - "application/vnd.ms-outlook": { - "compressible": false, - "extensions": ["msg"], - }, - "application/vnd.ms-package.obfuscated-opentype": { - "source": "apache", - }, - "application/vnd.ms-pki.seccat": { - "source": "apache", - "extensions": ["cat"], - }, - "application/vnd.ms-pki.stl": { - "source": "apache", - "extensions": ["stl"], - }, - "application/vnd.ms-playready.initiator+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ms-powerpoint": { - "source": "iana", - "compressible": false, - "extensions": ["ppt", "pps", "pot"], - }, - "application/vnd.ms-powerpoint.addin.macroenabled.12": { - "source": "iana", - "extensions": ["ppam"], - }, - "application/vnd.ms-powerpoint.presentation.macroenabled.12": { - "source": "iana", - "extensions": ["pptm"], - }, - "application/vnd.ms-powerpoint.slide.macroenabled.12": { - "source": "iana", - "extensions": ["sldm"], - }, - "application/vnd.ms-powerpoint.slideshow.macroenabled.12": { - "source": "iana", - "extensions": ["ppsm"], - }, - "application/vnd.ms-powerpoint.template.macroenabled.12": { - "source": "iana", - "extensions": ["potm"], - }, - "application/vnd.ms-printdevicecapabilities+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ms-printing.printticket+xml": { - "source": "apache", - "compressible": true, - }, - "application/vnd.ms-printschematicket+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.ms-project": { - "source": "iana", - "extensions": ["mpp", "mpt"], - }, - "application/vnd.ms-tnef": { - "source": "iana", - }, - "application/vnd.ms-windows.devicepairing": { - "source": "iana", - }, - "application/vnd.ms-windows.nwprinting.oob": { - "source": "iana", - }, - "application/vnd.ms-windows.printerpairing": { - "source": "iana", - }, - "application/vnd.ms-windows.wsd.oob": { - "source": "iana", - }, - "application/vnd.ms-wmdrm.lic-chlg-req": { - "source": "iana", - }, - "application/vnd.ms-wmdrm.lic-resp": { - "source": "iana", - }, - "application/vnd.ms-wmdrm.meter-chlg-req": { - "source": "iana", - }, - "application/vnd.ms-wmdrm.meter-resp": { - "source": "iana", - }, - "application/vnd.ms-word.document.macroenabled.12": { - "source": "iana", - "extensions": ["docm"], - }, - "application/vnd.ms-word.template.macroenabled.12": { - "source": "iana", - "extensions": ["dotm"], - }, - "application/vnd.ms-works": { - "source": "iana", - "extensions": ["wps", "wks", "wcm", "wdb"], - }, - "application/vnd.ms-wpl": { - "source": "iana", - "extensions": ["wpl"], - }, - "application/vnd.ms-xpsdocument": { - "source": "iana", - "compressible": false, - "extensions": ["xps"], - }, - "application/vnd.msa-disk-image": { - "source": "iana", - }, - "application/vnd.mseq": { - "source": "iana", - "extensions": ["mseq"], - }, - "application/vnd.msgpack": { - "source": "iana", - }, - "application/vnd.msign": { - "source": "iana", - }, - "application/vnd.multiad.creator": { - "source": "iana", - }, - "application/vnd.multiad.creator.cif": { - "source": "iana", - }, - "application/vnd.music-niff": { - "source": "iana", - }, - "application/vnd.musician": { - "source": "iana", - "extensions": ["mus"], - }, - "application/vnd.muvee.style": { - "source": "iana", - "extensions": ["msty"], - }, - "application/vnd.mynfc": { - "source": "iana", - "extensions": ["taglet"], - }, - "application/vnd.nacamar.ybrid+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.nato.bindingdataobject+cbor": { - "source": "iana", - }, - "application/vnd.nato.bindingdataobject+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.nato.bindingdataobject+xml": { - "source": "iana", - "compressible": true, - "extensions": ["bdo"], - }, - "application/vnd.nato.openxmlformats-package.iepd+zip": { - "source": "iana", - "compressible": false, - }, - "application/vnd.ncd.control": { - "source": "iana", - }, - "application/vnd.ncd.reference": { - "source": "iana", - }, - "application/vnd.nearst.inv+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.nebumind.line": { - "source": "iana", - }, - "application/vnd.nervana": { - "source": "iana", - }, - "application/vnd.netfpx": { - "source": "iana", - }, - "application/vnd.neurolanguage.nlu": { - "source": "iana", - "extensions": ["nlu"], - }, - "application/vnd.nimn": { - "source": "iana", - }, - "application/vnd.nintendo.nitro.rom": { - "source": "iana", - }, - "application/vnd.nintendo.snes.rom": { - "source": "iana", - }, - "application/vnd.nitf": { - "source": "iana", - "extensions": ["ntf", "nitf"], - }, - "application/vnd.noblenet-directory": { - "source": "iana", - "extensions": ["nnd"], - }, - "application/vnd.noblenet-sealer": { - "source": "iana", - "extensions": ["nns"], - }, - "application/vnd.noblenet-web": { - "source": "iana", - "extensions": ["nnw"], - }, - "application/vnd.nokia.catalogs": { - "source": "iana", - }, - "application/vnd.nokia.conml+wbxml": { - "source": "iana", - }, - "application/vnd.nokia.conml+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.nokia.iptv.config+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.nokia.isds-radio-presets": { - "source": "iana", - }, - "application/vnd.nokia.landmark+wbxml": { - "source": "iana", - }, - "application/vnd.nokia.landmark+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.nokia.landmarkcollection+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.nokia.n-gage.ac+xml": { - "source": "iana", - "compressible": true, - "extensions": ["ac"], - }, - "application/vnd.nokia.n-gage.data": { - "source": "iana", - "extensions": ["ngdat"], - }, - "application/vnd.nokia.n-gage.symbian.install": { - "source": "apache", - "extensions": ["n-gage"], - }, - "application/vnd.nokia.ncd": { - "source": "iana", - }, - "application/vnd.nokia.pcd+wbxml": { - "source": "iana", - }, - "application/vnd.nokia.pcd+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.nokia.radio-preset": { - "source": "iana", - "extensions": ["rpst"], - }, - "application/vnd.nokia.radio-presets": { - "source": "iana", - "extensions": ["rpss"], - }, - "application/vnd.novadigm.edm": { - "source": "iana", - "extensions": ["edm"], - }, - "application/vnd.novadigm.edx": { - "source": "iana", - "extensions": ["edx"], - }, - "application/vnd.novadigm.ext": { - "source": "iana", - "extensions": ["ext"], - }, - "application/vnd.ntt-local.content-share": { - "source": "iana", - }, - "application/vnd.ntt-local.file-transfer": { - "source": "iana", - }, - "application/vnd.ntt-local.ogw_remote-access": { - "source": "iana", - }, - "application/vnd.ntt-local.sip-ta_remote": { - "source": "iana", - }, - "application/vnd.ntt-local.sip-ta_tcp_stream": { - "source": "iana", - }, - "application/vnd.oai.workflows": { - "source": "iana", - }, - "application/vnd.oai.workflows+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oai.workflows+yaml": { - "source": "iana", - }, - "application/vnd.oasis.opendocument.base": { - "source": "iana", - }, - "application/vnd.oasis.opendocument.chart": { - "source": "iana", - "extensions": ["odc"], - }, - "application/vnd.oasis.opendocument.chart-template": { - "source": "iana", - "extensions": ["otc"], - }, - "application/vnd.oasis.opendocument.database": { - "source": "apache", - "extensions": ["odb"], - }, - "application/vnd.oasis.opendocument.formula": { - "source": "iana", - "extensions": ["odf"], - }, - "application/vnd.oasis.opendocument.formula-template": { - "source": "iana", - "extensions": ["odft"], - }, - "application/vnd.oasis.opendocument.graphics": { - "source": "iana", - "compressible": false, - "extensions": ["odg"], - }, - "application/vnd.oasis.opendocument.graphics-template": { - "source": "iana", - "extensions": ["otg"], - }, - "application/vnd.oasis.opendocument.image": { - "source": "iana", - "extensions": ["odi"], - }, - "application/vnd.oasis.opendocument.image-template": { - "source": "iana", - "extensions": ["oti"], - }, - "application/vnd.oasis.opendocument.presentation": { - "source": "iana", - "compressible": false, - "extensions": ["odp"], - }, - "application/vnd.oasis.opendocument.presentation-template": { - "source": "iana", - "extensions": ["otp"], - }, - "application/vnd.oasis.opendocument.spreadsheet": { - "source": "iana", - "compressible": false, - "extensions": ["ods"], - }, - "application/vnd.oasis.opendocument.spreadsheet-template": { - "source": "iana", - "extensions": ["ots"], - }, - "application/vnd.oasis.opendocument.text": { - "source": "iana", - "compressible": false, - "extensions": ["odt"], - }, - "application/vnd.oasis.opendocument.text-master": { - "source": "iana", - "extensions": ["odm"], - }, - "application/vnd.oasis.opendocument.text-master-template": { - "source": "iana", - }, - "application/vnd.oasis.opendocument.text-template": { - "source": "iana", - "extensions": ["ott"], - }, - "application/vnd.oasis.opendocument.text-web": { - "source": "iana", - "extensions": ["oth"], - }, - "application/vnd.obn": { - "source": "iana", - }, - "application/vnd.ocf+cbor": { - "source": "iana", - }, - "application/vnd.oci.image.manifest.v1+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oftn.l10n+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.contentaccessdownload+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.contentaccessstreaming+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.cspg-hexbinary": { - "source": "iana", - }, - "application/vnd.oipf.dae.svg+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.dae.xhtml+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.mippvcontrolmessage+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.pae.gem": { - "source": "iana", - }, - "application/vnd.oipf.spdiscovery+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.spdlist+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.ueprofile+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oipf.userprofile+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.olpc-sugar": { - "source": "iana", - "extensions": ["xo"], - }, - "application/vnd.oma-scws-config": { - "source": "iana", - }, - "application/vnd.oma-scws-http-request": { - "source": "iana", - }, - "application/vnd.oma-scws-http-response": { - "source": "iana", - }, - "application/vnd.oma.bcast.associated-procedure-parameter+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.bcast.drm-trigger+xml": { - "source": "apache", - "compressible": true, - }, - "application/vnd.oma.bcast.imd+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.bcast.ltkm": { - "source": "iana", - }, - "application/vnd.oma.bcast.notification+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.bcast.provisioningtrigger": { - "source": "iana", - }, - "application/vnd.oma.bcast.sgboot": { - "source": "iana", - }, - "application/vnd.oma.bcast.sgdd+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.bcast.sgdu": { - "source": "iana", - }, - "application/vnd.oma.bcast.simple-symbol-container": { - "source": "iana", - }, - "application/vnd.oma.bcast.smartcard-trigger+xml": { - "source": "apache", - "compressible": true, - }, - "application/vnd.oma.bcast.sprov+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.bcast.stkm": { - "source": "iana", - }, - "application/vnd.oma.cab-address-book+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.cab-feature-handler+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.cab-pcc+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.cab-subs-invite+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.cab-user-prefs+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.dcd": { - "source": "iana", - }, - "application/vnd.oma.dcdc": { - "source": "iana", - }, - "application/vnd.oma.dd2+xml": { - "source": "iana", - "compressible": true, - "extensions": ["dd2"], - }, - "application/vnd.oma.drm.risd+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.group-usage-list+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.lwm2m+cbor": { - "source": "iana", - }, - "application/vnd.oma.lwm2m+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.lwm2m+tlv": { - "source": "iana", - }, - "application/vnd.oma.pal+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.poc.detailed-progress-report+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.poc.final-report+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.poc.groups+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.poc.invocation-descriptor+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.poc.optimized-progress-report+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.push": { - "source": "iana", - }, - "application/vnd.oma.scidm.messages+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oma.xcap-directory+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.omads-email+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/vnd.omads-file+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/vnd.omads-folder+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/vnd.omaloc-supl-init": { - "source": "iana", - }, - "application/vnd.onepager": { - "source": "iana", - }, - "application/vnd.onepagertamp": { - "source": "iana", - }, - "application/vnd.onepagertamx": { - "source": "iana", - }, - "application/vnd.onepagertat": { - "source": "iana", - }, - "application/vnd.onepagertatp": { - "source": "iana", - }, - "application/vnd.onepagertatx": { - "source": "iana", - }, - "application/vnd.onvif.metadata": { - "source": "iana", - }, - "application/vnd.openblox.game+xml": { - "source": "iana", - "compressible": true, - "extensions": ["obgx"], - }, - "application/vnd.openblox.game-binary": { - "source": "iana", - }, - "application/vnd.openeye.oeb": { - "source": "iana", - }, - "application/vnd.openofficeorg.extension": { - "source": "apache", - "extensions": ["oxt"], - }, - "application/vnd.openstreetmap.data+xml": { - "source": "iana", - "compressible": true, - "extensions": ["osm"], - }, - "application/vnd.opentimestamps.ots": { - "source": "iana", - }, - "application/vnd.openxmlformats-officedocument.custom-properties+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.drawing+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.extended-properties+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation": { - "source": "iana", - "compressible": false, - "extensions": ["pptx"], - }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.slide": { - "source": "iana", - "extensions": ["sldx"], - }, - "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.slideshow": { - "source": "iana", - "extensions": ["ppsx"], - }, - "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.template": { - "source": "iana", - "extensions": ["potx"], - }, - "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { - "source": "iana", - "compressible": false, - "extensions": ["xlsx"], - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.template": { - "source": "iana", - "extensions": ["xltx"], - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.theme+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.themeoverride+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.vmldrawing": { - "source": "iana", - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.document": { - "source": "iana", - "compressible": false, - "extensions": ["docx"], - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.template": { - "source": "iana", - "extensions": ["dotx"], - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": - { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-package.core-properties+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.openxmlformats-package.relationships+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oracle.resource+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.orange.indata": { - "source": "iana", - }, - "application/vnd.osa.netdeploy": { - "source": "iana", - }, - "application/vnd.osgeo.mapguide.package": { - "source": "iana", - "extensions": ["mgp"], - }, - "application/vnd.osgi.bundle": { - "source": "iana", - }, - "application/vnd.osgi.dp": { - "source": "iana", - "extensions": ["dp"], - }, - "application/vnd.osgi.subsystem": { - "source": "iana", - "extensions": ["esa"], - }, - "application/vnd.otps.ct-kip+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.oxli.countgraph": { - "source": "iana", - }, - "application/vnd.pagerduty+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.palm": { - "source": "iana", - "extensions": ["pdb", "pqa", "oprc"], - }, - "application/vnd.panoply": { - "source": "iana", - }, - "application/vnd.paos.xml": { - "source": "iana", - }, - "application/vnd.patentdive": { - "source": "iana", - }, - "application/vnd.patientecommsdoc": { - "source": "iana", - }, - "application/vnd.pawaafile": { - "source": "iana", - "extensions": ["paw"], - }, - "application/vnd.pcos": { - "source": "iana", - }, - "application/vnd.pg.format": { - "source": "iana", - "extensions": ["str"], - }, - "application/vnd.pg.osasli": { - "source": "iana", - "extensions": ["ei6"], - }, - "application/vnd.piaccess.application-licence": { - "source": "iana", - }, - "application/vnd.picsel": { - "source": "iana", - "extensions": ["efif"], - }, - "application/vnd.pmi.widget": { - "source": "iana", - "extensions": ["wg"], - }, - "application/vnd.poc.group-advertisement+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.pocketlearn": { - "source": "iana", - "extensions": ["plf"], - }, - "application/vnd.powerbuilder6": { - "source": "iana", - "extensions": ["pbd"], - }, - "application/vnd.powerbuilder6-s": { - "source": "iana", - }, - "application/vnd.powerbuilder7": { - "source": "iana", - }, - "application/vnd.powerbuilder7-s": { - "source": "iana", - }, - "application/vnd.powerbuilder75": { - "source": "iana", - }, - "application/vnd.powerbuilder75-s": { - "source": "iana", - }, - "application/vnd.preminet": { - "source": "iana", - }, - "application/vnd.previewsystems.box": { - "source": "iana", - "extensions": ["box"], - }, - "application/vnd.proteus.magazine": { - "source": "iana", - "extensions": ["mgz"], - }, - "application/vnd.psfs": { - "source": "iana", - }, - "application/vnd.pt.mundusmundi": { - "source": "iana", - }, - "application/vnd.publishare-delta-tree": { - "source": "iana", - "extensions": ["qps"], - }, - "application/vnd.pvi.ptid1": { - "source": "iana", - "extensions": ["ptid"], - }, - "application/vnd.pwg-multiplexed": { - "source": "iana", - }, - "application/vnd.pwg-xhtml-print+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xhtm"], - }, - "application/vnd.qualcomm.brew-app-res": { - "source": "iana", - }, - "application/vnd.quarantainenet": { - "source": "iana", - }, - "application/vnd.quark.quarkxpress": { - "source": "iana", - "extensions": ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"], - }, - "application/vnd.quobject-quoxdocument": { - "source": "iana", - }, - "application/vnd.radisys.moml+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-audit+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-audit-conf+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-audit-conn+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-audit-dialog+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-audit-stream+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-conf+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-dialog+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-dialog-base+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-dialog-fax-detect+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-dialog-group+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-dialog-speech+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.radisys.msml-dialog-transform+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.rainstor.data": { - "source": "iana", - }, - "application/vnd.rapid": { - "source": "iana", - }, - "application/vnd.rar": { - "source": "iana", - "extensions": ["rar"], - }, - "application/vnd.realvnc.bed": { - "source": "iana", - "extensions": ["bed"], - }, - "application/vnd.recordare.musicxml": { - "source": "iana", - "extensions": ["mxl"], - }, - "application/vnd.recordare.musicxml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["musicxml"], - }, - "application/vnd.relpipe": { - "source": "iana", - }, - "application/vnd.renlearn.rlprint": { - "source": "iana", - }, - "application/vnd.resilient.logic": { - "source": "iana", - }, - "application/vnd.restful+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.rig.cryptonote": { - "source": "iana", - "extensions": ["cryptonote"], - }, - "application/vnd.rim.cod": { - "source": "apache", - "extensions": ["cod"], - }, - "application/vnd.rn-realmedia": { - "source": "apache", - "extensions": ["rm"], - }, - "application/vnd.rn-realmedia-vbr": { - "source": "apache", - "extensions": ["rmvb"], - }, - "application/vnd.route66.link66+xml": { - "source": "iana", - "compressible": true, - "extensions": ["link66"], - }, - "application/vnd.rs-274x": { - "source": "iana", - }, - "application/vnd.ruckus.download": { - "source": "iana", - }, - "application/vnd.s3sms": { - "source": "iana", - }, - "application/vnd.sailingtracker.track": { - "source": "iana", - "extensions": ["st"], - }, - "application/vnd.sar": { - "source": "iana", - }, - "application/vnd.sbm.cid": { - "source": "iana", - }, - "application/vnd.sbm.mid2": { - "source": "iana", - }, - "application/vnd.scribus": { - "source": "iana", - }, - "application/vnd.sealed.3df": { - "source": "iana", - }, - "application/vnd.sealed.csf": { - "source": "iana", - }, - "application/vnd.sealed.doc": { - "source": "iana", - }, - "application/vnd.sealed.eml": { - "source": "iana", - }, - "application/vnd.sealed.mht": { - "source": "iana", - }, - "application/vnd.sealed.net": { - "source": "iana", - }, - "application/vnd.sealed.ppt": { - "source": "iana", - }, - "application/vnd.sealed.tiff": { - "source": "iana", - }, - "application/vnd.sealed.xls": { - "source": "iana", - }, - "application/vnd.sealedmedia.softseal.html": { - "source": "iana", - }, - "application/vnd.sealedmedia.softseal.pdf": { - "source": "iana", - }, - "application/vnd.seemail": { - "source": "iana", - "extensions": ["see"], - }, - "application/vnd.seis+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.sema": { - "source": "iana", - "extensions": ["sema"], - }, - "application/vnd.semd": { - "source": "iana", - "extensions": ["semd"], - }, - "application/vnd.semf": { - "source": "iana", - "extensions": ["semf"], - }, - "application/vnd.shade-save-file": { - "source": "iana", - }, - "application/vnd.shana.informed.formdata": { - "source": "iana", - "extensions": ["ifm"], - }, - "application/vnd.shana.informed.formtemplate": { - "source": "iana", - "extensions": ["itp"], - }, - "application/vnd.shana.informed.interchange": { - "source": "iana", - "extensions": ["iif"], - }, - "application/vnd.shana.informed.package": { - "source": "iana", - "extensions": ["ipk"], - }, - "application/vnd.shootproof+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.shopkick+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.shp": { - "source": "iana", - }, - "application/vnd.shx": { - "source": "iana", - }, - "application/vnd.sigrok.session": { - "source": "iana", - }, - "application/vnd.simtech-mindmapper": { - "source": "iana", - "extensions": ["twd", "twds"], - }, - "application/vnd.siren+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.smaf": { - "source": "iana", - "extensions": ["mmf"], - }, - "application/vnd.smart.notebook": { - "source": "iana", - }, - "application/vnd.smart.teacher": { - "source": "iana", - "extensions": ["teacher"], - }, - "application/vnd.smintio.portals.archive": { - "source": "iana", - }, - "application/vnd.snesdev-page-table": { - "source": "iana", - }, - "application/vnd.software602.filler.form+xml": { - "source": "iana", - "compressible": true, - "extensions": ["fo"], - }, - "application/vnd.software602.filler.form-xml-zip": { - "source": "iana", - }, - "application/vnd.solent.sdkm+xml": { - "source": "iana", - "compressible": true, - "extensions": ["sdkm", "sdkd"], - }, - "application/vnd.spotfire.dxp": { - "source": "iana", - "extensions": ["dxp"], - }, - "application/vnd.spotfire.sfs": { - "source": "iana", - "extensions": ["sfs"], - }, - "application/vnd.sqlite3": { - "source": "iana", - }, - "application/vnd.sss-cod": { - "source": "iana", - }, - "application/vnd.sss-dtf": { - "source": "iana", - }, - "application/vnd.sss-ntf": { - "source": "iana", - }, - "application/vnd.stardivision.calc": { - "source": "apache", - "extensions": ["sdc"], - }, - "application/vnd.stardivision.draw": { - "source": "apache", - "extensions": ["sda"], - }, - "application/vnd.stardivision.impress": { - "source": "apache", - "extensions": ["sdd"], - }, - "application/vnd.stardivision.math": { - "source": "apache", - "extensions": ["smf"], - }, - "application/vnd.stardivision.writer": { - "source": "apache", - "extensions": ["sdw", "vor"], - }, - "application/vnd.stardivision.writer-global": { - "source": "apache", - "extensions": ["sgl"], - }, - "application/vnd.stepmania.package": { - "source": "iana", - "extensions": ["smzip"], - }, - "application/vnd.stepmania.stepchart": { - "source": "iana", - "extensions": ["sm"], - }, - "application/vnd.street-stream": { - "source": "iana", - }, - "application/vnd.sun.wadl+xml": { - "source": "iana", - "compressible": true, - "extensions": ["wadl"], - }, - "application/vnd.sun.xml.calc": { - "source": "apache", - "extensions": ["sxc"], - }, - "application/vnd.sun.xml.calc.template": { - "source": "apache", - "extensions": ["stc"], - }, - "application/vnd.sun.xml.draw": { - "source": "apache", - "extensions": ["sxd"], - }, - "application/vnd.sun.xml.draw.template": { - "source": "apache", - "extensions": ["std"], - }, - "application/vnd.sun.xml.impress": { - "source": "apache", - "extensions": ["sxi"], - }, - "application/vnd.sun.xml.impress.template": { - "source": "apache", - "extensions": ["sti"], - }, - "application/vnd.sun.xml.math": { - "source": "apache", - "extensions": ["sxm"], - }, - "application/vnd.sun.xml.writer": { - "source": "apache", - "extensions": ["sxw"], - }, - "application/vnd.sun.xml.writer.global": { - "source": "apache", - "extensions": ["sxg"], - }, - "application/vnd.sun.xml.writer.template": { - "source": "apache", - "extensions": ["stw"], - }, - "application/vnd.sus-calendar": { - "source": "iana", - "extensions": ["sus", "susp"], - }, - "application/vnd.svd": { - "source": "iana", - "extensions": ["svd"], - }, - "application/vnd.swiftview-ics": { - "source": "iana", - }, - "application/vnd.sybyl.mol2": { - "source": "iana", - }, - "application/vnd.sycle+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.syft+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.symbian.install": { - "source": "apache", - "extensions": ["sis", "sisx"], - }, - "application/vnd.syncml+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["xsm"], - }, - "application/vnd.syncml.dm+wbxml": { - "source": "iana", - "charset": "UTF-8", - "extensions": ["bdm"], - }, - "application/vnd.syncml.dm+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["xdm"], - }, - "application/vnd.syncml.dm.notification": { - "source": "iana", - }, - "application/vnd.syncml.dmddf+wbxml": { - "source": "iana", - }, - "application/vnd.syncml.dmddf+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["ddf"], - }, - "application/vnd.syncml.dmtnds+wbxml": { - "source": "iana", - }, - "application/vnd.syncml.dmtnds+xml": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - }, - "application/vnd.syncml.ds.notification": { - "source": "iana", - }, - "application/vnd.tableschema+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.tao.intent-module-archive": { - "source": "iana", - "extensions": ["tao"], - }, - "application/vnd.tcpdump.pcap": { - "source": "iana", - "extensions": ["pcap", "cap", "dmp"], - }, - "application/vnd.think-cell.ppttc+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.tmd.mediaflex.api+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.tml": { - "source": "iana", - }, - "application/vnd.tmobile-livetv": { - "source": "iana", - "extensions": ["tmo"], - }, - "application/vnd.tri.onesource": { - "source": "iana", - }, - "application/vnd.trid.tpt": { - "source": "iana", - "extensions": ["tpt"], - }, - "application/vnd.triscape.mxs": { - "source": "iana", - "extensions": ["mxs"], - }, - "application/vnd.trueapp": { - "source": "iana", - "extensions": ["tra"], - }, - "application/vnd.truedoc": { - "source": "iana", - }, - "application/vnd.ubisoft.webplayer": { - "source": "iana", - }, - "application/vnd.ufdl": { - "source": "iana", - "extensions": ["ufd", "ufdl"], - }, - "application/vnd.uiq.theme": { - "source": "iana", - "extensions": ["utz"], - }, - "application/vnd.umajin": { - "source": "iana", - "extensions": ["umj"], - }, - "application/vnd.unity": { - "source": "iana", - "extensions": ["unityweb"], - }, - "application/vnd.uoml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["uoml", "uo"], - }, - "application/vnd.uplanet.alert": { - "source": "iana", - }, - "application/vnd.uplanet.alert-wbxml": { - "source": "iana", - }, - "application/vnd.uplanet.bearer-choice": { - "source": "iana", - }, - "application/vnd.uplanet.bearer-choice-wbxml": { - "source": "iana", - }, - "application/vnd.uplanet.cacheop": { - "source": "iana", - }, - "application/vnd.uplanet.cacheop-wbxml": { - "source": "iana", - }, - "application/vnd.uplanet.channel": { - "source": "iana", - }, - "application/vnd.uplanet.channel-wbxml": { - "source": "iana", - }, - "application/vnd.uplanet.list": { - "source": "iana", - }, - "application/vnd.uplanet.list-wbxml": { - "source": "iana", - }, - "application/vnd.uplanet.listcmd": { - "source": "iana", - }, - "application/vnd.uplanet.listcmd-wbxml": { - "source": "iana", - }, - "application/vnd.uplanet.signal": { - "source": "iana", - }, - "application/vnd.uri-map": { - "source": "iana", - }, - "application/vnd.valve.source.material": { - "source": "iana", - }, - "application/vnd.vcx": { - "source": "iana", - "extensions": ["vcx"], - }, - "application/vnd.vd-study": { - "source": "iana", - }, - "application/vnd.vectorworks": { - "source": "iana", - }, - "application/vnd.vel+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.verimatrix.vcas": { - "source": "iana", - }, - "application/vnd.veritone.aion+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.veryant.thin": { - "source": "iana", - }, - "application/vnd.ves.encrypted": { - "source": "iana", - }, - "application/vnd.vidsoft.vidconference": { - "source": "iana", - }, - "application/vnd.visio": { - "source": "iana", - "extensions": ["vsd", "vst", "vss", "vsw"], - }, - "application/vnd.visionary": { - "source": "iana", - "extensions": ["vis"], - }, - "application/vnd.vividence.scriptfile": { - "source": "iana", - }, - "application/vnd.vsf": { - "source": "iana", - "extensions": ["vsf"], - }, - "application/vnd.wap.sic": { - "source": "iana", - }, - "application/vnd.wap.slc": { - "source": "iana", - }, - "application/vnd.wap.wbxml": { - "source": "iana", - "charset": "UTF-8", - "extensions": ["wbxml"], - }, - "application/vnd.wap.wmlc": { - "source": "iana", - "extensions": ["wmlc"], - }, - "application/vnd.wap.wmlscriptc": { - "source": "iana", - "extensions": ["wmlsc"], - }, - "application/vnd.wasmflow.wafl": { - "source": "iana", - }, - "application/vnd.webturbo": { - "source": "iana", - "extensions": ["wtb"], - }, - "application/vnd.wfa.dpp": { - "source": "iana", - }, - "application/vnd.wfa.p2p": { - "source": "iana", - }, - "application/vnd.wfa.wsc": { - "source": "iana", - }, - "application/vnd.windows.devicepairing": { - "source": "iana", - }, - "application/vnd.wmc": { - "source": "iana", - }, - "application/vnd.wmf.bootstrap": { - "source": "iana", - }, - "application/vnd.wolfram.mathematica": { - "source": "iana", - }, - "application/vnd.wolfram.mathematica.package": { - "source": "iana", - }, - "application/vnd.wolfram.player": { - "source": "iana", - "extensions": ["nbp"], - }, - "application/vnd.wordlift": { - "source": "iana", - }, - "application/vnd.wordperfect": { - "source": "iana", - "extensions": ["wpd"], - }, - "application/vnd.wqd": { - "source": "iana", - "extensions": ["wqd"], - }, - "application/vnd.wrq-hp3000-labelled": { - "source": "iana", - }, - "application/vnd.wt.stf": { - "source": "iana", - "extensions": ["stf"], - }, - "application/vnd.wv.csp+wbxml": { - "source": "iana", - }, - "application/vnd.wv.csp+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.wv.ssp+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.xacml+json": { - "source": "iana", - "compressible": true, - }, - "application/vnd.xara": { - "source": "iana", - "extensions": ["xar"], - }, - "application/vnd.xecrets-encrypted": { - "source": "iana", - }, - "application/vnd.xfdl": { - "source": "iana", - "extensions": ["xfdl"], - }, - "application/vnd.xfdl.webform": { - "source": "iana", - }, - "application/vnd.xmi+xml": { - "source": "iana", - "compressible": true, - }, - "application/vnd.xmpie.cpkg": { - "source": "iana", - }, - "application/vnd.xmpie.dpkg": { - "source": "iana", - }, - "application/vnd.xmpie.plan": { - "source": "iana", - }, - "application/vnd.xmpie.ppkg": { - "source": "iana", - }, - "application/vnd.xmpie.xlim": { - "source": "iana", - }, - "application/vnd.yamaha.hv-dic": { - "source": "iana", - "extensions": ["hvd"], - }, - "application/vnd.yamaha.hv-script": { - "source": "iana", - "extensions": ["hvs"], - }, - "application/vnd.yamaha.hv-voice": { - "source": "iana", - "extensions": ["hvp"], - }, - "application/vnd.yamaha.openscoreformat": { - "source": "iana", - "extensions": ["osf"], - }, - "application/vnd.yamaha.openscoreformat.osfpvg+xml": { - "source": "iana", - "compressible": true, - "extensions": ["osfpvg"], - }, - "application/vnd.yamaha.remote-setup": { - "source": "iana", - }, - "application/vnd.yamaha.smaf-audio": { - "source": "iana", - "extensions": ["saf"], - }, - "application/vnd.yamaha.smaf-phrase": { - "source": "iana", - "extensions": ["spf"], - }, - "application/vnd.yamaha.through-ngn": { - "source": "iana", - }, - "application/vnd.yamaha.tunnel-udpencap": { - "source": "iana", - }, - "application/vnd.yaoweme": { - "source": "iana", - }, - "application/vnd.yellowriver-custom-menu": { - "source": "iana", - "extensions": ["cmp"], - }, - "application/vnd.zul": { - "source": "iana", - "extensions": ["zir", "zirz"], - }, - "application/vnd.zzazz.deck+xml": { - "source": "iana", - "compressible": true, - "extensions": ["zaz"], - }, - "application/voicexml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["vxml"], - }, - "application/voucher-cms+json": { - "source": "iana", - "compressible": true, - }, - "application/vp": { - "source": "iana", - }, - "application/vq-rtcpxr": { - "source": "iana", - }, - "application/wasm": { - "source": "iana", - "compressible": true, - "extensions": ["wasm"], - }, - "application/watcherinfo+xml": { - "source": "iana", - "compressible": true, - "extensions": ["wif"], - }, - "application/webpush-options+json": { - "source": "iana", - "compressible": true, - }, - "application/whoispp-query": { - "source": "iana", - }, - "application/whoispp-response": { - "source": "iana", - }, - "application/widget": { - "source": "iana", - "extensions": ["wgt"], - }, - "application/winhlp": { - "source": "apache", - "extensions": ["hlp"], - }, - "application/wita": { - "source": "iana", - }, - "application/wordperfect5.1": { - "source": "iana", - }, - "application/wsdl+xml": { - "source": "iana", - "compressible": true, - "extensions": ["wsdl"], - }, - "application/wspolicy+xml": { - "source": "iana", - "compressible": true, - "extensions": ["wspolicy"], - }, - "application/x-7z-compressed": { - "source": "apache", - "compressible": false, - "extensions": ["7z"], - }, - "application/x-abiword": { - "source": "apache", - "extensions": ["abw"], - }, - "application/x-ace-compressed": { - "source": "apache", - "extensions": ["ace"], - }, - "application/x-amf": { - "source": "apache", - }, - "application/x-apple-diskimage": { - "source": "apache", - "extensions": ["dmg"], - }, - "application/x-arj": { - "compressible": false, - "extensions": ["arj"], - }, - "application/x-authorware-bin": { - "source": "apache", - "extensions": ["aab", "x32", "u32", "vox"], - }, - "application/x-authorware-map": { - "source": "apache", - "extensions": ["aam"], - }, - "application/x-authorware-seg": { - "source": "apache", - "extensions": ["aas"], - }, - "application/x-bcpio": { - "source": "apache", - "extensions": ["bcpio"], - }, - "application/x-bdoc": { - "compressible": false, - "extensions": ["bdoc"], - }, - "application/x-bittorrent": { - "source": "apache", - "extensions": ["torrent"], - }, - "application/x-blorb": { - "source": "apache", - "extensions": ["blb", "blorb"], - }, - "application/x-bzip": { - "source": "apache", - "compressible": false, - "extensions": ["bz"], - }, - "application/x-bzip2": { - "source": "apache", - "compressible": false, - "extensions": ["bz2", "boz"], - }, - "application/x-cbr": { - "source": "apache", - "extensions": ["cbr", "cba", "cbt", "cbz", "cb7"], - }, - "application/x-cdlink": { - "source": "apache", - "extensions": ["vcd"], - }, - "application/x-cfs-compressed": { - "source": "apache", - "extensions": ["cfs"], - }, - "application/x-chat": { - "source": "apache", - "extensions": ["chat"], - }, - "application/x-chess-pgn": { - "source": "apache", - "extensions": ["pgn"], - }, - "application/x-chrome-extension": { - "extensions": ["crx"], - }, - "application/x-cocoa": { - "source": "nginx", - "extensions": ["cco"], - }, - "application/x-compress": { - "source": "apache", - }, - "application/x-conference": { - "source": "apache", - "extensions": ["nsc"], - }, - "application/x-cpio": { - "source": "apache", - "extensions": ["cpio"], - }, - "application/x-csh": { - "source": "apache", - "extensions": ["csh"], - }, - "application/x-deb": { - "compressible": false, - }, - "application/x-debian-package": { - "source": "apache", - "extensions": ["deb", "udeb"], - }, - "application/x-dgc-compressed": { - "source": "apache", - "extensions": ["dgc"], - }, - "application/x-director": { - "source": "apache", - "extensions": [ - "dir", - "dcr", - "dxr", - "cst", - "cct", - "cxt", - "w3d", - "fgd", - "swa", - ], - }, - "application/x-doom": { - "source": "apache", - "extensions": ["wad"], - }, - "application/x-dtbncx+xml": { - "source": "apache", - "compressible": true, - "extensions": ["ncx"], - }, - "application/x-dtbook+xml": { - "source": "apache", - "compressible": true, - "extensions": ["dtb"], - }, - "application/x-dtbresource+xml": { - "source": "apache", - "compressible": true, - "extensions": ["res"], - }, - "application/x-dvi": { - "source": "apache", - "compressible": false, - "extensions": ["dvi"], - }, - "application/x-envoy": { - "source": "apache", - "extensions": ["evy"], - }, - "application/x-eva": { - "source": "apache", - "extensions": ["eva"], - }, - "application/x-font-bdf": { - "source": "apache", - "extensions": ["bdf"], - }, - "application/x-font-dos": { - "source": "apache", - }, - "application/x-font-framemaker": { - "source": "apache", - }, - "application/x-font-ghostscript": { - "source": "apache", - "extensions": ["gsf"], - }, - "application/x-font-libgrx": { - "source": "apache", - }, - "application/x-font-linux-psf": { - "source": "apache", - "extensions": ["psf"], - }, - "application/x-font-pcf": { - "source": "apache", - "extensions": ["pcf"], - }, - "application/x-font-snf": { - "source": "apache", - "extensions": ["snf"], - }, - "application/x-font-speedo": { - "source": "apache", - }, - "application/x-font-sunos-news": { - "source": "apache", - }, - "application/x-font-type1": { - "source": "apache", - "extensions": ["pfa", "pfb", "pfm", "afm"], - }, - "application/x-font-vfont": { - "source": "apache", - }, - "application/x-freearc": { - "source": "apache", - "extensions": ["arc"], - }, - "application/x-futuresplash": { - "source": "apache", - "extensions": ["spl"], - }, - "application/x-gca-compressed": { - "source": "apache", - "extensions": ["gca"], - }, - "application/x-glulx": { - "source": "apache", - "extensions": ["ulx"], - }, - "application/x-gnumeric": { - "source": "apache", - "extensions": ["gnumeric"], - }, - "application/x-gramps-xml": { - "source": "apache", - "extensions": ["gramps"], - }, - "application/x-gtar": { - "source": "apache", - "extensions": ["gtar"], - }, - "application/x-gzip": { - "source": "apache", - }, - "application/x-hdf": { - "source": "apache", - "extensions": ["hdf"], - }, - "application/x-httpd-php": { - "compressible": true, - "extensions": ["php"], - }, - "application/x-install-instructions": { - "source": "apache", - "extensions": ["install"], - }, - "application/x-iso9660-image": { - "source": "apache", - "extensions": ["iso"], - }, - "application/x-iwork-keynote-sffkey": { - "extensions": ["key"], - }, - "application/x-iwork-numbers-sffnumbers": { - "extensions": ["numbers"], - }, - "application/x-iwork-pages-sffpages": { - "extensions": ["pages"], - }, - "application/x-java-archive-diff": { - "source": "nginx", - "extensions": ["jardiff"], - }, - "application/x-java-jnlp-file": { - "source": "apache", - "compressible": false, - "extensions": ["jnlp"], - }, - "application/x-javascript": { - "compressible": true, - }, - "application/x-keepass2": { - "extensions": ["kdbx"], - }, - "application/x-latex": { - "source": "apache", - "compressible": false, - "extensions": ["latex"], - }, - "application/x-lua-bytecode": { - "extensions": ["luac"], - }, - "application/x-lzh-compressed": { - "source": "apache", - "extensions": ["lzh", "lha"], - }, - "application/x-makeself": { - "source": "nginx", - "extensions": ["run"], - }, - "application/x-mie": { - "source": "apache", - "extensions": ["mie"], - }, - "application/x-mobipocket-ebook": { - "source": "apache", - "extensions": ["prc", "mobi"], - }, - "application/x-mpegurl": { - "compressible": false, - }, - "application/x-ms-application": { - "source": "apache", - "extensions": ["application"], - }, - "application/x-ms-shortcut": { - "source": "apache", - "extensions": ["lnk"], - }, - "application/x-ms-wmd": { - "source": "apache", - "extensions": ["wmd"], - }, - "application/x-ms-wmz": { - "source": "apache", - "extensions": ["wmz"], - }, - "application/x-ms-xbap": { - "source": "apache", - "extensions": ["xbap"], - }, - "application/x-msaccess": { - "source": "apache", - "extensions": ["mdb"], - }, - "application/x-msbinder": { - "source": "apache", - "extensions": ["obd"], - }, - "application/x-mscardfile": { - "source": "apache", - "extensions": ["crd"], - }, - "application/x-msclip": { - "source": "apache", - "extensions": ["clp"], - }, - "application/x-msdos-program": { - "extensions": ["exe"], - }, - "application/x-msdownload": { - "source": "apache", - "extensions": ["exe", "dll", "com", "bat", "msi"], - }, - "application/x-msmediaview": { - "source": "apache", - "extensions": ["mvb", "m13", "m14"], - }, - "application/x-msmetafile": { - "source": "apache", - "extensions": ["wmf", "wmz", "emf", "emz"], - }, - "application/x-msmoney": { - "source": "apache", - "extensions": ["mny"], - }, - "application/x-mspublisher": { - "source": "apache", - "extensions": ["pub"], - }, - "application/x-msschedule": { - "source": "apache", - "extensions": ["scd"], - }, - "application/x-msterminal": { - "source": "apache", - "extensions": ["trm"], - }, - "application/x-mswrite": { - "source": "apache", - "extensions": ["wri"], - }, - "application/x-netcdf": { - "source": "apache", - "extensions": ["nc", "cdf"], - }, - "application/x-ns-proxy-autoconfig": { - "compressible": true, - "extensions": ["pac"], - }, - "application/x-nzb": { - "source": "apache", - "extensions": ["nzb"], - }, - "application/x-perl": { - "source": "nginx", - "extensions": ["pl", "pm"], - }, - "application/x-pilot": { - "source": "nginx", - "extensions": ["prc", "pdb"], - }, - "application/x-pkcs12": { - "source": "apache", - "compressible": false, - "extensions": ["p12", "pfx"], - }, - "application/x-pkcs7-certificates": { - "source": "apache", - "extensions": ["p7b", "spc"], - }, - "application/x-pkcs7-certreqresp": { - "source": "apache", - "extensions": ["p7r"], - }, - "application/x-pki-message": { - "source": "iana", - }, - "application/x-rar-compressed": { - "source": "apache", - "compressible": false, - "extensions": ["rar"], - }, - "application/x-redhat-package-manager": { - "source": "nginx", - "extensions": ["rpm"], - }, - "application/x-research-info-systems": { - "source": "apache", - "extensions": ["ris"], - }, - "application/x-sea": { - "source": "nginx", - "extensions": ["sea"], - }, - "application/x-sh": { - "source": "apache", - "compressible": true, - "extensions": ["sh"], - }, - "application/x-shar": { - "source": "apache", - "extensions": ["shar"], - }, - "application/x-shockwave-flash": { - "source": "apache", - "compressible": false, - "extensions": ["swf"], - }, - "application/x-silverlight-app": { - "source": "apache", - "extensions": ["xap"], - }, - "application/x-sql": { - "source": "apache", - "extensions": ["sql"], - }, - "application/x-stuffit": { - "source": "apache", - "compressible": false, - "extensions": ["sit"], - }, - "application/x-stuffitx": { - "source": "apache", - "extensions": ["sitx"], - }, - "application/x-subrip": { - "source": "apache", - "extensions": ["srt"], - }, - "application/x-sv4cpio": { - "source": "apache", - "extensions": ["sv4cpio"], - }, - "application/x-sv4crc": { - "source": "apache", - "extensions": ["sv4crc"], - }, - "application/x-t3vm-image": { - "source": "apache", - "extensions": ["t3"], - }, - "application/x-tads": { - "source": "apache", - "extensions": ["gam"], - }, - "application/x-tar": { - "source": "apache", - "compressible": true, - "extensions": ["tar"], - }, - "application/x-tcl": { - "source": "apache", - "extensions": ["tcl", "tk"], - }, - "application/x-tex": { - "source": "apache", - "extensions": ["tex"], - }, - "application/x-tex-tfm": { - "source": "apache", - "extensions": ["tfm"], - }, - "application/x-texinfo": { - "source": "apache", - "extensions": ["texinfo", "texi"], - }, - "application/x-tgif": { - "source": "apache", - "extensions": ["obj"], - }, - "application/x-ustar": { - "source": "apache", - "extensions": ["ustar"], - }, - "application/x-virtualbox-hdd": { - "compressible": true, - "extensions": ["hdd"], - }, - "application/x-virtualbox-ova": { - "compressible": true, - "extensions": ["ova"], - }, - "application/x-virtualbox-ovf": { - "compressible": true, - "extensions": ["ovf"], - }, - "application/x-virtualbox-vbox": { - "compressible": true, - "extensions": ["vbox"], - }, - "application/x-virtualbox-vbox-extpack": { - "compressible": false, - "extensions": ["vbox-extpack"], - }, - "application/x-virtualbox-vdi": { - "compressible": true, - "extensions": ["vdi"], - }, - "application/x-virtualbox-vhd": { - "compressible": true, - "extensions": ["vhd"], - }, - "application/x-virtualbox-vmdk": { - "compressible": true, - "extensions": ["vmdk"], - }, - "application/x-wais-source": { - "source": "apache", - "extensions": ["src"], - }, - "application/x-web-app-manifest+json": { - "compressible": true, - "extensions": ["webapp"], - }, - "application/x-www-form-urlencoded": { - "source": "iana", - "compressible": true, - }, - "application/x-x509-ca-cert": { - "source": "iana", - "extensions": ["der", "crt", "pem"], - }, - "application/x-x509-ca-ra-cert": { - "source": "iana", - }, - "application/x-x509-next-ca-cert": { - "source": "iana", - }, - "application/x-xfig": { - "source": "apache", - "extensions": ["fig"], - }, - "application/x-xliff+xml": { - "source": "apache", - "compressible": true, - "extensions": ["xlf"], - }, - "application/x-xpinstall": { - "source": "apache", - "compressible": false, - "extensions": ["xpi"], - }, - "application/x-xz": { - "source": "apache", - "extensions": ["xz"], - }, - "application/x-zmachine": { - "source": "apache", - "extensions": ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"], - }, - "application/x400-bp": { - "source": "iana", - }, - "application/xacml+xml": { - "source": "iana", - "compressible": true, - }, - "application/xaml+xml": { - "source": "apache", - "compressible": true, - "extensions": ["xaml"], - }, - "application/xcap-att+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xav"], - }, - "application/xcap-caps+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xca"], - }, - "application/xcap-diff+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xdf"], - }, - "application/xcap-el+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xel"], - }, - "application/xcap-error+xml": { - "source": "iana", - "compressible": true, - }, - "application/xcap-ns+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xns"], - }, - "application/xcon-conference-info+xml": { - "source": "iana", - "compressible": true, - }, - "application/xcon-conference-info-diff+xml": { - "source": "iana", - "compressible": true, - }, - "application/xenc+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xenc"], - }, - "application/xfdf": { - "source": "iana", - "extensions": ["xfdf"], - }, - "application/xhtml+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xhtml", "xht"], - }, - "application/xhtml-voice+xml": { - "source": "apache", - "compressible": true, - }, - "application/xliff+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xlf"], - }, - "application/xml": { - "source": "iana", - "compressible": true, - "extensions": ["xml", "xsl", "xsd", "rng"], - }, - "application/xml-dtd": { - "source": "iana", - "compressible": true, - "extensions": ["dtd"], - }, - "application/xml-external-parsed-entity": { - "source": "iana", - }, - "application/xml-patch+xml": { - "source": "iana", - "compressible": true, - }, - "application/xmpp+xml": { - "source": "iana", - "compressible": true, - }, - "application/xop+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xop"], - }, - "application/xproc+xml": { - "source": "apache", - "compressible": true, - "extensions": ["xpl"], - }, - "application/xslt+xml": { - "source": "iana", - "compressible": true, - "extensions": ["xsl", "xslt"], - }, - "application/xspf+xml": { - "source": "apache", - "compressible": true, - "extensions": ["xspf"], - }, - "application/xv+xml": { - "source": "iana", - "compressible": true, - "extensions": ["mxml", "xhvml", "xvml", "xvm"], - }, - "application/yaml": { - "source": "iana", - }, - "application/yang": { - "source": "iana", - "extensions": ["yang"], - }, - "application/yang-data+cbor": { - "source": "iana", - }, - "application/yang-data+json": { - "source": "iana", - "compressible": true, - }, - "application/yang-data+xml": { - "source": "iana", - "compressible": true, - }, - "application/yang-patch+json": { - "source": "iana", - "compressible": true, - }, - "application/yang-patch+xml": { - "source": "iana", - "compressible": true, - }, - "application/yang-sid+json": { - "source": "iana", - "compressible": true, - }, - "application/yin+xml": { - "source": "iana", - "compressible": true, - "extensions": ["yin"], - }, - "application/zip": { - "source": "iana", - "compressible": false, - "extensions": ["zip"], - }, - "application/zlib": { - "source": "iana", - }, - "application/zstd": { - "source": "iana", - }, - "audio/1d-interleaved-parityfec": { - "source": "iana", - }, - "audio/32kadpcm": { - "source": "iana", - }, - "audio/3gpp": { - "source": "iana", - "compressible": false, - "extensions": ["3gpp"], - }, - "audio/3gpp2": { - "source": "iana", - }, - "audio/aac": { - "source": "iana", - "extensions": ["adts", "aac"], - }, - "audio/ac3": { - "source": "iana", - }, - "audio/adpcm": { - "source": "apache", - "extensions": ["adp"], - }, - "audio/amr": { - "source": "iana", - "extensions": ["amr"], - }, - "audio/amr-wb": { - "source": "iana", - }, - "audio/amr-wb+": { - "source": "iana", - }, - "audio/aptx": { - "source": "iana", - }, - "audio/asc": { - "source": "iana", - }, - "audio/atrac-advanced-lossless": { - "source": "iana", - }, - "audio/atrac-x": { - "source": "iana", - }, - "audio/atrac3": { - "source": "iana", - }, - "audio/basic": { - "source": "iana", - "compressible": false, - "extensions": ["au", "snd"], - }, - "audio/bv16": { - "source": "iana", - }, - "audio/bv32": { - "source": "iana", - }, - "audio/clearmode": { - "source": "iana", - }, - "audio/cn": { - "source": "iana", - }, - "audio/dat12": { - "source": "iana", - }, - "audio/dls": { - "source": "iana", - }, - "audio/dsr-es201108": { - "source": "iana", - }, - "audio/dsr-es202050": { - "source": "iana", - }, - "audio/dsr-es202211": { - "source": "iana", - }, - "audio/dsr-es202212": { - "source": "iana", - }, - "audio/dv": { - "source": "iana", - }, - "audio/dvi4": { - "source": "iana", - }, - "audio/eac3": { - "source": "iana", - }, - "audio/encaprtp": { - "source": "iana", - }, - "audio/evrc": { - "source": "iana", - }, - "audio/evrc-qcp": { - "source": "iana", - }, - "audio/evrc0": { - "source": "iana", - }, - "audio/evrc1": { - "source": "iana", - }, - "audio/evrcb": { - "source": "iana", - }, - "audio/evrcb0": { - "source": "iana", - }, - "audio/evrcb1": { - "source": "iana", - }, - "audio/evrcnw": { - "source": "iana", - }, - "audio/evrcnw0": { - "source": "iana", - }, - "audio/evrcnw1": { - "source": "iana", - }, - "audio/evrcwb": { - "source": "iana", - }, - "audio/evrcwb0": { - "source": "iana", - }, - "audio/evrcwb1": { - "source": "iana", - }, - "audio/evs": { - "source": "iana", - }, - "audio/flac": { - "source": "iana", - }, - "audio/flexfec": { - "source": "iana", - }, - "audio/fwdred": { - "source": "iana", - }, - "audio/g711-0": { - "source": "iana", - }, - "audio/g719": { - "source": "iana", - }, - "audio/g722": { - "source": "iana", - }, - "audio/g7221": { - "source": "iana", - }, - "audio/g723": { - "source": "iana", - }, - "audio/g726-16": { - "source": "iana", - }, - "audio/g726-24": { - "source": "iana", - }, - "audio/g726-32": { - "source": "iana", - }, - "audio/g726-40": { - "source": "iana", - }, - "audio/g728": { - "source": "iana", - }, - "audio/g729": { - "source": "iana", - }, - "audio/g7291": { - "source": "iana", - }, - "audio/g729d": { - "source": "iana", - }, - "audio/g729e": { - "source": "iana", - }, - "audio/gsm": { - "source": "iana", - }, - "audio/gsm-efr": { - "source": "iana", - }, - "audio/gsm-hr-08": { - "source": "iana", - }, - "audio/ilbc": { - "source": "iana", - }, - "audio/ip-mr_v2.5": { - "source": "iana", - }, - "audio/isac": { - "source": "apache", - }, - "audio/l16": { - "source": "iana", - }, - "audio/l20": { - "source": "iana", - }, - "audio/l24": { - "source": "iana", - "compressible": false, - }, - "audio/l8": { - "source": "iana", - }, - "audio/lpc": { - "source": "iana", - }, - "audio/matroska": { - "source": "iana", - }, - "audio/melp": { - "source": "iana", - }, - "audio/melp1200": { - "source": "iana", - }, - "audio/melp2400": { - "source": "iana", - }, - "audio/melp600": { - "source": "iana", - }, - "audio/mhas": { - "source": "iana", - }, - "audio/midi": { - "source": "apache", - "extensions": ["mid", "midi", "kar", "rmi"], - }, - "audio/midi-clip": { - "source": "iana", - }, - "audio/mobile-xmf": { - "source": "iana", - "extensions": ["mxmf"], - }, - "audio/mp3": { - "compressible": false, - "extensions": ["mp3"], - }, - "audio/mp4": { - "source": "iana", - "compressible": false, - "extensions": ["m4a", "mp4a"], - }, - "audio/mp4a-latm": { - "source": "iana", - }, - "audio/mpa": { - "source": "iana", - }, - "audio/mpa-robust": { - "source": "iana", - }, - "audio/mpeg": { - "source": "iana", - "compressible": false, - "extensions": ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"], - }, - "audio/mpeg4-generic": { - "source": "iana", - }, - "audio/musepack": { - "source": "apache", - }, - "audio/ogg": { - "source": "iana", - "compressible": false, - "extensions": ["oga", "ogg", "spx", "opus"], - }, - "audio/opus": { - "source": "iana", - }, - "audio/parityfec": { - "source": "iana", - }, - "audio/pcma": { - "source": "iana", - }, - "audio/pcma-wb": { - "source": "iana", - }, - "audio/pcmu": { - "source": "iana", - }, - "audio/pcmu-wb": { - "source": "iana", - }, - "audio/prs.sid": { - "source": "iana", - }, - "audio/qcelp": { - "source": "iana", - }, - "audio/raptorfec": { - "source": "iana", - }, - "audio/red": { - "source": "iana", - }, - "audio/rtp-enc-aescm128": { - "source": "iana", - }, - "audio/rtp-midi": { - "source": "iana", - }, - "audio/rtploopback": { - "source": "iana", - }, - "audio/rtx": { - "source": "iana", - }, - "audio/s3m": { - "source": "apache", - "extensions": ["s3m"], - }, - "audio/scip": { - "source": "iana", - }, - "audio/silk": { - "source": "apache", - "extensions": ["sil"], - }, - "audio/smv": { - "source": "iana", - }, - "audio/smv-qcp": { - "source": "iana", - }, - "audio/smv0": { - "source": "iana", - }, - "audio/sofa": { - "source": "iana", - }, - "audio/sp-midi": { - "source": "iana", - }, - "audio/speex": { - "source": "iana", - }, - "audio/t140c": { - "source": "iana", - }, - "audio/t38": { - "source": "iana", - }, - "audio/telephone-event": { - "source": "iana", - }, - "audio/tetra_acelp": { - "source": "iana", - }, - "audio/tetra_acelp_bb": { - "source": "iana", - }, - "audio/tone": { - "source": "iana", - }, - "audio/tsvcis": { - "source": "iana", - }, - "audio/uemclip": { - "source": "iana", - }, - "audio/ulpfec": { - "source": "iana", - }, - "audio/usac": { - "source": "iana", - }, - "audio/vdvi": { - "source": "iana", - }, - "audio/vmr-wb": { - "source": "iana", - }, - "audio/vnd.3gpp.iufp": { - "source": "iana", - }, - "audio/vnd.4sb": { - "source": "iana", - }, - "audio/vnd.audiokoz": { - "source": "iana", - }, - "audio/vnd.celp": { - "source": "iana", - }, - "audio/vnd.cisco.nse": { - "source": "iana", - }, - "audio/vnd.cmles.radio-events": { - "source": "iana", - }, - "audio/vnd.cns.anp1": { - "source": "iana", - }, - "audio/vnd.cns.inf1": { - "source": "iana", - }, - "audio/vnd.dece.audio": { - "source": "iana", - "extensions": ["uva", "uvva"], - }, - "audio/vnd.digital-winds": { - "source": "iana", - "extensions": ["eol"], - }, - "audio/vnd.dlna.adts": { - "source": "iana", - }, - "audio/vnd.dolby.heaac.1": { - "source": "iana", - }, - "audio/vnd.dolby.heaac.2": { - "source": "iana", - }, - "audio/vnd.dolby.mlp": { - "source": "iana", - }, - "audio/vnd.dolby.mps": { - "source": "iana", - }, - "audio/vnd.dolby.pl2": { - "source": "iana", - }, - "audio/vnd.dolby.pl2x": { - "source": "iana", - }, - "audio/vnd.dolby.pl2z": { - "source": "iana", - }, - "audio/vnd.dolby.pulse.1": { - "source": "iana", - }, - "audio/vnd.dra": { - "source": "iana", - "extensions": ["dra"], - }, - "audio/vnd.dts": { - "source": "iana", - "extensions": ["dts"], - }, - "audio/vnd.dts.hd": { - "source": "iana", - "extensions": ["dtshd"], - }, - "audio/vnd.dts.uhd": { - "source": "iana", - }, - "audio/vnd.dvb.file": { - "source": "iana", - }, - "audio/vnd.everad.plj": { - "source": "iana", - }, - "audio/vnd.hns.audio": { - "source": "iana", - }, - "audio/vnd.lucent.voice": { - "source": "iana", - "extensions": ["lvp"], - }, - "audio/vnd.ms-playready.media.pya": { - "source": "iana", - "extensions": ["pya"], - }, - "audio/vnd.nokia.mobile-xmf": { - "source": "iana", - }, - "audio/vnd.nortel.vbk": { - "source": "iana", - }, - "audio/vnd.nuera.ecelp4800": { - "source": "iana", - "extensions": ["ecelp4800"], - }, - "audio/vnd.nuera.ecelp7470": { - "source": "iana", - "extensions": ["ecelp7470"], - }, - "audio/vnd.nuera.ecelp9600": { - "source": "iana", - "extensions": ["ecelp9600"], - }, - "audio/vnd.octel.sbc": { - "source": "iana", - }, - "audio/vnd.presonus.multitrack": { - "source": "iana", - }, - "audio/vnd.qcelp": { - "source": "apache", - }, - "audio/vnd.rhetorex.32kadpcm": { - "source": "iana", - }, - "audio/vnd.rip": { - "source": "iana", - "extensions": ["rip"], - }, - "audio/vnd.rn-realaudio": { - "compressible": false, - }, - "audio/vnd.sealedmedia.softseal.mpeg": { - "source": "iana", - }, - "audio/vnd.vmx.cvsd": { - "source": "iana", - }, - "audio/vnd.wave": { - "compressible": false, - }, - "audio/vorbis": { - "source": "iana", - "compressible": false, - }, - "audio/vorbis-config": { - "source": "iana", - }, - "audio/wav": { - "compressible": false, - "extensions": ["wav"], - }, - "audio/wave": { - "compressible": false, - "extensions": ["wav"], - }, - "audio/webm": { - "source": "apache", - "compressible": false, - "extensions": ["weba"], - }, - "audio/x-aac": { - "source": "apache", - "compressible": false, - "extensions": ["aac"], - }, - "audio/x-aiff": { - "source": "apache", - "extensions": ["aif", "aiff", "aifc"], - }, - "audio/x-caf": { - "source": "apache", - "compressible": false, - "extensions": ["caf"], - }, - "audio/x-flac": { - "source": "apache", - "extensions": ["flac"], - }, - "audio/x-m4a": { - "source": "nginx", - "extensions": ["m4a"], - }, - "audio/x-matroska": { - "source": "apache", - "extensions": ["mka"], - }, - "audio/x-mpegurl": { - "source": "apache", - "extensions": ["m3u"], - }, - "audio/x-ms-wax": { - "source": "apache", - "extensions": ["wax"], - }, - "audio/x-ms-wma": { - "source": "apache", - "extensions": ["wma"], - }, - "audio/x-pn-realaudio": { - "source": "apache", - "extensions": ["ram", "ra"], - }, - "audio/x-pn-realaudio-plugin": { - "source": "apache", - "extensions": ["rmp"], - }, - "audio/x-realaudio": { - "source": "nginx", - "extensions": ["ra"], - }, - "audio/x-tta": { - "source": "apache", - }, - "audio/x-wav": { - "source": "apache", - "extensions": ["wav"], - }, - "audio/xm": { - "source": "apache", - "extensions": ["xm"], - }, - "chemical/x-cdx": { - "source": "apache", - "extensions": ["cdx"], - }, - "chemical/x-cif": { - "source": "apache", - "extensions": ["cif"], - }, - "chemical/x-cmdf": { - "source": "apache", - "extensions": ["cmdf"], - }, - "chemical/x-cml": { - "source": "apache", - "extensions": ["cml"], - }, - "chemical/x-csml": { - "source": "apache", - "extensions": ["csml"], - }, - "chemical/x-pdb": { - "source": "apache", - }, - "chemical/x-xyz": { - "source": "apache", - "extensions": ["xyz"], - }, - "font/collection": { - "source": "iana", - "extensions": ["ttc"], - }, - "font/otf": { - "source": "iana", - "compressible": true, - "extensions": ["otf"], - }, - "font/sfnt": { - "source": "iana", - }, - "font/ttf": { - "source": "iana", - "compressible": true, - "extensions": ["ttf"], - }, - "font/woff": { - "source": "iana", - "extensions": ["woff"], - }, - "font/woff2": { - "source": "iana", - "extensions": ["woff2"], - }, - "image/aces": { - "source": "iana", - "extensions": ["exr"], - }, - "image/apng": { - "source": "iana", - "compressible": false, - "extensions": ["apng"], - }, - "image/avci": { - "source": "iana", - "extensions": ["avci"], - }, - "image/avcs": { - "source": "iana", - "extensions": ["avcs"], - }, - "image/avif": { - "source": "iana", - "compressible": false, - "extensions": ["avif"], - }, - "image/bmp": { - "source": "iana", - "compressible": true, - "extensions": ["bmp", "dib"], - }, - "image/cgm": { - "source": "iana", - "extensions": ["cgm"], - }, - "image/dicom-rle": { - "source": "iana", - "extensions": ["drle"], - }, - "image/dpx": { - "source": "iana", - "extensions": ["dpx"], - }, - "image/emf": { - "source": "iana", - "extensions": ["emf"], - }, - "image/fits": { - "source": "iana", - "extensions": ["fits"], - }, - "image/g3fax": { - "source": "iana", - "extensions": ["g3"], - }, - "image/gif": { - "source": "iana", - "compressible": false, - "extensions": ["gif"], - }, - "image/heic": { - "source": "iana", - "extensions": ["heic"], - }, - "image/heic-sequence": { - "source": "iana", - "extensions": ["heics"], - }, - "image/heif": { - "source": "iana", - "extensions": ["heif"], - }, - "image/heif-sequence": { - "source": "iana", - "extensions": ["heifs"], - }, - "image/hej2k": { - "source": "iana", - "extensions": ["hej2"], - }, - "image/hsj2": { - "source": "iana", - "extensions": ["hsj2"], - }, - "image/ief": { - "source": "iana", - "extensions": ["ief"], - }, - "image/j2c": { - "source": "iana", - }, - "image/jls": { - "source": "iana", - "extensions": ["jls"], - }, - "image/jp2": { - "source": "iana", - "compressible": false, - "extensions": ["jp2", "jpg2"], - }, - "image/jpeg": { - "source": "iana", - "compressible": false, - "extensions": ["jpeg", "jpg", "jpe"], - }, - "image/jph": { - "source": "iana", - "extensions": ["jph"], - }, - "image/jphc": { - "source": "iana", - "extensions": ["jhc"], - }, - "image/jpm": { - "source": "iana", - "compressible": false, - "extensions": ["jpm", "jpgm"], - }, - "image/jpx": { - "source": "iana", - "compressible": false, - "extensions": ["jpx", "jpf"], - }, - "image/jxl": { - "source": "iana", - "extensions": ["jxl"], - }, - "image/jxr": { - "source": "iana", - "extensions": ["jxr"], - }, - "image/jxra": { - "source": "iana", - "extensions": ["jxra"], - }, - "image/jxrs": { - "source": "iana", - "extensions": ["jxrs"], - }, - "image/jxs": { - "source": "iana", - "extensions": ["jxs"], - }, - "image/jxsc": { - "source": "iana", - "extensions": ["jxsc"], - }, - "image/jxsi": { - "source": "iana", - "extensions": ["jxsi"], - }, - "image/jxss": { - "source": "iana", - "extensions": ["jxss"], - }, - "image/ktx": { - "source": "iana", - "extensions": ["ktx"], - }, - "image/ktx2": { - "source": "iana", - "extensions": ["ktx2"], - }, - "image/naplps": { - "source": "iana", - }, - "image/pjpeg": { - "compressible": false, - }, - "image/png": { - "source": "iana", - "compressible": false, - "extensions": ["png"], - }, - "image/prs.btif": { - "source": "iana", - "extensions": ["btif", "btf"], - }, - "image/prs.pti": { - "source": "iana", - "extensions": ["pti"], - }, - "image/pwg-raster": { - "source": "iana", - }, - "image/sgi": { - "source": "apache", - "extensions": ["sgi"], - }, - "image/svg+xml": { - "source": "iana", - "compressible": true, - "extensions": ["svg", "svgz"], - }, - "image/t38": { - "source": "iana", - "extensions": ["t38"], - }, - "image/tiff": { - "source": "iana", - "compressible": false, - "extensions": ["tif", "tiff"], - }, - "image/tiff-fx": { - "source": "iana", - "extensions": ["tfx"], - }, - "image/vnd.adobe.photoshop": { - "source": "iana", - "compressible": true, - "extensions": ["psd"], - }, - "image/vnd.airzip.accelerator.azv": { - "source": "iana", - "extensions": ["azv"], - }, - "image/vnd.cns.inf2": { - "source": "iana", - }, - "image/vnd.dece.graphic": { - "source": "iana", - "extensions": ["uvi", "uvvi", "uvg", "uvvg"], - }, - "image/vnd.djvu": { - "source": "iana", - "extensions": ["djvu", "djv"], - }, - "image/vnd.dvb.subtitle": { - "source": "iana", - "extensions": ["sub"], - }, - "image/vnd.dwg": { - "source": "iana", - "extensions": ["dwg"], - }, - "image/vnd.dxf": { - "source": "iana", - "extensions": ["dxf"], - }, - "image/vnd.fastbidsheet": { - "source": "iana", - "extensions": ["fbs"], - }, - "image/vnd.fpx": { - "source": "iana", - "extensions": ["fpx"], - }, - "image/vnd.fst": { - "source": "iana", - "extensions": ["fst"], - }, - "image/vnd.fujixerox.edmics-mmr": { - "source": "iana", - "extensions": ["mmr"], - }, - "image/vnd.fujixerox.edmics-rlc": { - "source": "iana", - "extensions": ["rlc"], - }, - "image/vnd.globalgraphics.pgb": { - "source": "iana", - }, - "image/vnd.microsoft.icon": { - "source": "iana", - "compressible": true, - "extensions": ["ico"], - }, - "image/vnd.mix": { - "source": "iana", - }, - "image/vnd.mozilla.apng": { - "source": "iana", - }, - "image/vnd.ms-dds": { - "compressible": true, - "extensions": ["dds"], - }, - "image/vnd.ms-modi": { - "source": "iana", - "extensions": ["mdi"], - }, - "image/vnd.ms-photo": { - "source": "apache", - "extensions": ["wdp"], - }, - "image/vnd.net-fpx": { - "source": "iana", - "extensions": ["npx"], - }, - "image/vnd.pco.b16": { - "source": "iana", - "extensions": ["b16"], - }, - "image/vnd.radiance": { - "source": "iana", - }, - "image/vnd.sealed.png": { - "source": "iana", - }, - "image/vnd.sealedmedia.softseal.gif": { - "source": "iana", - }, - "image/vnd.sealedmedia.softseal.jpg": { - "source": "iana", - }, - "image/vnd.svf": { - "source": "iana", - }, - "image/vnd.tencent.tap": { - "source": "iana", - "extensions": ["tap"], - }, - "image/vnd.valve.source.texture": { - "source": "iana", - "extensions": ["vtf"], - }, - "image/vnd.wap.wbmp": { - "source": "iana", - "extensions": ["wbmp"], - }, - "image/vnd.xiff": { - "source": "iana", - "extensions": ["xif"], - }, - "image/vnd.zbrush.pcx": { - "source": "iana", - "extensions": ["pcx"], - }, - "image/webp": { - "source": "iana", - "extensions": ["webp"], - }, - "image/wmf": { - "source": "iana", - "extensions": ["wmf"], - }, - "image/x-3ds": { - "source": "apache", - "extensions": ["3ds"], - }, - "image/x-cmu-raster": { - "source": "apache", - "extensions": ["ras"], - }, - "image/x-cmx": { - "source": "apache", - "extensions": ["cmx"], - }, - "image/x-freehand": { - "source": "apache", - "extensions": ["fh", "fhc", "fh4", "fh5", "fh7"], - }, - "image/x-icon": { - "source": "apache", - "compressible": true, - "extensions": ["ico"], - }, - "image/x-jng": { - "source": "nginx", - "extensions": ["jng"], - }, - "image/x-mrsid-image": { - "source": "apache", - "extensions": ["sid"], - }, - "image/x-ms-bmp": { - "source": "nginx", - "compressible": true, - "extensions": ["bmp"], - }, - "image/x-pcx": { - "source": "apache", - "extensions": ["pcx"], - }, - "image/x-pict": { - "source": "apache", - "extensions": ["pic", "pct"], - }, - "image/x-portable-anymap": { - "source": "apache", - "extensions": ["pnm"], - }, - "image/x-portable-bitmap": { - "source": "apache", - "extensions": ["pbm"], - }, - "image/x-portable-graymap": { - "source": "apache", - "extensions": ["pgm"], - }, - "image/x-portable-pixmap": { - "source": "apache", - "extensions": ["ppm"], - }, - "image/x-rgb": { - "source": "apache", - "extensions": ["rgb"], - }, - "image/x-tga": { - "source": "apache", - "extensions": ["tga"], - }, - "image/x-xbitmap": { - "source": "apache", - "extensions": ["xbm"], - }, - "image/x-xcf": { - "compressible": false, - }, - "image/x-xpixmap": { - "source": "apache", - "extensions": ["xpm"], - }, - "image/x-xwindowdump": { - "source": "apache", - "extensions": ["xwd"], - }, - "message/bhttp": { - "source": "iana", - }, - "message/cpim": { - "source": "iana", - }, - "message/delivery-status": { - "source": "iana", - }, - "message/disposition-notification": { - "source": "iana", - "extensions": [ - "disposition-notification", - ], - }, - "message/external-body": { - "source": "iana", - }, - "message/feedback-report": { - "source": "iana", - }, - "message/global": { - "source": "iana", - "extensions": ["u8msg"], - }, - "message/global-delivery-status": { - "source": "iana", - "extensions": ["u8dsn"], - }, - "message/global-disposition-notification": { - "source": "iana", - "extensions": ["u8mdn"], - }, - "message/global-headers": { - "source": "iana", - "extensions": ["u8hdr"], - }, - "message/http": { - "source": "iana", - "compressible": false, - }, - "message/imdn+xml": { - "source": "iana", - "compressible": true, - }, - "message/mls": { - "source": "iana", - }, - "message/news": { - "source": "apache", - }, - "message/ohttp-req": { - "source": "iana", - }, - "message/ohttp-res": { - "source": "iana", - }, - "message/partial": { - "source": "iana", - "compressible": false, - }, - "message/rfc822": { - "source": "iana", - "compressible": true, - "extensions": ["eml", "mime"], - }, - "message/s-http": { - "source": "apache", - }, - "message/sip": { - "source": "iana", - }, - "message/sipfrag": { - "source": "iana", - }, - "message/tracking-status": { - "source": "iana", - }, - "message/vnd.si.simp": { - "source": "apache", - }, - "message/vnd.wfa.wsc": { - "source": "iana", - "extensions": ["wsc"], - }, - "model/3mf": { - "source": "iana", - "extensions": ["3mf"], - }, - "model/e57": { - "source": "iana", - }, - "model/gltf+json": { - "source": "iana", - "compressible": true, - "extensions": ["gltf"], - }, - "model/gltf-binary": { - "source": "iana", - "compressible": true, - "extensions": ["glb"], - }, - "model/iges": { - "source": "iana", - "compressible": false, - "extensions": ["igs", "iges"], - }, - "model/jt": { - "source": "iana", - "extensions": ["jt"], - }, - "model/mesh": { - "source": "iana", - "compressible": false, - "extensions": ["msh", "mesh", "silo"], - }, - "model/mtl": { - "source": "iana", - "extensions": ["mtl"], - }, - "model/obj": { - "source": "iana", - "extensions": ["obj"], - }, - "model/prc": { - "source": "iana", - "extensions": ["prc"], - }, - "model/step": { - "source": "iana", - }, - "model/step+xml": { - "source": "iana", - "compressible": true, - "extensions": ["stpx"], - }, - "model/step+zip": { - "source": "iana", - "compressible": false, - "extensions": ["stpz"], - }, - "model/step-xml+zip": { - "source": "iana", - "compressible": false, - "extensions": ["stpxz"], - }, - "model/stl": { - "source": "iana", - "extensions": ["stl"], - }, - "model/u3d": { - "source": "iana", - "extensions": ["u3d"], - }, - "model/vnd.bary": { - "source": "iana", - "extensions": ["bary"], - }, - "model/vnd.cld": { - "source": "iana", - "extensions": ["cld"], - }, - "model/vnd.collada+xml": { - "source": "iana", - "compressible": true, - "extensions": ["dae"], - }, - "model/vnd.dwf": { - "source": "iana", - "extensions": ["dwf"], - }, - "model/vnd.flatland.3dml": { - "source": "iana", - }, - "model/vnd.gdl": { - "source": "iana", - "extensions": ["gdl"], - }, - "model/vnd.gs-gdl": { - "source": "apache", - }, - "model/vnd.gs.gdl": { - "source": "iana", - }, - "model/vnd.gtw": { - "source": "iana", - "extensions": ["gtw"], - }, - "model/vnd.moml+xml": { - "source": "iana", - "compressible": true, - }, - "model/vnd.mts": { - "source": "iana", - "extensions": ["mts"], - }, - "model/vnd.opengex": { - "source": "iana", - "extensions": ["ogex"], - }, - "model/vnd.parasolid.transmit.binary": { - "source": "iana", - "extensions": ["x_b"], - }, - "model/vnd.parasolid.transmit.text": { - "source": "iana", - "extensions": ["x_t"], - }, - "model/vnd.pytha.pyox": { - "source": "iana", - "extensions": ["pyo", "pyox"], - }, - "model/vnd.rosette.annotated-data-model": { - "source": "iana", - }, - "model/vnd.sap.vds": { - "source": "iana", - "extensions": ["vds"], - }, - "model/vnd.usda": { - "source": "iana", - "extensions": ["usda"], - }, - "model/vnd.usdz+zip": { - "source": "iana", - "compressible": false, - "extensions": ["usdz"], - }, - "model/vnd.valve.source.compiled-map": { - "source": "iana", - "extensions": ["bsp"], - }, - "model/vnd.vtu": { - "source": "iana", - "extensions": ["vtu"], - }, - "model/vrml": { - "source": "iana", - "compressible": false, - "extensions": ["wrl", "vrml"], - }, - "model/x3d+binary": { - "source": "apache", - "compressible": false, - "extensions": ["x3db", "x3dbz"], - }, - "model/x3d+fastinfoset": { - "source": "iana", - "extensions": ["x3db"], - }, - "model/x3d+vrml": { - "source": "apache", - "compressible": false, - "extensions": ["x3dv", "x3dvz"], - }, - "model/x3d+xml": { - "source": "iana", - "compressible": true, - "extensions": ["x3d", "x3dz"], - }, - "model/x3d-vrml": { - "source": "iana", - "extensions": ["x3dv"], - }, - "multipart/alternative": { - "source": "iana", - "compressible": false, - }, - "multipart/appledouble": { - "source": "iana", - }, - "multipart/byteranges": { - "source": "iana", - }, - "multipart/digest": { - "source": "iana", - }, - "multipart/encrypted": { - "source": "iana", - "compressible": false, - }, - "multipart/form-data": { - "source": "iana", - "compressible": false, - }, - "multipart/header-set": { - "source": "iana", - }, - "multipart/mixed": { - "source": "iana", - }, - "multipart/multilingual": { - "source": "iana", - }, - "multipart/parallel": { - "source": "iana", - }, - "multipart/related": { - "source": "iana", - "compressible": false, - }, - "multipart/report": { - "source": "iana", - }, - "multipart/signed": { - "source": "iana", - "compressible": false, - }, - "multipart/vnd.bint.med-plus": { - "source": "iana", - }, - "multipart/voice-message": { - "source": "iana", - }, - "multipart/x-mixed-replace": { - "source": "iana", - }, - "text/1d-interleaved-parityfec": { - "source": "iana", - }, - "text/cache-manifest": { - "source": "iana", - "compressible": true, - "extensions": ["appcache", "manifest"], - }, - "text/calendar": { - "source": "iana", - "extensions": ["ics", "ifb"], - }, - "text/calender": { - "compressible": true, - }, - "text/cmd": { - "compressible": true, - }, - "text/coffeescript": { - "extensions": ["coffee", "litcoffee"], - }, - "text/cql": { - "source": "iana", - }, - "text/cql-expression": { - "source": "iana", - }, - "text/cql-identifier": { - "source": "iana", - }, - "text/css": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["css"], - }, - "text/csv": { - "source": "iana", - "compressible": true, - "extensions": ["csv"], - }, - "text/csv-schema": { - "source": "iana", - }, - "text/directory": { - "source": "iana", - }, - "text/dns": { - "source": "iana", - }, - "text/ecmascript": { - "source": "apache", - }, - "text/encaprtp": { - "source": "iana", - }, - "text/enriched": { - "source": "iana", - }, - "text/fhirpath": { - "source": "iana", - }, - "text/flexfec": { - "source": "iana", - }, - "text/fwdred": { - "source": "iana", - }, - "text/gff3": { - "source": "iana", - }, - "text/grammar-ref-list": { - "source": "iana", - }, - "text/hl7v2": { - "source": "iana", - }, - "text/html": { - "source": "iana", - "compressible": true, - "extensions": ["html", "htm", "shtml"], - }, - "text/jade": { - "extensions": ["jade"], - }, - "text/javascript": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["js", "mjs"], - }, - "text/jcr-cnd": { - "source": "iana", - }, - "text/jsx": { - "compressible": true, - "extensions": ["jsx"], - }, - "text/less": { - "compressible": true, - "extensions": ["less"], - }, - "text/markdown": { - "source": "iana", - "compressible": true, - "extensions": ["md", "markdown"], - }, - "text/mathml": { - "source": "nginx", - "extensions": ["mml"], - }, - "text/mdx": { - "compressible": true, - "extensions": ["mdx"], - }, - "text/mizar": { - "source": "iana", - }, - "text/n3": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["n3"], - }, - "text/parameters": { - "source": "iana", - "charset": "UTF-8", - }, - "text/parityfec": { - "source": "iana", - }, - "text/plain": { - "source": "iana", - "compressible": true, - "extensions": ["txt", "text", "conf", "def", "list", "log", "in", "ini"], - }, - "text/provenance-notation": { - "source": "iana", - "charset": "UTF-8", - }, - "text/prs.fallenstein.rst": { - "source": "iana", - }, - "text/prs.lines.tag": { - "source": "iana", - "extensions": ["dsc"], - }, - "text/prs.prop.logic": { - "source": "iana", - }, - "text/prs.texi": { - "source": "iana", - }, - "text/raptorfec": { - "source": "iana", - }, - "text/red": { - "source": "iana", - }, - "text/rfc822-headers": { - "source": "iana", - }, - "text/richtext": { - "source": "iana", - "compressible": true, - "extensions": ["rtx"], - }, - "text/rtf": { - "source": "iana", - "compressible": true, - "extensions": ["rtf"], - }, - "text/rtp-enc-aescm128": { - "source": "iana", - }, - "text/rtploopback": { - "source": "iana", - }, - "text/rtx": { - "source": "iana", - }, - "text/sgml": { - "source": "iana", - "extensions": ["sgml", "sgm"], - }, - "text/shaclc": { - "source": "iana", - }, - "text/shex": { - "source": "iana", - "extensions": ["shex"], - }, - "text/slim": { - "extensions": ["slim", "slm"], - }, - "text/spdx": { - "source": "iana", - "extensions": ["spdx"], - }, - "text/strings": { - "source": "iana", - }, - "text/stylus": { - "extensions": ["stylus", "styl"], - }, - "text/t140": { - "source": "iana", - }, - "text/tab-separated-values": { - "source": "iana", - "compressible": true, - "extensions": ["tsv"], - }, - "text/troff": { - "source": "iana", - "extensions": ["t", "tr", "roff", "man", "me", "ms"], - }, - "text/turtle": { - "source": "iana", - "charset": "UTF-8", - "extensions": ["ttl"], - }, - "text/ulpfec": { - "source": "iana", - }, - "text/uri-list": { - "source": "iana", - "compressible": true, - "extensions": ["uri", "uris", "urls"], - }, - "text/vcard": { - "source": "iana", - "compressible": true, - "extensions": ["vcard"], - }, - "text/vnd.a": { - "source": "iana", - }, - "text/vnd.abc": { - "source": "iana", - }, - "text/vnd.ascii-art": { - "source": "iana", - }, - "text/vnd.curl": { - "source": "iana", - "extensions": ["curl"], - }, - "text/vnd.curl.dcurl": { - "source": "apache", - "extensions": ["dcurl"], - }, - "text/vnd.curl.mcurl": { - "source": "apache", - "extensions": ["mcurl"], - }, - "text/vnd.curl.scurl": { - "source": "apache", - "extensions": ["scurl"], - }, - "text/vnd.debian.copyright": { - "source": "iana", - "charset": "UTF-8", - }, - "text/vnd.dmclientscript": { - "source": "iana", - }, - "text/vnd.dvb.subtitle": { - "source": "iana", - "extensions": ["sub"], - }, - "text/vnd.esmertec.theme-descriptor": { - "source": "iana", - "charset": "UTF-8", - }, - "text/vnd.exchangeable": { - "source": "iana", - }, - "text/vnd.familysearch.gedcom": { - "source": "iana", - "extensions": ["ged"], - }, - "text/vnd.ficlab.flt": { - "source": "iana", - }, - "text/vnd.fly": { - "source": "iana", - "extensions": ["fly"], - }, - "text/vnd.fmi.flexstor": { - "source": "iana", - "extensions": ["flx"], - }, - "text/vnd.gml": { - "source": "iana", - }, - "text/vnd.graphviz": { - "source": "iana", - "extensions": ["gv"], - }, - "text/vnd.hans": { - "source": "iana", - }, - "text/vnd.hgl": { - "source": "iana", - }, - "text/vnd.in3d.3dml": { - "source": "iana", - "extensions": ["3dml"], - }, - "text/vnd.in3d.spot": { - "source": "iana", - "extensions": ["spot"], - }, - "text/vnd.iptc.newsml": { - "source": "iana", - }, - "text/vnd.iptc.nitf": { - "source": "iana", - }, - "text/vnd.latex-z": { - "source": "iana", - }, - "text/vnd.motorola.reflex": { - "source": "iana", - }, - "text/vnd.ms-mediapackage": { - "source": "iana", - }, - "text/vnd.net2phone.commcenter.command": { - "source": "iana", - }, - "text/vnd.radisys.msml-basic-layout": { - "source": "iana", - }, - "text/vnd.senx.warpscript": { - "source": "iana", - }, - "text/vnd.si.uricatalogue": { - "source": "apache", - }, - "text/vnd.sosi": { - "source": "iana", - }, - "text/vnd.sun.j2me.app-descriptor": { - "source": "iana", - "charset": "UTF-8", - "extensions": ["jad"], - }, - "text/vnd.trolltech.linguist": { - "source": "iana", - "charset": "UTF-8", - }, - "text/vnd.vcf": { - "source": "iana", - }, - "text/vnd.wap.si": { - "source": "iana", - }, - "text/vnd.wap.sl": { - "source": "iana", - }, - "text/vnd.wap.wml": { - "source": "iana", - "extensions": ["wml"], - }, - "text/vnd.wap.wmlscript": { - "source": "iana", - "extensions": ["wmls"], - }, - "text/vnd.zoo.kcl": { - "source": "iana", - }, - "text/vtt": { - "source": "iana", - "charset": "UTF-8", - "compressible": true, - "extensions": ["vtt"], - }, - "text/wgsl": { - "source": "iana", - "extensions": ["wgsl"], - }, - "text/x-asm": { - "source": "apache", - "extensions": ["s", "asm"], - }, - "text/x-c": { - "source": "apache", - "extensions": ["c", "cc", "cxx", "cpp", "h", "hh", "dic"], - }, - "text/x-component": { - "source": "nginx", - "extensions": ["htc"], - }, - "text/x-fortran": { - "source": "apache", - "extensions": ["f", "for", "f77", "f90"], - }, - "text/x-gwt-rpc": { - "compressible": true, - }, - "text/x-handlebars-template": { - "extensions": ["hbs"], - }, - "text/x-java-source": { - "source": "apache", - "extensions": ["java"], - }, - "text/x-jquery-tmpl": { - "compressible": true, - }, - "text/x-lua": { - "extensions": ["lua"], - }, - "text/x-markdown": { - "compressible": true, - "extensions": ["mkd"], - }, - "text/x-nfo": { - "source": "apache", - "extensions": ["nfo"], - }, - "text/x-opml": { - "source": "apache", - "extensions": ["opml"], - }, - "text/x-org": { - "compressible": true, - "extensions": ["org"], - }, - "text/x-pascal": { - "source": "apache", - "extensions": ["p", "pas"], - }, - "text/x-processing": { - "compressible": true, - "extensions": ["pde"], - }, - "text/x-sass": { - "extensions": ["sass"], - }, - "text/x-scss": { - "extensions": ["scss"], - }, - "text/x-setext": { - "source": "apache", - "extensions": ["etx"], - }, - "text/x-sfv": { - "source": "apache", - "extensions": ["sfv"], - }, - "text/x-suse-ymp": { - "compressible": true, - "extensions": ["ymp"], - }, - "text/x-uuencode": { - "source": "apache", - "extensions": ["uu"], - }, - "text/x-vcalendar": { - "source": "apache", - "extensions": ["vcs"], - }, - "text/x-vcard": { - "source": "apache", - "extensions": ["vcf"], - }, - "text/xml": { - "source": "iana", - "compressible": true, - "extensions": ["xml"], - }, - "text/xml-external-parsed-entity": { - "source": "iana", - }, - "text/yaml": { - "compressible": true, - "extensions": ["yaml", "yml"], - }, - "video/1d-interleaved-parityfec": { - "source": "iana", - }, - "video/3gpp": { - "source": "iana", - "extensions": ["3gp", "3gpp"], - }, - "video/3gpp-tt": { - "source": "iana", - }, - "video/3gpp2": { - "source": "iana", - "extensions": ["3g2"], - }, - "video/av1": { - "source": "iana", - }, - "video/bmpeg": { - "source": "iana", - }, - "video/bt656": { - "source": "iana", - }, - "video/celb": { - "source": "iana", - }, - "video/dv": { - "source": "iana", - }, - "video/encaprtp": { - "source": "iana", - }, - "video/evc": { - "source": "iana", - }, - "video/ffv1": { - "source": "iana", - }, - "video/flexfec": { - "source": "iana", - }, - "video/h261": { - "source": "iana", - "extensions": ["h261"], - }, - "video/h263": { - "source": "iana", - "extensions": ["h263"], - }, - "video/h263-1998": { - "source": "iana", - }, - "video/h263-2000": { - "source": "iana", - }, - "video/h264": { - "source": "iana", - "extensions": ["h264"], - }, - "video/h264-rcdo": { - "source": "iana", - }, - "video/h264-svc": { - "source": "iana", - }, - "video/h265": { - "source": "iana", - }, - "video/h266": { - "source": "iana", - }, - "video/iso.segment": { - "source": "iana", - "extensions": ["m4s"], - }, - "video/jpeg": { - "source": "iana", - "extensions": ["jpgv"], - }, - "video/jpeg2000": { - "source": "iana", - }, - "video/jpm": { - "source": "apache", - "extensions": ["jpm", "jpgm"], - }, - "video/jxsv": { - "source": "iana", - }, - "video/matroska": { - "source": "iana", - }, - "video/matroska-3d": { - "source": "iana", - }, - "video/mj2": { - "source": "iana", - "extensions": ["mj2", "mjp2"], - }, - "video/mp1s": { - "source": "iana", - }, - "video/mp2p": { - "source": "iana", - }, - "video/mp2t": { - "source": "iana", - "extensions": ["ts", "m2t", "m2ts", "mts"], - }, - "video/mp4": { - "source": "iana", - "compressible": false, - "extensions": ["mp4", "mp4v", "mpg4"], - }, - "video/mp4v-es": { - "source": "iana", - }, - "video/mpeg": { - "source": "iana", - "compressible": false, - "extensions": ["mpeg", "mpg", "mpe", "m1v", "m2v"], - }, - "video/mpeg4-generic": { - "source": "iana", - }, - "video/mpv": { - "source": "iana", - }, - "video/nv": { - "source": "iana", - }, - "video/ogg": { - "source": "iana", - "compressible": false, - "extensions": ["ogv"], - }, - "video/parityfec": { - "source": "iana", - }, - "video/pointer": { - "source": "iana", - }, - "video/quicktime": { - "source": "iana", - "compressible": false, - "extensions": ["qt", "mov"], - }, - "video/raptorfec": { - "source": "iana", - }, - "video/raw": { - "source": "iana", - }, - "video/rtp-enc-aescm128": { - "source": "iana", - }, - "video/rtploopback": { - "source": "iana", - }, - "video/rtx": { - "source": "iana", - }, - "video/scip": { - "source": "iana", - }, - "video/smpte291": { - "source": "iana", - }, - "video/smpte292m": { - "source": "iana", - }, - "video/ulpfec": { - "source": "iana", - }, - "video/vc1": { - "source": "iana", - }, - "video/vc2": { - "source": "iana", - }, - "video/vnd.cctv": { - "source": "iana", - }, - "video/vnd.dece.hd": { - "source": "iana", - "extensions": ["uvh", "uvvh"], - }, - "video/vnd.dece.mobile": { - "source": "iana", - "extensions": ["uvm", "uvvm"], - }, - "video/vnd.dece.mp4": { - "source": "iana", - }, - "video/vnd.dece.pd": { - "source": "iana", - "extensions": ["uvp", "uvvp"], - }, - "video/vnd.dece.sd": { - "source": "iana", - "extensions": ["uvs", "uvvs"], - }, - "video/vnd.dece.video": { - "source": "iana", - "extensions": ["uvv", "uvvv"], - }, - "video/vnd.directv.mpeg": { - "source": "iana", - }, - "video/vnd.directv.mpeg-tts": { - "source": "iana", - }, - "video/vnd.dlna.mpeg-tts": { - "source": "iana", - }, - "video/vnd.dvb.file": { - "source": "iana", - "extensions": ["dvb"], - }, - "video/vnd.fvt": { - "source": "iana", - "extensions": ["fvt"], - }, - "video/vnd.hns.video": { - "source": "iana", - }, - "video/vnd.iptvforum.1dparityfec-1010": { - "source": "iana", - }, - "video/vnd.iptvforum.1dparityfec-2005": { - "source": "iana", - }, - "video/vnd.iptvforum.2dparityfec-1010": { - "source": "iana", - }, - "video/vnd.iptvforum.2dparityfec-2005": { - "source": "iana", - }, - "video/vnd.iptvforum.ttsavc": { - "source": "iana", - }, - "video/vnd.iptvforum.ttsmpeg2": { - "source": "iana", - }, - "video/vnd.motorola.video": { - "source": "iana", - }, - "video/vnd.motorola.videop": { - "source": "iana", - }, - "video/vnd.mpegurl": { - "source": "iana", - "extensions": ["mxu", "m4u"], - }, - "video/vnd.ms-playready.media.pyv": { - "source": "iana", - "extensions": ["pyv"], - }, - "video/vnd.nokia.interleaved-multimedia": { - "source": "iana", - }, - "video/vnd.nokia.mp4vr": { - "source": "iana", - }, - "video/vnd.nokia.videovoip": { - "source": "iana", - }, - "video/vnd.objectvideo": { - "source": "iana", - }, - "video/vnd.radgamettools.bink": { - "source": "iana", - }, - "video/vnd.radgamettools.smacker": { - "source": "apache", - }, - "video/vnd.sealed.mpeg1": { - "source": "iana", - }, - "video/vnd.sealed.mpeg4": { - "source": "iana", - }, - "video/vnd.sealed.swf": { - "source": "iana", - }, - "video/vnd.sealedmedia.softseal.mov": { - "source": "iana", - }, - "video/vnd.uvvu.mp4": { - "source": "iana", - "extensions": ["uvu", "uvvu"], - }, - "video/vnd.vivo": { - "source": "iana", - "extensions": ["viv"], - }, - "video/vnd.youtube.yt": { - "source": "iana", - }, - "video/vp8": { - "source": "iana", - }, - "video/vp9": { - "source": "iana", - }, - "video/webm": { - "source": "apache", - "compressible": false, - "extensions": ["webm"], - }, - "video/x-f4v": { - "source": "apache", - "extensions": ["f4v"], - }, - "video/x-fli": { - "source": "apache", - "extensions": ["fli"], - }, - "video/x-flv": { - "source": "apache", - "compressible": false, - "extensions": ["flv"], - }, - "video/x-m4v": { - "source": "apache", - "extensions": ["m4v"], - }, - "video/x-matroska": { - "source": "apache", - "compressible": false, - "extensions": ["mkv", "mk3d", "mks"], - }, - "video/x-mng": { - "source": "apache", - "extensions": ["mng"], - }, - "video/x-ms-asf": { - "source": "apache", - "extensions": ["asf", "asx"], - }, - "video/x-ms-vob": { - "source": "apache", - "extensions": ["vob"], - }, - "video/x-ms-wm": { - "source": "apache", - "extensions": ["wm"], - }, - "video/x-ms-wmv": { - "source": "apache", - "compressible": false, - "extensions": ["wmv"], - }, - "video/x-ms-wmx": { - "source": "apache", - "extensions": ["wmx"], - }, - "video/x-ms-wvx": { - "source": "apache", - "extensions": ["wvx"], - }, - "video/x-msvideo": { - "source": "apache", - "extensions": ["avi"], - }, - "video/x-sgi-movie": { - "source": "apache", - "extensions": ["movie"], - }, - "video/x-smv": { - "source": "apache", - "extensions": ["smv"], - }, - "x-conference/x-cooltalk": { - "source": "apache", - "extensions": ["ice"], - }, - "x-shader/x-fragment": { - "compressible": true, - }, - "x-shader/x-vertex": { - "compressible": true, - }, -} as const; diff --git a/package/src/deps/jsr.io/@std/net/1.0.6/unstable_get_network_address.ts b/package/src/deps/jsr.io/@std/net/1.0.6/unstable_get_network_address.ts deleted file mode 100644 index ccc41d0..0000000 --- a/package/src/deps/jsr.io/@std/net/1.0.6/unstable_get_network_address.ts +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -/** - * Gets the IPv4 or IPv6 network address of the machine. - * - * @experimental **UNSTABLE**: New API, yet to be vetted. - - * - * This is inspired by the util of the same name in - * {@linkcode https://www.npmjs.com/package/serve | npm:serve}. - * - * For more advanced use, use {@linkcode Deno.networkInterfaces} directly. - * - * @see {@link https://github.com/vercel/serve/blob/1ea55b1b5004f468159b54775e4fb3090fedbb2b/source/utilities/http.ts#L33} - * - * @param family The IP protocol version of the interface to get the address of. - * @returns The IPv4 network address of the machine or `undefined` if not found. - * - * @example Get the IPv4 network address (default) - * ```ts no-assert ignore - * import { getNetworkAddress } from "@std/net/unstable-get-network-address"; - * - * const hostname = getNetworkAddress()!; - * - * Deno.serve({ port: 0, hostname }, () => new Response("Hello, world!")); - * ``` - * - * @example Get the IPv6 network address - * ```ts no-assert ignore - * import { getNetworkAddress } from "@std/net/unstable-get-network-address"; - * - * const hostname = getNetworkAddress("IPv6")!; - * - * Deno.serve({ port: 0, hostname }, () => new Response("Hello, world!")); - * ``` - */ -import * as dntShim from "../../../../../_dnt.shims.js"; - -export function getNetworkAddress( - family: dntShim.Deno.NetworkInterfaceInfo["family"] = "IPv4", -): string | undefined { - return dntShim.Deno.networkInterfaces() - .find((i) => - i.family === family && - i.mac !== "00:00:00:00:00:00" && - (family === "IPv4" - // Cannot lie within 127.0.0.0/8 - ? !i.address.startsWith("127") - // Cannot be loopback or link-local addresses - : !(i.address === "::1" || i.address === "fe80::1") && i.scopeid === 0) - ) - ?.address; -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/_common/assert_path.ts b/package/src/deps/jsr.io/@std/path/1.1.2/_common/assert_path.ts deleted file mode 100644 index 9d6ffaa..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/_common/assert_path.ts +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// Copyright the Browserify authors. MIT License. - -export function assertPath(path?: string) { - if (typeof path !== "string") { - throw new TypeError( - `Path must be a string, received "${JSON.stringify(path)}"`, - ); - } -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/_common/constants.ts b/package/src/deps/jsr.io/@std/path/1.1.2/_common/constants.ts deleted file mode 100644 index 2dae0df..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/_common/constants.ts +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// Copyright the Browserify authors. MIT License. -// Ported from https://github.com/browserify/path-browserify/ -// This module is browser compatible. - -// Alphabet chars. -export const CHAR_UPPERCASE_A = 65; /* A */ -export const CHAR_LOWERCASE_A = 97; /* a */ -export const CHAR_UPPERCASE_Z = 90; /* Z */ -export const CHAR_LOWERCASE_Z = 122; /* z */ - -// Non-alphabetic chars. -export const CHAR_DOT = 46; /* . */ -export const CHAR_FORWARD_SLASH = 47; /* / */ -export const CHAR_BACKWARD_SLASH = 92; /* \ */ -export const CHAR_VERTICAL_LINE = 124; /* | */ -export const CHAR_COLON = 58; /* : */ -export const CHAR_QUESTION_MARK = 63; /* ? */ -export const CHAR_UNDERSCORE = 95; /* _ */ -export const CHAR_LINE_FEED = 10; /* \n */ -export const CHAR_CARRIAGE_RETURN = 13; /* \r */ -export const CHAR_TAB = 9; /* \t */ -export const CHAR_FORM_FEED = 12; /* \f */ -export const CHAR_EXCLAMATION_MARK = 33; /* ! */ -export const CHAR_HASH = 35; /* # */ -export const CHAR_SPACE = 32; /* */ -export const CHAR_NO_BREAK_SPACE = 160; /* \u00A0 */ -export const CHAR_ZERO_WIDTH_NOBREAK_SPACE = 65279; /* \uFEFF */ -export const CHAR_LEFT_SQUARE_BRACKET = 91; /* [ */ -export const CHAR_RIGHT_SQUARE_BRACKET = 93; /* ] */ -export const CHAR_LEFT_ANGLE_BRACKET = 60; /* < */ -export const CHAR_RIGHT_ANGLE_BRACKET = 62; /* > */ -export const CHAR_LEFT_CURLY_BRACKET = 123; /* { */ -export const CHAR_RIGHT_CURLY_BRACKET = 125; /* } */ -export const CHAR_HYPHEN_MINUS = 45; /* - */ -export const CHAR_PLUS = 43; /* + */ -export const CHAR_DOUBLE_QUOTE = 34; /* " */ -export const CHAR_SINGLE_QUOTE = 39; /* ' */ -export const CHAR_PERCENT = 37; /* % */ -export const CHAR_SEMICOLON = 59; /* ; */ -export const CHAR_CIRCUMFLEX_ACCENT = 94; /* ^ */ -export const CHAR_GRAVE_ACCENT = 96; /* ` */ -export const CHAR_AT = 64; /* @ */ -export const CHAR_AMPERSAND = 38; /* & */ -export const CHAR_EQUAL = 61; /* = */ - -// Digits -export const CHAR_0 = 48; /* 0 */ -export const CHAR_9 = 57; /* 9 */ diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/_common/from_file_url.ts b/package/src/deps/jsr.io/@std/path/1.1.2/_common/from_file_url.ts deleted file mode 100644 index 6d5a7c7..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/_common/from_file_url.ts +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -export function assertArg(url: URL | string) { - url = url instanceof URL ? url : new URL(url); - if (url.protocol !== "file:") { - throw new TypeError( - `URL must be a file URL: received "${url.protocol}"`, - ); - } - return url; -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/_common/normalize.ts b/package/src/deps/jsr.io/@std/path/1.1.2/_common/normalize.ts deleted file mode 100644 index 50d513a..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/_common/normalize.ts +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -import { assertPath } from "./assert_path.js"; - -export function assertArg(path: string) { - assertPath(path); - if (path.length === 0) return "."; -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/_common/normalize_string.ts b/package/src/deps/jsr.io/@std/path/1.1.2/_common/normalize_string.ts deleted file mode 100644 index 95d605c..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/_common/normalize_string.ts +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// Copyright the Browserify authors. MIT License. -// Ported from https://github.com/browserify/path-browserify/ -// This module is browser compatible. - -import { CHAR_DOT, CHAR_FORWARD_SLASH } from "./constants.js"; - -// Resolves . and .. elements in a path with directory names -export function normalizeString( - path: string, - allowAboveRoot: boolean, - separator: string, - isPathSeparator: (code: number) => boolean, -): string { - let res = ""; - let lastSegmentLength = 0; - let lastSlash = -1; - let dots = 0; - let code: number | undefined; - for (let i = 0; i <= path.length; ++i) { - if (i < path.length) code = path.charCodeAt(i); - else if (isPathSeparator(code!)) break; - else code = CHAR_FORWARD_SLASH; - - if (isPathSeparator(code!)) { - if (lastSlash === i - 1 || dots === 1) { - // NOOP - } else if (lastSlash !== i - 1 && dots === 2) { - if ( - res.length < 2 || - lastSegmentLength !== 2 || - res.charCodeAt(res.length - 1) !== CHAR_DOT || - res.charCodeAt(res.length - 2) !== CHAR_DOT - ) { - if (res.length > 2) { - const lastSlashIndex = res.lastIndexOf(separator); - if (lastSlashIndex === -1) { - res = ""; - lastSegmentLength = 0; - } else { - res = res.slice(0, lastSlashIndex); - lastSegmentLength = res.length - 1 - res.lastIndexOf(separator); - } - lastSlash = i; - dots = 0; - continue; - } else if (res.length === 2 || res.length === 1) { - res = ""; - lastSegmentLength = 0; - lastSlash = i; - dots = 0; - continue; - } - } - if (allowAboveRoot) { - if (res.length > 0) res += `${separator}..`; - else res = ".."; - lastSegmentLength = 2; - } - } else { - if (res.length > 0) res += separator + path.slice(lastSlash + 1, i); - else res = path.slice(lastSlash + 1, i); - lastSegmentLength = i - lastSlash - 1; - } - lastSlash = i; - dots = 0; - } else if (code === CHAR_DOT && dots !== -1) { - ++dots; - } else { - dots = -1; - } - } - return res; -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/_common/relative.ts b/package/src/deps/jsr.io/@std/path/1.1.2/_common/relative.ts deleted file mode 100644 index 268905e..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/_common/relative.ts +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -import { assertPath } from "./assert_path.js"; - -export function assertArgs(from: string, to: string) { - assertPath(from); - assertPath(to); - if (from === to) return ""; -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/constants.ts b/package/src/deps/jsr.io/@std/path/1.1.2/constants.ts deleted file mode 100644 index 15adab2..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/constants.ts +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import { isWindows } from "../../internal/1.0.10/os.js"; - -/** - * The character used to separate entries in the PATH environment variable. - * On Windows, this is `;`. On all other platforms, this is `:`. - */ -export const DELIMITER = isWindows ? ";" as const : ":" as const; -/** - * The character used to separate components of a file path. - * On Windows, this is `\`. On all other platforms, this is `/`. - */ -export const SEPARATOR = isWindows ? "\\" as const : "/" as const; -/** - * A regular expression that matches one or more path separators. - */ -export const SEPARATOR_PATTERN = isWindows ? /[\\/]+/ : /\/+/; diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/extname.ts b/package/src/deps/jsr.io/@std/path/1.1.2/extname.ts deleted file mode 100644 index 943f007..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/extname.ts +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -import { isWindows } from "../../internal/1.0.10/os.js"; -import { extname as posixExtname } from "./posix/extname.js"; -import { extname as windowsExtname } from "./windows/extname.js"; -/** - * Return the extension of the path with leading period ("."). - * - * @example Usage - * ```ts - * import { extname } from "@std/path/extname"; - * import { assertEquals } from "@std/assert"; - * - * if (Deno.build.os === "windows") { - * assertEquals(extname("C:\\home\\user\\Documents\\image.png"), ".png"); - * assertEquals(extname(new URL("file:///C:/home/user/Documents/image.png")), ".png"); - * } else { - * assertEquals(extname("/home/user/Documents/image.png"), ".png"); - * assertEquals(extname(new URL("file:///home/user/Documents/image.png")), ".png"); - * } - * ``` - * - * @param path Path with extension. - * @returns The file extension. E.g. returns `.ts` for `file.ts`. - */ -export function extname(path: string | URL): string { - return isWindows ? windowsExtname(path) : posixExtname(path); -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/join.ts b/package/src/deps/jsr.io/@std/path/1.1.2/join.ts deleted file mode 100644 index 289dba4..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/join.ts +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -import { isWindows } from "../../internal/1.0.10/os.js"; -import { join as posixJoin } from "./posix/join.js"; -import { join as windowsJoin } from "./windows/join.js"; - -/** - * Joins a sequence of paths, then normalizes the resulting path. - * - * @example Usage - * ```ts - * import { join } from "@std/path/join"; - * import { assertEquals } from "@std/assert"; - * - * if (Deno.build.os === "windows") { - * assertEquals(join("C:\\foo", "bar", "baz\\quux", "garply", ".."), "C:\\foo\\bar\\baz\\quux"); - * assertEquals(join(new URL("file:///C:/foo"), "bar", "baz/asdf", "quux", ".."), "C:\\foo\\bar\\baz\\asdf"); - * } else { - * assertEquals(join("/foo", "bar", "baz/quux", "garply", ".."), "/foo/bar/baz/quux"); - * assertEquals(join(new URL("file:///foo"), "bar", "baz/asdf", "quux", ".."), "/foo/bar/baz/asdf"); - * } - * ``` - * - * @param path The path to join. This can be string or file URL. - * @param paths Paths to be joined and normalized. - * @returns The joined and normalized path. - */ -export function join(path: string | URL, ...paths: string[]): string { - return isWindows ? windowsJoin(path, ...paths) : posixJoin(path, ...paths); -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/posix/_util.ts b/package/src/deps/jsr.io/@std/path/1.1.2/posix/_util.ts deleted file mode 100644 index d47a291..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/posix/_util.ts +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// Copyright the Browserify authors. MIT License. -// Ported from https://github.com/browserify/path-browserify/ -// This module is browser compatible. - -import { CHAR_FORWARD_SLASH } from "../_common/constants.js"; - -export function isPosixPathSeparator(code: number): boolean { - return code === CHAR_FORWARD_SLASH; -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/posix/extname.ts b/package/src/deps/jsr.io/@std/path/1.1.2/posix/extname.ts deleted file mode 100644 index a754f32..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/posix/extname.ts +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -import { CHAR_DOT } from "../_common/constants.js"; -import { assertPath } from "../_common/assert_path.js"; -import { isPosixPathSeparator } from "./_util.js"; -import { fromFileUrl } from "./from_file_url.js"; - -/** - * Return the extension of the `path` with leading period. - * - * @example Usage - * ```ts - * import { extname } from "@std/path/posix/extname"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(extname("/home/user/Documents/file.ts"), ".ts"); - * assertEquals(extname("/home/user/Documents/"), ""); - * assertEquals(extname("/home/user/Documents/image.png"), ".png"); - * assertEquals(extname(new URL("file:///home/user/Documents/file.ts")), ".ts"); - * assertEquals(extname(new URL("file:///home/user/Documents/file.ts?a=b")), ".ts"); - * assertEquals(extname(new URL("file:///home/user/Documents/file.ts#header")), ".ts"); - * ``` - * - * @example Working with URLs - * - * Note: This function doesn't automatically strip hash and query parts from - * URLs. If your URL contains a hash or query, remove them before passing the - * URL to the function. This can be done by passing the URL to `new URL(url)`, - * and setting the `hash` and `search` properties to empty strings. - * - * ```ts - * import { extname } from "@std/path/posix/extname"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(extname("https://deno.land/std/path/mod.ts"), ".ts"); - * assertEquals(extname("https://deno.land/std/path/mod.ts?a=b"), ".ts?a=b"); - * assertEquals(extname("https://deno.land/std/path/mod.ts#header"), ".ts#header"); - * ``` - * - * @param path The path to get the extension from. - * @returns The extension (ex. for `file.ts` returns `.ts`). - */ -export function extname(path: string | URL): string { - if (path instanceof URL) { - path = fromFileUrl(path); - } - assertPath(path); - - let startDot = -1; - let startPart = 0; - let end = -1; - let matchedSlash = true; - // Track the state of characters (if any) we see before our first dot and - // after any path separator we find - let preDotState = 0; - for (let i = path.length - 1; i >= 0; --i) { - const code = path.charCodeAt(i); - if (isPosixPathSeparator(code)) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - startPart = i + 1; - break; - } - continue; - } - if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // extension - matchedSlash = false; - end = i + 1; - } - if (code === CHAR_DOT) { - // If this is our first dot, mark it as the start of our extension - if (startDot === -1) startDot = i; - else if (preDotState !== 1) preDotState = 1; - } else if (startDot !== -1) { - // We saw a non-dot and non-path separator before our dot, so we should - // have a good chance at having a non-empty extension - preDotState = -1; - } - } - - if ( - startDot === -1 || - end === -1 || - // We saw a non-dot character immediately before the dot - preDotState === 0 || - // The (right-most) trimmed path component is exactly '..' - (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) - ) { - return ""; - } - return path.slice(startDot, end); -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/posix/from_file_url.ts b/package/src/deps/jsr.io/@std/path/1.1.2/posix/from_file_url.ts deleted file mode 100644 index 4c32a9d..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/posix/from_file_url.ts +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -import { assertArg } from "../_common/from_file_url.js"; - -/** - * Converts a file URL to a path string. - * - * @example Usage - * ```ts - * import { fromFileUrl } from "@std/path/posix/from-file-url"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(fromFileUrl(new URL("file:///home/foo")), "/home/foo"); - * ``` - * - * @param url The file URL to convert. - * @returns The path string. - */ -export function fromFileUrl(url: URL | string): string { - url = assertArg(url); - return decodeURIComponent( - url.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25"), - ); -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/posix/join.ts b/package/src/deps/jsr.io/@std/path/1.1.2/posix/join.ts deleted file mode 100644 index 9e4f934..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/posix/join.ts +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -import { assertPath } from "../_common/assert_path.js"; -import { fromFileUrl } from "./from_file_url.js"; -import { normalize } from "./normalize.js"; - -/** - * Join all given a sequence of `paths`,then normalizes the resulting path. - * - * @example Usage - * ```ts - * import { join } from "@std/path/posix/join"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(join("/foo", "bar", "baz/asdf", "quux", ".."), "/foo/bar/baz/asdf"); - * assertEquals(join(new URL("file:///foo"), "bar", "baz/asdf", "quux", ".."), "/foo/bar/baz/asdf"); - * ``` - * - * @example Working with URLs - * ```ts - * import { join } from "@std/path/posix/join"; - * import { assertEquals } from "@std/assert"; - * - * const url = new URL("https://deno.land"); - * url.pathname = join("std", "path", "mod.ts"); - * assertEquals(url.href, "https://deno.land/std/path/mod.ts"); - * - * url.pathname = join("//std", "path/", "/mod.ts"); - * assertEquals(url.href, "https://deno.land/std/path/mod.ts"); - * ``` - * - * @param path The path to join. This can be string or file URL. - * @param paths The paths to join. - * @returns The joined path. - */ -export function join(path?: URL | string, ...paths: string[]): string { - if (path === undefined) return "."; - if (path instanceof URL) { - path = fromFileUrl(path); - } - paths = path ? [path, ...paths] : paths; - paths.forEach((path) => assertPath(path)); - const joined = paths.filter((path) => path.length > 0).join("/"); - return joined === "" ? "." : normalize(joined); -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/posix/normalize.ts b/package/src/deps/jsr.io/@std/path/1.1.2/posix/normalize.ts deleted file mode 100644 index 6d5252d..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/posix/normalize.ts +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -import { assertArg } from "../_common/normalize.js"; -import { normalizeString } from "../_common/normalize_string.js"; -import { isPosixPathSeparator } from "./_util.js"; -import { fromFileUrl } from "./from_file_url.js"; - -/** - * Normalize the `path`, resolving `'..'` and `'.'` segments. - * Note that resolving these segments does not necessarily mean that all will be eliminated. - * A `'..'` at the top-level will be preserved, and an empty path is canonically `'.'`. - * - * @example Usage - * ```ts - * import { normalize } from "@std/path/posix/normalize"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(normalize("/foo/bar//baz/asdf/quux/.."), "/foo/bar/baz/asdf"); - * assertEquals(normalize(new URL("file:///foo/bar//baz/asdf/quux/..")), "/foo/bar/baz/asdf/"); - * ``` - * - * @example Working with URLs - * - * Note: This function will remove the double slashes from a URL's scheme. - * Hence, do not pass a full URL to this function. Instead, pass the pathname of - * the URL. - * - * ```ts - * import { normalize } from "@std/path/posix/normalize"; - * import { assertEquals } from "@std/assert"; - * - * const url = new URL("https://deno.land"); - * url.pathname = normalize("//std//assert//.//mod.ts"); - * assertEquals(url.href, "https://deno.land/std/assert/mod.ts"); - * - * url.pathname = normalize("std/assert/../async/retry.ts"); - * assertEquals(url.href, "https://deno.land/std/async/retry.ts"); - * ``` - * - * @param path The path to normalize. - * @returns The normalized path. - */ -export function normalize(path: string | URL): string { - if (path instanceof URL) { - path = fromFileUrl(path); - } - assertArg(path); - - const isAbsolute = isPosixPathSeparator(path.charCodeAt(0)); - const trailingSeparator = isPosixPathSeparator( - path.charCodeAt(path.length - 1), - ); - - // Normalize the path - path = normalizeString(path, !isAbsolute, "/", isPosixPathSeparator); - - if (path.length === 0 && !isAbsolute) path = "."; - if (path.length > 0 && trailingSeparator) path += "/"; - - if (isAbsolute) return `/${path}`; - return path; -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/posix/relative.ts b/package/src/deps/jsr.io/@std/path/1.1.2/posix/relative.ts deleted file mode 100644 index f789f02..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/posix/relative.ts +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -import { isPosixPathSeparator } from "./_util.js"; -import { resolve } from "./resolve.js"; -import { assertArgs } from "../_common/relative.js"; - -/** - * Return the relative path from `from` to `to` based on current working directory. - * - * If `from` and `to` are the same, return an empty string. - * - * @example Usage - * ```ts - * import { relative } from "@std/path/posix/relative"; - * import { assertEquals } from "@std/assert"; - * - * const path = relative("/data/orandea/test/aaa", "/data/orandea/impl/bbb"); - * assertEquals(path, "../../impl/bbb"); - * ``` - * - * @param from The path to start from. - * @param to The path to reach. - * @returns The relative path. - */ -export function relative(from: string, to: string): string { - assertArgs(from, to); - - from = resolve(from); - to = resolve(to); - - if (from === to) return ""; - - // Trim any leading backslashes - let fromStart = 1; - const fromEnd = from.length; - for (; fromStart < fromEnd; ++fromStart) { - if (!isPosixPathSeparator(from.charCodeAt(fromStart))) break; - } - const fromLen = fromEnd - fromStart; - - // Trim any leading backslashes - let toStart = 1; - const toEnd = to.length; - for (; toStart < toEnd; ++toStart) { - if (!isPosixPathSeparator(to.charCodeAt(toStart))) break; - } - const toLen = toEnd - toStart; - - // Compare paths to find the longest common path from root - const length = fromLen < toLen ? fromLen : toLen; - let lastCommonSep = -1; - let i = 0; - for (; i <= length; ++i) { - if (i === length) { - if (toLen > length) { - if (isPosixPathSeparator(to.charCodeAt(toStart + i))) { - // We get here if `from` is the exact base path for `to`. - // For example: from='/foo/bar'; to='/foo/bar/baz' - return to.slice(toStart + i + 1); - } else if (i === 0) { - // We get here if `from` is the root - // For example: from='/'; to='/foo' - return to.slice(toStart + i); - } - } else if (fromLen > length) { - if (isPosixPathSeparator(from.charCodeAt(fromStart + i))) { - // We get here if `to` is the exact base path for `from`. - // For example: from='/foo/bar/baz'; to='/foo/bar' - lastCommonSep = i; - } else if (i === 0) { - // We get here if `to` is the root. - // For example: from='/foo'; to='/' - lastCommonSep = 0; - } - } - break; - } - const fromCode = from.charCodeAt(fromStart + i); - const toCode = to.charCodeAt(toStart + i); - if (fromCode !== toCode) break; - else if (isPosixPathSeparator(fromCode)) lastCommonSep = i; - } - - let out = ""; - // Generate the relative path based on the path difference between `to` - // and `from` - for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { - if (i === fromEnd || isPosixPathSeparator(from.charCodeAt(i))) { - if (out.length === 0) out += ".."; - else out += "/.."; - } - } - - // Lastly, append the rest of the destination (`to`) path that comes after - // the common path parts - if (out.length > 0) return out + to.slice(toStart + lastCommonSep); - else { - toStart += lastCommonSep; - if (isPosixPathSeparator(to.charCodeAt(toStart))) ++toStart; - return to.slice(toStart); - } -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/posix/resolve.ts b/package/src/deps/jsr.io/@std/path/1.1.2/posix/resolve.ts deleted file mode 100644 index afdb781..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/posix/resolve.ts +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import * as dntShim from "../../../../../../_dnt.shims.js"; - - -import { normalizeString } from "../_common/normalize_string.js"; -import { assertPath } from "../_common/assert_path.js"; -import { isPosixPathSeparator } from "./_util.js"; - -/** - * Resolves path segments into a `path`. - * - * @example Usage - * ```ts - * import { resolve } from "@std/path/posix/resolve"; - * import { assertEquals } from "@std/assert"; - * - * const path = resolve("/foo", "bar", "baz/asdf", "quux", ".."); - * assertEquals(path, "/foo/bar/baz/asdf"); - * ``` - * - * @param pathSegments The path segments to resolve. - * @returns The resolved path. - */ -export function resolve(...pathSegments: string[]): string { - let resolvedPath = ""; - let resolvedAbsolute = false; - - for (let i = pathSegments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - let path: string; - - if (i >= 0) path = pathSegments[i]!; - else { - // deno-lint-ignore no-explicit-any - const { Deno } = dntShim.dntGlobalThis as any; - if (typeof Deno?.cwd !== "function") { - throw new TypeError( - "Resolved a relative path without a current working directory (CWD)", - ); - } - path = Deno.cwd(); - } - - assertPath(path); - - // Skip empty entries - if (path.length === 0) { - continue; - } - - resolvedPath = `${path}/${resolvedPath}`; - resolvedAbsolute = isPosixPathSeparator(path.charCodeAt(0)); - } - - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when Deno.cwd() fails) - - // Normalize the path - resolvedPath = normalizeString( - resolvedPath, - !resolvedAbsolute, - "/", - isPosixPathSeparator, - ); - - if (resolvedAbsolute) { - if (resolvedPath.length > 0) return `/${resolvedPath}`; - else return "/"; - } else if (resolvedPath.length > 0) return resolvedPath; - else return "."; -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/relative.ts b/package/src/deps/jsr.io/@std/path/1.1.2/relative.ts deleted file mode 100644 index b6b4eb1..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/relative.ts +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -import { isWindows } from "../../internal/1.0.10/os.js"; -import { relative as posixRelative } from "./posix/relative.js"; -import { relative as windowsRelative } from "./windows/relative.js"; - -/** - * Return the relative path from `from` to `to` based on current working - * directory. - * - * @example Usage - * ```ts - * import { relative } from "@std/path/relative"; - * import { assertEquals } from "@std/assert"; - * - * if (Deno.build.os === "windows") { - * const path = relative("C:\\foobar\\test\\aaa", "C:\\foobar\\impl\\bbb"); - * assertEquals(path, "..\\..\\impl\\bbb"); - * } else { - * const path = relative("/data/foobar/test/aaa", "/data/foobar/impl/bbb"); - * assertEquals(path, "../../impl/bbb"); - * } - * ``` - * - * @param from Path in current working directory. - * @param to Path in current working directory. - * @returns The relative path from `from` to `to`. - */ -export function relative(from: string, to: string): string { - return isWindows ? windowsRelative(from, to) : posixRelative(from, to); -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/resolve.ts b/package/src/deps/jsr.io/@std/path/1.1.2/resolve.ts deleted file mode 100644 index 5462697..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/resolve.ts +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -import { isWindows } from "../../internal/1.0.10/os.js"; -import { resolve as posixResolve } from "./posix/resolve.js"; -import { resolve as windowsResolve } from "./windows/resolve.js"; - -/** - * Resolves path segments into a path. - * - * @example Usage - * ```ts - * import { resolve } from "@std/path/resolve"; - * import { assertEquals } from "@std/assert"; - * - * if (Deno.build.os === "windows") { - * assertEquals(resolve("C:\\foo", "bar", "baz"), "C:\\foo\\bar\\baz"); - * assertEquals(resolve("C:\\foo", "C:\\bar", "baz"), "C:\\bar\\baz"); - * } else { - * assertEquals(resolve("/foo", "bar", "baz"), "/foo/bar/baz"); - * assertEquals(resolve("/foo", "/bar", "baz"), "/bar/baz"); - * } - * ``` - * - * @param pathSegments Path segments to process to path. - * @returns The resolved path. - */ -export function resolve(...pathSegments: string[]): string { - return isWindows - ? windowsResolve(...pathSegments) - : posixResolve(...pathSegments); -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/windows/_util.ts b/package/src/deps/jsr.io/@std/path/1.1.2/windows/_util.ts deleted file mode 100644 index 0e35e5a..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/windows/_util.ts +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// Copyright the Browserify authors. MIT License. -// Ported from https://github.com/browserify/path-browserify/ -// This module is browser compatible. - -import { - CHAR_BACKWARD_SLASH, - CHAR_FORWARD_SLASH, - CHAR_LOWERCASE_A, - CHAR_LOWERCASE_Z, - CHAR_UPPERCASE_A, - CHAR_UPPERCASE_Z, -} from "../_common/constants.js"; - -export function isPosixPathSeparator(code: number): boolean { - return code === CHAR_FORWARD_SLASH; -} - -export function isPathSeparator(code: number): boolean { - return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; -} - -export function isWindowsDeviceRoot(code: number): boolean { - return ( - (code >= CHAR_LOWERCASE_A && code <= CHAR_LOWERCASE_Z) || - (code >= CHAR_UPPERCASE_A && code <= CHAR_UPPERCASE_Z) - ); -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/windows/extname.ts b/package/src/deps/jsr.io/@std/path/1.1.2/windows/extname.ts deleted file mode 100644 index 41062de..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/windows/extname.ts +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -import { CHAR_COLON, CHAR_DOT } from "../_common/constants.js"; -import { assertPath } from "../_common/assert_path.js"; -import { isPathSeparator, isWindowsDeviceRoot } from "./_util.js"; -import { fromFileUrl } from "./from_file_url.js"; - -/** - * Return the extension of the `path` with leading period. - * - * @example Usage - * ```ts - * import { extname } from "@std/path/windows/extname"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(extname("file.ts"), ".ts"); - * assertEquals(extname(new URL("file:///C:/foo/bar/baz.ext")), ".ext"); - * ``` - * - * @param path The path to get the extension from. - * @returns The extension of the `path`. - */ -export function extname(path: string | URL): string { - if (path instanceof URL) { - path = fromFileUrl(path); - } - assertPath(path); - - let start = 0; - let startDot = -1; - let startPart = 0; - let end = -1; - let matchedSlash = true; - // Track the state of characters (if any) we see before our first dot and - // after any path separator we find - let preDotState = 0; - - // Check for a drive letter prefix so as not to mistake the following - // path separator as an extra separator at the end of the path that can be - // disregarded - - if ( - path.length >= 2 && - path.charCodeAt(1) === CHAR_COLON && - isWindowsDeviceRoot(path.charCodeAt(0)) - ) { - start = startPart = 2; - } - - for (let i = path.length - 1; i >= start; --i) { - const code = path.charCodeAt(i); - if (isPathSeparator(code)) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - startPart = i + 1; - break; - } - continue; - } - if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // extension - matchedSlash = false; - end = i + 1; - } - if (code === CHAR_DOT) { - // If this is our first dot, mark it as the start of our extension - if (startDot === -1) startDot = i; - else if (preDotState !== 1) preDotState = 1; - } else if (startDot !== -1) { - // We saw a non-dot and non-path separator before our dot, so we should - // have a good chance at having a non-empty extension - preDotState = -1; - } - } - - if ( - startDot === -1 || - end === -1 || - // We saw a non-dot character immediately before the dot - preDotState === 0 || - // The (right-most) trimmed path component is exactly '..' - (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) - ) { - return ""; - } - return path.slice(startDot, end); -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/windows/from_file_url.ts b/package/src/deps/jsr.io/@std/path/1.1.2/windows/from_file_url.ts deleted file mode 100644 index 0a99534..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/windows/from_file_url.ts +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -import { assertArg } from "../_common/from_file_url.js"; - -/** - * Converts a file URL to a path string. - * - * @example Usage - * ```ts - * import { fromFileUrl } from "@std/path/windows/from-file-url"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(fromFileUrl("file:///home/foo"), "\\home\\foo"); - * assertEquals(fromFileUrl("file:///C:/Users/foo"), "C:\\Users\\foo"); - * assertEquals(fromFileUrl("file://localhost/home/foo"), "\\home\\foo"); - * ``` - * - * @param url The file URL to convert. - * @returns The path string. - */ -export function fromFileUrl(url: URL | string): string { - url = assertArg(url); - let path = decodeURIComponent( - url.pathname.replace(/\//g, "\\").replace(/%(?![0-9A-Fa-f]{2})/g, "%25"), - ).replace(/^\\*([A-Za-z]:)(\\|$)/, "$1\\"); - if (url.hostname !== "") { - // Note: The `URL` implementation guarantees that the drive letter and - // hostname are mutually exclusive. Otherwise it would not have been valid - // to append the hostname and path like this. - path = `\\\\${url.hostname}${path}`; - } - return path; -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/windows/join.ts b/package/src/deps/jsr.io/@std/path/1.1.2/windows/join.ts deleted file mode 100644 index 56083b5..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/windows/join.ts +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -import { assertPath } from "../_common/assert_path.js"; -import { isPathSeparator } from "./_util.js"; -import { normalize } from "./normalize.js"; -import { fromFileUrl } from "./from_file_url.js"; - -/** - * Join all given a sequence of `paths`,then normalizes the resulting path. - * - * @example Usage - * ```ts - * import { join } from "@std/path/windows/join"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(join("C:\\foo", "bar", "baz\\.."), "C:\\foo\\bar"); - * assertEquals(join(new URL("file:///C:/foo"), "bar", "baz\\.."), "C:\\foo\\bar"); - * ``` - * - * @param path The path to join. This can be string or file URL. - * @param paths The paths to join. - * @returns The joined path. - */ -export function join(path?: URL | string, ...paths: string[]): string { - if (path instanceof URL) { - path = fromFileUrl(path); - } - paths = path ? [path, ...paths] : paths; - paths.forEach((path) => assertPath(path)); - paths = paths.filter((path) => path.length > 0); - if (paths.length === 0) return "."; - - // Make sure that the joined path doesn't start with two slashes, because - // normalize() will mistake it for an UNC path then. - // - // This step is skipped when it is very clear that the user actually - // intended to point at an UNC path. This is assumed when the first - // non-empty string arguments starts with exactly two slashes followed by - // at least one more non-slash character. - // - // Note that for normalize() to treat a path as an UNC path it needs to - // have at least 2 components, so we don't filter for that here. - // This means that the user can use join to construct UNC paths from - // a server name and a share name; for example: - // path.join('//server', 'share') -> '\\\\server\\share\\' - let needsReplace = true; - let slashCount = 0; - const firstPart = paths[0]!; - if (isPathSeparator(firstPart.charCodeAt(0))) { - ++slashCount; - const firstLen = firstPart.length; - if (firstLen > 1) { - if (isPathSeparator(firstPart.charCodeAt(1))) { - ++slashCount; - if (firstLen > 2) { - if (isPathSeparator(firstPart.charCodeAt(2))) ++slashCount; - else { - // We matched a UNC path in the first part - needsReplace = false; - } - } - } - } - } - let joined = paths.join("\\"); - if (needsReplace) { - // Find any more consecutive slashes we need to replace - for (; slashCount < joined.length; ++slashCount) { - if (!isPathSeparator(joined.charCodeAt(slashCount))) break; - } - - // Replace the slashes if needed - if (slashCount >= 2) joined = `\\${joined.slice(slashCount)}`; - } - - return normalize(joined); -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/windows/normalize.ts b/package/src/deps/jsr.io/@std/path/1.1.2/windows/normalize.ts deleted file mode 100644 index f17c050..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/windows/normalize.ts +++ /dev/null @@ -1,136 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -import { assertArg } from "../_common/normalize.js"; -import { CHAR_COLON } from "../_common/constants.js"; -import { normalizeString } from "../_common/normalize_string.js"; -import { isPathSeparator, isWindowsDeviceRoot } from "./_util.js"; -import { fromFileUrl } from "./from_file_url.js"; - -/** - * Normalize the `path`, resolving `'..'` and `'.'` segments. - * Note that resolving these segments does not necessarily mean that all will be eliminated. - * A `'..'` at the top-level will be preserved, and an empty path is canonically `'.'`. - * - * @example Usage - * ```ts - * import { normalize } from "@std/path/windows/normalize"; - * import { assertEquals } from "@std/assert"; - * - * assertEquals(normalize("C:\\foo\\..\\bar"), "C:\\bar"); - * assertEquals(normalize(new URL("file:///C:/foo/../bar")), "C:\\bar"); - * ``` - * - * @param path The path to normalize - * @returns The normalized path - */ -export function normalize(path: string | URL): string { - if (path instanceof URL) { - path = fromFileUrl(path); - } - assertArg(path); - - const len = path.length; - let rootEnd = 0; - let device: string | undefined; - let isAbsolute = false; - const code = path.charCodeAt(0); - - // Try to match a root - if (len > 1) { - if (isPathSeparator(code)) { - // Possible UNC root - - // If we started with a separator, we know we at least have an absolute - // path of some kind (UNC or otherwise) - isAbsolute = true; - - if (isPathSeparator(path.charCodeAt(1))) { - // Matched double path separator at beginning - let j = 2; - let last = j; - // Match 1 or more non-path separators - for (; j < len; ++j) { - if (isPathSeparator(path.charCodeAt(j))) break; - } - if (j < len && j !== last) { - const firstPart = path.slice(last, j); - // Matched! - last = j; - // Match 1 or more path separators - for (; j < len; ++j) { - if (!isPathSeparator(path.charCodeAt(j))) break; - } - if (j < len && j !== last) { - // Matched! - last = j; - // Match 1 or more non-path separators - for (; j < len; ++j) { - if (isPathSeparator(path.charCodeAt(j))) break; - } - if (j === len) { - // We matched a UNC root only - // Return the normalized version of the UNC root since there - // is nothing left to process - - return `\\\\${firstPart}\\${path.slice(last)}\\`; - } else if (j !== last) { - // We matched a UNC root with leftovers - - device = `\\\\${firstPart}\\${path.slice(last, j)}`; - rootEnd = j; - } - } - } - } else { - rootEnd = 1; - } - } else if (isWindowsDeviceRoot(code)) { - // Possible device root - - if (path.charCodeAt(1) === CHAR_COLON) { - device = path.slice(0, 2); - rootEnd = 2; - if (len > 2) { - if (isPathSeparator(path.charCodeAt(2))) { - // Treat separator following drive name as an absolute path - // indicator - isAbsolute = true; - rootEnd = 3; - } - } - } - } - } else if (isPathSeparator(code)) { - // `path` contains just a path separator, exit early to avoid unnecessary - // work - return "\\"; - } - - let tail: string; - if (rootEnd < len) { - tail = normalizeString( - path.slice(rootEnd), - !isAbsolute, - "\\", - isPathSeparator, - ); - } else { - tail = ""; - } - if (tail.length === 0 && !isAbsolute) tail = "."; - if (tail.length > 0 && isPathSeparator(path.charCodeAt(len - 1))) { - tail += "\\"; - } - if (device === undefined) { - if (isAbsolute) { - if (tail.length > 0) return `\\${tail}`; - else return "\\"; - } - return tail; - } else if (isAbsolute) { - if (tail.length > 0) return `${device}\\${tail}`; - else return `${device}\\`; - } - return device + tail; -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/windows/relative.ts b/package/src/deps/jsr.io/@std/path/1.1.2/windows/relative.ts deleted file mode 100644 index a0314ab..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/windows/relative.ts +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -import { CHAR_BACKWARD_SLASH } from "../_common/constants.js"; -import { resolve } from "./resolve.js"; -import { assertArgs } from "../_common/relative.js"; - -/** - * Return the relative path from `from` to `to` based on current working directory. - * - * An example in windws, for instance: - * from = 'C:\\orandea\\test\\aaa' - * to = 'C:\\orandea\\impl\\bbb' - * The output of the function should be: '..\\..\\impl\\bbb' - * - * @example Usage - * ```ts - * import { relative } from "@std/path/windows/relative"; - * import { assertEquals } from "@std/assert"; - * - * const relativePath = relative("C:\\foobar\\test\\aaa", "C:\\foobar\\impl\\bbb"); - * assertEquals(relativePath, "..\\..\\impl\\bbb"); - * ``` - * - * @param from The path from which to calculate the relative path - * @param to The path to which to calculate the relative path - * @returns The relative path from `from` to `to` - */ -export function relative(from: string, to: string): string { - assertArgs(from, to); - - const fromOrig = resolve(from); - const toOrig = resolve(to); - - if (fromOrig === toOrig) return ""; - - from = fromOrig.toLowerCase(); - to = toOrig.toLowerCase(); - - if (from === to) return ""; - - // Trim any leading backslashes - let fromStart = 0; - let fromEnd = from.length; - for (; fromStart < fromEnd; ++fromStart) { - if (from.charCodeAt(fromStart) !== CHAR_BACKWARD_SLASH) break; - } - // Trim trailing backslashes (applicable to UNC paths only) - for (; fromEnd - 1 > fromStart; --fromEnd) { - if (from.charCodeAt(fromEnd - 1) !== CHAR_BACKWARD_SLASH) break; - } - const fromLen = fromEnd - fromStart; - - // Trim any leading backslashes - let toStart = 0; - let toEnd = to.length; - for (; toStart < toEnd; ++toStart) { - if (to.charCodeAt(toStart) !== CHAR_BACKWARD_SLASH) break; - } - // Trim trailing backslashes (applicable to UNC paths only) - for (; toEnd - 1 > toStart; --toEnd) { - if (to.charCodeAt(toEnd - 1) !== CHAR_BACKWARD_SLASH) break; - } - const toLen = toEnd - toStart; - - // Compare paths to find the longest common path from root - const length = fromLen < toLen ? fromLen : toLen; - let lastCommonSep = -1; - let i = 0; - for (; i <= length; ++i) { - if (i === length) { - if (toLen > length) { - if (to.charCodeAt(toStart + i) === CHAR_BACKWARD_SLASH) { - // We get here if `from` is the exact base path for `to`. - // For example: from='C:\\foo\\bar'; to='C:\\foo\\bar\\baz' - return toOrig.slice(toStart + i + 1); - } else if (i === 2) { - // We get here if `from` is the device root. - // For example: from='C:\\'; to='C:\\foo' - return toOrig.slice(toStart + i); - } - } - if (fromLen > length) { - if (from.charCodeAt(fromStart + i) === CHAR_BACKWARD_SLASH) { - // We get here if `to` is the exact base path for `from`. - // For example: from='C:\\foo\\bar'; to='C:\\foo' - lastCommonSep = i; - } else if (i === 2) { - // We get here if `to` is the device root. - // For example: from='C:\\foo\\bar'; to='C:\\' - lastCommonSep = 3; - } - } - break; - } - const fromCode = from.charCodeAt(fromStart + i); - const toCode = to.charCodeAt(toStart + i); - if (fromCode !== toCode) break; - else if (fromCode === CHAR_BACKWARD_SLASH) lastCommonSep = i; - } - - // We found a mismatch before the first common path separator was seen, so - // return the original `to`. - if (i !== length && lastCommonSep === -1) { - return toOrig; - } - - let out = ""; - if (lastCommonSep === -1) lastCommonSep = 0; - // Generate the relative path based on the path difference between `to` and - // `from` - for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { - if (i === fromEnd || from.charCodeAt(i) === CHAR_BACKWARD_SLASH) { - if (out.length === 0) out += ".."; - else out += "\\.."; - } - } - - // Lastly, append the rest of the destination (`to`) path that comes after - // the common path parts - if (out.length > 0) { - return out + toOrig.slice(toStart + lastCommonSep, toEnd); - } else { - toStart += lastCommonSep; - if (toOrig.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) ++toStart; - return toOrig.slice(toStart, toEnd); - } -} diff --git a/package/src/deps/jsr.io/@std/path/1.1.2/windows/resolve.ts b/package/src/deps/jsr.io/@std/path/1.1.2/windows/resolve.ts deleted file mode 100644 index 9a1ca2b..0000000 --- a/package/src/deps/jsr.io/@std/path/1.1.2/windows/resolve.ts +++ /dev/null @@ -1,178 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. -import * as dntShim from "../../../../../../_dnt.shims.js"; - - -import { CHAR_COLON } from "../_common/constants.js"; -import { normalizeString } from "../_common/normalize_string.js"; -import { assertPath } from "../_common/assert_path.js"; -import { isPathSeparator, isWindowsDeviceRoot } from "./_util.js"; - -/** - * Resolves path segments into a `path`. - * - * @example Usage - * ```ts - * import { resolve } from "@std/path/windows/resolve"; - * import { assertEquals } from "@std/assert"; - * - * const resolved = resolve("C:\\foo\\bar", "..\\baz"); - * assertEquals(resolved, "C:\\foo\\baz"); - * ``` - * - * @param pathSegments The path segments to process to path - * @returns The resolved path - */ -export function resolve(...pathSegments: string[]): string { - let resolvedDevice = ""; - let resolvedTail = ""; - let resolvedAbsolute = false; - - for (let i = pathSegments.length - 1; i >= -1; i--) { - let path: string; - // deno-lint-ignore no-explicit-any - const { Deno } = dntShim.dntGlobalThis as any; - if (i >= 0) { - path = pathSegments[i]!; - } else if (!resolvedDevice) { - if (typeof Deno?.cwd !== "function") { - throw new TypeError( - "Resolved a drive-letter-less path without a current working directory (CWD)", - ); - } - path = Deno.cwd(); - } else { - if ( - typeof Deno?.env?.get !== "function" || typeof Deno?.cwd !== "function" - ) { - throw new TypeError( - "Resolved a relative path without a current working directory (CWD)", - ); - } - path = Deno.cwd(); - - // Verify that a cwd was found and that it actually points - // to our drive. If not, default to the drive's root. - if ( - path === undefined || - path.slice(0, 3).toLowerCase() !== `${resolvedDevice.toLowerCase()}\\` - ) { - path = `${resolvedDevice}\\`; - } - } - - assertPath(path); - - const len = path.length; - - // Skip empty entries - if (len === 0) continue; - - let rootEnd = 0; - let device = ""; - let isAbsolute = false; - const code = path.charCodeAt(0); - - // Try to match a root - if (len > 1) { - if (isPathSeparator(code)) { - // Possible UNC root - - // If we started with a separator, we know we at least have an - // absolute path of some kind (UNC or otherwise) - isAbsolute = true; - - if (isPathSeparator(path.charCodeAt(1))) { - // Matched double path separator at beginning - let j = 2; - let last = j; - // Match 1 or more non-path separators - for (; j < len; ++j) { - if (isPathSeparator(path.charCodeAt(j))) break; - } - if (j < len && j !== last) { - const firstPart = path.slice(last, j); - // Matched! - last = j; - // Match 1 or more path separators - for (; j < len; ++j) { - if (!isPathSeparator(path.charCodeAt(j))) break; - } - if (j < len && j !== last) { - // Matched! - last = j; - // Match 1 or more non-path separators - for (; j < len; ++j) { - if (isPathSeparator(path.charCodeAt(j))) break; - } - if (j === len) { - // We matched a UNC root only - device = `\\\\${firstPart}\\${path.slice(last)}`; - rootEnd = j; - } else if (j !== last) { - // We matched a UNC root with leftovers - - device = `\\\\${firstPart}\\${path.slice(last, j)}`; - rootEnd = j; - } - } - } - } else { - rootEnd = 1; - } - } else if (isWindowsDeviceRoot(code)) { - // Possible device root - - if (path.charCodeAt(1) === CHAR_COLON) { - device = path.slice(0, 2); - rootEnd = 2; - if (len > 2) { - if (isPathSeparator(path.charCodeAt(2))) { - // Treat separator following drive name as an absolute path - // indicator - isAbsolute = true; - rootEnd = 3; - } - } - } - } - } else if (isPathSeparator(code)) { - // `path` contains just a path separator - rootEnd = 1; - isAbsolute = true; - } - - if ( - device.length > 0 && - resolvedDevice.length > 0 && - device.toLowerCase() !== resolvedDevice.toLowerCase() - ) { - // This path points to another device so it is not applicable - continue; - } - - if (resolvedDevice.length === 0 && device.length > 0) { - resolvedDevice = device; - } - if (!resolvedAbsolute) { - resolvedTail = `${path.slice(rootEnd)}\\${resolvedTail}`; - resolvedAbsolute = isAbsolute; - } - - if (resolvedAbsolute && resolvedDevice.length > 0) break; - } - - // At this point the path should be resolved to a full absolute path, - // but handle relative paths to be safe (might happen when Deno.cwd() - // fails) - - // Normalize the tail path - resolvedTail = normalizeString( - resolvedTail, - !resolvedAbsolute, - "\\", - isPathSeparator, - ); - - return resolvedDevice + (resolvedAbsolute ? "\\" : "") + resolvedTail || "."; -} diff --git a/package/src/deps/jsr.io/@std/streams/1.0.12/byte_slice_stream.ts b/package/src/deps/jsr.io/@std/streams/1.0.12/byte_slice_stream.ts deleted file mode 100644 index 7e02e9b..0000000 --- a/package/src/deps/jsr.io/@std/streams/1.0.12/byte_slice_stream.ts +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2018-2025 the Deno authors. MIT license. -// This module is browser compatible. - -/** - * A transform stream that only transforms from the zero-indexed `start` and - * `end` bytes (both inclusive). - * - * @example Basic usage - * ```ts - * import { ByteSliceStream } from "@std/streams/byte-slice-stream"; - * import { assertEquals } from "@std/assert"; - * - * const stream = ReadableStream.from([ - * new Uint8Array([0, 1]), - * new Uint8Array([2, 3, 4]), - * ]); - * const slicedStream = stream.pipeThrough(new ByteSliceStream(1, 3)); - * - * assertEquals( - * await Array.fromAsync(slicedStream), - * [new Uint8Array([1]), new Uint8Array([2, 3])] - * ); - * ``` - * - * @example Get a range of bytes from a fetch response body - * ```ts - * import { ByteSliceStream } from "@std/streams/byte-slice-stream"; - * import { assertEquals } from "@std/assert"; - * - * const response = await fetch("https://example.com"); - * const rangedStream = response.body! - * .pipeThrough(new ByteSliceStream(3, 8)); - * const collected = await Array.fromAsync(rangedStream); - * assertEquals(collected[0]?.length, 6); - * ``` - */ -export class ByteSliceStream extends TransformStream { - #offsetStart = 0; - #offsetEnd = 0; - - /** - * Constructs a new instance. - * - * @param start The zero-indexed byte index to start reading from. - * @param end The zero-indexed byte index to stop reading at. Inclusive. - */ - constructor(start = 0, end: number = Infinity) { - super({ - start: () => { - if (start < 0) { - throw new RangeError( - `Cannot construct ByteSliceStream as start must be >= 0: received ${start}`, - ); - } - end += 1; - }, - transform: (chunk, controller) => { - this.#offsetStart = this.#offsetEnd; - this.#offsetEnd += chunk.byteLength; - if (this.#offsetEnd > start) { - if (this.#offsetStart < start) { - chunk = chunk.slice(start - this.#offsetStart); - } - if (this.#offsetEnd >= end) { - chunk = chunk.slice(0, chunk.byteLength - this.#offsetEnd + end); - controller.enqueue(chunk); - controller.terminate(); - } else { - controller.enqueue(chunk); - } - } - }, - }); - } -} diff --git a/package/src/dom/main.ts b/package/src/dom/main.ts index a581e9f..30a05b8 100644 --- a/package/src/dom/main.ts +++ b/package/src/dom/main.ts @@ -1,19 +1,10 @@ import register from 'preact-custom-element'; -import { CounterPreact } from "../elements/counter-preact.js"; -import { ButtonPreact } from "../elements/button-preact.js"; -import { Button2 } from "../components/button2.js"; -import { Counter2 } from "../components/counter2.js"; -import { Counter } from "../elements/counter.js"; -import { Button } from "../elements/button.js"; - +import { Button } from "../components/button.js"; +import { Counter } from "../components/counter.js"; function main() { - customElements.define("dsd-counter-preact", CounterPreact); - customElements.define("dsd-button-preact", ButtonPreact); - register(Counter2, 'element-counter2', [], { shadow: true, mode: 'open', adoptedStyleSheets: [counterStyle] }); - register(Button2, 'element-button2', [], { shadow: true, mode: 'open', adoptedStyleSheets: [] }); - customElements.define("element-counter", Counter); - customElements.define("element-button", Button); + register(Counter, 'element-counter', [], { shadow: true, mode: 'open' }); + register(Button, 'element-button', [], { shadow: true, mode: 'open' }); } -document.addEventListener("DOMContentLoaded", main) \ No newline at end of file +document.addEventListener("DOMContentLoaded", main); \ No newline at end of file diff --git a/package/src/elements/button-preact.tsx b/package/src/elements/button-preact.tsx deleted file mode 100644 index 39987f0..0000000 --- a/package/src/elements/button-preact.tsx +++ /dev/null @@ -1,51 +0,0 @@ -/** @jsxImportSource preact */ -import { hydrate, render } from "preact"; -import { Button } from "../components/button.js"; -import { count } from "../signals/counter.js"; -class ButtonPreact extends HTMLElement { - static observedAttributes = []; // Add attribute names if needed - - private shadow: ShadowRoot | null = null; - private internals?: ElementInternals; - - constructor() { - super(); - if ("attachInternals" in this) { - this.internals = this.attachInternals(); - } - } - - private handleClick() { - count.value++; - } - - connectedCallback() { - this.shadow = this.internals?.shadowRoot || this.shadowRoot; - if (!this.shadow) { - this.shadow = this.attachShadow({ mode: "open", serializable: true }); - render( - <> - -