@optionfactory/fml 8.0.0 → 8.0.2

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.
Files changed (48) hide show
  1. package/dist/client-errors.iife.js +11 -8
  2. package/dist/client-errors.iife.js.map +1 -1
  3. package/dist/client-errors.iife.min.js +1 -1
  4. package/dist/client-errors.iife.min.js.map +1 -1
  5. package/dist/custom-elements.json +1210 -0
  6. package/dist/fml.css +10 -1
  7. package/dist/fml.css.map +1 -1
  8. package/dist/fml.d.mts +73 -13
  9. package/dist/fml.iife.js +628 -209
  10. package/dist/fml.iife.js.map +1 -1
  11. package/dist/fml.iife.min.js +1 -1
  12. package/dist/fml.iife.min.js.map +1 -1
  13. package/dist/fml.min.mjs +1 -1
  14. package/dist/fml.min.mjs.map +1 -1
  15. package/dist/fml.mjs +628 -209
  16. package/dist/fml.mjs.map +1 -1
  17. package/dist/ftl.d.mts +2 -1
  18. package/dist/ftl.iife.js +90 -34
  19. package/dist/ftl.iife.js.map +1 -1
  20. package/dist/ftl.iife.min.js +1 -1
  21. package/dist/ftl.iife.min.js.map +1 -1
  22. package/dist/ftl.min.mjs +1 -1
  23. package/dist/ftl.min.mjs.map +1 -1
  24. package/dist/ftl.mjs +90 -34
  25. package/dist/ftl.mjs.map +1 -1
  26. package/dist/ful.css +10 -1
  27. package/dist/ful.css.map +1 -1
  28. package/dist/ful.d.mts +22 -6
  29. package/dist/ful.iife.js +496 -166
  30. package/dist/ful.iife.js.map +1 -1
  31. package/dist/ful.iife.min.js +1 -1
  32. package/dist/ful.iife.min.js.map +1 -1
  33. package/dist/ful.min.mjs +1 -1
  34. package/dist/ful.min.mjs.map +1 -1
  35. package/dist/ful.mjs +496 -166
  36. package/dist/ful.mjs.map +1 -1
  37. package/dist/httpc.d.mts +49 -6
  38. package/dist/httpc.iife.js +40 -9
  39. package/dist/httpc.iife.js.map +1 -1
  40. package/dist/httpc.iife.min.js +1 -1
  41. package/dist/httpc.iife.min.js.map +1 -1
  42. package/dist/httpc.min.mjs +1 -1
  43. package/dist/httpc.min.mjs.map +1 -1
  44. package/dist/httpc.mjs +40 -9
  45. package/dist/httpc.mjs.map +1 -1
  46. package/dist/vscode.html-custom-data.json +357 -0
  47. package/dist/web-types.json +1006 -0
  48. package/package.json +11 -9
