ppu-paddle-ocr
Version:
Lightweight, probably the fastest PaddleOCR SDK in TypeScript. Runs anywhere JavaScript runs: Node.js, Bun, Deno, mobile react-native, web browsers, and browser extensions. Docker & CLI supported. The official SDK is browser-only. Accurate text detection
1 lines • 729 B
JavaScript
export class ImageCache{cache=new Map;maxSize;constructor(maxSize=10){this.maxSize=maxSize}get(key){let value=this.cache.get(key);if(value!==undefined){this.cache.delete(key);this.cache.set(key,value);return value}return}set(key,value){if(this.cache.has(key)){this.cache.delete(key)}else if(this.cache.size>=this.maxSize){let firstKey=this.cache.keys().next().value;if(firstKey!==undefined){this.cache.delete(firstKey)}}this.cache.set(key,value)}clear(){this.cache.clear()}static generateKey(imageBuffer){let view=new Uint8Array(imageBuffer);let len=Math.min(view.length,1024);let hash=0;for(let i=0;i<len;i++){hash=(hash<<5)-hash+view[i];hash=hash&hash}return`${hash}_${view.length}`}}export let globalImageCache=new ImageCache;