@player-tools/devtools-client 0.2.2--canary.17.363 → 0.3.0-next.0

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/README.md CHANGED
@@ -1,3 +1,3 @@
1
1
  # devtools-client
2
2
 
3
- Package responsible for providing the common constructs responsible for managing state and consuming events and async actions from a devtools client, i.e. flipper plugin or web extension.
3
+ Package responsible for providing the common constructs (TODO: maybe even including redux) responsible for managing state and consuming events and RPCs.
package/dist/index.cjs.js CHANGED
@@ -2,8 +2,32 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var toolkit = require('@reduxjs/toolkit');
6
5
  var devtoolsCommon = require('@player-tools/devtools-common');
6
+ var toolkit = require('@reduxjs/toolkit');
7
+
8
+ const GET_INFO_DETAILS = "GET_INFO_DETAILS";
9
+ const GET_CONFIG_DETAILS = "GET_CONFIG_DETAILS";
10
+ const GET_VIEW_DETAILS = "GET_VIEW_DETAILS";
11
+ const GET_DATA_BINDING_DETAILS = "GET_DATA_BINDING_DETAILS";
12
+ const GET_CONSOLE_EVAL = "GET_CONSOLE_EVAL";
13
+ const START_PROFILER = "START_PROFILER";
14
+ const STOP_PROFILER = "STOP_PROFILER";
15
+ const _alias = (aliases) => () => (next) => (action) => {
16
+ const alias = aliases[action.type];
17
+ if (alias) {
18
+ return next(alias(action));
19
+ }
20
+ return next(action);
21
+ };
22
+ const buildAliases = (actions) => _alias({
23
+ GET_INFO_DETAILS: (action) => actions["player-runtime-info-request"](action.payload),
24
+ GET_CONFIG_DETAILS: (action) => actions["player-config-request"](action.payload),
25
+ GET_VIEW_DETAILS: (action) => actions["player-view-details-request"](action.payload),
26
+ GET_DATA_BINDING_DETAILS: (action) => actions["player-data-binding-details"](action.payload),
27
+ GET_CONSOLE_EVAL: (action) => actions["player-execute-expression"](action.payload),
28
+ START_PROFILER: (action) => actions["player-start-profiler-request"](action.payload),
29
+ STOP_PROFILER: (action) => actions["player-stop-profiler-request"](action.payload)
30
+ });
7
31
 