@@ -14,7 +14,7 @@
14
14
  function meta_content(name) {
15
15
  var cleanName = name.replace(/["\\]/g, '\\$&');
16
16
  /** @type {HTMLMetaElement | null} */
17
- var metaEl = document.querySelector('meta[name="' + cleanName + '"]');
17
+ var metaEl = document.querySelector(`meta[name="${cleanName}"]`);
18
18
  return metaEl ? metaEl.content : undefined;
19
19
  }
20
20
 
@@ -26,7 +26,7 @@
26
26
  /** @type {HTMLScriptElement | null} */
27
27
  var scriptEl = document.querySelector('script[data-report-client-errors-uri]');
28
28
  if (!scriptEl) {
29
- console && console.error && console.error('missing attribute data-report-client-errors-uri');
29
+ console?.error?.('missing attribute data-report-client-errors-uri');
30
30
  return null;
31
31
  }
32
32
  return scriptEl.getAttribute('data-report-client-errors-uri');
@@ -37,10 +37,10 @@
37
37
  * @returns {string[]|undefined} An array of stack trace lines, or undefined if unavailable.
38
38
  */
39
39
  function split_stack() {
40
- if (evt.error && evt.error.stack && evt.error.stack.split) {
40
+ if (evt.error?.stack?.split) {
41
41
  return evt.error.stack.split('\n');
42
42
  }
43
- if (evt.reason && evt.reason.stack && evt.reason.stack.split) {
43
+ if (evt.reason?.stack?.split) {
44
44
  return evt.reason.stack.split('\n');
45
45
  }
46
46
  return undefined;
@@ -54,10 +54,10 @@
54
54
  if (evt.message) {
55
55
  return evt.message;
56
56
  }
57
- if (evt.reason && evt.reason.message) {
57
+ if (evt.reason?.message) {
58
58
  return evt.reason.message;
59
59
  }
60
- if (evt.error && evt.error.message) {
60
+ if (evt.error?.message) {
61
61
  return evt.error.message;
62
62
  }
63
63
  return undefined;
@@ -89,15 +89,18 @@
89
89
  redirect: 'error',
90
90
  referrerPolicy: 'no-referrer-when-downgrade',
91
91
  body: JSON.stringify({
92
- page: window.location && window.location.href ? window.location.href : 'unknown',
92
+ page: window.location?.href ? window.location.href : 'unknown',
93
93
  filename: evt.filename,
94
94
  line: evt.lineno,
95
95
  col: evt.colno,
96
96
  message: message(),
97
97
  stack: split_stack(),
98
98
  }),
99
+ }).catch(() => {
100
+ // the endpoint is unreachable: swallowing the rejection keeps it from being
101
+ // reported as an unhandled rejection, which would call this handler again
99
102
  });
100
- } catch (e) {
103
+ } catch {
101
104
  // nothing to do here
102
105
  }
103
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client-errors.iife.js","sources":["../src/client-errors/client-errors.mjs"],"sourcesContent":["/**\n * Global error and unhandled promise rejection report handler.\n * @param {any} evt - The triggered event instance (ErrorEvent or PromiseRejectionEvent).\n */\nfunction ful_report_error(evt) {\n /**\n * Extracts the content value of a specified meta tag.\n * @param {string} name - The name attribute of the meta tag.\n * @returns {string|undefined} The content of the meta tag, or undefined if not found.\n */\n function meta_content(name) {\n var cleanName = name.replace(/[\"\\\\]/g, '\\\\$&');\n /** @type {HTMLMetaElement | null} */\n var metaEl = document.querySelector('meta[name=\"' + cleanName + '\"]');\n return metaEl ? metaEl.content : undefined;\n }\n\n /**\n * Resolves the configured reporting URI from the DOM script element attribute.\n * @returns {string|null} The reporting URI string, or null if missing.\n */\n function configured_report_uri() {\n /** @type {HTMLScriptElement | null} */\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.getAttribute('data-report-client-errors-uri');\n }\n\n /**\n * Extracts and splits the error stack trace into an array of lines.\n * @returns {string[]|undefined} An array of stack trace lines, or undefined if unavailable.\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\n /**\n * Extracts the error message from the event properties.\n * @returns {string|undefined} The extracted error message string, or 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\n /** @type {Record<string, any>} */\n var headers = {\n 'Content-Type': 'application/json',\n };\n\n var csrfHeader = meta_content('_csrf_header');\n if (csrfHeader) {\n headers[csrfHeader] = meta_content('_csrf');\n }\n\n try {\n fetch(uri, {\n method: 'POST',\n mode: 'same-origin',\n cache: 'no-cache',\n credentials: 'same-origin',\n keepalive: true,\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
+ {"version":3,"file":"client-errors.iife.js","sources":["../src/client-errors/client-errors.mjs"],"sourcesContent":["/**\n * Global error and unhandled promise rejection report handler.\n * @param {any} evt - The triggered event instance (ErrorEvent or PromiseRejectionEvent).\n */\nfunction ful_report_error(evt) {\n /**\n * Extracts the content value of a specified meta tag.\n * @param {string} name - The name attribute of the meta tag.\n * @returns {string|undefined} The content of the meta tag, or undefined if not found.\n */\n function meta_content(name) {\n var cleanName = name.replace(/[\"\\\\]/g, '\\\\$&');\n /** @type {HTMLMetaElement | null} */\n var metaEl = document.querySelector(`meta[name=\"${cleanName}\"]`);\n return metaEl ? metaEl.content : undefined;\n }\n\n /**\n * Resolves the configured reporting URI from the DOM script element attribute.\n * @returns {string|null} The reporting URI string, or null if missing.\n */\n function configured_report_uri() {\n /** @type {HTMLScriptElement | null} */\n var scriptEl = document.querySelector('script[data-report-client-errors-uri]');\n if (!scriptEl) {\n console?.error?.('missing attribute data-report-client-errors-uri');\n return null;\n }\n return scriptEl.getAttribute('data-report-client-errors-uri');\n }\n\n /**\n * Extracts and splits the error stack trace into an array of lines.\n * @returns {string[]|undefined} An array of stack trace lines, or undefined if unavailable.\n */\n function split_stack() {\n if (evt.error?.stack?.split) {\n return evt.error.stack.split('\\n');\n }\n if (evt.reason?.stack?.split) {\n return evt.reason.stack.split('\\n');\n }\n return undefined;\n }\n\n /**\n * Extracts the error message from the event properties.\n * @returns {string|undefined} The extracted error message string, or undefined.\n */\n function message() {\n if (evt.message) {\n return evt.message;\n }\n if (evt.reason?.message) {\n return evt.reason.message;\n }\n if (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\n /** @type {Record<string, any>} */\n var headers = {\n 'Content-Type': 'application/json',\n };\n\n var csrfHeader = meta_content('_csrf_header');\n if (csrfHeader) {\n headers[csrfHeader] = meta_content('_csrf');\n }\n\n try {\n fetch(uri, {\n method: 'POST',\n mode: 'same-origin',\n cache: 'no-cache',\n credentials: 'same-origin',\n keepalive: true,\n headers: headers,\n redirect: 'error',\n referrerPolicy: 'no-referrer-when-downgrade',\n body: JSON.stringify({\n page: 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 }).catch(() => {\n // the endpoint is unreachable: swallowing the rejection keeps it from being\n // reported as an unhandled rejection, which would call this handler again\n });\n } catch {\n // nothing to do here\n }\n}\n\nwindow.addEventListener('error', ful_report_error);\nwindow.addEventListener('unhandledrejection', ful_report_error);\n"],"names":[],"mappings":";;;IAAA;IACA;IACA;IACA;IACA,SAAS,gBAAgB,CAAC,GAAG,EAAE;IAC/B;IACA;IACA;IACA;IACA;IACA,IAAI,SAAS,YAAY,CAAC,IAAI,EAAE;IAChC,QAAQ,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC;IACtD;IACA,QAAQ,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IACxE,QAAQ,OAAO,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,SAAS;IAClD,IAAI;;IAEJ;IACA;IACA;IACA;IACA,IAAI,SAAS,qBAAqB,GAAG;IACrC;IACA,QAAQ,IAAI,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,uCAAuC,CAAC;IACtF,QAAQ,IAAI,CAAC,QAAQ,EAAE;IACvB,YAAY,OAAO,EAAE,KAAK,GAAG,iDAAiD,CAAC;IAC/E,YAAY,OAAO,IAAI;IACvB,QAAQ;IACR,QAAQ,OAAO,QAAQ,CAAC,YAAY,CAAC,+BAA+B,CAAC;IACrE,IAAI;;IAEJ;IACA;IACA;IACA;IACA,IAAI,SAAS,WAAW,GAAG;IAC3B,QAAQ,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IACrC,YAAY,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;IAC9C,QAAQ;IACR,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;IACtC,YAAY,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;IAC/C,QAAQ;IACR,QAAQ,OAAO,SAAS;IACxB,IAAI;;IAEJ;IACA;IACA;IACA;IACA,IAAI,SAAS,OAAO,GAAG;IACvB,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE;IACzB,YAAY,OAAO,GAAG,CAAC,OAAO;IAC9B,QAAQ;IACR,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE;IACjC,YAAY,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO;IACrC,QAAQ;IACR,QAAQ,IAAI,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE;IAChC,YAAY,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO;IACpC,QAAQ;IACR,QAAQ,OAAO,SAAS;IACxB,IAAI;;IAEJ,IAAI,IAAI,GAAG,GAAG,qBAAqB,EAAE;IACrC,IAAI,IAAI,CAAC,GAAG,EAAE;IACd,QAAQ;IACR,IAAI;;IAEJ;IACA,IAAI,IAAI,OAAO,GAAG;IAClB,QAAQ,cAAc,EAAE,kBAAkB;IAC1C,KAAK;;IAEL,IAAI,IAAI,UAAU,GAAG,YAAY,CAAC,cAAc,CAAC;IACjD,IAAI,IAAI,UAAU,EAAE;IACpB,QAAQ,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC;IACnD,IAAI;;IAEJ,IAAI,IAAI;IACR,QAAQ,KAAK,CAAC,GAAG,EAAE;IACnB,YAAY,MAAM,EAAE,MAAM;IAC1B,YAAY,IAAI,EAAE,aAAa;IAC/B,YAAY,KAAK,EAAE,UAAU;IAC7B,YAAY,WAAW,EAAE,aAAa;IACtC,YAAY,SAAS,EAAE,IAAI;IAC3B,YAAY,OAAO,EAAE,OAAO;IAC5B,YAAY,QAAQ,EAAE,OAAO;IAC7B,YAAY,cAAc,EAAE,4BAA4B;IACxD,YAAY,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;IACjC,gBAAgB,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS;IAC9E,gBAAgB,QAAQ,EAAE,GAAG,CAAC,QAAQ;IACtC,gBAAgB,IAAI,EAAE,GAAG,CAAC,MAAM;IAChC,gBAAgB,GAAG,EAAE,GAAG,CAAC,KAAK;IAC9B,gBAAgB,OAAO,EAAE,OAAO,EAAE;IAClC,gBAAgB,KAAK,EAAE,WAAW,EAAE;IACpC,aAAa,CAAC;IACd,SAAS,CAAC,CAAC,KAAK,CAAC,MAAM;IACvB;IACA;IACA,QAAQ,CAAC,CAAC;IACV,IAAI,CAAC,CAAC,MAAM;IACZ;IACA,IAAI;IACJ;;IAEA,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC;IAClD,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;;"}
@@ -1,2 +1,2 @@
1
- !function(){"use strict";function e(e){function r(e){var r=e.replace(/["\\]/g,"\\$&"),o=document.querySelector('meta[name="'+r+'"]');return o?o.content:void 0}var o,n=(o=document.querySelector("script[data-report-client-errors-uri]"))?o.getAttribute("data-report-client-errors-uri"):(console&&console.error&&console.error("missing attribute data-report-client-errors-uri"),null);if(n){var t={"Content-Type":"application/json"},a=r("_csrf_header");a&&(t[a]=r("_csrf"));try{fetch(n,{method:"POST",mode:"same-origin",cache:"no-cache",credentials:"same-origin",keepalive:!0,headers:t,redirect:"error",referrerPolicy:"no-referrer-when-downgrade",body:JSON.stringify({page:window.location&&window.location.href?window.location.href:"unknown",filename:e.filename,line:e.lineno,col:e.colno,message:e.message?e.message:e.reason&&e.reason.message?e.reason.message:e.error&&e.error.message?e.error.message:void 0,stack:e.error&&e.error.stack&&e.error.stack.split?e.error.stack.split("\n"):e.reason&&e.reason.stack&&e.reason.stack.split?e.reason.stack.split("\n"):void 0})})}catch(e){}}}window.addEventListener("error",e),window.addEventListener("unhandledrejection",e)}();
1
+ !function(){"use strict";function e(e){function r(e){var r=e.replace(/["\\]/g,"\\$&"),n=document.querySelector(`meta[name="${r}"]`);return n?n.content:void 0}var n,t=(n=document.querySelector("script[data-report-client-errors-uri]"))?n.getAttribute("data-report-client-errors-uri"):(console?.error?.("missing attribute data-report-client-errors-uri"),null);if(t){var o={"Content-Type":"application/json"},a=r("_csrf_header");a&&(o[a]=r("_csrf"));try{fetch(t,{method:"POST",mode:"same-origin",cache:"no-cache",credentials:"same-origin",keepalive:!0,headers:o,redirect:"error",referrerPolicy:"no-referrer-when-downgrade",body:JSON.stringify({page:window.location?.href?window.location.href:"unknown",filename:e.filename,line:e.lineno,col:e.colno,message:e.message?e.message:e.reason?.message?e.reason.message:e.error?.message?e.error.message:void 0,stack:e.error?.stack?.split?e.error.stack.split("\n"):e.reason?.stack?.split?e.reason.stack.split("\n"):void 0})}).catch(()=>{})}catch{}}}window.addEventListener("error",e),window.addEventListener("unhandledrejection",e)}();
2
2
  //# sourceMappingURL=client-errors.iife.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-errors.iife.min.js","sources":["../src/client-errors/client-errors.mjs"],"sourcesContent":["/**\n * Global error and unhandled promise rejection report handler.\n * @param {any} evt - The triggered event instance (ErrorEvent or PromiseRejectionEvent).\n */\nfunction ful_report_error(evt) {\n /**\n * Extracts the content value of a specified meta tag.\n * @param {string} name - The name attribute of the meta tag.\n * @returns {string|undefined} The content of the meta tag, or undefined if not found.\n */\n function meta_content(name) {\n var cleanName = name.replace(/[\"\\\\]/g, '\\\\$&');\n /** @type {HTMLMetaElement | null} */\n var metaEl = document.querySelector('meta[name=\"' + cleanName + '\"]');\n return metaEl ? metaEl.content : undefined;\n }\n\n /**\n * Resolves the configured reporting URI from the DOM script element attribute.\n * @returns {string|null} The reporting URI string, or null if missing.\n */\n function configured_report_uri() {\n /** @type {HTMLScriptElement | null} */\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.getAttribute('data-report-client-errors-uri');\n }\n\n /**\n * Extracts and splits the error stack trace into an array of lines.\n * @returns {string[]|undefined} An array of stack trace lines, or undefined if unavailable.\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\n /**\n * Extracts the error message from the event properties.\n * @returns {string|undefined} The extracted error message string, or 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\n /** @type {Record<string, any>} */\n var headers = {\n 'Content-Type': 'application/json',\n };\n\n var csrfHeader = meta_content('_csrf_header');\n if (csrfHeader) {\n headers[csrfHeader] = meta_content('_csrf');\n }\n\n try {\n fetch(uri, {\n method: 'POST',\n mode: 'same-origin',\n cache: 'no-cache',\n credentials: 'same-origin',\n keepalive: true,\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","cleanName","replace","metaEl","document","querySelector","content","undefined","scriptEl","uri","getAttribute","console","error","headers","csrfHeader","fetch","method","mode","cache","credentials","keepalive","redirect","referrerPolicy","body","JSON","stringify","page","window","location","href","filename","line","lineno","col","colno","message","reason","stack","split","e","addEventListener"],"mappings":"yBAIA,SAASA,EAAiBC,GAMtB,SAASC,EAAaC,GAClB,IAAIC,EAAYD,EAAKE,QAAQ,SAAU,QAEnCC,EAASC,SAASC,cAAc,cAAgBJ,EAAY,MAChE,OAAOE,EAASA,EAAOG,aAAUC,CACrC,CA+CA,IAvCQC,EAuCJC,GAvCID,EAAWJ,SAASC,cAAc,0CAK/BG,EAASE,aAAa,kCAHzBC,SAAWA,QAAQC,OAASD,QAAQC,MAAM,mDACnC,MAqCf,GAAKH,EAAL,CAKA,IAAII,EAAU,CACV,eAAgB,oBAGhBC,EAAaf,EAAa,gBAC1Be,IACAD,EAAQC,GAAcf,EAAa,UAGvC,IACIgB,MAAMN,EAAK,CACPO,OAAQ,OACRC,KAAM,cACNC,MAAO,WACPC,YAAa,cACbC,WAAW,EACXP,QAASA,EACTQ,SAAU,QACVC,eAAgB,6BAChBC,KAAMC,KAAKC,UAAU,CACjBC,KAAMC,OAAOC,UAAYD,OAAOC,SAASC,KAAOF,OAAOC,SAASC,KAAO,UACvEC,SAAUhC,EAAIgC,SACdC,KAAMjC,EAAIkC,OACVC,IAAKnC,EAAIoC,MACTC,QA1CJrC,EAAIqC,QACGrC,EAAIqC,QAEXrC,EAAIsC,QAAUtC,EAAIsC,OAAOD,QAClBrC,EAAIsC,OAAOD,QAElBrC,EAAIc,OAASd,EAAIc,MAAMuB,QAChBrC,EAAIc,MAAMuB,aADrB,EAqCQE,MAzDJvC,EAAIc,OAASd,EAAIc,MAAMyB,OAASvC,EAAIc,MAAMyB,MAAMC,MACzCxC,EAAIc,MAAMyB,MAAMC,MAAM,MAE7BxC,EAAIsC,QAAUtC,EAAIsC,OAAOC,OAASvC,EAAIsC,OAAOC,MAAMC,MAC5CxC,EAAIsC,OAAOC,MAAMC,MAAM,WADlC,KAyDJ,CAAE,MAAOC,GAET,CAjCA,CAkCJ,CAEAZ,OAAOa,iBAAiB,QAAS3C,GACjC8B,OAAOa,iBAAiB,qBAAsB3C"}
1
+ {"version":3,"file":"client-errors.iife.min.js","sources":["../src/client-errors/client-errors.mjs"],"sourcesContent":["/**\n * Global error and unhandled promise rejection report handler.\n * @param {any} evt - The triggered event instance (ErrorEvent or PromiseRejectionEvent).\n */\nfunction ful_report_error(evt) {\n /**\n * Extracts the content value of a specified meta tag.\n * @param {string} name - The name attribute of the meta tag.\n * @returns {string|undefined} The content of the meta tag, or undefined if not found.\n */\n function meta_content(name) {\n var cleanName = name.replace(/[\"\\\\]/g, '\\\\$&');\n /** @type {HTMLMetaElement | null} */\n var metaEl = document.querySelector(`meta[name=\"${cleanName}\"]`);\n return metaEl ? metaEl.content : undefined;\n }\n\n /**\n * Resolves the configured reporting URI from the DOM script element attribute.\n * @returns {string|null} The reporting URI string, or null if missing.\n */\n function configured_report_uri() {\n /** @type {HTMLScriptElement | null} */\n var scriptEl = document.querySelector('script[data-report-client-errors-uri]');\n if (!scriptEl) {\n console?.error?.('missing attribute data-report-client-errors-uri');\n return null;\n }\n return scriptEl.getAttribute('data-report-client-errors-uri');\n }\n\n /**\n * Extracts and splits the error stack trace into an array of lines.\n * @returns {string[]|undefined} An array of stack trace lines, or undefined if unavailable.\n */\n function split_stack() {\n if (evt.error?.stack?.split) {\n return evt.error.stack.split('\\n');\n }\n if (evt.reason?.stack?.split) {\n return evt.reason.stack.split('\\n');\n }\n return undefined;\n }\n\n /**\n * Extracts the error message from the event properties.\n * @returns {string|undefined} The extracted error message string, or undefined.\n */\n function message() {\n if (evt.message) {\n return evt.message;\n }\n if (evt.reason?.message) {\n return evt.reason.message;\n }\n if (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\n /** @type {Record<string, any>} */\n var headers = {\n 'Content-Type': 'application/json',\n };\n\n var csrfHeader = meta_content('_csrf_header');\n if (csrfHeader) {\n headers[csrfHeader] = meta_content('_csrf');\n }\n\n try {\n fetch(uri, {\n method: 'POST',\n mode: 'same-origin',\n cache: 'no-cache',\n credentials: 'same-origin',\n keepalive: true,\n headers: headers,\n redirect: 'error',\n referrerPolicy: 'no-referrer-when-downgrade',\n body: JSON.stringify({\n page: 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 }).catch(() => {\n // the endpoint is unreachable: swallowing the rejection keeps it from being\n // reported as an unhandled rejection, which would call this handler again\n });\n } catch {\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","cleanName","replace","metaEl","document","querySelector","content","undefined","scriptEl","uri","getAttribute","console","error","headers","csrfHeader","fetch","method","mode","cache","credentials","keepalive","redirect","referrerPolicy","body","JSON","stringify","page","window","location","href","filename","line","lineno","col","colno","message","reason","stack","split","catch","addEventListener"],"mappings":"yBAIA,SAASA,EAAiBC,GAMtB,SAASC,EAAaC,GAClB,IAAIC,EAAYD,EAAKE,QAAQ,SAAU,QAEnCC,EAASC,SAASC,cAAc,cAAcJ,OAClD,OAAOE,EAASA,EAAOG,aAAUC,CACrC,CA+CA,IAvCQC,EAuCJC,GAvCID,EAAWJ,SAASC,cAAc,0CAK/BG,EAASE,aAAa,kCAHzBC,SAASC,QAAQ,mDACV,MAqCf,GAAKH,EAAL,CAKA,IAAII,EAAU,CACV,eAAgB,oBAGhBC,EAAaf,EAAa,gBAC1Be,IACAD,EAAQC,GAAcf,EAAa,UAGvC,IACIgB,MAAMN,EAAK,CACPO,OAAQ,OACRC,KAAM,cACNC,MAAO,WACPC,YAAa,cACbC,WAAW,EACXP,QAASA,EACTQ,SAAU,QACVC,eAAgB,6BAChBC,KAAMC,KAAKC,UAAU,CACjBC,KAAMC,OAAOC,UAAUC,KAAOF,OAAOC,SAASC,KAAO,UACrDC,SAAUhC,EAAIgC,SACdC,KAAMjC,EAAIkC,OACVC,IAAKnC,EAAIoC,MACTC,QA1CJrC,EAAIqC,QACGrC,EAAIqC,QAEXrC,EAAIsC,QAAQD,QACLrC,EAAIsC,OAAOD,QAElBrC,EAAIc,OAAOuB,QACJrC,EAAIc,MAAMuB,aADrB,EAqCQE,MAzDJvC,EAAIc,OAAOyB,OAAOC,MACXxC,EAAIc,MAAMyB,MAAMC,MAAM,MAE7BxC,EAAIsC,QAAQC,OAAOC,MACZxC,EAAIsC,OAAOC,MAAMC,MAAM,WADlC,MAwDGC,MAAM,OAIb,CAAE,MAEF,CApCA,CAqCJ,CAEAZ,OAAOa,iBAAiB,QAAS3C,GACjC8B,OAAOa,iBAAiB,qBAAsB3C"}