41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
export function isConvertible(target) {
|
|
if (typeof target === "function" && target.prototype) {
|
|
if (target.prototype.toASN && target.prototype.fromASN) {
|
|
return true;
|
|
}
|
|
else {
|
|
return isConvertible(target.prototype);
|
|
}
|
|
}
|
|
else {
|
|
return !!(target && typeof target === "object" && "toASN" in target && "fromASN" in target);
|
|
}
|
|
}
|
|
export function isTypeOfArray(target) {
|
|
var _a;
|
|
if (target) {
|
|
const proto = Object.getPrototypeOf(target);
|
|
if (((_a = proto === null || proto === void 0 ? void 0 : proto.prototype) === null || _a === void 0 ? void 0 : _a.constructor) === Array) {
|
|
return true;
|
|
}
|
|
return isTypeOfArray(proto);
|
|
}
|
|
return false;
|
|
}
|
|
export function isArrayEqual(bytes1, bytes2) {
|
|
if (!(bytes1 && bytes2)) {
|
|
return false;
|
|
}
|
|
if (bytes1.byteLength !== bytes2.byteLength) {
|
|
return false;
|
|
}
|
|
const b1 = new Uint8Array(bytes1);
|
|
const b2 = new Uint8Array(bytes2);
|
|
for (let i = 0; i < bytes1.byteLength; i++) {
|
|
if (b1[i] !== b2[i]) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|