Skip to content

latest dependencies, lints, other cleanup #117

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Mar 16, 2018
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
57 changes: 44 additions & 13 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,34 +8,65 @@ analyzer:
dead_code: error
linter:
rules:
# Errors
- avoid_empty_else
- comment_references
- control_flow_in_finally
- empty_statements
- hash_and_equals
- implementation_imports
- test_types_in_equals
- throw_in_finally
- unrelated_type_equality_checks
- valid_regexps

# Style
- annotate_overrides
- avoid_empty_else
- avoid_function_literals_in_foreach_calls
- avoid_init_to_null
- avoid_null_checks_in_equality_operators
- avoid_return_types_on_setters
- avoid_returning_null
- avoid_unused_constructor_parameters
- await_only_futures
- camel_case_types
- cancel_subscriptions
#- cascade_invocations
- comment_references
- constant_identifier_names
- control_flow_in_finally
- directives_ordering
- empty_catches
- empty_constructor_bodies
- empty_statements
- hash_and_equals
- implementation_imports
- invariant_booleans
- iterable_contains_unrelated_type
- library_names
- library_prefixes
- list_remove_unrelated_type
- no_adjacent_strings_in_list
- no_duplicate_case_values
- non_constant_identifier_names
- omit_local_variable_types
- only_throw_errors
- overridden_fields
- package_api_docs
- package_names
- package_prefixed_library_names
- prefer_adjacent_string_concatenation
- prefer_collection_literals
- prefer_conditional_assignment
- prefer_const_constructors
- prefer_contains
- prefer_final_fields
- prefer_initializing_formals
- prefer_interpolation_to_compose_strings
- prefer_is_empty
- prefer_is_not_empty
- prefer_single_quotes
- prefer_typing_uninitialized_variables
- recursive_getters
- slash_for_doc_comments
- super_goes_last
- test_types_in_equals
- throw_in_finally
- type_init_formals
- unawaited_futures
- unnecessary_brace_in_string_interps
- unnecessary_getters_setters
- unnecessary_lambdas
- unnecessary_null_aware_assignments
- unnecessary_statements
- unnecessary_this
- unrelated_type_equality_checks
- valid_regexps
8 changes: 8 additions & 0 deletions json_serializable/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
## 0.4.1

### `package:json_serializable/type_helper.dart`

* **Potentially Breaking** The `metadata` property on `SerializeContext` and
`DeserializeContext` is now readonly. This would potentially break code that
extends these classes – which is not expected.

## 0.4.0

* **Potentially Breaking** Inherited fields are now processed and used
Expand Down
19 changes: 9 additions & 10 deletions json_serializable/lib/src/json_serializable_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -394,13 +394,12 @@ void $toJsonMapHelperName(String key, dynamic value) {
if (ctorArguments.isNotEmpty && ctorNamedArguments.isNotEmpty) {
buffer.write(', ');
}
buffer.writeAll(
ctorNamedArguments.map((paramElement) =>
'${paramElement.name}: ' +
_deserializeForField(
fields[paramElement.name], classSupportNullable,
ctorParam: paramElement)),
', ');
buffer.writeAll(ctorNamedArguments.map((paramElement) {
var value = _deserializeForField(
fields[paramElement.name], classSupportNullable,
ctorParam: paramElement);
return '${paramElement.name}: $value';
}), ', ');

buffer.write(')');
if (fieldsToSet.isEmpty) {
Expand Down Expand Up @@ -458,7 +457,7 @@ class _TypeHelperContext implements SerializeContext, DeserializeContext {
bool get useWrappers => _generator.useWrappers;

@override
List<ElementAnnotation> metadata;
final List<ElementAnnotation> metadata;

_TypeHelperContext(this._generator, this.metadata);

Expand Down Expand Up @@ -535,9 +534,9 @@ JsonSerializable _valueForAnnotation(ConstantReader annotation) =>

final _jsonKeyExpando = new Expando<JsonKey>();

final _jsonKeyChecker = new TypeChecker.fromRuntime(JsonKey);
final _jsonKeyChecker = const TypeChecker.fromRuntime(JsonKey);

final _dartCoreObjectChecker = new TypeChecker.fromRuntime(Object);
final _dartCoreObjectChecker = const TypeChecker.fromRuntime(Object);

int _sortByLocation(FieldElement a, FieldElement b) {
var checkerA = new TypeChecker.fromStatic(a.enclosingElement.type);
Expand Down
4 changes: 2 additions & 2 deletions json_serializable/lib/src/type_helper.dart
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ List<DartType> typeArgumentsOf(DartType type, TypeChecker checker) {
abstract class SerializeContext {
bool get useWrappers;
String serialize(DartType fieldType, String expression, bool nullable);
List<ElementAnnotation> metadata;
List<ElementAnnotation> get metadata;
}

abstract class DeserializeContext {
String deserialize(DartType fieldType, String expression, bool nullable);
List<ElementAnnotation> metadata;
List<ElementAnnotation> get metadata;
}

abstract class TypeHelper {
Expand Down
2 changes: 1 addition & 1 deletion json_serializable/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ dependencies:
path: ^1.3.2
source_gen: ^0.7.5
dev_dependencies:
build_runner: ^0.7.0
build_runner: ^0.8.0
build_test: ">=0.9.0 <0.11.0"
collection: ^1.14.0
dart_style: ^1.0.0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ void main() {
};

expect(() => new Numbers.fromJson(value),
throwsA(new isInstanceOf<CastError>()));
throwsA(const isInstanceOf<CastError>()));
});
});
}
4 changes: 1 addition & 3 deletions json_serializable/test/src/io.dart
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,7 @@ Future<List<String>> getDartFiles(String directoryPath,
/// directories defined in the list.
Stream<String> getFiles(String directoryPath,
{List<String> searchList, bool followLinks: false}) async* {
if (searchList == null) {
searchList = <String>[];
}
searchList ??= <String>[];

var map = await _expandSearchList(directoryPath, searchList);
var searchDirs = <String>[];
Expand Down
2 changes: 2 additions & 0 deletions json_serializable/test/src/json_serializable_test_input.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

//ignore_for_file: avoid_unused_constructor_parameters, prefer_initializing_formals
import 'package:json_annotation/json_annotation.dart';

@JsonSerializable()
Expand All @@ -17,6 +18,7 @@ class Person {
int height;
DateTime dateOfBirth;
dynamic dynamicType;
//ignore: prefer_typing_uninitialized_variables
var varType;
List<int> listOfInts;
}
Expand Down
2 changes: 1 addition & 1 deletion json_serializable/test/test_utils.dart
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ String getPackagePath() {

Matcher throwsInvalidGenerationSourceError(messageMatcher, todoMatcher) =>
throwsA(allOf(
new isInstanceOf<InvalidGenerationSourceError>(),
const isInstanceOf<InvalidGenerationSourceError>(),
new FeatureMatcher<InvalidGenerationSourceError>(
'message', (e) => e.message, messageMatcher),
new FeatureMatcher<InvalidGenerationSourceError>(
Expand Down