Move _getDeps to dependencies.dart - renamed to parseDeps

Removed public Dependency.fromJson ctor
diff --git a/pkgs/pubspec_parse/lib/src/dependency.dart b/pkgs/pubspec_parse/lib/src/dependency.dart
index 8c9ab15..9353250 100644
--- a/pkgs/pubspec_parse/lib/src/dependency.dart
+++ b/pkgs/pubspec_parse/lib/src/dependency.dart
@@ -5,64 +5,73 @@
 import 'package:json_annotation/json_annotation.dart';
 import 'package:pub_semver/pub_semver.dart';
 
+Map<String, Dependency> parseDeps(Map source) =>
+    source?.map((k, v) {
+      var key = k as String;
+      var value = _fromJson(v);
+      if (value == null) {
+        throw new CheckedFromJsonException(
+            source, key, 'Pubspec', 'Not a valid dependency value.');
+      }
+      return new MapEntry(key, value);
+    }) ??
+    {};
+
+/// Returns `null` if the data could not be parsed.
+Dependency _fromJson(dynamic data) {
+  if (data == null) {
+    return new HostedDependency(VersionConstraint.any);
+  } else if (data is String) {
+    return new HostedDependency(new VersionConstraint.parse(data));
+  } else if (data is Map) {
+    try {
+      return _fromMap(data);
+    } on ArgumentError catch (e) {
+      throw new CheckedFromJsonException(
+          data, e.name, 'Dependency', e.message.toString());
+    }
+  }
+
+  return null;
+}
+
+Dependency _fromMap(Map data) {
+  if (data.entries.isEmpty) {
+// TODO: provide list of supported keys?
+    throw new CheckedFromJsonException(
+        data, null, 'Dependency', 'Must provide at least one key.');
+  }
+
+  if (data.containsKey('sdk')) {
+    return new SdkDependency.fromData(data);
+  }
+
+  if (data.entries.length > 1) {
+    throw new CheckedFromJsonException(data, data.keys.skip(1).first as String,
+        'Dependency', 'Expected only one key.');
+  }
+
+  var entry = data.entries.single;
+  var key = entry.key as String;
+
+  if (entry.value == null) {
+    throw new CheckedFromJsonException(
+        data, key, 'Dependency', 'Cannot be null.');
+  }
+
+  switch (key) {
+    case 'path':
+      return new PathDependency.fromData(entry.value);
+    case 'git':
+      return new GitDependency.fromData(entry.value);
+  }
+
+  return null;
+}
+
 abstract class Dependency {
   Dependency._();
 
-  /// Returns `null` if the data could not be parsed.
-  factory Dependency.fromJson(dynamic data) {
-    if (data == null) {
-      return new HostedDependency(VersionConstraint.any);
-    } else if (data is String) {
-      return new HostedDependency(new VersionConstraint.parse(data));
-    } else if (data is Map) {
-      try {
-        return new Dependency._fromMap(data);
-      } on ArgumentError catch (e) {
-        throw new CheckedFromJsonException(
-            data, e.name, 'Dependency', e.message.toString());
-      }
-    }
-
-    return null;
-  }
-
-  factory Dependency._fromMap(Map data) {
-    if (data.entries.isEmpty) {
-      // TODO: provide list of supported keys?
-      throw new CheckedFromJsonException(
-          data, null, 'Dependency', 'Must provide at least one key.');
-    }
-
-    if (data.containsKey('sdk')) {
-      return new SdkDependency.fromData(data);
-    }
-
-    if (data.entries.length > 1) {
-      throw new CheckedFromJsonException(
-          data,
-          data.keys.skip(1).first as String,
-          'Dependency',
-          'Expected only one key.');
-    }
-
-    var entry = data.entries.single;
-    var key = entry.key as String;
-
-    if (entry.value == null) {
-      throw new CheckedFromJsonException(
-          data, key, 'Dependency', 'Cannot be null.');
-    }
-
-    switch (key) {
-      case 'path':
-        return new PathDependency.fromData(entry.value);
-      case 'git':
-        return new GitDependency.fromData(entry.value);
-    }
-
-    return null;
-  }
-
   String get _info;
 
   @override
diff --git a/pkgs/pubspec_parse/lib/src/pubspec.dart b/pkgs/pubspec_parse/lib/src/pubspec.dart
index 06d358a..3c9c045 100644
--- a/pkgs/pubspec_parse/lib/src/pubspec.dart
+++ b/pkgs/pubspec_parse/lib/src/pubspec.dart
@@ -38,13 +38,13 @@
   @JsonKey(fromJson: _environmentMap)
   final Map<String, VersionConstraint> environment;
 
-  @JsonKey(fromJson: _getDeps, nullable: false)
+  @JsonKey(fromJson: parseDeps, nullable: false)
   final Map<String, Dependency> dependencies;
 
-  @JsonKey(name: 'dev_dependencies', fromJson: _getDeps, nullable: false)
+  @JsonKey(name: 'dev_dependencies', fromJson: parseDeps, nullable: false)
   final Map<String, Dependency> devDependencies;
 
-  @JsonKey(name: 'dependency_overrides', fromJson: _getDeps, nullable: false)
+  @JsonKey(name: 'dependency_overrides', fromJson: parseDeps, nullable: false)
   final Map<String, Dependency> dependencyOverrides;
 
   /// If [author] and [authors] are both provided, their values are combined
@@ -84,19 +84,6 @@
   }
 }
 
-// TODO: maybe move this to `dependencies.dart`?
-Map<String, Dependency> _getDeps(Map source) =>
-    source?.map((k, v) {
-      var key = k as String;
-      var value = new Dependency.fromJson(v);
-      if (value == null) {
-        throw new CheckedFromJsonException(
-            source, key, 'Pubspec', 'Not a valid dependency value.');
-      }
-      return new MapEntry(key, value);
-    }) ??
-    {};
-
 Version _versionFromString(String input) => new Version.parse(input);
 
 Map<String, VersionConstraint> _environmentMap(Map source) =>
diff --git a/pkgs/pubspec_parse/lib/src/pubspec.g.dart b/pkgs/pubspec_parse/lib/src/pubspec.g.dart
index 4f040ff..c32db09 100644
--- a/pkgs/pubspec_parse/lib/src/pubspec.g.dart
+++ b/pkgs/pubspec_parse/lib/src/pubspec.g.dart
@@ -27,11 +27,11 @@
             description:
                 $checkedConvert(json, 'description', (v) => v as String),
             dependencies: $checkedConvert(
-                json, 'dependencies', (v) => _getDeps(v as Map)),
+                json, 'dependencies', (v) => parseDeps(v as Map)),
             devDependencies: $checkedConvert(
-                json, 'dev_dependencies', (v) => _getDeps(v as Map)),
+                json, 'dev_dependencies', (v) => parseDeps(v as Map)),
             dependencyOverrides: $checkedConvert(
-                json, 'dependency_overrides', (v) => _getDeps(v as Map))),
+                json, 'dependency_overrides', (v) => parseDeps(v as Map))),
         fieldKeyMap: const {
           'devDependencies': 'dev_dependencies',
           'dependencyOverrides': 'dependency_overrides'