stateClass static method

Class stateClass({
  1. required String className,
  2. Iterable<Field> fields = const [],
  3. Iterable<Constructor> constructors = const [],
})

Implementation

static Class stateClass({
  required String className,
  Iterable<Field> fields = const [],
  Iterable<Constructor> constructors = const [],
}) {
  return Class(
    (b) => b
      ..name = className
      ..fields.addAll(fields)
      ..constructors.addAll(
        constructors.isEmpty
            ? [
                CommonPatterns.constructor(
                  parameters: fields.map(
                    (field) => CommonPatterns.optionalNamedParam(
                      field.name,
                      field.type?.symbol ?? 'dynamic',
                    ),
                  ),
                ),
              ]
            : constructors,
      ),
  );
}