get method
Return the generator for this instance.
Implementation
@override
ModelsGenerator get([final Map<String, Object?>? options]) {
final Object? importPath =
options?['import_path'] ?? argResults?['import-path'] as Object?;
final Object? exportPath =
options?['export_path'] ?? argResults?['export-path'] as Object?;
final Object? exportEncoding = options?['export_encoding'] ??
argResults?['export-encoding'] as Object?;
final Object? encoding =
options?['encoding'] ?? argResults?['encoding'] as Object?;
final Object? convertClassNames = options?['convert_class_names'] ??
argResults?['convert-class-names'] as Object?;
final Object? convertFieldNames = options?['convert_field_names'] ??
argResults?['convert-field-names'] as Object?;
final Object? convertInstanceNames = options?['convert_instance_names'] ??
argResults?['convert-instance-names'] as Object?;
final Object? assignFieldTypes = options?['assign_field_types'] ??
argResults?['assign-field-types'] as Object?;
final Object? includeNullFields = options?['include_null_fields'] ??
argResults?['include-null-fields'] as Object?;
final Object? $imports =
options?['imports'] ?? argResults?['imports'] as Object?;
final Iterable<String>? imports = $imports is String
? <String>[$imports]
: $imports is Iterable<Object?>
? $imports.cast<String>()
: null;
if (importPath is! String || importPath.isEmpty) {
throw const FormatException('The import path is not provided.');
} else if (exportPath is! String || exportPath.isEmpty) {
throw const FormatException('The export path is not provided.');
} else {
return DartModelsGenerator(
importPath: importPath,
exportPath: exportPath,
exportEncoding: exportEncoding is String
? Encoding.getByName(exportEncoding)
: null,
encoding: encoding is String && encoding.isNotEmpty
? Encoding.getByName(encoding)
: null,
convertClassNames: convertClassNames is bool ? convertClassNames : null,
convertFieldNames: convertFieldNames is bool ? convertFieldNames : null,
convertInstanceNames:
convertInstanceNames is bool ? convertInstanceNames : null,
assignFieldTypes: assignFieldTypes is bool ? assignFieldTypes : null,
includeNullFields: includeNullFields is bool ? includeNullFields : null,
imports: imports == null ||
imports.length == 1 && imports.single == null.toString()
? null
: imports,
);
}
}