nhanh-pure-function 2.0.3 → 2.0.5
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/dist/Math/index.d.ts +9 -1
- package/dist/Utility/index.d.ts +9 -7
- package/dist/index.cjs.js +2 -1
- package/dist/index.es.js +191 -159
- package/package.json +1 -1
package/dist/Math/index.d.ts
CHANGED
|
@@ -19,8 +19,9 @@ export declare function _IsWithinErrorMargin(value: number, target: number, erro
|
|
|
19
19
|
* 进度
|
|
20
20
|
* @param {(schedule)=>void} callback callback( 进度百分比 )
|
|
21
21
|
* @param {Number} TIME 总时长
|
|
22
|
+
* @returns {Function} 停止函数
|
|
22
23
|
*/
|
|
23
|
-
export declare function _Schedule(callback: (schedule: number) => void, TIME?: number):
|
|
24
|
+
export declare function _Schedule(callback: (schedule: number) => void, TIME?: number): () => boolean;
|
|
24
25
|
/**
|
|
25
26
|
* 格式化数字,给数字加上千位分隔符。
|
|
26
27
|
* @param {number} number - 要格式化的数字。
|
|
@@ -58,3 +59,10 @@ export declare function _IsPointInPolygon(point: Point, polygon: Point[]): boole
|
|
|
58
59
|
* @returns string
|
|
59
60
|
*/
|
|
60
61
|
export declare function _FormatFileSize(size: number): string;
|
|
62
|
+
/** 计算平面直角坐标系中两点的距离 */
|
|
63
|
+
export declare function _CalculateDistance2D(x1: number, y1: number, x2: number, y2: number): number;
|
|
64
|
+
/** 获取两点的中点 */
|
|
65
|
+
export declare function _GetMidpoint(x1: number, y1: number, x2: number, y2: number): {
|
|
66
|
+
x: number;
|
|
67
|
+
y: number;
|
|
68
|
+
};
|
package/dist/Utility/index.d.ts
CHANGED
|
@@ -250,7 +250,7 @@ export declare function _RotateList<T>(list: T[]): T[][];
|
|
|
250
250
|
* @param {any} val - 需要克隆的值
|
|
251
251
|
* @returns {any} - 克隆后的值
|
|
252
252
|
*/
|
|
253
|
-
export declare function _Clone<T>(val: T): T |
|
|
253
|
+
export declare function _Clone<T>(val: T): T | undefined;
|
|
254
254
|
/**
|
|
255
255
|
* 管理通过键值对打开的窗口
|
|
256
256
|
*/
|
|
@@ -269,12 +269,7 @@ export declare class _KeyedWindowManager {
|
|
|
269
269
|
* @param windowFeatures 新窗口的特性
|
|
270
270
|
* @returns 返回已打开或新打开的窗口
|
|
271
271
|
*/
|
|
272
|
-
static open(key: string, url?: string, target?: WindowTarget, windowFeatures?: string): Window | undefined;
|
|
273
|
-
/**
|
|
274
|
-
* 关闭与指定键关联的窗口
|
|
275
|
-
* @param key 窗口的唯一键
|
|
276
|
-
*/
|
|
277
|
-
static close(key: string): void;
|
|
272
|
+
static open(key: string, url?: string | URL, target?: WindowTarget, windowFeatures?: string): Window | undefined;
|
|
278
273
|
/**
|
|
279
274
|
* 检查指定键的窗口是否打开
|
|
280
275
|
* @param key 窗口的唯一键
|
|
@@ -287,6 +282,11 @@ export declare class _KeyedWindowManager {
|
|
|
287
282
|
* @returns 返回对应的窗口,如果窗口已关闭则返回undefined
|
|
288
283
|
*/
|
|
289
284
|
static getWindow(key: string): Window | undefined;
|
|
285
|
+
/**
|
|
286
|
+
* 关闭与指定键关联的窗口
|
|
287
|
+
* @param key 窗口的唯一键
|
|
288
|
+
*/
|
|
289
|
+
static close(key: string): void;
|
|
290
290
|
/**
|
|
291
291
|
* 关闭所有打开的窗口并清空Map
|
|
292
292
|
*/
|
|
@@ -302,3 +302,5 @@ export declare class _KeyedWindowManager {
|
|
|
302
302
|
* @returns 成功时返回图像的URL,失败时返回null
|
|
303
303
|
*/
|
|
304
304
|
export declare function _Danger_ConvertDataToImageUrl(data: string | ArrayBuffer | Uint8Array | File, mimeType?: string): string | null;
|
|
305
|
+
/** 时间消耗 */
|
|
306
|
+
export declare function _TimeConsumption(func: Function, level: [number, string][]): (...args: any[]) => any;
|
package/dist/index.cjs.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".nhanh-pure-function{--nhanh: 2233}.no-select{-webkit-user-select:none;-ms-user-select:none;user-select:none}")),document.head.appendChild(e)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();
|
|
2
|
-
"use strict";var oe=Object.defineProperty;var G=n=>{throw TypeError(n)};var re=(n,t,e)=>t in n?oe(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var y=(n,t,e)=>re(n,typeof t!="symbol"?t+"":t,e),V=(n,t,e)=>t.has(n)||G("Cannot "+e);var c=(n,t,e)=>(V(n,t,"read from private field"),e?e.call(n):t.get(n)),d=(n,t,e)=>t.has(n)?G("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(n):t.set(n,e),l=(n,t,e,o)=>(V(n,t,"write to private field"),o?o.call(n,e):t.set(n,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ie={".mp3":"audio/mpeg",".mp4":"video/mp4",".m4a":"audio/mp4",".aac":"audio/aac",".ogg":"audio/ogg",".wav":"audio/wav",".flac":"audio/flac",".opus":"audio/opus",".webm":"video/webm",".avi":"video/x-msvideo",".mov":"video/quicktime",".wmv":"video/x-ms-wmv",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".bmp":"image/bmp",".tiff":"image/tiff",".ico":"image/vnd.microsoft.icon",".svg":"image/svg+xml",".webp":"image/webp",".heif":"image/heif",".heic":"image/heic",".json":"application/json",".xml":"application/xml",".html":"text/html",".htm":"text/html",".css":"text/css",".js":"application/javascript",".ts":"application/typescript",".csv":"text/csv",".tsv":"text/tab-separated-values",".txt":"text/plain",".md":"text/markdown",".rtf":"application/rtf",".pdf":"application/pdf",".zip":"application/zip",".rar":"application/x-rar-compressed",".tar":"application/x-tar",".gz":"application/gzip",".7z":"application/x-7z-compressed",".exe":"application/x-msdownload",".apk":"application/vnd.android.package-archive",".doc":"application/msword",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".xls":"application/vnd.ms-excel",".xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",".ppt":"application/vnd.ms-powerpoint",".pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation",".odt":"application/vnd.oasis.opendocument.text",".ods":"application/vnd.oasis.opendocument.spreadsheet",".odp":"application/vnd.oasis.opendocument.presentation",".jsonld":"application/ld+json",".yaml":"application/x-yaml",".yml":"application/x-yaml",".woff":"font/woff",".woff2":"font/woff2",".ttf":"font/ttf",".otf":"font/otf",".eot":"application/vnd.ms-fontobject",".map":"application/json"},Y={image:[".jpg",".jpeg",".png",".gif",".bmp",".webp",".tiff",".svg",".heif",".heic",".ico",".raw",".jfif",".avif",".png8",".indd",".eps",".ai"],ppt:[".ppt",".pptx",".odp"],word:[".doc",".docx",".odt",".rtf"],excel:[".xls",".xlsx",".ods",".csv",".tsv"],pdf:[".pdf"],text:[".txt",".csv",".md",".json",".yaml",".yml",".log",".ini",".rtf"],audio:[".mp3",".wav",".ogg",".flac",".aac",".wma",".m4a",".alac",".ape",".opus",".amr",".ra",".mid",".midi",".aiff",".pcm",".au",".wavpack",".spx"],video:[".mp4",".avi",".mkv",".mov",".wmv",".flv",".webm",".mpg",".mpeg",".3gp",".vob",".ogv",".m4v",".ts",".rm",".rmvb",".m2ts",".divx",".xvid",".swf",".f4v"],archive:[".zip",".rar",".tar",".gz",".bz2",".xz",".7z",".tar.gz",".tar.bz2",".tar.xz",".tar.lz",".tar.lzma",".cab",".iso",".dmg",".tgz",".apk",".gz2",".tar.zst"],code:[".js",".ts",".py",".java",".cpp",".c",".html",".css",".scss",".less",".sass",".php",".rb",".go",".swift",".rs",".kt",".scala",".lua",".pl",".m",".h",".xml",".json",".yaml",".yml",".toml",".vue",".ejs",".handlebars",".jinja",".dart"],font:[".woff",".woff2",".ttf",".otf",".eot",".svg",".ttc",".fnt",".fon",".otc"],database:[".sql",".sqlite",".db",".mdb",".accdb",".jsonld",".xml",".csv"],markup:[".html",".htm",".xhtml",".xml",".json",".yaml",".yml"],configuration:[".ini",".conf",".cfg",".env",".properties",".json",".toml"],logs:[".log",".err",".trace",".out"],script:[".bash",".sh",".zsh",".bat",".ps1",".vbs",".cmd",".sed",".awk",".php"]},Z=["","万","亿","兆","京","垓","秭","穰","沟","涧","正","载","极"];function se(n){return n!=null}function ce(n){return!(n===null||typeof n!="object"||Array.isArray(n))}function ae(n){if(typeof n!="function")return console.error("非函数:",n);const t=function(e){e.didTimeout||e.timeRemaining()<=0?requestIdleCallback(t):n()};requestIdleCallback(t)}function le(n,t){const e=+new Date;return new Promise((o,r)=>{const i=()=>{if(+new Date-e>=t)return r("超时");if(n())return o("完成");requestIdleCallback(i)};i()})}function ue(n,t,e=","){const o=new RegExp(`(^|${e})${t}(${e}|$)`,"g");return n.replace(o,function(r,i,s){return i===s?e:""})}function me(n){return n.charAt(0).toUpperCase()+n.slice(1)}function A(n,t,e=[],o=+new Date){if(o<+new Date-50){console.error("_MergeObjects 合并异常:疑似死循环");return}const r=W(n),i=W(t);if(r!=i)return t;if(r=="object"||r=="array"){if(e.some(([s,a])=>s==n&&a==t))return n;if(e.push([n,t]),r=="object"){for(const s in t)if(Object.prototype.hasOwnProperty.call(t,s)){const a=t[s],m=n[s],u=A(m,a,e,o);n[s]=u}return n}else if(r=="array")return t.forEach((s,a)=>{const m=s,u=n[a],f=A(u,m,e,o);n[a]=f}),n}else return t}function de(n,t="YYYY-MM-DD hh:mm:ss",e=!0){const o=new Date(n);if(isNaN(o.getTime()))return console.error("Invalid date"),"";const r={YYYY:i=>i.getFullYear(),MM:i=>i.getMonth()+1,DD:i=>i.getDate(),hh:i=>i.getHours(),mm:i=>i.getMinutes(),ss:i=>i.getSeconds(),ms:i=>i.getMilliseconds()};return t.replace(/YYYY|MM|DD|hh|mm|ss|ms/g,i=>{const s=r[i](o);return e?String(s).padStart(2,"0"):String(s)})}function fe(n){return new Promise((t,e)=>{fetch(n).then(o=>t(o.text())).catch(o=>{console.error("Error fetching :",o),e(o)})})}function q(n,t="file"){if(!n||(n=String(n).trim(),n===""))return t;const e=n.split("/");return e[e.length-1].split("?")[0]}function he(n,t){return new Promise((e,o)=>{try{t=t||q(n,"downloaded_file"),fetch(n).then(r=>(r.ok||o(`文件下载失败,状态码: ${r.status}`),r.blob())).then(r=>{const i=URL.createObjectURL(r),s=document.createElement("a");s.href=i,s.download=decodeURIComponent(t),document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(i),e(r)}).catch(o)}catch(r){o(r)}})}function pe(n,t=10){let e=0,o=t;function r(){if(o>0)o--,requestAnimationFrame(r);else{const s=(+new Date-e)/t,a=1e3/s;n(Number(a.toFixed(2)),Number(s.toFixed(2)))}}requestAnimationFrame(()=>{e=+new Date,r()})}function ge(n,t){return n=n.replace(/([^a-zA-Z][a-z])/g,e=>e.toUpperCase()),t?n.replace(/[^a-zA-Z]+/g,""):n}function we(n,t,e){if(!e){let s=t.replace(/^[^.]+./,"");s=s==t?"text/plain":"application/"+s,e={type:s}}const o=new Blob(n,e),r=URL.createObjectURL(o),i=document.createElement("a");i.href=r,i.download=t,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)}function ve(n=""){return n+"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function J(n,t){let e;return function(...o){clearTimeout(e),e=setTimeout(()=>{n(...o),e=void 0},t)}}function xe(n,t){let e=-1/0;return function(...o){const r=performance.now();if(r-e>t){e=r;try{n(...o)}catch(i){console.error("Throttled function execution failed:",i)}}}}function W(n){return Array.isArray(n)?"array":n===null?"null":typeof n}function be(n){const t=()=>Promise.resolve(),e=a=>(console.error(a),Promise.reject(a));function o(){return navigator.clipboard.writeText(n).then(t).catch(e)}function r(){const a=document.createElement("div");a.innerText=n,document.body.appendChild(a);const m=document.createRange();m.selectNodeContents(a);const u=window.getSelection();let f=!1;return u&&(u.removeAllRanges(),u.addRange(m),f=document.execCommand("copy")),document.body.removeChild(a),f?Promise.resolve():Promise.reject()}function i(){const a=document.createElement("textarea");a.value=n,document.body.appendChild(a),a.select(),a.setSelectionRange(0,n.length);let m=!1;return document.activeElement===a&&(m=document.execCommand("Copy",!0)),document.body.removeChild(a),m?Promise.resolve():Promise.reject()}function s(){return r().then(t).catch(()=>{i().then(t).catch(()=>e("复制方式尽皆失效"))})}return navigator.clipboard?o().catch(s):s()}function ye(n,t){const e=t.split(".");return e.reduce((o,r,i)=>(r in o||(i===e.length-1?o[r]=void 0:o[r]={}),o[r]),n)}function Ce(n,t){const e=t.split(".");return e.reduce((o,r,i)=>o.hasOwnProperty(r)?o[r]:o[r]=i==e.length-1?void 0:{},n)}function _e(n,t,e){const o=t.split(".");return o.reduce((r,i,s)=>(s===o.length-1&&(r[i]=e),r[i]),n)}function Ee(n){return new Promise((t,e)=>{if(typeof n!="string"||n.trim()===""||!n.includes("://")){e(new Error("Invalid URL: Must be a non-empty string"));return}try{new XMLHttpRequest().open("HEAD",n,!0)}catch(i){e(new Error(`Invalid URL format: ${i.message}`));return}const o=new XMLHttpRequest;o.open("HEAD",n,!0);const r=i=>{e(new Error(`Request failed: ${i.type}`))};o.onreadystatechange=function(){o.readyState===XMLHttpRequest.DONE&&(o.status===0?e(new Error("Network error or CORS blocked")):o.status>=200&&o.status<300?t(!0):e(new Error(`HTTP Error: ${o.status}`)))},o.onerror=r,o.onabort=r,o.ontimeout=r;try{o.send()}catch(i){e(new Error(`Request send failed: ${i.message}`))}})}function Fe(n){return["https:","wss:","ftps:","sftp:","smpts:","smtp+tls:","imap+tls:","pop3+tls:","rdp:","vpn:"].some(e=>n.startsWith(e))}const E=class E{constructor(){if(new.target===E)throw new Error("请直接使用静态方法,而不是实例化此类")}static check(t,e){if(!t||typeof t!="string")return console.error("Invalid URL provided"),e?!1:"unknown";const o=q(t).toLowerCase();if(e){if(!Y.hasOwnProperty(e))return console.error(`Unknown file type: ${e}`),"unknown";const r=Y[e];return E._checkExtension(o,r)}return E._detectFileType(o)}static parseAddresses(t){return!t||typeof t!="string"?(console.error("Invalid URL provided"),[]):t.split(",").map(e=>{const o=q(e),r=this.check(e);return{url:e,name:o,type:r}})}static matchesMimeType(t,e){if(!e)return!0;if(typeof t!="string"||typeof e!="string")return!1;const o=E._normalizeType(t),r=e.split(",").map(a=>E._normalizeType(a.trim())),[i,s="*"]=o.split("/");return r.some(a=>{const[m,u="*"]=a.split("/");return(m==="*"||i==="*"||m===i)&&(u==="*"||s==="*"||u===s)})}static _normalizeType(t){return t.startsWith(".")&&!t.includes("/")?ie[t.toLowerCase()]||t:t.includes("/")?t:`${t}/*`}static _checkExtension(t,e){return e.some(o=>t.endsWith(o))}static _detectFileType(t){for(const[e,o]of E.cachedEntries)if(o.some(r=>t.endsWith(r)))return e;return"unknown"}};y(E,"cachedEntries",Object.entries(Y));let H=E;function Te(n){return n.map((t,e)=>n.slice(e).concat(n.slice(0,e)))}function Le(n){const t=window.structuredClone,e=o=>o===null||typeof o!="object"?o:A(Array.isArray(o)?[]:{},o);try{return t?t(n):e(n)}catch(o){return console.error("structuredClone error:",o),t&&e(n)}}const B=class B{constructor(){if(new.target===B)throw new Error("请直接使用静态方法,而不是实例化此类")}static open(t,e,o,r){const i=this.keys.get(t);if(i&&!i.closed)return i.focus(),i;{const s=window.open(e,o,r);if(s)return this.keys.set(t,s),s.addEventListener("unload",()=>this.keys.delete(t)),s;console.error("window.open failed: 可能是浏览器阻止了弹出窗口"),this.keys.delete(t)}}static close(t){const e=this.keys.get(t);e&&!e.closed&&(e.close(),this.keys.delete(t))}static isOpen(t){const e=this.keys.get(t);return!!e&&!e.closed}static getWindow(t){const e=this.keys.get(t);if(e&&!e.closed)return e}static closeAll(){this.keys.forEach((t,e)=>{t.closed||t.close(),this.keys.delete(e)})}};y(B,"keys",new Map);let X=B;function Me(n,t="image/png"){try{let e,o=t;if(n instanceof File)return URL.createObjectURL(n);if(typeof n=="string"){let i=n;const s=i.match(/^data:([^;]*)(;base64)?,(.*)$/i);if(s){if(!s[2])throw new Error("无效的数据 URL:缺少 base64 编码声明");if(o=s[1]||o,i=s[3],!i)throw new Error("数据 URL 包含空有效负载")}i=i.replace(/[^A-Za-z0-9+/=]/g,"");const a=atob(i);e=new Uint8Array(a.length);for(let m=0;m<a.length;m++)e[m]=a.charCodeAt(m)}else if(n instanceof ArrayBuffer)e=new Uint8Array(n);else if(n instanceof Uint8Array)e=n;else throw new Error("不支持的数据类型。应为 Base64 字符串、ArrayBuffer 或 Uint8Array");const r=new Blob([e],{type:o});return URL.createObjectURL(r)}catch(e){return console.error("数据到 ImageURL 的转换失败:",e.message,e.stack||"没有可用的堆栈跟踪"),null}}function je(n){const t=J(n,100);let e=0,o=0;return function(r){const i=r.target;if(!i||!(i instanceof HTMLElement))return;const{scrollTop:s,scrollHeight:a,clientHeight:m,scrollLeft:u,scrollWidth:f,clientWidth:g}=i;function N(){if(e==s)return;const $=e>s;if(e=s,$)return;a-s-m<=1&&t("vertical")}function te(){if(o==u)return;const $=o>u;if(o=u,$)return;f-u-g<=1&&t("horizontal")}N(),te()}}function Re(n,t,e){const{isClickAllowed:o,uiLibrary:r=["naiveUI","ElementPlus","Element"]}=e||{},i=function(m){const u=[];for(const f in m)Object.hasOwnProperty.call(m,f)&&r.includes(f)&&u.push(...m[f]);return u}({naiveUI:[".v-binder-follower-container",".n-image-preview-container",".n-modal-container"],ElementPlus:[".el-popper"],Element:[".el-popper"]});function s(){t(),document.removeEventListener("mousedown",a)}function a(m){if(o){const g=o(m);if(g)return;if(g===!1)return s()}const u=m.target;if(!(u instanceof HTMLElement)||!(u!=null&&u.closest("body")))return;n.concat(i).some(g=>!!(u!=null&&u.closest(g)))||s()}requestAnimationFrame(()=>document.addEventListener("mousedown",a))}var w,T,L,k,U,C,_,F,I;class Pe{constructor(){d(this,w);d(this,T,!1);d(this,L,{});d(this,k,0);d(this,U,0);d(this,C,0);d(this,_,0);d(this,F);d(this,I)}init(t,e){l(this,w,t),l(this,F,e==null?void 0:e.limit),l(this,I,e==null?void 0:e.dragDom),l(this,L,{mousedown:this.mousedown.bind(this),mousemove:this.mousemove.bind(this),mouseup:this.mouseup.bind(this)}),this.bindOrUnbindEvent("bind")}finish(){this.bindOrUnbindEvent("unbind")}bindOrUnbindEvent(t){const e=t==="bind"?"addEventListener":"removeEventListener";if(!c(this,w))return console.error("No DOM");c(this,w)[e]("mousedown",c(this,L).mousedown),document[e]("mousemove",c(this,L).mousemove),document[e]("mouseup",c(this,L).mouseup)}alterLocation(){if(!c(this,w))return console.error("No DOM");c(this,F)&&(l(this,C,Math.min(c(this,C),c(this,F).max.top)),l(this,C,Math.max(c(this,C),c(this,F).min.top)),l(this,_,Math.min(c(this,_),c(this,F).max.left)),l(this,_,Math.max(c(this,_),c(this,F).min.left))),c(this,w).style.setProperty("--top",c(this,C)+"px"),c(this,w).style.setProperty("--left",c(this,_)+"px")}mousedown(t){if(!c(this,w))return console.error("No DOM");if(c(this,I)&&t.target!=c(this,I))return;document.body.classList.add("no-select"),l(this,T,!0);const e=c(this,w).getBoundingClientRect(),{pageX:o,pageY:r}=t;l(this,k,o),l(this,U,r),l(this,C,e.y),l(this,_,e.x)}mousemove(t){const{pageX:e,pageY:o}=t;c(this,T)&&(l(this,C,c(this,C)+(o-c(this,U))),l(this,_,c(this,_)+(e-c(this,k))),l(this,k,e),l(this,U,o),this.alterLocation())}mouseup(){c(this,T)&&(l(this,T,!1),document.body.classList.remove("no-select"))}}w=new WeakMap,T=new WeakMap,L=new WeakMap,k=new WeakMap,U=new WeakMap,C=new WeakMap,_=new WeakMap,F=new WeakMap,I=new WeakMap;var v,M,j,D,S,x,b,p,O,z;class ke{constructor(){d(this,v);d(this,M,!1);d(this,j,{});d(this,D,0);d(this,S,0);d(this,x,0);d(this,b,0);d(this,p);d(this,O);d(this,z)}init(t,e={}){l(this,v,t),l(this,p,e.limit),l(this,O,e.update_move),l(this,z,e.update_up),l(this,j,{mousedown:this.mousedown.bind(this),mousemove:this.mousemove.bind(this),mouseup:this.mouseup.bind(this)}),this.bindOrUnbindEvent("bind")}finish(){this.bindOrUnbindEvent("unbind")}bindOrUnbindEvent(t){const e=t==="bind"?"addEventListener":"removeEventListener";if(!c(this,v))return console.error("No DOM");c(this,v)[e]("mousedown",c(this,j).mousedown),document[e]("mousemove",c(this,j).mousemove),document[e]("mouseup",c(this,j).mouseup)}updateValue(){const t={top:c(this,x),left:c(this,b),percentage:{top:0,left:0}};if(c(this,p)){const e=o=>c(this,p)?(t[o]-c(this,p).min[o])/(c(this,p).max[o]-c(this,p).min[o]):0;t.percentage={top:e("top")||0,left:e("left")||0}}return t}alterLocation(){if(!c(this,v))return console.error("No DOM");c(this,p)&&(l(this,x,Math.min(c(this,x),c(this,p).max.top)),l(this,x,Math.max(c(this,x),c(this,p).min.top)),l(this,b,Math.min(c(this,b),c(this,p).max.left)),l(this,b,Math.max(c(this,b),c(this,p).min.left))),c(this,O)&&c(this,O).call(this,this.updateValue()),c(this,v).style.setProperty("--top",c(this,x)+"px"),c(this,v).style.setProperty("--left",c(this,b)+"px")}mousedown(t){if(!c(this,v))return console.error("No DOM");document.body.classList.add("no-select"),l(this,M,!0);const e=c(this,v).getBoundingClientRect();l(this,S,e.y),l(this,D,e.x);const{pageX:o,pageY:r}=t;l(this,x,r-c(this,S)),l(this,b,o-c(this,D)),this.alterLocation()}mousemove(t){const{pageX:e,pageY:o}=t;c(this,M)&&(l(this,x,o-c(this,S)),l(this,b,e-c(this,D)),this.alterLocation())}mouseup(){c(this,M)&&(l(this,M,!1),document.body.classList.remove("no-select"),c(this,z)&&c(this,z).call(this,this.updateValue()))}}v=new WeakMap,M=new WeakMap,j=new WeakMap,D=new WeakMap,S=new WeakMap,x=new WeakMap,b=new WeakMap,p=new WeakMap,O=new WeakMap,z=new WeakMap;function K(n){const t=n;if(n){if(n.requestFullscreen)return n.requestFullscreen();if(t.mozRequestFullScreen)return t.mozRequestFullScreen();if(t.webkitRequestFullscreen)return t.webkitRequestFullscreen();if(t.msRequestFullscreen)return t.msRequestFullscreen()}else return Promise.reject("No DOM");return Promise.reject("No Fullscreen API")}function Q(){const n=document;return document.exitFullscreen?document.exitFullscreen():n.mozCancelFullScreen?n.mozCancelFullScreen():n.webkitExitFullscreen?n.webkitExitFullscreen():n.msExitFullscreen?n.msExitFullscreen():Promise.reject("No ExitFullscreen API")}function ee(){const n=document;return document.fullscreenElement||n.webkitFullscreenElement||n.mozFullScreenElement||n.msFullscreenElement}function Ue(n){return function(){ee()?Q():K(n)}}function Ie(n,t){if(typeof n=="number")return n;if(/px/.test(n))return Number(n.replace(/px/,""))||0;const e=document.createElement("div");e.style.width=n,t=t||document.body,t.appendChild(e);const o=e.getBoundingClientRect().width;return t.removeChild(e),o}function De(n,t){if(!n)return;let e,o;if(typeof t=="string"){const i=document.querySelector(t);if(!i)return;const s=i.getBoundingClientRect();e=s.width,o=s.height}else if(Array.isArray(t))e=t[0],o=t[1];else{const i=t.getBoundingClientRect();e=i.width,o=i.height}const r=e/o;return r>n?[n*o,o]:r<n?[e,e/n]:[e,o]}function Se(n,t=5e3){return new Promise((e,o)=>{const r=new Image;r.src=n;const i=setTimeout(()=>{o(new Error("图片加载超时")),r.onload=null,r.onerror=null},t);r.onload=()=>{clearTimeout(i);const s=r.naturalWidth,a=r.naturalHeight,m=s/a;e([r,m])},r.onerror=()=>{clearTimeout(i),o(new Error("图片加载失败"))},r.crossOrigin="Anonymous"})}function Oe(n,t,e=2){return!Number.isFinite(n)||!Number.isFinite(t)||!Number.isFinite(e)?(console.error("所有参数必须是有限的数字"),""):t===0?(console.error("分母不能为零"),""):e<0?(console.error("小数位数不能为负数"),""):(n/t*100).toFixed(e)+"%"}function ze(n,t,e){return Math.abs(n-t)<=e}function Ne(n,t=500){let e;function o(r){e||(e=r);let i=Math.min((r-e)/t,1);n(i),r-e<t&&requestAnimationFrame(o)}requestAnimationFrame(o)}function Ae(n){return n.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}function qe(n,t){const e={join:!0,suffix:"",decimalPlaces:2},{join:o,suffix:r,decimalPlaces:i}={...e,...t||{}},s=Number(n);if(isNaN(s))return o?`0${r}`:[0,r];const a=Math.abs(s),m=s>=0,u=Math.max(0,Math.floor(Math.log10(a)/4)),f=Math.pow(1e4,u),g=a/f,N=(m?1:-1)*parseFloat(g.toFixed(Math.max(0,i)));return o?`${N}${Z[u]}${r}`:[N,Z[u]+r]}function Be(n,t){let e=!1;const{x:o,y:r}=n,i=t.length;for(let s=0,a=i-1;s<i;a=s++){const m=t[s].x,u=t[s].y,f=t[a].x,g=t[a].y;u>r!=g>r&&o<(f-m)*(r-u)/(g-u)+m&&(e=!e)}return e}function $e(n){const t=["B","KB","MB","GB","TB","PB"];let e=0;for(;n>1024;)n/=1024,e++;return`${Math.round(n*100)/100} ${t[e]}`}class P{constructor(t,e){y(this,"resolve");y(this,"reject");this.resolve=t,this.reject=e}run(t){var e,o;return t instanceof Promise?t.then(r=>{var i;return(i=this.resolve)==null||i.call(this),r}).catch(r=>{var i;return(i=this.reject)==null||i.call(this),Promise.reject(r)}):t?(e=this.resolve)==null||e.call(this):(o=this.reject)==null||o.call(this),t}}class Ye extends P{constructor(t){super(),this.resolve=t}warning(...t){const e=()=>{var o,r;return(r=(o=R.tips).warning)==null?void 0:r.call(o,...t)};return new P(this.resolve,e)}error(...t){const e=()=>{var o,r;return(r=(o=R.tips).error)==null?void 0:r.call(o,...t)};return new P(this.resolve,e)}}class We extends P{constructor(t){super(),this.reject=t}info(...t){const e=()=>{var o,r;return(r=(o=R.tips).info)==null?void 0:r.call(o,...t)};return new P(e,this.reject)}success(...t){const e=()=>{var o,r;return(r=(o=R.tips).success)==null?void 0:r.call(o,...t)};return new P(e,this.reject)}}const h=class h{constructor(){if(new.target===h)throw new Error("请直接使用静态方法,而不是实例化此类")}static register(t,e){if(typeof e!="function")return console.error("TipHandler must be a function");h.tips[t]=e}static resolveTip(t){return function(...e){const o=()=>{var r,i;return(i=(r=h.tips)[t])==null?void 0:i.call(r,...e)};return new Ye(o)}}static rejectTip(t){return function(...e){const o=()=>{var r,i;return(i=(r=h.tips)[t])==null?void 0:i.call(r,...e)};return new We(o)}}};y(h,"tips",{info:void 0,success:void 0,warning:void 0,error:void 0}),y(h,"info",h.resolveTip("info")),y(h,"success",h.resolveTip("success")),y(h,"warning",h.rejectTip("warning")),y(h,"error",h.rejectTip("error"));let R=h;exports._CalculateCanvasSize=De;exports._CapitalizeFirstLetter=me;exports._CheckConnectionWithXHR=Ee;exports._Clone=Le;exports._CloseOnOutsideClick=Re;exports._ConvertToCamelCase=ge;exports._ConvertToPercentage=Oe;exports._CopyToClipboard=be;exports._CreateAndDownloadFile=we;exports._Danger_ConvertDataToImageUrl=Me;exports._DataType=W;exports._Debounce=J;exports._DownloadFile=he;exports._Drag=Pe;exports._EnterFullscreen=K;exports._ExcludeSubstring=ue;exports._ExecuteWhenIdle=ae;exports._ExitFullscreen=Q;exports._FileTypeChecker=H;exports._FormatFileSize=$e;exports._FormatNumber=Ae;exports._FormatNumberWithUnit=qe;exports._Fullscreen=Ue;exports._GenerateUUID=ve;exports._GetFrameRate=pe;exports._GetHrefName=q;exports._GetOtherSizeInPixels=Ie;exports._GetTargetByPath=Ce;exports._InitTargetByPath=ye;exports._IsFullscreen=ee;exports._IsObject=ce;exports._IsPointInPolygon=Be;exports._IsSecureContext=Fe;exports._IsWithinErrorMargin=ze;exports._KeyedWindowManager=X;exports._LoadImage=Se;exports._LocalDrag=ke;exports._MergeObjects=A;exports._NotNull=se;exports._ReadFile=fe;exports._RotateList=Te;exports._Schedule=Ne;exports._ScrollEndListener=je;exports._Throttle=xe;exports._TimeTransition=de;exports._Tip=R;exports._UpdateTargetByPath=_e;exports._WaitForCondition=le;
|
|
2
|
+
"use strict";var oe=Object.defineProperty;var V=n=>{throw TypeError(n)};var re=(n,t,e)=>t in n?oe(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var y=(n,t,e)=>re(n,typeof t!="symbol"?t+"":t,e),Z=(n,t,e)=>t.has(n)||V("Cannot "+e);var c=(n,t,e)=>(Z(n,t,"read from private field"),e?e.call(n):t.get(n)),d=(n,t,e)=>t.has(n)?V("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(n):t.set(n,e),m=(n,t,e,o)=>(Z(n,t,"write to private field"),o?o.call(n,e):t.set(n,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ie={".mp3":"audio/mpeg",".mp4":"video/mp4",".m4a":"audio/mp4",".aac":"audio/aac",".ogg":"audio/ogg",".wav":"audio/wav",".flac":"audio/flac",".opus":"audio/opus",".webm":"video/webm",".avi":"video/x-msvideo",".mov":"video/quicktime",".wmv":"video/x-ms-wmv",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".bmp":"image/bmp",".tiff":"image/tiff",".ico":"image/vnd.microsoft.icon",".svg":"image/svg+xml",".webp":"image/webp",".heif":"image/heif",".heic":"image/heic",".json":"application/json",".xml":"application/xml",".html":"text/html",".htm":"text/html",".css":"text/css",".js":"application/javascript",".ts":"application/typescript",".csv":"text/csv",".tsv":"text/tab-separated-values",".txt":"text/plain",".md":"text/markdown",".rtf":"application/rtf",".pdf":"application/pdf",".zip":"application/zip",".rar":"application/x-rar-compressed",".tar":"application/x-tar",".gz":"application/gzip",".7z":"application/x-7z-compressed",".exe":"application/x-msdownload",".apk":"application/vnd.android.package-archive",".doc":"application/msword",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".xls":"application/vnd.ms-excel",".xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",".ppt":"application/vnd.ms-powerpoint",".pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation",".odt":"application/vnd.oasis.opendocument.text",".ods":"application/vnd.oasis.opendocument.spreadsheet",".odp":"application/vnd.oasis.opendocument.presentation",".jsonld":"application/ld+json",".yaml":"application/x-yaml",".yml":"application/x-yaml",".woff":"font/woff",".woff2":"font/woff2",".ttf":"font/ttf",".otf":"font/otf",".eot":"application/vnd.ms-fontobject",".map":"application/json"},H={image:[".jpg",".jpeg",".png",".gif",".bmp",".webp",".tiff",".svg",".heif",".heic",".ico",".raw",".jfif",".avif",".png8",".indd",".eps",".ai"],ppt:[".ppt",".pptx",".odp"],word:[".doc",".docx",".odt",".rtf"],excel:[".xls",".xlsx",".ods",".csv",".tsv"],pdf:[".pdf"],text:[".txt",".csv",".md",".json",".yaml",".yml",".log",".ini",".rtf"],audio:[".mp3",".wav",".ogg",".flac",".aac",".wma",".m4a",".alac",".ape",".opus",".amr",".ra",".mid",".midi",".aiff",".pcm",".au",".wavpack",".spx"],video:[".mp4",".avi",".mkv",".mov",".wmv",".flv",".webm",".mpg",".mpeg",".3gp",".vob",".ogv",".m4v",".ts",".rm",".rmvb",".m2ts",".divx",".xvid",".swf",".f4v"],archive:[".zip",".rar",".tar",".gz",".bz2",".xz",".7z",".tar.gz",".tar.bz2",".tar.xz",".tar.lz",".tar.lzma",".cab",".iso",".dmg",".tgz",".apk",".gz2",".tar.zst"],code:[".js",".ts",".py",".java",".cpp",".c",".html",".css",".scss",".less",".sass",".php",".rb",".go",".swift",".rs",".kt",".scala",".lua",".pl",".m",".h",".xml",".json",".yaml",".yml",".toml",".vue",".ejs",".handlebars",".jinja",".dart"],font:[".woff",".woff2",".ttf",".otf",".eot",".svg",".ttc",".fnt",".fon",".otc"],database:[".sql",".sqlite",".db",".mdb",".accdb",".jsonld",".xml",".csv"],markup:[".html",".htm",".xhtml",".xml",".json",".yaml",".yml"],configuration:[".ini",".conf",".cfg",".env",".properties",".json",".toml"],logs:[".log",".err",".trace",".out"],script:[".bash",".sh",".zsh",".bat",".ps1",".vbs",".cmd",".sed",".awk",".php"]},J=["","万","亿","兆","京","垓","秭","穰","沟","涧","正","载","极"];function se(n){return n!=null}function ce(n){return!(n===null||typeof n!="object"||Array.isArray(n))}function ae(n){if(typeof n!="function")return console.error("非函数:",n);const t=function(e){e.didTimeout||e.timeRemaining()<=0?requestIdleCallback(t):n()};requestIdleCallback(t)}function le(n,t){const e=+new Date;return new Promise((o,r)=>{const i=()=>{if(+new Date-e>=t)return r("超时");if(n())return o("完成");requestIdleCallback(i)};i()})}function ue(n,t,e=","){const o=new RegExp(`(^|${e})${t}(${e}|$)`,"g");return n.replace(o,function(r,i,s){return i===s?e:""})}function me(n){return n.charAt(0).toUpperCase()+n.slice(1)}function N(n,t,e=[],o=+new Date){if(o<+new Date-50){console.error("_MergeObjects 合并异常:疑似死循环");return}const r=W(n),i=W(t);if(r!=i)return t;if(r=="object"||r=="array"){if(e.some(([s,a])=>s==n&&a==t))return n;if(e.push([n,t]),r=="object"){for(const s in t)if(Object.prototype.hasOwnProperty.call(t,s)){const a=t[s],u=n[s],l=N(u,a,e,o);n[s]=l}return n}else if(r=="array")return t.forEach((s,a)=>{const u=s,l=n[a],f=N(l,u,e,o);n[a]=f}),n}else return t}function de(n,t="YYYY-MM-DD hh:mm:ss",e=!0){const o=new Date(n);if(isNaN(o.getTime()))return console.error("Invalid date"),"";const r={YYYY:i=>i.getFullYear(),MM:i=>i.getMonth()+1,DD:i=>i.getDate(),hh:i=>i.getHours(),mm:i=>i.getMinutes(),ss:i=>i.getSeconds(),ms:i=>i.getMilliseconds()};return t.replace(/YYYY|MM|DD|hh|mm|ss|ms/g,i=>{const s=r[i](o);return e?String(s).padStart(2,"0"):String(s)})}function fe(n){return new Promise((t,e)=>{fetch(n).then(o=>t(o.text())).catch(o=>{console.error("Error fetching :",o),e(o)})})}function q(n,t="file"){if(!n||(n=String(n).trim(),n===""))return t;const e=n.split("/");return e[e.length-1].split("?")[0]}function he(n,t){return new Promise((e,o)=>{try{t=t||q(n,"downloaded_file"),fetch(n).then(r=>(r.ok||o(`文件下载失败,状态码: ${r.status}`),r.blob())).then(r=>{const i=URL.createObjectURL(r),s=document.createElement("a");s.href=i,s.download=decodeURIComponent(t),document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(i),e(r)}).catch(o)}catch(r){o(r)}})}function pe(n,t=10){let e=0,o=t;function r(){if(o>0)o--,requestAnimationFrame(r);else{const s=(+new Date-e)/t,a=1e3/s;n(Number(a.toFixed(2)),Number(s.toFixed(2)))}}requestAnimationFrame(()=>{e=+new Date,r()})}function ge(n,t){return n=n.replace(/([^a-zA-Z][a-z])/g,e=>e.toUpperCase()),t?n.replace(/[^a-zA-Z]+/g,""):n}function we(n,t,e){if(!e){let s=t.replace(/^[^.]+./,"");s=s==t?"text/plain":"application/"+s,e={type:s}}const o=new Blob(n,e),r=URL.createObjectURL(o),i=document.createElement("a");i.href=r,i.download=t,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)}function xe(n=""){return n+"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function K(n,t){let e;return function(...o){clearTimeout(e),e=setTimeout(()=>{n(...o),e=void 0},t)}}function ve(n,t){let e=-1/0;return function(...o){const r=performance.now();if(r-e>t){e=r;try{n(...o)}catch(i){console.error("Throttled function execution failed:",i)}}}}function W(n){return Array.isArray(n)?"array":n===null?"null":typeof n}function be(n){const t=()=>Promise.resolve(),e=a=>(console.error(a),Promise.reject(a));function o(){return navigator.clipboard.writeText(n).then(t).catch(e)}function r(){const a=document.createElement("div");a.innerText=n,document.body.appendChild(a);const u=document.createRange();u.selectNodeContents(a);const l=window.getSelection();let f=!1;return l&&(l.removeAllRanges(),l.addRange(u),f=document.execCommand("copy")),document.body.removeChild(a),f?Promise.resolve():Promise.reject()}function i(){const a=document.createElement("textarea");a.value=n,document.body.appendChild(a),a.select(),a.setSelectionRange(0,n.length);let u=!1;return document.activeElement===a&&(u=document.execCommand("Copy",!0)),document.body.removeChild(a),u?Promise.resolve():Promise.reject()}function s(){return r().then(t).catch(()=>{i().then(t).catch(()=>e("复制方式尽皆失效"))})}return navigator.clipboard?o().catch(s):s()}function ye(n,t){const e=t.split(".");return e.reduce((o,r,i)=>(r in o||(i===e.length-1?o[r]=void 0:o[r]={}),o[r]),n)}function Ce(n,t){const e=t.split(".");return e.reduce((o,r,i)=>o.hasOwnProperty(r)?o[r]:o[r]=i==e.length-1?void 0:{},n)}function _e(n,t,e){const o=t.split(".");return o.reduce((r,i,s)=>(s===o.length-1&&(r[i]=e),r[i]),n)}function Ee(n){return new Promise((t,e)=>{if(typeof n!="string"||n.trim()===""||!n.includes("://")){e(new Error("Invalid URL: Must be a non-empty string"));return}try{new XMLHttpRequest().open("HEAD",n,!0)}catch(i){e(new Error(`Invalid URL format: ${i.message}`));return}const o=new XMLHttpRequest;o.open("HEAD",n,!0);const r=i=>{e(new Error(`Request failed: ${i.type}`))};o.onreadystatechange=function(){o.readyState===XMLHttpRequest.DONE&&(o.status===0?e(new Error("Network error or CORS blocked")):o.status>=200&&o.status<300?t(!0):e(new Error(`HTTP Error: ${o.status}`)))},o.onerror=r,o.onabort=r,o.ontimeout=r;try{o.send()}catch(i){e(new Error(`Request send failed: ${i.message}`))}})}function Fe(n){return["https:","wss:","ftps:","sftp:","smpts:","smtp+tls:","imap+tls:","pop3+tls:","rdp:","vpn:"].some(e=>n.startsWith(e))}const E=class E{constructor(){if(new.target===E)throw new Error("请直接使用静态方法,而不是实例化此类")}static check(t,e){if(!t||typeof t!="string")return console.error("Invalid URL provided"),e?!1:"unknown";const o=q(t).toLowerCase();if(e){if(!H.hasOwnProperty(e))return console.error(`Unknown file type: ${e}`),"unknown";const r=H[e];return E._checkExtension(o,r)}return E._detectFileType(o)}static parseAddresses(t){return!t||typeof t!="string"?(console.error("Invalid URL provided"),[]):t.split(",").map(e=>{const o=q(e),r=this.check(e);return{url:e,name:o,type:r}})}static matchesMimeType(t,e){if(!e)return!0;if(typeof t!="string"||typeof e!="string")return!1;const o=E._normalizeType(t),r=e.split(",").map(a=>E._normalizeType(a.trim())),[i,s="*"]=o.split("/");return r.some(a=>{const[u,l="*"]=a.split("/");return(u==="*"||i==="*"||u===i)&&(l==="*"||s==="*"||l===s)})}static _normalizeType(t){return t.startsWith(".")&&!t.includes("/")?ie[t.toLowerCase()]||t:t.includes("/")?t:`${t}/*`}static _checkExtension(t,e){return e.some(o=>t.endsWith(o))}static _detectFileType(t){for(const[e,o]of E.cachedEntries)if(o.some(r=>t.endsWith(r)))return e;return"unknown"}};y(E,"cachedEntries",Object.entries(H));let X=E;function Te(n){return n.map((t,e)=>n.slice(e).concat(n.slice(0,e)))}function Me(n){const t=window.structuredClone,e=o=>o===null||typeof o!="object"?o:N(Array.isArray(o)?[]:{},o);try{return t?t(n):e(n)}catch(o){return console.error("structuredClone error:",o),t&&e(n)}}const $=class ${constructor(){if(new.target===$)throw new Error("请直接使用静态方法,而不是实例化此类")}static open(t,e,o,r){const i=this.keys.get(t);if(i&&!i.closed)return i.focus(),i;{const s=window.open(e,o,r);if(s)return this.keys.set(t,s),s;console.error("window.open failed: 可能是浏览器阻止了弹出窗口"),this.keys.delete(t)}}static isOpen(t){const e=this.keys.get(t);return e!=null&&e.closed&&this.keys.delete(t),this.keys.has(t)}static getWindow(t){if(this.isOpen(t))return this.keys.get(t)}static close(t){const e=this.keys.get(t);e&&(e.close(),this.keys.delete(t))}static closeAll(){this.keys.forEach((t,e)=>t.close()),this.keys.clear()}};y($,"keys",new Map);let G=$;function Le(n,t="image/png"){try{let e,o=t;if(n instanceof File)return URL.createObjectURL(n);if(typeof n=="string"){let i=n;const s=i.match(/^data:([^;]*)(;base64)?,(.*)$/i);if(s){if(!s[2])throw new Error("无效的数据 URL:缺少 base64 编码声明");if(o=s[1]||o,i=s[3],!i)throw new Error("数据 URL 包含空有效负载")}i=i.replace(/[^A-Za-z0-9+/=]/g,"");const a=atob(i);e=new Uint8Array(a.length);for(let u=0;u<a.length;u++)e[u]=a.charCodeAt(u)}else if(n instanceof ArrayBuffer)e=new Uint8Array(n);else if(n instanceof Uint8Array)e=n;else throw new Error("不支持的数据类型。应为 Base64 字符串、ArrayBuffer 或 Uint8Array");const r=new Blob([e],{type:o});return URL.createObjectURL(r)}catch(e){return console.error("数据到 ImageURL 的转换失败:",e.message,e.stack||"没有可用的堆栈跟踪"),null}}function je(n,t){if(typeof n!="function")throw new Error("The first argument must be a function.");if(!Array.isArray(t))throw new Error("The second argument must be an array.");let e=[],o=100,r=0;const i=(s,a)=>{for(const[u,l]of a)if(s>=u)return l;return"black"};return function(...s){const a=performance.now(),u=n(...s),l=performance.now()-a;e.push(l),e.length>o&&e.shift(),r=e.reduce((T,B)=>T+B,0)/e.length||0;const f=i(l,t),p=i(r,t);return console.log(`%c单次耗时:${l.toFixed(2)}ms
|
|
3
|
+
%c平均耗时(${e.length}次):${r.toFixed(2)}ms`,`color: ${f}; padding: 2px 0;`,`color: ${p}; padding: 2px 0;`),u}}function Re(n){const t=K(n,100);let e=0,o=0;return function(r){const i=r.target;if(!i||!(i instanceof HTMLElement))return;const{scrollTop:s,scrollHeight:a,clientHeight:u,scrollLeft:l,scrollWidth:f,clientWidth:p}=i;function T(){if(e==s)return;const Y=e>s;if(e=s,Y)return;a-s-u<=1&&t("vertical")}function B(){if(o==l)return;const Y=o>l;if(o=l,Y)return;f-l-p<=1&&t("horizontal")}T(),B()}}function Pe(n,t,e){const{isClickAllowed:o,uiLibrary:r=["naiveUI","ElementPlus","Element"]}=e||{},i=function(u){const l=[];for(const f in u)Object.hasOwnProperty.call(u,f)&&r.includes(f)&&l.push(...u[f]);return l}({naiveUI:[".v-binder-follower-container",".n-image-preview-container",".n-modal-container"],ElementPlus:[".el-popper"],Element:[".el-popper"]});function s(){t(),document.removeEventListener("mousedown",a)}function a(u){if(o){const p=o(u);if(p)return;if(p===!1)return s()}const l=u.target;if(!(l instanceof HTMLElement)||!(l!=null&&l.closest("body")))return;n.concat(i).some(p=>!!(l!=null&&l.closest(p)))||s()}requestAnimationFrame(()=>document.addEventListener("mousedown",a))}var w,M,L,D,U,C,_,F,I;class ke{constructor(){d(this,w);d(this,M,!1);d(this,L,{});d(this,D,0);d(this,U,0);d(this,C,0);d(this,_,0);d(this,F);d(this,I)}init(t,e){m(this,w,t),m(this,F,e==null?void 0:e.limit),m(this,I,e==null?void 0:e.dragDom),m(this,L,{mousedown:this.mousedown.bind(this),mousemove:this.mousemove.bind(this),mouseup:this.mouseup.bind(this)}),this.bindOrUnbindEvent("bind")}finish(){this.bindOrUnbindEvent("unbind")}bindOrUnbindEvent(t){const e=t==="bind"?"addEventListener":"removeEventListener";if(!c(this,w))return console.error("No DOM");c(this,w)[e]("mousedown",c(this,L).mousedown),document[e]("mousemove",c(this,L).mousemove),document[e]("mouseup",c(this,L).mouseup)}alterLocation(){if(!c(this,w))return console.error("No DOM");c(this,F)&&(m(this,C,Math.min(c(this,C),c(this,F).max.top)),m(this,C,Math.max(c(this,C),c(this,F).min.top)),m(this,_,Math.min(c(this,_),c(this,F).max.left)),m(this,_,Math.max(c(this,_),c(this,F).min.left))),c(this,w).style.setProperty("--top",c(this,C)+"px"),c(this,w).style.setProperty("--left",c(this,_)+"px")}mousedown(t){if(!c(this,w))return console.error("No DOM");if(c(this,I)&&t.target!=c(this,I))return;document.body.classList.add("no-select"),m(this,M,!0);const e=c(this,w).getBoundingClientRect(),{pageX:o,pageY:r}=t;m(this,D,o),m(this,U,r),m(this,C,e.y),m(this,_,e.x)}mousemove(t){const{pageX:e,pageY:o}=t;c(this,M)&&(m(this,C,c(this,C)+(o-c(this,U))),m(this,_,c(this,_)+(e-c(this,D))),m(this,D,e),m(this,U,o),this.alterLocation())}mouseup(){c(this,M)&&(m(this,M,!1),document.body.classList.remove("no-select"))}}w=new WeakMap,M=new WeakMap,L=new WeakMap,D=new WeakMap,U=new WeakMap,C=new WeakMap,_=new WeakMap,F=new WeakMap,I=new WeakMap;var x,j,R,O,S,v,b,g,z,A;class De{constructor(){d(this,x);d(this,j,!1);d(this,R,{});d(this,O,0);d(this,S,0);d(this,v,0);d(this,b,0);d(this,g);d(this,z);d(this,A)}init(t,e={}){m(this,x,t),m(this,g,e.limit),m(this,z,e.update_move),m(this,A,e.update_up),m(this,R,{mousedown:this.mousedown.bind(this),mousemove:this.mousemove.bind(this),mouseup:this.mouseup.bind(this)}),this.bindOrUnbindEvent("bind")}finish(){this.bindOrUnbindEvent("unbind")}bindOrUnbindEvent(t){const e=t==="bind"?"addEventListener":"removeEventListener";if(!c(this,x))return console.error("No DOM");c(this,x)[e]("mousedown",c(this,R).mousedown),document[e]("mousemove",c(this,R).mousemove),document[e]("mouseup",c(this,R).mouseup)}updateValue(){const t={top:c(this,v),left:c(this,b),percentage:{top:0,left:0}};if(c(this,g)){const e=o=>c(this,g)?(t[o]-c(this,g).min[o])/(c(this,g).max[o]-c(this,g).min[o]):0;t.percentage={top:e("top")||0,left:e("left")||0}}return t}alterLocation(){if(!c(this,x))return console.error("No DOM");c(this,g)&&(m(this,v,Math.min(c(this,v),c(this,g).max.top)),m(this,v,Math.max(c(this,v),c(this,g).min.top)),m(this,b,Math.min(c(this,b),c(this,g).max.left)),m(this,b,Math.max(c(this,b),c(this,g).min.left))),c(this,z)&&c(this,z).call(this,this.updateValue()),c(this,x).style.setProperty("--top",c(this,v)+"px"),c(this,x).style.setProperty("--left",c(this,b)+"px")}mousedown(t){if(!c(this,x))return console.error("No DOM");document.body.classList.add("no-select"),m(this,j,!0);const e=c(this,x).getBoundingClientRect();m(this,S,e.y),m(this,O,e.x);const{pageX:o,pageY:r}=t;m(this,v,r-c(this,S)),m(this,b,o-c(this,O)),this.alterLocation()}mousemove(t){const{pageX:e,pageY:o}=t;c(this,j)&&(m(this,v,o-c(this,S)),m(this,b,e-c(this,O)),this.alterLocation())}mouseup(){c(this,j)&&(m(this,j,!1),document.body.classList.remove("no-select"),c(this,A)&&c(this,A).call(this,this.updateValue()))}}x=new WeakMap,j=new WeakMap,R=new WeakMap,O=new WeakMap,S=new WeakMap,v=new WeakMap,b=new WeakMap,g=new WeakMap,z=new WeakMap,A=new WeakMap;function Q(n){const t=n;if(n){if(n.requestFullscreen)return n.requestFullscreen();if(t.mozRequestFullScreen)return t.mozRequestFullScreen();if(t.webkitRequestFullscreen)return t.webkitRequestFullscreen();if(t.msRequestFullscreen)return t.msRequestFullscreen()}else return Promise.reject("No DOM");return Promise.reject("No Fullscreen API")}function ee(){const n=document;return document.exitFullscreen?document.exitFullscreen():n.mozCancelFullScreen?n.mozCancelFullScreen():n.webkitExitFullscreen?n.webkitExitFullscreen():n.msExitFullscreen?n.msExitFullscreen():Promise.reject("No ExitFullscreen API")}function te(){const n=document;return document.fullscreenElement||n.webkitFullscreenElement||n.mozFullScreenElement||n.msFullscreenElement}function Ue(n){return function(){te()?ee():Q(n)}}function Ie(n,t){if(typeof n=="number")return n;if(/px/.test(n))return Number(n.replace(/px/,""))||0;const e=document.createElement("div");e.style.width=n,t=t||document.body,t.appendChild(e);const o=e.getBoundingClientRect().width;return t.removeChild(e),o}function Oe(n,t){if(!n)return;let e,o;if(typeof t=="string"){const i=document.querySelector(t);if(!i)return;const s=i.getBoundingClientRect();e=s.width,o=s.height}else if(Array.isArray(t))e=t[0],o=t[1];else{const i=t.getBoundingClientRect();e=i.width,o=i.height}const r=e/o;return r>n?[n*o,o]:r<n?[e,e/n]:[e,o]}function Se(n,t=5e3){return new Promise((e,o)=>{const r=new Image;r.src=n;const i=setTimeout(()=>{o(new Error("图片加载超时")),r.onload=null,r.onerror=null},t);r.onload=()=>{clearTimeout(i);const s=r.naturalWidth,a=r.naturalHeight,u=s/a;e([r,u])},r.onerror=()=>{clearTimeout(i),o(new Error("图片加载失败"))},r.crossOrigin="Anonymous"})}function ze(n,t,e=2){return!Number.isFinite(n)||!Number.isFinite(t)||!Number.isFinite(e)?(console.error("所有参数必须是有限的数字"),""):t===0?(console.error("分母不能为零"),""):e<0?(console.error("小数位数不能为负数"),""):(n/t*100).toFixed(e)+"%"}function Ae(n,t,e){return Math.abs(n-t)<=e}function Ne(n,t=500){let e,o=!0;function r(i){if(!o)return;e||(e=i);let s=Math.min((i-e)/t,1);n(s),i-e<t&&requestAnimationFrame(r)}return requestAnimationFrame(r),()=>o=!1}function qe(n){return n.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}function $e(n,t){const e={join:!0,suffix:"",decimalPlaces:2},{join:o,suffix:r,decimalPlaces:i}={...e,...t||{}},s=Number(n);if(isNaN(s))return o?`0${r}`:[0,r];const a=Math.abs(s),u=s>=0,l=Math.max(0,Math.floor(Math.log10(a)/4)),f=Math.pow(1e4,l),p=a/f,T=(u?1:-1)*parseFloat(p.toFixed(Math.max(0,i)));return o?`${T}${J[l]}${r}`:[T,J[l]+r]}function Be(n,t){let e=!1;const{x:o,y:r}=n,i=t.length;for(let s=0,a=i-1;s<i;a=s++){const u=t[s].x,l=t[s].y,f=t[a].x,p=t[a].y;l>r!=p>r&&o<(f-u)*(r-l)/(p-l)+u&&(e=!e)}return e}function Ye(n){const t=["B","KB","MB","GB","TB","PB"];let e=0;for(;n>1024;)n/=1024,e++;return`${Math.round(n*100)/100} ${t[e]}`}function He(n,t,e,o){return Math.sqrt(Math.pow(e-n,2)+Math.pow(o-t,2))}function We(n,t,e,o){const r=(n+e)/2,i=(t+o)/2;return{x:r,y:i}}class k{constructor(t,e){y(this,"resolve");y(this,"reject");this.resolve=t,this.reject=e}run(t){var e,o;return t instanceof Promise?t.then(r=>{var i;return(i=this.resolve)==null||i.call(this),r}).catch(r=>{var i;return(i=this.reject)==null||i.call(this),Promise.reject(r)}):t?(e=this.resolve)==null||e.call(this):(o=this.reject)==null||o.call(this),t}}class Xe extends k{constructor(t){super(),this.resolve=t}warning(...t){const e=()=>{var o,r;return(r=(o=P.tips).warning)==null?void 0:r.call(o,...t)};return new k(this.resolve,e)}error(...t){const e=()=>{var o,r;return(r=(o=P.tips).error)==null?void 0:r.call(o,...t)};return new k(this.resolve,e)}}class Ge extends k{constructor(t){super(),this.reject=t}info(...t){const e=()=>{var o,r;return(r=(o=P.tips).info)==null?void 0:r.call(o,...t)};return new k(e,this.reject)}success(...t){const e=()=>{var o,r;return(r=(o=P.tips).success)==null?void 0:r.call(o,...t)};return new k(e,this.reject)}}const h=class h{constructor(){if(new.target===h)throw new Error("请直接使用静态方法,而不是实例化此类")}static register(t,e){if(typeof e!="function")return console.error("TipHandler must be a function");h.tips[t]=e}static resolveTip(t){return function(...e){const o=()=>{var r,i;return(i=(r=h.tips)[t])==null?void 0:i.call(r,...e)};return new Xe(o)}}static rejectTip(t){return function(...e){const o=()=>{var r,i;return(i=(r=h.tips)[t])==null?void 0:i.call(r,...e)};return new Ge(o)}}};y(h,"tips",{info:void 0,success:void 0,warning:void 0,error:void 0}),y(h,"info",h.resolveTip("info")),y(h,"success",h.resolveTip("success")),y(h,"warning",h.rejectTip("warning")),y(h,"error",h.rejectTip("error"));let P=h;exports._CalculateCanvasSize=Oe;exports._CalculateDistance2D=He;exports._CapitalizeFirstLetter=me;exports._CheckConnectionWithXHR=Ee;exports._Clone=Me;exports._CloseOnOutsideClick=Pe;exports._ConvertToCamelCase=ge;exports._ConvertToPercentage=ze;exports._CopyToClipboard=be;exports._CreateAndDownloadFile=we;exports._Danger_ConvertDataToImageUrl=Le;exports._DataType=W;exports._Debounce=K;exports._DownloadFile=he;exports._Drag=ke;exports._EnterFullscreen=Q;exports._ExcludeSubstring=ue;exports._ExecuteWhenIdle=ae;exports._ExitFullscreen=ee;exports._FileTypeChecker=X;exports._FormatFileSize=Ye;exports._FormatNumber=qe;exports._FormatNumberWithUnit=$e;exports._Fullscreen=Ue;exports._GenerateUUID=xe;exports._GetFrameRate=pe;exports._GetHrefName=q;exports._GetMidpoint=We;exports._GetOtherSizeInPixels=Ie;exports._GetTargetByPath=Ce;exports._InitTargetByPath=ye;exports._IsFullscreen=te;exports._IsObject=ce;exports._IsPointInPolygon=Be;exports._IsSecureContext=Fe;exports._IsWithinErrorMargin=Ae;exports._KeyedWindowManager=G;exports._LoadImage=Se;exports._LocalDrag=De;exports._MergeObjects=N;exports._NotNull=se;exports._ReadFile=fe;exports._RotateList=Te;exports._Schedule=Ne;exports._ScrollEndListener=Re;exports._Throttle=ve;exports._TimeConsumption=je;exports._TimeTransition=de;exports._Tip=P;exports._UpdateTargetByPath=_e;exports._WaitForCondition=le;
|
package/dist/index.es.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".nhanh-pure-function{--nhanh: 2233}.no-select{-webkit-user-select:none;-ms-user-select:none;user-select:none}")),document.head.appendChild(e)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();
|
|
2
2
|
var K = Object.defineProperty;
|
|
3
|
-
var
|
|
3
|
+
var X = (n) => {
|
|
4
4
|
throw TypeError(n);
|
|
5
5
|
};
|
|
6
6
|
var ee = (n, t, e) => t in n ? K(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
|
|
7
|
-
var y = (n, t, e) => ee(n, typeof t != "symbol" ? t + "" : t, e),
|
|
8
|
-
var c = (n, t, e) => (
|
|
7
|
+
var y = (n, t, e) => ee(n, typeof t != "symbol" ? t + "" : t, e), W = (n, t, e) => t.has(n) || X("Cannot " + e);
|
|
8
|
+
var c = (n, t, e) => (W(n, t, "read from private field"), e ? e.call(n) : t.get(n)), d = (n, t, e) => t.has(n) ? X("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(n) : t.set(n, e), m = (n, t, e, o) => (W(n, t, "write to private field"), o ? o.call(n, e) : t.set(n, e), e);
|
|
9
9
|
const te = {
|
|
10
10
|
/* 常见扩展名映射 */
|
|
11
11
|
".mp3": "audio/mpeg",
|
|
@@ -70,7 +70,7 @@ const te = {
|
|
|
70
70
|
".eot": "application/vnd.ms-fontobject",
|
|
71
71
|
".map": "application/json"
|
|
72
72
|
// 可根据需要继续扩展
|
|
73
|
-
},
|
|
73
|
+
}, Y = {
|
|
74
74
|
image: [
|
|
75
75
|
".jpg",
|
|
76
76
|
".jpeg",
|
|
@@ -250,7 +250,7 @@ const te = {
|
|
|
250
250
|
".awk",
|
|
251
251
|
".php"
|
|
252
252
|
]
|
|
253
|
-
},
|
|
253
|
+
}, G = [
|
|
254
254
|
"",
|
|
255
255
|
"万",
|
|
256
256
|
"亿",
|
|
@@ -302,25 +302,25 @@ function fe(n, t, e = ",") {
|
|
|
302
302
|
function he(n) {
|
|
303
303
|
return n.charAt(0).toUpperCase() + n.slice(1);
|
|
304
304
|
}
|
|
305
|
-
function
|
|
305
|
+
function B(n, t, e = [], o = +/* @__PURE__ */ new Date()) {
|
|
306
306
|
if (o < +/* @__PURE__ */ new Date() - 50) {
|
|
307
307
|
console.error("_MergeObjects 合并异常:疑似死循环");
|
|
308
308
|
return;
|
|
309
309
|
}
|
|
310
|
-
const r =
|
|
310
|
+
const r = V(n), i = V(t);
|
|
311
311
|
if (r != i) return t;
|
|
312
312
|
if (r == "object" || r == "array") {
|
|
313
313
|
if (e.some(([s, a]) => s == n && a == t)) return n;
|
|
314
314
|
if (e.push([n, t]), r == "object") {
|
|
315
315
|
for (const s in t)
|
|
316
316
|
if (Object.prototype.hasOwnProperty.call(t, s)) {
|
|
317
|
-
const a = t[s],
|
|
318
|
-
n[s] =
|
|
317
|
+
const a = t[s], u = n[s], l = B(u, a, e, o);
|
|
318
|
+
n[s] = l;
|
|
319
319
|
}
|
|
320
320
|
return n;
|
|
321
321
|
} else if (r == "array")
|
|
322
322
|
return t.forEach((s, a) => {
|
|
323
|
-
const
|
|
323
|
+
const u = s, l = n[a], f = B(l, u, e, o);
|
|
324
324
|
n[a] = f;
|
|
325
325
|
}), n;
|
|
326
326
|
} else return t;
|
|
@@ -351,7 +351,7 @@ function ge(n) {
|
|
|
351
351
|
});
|
|
352
352
|
});
|
|
353
353
|
}
|
|
354
|
-
function
|
|
354
|
+
function H(n, t = "file") {
|
|
355
355
|
if (!n || (n = String(n).trim(), n === "")) return t;
|
|
356
356
|
const e = n.split("/");
|
|
357
357
|
return e[e.length - 1].split("?")[0];
|
|
@@ -359,7 +359,7 @@ function B(n, t = "file") {
|
|
|
359
359
|
function we(n, t) {
|
|
360
360
|
return new Promise((e, o) => {
|
|
361
361
|
try {
|
|
362
|
-
t = t ||
|
|
362
|
+
t = t || H(n, "downloaded_file"), fetch(n).then((r) => (r.ok || o(`文件下载失败,状态码: ${r.status}`), r.blob())).then((r) => {
|
|
363
363
|
const i = URL.createObjectURL(r), s = document.createElement("a");
|
|
364
364
|
s.href = i, s.download = decodeURIComponent(t), document.body.appendChild(s), s.click(), document.body.removeChild(s), URL.revokeObjectURL(i), e(r);
|
|
365
365
|
}).catch(o);
|
|
@@ -421,7 +421,7 @@ function Ee(n, t) {
|
|
|
421
421
|
}
|
|
422
422
|
};
|
|
423
423
|
}
|
|
424
|
-
function
|
|
424
|
+
function V(n) {
|
|
425
425
|
return Array.isArray(n) ? "array" : n === null ? "null" : typeof n;
|
|
426
426
|
}
|
|
427
427
|
function Ce(n) {
|
|
@@ -432,17 +432,17 @@ function Ce(n) {
|
|
|
432
432
|
function r() {
|
|
433
433
|
const a = document.createElement("div");
|
|
434
434
|
a.innerText = n, document.body.appendChild(a);
|
|
435
|
-
const
|
|
436
|
-
|
|
437
|
-
const
|
|
435
|
+
const u = document.createRange();
|
|
436
|
+
u.selectNodeContents(a);
|
|
437
|
+
const l = window.getSelection();
|
|
438
438
|
let f = !1;
|
|
439
|
-
return
|
|
439
|
+
return l && (l.removeAllRanges(), l.addRange(u), f = document.execCommand("copy")), document.body.removeChild(a), f ? Promise.resolve() : Promise.reject();
|
|
440
440
|
}
|
|
441
441
|
function i() {
|
|
442
442
|
const a = document.createElement("textarea");
|
|
443
443
|
a.value = n, document.body.appendChild(a), a.select(), a.setSelectionRange(0, n.length);
|
|
444
|
-
let
|
|
445
|
-
return document.activeElement === a && (
|
|
444
|
+
let u = !1;
|
|
445
|
+
return document.activeElement === a && (u = document.execCommand("Copy", !0)), document.body.removeChild(a), u ? Promise.resolve() : Promise.reject();
|
|
446
446
|
}
|
|
447
447
|
function s() {
|
|
448
448
|
return r().then(t).catch(() => {
|
|
@@ -455,15 +455,15 @@ function Fe(n, t) {
|
|
|
455
455
|
const e = t.split(".");
|
|
456
456
|
return e.reduce((o, r, i) => (r in o || (i === e.length - 1 ? o[r] = void 0 : o[r] = {}), o[r]), n);
|
|
457
457
|
}
|
|
458
|
-
function
|
|
458
|
+
function Me(n, t) {
|
|
459
459
|
const e = t.split(".");
|
|
460
460
|
return e.reduce((o, r, i) => o.hasOwnProperty(r) ? o[r] : o[r] = i == e.length - 1 ? void 0 : {}, n);
|
|
461
461
|
}
|
|
462
|
-
function
|
|
462
|
+
function Te(n, t, e) {
|
|
463
463
|
const o = t.split(".");
|
|
464
464
|
return o.reduce((r, i, s) => (s === o.length - 1 && (r[i] = e), r[i]), n);
|
|
465
465
|
}
|
|
466
|
-
function
|
|
466
|
+
function Le(n) {
|
|
467
467
|
return new Promise((t, e) => {
|
|
468
468
|
if (typeof n != "string" || n.trim() === "" || !n.includes("://")) {
|
|
469
469
|
e(new Error("Invalid URL: Must be a non-empty string"));
|
|
@@ -490,7 +490,7 @@ function Me(n) {
|
|
|
490
490
|
}
|
|
491
491
|
});
|
|
492
492
|
}
|
|
493
|
-
function
|
|
493
|
+
function je(n) {
|
|
494
494
|
return [
|
|
495
495
|
"https:",
|
|
496
496
|
// HTTPS协议,用于安全地浏览网页
|
|
@@ -522,11 +522,11 @@ const F = class F {
|
|
|
522
522
|
static check(t, e) {
|
|
523
523
|
if (!t || typeof t != "string")
|
|
524
524
|
return console.error("Invalid URL provided"), e ? !1 : "unknown";
|
|
525
|
-
const o =
|
|
525
|
+
const o = H(t).toLowerCase();
|
|
526
526
|
if (e) {
|
|
527
|
-
if (
|
|
527
|
+
if (!Y.hasOwnProperty(e))
|
|
528
528
|
return console.error(`Unknown file type: ${e}`), "unknown";
|
|
529
|
-
const r =
|
|
529
|
+
const r = Y[e];
|
|
530
530
|
return F._checkExtension(o, r);
|
|
531
531
|
}
|
|
532
532
|
return F._detectFileType(o);
|
|
@@ -541,7 +541,7 @@ const F = class F {
|
|
|
541
541
|
*/
|
|
542
542
|
static parseAddresses(t) {
|
|
543
543
|
return !t || typeof t != "string" ? (console.error("Invalid URL provided"), []) : t.split(",").map((e) => {
|
|
544
|
-
const o =
|
|
544
|
+
const o = H(e), r = this.check(e);
|
|
545
545
|
return { url: e, name: o, type: r };
|
|
546
546
|
});
|
|
547
547
|
}
|
|
@@ -556,8 +556,8 @@ const F = class F {
|
|
|
556
556
|
if (typeof t != "string" || typeof e != "string") return !1;
|
|
557
557
|
const o = F._normalizeType(t), r = e.split(",").map((a) => F._normalizeType(a.trim())), [i, s = "*"] = o.split("/");
|
|
558
558
|
return r.some((a) => {
|
|
559
|
-
const [
|
|
560
|
-
return (
|
|
559
|
+
const [u, l = "*"] = a.split("/");
|
|
560
|
+
return (u === "*" || i === "*" || u === i) && (l === "*" || s === "*" || l === s);
|
|
561
561
|
});
|
|
562
562
|
}
|
|
563
563
|
/**
|
|
@@ -593,13 +593,13 @@ const F = class F {
|
|
|
593
593
|
}
|
|
594
594
|
};
|
|
595
595
|
// 缓存文件扩展名的条目,以提高性能
|
|
596
|
-
y(F, "cachedEntries", Object.entries(
|
|
597
|
-
let
|
|
598
|
-
function
|
|
596
|
+
y(F, "cachedEntries", Object.entries(Y));
|
|
597
|
+
let Z = F;
|
|
598
|
+
function Re(n) {
|
|
599
599
|
return n.map((t, e) => n.slice(e).concat(n.slice(0, e)));
|
|
600
600
|
}
|
|
601
601
|
function ke(n) {
|
|
602
|
-
const t = window.structuredClone, e = (o) => o === null || typeof o != "object" ? o :
|
|
602
|
+
const t = window.structuredClone, e = (o) => o === null || typeof o != "object" ? o : B(Array.isArray(o) ? [] : {}, o);
|
|
603
603
|
try {
|
|
604
604
|
return t ? t(n) : e(n);
|
|
605
605
|
} catch (o) {
|
|
@@ -630,18 +630,10 @@ const N = class N {
|
|
|
630
630
|
{
|
|
631
631
|
const s = window.open(e, o, r);
|
|
632
632
|
if (s)
|
|
633
|
-
return this.keys.set(t, s), s
|
|
633
|
+
return this.keys.set(t, s), s;
|
|
634
634
|
console.error("window.open failed: 可能是浏览器阻止了弹出窗口"), this.keys.delete(t);
|
|
635
635
|
}
|
|
636
636
|
}
|
|
637
|
-
/**
|
|
638
|
-
* 关闭与指定键关联的窗口
|
|
639
|
-
* @param key 窗口的唯一键
|
|
640
|
-
*/
|
|
641
|
-
static close(t) {
|
|
642
|
-
const e = this.keys.get(t);
|
|
643
|
-
e && !e.closed && (e.close(), this.keys.delete(t));
|
|
644
|
-
}
|
|
645
637
|
/**
|
|
646
638
|
* 检查指定键的窗口是否打开
|
|
647
639
|
* @param key 窗口的唯一键
|
|
@@ -649,7 +641,7 @@ const N = class N {
|
|
|
649
641
|
*/
|
|
650
642
|
static isOpen(t) {
|
|
651
643
|
const e = this.keys.get(t);
|
|
652
|
-
return
|
|
644
|
+
return e != null && e.closed && this.keys.delete(t), this.keys.has(t);
|
|
653
645
|
}
|
|
654
646
|
/**
|
|
655
647
|
* 获取与指定键关联的窗口
|
|
@@ -657,21 +649,26 @@ const N = class N {
|
|
|
657
649
|
* @returns 返回对应的窗口,如果窗口已关闭则返回undefined
|
|
658
650
|
*/
|
|
659
651
|
static getWindow(t) {
|
|
652
|
+
if (this.isOpen(t)) return this.keys.get(t);
|
|
653
|
+
}
|
|
654
|
+
/**
|
|
655
|
+
* 关闭与指定键关联的窗口
|
|
656
|
+
* @param key 窗口的唯一键
|
|
657
|
+
*/
|
|
658
|
+
static close(t) {
|
|
660
659
|
const e = this.keys.get(t);
|
|
661
|
-
|
|
660
|
+
e && (e.close(), this.keys.delete(t));
|
|
662
661
|
}
|
|
663
662
|
/**
|
|
664
663
|
* 关闭所有打开的窗口并清空Map
|
|
665
664
|
*/
|
|
666
665
|
static closeAll() {
|
|
667
|
-
this.keys.forEach((t, e) =>
|
|
668
|
-
t.closed || t.close(), this.keys.delete(e);
|
|
669
|
-
});
|
|
666
|
+
this.keys.forEach((t, e) => t.close()), this.keys.clear();
|
|
670
667
|
}
|
|
671
668
|
};
|
|
672
669
|
// 存储键与对应窗口的Map
|
|
673
670
|
y(N, "keys", /* @__PURE__ */ new Map());
|
|
674
|
-
let
|
|
671
|
+
let J = N;
|
|
675
672
|
function Ue(n, t = "image/png") {
|
|
676
673
|
try {
|
|
677
674
|
let e, o = t;
|
|
@@ -689,8 +686,8 @@ function Ue(n, t = "image/png") {
|
|
|
689
686
|
i = i.replace(/[^A-Za-z0-9+/=]/g, "");
|
|
690
687
|
const a = atob(i);
|
|
691
688
|
e = new Uint8Array(a.length);
|
|
692
|
-
for (let
|
|
693
|
-
e[
|
|
689
|
+
for (let u = 0; u < a.length; u++)
|
|
690
|
+
e[u] = a.charCodeAt(u);
|
|
694
691
|
} else if (n instanceof ArrayBuffer)
|
|
695
692
|
e = new Uint8Array(n);
|
|
696
693
|
else if (n instanceof Uint8Array)
|
|
@@ -709,7 +706,31 @@ function Ue(n, t = "image/png") {
|
|
|
709
706
|
), null;
|
|
710
707
|
}
|
|
711
708
|
}
|
|
712
|
-
function Pe(n) {
|
|
709
|
+
function Pe(n, t) {
|
|
710
|
+
if (typeof n != "function")
|
|
711
|
+
throw new Error("The first argument must be a function.");
|
|
712
|
+
if (!Array.isArray(t))
|
|
713
|
+
throw new Error("The second argument must be an array.");
|
|
714
|
+
let e = [], o = 100, r = 0;
|
|
715
|
+
const i = (s, a) => {
|
|
716
|
+
for (const [u, l] of a)
|
|
717
|
+
if (s >= u)
|
|
718
|
+
return l;
|
|
719
|
+
return "black";
|
|
720
|
+
};
|
|
721
|
+
return function(...s) {
|
|
722
|
+
const a = performance.now(), u = n(...s), l = performance.now() - a;
|
|
723
|
+
e.push(l), e.length > o && e.shift(), r = e.reduce((T, q) => T + q, 0) / e.length || 0;
|
|
724
|
+
const f = i(l, t), p = i(r, t);
|
|
725
|
+
return console.log(
|
|
726
|
+
`%c单次耗时:${l.toFixed(2)}ms
|
|
727
|
+
%c平均耗时(${e.length}次):${r.toFixed(2)}ms`,
|
|
728
|
+
`color: ${f}; padding: 2px 0;`,
|
|
729
|
+
`color: ${p}; padding: 2px 0;`
|
|
730
|
+
), u;
|
|
731
|
+
};
|
|
732
|
+
}
|
|
733
|
+
function De(n) {
|
|
713
734
|
const t = ne(n, 100);
|
|
714
735
|
let e = 0, o = 0;
|
|
715
736
|
return function(r) {
|
|
@@ -718,32 +739,32 @@ function Pe(n) {
|
|
|
718
739
|
const {
|
|
719
740
|
scrollTop: s,
|
|
720
741
|
scrollHeight: a,
|
|
721
|
-
clientHeight:
|
|
722
|
-
scrollLeft:
|
|
742
|
+
clientHeight: u,
|
|
743
|
+
scrollLeft: l,
|
|
723
744
|
scrollWidth: f,
|
|
724
|
-
clientWidth:
|
|
745
|
+
clientWidth: p
|
|
725
746
|
} = i;
|
|
726
|
-
function
|
|
747
|
+
function T() {
|
|
727
748
|
if (e == s) return;
|
|
728
|
-
const
|
|
729
|
-
if (e = s,
|
|
730
|
-
a - s -
|
|
749
|
+
const $ = e > s;
|
|
750
|
+
if (e = s, $) return;
|
|
751
|
+
a - s - u <= 1 && t("vertical");
|
|
731
752
|
}
|
|
732
|
-
function
|
|
733
|
-
if (o ==
|
|
734
|
-
const
|
|
735
|
-
if (o =
|
|
736
|
-
f -
|
|
753
|
+
function q() {
|
|
754
|
+
if (o == l) return;
|
|
755
|
+
const $ = o > l;
|
|
756
|
+
if (o = l, $) return;
|
|
757
|
+
f - l - p <= 1 && t("horizontal");
|
|
737
758
|
}
|
|
738
|
-
|
|
759
|
+
T(), q();
|
|
739
760
|
};
|
|
740
761
|
}
|
|
741
|
-
function
|
|
742
|
-
const { isClickAllowed: o, uiLibrary: r = ["naiveUI", "ElementPlus", "Element"] } = e || {}, i = function(
|
|
743
|
-
const
|
|
744
|
-
for (const f in
|
|
745
|
-
Object.hasOwnProperty.call(
|
|
746
|
-
return
|
|
762
|
+
function _e(n, t, e) {
|
|
763
|
+
const { isClickAllowed: o, uiLibrary: r = ["naiveUI", "ElementPlus", "Element"] } = e || {}, i = function(u) {
|
|
764
|
+
const l = [];
|
|
765
|
+
for (const f in u)
|
|
766
|
+
Object.hasOwnProperty.call(u, f) && r.includes(f) && l.push(...u[f]);
|
|
767
|
+
return l;
|
|
747
768
|
}({
|
|
748
769
|
naiveUI: [
|
|
749
770
|
".v-binder-follower-container",
|
|
@@ -756,35 +777,35 @@ function ze(n, t, e) {
|
|
|
756
777
|
function s() {
|
|
757
778
|
t(), document.removeEventListener("mousedown", a);
|
|
758
779
|
}
|
|
759
|
-
function a(
|
|
780
|
+
function a(u) {
|
|
760
781
|
if (o) {
|
|
761
|
-
const
|
|
762
|
-
if (
|
|
763
|
-
if (
|
|
782
|
+
const p = o(u);
|
|
783
|
+
if (p) return;
|
|
784
|
+
if (p === !1) return s();
|
|
764
785
|
}
|
|
765
|
-
const
|
|
766
|
-
if (!(
|
|
767
|
-
n.concat(i).some((
|
|
786
|
+
const l = u.target;
|
|
787
|
+
if (!(l instanceof HTMLElement) || !(l != null && l.closest("body"))) return;
|
|
788
|
+
n.concat(i).some((p) => !!(l != null && l.closest(p))) || s();
|
|
768
789
|
}
|
|
769
790
|
requestAnimationFrame(
|
|
770
791
|
() => document.addEventListener("mousedown", a)
|
|
771
792
|
);
|
|
772
793
|
}
|
|
773
|
-
var w,
|
|
774
|
-
class
|
|
794
|
+
var w, L, j, P, D, E, C, M, _;
|
|
795
|
+
class ze {
|
|
775
796
|
constructor() {
|
|
776
797
|
d(this, w);
|
|
777
|
-
d(this,
|
|
778
|
-
d(this,
|
|
779
|
-
d(this, U, 0);
|
|
798
|
+
d(this, L, !1);
|
|
799
|
+
d(this, j, {});
|
|
780
800
|
d(this, P, 0);
|
|
801
|
+
d(this, D, 0);
|
|
781
802
|
d(this, E, 0);
|
|
782
803
|
d(this, C, 0);
|
|
783
|
-
d(this,
|
|
784
|
-
d(this,
|
|
804
|
+
d(this, M);
|
|
805
|
+
d(this, _);
|
|
785
806
|
}
|
|
786
807
|
init(t, e) {
|
|
787
|
-
|
|
808
|
+
m(this, w, t), m(this, M, e == null ? void 0 : e.limit), m(this, _, e == null ? void 0 : e.dragDom), m(this, j, {
|
|
788
809
|
mousedown: this.mousedown.bind(this),
|
|
789
810
|
mousemove: this.mousemove.bind(this),
|
|
790
811
|
mouseup: this.mouseup.bind(this)
|
|
@@ -796,44 +817,44 @@ class De {
|
|
|
796
817
|
bindOrUnbindEvent(t) {
|
|
797
818
|
const e = t === "bind" ? "addEventListener" : "removeEventListener";
|
|
798
819
|
if (!c(this, w)) return console.error("No DOM");
|
|
799
|
-
c(this, w)[e]("mousedown", c(this,
|
|
820
|
+
c(this, w)[e]("mousedown", c(this, j).mousedown), document[e]("mousemove", c(this, j).mousemove), document[e]("mouseup", c(this, j).mouseup);
|
|
800
821
|
}
|
|
801
822
|
alterLocation() {
|
|
802
823
|
if (!c(this, w)) return console.error("No DOM");
|
|
803
|
-
c(this,
|
|
824
|
+
c(this, M) && (m(this, E, Math.min(c(this, E), c(this, M).max.top)), m(this, E, Math.max(c(this, E), c(this, M).min.top)), m(this, C, Math.min(c(this, C), c(this, M).max.left)), m(this, C, Math.max(c(this, C), c(this, M).min.left))), c(this, w).style.setProperty("--top", c(this, E) + "px"), c(this, w).style.setProperty("--left", c(this, C) + "px");
|
|
804
825
|
}
|
|
805
826
|
mousedown(t) {
|
|
806
827
|
if (!c(this, w)) return console.error("No DOM");
|
|
807
|
-
if (c(this,
|
|
808
|
-
document.body.classList.add("no-select"),
|
|
828
|
+
if (c(this, _) && t.target != c(this, _)) return;
|
|
829
|
+
document.body.classList.add("no-select"), m(this, L, !0);
|
|
809
830
|
const e = c(this, w).getBoundingClientRect(), { pageX: o, pageY: r } = t;
|
|
810
|
-
|
|
831
|
+
m(this, P, o), m(this, D, r), m(this, E, e.y), m(this, C, e.x);
|
|
811
832
|
}
|
|
812
833
|
mousemove(t) {
|
|
813
834
|
const { pageX: e, pageY: o } = t;
|
|
814
|
-
c(this,
|
|
835
|
+
c(this, L) && (m(this, E, c(this, E) + (o - c(this, D))), m(this, C, c(this, C) + (e - c(this, P))), m(this, P, e), m(this, D, o), this.alterLocation());
|
|
815
836
|
}
|
|
816
837
|
mouseup() {
|
|
817
|
-
c(this,
|
|
838
|
+
c(this, L) && (m(this, L, !1), document.body.classList.remove("no-select"));
|
|
818
839
|
}
|
|
819
840
|
}
|
|
820
|
-
w = new WeakMap(),
|
|
821
|
-
var x, R,
|
|
841
|
+
w = new WeakMap(), L = new WeakMap(), j = new WeakMap(), P = new WeakMap(), D = new WeakMap(), E = new WeakMap(), C = new WeakMap(), M = new WeakMap(), _ = new WeakMap();
|
|
842
|
+
var x, R, k, z, I, v, b, g, O, A;
|
|
822
843
|
class Ie {
|
|
823
844
|
constructor() {
|
|
824
845
|
d(this, x);
|
|
825
846
|
d(this, R, !1);
|
|
826
|
-
d(this,
|
|
827
|
-
d(this,
|
|
847
|
+
d(this, k, {});
|
|
848
|
+
d(this, z, 0);
|
|
828
849
|
d(this, I, 0);
|
|
829
850
|
d(this, v, 0);
|
|
830
851
|
d(this, b, 0);
|
|
831
|
-
d(this,
|
|
852
|
+
d(this, g);
|
|
832
853
|
d(this, O);
|
|
833
|
-
d(this,
|
|
854
|
+
d(this, A);
|
|
834
855
|
}
|
|
835
856
|
init(t, e = {}) {
|
|
836
|
-
|
|
857
|
+
m(this, x, t), m(this, g, e.limit), m(this, O, e.update_move), m(this, A, e.update_up), m(this, k, {
|
|
837
858
|
mousedown: this.mousedown.bind(this),
|
|
838
859
|
mousemove: this.mousemove.bind(this),
|
|
839
860
|
mouseup: this.mouseup.bind(this)
|
|
@@ -845,7 +866,7 @@ class Ie {
|
|
|
845
866
|
bindOrUnbindEvent(t) {
|
|
846
867
|
const e = t === "bind" ? "addEventListener" : "removeEventListener";
|
|
847
868
|
if (!c(this, x)) return console.error("No DOM");
|
|
848
|
-
c(this, x)[e]("mousedown", c(this,
|
|
869
|
+
c(this, x)[e]("mousedown", c(this, k).mousedown), document[e]("mousemove", c(this, k).mousemove), document[e]("mouseup", c(this, k).mouseup);
|
|
849
870
|
}
|
|
850
871
|
updateValue() {
|
|
851
872
|
const t = {
|
|
@@ -853,8 +874,8 @@ class Ie {
|
|
|
853
874
|
left: c(this, b),
|
|
854
875
|
percentage: { top: 0, left: 0 }
|
|
855
876
|
};
|
|
856
|
-
if (c(this,
|
|
857
|
-
const e = (o) => c(this,
|
|
877
|
+
if (c(this, g)) {
|
|
878
|
+
const e = (o) => c(this, g) ? (t[o] - c(this, g).min[o]) / (c(this, g).max[o] - c(this, g).min[o]) : 0;
|
|
858
879
|
t.percentage = {
|
|
859
880
|
top: e("top") || 0,
|
|
860
881
|
left: e("left") || 0
|
|
@@ -864,25 +885,25 @@ class Ie {
|
|
|
864
885
|
}
|
|
865
886
|
alterLocation() {
|
|
866
887
|
if (!c(this, x)) return console.error("No DOM");
|
|
867
|
-
c(this,
|
|
888
|
+
c(this, g) && (m(this, v, Math.min(c(this, v), c(this, g).max.top)), m(this, v, Math.max(c(this, v), c(this, g).min.top)), m(this, b, Math.min(c(this, b), c(this, g).max.left)), m(this, b, Math.max(c(this, b), c(this, g).min.left))), c(this, O) && c(this, O).call(this, this.updateValue()), c(this, x).style.setProperty("--top", c(this, v) + "px"), c(this, x).style.setProperty("--left", c(this, b) + "px");
|
|
868
889
|
}
|
|
869
890
|
mousedown(t) {
|
|
870
891
|
if (!c(this, x)) return console.error("No DOM");
|
|
871
|
-
document.body.classList.add("no-select"),
|
|
892
|
+
document.body.classList.add("no-select"), m(this, R, !0);
|
|
872
893
|
const e = c(this, x).getBoundingClientRect();
|
|
873
|
-
|
|
894
|
+
m(this, I, e.y), m(this, z, e.x);
|
|
874
895
|
const { pageX: o, pageY: r } = t;
|
|
875
|
-
|
|
896
|
+
m(this, v, r - c(this, I)), m(this, b, o - c(this, z)), this.alterLocation();
|
|
876
897
|
}
|
|
877
898
|
mousemove(t) {
|
|
878
899
|
const { pageX: e, pageY: o } = t;
|
|
879
|
-
c(this, R) && (
|
|
900
|
+
c(this, R) && (m(this, v, o - c(this, I)), m(this, b, e - c(this, z)), this.alterLocation());
|
|
880
901
|
}
|
|
881
902
|
mouseup() {
|
|
882
|
-
c(this, R) && (
|
|
903
|
+
c(this, R) && (m(this, R, !1), document.body.classList.remove("no-select"), c(this, A) && c(this, A).call(this, this.updateValue()));
|
|
883
904
|
}
|
|
884
905
|
}
|
|
885
|
-
x = new WeakMap(), R = new WeakMap(),
|
|
906
|
+
x = new WeakMap(), R = new WeakMap(), k = new WeakMap(), z = new WeakMap(), I = new WeakMap(), v = new WeakMap(), b = new WeakMap(), g = new WeakMap(), O = new WeakMap(), A = new WeakMap();
|
|
886
907
|
function oe(n) {
|
|
887
908
|
const t = n;
|
|
888
909
|
if (n) {
|
|
@@ -910,7 +931,7 @@ function Oe(n) {
|
|
|
910
931
|
ie() ? re() : oe(n);
|
|
911
932
|
};
|
|
912
933
|
}
|
|
913
|
-
function
|
|
934
|
+
function Ae(n, t) {
|
|
914
935
|
if (typeof n == "number") return n;
|
|
915
936
|
if (/px/.test(n)) return Number(n.replace(/px/, "")) || 0;
|
|
916
937
|
const e = document.createElement("div");
|
|
@@ -935,7 +956,7 @@ function Se(n, t) {
|
|
|
935
956
|
const r = e / o;
|
|
936
957
|
return r > n ? [n * o, o] : r < n ? [e, e / n] : [e, o];
|
|
937
958
|
}
|
|
938
|
-
function
|
|
959
|
+
function Ne(n, t = 5e3) {
|
|
939
960
|
return new Promise((e, o) => {
|
|
940
961
|
const r = new Image();
|
|
941
962
|
r.src = n;
|
|
@@ -944,32 +965,33 @@ function Ae(n, t = 5e3) {
|
|
|
944
965
|
}, t);
|
|
945
966
|
r.onload = () => {
|
|
946
967
|
clearTimeout(i);
|
|
947
|
-
const s = r.naturalWidth, a = r.naturalHeight,
|
|
948
|
-
e([r,
|
|
968
|
+
const s = r.naturalWidth, a = r.naturalHeight, u = s / a;
|
|
969
|
+
e([r, u]);
|
|
949
970
|
}, r.onerror = () => {
|
|
950
971
|
clearTimeout(i), o(new Error("图片加载失败"));
|
|
951
972
|
}, r.crossOrigin = "Anonymous";
|
|
952
973
|
});
|
|
953
974
|
}
|
|
954
|
-
function
|
|
975
|
+
function qe(n, t, e = 2) {
|
|
955
976
|
return !Number.isFinite(n) || !Number.isFinite(t) || !Number.isFinite(e) ? (console.error("所有参数必须是有限的数字"), "") : t === 0 ? (console.error("分母不能为零"), "") : e < 0 ? (console.error("小数位数不能为负数"), "") : (n / t * 100).toFixed(e) + "%";
|
|
956
977
|
}
|
|
957
|
-
function
|
|
978
|
+
function $e(n, t, e) {
|
|
958
979
|
return Math.abs(n - t) <= e;
|
|
959
980
|
}
|
|
960
|
-
function
|
|
961
|
-
let e;
|
|
962
|
-
function
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
981
|
+
function Ye(n, t = 500) {
|
|
982
|
+
let e, o = !0;
|
|
983
|
+
function r(i) {
|
|
984
|
+
if (!o) return;
|
|
985
|
+
e || (e = i);
|
|
986
|
+
let s = Math.min((i - e) / t, 1);
|
|
987
|
+
n(s), i - e < t && requestAnimationFrame(r);
|
|
966
988
|
}
|
|
967
|
-
requestAnimationFrame(o
|
|
989
|
+
return requestAnimationFrame(r), () => o = !1;
|
|
968
990
|
}
|
|
969
|
-
function
|
|
991
|
+
function Be(n) {
|
|
970
992
|
return n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
971
993
|
}
|
|
972
|
-
function
|
|
994
|
+
function He(n, t) {
|
|
973
995
|
const e = {
|
|
974
996
|
join: !0,
|
|
975
997
|
suffix: "",
|
|
@@ -979,26 +1001,33 @@ function Be(n, t) {
|
|
|
979
1001
|
...t || {}
|
|
980
1002
|
}, s = Number(n);
|
|
981
1003
|
if (isNaN(s)) return o ? `0${r}` : [0, r];
|
|
982
|
-
const a = Math.abs(s),
|
|
983
|
-
return o ? `${
|
|
1004
|
+
const a = Math.abs(s), u = s >= 0, l = Math.max(0, Math.floor(Math.log10(a) / 4)), f = Math.pow(1e4, l), p = a / f, T = (u ? 1 : -1) * parseFloat(p.toFixed(Math.max(0, i)));
|
|
1005
|
+
return o ? `${T}${G[l]}${r}` : [T, G[l] + r];
|
|
984
1006
|
}
|
|
985
|
-
function
|
|
1007
|
+
function Xe(n, t) {
|
|
986
1008
|
let e = !1;
|
|
987
1009
|
const { x: o, y: r } = n, i = t.length;
|
|
988
1010
|
for (let s = 0, a = i - 1; s < i; a = s++) {
|
|
989
|
-
const
|
|
990
|
-
|
|
1011
|
+
const u = t[s].x, l = t[s].y, f = t[a].x, p = t[a].y;
|
|
1012
|
+
l > r != p > r && o < (f - u) * (r - l) / (p - l) + u && (e = !e);
|
|
991
1013
|
}
|
|
992
1014
|
return e;
|
|
993
1015
|
}
|
|
994
|
-
function
|
|
1016
|
+
function We(n) {
|
|
995
1017
|
const t = ["B", "KB", "MB", "GB", "TB", "PB"];
|
|
996
1018
|
let e = 0;
|
|
997
1019
|
for (; n > 1024; )
|
|
998
1020
|
n /= 1024, e++;
|
|
999
1021
|
return `${Math.round(n * 100) / 100} ${t[e]}`;
|
|
1000
1022
|
}
|
|
1001
|
-
|
|
1023
|
+
function Ge(n, t, e, o) {
|
|
1024
|
+
return Math.sqrt(Math.pow(e - n, 2) + Math.pow(o - t, 2));
|
|
1025
|
+
}
|
|
1026
|
+
function Ve(n, t, e, o) {
|
|
1027
|
+
const r = (n + e) / 2, i = (t + o) / 2;
|
|
1028
|
+
return { x: r, y: i };
|
|
1029
|
+
}
|
|
1030
|
+
class U {
|
|
1002
1031
|
constructor(t, e) {
|
|
1003
1032
|
y(this, "resolve");
|
|
1004
1033
|
y(this, "reject");
|
|
@@ -1015,7 +1044,7 @@ class k {
|
|
|
1015
1044
|
}) : t ? (e = this.resolve) == null || e.call(this) : (o = this.reject) == null || o.call(this), t;
|
|
1016
1045
|
}
|
|
1017
1046
|
}
|
|
1018
|
-
class se extends
|
|
1047
|
+
class se extends U {
|
|
1019
1048
|
constructor(t) {
|
|
1020
1049
|
super(), this.resolve = t;
|
|
1021
1050
|
}
|
|
@@ -1024,17 +1053,17 @@ class se extends k {
|
|
|
1024
1053
|
var o, r;
|
|
1025
1054
|
return (r = (o = S.tips).warning) == null ? void 0 : r.call(o, ...t);
|
|
1026
1055
|
};
|
|
1027
|
-
return new
|
|
1056
|
+
return new U(this.resolve, e);
|
|
1028
1057
|
}
|
|
1029
1058
|
error(...t) {
|
|
1030
1059
|
const e = () => {
|
|
1031
1060
|
var o, r;
|
|
1032
1061
|
return (r = (o = S.tips).error) == null ? void 0 : r.call(o, ...t);
|
|
1033
1062
|
};
|
|
1034
|
-
return new
|
|
1063
|
+
return new U(this.resolve, e);
|
|
1035
1064
|
}
|
|
1036
1065
|
}
|
|
1037
|
-
class ce extends
|
|
1066
|
+
class ce extends U {
|
|
1038
1067
|
constructor(t) {
|
|
1039
1068
|
super(), this.reject = t;
|
|
1040
1069
|
}
|
|
@@ -1043,14 +1072,14 @@ class ce extends k {
|
|
|
1043
1072
|
var o, r;
|
|
1044
1073
|
return (r = (o = S.tips).info) == null ? void 0 : r.call(o, ...t);
|
|
1045
1074
|
};
|
|
1046
|
-
return new
|
|
1075
|
+
return new U(e, this.reject);
|
|
1047
1076
|
}
|
|
1048
1077
|
success(...t) {
|
|
1049
1078
|
const e = () => {
|
|
1050
1079
|
var o, r;
|
|
1051
1080
|
return (r = (o = S.tips).success) == null ? void 0 : r.call(o, ...t);
|
|
1052
1081
|
};
|
|
1053
|
-
return new
|
|
1082
|
+
return new U(e, this.reject);
|
|
1054
1083
|
}
|
|
1055
1084
|
}
|
|
1056
1085
|
const h = class h {
|
|
@@ -1095,51 +1124,54 @@ y(h, "tips", {
|
|
|
1095
1124
|
let S = h;
|
|
1096
1125
|
export {
|
|
1097
1126
|
Se as _CalculateCanvasSize,
|
|
1127
|
+
Ge as _CalculateDistance2D,
|
|
1098
1128
|
he as _CapitalizeFirstLetter,
|
|
1099
|
-
|
|
1129
|
+
Le as _CheckConnectionWithXHR,
|
|
1100
1130
|
ke as _Clone,
|
|
1101
|
-
|
|
1131
|
+
_e as _CloseOnOutsideClick,
|
|
1102
1132
|
ve as _ConvertToCamelCase,
|
|
1103
|
-
|
|
1133
|
+
qe as _ConvertToPercentage,
|
|
1104
1134
|
Ce as _CopyToClipboard,
|
|
1105
1135
|
be as _CreateAndDownloadFile,
|
|
1106
1136
|
Ue as _Danger_ConvertDataToImageUrl,
|
|
1107
|
-
|
|
1137
|
+
V as _DataType,
|
|
1108
1138
|
ne as _Debounce,
|
|
1109
1139
|
we as _DownloadFile,
|
|
1110
|
-
|
|
1140
|
+
ze as _Drag,
|
|
1111
1141
|
oe as _EnterFullscreen,
|
|
1112
1142
|
fe as _ExcludeSubstring,
|
|
1113
1143
|
me as _ExecuteWhenIdle,
|
|
1114
1144
|
re as _ExitFullscreen,
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1145
|
+
Z as _FileTypeChecker,
|
|
1146
|
+
We as _FormatFileSize,
|
|
1147
|
+
Be as _FormatNumber,
|
|
1148
|
+
He as _FormatNumberWithUnit,
|
|
1119
1149
|
Oe as _Fullscreen,
|
|
1120
1150
|
ye as _GenerateUUID,
|
|
1121
1151
|
xe as _GetFrameRate,
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1152
|
+
H as _GetHrefName,
|
|
1153
|
+
Ve as _GetMidpoint,
|
|
1154
|
+
Ae as _GetOtherSizeInPixels,
|
|
1155
|
+
Me as _GetTargetByPath,
|
|
1125
1156
|
Fe as _InitTargetByPath,
|
|
1126
1157
|
ie as _IsFullscreen,
|
|
1127
1158
|
ue as _IsObject,
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1159
|
+
Xe as _IsPointInPolygon,
|
|
1160
|
+
je as _IsSecureContext,
|
|
1161
|
+
$e as _IsWithinErrorMargin,
|
|
1162
|
+
J as _KeyedWindowManager,
|
|
1163
|
+
Ne as _LoadImage,
|
|
1133
1164
|
Ie as _LocalDrag,
|
|
1134
|
-
|
|
1165
|
+
B as _MergeObjects,
|
|
1135
1166
|
le as _NotNull,
|
|
1136
1167
|
ge as _ReadFile,
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1168
|
+
Re as _RotateList,
|
|
1169
|
+
Ye as _Schedule,
|
|
1170
|
+
De as _ScrollEndListener,
|
|
1140
1171
|
Ee as _Throttle,
|
|
1172
|
+
Pe as _TimeConsumption,
|
|
1141
1173
|
pe as _TimeTransition,
|
|
1142
1174
|
S as _Tip,
|
|
1143
|
-
|
|
1175
|
+
Te as _UpdateTargetByPath,
|
|
1144
1176
|
de as _WaitForCondition
|
|
1145
1177
|
};
|