UNPKG

@redux-devtools/rtk-query-monitor

Version:
77 lines (76 loc) 3.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.QueryPreviewInfo = void 0; var _toolkit = require("@reduxjs/toolkit"); var _query = require("@reduxjs/toolkit/query"); var _react = _interopRequireWildcard(require("react")); var _types = require("../types"); var _a11y = require("../utils/a11y"); var _formatters = require("../utils/formatters"); var _object = require("../utils/object"); var _rtkQuery = require("../utils/rtk-query"); var _TreeView = require("./TreeView"); var _react2 = require("@emotion/react"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } const rootProps = { 'aria-labelledby': (0, _a11y.renderTabPanelButtonId)(_types.QueryPreviewTabs.queryinfo), id: (0, _a11y.renderTabPanelId)(_types.QueryPreviewTabs.queryinfo), role: 'tabpanel' }; class QueryPreviewInfo extends _react.PureComponent { shouldExpandNodeInitially = (keyPath, value, layer) => { const lastKey = keyPath[keyPath.length - 1]; return layer <= 1 && lastKey !== 'query' && lastKey !== 'mutation'; }; selectFormattedQuery = (() => (0, _toolkit.createSelector)(_object.identity, resInfo => { const { state, queryKey, reducerPath } = resInfo; const startedAt = state.startedTimeStamp ? new Date(state.startedTimeStamp).toISOString() : '-'; const loadedAt = state.fulfilledTimeStamp ? new Date(state.fulfilledTimeStamp).toISOString() : '-'; const statusFlags = (0, _rtkQuery.getQueryStatusFlags)(state); const timings = { startedAt, loadedAt, duration: '-' }; if (state.fulfilledTimeStamp && state.startedTimeStamp && state.status !== _query.QueryStatus.pending && state.startedTimeStamp <= state.fulfilledTimeStamp) { timings.duration = (0, _formatters.formatMs)(state.fulfilledTimeStamp - state.startedTimeStamp); } if (resInfo.type === 'query') { return { key: queryKey, reducerPath, query: resInfo.state, statusFlags, timings }; } return { key: queryKey, reducerPath, mutation: resInfo.state, statusFlags, timings }; }))(); render() { const { resInfo, isWideLayout } = this.props; const formattedQuery = this.selectFormattedQuery(resInfo); return (0, _react2.jsx)(_TreeView.TreeView, { rootProps: rootProps, data: formattedQuery, isWideLayout: isWideLayout, shouldExpandNodeInitially: this.shouldExpandNodeInitially }); } } exports.QueryPreviewInfo = QueryPreviewInfo;