isValid method

bool isValid()

Implementation

bool isValid() =>
    (actions?.length ?? 1) <= 10 &&
    components.length <= 20 &&
    components.every((e) {
      switch (e) {
        case GameDialogMarkdownComponent():
          return e.content.length <= 5000;
        case GameDialogTextFieldComponent():
          return e.label.length <= 50 &&
              (e.id?.length ?? 0) <= 100 &&
              (e.placeholder?.length ?? 0) <= 50;
        case GameDialogCheckboxComponent():
          return e.label.length <= 50 && (e.id?.length ?? 0) <= 100;
        case GameDialogDropdownComponent():
          return e.label.length <= 50 &&
              (e.id?.length ?? 0) <= 100 &&
              e.options.length <= 20 &&
              e.options.every((o) => o.isValid());
      }
    }) &&
    (actions ?? []).every(
      (e) => e.label.length <= 50 && (e.id?.length ?? 0) <= 100,
    );