UNPKG

@progress/kendo-vue-upload

Version:
9 lines (8 loc) 1.75 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use strict";const n=require("../interfaces/UploadFileStatus.js"),c=require("@progress/kendo-vue-common"),f=/&/g,E=/</g,F=/"/g,m=/'/g,U=/>/g,d=e=>(""+e).replace(f,"&amp;").replace(E,"&lt;").replace(U,"&gt;").replace(F,"&quot;").replace(m,"&#39;"),p=e=>{const t=/\.([^\.]+)$/,s=e.match(t);return s?s[0]:""},g=e=>{const t=e.name,s=e.size;return{extension:p(t),name:d(t),getRawFile:()=>e,size:s,status:n.UploadFileStatus.Selected,progress:0,uid:""}},x=e=>{const t=new Array;let s;for(s=0;s<e.length;s++)t.push(g(e[s]));return t},i=e=>!!(e.validationErrors&&e.validationErrors.length>0),S=e=>{for(const t of e)if(i(t))return!0;return!1},h=e=>{let t=0,s;if(typeof e[0].size=="number")for(s=0;s<e.length;s++)e[s].size&&(t+=e[s].size||0);else return"";return t/=1024,t<1024?t.toFixed(2)+" KB":(t/1024).toFixed(2)+" MB"},z=(e,t)=>{const s=c.guid();return e.map(o=>(o.uid=t?s:c.guid(),o))},R=e=>{let t=!1,s=!1,o=!1,l=!1;const u=r=>{r.forEach(a=>{a.status===n.UploadFileStatus.Uploading&&(t=!0),a.status===n.UploadFileStatus.Uploaded&&(s=!0),a.status===n.UploadFileStatus.UploadFailed&&(o=!0),i(a)&&(l=!0)})};return Array.isArray(e)?u(e):Object.keys(e).forEach(r=>{u(e[r])}),[t,s,o,l]},y={fileHasValidationErrors:i,filesHaveValidationErrors:S,getTotalFilesSizeMessage:h,getAllFileInfo:x,getFileInfo:g,getFileExtension:p,htmlEncode:d,assignGuidToFiles:z,getFileStatus:R};module.exports=y;