import{ApplicationContext as n}from"@sankhyalabs/core";async function e(n){const e=await fetch(n);return await e.blob()}function r(n,e){return n?`${n}_${e}`:e}async function t(e,t,o,a){const i=r(t,o),s=function(e){let r=function(e,r="mge"){let t=`/${r}/sessionUpload.${r}?sessionkey=${e}`;return async function(e){var r;const t=n.getContextValue("__SNK__APPLICATION__");if(!t)return!1;const o=await(null===(r=t.getResourceID)||void 0===r?void 0:r.call(t))||"";return"mge"===e&&o.startsWith("br.com.sankhya.menu.adicional")}(r)&&/[ !@#$%^&*()+\-=\[\]{};':"\\|,.<>\/?]/.test(e)&&(t+=`&encodedKey=${btoa(encodeURI(e))}`),t}(e);return r+="&fitem=S&salvar=S&useCache=N",r}(i);return new Promise(((n,r)=>{const t=new FormData;t.append("arquivo",e);const o=new XMLHttpRequest;o.addEventListener("load",(()=>{o.status>=200&&o.status<300?n(`/mge/UPLOADING_${i}.dbimage`):r(new Error(`Upload failed: ${o.statusText}`))})),o.addEventListener("error",(()=>{r(new Error("Upload error"))})),a&&o.upload.addEventListener("progress",a),o.open("POST",s),o.send(t)}))}function o(n){if(!n)return;const e={},r=n.metadata.fields,t=n.getSelectedRecord();return r.forEach((n=>{n.properties.isPrimaryKey&&t&&(e[n.name]=t[n.name])})),e}async function a(n,e,r,t){const o=function(n,e,r){if(!n)return;let t=`${window.location.origin}/mge/${e}@${r}`;for(const e in n)t+=`@${e}=${n[e]}`;return t+=".dbimage",t}(n,r,e);if(o)try{const n=await fetch(o,{signal:t});if(n.ok){const e=await n.blob();return await async function(n){return new Promise(((e,r)=>{const t=new FileReader;t.onloadend=()=>{e(t.result)},t.onerror=r,t.readAsDataURL(n)}))}(e)}}catch(n){if(null==t?void 0:t.aborted)return;console.error("Error downloading image:",n)}}export{r as a,e as b,a as d,o as g,t as s}