HEX
Server: LiteSpeed
System: Linux spg20.cloudpowerdns.com 5.14.0-611.35.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Feb 25 03:46:09 EST 2026 x86_64
User: carrerup (3153)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //opt/bitninja-dispatcher/node_modules/libphonenumber-js/source/findNumbers/RegExpCache.js
import LRUCache from './LRUCache.js'

// A cache for frequently used country-specific regular expressions. Set to 32 to cover ~2-3
// countries being used for the same doc with ~10 patterns for each country. Some pages will have
// a lot more countries in use, but typically fewer numbers for each so expanding the cache for
// that use-case won't have a lot of benefit.
export default class RegExpCache {
	constructor(size) {
		this.cache = new LRUCache(size)
	}

	getPatternForRegExp(pattern) {
		let regExp = this.cache.get(pattern)
		if (!regExp) {
			regExp = new RegExp('^' + pattern)
			this.cache.put(pattern, regExp)
		}
		return regExp
	}
}