File tree 3 files changed +22
-18
lines changed
3 files changed +22
-18
lines changed Original file line number Diff line number Diff line change 1
1
{
2
2
"name" : " zeed" ,
3
3
"type" : " module" ,
4
- "version" : " 0.25.5 " ,
4
+ "version" : " 0.25.6 " ,
5
5
"description" : " 🌱 Simple foundation library" ,
6
6
"author" : {
7
7
"name" : " Dirk Holtwick" ,
Original file line number Diff line number Diff line change @@ -95,22 +95,25 @@ export function bitfield(bitfield = 0) {
95
95
// Cast
96
96
97
97
export async function blobToArrayBuffer ( blob : Blob | File ) : Promise < ArrayBuffer | undefined > {
98
- return await blob . arrayBuffer ( )
99
- // try {
100
- // return new Promise((resolve, reject) => {
101
- // try {
102
- // const reader = new FileReader()
103
- // reader.onloadend = () => resolve(reader.result as ArrayBuffer)
104
- // reader.onerror = err => reject(err)
105
- // reader.onabort = err => reject(err)
106
- // reader.readAsArrayBuffer(blob)
107
- // }
108
- // catch (err) {
109
- // reject(err)
110
- // }
111
- // })
112
- // }
113
- // catch (err) {}
98
+ if ( blob . arrayBuffer )
99
+ return await blob . arrayBuffer ( )
100
+
101
+ // Fallback for older browsers
102
+ try {
103
+ return new Promise ( ( resolve , reject ) => {
104
+ try {
105
+ const reader = new FileReader ( )
106
+ reader . onloadend = ( ) => resolve ( reader . result as ArrayBuffer )
107
+ reader . onerror = err => reject ( err )
108
+ reader . onabort = err => reject ( err )
109
+ reader . readAsArrayBuffer ( blob )
110
+ }
111
+ catch ( err ) {
112
+ reject ( err )
113
+ }
114
+ } )
115
+ }
116
+ catch ( err ) { }
114
117
}
115
118
116
119
export async function blobToUint8Array ( blob : Blob | File ) : Promise < Uint8Array | undefined > {
Original file line number Diff line number Diff line change
1
+ import { blobToArrayBuffer } from '../bin'
1
2
import { fromBase64 , toBase64 } from './bin'
2
3
3
4
export function dataUriToUint8Array ( dataUri : string ) : Uint8Array | undefined {
@@ -18,7 +19,7 @@ export function dataUriToBlob(dataUri: string): Blob | undefined {
18
19
}
19
20
20
21
export async function blobToDataUri ( blob : Blob ) : Promise < string | undefined > {
21
- const bin = await blob . arrayBuffer ( )
22
+ const bin = await blobToArrayBuffer ( blob )
22
23
if ( bin )
23
24
return `data:${ blob . type } ,${ toBase64 ( bin ) } `
24
25
}
You can’t perform that action at this time.
0 commit comments