Files
NapCatQQ/.pnpm-store/v3/files/d9/f21aa1ae8c85d2fbdc5cbffd46aa439ad3ceebf3e956f468702a7aa32b3857944a2b1ca2a4987b7a2cfc2195c260d5b7d938cacd04ff26e88c1bd28f2404cd
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

50 lines
1.2 KiB
Plaintext

import {
DOMEventNames,
DOMPropNames
} from "./chunk-RFWDHYLZ.mjs";
// src/filter-dom-props.ts
var propRe = /^(data-.*)$/;
var ariaRe = /^(aria-.*)$/;
var funcRe = /^(on[A-Z].*)$/;
function filterDOMProps(props, opts = {}) {
let {
labelable = true,
enabled = true,
propNames,
omitPropNames,
omitEventNames,
omitDataProps,
omitEventProps
} = opts;
let filteredProps = {};
if (!enabled) {
return props;
}
for (const prop in props) {
if (omitPropNames == null ? void 0 : omitPropNames.has(prop)) {
continue;
}
if ((omitEventNames == null ? void 0 : omitEventNames.has(prop)) && funcRe.test(prop)) {
continue;
}
if (funcRe.test(prop) && !DOMEventNames.has(prop)) {
continue;
}
if (omitDataProps && propRe.test(prop)) {
continue;
}
if (omitEventProps && funcRe.test(prop)) {
continue;
}
if (Object.prototype.hasOwnProperty.call(props, prop) && (DOMPropNames.has(prop) || labelable && ariaRe.test(prop) || (propNames == null ? void 0 : propNames.has(prop)) || propRe.test(prop)) || funcRe.test(prop)) {
filteredProps[prop] = props[prop];
}
}
return filteredProps;
}
export {
filterDOMProps
};