@@ -11,7 +11,7 @@ export class ChigazoGrahamLoader implements Loader {
11
11
async loadData ( ) : Promise < MediaItem [ ] > {
12
12
const credits = await this . loadCredits ( ) ;
13
13
const mediaItems = await this . loadMediaItems ( ) ;
14
-
14
+
15
15
console . log (
16
16
`Loaded ${ credits . length } credits and ${ mediaItems . length } media items` ,
17
17
) ;
@@ -22,9 +22,14 @@ export class ChigazoGrahamLoader implements Loader {
22
22
async loadMediaItems ( ) : Promise < MediaItem [ ] > {
23
23
// TODO: Implement this method.
24
24
const mediaItems = [ ] ;
25
- const readable = fs
26
- . createReadStream ( 'data/media_items.csv' , 'utf-8' )
27
- . pipe ( csv ( ) ) ;
25
+ const readable = fs . readFileSync ( 'data/media_items.csv' , {
26
+ encoding : 'utf-8'
27
+ } )
28
+ . split ( '\n' )
29
+ . map ( ( row : string ) : string [ ] => {
30
+ return row . split ( ',' ) ;
31
+ }
32
+ ) ;
28
33
for await ( const row of readable ) {
29
34
const { id, type, title, genre, year } = row ;
30
35
mediaItems . push ( new MediaItem ( id , type , title , genre , year ) ) ;
@@ -38,8 +43,8 @@ export class ChigazoGrahamLoader implements Loader {
38
43
. createReadStream ( 'data/credits.csv' , 'utf-8' )
39
44
. pipe ( csv ( ) ) ;
40
45
for await ( const row of readable ) {
41
- const { media_item_id, role, name } = row ;
42
- credits . push ( new Credit ( media_item_id , name , role ) ) ;
46
+ const { id , media_item_id, role, name } = row ;
47
+ credits . push ( new Credit ( id , media_item_id , name , role ) ) ;
43
48
}
44
49
return credits ;
45
50
}
0 commit comments