msw-dev-tool 2.1.1 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/lib/const.js +6 -0
- package/dist/cjs/lib/const.js.map +1 -0
- package/dist/cjs/lib/handlerStore.js +12 -2
- package/dist/cjs/lib/handlerStore.js.map +1 -1
- package/dist/cjs/lib/util.js +29 -1
- package/dist/cjs/lib/util.js.map +1 -1
- package/dist/esm/lib/const.js +4 -0
- package/dist/esm/lib/const.js.map +1 -0
- package/dist/esm/lib/handlerStore.js +12 -2
- package/dist/esm/lib/handlerStore.js.map +1 -1
- package/dist/esm/lib/util.js +28 -2
- package/dist/esm/lib/util.js.map +1 -1
- package/package.json +1 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"const.js","sources":["../../../src/lib/const.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAO,MAAM,WAAW,GAAG;;;;"}
|
@@ -4,8 +4,10 @@ var zustand = require('zustand');
|
|
4
4
|
var util = require('./util.js');
|
5
5
|
var isFunction = require('../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isFunction.js');
|
6
6
|
var mswBrowser = require('../utils/mswBrowser.js');
|
7
|
+
var middleware = require('zustand/middleware');
|
8
|
+
var _const = require('./const.js');
|
7
9
|
|
8
|
-
const useHandlerStore = zustand.create((set, get) => ({
|
10
|
+
const useHandlerStore = zustand.create()(middleware.persist((set, get) => ({
|
9
11
|
flattenHandlers: [],
|
10
12
|
worker: null,
|
11
13
|
restHandlers: [],
|
@@ -30,7 +32,7 @@ const useHandlerStore = zustand.create((set, get) => ({
|
|
30
32
|
if (!setupWorker) {
|
31
33
|
throw new Error("Fail to import 'msw/browser'. Is environment is not browser?");
|
32
34
|
}
|
33
|
-
const worker = setupWorker
|
35
|
+
const worker = setupWorker(..._handlers);
|
34
36
|
const { flattenHandlers, handlerRowSelection, unsupportedHandlers } = util.initMSWDevToolStore(worker);
|
35
37
|
set({
|
36
38
|
worker,
|
@@ -38,6 +40,8 @@ const useHandlerStore = zustand.create((set, get) => ({
|
|
38
40
|
handlerRowSelection,
|
39
41
|
restHandlers: unsupportedHandlers,
|
40
42
|
});
|
43
|
+
const totalEnableHandlers = util.getTotalEnableHandlers(flattenHandlers, unsupportedHandlers);
|
44
|
+
util.updateEnableHandlers(worker, totalEnableHandlers);
|
41
45
|
return worker;
|
42
46
|
},
|
43
47
|
resetMSWDevTool: () => {
|
@@ -98,6 +102,12 @@ const useHandlerStore = zustand.create((set, get) => ({
|
|
98
102
|
}),
|
99
103
|
});
|
100
104
|
},
|
105
|
+
}), {
|
106
|
+
name: _const.STORAGE_KEY,
|
107
|
+
storage: middleware.createJSONStorage(() => sessionStorage),
|
108
|
+
partialize: (state) => ({
|
109
|
+
flattenHandlers: state.flattenHandlers,
|
110
|
+
}),
|
101
111
|
}));
|
102
112
|
const setupDevToolWorker = useHandlerStore.getState().setupDevToolWorker;
|
103
113
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"handlerStore.js","sources":["../../../src/lib/handlerStore.ts"],"sourcesContent":[null],"names":["create","isHttpHandler","getRowId","getHandlerResponseByBehavior","_setupWorker","initMSWDevToolStore","isFunction","
|
1
|
+
{"version":3,"file":"handlerStore.js","sources":["../../../src/lib/handlerStore.ts"],"sourcesContent":[null],"names":["create","persist","isHttpHandler","getRowId","getHandlerResponseByBehavior","_setupWorker","initMSWDevToolStore","getTotalEnableHandlers","updateEnableHandlers","isFunction","STORAGE_KEY","createJSONStorage"],"mappings":"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"}
|
package/dist/cjs/lib/util.js
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
var type = require('./type.js');
|
4
4
|
var handler = require('../const/handler.js');
|
5
5
|
var msw = require('msw');
|
6
|
+
var _const = require('./const.js');
|
6
7
|
|
7
8
|
const getRowId = ({ path, method }) => JSON.stringify({
|
8
9
|
path,
|
@@ -51,7 +52,10 @@ const updateEnableHandlers = (worker, totalEnableHandlers) => {
|
|
51
52
|
};
|
52
53
|
const initMSWDevToolStore = (worker) => {
|
53
54
|
const handlers = worker.listHandlers();
|
54
|
-
const { flattenHandlers, unsupportedHandlers } = convertHandlers(handlers);
|
55
|
+
const { flattenHandlers: newFlattenHandlers, unsupportedHandlers } = convertHandlers(handlers);
|
56
|
+
const { flattenHandlers } = mergeStorageData({
|
57
|
+
flattenHandlers: newFlattenHandlers,
|
58
|
+
});
|
55
59
|
const handlerRowSelection = flattenHandlers.reduce((acc, handler) => {
|
56
60
|
acc[handler.id] = handler.enabled;
|
57
61
|
return acc;
|
@@ -85,12 +89,36 @@ const getHandlerResponseByBehavior = async (behavior, originalResolverCallback)
|
|
85
89
|
}
|
86
90
|
return originalResolverCallback();
|
87
91
|
};
|
92
|
+
const getStorageData = () => {
|
93
|
+
const storage = sessionStorage.getItem(_const.STORAGE_KEY);
|
94
|
+
if (!storage)
|
95
|
+
return { flattenHandlers: [] };
|
96
|
+
return JSON.parse(storage).state;
|
97
|
+
};
|
98
|
+
const mergeStorageData = ({ flattenHandlers: newFlattenHandlers, }) => {
|
99
|
+
const { flattenHandlers: savedFlattenHandlers } = getStorageData();
|
100
|
+
// Merge with saved and new element based on worker's handlers
|
101
|
+
const flattenHandlers = newFlattenHandlers.map((newHandler) => {
|
102
|
+
const savedHandler = savedFlattenHandlers.find((h) => h.id === newHandler.id);
|
103
|
+
if (savedHandler) {
|
104
|
+
return {
|
105
|
+
...newHandler,
|
106
|
+
enabled: savedHandler.enabled,
|
107
|
+
behavior: savedHandler.behavior,
|
108
|
+
};
|
109
|
+
}
|
110
|
+
return newHandler;
|
111
|
+
});
|
112
|
+
return { flattenHandlers };
|
113
|
+
};
|
88
114
|
|
89
115
|
exports.convertHandlers = convertHandlers;
|
90
116
|
exports.getHandlerResponseByBehavior = getHandlerResponseByBehavior;
|
91
117
|
exports.getRowId = getRowId;
|
118
|
+
exports.getStorageData = getStorageData;
|
92
119
|
exports.getTotalEnableHandlers = getTotalEnableHandlers;
|
93
120
|
exports.initMSWDevToolStore = initMSWDevToolStore;
|
94
121
|
exports.isHttpHandler = isHttpHandler;
|
122
|
+
exports.mergeStorageData = mergeStorageData;
|
95
123
|
exports.updateEnableHandlers = updateEnableHandlers;
|
96
124
|
//# sourceMappingURL=util.js.map
|
package/dist/cjs/lib/util.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"util.js","sources":["../../../src/lib/util.ts"],"sourcesContent":[null],"names":["HttpHandlerBehavior","dummyHandler","CustomBehavior","delay","HttpResponse","HttpStatusCode"],"mappings":"
|
1
|
+
{"version":3,"file":"util.js","sources":["../../../src/lib/util.ts"],"sourcesContent":[null],"names":["HttpHandlerBehavior","dummyHandler","CustomBehavior","delay","HttpResponse","HttpStatusCode","STORAGE_KEY"],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"const.js","sources":["../../../src/lib/const.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAO,MAAM,WAAW,GAAG;;;;"}
|
@@ -2,8 +2,10 @@ import { create } from 'zustand';
|
|
2
2
|
import { isHttpHandler, getRowId, getHandlerResponseByBehavior, initMSWDevToolStore, getTotalEnableHandlers, updateEnableHandlers } from './util.js';
|
3
3
|
import isFunction from '../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isFunction.js';
|
4
4
|
import { setupWorker } from '../utils/mswBrowser.js';
|
5
|
+
import { persist, createJSONStorage } from 'zustand/middleware';
|
6
|
+
import { STORAGE_KEY } from './const.js';
|
5
7
|
|
6
|
-
const useHandlerStore = create((set, get) => ({
|
8
|
+
const useHandlerStore = create()(persist((set, get) => ({
|
7
9
|
flattenHandlers: [],
|
8
10
|
worker: null,
|
9
11
|
restHandlers: [],
|
@@ -28,7 +30,7 @@ const useHandlerStore = create((set, get) => ({
|
|
28
30
|
if (!setupWorker$1) {
|
29
31
|
throw new Error("Fail to import 'msw/browser'. Is environment is not browser?");
|
30
32
|
}
|
31
|
-
const worker = setupWorker$1
|
33
|
+
const worker = setupWorker$1(..._handlers);
|
32
34
|
const { flattenHandlers, handlerRowSelection, unsupportedHandlers } = initMSWDevToolStore(worker);
|
33
35
|
set({
|
34
36
|
worker,
|
@@ -36,6 +38,8 @@ const useHandlerStore = create((set, get) => ({
|
|
36
38
|
handlerRowSelection,
|
37
39
|
restHandlers: unsupportedHandlers,
|
38
40
|
});
|
41
|
+
const totalEnableHandlers = getTotalEnableHandlers(flattenHandlers, unsupportedHandlers);
|
42
|
+
updateEnableHandlers(worker, totalEnableHandlers);
|
39
43
|
return worker;
|
40
44
|
},
|
41
45
|
resetMSWDevTool: () => {
|
@@ -96,6 +100,12 @@ const useHandlerStore = create((set, get) => ({
|
|
96
100
|
}),
|
97
101
|
});
|
98
102
|
},
|
103
|
+
}), {
|
104
|
+
name: STORAGE_KEY,
|
105
|
+
storage: createJSONStorage(() => sessionStorage),
|
106
|
+
partialize: (state) => ({
|
107
|
+
flattenHandlers: state.flattenHandlers,
|
108
|
+
}),
|
99
109
|
}));
|
100
110
|
const setupDevToolWorker = useHandlerStore.getState().setupDevToolWorker;
|
101
111
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"handlerStore.js","sources":["../../../src/lib/handlerStore.ts"],"sourcesContent":[null],"names":["setupWorker","_setupWorker"],"mappings":"
|
1
|
+
{"version":3,"file":"handlerStore.js","sources":["../../../src/lib/handlerStore.ts"],"sourcesContent":[null],"names":["setupWorker","_setupWorker"],"mappings":";;;;;;;AAuCa,MAAA,eAAe,GAAG,MAAM,EAAqB,CACxD,OAAO,CACL,CAAC,GAAG,EAAE,GAAG,MAAM;AACb,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,YAAY,EAAE,EAAE;AAChB,IAAA,mBAAmB,EAAE,EAAE;AACvB,IAAA,kBAAkB,EAAE,OAAO,GAAG,QAAmB,KAAI;QACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAI;AACzC,YAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;AAC3B,gBAAA,OAAO,OAAO,CAAC;aAChB;AAED,YAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC1C,YAAA,OAAO,CAAC,QAAQ,GAAG,OAAO,IAAI,KAAI;gBAChC,MAAM,EAAE,GAAG,QAAQ,CAAC;oBAClB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AACvC,iBAAA,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAE9C,gBAAA,OAAO,MAAM,4BAA4B,CAAC,QAAQ,EAAE,MAClD,gBAAgB,CAAC,IAAI,CAAC,CACvB,CAAC;AACJ,aAAC,CAAC;AACF,YAAA,OAAO,OAAO,CAAC;AACjB,SAAC,CAAC,CAAC;AAEH,QAAA,MAAMA,aAAW,GAAG,MAAMC,WAAY,CAAC;QACvC,IAAI,CAACD,aAAW,EAAE;AAChB,YAAA,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;SACH;AACD,QAAA,MAAM,MAAM,GAAGA,aAAW,CAAC,GAAG,SAAS,CAAC,CAAC;AAEzC,QAAA,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,GACjE,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC9B,QAAA,GAAG,CAAC;YACF,MAAM;YACN,eAAe;YACf,mBAAmB;AACnB,YAAA,YAAY,EAAE,mBAAmB;AAClC,SAAA,CAAC,CAAC;QAEH,MAAM,mBAAmB,GAAG,sBAAsB,CAChD,eAAe,EACf,mBAAmB,CACpB,CAAC;AACF,QAAA,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAElD,QAAA,OAAO,MAAM,CAAC;KACf;IACD,eAAe,EAAE,MAAK;AACpB,QAAA,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAClC,OAAO,CAAC,aAAa,EAAE,CAAC;AAExB,QAAA,MAAM,EACJ,MAAM,EACN,eAAe,EACf,mBAAmB,EACnB,mBAAmB,GACpB,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAEjC,QAAA,GAAG,CAAC;YACF,MAAM;YACN,eAAe;YACf,mBAAmB;AACnB,YAAA,YAAY,EAAE,mBAAmB;AAClC,SAAA,CAAC,CAAC;KACJ;AACD,IAAA,+BAA+B,EAAE,CAAC,OAAO,KAAI;AAC3C,QAAA,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;AAEjC,QAAA,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE;AACvB,YAAA,GAAG,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAI;AAC9B,gBAAA,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC1C,gBAAA,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,KAChD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;sBACZ,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;sBAC7B,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CACnC,CAAC;gBACF,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;AACjE,aAAC,CAAC,CAAC;SACJ;aAAM;AACL,YAAA,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,KAChD,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;kBACf,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;kBAC7B,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CACnC,CAAC;YACF,GAAG,CAAC,EAAE,mBAAmB,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;SACjE;AAED,QAAA,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC;AAC9C,QAAA,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC;QACxC,MAAM,mBAAmB,GAAG,sBAAsB,CAChD,eAAe,EACf,YAAY,CACb,CAAC;AACF,QAAA,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;KACnD;IACD,SAAS,EAAE,MAAK;AACd,QAAA,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;AAC5B,QAAA,IAAI,CAAC,MAAM;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC1D,QAAA,OAAO,MAAM,CAAC;KACf;AACD,IAAA,qBAAqB,EAAE,CAAC,EAAU,KAAI;AACpC,QAAA,OAAO,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;KACnE;AACD,IAAA,kBAAkB,EAAE,CAAC,EAAU,KAAI;QACjC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,SAAS,CAAC;QAC/B,OAAO,OAAO,CAAC,QAAQ,CAAC;KACzB;AACD,IAAA,kBAAkB,EAAE,CAAC,EAAU,EAAE,QAA6B,KAAI;AAChE,QAAA,GAAG,CAAC;YACF,eAAe,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,KAAI;AACrD,gBAAA,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE;AACrB,oBAAA,OAAO,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC;iBACjC;AACD,gBAAA,OAAO,OAAO,CAAC;AACjB,aAAC,CAAC;AACH,SAAA,CAAC,CAAC;KACJ;AACF,CAAA,CAAC,EACF;AACE,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,OAAO,EAAE,iBAAiB,CAAC,MAAM,cAAc,CAAC;AAChD,IAAA,UAAU,EAAE,CAAC,KAAK,MAAM;QACtB,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC;AACH,CAAA,CACF,EACD;AAEW,MAAA,kBAAkB,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC;;;;"}
|
package/dist/esm/lib/util.js
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import { CustomBehavior, HttpStatusCode, HttpHandlerBehavior } from './type.js';
|
2
2
|
import { dummyHandler } from '../const/handler.js';
|
3
3
|
import { delay, HttpResponse } from 'msw';
|
4
|
+
import { STORAGE_KEY } from './const.js';
|
4
5
|
|
5
6
|
const getRowId = ({ path, method }) => JSON.stringify({
|
6
7
|
path,
|
@@ -49,7 +50,10 @@ const updateEnableHandlers = (worker, totalEnableHandlers) => {
|
|
49
50
|
};
|
50
51
|
const initMSWDevToolStore = (worker) => {
|
51
52
|
const handlers = worker.listHandlers();
|
52
|
-
const { flattenHandlers, unsupportedHandlers } = convertHandlers(handlers);
|
53
|
+
const { flattenHandlers: newFlattenHandlers, unsupportedHandlers } = convertHandlers(handlers);
|
54
|
+
const { flattenHandlers } = mergeStorageData({
|
55
|
+
flattenHandlers: newFlattenHandlers,
|
56
|
+
});
|
53
57
|
const handlerRowSelection = flattenHandlers.reduce((acc, handler) => {
|
54
58
|
acc[handler.id] = handler.enabled;
|
55
59
|
return acc;
|
@@ -83,6 +87,28 @@ const getHandlerResponseByBehavior = async (behavior, originalResolverCallback)
|
|
83
87
|
}
|
84
88
|
return originalResolverCallback();
|
85
89
|
};
|
90
|
+
const getStorageData = () => {
|
91
|
+
const storage = sessionStorage.getItem(STORAGE_KEY);
|
92
|
+
if (!storage)
|
93
|
+
return { flattenHandlers: [] };
|
94
|
+
return JSON.parse(storage).state;
|
95
|
+
};
|
96
|
+
const mergeStorageData = ({ flattenHandlers: newFlattenHandlers, }) => {
|
97
|
+
const { flattenHandlers: savedFlattenHandlers } = getStorageData();
|
98
|
+
// Merge with saved and new element based on worker's handlers
|
99
|
+
const flattenHandlers = newFlattenHandlers.map((newHandler) => {
|
100
|
+
const savedHandler = savedFlattenHandlers.find((h) => h.id === newHandler.id);
|
101
|
+
if (savedHandler) {
|
102
|
+
return {
|
103
|
+
...newHandler,
|
104
|
+
enabled: savedHandler.enabled,
|
105
|
+
behavior: savedHandler.behavior,
|
106
|
+
};
|
107
|
+
}
|
108
|
+
return newHandler;
|
109
|
+
});
|
110
|
+
return { flattenHandlers };
|
111
|
+
};
|
86
112
|
|
87
|
-
export { convertHandlers, getHandlerResponseByBehavior, getRowId, getTotalEnableHandlers, initMSWDevToolStore, isHttpHandler, updateEnableHandlers };
|
113
|
+
export { convertHandlers, getHandlerResponseByBehavior, getRowId, getStorageData, getTotalEnableHandlers, initMSWDevToolStore, isHttpHandler, mergeStorageData, updateEnableHandlers };
|
88
114
|
//# sourceMappingURL=util.js.map
|
package/dist/esm/lib/util.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"util.js","sources":["../../../src/lib/util.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"util.js","sources":["../../../src/lib/util.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|