Detect file format by reading header of arrayBuffer

This commit is contained in:
gen740
2023-12-22 14:07:56 +09:00
parent 38092c98f5
commit a8cddd5b84
3 changed files with 19 additions and 17 deletions
@@ -30,12 +30,13 @@ export const StorageLoader: FC = () => {
const r = new FileReader()
r.addEventListener("load", () => {
const arrayBuffer = r.result as ArrayBuffer | null
const fileExtension = file.name.split(".").pop()
if (arrayBuffer !== null) {
if (fileExtension === "log") {
loadJournalStorage(arrayBuffer, setStudies)
} else {
const header = new Uint8Array(arrayBuffer, 0, 16)
const headerString = new TextDecoder().decode(header)
if (headerString === "SQLite format 3\u0000") {
loadSQLite3Storage(arrayBuffer, setStudies)
} else {
loadJournalStorage(arrayBuffer, setStudies)
}
}
})
+2 -1
View File
@@ -376,5 +376,6 @@ export const loadJournalStorage = (
}
}
setter((prev) => [...prev, ...journalStorage.getStudies()])
const studies = journalStorage.getStudies()
setter((prev) => [...prev, ...studies])
}
+12 -12
View File
@@ -174,12 +174,12 @@ const getTrials = (
vals[2] === "COMPLETE"
? "Complete"
: vals[2] === "PRUNED"
? "Pruned"
: vals[2] === "RUNNING"
? "Running"
: vals[2] === "WAITING"
? "Waiting"
: "Fail"
? "Pruned"
: vals[2] === "RUNNING"
? "Running"
: vals[2] === "WAITING"
? "Waiting"
: "Fail"
const trial: Trial = {
trial_id: trialId,
number: vals[1],
@@ -220,8 +220,8 @@ const getTrialValues = (
vals[1] === "INF_NEG"
? "-inf"
: vals[1] === "INF_POS"
? "+inf"
: vals[0]
? "+inf"
: vals[0]
)
},
})
@@ -391,10 +391,10 @@ const getTrialIntermediateValues = (
vals[2] === "INF_NEG"
? "-inf"
: vals[2] === "INF_POS"
? "+inf"
: vals[2] === "NAN"
? "nan"
: vals[1],
? "+inf"
: vals[2] === "NAN"
? "nan"
: vals[1],
})
},
})