pushduck
Version:
The fastest way to add file uploads to any web application. Enterprise security, edge-ready. Works with 16+ frameworks and 5+ storage providers. No heavy AWS SDK required.
1 lines • 1.12 kB
JavaScript
"use client";const e=require(`./chunk-CEIYHHoD.js`),t=require(`./use-upload-route-CYg47cU6.js`),n=e.__toESM(require(`react`));function r(e,r,i){let a={endpoint:i?.endpoint||r.endpoint,onSuccess:i?.onSuccess||r.defaultOptions?.onSuccess,onError:i?.onError||r.defaultOptions?.onError,onProgress:i?.onProgress||r.defaultOptions?.onProgress},o=t.useUploadRoute(e,a),s=(0,n.useCallback)(async(e,t)=>(await o.uploadFiles(e),o.files.map(e=>({...e,metadata:t}))),[o.uploadFiles,o.files,e]);return{files:o.files,uploadFiles:s,reset:o.reset,isUploading:o.isUploading,errors:o.errors,routeName:e,progress:o.progress,uploadSpeed:o.uploadSpeed,eta:o.eta}}function i(e){return new Proxy({},{get(t,n){if(typeof n!=`string`)throw Error(`Invalid route access: Routes must be strings, got ${typeof n}`);return t=>r(n,e,t)},has(e,t){return typeof t==`string`},ownKeys(){return[]},getOwnPropertyDescriptor(e,t){if(typeof t==`string`)return{enumerable:!0,configurable:!0,get:()=>this.get(e,t,e)}}})}exports.createUploadClient=i,exports.formatETA=t.formatETA,exports.formatUploadSpeed=t.formatUploadSpeed,exports.useUploadRoute=t.useUploadRoute;