/* * https://github.com/morethanwords/tweb * Copyright (C) 2019-2021 Eduard Kuzmenko * https://github.com/morethanwords/tweb/blob/master/LICENSE */ import bufferConcats from '../helpers/bytes/bufferConcats'; Uint8Array.prototype.concat = function(...args: Array) { return bufferConcats(this, ...args); }; /* Uint8Array.prototype.toString = function() { return String.fromCharCode.apply(null, [...this]); }; */ Uint8Array.prototype.toJSON = function() { return [...this]; // return {type: 'bytes', value: [...this]}; }; Promise.prototype.finally = Promise.prototype.finally || function(this: Promise, fn: () => any) { const onFinally = (callback: typeof fn) => Promise.resolve(fn()).then(callback); return this.then( result => onFinally(() => result), reason => onFinally(() => Promise.reject(reason)) ); }; declare global { interface Uint8Array { concat: (...args: Array) => Uint8Array, // toString: () => string, toJSON: () => number[], // toJSON: () => {type: 'bytes', value: number[]}, } interface Promise { finally: (onfinally?: () => void) => Promise; } }