@nhost/hasura-storage-js
Advanced tools
Comparing version 0.4.0 to 0.5.0
@@ -1,2 +0,2 @@ | ||
"use strict";var L=Object.defineProperty,T=Object.defineProperties;var I=Object.getOwnPropertyDescriptors;var y=Object.getOwnPropertySymbols;var R=Object.prototype.hasOwnProperty,M=Object.prototype.propertyIsEnumerable;var O=(t,e,r)=>e in t?L(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,u=(t,e)=>{for(var r in e||(e={}))R.call(e,r)&&O(t,r,e[r]);if(y)for(var r of y(e))M.call(e,r)&&O(t,r,e[r]);return t},g=(t,e)=>T(t,I(e));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var k=require("axios"),a=require("xstate");function C(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var D=C(k);class S{constructor({url:e}){this.url=e,this.httpClient=D.default.create({baseURL:this.url})}async upload(e){try{return{fileMetadata:(await this.httpClient.post("/files",e.file,{headers:g(u(u({},this.generateUploadHeaders(e)),this.generateAuthHeaders()),{"Content-Type":"multipart/form-data"})})).data,error:null}}catch(r){return{fileMetadata:null,error:r}}}async getPresignedUrl(e){try{const{fileId:r}=e;return{presignedUrl:(await this.httpClient.get(`/files/${r}/presignedurl`,{headers:u({},this.generateAuthHeaders())})).data,error:null}}catch(r){return{presignedUrl:null,error:r}}}async delete(e){try{const{fileId:r}=e;return await this.httpClient.delete(`/files/${r}`,{headers:u({},this.generateAuthHeaders())}),{error:null}}catch(r){return{error:r}}}setAccessToken(e){return this.accessToken=e,this}setAdminSecret(e){return this.adminSecret=e,this}generateUploadHeaders(e){const{bucketId:r,name:s,id:o}=e,i={};return r&&(i["x-nhost-bucket-id"]=r),o&&(i["x-nhost-file-id"]=o),s&&(i["x-nhost-file-name"]=s),i}generateAuthHeaders(){return!this.adminSecret&&!this.accessToken?null:this.adminSecret?{"x-hasura-admin-secret":this.adminSecret}:{Authorization:`Bearer ${this.accessToken}`}}}class F{constructor({url:e,adminSecret:r}){this.url=e,this.api=new S({url:e}),this.setAdminSecret(r)}async upload(e){const r=new FormData;r.append("file",e.file);const{fileMetadata:s,error:o}=await this.api.upload(g(u({},e),{file:r}));return o?{fileMetadata:null,error:o}:s?{fileMetadata:s,error:null}:{fileMetadata:null,error:new Error("Invalid file returned")}}getUrl(e){return this.getPublicUrl(e)}getPublicUrl(e){const{fileId:r}=e;return`${this.url}/files/${r}`}async getPresignedUrl(e){const{presignedUrl:r,error:s}=await this.api.getPresignedUrl(e);return s?{presignedUrl:null,error:s}:r?{presignedUrl:r,error:null}:{presignedUrl:null,error:new Error("Invalid file id")}}async delete(e){const{error:r}=await this.api.delete(e);return r?{error:r}:{error:null}}setAccessToken(e){return this.api.setAccessToken(e),this}setAdminSecret(e){return this.api.setAdminSecret(e),this}}const A={progress:null,loaded:0,error:null},_=()=>a.createMachine({preserveActionOrder:!0,schema:{context:{},events:{}},tsTypes:{},context:u({},A),initial:"idle",on:{DESTROY:{actions:"sendDestroy",target:"stopped"}},states:{idle:{on:{ADD:{actions:"addFile"},UPLOAD:{cond:"hasFile",target:"uploading"}}},uploading:{entry:"resetProgress",on:{UPLOAD_PROGRESS:{actions:["incrementProgress","sendProgress"]},UPLOAD_DONE:"uploaded",UPLOAD_ERROR:"error",CANCEL:"idle"},invoke:{src:"uploadFile"}},uploaded:{entry:["setFileMetadata","sendDone"]},error:{entry:["setError","sendError"]},stopped:{type:"final"}}},{guards:{hasFile:(t,e)=>!!t.file||!!e.file},actions:{incrementProgress:a.assign({loaded:(t,{loaded:e})=>e,progress:(t,{progress:e})=>e}),setFileMetadata:a.assign({id:(t,{id:e})=>e,bucketId:(t,{bucketId:e})=>e,progress:t=>100}),setError:a.assign({error:(t,{error:e})=>e}),sendProgress:()=>{},sendError:()=>{},sendDestroy:()=>{},sendDone:()=>{},resetProgress:a.assign({progress:t=>null,loaded:t=>0}),addFile:a.assign({file:(t,{file:e})=>e,bucketId:(t,{bucketId:e})=>e,id:(t,{id:e})=>e})},services:{uploadFile:(t,e)=>r=>{const s={"Content-Type":"multipart/form-data"},o=e.id||t.id;o&&(s["x-nhost-file-id"]=o);const i=e.bucketId||t.bucketId;i&&(s["x-nhost-bucket-id"]=i);const d=e.file||t.file;s["x-nhost-file-name"]=e.name||d.name;const l=new FormData;l.append("file",d),e.adminSecret&&(s["x-hasura-admin-secret"]=e.adminSecret),e.accessToken&&(s.Authorization=`Bearer ${e.accessToken}`);let p=0;const P=new AbortController;return D.default.post(e.url+"/files",l,{headers:s,signal:P.signal,onUploadProgress:n=>{const c=Math.round(n.loaded*d.size/n.total),h=c-p;p=c,r({type:"UPLOAD_PROGRESS",progress:Math.round(c*100/n.total),loaded:c,additions:h})}}).then(({data:{id:n,bucketId:c}})=>{r({type:"UPLOAD_DONE",id:n,bucketId:c})}).catch(({response:n,message:c})=>{var h,U,E;r({type:"UPLOAD_ERROR",error:{status:(h=n==null?void 0:n.status)!=null?h:0,message:((U=n==null?void 0:n.data.error)==null?void 0:U.message)||c,error:((E=n==null?void 0:n.data.error)==null?void 0:E.message)||c}})}),()=>{P.abort()}}}}),{pure:m,sendParent:f}=a.actions,b=()=>a.createMachine({id:"files-list",schema:{context:{},events:{}},tsTypes:{},context:{progress:null,files:[],loaded:0,total:0},initial:"idle",on:{UPLOAD:{cond:"hasFileToDownload",target:"uploading"},ADD:{actions:"addItem"},REMOVE:{actions:"removeItem"}},states:{idle:{entry:["resetProgress","resetLoaded","resetTotal"],on:{CLEAR:{actions:"clearList",target:"idle"}}},uploading:{entry:["upload","startProgress","resetLoaded","resetTotal"],on:{UPLOAD_PROGRESS:{actions:["incrementProgress"]},UPLOAD_DONE:[{cond:"isAllUploaded",target:"uploaded"},{cond:"isAllUploadedOrError",target:"error"}],UPLOAD_ERROR:[{cond:"isAllUploaded",target:"uploaded"},{cond:"isAllUploadedOrError",target:"error"}],CANCEL:{actions:"cancel",target:"idle"}}},uploaded:{entry:"setUploaded",on:{CLEAR:{actions:"clearList",target:"idle"}}},error:{on:{CLEAR:{actions:"clearList",target:"idle"}}}}},{guards:{hasFileToDownload:t=>t.files.some(e=>e.getSnapshot().matches("idle")),isAllUploaded:t=>t.files.every(e=>{var r;return(r=e.getSnapshot())==null?void 0:r.matches("uploaded")}),isAllUploadedOrError:t=>t.files.every(e=>{const r=e.getSnapshot();return(r==null?void 0:r.matches("error"))||(r==null?void 0:r.matches("uploaded"))})},actions:{incrementProgress:a.assign((t,e)=>{const r=t.loaded+e.additions,s=Math.round(r*100/t.total);return g(u({},t),{loaded:r,progress:s})}),setUploaded:a.assign({progress:t=>100,loaded:({files:t})=>t.map(e=>e.getSnapshot()).filter(e=>e.matches("uploaded")).reduce((e,r)=>{var s;return e+((s=r.context.file)==null?void 0:s.size)},0)}),resetTotal:a.assign({total:({files:t})=>t.map(e=>e.getSnapshot()).filter(e=>!e.matches("uploaded")).reduce((e,r)=>{var s;return e+((s=r.context.file)==null?void 0:s.size)},0)}),resetLoaded:a.assign({loaded:t=>0}),startProgress:a.assign({progress:t=>0}),resetProgress:a.assign({progress:t=>null}),addItem:a.assign((t,{files:e})=>{const r=Array.isArray(e)?e:[e],s=t.total+r.reduce((i,d)=>i+d.size,0),o=Math.round(t.loaded*100/s);return{files:[...t.files,...r.map(i=>a.spawn(_().withConfig({actions:{sendProgress:f((d,{additions:l})=>({type:"UPLOAD_PROGRESS",additions:l})),sendDone:f("UPLOAD_DONE"),sendError:f("UPLOAD_ERROR"),sendDestroy:f("REMOVE")}}).withContext(g(u({},A),{file:i})),{sync:!0}))],total:s,loaded:t.loaded,progress:o}}),removeItem:a.assign({files:t=>t.files.filter(e=>{var s,o;const r=(s=e.getSnapshot())==null?void 0:s.matches("stopped");return r&&((o=e.stop)==null||o.call(e)),!r})}),clearList:m(t=>t.files.map(e=>a.send({type:"DESTROY"},{to:e.id}))),upload:m((t,e)=>t.files.map(r=>a.send(e,{to:r.id}))),cancel:m(t=>t.files.map(e=>a.send({type:"CANCEL"},{to:e.id})))}}),x=async(t,e,{file:r,bucketId:s,id:o,name:i})=>new Promise(d=>{e.send({type:"UPLOAD",url:t.storage.url,file:r,accessToken:t.auth.getAccessToken(),adminSecret:t.adminSecret,bucketId:s,id:o,name:i}),e.subscribe(l=>{var p;l.matches("error")?d({error:l.context.error,isError:!0,isUploaded:!1}):l.matches("uploaded")&&d({error:null,isError:!1,isUploaded:!0,id:l.context.id,bucketId:l.context.id,name:(p=l.context.file)==null?void 0:p.name})})}),w=async(t,e,r={bucketId:"default"})=>new Promise(s=>{const{bucketId:o}=r;e.send({type:"UPLOAD",url:t.storage.url,bucketId:o,accessToken:t.auth.getAccessToken(),adminSecret:t.adminSecret}),e.onTransition(i=>{i.matches("error")?s({errors:i.context.files.filter(d=>{var l;return(l=d.getSnapshot())==null?void 0:l.context.error}),isError:!0,files:[]}):i.matches("uploaded")&&s({errors:[],isError:!1,files:i.context.files})})});exports.HasuraStorageApi=S;exports.HasuraStorageClient=F;exports.INITIAL_FILE_CONTEXT=A;exports.createFileUploadMachine=_;exports.createMultipleFilesUploadMachine=b;exports.uploadFilePromise=x;exports.uploadMultipleFilesPromise=w; | ||
"use strict";var I=Object.defineProperty,R=Object.defineProperties;var M=Object.getOwnPropertyDescriptors;var D=Object.getOwnPropertySymbols;var k=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable;var S=(r,e,t)=>e in r?I(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,d=(r,e)=>{for(var t in e||(e={}))k.call(e,t)&&S(r,t,e[t]);if(D)for(var t of D(e))C.call(e,t)&&S(r,t,e[t]);return r},g=(r,e)=>R(r,M(e));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var F=require("axios"),i=require("xstate");function b(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var _=b(F);class L{constructor({url:e}){this.url=e,this.httpClient=_.default.create({baseURL:this.url})}async upload(e){try{return{fileMetadata:(await this.httpClient.post("/files",e.file,{headers:g(d(d({},this.generateUploadHeaders(e)),this.generateAuthHeaders()),{"Content-Type":"multipart/form-data"})})).data,error:null}}catch(t){return{fileMetadata:null,error:t}}}async getPresignedUrl(e){try{const{fileId:t}=e;return{presignedUrl:(await this.httpClient.get(`/files/${t}/presignedurl`,{headers:d({},this.generateAuthHeaders())})).data,error:null}}catch(t){return{presignedUrl:null,error:t}}}async delete(e){try{const{fileId:t}=e;return await this.httpClient.delete(`/files/${t}`,{headers:d({},this.generateAuthHeaders())}),{error:null}}catch(t){return{error:t}}}setAccessToken(e){return this.accessToken=e,this}setAdminSecret(e){return this.adminSecret=e,this}generateUploadHeaders(e){const{bucketId:t,name:s,id:a}=e,n={};return t&&(n["x-nhost-bucket-id"]=t),a&&(n["x-nhost-file-id"]=a),s&&(n["x-nhost-file-name"]=s),n}generateAuthHeaders(){return!this.adminSecret&&!this.accessToken?null:this.adminSecret?{"x-hasura-admin-secret":this.adminSecret}:{Authorization:`Bearer ${this.accessToken}`}}}class x{constructor({url:e,adminSecret:t}){this.url=e,this.api=new L({url:e}),this.setAdminSecret(t)}async upload(e){const t=new FormData;t.append("file",e.file);const{fileMetadata:s,error:a}=await this.api.upload(g(d({},e),{file:t}));return a?{fileMetadata:null,error:a}:s?{fileMetadata:s,error:null}:{fileMetadata:null,error:new Error("Invalid file returned")}}getUrl(e){return this.getPublicUrl(e)}getPublicUrl(e){const{fileId:t}=e;return`${this.url}/files/${t}`}async getPresignedUrl(e){const{presignedUrl:t,error:s}=await this.api.getPresignedUrl(e);return s?{presignedUrl:null,error:s}:t?{presignedUrl:t,error:null}:{presignedUrl:null,error:new Error("Invalid file id")}}async delete(e){const{error:t}=await this.api.delete(e);return t?{error:t}:{error:null}}setAccessToken(e){return this.api.setAccessToken(e),this}setAdminSecret(e){return this.api.setAdminSecret(e),this}}const A={progress:null,loaded:0,error:null},T=()=>i.createMachine({preserveActionOrder:!0,schema:{context:{},events:{}},tsTypes:{},context:d({},A),initial:"idle",on:{DESTROY:{actions:"sendDestroy",target:"stopped"}},states:{idle:{on:{ADD:{actions:"addFile"},UPLOAD:{cond:"hasFile",target:"uploading"}}},uploading:{entry:"resetProgress",on:{UPLOAD_PROGRESS:{actions:["incrementProgress","sendProgress"]},UPLOAD_DONE:"uploaded",UPLOAD_ERROR:"error",CANCEL:"idle"},invoke:{src:"uploadFile"}},uploaded:{entry:["setFileMetadata","sendDone"]},error:{entry:["setError","sendError"]},stopped:{type:"final"}}},{guards:{hasFile:(r,e)=>!!r.file||!!e.file},actions:{incrementProgress:i.assign({loaded:(r,{loaded:e})=>e,progress:(r,{progress:e})=>e}),setFileMetadata:i.assign({id:(r,{id:e})=>e,bucketId:(r,{bucketId:e})=>e,progress:r=>100}),setError:i.assign({error:(r,{error:e})=>e}),sendProgress:()=>{},sendError:()=>{},sendDestroy:()=>{},sendDone:()=>{},resetProgress:i.assign({progress:r=>null,loaded:r=>0}),addFile:i.assign({file:(r,{file:e})=>e,bucketId:(r,{bucketId:e})=>e,id:(r,{id:e})=>e})},services:{uploadFile:(r,e)=>t=>{const s={"Content-Type":"multipart/form-data"},a=e.id||r.id;a&&(s["x-nhost-file-id"]=a);const n=e.bucketId||r.bucketId;n&&(s["x-nhost-bucket-id"]=n);const l=e.file||r.file;s["x-nhost-file-name"]=e.name||l.name;const u=new FormData;u.append("file",l),e.adminSecret&&(s["x-hasura-admin-secret"]=e.adminSecret),e.accessToken&&(s.Authorization=`Bearer ${e.accessToken}`);let p=0;const P=new AbortController;return _.default.post(e.url+"/files",u,{headers:s,signal:P.signal,onUploadProgress:o=>{const c=Math.round(o.loaded*l.size/o.total),h=c-p;p=c,t({type:"UPLOAD_PROGRESS",progress:Math.round(c*100/o.total),loaded:c,additions:h})}}).then(({data:{id:o,bucketId:c}})=>{t({type:"UPLOAD_DONE",id:o,bucketId:c})}).catch(({response:o,message:c})=>{var h,U,y,E,O;t({type:"UPLOAD_ERROR",error:{status:(h=o==null?void 0:o.status)!=null?h:0,message:((y=(U=o==null?void 0:o.data)==null?void 0:U.error)==null?void 0:y.message)||c,error:((O=(E=o==null?void 0:o.data)==null?void 0:E.error)==null?void 0:O.message)||c}})}),()=>{P.abort()}}}}),{pure:m,sendParent:f}=i.actions,w=()=>i.createMachine({id:"files-list",schema:{context:{},events:{}},tsTypes:{},context:{progress:null,files:[],loaded:0,total:0},initial:"idle",on:{UPLOAD:{cond:"hasFileToDownload",actions:"addItem",target:"uploading"},ADD:{actions:"addItem"},REMOVE:{actions:"removeItem"}},states:{idle:{entry:["resetProgress","resetLoaded","resetTotal"],on:{CLEAR:{actions:"clearList",target:"idle"}}},uploading:{entry:["upload","startProgress","resetLoaded","resetTotal"],on:{UPLOAD_PROGRESS:{actions:["incrementProgress"]},UPLOAD_DONE:[{cond:"isAllUploaded",target:"uploaded"},{cond:"isAllUploadedOrError",target:"error"}],UPLOAD_ERROR:[{cond:"isAllUploaded",target:"uploaded"},{cond:"isAllUploadedOrError",target:"error"}],CANCEL:{actions:"cancel",target:"idle"}}},uploaded:{entry:"setUploaded",on:{CLEAR:{actions:"clearList",target:"idle"}}},error:{on:{CLEAR:{actions:"clearList",target:"idle"}}}}},{guards:{hasFileToDownload:(r,e)=>r.files.some(t=>t.getSnapshot().matches("idle"))||!!e.files,isAllUploaded:r=>r.files.every(e=>{var t;return(t=e.getSnapshot())==null?void 0:t.matches("uploaded")}),isAllUploadedOrError:r=>r.files.every(e=>{const t=e.getSnapshot();return(t==null?void 0:t.matches("error"))||(t==null?void 0:t.matches("uploaded"))})},actions:{incrementProgress:i.assign((r,e)=>{const t=r.loaded+e.additions,s=Math.round(t*100/r.total);return g(d({},r),{loaded:t,progress:s})}),setUploaded:i.assign({progress:r=>100,loaded:({files:r})=>r.map(e=>e.getSnapshot()).filter(e=>e.matches("uploaded")).reduce((e,t)=>{var s;return e+((s=t.context.file)==null?void 0:s.size)},0)}),resetTotal:i.assign({total:({files:r})=>r.map(e=>e.getSnapshot()).filter(e=>!e.matches("uploaded")).reduce((e,t)=>{var s;return e+((s=t.context.file)==null?void 0:s.size)},0)}),resetLoaded:i.assign({loaded:r=>0}),startProgress:i.assign({progress:r=>0}),resetProgress:i.assign({progress:r=>null}),addItem:i.assign((r,{files:e,bucketId:t})=>{const s=e?Array.isArray(e)?e:"length"in e?Array.from(e):[e]:[],a=r.total+s.reduce((l,u)=>l+u.size,0),n=Math.round(r.loaded*100/a);return{files:[...r.files,...s.map(l=>i.spawn(T().withConfig({actions:{sendProgress:f((u,{additions:p})=>({type:"UPLOAD_PROGRESS",additions:p})),sendDone:f("UPLOAD_DONE"),sendError:f("UPLOAD_ERROR"),sendDestroy:f("REMOVE")}}).withContext(g(d({},A),{file:l,bucketId:t})),{sync:!0}))],total:a,loaded:r.loaded,progress:n}}),removeItem:i.assign({files:r=>r.files.filter(e=>{var s,a;const t=(s=e.getSnapshot())==null?void 0:s.matches("stopped");return t&&((a=e.stop)==null||a.call(e)),!t})}),clearList:m(r=>r.files.map(e=>i.send({type:"DESTROY"},{to:e.id}))),upload:m((r,e)=>r.files.map(t=>i.send(e,{to:t.id}))),cancel:m(r=>r.files.map(e=>i.send({type:"CANCEL"},{to:e.id})))}}),N=async(r,e,t)=>new Promise(s=>{e.send(d({type:"UPLOAD",url:r.storage.url,accessToken:r.auth.getAccessToken(),adminSecret:r.adminSecret},t)),e.subscribe(a=>{var n;a.matches("error")?s({error:a.context.error,isError:!0,isUploaded:!1}):a.matches("uploaded")&&s({error:null,isError:!1,isUploaded:!0,id:a.context.id,bucketId:a.context.id,name:(n=a.context.file)==null?void 0:n.name})})}),H=async(r,e,t)=>new Promise(s=>{e.send({type:"UPLOAD",url:r.storage.url,accessToken:r.auth.getAccessToken(),adminSecret:r.adminSecret,bucketId:t==null?void 0:t.bucketId,files:t==null?void 0:t.files}),e.onTransition(a=>{a.matches("error")?s({errors:a.context.files.filter(n=>{var l;return(l=n.getSnapshot())==null?void 0:l.context.error}),isError:!0,files:[]}):a.matches("uploaded")&&s({errors:[],isError:!1,files:a.context.files})})});exports.HasuraStorageApi=L;exports.HasuraStorageClient=x;exports.INITIAL_FILE_CONTEXT=A;exports.createFileUploadMachine=T;exports.createMultipleFilesUploadMachine=w;exports.uploadFilePromise=N;exports.uploadMultipleFilesPromise=H; | ||
//# sourceMappingURL=index.cjs.js.map |
@@ -258,3 +258,3 @@ var __defProp = Object.defineProperty; | ||
}).catch(({ response, message }) => { | ||
var _a, _b, _c; | ||
var _a, _b, _c, _d, _e; | ||
callback({ | ||
@@ -264,4 +264,4 @@ type: "UPLOAD_ERROR", | ||
status: (_a = response == null ? void 0 : response.status) != null ? _a : 0, | ||
message: ((_b = response == null ? void 0 : response.data.error) == null ? void 0 : _b.message) || message, | ||
error: ((_c = response == null ? void 0 : response.data.error) == null ? void 0 : _c.message) || message | ||
message: ((_c = (_b = response == null ? void 0 : response.data) == null ? void 0 : _b.error) == null ? void 0 : _c.message) || message, | ||
error: ((_e = (_d = response == null ? void 0 : response.data) == null ? void 0 : _d.error) == null ? void 0 : _e.message) || message | ||
} | ||
@@ -293,3 +293,3 @@ }); | ||
on: { | ||
UPLOAD: { cond: "hasFileToDownload", target: "uploading" }, | ||
UPLOAD: { cond: "hasFileToDownload", actions: "addItem", target: "uploading" }, | ||
ADD: { actions: "addItem" }, | ||
@@ -334,3 +334,3 @@ REMOVE: { actions: "removeItem" } | ||
guards: { | ||
hasFileToDownload: (context) => context.files.some((ref) => ref.getSnapshot().matches("idle")), | ||
hasFileToDownload: (context, event) => context.files.some((ref) => ref.getSnapshot().matches("idle")) || !!event.files, | ||
isAllUploaded: (context) => context.files.every((item) => { | ||
@@ -367,4 +367,4 @@ var _a; | ||
resetProgress: assign({ progress: (_) => null }), | ||
addItem: assign((context, { files }) => { | ||
const additions = Array.isArray(files) ? files : [files]; | ||
addItem: assign((context, { files, bucketId }) => { | ||
const additions = files ? Array.isArray(files) ? files : "length" in files ? Array.from(files) : [files] : []; | ||
const total = context.total + additions.reduce((agg, curr) => agg + curr.size, 0); | ||
@@ -385,3 +385,3 @@ const progress = Math.round(context.loaded * 100 / total); | ||
} | ||
}).withContext(__spreadProps(__spreadValues({}, INITIAL_FILE_CONTEXT), { file })), { sync: true })) | ||
}).withContext(__spreadProps(__spreadValues({}, INITIAL_FILE_CONTEXT), { file, bucketId })), { sync: true })) | ||
], | ||
@@ -409,13 +409,9 @@ total, | ||
}; | ||
const uploadFilePromise = async (nhost, interpreter, { file, bucketId, id, name }) => new Promise((resolve) => { | ||
interpreter.send({ | ||
const uploadFilePromise = async (nhost, interpreter, params) => new Promise((resolve) => { | ||
interpreter.send(__spreadValues({ | ||
type: "UPLOAD", | ||
url: nhost.storage.url, | ||
file, | ||
accessToken: nhost.auth.getAccessToken(), | ||
adminSecret: nhost.adminSecret, | ||
bucketId, | ||
id, | ||
name | ||
}); | ||
adminSecret: nhost.adminSecret | ||
}, params)); | ||
interpreter.subscribe((s) => { | ||
@@ -441,10 +437,10 @@ var _a; | ||
}); | ||
const uploadMultipleFilesPromise = async (nhost, service, options = { bucketId: "default" }) => new Promise((resolve) => { | ||
const { bucketId } = options; | ||
const uploadMultipleFilesPromise = async (nhost, service, params) => new Promise((resolve) => { | ||
service.send({ | ||
type: "UPLOAD", | ||
url: nhost.storage.url, | ||
bucketId, | ||
accessToken: nhost.auth.getAccessToken(), | ||
adminSecret: nhost.adminSecret | ||
adminSecret: nhost.adminSecret, | ||
bucketId: params == null ? void 0 : params.bucketId, | ||
files: params == null ? void 0 : params.files | ||
}); | ||
@@ -451,0 +447,0 @@ service.onTransition((s) => { |
import { ActorRefFrom } from 'xstate'; | ||
import { FileUploadMachine } from './file-upload'; | ||
export declare type FileItemRef = ActorRefFrom<FileUploadMachine>; | ||
export declare type AnyFileList = File | File[] | FileList; | ||
export declare type MultipleFilesUploadContext = { | ||
@@ -12,6 +13,8 @@ progress: number | null; | ||
type: 'ADD'; | ||
files: File | File[]; | ||
files: AnyFileList; | ||
bucketId?: string; | ||
} | { | ||
type: 'UPLOAD'; | ||
url: string; | ||
files?: AnyFileList; | ||
bucketId?: string; | ||
@@ -37,6 +40,8 @@ accessToken?: string; | ||
type: 'ADD'; | ||
files: File | File[]; | ||
files: AnyFileList; | ||
bucketId?: string | undefined; | ||
} | { | ||
type: 'UPLOAD'; | ||
url: string; | ||
files?: AnyFileList | undefined; | ||
bucketId?: string | undefined; | ||
@@ -63,6 +68,8 @@ accessToken?: string | undefined; | ||
type: 'ADD'; | ||
files: File | File[]; | ||
files: AnyFileList; | ||
bucketId?: string | undefined; | ||
} | { | ||
type: 'UPLOAD'; | ||
url: string; | ||
files?: AnyFileList | undefined; | ||
bucketId?: string | undefined; | ||
@@ -69,0 +76,0 @@ accessToken?: string | undefined; |
export interface Typegen0 { | ||
'@@xstate/typegen': true; | ||
eventsCausingActions: { | ||
addItem: 'ADD'; | ||
addItem: 'UPLOAD' | 'ADD'; | ||
removeItem: 'REMOVE'; | ||
@@ -6,0 +6,0 @@ clearList: 'CLEAR'; |
@@ -35,3 +35,3 @@ import { InterpreterFrom } from 'xstate'; | ||
} | ||
export declare const uploadFilePromise: (nhost: NhostClientReturnType, interpreter: FileItemRef | InterpreterFrom<FileUploadMachine>, { file, bucketId, id, name }: Partial<StorageUploadParams>) => Promise<UploadFileHandlerResult>; | ||
export declare const uploadFilePromise: (nhost: NhostClientReturnType, interpreter: FileItemRef | InterpreterFrom<FileUploadMachine>, params: Partial<StorageUploadParams>) => Promise<UploadFileHandlerResult>; | ||
//# sourceMappingURL=file-upload.d.ts.map |
import { InterpreterFrom } from 'xstate'; | ||
import { FileItemRef, MultipleFilesUploadMachine } from '../machines'; | ||
import { AnyFileList, FileItemRef, MultipleFilesUploadMachine } from '../machines'; | ||
import { NhostClientReturnType } from '../utils/types'; | ||
@@ -35,5 +35,6 @@ export interface MultipleUploadProgressState { | ||
export declare type UploadMultipleFilesActionParams = { | ||
files?: AnyFileList; | ||
bucketId?: string; | ||
}; | ||
export declare const uploadMultipleFilesPromise: (nhost: NhostClientReturnType, service: InterpreterFrom<MultipleFilesUploadMachine>, options?: UploadMultipleFilesActionParams) => Promise<MultipleFilesHandlerResult>; | ||
export declare const uploadMultipleFilesPromise: (nhost: NhostClientReturnType, service: InterpreterFrom<MultipleFilesUploadMachine>, params?: UploadMultipleFilesActionParams | undefined) => Promise<MultipleFilesHandlerResult>; | ||
//# sourceMappingURL=multiple-files-upload.d.ts.map |
{ | ||
"name": "@nhost/hasura-storage-js", | ||
"version": "0.4.0", | ||
"version": "0.5.0", | ||
"description": "Hasura-storage client", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
519031
1340