feat: combine save/apply

resolves #45
This commit is contained in:
2023-11-29 01:06:24 +01:00
parent 018c7a5eac
commit 3a6483aa61
7 changed files with 97 additions and 134 deletions

View File

@@ -0,0 +1,21 @@
import { KEYMAP_IDS } from "$lib/serial/keymap-codes"
import type { CharaChordFile } from "$lib/share/chara-file"
export function csvChordsToJson(csv: string): CharaChordFile {
return {
charaVersion: 1,
type: 'chords',
chords: csv.split('\n').map(line => {
const [input, output] = line.split(',', 2)
return [
input.split('+').map(it => KEYMAP_IDS.get(it.trim())?.code ?? 0),
output.split('').map(it => KEYMAP_IDS.get(it.trim())?.code ?? 0),
]
})
}
}
export function isCsvLayout(csv: string): boolean {
return /^((\s*\w+\s*+?),\s*\w+\n?)+$/.test(csv)
}