UNPKG

@cleerlycode/cornerstone-wado-image-loader

Version:
46 lines (33 loc) 826 B
function checkToken (token, data, dataOffset) { if (dataOffset + token.length > data.length) { return false; } let endIndex = dataOffset; for (let i = 0; i < token.length; i++) { if (token[i] !== data[endIndex++]) { return false; } } return true; } function stringToUint8Array (str) { const uint = new Uint8Array(str.length); for (let i = 0, j = str.length; i < j; i++) { uint[i] = str.charCodeAt(i); } return uint; } function findIndexOfString (data, str, offset) { offset = offset || 0; const token = stringToUint8Array(str); for (let i = offset; i < data.length; i++) { if (token[0] === data[i]) { // console.log('match @', i); if (checkToken(token, data, i)) { return i; } } } return -1; } export default findIndexOfString;