Back | Home
الـ Path الحالي: /home/picotech/domains/instantly.picotech.app/public_html/public/uploads/../uploads/../../../../instantly.picotech.app/homes/../../wa.picotech.app/public_html/node_modules/escape-html/../querystring/../@protobufjs/../music-metadata/lib/musepack/./sv7
الملفات الموجودة في هذا الـ Path:
.
..
BitReader.d.ts
BitReader.js
MpcSv7Parser.d.ts
MpcSv7Parser.js
StreamVersion7.d.ts
StreamVersion7.js
مشاهدة ملف: BitReader.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.BitReader = void 0;
const Token = require("token-types");
class BitReader {
constructor(tokenizer) {
this.tokenizer = tokenizer;
this.pos = 0;
this.dword = undefined;
}
/**
*
* @param bits 1..30 bits
*/
async read(bits) {
while (this.dword === undefined) {
this.dword = await this.tokenizer.readToken(Token.UINT32_LE);
}
let out = this.dword;
this.pos += bits;
if (this.pos < 32) {
out >>>= (32 - this.pos);
return out & ((1 << bits) - 1);
}
else {
this.pos -= 32;
if (this.pos === 0) {
this.dword = undefined;
return out & ((1 << bits) - 1);
}
else {
this.dword = await this.tokenizer.readToken(Token.UINT32_LE);
if (this.pos) {
out <<= this.pos;
out |= this.dword >>> (32 - this.pos);
}
return out & ((1 << bits) - 1);
}
}
}
async ignore(bits) {
if (this.pos > 0) {
const remaining = 32 - this.pos;
this.dword = undefined;
bits -= remaining;
this.pos = 0;
}
const remainder = bits % 32;
const numOfWords = (bits - remainder) / 32;
await this.tokenizer.ignore(numOfWords * 4);
return this.read(remainder);
}
}
exports.BitReader = BitReader;