1 | export const MODULE_CONFIG = {
|
2 | 'OnInit': 'hmrOnInit',
|
3 | 'OnStatus': 'hmrOnStatus',
|
4 | 'OnCheck': 'hmrOnCheck',
|
5 | 'OnDecline': 'hmrOnDecline',
|
6 | 'OnDestroy': 'hmrOnDestroy',
|
7 | 'AfterDestroy': 'hmrAfterDestroy'
|
8 | };
|
9 | export function hmrModule(MODULE_REF, MODULE, CONFIG = MODULE_CONFIG) {
|
10 | if (MODULE['hot']) {
|
11 | MODULE['hot']['accept']();
|
12 | if (MODULE_REF.instance[MODULE_CONFIG['OnInit']]) {
|
13 | if (MODULE['hot']['data']) {
|
14 | MODULE_REF.instance[MODULE_CONFIG['OnInit']](MODULE['hot']['data']);
|
15 | }
|
16 | }
|
17 | if (MODULE_REF.instance[MODULE_CONFIG['OnStatus']]) {
|
18 | MODULE['hot']['apply'](function hmrOnStatus(status) {
|
19 | MODULE_REF.instance[MODULE_CONFIG['OnStatus']](status);
|
20 | });
|
21 | }
|
22 | if (MODULE_REF.instance[MODULE_CONFIG['OnCheck']]) {
|
23 | MODULE['hot']['check'](function hmrOnCheck(err, outdatedModules) {
|
24 | MODULE_REF.instance[MODULE_CONFIG['OnCheck']](err, outdatedModules);
|
25 | });
|
26 | }
|
27 | if (MODULE_REF.instance[MODULE_CONFIG['OnDecline']]) {
|
28 | MODULE['hot']['decline'](function hmrOnDecline(dependencies) {
|
29 | MODULE_REF.instance[MODULE_CONFIG['OnDecline']](dependencies);
|
30 | });
|
31 | }
|
32 | MODULE['hot']['dispose'](function hmrOnDestroy(store) {
|
33 | if (MODULE_REF.instance[MODULE_CONFIG['OnDestroy']]) {
|
34 | MODULE_REF.instance[MODULE_CONFIG['OnDestroy']](store);
|
35 | }
|
36 | MODULE_REF.destroy();
|
37 | if (MODULE_REF.instance[MODULE_CONFIG['AfterDestroy']]) {
|
38 | MODULE_REF.instance[MODULE_CONFIG['AfterDestroy']](store);
|
39 | }
|
40 | });
|
41 | }
|
42 | return MODULE_REF;
|
43 | }
|
44 |
|
\ | No newline at end of file |