1234567891011121314151617181920212223242526272829303132333435363738394041 |
- const _ = require('lodash');
-
- class Store {
- constructor() {
- this.propsByComponentId = {};
- this.componentsByName = {};
- this.refsById = {};
- }
-
- setPropsForComponentId(componentId, props) {
- _.set(this.propsByComponentId, componentId, props);
- }
-
- getPropsForComponentId(componentId) {
- return _.get(this.propsByComponentId, componentId, {});
- }
-
- setOriginalComponentClassForName(componentName, ComponentClass) {
- _.set(this.componentsByName, componentName, ComponentClass);
- }
-
- getOriginalComponentClassForName(componentName) {
- return _.get(this.componentsByName, componentName);
- }
-
- setRefForComponentId(id, ref) {
- _.set(this.refsById, id, ref);
- }
-
- getRefForComponentId(id) {
- return _.get(this.refsById, id);
- }
-
- cleanId(id) {
- _.unset(this.refsById, id);
- _.unset(this.propsByComponentId, id);
- }
- }
-
- module.exports = Store;
|