8
32
  var __async = (__this, __arguments, generator) => {
9
33
  return new Promise((resolve, reject) => {
@@ -26,85 +50,18 @@ var __async = (__this, __arguments, generator) => {
26
50
  });
27
51
  };
28
52
  const logger = devtoolsCommon.createLogger(devtoolsCommon.BACKGROUND_SOURCE);
29
- exports.Methods = void 0;
30
- (function(Methods2) {
31
- Methods2.buildAsyncThunks = (onMethodRequest) => Object.fromEntries(devtoolsCommon.Methods.MethodTypes.map((method) => [method, toolkit.createAsyncThunk(method, (method2) => __async(this, null, function* () {
32
- logger.log(`Requesting ${method2.type}`, method2.params);
33
- const data = yield onMethodRequest(method2);
34
- logger.log(`Response from ${method2.type}`, data);
53
+ const buildRPCActions = (handlers) => devtoolsCommon.Runtime.RuntimeRPCTypes.reduce((acc, rpcType) => {
54
+ acc[rpcType] = toolkit.createAsyncThunk(rpcType, (params) => __async(undefined, null, function* () {
55
+ logger.log(`Requesting ${rpcType}`, params);
56
+ const data = yield handlers[rpcType].call(params);
57
+ logger.log(`Response from ${rpcType}`, data);
35
58
  return data;
36
- }))]));
37
- })(exports.Methods || (exports.Methods = {}));
38
- exports.Events = void 0;
39
- (function(Events2) {
40
- Events2.actions = Object.fromEntries(devtoolsCommon.Events.EventTypes.map((event) => [event, toolkit.createAction(event)]));
41
- })(exports.Events || (exports.Events = {}));
42
- const Actions = {
43
- "selected-player": toolkit.createAction("selected-player"),
44
- "player-timeline-event": toolkit.createAction("player-timeline-event"),
45
- "clear-selected-data-details": toolkit.createAction("clear-selected-data-details"),
46
- "clear-console": toolkit.createAction("clear-console"),
47
- "clear-logs": toolkit.createAction("clear-logs"),
48
- "clear-store": toolkit.createAction("clear-store")
49
- };
50
-
51
- const GET_INFO_DETAILS = "GET_INFO_DETAILS";
52
- const GET_CONFIG_DETAILS = "GET_CONFIG_DETAILS";
53
- const GET_VIEW_DETAILS = "GET_VIEW_DETAILS";
54
- const GET_DATA_BINDING_DETAILS = "GET_DATA_BINDING_DETAILS";
55
- const GET_CONSOLE_EVAL = "GET_CONSOLE_EVAL";
56
- const START_PROFILER = "START_PROFILER";
57
- const STOP_PROFILER = "STOP_PROFILER";
58
- const _alias = (aliases) => () => (next) => (action) => {
59
- const alias2 = aliases[action.type];
60
- if (alias2) {
61
- return next(alias2(action));
62
- }
63
- return next(action);
64
- };
65
- const alias = (alias2, methods) => (action) => methods[alias2](action.payload);
66
- const buildAliases = (methods) => _alias({
67
- GET_INFO_DETAILS: alias("player-runtime-info-request", methods),
68
- GET_CONFIG_DETAILS: alias("player-config-request", methods),
69
- GET_VIEW_DETAILS: alias("player-view-details-request", methods),
70
- GET_DATA_BINDING_DETAILS: alias("player-data-binding-details", methods),
71
- GET_CONSOLE_EVAL: alias("player-execute-expression", methods),
72
- START_PROFILER: alias("player-start-profiler-request", methods),
73
- STOP_PROFILER: alias("player-stop-profiler-request", methods)
74
- });
59
+ }));
60
+ return acc;
61
+ }, {});
75
62
 
76
- function handleMessage(message) {
77
- const { type } = message;
78
- if (type in devtoolsCommon.Events.EventTypes) {
79
- exports.Events.actions[type](message);
80
- }
81
- }
82
-
83
- var __defProp$1 = Object.defineProperty;
84
- var __defProps = Object.defineProperties;
85
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
86
- var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
87
- var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
88
- var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
89
- var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
90
- var __spreadValues$1 = (a, b) => {
91
- for (var prop in b || (b = {}))
92
- if (__hasOwnProp$1.call(b, prop))
93
- __defNormalProp$1(a, prop, b[prop]);
94
- if (__getOwnPropSymbols$1)
95
- for (var prop of __getOwnPropSymbols$1(b)) {
96
- if (__propIsEnum$1.call(b, prop))
97
- __defNormalProp$1(a, prop, b[prop]);
98
- }
99
- return a;
100
- };
101
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
102
- const initialState = {
103
- selectedPlayerId: null,
104
- activePlayers: {}
105
- };
106
- const methodsReducer = (methods) => (builder) => {
107
- builder.addCase(methods["player-runtime-info-request"].fulfilled, (state, action) => {
63
+ const buildPlayerReducerCallback = (actions) => (builder) => {
64
+ builder.addCase(actions["player-runtime-info-request"].fulfilled, (state, action) => {
108
65
  const { activePlayers, selectedPlayerId } = state;
109
66
  if (!selectedPlayerId) {
110
67
  return;
@@ -112,14 +69,14 @@ const methodsReducer = (methods) => (builder) => {
112
69
  const data = action.payload && Object.keys(action.payload).length > 0 ? action.payload : null;
113
70
  activePlayers[selectedPlayerId].flowInfo = data;
114
71
  });
115
- builder.addCase(methods["player-config-request"].fulfilled, (state, action) => {
72
+ builder.addCase(actions["player-config-request"].fulfilled, (state, action) => {
116
73
  const { activePlayers, selectedPlayerId } = state;
117
74
  if (!selectedPlayerId) {
118
75
  return;
119
76
  }
120
77
  activePlayers[selectedPlayerId].configState = action.payload;
121
78
  });
122
- builder.addCase(methods["player-view-details-request"].fulfilled, (state, action) => {
79
+ builder.addCase(actions["player-view-details-request"].fulfilled, (state, action) => {
123
80
  var _a;
124
81
  const { activePlayers, selectedPlayerId } = state;
125
82
  if (!selectedPlayerId) {
@@ -127,10 +84,10 @@ const methodsReducer = (methods) => (builder) => {
127
84
  }
128
85
  activePlayers[selectedPlayerId].view = (_a = action.payload) == null ? void 0 : _a.lastViewUpdate;
129
86
  });
130
- builder.addCase(methods["player-data-binding-details"].fulfilled, (state, action) => {
87
+ builder.addCase(actions["player-data-binding-details"].fulfilled, (state, action) => {
131
88
  const {
132
89
  meta: {
133
- arg: { params: { binding, playerID } }
90
+ arg: { binding, playerID }
134
91
  },
135
92
  payload
136
93
  } = action;
@@ -144,7 +101,7 @@ const methodsReducer = (methods) => (builder) => {
144
101
  }
145
102
  activePlayers[playerID].dataState.selectedBinding = payload;
146
103
  });
147
- builder.addCase(methods["player-execute-expression"].fulfilled, (state, action) => {
104
+ builder.addCase(actions["player-execute-expression"].fulfilled, (state, action) => {
148
105
  var _a, _b, _c, _d;
149
106
  const { activePlayers, selectedPlayerId } = state;
150
107
  if (!selectedPlayerId) {
@@ -156,14 +113,14 @@ const methodsReducer = (methods) => (builder) => {
156
113
  expression: (_c = (_b = action.payload) == null ? void 0 : _b.exp) != null ? _c : ""
157
114
  });
158
115
  });
159
- builder.addCase(methods["player-start-profiler-request"].fulfilled, (state, action) => {
116
+ builder.addCase(actions["player-start-profiler-request"].fulfilled, (state, action) => {
160
117
  var _a;
161
118
  const { activePlayers, selectedPlayerId } = state;
162
119
  if (!selectedPlayerId)
163
120
  return;
164
121
  activePlayers[selectedPlayerId].profilerInfo = (_a = action.payload) == null ? void 0 : _a.data;
165
122
  });
166
- builder.addCase(methods["player-stop-profiler-request"].fulfilled, (state, action) => {
123
+ builder.addCase(actions["player-stop-profiler-request"].fulfilled, (state, action) => {
167
124
  var _a;
168
125
  const { activePlayers, selectedPlayerId } = state;
169
126
  if (!selectedPlayerId)
@@ -171,238 +128,60 @@ const methodsReducer = (methods) => (builder) => {
171
128
  activePlayers[selectedPlayerId].profilerInfo = (_a = action.payload) == null ? void 0 : _a.data;
172
129
  });
173
130
  };
174
- const eventsReducer = (builder) => {
175
- builder.addCase(exports.Events.actions["player-init"], (state, action) => {
176
- const {
177
- payload: { version, playerID }
178
- } = action;
179
- state.activePlayers[playerID] = {
180
- timelineEvents: [],
181
- dataState: {},
182
- consoleState: { history: [] }
183
- };
184
- state.version = version;
185
- });
186
- builder.addCase(exports.Events.actions["player-removed"], (state, action) => {
187
- delete state.activePlayers[action.payload.playerID];
188
- });
189
- builder.addCase(exports.Events.actions["player-flow-start"], (state, action) => {
190
- const {
191
- payload: { flow, playerID }
192
- } = action;
193
- if (!state.activePlayers[playerID]) {
194
- state.activePlayers[playerID] = {
195
- flowInfo: { currentFlow: flow },
196
- timelineEvents: [],
197
- dataState: {},
198
- consoleState: { history: [] }
199
- };
200
- state.selectedPlayerId = playerID;
201
- return;
202
- }
203
- state.activePlayers[playerID].flowInfo = __spreadProps(__spreadValues$1({}, state.activePlayers[playerID].flowInfo), {
204
- currentFlow: flow
205
- });
206
- });
207
- builder.addCase(exports.Events.actions["player-view-update-event"], (state, action) => {
208
- const {
209
- payload: { playerID, update }
210
- } = action;
211
- if (!state.activePlayers[playerID]) {
212
- state.activePlayers[playerID] = {
213
- view: update,
214
- timelineEvents: [],
215
- dataState: {},
216
- consoleState: { history: [] }
217
- };
218
- state.selectedPlayerId = playerID;
219
- return;
220
- }
221
- state.activePlayers[playerID].view = update;
222
- });
223
- };
224
- const actionsReducer = (builder) => {
225
- builder.addCase(Actions["selected-player"], (state, action) => {
226
- if (action.payload) {
227
- state.selectedPlayerId = action.payload;
228
- return;
229
- }
230
- state.selectedPlayerId = Object.keys(state.activePlayers)[0] || null;
231
- });
232
- builder.addCase(Actions["player-timeline-event"], (state, action) => {
233
- const {
234
- payload: { playerID }
235
- } = action;
236
- if (!state.activePlayers[playerID]) {
237
- state.activePlayers[playerID] = {
238
- timelineEvents: [action.payload],
239
- dataState: {},
240
- consoleState: { history: [] }
241
- };
242
- state.selectedPlayerId = playerID;
243
- return;
244
- }
245
- state.activePlayers[playerID].timelineEvents.push(action.payload);
246
- });
247
- builder.addCase(Actions["clear-selected-data-details"], (state) => {
248
- const { activePlayers, selectedPlayerId } = state;
249
- if (!selectedPlayerId || !activePlayers[selectedPlayerId]) {
250
- return;
251
- }
252
- activePlayers[selectedPlayerId].dataState.selectedBinding = void 0;
253
- });
254
- builder.addCase(Actions["clear-console"], (state) => {
255
- const { activePlayers, selectedPlayerId } = state;
256
- if (!selectedPlayerId) {
257
- return;
258
- }
259
- activePlayers[selectedPlayerId].consoleState = {
260
- history: []
261
- };
262
- });
263
- builder.addCase(Actions["clear-logs"], (state) => {
264
- const { activePlayers, selectedPlayerId } = state;
265
- if (!selectedPlayerId) {
266
- return;
267
- }
268
- activePlayers[selectedPlayerId].timelineEvents = [];
269
- });
270
- builder.addCase(Actions["clear-store"], () => {
271
- return initialState;
272
- });
273
- };
274
- const playersReducer = (methods) => toolkit.createReducer(initialState, (builder) => {
275
- actionsReducer(builder);
276
- eventsReducer(builder);
277
- methodsReducer(methods)(builder);
278
- });
279
131
 
280
- const selectPlayers = (state) => {
281
- return state.players;
282
- };
283
- const selectActivePlayers = toolkit.createSelector(selectPlayers, (players) => players.activePlayers);
284
- const selectPlayerVersion = toolkit.createSelector(selectPlayers, (players) => players.version);
285
- const selectPlayerIds = toolkit.createSelector(selectActivePlayers, (activePlayers) => Object.keys(activePlayers) || []);
286
- const selectSelectedPlayerId = toolkit.createSelector(selectPlayers, (players) => players.selectedPlayerId);
287
- const selectCurrentPlayer = toolkit.createSelector(selectActivePlayers, selectSelectedPlayerId, (activePlayers, selectedPlayerId) => {
288
- if (!selectedPlayerId) {
289
- return null;
290
- }
291
- return activePlayers[selectedPlayerId];
292
- });
293
- const selectConfig = toolkit.createSelector(selectCurrentPlayer, (currentPlayer) => {
294
- var _a;
295
- return (_a = currentPlayer == null ? void 0 : currentPlayer.configState) != null ? _a : null;
296
- });
297
- const selectData = toolkit.createSelector(selectCurrentPlayer, (currentPlayer) => {
298
- return currentPlayer == null ? void 0 : currentPlayer.dataState;
299
- });
300
- const selectFlowInfo = toolkit.createSelector(selectCurrentPlayer, (currentPlayer) => {
301
- if (!currentPlayer) {
302
- return null;
303
- }
304
- return currentPlayer == null ? void 0 : currentPlayer.flowInfo;
305
- });
306
- const selectCurrentFlow = toolkit.createSelector(selectFlowInfo, (flowInfo) => {
307
- return flowInfo == null ? void 0 : flowInfo.currentFlow;
308
- });
309
- const selectCurrentTopic = toolkit.createSelector(selectCurrentFlow, (currentFlow) => {
310
- return currentFlow == null ? void 0 : currentFlow.topic;
311
- });
312
- const selectEvents = toolkit.createSelector(selectCurrentPlayer, (currentPlayer) => {
313
- if (!currentPlayer) {
314
- return [];
315
- }
316
- return currentPlayer == null ? void 0 : currentPlayer.timelineEvents;
317
- });
318
- const selectView = toolkit.createSelector(selectCurrentPlayer, (currentPlayer) => {
319
- if (!currentPlayer) {
320
- return null;
321
- }
322
- return currentPlayer == null ? void 0 : currentPlayer.view;
323
- });
324
- const selectAllBindings = toolkit.createSelector(selectData, (data) => {
325
- return data == null ? void 0 : data.allBindings;
326
- });
327
- const selectSelectedBinding = toolkit.createSelector(selectData, (data) => {
328
- return data == null ? void 0 : data.selectedBinding;
329
- });
330
- const selectConsole = toolkit.createSelector(selectCurrentPlayer, (currentPlayer) => {
331
- if (!currentPlayer) {
332
- return { history: [] };
333
- }
334
- return currentPlayer.consoleState;
335
- });
336
- const selectProfiler = toolkit.createSelector(selectCurrentPlayer, (currentPlayer) => {
337
- return currentPlayer == null ? void 0 : currentPlayer.profilerInfo;
338
- });
339
-
340
- const listenerMiddleware = toolkit.createListenerMiddleware();
341
- listenerMiddleware.startListening({
342
- matcher: toolkit.isAnyOf(exports.Events.actions["player-data-change-event"], exports.Events.actions["player-log-event"], exports.Events.actions["player-flow-start"], exports.Events.actions["player-view-update-event"]),
343
- effect: (action, api) => {
344
- api.dispatch(Actions["player-timeline-event"](action.payload));
345
- }
346
- });
347
- listenerMiddleware.startListening({
348
- actionCreator: exports.Events.actions["runtime-init"],
349
- effect: (_, api) => {
350
- api.dispatch(Actions["clear-store"]());
351
- }
352
- });
353
- listenerMiddleware.startListening({
354
- matcher: toolkit.isAnyOf(exports.Events.actions["player-init"], exports.Events.actions["player-removed"]),
355
- effect: (_, api) => {
356
- api.dispatch(Actions["selected-player"]());
357
- }
358
- });
359
- listenerMiddleware.startListening({
360
- matcher: toolkit.isAnyOf(exports.Events.actions["player-flow-start"], exports.Events.actions["player-data-change-event"]),
361
- effect: (action, api) => {
362
- const { players } = api.getState();
363
- const { playerID } = action.payload;
364
- if (players.activePlayers[playerID] && players.activePlayers[playerID].dataState.selectedBinding) {
365
- api.dispatch({
132
+ function handleMessage(store, message) {
133
+ switch (message.type) {
134
+ case "runtime-init":
135
+ store.dispatch(devtoolsCommon.clearStore());
136
+ break;
137
+ case "player-init":
138
+ store.dispatch(devtoolsCommon.playerInitAction(message));
139
+ store.dispatch(devtoolsCommon.selectedPlayerAction());
140
+ break;
141
+ case "player-removed":
142
+ store.dispatch(devtoolsCommon.playerRemoveAction(message.playerID));
143
+ store.dispatch(devtoolsCommon.selectedPlayerAction());
144
+ break;
145
+ case "player-flow-start":
146
+ store.dispatch(devtoolsCommon.playerFlowStartAction(message));
147
+ store.dispatch(devtoolsCommon.playerTimelineAction(message));
148
+ store.dispatch({
366
149
  type: GET_DATA_BINDING_DETAILS,
367
- payload: { playerID, binding: players.activePlayers[playerID].dataState.selectedBinding }
150
+ payload: { playerID: message.playerID, binding: "" }
368
151
  });
152
+ break;
153
+ case "player-log-event":
154
+ store.dispatch(devtoolsCommon.playerTimelineAction(message));
155
+ break;
156
+ case "player-view-update-event":
157
+ store.dispatch(devtoolsCommon.playerViewUpdateAction(message));
158
+ break;
159
+ case "player-data-change-event": {
160
+ const { players } = store.getState();
161
+ if (players.activePlayers[message.playerID] && players.activePlayers[message.playerID].dataState.selectedBinding) {
162
+ store.dispatch({
163
+ type: GET_DATA_BINDING_DETAILS,
164
+ payload: message
165
+ });
166
+ }
167
+ store.dispatch({
168
+ type: GET_DATA_BINDING_DETAILS,
169
+ payload: { playerID: message.playerID, binding: "" }
170
+ });
171
+ store.dispatch(devtoolsCommon.playerTimelineAction(message));
172
+ break;
369
173
  }
370
- api.dispatch({
371
- type: GET_DATA_BINDING_DETAILS,
372
- payload: { playerID, binding: "" }
373
- });
174
+ default:
175
+ console.warn(`Unhandled event: ${JSON.stringify(message)}`);
176
+ break;
374
177
  }
375
- });
178
+ }
376
179
 
377
- var __defProp = Object.defineProperty;
378
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
379
- var __hasOwnProp = Object.prototype.hasOwnProperty;
380
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
381
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
382
- var __spreadValues = (a, b) => {
383
- for (var prop in b || (b = {}))
384
- if (__hasOwnProp.call(b, prop))
385
- __defNormalProp(a, prop, b[prop]);
386
- if (__getOwnPropSymbols)
387
- for (var prop of __getOwnPropSymbols(b)) {
388
- if (__propIsEnum.call(b, prop))
389
- __defNormalProp(a, prop, b[prop]);
390
- }
391
- return a;
392
- };
393
- const createDevtoolsStore = (onMethodRequest, middleware, additionalReducers) => toolkit.configureStore({
394
- reducer: __spreadValues({
395
- players: playersReducer(exports.Methods.buildAsyncThunks(onMethodRequest))
396
- }, additionalReducers),
397
- middleware: (getDefaultMiddleware) => {
398
- const m = getDefaultMiddleware().concat(listenerMiddleware.middleware);
399
- if (middleware)
400
- m.prepend(middleware);
401
- return m;
402
- }
403
- });
180
+ const buildRPCRequests = (onRequestMessage) => devtoolsCommon.Runtime.RuntimeRPCTypes.reduce((acc, rpcType) => {
181
+ acc[rpcType] = devtoolsCommon.createRPCRequest(rpcType, devtoolsCommon.PANEL_SOURCE, onRequestMessage);
182
+ return acc;
183
+ }, {});
404
184
 
405
- exports.Actions = Actions;
406
185
  exports.GET_CONFIG_DETAILS = GET_CONFIG_DETAILS;
407
186
  exports.GET_CONSOLE_EVAL = GET_CONSOLE_EVAL;
408
187
  exports.GET_DATA_BINDING_DETAILS = GET_DATA_BINDING_DETAILS;
@@ -410,25 +189,15 @@ exports.GET_INFO_DETAILS = GET_INFO_DETAILS;
410
189
  exports.GET_VIEW_DETAILS = GET_VIEW_DETAILS;
411
190
  exports.START_PROFILER = START_PROFILER;
412
191
  exports.STOP_PROFILER = STOP_PROFILER;
413
- exports.actionsReducer = actionsReducer;
414
192
  exports.buildAliases = buildAliases;
415
- exports.createDevtoolsStore = createDevtoolsStore;
416
- exports.eventsReducer = eventsReducer;
193
+ exports.buildPlayerReducerCallback = buildPlayerReducerCallback;
194
+ exports.buildRPCActions = buildRPCActions;
195
+ exports.buildRPCRequests = buildRPCRequests;
417
196
  exports.handleMessage = handleMessage;
418
- exports.methodsReducer = methodsReducer;
419
- exports.playersReducer = playersReducer;
420
- exports.selectAllBindings = selectAllBindings;
421
- exports.selectConfig = selectConfig;
422
- exports.selectConsole = selectConsole;
423
- exports.selectCurrentFlow = selectCurrentFlow;
424
- exports.selectCurrentPlayer = selectCurrentPlayer;
425
- exports.selectCurrentTopic = selectCurrentTopic;
426
- exports.selectEvents = selectEvents;
427
- exports.selectFlowInfo = selectFlowInfo;
428
- exports.selectPlayerIds = selectPlayerIds;
429
- exports.selectPlayerVersion = selectPlayerVersion;
430
- exports.selectProfiler = selectProfiler;
431
- exports.selectSelectedBinding = selectSelectedBinding;
432
- exports.selectSelectedPlayerId = selectSelectedPlayerId;
433
- exports.selectView = selectView;
197
+ Object.keys(devtoolsCommon).forEach(function (k) {
198
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
199
+ enumerable: true,
200
+ get: function () { return devtoolsCommon[k]; }
201
+ });
202
+ });
434
203
  //# sourceMappingURL=index.cjs.js.map