@player-tools/devtools-client 0.2.2--canary.19.409 → 0.2.2--canary.17.433

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