mmlpx
Version:
mobx model layer paradigm
20 lines • 601 B
JavaScript
/**
* @author Kuitos
* @homepage https://github.com/kuitos/
* @since 2018-06-25 19:43
*/
import { applySnapshot, getSnapshot } from './snapshot';
export default function makeHot(module, injector) {
var mmlpx = Symbol('mmlpxSnapshot');
/**
* Save / Restore the state of the store while this module is hot reloaded
*/
if (module.hot) {
if (module.hot.data && module.hot.data[mmlpx]) {
applySnapshot(module.hot.data[mmlpx], injector);
}
module.hot.dispose(function (data) {
data[mmlpx] = getSnapshot(injector);
});
}
}