UNPKG

1.58 kBJavaScriptView Raw
1// Provide an ExtensionStore & ExtensionRenderer react component
2const ExtensionStore = require('./dist/ExtensionStore.js').default;
3exports.store = new ExtensionStore();
4
5exports.Renderer = require('./dist/ExtensionRenderer.js').default;
6
7//in lieu of DI
8const ResourceLoadTracker = require('./dist/ResourceLoadTracker.js').default;
9const resourceLoadTracker = new ResourceLoadTracker();
10exports.store.resourceLoadTracker = resourceLoadTracker;
11
12//Put these in statics so we can mock them for testing. Ideally they would come from React scope.
13exports.Renderer.extensionStore = exports.store;
14exports.Renderer.resourceLoadTracker = resourceLoadTracker;
15
16const ClassMetadataStore = require('./dist/ClassMetadataStore.js').default;
17exports.classMetadataStore = new ClassMetadataStore();
18
19exports.SandboxedComponent = require('./dist/SandboxedComponent.js').SandboxedComponent;
20
21exports.ErrorUtils = require('./dist/ErrorUtils.js').default;
22
23exports.Utils = require('./dist/ExtensionUtils.js').default;
24
25exports.dataType = function dataType(dataType) { return exports.classMetadataStore.dataType(dataType); };
26
27exports.untyped = function untyped() { return exports.classMetadataStore.untyped(); };
28
29exports.isType = require('./dist/ComponentTypeFilter.js').isType;
30
31exports.componentType = require('./dist/ComponentTypeFilter.js').componentType;
32
33exports.init = function init(args) {
34 exports.classMetadataStore.init(args.classMetadataProvider);
35 exports.store.init({
36 extensionData: args.extensionData,
37 classMetadataStore: exports.classMetadataStore,
38 });
39};