in src/Setting.ts [31:65]
public isSkipEvent(trelloAction: Action) {
if (this.setting?.excludes === undefined) {
return false;
}
const excludes = this.setting.excludes;
const isCharacterOrLess = (charactersOrLess: number) => {
return charactersOrLess >= trelloAction.data.card.name.length;
};
const isMatch = (match: string) => {
return trelloAction.data.card.name.match(match) !== null;
};
let isSkip = false;
for (const excludeSetting of excludes) {
const checks: boolean[] = [];
if (excludeSetting.charactersOrLess && trelloAction.data.card) {
checks.push(
isCharacterOrLess(excludeSetting.charactersOrLess as number)
);
}
if (excludeSetting.match && trelloAction.data.card) {
checks.push(isMatch(excludeSetting.match as string));
}
if (checks.length === 0) continue;
if (checks.every((isTrue) => isTrue)) {
isSkip = true;
break;
}
}
return isSkip;
}