decode method

CommentLogType? decode(
  1. dynamic data, {
  2. bool allowNull = true,
})

Decodes a data to a CommentLogType.

If allowNull is true and the data cannot be decoded successfully, then null is returned. However, if allowNull is false and the data cannot be decoded successfully, then an UnimplementedError is thrown.

The allowNull is very handy when an API changes and a new enum value is added or removed, and users are still using an old app with the old code.

Implementation

CommentLogType? decode(dynamic data, {bool allowNull = true}) {
  if (data != null) {
    switch (data) {
      case 0: return CommentLogType.number0;
      case 1: return CommentLogType.number1;
      case 2: return CommentLogType.number2;
      case 3: return CommentLogType.number3;
      case 4: return CommentLogType.number4;
      case 5: return CommentLogType.number5;
      case 6: return CommentLogType.number6;
      case 7: return CommentLogType.number7;
      case 8: return CommentLogType.number8;
      case 9: return CommentLogType.number9;
      case 10: return CommentLogType.number10;
      case 11: return CommentLogType.number11;
      case 12: return CommentLogType.number12;
      case 13: return CommentLogType.number13;
      case 14: return CommentLogType.number14;
      case 15: return CommentLogType.number15;
      case 16: return CommentLogType.number16;
      case 17: return CommentLogType.number17;
      case 18: return CommentLogType.number18;
      case 19: return CommentLogType.number19;
      case 20: return CommentLogType.number20;
      case 21: return CommentLogType.number21;
      case 22: return CommentLogType.number22;
      case 23: return CommentLogType.number23;
      case 24: return CommentLogType.number24;
      case 25: return CommentLogType.number25;
      case 26: return CommentLogType.number26;
      case 27: return CommentLogType.number27;
      case 28: return CommentLogType.number28;
      case 29: return CommentLogType.number29;
      case 30: return CommentLogType.number30;
      case 31: return CommentLogType.number31;
      case 32: return CommentLogType.number32;
      case 33: return CommentLogType.number33;
      case 34: return CommentLogType.number34;
      case 35: return CommentLogType.number35;
      case 36: return CommentLogType.number36;
      case 37: return CommentLogType.number37;
      case 38: return CommentLogType.number38;
      case 39: return CommentLogType.number39;
      case 40: return CommentLogType.number40;
      case 41: return CommentLogType.number41;
      case 42: return CommentLogType.number42;
      case 43: return CommentLogType.number43;
      case 44: return CommentLogType.number44;
      case 45: return CommentLogType.number45;
      case 46: return CommentLogType.number46;
      case 47: return CommentLogType.number47;
      case 48: return CommentLogType.number48;
      case 49: return CommentLogType.number49;
      case 50: return CommentLogType.number50;
      case 51: return CommentLogType.number51;
      case 52: return CommentLogType.number52;
      case 53: return CommentLogType.number53;
      case 54: return CommentLogType.number54;
      case 55: return CommentLogType.number55;
      default:
        if (!allowNull) {
          throw ArgumentError('Unknown enum value to decode: $data');
        }
    }
  }
  return null;
}