@@ -16,7 +16,7 @@ const data: DataRow[] = [
1616describe ( 'exportData' , ( ) => {
1717 describe ( 'csv' , ( ) => {
1818 it ( 'should export with headers' , ( ) => {
19- const result = exportData ( data , cols , 'csv' ) ;
19+ const result = exportData ( data , cols , 'csv' ) as string ;
2020 const lines = result . split ( '\n' ) ;
2121 expect ( lines [ 0 ] ) . toBe ( 'Name,Age,Active' ) ;
2222 expect ( lines [ 1 ] ) . toBe ( 'Alice,30,true' ) ;
@@ -25,32 +25,32 @@ describe('exportData', () => {
2525
2626 it ( 'should escape commas in values' , ( ) => {
2727 const d : DataRow [ ] = [ { name : 'Doe, Jane' , age : 20 , active : true } ] ;
28- const result = exportData ( d , cols , 'csv' ) ;
28+ const result = exportData ( d , cols , 'csv' ) as string ;
2929 expect ( result ) . toContain ( '"Doe, Jane"' ) ;
3030 } ) ;
3131
3232 it ( 'should escape quotes in values' , ( ) => {
3333 const d : DataRow [ ] = [ { name : 'He said "hi"' , age : 20 , active : true } ] ;
34- const result = exportData ( d , cols , 'csv' ) ;
34+ const result = exportData ( d , cols , 'csv' ) as string ;
3535 expect ( result ) . toContain ( '"He said ""hi"""' ) ;
3636 } ) ;
3737
3838 it ( 'should handle null values' , ( ) => {
3939 const d : DataRow [ ] = [ { name : null , age : undefined , active : true } ] ;
40- const result = exportData ( d , cols , 'csv' ) ;
40+ const result = exportData ( d , cols , 'csv' ) as string ;
4141 const lines = result . split ( '\n' ) ;
4242 expect ( lines [ 1 ] ) . toBe ( ',,true' ) ;
4343 } ) ;
4444
4545 it ( 'should handle empty data' , ( ) => {
46- const result = exportData ( [ ] , cols , 'csv' ) ;
46+ const result = exportData ( [ ] , cols , 'csv' ) as string ;
4747 expect ( result ) . toBe ( 'Name,Age,Active' ) ;
4848 } ) ;
4949 } ) ;
5050
5151 describe ( 'tsv' , ( ) => {
5252 it ( 'should use tab delimiter' , ( ) => {
53- const result = exportData ( data , cols , 'tsv' ) ;
53+ const result = exportData ( data , cols , 'tsv' ) as string ;
5454 const lines = result . split ( '\n' ) ;
5555 expect ( lines [ 0 ] ) . toBe ( 'Name\tAge\tActive' ) ;
5656 expect ( lines [ 1 ] ) . toBe ( 'Alice\t30\ttrue' ) ;
@@ -59,7 +59,7 @@ describe('exportData', () => {
5959
6060 describe ( 'json' , ( ) => {
6161 it ( 'should export as JSON array' , ( ) => {
62- const result = exportData ( data , cols , 'json' ) ;
62+ const result = exportData ( data , cols , 'json' ) as string ;
6363 const parsed = JSON . parse ( result ) ;
6464 expect ( parsed ) . toEqual ( [
6565 { name : 'Alice' , age : 30 , active : true } ,
@@ -69,14 +69,14 @@ describe('exportData', () => {
6969
7070 it ( 'should only include column keys' , ( ) => {
7171 const d : DataRow [ ] = [ { name : 'Alice' , age : 30 , active : true , extra : 'hidden' } ] ;
72- const result = exportData ( d , cols , 'json' ) ;
72+ const result = exportData ( d , cols , 'json' ) as string ;
7373 const parsed = JSON . parse ( result ) ;
7474 expect ( parsed [ 0 ] ) . not . toHaveProperty ( 'extra' ) ;
7575 } ) ;
7676
7777 it ( 'should handle null values' , ( ) => {
7878 const d : DataRow [ ] = [ { name : null , age : undefined , active : true } ] ;
79- const result = exportData ( d , cols , 'json' ) ;
79+ const result = exportData ( d , cols , 'json' ) as string ;
8080 const parsed = JSON . parse ( result ) ;
8181 expect ( parsed [ 0 ] . name ) . toBeNull ( ) ;
8282 expect ( parsed [ 0 ] . age ) . toBeNull ( ) ;
@@ -91,23 +91,23 @@ describe('exportData', () => {
9191
9292 it ( 'should export Date objects as ISO 8601 in CSV' , ( ) => {
9393 const d : DataRow [ ] = [ { created : new Date ( '2024-03-15' ) , updated : new Date ( '2024-03-15T10:30:00Z' ) } ] ;
94- const result = exportData ( d , dateCols , 'csv' ) ;
94+ const result = exportData ( d , dateCols , 'csv' ) as string ;
9595 const lines = result . split ( '\n' ) ;
9696 expect ( lines [ 1 ] ) . toContain ( '2024-03-15' ) ;
9797 expect ( lines [ 1 ] ) . toContain ( 'T' ) ;
9898 } ) ;
9999
100100 it ( 'should export Date objects as ISO 8601 in JSON' , ( ) => {
101101 const d : DataRow [ ] = [ { created : new Date ( '2024-03-15' ) , updated : new Date ( '2024-03-15T10:30:00Z' ) } ] ;
102- const result = exportData ( d , dateCols , 'json' ) ;
102+ const result = exportData ( d , dateCols , 'json' ) as string ;
103103 const parsed = JSON . parse ( result ) ;
104104 expect ( parsed [ 0 ] . created ) . toMatch ( / ^ \d { 4 } - \d { 2 } - \d { 2 } T / ) ;
105105 expect ( parsed [ 0 ] . updated ) . toMatch ( / ^ \d { 4 } - \d { 2 } - \d { 2 } T / ) ;
106106 } ) ;
107107
108108 it ( 'should handle string date values as-is' , ( ) => {
109109 const d : DataRow [ ] = [ { created : '2024-03-15' , updated : '2024-03-15T10:30:00' } ] ;
110- const result = exportData ( d , dateCols , 'csv' ) ;
110+ const result = exportData ( d , dateCols , 'csv' ) as string ;
111111 const lines = result . split ( '\n' ) ;
112112 expect ( lines [ 1 ] ) . toBe ( '2024-03-15,2024-03-15T10:30:00' ) ;
113113 } ) ;
0 commit comments