Итак, у меня есть некоторый код, который я унаследовал, который выглядит следующим образом:
String.fromCharCode.apply(null, new Uint8Array(license));
Недавно нам пришлось обновить зависимости проекта, и мы не работаем над TypeScript 3, который жалуется, что код некорректен с этим сообщением:
Argument of type 'Uint8Array' is not assignable to parameter of type 'number[]'.
Type 'Uint8Array' is missing the following properties from type 'number[]': pop, push, concat, shift, and 3 more.
У меня есть несколько других мест с такими же ошибками, и все они Uint8Array, кроме одного, который является Uint16Array.Кажется, проблема связана с некоторыми изменениями в конструкторе Uint8Array, который имеет несколько перегрузок.Я попытался изменить код на
const jsonKey: string = String.fromCharCode.apply(null, Array.from(new Uint8Array(license)));
и
const jsonKey: string = String.fromCharCode.apply(null, Array.prototype.slice.call(new Uint8Array(license)));
. Ни один из них не помог воссоздать исходную функцию кода, но они подавили сообщения об ошибках.