withoutIgnoredFields method

ModelDefinition withoutIgnoredFields()

Returns a copy of this model without @ignore fields.

Implementation

ModelDefinition withoutIgnoredFields() {
  final visibleFields = fields
      .where((field) => !field.isIgnored)
      .toList(growable: false);
  final declaredFieldNames = fields.map((field) => field.name).toSet();
  final visibleFieldNames = visibleFields.map((field) => field.name).toSet();

  return ModelDefinition(
    name: name,
    fields: visibleFields,
    attributes: _filterIgnoredModelAttributes(
      attributes,
      declaredFieldNames,
      visibleFieldNames,
    ),
    line: line,
    column: column,
  );
}