@@ -92,7 +92,7 @@ function useResultsExport(exportFn: ExportFunction) {
9292 setIsRunning ( false )
9393 } )
9494 } ,
95- [ exportFn , setGlobalError ]
95+ [ exportFn , setGlobalError ] ,
9696 )
9797
9898 return { isRunning, isDone, fn }
@@ -121,9 +121,7 @@ function mapAllErrors<T>(results: NextcladeResult[], mapFn: (result: AnalysisErr
121121}
122122
123123function mapGoodResults < T > ( results : NextcladeResult [ ] , datasetName : string , mapFn : ( result : AnalysisOutput ) => T ) : T [ ] {
124- const filteredResults = results . filter (
125- ( result ) => result . result ?. analysisResult . datasetName === datasetName
126- )
124+ const filteredResults = results . filter ( ( result ) => result . result ?. analysisResult . datasetName === datasetName )
127125
128126 return filteredResults
129127 . filter ( ( result ) => notUndefinedOrNull ( result . result ) )
@@ -136,9 +134,7 @@ function mapGoodResults<T>(results: NextcladeResult[], datasetName: string, mapF
136134}
137135
138136function mapErrors < T > ( results : NextcladeResult [ ] , datasetName : string , mapFn : ( result : AnalysisError ) => T ) : T [ ] {
139- const filteredResults = results . filter (
140- ( result ) => result . result ?. analysisResult . datasetName === datasetName
141- )
137+ const filteredResults = results . filter ( ( result ) => result . result ?. analysisResult . datasetName === datasetName )
142138
143139 return filteredResults
144140 . filter ( ( result ) => notUndefinedOrNull ( result . error ) )
@@ -159,7 +155,7 @@ async function prepareCsvData(
159155 aaMotifsDescs : AaMotifsDesc [ ] | undefined ,
160156 csvColumnConfig : CsvColumnConfig ,
161157 delimiter : string ,
162- worker : ExportWorker
158+ worker : ExportWorker ,
163159) : Promise < string > {
164160 return worker . serializeResultsCsv (
165161 results ,
@@ -169,7 +165,7 @@ async function prepareCsvData(
169165 refNodes ?? { } ,
170166 aaMotifsDescs ?? [ ] ,
171167 delimiter ,
172- csvColumnConfig
168+ csvColumnConfig ,
173169 )
174170}
175171
@@ -179,23 +175,23 @@ async function prepareJsonData(
179175 cladeNodeAttrDescs : CladeNodeAttrDesc [ ] | undefined ,
180176 phenotypeAttrDescs : PhenotypeAttrDesc [ ] | undefined ,
181177 refNodes : AuspiceRefNodesDesc | undefined ,
182- worker : ExportWorker
178+ worker : ExportWorker ,
183179) : Promise < string > {
184180 return worker . serializeResultsJson (
185181 results ,
186182 errors ,
187183 cladeNodeAttrDescs ?? [ ] ,
188184 phenotypeAttrDescs ?? [ ] ,
189185 refNodes ?? { } ,
190- PACKAGE_VERSION
186+ PACKAGE_VERSION ,
191187 )
192188}
193189
194190function prepareFastaData ( analysisResults : NextcladeResult [ ] , datasetName : string ) : string {
195191 const fastaEntries = mapGoodResults (
196192 analysisResults ,
197193 datasetName ,
198- ( result ) => `>${ result . analysisResult . seqName } \n${ result . query } `
194+ ( result ) => `>${ result . analysisResult . seqName } \n${ result . query } ` ,
199195 )
200196 return `${ fastaEntries . join ( '\n' ) } \n`
201197}
@@ -225,10 +221,7 @@ function preparePeptideFiles(analysisResults: NextcladeResult[], datasetName: st
225221 return Array . from ( peptideFilesMap . values ( ) )
226222}
227223
228- export const useExportFasta = createSimpleExportHook (
229- prepareFastaData ,
230- 'application/x-fasta;charset=utf-8'
231- )
224+ export const useExportFasta = createSimpleExportHook ( prepareFastaData , 'application/x-fasta;charset=utf-8' )
232225
233226export const useExportCsv = createCsvExportHook ( ';' , 'text/csv;charset=utf-8' )
234227
@@ -256,11 +249,11 @@ export function useExportExcel() {
256249 allInitialData ,
257250 csvColumnConfig ,
258251 datasetNameToSeqIndices ,
259- seqIndicesWithoutDatasetSuggestions
252+ seqIndicesWithoutDatasetSuggestions ,
260253 )
261254 saveBase64File ( excelData , filename , 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' )
262255 } ,
263- [ analysisResults , allInitialData , csvColumnConfig , datasetNameToSeqIndices , seqIndicesWithoutDatasetSuggestions ]
256+ [ analysisResults , allInitialData , csvColumnConfig , datasetNameToSeqIndices , seqIndicesWithoutDatasetSuggestions ] ,
264257 )
265258
266259 return useResultsExport ( exportFn )
@@ -280,15 +273,15 @@ export function useExportJson({ datasetName }: { datasetName: string }) {
280273 const jsonStr = await prepareJsonData ( results , errors , cladeNodeAttrDescs , phenotypeAttrDescs , refNodes , worker )
281274 saveFile ( jsonStr , filename , 'application/json;charset=utf-8' )
282275 } ,
283- [ analysisResults , datasetName , cladeNodeAttrDescs , phenotypeAttrDescs , refNodes ]
276+ [ analysisResults , datasetName , cladeNodeAttrDescs , phenotypeAttrDescs , refNodes ] ,
284277 )
285278
286279 return useResultsExport ( exportFn )
287280}
288281
289282export const useExportNdjson = createResultErrorExportHook (
290283 ( worker , results , errors ) => worker . serializeResultsNdjson ( results , errors ) ,
291- 'application/x-ndjson;charset=utf-8'
284+ 'application/x-ndjson;charset=utf-8' ,
292285)
293286
294287export function useExportTree ( { datasetName } : { datasetName : string } ) {
@@ -302,7 +295,7 @@ export function useExportTree({ datasetName }: { datasetName: string }) {
302295 const jsonStr = JSON . stringify ( tree , null , 2 )
303296 saveFile ( jsonStr , filename , 'application/json;charset=utf-8' )
304297 } ,
305- [ tree ]
298+ [ tree ] ,
306299 )
307300
308301 if ( isNil ( tree ) ) {
@@ -322,7 +315,7 @@ export function useExportTreeNwk({ datasetName }: { datasetName: string }) {
322315 }
323316 saveFile ( treeNwk , filename , 'text/x-nh;charset=utf-8' )
324317 } ,
325- [ treeNwk ]
318+ [ treeNwk ] ,
326319 )
327320
328321 if ( isNil ( treeNwk ) ) {
@@ -343,7 +336,7 @@ export function useExportPeptides({ datasetName }: { datasetName: string }) {
343336 const files = Array . from ( peptides )
344337 await saveZip ( { files, filename } )
345338 } ,
346- [ analysisResults , datasetName ]
339+ [ analysisResults , datasetName ] ,
347340 )
348341
349342 if ( isEmpty ( cdses ) ) {
@@ -355,12 +348,12 @@ export function useExportPeptides({ datasetName }: { datasetName: string }) {
355348
356349export const useExportGff = createSimpleResultExportHook (
357350 ( worker , results ) => worker . serializeResultsGff ( results ) ,
358- 'text/x-gff3;charset=utf-8'
351+ 'text/x-gff3;charset=utf-8' ,
359352)
360353
361354export const useExportTbl = createSimpleResultExportHook (
362355 ( worker , results ) => worker . serializeResultsTbl ( results ) ,
363- 'text/x-tbl;charset=utf-8'
356+ 'text/x-tbl;charset=utf-8' ,
364357)
365358
366359async function prepareAllExportData (
@@ -371,7 +364,7 @@ async function prepareAllExportData(
371364 refNodes : AuspiceRefNodesDesc | undefined ,
372365 aaMotifsDescs : AaMotifsDesc [ ] | undefined ,
373366 csvColumnConfig : CsvColumnConfig | undefined ,
374- worker : ExportWorker
367+ worker : ExportWorker ,
375368) {
376369 const results = mapGoodResults ( analysisResults , datasetName , ( result ) => result . analysisResult )
377370 const errors = mapErrors ( analysisResults , datasetName , ( err ) => err )
@@ -381,8 +374,28 @@ async function prepareAllExportData(
381374 }
382375
383376 const [ csvStr , tsvStr , jsonStr , ndjsonStr , gffStr , tblStr ] = await Promise . all ( [
384- prepareCsvData ( results , errors , cladeNodeAttrDescs ?? [ ] , phenotypeAttrDescs ?? [ ] , refNodes , aaMotifsDescs ?? [ ] , csvColumnConfig , ';' , worker ) ,
385- prepareCsvData ( results , errors , cladeNodeAttrDescs ?? [ ] , phenotypeAttrDescs ?? [ ] , refNodes , aaMotifsDescs ?? [ ] , csvColumnConfig , '\t' , worker ) ,
377+ prepareCsvData (
378+ results ,
379+ errors ,
380+ cladeNodeAttrDescs ?? [ ] ,
381+ phenotypeAttrDescs ?? [ ] ,
382+ refNodes ,
383+ aaMotifsDescs ?? [ ] ,
384+ csvColumnConfig ,
385+ ';' ,
386+ worker ,
387+ ) ,
388+ prepareCsvData (
389+ results ,
390+ errors ,
391+ cladeNodeAttrDescs ?? [ ] ,
392+ phenotypeAttrDescs ?? [ ] ,
393+ refNodes ,
394+ aaMotifsDescs ?? [ ] ,
395+ csvColumnConfig ,
396+ '\t' ,
397+ worker ,
398+ ) ,
386399 prepareJsonData ( results , errors , cladeNodeAttrDescs ?? [ ] , phenotypeAttrDescs ?? [ ] , refNodes , worker ) ,
387400 worker . serializeResultsNdjson ( results , errors ) ,
388401 worker . serializeResultsGff ( results ) ,
@@ -424,7 +437,7 @@ export function useExportZip({ datasetName }: { datasetName: string }) {
424437 refNodes ,
425438 aaMotifsDescs ,
426439 csvColumnConfig ,
427- worker
440+ worker ,
428441 )
429442
430443 const files : ZipFileDescription [ ] = [
@@ -465,7 +478,7 @@ export function useExportZip({ datasetName }: { datasetName: string }) {
465478 csvColumnConfig ,
466479 tree ,
467480 treeNwk ,
468- ]
481+ ] ,
469482 )
470483
471484 return useResultsExport ( exportFn )
@@ -481,7 +494,7 @@ export function useExportUnknownSeqTsv() {
481494 const tsvStr = await worker . serializeUnknownCsv ( errors , seqIndicesWithoutDatasetSuggestions , '\t' )
482495 saveFile ( tsvStr , filename , 'text/tab-separated-values;charset=utf-8' )
483496 } ,
484- [ analysisResults , seqIndicesWithoutDatasetSuggestions ]
497+ [ analysisResults , seqIndicesWithoutDatasetSuggestions ] ,
485498 )
486499
487500 return useResultsExport ( exportFn )
@@ -514,11 +527,11 @@ function createCsvExportHook(delimiter: string, mimeType: string) {
514527 aaMotifsDescs ,
515528 csvColumnConfig ,
516529 delimiter ,
517- worker
530+ worker ,
518531 )
519532 saveFile ( csvStr , filename , mimeType )
520533 } ,
521- [ analysisResults , datasetName , cladeNodeAttrDescs , phenotypeAttrDescs , refNodes , aaMotifsDescs , csvColumnConfig ]
534+ [ analysisResults , datasetName , cladeNodeAttrDescs , phenotypeAttrDescs , refNodes , aaMotifsDescs , csvColumnConfig ] ,
522535 )
523536
524537 return useResultsExport ( exportFn )
@@ -527,7 +540,7 @@ function createCsvExportHook(delimiter: string, mimeType: string) {
527540
528541function createSimpleResultExportHook (
529542 workerMethod : ( worker : ExportWorker , results : AnalysisResult [ ] ) => Promise < string > ,
530- mimeType : string
543+ mimeType : string ,
531544) {
532545 return function simpleResultExportHook ( { datasetName } : { datasetName : string } ) {
533546 const analysisResults = useAtomValue ( analysisResultsAtom )
@@ -538,7 +551,7 @@ function createSimpleResultExportHook(
538551 const data = await workerMethod ( worker , results )
539552 saveFile ( data , filename , mimeType )
540553 } ,
541- [ analysisResults , datasetName ]
554+ [ analysisResults , datasetName ] ,
542555 )
543556
544557 return useResultsExport ( exportFn )
@@ -547,7 +560,7 @@ function createSimpleResultExportHook(
547560
548561function createResultErrorExportHook (
549562 workerMethod : ( worker : ExportWorker , results : AnalysisResult [ ] , errors : AnalysisError [ ] ) => Promise < string > ,
550- mimeType : string
563+ mimeType : string ,
551564) {
552565 return function resultErrorExportHook ( { datasetName } : { datasetName : string } ) {
553566 const analysisResults = useAtomValue ( analysisResultsAtom )
@@ -559,7 +572,7 @@ function createResultErrorExportHook(
559572 const data = await workerMethod ( worker , results , errors )
560573 saveFile ( data , filename , mimeType )
561574 } ,
562- [ analysisResults , datasetName ]
575+ [ analysisResults , datasetName ] ,
563576 )
564577
565578 return useResultsExport ( exportFn )
@@ -568,7 +581,7 @@ function createResultErrorExportHook(
568581
569582function createSimpleExportHook (
570583 prepareData : ( analysisResults : NextcladeResult [ ] , datasetName : string ) => string ,
571- mimeType : string
584+ mimeType : string ,
572585) {
573586 return function simpleExportHook ( { datasetName } : { datasetName : string } ) {
574587 const analysisResults = useAtomValue ( analysisResultsAtom )
@@ -578,7 +591,7 @@ function createSimpleExportHook(
578591 const data = prepareData ( analysisResults , datasetName )
579592 saveFile ( data , filename , mimeType )
580593 } ,
581- [ analysisResults , datasetName ]
594+ [ analysisResults , datasetName ] ,
582595 )
583596
584597 return useResultsExport ( exportFn )
0 commit comments