persona-community-5/.pnpm-store/v3/files/7f/31c284aa55de4a0ea5c6ba31017889a5fa440387e340a5bee461080b35f2104f53a01c0a5714ad120199898161c856ed1323ea9ebfbda9cc70e6fc288236dd
rdev-worker a1d0d1bf1c
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
build: /implement-feature community-ui --requirements 'Build the React commu...
2026-02-24 08:22:30 +00:00

67 lines
2.2 KiB
Plaintext

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.filter = filter;
exports.checkIfMatchByStrategy = checkIfMatchByStrategy;
const ref_utils_1 = require("../../../ref-utils");
const utils_1 = require("../../../utils");
function filter(node, ctx, criteria) {
const { parent, key } = ctx;
let didDelete = false;
if (Array.isArray(node)) {
for (let i = 0; i < node.length; i++) {
if ((0, ref_utils_1.isRef)(node[i])) {
const resolved = ctx.resolve(node[i]);
if (criteria(resolved.node)) {
node.splice(i, 1);
didDelete = true;
i--;
}
}
if (criteria(node[i])) {
node.splice(i, 1);
didDelete = true;
i--;
}
}
}
else if ((0, utils_1.isPlainObject)(node)) {
for (const key of Object.keys(node)) {
node = node;
if ((0, ref_utils_1.isRef)(node[key])) {
const resolved = ctx.resolve(node[key]);
if (criteria(resolved.node)) {
delete node[key];
didDelete = true;
}
}
if (criteria(node[key])) {
delete node[key];
didDelete = true;
}
}
}
if (didDelete && ((0, utils_1.isEmptyObject)(node) || (0, utils_1.isEmptyArray)(node))) {
delete parent[key];
}
}
function checkIfMatchByStrategy(nodeValue, decoratorValue, strategy) {
if (nodeValue === undefined || decoratorValue === undefined) {
return false;
}
if (!Array.isArray(decoratorValue) && !Array.isArray(nodeValue)) {
return nodeValue === decoratorValue;
}
decoratorValue = toArrayIfNeeded(decoratorValue);
nodeValue = toArrayIfNeeded(nodeValue);
if (strategy === 'any') {
return decoratorValue.some((item) => nodeValue.includes(item));
}
if (strategy === 'all') {
return decoratorValue.every((item) => nodeValue.includes(item));
}
return false;
}
function toArrayIfNeeded(value) {
return Array.isArray(value) ? value : [value];
}