nicecode-v2/packages/func/lib/utils/index.js

172 lines
4.9 KiB
JavaScript

var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/utils/index.ts
var utils_exports = {};
__export(utils_exports, {
addEventListenerWrapper: () => addEventListenerWrapper,
getChromeVersion: () => getChromeVersion,
getFileSuffix: () => getFileSuffix,
getImageSuffixByFileType: () => getImageSuffixByFileType,
getTransforms: () => getTransforms,
isChrome: () => import_isChrome.default,
loop: () => loop,
matchS3Prefix: () => matchS3Prefix,
nextTick: () => nextTick
});
module.exports = __toCommonJS(utils_exports);
var import_lodash_es = require("lodash-es");
var import_react_dom = __toESM(require("react-dom"));
var import_isChrome = __toESM(require("./isChrome"));
var matchS3Prefix = (str) => {
return /^v[0-9]_/.test(str);
};
var getFileSuffix = (fileName) => {
const splitArr = fileName.split(".");
return splitArr.length < 2 ? "" : splitArr[splitArr.length - 1];
};
var getImageSuffixByFileType = (type) => {
let imageSuffix = "";
switch (type) {
case "jpeg": {
imageSuffix = ".jpg";
break;
}
case "gif": {
imageSuffix = ".gif";
break;
}
case "png": {
imageSuffix = ".png";
break;
}
case "vnd.wap.wbmp": {
imageSuffix = ".wbmp";
break;
}
case "x-up-wpng": {
imageSuffix = ".wpng";
break;
}
case "nbmp": {
imageSuffix = ".nbmp";
break;
}
}
return imageSuffix;
};
function getChromeVersion() {
const arr = navigator.userAgent.split(" ");
let chromeVersion = "";
for (let i = 0; i < arr.length; i++) {
if (/chrome/i.test(arr[i]))
chromeVersion = arr[i];
}
if (chromeVersion) {
return Number(chromeVersion.split("/")[1].split(".")[0]);
} else {
return false;
}
}
var nextTick = (func) => {
if (queueMicrotask) {
queueMicrotask(func);
return;
}
Promise.resolve().then(func);
};
var loop = (items, callback) => {
for (let i = 0; i < items.length; i++) {
const element = items[i];
let isBreak = callback(element);
if (isBreak) {
return;
}
if (element["children"]) {
loop(element["children"], callback);
}
}
};
var addEventListenerWrapper = (target, eventType, cb, option) => {
const callback = import_react_dom.default.unstable_batchedUpdates ? function run(e) {
import_react_dom.default.unstable_batchedUpdates(cb, e);
} : cb;
if (target.addEventListener) {
target.addEventListener(eventType, callback, option);
}
return {
remove: () => {
if (target.removeEventListener) {
target.removeEventListener(eventType, callback);
}
}
};
};
function getTransforms({
rotate,
scaleX,
scaleY,
translateX,
translateY
}) {
const values = [];
if ((0, import_lodash_es.isNumber)(translateX) && translateX !== 0) {
values.push(`translateX(${translateX}px)`);
}
if ((0, import_lodash_es.isNumber)(translateY) && translateY !== 0) {
values.push(`translateY(${translateY}px)`);
}
if ((0, import_lodash_es.isNumber)(rotate) && rotate !== 0) {
values.push(`rotate(${rotate}deg)`);
}
if ((0, import_lodash_es.isNumber)(scaleX) && scaleX !== 1) {
values.push(`scaleX(${scaleX})`);
}
if ((0, import_lodash_es.isNumber)(scaleY) && scaleY !== 1) {
values.push(`scaleY(${scaleY})`);
}
const transform = values.length ? values.join(" ") : "none";
return {
WebkitTransform: transform,
msTransform: transform,
transform
};
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
addEventListenerWrapper,
getChromeVersion,
getFileSuffix,
getImageSuffixByFileType,
getTransforms,
isChrome,
loop,
matchS3Prefix,
nextTick
});