diff --git a/packages/merge_map/CHANGELOG.md b/packages/merge_map/CHANGELOG.md index 575f3688..31f362c5 100644 --- a/packages/merge_map/CHANGELOG.md +++ b/packages/merge_map/CHANGELOG.md @@ -1,3 +1,6 @@ +# 2.0.2 +* Resolve static analysis warnings + # 2.0.1 * Updated README diff --git a/packages/merge_map/README.md b/packages/merge_map/README.md index 39798b24..21a94bb1 100644 --- a/packages/merge_map/README.md +++ b/packages/merge_map/README.md @@ -1,5 +1,5 @@ # angel3_merge_map -[![version](https://img.shields.io/badge/pub-v2.0.1-brightgreen)](https://pub.dartlang.org/packages/angel3_merge_map) +[![version](https://img.shields.io/badge/pub-v2.0.2-brightgreen)](https://pub.dartlang.org/packages/angel3_merge_map) [![Null Safety](https://img.shields.io/badge/null-safety-brightgreen)](https://dart.dev/null-safety) [![Gitter](https://img.shields.io/gitter/room/angel_dart/discussion)](https://gitter.im/angel_dart/discussion) diff --git a/packages/merge_map/analysis_options.yaml b/packages/merge_map/analysis_options.yaml new file mode 100644 index 00000000..c230cee7 --- /dev/null +++ b/packages/merge_map/analysis_options.yaml @@ -0,0 +1,4 @@ +include: package:pedantic/analysis_options.yaml +analyzer: + strong-mode: + implicit-casts: false \ No newline at end of file diff --git a/packages/merge_map/example/main.dart b/packages/merge_map/example/main.dart index 30d315f5..c3b7c461 100644 --- a/packages/merge_map/example/main.dart +++ b/packages/merge_map/example/main.dart @@ -1,14 +1,19 @@ import 'package:angel3_merge_map/angel3_merge_map.dart'; void main() { + // ignore: omit_local_variable_types Map map1 = {'hello': 'world'}; + + // ignore: omit_local_variable_types Map map2 = { 'foo': {'bar': 'baz', 'this': 'will be overwritten'} }; + + // ignore: omit_local_variable_types Map map3 = { 'foo': {'john': 'doe', 'this': 'overrides previous maps'} }; - Map merged = mergeMap([map1, map2, map3]); + var merged = mergeMap([map1, map2, map3]); print(merged); // {hello: world, foo: {bar: baz, john: doe, this: overrides previous maps}} diff --git a/packages/merge_map/lib/angel3_merge_map.dart b/packages/merge_map/lib/angel3_merge_map.dart index 7d681d36..8158489e 100644 --- a/packages/merge_map/lib/angel3_merge_map.dart +++ b/packages/merge_map/lib/angel3_merge_map.dart @@ -1,7 +1,7 @@ /// Exposes the [mergeMap] function, which... merges Maps. library angel3_merge_map; -_copyValues( +dynamic _copyValues( Map from, Map? to, bool recursive, bool acceptNull) { for (var key in from.keys) { if (from[key] is Map && recursive) { @@ -25,8 +25,8 @@ _copyValues( /// then if the value on a map is `null`, it will be ignored, and /// that `null` will not be copied. Map mergeMap(Iterable> maps, - {bool recursive: true, bool acceptNull: false}) { - Map result = {}; + {bool recursive = true, bool acceptNull = false}) { + var result = {}; maps.forEach((Map map) { _copyValues(map, result, recursive, acceptNull); }); diff --git a/packages/merge_map/pubspec.yaml b/packages/merge_map/pubspec.yaml index c306f541..a4412aa1 100644 --- a/packages/merge_map/pubspec.yaml +++ b/packages/merge_map/pubspec.yaml @@ -1,8 +1,9 @@ name: angel3_merge_map -version: 2.0.1 +version: 2.0.2 description: Combine multiple Maps into one. Equivalent to Object.assign in JS. homepage: https://github.com/dukefirehawk/angel/tree/angel3/packages/merge_map environment: sdk: '>=2.12.0 <3.0.0' dev_dependencies: test: ^1.17.4 + pedantic: ^1.11.0 diff --git a/packages/merge_map/test/all_test.dart b/packages/merge_map/test/all_test.dart index ad3097c2..06ab5698 100644 --- a/packages/merge_map/test/all_test.dart +++ b/packages/merge_map/test/all_test.dart @@ -1,9 +1,9 @@ -import "package:angel3_merge_map/angel3_merge_map.dart"; -import "package:test/test.dart"; +import 'package:angel3_merge_map/angel3_merge_map.dart'; +import 'package:test/test.dart'; void main() { test('can merge two simple maps', () { - Map merged = mergeMap([ + var merged = mergeMap([ {'hello': 'world'}, {'hello': 'dolly'} ]); @@ -11,7 +11,7 @@ void main() { }); test("the last map's values supersede those of prior", () { - Map merged = mergeMap([ + var merged = mergeMap([ {'letter': 'a'}, {'letter': 'b'}, {'letter': 'c'} @@ -19,16 +19,18 @@ void main() { expect(merged['letter'], equals('c')); }); - test("can merge two once-nested maps", () { + test('can merge two once-nested maps', () { + // ignore: omit_local_variable_types Map map1 = { 'hello': 'world', 'foo': {'nested': false} }; + // ignore: omit_local_variable_types Map map2 = { 'goodbye': 'sad life', 'foo': {'nested': true, 'it': 'works'} }; - Map merged = mergeMap([map1, map2]); + var merged = mergeMap([map1, map2]); expect(merged['hello'], equals('world')); expect(merged['goodbye'], equals('sad life')); @@ -36,57 +38,65 @@ void main() { expect(merged['foo']['it'], equals('works')); }); - test("once-nested map supersession", () { + test('once-nested map supersession', () { + // ignore: omit_local_variable_types Map map1 = { 'hello': 'world', 'foo': {'nested': false} }; + // ignore: omit_local_variable_types Map map2 = { 'goodbye': 'sad life', 'foo': {'nested': true, 'it': 'works'} }; + // ignore: omit_local_variable_types Map map3 = { 'foo': {'nested': 'supersession'} }; - Map merged = mergeMap([map1, map2, map3]); + var merged = mergeMap([map1, map2, map3]); expect(merged['foo']['nested'], equals('supersession')); }); - test("can merge two twice-nested maps", () { + test('can merge two twice-nested maps', () { + // ignore: omit_local_variable_types Map map1 = { 'a': { 'b': {'c': 'd'} } }; + // ignore: omit_local_variable_types Map map2 = { 'a': { 'b': {'c': 'D', 'e': 'f'} } }; - Map merged = mergeMap([map1, map2]); + var merged = mergeMap([map1, map2]); expect(merged['a']['b']['c'], equals('D')); expect(merged['a']['b']['e'], equals('f')); }); - test("twice-nested map supersession", () { + test('twice-nested map supersession', () { + // ignore: omit_local_variable_types Map map1 = { 'a': { 'b': {'c': 'd'} } }; + // ignore: omit_local_variable_types Map map2 = { 'a': { 'b': {'c': 'D', 'e': 'f'} } }; + // ignore: omit_local_variable_types Map map3 = { 'a': { 'b': {'e': 'supersession'} } }; - Map merged = mergeMap([map1, map2, map3]); + var merged = mergeMap([map1, map2, map3]); expect(merged['a']['b']['c'], equals('D')); expect(merged['a']['b']['e'], equals('supersession'));