UNPKG

file-select-dialog

Version:
3 lines (2 loc) 707 B
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});class e extends Error{}class t extends e{}class l extends e{}const c=(e,t=",")=>e.join(t),n={accept:"*",multiple:!1,strict:!1},r=(e,c,n)=>new Promise(((r,i)=>{if(!e)return i(new t);const o=s(e,c,n);if(!o)return i(new l);r(o)})),s=(e,t,l)=>!t&&l?1===e.length?e[0]:null:e.length?e:null,i=({accept:e,multiple:t})=>{const l=document.createElement("input");return l.type="file",l.multiple=t,l.accept=e,l};exports.fileDialog=e=>{const{accept:t,multiple:l,strict:s}={...n,...e},o=i({multiple:l,accept:Array.isArray(t)?c(t):t});return new Promise((e=>{o.onchange=()=>{e(r(o.files,l,s)),o.remove()},o.click()}))}; //# sourceMappingURL=index.js.map