@@ -11,52 +11,14 @@ import GraphQL
11
11
* Wars trilogy.
12
12
*/
13
13
14
- extension Episode : MapConvertible , MapRepresentable {
15
- init ( map: Map ) throws {
16
- self = Episode ( rawValue: map. string!) !
17
- }
18
-
14
+ extension Episode : MapRepresentable {
19
15
var map : Map {
20
16
return rawValue. map
21
17
}
22
18
}
23
19
24
- extension Character {
20
+ extension Human : MapRepresentable {
25
21
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 {
60
22
return [
61
23
" id " : id. map,
62
24
" name " : name. map,
@@ -67,16 +29,8 @@ extension Human : MapConvertible {
67
29
}
68
30
}
69
31
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 {
80
34
return [
81
35
" id " : id. map,
82
36
" name " : name. map,
0 commit comments