diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2021-01-21 22:49:54 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-21 22:49:54 -0500 |
commit | cf57c4e38d619d979ca39328bd9ec4821f284816 (patch) | |
tree | 0bd80612cc5200218f76ae51ab4025c33a7c26a6 /ext/bg/js/json-schema.js | |
parent | 0bc5a4a971126adca1787d90db36b13716638290 (diff) |
Simplify CacheMap (#1287)
* Simplify CacheMap, removing support for array path keys
* Update keys
* Update JsonSchemaValidator
* Update AudioSystem
Diffstat (limited to 'ext/bg/js/json-schema.js')
-rw-r--r-- | ext/bg/js/json-schema.js | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/ext/bg/js/json-schema.js b/ext/bg/js/json-schema.js index 85ced354..7b6b9c53 100644 --- a/ext/bg/js/json-schema.js +++ b/ext/bg/js/json-schema.js @@ -125,7 +125,7 @@ class JsonSchemaProxyHandler { class JsonSchemaValidator { constructor() { - this._regexCache = new CacheMap(100, ([pattern, flags]) => new RegExp(pattern, flags)); + this._regexCache = new CacheMap(100); } createProxy(target, schema) { @@ -705,8 +705,12 @@ class JsonSchemaValidator { } _getRegex(pattern, flags) { - const regex = this._regexCache.getOrCreate([pattern, flags]); - regex.lastIndex = 0; + const key = `${flags}:${pattern}`; + let regex = this._regexCache.get(key); + if (typeof regex === 'undefined') { + regex = new RegExp(pattern, flags); + this._regexCache.set(key, regex); + } return regex; } } |