Rework importCharacterProcess and selectFileByDom functions

This commit is contained in:
kwaroran
2024-03-26 04:01:07 +09:00
parent 92c2cd1a1a
commit 5b4f24019b
4 changed files with 86 additions and 21 deletions

View File

@@ -108,7 +108,7 @@ export const replacePlaceholders = (msg:string, name:string) => {
export function checkIsIos(){
return /(iPad|iPhone|iPod)/g.test(navigator.userAgent)
}
function selectFileByDom(allowedExtensions:string[], multiple:'multiple'|'single' = 'single') {
export function selectFileByDom(allowedExtensions:string[], multiple:'multiple'|'single' = 'single') {
return new Promise<null|File[]>((resolve) => {
const fileInput = document.createElement('input');
fileInput.type = 'file';
@@ -424,4 +424,22 @@ export const capitalize = (s:string) => {
return s.charAt(0).toUpperCase() + s.slice(1)
}
export function blobToUint8Array(data:Blob){
return new Promise<Uint8Array>((resolve,reject) => {
const reader = new FileReader()
reader.onload = () => {
if(reader.result instanceof ArrayBuffer){
resolve(new Uint8Array(reader.result))
}
else{
reject(new Error('reader.result is not ArrayBuffer'))
}
}
reader.onerror = () => {
reject(reader.error)
}
reader.readAsArrayBuffer(data)
})
}
export const languageCodes = ["af","ak","am","an","ar","as","ay","az","be","bg","bh","bm","bn","br","bs","ca","co","cs","cy","da","de","dv","ee","el","en","eo","es","et","eu","fa","fi","fo","fr","fy","ga","gd","gl","gn","gu","ha","he","hi","hr","ht","hu","hy","ia","id","ig","is","it","iu","ja","jv","ka","kk","km","kn","ko","ku","ky","la","lb","lg","ln","lo","lt","lv","mg","mi","mk","ml","mn","mr","ms","mt","my","nb","ne","nl","nn","no","ny","oc","om","or","pa","pl","ps","pt","qu","rm","ro","ru","rw","sa","sd","si","sk","sl","sm","sn","so","sq","sr","st","su","sv","sw","ta","te","tg","th","ti","tk","tl","tn","to","tr","ts","tt","tw","ug","uk","ur","uz","vi","wa","wo","xh","yi","yo","zh","zu"]