import { CAREncoderStream, createFileEncoderStream } from 'https://esm.sh/ipfs-car@1.0.0'
import { CID } from 'https://esm.sh/multiformats@12.1.3/cid'
async function streamToBlob(stream: ReadableStream): Promise<Blob> {
const reader = stream.getReader()
const chunks: Uint8Array[] = []
while (true) {
const { done, value } = await reader.read()
if (done) break
chunks.push(value)
}
return new Blob(chunks, { type: 'application/octet-stream' })
}
describe('uploadCar', () => {
it(
'should upload a CAR file',
async () => {
const stream = createFileEncoderStream(new Blob(['Hello ipfs-car!']))
.pipeThrough(
new TransformStream(),
)
.pipeThrough(new CAREncoderStream([placeholderCID]))
const blob = await streamToBlob(stream)
const file = new File([blob], 'file.car')
const cid = await uploadCar({ file, ...args })
assertEquals(cid, 'bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi')
},
)
})
import { CAREncoderStream, createFileEncoderStream } from 'https://esm.sh/ipfs-car@1.0.0'
import { CID } from 'https://esm.sh/multiformats@12.1.3/cid'
async function streamToBlob(stream: ReadableStream): Promise<Blob> {
const reader = stream.getReader()
const chunks: Uint8Array[] = []
while (true) {
const { done, value } = await reader.read()
if (done) break
chunks.push(value)
}
return new Blob(chunks, { type: 'application/octet-stream' })
}
describe('uploadCar', () => {
it(
'should upload a CAR file',
async () => {
const stream = createFileEncoderStream(new Blob(['Hello ipfs-car!']))
.pipeThrough(
new TransformStream(),
)
.pipeThrough(new CAREncoderStream([placeholderCID]))
const blob = await streamToBlob(stream)
const file = new File([blob], 'file.car')
const cid = await uploadCar({ file, ...args })
assertEquals(cid, 'bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi')
},
)
})