-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathesmockCache.js
More file actions
44 lines (35 loc) · 1 KB
/
esmockCache.js
File metadata and controls
44 lines (35 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
const esmockCache = {
isESM: {},
// record of fullpaths with associated mocks
// eg, { '/path/to/mock.js': true }
mockDefs: {}
}
const esmockTreeIdSet = (key, keylong) => (
typeof global.postMessageEsmk === 'function'
&& global.postMessageEsmk({ key, keylong }),
global.mockKeys[String(key)] = keylong)
const esmockTreeIdGet = key => (
global.mockKeys[String(key)])
const esmockCacheSet = (key, mockDef) => (
global.esmockCache.mockDefs[key] = mockDef)
const esmockCacheGet = key => (
global.esmockCache.mockDefs[key])
const esmockCacheResolvedPathIsESMGet = mockPathFull => (
esmockCache.isESM[mockPathFull])
const esmockCacheResolvedPathIsESMSet = (mockPathFull, isesm) => (
esmockCache.isESM[mockPathFull] = isesm)
Object.assign(global, {
esmockCache,
esmockCacheGet,
esmockTreeIdGet,
mockKeys: {}
})
export {
esmockCache as default,
esmockCacheSet,
esmockCacheGet,
esmockTreeIdSet,
esmockTreeIdGet,
esmockCacheResolvedPathIsESMGet,
esmockCacheResolvedPathIsESMSet
}