summaryrefslogtreecommitdiffstats
path: root/devtools/client/webconsole/selectors/messages.js
blob: 1030b625183b7254ccc2118444e5e558d752cca3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";

loader.lazyRequireGetter(
  this,
  ["getParentWarningGroupMessageId", "getWarningGroupType"],
  "resource://devtools/client/webconsole/utils/messages.js",
  true
);

function getMutableMessagesById(state) {
  return state.messages.mutableMessagesById;
}

function getMessage(state, id) {
  return getMutableMessagesById(state).get(id);
}

function getAllMessagesUiById(state) {
  return state.messages.messagesUiById;
}

function getAllDisabledMessagesById(state) {
  return state.messages.disabledMessagesById;
}

function getAllCssMessagesMatchingElements(state) {
  return state.messages.cssMessagesMatchingElements;
}

function getAllGroupsById(state) {
  return state.messages.groupsById;
}

function getCurrentGroup(state) {
  return state.messages.currentGroup;
}

function getVisibleMessages(state) {
  return state.messages.visibleMessages;
}

function getFilteredMessagesCount(state) {
  return state.messages.filteredMessagesCount;
}

function getAllRepeatById(state) {
  return state.messages.repeatById;
}

function getAllNetworkMessagesUpdateById(state) {
  return state.messages.networkMessagesUpdateById;
}

function getGroupsById(state) {
  return state.messages.groupsById;
}

function getAllWarningGroupsById(state) {
  return state.messages.warningGroupsById;
}

function getLastMessageId(state) {
  return state.messages.lastMessageId;
}

function isMessageInWarningGroup(message, visibleMessages = []) {
  if (!getWarningGroupType(message)) {
    return false;
  }

  return visibleMessages.includes(getParentWarningGroupMessageId(message));
}

module.exports = {
  getAllGroupsById,
  getAllWarningGroupsById,
  getMutableMessagesById,
  getAllCssMessagesMatchingElements,
  getAllMessagesUiById,
  getAllDisabledMessagesById,
  getAllNetworkMessagesUpdateById,
  getAllRepeatById,
  getCurrentGroup,
  getFilteredMessagesCount,
  getGroupsById,
  getLastMessageId,
  getMessage,
  getVisibleMessages,
  isMessageInWarningGroup,
};