Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/dart.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
- uses: actions/checkout@v3
- uses: dart-lang/setup-dart@v1
with:
sdk: 3.4.0
sdk: 3.6.0
- run: ./scripts/prepare
- run: ./scripts/check-format

Expand All @@ -20,7 +20,7 @@ jobs:
- uses: actions/checkout@v3
- uses: dart-lang/setup-dart@v1
with:
sdk: 3.4.0
sdk: 3.6.0
- run: scripts/prepare
- run: scripts/check-analyzer

Expand All @@ -30,6 +30,6 @@ jobs:
- uses: actions/checkout@v3
- uses: dart-lang/setup-dart@v1
with:
sdk: 3.4.0
sdk: 3.6.0
- run: ./scripts/prepare
- run: ./scripts/run-tests
2 changes: 1 addition & 1 deletion lib/sum_data_types.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export 'package:meta/meta.dart' show immutable, required;
export 'package:meta/meta.dart' show immutable;

/// Annotation to use to generate a data-class
class DataClass {
Expand Down
4 changes: 2 additions & 2 deletions pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: sum_data_types
description: Automatically generates immutable data classes based on a "blueprint" mixin.
version: 0.3.0
version: 0.3.1
repository: https://github.com/factisresearch/sum_data_types/tree/master

environment:
sdk: ">=3.4.0 <4.0.0"
sdk: ">=3.6.0 <4.0.0"

dependencies:
meta: ^1.1.7
Expand Down
5 changes: 5 additions & 0 deletions sum_data_types_generator/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## 0.3.1

* Bump analyzer to last version before breaking changes in `7.4.x`
(See https://github.com/dart-lang/sdk/blob/main/pkg/analyzer/doc/element_model_migration_guide.md)

## 0.3.0

* Various dependency updates
Expand Down
30 changes: 11 additions & 19 deletions sum_data_types_generator/lib/common.dart
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,7 @@ bool isType(DartType ty, String name, String packageUri, ImportModel imports) {
return ty.element!.name == name && tyLib.toString() == packageUri;
}

const quiverPackageUris = [
'package:quiver/src/core/optional.dart',
'package:quiver/core.dart',
];
const quiverPackageUris = ['package:quiver/src/core/optional.dart', 'package:quiver/core.dart'];

bool isQuiverOptional(DartType ty, ImportModel imports) {
return quiverPackageUris.any((packageUri) => isType(ty, 'Optional', packageUri, imports));
Expand Down Expand Up @@ -95,12 +92,14 @@ class ImportModel {
}

String lookupOptionalType() {
final modIdCandidates =
quiverPackageUris.where((packageUri) => this._uriToModuleId[packageUri] != null);
final modIdCandidates = quiverPackageUris.where(
(packageUri) => this._uriToModuleId[packageUri] != null,
);
if (modIdCandidates.isEmpty) {
throw CodegenException(
"Cannot reference type 'Optional'. Please import the package '${quiverPackageUris[0]}', "
'either unqualified or qualified.');
"Cannot reference type 'Optional'. Please import the package '${quiverPackageUris[0]}', "
'either unqualified or qualified.',
);
} else {
final modId = modIdCandidates.first;
final prefix = this._moduleIdToPrefix[modId];
Expand Down Expand Up @@ -175,11 +174,8 @@ class CodgenConfig {
final bool genEqHashCode;
final bool nnbd;

const CodgenConfig({
bool? toString,
bool? eqHashCode,
required this.nnbd,
}) : genToString = toString ?? true,
const CodgenConfig({bool? toString, bool? eqHashCode, required this.nnbd})
: genToString = toString ?? true,
genEqHashCode = eqHashCode ?? true;
}

Expand All @@ -204,16 +200,12 @@ class CommonClassModel<FieldModel> {
required this.config,
});

factory CommonClassModel(
MixinElement clazz,
MkField<FieldModel> mkField,
ConstantReader reader,
) {
factory CommonClassModel(MixinElement clazz, MkField<FieldModel> mkField, ConstantReader reader) {
try {
// build a map of the qualified imports, mapping module identifiers to import prefixes
final lib = clazz.library;
final imports = ImportModel();
for (final imp in lib.libraryImports) {
for (final imp in lib.definingCompilationUnit.libraryImports) {
imports.addImportElement(imp);
}

Expand Down
10 changes: 5 additions & 5 deletions sum_data_types_generator/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
name: sum_data_types_generator
description: Automatically generates immutable data classes based on a "blueprint" mixin.
version: 0.3.0
version: 0.3.1
repository: https://github.com/factisresearch/sum_data_types/tree/master/sum_data_types_generator

environment:
sdk: ">=3.4.0 <4.0.0"
sdk: ">=3.6.0 <4.0.0"

dependencies:
analyzer: ^6.5.0
analyzer: ^7.7.0
build: ^2.0.0
meta: ^1.1.7
sum_data_types: ^0.1.1
source_gen: ^1.0.0
source_gen: ^2.0.0

dev_dependencies:
build_runner: ^2.1.7
lints: ^4.0.0
quiver: ^3.0.1
quiver: 3.2.1
kt_dart: ^1.1.0
test: ^1.9.0
Loading