34 lines
1.2 KiB
JavaScript
34 lines
1.2 KiB
JavaScript
import { IMAGEOPS_CLASS_ALIASES, IMAGEOPS_NODE_METADATA } from "./imageops-metadata.js";
|
|
const IMAGEOPS_CLASSES = new Set(IMAGEOPS_NODE_METADATA.map((entry) => entry.className));
|
|
const IMAGEOPS_CUSTOM_UI_CLASSES = new Set(
|
|
IMAGEOPS_NODE_METADATA.filter((entry) => entry.ui === "custom").map((entry) => entry.className)
|
|
);
|
|
const IMAGEOPS_NATIVE_UI_CLASSES = new Set(
|
|
IMAGEOPS_NODE_METADATA.filter((entry) => entry.ui === "native").map((entry) => entry.className)
|
|
);
|
|
function normalizeClassName(value) {
|
|
return String(value ?? "").trim().toLowerCase();
|
|
}
|
|
function resolveImageOpsClassName(value) {
|
|
const raw = String(value ?? "").trim();
|
|
return IMAGEOPS_CLASS_ALIASES.get(normalizeClassName(raw)) ?? raw;
|
|
}
|
|
function isImageOpsClass(value) {
|
|
return IMAGEOPS_CLASSES.has(resolveImageOpsClassName(value));
|
|
}
|
|
function isImageOpsCustomUiClass(value) {
|
|
return IMAGEOPS_CUSTOM_UI_CLASSES.has(resolveImageOpsClassName(value));
|
|
}
|
|
function isImageOpsNativeUiClass(value) {
|
|
return IMAGEOPS_NATIVE_UI_CLASSES.has(resolveImageOpsClassName(value));
|
|
}
|
|
export {
|
|
IMAGEOPS_CLASSES,
|
|
IMAGEOPS_CUSTOM_UI_CLASSES,
|
|
IMAGEOPS_NATIVE_UI_CLASSES,
|
|
isImageOpsClass,
|
|
isImageOpsCustomUiClass,
|
|
isImageOpsNativeUiClass,
|
|
resolveImageOpsClassName
|
|
};
|