-
Notifications
You must be signed in to change notification settings - Fork 0
/
index-browser.js
36 lines (28 loc) · 863 Bytes
/
index-browser.js
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
// Node, or global
;(function (root) { // eslint-disable-line no-extra-semi
'use strict'
const module = { factories: {} }
Object.defineProperty(module, 'exports', {
get: function () {
return null
},
set: function (val) {
module.factories[val.name] = val.factory
},
// this property should show up when this object's property names are enumerated
enumerable: true,
// this property may not be deleted
configurable: false,
})
// MODULES_HERE
root.polyn = root.polyn || {}
if (!root.polyn.blueprint) {
throw new Error('@polyn/immutable requires @polyn/blueprint to be included before it')
}
const immutable = module.factories.immutable(root.polyn.blueprint)
root.polyn.immutable = Object.freeze({
...immutable,
})
// we don't need these anymore
delete module.factories
}(window))