@optionfactory/ful 1.0.16 → 1.1.1
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/dist/ful-client-errors.iife.js.map +1 -1
- package/dist/ful-client-errors.iife.min.js.map +1 -1
- package/dist/ful.iife.js +15 -13
- package/dist/ful.iife.js.map +1 -1
- package/dist/ful.iife.min.js +1 -1
- package/dist/ful.iife.min.js.map +1 -1
- package/dist/ful.min.mjs +1 -1
- package/dist/ful.min.mjs.map +1 -1
- package/dist/ful.mjs +15 -13
- package/dist/ful.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ful-client-errors.iife.js","sources":["../src/client-errors.js"],"sourcesContent":["function ful_report_error(evt) {\n function meta_content(name) {\n var metaEls = document.getElementsByTagName(\"meta\");\n var content = [].slice.call(metaEls).filter(function (v) {\n return v.name === name;\n }).map(function (v) {\n return v.content;\n });\n return content[0];\n }\n function configured_report_uri() {\n var scriptEl = document.querySelector('script[data-report-client-errors-uri]');\n if (!scriptEl) {\n console && console.error && console.error(\"missing attribute data-report-client-errors-uri\");\n return null;\n }\n return scriptEl.dataset['reportClientErrorsUri'];\n }\n function split_stack() {\n if (evt.error && evt.error.stack && evt.error.stack.split) {\n return evt.error.stack.split(\"\\n\");\n }\n if (evt.reason && evt.reason.stack && evt.reason.stack.split) {\n return evt.reason.stack.split(\"\\n\");\n }\n return undefined\n }\n function message() {\n if (evt.message) {\n return evt.message;\n }\n if (evt.reason && evt.reason.message) {\n return evt.reason.message;\n }\n if (evt.error && evt.error.message) {\n return evt.error.message;\n }\n return undefined;\n }\n\n var uri = configured_report_uri();\n if (!uri) {\n return;\n }\n var headers = {\n 'Content-Type': 'application/json'\n };\n headers[meta_content(\"_csrf_header\")] = meta_content(\"_csrf\");\n try {\n fetch(uri, {\n method: 'POST',\n mode: 'same-origin',\n cache: 'no-cache',\n credentials: 'same-origin',\n headers: headers,\n redirect: 'error',\n referrerPolicy: 'no-referrer-when-downgrade',\n body: JSON.stringify({\n page: window.location && window.location.href ? window.location.href : \"unknown\",\n filename: evt.filename,\n line: evt.lineno,\n col: evt.colno,\n message: message(),\n stack: split_stack()\n })\n });\n } catch (e) {\n //nothing to do here\n }\n}\n\nwindow.addEventListener('error', ful_report_error);\nwindow.addEventListener('unhandledrejection', ful_report_error);\n"],"names":[],"mappings":";;;IAAA,SAAS,gBAAgB,CAAC,GAAG,EAAE;IAC/B,IAAI,SAAS,YAAY,CAAC,IAAI,EAAE;IAChC,QAAQ,IAAI,OAAO,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC;IAC3D,QAAQ,IAAI,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;IACjE,YAAY,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI;IAClC,
|
|
1
|
+
{"version":3,"file":"ful-client-errors.iife.js","sources":["../src/client-errors.js"],"sourcesContent":["function ful_report_error(evt) {\n function meta_content(name) {\n var metaEls = document.getElementsByTagName(\"meta\");\n var content = [].slice.call(metaEls).filter(function (v) {\n return v.name === name;\n }).map(function (v) {\n return v.content;\n });\n return content[0];\n }\n function configured_report_uri() {\n var scriptEl = document.querySelector('script[data-report-client-errors-uri]');\n if (!scriptEl) {\n console && console.error && console.error(\"missing attribute data-report-client-errors-uri\");\n return null;\n }\n return scriptEl.dataset['reportClientErrorsUri'];\n }\n function split_stack() {\n if (evt.error && evt.error.stack && evt.error.stack.split) {\n return evt.error.stack.split(\"\\n\");\n }\n if (evt.reason && evt.reason.stack && evt.reason.stack.split) {\n return evt.reason.stack.split(\"\\n\");\n }\n return undefined\n }\n function message() {\n if (evt.message) {\n return evt.message;\n }\n if (evt.reason && evt.reason.message) {\n return evt.reason.message;\n }\n if (evt.error && evt.error.message) {\n return evt.error.message;\n }\n return undefined;\n }\n\n var uri = configured_report_uri();\n if (!uri) {\n return;\n }\n var headers = {\n 'Content-Type': 'application/json'\n };\n headers[meta_content(\"_csrf_header\")] = meta_content(\"_csrf\");\n try {\n fetch(uri, {\n method: 'POST',\n mode: 'same-origin',\n cache: 'no-cache',\n credentials: 'same-origin',\n headers: headers,\n redirect: 'error',\n referrerPolicy: 'no-referrer-when-downgrade',\n body: JSON.stringify({\n page: window.location && window.location.href ? window.location.href : \"unknown\",\n filename: evt.filename,\n line: evt.lineno,\n col: evt.colno,\n message: message(),\n stack: split_stack()\n })\n });\n } catch (e) {\n //nothing to do here\n }\n}\n\nwindow.addEventListener('error', ful_report_error);\nwindow.addEventListener('unhandledrejection', ful_report_error);\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ful-client-errors.iife.min.js","sources":["../src/client-errors.js"],"sourcesContent":["function ful_report_error(evt) {\n function meta_content(name) {\n var metaEls = document.getElementsByTagName(\"meta\");\n var content = [].slice.call(metaEls).filter(function (v) {\n return v.name === name;\n }).map(function (v) {\n return v.content;\n });\n return content[0];\n }\n function configured_report_uri() {\n var scriptEl = document.querySelector('script[data-report-client-errors-uri]');\n if (!scriptEl) {\n console && console.error && console.error(\"missing attribute data-report-client-errors-uri\");\n return null;\n }\n return scriptEl.dataset['reportClientErrorsUri'];\n }\n function split_stack() {\n if (evt.error && evt.error.stack && evt.error.stack.split) {\n return evt.error.stack.split(\"\\n\");\n }\n if (evt.reason && evt.reason.stack && evt.reason.stack.split) {\n return evt.reason.stack.split(\"\\n\");\n }\n return undefined\n }\n function message() {\n if (evt.message) {\n return evt.message;\n }\n if (evt.reason && evt.reason.message) {\n return evt.reason.message;\n }\n if (evt.error && evt.error.message) {\n return evt.error.message;\n }\n return undefined;\n }\n\n var uri = configured_report_uri();\n if (!uri) {\n return;\n }\n var headers = {\n 'Content-Type': 'application/json'\n };\n headers[meta_content(\"_csrf_header\")] = meta_content(\"_csrf\");\n try {\n fetch(uri, {\n method: 'POST',\n mode: 'same-origin',\n cache: 'no-cache',\n credentials: 'same-origin',\n headers: headers,\n redirect: 'error',\n referrerPolicy: 'no-referrer-when-downgrade',\n body: JSON.stringify({\n page: window.location && window.location.href ? window.location.href : \"unknown\",\n filename: evt.filename,\n line: evt.lineno,\n col: evt.colno,\n message: message(),\n stack: split_stack()\n })\n });\n } catch (e) {\n //nothing to do here\n }\n}\n\nwindow.addEventListener('error', ful_report_error);\nwindow.addEventListener('unhandledrejection', ful_report_error);\n"],"names":["ful_report_error","evt","meta_content","name","metaEls","document","getElementsByTagName","slice","call","filter","v","map","content","scriptEl","uri","querySelector","dataset","console","error","headers","fetch","method","mode","cache","credentials","redirect","referrerPolicy","body","JSON","stringify","page","window","location","href","filename","line","lineno","col","colno","message","reason","stack","split","e","addEventListener"],"mappings":"yBAAA,SAASA,EAAiBC,GACtB,SAASC,EAAaC,GAClB,IAAIC,EAAUC,SAASC,qBAAqB,QAM5C,MALc,GAAGC,MAAMC,KAAKJ,GAASK,OAAO,SAAUC,GAClD,OAAOA,EAAEP,OAASA,
|
|
1
|
+
{"version":3,"file":"ful-client-errors.iife.min.js","sources":["../src/client-errors.js"],"sourcesContent":["function ful_report_error(evt) {\n function meta_content(name) {\n var metaEls = document.getElementsByTagName(\"meta\");\n var content = [].slice.call(metaEls).filter(function (v) {\n return v.name === name;\n }).map(function (v) {\n return v.content;\n });\n return content[0];\n }\n function configured_report_uri() {\n var scriptEl = document.querySelector('script[data-report-client-errors-uri]');\n if (!scriptEl) {\n console && console.error && console.error(\"missing attribute data-report-client-errors-uri\");\n return null;\n }\n return scriptEl.dataset['reportClientErrorsUri'];\n }\n function split_stack() {\n if (evt.error && evt.error.stack && evt.error.stack.split) {\n return evt.error.stack.split(\"\\n\");\n }\n if (evt.reason && evt.reason.stack && evt.reason.stack.split) {\n return evt.reason.stack.split(\"\\n\");\n }\n return undefined\n }\n function message() {\n if (evt.message) {\n return evt.message;\n }\n if (evt.reason && evt.reason.message) {\n return evt.reason.message;\n }\n if (evt.error && evt.error.message) {\n return evt.error.message;\n }\n return undefined;\n }\n\n var uri = configured_report_uri();\n if (!uri) {\n return;\n }\n var headers = {\n 'Content-Type': 'application/json'\n };\n headers[meta_content(\"_csrf_header\")] = meta_content(\"_csrf\");\n try {\n fetch(uri, {\n method: 'POST',\n mode: 'same-origin',\n cache: 'no-cache',\n credentials: 'same-origin',\n headers: headers,\n redirect: 'error',\n referrerPolicy: 'no-referrer-when-downgrade',\n body: JSON.stringify({\n page: window.location && window.location.href ? window.location.href : \"unknown\",\n filename: evt.filename,\n line: evt.lineno,\n col: evt.colno,\n message: message(),\n stack: split_stack()\n })\n });\n } catch (e) {\n //nothing to do here\n }\n}\n\nwindow.addEventListener('error', ful_report_error);\nwindow.addEventListener('unhandledrejection', ful_report_error);\n"],"names":["ful_report_error","evt","meta_content","name","metaEls","document","getElementsByTagName","slice","call","filter","v","map","content","scriptEl","uri","querySelector","dataset","console","error","headers","fetch","method","mode","cache","credentials","redirect","referrerPolicy","body","JSON","stringify","page","window","location","href","filename","line","lineno","col","colno","message","reason","stack","split","e","addEventListener"],"mappings":"yBAAA,SAASA,EAAiBC,GACtB,SAASC,EAAaC,GAClB,IAAIC,EAAUC,SAASC,qBAAqB,QAM5C,MALc,GAAGC,MAAMC,KAAKJ,GAASK,OAAO,SAAUC,GAClD,OAAOA,EAAEP,OAASA,CACtB,GAAGQ,IAAI,SAAUD,GACb,OAAOA,EAAEE,OACb,GACe,EACnB,CA+BA,IA7BQC,EA6BJC,GA7BID,EAAWR,SAASU,cAAc,0CAK/BF,EAASG,QAA+B,uBAH3CC,SAAWA,QAAQC,OAASD,QAAQC,MAAM,mDACnC,MA2Bf,GAAKJ,EAAL,CAGA,IAAIK,EAAU,CACV,eAAgB,oBAEpBA,EAAQjB,EAAa,iBAAmBA,EAAa,SACrD,IACIkB,MAAMN,EAAK,CACPO,OAAQ,OACRC,KAAM,cACNC,MAAO,WACPC,YAAa,cACbL,QAASA,EACTM,SAAU,QACVC,eAAgB,6BAChBC,KAAMC,KAAKC,UAAU,CACjBC,KAAMC,OAAOC,UAAYD,OAAOC,SAASC,KAAOF,OAAOC,SAASC,KAAO,UACvEC,SAAUjC,EAAIiC,SACdC,KAAMlC,EAAImC,OACVC,IAAKpC,EAAIqC,MACTC,QAlCJtC,EAAIsC,QACGtC,EAAIsC,QAEXtC,EAAIuC,QAAUvC,EAAIuC,OAAOD,QAClBtC,EAAIuC,OAAOD,QAElBtC,EAAIiB,OAASjB,EAAIiB,MAAMqB,QAChBtC,EAAIiB,MAAMqB,aADrB,EA6BQE,MA5CJxC,EAAIiB,OAASjB,EAAIiB,MAAMuB,OAASxC,EAAIiB,MAAMuB,MAAMC,MACzCzC,EAAIiB,MAAMuB,MAAMC,MAAM,MAE7BzC,EAAIuC,QAAUvC,EAAIuC,OAAOC,OAASxC,EAAIuC,OAAOC,MAAMC,MAC5CzC,EAAIuC,OAAOC,MAAMC,MAAM,WADlC,KA4CJ,CAAE,MAAOC,GAET,CAzBA,CA0BJ,CAEAZ,OAAOa,iBAAiB,QAAS5C,GACjC+B,OAAOa,iBAAiB,qBAAsB5C"}
|
package/dist/ful.iife.js
CHANGED
|
@@ -136,7 +136,7 @@ var ful = (function (exports, ftl) {
|
|
|
136
136
|
*/
|
|
137
137
|
/**
|
|
138
138
|
* @typedef HttpInterceptor
|
|
139
|
-
* @property {function(
|
|
139
|
+
* @property {function(URL,RequestInit|undefined,HttpInterceptorChain):Promise<Response>} intercept
|
|
140
140
|
*/
|
|
141
141
|
|
|
142
142
|
class HttpClientError extends Failure {
|
|
@@ -213,11 +213,11 @@ var ful = (function (exports, ftl) {
|
|
|
213
213
|
this.#k = document.querySelector("meta[name='_csrf_header']")?.getAttribute("content");
|
|
214
214
|
this.#v = document.querySelector("meta[name='_csrf']")?.getAttribute("content");
|
|
215
215
|
}
|
|
216
|
-
async intercept(request, chain) {
|
|
216
|
+
async intercept(url, request, chain) {
|
|
217
217
|
if (this.#k && this.#v) {
|
|
218
218
|
request.headers.set(this.#k, this.#v);
|
|
219
219
|
}
|
|
220
|
-
return await chain.proceed(request);
|
|
220
|
+
return await chain.proceed(url, request);
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
223
|
/**
|
|
@@ -231,8 +231,8 @@ var ful = (function (exports, ftl) {
|
|
|
231
231
|
constructor(redirectUri) {
|
|
232
232
|
this.#redirectUri = redirectUri;
|
|
233
233
|
}
|
|
234
|
-
async intercept(request, chain) {
|
|
235
|
-
const response = await chain.proceed(request);
|
|
234
|
+
async intercept(url, request, chain) {
|
|
235
|
+
const response = await chain.proceed(url, request);
|
|
236
236
|
if (response.status === 401) {
|
|
237
237
|
window.location.href = this.#redirectUri;
|
|
238
238
|
}
|
|
@@ -272,8 +272,8 @@ var ful = (function (exports, ftl) {
|
|
|
272
272
|
* @implements {HttpInterceptor}
|
|
273
273
|
*/
|
|
274
274
|
class HttpCall {
|
|
275
|
-
async intercept(request, chain) {
|
|
276
|
-
return await fetch(request);
|
|
275
|
+
async intercept(url, request, chain) {
|
|
276
|
+
return await fetch(new Request(url, request));
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
279
|
|
|
@@ -291,12 +291,13 @@ var ful = (function (exports, ftl) {
|
|
|
291
291
|
}
|
|
292
292
|
/**
|
|
293
293
|
*
|
|
294
|
-
* @param {
|
|
294
|
+
* @param {URL} url
|
|
295
|
+
* @param {RequestInit} request
|
|
295
296
|
* @returns {Promise<Response>} the response
|
|
296
297
|
*/
|
|
297
|
-
async proceed(request) {
|
|
298
|
+
async proceed(url, request) {
|
|
298
299
|
const interceptor = this.#interceptors[this.#current];
|
|
299
|
-
return await interceptor.intercept(request, new HttpInterceptorChain(this.#interceptors, this.#current + 1));
|
|
300
|
+
return await interceptor.intercept(url, request, new HttpInterceptorChain(this.#interceptors, this.#current + 1));
|
|
300
301
|
}
|
|
301
302
|
}
|
|
302
303
|
|
|
@@ -327,7 +328,8 @@ var ful = (function (exports, ftl) {
|
|
|
327
328
|
async exchange(uri, options, interceptors) {
|
|
328
329
|
const is = [...this.#interceptors, ...interceptors || [], new HttpCall()];
|
|
329
330
|
const chain = new HttpInterceptorChain(is, 0);
|
|
330
|
-
|
|
331
|
+
const url = new URL(new Request(uri).url);
|
|
332
|
+
return await chain.proceed(url, options ?? {});
|
|
331
333
|
}
|
|
332
334
|
/**
|
|
333
335
|
* Creates a request builder.
|
|
@@ -954,10 +956,10 @@ var ful = (function (exports, ftl) {
|
|
|
954
956
|
this.#gracePeriodBefore = gracePeriodBefore || 2000;
|
|
955
957
|
this.#gracePeriodAfter = gracePeriodAfter || 30000;
|
|
956
958
|
}
|
|
957
|
-
async intercept(request, chain) {
|
|
959
|
+
async intercept(url, request, chain) {
|
|
958
960
|
await this.#session.refreshIf(this.#gracePeriodBefore);
|
|
959
961
|
request.headers.set("Authorization", this.#session.bearerToken());
|
|
960
|
-
const response = await chain.proceed(request);
|
|
962
|
+
const response = await chain.proceed(url, request);
|
|
961
963
|
await this.#session.refreshIf(this.#gracePeriodAfter);
|
|
962
964
|
return response;
|
|
963
965
|
}
|