1export default class{constructor(){this.library={}}set(r,e,t){this.library[r]||(this.library[r]=new Map),this.library[r].set(e,t)}all(r){return Array.from(this.library[r]?.entries()||[])}one(r){return this.library[r]?.values()?.next().value}get(r,e){if(void 0===e)throw new Error("Missing argument (key). Did you mean to use .one()?");return this.library[r]?.get(e)}lookupAll(r){const e=[];for(const i of Object.keys(this.library)){var t=this.get(i,r);t&&e.push([i,t])}return e}delete(r,e){if(void 0===e)throw new Error("Key is required");e=this.library[r].delete(e);return this.library[r].size||this.deleteVolume(r),e}deleteVolume(r){delete this.library[r]}}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.