public isSkipEvent()

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;
  }