migrate to json_serializable v3
diff --git a/pkgs/pubspec_parse/lib/src/dependency.dart b/pkgs/pubspec_parse/lib/src/dependency.dart index e2b0770..2d4eda6 100644 --- a/pkgs/pubspec_parse/lib/src/dependency.dart +++ b/pkgs/pubspec_parse/lib/src/dependency.dart
@@ -128,7 +128,8 @@ String get _info => 'url@$url'; } -Uri parseGitUri(String value) => _tryParseScpUri(value) ?? Uri.parse(value); +Uri parseGitUri(String value) => + value == null ? null : _tryParseScpUri(value) ?? Uri.parse(value); /// Supports URIs like `[user@]host.xz:path/to/repo.git/` /// See https://git-scm.com/docs/git-clone#_git_urls_a_id_urls_a @@ -217,4 +218,4 @@ } VersionConstraint _constraintFromString(String input) => - VersionConstraint.parse(input); + input == null ? null : VersionConstraint.parse(input);
diff --git a/pkgs/pubspec_parse/lib/src/dependency.g.dart b/pkgs/pubspec_parse/lib/src/dependency.g.dart index 243a5b3..534c03a 100644 --- a/pkgs/pubspec_parse/lib/src/dependency.g.dart +++ b/pkgs/pubspec_parse/lib/src/dependency.g.dart
@@ -11,8 +11,8 @@ $checkKeys(json, requiredKeys: const ['sdk'], disallowNullValues: const ['sdk']); final val = SdkDependency($checkedConvert(json, 'sdk', (v) => v as String), - version: $checkedConvert(json, 'version', - (v) => v == null ? null : _constraintFromString(v as String))); + version: $checkedConvert( + json, 'version', (v) => _constraintFromString(v as String))); return val; }); } @@ -22,8 +22,7 @@ $checkKeys(json, requiredKeys: const ['url'], disallowNullValues: const ['url']); final val = GitDependency( - $checkedConvert( - json, 'url', (v) => v == null ? null : parseGitUri(v as String)), + $checkedConvert(json, 'url', (v) => parseGitUri(v as String)), $checkedConvert(json, 'ref', (v) => v as String), $checkedConvert(json, 'path', (v) => v as String)); return val; @@ -36,8 +35,8 @@ allowedKeys: const ['version', 'hosted'], disallowNullValues: const ['hosted']); final val = HostedDependency( - version: $checkedConvert(json, 'version', - (v) => v == null ? null : _constraintFromString(v as String)), + version: $checkedConvert( + json, 'version', (v) => _constraintFromString(v as String)), hosted: $checkedConvert(json, 'hosted', (v) => v == null ? null : HostedDetails.fromJson(v))); return val; @@ -50,10 +49,8 @@ allowedKeys: const ['name', 'url'], requiredKeys: const ['name'], disallowNullValues: const ['name', 'url']); - final val = HostedDetails( - $checkedConvert(json, 'name', (v) => v as String), - $checkedConvert( - json, 'url', (v) => v == null ? null : parseGitUri(v as String))); + final val = HostedDetails($checkedConvert(json, 'name', (v) => v as String), + $checkedConvert(json, 'url', (v) => parseGitUri(v as String))); return val; }); }
diff --git a/pkgs/pubspec_parse/lib/src/pubspec.dart b/pkgs/pubspec_parse/lib/src/pubspec.dart index d31e657..7358389 100644 --- a/pkgs/pubspec_parse/lib/src/pubspec.dart +++ b/pkgs/pubspec_parse/lib/src/pubspec.dart
@@ -2,9 +2,9 @@ // 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. +import 'package:checked_yaml/checked_yaml.dart'; import 'package:json_annotation/json_annotation.dart'; import 'package:pub_semver/pub_semver.dart'; -import 'package:checked_yaml/checked_yaml.dart'; import 'dependency.dart'; @@ -160,10 +160,11 @@ } } -Version _versionFromString(String input) => Version.parse(input); +Version _versionFromString(String input) => + input == null ? null : Version.parse(input); Map<String, VersionConstraint> _environmentMap(Map source) => - source.map((k, value) { + source?.map((k, value) { final key = k as String; if (key == 'dart') { // github.com/dart-lang/pub/blob/d84173eeb03c3/lib/src/pubspec.dart#L342
diff --git a/pkgs/pubspec_parse/lib/src/pubspec.g.dart b/pkgs/pubspec_parse/lib/src/pubspec.g.dart index ba7e6eb..d3e18f7 100644 --- a/pkgs/pubspec_parse/lib/src/pubspec.g.dart +++ b/pkgs/pubspec_parse/lib/src/pubspec.g.dart
@@ -9,14 +9,14 @@ Pubspec _$PubspecFromJson(Map json) { return $checkedNew('Pubspec', json, () { final val = Pubspec($checkedConvert(json, 'name', (v) => v as String), - version: $checkedConvert(json, 'version', - (v) => v == null ? null : _versionFromString(v as String)), + version: $checkedConvert( + json, 'version', (v) => _versionFromString(v as String)), publishTo: $checkedConvert(json, 'publish_to', (v) => v as String), author: $checkedConvert(json, 'author', (v) => v as String), authors: $checkedConvert(json, 'authors', (v) => (v as List)?.map((e) => e as String)?.toList()), - environment: $checkedConvert(json, 'environment', - (v) => v == null ? null : _environmentMap(v as Map)), + environment: $checkedConvert( + json, 'environment', (v) => _environmentMap(v as Map)), homepage: $checkedConvert(json, 'homepage', (v) => v as String), repository: $checkedConvert(json, 'repository', (v) => v == null ? null : Uri.parse(v as String)),
diff --git a/pkgs/pubspec_parse/pubspec.yaml b/pkgs/pubspec_parse/pubspec.yaml index 2ae7fb2..39e627c 100644 --- a/pkgs/pubspec_parse/pubspec.yaml +++ b/pkgs/pubspec_parse/pubspec.yaml
@@ -19,7 +19,7 @@ dev_dependencies: build_runner: ^1.0.0 build_verify: ^1.0.0 - json_serializable: ^2.0.0 + json_serializable: ^3.0.0 path: ^1.5.1 pedantic: ^1.4.0 stack_trace: ^1.9.2