Telegram Web K with changes to work inside I2P https://web.telegram.i2p/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

29 lines
909 B

/*
* https://github.com/morethanwords/tweb
* Copyright (C) 2019-2021 Eduard Kuzmenko
* https://github.com/morethanwords/tweb/blob/master/LICENSE
*/
import {getServiceMessagePort} from '../mtproto/mtproto.worker';
import ServiceMessagePort from '../serviceWorker/serviceMessagePort';
import StreamWriter from './streamWriter';
export default class DownloadWriter implements StreamWriter {
constructor(
private serviceMessagePort: ServiceMessagePort<true>,
private downloadId: string
) {
this.serviceMessagePort = getServiceMessagePort();
}
public async write(part: Uint8Array, offset?: number) {
return this.serviceMessagePort.invoke('downloadChunk', {
id: this.downloadId,
chunk: part
});
}
public finalize(saveToStorage?: boolean): Promise<Blob> {
return this.serviceMessagePort.invoke('downloadFinalize', this.downloadId).then(() => undefined);
}
}