@emailmaker/emailmaker 1.1.9 → 1.1.11
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.
- package/README.md +0 -1
- package/{emailmaker-core.808bee5e.js → emailmaker-core.89533086.js} +1 -1
- package/emailmaker-esm.js +3 -3
- package/emailmaker.d.ts +1 -9
- package/emailmaker.js +2 -2
- package/iframe/js/amp.CUKrusRy.js +1 -0
- package/iframe/js/iframe-eblock.js +1 -1
- package/iframe/js/iframe.js +1 -1
- package/iframe/js/rules.CNqvmp_P.js +1 -1
- package/iframe/js/sanitize-html.BWcyAj0s.js +1 -0
- package/package.json +1 -1
- package/static/core/{6eb88f06.js → 103245e1.js} +1 -1
- package/static/core/{fdb48e3f.js → 4cee465e.js} +1 -1
- package/static/core/{97e1264b.js → 59bd13fd.js} +1 -1
- package/static/core/{461a4018.js → 63eceabd.js} +1 -1
- package/static/core/{d3d60ed0.js → 6be291d7.js} +1 -1
- package/static/core/{9ef47c7c.js → 713868e1.js} +1 -1
- package/static/core/{bfd98708.js → 7b449eb6.js} +1 -1
- package/static/core/7dfe8132.js +1 -0
- package/static/core/879e09e7.js +51 -0
- package/static/core/{136331f7.js → 8e3ba0c5.js} +1 -1
- package/static/core/{d55c0f70.js → 950fa54e.js} +17 -17
- package/static/core/{a56dd82d.js → 9b14558c.js} +1 -1
- package/static/core/{31f5d274.js → e961bd52.js} +1 -1
- package/static/core/{ae2bef91.js → e98b9b31.js} +1 -1
- package/static/core/{8147252b.js → f2a1f633.js} +1 -1
- package/static/esm/{c1e3467e.js → b86c52d7.js} +1 -1
- package/two_step_headless_plugin.html +1 -1
- package/iframe/js/amp.CdTI2-VC.js +0 -1
- package/iframe/js/sanitize-html.tGUeRBWs.js +0 -1
- package/static/core/1f9fcb39.js +0 -47
- package/static/core/80d0f890.js +0 -1
- /package/iframe/{iframe-eblock.808bee5e.html → iframe-eblock.89533086.html} +0 -0
- /package/iframe/{iframe.808bee5e.html → iframe.89533086.html} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.setAttribute(`data-emailmaker`,`true`),e.appendChild(document.createTextNode(`.monaco-editor{width:100%;height:100%}.monaco-editor .monaco-hover{border-radius:6px}.monaco-editor .monaco-editor .scroll-decoration{box-shadow:none}.monaco-editor,.monaco-editor *,.monaco-editor .view-lines,.monaco-editor .view-lines *,.monaco-editor .view-lines .view-line,.monaco-editor .view-lines .monaco-mouse-cursor-text,.monaco-editor .view-line,.monaco-editor .monaco-mouse-cursor-text{font-family:var(--monaco-editor-font-family,"Source Code Pro", Consolas, "Courier New", monospace)!important}.monaco-editor .view-line,.monaco-editor .view-line span,.monaco-editor .view-line span.inline-selected-text{font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0;font-kerning:none;white-space:pre;font-family:var(--monaco-monospace-font,var(--monaco-editor-font-family,"Source Code Pro", Consolas, "Courier New", monospace))!important;font-size:var(--monaco-editor-font-size,14px)!important;font-weight:400!important}.monaco-editor .standalone-colorpicker-body{max-width:460px!important}.monaco-editor .standalone-colorpicker-body .colorpicker-body .saturation-wrap{flex:0 auto;max-width:280px}.blocks-app .colorpicker-body .saturation-box,.blocks-app .colorpicker-body .strip{border-radius:4px}.blocks-app .scrollbar.vertical{width:5px!important}.blocks-app .scrollbar.vertical .slider{border-radius:5px!important;width:5px!important}.blocks-app .user-cursor{z-index:10;border-left:2px solid #ff00e1;width:2px;height:20px;position:absolute}.blocks-app .cursor-hover{color:#fff;text-wrap-mode:nowrap;z-index:10000;border-radius:7px 7px 7px 0;margin-left:-2px;padding:0 5px;font-size:12px;position:absolute;top:-17px}.blocks-app .user-selection-decoration{background-color:#8080eb4d}.monaco-editor__spin{z-index:1000;align-items:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();__emailmaker__.define(`static/core/
|
|
1
|
+
(function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.setAttribute(`data-emailmaker`,`true`),e.appendChild(document.createTextNode(`.monaco-editor{width:100%;height:100%}.monaco-editor .monaco-hover{border-radius:6px}.monaco-editor .monaco-editor .scroll-decoration{box-shadow:none}.monaco-editor,.monaco-editor *,.monaco-editor .view-lines,.monaco-editor .view-lines *,.monaco-editor .view-lines .view-line,.monaco-editor .view-lines .monaco-mouse-cursor-text,.monaco-editor .view-line,.monaco-editor .monaco-mouse-cursor-text{font-family:var(--monaco-editor-font-family,"Source Code Pro", Consolas, "Courier New", monospace)!important}.monaco-editor .view-line,.monaco-editor .view-line span,.monaco-editor .view-line span.inline-selected-text{font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0;font-kerning:none;white-space:pre;font-family:var(--monaco-monospace-font,var(--monaco-editor-font-family,"Source Code Pro", Consolas, "Courier New", monospace))!important;font-size:var(--monaco-editor-font-size,14px)!important;font-weight:400!important}.monaco-editor .standalone-colorpicker-body{max-width:460px!important}.monaco-editor .standalone-colorpicker-body .colorpicker-body .saturation-wrap{flex:0 auto;max-width:280px}.blocks-app .colorpicker-body .saturation-box,.blocks-app .colorpicker-body .strip{border-radius:4px}.blocks-app .scrollbar.vertical{width:5px!important}.blocks-app .scrollbar.vertical .slider{border-radius:5px!important;width:5px!important}.blocks-app .user-cursor{z-index:10;border-left:2px solid #ff00e1;width:2px;height:20px;position:absolute}.blocks-app .cursor-hover{color:#fff;text-wrap-mode:nowrap;z-index:10000;border-radius:7px 7px 7px 0;margin-left:-2px;padding:0 5px;font-size:12px;position:absolute;top:-17px}.blocks-app .user-selection-decoration{background-color:#8080eb4d}.monaco-editor__spin{z-index:1000;align-items:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();__emailmaker__.define(`static/core/9b14558c.js`,[`require`,`exports`,`module`,`static/core/354bf8a9.js`,`static/core/68599f0c.js`,`static/core/8e3ba0c5.js`,`static/core/879e09e7.js`,`static/core/59bd13fd.js`,`static/core/e4e7c3852.js`,`static/core/c7357e24.js`,`static/core/713868e1.js`,`react`,`react/jsx-runtime`],function(e,t,n){let r=e("./354bf8a9.js"),i=e("./879e09e7.js"),a=e("./68599f0c.js"),o=e("./713868e1.js");e("./c7357e24.js");let s=e("./e4e7c3852.js"),c=e("./59bd13fd.js"),l=e("./8e3ba0c5.js"),u=e("react"),d=r.l(u,1);u=r.l(u);let f=e("react/jsx-runtime");function p(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function m(e){if(Array.isArray(e))return e}function ee(e,t,n){return(t=x(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function te(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
2
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?g(Object(n),!0).forEach(function(t){ee(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function v(e,t){if(e==null)return{};var n,r,i=ne(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function ne(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function y(e,t){return m(e)||h(e,t)||re(e,t)||te()}function b(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function x(e){var t=b(e,`string`);return typeof t==`symbol`?t:t+``}function re(e,t){if(e){if(typeof e==`string`)return p(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,t):void 0}}function S(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function w(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?C(Object(n),!0).forEach(function(t){S(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):C(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function T(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}}function E(e){return function t(){for(var n=this,r=arguments.length,i=Array(r),a=0;a<r;a++)i[a]=arguments[a];return i.length>=e.length?e.apply(this,i):function(){for(var e=arguments.length,r=Array(e),a=0;a<e;a++)r[a]=arguments[a];return t.apply(n,[].concat(i,r))}}}function D(e){return{}.toString.call(e).includes(`Object`)}function ie(e){return!Object.keys(e).length}function O(e){return typeof e==`function`}function ae(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function oe(e,t){return D(t)||de(`changeType`),Object.keys(t).some(function(t){return!ae(e,t)})&&de(`changeField`),t}function se(e){O(e)||de(`selectorType`)}function ce(e){O(e)||D(e)||de(`handlerType`),D(e)&&Object.values(e).some(function(e){return!O(e)})&&de(`handlersType`)}function le(e){e||de(`initialIsRequired`),D(e)||de(`initialType`),ie(e)&&de(`initialContent`)}function ue(e,t){throw Error(e[t]||e.default)}var de=E(ue)({initialIsRequired:`initial state is required`,initialType:`initial state should be an object`,initialContent:`initial state shouldn't be an empty object`,handlerType:`handler should be an object or a function`,handlersType:`all handlers should be a functions`,selectorType:`selector should be a function`,changeType:`provided value of changes should be an object`,changeField:`it seams you want to change a field in the state which is not specified in the "initial" state`,default:"an unknown error accured in `state-local` package"}),fe={changes:oe,selector:se,handler:ce,initial:le};function pe(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};fe.initial(e),fe.handler(t);var n={current:e},r=E(ge)(n,t),i=E(he)(n),a=E(fe.changes)(e),o=E(me)(n);function s(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(e){return e};return fe.selector(e),e(n.current)}function c(e){T(r,i,a,o)(e)}return[s,c]}function me(e,t){return O(t)?t(e.current):t}function he(e,t){return e.current=w(w({},e.current),t),t}function ge(e,t,n){return O(t)?t(e.current):Object.keys(n).forEach(function(n){return t[n]?.call(t,e.current[n])}),n}var _e={create:pe},ve={paths:{vs:`https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs`}};function ye(e){return function t(){for(var n=this,r=arguments.length,i=Array(r),a=0;a<r;a++)i[a]=arguments[a];return i.length>=e.length?e.apply(this,i):function(){for(var e=arguments.length,r=Array(e),a=0;a<e;a++)r[a]=arguments[a];return t.apply(n,[].concat(i,r))}}}function be(e){return{}.toString.call(e).includes(`Object`)}function xe(e){return e||Ce(`configIsRequired`),be(e)||Ce(`configType`),e.urls?{paths:{vs:e.urls.monacoBase}}:e}function Se(e,t){throw Error(e[t]||e.default)}var Ce=ye(Se)({configIsRequired:`the configuration object is required`,configType:`the configuration object should be an object`,default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
|
|
3
3
|
You are using deprecated way of configuration.
|
|
4
4
|
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
__emailmaker__.define(`static/core/
|
|
1
|
+
__emailmaker__.define(`static/core/e961bd52.js`,[`require`,`exports`,`module`,`static/core/354bf8a9.js`,`static/core/879e09e7.js`],function(e,t,n){let r=e("./354bf8a9.js"),i=e("./879e09e7.js");function a(e){return function(t){return{setOptions:()=>{},instance:{},dispose:()=>{},...e(t)||{}}}}function o(e){return t=>{let n={},r=[];for(let n of e)r.push(n(t));for(let e of r)Object.assign(n,e.instance);return{instance:n,setOptions:async e=>{for(let t of r)await t.setOptions(e)},dispose:()=>{for(let e of r)e.dispose()}}}}function s(){let e=new Date;return e.valueOf()-e.getTimezoneOffset()*60*1e3}function c(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(e.length+(4-e.length%4)%4,`=`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return new TextDecoder().decode(r)}function l(e){let[t,n,r]=e.split(`.`),i=JSON.parse(c(n));return{exp:i.exp,createdAt:i.iat,data:i}}var u=i.no();function d(e,t,n,r){e.inject(u,void 0),e.injectFactory(u,async(a,o)=>{try{let a=o?await o:void 0;if(!a){let t=e.getInstance(i.Aa);t&&(a=await t)}return t?!a||(l(a)?.exp??0)*1e3<=s()?await t(n,r,a):a:``}catch{return``}},!0)}var f=a(e=>{let t,n,r;return e.addService(i.oa,{execute:async n=>{if(t){let t=await e.getInstanceAsync(u);t&&n.headers.append(`authorization`,`Bearer ${t}`)}}}),{setOptions(a){let o=!i.ia(n,a.user),s=r!==a.project;(t!==a.getAuthToken||o||s)&&(t=a.getAuthToken,n=a.user,r=a.project,d(e,t,a.user,a.project))}}});function p(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var m={read:function(e){return e[0]===`"`&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function h(e,t){function n(n,r,i){if(!(typeof document>`u`)){i=p({},t,i),typeof i.expires==`number`&&(i.expires=new Date(Date.now()+i.expires*864e5)),i.expires&&=i.expires.toUTCString(),n=encodeURIComponent(n).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var a=``;for(var o in i)i[o]&&(a+=`; `+o,i[o]!==!0&&(a+=`=`+i[o].split(`;`)[0]));return document.cookie=n+`=`+e.write(r,n)+a}}function r(t){if(!(typeof document>`u`||arguments.length&&!t)){for(var n=document.cookie?document.cookie.split(`; `):[],r={},i=0;i<n.length;i++){var a=n[i].split(`=`),o=a.slice(1).join(`=`);try{var s=decodeURIComponent(a[0]);if(r[s]=e.read(o,s),t===s)break}catch{}}return t?r[t]:r}}return Object.create({set:n,get:r,remove:function(e,t){n(e,``,p({},t,{expires:-1}))},withAttributes:function(e){return h(this.converter,p({},this.attributes,e))},withConverter:function(e){return h(p({},this.converter,e),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var g=h(m,{path:`/`}),_=r.a(((e,t)=>{(function(n){"use strict";var r=n.setTimeout,i=n.clearTimeout,a=n.XMLHttpRequest,o=n.XDomainRequest,s=n.ActiveXObject,c=n.EventSource,l=n.document,u=n.Promise,d=n.fetch,f=n.Response,p=n.TextDecoder,m=n.TextEncoder,h=n.AbortController;if(typeof window<`u`&&l!==void 0&&!(`readyState`in l)&&l.body==null&&(l.readyState=`loading`,window.addEventListener(`load`,function(e){l.readyState=`complete`},!1)),a==null&&s!=null&&(a=function(){return new s(`Microsoft.XMLHTTP`)}),Object.create??(Object.create=function(e){function t(){}return t.prototype=e,new t}),Date.now||(Date.now=function(){return new Date().getTime()}),h==null){var g=d;d=function(e,t){var n=t.signal;return g(e,{headers:t.headers,credentials:t.credentials,cache:t.cache}).then(function(e){var t=e.body.getReader();return n._reader=t,n._aborted&&n._reader.cancel(),{status:e.status,statusText:e.statusText,headers:e.headers,body:{getReader:function(){return t}}}})},h=function(){this.signal={_reader:null,_aborted:!1},this.abort=function(){this.signal._reader!=null&&this.signal._reader.cancel(),this.signal._aborted=!0}}}function _(){this.bitsNeeded=0,this.codePoint=0}_.prototype.decode=function(e){function t(e,t,n){if(n===1)return e>=128>>t&&e<<t<=2047;if(n===2)return e>=2048>>t&&e<<t<=55295||e>=57344>>t&&e<<t<=65535;if(n===3)return e>=65536>>t&&e<<t<=1114111;throw Error()}function n(e,t){if(e===6)return t>>6>15?3:t>31?2:1;if(e===12)return t>15?3:2;if(e===18)return 3;throw Error()}for(var r=65533,i=``,a=this.bitsNeeded,o=this.codePoint,s=0;s<e.length;s+=1){var c=e[s];a!==0&&(c<128||c>191||!t(o<<6|c&63,a-6,n(a,o)))&&(a=0,o=r,i+=String.fromCharCode(o)),a===0?(c>=0&&c<=127?(a=0,o=c):c>=192&&c<=223?(a=6,o=c&31):c>=224&&c<=239?(a=12,o=c&15):c>=240&&c<=247?(a=18,o=c&7):(a=0,o=r),a!==0&&!t(o,a,n(a,o))&&(a=0,o=r)):(a-=6,o=o<<6|c&63),a===0&&(o<=65535?i+=String.fromCharCode(o):(i+=String.fromCharCode(55296+(o-65535-1>>10)),i+=String.fromCharCode(56320+(o-65535-1&1023))))}return this.bitsNeeded=a,this.codePoint=o,i},(p==null||m==null||!function(){try{return new p().decode(new m().encode(`test`),{stream:!0})===`test`}catch{}return!1}())&&(p=_);var v=function(){};function y(e){this.withCredentials=!1,this.readyState=0,this.status=0,this.statusText=``,this.responseText=``,this.onprogress=v,this.onload=v,this.onerror=v,this.onreadystatechange=v,this._contentType=``,this._xhr=e,this._sendTimeout=0,this._abort=v}y.prototype.open=function(e,t){this._abort(!0);var n=this,o=this._xhr,s=1,c=0;this._abort=function(e){n._sendTimeout!==0&&(i(n._sendTimeout),n._sendTimeout=0),(s===1||s===2||s===3)&&(s=4,o.onload=v,o.onerror=v,o.onabort=v,o.onprogress=v,o.onreadystatechange=v,o.abort(),c!==0&&(i(c),c=0),e||(n.readyState=4,n.onabort(null),n.onreadystatechange())),s=0};var l=function(){if(s===1){var e=0,t=``,r=void 0;if(`contentType`in o)e=200,t=`OK`,r=o.contentType;else try{e=o.status,t=o.statusText,r=o.getResponseHeader(`Content-Type`)}catch{e=0,t=``,r=void 0}e!==0&&(s=2,n.readyState=2,n.status=e,n.statusText=t,n._contentType=r,n.onreadystatechange())}},u=function(){if(l(),s===2||s===3){s=3;var e=``;try{e=o.responseText}catch{}n.readyState=3,n.responseText=e,n.onprogress()}},d=function(e,t){if((t==null||t.preventDefault==null)&&(t={preventDefault:v}),u(),s===1||s===2||s===3){if(s=4,c!==0&&(i(c),c=0),n.readyState=4,e===`load`)n.onload(t);else if(e===`error`)n.onerror(t);else if(e===`abort`)n.onabort(t);else throw TypeError();n.onreadystatechange()}},f=function(e){o!=null&&(o.readyState===4?(!(`onload`in o)||!(`onerror`in o)||!(`onabort`in o))&&d(o.responseText===``?`error`:`load`,e):o.readyState===3?`onprogress`in o||u():o.readyState===2&&l())},p=function(){c=r(function(){p()},500),o.readyState===3&&u()};`onload`in o&&(o.onload=function(e){d(`load`,e)}),`onerror`in o&&(o.onerror=function(e){d(`error`,e)}),`onabort`in o&&(o.onabort=function(e){d(`abort`,e)}),`onprogress`in o&&(o.onprogress=u),`onreadystatechange`in o&&(o.onreadystatechange=function(e){f(e)}),(`contentType`in o||!(`ontimeout`in a.prototype))&&(t+=(t.indexOf(`?`)===-1?`?`:`&`)+`padding=true`),o.open(e,t,!0),`readyState`in o&&(c=r(function(){p()},0))},y.prototype.abort=function(){this._abort(!1)},y.prototype.getResponseHeader=function(e){return this._contentType},y.prototype.setRequestHeader=function(e,t){var n=this._xhr;`setRequestHeader`in n&&n.setRequestHeader(e,t)},y.prototype.getAllResponseHeaders=function(){return this._xhr.getAllResponseHeaders==null?``:this._xhr.getAllResponseHeaders()||``},y.prototype.send=function(){if((!(`ontimeout`in a.prototype)||!(`sendAsBinary`in a.prototype)&&!(`mozAnon`in a.prototype))&&l!=null&&l.readyState!=null&&l.readyState!==`complete`){var e=this;e._sendTimeout=r(function(){e._sendTimeout=0,e.send()},4);return}var t=this._xhr;`withCredentials`in t&&(t.withCredentials=this.withCredentials);try{t.send(void 0)}catch(e){throw e}};function b(e){return e.replace(/[A-Z]/g,function(e){return String.fromCharCode(e.charCodeAt(0)+32)})}function x(e){for(var t=Object.create(null),n=e.split(`\r
|
|
2
2
|
`),r=0;r<n.length;r+=1){var i=n[r].split(`: `),a=i.shift(),o=i.join(`: `);t[b(a)]=o}this._map=t}x.prototype.get=function(e){return this._map[b(e)]},a!=null&&a.HEADERS_RECEIVED==null&&(a.HEADERS_RECEIVED=2);function S(){}S.prototype.open=function(e,t,n,r,i,o,s){e.open(`GET`,i);var c=0;for(var l in e.onprogress=function(){var t=e.responseText.slice(c);c+=t.length,n(t)},e.onerror=function(e){e.preventDefault(),r(Error(`NetworkError`))},e.onload=function(){r(null)},e.onabort=function(){r(null)},e.onreadystatechange=function(){if(e.readyState===a.HEADERS_RECEIVED){var n=e.status,r=e.statusText;t(n,r,e.getResponseHeader(`Content-Type`),new x(e.getAllResponseHeaders()))}},e.withCredentials=o,s)Object.prototype.hasOwnProperty.call(s,l)&&e.setRequestHeader(l,s[l]);return e.send(),e};function C(e){this._headers=e}C.prototype.get=function(e){return this._headers.get(e)};function w(){}w.prototype.open=function(e,t,n,r,i,a,o){var s=null,c=new h,l=c.signal,f=new p;return d(i,{headers:o,credentials:a?`include`:`same-origin`,signal:l,cache:`no-store`}).then(function(e){return s=e.body.getReader(),t(e.status,e.statusText,e.headers.get(`Content-Type`),new C(e.headers)),new u(function(e,t){var r=function(){s.read().then(function(t){t.done?e(void 0):(n(f.decode(t.value,{stream:!0})),r())}).catch(function(e){t(e)})};r()})}).catch(function(e){if(e.name!==`AbortError`)return e}).then(function(e){r(e)}),{abort:function(){s?.cancel(),c.abort()}}};function T(){this._listeners=Object.create(null)}function E(e){r(function(){throw e},0)}T.prototype.dispatchEvent=function(e){e.target=this;var t=this._listeners[e.type];if(t!=null)for(var n=t.length,r=0;r<n;r+=1){var i=t[r];try{typeof i.handleEvent==`function`?i.handleEvent(e):i.call(this,e)}catch(e){E(e)}}},T.prototype.addEventListener=function(e,t){e=String(e);var n=this._listeners,r=n[e];r??(r=[],n[e]=r);for(var i=!1,a=0;a<r.length;a+=1)r[a]===t&&(i=!0);i||r.push(t)},T.prototype.removeEventListener=function(e,t){e=String(e);var n=this._listeners,r=n[e];if(r!=null){for(var i=[],a=0;a<r.length;a+=1)r[a]!==t&&i.push(r[a]);i.length===0?delete n[e]:n[e]=i}};function D(e){this.type=e,this.target=void 0}function O(e,t){D.call(this,e),this.data=t.data,this.lastEventId=t.lastEventId}O.prototype=Object.create(D.prototype);function k(e,t){D.call(this,e),this.status=t.status,this.statusText=t.statusText,this.headers=t.headers}k.prototype=Object.create(D.prototype);function A(e,t){D.call(this,e),this.error=t.error}A.prototype=Object.create(D.prototype);var j=-1,M=0,N=1,P=2,F=-1,I=0,L=1,R=2,z=3,B=/^text\/event\-stream(;.*)?$/i,V=1e3,H=18e6,U=function(e,t){var n=e==null?t:parseInt(e,10);return n!==n&&(n=t),W(n)},W=function(e){return Math.min(Math.max(e,V),H)},G=function(e,t,n){try{typeof t==`function`&&t.call(e,n)}catch(e){E(e)}};function K(e,t){T.call(this),t||={},this.onopen=void 0,this.onmessage=void 0,this.onerror=void 0,this.url=void 0,this.readyState=void 0,this.withCredentials=void 0,this.headers=void 0,this._close=void 0,J(this,e,t)}function ee(){return a!=null&&`withCredentials`in a.prototype||o==null?new a:new o}var q=d!=null&&f!=null&&`body`in f.prototype;function J(e,t,n){t=String(t);var a=!!n.withCredentials,o=n.lastEventIdQueryParameterName||`lastEventId`,s=W(1e3),c=U(n.heartbeatTimeout,45e3),l=``,u=s,d=!1,f=0,p=n.headers||{},m=n.Transport,h=q&&m==null?void 0:new y(m==null?ee():new m),g=m!=null&&typeof m!=`string`?new m:h==null?new w:new S,_=void 0,v=0,b=j,x=``,C=``,T=``,E=``,D=I,V=0,H=0,K=function(t,n,r,i){if(b===M)if(t===200&&r!=null&&B.test(r)){b=N,d=Date.now(),u=s,e.readyState=N;var a=new k(`open`,{status:t,statusText:n,headers:i});e.dispatchEvent(a),G(e,e.onopen,a)}else{t===200?``+(r==null?`-`:r.replace(/\s+/g,` `)):(n&&=n.replace(/\s+/g,` `),``+t+n),X();var a=new k(`error`,{status:t,statusText:n,headers:i});e.dispatchEvent(a),G(e,e.onerror,a)}},J=function(t){if(b===N){for(var n=-1,a=0;a<t.length;a+=1){var o=t.charCodeAt(a);(o===10||o===13)&&(n=a)}var p=(n===-1?``:E)+t.slice(0,n+1);E=(n===-1?E:``)+t.slice(n+1),t!==``&&(d=Date.now(),f+=t.length);for(var m=0;m<p.length;m+=1){var o=p.charCodeAt(m);if(D===F&&o===10)D=I;else if(D===F&&(D=I),o===13||o===10){if(D!==I){D===L&&(H=m+1);var h=p.slice(V,H-1),g=p.slice(H+ +(H<m&&p.charCodeAt(H)===32),m);h===`data`?(x+=`
|
|
3
3
|
`,x+=g):h===`id`?C=g:h===`event`?T=g:h===`retry`?(s=U(g,s),u=s):h===`heartbeatTimeout`&&(c=U(g,c),v!==0&&(i(v),v=r(function(){Z()},c)))}if(D===I){if(x!==``){l=C,T===``&&(T=`message`);var _=new O(T,{data:x.slice(1),lastEventId:C});if(e.dispatchEvent(_),T===`open`?G(e,e.onopen,_):T===`message`?G(e,e.onmessage,_):T===`error`&&G(e,e.onerror,_),b===P)return}x=``,T=``}D=o===13?F:I}else D===I&&(V=m,D=L),D===L?o===58&&(H=m+1,D=R):D===R&&(D=z)}}},Y=function(t){if(b===N||b===M){b=j,v!==0&&(i(v),v=0),v=r(function(){Z()},u),u=W(Math.min(s*16,u*2)),e.readyState=M;var n=new A(`error`,{error:t});e.dispatchEvent(n),G(e,e.onerror,n)}},X=function(){b=P,_!=null&&(_.abort(),_=void 0),v!==0&&(i(v),v=0),e.readyState=P},Z=function(){if(v=0,b!==j){if(!d&&_!=null)Y(Error(`No activity within `+c+` milliseconds. `+(b===M?`No response received.`:f+` chars received.`)+` Reconnecting.`)),_!=null&&(_.abort(),_=void 0);else{var n=Math.max((d||Date.now())+c-Date.now(),1);d=!1,v=r(function(){Z()},n)}return}d=!1,f=0,v=r(function(){Z()},c),b=M,x=``,T=``,C=l,E=``,V=0,H=0,D=I;var i=t;if(t.slice(0,5)!==`data:`&&t.slice(0,5)!==`blob:`&&l!==``){var a=t.indexOf(`?`);i=a===-1?t:t.slice(0,a+1)+t.slice(a+1).replace(/(?:^|&)([^=&]*)(?:=[^&]*)?/g,function(e,t){return t===o?``:e}),i+=(t.indexOf(`?`)===-1?`?`:`&`)+o+`=`+encodeURIComponent(l)}var s=e.withCredentials,u={};u.Accept=`text/event-stream`;var p=e.headers;if(p!=null)for(var m in p)Object.prototype.hasOwnProperty.call(p,m)&&(u[m]=p[m]);try{_=g.open(h,K,J,Y,i,s,u)}catch(e){throw X(),e}};e.url=t,e.readyState=M,e.withCredentials=a,e.headers=p,e._close=X,Z()}K.prototype=Object.create(T.prototype),K.prototype.CONNECTING=M,K.prototype.OPEN=N,K.prototype.CLOSED=P,K.prototype.close=function(){this._close()},K.CONNECTING=M,K.OPEN=N,K.CLOSED=P,K.prototype.withCredentials=void 0;var Y=c;a!=null&&(c==null||!(`withCredentials`in c.prototype))&&(Y=K),(function(r){if(typeof t==`object`&&typeof t.exports==`object`){var i=r(e);i!==void 0&&(t.exports=i)}else typeof define==`function`&&define.amd?define([`exports`],r):r(n)})(function(e){e.EventSourcePolyfill=K,e.NativeEventSource=c,e.EventSource=Y})})(typeof globalThis>`u`?typeof window<`u`?window:typeof self<`u`?self:e:globalThis)})),v=_();function y({candidates:e,headers:t,createEventSource:n,onMessage:r,onError:i}){let a=e.filter(Boolean),o=!1,s=null,c=()=>{s?.close(),s=null},l=e=>{if(o)return;let u=a[e];if(!u){i?.(Error(`Failed to connect to EventSource through proxy chain`));return}c();let d=n(u,{headers:t});s=d,d.onmessage=e=>{o||s!==d||r(e)},d.onerror=t=>{if(!(o||s!==d)){if(c(),e+1<a.length){l(e+1);return}i?.(t)}}};return l(0),{close(){o=!0,c()}}}var b=`https://api.unsplash.com`,x=`https://api.giphy.com/v1/gifs`;function S(e){return{error:e instanceof Error?e:Error(String(e))}}async function C(e){if(!e.ok)throw Error(`Request failed with status ${e.status}`);let t=await e.text();try{return t?JSON.parse(t):null}catch(e){throw e}}function w(e){return e&&Array.isArray(e.results)?e:e?.data&&Array.isArray(e.data.results)?e.data:e?.response&&Array.isArray(e.response.results)?e.response:{...e||{},results:[]}}var T=i.zr({reducerPath:`imageApi`,baseQuery:void 0,endpoints:e=>({getImageInfo:e.query({queryFn:async function(e,t){try{let n=t.getState().configSlice?.config?.imageInfoToolUrl||`https://scr.emcdn.ru/imageinfo`;return{data:await C(await fetch(`${n}?url=${encodeURIComponent(e)}`))}}catch(e){return S(e)}}}),getSearchImage:e.query({queryFn:async function({query:e,page:t},n){let r=e.keywords.replace(/[^\w\d\sа-яёА-ЯЁ]|_/g,``).replace(/[\s_-]+/g,` `);try{let a=n.getState().configSlice?.config,o=i.Fr.getInstance(n,i.ka)!==void 0,s=new URL(`${b}/search/photos`);return s.searchParams.set(`client_id`,`S5iNcLqYgRBIOLQdluHdTsCJnjCvahzhG7JfYQOrV7o`),s.searchParams.set(`lang`,`ru`),s.searchParams.set(`per_page`,`18`),s.searchParams.set(`query`,r),s.searchParams.set(`page`,String(t)),e.color!==``&&s.searchParams.set(`color`,e.color),e.orientation!==``&&s.searchParams.set(`orientation`,e.orientation),{data:w(await C(await i.fa(s.toString(),{config:a,standalone:o,resourceType:`stockImages`,intent:`metadata`})))}}catch(e){return S(e)}}}),getUnsplashImage:e.query({queryFn:async function(e,t){try{let n=t.getState().configSlice?.config,r=i.Fr.getInstance(t,i.ka)!==void 0,a=new URL(e);return a.searchParams.set(`client_id`,`S5iNcLqYgRBIOLQdluHdTsCJnjCvahzhG7JfYQOrV7o`),{data:await C(await i.fa(a.toString(),{config:n,standalone:r,resourceType:`stockImages`,intent:`metadata`}))}}catch(e){return S(e)}}}),sendAiImageRequest:e.query({queryFn:async function({body:e},t){try{return await i.Mr(t).aiGenerator.ai_create(e)}catch(e){throw Error(e)}}}),getAiImage:e.query({queryFn:async function(e,t){try{return await i.Mr(t).aiGenerator.ai_status_list(e)}catch(e){return S(e)}}}),getAiImageSSE:e.query({queryFn:e=>({data:[]}),async onCacheEntryAdded({task_id:e,entity_id:t,setError:n},r){let{updateCachedData:a,cacheEntryRemoved:o}=r,s=i.Mr(r).baseUrl||i.la(`https://app.emailmaker.ru/api/`),c=r.getState().configSlice?.config,l=i.Fr.getInstance(r,i.ka)!==void 0,d=i.Ii.isPlugin?await i.Fr.getInstance(r,u):g.get(i.Qr.em_token),f=d?{Authorization:`Bearer ${d}`}:{},p=`${s}/ai-generator/v1/ai-status?entity_id=${t}&stream=1&task_id=${e}`,m=i.ha(p,{config:c,method:`GET`,requestType:`ai`,standalone:l}),h=y({candidates:m.length>0?m:[p],headers:f,createEventSource:(e,t)=>new v.EventSourcePolyfill(e,t),onMessage:e=>{let t=JSON.parse(e.data);a(e=>{e.push(t)}),t.progress===100&&h.close()},onError:()=>{h.close()}});await o,h.close()}}),getSearchGif:e.query({queryFn:async function({query:e,page:t},n){let r=e.keywords.replace(/[^\w\d\sа-яёА-ЯЁ]|_/g,``).replace(/[\s_-]+/g,` `);try{let e=n.getState().configSlice?.config,a=i.Fr.getInstance(n,i.ka)!==void 0;return{data:await C(await i.fa(`${x}/search?api_key=Nh77eBlPeMn1ed9MBAvL542NUGeNO26F&q=${encodeURIComponent(r)}&limit=25&offset=${t}&lang=en`,{config:e,standalone:a,resourceType:`generic`,intent:`metadata`}))}}catch(e){return S(e)}}})})}),{useLazyGetImageInfoQuery:E,useGetImageInfoQuery:D,useGetSearchImageQuery:O,useLazyGetSearchImageQuery:k,useSendAiImageRequestQuery:A,useLazySendAiImageRequestQuery:j,useGetAiImageQuery:M,useLazyGetAiImageQuery:N,useGetUnsplashImageQuery:P,useLazyGetUnsplashImageQuery:F,useGetSearchGifQuery:I,useLazyGetSearchGifQuery:L,useGetAiImageSSEQuery:R,useLazyGetAiImageSSEQuery:z}=T,B=`https://app.emailmaker.ru/api/`.replaceAll(/[\\/]$/g,``),V=`wp-json/limits/v1`,H=`wp-json/subscription/v2`,U=i.zr({reducerPath:`limitsApi`,baseQuery:i.Ar({baseUrl:B}),tagTypes:[`LimitsStats`,`LimitsWarnings`,`SubscriptionMe`],endpoints:e=>({getLimitsStats:e.query({query:()=>({url:`${V}/stats`,method:`GET`}),providesTags:[`LimitsStats`]}),getLimitsStatsByType:e.query({query:e=>({url:`${V}/stats/${e}`,method:`GET`}),providesTags:(e,t,n)=>[{type:`LimitsStats`,id:n}]}),getLimitsWarnings:e.query({query:()=>({url:`${V}/warnings`,method:`GET`}),providesTags:[`LimitsWarnings`]}),getSubscriptionMeV2:e.query({query:()=>({url:`${H}/me`,method:`GET`}),providesTags:[`SubscriptionMe`]})})}),{useGetLimitsStatsQuery:W,useLazyGetLimitsStatsQuery:G,useGetLimitsStatsByTypeQuery:K,useLazyGetLimitsStatsByTypeQuery:ee,useGetLimitsWarningsQuery:q,useLazyGetLimitsWarningsQuery:J,useGetSubscriptionMeV2Query:Y,useLazyGetSubscriptionMeV2Query:X}=U,Z=new URLSearchParams(window.location.search),Q=Z.get(`tag`),te=Z.get(`folder`),ne=i.Cr({activeModal:``,switchToPlanRequestTitle:``,secondModal:``,projectsTotal:``,projectsTotalPages:``,folders:[],activeTagId:Q||null,activeFolderId:te||(Q?null:`all`),activeTab:null,activeIntegration:null,addNewProjectInitialTitle:null}),$=`projectsPageSlice`,re=i.qr({name:$,initialState:ne,reducers:{openModal(e,t){e.activeModal=t.payload},openAddNewProjectModal(e,t){e.activeModal=i.ji.ADD_NEW_PROJECT_MODAL,e.addNewProjectInitialTitle=t.payload??null},setSwitchToPlanRequestTitle(e,t){e.switchToPlanRequestTitle=typeof t.payload==`string`?t.payload:``},setActiveTab(e,t){e.activeTab=t.payload},closeModal(e){e.activeModal=``,e.activeIntegration=null,e.addNewProjectInitialTitle=null,e.switchToPlanRequestTitle=``},openSecondModal(e,t){e.secondModal=t.payload},closeSecondModal(e){e.secondModal=``},setFolders(e,{payload:t}){e.folders=t},setActiveTagId(e,{payload:t}){e.activeTagId=t},setActiveIntegration(e,t){e.activeIntegration=t.payload}},extraReducers:e=>{e.addMatcher(i.zt.endpoints.getProjects.matchFulfilled,(e,t)=>{let n=t.meta,r=n.baseQueryMeta,i=n.projectsListPagination??r?.projectsListPagination;if(i!=null&&typeof i.total==`number`&&Number.isFinite(i.total)&&i.total>=0){e.projectsTotal=String(i.total),e.projectsTotalPages=String(typeof i.totalPages==`number`&&Number.isFinite(i.totalPages)?i.totalPages:``);return}let a=r?.response?.headers?.get?.(`X-WP-Total`),o=r?.response?.headers?.get?.(`X-WP-TotalPages`);e.projectsTotal=a??``,e.projectsTotalPages=o??``}),e.addMatcher(i.Et.endpoints.getFolders.matchFulfilled,(e,{payload:t})=>{e.folders=t})}}),{openModal:ie,openAddNewProjectModal:ae,setSwitchToPlanRequestTitle:oe,setActiveTab:se,closeModal:ce,openSecondModal:le,closeSecondModal:ue,setFolders:de,setActiveTagId:fe,setActiveIntegration:pe}=re.actions,me=e=>e[$].activeTab,he=e=>e[$].activeModal,ge=e=>e[$].secondModal,_e=e=>e[$].projectsTotal,ve=e=>e[$].activeIntegration;Object.defineProperty(t,"A",{enumerable:!0,get:function(){return a}}),Object.defineProperty(t,"C",{enumerable:!0,get:function(){return j}}),Object.defineProperty(t,"D",{enumerable:!0,get:function(){return u}}),Object.defineProperty(t,"E",{enumerable:!0,get:function(){return f}}),Object.defineProperty(t,"O",{enumerable:!0,get:function(){return l}}),Object.defineProperty(t,"S",{enumerable:!0,get:function(){return F}}),Object.defineProperty(t,"T",{enumerable:!0,get:function(){return g}}),Object.defineProperty(t,"_",{enumerable:!0,get:function(){return T}}),Object.defineProperty(t,"a",{enumerable:!0,get:function(){return re}}),Object.defineProperty(t,"b",{enumerable:!0,get:function(){return L}}),Object.defineProperty(t,"c",{enumerable:!0,get:function(){return me}}),Object.defineProperty(t,"d",{enumerable:!0,get:function(){return se}}),Object.defineProperty(t,"f",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(t,"g",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(t,"h",{enumerable:!0,get:function(){return q}}),Object.defineProperty(t,"i",{enumerable:!0,get:function(){return le}}),Object.defineProperty(t,"k",{enumerable:!0,get:function(){return o}}),Object.defineProperty(t,"l",{enumerable:!0,get:function(){return _e}}),Object.defineProperty(t,"m",{enumerable:!0,get:function(){return W}}),Object.defineProperty(t,"n",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(t,"o",{enumerable:!0,get:function(){return ve}}),Object.defineProperty(t,"p",{enumerable:!0,get:function(){return U}}),Object.defineProperty(t,"r",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(t,"s",{enumerable:!0,get:function(){return he}}),Object.defineProperty(t,"t",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(t,"u",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(t,"v",{enumerable:!0,get:function(){return z}}),Object.defineProperty(t,"w",{enumerable:!0,get:function(){return _}}),Object.defineProperty(t,"x",{enumerable:!0,get:function(){return k}}),Object.defineProperty(t,"y",{enumerable:!0,get:function(){return E}})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
__emailmaker__.define(`static/core/ae2bef91.js`,[`require`,`exports`,`module`,`static/core/1f9fcb39.js`,`static/core/97e1264b.js`],function(e,t,n){let r=e("./1f9fcb39.js"),i=e("./97e1264b.js");var a;(function(e){function t(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1;return!0}e.isEqual=t;function n(e,t=e=>e){let n=new Set;return e.filter(e=>{let r=t(e);return n.has(r)?!1:(n.add(r),!0)})}e.unique=n;function r(e=[],t=[],n=(e,t)=>e===t){let r=[],i=[],a=[];for(let r of e){let e=t.find(e=>n(r,e));e?a.push({prev:r,next:e}):i.push(r)}for(let i of t)e.find(e=>n(i,e))||r.push(i);return{added:r,removed:i,exists:a}}e.diff=r})(a||={});var o=``,s=`Trash`,c=`Trash`,l=class{_inner;rootPath;trashId;trashPath;ensureFolderTrailingSlash;i18n;_pathToId=new Map;_idToPath=new Map;getUrl;getThumbnailUrl;validateDuplicates;constructor(e,t=o,n=c,r=s,a=!0,l=i.m){this._inner=e,this.rootPath=t,this.trashId=n,this.trashPath=r,this.ensureFolderTrailingSlash=a,this.i18n=l,this.validateDuplicates=this._inner.validateDuplicates,typeof e.getUrl==`function`&&(this.getUrl=t=>e.getUrl({...t,id:this.pathForId(t.id,!1),folderId:t.folderId?this.pathForId(t.folderId,!0):this.rootPath})),typeof e.getThumbnailUrl==`function`&&(this.getThumbnailUrl=t=>e.getThumbnailUrl({...t,id:this.pathForId(t.id,!1),folderId:t.folderId?this.pathForId(t.folderId,!0):this.rootPath})),typeof this._inner.deleteItems!=`function`&&(this.deleteItems=void 0),typeof this._inner.deleteItem!=`function`&&(this.deleteItem=void 0),typeof this._inner.moveItems==`function`?this.moveItem=void 0:this.moveItems=void 0,typeof this._inner.copyItems==`function`?this.copyItem=void 0:this.copyItems=void 0,typeof this._inner.uploadFiles==`function`?this.uploadFile=void 0:this.uploadFiles=void 0,typeof this._inner.clearCache!=`function`&&(this.clearCache=void 0),this._getOrGenerateId(this.rootPath)}setController(e){typeof this._inner.setController==`function`&&this._inner.setController({invalidateItemCache:t=>{let n=t.replace(/^\/+|\/+$/g,``),r=this._pathToId.get(n);r&&e.invalidateItemCache(r)},getCachedItem:t=>{let n=t.replace(/^\/+|\/+$/g,``),r=this._pathToId.get(n);if(r){let t=e.getCachedItem(r);if(t)return{...t,id:this.pathForId(t.id,t.isFolder),folderId:this.pathForId(t.folderId,t.isFolder)}}}})}clearCache(e){if(typeof this._inner.clearCache==`function`)return this._inner.clearCache(e)}_getOrGenerateId(e){if(e===this.rootPath)return;let t=e.replaceAll(/^\/+|\/+$/g,``);if(t===this.trashPath.replaceAll(/^\/+|\/+$/g,``))return this.trashId;if(this._pathToId.has(t))return this._pathToId.get(t);let n=r.ro();return this._pathToId.set(t,n),this._idToPath.set(n,t),n}pathForId(e,t,n){let{__:i}=this.i18n;if(e===``||e===void 0)return this.rootPath;if(e===this.trashId)return this.trashPath;let a=this._idToPath.get(e);if(!a){if(n)return`unknown folder ${e}`;throw new r.eo(i?i(`Path for id '${e}' not found in mapping`):`Path for id '${e}' not found in mapping`,`FileNotFound`)}let o=0;for(;o<this.rootPath.length&&this.rootPath[o]===`/`;)o++;if(o){let e=0;for(;e<a.length&&a[e]===`/`;)e++;let t=a.slice(e);a=`/`.repeat(o)+t}return t&&this.ensureFolderTrailingSlash&&!a.endsWith(`/`)&&(a+=`/`),a}_updateIdMapping(e,t){let n=t.replace(/^\/+|\/+$/g,``),r=this._idToPath.get(e);r&&this._pathToId.delete(r),this._idToPath.set(e,n),this._pathToId.set(n,e)}async getItems(e){let t=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,n=await this._inner.getItems({...e,folderId:t}),r=n.items.map(e=>{let t=this._getOrGenerateId(e.id),n=e.folderId?this._getOrGenerateId(e.folderId):this._getOrGenerateId(this.rootPath);return{...e,id:t,folderId:n}});return{...n,items:r}}async createFolder(e,t,n){let r=t?this.pathForId(t,!0):this.rootPath,i=await this._inner.createFolder(e,r,n),a=this._getOrGenerateId(i.id),o=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return{...i,id:a,folderId:o}}async renameItem(e,t){let{__:n}=this.i18n;if(typeof this._inner.renameItem!=`function`)throw new r.eo(n?n(`Rename item is not supported by inner storage`):`Rename item is not supported by inner storage`,`RenameNotAllowed`);let i=this.pathForId(e.id,e.isFolder),a=i,{...o}=await this._inner.renameItem({...e,id:i,folderId:this.pathForId(e.folderId,!0)},t);return this._updateIdMapping(e.id,o.id),e.isFolder&&this.remapCachedFolderContents(e.id,a,o.id),o.folderId&&(o={...o,folderId:this._getOrGenerateId(o.folderId)}),{...o,id:this._getOrGenerateId(o.id)}}async deleteItem(e,t){let{__:n}=this.i18n;if(typeof this._inner.deleteItem!=`function`)throw new r.eo(n?n(`Delete item is not supported by inner storage`):`Delete item is not supported by inner storage`,`DeleteNotAllowed`);let i=this.pathForId(e.id,e.isFolder);await this._inner.deleteItem({...e,id:i,folderId:this.pathForId(e.folderId,!0)},t),this.recursivelyRemoveMappings(e.id,i)}async uploadFile(e){let{__:t}=this.i18n;if(typeof this._inner.uploadFile!=`function`)throw new r.eo(t?t(`Upload file is not supported by inner storage`):`Upload file is not supported by inner storage`,`UnsupportedOperation`);let n=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,i=await this._inner.uploadFile({...e,folderId:n}),a=this._getOrGenerateId(i.id),o=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return{...i,id:a,folderId:o}}async uploadFiles(e){let t=e.folderId,n=e.items?.map(e=>e.folderId)??[],r=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,i={...e,folderId:r,items:e.items?.map(e=>({...e,folderId:e.folderId?this.pathForId(e.folderId,!0):r}))??[]},a=await this._inner.uploadFiles(i);return{...a,detailed:a.detailed?.map((e,r)=>{if(!e?.data)return e;let i=e.data.id?this._getOrGenerateId(e.data.id):void 0,a=e.data.folderId?this._getOrGenerateId(e.data.folderId):n[r]??t??this._getOrGenerateId(this.rootPath);return{...e,data:{...e.data,id:i,folderId:a}}})}}async findFileByUrl(e,t){let n=t?this.pathForId(t,!0):this.rootPath;if(typeof this._inner.findFileByUrl==`function`){let t=await this._inner.findFileByUrl(e,n);if(!t)return;let r=this._getOrGenerateId(t.id),i=t.folderId?this._getOrGenerateId(t.folderId):this._getOrGenerateId(this.rootPath);return{...t,id:r,folderId:i}}}async uploadFileByUrl(e,t,n){let r=t?this.pathForId(t,!0):this.rootPath,i=await this._inner.uploadFileByUrl(e,r,n),a=this._getOrGenerateId(i.id),o=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return{...i,id:a,folderId:o}}async moveItem(e,t){let{__:n}=this.i18n;if(typeof this._inner.moveItem!=`function`)throw new r.eo(n?n(`Move item is not supported by inner storage`):`Move item is not supported by inner storage`,`MoveNotAllowed`);let i=this.pathForId(e.id,e.isFolder),a=this.pathForId(t,!0),o=await this._inner.moveItem({...e,id:i,folderId:this.pathForId(e.folderId,!0)},a);this._updateIdMapping(e.id,o.id),e.isFolder&&this.remapCachedFolderContents(e.id,i,o.id);let s=this._getOrGenerateId(o.id),c=o.folderId?this._getOrGenerateId(o.folderId):t;return{...o,id:s,folderId:c}}async moveItems(e,t){let{__:n}=this.i18n;if(typeof this._inner.moveItems!=`function`)throw new r.eo(n?n(`Move items is not supported by inner storage`):`Move items is not supported by inner storage`,`MoveNotAllowed`);let i=t?this.pathForId(t,!0):this.rootPath,a=e.map(e=>({...e,id:this.pathForId(e.id,e.isFolder),folderId:e.folderId?this.pathForId(e.folderId,!0):this.rootPath})),o=await this._inner.moveItems(a,i),s=[];if(o.detailed&&o.detailed.length>0){let r=new Map;for(let t=0;t<o.detailed.length;t++){let n=o.detailed[t],i=n.requestId||(t<e.length?e[t].id:void 0);i&&r.set(i,n)}for(let i of e){let a=r.get(i.id)||(o.detailed.length===e.length?o.detailed[e.indexOf(i)]:void 0);if(a?.success&&a.data){if(this._updateIdMapping(i.id,a.data.id),i.isFolder){let e=this.pathForId(i.id,i.isFolder);this.remapCachedFolderContents(i.id,e,a.data.id)}s.push({requestId:i.id,success:!0,data:{...a.data,id:this._getOrGenerateId(a.data.id),folderId:a.data.folderId?this._getOrGenerateId(a.data.folderId):t||this._getOrGenerateId(this.rootPath)}})}else{let e=n?n(`Move operation failed - no detailed result`):`Move operation failed - no detailed result`;s.push({requestId:i.id,success:!1,error:a?.error||{message:e,code:`MoveNotAllowed`}})}}}else for(let t of e){let e=n?n(`Move operation failed - no detailed results`):`Move operation failed - no detailed results`;s.push({requestId:t.id,success:!1,error:{message:e,code:`MoveNotAllowed`}})}return{success:o.success,detailed:s,error:o.error}}async copyItems(e,t){let{__:n}=this.i18n;if(typeof this._inner.copyItems!=`function`)throw new r.eo(n?n(`Copy items is not supported by inner storage`):`Copy items is not supported by inner storage`,`CopyNotAllowed`);let i=t?this.pathForId(t,!0):this.rootPath,a=e.map(e=>({...e,id:this.pathForId(e.id,e.isFolder),folderId:e.folderId?this.pathForId(e.folderId,!0):this.rootPath})),o=await this._inner.copyItems(a,i),s=[];if(o.detailed&&o.detailed.length>0){let r=new Map;for(let t=0;t<o.detailed.length;t++){let n=o.detailed[t],i=n.requestId||(t<e.length?e[t].id:void 0);i&&r.set(i,n)}for(let i of e){let a=r.get(i.id)||(o.detailed.length===e.length?o.detailed[e.indexOf(i)]:void 0);if(a?.success&&a.data?.id){let e=this._getOrGenerateId(a.data.id);s.push({requestId:i.id,success:!0,data:{...a.data,id:e,folderId:a.data.folderId?this._getOrGenerateId(a.data.folderId):t||this._getOrGenerateId(this.rootPath)}})}else{let e=a?a.success?a.data?a.data.id?{message:n?n(`Unknown copy error`):`Unknown copy error`,code:`CopyNotAllowed`}:{message:n?n(`No ID in copied item data`):`No ID in copied item data`,code:`CopyNotAllowed`}:{message:n?n(`No data returned from copy operation`):`No data returned from copy operation`,code:`CopyNotAllowed`}:a.error||{message:n?n(`Copy operation failed`):`Copy operation failed`,code:`CopyNotAllowed`}:{message:n?n(`No detailed result from copy operation`):`No detailed result from copy operation`,code:`CopyNotAllowed`};s.push({requestId:i.id,success:!1,error:e})}}}else for(let t of e){let e=n?n(`No detailed results from copy operation`):`No detailed results from copy operation`;s.push({requestId:t.id,success:!1,error:{message:e,code:`CopyNotAllowed`}})}let c=s.every(e=>e.success),l=n?n(`Copy operation completed with errors`):`Copy operation completed with errors`;return{success:c,detailed:s,error:c?void 0:o.error||{message:l,code:`CopyNotAllowed`}}}async deleteItems(e,t){let{__:n}=this.i18n;if(typeof this._inner.deleteItems!=`function`)throw new r.eo(n?n(`Delete items is not supported by inner storage`):`Delete items is not supported by inner storage`,`DeleteNotAllowed`);let i=e.map(e=>({...e,id:this.pathForId(e.id,e.isFolder),folderId:e.folderId?this.pathForId(e.folderId,!0):this.rootPath})),a=await this._inner.deleteItems(i,t),o=[];if(a.detailed&&a.detailed.length>0){let r=new Map;for(let t=0;t<a.detailed.length;t++){let n=a.detailed[t],i=n.requestId||(t<e.length?e[t].id:void 0);i&&r.set(i,n)}for(let i of e){let s=r.get(i.id)||(a.detailed.length===e.length?a.detailed[e.indexOf(i)]:void 0);if(s?.success){let e=this.pathForId(i.id,i.isFolder);if(t.permanent)this.recursivelyRemoveMappings(i.id,e);else if(this._updateIdMapping(i.id,this.trashPath+`/`+e+(i.isFolder?`/`:``)),i.isFolder){let t=this.pathForId(i.id,i.isFolder);this.remapCachedFolderContents(i.id,t,this.trashPath+`/`+e+(i.isFolder?`/`:``))}o.push({requestId:i.id,success:!0})}else{let e=n?n(`Delete operation failed`):`Delete operation failed`;o.push({requestId:i.id,success:!1,error:s?.error||{message:e,code:`DeleteNotAllowed`}})}}}else for(let r of e)if(a.success){let e=this.pathForId(r.id,r.isFolder);if(t.permanent)this.recursivelyRemoveMappings(r.id,e);else if(this._updateIdMapping(r.id,this.trashPath+`/`+e+(r.isFolder?`/`:``)),r.isFolder){let t=this.pathForId(r.id,r.isFolder);this.remapCachedFolderContents(r.id,t,this.trashPath+`/`+e+(r.isFolder?`/`:``))}o.push({requestId:r.id,success:!0})}else{let e=n?n(`Delete operation failed`):`Delete operation failed`;o.push({requestId:r.id,success:!1,error:a.error||{message:e,code:`DeleteNotAllowed`}})}let s=o.every(e=>e.success),c=n?n(`Some items failed to delete`):`Some items failed to delete`;return{success:s,detailed:o,error:s?void 0:a.error||{message:c,code:`DeleteNotAllowed`}}}remapCachedFolderContents(e,t,n){let r=t.replace(/\/+$/,``),i=n.replace(/\/+$/,``),a=[];for(let[e,t]of this._idToPath.entries()){let n=t.replace(/\/+$/,``);n!==r&&n.startsWith(r+`/`)&&a.push({id:e,oldPath:n})}for(let{id:e,oldPath:t}of a){let n=i+t.substring(r.length);this._updateIdMapping(e,n)}}recursivelyRemoveMappings(e,t){let n=t.replace(/\/+$/,``),r=[],i=[];for(let[e,t]of this._idToPath.entries()){let a=t.replace(/\/+$/,``);(a===n||a.startsWith(n+`/`))&&(r.push(e),i.push(a))}for(let e=0;e<r.length;e++)this._idToPath.delete(r[e]),this._pathToId.delete(i[e])}async copyItem(e,t){let{__:n}=this.i18n;if(typeof this._inner.copyItem!=`function`)throw new r.eo(n?n(`Copy item is not supported by inner storage`):`Copy item is not supported by inner storage`,`CopyNotAllowed`);let i=this.pathForId(e.id,e.isFolder),a=this.pathForId(t,!0),o=await this._inner.copyItem({...e,id:i,folderId:this.pathForId(e.folderId,!0)},a),s=this._getOrGenerateId(o.id),c=o.folderId?this._getOrGenerateId(o.folderId):t;return{...o,id:s,folderId:c}}async updateFile(e,t){let{__:n}=this.i18n;if(typeof this._inner.updateFile!=`function`)throw new r.eo(n?n(`Update file is not supported by inner storage`):`Update file is not supported by inner storage`,`UnsupportedOperation`);let i=this.pathForId(e.id,!1),{...a}=await this._inner.updateFile({...e,id:i,folderId:this.pathForId(e.folderId,!0)},t);return this._updateIdMapping(e.id,a.id),a.folderId&&(a={...a,folderId:this._getOrGenerateId(a.folderId)}),{...a,id:this._getOrGenerateId(a.id)}}async getFileData(e,t){let{__:n}=this.i18n,i=this.pathForId(e.id,!1);if(typeof this._inner.getFileData==`function`)return this._inner.getFileData({...e,id:i,folderId:this.pathForId(e.folderId,!0)},t);let a=e.url||(typeof this.getUrl==`function`?await this.getUrl(e):void 0);if(!a)throw new r.eo(n?n(`Cannot get file data: no url and no inner.getFileData`):`Cannot get file data: no url and no inner.getFileData`,`FileReadError`);return fetch(a,t?.forceReload?{cache:`no-store`}:void 0).then(e=>e.blob())}async cleanTrash(){let{__:e}=this.i18n;if(typeof this._inner.cleanTrash!=`function`)throw new r.eo(e?e(`Clean trash is not supported by inner storage`):`Clean trash is not supported by inner storage`,`UnsupportedOperation`);return await this._inner.cleanTrash()}},u=``,d=class{map=new Map;static childrenViewKey(e,t){return`v${u}${e}${u}${t}`}static childrenCountKey(e){return`c${u}${e}`}getFreshError(e,t){let n=this.map.get(e);return n?t!==1/0&&Date.now()-n.updatedAt>t?(this.map.delete(e),null):n.error:null}setError(e,t){this.map.set(e,{error:t,updatedAt:Date.now()})}delete(e){this.map.delete(e)}clearChildrenViewErrorsForParent(e){let t=`v${u}${e}${u}`;for(let e of[...this.map.keys()])e.startsWith(t)&&this.map.delete(e)}clearAll(){this.map.clear()}},f=``,p=1800*1e3;function m(e){return e==null||e===``?f:e}function h(e){if(e==null)return 1/0;let t=Number(e);return Number.isFinite(t)&&t>=0?t:1/0}function g(e){return!e||typeof e.search!=`string`?!1:e.search.trim().length>0}function _(e){if(!e)return null;let t=e.folderId;return t==null?null:String(t)}function v(e){return!!e&&e.isFolder}function y(){if(typeof globalThis?.crypto?.randomUUID==`function`)return globalThis.crypto.randomUUID();try{let e=globalThis.crypto||globalThis.msCrypto;if(e&&typeof e.getRandomValues==`function`){let t=new Uint8Array(16);e.getRandomValues(t);let n=``;for(let e=0;e<t.length;e++)n+=t[e].toString(16).padStart(2,`0`);return`id_${n}`}}catch{}return`id_fallback_${Date.now().toString(36)}_${Math.floor(Math.random()*(2**53-1)).toString(36).slice(0,8)}`}function b(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.code===`path_folder_not_found`||t.data?.code===`path_folder_not_found`||t.status===404||t.data?.data?.status===404}function x(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=t+((t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24))>>>0;return t.toString(36)}function S(e){if(!e||typeof e!=`object`)return String(e??``);let t=e,n=[],r={},i=[`page`,`pageSize`,`sortBy`,`sortOrder`,`search`,`itemType`,`limit`];for(let e of Object.keys(t).sort()){let a=t[e];i.includes(e)?n.push(`${e}=${String(a??``)}`):r[e]=a}let a=Object.keys(r).length?JSON.stringify(r):``,o=n.join(`|`),s=a?x(a):``;return`${o}${s?`|${s}`:``}`}var C=class e{entities=new Map;childrenByParent=new Map;maxCacheSize=1e4;now(){return Date.now()}checkCacheSize(){if(this.entities.size>this.maxCacheSize){let e=Array.from(this.entities.entries()).sort((e,t)=>e[1].updatedAt-t[1].updatedAt),t=Math.floor(this.maxCacheSize*.1);for(let n=0;n<t&&n<e.length;n++){let[t,r]=e[n];this.deleteEntityById(t)}}}getEntity(e){return this.entities.get(e)?.value}getRecord(e){return this.entities.get(e)}getFileSystemItem(e){let t=this.getEntity(e);return t&&!v(t)?t:void 0}getFolder(e){let t=this.getEntity(e);return t&&v(t)?t:void 0}getChildrenIds(e,t={}){let n=m(e),r=this.childrenByParent.get(n);return r?t.onlyFileSystemItems?Array.from(r.files):t.onlyFolders?Array.from(r.folders):[...Array.from(r.folders),...Array.from(r.files)]:[]}searchByUrl(e){for(let t of this.entities.values())if(t.value.url===e)return t.value;return null}upsertEntity(e){let t=this.entities.get(e.id)??null,n=t?t.value:null,r=n?_(n):null,i=_(e),a=n?v(n):!1,o=v(e),s;if(n&&v(n)&&o){let t=n.childrenCount,r=e.childrenCount;t!==void 0&&r===void 0&&(s=t)}if(n&&(r!==i||a!==o)){let t=m(r),n=this.childrenByParent.get(t);n&&(a?n.folders.delete(e.id):n.files.delete(e.id),n.files.size===0&&n.folders.size===0&&this.childrenByParent.delete(t))}let c=e;s!==void 0&&(c={...e,childrenCount:s}),this.entities.set(e.id,{value:{...c},updatedAt:this.now()}),this.checkCacheSize();let l=m(i),u=this.childrenByParent.get(l);u||(u={files:new Set,folders:new Set},this.childrenByParent.set(l,u)),o?u.folders.add(e.id):u.files.add(e.id)}updateServerChildrenCount(e,t){if(e==null||t==null||Number.isNaN(t))return;let n=this.entities.get(e);if(!n||!v(n.value))return;let r={...n.value,childrenCount:t};this.entities.set(e,{value:r,updatedAt:this.now()})}deleteEntityById(e){let t=this.entities.get(e)??null;if(!t)return{entity:null,parentId:null};let n=t.value,r=_(n),i=m(r),a=this.childrenByParent.get(i);return a&&(v(n)?a.folders.delete(e):a.files.delete(e),a.files.size===0&&a.folders.size===0&&this.childrenByParent.delete(i)),this.entities.delete(e),{entity:{...n},parentId:r}}deleteFolderRecursive(e){let t=this.entities.get(e);if(!t||!v(t.value))return{deletedFolderRecords:[],deletedFileSystemItemRecords:[]};let n=[{id:e,parentId:_(t.value)}],r=[],i=[];for(;n.length;){let e=n.shift();r.push(e);let t=this.childrenByParent.get(m(e.id));if(t){for(let e of Array.from(t.folders)){let t=this.entities.get(e);t&&n.push({id:e,parentId:_(t.value)})}for(let e of Array.from(t.files))i.push(e)}}let a=[];for(let e of i){let t=this.entities.get(e);if(!t)continue;let n=t.value,r=m(_(n)),i=this.childrenByParent.get(r);i&&(i.files.delete(e),i.files.size===0&&i.folders.size===0&&this.childrenByParent.delete(r)),this.entities.delete(e),a.push({...n})}let o=[];for(let e=r.length-1;e>=0;e--){let{id:t,parentId:n}=r[e],i=this.entities.get(t);if(!i)continue;let a=i.value,s=m(a.id);this.childrenByParent.delete(s);let c=m(n),l=this.childrenByParent.get(c);l&&(l.folders.delete(t),l.files.size===0&&l.folders.size===0&&this.childrenByParent.delete(c)),this.entities.delete(t),o.push({...a})}return{deletedFolderRecords:o,deletedFileSystemItemRecords:a}}moveEntityById(e,t){let n=this.entities.get(e)??null;if(!n)return null;let r=n.value,i=m(_(r)),a=this.childrenByParent.get(i);a&&(v(r)?a.folders.delete(e):a.files.delete(e),a.files.size===0&&a.folders.size===0&&this.childrenByParent.delete(i));let o={...r,folderId:t};if(v(r)&&v(o)){let e=r.childrenCount;e!==void 0&&(o.childrenCount=e)}this.entities.set(e,{value:o,updatedAt:this.now()});let s=m(t),c=this.childrenByParent.get(s);return c||(c={files:new Set,folders:new Set},this.childrenByParent.set(s,c)),v(o)?c.folders.add(e):c.files.add(e),{...o}}copyFileSystemItem(e,t,n){let r=this.entities.get(e)??null;if(!r||v(r.value))return null;let i={...r.value,id:t,folderId:n};return this.upsertEntity(i),{...i}}copyFolderShallow(e,t,n){let r=this.entities.get(e)??null;if(!r||!v(r.value))return null;let i={...r.value,id:t,folderId:n};return this.upsertEntity(i),{...i}}isEntityStale(e,t){let n=this.entities.get(e)??null;return n?t===1/0?!1:this.now()-n.updatedAt>t:!0}touch(e,t){let n=this.entities.get(e);n&&(n.updatedAt=t??this.now())}getEntitiesByIds(e){return e.map(e=>this.entities.get(e)?.value??null)}searchByName(e,t){if(!e||e.trim()===``)return[];let n=t?.parentId,r=t?.recursive??!1,i=t?.itemType??`all`,a=t?.caseSensitive??!1,o=t?.limit??1/0,s=a?e.trim():e.trim().toLowerCase(),c=[],l=null;if(n!==void 0){l=new Set;let e=m(n);if(l.add(e),r){let t=[e],n=new Set;for(;t.length>0;){let e=t.shift();if(n.has(e))continue;n.add(e);let r=this.childrenByParent.get(e);if(r)for(let e of r.folders)l.add(e),t.push(e)}}}for(let[,e]of this.entities){if(c.length>=o)break;let t=e.value;if(l!==null){let e=m(_(t));if(!l.has(e))continue}if(i===`file`&&v(t)||i===`folder`&&!v(t))continue;let n=t.name??``;(a?n:n.toLowerCase()).includes(s)&&c.push({...t})}return c}toJSON(){return{entities:Array.from(this.entities.entries()),childrenByParent:Array.from(this.childrenByParent.entries()).map(([e,t])=>[e,{files:Array.from(t.files),folders:Array.from(t.folders)}])}}static fromJSON(t){let n=new e;for(let[e,r]of t.entities??[])n.entities.set(e,{value:r.value,updatedAt:r.updatedAt});for(let[e,r]of t.childrenByParent??[])n.childrenByParent.set(e,{files:new Set(r.files),folders:new Set(r.folders)});return n}},w=class e{views=new Map;strategy;ttl;errorTtl;entityTtl;failedRequests;serverChildrenCountHandler;childrenCountInvalidator;maxViewsPerParent=50;constructor(e={},t=p,n,r,i=new d){this.strategy={allowSortedInsert:e.allowSortedInsert??!0,allowSearchInsert:e.allowSearchInsert??!0,invalidateOnPaginationFull:e.invalidateOnPaginationFull??!0,preloadPagesBefore:e.preloadPagesBefore??0,preloadPagesAfter:e.preloadPagesAfter??1,comparator:e.comparator,filterMatch:e.filterMatch},this.ttl=t,this.errorTtl=n??t,this.entityTtl=r??t,this.failedRequests=i}setServerChildrenCountHandler(e){this.serverChildrenCountHandler=e}setChildrenCountInvalidator(e){this.childrenCountInvalidator=e}now(){return Date.now()}parentKey(e){return m(e??null)}isExpired(e){return e==null?!0:this.ttl===1/0?!1:this.now()-e>this.ttl}areEntitiesStale(e,t){return e?e.some(e=>!t.getEntity(e)||t.isEntityStale(e,this.entityTtl)):!0}isEntityTypeCompatible(e,t){return!!(!t||t===`all`||t===`file`&&!v(e)||t===`folder`&&v(e))}cleanupOldViews(e){if(e.size<=this.maxViewsPerParent)return;let t=Array.from(e.entries()).sort((e,t)=>(t[1].view.updatedAt||0)-(e[1].view.updatedAt||0));for(;e.size>this.maxViewsPerParent&&t.length>0;){let[n]=t.pop();e.delete(n)}}async getOrCreateChildren(e,t,n,r){let i=this.parentKey(e),a=S(t??{}),o=this.views.get(i);o||(o=new Map,this.views.set(i,o));let s=d.childrenViewKey(i,a),c=o.get(a);c||(c={params:t,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:null}},o.set(a,c),this.cleanupOldViews(o));let l=this.failedRequests.getFreshError(s,this.errorTtl);if(l!=null)throw l;if(c.view.value&&!this.isExpired(c.view.updatedAt)&&!this.areEntitiesStale(c.view.value,r)&&!c.view.meta?.stale){let e=c.view.value.map(e=>r.getEntity(e)).filter(Boolean),t=c.params?.itemType||`all`;return{items:e.filter(e=>this.isEntityTypeCompatible(e,t)),...c.view.meta??{}}}if(c.view.promise)return c.view.promise;let u=y();c.view.loadId=u;let f=(async()=>{try{let a=await n(e,t),o=g(t),l=o?{...a,total:void 0}:a,d=this.views.get(i)?.get(S(t));if(!d||d.view.loadId!==u){let e=Error(`StaleLoad`);throw e.name=`StaleLoad`,e}for(let e of l.items)r.upsertEntity(e);c.view.value=l.items.map(e=>e.id);let{items:f,...p}=l,m={...p};c.view.meta=m,c.view.meta.stale=!1,this.failedRequests.delete(s),c.view.updatedAt=this.now(),!o&&typeof m.total==`number`&&(this.serverChildrenCountHandler?this.serverChildrenCountHandler(e??null,m.total,r):r.updateServerChildrenCount(e,m.total));let _=this.strategy.preloadPagesAfter??0,v=this.strategy.preloadPagesBefore??0,y=h(t?.pageSize);if((_>0||v>0)&&Number.isFinite(y)){let i=e,a={...t},o=typeof m.totalPages==`number`?m.totalPages:1,s=t?.page??1,c=y,l=n,d=u;setTimeout(()=>{this.preloadPagesAsync(i,a,s,o,c,_,v,r,m,l,d)},0)}return l}catch(e){if(e?.name===`StaleLoad`)throw this.failedRequests.delete(s),c.view.value=void 0,c.view.updatedAt=this.now(),e;let t=e,n=t?.status??t?.data?.status,r=t?.code??t?.data?.code;if(n===404||r===`FileNotFound`||r===`FolderNotFound`||r===`path_folder_not_found`)return this.failedRequests.delete(s),c.view.value=[],c.view.meta={total:0,totalPages:0},c.view.updatedAt=this.now(),{items:[],total:0,totalPages:0};throw this.failedRequests.setError(s,e),c.view.value=void 0,c.view.updatedAt=this.now(),e}finally{c.view.promise=null}})();return c.view.promise=f,f}async preloadPagesAsync(e,t,n,r,i,a,o,s,c,l,u){try{let i=this.parentKey(e),c=this.views.get(i);if(!c)return;let d=c.get(S(t));if(!d||u!=null&&d.view.loadId!==u)return;let f=c.get(S(t));if(!f?.view.meta)return;let p=typeof f.view.meta.totalPages==`number`?f.view.meta.totalPages:1;if(p!==r)return;let m=async n=>{let r={...t,page:n};try{let a=await l(e,r),o=this.views.get(i);if(!o)return;let c=o.get(S(t));if(!c||u!=null&&c.view.loadId!==u||c.view.loadId!==u)return;for(let e of a.items)s.upsertEntity(e);let d=S(r),f=o.get(d);if(f||(f={params:r,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:c.view.loadId}},o.set(d,f),this.cleanupOldViews(o)),!f.view.value||this.isExpired(f.view.updatedAt)){f.view.value=a.items.map(e=>e.id);let{items:e,...t}=a;f.view.meta={...t,page:n,totalPages:p},f.view.updatedAt=this.now()}}catch{}};if(a>0&&n<p)for(let e=1;e<=Math.min(a,p-n);e++){let r=n+e,i=S({...t,page:r}),a=c.get(i);(!a?.view.value||this.isExpired(a.view.updatedAt))&&m(r)}if(o>0&&n>1)for(let e=1;e<=Math.min(o,n-1);e++){let r=n-e,i=S({...t,page:r}),a=c.get(i);(!a?.view.value||this.isExpired(a.view.updatedAt))&&m(r)}}catch{}}removeEmptyPageIfNeeded(e,t,n,r,i){if(t.view.value&&t.view.value.length===0&&n<r){let t=S({...i,page:n});e.delete(t)}}updateTotalPagesForAllViews(e,t){for(let[,n]of e)n.view.meta&&(n.view.meta.totalPages=t)}isParamsSame(e,t){let n=Object.keys(e??{}).filter(e=>e!==`page`).sort(),r=Object.keys(t??{}).filter(e=>e!==`page`).sort();if(n.length!==r.length)return!1;for(let i=0;i<n.length;i++){let a=n[i];if(a!==r[i]||e[a]!==t[a])return!1}return!0}syncTotalsInSameViews(e,t){let n=t.view.meta;if(!n||typeof n.total!=`number`)return;let r=Number(n.total),i=h(t.params?.pageSize),a=Number.isFinite(i)&&i>0?Math.max(1,Math.ceil(r/i)):void 0;for(let[,n]of e)this.isParamsSame(n.params??{},t.params??{})&&(n.view.meta||(n.view.meta={}),n.view.meta.total=r,a!==void 0&&(n.view.meta.totalPages=a))}canSafelyModifySortedView(e){return!!(!e.sortBy&&!e.sortOrder||this.strategy.comparator)}cascadeShiftPages(e,t,n,r,i,a,o){let s=t,c=n,l=!1,u=0;for(;s.view.value&&s.view.value.length<r&&c<i&&u<100;){u++;let t=S({...o,page:c+1}),n=e.get(t);if(!n?.view.value||this.isExpired(n.view.updatedAt)){s.view.meta={...s.view.meta??{},stale:!0};break}let i=r-s.view.value.length,d=n.view.value.slice(0,i).filter(e=>a.getEntity(e));if(d.length===0){s.view.meta={...s.view.meta??{},stale:!0};break}if(s.view.value=[...s.view.value,...d],s.view.updatedAt=Date.now(),n.view.value=n.view.value.slice(d.length),n.view.updatedAt=Date.now(),n.view.value.length===0){let t=c+1,r=n.view.meta;if(t<(r&&typeof r.totalPages==`number`?r.totalPages:1)){let n=S({...o,page:t});e.delete(n),l=!0}break}s=n,c++}return(!s.view.value||s.view.value.length<r)&&c>=i&&(s.view.meta={...s.view.meta??{},stale:!0}),l}cascadeShiftToNextPage(e,t,n,r,i,a,o){if(!t.view.value||t.view.value.length<=r)return!1;if(n-(o.page||1)>=10)return t.view.meta={...t.view.meta??{},stale:!0},!1;let s={...o,page:n+1},c=S(s),l=e.get(c),u=!1;if(!l?.view.value||this.isExpired(l.view.updatedAt))if(n>=i){l={params:s,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:null}},e.set(c,l),this.cleanupOldViews(e);let r=t.view.meta;r&&(l.view.meta={...r,page:n+1}),u=!0}else return t.view.meta={...t.view.meta??{},stale:!0},!1;let d=t.view.value.slice(r).filter(e=>a.getEntity(e));if(d.length===0)return u&&e.delete(c),!1;t.view.value=t.view.value.slice(0,r),t.view.updatedAt=Date.now(),l.view.value=[...d,...l.view.value??[]],l.view.updatedAt=Date.now();let f=l.view.meta&&typeof l.view.meta.totalPages==`number`?l.view.meta.totalPages:i;if(!u&&this.cascadeShiftToNextPage(e,l,n+1,r,f,a,o))return!0;if(!l.view.value||l.view.value.length===0){let t=n+1,r=l.view.meta,i=r&&typeof r.totalPages==`number`?r.totalPages:1;this.removeEmptyPageIfNeeded(e,l,t,i,o)}return u}tryInsertSorted(e,t,n){let r=this.strategy.comparator;if(!r||!e.view.value)return!1;let i=e.params?.itemType||`all`;if(!this.isEntityTypeCompatible(t,i))return!1;let a=e.view.value.map(e=>n.getEntity(e));if(a.some(e=>!e))return!1;let o=0,s=a.length;for(;o<s;){let n=Math.floor((o+s)/2),i=r(t,a[n],e.params);if(typeof i!=`number`||Number.isNaN(i))return!1;i>=0?o=n+1:s=n}return e.view.value.includes(t.id)?(e.view.updatedAt=this.now(),!0):(e.view.value=[...e.view.value.slice(0,o),t.id,...e.view.value.slice(o)],e.view.updatedAt=this.now(),e.view.meta&&typeof e.view.meta.total==`number`&&(e.view.meta.total=Number(e.view.meta.total)+1),!0)}updateChildrenCountForOperation(e,t,n,r){let i=_(t);switch(e){case`delete`:this.adjustChildrenCount(r,i,-1),this.childrenCountInvalidator?.(i);break;case`insert`:case`copy`:this.adjustChildrenCount(r,i,1),this.childrenCountInvalidator?.(i);break;case`move`:this.adjustChildrenCount(r,n,-1),this.adjustChildrenCount(r,i,1),this.childrenCountInvalidator?.(n),this.childrenCountInvalidator?.(i);break}}adjustChildrenCount(e,t,n){if(!t)return;let r=e.getFolder(t);if(r&&typeof r.childrenCount==`number`){let i=Math.max(0,r.childrenCount+n);e.updateServerChildrenCount(t,i)}}smartInvalidateChildrenViews(e,t,n,r,i,a){if(!t)return;this.updateChildrenCountForOperation(n,t,i,r);let o=this.parentKey(e),s=this.views.get(o);if(s)for(let[,e]of s){let a=e.params??{},o=a?.page??1,c=h(a?.pageSize),l=Number.isFinite(c),u=!!(a?.sortBy||a?.sortOrder),d=!!a?.search,f=a?.itemType||`all`;if(this.isEntityTypeCompatible(t,f)){if(d&&this.strategy.filterMatch&&!this.strategy.filterMatch(t,e.params)){e.view.value?.includes(t.id)&&(e.view.value=e.view.value.filter(e=>e!==t.id),e.view.meta&&typeof e.view.meta.total==`number`&&(e.view.meta.total=Math.max(0,e.view.meta.total-1)),e.view.updatedAt=Date.now());continue}if(!e.view.value){e.view.meta&&(e.view.meta.stale=!0),e.view.loadId=y(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0);continue}if(e.view.value.includes(t.id),this.shouldInvalidateCompletely(e,n,t,u,l,o)){e.view.meta={...e.view.meta??{},stale:!0},e.view.loadId=y(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0);continue}switch(n){case`delete`:this.handleDelete(s,e,o,c,l,t,r);break;case`insert`:case`copy`:this.handleInsert(s,e,o,c,l,u,t,r);break;case`update`:this.handleUpdate(s,e,o,c,l,u,d,t,r);break;case`move`:this.handleMove(s,e,o,c,l,u,t,i,r);break}}}}shouldInvalidateCompletely(e,t,n,r,i,a){return!!(i&&a>1&&(t===`insert`||t===`delete`||t===`move`)||r&&!this.strategy.comparator&&(t===`insert`||t===`move`)||this.isExpired(e.view.updatedAt))}tryReinsertEntity(e,t,n,r,i){let a=e.params?.itemType||`all`;if(!this.isEntityTypeCompatible(t,a))return!1;if(this.strategy.comparator&&this.strategy.filterMatch){if(!this.strategy.filterMatch(t,e.params))return!1;if(this.tryInsertSorted(e,t,n))return!0}let o=e.params??{};return(o.sortBy||o.sortOrder)&&!this.canSafelyModifySortedView(o)?!1:!r||e.view.value.length<i?(e.view.value.push(t.id),!0):!1}handleDelete(e,t,n,r,i,a,o){let s=t.view.value.includes(a.id);if(s&&(t.view.value=t.view.value.filter(e=>e!==a.id)),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(t.view.updatedAt=Date.now(),s&&i&&t.view.value.length<r&&o){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,o,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}handleInsert(e,t,n,r,i,a,o,s){if(!t.view.value.includes(o.id)){if(a&&this.strategy.allowSortedInsert&&this.strategy.comparator&&s){if(this.tryInsertSorted(t,o,s)&&t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(i&&t.view.value.length>r&&s){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftToNextPage(e,t,n,r,a,s,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=t.view.meta.totalPages+1;t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}}else if(!i||t.view.value.length<r){if(t.view.value.push(o.id),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}t.view.updatedAt=Date.now()}else t.view.meta={...t.view.meta??{},stale:!0};t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}}handleUpdate(e,t,n,r,i,a,o,s,c){let l=t.view.value.includes(s.id),u=this.isEntityTypeCompatible(s,t.params?.itemType||`all`);if(l&&!u){if(t.view.value=t.view.value.filter(e=>e!==s.id),t.view.meta&&typeof t.view.meta.total==`number`&&(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}if(t.view.updatedAt=Date.now(),i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0);return}if(l&&(a||o)){if(t.view.value=t.view.value.filter(e=>e!==s.id),!this.tryReinsertEntity(t,s,c,i,r)){if(t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}}else if(t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}t.view.updatedAt=Date.now(),t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0);return}if(l){t.view.updatedAt=Date.now(),t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0);return}if(u&&!o){if(a&&this.strategy.allowSortedInsert&&this.strategy.comparator&&c){if(this.tryInsertSorted(t,s,c)&&t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}}else if(!i||t.view.value.length<r){if(t.view.value.push(s.id),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}t.view.updatedAt=Date.now()}else t.view.meta={...t.view.meta??{},stale:!0};t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}}handleMove(e,t,n,r,i,a,o,s,c){if(t.view.value.includes(o.id)){if(t.view.value=t.view.value.filter(e=>e!==o.id),t.view.meta&&typeof t.view.meta.total==`number`&&(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}if(t.view.updatedAt=Date.now(),i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}this.syncTotalsInSameViews(e,t)}t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}forceInvalidateChildrenViews(e){let t=this.parentKey(e??null);this.failedRequests.clearChildrenViewErrorsForParent(t);let n=this.views.get(t);if(n)for(let[,e]of n)e.view.value=void 0,e.view.meta=void 0,e.view.promise=null,e.view.updatedAt=0,e.view.loadId=y(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0)}getKnownTotal(e){let t=this.parentKey(e??null),n=this.views.get(t);if(!n)return;let r=null;for(let[,e]of n){let t=e.view.meta;t&&typeof t.total==`number`&&(!r||(e.view.updatedAt??0)>r.updatedAt)&&(r={total:Number(t.total),updatedAt:e.view.updatedAt??0})}return r?r.total:void 0}toJSON(){return{views:Array.from(this.views.entries()).map(([e,t])=>[e,Array.from(t.entries())]),ttl:this.ttl,errorTtl:this.errorTtl,entityTtl:this.entityTtl,strategy:{allowSortedInsert:this.strategy.allowSortedInsert,allowSearchInsert:this.strategy.allowSearchInsert,invalidateOnPaginationFull:this.strategy.invalidateOnPaginationFull,preloadPagesBefore:this.strategy.preloadPagesBefore,preloadPagesAfter:this.strategy.preloadPagesAfter}}}static fromJSON(t,n){let r=n?.ttl??t?.ttl??18e5,i=new e({},r,n?.errorTtl??t?.errorTtl??r,void 0,n?.failedRequests??new d);for(let[e,n]of t.views??[]){let t=new Map;for(let[e,r]of n){let n=r;n?.view&&`error`in n.view&&delete n.view.error,t.set(e,n)}i.views.set(e,t)}return i}},T=class e{entities;views;ttl;errorTtl;failedRequests;childrenCountPromises=new Map;invalidateChildrenCountCache(e){let t=m(e??``);this.childrenCountPromises.delete(t),this.failedRequests.delete(d.childrenCountKey(t))}constructor(e={},t=p,n){this.failedRequests=new d,this.ttl=t,this.errorTtl=n??t,this.entities=new C,this.views=new w(e,t,this.errorTtl,void 0,this.failedRequests),this.views.setServerChildrenCountHandler((e,t,n)=>{this.handleServerReportedChildrenCount(e,t,n??this.entities)}),this.views.setChildrenCountInvalidator(e=>{this.invalidateChildrenCountCache(e)})}getEntity(e){return this.entities.getEntity(e)??null}getFileSystemItem(e){return this.entities.getFileSystemItem(e)??null}getFolder(e){return this.entities.getFolder(e)??null}async getOrCreateChildren(e,t,n){return this.views.getOrCreateChildren(e,t,n,this.entities)}upsertEntity(e){let t=this.entities.getEntity(e.id),n=t?_(t):null,r=_(e),i=t?v(t):!1,a=v(e);if(this.entities.upsertEntity(e),t){if(n!==r||i!==a){this.views.smartInvalidateChildrenViews(n,t,`delete`,this.entities),this.views.smartInvalidateChildrenViews(r,e,`insert`,this.entities);return}this.views.smartInvalidateChildrenViews(r,e,`update`,this.entities,void 0,t)}else this.views.smartInvalidateChildrenViews(r,e,`insert`,this.entities)}isAncestor(e,t){let n=t,r=new Set;for(;n&&!r.has(n);){if(r.add(n),m(n)===m(e))return!0;let t=this.entities.getEntity(n);if(!t)break;n=_(t),n===null&&(n=f)}return!1}moveEntity(e,t){let n=this.entities.getEntity(e);if(!n||v(n)&&t!==null&&this.isAncestor(e,t))return null;let r=_(n),i=this.entities.moveEntityById(e,t);return i?(this.views.smartInvalidateChildrenViews(r,n,`delete`,this.entities),this.views.smartInvalidateChildrenViews(t,i,`insert`,this.entities),i):null}copyEntity(e,t,n,r){let i=this.entities.getEntity(e);if(!i)return null;let a=null;if(v(i)){let n=[e],i=[];for(;n.length;){let e=n.shift();i.push(e);let t=this.entities.getChildrenIds(e,{onlyFolders:!0});for(let e of t)n.push(e)}let o=new Map;for(let e of i)o.set(e,y());for(let n of i){let i=this.entities.getFolder(n),a=o.get(n),s=_(i),c=s===null?t:o.get(s)??null,l={...i,...n===e?r:void 0,id:a,folderId:(n===e?r?.folderId:void 0)??c};this.entities.upsertEntity(l)}for(let e of i){let t=o.get(e),n=this.entities.getChildrenIds(e,{onlyFileSystemItems:!0});for(let e of n){let n=this.entities.getFileSystemItem(e);if(!n)continue;let r=y(),i={...n,id:r,folderId:t};this.entities.upsertEntity(i)}}a=this.entities.getEntity(o.get(e))??null}else{let i=n??y();if(a=this.entities.copyFileSystemItem(e,i,t??null),a&&r){let e={...a,...r,id:i,folderId:r.folderId??t??null};this.entities.upsertEntity(e),a=e}}return a&&this.views.smartInvalidateChildrenViews(t,a,`copy`,this.entities),a}searchByUrl(e){return this.entities.searchByUrl(e)??null}deleteEntity(e){let t=this.entities.getEntity(e);if(!t)return null;if(v(t)){let{deletedFolderRecords:n,deletedFileSystemItemRecords:r}=this.entities.deleteFolderRecursive(e);for(let e of r)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of n)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of n)this.views.forceInvalidateChildrenViews(e.id);return t}else{let{entity:t,parentId:n}=this.entities.deleteEntityById(e);return t&&this.views.smartInvalidateChildrenViews(n,t,`delete`,this.entities),t}}deleteFolderRecursive(e){let{deletedFolderRecords:t,deletedFileSystemItemRecords:n}=this.entities.deleteFolderRecursive(e);for(let e of n)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of t)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of t)this.views.forceInvalidateChildrenViews(e.id);return{deletedFileSystemItemIds:n.map(e=>e.id),deletedFolderIds:t.map(e=>e.id)}}forceInvalidate(e){let t=this.entities.getEntity(e);if(!t)return;let n=new Set;if(v(t)){let t=[e];for(;t.length;){let e=t.pop();if(n.has(e))continue;n.add(e),this.views.forceInvalidateChildrenViews(e),this.invalidateChildrenCountCache(e);let r=this.entities.getChildrenIds(e,{onlyFolders:!0});for(let e of r)t.push(e)}}else{let e=t.folderId??null;this.views.forceInvalidateChildrenViews(e),this.invalidateChildrenCountCache(e)}}getChildrenIds(e){return this.entities.getChildrenIds(e)}searchByName(e,t){return this.entities.searchByName(e,t)}async getChildrenCount(e=``,t){let n=m(e),r=d.childrenCountKey(n),i=this.failedRequests.getFreshError(r,this.errorTtl);if(i!=null)return Promise.reject(i);let a=this.childrenCountPromises.get(n);if(a)return a;let o=(async()=>{try{let n=this.entities.getFolder(e);if(n&&typeof n.childrenCount==`number`)return this.failedRequests.delete(r),n.childrenCount;let i=this.views.getKnownTotal(e);if(typeof i==`number`)return n&&this.handleServerReportedChildrenCount(e,i,this.entities),this.failedRequests.delete(r),i;if(t){let n=await t(e);return this.entities.getFolder(e)&&this.handleServerReportedChildrenCount(e,n,this.entities),this.failedRequests.delete(r),n}return this.failedRequests.delete(r),this.entities.getChildrenIds(e).length}catch(e){if(this.childrenCountPromises.delete(n),b(e))return this.failedRequests.delete(r),0;throw this.failedRequests.setError(r,e),e}finally{this.childrenCountPromises.delete(n)}})();return this.childrenCountPromises.set(n,o),o}toJSON(){return{entities:this.entities.toJSON(),views:this.views.toJSON(),ttl:this.ttl,errorTtl:this.errorTtl}}static fromJSON(t,n){let r=t?.ttl??18e5,i=t?.errorTtl??r,a=new e(n??{},r,i),o=C.fromJSON(t?.entities??{}),s=w.fromJSON(t?.views??{},{failedRequests:a.failedRequests,ttl:r,errorTtl:i});return n&&(s.strategy={allowSortedInsert:n.allowSortedInsert??!0,allowSearchInsert:n.allowSearchInsert??!0,invalidateOnPaginationFull:n.invalidateOnPaginationFull??!0,preloadPagesBefore:n.preloadPagesBefore??0,preloadPagesAfter:n.preloadPagesAfter??1,comparator:n.comparator,filterMatch:n.filterMatch}),a.entities=o,a.views=s,s.setServerChildrenCountHandler((e,t,n)=>{a.handleServerReportedChildrenCount(e,t,n??o)}),s.setChildrenCountInvalidator(e=>{a.invalidateChildrenCountCache(e)}),a}handleServerReportedChildrenCount(e,t,n){this.checkAndResolveChildrenCountConflict(e,t,n),this.invalidateChildrenCountCache(e)}checkAndResolveChildrenCountConflict(e,t,n){if(!n||t===void 0)return;let r=e??null;if(!r){n.updateServerChildrenCount(r,t);return}let i=n.getFolder(r)?.childrenCount;i!==void 0&&i!==t&&this.views.forceInvalidateChildrenViews(r),n.updateServerChildrenCount(r,t)}},E=class{deletingIds=new Set;beginDeleting(e){for(let t of e)t&&this.deletingIds.add(t)}endDeleting(e){for(let t of e)t&&this.deletingIds.delete(t)}isDeleting(e){return!!e&&this.deletingIds.has(e)}},D=``,O=`Trash`,k=`Edited`,A=1e4,j=1e4,M=25,N=10;function P(e,t){let n=e??{},r=Array.isArray(n.detailed)?n.detailed.map(e=>({requestId:e.requestId??e.id,success:!!e.success,data:t(e.data),error:e.error})):void 0;return{success:!!n.success,error:n.error,detailed:r}}function F(e){return e==null?``:String(e)}function I(e){return{...e,name:F(e.name)}}function L(e){return(e??[]).map(I)}function R(e){return!e||typeof e!=`object`||!(`name`in e)?e:{...e,name:F(e.name)}}function z(e){return e?e.replaceAll(`\\`,`/`).split(`/`).filter(Boolean):[]}function B(e){let t=Object.getPrototypeOf(e);for(let n of Object.getOwnPropertyNames(t))n!==`constructor`&&typeof Object.getOwnPropertyDescriptor(t,n)?.value==`function`&&(e[n]=e[n].bind(e))}var V=class{_dataProvider;_options;_pathOptions;i18n;_cache;_rootId;_useSoftDelete;_enableTrash;_validateDuplicates;_blobFetchForceReloadOnceIds=new Set;_mutationRegistry=new E;async _findOrCreateFolderByPath(e){let{__:t}=this.i18n,n=z(e);if(n.length>N)throw new r.eo(t(`Path depth exceeds maximum limit of %s`).replace(`%s`,String(N)),`ValidationError`);let i;for(let a of n){let{files:n}=await this.getFiles({folderId:i?.id||``,itemType:`folder`}),o=n.find(e=>e.name===a);if(o){if(!o.isFolder)throw new r.eo(t(`Path component '%s' in '%s' is not a folder`).replace(`%s`,a).replace(`%s`,e),`ValidationError`);i={id:o.id,name:o.name,parentId:o.folderId}}else{if(typeof this._dataProvider.createFolder!=`function`)throw new r.eo(t(`Create folder operation is not supported by data provider`),`UnsupportedOperation`);i=await this.createFolder({name:a,parentId:i?.id})}}return i}getTrashFolder(){return this._findOrCreateFolderByPath(this._pathOptions.trashPath||O)}getTempFolder(){return this._findOrCreateFolderByPath(this._pathOptions.tempPath||k)}constructor(e,t={},n,r=i.m){this._dataProvider=e,this._options=t,this._pathOptions=n,this.i18n=r,B(this),this._useSoftDelete=this._pathOptions.useSoftDelete,this._rootId=this._pathOptions.rootId||D,this._enableTrash=this._options.enableTrash===void 0?!0:this._options.enableTrash,this._validateDuplicates=this._dataProvider.validateDuplicates,this._cache=new T(t.cacheStrategy||{},t.cacheStrategy?.ttl,t.cacheStrategy?.errorTtl),this.setController({invalidateItemCache:e=>{this._cache.forceInvalidate(e)},getCachedItem:e=>this._cache.getEntity(e)}),typeof this._dataProvider.clearCache!=`function`&&(this.clearCache=void 0)}setController(e){typeof this._dataProvider.setController==`function`&&this._dataProvider.setController(e)}async clearCache(e){if(typeof this._dataProvider.clearCache!=`function`){let{__:e}=this.i18n;throw new r.eo(e(`Clear cache is not supported by data provider`),`UnsupportedOperation`)}this._cache.forceInvalidate(this._rootId),await this._dataProvider.clearCache(e)}markNextFileBlobFetchBypassHttpCache(e){this._blobFetchForceReloadOnceIds.add(this.normalizeId(e))}normalizeId(e){return!e||e===`root`||e===`folders`?this._rootId:e}_isDeletingId(e){return this._mutationRegistry.isDeleting(this.normalizeId(e))}_collectDeletingIds(e){let t=this.normalizeId(e),n=new Set([t]);if(!this._cache.getEntity(t)?.isFolder)return Array.from(n);let r=[t];for(;r.length>0;){let e=r.pop(),t=this._cache.getChildrenIds(e);for(let e of t)n.has(e)||(n.add(e),this._cache.getEntity(e)?.isFolder&&r.push(e))}return Array.from(n)}_emptyFilesResult(e,t){return{files:[],pagination:{...typeof e==`number`?{page:e}:{},...typeof t==`number`?{limit:t}:{},total:0,totalPages:1,hasNext:!1,hasPrev:!1}}}_validateName(e,t=!1){if(!e||e.trim().length===0){let e=t?`FolderInvalidName`:`FileInvalidName`,{__:n}=this.i18n;throw new r.eo(n(t?`Folder name cannot be empty`:`File name cannot be empty`),e)}if(/[\/\\:*?"<>|]/.test(e)){let{__:n}=this.i18n,i=t?`FolderInvalidName`:`FileInvalidName`;throw new r.eo(t?n(`Folder name contains invalid characters: %s`).replace(`%s`,e):n(`File name contains invalid characters: %s`).replace(`%s`,e),i)}}_validateTargetFolderType(e){let t=this.normalizeId(e);if(t===this._rootId)return;let n=this._cache.getEntity(t);if(n&&!n.isFolder){let{__:t}=this.i18n;throw new r.eo(t(`Target item with id '%s' is not a folder`).replace(`%s`,e),`ValidationError`)}}_checkNameExistsInCache(e,t,n,r){let i=this.normalizeId(e),a=this._cache.getChildrenIds(i);for(let e of a){let i=this._cache.getEntity(e);if(i&&i.name===t&&!!i.isFolder===n&&(!r||i.id!==r))return!0}return!1}async _getUrl(e){if(e.url)return e.url;try{return typeof this._dataProvider?.getUrl==`function`&&this._dataProvider.getUrl(e)||``}catch{}return``}async _getThumbnailUrl(e){if(e.thumbnailUrl)return e.thumbnailUrl;try{return typeof this._dataProvider?.getThumbnailUrl==`function`&&this._dataProvider.getThumbnailUrl(e)||``}catch{}return``}_mapItem=async({childrenCount:e,...t})=>{let n=I(t);if(n.isFolder)return{...n,childCount:e,url:``,thumbnailUrl:``};let[r,i]=await Promise.all([this._getUrl(n),this._getThumbnailUrl(n)]);return{...n,childCount:0,url:r,thumbnailUrl:i}};_isAncestor(e,t){if(!t)return!1;let n=this.normalizeId(t),r=this.normalizeId(e);if(n===r)return!0;let i=this._cache.getEntity(n),a=new Set;for(;i&&i.folderId&&!a.has(i.id);){a.add(i.id);let e=this.normalizeId(i.folderId);if(e===r)return!0;if(i=this._cache.getEntity(e),!i||!i.isFolder)break}return!1}async getFile(e,t){return this._isDeletingId(e)?null:this._cache.searchByName(t,{parentId:this.normalizeId(e),caseSensitive:!0,recursive:!1,itemType:`file`})[0]||(await this.getFiles({folderId:e,itemType:`file`,search:t})).files[0]}async getFileById(e){let t=this.normalizeId(e);if(this._isDeletingId(t))return null;let n=this._cache.getFileSystemItem(t);if(n&&!n.isFolder)return await this._mapItem(n);if(!this._dataProvider.pathMode)return null;let r=await this._getFileByPathStyleId(t);if(r&&!r.isFolder){let e=I(r);return this._cache.upsertEntity(e),await this._mapItem(e)}return null}async _getFileByPathStyleId(e){let t=e.replace(/\\/g,`/`).replace(/^\/+/,``),n=t.lastIndexOf(`/`),r=n<0?``:t.slice(0,n),i=n<0?t:t.slice(n+1);return i?this.getFile(r,i):null}async getFileUrl(e,t){let n=await this.getFile(e,t);return await this._getUrl(n)||await this._getThumbnailUrl(n)||n.thumbnail}async getFiles({folderId:e,search:t,sortBy:n,sortOrder:r,page:i,limit:a,itemType:o=`all`,noFolder:s=!1}){s&&(e=(await this.getTempFolder())?.id);let c=this.normalizeId(e??this._rootId),l=this._options.enablePagination===!1,u=l?1:i,d=l?A:a,f=this._options.clientSideFilter,p=this._options.clientSideSorting,m=this._options.clientSidePaging,h=m?Math.max(1,i??1):void 0,g=m?typeof a==`number`&&Number.isFinite(a)&&a>0?a:M:void 0,_=this._emptyFilesResult(m?h:u,m?g:d);if(this._isDeletingId(c))return _;let v=this._options.unifiedCatalogFetch!==!1&&l&&(o===`folder`||o===`file`),y=v?`all`:o,b={folderId:c,itemType:y};f||(b.search=t),p||(b.sortBy=n??(y===`folder`?void 0:`date`),b.sortOrder=r??(y===`folder`?void 0:`desc`)),m||(b.page=u,b.limit=v?j:d);let x=v?j:m?void 0:d,S={folderId:c,itemType:y,search:f?void 0:t,sortBy:p?void 0:b.sortBy,sortOrder:p?void 0:b.sortOrder,page:m?void 0:u,pageSize:x},C;try{C=await this._cache.getOrCreateChildren(c,S,async(e,t)=>{let n=t.pageSize,r=n!=null&&Number.isFinite(Number(n))?Number(n):A,i=await this._dataProvider.getItems({...t,folderId:e,limit:r}),a=L(i.items);return m?{items:a,total:typeof i.pagination?.total==`number`?i.pagination.total:a.length}:{items:a,...i.pagination}})}catch(e){if(this._isDeletingId(c))return _;throw e}let w=C.items;if(v&&(o===`folder`?w=w.filter(e=>e.isFolder):o===`file`&&(w=w.filter(e=>!e.isFolder))),f){if(typeof this._options.clientSideFilter==`function`)w=this._options.clientSideFilter(w,t);else if(t){let e=t.toLowerCase();w=w.filter(t=>t.name?.toLowerCase().includes(e))}}p&&(w=typeof this._options.clientSideSorting==`function`?this._options.clientSideSorting(w,n,r):this._defaultClientSideSort(w,n,r));let T;T=m||f||v?w.length:C.total??w.length;let E=w;if(m)if(typeof this._options.clientSidePaging==`function`)E=this._options.clientSidePaging(w,h,g);else{let e=(h-1)*g,t=e+g;E=w.slice(e,t)}if(typeof this._dataProvider.getUrl==`function`||typeof this._dataProvider.getThumbnailUrl==`function`){let e=E.map(async e=>{if(e.isFolder)return e;let[t,n]=await Promise.all([e.url?Promise.resolve(e.url):typeof this._dataProvider.getUrl==`function`?this._dataProvider.getUrl(e):Promise.resolve(void 0),e.thumbnailUrl?Promise.resolve(e.thumbnailUrl):typeof this._dataProvider.getThumbnailUrl==`function`?this._dataProvider.getThumbnailUrl(e):Promise.resolve(void 0)]);return{...e,url:t,thumbnailUrl:n}});E=await Promise.all(e)}let D=m?{page:h,limit:g,total:T,totalPages:Math.max(1,Math.ceil(T/g)),hasNext:h*g<T,hasPrev:h>1}:{page:u,limit:d,total:T,...!m&&C.totalPages&&{totalPages:C.totalPages},...!m&&C.hasNextPage&&{hasNextPage:C.hasNextPage}};return{files:await Promise.all(E.map(this._mapItem)),pagination:D}}_defaultClientSideSort(e,t,n){return e.sort((e,r)=>{let i=0;switch(t){case`name`:i=(e.name||``).localeCompare(r.name||``);break;case`date`:i=new Date(e.date||0).getTime()-new Date(r.date||0).getTime();break;case`size`:i=(Number(e.size)||0)-(Number(r.size)||0);break;default:i=(e.name||``).localeCompare(r.name||``)}return n===`desc`?-i:i})}async getFileData(e,t){let n=this.normalizeId(typeof e==`string`?e:e.id),i=t;this._blobFetchForceReloadOnceIds.delete(n)&&(i={...t,forceReload:!0});let a=this._cache.getEntity(n)||(typeof e==`string`?{id:n,name:``,folderId:this._rootId,isFolder:!1}:{...e,childrenCount:e.childCount});if(typeof this._dataProvider.getFileData==`function`)return await this._dataProvider.getFileData(a,i);let{__:o}=this.i18n;if(!a.url&&typeof this._dataProvider.getUrl!=`function`)throw new r.eo(o(`Cannot read file`),`FileReadError`);let s=a.url||(typeof this._dataProvider.getUrl==`function`?await this._dataProvider.getUrl(a):``);if(s)return(await r.fa(s,{config:this._pathOptions.resourceProxyConfig,standalone:this._pathOptions.isStandalone,intent:`downloadBlob`,init:i?.forceReload?{cache:`no-store`}:void 0})).blob();throw new r.eo(o(`Unable to get file data`),`FileReadError`)}async findFileByUrl(e){let t=this._cache.searchByUrl(e);if(t)return t;if(typeof this._dataProvider.findFileByUrl==`function`)try{let t=await this._dataProvider.findFileByUrl(e);if(t){let e=I(t);return this._cache.upsertEntity(e),e}}catch{}return null}async getChildrenCount(e){if(!e)return 0;let t=this.normalizeId(e??this._rootId);return this._isDeletingId(t)?0:this._cache.getChildrenCount(t,async()=>{try{if(this._options.clientSidePaging){let e=await this.getFiles({folderId:t,itemType:`all`,page:1,limit:M});return e.pagination.total??e.files.length}let e=await this._dataProvider.getItems({folderId:t,limit:0,itemType:`all`});return e.pagination===void 0?this._options.enablePagination===!1?e.items.length:0:e.pagination.total||0}catch(e){if(this._isDeletingId(t)||this._isPathFolderNotFoundError(e))return 0;throw e}})}_isPathFolderNotFoundError(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.code===`path_folder_not_found`||t.data?.code===`path_folder_not_found`||t.status===404||t.data?.data?.status===404}async _uploadFile(e){let t=this.normalizeId(e.folderId??this._rootId),{__:n}=this.i18n;if(typeof this._dataProvider.uploadFile!=`function`)throw new r.eo(n(`Upload file operation is not supported by data provider`),`UnsupportedOperation`);if(this._validateName(e.name,!1),this._validateDuplicates&&this._checkNameExistsInCache(t,e.name,!1))throw new r.eo(n(`File '%s' already exists in target folder`).replace(`%s`,e.name),`FileAlreadyExists`);let i=await this._dataProvider.uploadFile({...e,folderId:t}),a=I({name:e.name,size:e.size,...i,folderId:t});return this._cache.upsertEntity(a),a}async uploadFiles(e){let t=e.items.some(e=>e.noFolder)?await this.getTempFolder():null;e={...e,items:e.items?.map(e=>({...e,folderId:e.noFolder?t?.id:e.folderId}))};for(let t of e.items)t.folderId&&(e.folderId=t.folderId);let n=e.items||[],i=e.folderId??this._rootId,a=this.normalizeId(i);if(this._validateDuplicates){for(let e of n)if(e.name){this._validateName(e.name,!1);let t=this.normalizeId(e.folderId??a);if(this._checkNameExistsInCache(t,e.name,!1)){let{__:t}=this.i18n;throw new r.eo(t(`File '%s' already exists in target folder`).replace(`%s`,e.name),`FileAlreadyExists`)}}}let o=this._cache.getEntity(a),s={detailed:Array(n.length),success:!0};if(typeof this._dataProvider.uploadFiles==`function`){let e=n.map(e=>({...e,folderId:this.normalizeId(e.folderId??a)}));if(s=P(await this._dataProvider.uploadFiles({folderId:a,items:e}),e=>{if(e)return{id:e.id,name:F(e.name),folderId:e.folderId}}),s.detailed&&s.detailed.length){for(let e=0;e<s.detailed.length;e++){let t=s.detailed[e];if(t&&t.success){let e=t.data,n=e?.id??t.requestId,r=I({...o,...e,folderId:e?.folderId??a});this._cache.upsertEntity(r),t.requestId=n}}s.success===void 0&&(s.success=!s.detailed.some(e=>!e.success))}else s.success=s.error?!1:!!s.success}else if(typeof this._dataProvider.uploadFile==`function`)s.detailed=await Promise.all(n.map(async e=>{let t=this.normalizeId(e.folderId??a);try{let n=await this._uploadFile({...e,folderId:t});return{requestId:n.id,data:n,success:!0}}catch(t){return{requestId:e?.id,success:!1,error:t}}})),s.success=!s.detailed.some(e=>!e.success);else throw new r.eo(`Upload files is not supported by data provider`,`UnsupportedOperation`);if(s.success&&this._enableTrash)try{this._cache.forceInvalidate(a)}catch{}return s}async deleteFile(e){let t=this.normalizeId(e),n=[t];this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash){let e=await this.getTrashFolder();return await this.moveItem({itemId:t,targetFolderId:e.id,isFolder:!1})}return await this.hardDeleteItem(t)}finally{this._mutationRegistry.endDeleting(n)}}async deleteItems(e,t){let n=Array.from(new Set(e.flatMap(e=>this._collectDeletingIds(this.normalizeId(e)))));this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash&&t.permanent!==!0){let t=await this.getTrashFolder();return await this.moveItems(t.id,e)}return await this.hardDeleteItems(e,t)}finally{this._mutationRegistry.endDeleting(n)}}async hardDeleteItems(e,t){let n={success:!0,detailed:[]},i=t.permanent?null:await this.getTrashFolder();if(typeof this._dataProvider.deleteItems==`function`){if(n=P(await this._dataProvider.deleteItems(e.map(e=>this._cache.getEntity(e)),t),e=>e),n.success){let t=n.detailed||e.map(e=>({requestId:e,success:!0,error:void 0}));for(let e of t)e.success&&(i?this._cache.moveEntity(e.requestId,i.id):this._cache.deleteEntity(e.requestId))}}else typeof this._dataProvider.deleteItem==`function`&&(n.detailed=await Promise.all(e.map(async e=>{let n=this._cache.getEntity(e);if(!n){let{__:t}=this.i18n;return{requestId:e,success:!1,error:new r.eo(t(`Item with id '%s' not found`).replace(`%s`,e),`FileNotFound`)}}try{return await this._dataProvider.deleteItem(n,t),i?this._cache.moveEntity(e,i.id):this._cache.deleteEntity(e),{requestId:e,success:!0}}catch(t){return{requestId:e,error:t,success:!1}}})),n.success=!n.detailed.some(e=>!e.success));if(n.success&&i)try{this._cache.forceInvalidate(i.id)}catch{}return n}async hardDeleteItem(e){let t=this._cache.getEntity(e);if(!t){let{__:t}=this.i18n;throw new r.eo(t(`Item with id '%s' not found in cache`).replace(`%s`,e),`FileNotFound`)}if(typeof this._dataProvider.deleteItem!=`function`){let{__:e}=this.i18n;throw new r.eo(e(`Delete item operation is not supported by data provider`),`DeleteNotAllowed`)}if(await this._dataProvider.deleteItem(t,{permanent:!0}),this._cache.deleteEntity(e),this._enableTrash)try{let e=await this.getTrashFolder();e&&this._cache.forceInvalidate(e.id)}catch{}return!0}async cleanTrash(){let{__:e}=this.i18n;if(!this._enableTrash)throw new r.eo(e(`Trash is not enabled`),`UnsupportedOperation`);if(typeof this._dataProvider.cleanTrash==`function`){let e=await this._dataProvider.cleanTrash();try{let e=await this.getTrashFolder();e&&this._cache.forceInvalidate(e.id)}catch{}return e}throw new r.eo(e(`Clean trash is not supported by data provider`),`UnsupportedOperation`)}async createFolder({name:e,parentId:t,is_force_create:n}){let i=this.normalizeId(t??this._rootId);if(this._validateName(e,!0),this._validateDuplicates&&this._checkNameExistsInCache(i,e,!0)){let{__:t}=this.i18n;throw new r.eo(t(`Folder '%s' already exists in parent folder`).replace(`%s`,e),`FolderAlreadyExists`)}let a=await this._dataProvider.createFolder(e,i,n),o=I({id:a.id,folderId:i,name:a.name,isFolder:!0,childrenCount:a.childrenCount});return this._cache.upsertEntity(o),{...a,name:o.name}}async deleteFolder(e){let t=this.normalizeId(e),n=this._collectDeletingIds(t);this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash)try{let e=await this.getTrashFolder();return await this.moveItem({itemId:t,targetFolderId:e.id,isFolder:!0})?(this._cache.deleteFolderRecursive(t),!0):!1}catch{return await this.hardDeleteItem(t)}return await this.hardDeleteItem(t)}finally{this._mutationRegistry.endDeleting(n)}}async renameFolder(e,t){let{__:n}=this.i18n;if(typeof this._dataProvider.renameItem!=`function`)throw new r.eo(n(`Rename folder is not supported`),`RenameNotAllowed`);let i=this.normalizeId(e),a=this._cache.getEntity(i);if(!a)throw new r.eo(n(`Folder with id '%s' not found in cache`).replace(`%s`,e),`FolderNotFound`);if(this._validateName(t,!0),this._validateDuplicates){let e=this.normalizeId(a.folderId);if(this._checkNameExistsInCache(e,t,!0,i))throw new r.eo(n(`Folder '%s' already exists in parent folder`).replace(`%s`,t),`FolderAlreadyExists`)}let o=R(await this._dataProvider.renameItem(a,t));return this._cache.upsertEntity(I({...this._cache.getEntity(o.id),...o})),this._cache.getEntity(o.id)}async renameFile(e,t){let{__:n}=this.i18n;if(typeof this._dataProvider.renameItem!=`function`)throw new r.eo(n(`Rename file is not supported`),`RenameNotAllowed`);let i=this._cache.getEntity(e);if(!i)throw new r.eo(n(`File with id '%s' not found in cache`).replace(`%s`,e),`FileNotFound`);let a=this.normalizeId(e);if(this._validateName(t,!1),this._validateDuplicates){let e=this.normalizeId(i.folderId);if(this._checkNameExistsInCache(e,t,!1,a))throw new r.eo(n(`File '%s' already exists in parent folder`).replace(`%s`,t),`FileAlreadyExists`)}let o=R(await this._dataProvider.renameItem(i,t));return o&&this._cache.upsertEntity(I({...this._cache.getEntity(a),...o})),this._cache.getEntity(a)}async moveItem({itemId:e,targetFolderId:t,isFolder:n}){if(typeof this._dataProvider.moveItem!=`function`){let{__:e}=this.i18n;throw new r.eo(e(`Move item operation is not supported by data provider`),`MoveNotAllowed`)}let i=this.normalizeId(t);this._validateTargetFolderType(t);let a=this._cache.getEntity(e);if(!a){let t=R(await this._dataProvider.moveItem({id:e,folderId:i,isFolder:n},i));if(t.id===e)this._cache.upsertEntity(I({...t,folderId:i}));else{try{this._cache.deleteEntity(e)}catch{}this._cache.upsertEntity(I({...t,folderId:i}))}return!0}let{__:o}=this.i18n;if(a.isFolder){if(e===i)throw new r.eo(o(`Cannot move folder into itself`),`MoveIntoSelf`);if(this._isAncestor(e,i))throw new r.eo(o(`Cannot move folder into its descendant`),`MoveIntoDescendant`)}if(this._validateDuplicates&&i!==this.normalizeId(a.folderId)&&a.name&&this._checkNameExistsInCache(i,a.name,!!a.isFolder,e)){let e=a.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new r.eo(`${a.isFolder?`Folder`:`File`} '${a.name}' already exists in target folder`,e)}let s=R(await this._dataProvider.moveItem(a,i));if(s.id===e){let t=this._cache.moveEntity(e,i);return this._cache.upsertEntity(I({...t,...s})),!0}else{let t=this._cache.deleteEntity(e);return this._cache.upsertEntity(I({...t,...s,folderId:i})),!0}}async moveItems(e,t){let n=this.normalizeId(e);this._validateTargetFolderType(e);let i=t.map(e=>this._cache.getEntity(e));for(let e of i)if(e){if(e.isFolder){let{__:t}=this.i18n;if(e.id===n)throw new r.eo(t(`Cannot move folder '%s' into itself`).replace(`%s`,e.name),`MoveIntoSelf`);if(this._isAncestor(e.id,n))throw new r.eo(t(`Cannot move folder '%s' into its descendant`).replace(`%s`,e.name),`MoveIntoDescendant`)}if(this._validateDuplicates&&n!==this.normalizeId(e.folderId)&&e.name&&this._checkNameExistsInCache(n,e.name,!!e.isFolder,e.id)){let t=e.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new r.eo(`${e.isFolder?`Folder`:`File`} '${e.name}' already exists in target folder`,t)}}let a={detailed:Array(i.length),success:!0};if(typeof this._dataProvider.moveItems==`function`)a=P(await this._dataProvider.moveItems(i,n),e=>e);else if(typeof this._dataProvider.moveItem==`function`)a.detailed=await Promise.all(t.map(async(e,t)=>{let r=i[t]||{id:e,folderId:null,isFolder:!1,name:e};try{return{requestId:e,data:R(await this._dataProvider.moveItem(r,n)),success:!0}}catch(t){return{requestId:e,success:!1,error:t}}}));else throw new r.eo(`Move items is not supported`,`MoveNotAllowed`);if(a.success){let e=a.detailed||t.map(e=>({requestId:e,success:!0,data:void 0}));for(let t of e)if(t.success)if(!t.data||t.data.id===t.requestId)this._cache.moveEntity(t.requestId,n),t.data&&this._cache.upsertEntity(I({...this._cache.getEntity(t.requestId),...t.data,folderId:n}));else{let e=this._cache.deleteEntity(t.requestId);this._cache.upsertEntity(I({...e,...t.data,folderId:n}))}return a}else{let{__:e}=this.i18n;return{success:!1,error:a.error||new r.eo(e(`Move items failed`),`MoveNotAllowed`)}}}async copyItem({itemId:e,targetFolderId:t}){if(typeof this._dataProvider.copyItem!=`function`){let{__:e}=this.i18n;throw new r.eo(e(`Copy item is not supported`),`CopyNotAllowed`)}let n=this.normalizeId(t);this._validateTargetFolderType(t);let i=this._cache.getEntity(e);if(!i){let t=R(await this._dataProvider.copyItem({id:e,folderId:n},n));return this._cache.copyEntity(e,n,t.id),this._cache.upsertEntity(I({...t,folderId:n})),!0}if(this._validateDuplicates&&i.name){let t=n===this.normalizeId(i.folderId)?e:void 0;if(this._checkNameExistsInCache(n,i.name,!!i.isFolder,t)){let e=i.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new r.eo(`${i.isFolder?`Folder`:`File`} '${i.name}' already exists in target folder`,e)}}let a=R(await this._dataProvider.copyItem(i,n));return this._cache.copyEntity(e,n,a.id,{...a,folderId:n})||this._cache.upsertEntity(I({...a,folderId:n})),!0}async copyItems(e,t){let n=this.normalizeId(e);this._validateTargetFolderType(e);let i=t.map(e=>typeof e==`string`?{id:e}:e),a=i.map(e=>e.id),o=a.map((e,t)=>{let n=this._cache.getEntity(e),r=i[t]?.newName;return n?r?{...n,name:r}:n:void 0});if(this._validateDuplicates)for(let e=0;e<o.length;e++){let t=o[e];if(t&&t.name){let i=n===this.normalizeId(t.folderId)?a[e]:void 0;if(this._checkNameExistsInCache(n,t.name,!!t.isFolder,i)){let e=t.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new r.eo(`${t.isFolder?`Folder`:`File`} '${t.name}' already exists in target folder`,e)}}}let s={detailed:Array(o.length),success:!0};if(typeof this._dataProvider.copyItems==`function`)s=P(await this._dataProvider.copyItems(o,n),e=>e);else if(typeof this._dataProvider.copyItem==`function`)s.detailed=await Promise.all(a.map(async(e,t)=>{let r=o[t]||{id:e,folderId:null,isFolder:!1};try{return{requestId:e,data:R(await this._dataProvider.copyItem(r,n)),success:!0}}catch(t){return{requestId:e,success:!1,error:t}}}));else{let{__:e}=this.i18n;throw new r.eo(e(`Copy items is not supported`),`CopyNotAllowed`)}if(s.success&&s.detailed)for(let e=0,t=s.detailed.length;e<t;e++){let t=s.detailed[e];if(t.success&&t.data?.id){let e=t.data.folderId||n;!this._cache.copyEntity(t.requestId,e,t.data.id,{...t.data,folderId:e})&&t.data&&this._cache.upsertEntity(I({...t.data,folderId:e}))}}else if(!s.detailed)throw new r.eo(`batchResult in copy method must have detailed results`,`ValidationError`);return s}async uploadFileByUrl(e){if(e.noFolder){let t=await this.getTempFolder();e={...e,folderId:t.id}}let t=this.normalizeId(e.folderId??this._rootId);try{let n=I({...await this._dataProvider.uploadFileByUrl(e.url,t,{eventSource:e.eventSource}),folderId:t});return this._cache.upsertEntity(n),n}catch(e){throw e}}async updateFile(e,t){let{__:n}=this.i18n;if(typeof this._dataProvider.updateFile!=`function`)throw new r.eo(n(`Update file is not supported`),`UnsupportedOperation`);let i=this.normalizeId(e),a=this._cache.getEntity(i);if(!a)throw new r.eo(n(`File with id '%s' not found in cache`).replace(`%s`,e),`FileNotFound`);if(t.name&&t.name!==a.name&&this._validateName(t.name,!1),this._validateDuplicates&&t.name&&t.name!==a.name){let e=this.normalizeId(a.folderId);if(this._checkNameExistsInCache(e,t.name,!1,i))throw new r.eo(n(`File '%s' already exists in parent folder`).replace(`%s`,t.name),`FileAlreadyExists`)}let o=R(await this._dataProvider.updateFile(a,{...t}));return this._cache.upsertEntity(I({...this._cache.getEntity(i),...o,...t})),this._cache.getEntity(i)}};Object.defineProperty(t,"i",{enumerable:!0,get:function(){return a}}),Object.defineProperty(t,"n",{enumerable:!0,get:function(){return p}}),Object.defineProperty(t,"r",{enumerable:!0,get:function(){return l}}),Object.defineProperty(t,"t",{enumerable:!0,get:function(){return V}})});
|
|
1
|
+
__emailmaker__.define(`static/core/e98b9b31.js`,[`require`,`exports`,`module`,`static/core/879e09e7.js`,`static/core/59bd13fd.js`],function(e,t,n){let r=e("./879e09e7.js"),i=e("./59bd13fd.js");var a;(function(e){function t(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1;return!0}e.isEqual=t;function n(e,t=e=>e){let n=new Set;return e.filter(e=>{let r=t(e);return n.has(r)?!1:(n.add(r),!0)})}e.unique=n;function r(e=[],t=[],n=(e,t)=>e===t){let r=[],i=[],a=[];for(let r of e){let e=t.find(e=>n(r,e));e?a.push({prev:r,next:e}):i.push(r)}for(let i of t)e.find(e=>n(i,e))||r.push(i);return{added:r,removed:i,exists:a}}e.diff=r})(a||={});var o=``,s=`Trash`,c=`Trash`,l=class{_inner;rootPath;trashId;trashPath;ensureFolderTrailingSlash;i18n;_pathToId=new Map;_idToPath=new Map;getUrl;getThumbnailUrl;validateDuplicates;constructor(e,t=o,n=c,r=s,a=!0,l=i.m){this._inner=e,this.rootPath=t,this.trashId=n,this.trashPath=r,this.ensureFolderTrailingSlash=a,this.i18n=l,this.validateDuplicates=this._inner.validateDuplicates,typeof e.getUrl==`function`&&(this.getUrl=t=>e.getUrl({...t,id:this.pathForId(t.id,!1),folderId:t.folderId?this.pathForId(t.folderId,!0):this.rootPath})),typeof e.getThumbnailUrl==`function`&&(this.getThumbnailUrl=t=>e.getThumbnailUrl({...t,id:this.pathForId(t.id,!1),folderId:t.folderId?this.pathForId(t.folderId,!0):this.rootPath})),typeof this._inner.deleteItems!=`function`&&(this.deleteItems=void 0),typeof this._inner.deleteItem!=`function`&&(this.deleteItem=void 0),typeof this._inner.moveItems==`function`?this.moveItem=void 0:this.moveItems=void 0,typeof this._inner.copyItems==`function`?this.copyItem=void 0:this.copyItems=void 0,typeof this._inner.uploadFiles==`function`?this.uploadFile=void 0:this.uploadFiles=void 0,typeof this._inner.clearCache!=`function`&&(this.clearCache=void 0),this._getOrGenerateId(this.rootPath)}setController(e){typeof this._inner.setController==`function`&&this._inner.setController({invalidateItemCache:t=>{let n=t.replace(/^\/+|\/+$/g,``),r=this._pathToId.get(n);r&&e.invalidateItemCache(r)},getCachedItem:t=>{let n=t.replace(/^\/+|\/+$/g,``),r=this._pathToId.get(n);if(r){let t=e.getCachedItem(r);if(t)return{...t,id:this.pathForId(t.id,t.isFolder),folderId:this.pathForId(t.folderId,t.isFolder)}}}})}clearCache(e){if(typeof this._inner.clearCache==`function`)return this._inner.clearCache(e)}_getOrGenerateId(e){if(e===this.rootPath)return;let t=e.replaceAll(/^\/+|\/+$/g,``);if(t===this.trashPath.replaceAll(/^\/+|\/+$/g,``))return this.trashId;if(this._pathToId.has(t))return this._pathToId.get(t);let n=r.ro();return this._pathToId.set(t,n),this._idToPath.set(n,t),n}pathForId(e,t,n){let{__:i}=this.i18n;if(e===``||e===void 0)return this.rootPath;if(e===this.trashId)return this.trashPath;let a=this._idToPath.get(e);if(!a){if(n)return`unknown folder ${e}`;throw new r.eo(i?i(`Path for id '${e}' not found in mapping`):`Path for id '${e}' not found in mapping`,`FileNotFound`)}let o=0;for(;o<this.rootPath.length&&this.rootPath[o]===`/`;)o++;if(o){let e=0;for(;e<a.length&&a[e]===`/`;)e++;let t=a.slice(e);a=`/`.repeat(o)+t}return t&&this.ensureFolderTrailingSlash&&!a.endsWith(`/`)&&(a+=`/`),a}_updateIdMapping(e,t){let n=t.replace(/^\/+|\/+$/g,``),r=this._idToPath.get(e);r&&this._pathToId.delete(r),this._idToPath.set(e,n),this._pathToId.set(n,e)}async getItems(e){let t=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,n=await this._inner.getItems({...e,folderId:t}),r=n.items.map(e=>{let t=this._getOrGenerateId(e.id),n=e.folderId?this._getOrGenerateId(e.folderId):this._getOrGenerateId(this.rootPath);return{...e,id:t,folderId:n}});return{...n,items:r}}async createFolder(e,t,n){let r=t?this.pathForId(t,!0):this.rootPath,i=await this._inner.createFolder(e,r,n),a=this._getOrGenerateId(i.id),o=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return{...i,id:a,folderId:o}}async renameItem(e,t){let{__:n}=this.i18n;if(typeof this._inner.renameItem!=`function`)throw new r.eo(n?n(`Rename item is not supported by inner storage`):`Rename item is not supported by inner storage`,`RenameNotAllowed`);let i=this.pathForId(e.id,e.isFolder),a=i,{...o}=await this._inner.renameItem({...e,id:i,folderId:this.pathForId(e.folderId,!0)},t);return this._updateIdMapping(e.id,o.id),e.isFolder&&this.remapCachedFolderContents(e.id,a,o.id),o.folderId&&(o={...o,folderId:this._getOrGenerateId(o.folderId)}),{...o,id:this._getOrGenerateId(o.id)}}async deleteItem(e,t){let{__:n}=this.i18n;if(typeof this._inner.deleteItem!=`function`)throw new r.eo(n?n(`Delete item is not supported by inner storage`):`Delete item is not supported by inner storage`,`DeleteNotAllowed`);let i=this.pathForId(e.id,e.isFolder);await this._inner.deleteItem({...e,id:i,folderId:this.pathForId(e.folderId,!0)},t),this.recursivelyRemoveMappings(e.id,i)}async uploadFile(e){let{__:t}=this.i18n;if(typeof this._inner.uploadFile!=`function`)throw new r.eo(t?t(`Upload file is not supported by inner storage`):`Upload file is not supported by inner storage`,`UnsupportedOperation`);let n=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,i=await this._inner.uploadFile({...e,folderId:n}),a=this._getOrGenerateId(i.id),o=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return{...i,id:a,folderId:o}}async uploadFiles(e){let t=e.folderId,n=e.items?.map(e=>e.folderId)??[],r=e.folderId?this.pathForId(e.folderId,!0):this.rootPath,i={...e,folderId:r,items:e.items?.map(e=>({...e,folderId:e.folderId?this.pathForId(e.folderId,!0):r}))??[]},a=await this._inner.uploadFiles(i);return{...a,detailed:a.detailed?.map((e,r)=>{if(!e?.data)return e;let i=e.data.id?this._getOrGenerateId(e.data.id):void 0,a=e.data.folderId?this._getOrGenerateId(e.data.folderId):n[r]??t??this._getOrGenerateId(this.rootPath);return{...e,data:{...e.data,id:i,folderId:a}}})}}async findFileByUrl(e,t){let n=t?this.pathForId(t,!0):this.rootPath;if(typeof this._inner.findFileByUrl==`function`){let t=await this._inner.findFileByUrl(e,n);if(!t)return;let r=this._getOrGenerateId(t.id),i=t.folderId?this._getOrGenerateId(t.folderId):this._getOrGenerateId(this.rootPath);return{...t,id:r,folderId:i}}}async uploadFileByUrl(e,t,n){let r=t?this.pathForId(t,!0):this.rootPath,i=await this._inner.uploadFileByUrl(e,r,n),a=this._getOrGenerateId(i.id),o=i.folderId?this._getOrGenerateId(i.folderId):this._getOrGenerateId(this.rootPath);return{...i,id:a,folderId:o}}async moveItem(e,t){let{__:n}=this.i18n;if(typeof this._inner.moveItem!=`function`)throw new r.eo(n?n(`Move item is not supported by inner storage`):`Move item is not supported by inner storage`,`MoveNotAllowed`);let i=this.pathForId(e.id,e.isFolder),a=this.pathForId(t,!0),o=await this._inner.moveItem({...e,id:i,folderId:this.pathForId(e.folderId,!0)},a);this._updateIdMapping(e.id,o.id),e.isFolder&&this.remapCachedFolderContents(e.id,i,o.id);let s=this._getOrGenerateId(o.id),c=o.folderId?this._getOrGenerateId(o.folderId):t;return{...o,id:s,folderId:c}}async moveItems(e,t){let{__:n}=this.i18n;if(typeof this._inner.moveItems!=`function`)throw new r.eo(n?n(`Move items is not supported by inner storage`):`Move items is not supported by inner storage`,`MoveNotAllowed`);let i=t?this.pathForId(t,!0):this.rootPath,a=e.map(e=>({...e,id:this.pathForId(e.id,e.isFolder),folderId:e.folderId?this.pathForId(e.folderId,!0):this.rootPath})),o=await this._inner.moveItems(a,i),s=[];if(o.detailed&&o.detailed.length>0){let r=new Map;for(let t=0;t<o.detailed.length;t++){let n=o.detailed[t],i=n.requestId||(t<e.length?e[t].id:void 0);i&&r.set(i,n)}for(let i of e){let a=r.get(i.id)||(o.detailed.length===e.length?o.detailed[e.indexOf(i)]:void 0);if(a?.success&&a.data){if(this._updateIdMapping(i.id,a.data.id),i.isFolder){let e=this.pathForId(i.id,i.isFolder);this.remapCachedFolderContents(i.id,e,a.data.id)}s.push({requestId:i.id,success:!0,data:{...a.data,id:this._getOrGenerateId(a.data.id),folderId:a.data.folderId?this._getOrGenerateId(a.data.folderId):t||this._getOrGenerateId(this.rootPath)}})}else{let e=n?n(`Move operation failed - no detailed result`):`Move operation failed - no detailed result`;s.push({requestId:i.id,success:!1,error:a?.error||{message:e,code:`MoveNotAllowed`}})}}}else for(let t of e){let e=n?n(`Move operation failed - no detailed results`):`Move operation failed - no detailed results`;s.push({requestId:t.id,success:!1,error:{message:e,code:`MoveNotAllowed`}})}return{success:o.success,detailed:s,error:o.error}}async copyItems(e,t){let{__:n}=this.i18n;if(typeof this._inner.copyItems!=`function`)throw new r.eo(n?n(`Copy items is not supported by inner storage`):`Copy items is not supported by inner storage`,`CopyNotAllowed`);let i=t?this.pathForId(t,!0):this.rootPath,a=e.map(e=>({...e,id:this.pathForId(e.id,e.isFolder),folderId:e.folderId?this.pathForId(e.folderId,!0):this.rootPath})),o=await this._inner.copyItems(a,i),s=[];if(o.detailed&&o.detailed.length>0){let r=new Map;for(let t=0;t<o.detailed.length;t++){let n=o.detailed[t],i=n.requestId||(t<e.length?e[t].id:void 0);i&&r.set(i,n)}for(let i of e){let a=r.get(i.id)||(o.detailed.length===e.length?o.detailed[e.indexOf(i)]:void 0);if(a?.success&&a.data?.id){let e=this._getOrGenerateId(a.data.id);s.push({requestId:i.id,success:!0,data:{...a.data,id:e,folderId:a.data.folderId?this._getOrGenerateId(a.data.folderId):t||this._getOrGenerateId(this.rootPath)}})}else{let e=a?a.success?a.data?a.data.id?{message:n?n(`Unknown copy error`):`Unknown copy error`,code:`CopyNotAllowed`}:{message:n?n(`No ID in copied item data`):`No ID in copied item data`,code:`CopyNotAllowed`}:{message:n?n(`No data returned from copy operation`):`No data returned from copy operation`,code:`CopyNotAllowed`}:a.error||{message:n?n(`Copy operation failed`):`Copy operation failed`,code:`CopyNotAllowed`}:{message:n?n(`No detailed result from copy operation`):`No detailed result from copy operation`,code:`CopyNotAllowed`};s.push({requestId:i.id,success:!1,error:e})}}}else for(let t of e){let e=n?n(`No detailed results from copy operation`):`No detailed results from copy operation`;s.push({requestId:t.id,success:!1,error:{message:e,code:`CopyNotAllowed`}})}let c=s.every(e=>e.success),l=n?n(`Copy operation completed with errors`):`Copy operation completed with errors`;return{success:c,detailed:s,error:c?void 0:o.error||{message:l,code:`CopyNotAllowed`}}}async deleteItems(e,t){let{__:n}=this.i18n;if(typeof this._inner.deleteItems!=`function`)throw new r.eo(n?n(`Delete items is not supported by inner storage`):`Delete items is not supported by inner storage`,`DeleteNotAllowed`);let i=e.map(e=>({...e,id:this.pathForId(e.id,e.isFolder),folderId:e.folderId?this.pathForId(e.folderId,!0):this.rootPath})),a=await this._inner.deleteItems(i,t),o=[];if(a.detailed&&a.detailed.length>0){let r=new Map;for(let t=0;t<a.detailed.length;t++){let n=a.detailed[t],i=n.requestId||(t<e.length?e[t].id:void 0);i&&r.set(i,n)}for(let i of e){let s=r.get(i.id)||(a.detailed.length===e.length?a.detailed[e.indexOf(i)]:void 0);if(s?.success){let e=this.pathForId(i.id,i.isFolder);if(t.permanent)this.recursivelyRemoveMappings(i.id,e);else if(this._updateIdMapping(i.id,this.trashPath+`/`+e+(i.isFolder?`/`:``)),i.isFolder){let t=this.pathForId(i.id,i.isFolder);this.remapCachedFolderContents(i.id,t,this.trashPath+`/`+e+(i.isFolder?`/`:``))}o.push({requestId:i.id,success:!0})}else{let e=n?n(`Delete operation failed`):`Delete operation failed`;o.push({requestId:i.id,success:!1,error:s?.error||{message:e,code:`DeleteNotAllowed`}})}}}else for(let r of e)if(a.success){let e=this.pathForId(r.id,r.isFolder);if(t.permanent)this.recursivelyRemoveMappings(r.id,e);else if(this._updateIdMapping(r.id,this.trashPath+`/`+e+(r.isFolder?`/`:``)),r.isFolder){let t=this.pathForId(r.id,r.isFolder);this.remapCachedFolderContents(r.id,t,this.trashPath+`/`+e+(r.isFolder?`/`:``))}o.push({requestId:r.id,success:!0})}else{let e=n?n(`Delete operation failed`):`Delete operation failed`;o.push({requestId:r.id,success:!1,error:a.error||{message:e,code:`DeleteNotAllowed`}})}let s=o.every(e=>e.success),c=n?n(`Some items failed to delete`):`Some items failed to delete`;return{success:s,detailed:o,error:s?void 0:a.error||{message:c,code:`DeleteNotAllowed`}}}remapCachedFolderContents(e,t,n){let r=t.replace(/\/+$/,``),i=n.replace(/\/+$/,``),a=[];for(let[e,t]of this._idToPath.entries()){let n=t.replace(/\/+$/,``);n!==r&&n.startsWith(r+`/`)&&a.push({id:e,oldPath:n})}for(let{id:e,oldPath:t}of a){let n=i+t.substring(r.length);this._updateIdMapping(e,n)}}recursivelyRemoveMappings(e,t){let n=t.replace(/\/+$/,``),r=[],i=[];for(let[e,t]of this._idToPath.entries()){let a=t.replace(/\/+$/,``);(a===n||a.startsWith(n+`/`))&&(r.push(e),i.push(a))}for(let e=0;e<r.length;e++)this._idToPath.delete(r[e]),this._pathToId.delete(i[e])}async copyItem(e,t){let{__:n}=this.i18n;if(typeof this._inner.copyItem!=`function`)throw new r.eo(n?n(`Copy item is not supported by inner storage`):`Copy item is not supported by inner storage`,`CopyNotAllowed`);let i=this.pathForId(e.id,e.isFolder),a=this.pathForId(t,!0),o=await this._inner.copyItem({...e,id:i,folderId:this.pathForId(e.folderId,!0)},a),s=this._getOrGenerateId(o.id),c=o.folderId?this._getOrGenerateId(o.folderId):t;return{...o,id:s,folderId:c}}async updateFile(e,t){let{__:n}=this.i18n;if(typeof this._inner.updateFile!=`function`)throw new r.eo(n?n(`Update file is not supported by inner storage`):`Update file is not supported by inner storage`,`UnsupportedOperation`);let i=this.pathForId(e.id,!1),{...a}=await this._inner.updateFile({...e,id:i,folderId:this.pathForId(e.folderId,!0)},t);return this._updateIdMapping(e.id,a.id),a.folderId&&(a={...a,folderId:this._getOrGenerateId(a.folderId)}),{...a,id:this._getOrGenerateId(a.id)}}async getFileData(e,t){let{__:n}=this.i18n,i=this.pathForId(e.id,!1);if(typeof this._inner.getFileData==`function`)return this._inner.getFileData({...e,id:i,folderId:this.pathForId(e.folderId,!0)},t);let a=e.url||(typeof this.getUrl==`function`?await this.getUrl(e):void 0);if(!a)throw new r.eo(n?n(`Cannot get file data: no url and no inner.getFileData`):`Cannot get file data: no url and no inner.getFileData`,`FileReadError`);return fetch(a,t?.forceReload?{cache:`no-store`}:void 0).then(e=>e.blob())}async cleanTrash(){let{__:e}=this.i18n;if(typeof this._inner.cleanTrash!=`function`)throw new r.eo(e?e(`Clean trash is not supported by inner storage`):`Clean trash is not supported by inner storage`,`UnsupportedOperation`);return await this._inner.cleanTrash()}},u=``,d=class{map=new Map;static childrenViewKey(e,t){return`v${u}${e}${u}${t}`}static childrenCountKey(e){return`c${u}${e}`}getFreshError(e,t){let n=this.map.get(e);return n?t!==1/0&&Date.now()-n.updatedAt>t?(this.map.delete(e),null):n.error:null}setError(e,t){this.map.set(e,{error:t,updatedAt:Date.now()})}delete(e){this.map.delete(e)}clearChildrenViewErrorsForParent(e){let t=`v${u}${e}${u}`;for(let e of[...this.map.keys()])e.startsWith(t)&&this.map.delete(e)}clearAll(){this.map.clear()}},f=``,p=1800*1e3;function m(e){return e==null||e===``?f:e}function h(e){if(e==null)return 1/0;let t=Number(e);return Number.isFinite(t)&&t>=0?t:1/0}function g(e){return!e||typeof e.search!=`string`?!1:e.search.trim().length>0}function _(e){if(!e)return null;let t=e.folderId;return t==null?null:String(t)}function v(e){return!!e&&e.isFolder}function y(){if(typeof globalThis?.crypto?.randomUUID==`function`)return globalThis.crypto.randomUUID();try{let e=globalThis.crypto||globalThis.msCrypto;if(e&&typeof e.getRandomValues==`function`){let t=new Uint8Array(16);e.getRandomValues(t);let n=``;for(let e=0;e<t.length;e++)n+=t[e].toString(16).padStart(2,`0`);return`id_${n}`}}catch{}return`id_fallback_${Date.now().toString(36)}_${Math.floor(Math.random()*(2**53-1)).toString(36).slice(0,8)}`}function b(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.code===`path_folder_not_found`||t.data?.code===`path_folder_not_found`||t.status===404||t.data?.data?.status===404}function x(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=t+((t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24))>>>0;return t.toString(36)}function S(e){if(!e||typeof e!=`object`)return String(e??``);let t=e,n=[],r={},i=[`page`,`pageSize`,`sortBy`,`sortOrder`,`search`,`itemType`,`limit`];for(let e of Object.keys(t).sort()){let a=t[e];i.includes(e)?n.push(`${e}=${String(a??``)}`):r[e]=a}let a=Object.keys(r).length?JSON.stringify(r):``,o=n.join(`|`),s=a?x(a):``;return`${o}${s?`|${s}`:``}`}var C=class e{entities=new Map;childrenByParent=new Map;maxCacheSize=1e4;now(){return Date.now()}checkCacheSize(){if(this.entities.size>this.maxCacheSize){let e=Array.from(this.entities.entries()).sort((e,t)=>e[1].updatedAt-t[1].updatedAt),t=Math.floor(this.maxCacheSize*.1);for(let n=0;n<t&&n<e.length;n++){let[t,r]=e[n];this.deleteEntityById(t)}}}getEntity(e){return this.entities.get(e)?.value}getRecord(e){return this.entities.get(e)}getFileSystemItem(e){let t=this.getEntity(e);return t&&!v(t)?t:void 0}getFolder(e){let t=this.getEntity(e);return t&&v(t)?t:void 0}getChildrenIds(e,t={}){let n=m(e),r=this.childrenByParent.get(n);return r?t.onlyFileSystemItems?Array.from(r.files):t.onlyFolders?Array.from(r.folders):[...Array.from(r.folders),...Array.from(r.files)]:[]}searchByUrl(e){for(let t of this.entities.values())if(t.value.url===e)return t.value;return null}upsertEntity(e){let t=this.entities.get(e.id)??null,n=t?t.value:null,r=n?_(n):null,i=_(e),a=n?v(n):!1,o=v(e),s;if(n&&v(n)&&o){let t=n.childrenCount,r=e.childrenCount;t!==void 0&&r===void 0&&(s=t)}if(n&&(r!==i||a!==o)){let t=m(r),n=this.childrenByParent.get(t);n&&(a?n.folders.delete(e.id):n.files.delete(e.id),n.files.size===0&&n.folders.size===0&&this.childrenByParent.delete(t))}let c=e;s!==void 0&&(c={...e,childrenCount:s}),this.entities.set(e.id,{value:{...c},updatedAt:this.now()}),this.checkCacheSize();let l=m(i),u=this.childrenByParent.get(l);u||(u={files:new Set,folders:new Set},this.childrenByParent.set(l,u)),o?u.folders.add(e.id):u.files.add(e.id)}updateServerChildrenCount(e,t){if(e==null||t==null||Number.isNaN(t))return;let n=this.entities.get(e);if(!n||!v(n.value))return;let r={...n.value,childrenCount:t};this.entities.set(e,{value:r,updatedAt:this.now()})}deleteEntityById(e){let t=this.entities.get(e)??null;if(!t)return{entity:null,parentId:null};let n=t.value,r=_(n),i=m(r),a=this.childrenByParent.get(i);return a&&(v(n)?a.folders.delete(e):a.files.delete(e),a.files.size===0&&a.folders.size===0&&this.childrenByParent.delete(i)),this.entities.delete(e),{entity:{...n},parentId:r}}deleteFolderRecursive(e){let t=this.entities.get(e);if(!t||!v(t.value))return{deletedFolderRecords:[],deletedFileSystemItemRecords:[]};let n=[{id:e,parentId:_(t.value)}],r=[],i=[];for(;n.length;){let e=n.shift();r.push(e);let t=this.childrenByParent.get(m(e.id));if(t){for(let e of Array.from(t.folders)){let t=this.entities.get(e);t&&n.push({id:e,parentId:_(t.value)})}for(let e of Array.from(t.files))i.push(e)}}let a=[];for(let e of i){let t=this.entities.get(e);if(!t)continue;let n=t.value,r=m(_(n)),i=this.childrenByParent.get(r);i&&(i.files.delete(e),i.files.size===0&&i.folders.size===0&&this.childrenByParent.delete(r)),this.entities.delete(e),a.push({...n})}let o=[];for(let e=r.length-1;e>=0;e--){let{id:t,parentId:n}=r[e],i=this.entities.get(t);if(!i)continue;let a=i.value,s=m(a.id);this.childrenByParent.delete(s);let c=m(n),l=this.childrenByParent.get(c);l&&(l.folders.delete(t),l.files.size===0&&l.folders.size===0&&this.childrenByParent.delete(c)),this.entities.delete(t),o.push({...a})}return{deletedFolderRecords:o,deletedFileSystemItemRecords:a}}moveEntityById(e,t){let n=this.entities.get(e)??null;if(!n)return null;let r=n.value,i=m(_(r)),a=this.childrenByParent.get(i);a&&(v(r)?a.folders.delete(e):a.files.delete(e),a.files.size===0&&a.folders.size===0&&this.childrenByParent.delete(i));let o={...r,folderId:t};if(v(r)&&v(o)){let e=r.childrenCount;e!==void 0&&(o.childrenCount=e)}this.entities.set(e,{value:o,updatedAt:this.now()});let s=m(t),c=this.childrenByParent.get(s);return c||(c={files:new Set,folders:new Set},this.childrenByParent.set(s,c)),v(o)?c.folders.add(e):c.files.add(e),{...o}}copyFileSystemItem(e,t,n){let r=this.entities.get(e)??null;if(!r||v(r.value))return null;let i={...r.value,id:t,folderId:n};return this.upsertEntity(i),{...i}}copyFolderShallow(e,t,n){let r=this.entities.get(e)??null;if(!r||!v(r.value))return null;let i={...r.value,id:t,folderId:n};return this.upsertEntity(i),{...i}}isEntityStale(e,t){let n=this.entities.get(e)??null;return n?t===1/0?!1:this.now()-n.updatedAt>t:!0}touch(e,t){let n=this.entities.get(e);n&&(n.updatedAt=t??this.now())}getEntitiesByIds(e){return e.map(e=>this.entities.get(e)?.value??null)}searchByName(e,t){if(!e||e.trim()===``)return[];let n=t?.parentId,r=t?.recursive??!1,i=t?.itemType??`all`,a=t?.caseSensitive??!1,o=t?.limit??1/0,s=a?e.trim():e.trim().toLowerCase(),c=[],l=null;if(n!==void 0){l=new Set;let e=m(n);if(l.add(e),r){let t=[e],n=new Set;for(;t.length>0;){let e=t.shift();if(n.has(e))continue;n.add(e);let r=this.childrenByParent.get(e);if(r)for(let e of r.folders)l.add(e),t.push(e)}}}for(let[,e]of this.entities){if(c.length>=o)break;let t=e.value;if(l!==null){let e=m(_(t));if(!l.has(e))continue}if(i===`file`&&v(t)||i===`folder`&&!v(t))continue;let n=t.name??``;(a?n:n.toLowerCase()).includes(s)&&c.push({...t})}return c}toJSON(){return{entities:Array.from(this.entities.entries()),childrenByParent:Array.from(this.childrenByParent.entries()).map(([e,t])=>[e,{files:Array.from(t.files),folders:Array.from(t.folders)}])}}static fromJSON(t){let n=new e;for(let[e,r]of t.entities??[])n.entities.set(e,{value:r.value,updatedAt:r.updatedAt});for(let[e,r]of t.childrenByParent??[])n.childrenByParent.set(e,{files:new Set(r.files),folders:new Set(r.folders)});return n}},w=class e{views=new Map;strategy;ttl;errorTtl;entityTtl;failedRequests;serverChildrenCountHandler;childrenCountInvalidator;maxViewsPerParent=50;constructor(e={},t=p,n,r,i=new d){this.strategy={allowSortedInsert:e.allowSortedInsert??!0,allowSearchInsert:e.allowSearchInsert??!0,invalidateOnPaginationFull:e.invalidateOnPaginationFull??!0,preloadPagesBefore:e.preloadPagesBefore??0,preloadPagesAfter:e.preloadPagesAfter??1,comparator:e.comparator,filterMatch:e.filterMatch},this.ttl=t,this.errorTtl=n??t,this.entityTtl=r??t,this.failedRequests=i}setServerChildrenCountHandler(e){this.serverChildrenCountHandler=e}setChildrenCountInvalidator(e){this.childrenCountInvalidator=e}now(){return Date.now()}parentKey(e){return m(e??null)}isExpired(e){return e==null?!0:this.ttl===1/0?!1:this.now()-e>this.ttl}areEntitiesStale(e,t){return e?e.some(e=>!t.getEntity(e)||t.isEntityStale(e,this.entityTtl)):!0}isEntityTypeCompatible(e,t){return!!(!t||t===`all`||t===`file`&&!v(e)||t===`folder`&&v(e))}cleanupOldViews(e){if(e.size<=this.maxViewsPerParent)return;let t=Array.from(e.entries()).sort((e,t)=>(t[1].view.updatedAt||0)-(e[1].view.updatedAt||0));for(;e.size>this.maxViewsPerParent&&t.length>0;){let[n]=t.pop();e.delete(n)}}async getOrCreateChildren(e,t,n,r){let i=this.parentKey(e),a=S(t??{}),o=this.views.get(i);o||(o=new Map,this.views.set(i,o));let s=d.childrenViewKey(i,a),c=o.get(a);c||(c={params:t,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:null}},o.set(a,c),this.cleanupOldViews(o));let l=this.failedRequests.getFreshError(s,this.errorTtl);if(l!=null)throw l;if(c.view.value&&!this.isExpired(c.view.updatedAt)&&!this.areEntitiesStale(c.view.value,r)&&!c.view.meta?.stale){let e=c.view.value.map(e=>r.getEntity(e)).filter(Boolean),t=c.params?.itemType||`all`;return{items:e.filter(e=>this.isEntityTypeCompatible(e,t)),...c.view.meta??{}}}if(c.view.promise)return c.view.promise;let u=y();c.view.loadId=u;let f=(async()=>{try{let a=await n(e,t),o=g(t),l=o?{...a,total:void 0}:a,d=this.views.get(i)?.get(S(t));if(!d||d.view.loadId!==u){let e=Error(`StaleLoad`);throw e.name=`StaleLoad`,e}for(let e of l.items)r.upsertEntity(e);c.view.value=l.items.map(e=>e.id);let{items:f,...p}=l,m={...p};c.view.meta=m,c.view.meta.stale=!1,this.failedRequests.delete(s),c.view.updatedAt=this.now(),!o&&typeof m.total==`number`&&(this.serverChildrenCountHandler?this.serverChildrenCountHandler(e??null,m.total,r):r.updateServerChildrenCount(e,m.total));let _=this.strategy.preloadPagesAfter??0,v=this.strategy.preloadPagesBefore??0,y=h(t?.pageSize);if((_>0||v>0)&&Number.isFinite(y)){let i=e,a={...t},o=typeof m.totalPages==`number`?m.totalPages:1,s=t?.page??1,c=y,l=n,d=u;setTimeout(()=>{this.preloadPagesAsync(i,a,s,o,c,_,v,r,m,l,d)},0)}return l}catch(e){if(e?.name===`StaleLoad`)throw this.failedRequests.delete(s),c.view.value=void 0,c.view.updatedAt=this.now(),e;let t=e,n=t?.status??t?.data?.status,r=t?.code??t?.data?.code;if(n===404||r===`FileNotFound`||r===`FolderNotFound`||r===`path_folder_not_found`)return this.failedRequests.delete(s),c.view.value=[],c.view.meta={total:0,totalPages:0},c.view.updatedAt=this.now(),{items:[],total:0,totalPages:0};throw this.failedRequests.setError(s,e),c.view.value=void 0,c.view.updatedAt=this.now(),e}finally{c.view.promise=null}})();return c.view.promise=f,f}async preloadPagesAsync(e,t,n,r,i,a,o,s,c,l,u){try{let i=this.parentKey(e),c=this.views.get(i);if(!c)return;let d=c.get(S(t));if(!d||u!=null&&d.view.loadId!==u)return;let f=c.get(S(t));if(!f?.view.meta)return;let p=typeof f.view.meta.totalPages==`number`?f.view.meta.totalPages:1;if(p!==r)return;let m=async n=>{let r={...t,page:n};try{let a=await l(e,r),o=this.views.get(i);if(!o)return;let c=o.get(S(t));if(!c||u!=null&&c.view.loadId!==u||c.view.loadId!==u)return;for(let e of a.items)s.upsertEntity(e);let d=S(r),f=o.get(d);if(f||(f={params:r,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:c.view.loadId}},o.set(d,f),this.cleanupOldViews(o)),!f.view.value||this.isExpired(f.view.updatedAt)){f.view.value=a.items.map(e=>e.id);let{items:e,...t}=a;f.view.meta={...t,page:n,totalPages:p},f.view.updatedAt=this.now()}}catch{}};if(a>0&&n<p)for(let e=1;e<=Math.min(a,p-n);e++){let r=n+e,i=S({...t,page:r}),a=c.get(i);(!a?.view.value||this.isExpired(a.view.updatedAt))&&m(r)}if(o>0&&n>1)for(let e=1;e<=Math.min(o,n-1);e++){let r=n-e,i=S({...t,page:r}),a=c.get(i);(!a?.view.value||this.isExpired(a.view.updatedAt))&&m(r)}}catch{}}removeEmptyPageIfNeeded(e,t,n,r,i){if(t.view.value&&t.view.value.length===0&&n<r){let t=S({...i,page:n});e.delete(t)}}updateTotalPagesForAllViews(e,t){for(let[,n]of e)n.view.meta&&(n.view.meta.totalPages=t)}isParamsSame(e,t){let n=Object.keys(e??{}).filter(e=>e!==`page`).sort(),r=Object.keys(t??{}).filter(e=>e!==`page`).sort();if(n.length!==r.length)return!1;for(let i=0;i<n.length;i++){let a=n[i];if(a!==r[i]||e[a]!==t[a])return!1}return!0}syncTotalsInSameViews(e,t){let n=t.view.meta;if(!n||typeof n.total!=`number`)return;let r=Number(n.total),i=h(t.params?.pageSize),a=Number.isFinite(i)&&i>0?Math.max(1,Math.ceil(r/i)):void 0;for(let[,n]of e)this.isParamsSame(n.params??{},t.params??{})&&(n.view.meta||(n.view.meta={}),n.view.meta.total=r,a!==void 0&&(n.view.meta.totalPages=a))}canSafelyModifySortedView(e){return!!(!e.sortBy&&!e.sortOrder||this.strategy.comparator)}cascadeShiftPages(e,t,n,r,i,a,o){let s=t,c=n,l=!1,u=0;for(;s.view.value&&s.view.value.length<r&&c<i&&u<100;){u++;let t=S({...o,page:c+1}),n=e.get(t);if(!n?.view.value||this.isExpired(n.view.updatedAt)){s.view.meta={...s.view.meta??{},stale:!0};break}let i=r-s.view.value.length,d=n.view.value.slice(0,i).filter(e=>a.getEntity(e));if(d.length===0){s.view.meta={...s.view.meta??{},stale:!0};break}if(s.view.value=[...s.view.value,...d],s.view.updatedAt=Date.now(),n.view.value=n.view.value.slice(d.length),n.view.updatedAt=Date.now(),n.view.value.length===0){let t=c+1,r=n.view.meta;if(t<(r&&typeof r.totalPages==`number`?r.totalPages:1)){let n=S({...o,page:t});e.delete(n),l=!0}break}s=n,c++}return(!s.view.value||s.view.value.length<r)&&c>=i&&(s.view.meta={...s.view.meta??{},stale:!0}),l}cascadeShiftToNextPage(e,t,n,r,i,a,o){if(!t.view.value||t.view.value.length<=r)return!1;if(n-(o.page||1)>=10)return t.view.meta={...t.view.meta??{},stale:!0},!1;let s={...o,page:n+1},c=S(s),l=e.get(c),u=!1;if(!l?.view.value||this.isExpired(l.view.updatedAt))if(n>=i){l={params:s,view:{promise:null,value:void 0,meta:void 0,updatedAt:0,loadId:null}},e.set(c,l),this.cleanupOldViews(e);let r=t.view.meta;r&&(l.view.meta={...r,page:n+1}),u=!0}else return t.view.meta={...t.view.meta??{},stale:!0},!1;let d=t.view.value.slice(r).filter(e=>a.getEntity(e));if(d.length===0)return u&&e.delete(c),!1;t.view.value=t.view.value.slice(0,r),t.view.updatedAt=Date.now(),l.view.value=[...d,...l.view.value??[]],l.view.updatedAt=Date.now();let f=l.view.meta&&typeof l.view.meta.totalPages==`number`?l.view.meta.totalPages:i;if(!u&&this.cascadeShiftToNextPage(e,l,n+1,r,f,a,o))return!0;if(!l.view.value||l.view.value.length===0){let t=n+1,r=l.view.meta,i=r&&typeof r.totalPages==`number`?r.totalPages:1;this.removeEmptyPageIfNeeded(e,l,t,i,o)}return u}tryInsertSorted(e,t,n){let r=this.strategy.comparator;if(!r||!e.view.value)return!1;let i=e.params?.itemType||`all`;if(!this.isEntityTypeCompatible(t,i))return!1;let a=e.view.value.map(e=>n.getEntity(e));if(a.some(e=>!e))return!1;let o=0,s=a.length;for(;o<s;){let n=Math.floor((o+s)/2),i=r(t,a[n],e.params);if(typeof i!=`number`||Number.isNaN(i))return!1;i>=0?o=n+1:s=n}return e.view.value.includes(t.id)?(e.view.updatedAt=this.now(),!0):(e.view.value=[...e.view.value.slice(0,o),t.id,...e.view.value.slice(o)],e.view.updatedAt=this.now(),e.view.meta&&typeof e.view.meta.total==`number`&&(e.view.meta.total=Number(e.view.meta.total)+1),!0)}updateChildrenCountForOperation(e,t,n,r){let i=_(t);switch(e){case`delete`:this.adjustChildrenCount(r,i,-1),this.childrenCountInvalidator?.(i);break;case`insert`:case`copy`:this.adjustChildrenCount(r,i,1),this.childrenCountInvalidator?.(i);break;case`move`:this.adjustChildrenCount(r,n,-1),this.adjustChildrenCount(r,i,1),this.childrenCountInvalidator?.(n),this.childrenCountInvalidator?.(i);break}}adjustChildrenCount(e,t,n){if(!t)return;let r=e.getFolder(t);if(r&&typeof r.childrenCount==`number`){let i=Math.max(0,r.childrenCount+n);e.updateServerChildrenCount(t,i)}}smartInvalidateChildrenViews(e,t,n,r,i,a){if(!t)return;this.updateChildrenCountForOperation(n,t,i,r);let o=this.parentKey(e),s=this.views.get(o);if(s)for(let[,e]of s){let a=e.params??{},o=a?.page??1,c=h(a?.pageSize),l=Number.isFinite(c),u=!!(a?.sortBy||a?.sortOrder),d=!!a?.search,f=a?.itemType||`all`;if(this.isEntityTypeCompatible(t,f)){if(d&&this.strategy.filterMatch&&!this.strategy.filterMatch(t,e.params)){e.view.value?.includes(t.id)&&(e.view.value=e.view.value.filter(e=>e!==t.id),e.view.meta&&typeof e.view.meta.total==`number`&&(e.view.meta.total=Math.max(0,e.view.meta.total-1)),e.view.updatedAt=Date.now());continue}if(!e.view.value){e.view.meta&&(e.view.meta.stale=!0),e.view.loadId=y(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0);continue}if(e.view.value.includes(t.id),this.shouldInvalidateCompletely(e,n,t,u,l,o)){e.view.meta={...e.view.meta??{},stale:!0},e.view.loadId=y(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0);continue}switch(n){case`delete`:this.handleDelete(s,e,o,c,l,t,r);break;case`insert`:case`copy`:this.handleInsert(s,e,o,c,l,u,t,r);break;case`update`:this.handleUpdate(s,e,o,c,l,u,d,t,r);break;case`move`:this.handleMove(s,e,o,c,l,u,t,i,r);break}}}}shouldInvalidateCompletely(e,t,n,r,i,a){return!!(i&&a>1&&(t===`insert`||t===`delete`||t===`move`)||r&&!this.strategy.comparator&&(t===`insert`||t===`move`)||this.isExpired(e.view.updatedAt))}tryReinsertEntity(e,t,n,r,i){let a=e.params?.itemType||`all`;if(!this.isEntityTypeCompatible(t,a))return!1;if(this.strategy.comparator&&this.strategy.filterMatch){if(!this.strategy.filterMatch(t,e.params))return!1;if(this.tryInsertSorted(e,t,n))return!0}let o=e.params??{};return(o.sortBy||o.sortOrder)&&!this.canSafelyModifySortedView(o)?!1:!r||e.view.value.length<i?(e.view.value.push(t.id),!0):!1}handleDelete(e,t,n,r,i,a,o){let s=t.view.value.includes(a.id);if(s&&(t.view.value=t.view.value.filter(e=>e!==a.id)),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(t.view.updatedAt=Date.now(),s&&i&&t.view.value.length<r&&o){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,o,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}handleInsert(e,t,n,r,i,a,o,s){if(!t.view.value.includes(o.id)){if(a&&this.strategy.allowSortedInsert&&this.strategy.comparator&&s){if(this.tryInsertSorted(t,o,s)&&t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(i&&t.view.value.length>r&&s){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftToNextPage(e,t,n,r,a,s,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=t.view.meta.totalPages+1;t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}}else if(!i||t.view.value.length<r){if(t.view.value.push(o.id),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}t.view.updatedAt=Date.now()}else t.view.meta={...t.view.meta??{},stale:!0};t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}}handleUpdate(e,t,n,r,i,a,o,s,c){let l=t.view.value.includes(s.id),u=this.isEntityTypeCompatible(s,t.params?.itemType||`all`);if(l&&!u){if(t.view.value=t.view.value.filter(e=>e!==s.id),t.view.meta&&typeof t.view.meta.total==`number`&&(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}if(t.view.updatedAt=Date.now(),i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0);return}if(l&&(a||o)){if(t.view.value=t.view.value.filter(e=>e!==s.id),!this.tryReinsertEntity(t,s,c,i,r)){if(t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}if(i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}}else if(t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}t.view.updatedAt=Date.now(),t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0);return}if(l){t.view.updatedAt=Date.now(),t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0);return}if(u&&!o){if(a&&this.strategy.allowSortedInsert&&this.strategy.comparator&&c){if(this.tryInsertSorted(t,s,c)&&t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}}else if(!i||t.view.value.length<r){if(t.view.value.push(s.id),t.view.meta&&typeof t.view.meta.total==`number`){if(t.view.meta.total+=1,i&&Number.isFinite(r)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}this.syncTotalsInSameViews(e,t)}t.view.updatedAt=Date.now()}else t.view.meta={...t.view.meta??{},stale:!0};t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}}handleMove(e,t,n,r,i,a,o,s,c){if(t.view.value.includes(o.id)){if(t.view.value=t.view.value.filter(e=>e!==o.id),t.view.meta&&typeof t.view.meta.total==`number`&&(t.view.meta.total=Math.max(0,t.view.meta.total-1),i&&Number.isFinite(r)&&typeof t.view.meta.total==`number`)){let e=r;e>0&&(t.view.meta.totalPages=Math.max(1,Math.ceil(t.view.meta.total/e)))}if(t.view.updatedAt=Date.now(),i&&t.view.value.length<r&&c){let i=t.view.meta,a=i&&typeof i.totalPages==`number`?i.totalPages:1;if(this.cascadeShiftPages(e,t,n,r,a,c,t.params??{})&&t.view.meta&&typeof t.view.meta.totalPages==`number`){let n=Math.max(1,t.view.meta.totalPages-1);t.view.meta.totalPages=n,this.updateTotalPagesForAllViews(e,n)}}this.syncTotalsInSameViews(e,t)}t.view.loadId=y(),t.view.abortController&&(t.view.abortController.abort(),t.view.abortController=void 0)}forceInvalidateChildrenViews(e){let t=this.parentKey(e??null);this.failedRequests.clearChildrenViewErrorsForParent(t);let n=this.views.get(t);if(n)for(let[,e]of n)e.view.value=void 0,e.view.meta=void 0,e.view.promise=null,e.view.updatedAt=0,e.view.loadId=y(),e.view.abortController&&(e.view.abortController.abort(),e.view.abortController=void 0)}getKnownTotal(e){let t=this.parentKey(e??null),n=this.views.get(t);if(!n)return;let r=null;for(let[,e]of n){let t=e.view.meta;t&&typeof t.total==`number`&&(!r||(e.view.updatedAt??0)>r.updatedAt)&&(r={total:Number(t.total),updatedAt:e.view.updatedAt??0})}return r?r.total:void 0}toJSON(){return{views:Array.from(this.views.entries()).map(([e,t])=>[e,Array.from(t.entries())]),ttl:this.ttl,errorTtl:this.errorTtl,entityTtl:this.entityTtl,strategy:{allowSortedInsert:this.strategy.allowSortedInsert,allowSearchInsert:this.strategy.allowSearchInsert,invalidateOnPaginationFull:this.strategy.invalidateOnPaginationFull,preloadPagesBefore:this.strategy.preloadPagesBefore,preloadPagesAfter:this.strategy.preloadPagesAfter}}}static fromJSON(t,n){let r=n?.ttl??t?.ttl??18e5,i=new e({},r,n?.errorTtl??t?.errorTtl??r,void 0,n?.failedRequests??new d);for(let[e,n]of t.views??[]){let t=new Map;for(let[e,r]of n){let n=r;n?.view&&`error`in n.view&&delete n.view.error,t.set(e,n)}i.views.set(e,t)}return i}},T=class e{entities;views;ttl;errorTtl;failedRequests;childrenCountPromises=new Map;invalidateChildrenCountCache(e){let t=m(e??``);this.childrenCountPromises.delete(t),this.failedRequests.delete(d.childrenCountKey(t))}constructor(e={},t=p,n){this.failedRequests=new d,this.ttl=t,this.errorTtl=n??t,this.entities=new C,this.views=new w(e,t,this.errorTtl,void 0,this.failedRequests),this.views.setServerChildrenCountHandler((e,t,n)=>{this.handleServerReportedChildrenCount(e,t,n??this.entities)}),this.views.setChildrenCountInvalidator(e=>{this.invalidateChildrenCountCache(e)})}getEntity(e){return this.entities.getEntity(e)??null}getFileSystemItem(e){return this.entities.getFileSystemItem(e)??null}getFolder(e){return this.entities.getFolder(e)??null}async getOrCreateChildren(e,t,n){return this.views.getOrCreateChildren(e,t,n,this.entities)}upsertEntity(e){let t=this.entities.getEntity(e.id),n=t?_(t):null,r=_(e),i=t?v(t):!1,a=v(e);if(this.entities.upsertEntity(e),t){if(n!==r||i!==a){this.views.smartInvalidateChildrenViews(n,t,`delete`,this.entities),this.views.smartInvalidateChildrenViews(r,e,`insert`,this.entities);return}this.views.smartInvalidateChildrenViews(r,e,`update`,this.entities,void 0,t)}else this.views.smartInvalidateChildrenViews(r,e,`insert`,this.entities)}isAncestor(e,t){let n=t,r=new Set;for(;n&&!r.has(n);){if(r.add(n),m(n)===m(e))return!0;let t=this.entities.getEntity(n);if(!t)break;n=_(t),n===null&&(n=f)}return!1}moveEntity(e,t){let n=this.entities.getEntity(e);if(!n||v(n)&&t!==null&&this.isAncestor(e,t))return null;let r=_(n),i=this.entities.moveEntityById(e,t);return i?(this.views.smartInvalidateChildrenViews(r,n,`delete`,this.entities),this.views.smartInvalidateChildrenViews(t,i,`insert`,this.entities),i):null}copyEntity(e,t,n,r){let i=this.entities.getEntity(e);if(!i)return null;let a=null;if(v(i)){let n=[e],i=[];for(;n.length;){let e=n.shift();i.push(e);let t=this.entities.getChildrenIds(e,{onlyFolders:!0});for(let e of t)n.push(e)}let o=new Map;for(let e of i)o.set(e,y());for(let n of i){let i=this.entities.getFolder(n),a=o.get(n),s=_(i),c=s===null?t:o.get(s)??null,l={...i,...n===e?r:void 0,id:a,folderId:(n===e?r?.folderId:void 0)??c};this.entities.upsertEntity(l)}for(let e of i){let t=o.get(e),n=this.entities.getChildrenIds(e,{onlyFileSystemItems:!0});for(let e of n){let n=this.entities.getFileSystemItem(e);if(!n)continue;let r=y(),i={...n,id:r,folderId:t};this.entities.upsertEntity(i)}}a=this.entities.getEntity(o.get(e))??null}else{let i=n??y();if(a=this.entities.copyFileSystemItem(e,i,t??null),a&&r){let e={...a,...r,id:i,folderId:r.folderId??t??null};this.entities.upsertEntity(e),a=e}}return a&&this.views.smartInvalidateChildrenViews(t,a,`copy`,this.entities),a}searchByUrl(e){return this.entities.searchByUrl(e)??null}deleteEntity(e){let t=this.entities.getEntity(e);if(!t)return null;if(v(t)){let{deletedFolderRecords:n,deletedFileSystemItemRecords:r}=this.entities.deleteFolderRecursive(e);for(let e of r)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of n)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of n)this.views.forceInvalidateChildrenViews(e.id);return t}else{let{entity:t,parentId:n}=this.entities.deleteEntityById(e);return t&&this.views.smartInvalidateChildrenViews(n,t,`delete`,this.entities),t}}deleteFolderRecursive(e){let{deletedFolderRecords:t,deletedFileSystemItemRecords:n}=this.entities.deleteFolderRecursive(e);for(let e of n)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of t)this.views.smartInvalidateChildrenViews(e.folderId,e,`delete`,this.entities);for(let e of t)this.views.forceInvalidateChildrenViews(e.id);return{deletedFileSystemItemIds:n.map(e=>e.id),deletedFolderIds:t.map(e=>e.id)}}forceInvalidate(e){let t=this.entities.getEntity(e);if(!t)return;let n=new Set;if(v(t)){let t=[e];for(;t.length;){let e=t.pop();if(n.has(e))continue;n.add(e),this.views.forceInvalidateChildrenViews(e),this.invalidateChildrenCountCache(e);let r=this.entities.getChildrenIds(e,{onlyFolders:!0});for(let e of r)t.push(e)}}else{let e=t.folderId??null;this.views.forceInvalidateChildrenViews(e),this.invalidateChildrenCountCache(e)}}getChildrenIds(e){return this.entities.getChildrenIds(e)}searchByName(e,t){return this.entities.searchByName(e,t)}async getChildrenCount(e=``,t){let n=m(e),r=d.childrenCountKey(n),i=this.failedRequests.getFreshError(r,this.errorTtl);if(i!=null)return Promise.reject(i);let a=this.childrenCountPromises.get(n);if(a)return a;let o=(async()=>{try{let n=this.entities.getFolder(e);if(n&&typeof n.childrenCount==`number`)return this.failedRequests.delete(r),n.childrenCount;let i=this.views.getKnownTotal(e);if(typeof i==`number`)return n&&this.handleServerReportedChildrenCount(e,i,this.entities),this.failedRequests.delete(r),i;if(t){let n=await t(e);return this.entities.getFolder(e)&&this.handleServerReportedChildrenCount(e,n,this.entities),this.failedRequests.delete(r),n}return this.failedRequests.delete(r),this.entities.getChildrenIds(e).length}catch(e){if(this.childrenCountPromises.delete(n),b(e))return this.failedRequests.delete(r),0;throw this.failedRequests.setError(r,e),e}finally{this.childrenCountPromises.delete(n)}})();return this.childrenCountPromises.set(n,o),o}toJSON(){return{entities:this.entities.toJSON(),views:this.views.toJSON(),ttl:this.ttl,errorTtl:this.errorTtl}}static fromJSON(t,n){let r=t?.ttl??18e5,i=t?.errorTtl??r,a=new e(n??{},r,i),o=C.fromJSON(t?.entities??{}),s=w.fromJSON(t?.views??{},{failedRequests:a.failedRequests,ttl:r,errorTtl:i});return n&&(s.strategy={allowSortedInsert:n.allowSortedInsert??!0,allowSearchInsert:n.allowSearchInsert??!0,invalidateOnPaginationFull:n.invalidateOnPaginationFull??!0,preloadPagesBefore:n.preloadPagesBefore??0,preloadPagesAfter:n.preloadPagesAfter??1,comparator:n.comparator,filterMatch:n.filterMatch}),a.entities=o,a.views=s,s.setServerChildrenCountHandler((e,t,n)=>{a.handleServerReportedChildrenCount(e,t,n??o)}),s.setChildrenCountInvalidator(e=>{a.invalidateChildrenCountCache(e)}),a}handleServerReportedChildrenCount(e,t,n){this.checkAndResolveChildrenCountConflict(e,t,n),this.invalidateChildrenCountCache(e)}checkAndResolveChildrenCountConflict(e,t,n){if(!n||t===void 0)return;let r=e??null;if(!r){n.updateServerChildrenCount(r,t);return}let i=n.getFolder(r)?.childrenCount;i!==void 0&&i!==t&&this.views.forceInvalidateChildrenViews(r),n.updateServerChildrenCount(r,t)}},E=class{deletingIds=new Set;beginDeleting(e){for(let t of e)t&&this.deletingIds.add(t)}endDeleting(e){for(let t of e)t&&this.deletingIds.delete(t)}isDeleting(e){return!!e&&this.deletingIds.has(e)}},D=``,O=`Trash`,k=`Edited`,A=1e4,j=1e4,M=25,N=10;function P(e,t){let n=e??{},r=Array.isArray(n.detailed)?n.detailed.map(e=>({requestId:e.requestId??e.id,success:!!e.success,data:t(e.data),error:e.error})):void 0;return{success:!!n.success,error:n.error,detailed:r}}function F(e){return e==null?``:String(e)}function I(e){return{...e,name:F(e.name)}}function L(e){return(e??[]).map(I)}function R(e){return!e||typeof e!=`object`||!(`name`in e)?e:{...e,name:F(e.name)}}function z(e){return e?e.replaceAll(`\\`,`/`).split(`/`).filter(Boolean):[]}function B(e){let t=Object.getPrototypeOf(e);for(let n of Object.getOwnPropertyNames(t))n!==`constructor`&&typeof Object.getOwnPropertyDescriptor(t,n)?.value==`function`&&(e[n]=e[n].bind(e))}var V=class{_dataProvider;_options;_pathOptions;i18n;_cache;_rootId;_useSoftDelete;_enableTrash;_validateDuplicates;_blobFetchForceReloadOnceIds=new Set;_mutationRegistry=new E;async _findOrCreateFolderByPath(e){let{__:t}=this.i18n,n=z(e);if(n.length>N)throw new r.eo(t(`Path depth exceeds maximum limit of %s`).replace(`%s`,String(N)),`ValidationError`);let i;for(let a of n){let{files:n}=await this.getFiles({folderId:i?.id||``,itemType:`folder`}),o=n.find(e=>e.name===a);if(o){if(!o.isFolder)throw new r.eo(t(`Path component '%s' in '%s' is not a folder`).replace(`%s`,a).replace(`%s`,e),`ValidationError`);i={id:o.id,name:o.name,parentId:o.folderId}}else{if(typeof this._dataProvider.createFolder!=`function`)throw new r.eo(t(`Create folder operation is not supported by data provider`),`UnsupportedOperation`);i=await this.createFolder({name:a,parentId:i?.id})}}return i}getTrashFolder(){return this._findOrCreateFolderByPath(this._pathOptions.trashPath||O)}getTempFolder(){return this._findOrCreateFolderByPath(this._pathOptions.tempPath||k)}constructor(e,t={},n,r=i.m){this._dataProvider=e,this._options=t,this._pathOptions=n,this.i18n=r,B(this),this._useSoftDelete=this._pathOptions.useSoftDelete,this._rootId=this._pathOptions.rootId||D,this._enableTrash=this._options.enableTrash===void 0?!0:this._options.enableTrash,this._validateDuplicates=this._dataProvider.validateDuplicates,this._cache=new T(t.cacheStrategy||{},t.cacheStrategy?.ttl,t.cacheStrategy?.errorTtl),this.setController({invalidateItemCache:e=>{this._cache.forceInvalidate(e)},getCachedItem:e=>this._cache.getEntity(e)}),typeof this._dataProvider.clearCache!=`function`&&(this.clearCache=void 0)}setController(e){typeof this._dataProvider.setController==`function`&&this._dataProvider.setController(e)}async clearCache(e){if(typeof this._dataProvider.clearCache!=`function`){let{__:e}=this.i18n;throw new r.eo(e(`Clear cache is not supported by data provider`),`UnsupportedOperation`)}this._cache.forceInvalidate(this._rootId),await this._dataProvider.clearCache(e)}markNextFileBlobFetchBypassHttpCache(e){this._blobFetchForceReloadOnceIds.add(this.normalizeId(e))}normalizeId(e){return!e||e===`root`||e===`folders`?this._rootId:e}_isDeletingId(e){return this._mutationRegistry.isDeleting(this.normalizeId(e))}_collectDeletingIds(e){let t=this.normalizeId(e),n=new Set([t]);if(!this._cache.getEntity(t)?.isFolder)return Array.from(n);let r=[t];for(;r.length>0;){let e=r.pop(),t=this._cache.getChildrenIds(e);for(let e of t)n.has(e)||(n.add(e),this._cache.getEntity(e)?.isFolder&&r.push(e))}return Array.from(n)}_emptyFilesResult(e,t){return{files:[],pagination:{...typeof e==`number`?{page:e}:{},...typeof t==`number`?{limit:t}:{},total:0,totalPages:1,hasNext:!1,hasPrev:!1}}}_validateName(e,t=!1){if(!e||e.trim().length===0){let e=t?`FolderInvalidName`:`FileInvalidName`,{__:n}=this.i18n;throw new r.eo(n(t?`Folder name cannot be empty`:`File name cannot be empty`),e)}if(/[\/\\:*?"<>|]/.test(e)){let{__:n}=this.i18n,i=t?`FolderInvalidName`:`FileInvalidName`;throw new r.eo(t?n(`Folder name contains invalid characters: %s`).replace(`%s`,e):n(`File name contains invalid characters: %s`).replace(`%s`,e),i)}}_validateTargetFolderType(e){let t=this.normalizeId(e);if(t===this._rootId)return;let n=this._cache.getEntity(t);if(n&&!n.isFolder){let{__:t}=this.i18n;throw new r.eo(t(`Target item with id '%s' is not a folder`).replace(`%s`,e),`ValidationError`)}}_checkNameExistsInCache(e,t,n,r){let i=this.normalizeId(e),a=this._cache.getChildrenIds(i);for(let e of a){let i=this._cache.getEntity(e);if(i&&i.name===t&&!!i.isFolder===n&&(!r||i.id!==r))return!0}return!1}async _getUrl(e){if(e.url)return e.url;try{return typeof this._dataProvider?.getUrl==`function`&&this._dataProvider.getUrl(e)||``}catch{}return``}async _getThumbnailUrl(e){if(e.thumbnailUrl)return e.thumbnailUrl;try{return typeof this._dataProvider?.getThumbnailUrl==`function`&&this._dataProvider.getThumbnailUrl(e)||``}catch{}return``}_mapItem=async({childrenCount:e,...t})=>{let n=I(t);if(n.isFolder)return{...n,childCount:e,url:``,thumbnailUrl:``};let[r,i]=await Promise.all([this._getUrl(n),this._getThumbnailUrl(n)]);return{...n,childCount:0,url:r,thumbnailUrl:i}};_isAncestor(e,t){if(!t)return!1;let n=this.normalizeId(t),r=this.normalizeId(e);if(n===r)return!0;let i=this._cache.getEntity(n),a=new Set;for(;i&&i.folderId&&!a.has(i.id);){a.add(i.id);let e=this.normalizeId(i.folderId);if(e===r)return!0;if(i=this._cache.getEntity(e),!i||!i.isFolder)break}return!1}async getFile(e,t){return this._isDeletingId(e)?null:this._cache.searchByName(t,{parentId:this.normalizeId(e),caseSensitive:!0,recursive:!1,itemType:`file`})[0]||(await this.getFiles({folderId:e,itemType:`file`,search:t})).files[0]}async getFileById(e){let t=this.normalizeId(e);if(this._isDeletingId(t))return null;let n=this._cache.getFileSystemItem(t);if(n&&!n.isFolder)return await this._mapItem(n);if(!this._dataProvider.pathMode)return null;let r=await this._getFileByPathStyleId(t);if(r&&!r.isFolder){let e=I(r);return this._cache.upsertEntity(e),await this._mapItem(e)}return null}async _getFileByPathStyleId(e){let t=e.replace(/\\/g,`/`).replace(/^\/+/,``),n=t.lastIndexOf(`/`),r=n<0?``:t.slice(0,n),i=n<0?t:t.slice(n+1);return i?this.getFile(r,i):null}async getFileUrl(e,t){let n=await this.getFile(e,t);return await this._getUrl(n)||await this._getThumbnailUrl(n)||n.thumbnail}async getFiles({folderId:e,search:t,sortBy:n,sortOrder:r,page:i,limit:a,itemType:o=`all`,noFolder:s=!1}){s&&(e=(await this.getTempFolder())?.id);let c=this.normalizeId(e??this._rootId),l=this._options.enablePagination===!1,u=l?1:i,d=l?A:a,f=this._options.clientSideFilter,p=this._options.clientSideSorting,m=this._options.clientSidePaging,h=m?Math.max(1,i??1):void 0,g=m?typeof a==`number`&&Number.isFinite(a)&&a>0?a:M:void 0,_=this._emptyFilesResult(m?h:u,m?g:d);if(this._isDeletingId(c))return _;let v=this._options.unifiedCatalogFetch!==!1&&l&&(o===`folder`||o===`file`),y=v?`all`:o,b={folderId:c,itemType:y};f||(b.search=t),p||(b.sortBy=n??(y===`folder`?void 0:`date`),b.sortOrder=r??(y===`folder`?void 0:`desc`)),m||(b.page=u,b.limit=v?j:d);let x=v?j:m?void 0:d,S={folderId:c,itemType:y,search:f?void 0:t,sortBy:p?void 0:b.sortBy,sortOrder:p?void 0:b.sortOrder,page:m?void 0:u,pageSize:x},C;try{C=await this._cache.getOrCreateChildren(c,S,async(e,t)=>{let n=t.pageSize,r=n!=null&&Number.isFinite(Number(n))?Number(n):A,i=await this._dataProvider.getItems({...t,folderId:e,limit:r}),a=L(i.items);return m?{items:a,total:typeof i.pagination?.total==`number`?i.pagination.total:a.length}:{items:a,...i.pagination}})}catch(e){if(this._isDeletingId(c))return _;throw e}let w=C.items;if(v&&(o===`folder`?w=w.filter(e=>e.isFolder):o===`file`&&(w=w.filter(e=>!e.isFolder))),f){if(typeof this._options.clientSideFilter==`function`)w=this._options.clientSideFilter(w,t);else if(t){let e=t.toLowerCase();w=w.filter(t=>t.name?.toLowerCase().includes(e))}}p&&(w=typeof this._options.clientSideSorting==`function`?this._options.clientSideSorting(w,n,r):this._defaultClientSideSort(w,n,r));let T;T=m||f||v?w.length:C.total??w.length;let E=w;if(m)if(typeof this._options.clientSidePaging==`function`)E=this._options.clientSidePaging(w,h,g);else{let e=(h-1)*g,t=e+g;E=w.slice(e,t)}if(typeof this._dataProvider.getUrl==`function`||typeof this._dataProvider.getThumbnailUrl==`function`){let e=E.map(async e=>{if(e.isFolder)return e;let[t,n]=await Promise.all([e.url?Promise.resolve(e.url):typeof this._dataProvider.getUrl==`function`?this._dataProvider.getUrl(e):Promise.resolve(void 0),e.thumbnailUrl?Promise.resolve(e.thumbnailUrl):typeof this._dataProvider.getThumbnailUrl==`function`?this._dataProvider.getThumbnailUrl(e):Promise.resolve(void 0)]);return{...e,url:t,thumbnailUrl:n}});E=await Promise.all(e)}let D=m?{page:h,limit:g,total:T,totalPages:Math.max(1,Math.ceil(T/g)),hasNext:h*g<T,hasPrev:h>1}:{page:u,limit:d,total:T,...!m&&C.totalPages&&{totalPages:C.totalPages},...!m&&C.hasNextPage&&{hasNextPage:C.hasNextPage}};return{files:await Promise.all(E.map(this._mapItem)),pagination:D}}_defaultClientSideSort(e,t,n){return e.sort((e,r)=>{let i=0;switch(t){case`name`:i=(e.name||``).localeCompare(r.name||``);break;case`date`:i=new Date(e.date||0).getTime()-new Date(r.date||0).getTime();break;case`size`:i=(Number(e.size)||0)-(Number(r.size)||0);break;default:i=(e.name||``).localeCompare(r.name||``)}return n===`desc`?-i:i})}async getFileData(e,t){let n=this.normalizeId(typeof e==`string`?e:e.id),i=t;this._blobFetchForceReloadOnceIds.delete(n)&&(i={...t,forceReload:!0});let a=this._cache.getEntity(n)||(typeof e==`string`?{id:n,name:``,folderId:this._rootId,isFolder:!1}:{...e,childrenCount:e.childCount});if(typeof this._dataProvider.getFileData==`function`)return await this._dataProvider.getFileData(a,i);let{__:o}=this.i18n;if(!a.url&&typeof this._dataProvider.getUrl!=`function`)throw new r.eo(o(`Cannot read file`),`FileReadError`);let s=a.url||(typeof this._dataProvider.getUrl==`function`?await this._dataProvider.getUrl(a):``);if(s)return(await r.fa(s,{config:this._pathOptions.resourceProxyConfig,standalone:this._pathOptions.isStandalone,intent:`downloadBlob`,init:i?.forceReload?{cache:`no-store`}:void 0})).blob();throw new r.eo(o(`Unable to get file data`),`FileReadError`)}async findFileByUrl(e){let t=this._cache.searchByUrl(e);if(t)return t;if(typeof this._dataProvider.findFileByUrl==`function`)try{let t=await this._dataProvider.findFileByUrl(e);if(t){let e=I(t);return this._cache.upsertEntity(e),e}}catch{}return null}async getChildrenCount(e){if(!e)return 0;let t=this.normalizeId(e??this._rootId);return this._isDeletingId(t)?0:this._cache.getChildrenCount(t,async()=>{try{if(this._options.clientSidePaging){let e=await this.getFiles({folderId:t,itemType:`all`,page:1,limit:M});return e.pagination.total??e.files.length}let e=await this._dataProvider.getItems({folderId:t,limit:0,itemType:`all`});return e.pagination===void 0?this._options.enablePagination===!1?e.items.length:0:e.pagination.total||0}catch(e){if(this._isDeletingId(t)||this._isPathFolderNotFoundError(e))return 0;throw e}})}_isPathFolderNotFoundError(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.code===`path_folder_not_found`||t.data?.code===`path_folder_not_found`||t.status===404||t.data?.data?.status===404}async _uploadFile(e){let t=this.normalizeId(e.folderId??this._rootId),{__:n}=this.i18n;if(typeof this._dataProvider.uploadFile!=`function`)throw new r.eo(n(`Upload file operation is not supported by data provider`),`UnsupportedOperation`);if(this._validateName(e.name,!1),this._validateDuplicates&&this._checkNameExistsInCache(t,e.name,!1))throw new r.eo(n(`File '%s' already exists in target folder`).replace(`%s`,e.name),`FileAlreadyExists`);let i=await this._dataProvider.uploadFile({...e,folderId:t}),a=I({name:e.name,size:e.size,...i,folderId:t});return this._cache.upsertEntity(a),a}async uploadFiles(e){let t=e.items.some(e=>e.noFolder)?await this.getTempFolder():null;e={...e,items:e.items?.map(e=>({...e,folderId:e.noFolder?t?.id:e.folderId}))};for(let t of e.items)t.folderId&&(e.folderId=t.folderId);let n=e.items||[],i=e.folderId??this._rootId,a=this.normalizeId(i);if(this._validateDuplicates){for(let e of n)if(e.name){this._validateName(e.name,!1);let t=this.normalizeId(e.folderId??a);if(this._checkNameExistsInCache(t,e.name,!1)){let{__:t}=this.i18n;throw new r.eo(t(`File '%s' already exists in target folder`).replace(`%s`,e.name),`FileAlreadyExists`)}}}let o=this._cache.getEntity(a),s={detailed:Array(n.length),success:!0};if(typeof this._dataProvider.uploadFiles==`function`){let e=n.map(e=>({...e,folderId:this.normalizeId(e.folderId??a)}));if(s=P(await this._dataProvider.uploadFiles({folderId:a,items:e}),e=>{if(e)return{id:e.id,name:F(e.name),folderId:e.folderId}}),s.detailed&&s.detailed.length){for(let e=0;e<s.detailed.length;e++){let t=s.detailed[e];if(t&&t.success){let e=t.data,n=e?.id??t.requestId,r=I({...o,...e,folderId:e?.folderId??a});this._cache.upsertEntity(r),t.requestId=n}}s.success===void 0&&(s.success=!s.detailed.some(e=>!e.success))}else s.success=s.error?!1:!!s.success}else if(typeof this._dataProvider.uploadFile==`function`)s.detailed=await Promise.all(n.map(async e=>{let t=this.normalizeId(e.folderId??a);try{let n=await this._uploadFile({...e,folderId:t});return{requestId:n.id,data:n,success:!0}}catch(t){return{requestId:e?.id,success:!1,error:t}}})),s.success=!s.detailed.some(e=>!e.success);else throw new r.eo(`Upload files is not supported by data provider`,`UnsupportedOperation`);if(s.success&&this._enableTrash)try{this._cache.forceInvalidate(a)}catch{}return s}async deleteFile(e){let t=this.normalizeId(e),n=[t];this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash){let e=await this.getTrashFolder();return await this.moveItem({itemId:t,targetFolderId:e.id,isFolder:!1})}return await this.hardDeleteItem(t)}finally{this._mutationRegistry.endDeleting(n)}}async deleteItems(e,t){let n=Array.from(new Set(e.flatMap(e=>this._collectDeletingIds(this.normalizeId(e)))));this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash&&t.permanent!==!0){let t=await this.getTrashFolder();return await this.moveItems(t.id,e)}return await this.hardDeleteItems(e,t)}finally{this._mutationRegistry.endDeleting(n)}}async hardDeleteItems(e,t){let n={success:!0,detailed:[]},i=t.permanent?null:await this.getTrashFolder();if(typeof this._dataProvider.deleteItems==`function`){if(n=P(await this._dataProvider.deleteItems(e.map(e=>this._cache.getEntity(e)),t),e=>e),n.success){let t=n.detailed||e.map(e=>({requestId:e,success:!0,error:void 0}));for(let e of t)e.success&&(i?this._cache.moveEntity(e.requestId,i.id):this._cache.deleteEntity(e.requestId))}}else typeof this._dataProvider.deleteItem==`function`&&(n.detailed=await Promise.all(e.map(async e=>{let n=this._cache.getEntity(e);if(!n){let{__:t}=this.i18n;return{requestId:e,success:!1,error:new r.eo(t(`Item with id '%s' not found`).replace(`%s`,e),`FileNotFound`)}}try{return await this._dataProvider.deleteItem(n,t),i?this._cache.moveEntity(e,i.id):this._cache.deleteEntity(e),{requestId:e,success:!0}}catch(t){return{requestId:e,error:t,success:!1}}})),n.success=!n.detailed.some(e=>!e.success));if(n.success&&i)try{this._cache.forceInvalidate(i.id)}catch{}return n}async hardDeleteItem(e){let t=this._cache.getEntity(e);if(!t){let{__:t}=this.i18n;throw new r.eo(t(`Item with id '%s' not found in cache`).replace(`%s`,e),`FileNotFound`)}if(typeof this._dataProvider.deleteItem!=`function`){let{__:e}=this.i18n;throw new r.eo(e(`Delete item operation is not supported by data provider`),`DeleteNotAllowed`)}if(await this._dataProvider.deleteItem(t,{permanent:!0}),this._cache.deleteEntity(e),this._enableTrash)try{let e=await this.getTrashFolder();e&&this._cache.forceInvalidate(e.id)}catch{}return!0}async cleanTrash(){let{__:e}=this.i18n;if(!this._enableTrash)throw new r.eo(e(`Trash is not enabled`),`UnsupportedOperation`);if(typeof this._dataProvider.cleanTrash==`function`){let e=await this._dataProvider.cleanTrash();try{let e=await this.getTrashFolder();e&&this._cache.forceInvalidate(e.id)}catch{}return e}throw new r.eo(e(`Clean trash is not supported by data provider`),`UnsupportedOperation`)}async createFolder({name:e,parentId:t,is_force_create:n}){let i=this.normalizeId(t??this._rootId);if(this._validateName(e,!0),this._validateDuplicates&&this._checkNameExistsInCache(i,e,!0)){let{__:t}=this.i18n;throw new r.eo(t(`Folder '%s' already exists in parent folder`).replace(`%s`,e),`FolderAlreadyExists`)}let a=await this._dataProvider.createFolder(e,i,n),o=I({id:a.id,folderId:i,name:a.name,isFolder:!0,childrenCount:a.childrenCount});return this._cache.upsertEntity(o),{...a,name:o.name}}async deleteFolder(e){let t=this.normalizeId(e),n=this._collectDeletingIds(t);this._mutationRegistry.beginDeleting(n);try{if(this._useSoftDelete&&this._enableTrash)try{let e=await this.getTrashFolder();return await this.moveItem({itemId:t,targetFolderId:e.id,isFolder:!0})?(this._cache.deleteFolderRecursive(t),!0):!1}catch{return await this.hardDeleteItem(t)}return await this.hardDeleteItem(t)}finally{this._mutationRegistry.endDeleting(n)}}async renameFolder(e,t){let{__:n}=this.i18n;if(typeof this._dataProvider.renameItem!=`function`)throw new r.eo(n(`Rename folder is not supported`),`RenameNotAllowed`);let i=this.normalizeId(e),a=this._cache.getEntity(i);if(!a)throw new r.eo(n(`Folder with id '%s' not found in cache`).replace(`%s`,e),`FolderNotFound`);if(this._validateName(t,!0),this._validateDuplicates){let e=this.normalizeId(a.folderId);if(this._checkNameExistsInCache(e,t,!0,i))throw new r.eo(n(`Folder '%s' already exists in parent folder`).replace(`%s`,t),`FolderAlreadyExists`)}let o=R(await this._dataProvider.renameItem(a,t));return this._cache.upsertEntity(I({...this._cache.getEntity(o.id),...o})),this._cache.getEntity(o.id)}async renameFile(e,t){let{__:n}=this.i18n;if(typeof this._dataProvider.renameItem!=`function`)throw new r.eo(n(`Rename file is not supported`),`RenameNotAllowed`);let i=this._cache.getEntity(e);if(!i)throw new r.eo(n(`File with id '%s' not found in cache`).replace(`%s`,e),`FileNotFound`);let a=this.normalizeId(e);if(this._validateName(t,!1),this._validateDuplicates){let e=this.normalizeId(i.folderId);if(this._checkNameExistsInCache(e,t,!1,a))throw new r.eo(n(`File '%s' already exists in parent folder`).replace(`%s`,t),`FileAlreadyExists`)}let o=R(await this._dataProvider.renameItem(i,t));return o&&this._cache.upsertEntity(I({...this._cache.getEntity(a),...o})),this._cache.getEntity(a)}async moveItem({itemId:e,targetFolderId:t,isFolder:n}){if(typeof this._dataProvider.moveItem!=`function`){let{__:e}=this.i18n;throw new r.eo(e(`Move item operation is not supported by data provider`),`MoveNotAllowed`)}let i=this.normalizeId(t);this._validateTargetFolderType(t);let a=this._cache.getEntity(e);if(!a){let t=R(await this._dataProvider.moveItem({id:e,folderId:i,isFolder:n},i));if(t.id===e)this._cache.upsertEntity(I({...t,folderId:i}));else{try{this._cache.deleteEntity(e)}catch{}this._cache.upsertEntity(I({...t,folderId:i}))}return!0}let{__:o}=this.i18n;if(a.isFolder){if(e===i)throw new r.eo(o(`Cannot move folder into itself`),`MoveIntoSelf`);if(this._isAncestor(e,i))throw new r.eo(o(`Cannot move folder into its descendant`),`MoveIntoDescendant`)}if(this._validateDuplicates&&i!==this.normalizeId(a.folderId)&&a.name&&this._checkNameExistsInCache(i,a.name,!!a.isFolder,e)){let e=a.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new r.eo(`${a.isFolder?`Folder`:`File`} '${a.name}' already exists in target folder`,e)}let s=R(await this._dataProvider.moveItem(a,i));if(s.id===e){let t=this._cache.moveEntity(e,i);return this._cache.upsertEntity(I({...t,...s})),!0}else{let t=this._cache.deleteEntity(e);return this._cache.upsertEntity(I({...t,...s,folderId:i})),!0}}async moveItems(e,t){let n=this.normalizeId(e);this._validateTargetFolderType(e);let i=t.map(e=>this._cache.getEntity(e));for(let e of i)if(e){if(e.isFolder){let{__:t}=this.i18n;if(e.id===n)throw new r.eo(t(`Cannot move folder '%s' into itself`).replace(`%s`,e.name),`MoveIntoSelf`);if(this._isAncestor(e.id,n))throw new r.eo(t(`Cannot move folder '%s' into its descendant`).replace(`%s`,e.name),`MoveIntoDescendant`)}if(this._validateDuplicates&&n!==this.normalizeId(e.folderId)&&e.name&&this._checkNameExistsInCache(n,e.name,!!e.isFolder,e.id)){let t=e.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new r.eo(`${e.isFolder?`Folder`:`File`} '${e.name}' already exists in target folder`,t)}}let a={detailed:Array(i.length),success:!0};if(typeof this._dataProvider.moveItems==`function`)a=P(await this._dataProvider.moveItems(i,n),e=>e);else if(typeof this._dataProvider.moveItem==`function`)a.detailed=await Promise.all(t.map(async(e,t)=>{let r=i[t]||{id:e,folderId:null,isFolder:!1,name:e};try{return{requestId:e,data:R(await this._dataProvider.moveItem(r,n)),success:!0}}catch(t){return{requestId:e,success:!1,error:t}}}));else throw new r.eo(`Move items is not supported`,`MoveNotAllowed`);if(a.success){let e=a.detailed||t.map(e=>({requestId:e,success:!0,data:void 0}));for(let t of e)if(t.success)if(!t.data||t.data.id===t.requestId)this._cache.moveEntity(t.requestId,n),t.data&&this._cache.upsertEntity(I({...this._cache.getEntity(t.requestId),...t.data,folderId:n}));else{let e=this._cache.deleteEntity(t.requestId);this._cache.upsertEntity(I({...e,...t.data,folderId:n}))}return a}else{let{__:e}=this.i18n;return{success:!1,error:a.error||new r.eo(e(`Move items failed`),`MoveNotAllowed`)}}}async copyItem({itemId:e,targetFolderId:t}){if(typeof this._dataProvider.copyItem!=`function`){let{__:e}=this.i18n;throw new r.eo(e(`Copy item is not supported`),`CopyNotAllowed`)}let n=this.normalizeId(t);this._validateTargetFolderType(t);let i=this._cache.getEntity(e);if(!i){let t=R(await this._dataProvider.copyItem({id:e,folderId:n},n));return this._cache.copyEntity(e,n,t.id),this._cache.upsertEntity(I({...t,folderId:n})),!0}if(this._validateDuplicates&&i.name){let t=n===this.normalizeId(i.folderId)?e:void 0;if(this._checkNameExistsInCache(n,i.name,!!i.isFolder,t)){let e=i.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new r.eo(`${i.isFolder?`Folder`:`File`} '${i.name}' already exists in target folder`,e)}}let a=R(await this._dataProvider.copyItem(i,n));return this._cache.copyEntity(e,n,a.id,{...a,folderId:n})||this._cache.upsertEntity(I({...a,folderId:n})),!0}async copyItems(e,t){let n=this.normalizeId(e);this._validateTargetFolderType(e);let i=t.map(e=>typeof e==`string`?{id:e}:e),a=i.map(e=>e.id),o=a.map((e,t)=>{let n=this._cache.getEntity(e),r=i[t]?.newName;return n?r?{...n,name:r}:n:void 0});if(this._validateDuplicates)for(let e=0;e<o.length;e++){let t=o[e];if(t&&t.name){let i=n===this.normalizeId(t.folderId)?a[e]:void 0;if(this._checkNameExistsInCache(n,t.name,!!t.isFolder,i)){let e=t.isFolder?`FolderAlreadyExists`:`FileAlreadyExists`;throw new r.eo(`${t.isFolder?`Folder`:`File`} '${t.name}' already exists in target folder`,e)}}}let s={detailed:Array(o.length),success:!0};if(typeof this._dataProvider.copyItems==`function`)s=P(await this._dataProvider.copyItems(o,n),e=>e);else if(typeof this._dataProvider.copyItem==`function`)s.detailed=await Promise.all(a.map(async(e,t)=>{let r=o[t]||{id:e,folderId:null,isFolder:!1};try{return{requestId:e,data:R(await this._dataProvider.copyItem(r,n)),success:!0}}catch(t){return{requestId:e,success:!1,error:t}}}));else{let{__:e}=this.i18n;throw new r.eo(e(`Copy items is not supported`),`CopyNotAllowed`)}if(s.success&&s.detailed)for(let e=0,t=s.detailed.length;e<t;e++){let t=s.detailed[e];if(t.success&&t.data?.id){let e=t.data.folderId||n;!this._cache.copyEntity(t.requestId,e,t.data.id,{...t.data,folderId:e})&&t.data&&this._cache.upsertEntity(I({...t.data,folderId:e}))}}else if(!s.detailed)throw new r.eo(`batchResult in copy method must have detailed results`,`ValidationError`);return s}async uploadFileByUrl(e){if(e.noFolder){let t=await this.getTempFolder();e={...e,folderId:t.id}}let t=this.normalizeId(e.folderId??this._rootId);try{let n=I({...await this._dataProvider.uploadFileByUrl(e.url,t,{eventSource:e.eventSource}),folderId:t});return this._cache.upsertEntity(n),n}catch(e){throw e}}async updateFile(e,t){let{__:n}=this.i18n;if(typeof this._dataProvider.updateFile!=`function`)throw new r.eo(n(`Update file is not supported`),`UnsupportedOperation`);let i=this.normalizeId(e),a=this._cache.getEntity(i);if(!a)throw new r.eo(n(`File with id '%s' not found in cache`).replace(`%s`,e),`FileNotFound`);if(t.name&&t.name!==a.name&&this._validateName(t.name,!1),this._validateDuplicates&&t.name&&t.name!==a.name){let e=this.normalizeId(a.folderId);if(this._checkNameExistsInCache(e,t.name,!1,i))throw new r.eo(n(`File '%s' already exists in parent folder`).replace(`%s`,t.name),`FileAlreadyExists`)}let o=R(await this._dataProvider.updateFile(a,{...t}));return this._cache.upsertEntity(I({...this._cache.getEntity(i),...o,...t})),this._cache.getEntity(i)}};Object.defineProperty(t,"i",{enumerable:!0,get:function(){return a}}),Object.defineProperty(t,"n",{enumerable:!0,get:function(){return p}}),Object.defineProperty(t,"r",{enumerable:!0,get:function(){return l}}),Object.defineProperty(t,"t",{enumerable:!0,get:function(){return V}})});
|