init commit

This commit is contained in:
Carlos
2026-02-21 10:33:18 +01:00
parent c863a943ed
commit 9d955bf338
9512 changed files with 2015317 additions and 1305 deletions

View File

@@ -0,0 +1,32 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.seekInfiniteLoopDetectionState = void 0;
const seekInfiniteLoopDetectionState = () => {
let lastSeek = null;
let firstSeekTime = null;
return {
registerSeek: (byte) => {
const now = Date.now();
if (!lastSeek || lastSeek.byte !== byte) {
lastSeek = { byte, numberOfTimes: 1 };
firstSeekTime = now;
return;
}
lastSeek.numberOfTimes++;
if (lastSeek.numberOfTimes >= 10 &&
firstSeekTime &&
now - firstSeekTime <= 2000) {
throw new Error(`Seeking infinite loop detected: Seeked to byte 0x${byte.toString(16)} ${lastSeek.numberOfTimes} times in a row in the last 2 seconds. Check your usage of .seek().`);
}
if (now - firstSeekTime > 2000) {
lastSeek = { byte, numberOfTimes: 1 };
firstSeekTime = now;
}
},
reset: () => {
lastSeek = null;
firstSeekTime = null;
},
};
};
exports.seekInfiniteLoopDetectionState = seekInfiniteLoopDetectionState;