doParseField method

List<DBMetaField> doParseField(
  1. ConstantReader ann
)

Implementation

List<DBMetaField> doParseField(ConstantReader ann) {
  var iterator = ann.read("fields").listValue.iterator;

  List<DBMetaField> rets = [
    DBMetaField(
      name: IDField,
      pk: true,
      autoIncrement: true,
      type: DBFieldType.Int,
    )
  ];
  while (iterator.moveNext()) {
    String name = iterator.current.getField("name")!.toStringValue()!;
    if (name.compareTo(IDField) == 0) {
      print("not support custom id field");
      continue;
    }

    var defaultDefine = iterator.current.getField("defaultDefine");

    rets.add(DBMetaField(
        name: name,
        type: DBFieldType.values[iterator.current
            .getField("type")!
            .getField("index")!
            .toIntValue()!],
        defaultDefine:
            defaultDefine == null ? "" : defaultDefine.toStringValue()!));
  }

  return rets;
}