@leverege/imaginarium-ui 1.9.1 → 1.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/ImaginariumApiContext-BScpog6-.js +96 -0
- package/lib/ImaginariumApiContext-BScpog6-.js.map +1 -0
- package/lib/ImaginariumApiContext-C25y_9Bn.cjs +2 -0
- package/lib/ImaginariumApiContext-C25y_9Bn.cjs.map +1 -0
- package/lib/{ImaginariumApp-DAu-61PK.js → ImaginariumApp-C-sj9QCv.js} +172 -155
- package/lib/ImaginariumApp-C-sj9QCv.js.map +1 -0
- package/lib/ImaginariumApp-Crx69pRE.cjs +2 -0
- package/lib/ImaginariumApp-Crx69pRE.cjs.map +1 -0
- package/lib/{MarkdownPageDoc-Dql3rHp7.js → MarkdownPageDoc-IGkRhxWs.js} +3 -3
- package/lib/{MarkdownPageDoc-Dql3rHp7.js.map → MarkdownPageDoc-IGkRhxWs.js.map} +1 -1
- package/lib/{MarkdownPageDoc-OJ0KuYet.cjs → MarkdownPageDoc-j4-y1Gf6.cjs} +2 -2
- package/lib/{MarkdownPageDoc-OJ0KuYet.cjs.map → MarkdownPageDoc-j4-y1Gf6.cjs.map} +1 -1
- package/lib/{PluginSetup-CSyysKPV.js → PluginSetup-B-KjdUGN.js} +1165 -1029
- package/lib/PluginSetup-B-KjdUGN.js.map +1 -0
- package/lib/{PluginSetup-TdtTCNoq.cjs → PluginSetup-Bm4PyEtB.cjs} +2 -2
- package/lib/{PluginSetup-TdtTCNoq.cjs.map → PluginSetup-Bm4PyEtB.cjs.map} +1 -1
- package/lib/{PluginSetup-BqHhcqJa.js → PluginSetup-CIrh6vdP.js} +3 -3
- package/lib/{PluginSetup-BqHhcqJa.js.map → PluginSetup-CIrh6vdP.js.map} +1 -1
- package/lib/PluginSetup-CioXRjWx.cjs +116 -0
- package/lib/PluginSetup-CioXRjWx.cjs.map +1 -0
- package/lib/{PluginSetup-CPDTDrac.cjs → PluginSetup-D0XaU9lB.cjs} +2 -2
- package/lib/{PluginSetup-CPDTDrac.cjs.map → PluginSetup-D0XaU9lB.cjs.map} +1 -1
- package/lib/{PluginSetup-CJ_fpQHi.js → PluginSetup-DayZ5raK.js} +2 -2
- package/lib/{PluginSetup-CJ_fpQHi.js.map → PluginSetup-DayZ5raK.js.map} +1 -1
- package/lib/api/ImaginariumApiContext.d.ts.map +1 -1
- package/lib/api/errors.d.ts +18 -0
- package/lib/api/errors.d.ts.map +1 -0
- package/lib/auth/RequireAuth.d.ts.map +1 -1
- package/lib/examples.cjs +1 -1
- package/lib/examples.js +1 -1
- package/lib/imp/release/DuplicateReleaseModal.d.ts +10 -0
- package/lib/imp/release/DuplicateReleaseModal.d.ts.map +1 -0
- package/lib/imp/release/ReleaseList.d.ts.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.js +13 -13
- package/lib/{mdComponents-DTSag34Z.js → mdComponents-DhHd82jM.js} +22 -25
- package/lib/{mdComponents-DTSag34Z.js.map → mdComponents-DhHd82jM.js.map} +1 -1
- package/lib/mdComponents-Klq-gNeR.cjs +16 -0
- package/lib/{mdComponents-BM9poVvh.cjs.map → mdComponents-Klq-gNeR.cjs.map} +1 -1
- package/lib/release.cjs +1 -1
- package/lib/release.js +2 -2
- package/lib/secret.cjs +1 -1
- package/lib/secret.js +1 -1
- package/lib/shell/ImaginariumApp.d.ts +13 -0
- package/lib/shell/ImaginariumApp.d.ts.map +1 -1
- package/lib/shell.cjs +1 -1
- package/lib/shell.js +1 -1
- package/lib/system.cjs +1 -1
- package/lib/system.js +2 -2
- package/lib/{useInterface-CcZNJ7Q3.js → useInterface-BKFIfwcv.js} +2 -2
- package/lib/{useInterface-CcZNJ7Q3.js.map → useInterface-BKFIfwcv.js.map} +1 -1
- package/lib/{useInterface-DjBiEihv.cjs → useInterface-YZG6pk0-.cjs} +2 -2
- package/lib/{useInterface-DjBiEihv.cjs.map → useInterface-YZG6pk0-.cjs.map} +1 -1
- package/package.json +9 -8
- package/src/api/ImaginariumApiContext.tsx +4 -1
- package/src/api/errors.ts +36 -0
- package/src/auth/RequireAuth.tsx +2 -1
- package/src/imp/release/DuplicateReleaseModal.tsx +157 -0
- package/src/imp/release/ReleaseList.tsx +54 -4
- package/src/shell/ImaginariumApp.tsx +33 -6
- package/lib/ImaginariumApiContext-CbcURxdX.cjs +0 -2
- package/lib/ImaginariumApiContext-CbcURxdX.cjs.map +0 -1
- package/lib/ImaginariumApiContext-CfXagMC6.js +0 -35
- package/lib/ImaginariumApiContext-CfXagMC6.js.map +0 -1
- package/lib/ImaginariumApp-DAu-61PK.js.map +0 -1
- package/lib/ImaginariumApp-DUtoZlIK.cjs +0 -2
- package/lib/ImaginariumApp-DUtoZlIK.cjs.map +0 -1
- package/lib/PluginSetup-CSyysKPV.js.map +0 -1
- package/lib/PluginSetup-mMZxLg08.cjs +0 -116
- package/lib/PluginSetup-mMZxLg08.cjs.map +0 -1
- package/lib/mdComponents-BM9poVvh.cjs +0 -16
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { jsx as y } from "react/jsx-runtime";
|
|
2
|
+
import { createContext as E, useMemo as v, useContext as j } from "react";
|
|
3
|
+
var $ = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
4
|
+
function I(e) {
|
|
5
|
+
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
6
|
+
}
|
|
7
|
+
function b(e, a, u) {
|
|
8
|
+
return e.prototype = Object.assign(
|
|
9
|
+
Object.create(a.prototype, {
|
|
10
|
+
constructor: { value: e }
|
|
11
|
+
}),
|
|
12
|
+
u
|
|
13
|
+
), e;
|
|
14
|
+
}
|
|
15
|
+
function P() {
|
|
16
|
+
const e = [];
|
|
17
|
+
return e.push(this.name), e.push(": "), e.push(this.message), e.push(" "), e.push(JSON.stringify(this)), e.join("");
|
|
18
|
+
}
|
|
19
|
+
function T() {
|
|
20
|
+
return { message: this.message, ...this };
|
|
21
|
+
}
|
|
22
|
+
function g(e, a, u, c, d) {
|
|
23
|
+
if (e && typeof e == "object")
|
|
24
|
+
return e;
|
|
25
|
+
const i = { ...d };
|
|
26
|
+
return a !== void 0 && (i.message = a), u !== void 0 && (i.status = u), c !== void 0 && (i.name = c), i;
|
|
27
|
+
}
|
|
28
|
+
function C(e = "Error", a, u, c) {
|
|
29
|
+
const d = this, i = g(e, u, a, e, c), o = { ...d.defaultParams, ...i };
|
|
30
|
+
delete o.name, delete o.message;
|
|
31
|
+
const n = function(f, r, m) {
|
|
32
|
+
if (!(this instanceof n))
|
|
33
|
+
return new n(f, r, m);
|
|
34
|
+
typeof r == "object" && (m = r, r = void 0);
|
|
35
|
+
const s = { ...o, ...g(f, f, r, void 0, m) };
|
|
36
|
+
Object.keys(s).forEach((l) => {
|
|
37
|
+
this[l] = s[l];
|
|
38
|
+
}), Error.captureStackTrace && Error.captureStackTrace(this, this.constructor);
|
|
39
|
+
};
|
|
40
|
+
return n.extend = this.extend, n.defaultParams = o, b(n, d, i);
|
|
41
|
+
}
|
|
42
|
+
const p = b(() => {
|
|
43
|
+
}, Error);
|
|
44
|
+
p.extend = C;
|
|
45
|
+
p.prototype.toString = P;
|
|
46
|
+
p.prototype.toObject = T;
|
|
47
|
+
var U = p.extend();
|
|
48
|
+
const t = U;
|
|
49
|
+
t.badRequest = t.extend("BadRequest", 400, "Bad arguments");
|
|
50
|
+
t.unauthorized = t.extend("Unauthorized", 401, "Unauthorized");
|
|
51
|
+
t.forbidden = t.extend("Forbidden", 403, "Forbidden");
|
|
52
|
+
t.notFound = t.extend("NotFound", 404, "Not found");
|
|
53
|
+
t.requestTimeout = t.extend("RequestTimeout", 408, "Request timeout");
|
|
54
|
+
t.conflict = t.extend("Conflict", 409, "Conflict");
|
|
55
|
+
t.gone = t.extend("Gone", 410, "Gone");
|
|
56
|
+
t.internalError = t.extend("InternalError", 500, "Internal Error");
|
|
57
|
+
t.notImplemented = t.extend("NotImplemented", 501, "Not implemented");
|
|
58
|
+
t.serviceUnavailable = t.extend("ServiceUnavailable", 503, "Service unavailable");
|
|
59
|
+
t.illegalArgument = t.extend("IllegalArgument", 400, "Illegal argument");
|
|
60
|
+
t.unknownMessage = t.extend("UnknownMessage", 400, "Unknown Message");
|
|
61
|
+
var k = t;
|
|
62
|
+
const x = /* @__PURE__ */ I(k), w = E(null);
|
|
63
|
+
function q({ apiBaseUrl: e = "/api", children: a }) {
|
|
64
|
+
const u = v(() => {
|
|
65
|
+
const c = e.replace(/\/$/, ""), d = (o) => `${c}${o.startsWith("/") ? o : `/${o}`}`;
|
|
66
|
+
return { apiBaseUrl: c, buildUrl: d, fetchJson: async (o, n) => {
|
|
67
|
+
var l;
|
|
68
|
+
const f = new Headers(n == null ? void 0 : n.headers);
|
|
69
|
+
n != null && n.body && !f.has("Content-Type") && f.set("Content-Type", "application/json");
|
|
70
|
+
const r = await fetch(d(o), {
|
|
71
|
+
credentials: "include",
|
|
72
|
+
...n,
|
|
73
|
+
headers: f
|
|
74
|
+
}), s = ((l = r.headers.get("content-type")) == null ? void 0 : l.includes("application/json")) && r.status !== 204 ? await r.json() : void 0;
|
|
75
|
+
if (!r.ok) {
|
|
76
|
+
const h = (s == null ? void 0 : s.error) || (s == null ? void 0 : s.message) || r.statusText;
|
|
77
|
+
throw r.status === 401 ? x.unauthorized(h) : x.internalError(h);
|
|
78
|
+
}
|
|
79
|
+
return s;
|
|
80
|
+
} };
|
|
81
|
+
}, [e]);
|
|
82
|
+
return /* @__PURE__ */ y(w.Provider, { value: u, children: a });
|
|
83
|
+
}
|
|
84
|
+
function J() {
|
|
85
|
+
const e = j(w);
|
|
86
|
+
if (!e)
|
|
87
|
+
throw new Error("useImaginariumApi must be used within an ImaginariumApiProvider");
|
|
88
|
+
return e;
|
|
89
|
+
}
|
|
90
|
+
export {
|
|
91
|
+
q as I,
|
|
92
|
+
$ as c,
|
|
93
|
+
I as g,
|
|
94
|
+
J as u
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=ImaginariumApiContext-BScpog6-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImaginariumApiContext-BScpog6-.js","sources":["../../../node_modules/@leverege/error/src/Err.js","../../../node_modules/@leverege/error/src/index.js","../src/api/ImaginariumApiContext.tsx"],"sourcesContent":["// Based off of:\n// https://github.com/stolksdorf/egads/blob/master/egads.js\n\nfunction create( obj, parent, props ) {\n obj.prototype = Object.assign(\n Object.create( parent.prototype, {\n constructor : { value : obj }\n } ),\n props\n )\n return obj\n}\n\nfunction toString( ) {\n const b = []\n b.push( this.name )\n // if ( b.message && b.message != '' ){\n b.push( ': ' )\n b.push( this.message )\n // }\n b.push( ' ' )\n b.push( JSON.stringify( this ) )\n return b.join( '' )\n}\n\nfunction toObject( ) {\n return { message : this.message, ...this }\n}\n\nfunction getParams( possibleObj, message, status, name, fields ) {\n if ( possibleObj && typeof possibleObj === 'object' ) {\n return possibleObj // its a single obj\n }\n const o = { ...fields }\n if ( message !== undefined ) { o.message = message }\n if ( status !== undefined ) { o.status = status }\n if ( name !== undefined ) { o.name = name }\n return o\n}\n\nfunction extend( name = 'Error', status, msg, fields ) { // eslint-disable-line default-param-last\n\n const parent = this\n const params = getParams( name, msg, status, name, fields )\n\n // \n const defaultParams = { ...parent.defaultParams, ...params }\n delete defaultParams.name\n delete defaultParams.message\n\n const SubErr = function( oMsg, oStatus, oFields ) {\n if ( !( this instanceof SubErr ) ) {\n return new SubErr( oMsg, oStatus, oFields )\n }\n if ( typeof oStatus === 'object' ) {\n oFields = oStatus\n oStatus = undefined\n }\n const oParams = { ...defaultParams, ...getParams( oMsg, oMsg, oStatus, undefined, oFields ) }\n Object.keys( oParams ).forEach( ( k ) => { this[k] = oParams[k] } )\n if ( Error.captureStackTrace ) {\n Error.captureStackTrace( this, this.constructor )\n }\n return undefined\n }\n\n SubErr.extend = this.extend\n SubErr.defaultParams = defaultParams\n\n return create( SubErr, parent, params )\n}\n\nconst BaseErr = create( () => {}, Error )\nBaseErr.extend = extend\nBaseErr.prototype.toString = toString\nBaseErr.prototype.toObject = toObject\n\nmodule.exports = BaseErr.extend( )\n","const Err = require( './Err' )\n\n// Common Http Errors\n\nErr.badRequest = Err.extend( 'BadRequest', 400, 'Bad arguments' )\nErr.unauthorized = Err.extend( 'Unauthorized', 401, 'Unauthorized' )\nErr.forbidden = Err.extend( 'Forbidden', 403, 'Forbidden' )\nErr.notFound = Err.extend( 'NotFound', 404, 'Not found' )\nErr.requestTimeout = Err.extend( 'RequestTimeout', 408, 'Request timeout' )\nErr.conflict = Err.extend( 'Conflict', 409, 'Conflict' )\nErr.gone = Err.extend( 'Gone', 410, 'Gone' )\n\nErr.internalError = Err.extend( 'InternalError', 500, 'Internal Error' )\nErr.notImplemented = Err.extend( 'NotImplemented', 501, 'Not implemented' )\nErr.serviceUnavailable = Err.extend( 'ServiceUnavailable', 503, 'Service unavailable' )\n\n// Other errors\n\nErr.illegalArgument = Err.extend( 'IllegalArgument', 400, 'Illegal argument' ) // use BadRequest code\nErr.unknownMessage = Err.extend( 'UnknownMessage', 400, 'Unknown Message' )\n\nmodule.exports = Err\n","import { createContext, useContext, useMemo, type ReactNode } from 'react'\n\nimport Err from '@leverege/error'\n\nexport interface ImaginariumApiContextValue {\n apiBaseUrl: string\n fetchJson: <T = unknown>( path: string, init?: RequestInit ) => Promise<T>\n buildUrl: ( path: string ) => string\n}\n\nconst Context = createContext<ImaginariumApiContextValue | null>( null )\n\nexport interface ImaginariumApiProviderProps {\n apiBaseUrl?: string\n children: ReactNode\n}\n\nexport function ImaginariumApiProvider( { apiBaseUrl = '/api', children }: ImaginariumApiProviderProps ) {\n const value = useMemo<ImaginariumApiContextValue>( () => {\n const base = apiBaseUrl.replace( /\\/$/, '' )\n const buildUrl = ( path: string ) => `${base}${path.startsWith( '/' ) ? path : `/${path}`}`\n\n const fetchJson = async <T = unknown>( path: string, init?: RequestInit ): Promise<T> => {\n const headers = new Headers( init?.headers )\n if ( init?.body && !headers.has( 'Content-Type' ) ) {\n headers.set( 'Content-Type', 'application/json' )\n }\n const res = await fetch( buildUrl( path ), {\n credentials: 'include',\n ...init,\n headers,\n } )\n const isJson = res.headers.get( 'content-type' )?.includes( 'application/json' )\n const body = isJson && res.status !== 204 ? await res.json() : undefined\n if ( !res.ok ) {\n const msg = ( body as { error?: string; message?: string } | undefined )?.error\n || ( body as { message?: string } | undefined )?.message\n || res.statusText\n if ( res.status === 401 ) { throw Err.unauthorized( msg ) }\n throw Err.internalError( msg )\n }\n return body as T\n }\n\n return { apiBaseUrl: base, buildUrl, fetchJson }\n }, [ apiBaseUrl ] )\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport function useImaginariumApi() {\n const ctx = useContext( Context )\n if ( !ctx ) {\n throw new Error( 'useImaginariumApi must be used within an ImaginariumApiProvider' )\n }\n return ctx\n}\n"],"names":["create","obj","parent","props","toString","b","toObject","getParams","possibleObj","message","status","name","fields","o","extend","msg","params","defaultParams","SubErr","oMsg","oStatus","oFields","oParams","k","BaseErr","Err","require$$0","src","Context","createContext","ImaginariumApiProvider","apiBaseUrl","children","value","useMemo","base","buildUrl","path","init","headers","res","body","_a","jsx","useImaginariumApi","ctx","useContext"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const y=require("react/jsx-runtime"),h=require("react");var j=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function w(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function E(e,a,u){return e.prototype=Object.assign(Object.create(a.prototype,{constructor:{value:e}}),u),e}function I(){const e=[];return e.push(this.name),e.push(": "),e.push(this.message),e.push(" "),e.push(JSON.stringify(this)),e.join("")}function P(){return{message:this.message,...this}}function x(e,a,u,c,d){if(e&&typeof e=="object")return e;const i={...d};return a!==void 0&&(i.message=a),u!==void 0&&(i.status=u),c!==void 0&&(i.name=c),i}function C(e="Error",a,u,c){const d=this,i=x(e,u,a,e,c),o={...d.defaultParams,...i};delete o.name,delete o.message;const n=function(l,r,m){if(!(this instanceof n))return new n(l,r,m);typeof r=="object"&&(m=r,r=void 0);const s={...o,...x(l,l,r,void 0,m)};Object.keys(s).forEach(f=>{this[f]=s[f]}),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return n.extend=this.extend,n.defaultParams=o,E(n,d,i)}const p=E(()=>{},Error);p.extend=C;p.prototype.toString=I;p.prototype.toObject=P;var T=p.extend();const t=T;t.badRequest=t.extend("BadRequest",400,"Bad arguments");t.unauthorized=t.extend("Unauthorized",401,"Unauthorized");t.forbidden=t.extend("Forbidden",403,"Forbidden");t.notFound=t.extend("NotFound",404,"Not found");t.requestTimeout=t.extend("RequestTimeout",408,"Request timeout");t.conflict=t.extend("Conflict",409,"Conflict");t.gone=t.extend("Gone",410,"Gone");t.internalError=t.extend("InternalError",500,"Internal Error");t.notImplemented=t.extend("NotImplemented",501,"Not implemented");t.serviceUnavailable=t.extend("ServiceUnavailable",503,"Service unavailable");t.illegalArgument=t.extend("IllegalArgument",400,"Illegal argument");t.unknownMessage=t.extend("UnknownMessage",400,"Unknown Message");var A=t;const b=w(A),v=h.createContext(null);function q({apiBaseUrl:e="/api",children:a}){const u=h.useMemo(()=>{const c=e.replace(/\/$/,""),d=o=>`${c}${o.startsWith("/")?o:`/${o}`}`;return{apiBaseUrl:c,buildUrl:d,fetchJson:async(o,n)=>{var f;const l=new Headers(n==null?void 0:n.headers);n!=null&&n.body&&!l.has("Content-Type")&&l.set("Content-Type","application/json");const r=await fetch(d(o),{credentials:"include",...n,headers:l}),s=((f=r.headers.get("content-type"))==null?void 0:f.includes("application/json"))&&r.status!==204?await r.json():void 0;if(!r.ok){const g=(s==null?void 0:s.error)||(s==null?void 0:s.message)||r.statusText;throw r.status===401?b.unauthorized(g):b.internalError(g)}return s}}},[e]);return y.jsx(v.Provider,{value:u,children:a})}function U(){const e=h.useContext(v);if(!e)throw new Error("useImaginariumApi must be used within an ImaginariumApiProvider");return e}exports.ImaginariumApiProvider=q;exports.commonjsGlobal=j;exports.getDefaultExportFromCjs=w;exports.useImaginariumApi=U;
|
|
2
|
+
//# sourceMappingURL=ImaginariumApiContext-C25y_9Bn.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImaginariumApiContext-C25y_9Bn.cjs","sources":["../../../node_modules/@leverege/error/src/Err.js","../../../node_modules/@leverege/error/src/index.js","../src/api/ImaginariumApiContext.tsx"],"sourcesContent":["// Based off of:\n// https://github.com/stolksdorf/egads/blob/master/egads.js\n\nfunction create( obj, parent, props ) {\n obj.prototype = Object.assign(\n Object.create( parent.prototype, {\n constructor : { value : obj }\n } ),\n props\n )\n return obj\n}\n\nfunction toString( ) {\n const b = []\n b.push( this.name )\n // if ( b.message && b.message != '' ){\n b.push( ': ' )\n b.push( this.message )\n // }\n b.push( ' ' )\n b.push( JSON.stringify( this ) )\n return b.join( '' )\n}\n\nfunction toObject( ) {\n return { message : this.message, ...this }\n}\n\nfunction getParams( possibleObj, message, status, name, fields ) {\n if ( possibleObj && typeof possibleObj === 'object' ) {\n return possibleObj // its a single obj\n }\n const o = { ...fields }\n if ( message !== undefined ) { o.message = message }\n if ( status !== undefined ) { o.status = status }\n if ( name !== undefined ) { o.name = name }\n return o\n}\n\nfunction extend( name = 'Error', status, msg, fields ) { // eslint-disable-line default-param-last\n\n const parent = this\n const params = getParams( name, msg, status, name, fields )\n\n // \n const defaultParams = { ...parent.defaultParams, ...params }\n delete defaultParams.name\n delete defaultParams.message\n\n const SubErr = function( oMsg, oStatus, oFields ) {\n if ( !( this instanceof SubErr ) ) {\n return new SubErr( oMsg, oStatus, oFields )\n }\n if ( typeof oStatus === 'object' ) {\n oFields = oStatus\n oStatus = undefined\n }\n const oParams = { ...defaultParams, ...getParams( oMsg, oMsg, oStatus, undefined, oFields ) }\n Object.keys( oParams ).forEach( ( k ) => { this[k] = oParams[k] } )\n if ( Error.captureStackTrace ) {\n Error.captureStackTrace( this, this.constructor )\n }\n return undefined\n }\n\n SubErr.extend = this.extend\n SubErr.defaultParams = defaultParams\n\n return create( SubErr, parent, params )\n}\n\nconst BaseErr = create( () => {}, Error )\nBaseErr.extend = extend\nBaseErr.prototype.toString = toString\nBaseErr.prototype.toObject = toObject\n\nmodule.exports = BaseErr.extend( )\n","const Err = require( './Err' )\n\n// Common Http Errors\n\nErr.badRequest = Err.extend( 'BadRequest', 400, 'Bad arguments' )\nErr.unauthorized = Err.extend( 'Unauthorized', 401, 'Unauthorized' )\nErr.forbidden = Err.extend( 'Forbidden', 403, 'Forbidden' )\nErr.notFound = Err.extend( 'NotFound', 404, 'Not found' )\nErr.requestTimeout = Err.extend( 'RequestTimeout', 408, 'Request timeout' )\nErr.conflict = Err.extend( 'Conflict', 409, 'Conflict' )\nErr.gone = Err.extend( 'Gone', 410, 'Gone' )\n\nErr.internalError = Err.extend( 'InternalError', 500, 'Internal Error' )\nErr.notImplemented = Err.extend( 'NotImplemented', 501, 'Not implemented' )\nErr.serviceUnavailable = Err.extend( 'ServiceUnavailable', 503, 'Service unavailable' )\n\n// Other errors\n\nErr.illegalArgument = Err.extend( 'IllegalArgument', 400, 'Illegal argument' ) // use BadRequest code\nErr.unknownMessage = Err.extend( 'UnknownMessage', 400, 'Unknown Message' )\n\nmodule.exports = Err\n","import { createContext, useContext, useMemo, type ReactNode } from 'react'\n\nimport Err from '@leverege/error'\n\nexport interface ImaginariumApiContextValue {\n apiBaseUrl: string\n fetchJson: <T = unknown>( path: string, init?: RequestInit ) => Promise<T>\n buildUrl: ( path: string ) => string\n}\n\nconst Context = createContext<ImaginariumApiContextValue | null>( null )\n\nexport interface ImaginariumApiProviderProps {\n apiBaseUrl?: string\n children: ReactNode\n}\n\nexport function ImaginariumApiProvider( { apiBaseUrl = '/api', children }: ImaginariumApiProviderProps ) {\n const value = useMemo<ImaginariumApiContextValue>( () => {\n const base = apiBaseUrl.replace( /\\/$/, '' )\n const buildUrl = ( path: string ) => `${base}${path.startsWith( '/' ) ? path : `/${path}`}`\n\n const fetchJson = async <T = unknown>( path: string, init?: RequestInit ): Promise<T> => {\n const headers = new Headers( init?.headers )\n if ( init?.body && !headers.has( 'Content-Type' ) ) {\n headers.set( 'Content-Type', 'application/json' )\n }\n const res = await fetch( buildUrl( path ), {\n credentials: 'include',\n ...init,\n headers,\n } )\n const isJson = res.headers.get( 'content-type' )?.includes( 'application/json' )\n const body = isJson && res.status !== 204 ? await res.json() : undefined\n if ( !res.ok ) {\n const msg = ( body as { error?: string; message?: string } | undefined )?.error\n || ( body as { message?: string } | undefined )?.message\n || res.statusText\n if ( res.status === 401 ) { throw Err.unauthorized( msg ) }\n throw Err.internalError( msg )\n }\n return body as T\n }\n\n return { apiBaseUrl: base, buildUrl, fetchJson }\n }, [ apiBaseUrl ] )\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport function useImaginariumApi() {\n const ctx = useContext( Context )\n if ( !ctx ) {\n throw new Error( 'useImaginariumApi must be used within an ImaginariumApiProvider' )\n }\n return ctx\n}\n"],"names":["create","obj","parent","props","toString","b","toObject","getParams","possibleObj","message","status","name","fields","o","extend","msg","params","defaultParams","SubErr","oMsg","oStatus","oFields","oParams","k","BaseErr","Err","require$$0","src","Context","createContext","ImaginariumApiProvider","apiBaseUrl","children","value","useMemo","base","buildUrl","path","init","headers","res","body","_a","jsx","useImaginariumApi","ctx","useContext"],"mappings":"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","x_google_ignoreList":[0,1]}
|