Spaces:
Running
Running
| /** | |
| * Find the starting index of Uint8Array `b` within Uint8Array `a`. | |
| */ "use strict"; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| 0 && (module.exports = { | |
| indexOfUint8Array: null, | |
| isEquivalentUint8Arrays: null, | |
| removeFromUint8Array: null | |
| }); | |
| function _export(target, all) { | |
| for(var name in all)Object.defineProperty(target, name, { | |
| enumerable: true, | |
| get: all[name] | |
| }); | |
| } | |
| _export(exports, { | |
| indexOfUint8Array: function() { | |
| return indexOfUint8Array; | |
| }, | |
| isEquivalentUint8Arrays: function() { | |
| return isEquivalentUint8Arrays; | |
| }, | |
| removeFromUint8Array: function() { | |
| return removeFromUint8Array; | |
| } | |
| }); | |
| function indexOfUint8Array(a, b) { | |
| if (b.length === 0) return 0; | |
| if (a.length === 0 || b.length > a.length) return -1; | |
| // start iterating through `a` | |
| for(let i = 0; i <= a.length - b.length; i++){ | |
| let completeMatch = true; | |
| // from index `i`, iterate through `b` and check for mismatch | |
| for(let j = 0; j < b.length; j++){ | |
| // if the values do not match, then this isn't a complete match, exit `b` iteration early and iterate to next index of `a`. | |
| if (a[i + j] !== b[j]) { | |
| completeMatch = false; | |
| break; | |
| } | |
| } | |
| if (completeMatch) { | |
| return i; | |
| } | |
| } | |
| return -1; | |
| } | |
| function isEquivalentUint8Arrays(a, b) { | |
| if (a.length !== b.length) return false; | |
| for(let i = 0; i < a.length; i++){ | |
| if (a[i] !== b[i]) return false; | |
| } | |
| return true; | |
| } | |
| function removeFromUint8Array(a, b) { | |
| const tagIndex = indexOfUint8Array(a, b); | |
| if (tagIndex === 0) return a.subarray(b.length); | |
| if (tagIndex > -1) { | |
| const removed = new Uint8Array(a.length - b.length); | |
| removed.set(a.slice(0, tagIndex)); | |
| removed.set(a.slice(tagIndex + b.length), tagIndex); | |
| return removed; | |
| } else { | |
| return a; | |
| } | |
| } | |
| //# sourceMappingURL=uint8array-helpers.js.map |