esuse
Version:
Wei Design, a es toolkit, esuse
124 lines (123 loc) • 3.54 kB
JavaScript
var EsUse = function(exports) {
"use strict";
const name = "esuse";
const version$1 = "0.0.1";
const description = "Wei Design, a es toolkit, esuse";
const keywords = [
"Wei Design",
"esuse",
"es-toolkit",
"js-toolkit",
"vite",
"es6"
];
const author = "wforguo@qq.com";
const license = "MIT";
const homepage = "https://github.com/wei-design/esuse";
const repository = {
type: "git",
url: "git+https://github.com/wei-design/esuse.git",
directory: "packages/esuse"
};
const main = "./index.js";
const module = "./index.mjs";
const exports$1 = {
types: "./index.d.ts",
"import": "./index.mjs",
require: "./index.js"
};
const unpkg = "./index.iife.js";
const jsdelivr = "./index.iife.js";
const scripts = {
build: "tsc --noEmit && vite build",
release: "release-it",
"release:major": "release-it major",
"release:minor": "release-it minor",
"release:patch": "release-it patch"
};
const pkg = {
name,
"private": false,
version: version$1,
description,
keywords,
author,
license,
homepage,
repository,
main,
module,
exports: exports$1,
unpkg,
jsdelivr,
scripts
};
function useFilenameDetails(fullFilename) {
if (fullFilename.includes(".")) {
return {
filename: fullFilename.split(".").slice(0, -1).join("."),
suffix: fullFilename.split(".").pop() ?? null
};
} else {
return { filename: fullFilename, suffix: null };
}
}
function useFileDownload(url, fileName = "image.png") {
return new Promise((resolve, reject) => {
const link = document.createElement("a");
if (url.startsWith("http") && !url.includes(window.location.origin)) {
fetch(url).then((response) => {
if (!response.ok) {
throw new Error(`Failed to fetch image: ${response.statusText}`);
}
return response.blob();
}).then((blob) => {
const objectURL = URL.createObjectURL(blob);
link.href = objectURL;
link.download = fileName;
link.click();
URL.revokeObjectURL(objectURL);
resolve(url);
}).catch((error) => {
console.error("Image download failed:", error);
reject(error);
});
} else {
link.href = url;
link.download = fileName;
link.click();
resolve(url);
}
});
}
function useFileInfo() {
return Promise.resolve();
}
function usePathDetails(path) {
const directory = path.split("/").slice(0, -1).join("/");
const fullFilename = path.split("/").pop() ?? path;
return { directory, fullFilename, ...useFilenameDetails(fullFilename) };
}
const useUuid = (length = 10) => {
return Math.random().toString(16).substring(2, length);
};
const useDelay = (delay) => new Promise((resolve) => setTimeout(resolve, delay));
function useUrlBase64() {
return Promise.resolve();
}
function useFileBase64() {
return Promise.resolve();
}
const version = pkg.version;
exports.useDelay = useDelay;
exports.useFileBase64 = useFileBase64;
exports.useFileDownload = useFileDownload;
exports.useFileInfo = useFileInfo;
exports.useFilenameDetails = useFilenameDetails;
exports.usePathDetails = usePathDetails;
exports.useUrlBase64 = useUrlBase64;
exports.useUuid = useUuid;
exports.version = version;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
return exports;
}({});