diff options
Diffstat (limited to 'src/content/dynamicNS.js')
-rw-r--r-- | src/content/dynamicNS.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/content/dynamicNS.js b/src/content/dynamicNS.js new file mode 100644 index 0000000..cdd7a0e --- /dev/null +++ b/src/content/dynamicNS.js @@ -0,0 +1,21 @@ +'use strict'; + +// ensure the order which manifest scripts and dynamically registered scripts +// are executed in doesn't matter for initialization, by using a stub. + +if (!this.ns) { + let deferredSetup = null; + let nsStub = this.ns = { + config: {}, + setup(DEFAULT, MARKER) { + deferredSetup = [DEFAULT, MARKER]; + }, + merge: ns => { + ns.config = Object.assign(ns.config, nsStub.config); + this.ns = ns; + if (deferredSetup) { + ns.setup(...deferredSetup); + } + } + } +} |