(resolverCache, scopes, prefixes)
| 381 | } |
| 382 | |
| 383 | function getResolver(resolverCache, scopes, prefixes) { |
| 384 | let cache = resolverCache.get(scopes); |
| 385 | if (!cache) { |
| 386 | cache = new Map(); |
| 387 | resolverCache.set(scopes, cache); |
| 388 | } |
| 389 | const cacheKey = prefixes.join(); |
| 390 | let cached = cache.get(cacheKey); |
| 391 | if (!cached) { |
| 392 | const resolver = _createResolver(scopes, prefixes); |
| 393 | cached = { |
| 394 | resolver, |
| 395 | subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover')) |
| 396 | }; |
| 397 | cache.set(cacheKey, cached); |
| 398 | } |
| 399 | return cached; |
| 400 | } |
| 401 | |
| 402 | const hasFunction = value => isObject(value) |
| 403 | && Object.getOwnPropertyNames(value).some((key) => isFunction(value[key])); |
no test coverage detected