addUnknownEnumValueAnnotation static method

void addUnknownEnumValueAnnotation({
  1. required TypeNode fieldType,
  2. required TypeName dartTypeName,
  3. required Map<String, String> jsonKeyAnnotation,
})

Add unknown enum value annotation for regular enum handling

Implementation

static void addUnknownEnumValueAnnotation({
  required TypeNode fieldType,
  required TypeName dartTypeName,
  required Map<String, String> jsonKeyAnnotation,
}) {
  if (fieldType is ListTypeNode) {
    final innerDartTypeName = dartTypeName;
    if (innerDartTypeName is ListOfTypeName) {
      jsonKeyAnnotation['unknownEnumValue'] =
          '${innerDartTypeName.typeName.dartTypeSafe}.${unknownEnumValue.name.namePrintable}';
    }
  } else {
    jsonKeyAnnotation['unknownEnumValue'] =
        '${dartTypeName.dartTypeSafe}.${unknownEnumValue.name.namePrintable}';
  }
}