@@ -11,52 +11,14 @@ import GraphQL
1111 * Wars trilogy.
1212 */
1313
14- extension Episode : MapConvertible , MapRepresentable {
15- init ( map: Map ) throws {
16- self = Episode ( rawValue: map. string!) !
17- }
18-
14+ extension Episode : MapRepresentable {
1915 var map : Map {
2016 return rawValue. map
2117 }
2218}
2319
24- extension Character {
20+ extension Human : MapRepresentable {
2521 var map : Map {
26- if let human = self as? Human {
27- return [
28- " id " : human. id. map,
29- " name " : human. name. map,
30- " friends " : human. friends. map,
31- " appearsIn " : human. appearsIn. map,
32- " homePlanet " : human. homePlanet. map
33- ]
34- }
35-
36- if let droid = self as? Droid {
37- return [
38- " id " : droid. id. map,
39- " name " : droid. name. map,
40- " friends " : droid. friends. map,
41- " appearsIn " : droid. appearsIn. map,
42- " primaryFunction " : droid. primaryFunction. map
43- ]
44- }
45-
46- return nil
47- }
48- }
49-
50- extension Human : MapConvertible {
51- init ( map: Map ) throws {
52- id = try map. get ( " id " )
53- name = try map. get ( " name " )
54- friends = try map. get ( " friends " )
55- appearsIn = try map. get ( " appearsIn " )
56- homePlanet = try ? map. get ( " homePlanet " )
57- }
58-
59- func asMap( ) throws -> Map {
6022 return [
6123 " id " : id. map,
6224 " name " : name. map,
@@ -67,16 +29,8 @@ extension Human : MapConvertible {
6729 }
6830}
6931
70- extension Droid : MapConvertible {
71- init ( map: Map ) throws {
72- id = try map. get ( " id " )
73- name = try map. get ( " name " )
74- friends = try map. get ( " friends " )
75- appearsIn = try map. get ( " appearsIn " )
76- primaryFunction = try map. get ( " primaryFunction " )
77- }
78-
79- func asMap( ) throws -> Map {
32+ extension Droid : MapRepresentable {
33+ var map : Map {
8034 return [
8135 " id " : id. map,
8236 " name " : name. map,
0 commit comments