@imagekit/javascript 5.0.0-beta.6 → 5.0.0-beta.7

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.
@@ -119,32 +119,31 @@ const upload = uploadOptions => {
119
119
  for (key in uploadOptions) {
120
120
  if (key) {
121
121
  if (key === "file" && typeof uploadOptions.file != "string") {
122
- formData.append('file', uploadOptions.file, String(uploadOptions.fileName));
122
+ formData.set('file', uploadOptions.file, String(uploadOptions.fileName));
123
123
  } else if (key === "tags" && Array.isArray(uploadOptions.tags)) {
124
- formData.append('tags', uploadOptions.tags.join(","));
124
+ formData.set('tags', uploadOptions.tags.join(","));
125
125
  } else if (key === 'signature') {
126
- formData.append("signature", uploadOptions.signature);
126
+ formData.set("signature", uploadOptions.signature);
127
127
  } else if (key === 'expire') {
128
- formData.append("expire", String(uploadOptions.expire));
128
+ formData.set("expire", String(uploadOptions.expire));
129
129
  } else if (key === 'token') {
130
- formData.append("token", uploadOptions.token);
130
+ formData.set("token", uploadOptions.token);
131
131
  } else if (key === "responseFields" && Array.isArray(uploadOptions.responseFields)) {
132
- formData.append('responseFields', uploadOptions.responseFields.join(","));
132
+ formData.set('responseFields', uploadOptions.responseFields.join(","));
133
133
  } else if (key === "extensions" && Array.isArray(uploadOptions.extensions)) {
134
- formData.append('extensions', JSON.stringify(uploadOptions.extensions));
134
+ formData.set('extensions', JSON.stringify(uploadOptions.extensions));
135
135
  } else if (key === "customMetadata" && typeof uploadOptions.customMetadata === "object" && !Array.isArray(uploadOptions.customMetadata) && uploadOptions.customMetadata !== null) {
136
- formData.append('customMetadata', JSON.stringify(uploadOptions.customMetadata));
136
+ formData.set('customMetadata', JSON.stringify(uploadOptions.customMetadata));
137
137
  } else if (key === "transformation" && typeof uploadOptions.transformation === "object" && uploadOptions.transformation !== null) {
138
- formData.append(key, JSON.stringify(uploadOptions.transformation));
138
+ formData.set(key, JSON.stringify(uploadOptions.transformation));
139
139
  } else if (key === 'checks' && uploadOptions.checks) {
140
- formData.append("checks", uploadOptions.checks);
140
+ formData.set("checks", uploadOptions.checks);
141
141
  } else if (uploadOptions[key] !== undefined) {
142
142
  if (["onProgress", "abortSignal"].includes(key)) continue;
143
- formData.append(key, String(uploadOptions[key]));
143
+ formData.set(key, String(uploadOptions[key]));
144
144
  }
145
145
  }
146
146
  }
147
- formData.append("publicKey", uploadOptions.publicKey);
148
147
  if (uploadOptions.onProgress) {
149
148
  xhr.upload.onprogress = function (event) {
150
149
  if (uploadOptions.onProgress) uploadOptions.onProgress(event);
@@ -115,32 +115,31 @@ const upload = uploadOptions => {
115
115
  for (key in uploadOptions) {
116
116
  if (key) {
117
117
  if (key === "file" && typeof uploadOptions.file != "string") {
118
- formData.append('file', uploadOptions.file, String(uploadOptions.fileName));
118
+ formData.set('file', uploadOptions.file, String(uploadOptions.fileName));
119
119
  } else if (key === "tags" && Array.isArray(uploadOptions.tags)) {
120
- formData.append('tags', uploadOptions.tags.join(","));
120
+ formData.set('tags', uploadOptions.tags.join(","));
121
121
  } else if (key === 'signature') {
122
- formData.append("signature", uploadOptions.signature);
122
+ formData.set("signature", uploadOptions.signature);
123
123
  } else if (key === 'expire') {
124
- formData.append("expire", String(uploadOptions.expire));
124
+ formData.set("expire", String(uploadOptions.expire));
125
125
  } else if (key === 'token') {
126
- formData.append("token", uploadOptions.token);
126
+ formData.set("token", uploadOptions.token);
127
127
  } else if (key === "responseFields" && Array.isArray(uploadOptions.responseFields)) {
128
- formData.append('responseFields', uploadOptions.responseFields.join(","));
128
+ formData.set('responseFields', uploadOptions.responseFields.join(","));
129
129
  } else if (key === "extensions" && Array.isArray(uploadOptions.extensions)) {
130
- formData.append('extensions', JSON.stringify(uploadOptions.extensions));
130
+ formData.set('extensions', JSON.stringify(uploadOptions.extensions));
131
131
  } else if (key === "customMetadata" && typeof uploadOptions.customMetadata === "object" && !Array.isArray(uploadOptions.customMetadata) && uploadOptions.customMetadata !== null) {
132
- formData.append('customMetadata', JSON.stringify(uploadOptions.customMetadata));
132
+ formData.set('customMetadata', JSON.stringify(uploadOptions.customMetadata));
133
133
  } else if (key === "transformation" && typeof uploadOptions.transformation === "object" && uploadOptions.transformation !== null) {
134
- formData.append(key, JSON.stringify(uploadOptions.transformation));
134
+ formData.set(key, JSON.stringify(uploadOptions.transformation));
135
135
  } else if (key === 'checks' && uploadOptions.checks) {
136
- formData.append("checks", uploadOptions.checks);
136
+ formData.set("checks", uploadOptions.checks);
137
137
  } else if (uploadOptions[key] !== undefined) {
138
138
  if (["onProgress", "abortSignal"].includes(key)) continue;
139
- formData.append(key, String(uploadOptions[key]));
139
+ formData.set(key, String(uploadOptions[key]));
140
140
  }
141
141
  }
142
142
  }
143
- formData.append("publicKey", uploadOptions.publicKey);
144
143
  if (uploadOptions.onProgress) {
145
144
  xhr.upload.onprogress = function (event) {
146
145
  if (uploadOptions.onProgress) uploadOptions.onProgress(event);
@@ -1 +1 @@
1
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).ImageKit={})}(this,(function(e){"use strict";var r={message:"Missing file parameter for upload"},t={message:"Missing fileName parameter for upload"},n={message:"Missing public key for upload"},a={message:"Request to ImageKit upload endpoint failed due to network error"},s={message:"Missing signature for upload. The SDK expects token, signature and expire for authentication."},o={message:"Missing token for upload. The SDK expects token, signature and expire for authentication."},i={message:"Missing expire for upload. The SDK expects token, signature and expire for authentication."},u={message:"Invalid transformation parameter. Please include at least pre, post, or both."},p={message:"Invalid pre transformation parameter."},l={message:"Invalid post transformation parameter."};class c extends Error{constructor(e,r){super(e),this.$ResponseMetadata=void 0,this.name="ImageKitInvalidRequestError",this.$ResponseMetadata=r}}class d extends Error{constructor(e,r){super(e),this.reason=void 0,this.name="ImageKitAbortError",this.reason=r}}class f extends Error{constructor(e){super(e),this.name="ImageKitUploadNetworkError"}}class g extends Error{constructor(e,r){super(e),this.$ResponseMetadata=void 0,this.name="ImageKitServerError",this.$ResponseMetadata=r}}const m=(e,r)=>{let t={...e};const n=h(r);return Object.defineProperty(t,"$ResponseMetadata",{value:n,enumerable:!1,writable:!1}),t},h=e=>{const r=function(e){const r={},t=e.getAllResponseHeaders();Object.keys(t).length&&t.trim().split(/[\r\n]+/).map(e=>e.split(/: /)).forEach(e=>{r[e[0].trim().toLowerCase()]=e[1].trim()});return r}(e);return{statusCode:e.status,headers:r,requestId:r["x-request-id"]}};const y={width:"w",height:"h",aspectRatio:"ar",background:"bg",border:"b",crop:"c",cropMode:"cm",dpr:"dpr",focus:"fo",quality:"q",x:"x",xCenter:"xc",y:"y",yCenter:"yc",format:"f",videoCodec:"vc",audioCodec:"ac",radius:"r",rotation:"rt",blur:"bl",named:"n",defaultImage:"di",flip:"fl",original:"orig",startOffset:"so",endOffset:"eo",duration:"du",streamingResolutions:"sr",grayscale:"e-grayscale",aiUpscale:"e-upscale",aiRetouch:"e-retouch",aiVariation:"e-genvar",aiDropShadow:"e-dropshadow",aiChangeBackground:"e-changebg",aiRemoveBackground:"e-bgremove",aiRemoveBackgroundExternal:"e-removedotbg",contrastStretch:"e-contrast",shadow:"e-shadow",sharpen:"e-sharpen",unsharpMask:"e-usm",gradient:"e-gradient",progressive:"pr",lossless:"lo",colorProfile:"cp",metadata:"md",opacity:"o",trim:"t",zoom:"z",page:"pg",fontSize:"fs",fontFamily:"ff",fontColor:"co",innerAlignment:"ia",padding:"pa",alpha:"al",typography:"tg",lineHeight:"lh",fontOutline:"fol",fontShadow:"fsh",raw:"raw"};var b=e=>"query"===e.transformationPosition,v=function(e){return e&&(y[e]||y[e.toLowerCase()])||""},w=function(){return":"},x=function(){return","},S=function(){return"-"};const k=function(e){return"undefined"!=typeof window?btoa(e):Buffer.from(e,"utf8").toString("base64")},R=new RegExp("^[a-zA-Z0-9-._/ ]*$"),I=new RegExp("^[a-zA-Z0-9-._ ]*$");function E(e){return"string"==typeof e&&"/"==e[e.length-1]&&(e=e.substring(0,e.length-1)),e}function M(e){return"string"==typeof e&&"/"==e[0]&&(e=e.slice(1)),e}function j(e,r){var t=r||"/",n=new RegExp(t+"{1,}","g");return e.join(t).replace(n,t)}function A(e,r){return e=E(M(e)),"plain"===r?"i-"+e.replace(/\//g,"@@"):"base64"===r?"ie-"+encodeURIComponent(k(e)):R.test(e)?"i-"+e.replace(/\//g,"@@"):"ie-"+encodeURIComponent(k(e))}function P(e){const r=[],{type:t,position:n={},timing:a={},transformation:s=[]}=e||{};if(!t)return;switch(t){case"text":{const t=e;if(!t.text)return;const n=t.encoding||"auto";r.push("l-text"),r.push(function(e,r){return"plain"===r?"i-"+encodeURIComponent(e):"base64"===r?"ie-"+encodeURIComponent(k(e)):I.test(e)?"i-"+encodeURIComponent(e):"ie-"+encodeURIComponent(k(e))}(t.text,n))}break;case"image":r.push("l-image");{const t=e,n=t.encoding||"auto";if(!t.input)return;r.push(A(t.input,n))}break;case"video":r.push("l-video");{const t=e,n=t.encoding||"auto";if(!t.input)return;r.push(A(t.input,n))}break;case"subtitle":r.push("l-subtitle");{const t=e,n=t.encoding||"auto";if(!t.input)return;r.push(A(t.input,n))}break;case"solidColor":r.push("l-image"),r.push("i-ik_canvas");{const t=e;if(!t.color)return;r.push("bg-"+t.color)}}const{x:o,y:i,focus:u}=n;o&&r.push("lx-"+o),i&&r.push("ly-"+i),u&&r.push("lfo-"+u);const{start:p,end:l,duration:c}=a;p&&r.push("lso-"+p),l&&r.push("leo-"+l),c&&r.push("ldu-"+c);const d=K(s);return d&&""!==d.trim()&&r.push(d),r.push("l-end"),r.join(x())}const K=function(e){if(!Array.isArray(e))return"";for(var r=[],t=0,n=e.length;t<n;t++){var a=[];for(var s in e[t]){let r=e[t][s];if(null!=r)if("overlay"!==s||"object"!=typeof r){var o=v(s);if(o||(o=s),""!==o)if(["e-grayscale","e-contrast","e-removedotbg","e-bgremove","e-upscale","e-retouch","e-genvar"].includes(o)){if(!0!==r&&"-"!==r&&"true"!==r)continue;a.push(o)}else!["e-sharpen","e-shadow","e-gradient","e-usm","e-dropshadow"].includes(o)||""!==r.toString().trim()&&!0!==r&&"true"!==r?"raw"===s?a.push(e[t][s]):("di"===o&&(r=E(M(r||"")),r=r.replace(/\//g,"@@")),"sr"===o&&Array.isArray(r)&&(r=r.join("_")),"t"===o&&""===r.toString().trim()&&(r="true"),a.push([o,r].join(S()))):a.push(o)}else{var i=P(r);i&&""!==i.trim()&&a.push(i)}}a.length&&r.push(a.join(x()))}return r.join(w())};e.ImageKitAbortError=d,e.ImageKitInvalidRequestError=c,e.ImageKitServerError=g,e.ImageKitUploadNetworkError=f,e.buildSrc=e=>{if(e.urlEndpoint=e.urlEndpoint||"",e.src=e.src||"",e.transformationPosition=e.transformationPosition||"query",!e.src)return"";const r=e.src.startsWith("http://")||e.src.startsWith("https://");var t,n,a;try{r?(t=new URL(e.src),n=!0):(a=new URL(e.urlEndpoint).pathname,t=new URL(j([e.urlEndpoint.replace(a,""),e.src])))}catch(e){return console.error(e),""}for(var s in e.queryParameters)t.searchParams.append(s,String(e.queryParameters[s]));var o=K(e.transformation);return o&&o.length&&(b(e)||n||(t.pathname=j(["tr"+w()+o,t.pathname]))),t.pathname=j(a?[a,t.pathname]:[t.pathname]),o&&o.length&&(b(e)||n)?""!==t.searchParams.toString()?`${t.href}&tr=${o}`:`${t.href}?tr=${o}`:t.href},e.buildTransformationString=K,e.upload=e=>e?new Promise((y,b)=>{const{xhr:v}=e||{};delete e.xhr;const w=v||new XMLHttpRequest;if(!e.file)return b(new c(r.message));if(!e.fileName)return b(new c(t.message));if(!e.publicKey||0===e.publicKey.length)return b(new c(n.message));if(!e.token)return b(new c(o.message));if(!e.signature)return b(new c(s.message));if(!e.expire)return b(new c(i.message));if(e.transformation){if(!Object.keys(e.transformation).includes("pre")&&!Object.keys(e.transformation).includes("post"))return b(new c(u.message));if(Object.keys(e.transformation).includes("pre")&&!e.transformation.pre)return b(new c(p.message));if(Object.keys(e.transformation).includes("post")){if(!Array.isArray(e.transformation.post))return b(new c(l.message));for(let r of e.transformation.post){if("abs"===r.type&&!r.protocol&&!r.value)return b(new c(l.message));if("transformation"===r.type&&!r.value)return b(new c(l.message))}}}var x=new FormData;let S;for(S in e)if(S)if("file"===S&&"string"!=typeof e.file)x.append("file",e.file,String(e.fileName));else if("tags"===S&&Array.isArray(e.tags))x.append("tags",e.tags.join(","));else if("signature"===S)x.append("signature",e.signature);else if("expire"===S)x.append("expire",String(e.expire));else if("token"===S)x.append("token",e.token);else if("responseFields"===S&&Array.isArray(e.responseFields))x.append("responseFields",e.responseFields.join(","));else if("extensions"===S&&Array.isArray(e.extensions))x.append("extensions",JSON.stringify(e.extensions));else if("customMetadata"!==S||"object"!=typeof e.customMetadata||Array.isArray(e.customMetadata)||null===e.customMetadata){if("transformation"===S&&"object"==typeof e.transformation&&null!==e.transformation)x.append(S,JSON.stringify(e.transformation));else if("checks"===S&&e.checks)x.append("checks",e.checks);else if(void 0!==e[S]){if(["onProgress","abortSignal"].includes(S))continue;x.append(S,String(e[S]))}}else x.append("customMetadata",JSON.stringify(e.customMetadata));function k(){var r;return w.abort(),b(new d("Upload aborted",null===(r=e.abortSignal)||void 0===r?void 0:r.reason))}if(x.append("publicKey",e.publicKey),e.onProgress&&(w.upload.onprogress=function(r){e.onProgress&&e.onProgress(r)}),e.abortSignal){var R;if(e.abortSignal.aborted)return b(new d("Upload aborted",null===(R=e.abortSignal)||void 0===R?void 0:R.reason));e.abortSignal.addEventListener("abort",k),w.addEventListener("loadend",()=>{e.abortSignal&&e.abortSignal.removeEventListener("abort",k)})}w.open("POST","https://upload.imagekit.io/api/v1/files/upload"),w.onerror=function(e){return b(new f(a.message))},w.onload=function(){if(w.status>=200&&w.status<300)try{var e=JSON.parse(w.responseText),r=m(e,w);return y(r)}catch(e){return b(e)}else if(w.status>=400&&w.status<500)try{e=JSON.parse(w.responseText);return b(new c(e.message??"Invalid request. Please check the parameters.",h(w)))}catch(e){return b(e)}else try{e=JSON.parse(w.responseText);return b(new g(e.message??"Server error occurred while uploading the file. This is rare and usually temporary.",h(w)))}catch(e){return b(new g("Server error occurred while uploading the file. This is rare and usually temporary.",h(w)))}},w.send(x)}):Promise.reject(new c("Invalid options provided for upload")),Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).ImageKit={})}(this,(function(e){"use strict";var r={message:"Missing file parameter for upload"},t={message:"Missing fileName parameter for upload"},n={message:"Missing public key for upload"},s={message:"Request to ImageKit upload endpoint failed due to network error"},a={message:"Missing signature for upload. The SDK expects token, signature and expire for authentication."},o={message:"Missing token for upload. The SDK expects token, signature and expire for authentication."},i={message:"Missing expire for upload. The SDK expects token, signature and expire for authentication."},u={message:"Invalid transformation parameter. Please include at least pre, post, or both."},l={message:"Invalid pre transformation parameter."},p={message:"Invalid post transformation parameter."};class c extends Error{constructor(e,r){super(e),this.$ResponseMetadata=void 0,this.name="ImageKitInvalidRequestError",this.$ResponseMetadata=r}}class f extends Error{constructor(e,r){super(e),this.reason=void 0,this.name="ImageKitAbortError",this.reason=r}}class d extends Error{constructor(e){super(e),this.name="ImageKitUploadNetworkError"}}class g extends Error{constructor(e,r){super(e),this.$ResponseMetadata=void 0,this.name="ImageKitServerError",this.$ResponseMetadata=r}}const m=(e,r)=>{let t={...e};const n=h(r);return Object.defineProperty(t,"$ResponseMetadata",{value:n,enumerable:!1,writable:!1}),t},h=e=>{const r=function(e){const r={},t=e.getAllResponseHeaders();Object.keys(t).length&&t.trim().split(/[\r\n]+/).map(e=>e.split(/: /)).forEach(e=>{r[e[0].trim().toLowerCase()]=e[1].trim()});return r}(e);return{statusCode:e.status,headers:r,requestId:r["x-request-id"]}};const y={width:"w",height:"h",aspectRatio:"ar",background:"bg",border:"b",crop:"c",cropMode:"cm",dpr:"dpr",focus:"fo",quality:"q",x:"x",xCenter:"xc",y:"y",yCenter:"yc",format:"f",videoCodec:"vc",audioCodec:"ac",radius:"r",rotation:"rt",blur:"bl",named:"n",defaultImage:"di",flip:"fl",original:"orig",startOffset:"so",endOffset:"eo",duration:"du",streamingResolutions:"sr",grayscale:"e-grayscale",aiUpscale:"e-upscale",aiRetouch:"e-retouch",aiVariation:"e-genvar",aiDropShadow:"e-dropshadow",aiChangeBackground:"e-changebg",aiRemoveBackground:"e-bgremove",aiRemoveBackgroundExternal:"e-removedotbg",contrastStretch:"e-contrast",shadow:"e-shadow",sharpen:"e-sharpen",unsharpMask:"e-usm",gradient:"e-gradient",progressive:"pr",lossless:"lo",colorProfile:"cp",metadata:"md",opacity:"o",trim:"t",zoom:"z",page:"pg",fontSize:"fs",fontFamily:"ff",fontColor:"co",innerAlignment:"ia",padding:"pa",alpha:"al",typography:"tg",lineHeight:"lh",fontOutline:"fol",fontShadow:"fsh",raw:"raw"};var b=e=>"query"===e.transformationPosition,v=function(e){return e&&(y[e]||y[e.toLowerCase()])||""},w=function(){return":"},x=function(){return","},S=function(){return"-"};const k=function(e){return"undefined"!=typeof window?btoa(e):Buffer.from(e,"utf8").toString("base64")},R=new RegExp("^[a-zA-Z0-9-._/ ]*$"),I=new RegExp("^[a-zA-Z0-9-._ ]*$");function E(e){return"string"==typeof e&&"/"==e[e.length-1]&&(e=e.substring(0,e.length-1)),e}function M(e){return"string"==typeof e&&"/"==e[0]&&(e=e.slice(1)),e}function j(e,r){var t=r||"/",n=new RegExp(t+"{1,}","g");return e.join(t).replace(n,t)}function A(e,r){return e=E(M(e)),"plain"===r?"i-"+e.replace(/\//g,"@@"):"base64"===r?"ie-"+encodeURIComponent(k(e)):R.test(e)?"i-"+e.replace(/\//g,"@@"):"ie-"+encodeURIComponent(k(e))}function P(e){const r=[],{type:t,position:n={},timing:s={},transformation:a=[]}=e||{};if(!t)return;switch(t){case"text":{const t=e;if(!t.text)return;const n=t.encoding||"auto";r.push("l-text"),r.push(function(e,r){return"plain"===r?"i-"+encodeURIComponent(e):"base64"===r?"ie-"+encodeURIComponent(k(e)):I.test(e)?"i-"+encodeURIComponent(e):"ie-"+encodeURIComponent(k(e))}(t.text,n))}break;case"image":r.push("l-image");{const t=e,n=t.encoding||"auto";if(!t.input)return;r.push(A(t.input,n))}break;case"video":r.push("l-video");{const t=e,n=t.encoding||"auto";if(!t.input)return;r.push(A(t.input,n))}break;case"subtitle":r.push("l-subtitle");{const t=e,n=t.encoding||"auto";if(!t.input)return;r.push(A(t.input,n))}break;case"solidColor":r.push("l-image"),r.push("i-ik_canvas");{const t=e;if(!t.color)return;r.push("bg-"+t.color)}}const{x:o,y:i,focus:u}=n;o&&r.push("lx-"+o),i&&r.push("ly-"+i),u&&r.push("lfo-"+u);const{start:l,end:p,duration:c}=s;l&&r.push("lso-"+l),p&&r.push("leo-"+p),c&&r.push("ldu-"+c);const f=O(a);return f&&""!==f.trim()&&r.push(f),r.push("l-end"),r.join(x())}const O=function(e){if(!Array.isArray(e))return"";for(var r=[],t=0,n=e.length;t<n;t++){var s=[];for(var a in e[t]){let r=e[t][a];if(null!=r)if("overlay"!==a||"object"!=typeof r){var o=v(a);if(o||(o=a),""!==o)if(["e-grayscale","e-contrast","e-removedotbg","e-bgremove","e-upscale","e-retouch","e-genvar"].includes(o)){if(!0!==r&&"-"!==r&&"true"!==r)continue;s.push(o)}else!["e-sharpen","e-shadow","e-gradient","e-usm","e-dropshadow"].includes(o)||""!==r.toString().trim()&&!0!==r&&"true"!==r?"raw"===a?s.push(e[t][a]):("di"===o&&(r=E(M(r||"")),r=r.replace(/\//g,"@@")),"sr"===o&&Array.isArray(r)&&(r=r.join("_")),"t"===o&&""===r.toString().trim()&&(r="true"),s.push([o,r].join(S()))):s.push(o)}else{var i=P(r);i&&""!==i.trim()&&s.push(i)}}s.length&&r.push(s.join(x()))}return r.join(w())};e.ImageKitAbortError=f,e.ImageKitInvalidRequestError=c,e.ImageKitServerError=g,e.ImageKitUploadNetworkError=d,e.buildSrc=e=>{if(e.urlEndpoint=e.urlEndpoint||"",e.src=e.src||"",e.transformationPosition=e.transformationPosition||"query",!e.src)return"";const r=e.src.startsWith("http://")||e.src.startsWith("https://");var t,n,s;try{r?(t=new URL(e.src),n=!0):(s=new URL(e.urlEndpoint).pathname,t=new URL(j([e.urlEndpoint.replace(s,""),e.src])))}catch(e){return console.error(e),""}for(var a in e.queryParameters)t.searchParams.append(a,String(e.queryParameters[a]));var o=O(e.transformation);return o&&o.length&&(b(e)||n||(t.pathname=j(["tr"+w()+o,t.pathname]))),t.pathname=j(s?[s,t.pathname]:[t.pathname]),o&&o.length&&(b(e)||n)?""!==t.searchParams.toString()?`${t.href}&tr=${o}`:`${t.href}?tr=${o}`:t.href},e.buildTransformationString=O,e.upload=e=>e?new Promise((y,b)=>{const{xhr:v}=e||{};delete e.xhr;const w=v||new XMLHttpRequest;if(!e.file)return b(new c(r.message));if(!e.fileName)return b(new c(t.message));if(!e.publicKey||0===e.publicKey.length)return b(new c(n.message));if(!e.token)return b(new c(o.message));if(!e.signature)return b(new c(a.message));if(!e.expire)return b(new c(i.message));if(e.transformation){if(!Object.keys(e.transformation).includes("pre")&&!Object.keys(e.transformation).includes("post"))return b(new c(u.message));if(Object.keys(e.transformation).includes("pre")&&!e.transformation.pre)return b(new c(l.message));if(Object.keys(e.transformation).includes("post")){if(!Array.isArray(e.transformation.post))return b(new c(p.message));for(let r of e.transformation.post){if("abs"===r.type&&!r.protocol&&!r.value)return b(new c(p.message));if("transformation"===r.type&&!r.value)return b(new c(p.message))}}}var x=new FormData;let S;for(S in e)if(S)if("file"===S&&"string"!=typeof e.file)x.set("file",e.file,String(e.fileName));else if("tags"===S&&Array.isArray(e.tags))x.set("tags",e.tags.join(","));else if("signature"===S)x.set("signature",e.signature);else if("expire"===S)x.set("expire",String(e.expire));else if("token"===S)x.set("token",e.token);else if("responseFields"===S&&Array.isArray(e.responseFields))x.set("responseFields",e.responseFields.join(","));else if("extensions"===S&&Array.isArray(e.extensions))x.set("extensions",JSON.stringify(e.extensions));else if("customMetadata"!==S||"object"!=typeof e.customMetadata||Array.isArray(e.customMetadata)||null===e.customMetadata){if("transformation"===S&&"object"==typeof e.transformation&&null!==e.transformation)x.set(S,JSON.stringify(e.transformation));else if("checks"===S&&e.checks)x.set("checks",e.checks);else if(void 0!==e[S]){if(["onProgress","abortSignal"].includes(S))continue;x.set(S,String(e[S]))}}else x.set("customMetadata",JSON.stringify(e.customMetadata));function k(){var r;return w.abort(),b(new f("Upload aborted",null===(r=e.abortSignal)||void 0===r?void 0:r.reason))}if(e.onProgress&&(w.upload.onprogress=function(r){e.onProgress&&e.onProgress(r)}),e.abortSignal){var R;if(e.abortSignal.aborted)return b(new f("Upload aborted",null===(R=e.abortSignal)||void 0===R?void 0:R.reason));e.abortSignal.addEventListener("abort",k),w.addEventListener("loadend",()=>{e.abortSignal&&e.abortSignal.removeEventListener("abort",k)})}w.open("POST","https://upload.imagekit.io/api/v1/files/upload"),w.onerror=function(e){return b(new d(s.message))},w.onload=function(){if(w.status>=200&&w.status<300)try{var e=JSON.parse(w.responseText),r=m(e,w);return y(r)}catch(e){return b(e)}else if(w.status>=400&&w.status<500)try{e=JSON.parse(w.responseText);return b(new c(e.message??"Invalid request. Please check the parameters.",h(w)))}catch(e){return b(e)}else try{e=JSON.parse(w.responseText);return b(new g(e.message??"Server error occurred while uploading the file. This is rare and usually temporary.",h(w)))}catch(e){return b(new g("Server error occurred while uploading the file. This is rare and usually temporary.",h(w)))}},w.send(x)}):Promise.reject(new c("Invalid options provided for upload")),Object.defineProperty(e,"__esModule",{value:!0})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imagekit/javascript",
3
- "version": "5.0.0-beta.6",
3
+ "version": "5.0.0-beta.7",
4
4
  "description": "ImageKit Javascript SDK",
5
5
  "main": "dist/imagekit.cjs.js",
6
6
  "module": "dist/imagekit.esm.js",
package/src/upload.ts CHANGED
@@ -127,36 +127,34 @@ export const upload = (uploadOptions: UploadOptions): Promise<UploadResponse> =>
127
127
  for (key in uploadOptions) {
128
128
  if (key) {
129
129
  if (key === "file" && typeof uploadOptions.file != "string") {
130
- formData.append('file', uploadOptions.file, String(uploadOptions.fileName));
130
+ formData.set('file', uploadOptions.file, String(uploadOptions.fileName));
131
131
  } else if (key === "tags" && Array.isArray(uploadOptions.tags)) {
132
- formData.append('tags', uploadOptions.tags.join(","));
132
+ formData.set('tags', uploadOptions.tags.join(","));
133
133
  } else if (key === 'signature') {
134
- formData.append("signature", uploadOptions.signature);
134
+ formData.set("signature", uploadOptions.signature);
135
135
  } else if (key === 'expire') {
136
- formData.append("expire", String(uploadOptions.expire));
136
+ formData.set("expire", String(uploadOptions.expire));
137
137
  } else if (key === 'token') {
138
- formData.append("token", uploadOptions.token);
138
+ formData.set("token", uploadOptions.token);
139
139
  } else if (key === "responseFields" && Array.isArray(uploadOptions.responseFields)) {
140
- formData.append('responseFields', uploadOptions.responseFields.join(","));
140
+ formData.set('responseFields', uploadOptions.responseFields.join(","));
141
141
  } else if (key === "extensions" && Array.isArray(uploadOptions.extensions)) {
142
- formData.append('extensions', JSON.stringify(uploadOptions.extensions));
142
+ formData.set('extensions', JSON.stringify(uploadOptions.extensions));
143
143
  } else if (key === "customMetadata" && typeof uploadOptions.customMetadata === "object" &&
144
144
  !Array.isArray(uploadOptions.customMetadata) && uploadOptions.customMetadata !== null) {
145
- formData.append('customMetadata', JSON.stringify(uploadOptions.customMetadata));
145
+ formData.set('customMetadata', JSON.stringify(uploadOptions.customMetadata));
146
146
  } else if (key === "transformation" && typeof uploadOptions.transformation === "object" &&
147
147
  uploadOptions.transformation !== null) {
148
- formData.append(key, JSON.stringify(uploadOptions.transformation));
148
+ formData.set(key, JSON.stringify(uploadOptions.transformation));
149
149
  } else if (key === 'checks' && uploadOptions.checks) {
150
- formData.append("checks", uploadOptions.checks);
150
+ formData.set("checks", uploadOptions.checks);
151
151
  } else if (uploadOptions[key] !== undefined) {
152
152
  if (["onProgress", "abortSignal"].includes(key)) continue;
153
- formData.append(key, String(uploadOptions[key]));
153
+ formData.set(key, String(uploadOptions[key]));
154
154
  }
155
155
  }
156
156
  }
157
157
 
158
- formData.append("publicKey", uploadOptions.publicKey);
159
-
160
158
  if (uploadOptions.onProgress) {
161
159
  xhr.upload.onprogress = function (event: ProgressEvent) {
162
160
  if (uploadOptions.onProgress) uploadOptions.onProgress(event)