@metamask-previews/notification-services-controller 10.0.0-preview-7a575715 → 10.0.0-preview-5ff65365

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.
Files changed (160) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/NotificationServicesController/NotificationServicesController.cjs +78 -188
  3. package/dist/NotificationServicesController/NotificationServicesController.cjs.map +1 -1
  4. package/dist/NotificationServicesController/NotificationServicesController.d.cts +10 -16
  5. package/dist/NotificationServicesController/NotificationServicesController.d.cts.map +1 -1
  6. package/dist/NotificationServicesController/NotificationServicesController.d.mts +10 -16
  7. package/dist/NotificationServicesController/NotificationServicesController.d.mts.map +1 -1
  8. package/dist/NotificationServicesController/NotificationServicesController.mjs +79 -189
  9. package/dist/NotificationServicesController/NotificationServicesController.mjs.map +1 -1
  10. package/dist/NotificationServicesController/constants/index.cjs +0 -1
  11. package/dist/NotificationServicesController/constants/index.cjs.map +1 -1
  12. package/dist/NotificationServicesController/constants/index.d.cts +0 -1
  13. package/dist/NotificationServicesController/constants/index.d.cts.map +1 -1
  14. package/dist/NotificationServicesController/constants/index.d.mts +0 -1
  15. package/dist/NotificationServicesController/constants/index.d.mts.map +1 -1
  16. package/dist/NotificationServicesController/constants/index.mjs +0 -1
  17. package/dist/NotificationServicesController/constants/index.mjs.map +1 -1
  18. package/dist/NotificationServicesController/constants/notification-schema.cjs +1 -0
  19. package/dist/NotificationServicesController/constants/notification-schema.cjs.map +1 -1
  20. package/dist/NotificationServicesController/constants/notification-schema.d.cts +1 -0
  21. package/dist/NotificationServicesController/constants/notification-schema.d.cts.map +1 -1
  22. package/dist/NotificationServicesController/constants/notification-schema.d.mts +1 -0
  23. package/dist/NotificationServicesController/constants/notification-schema.d.mts.map +1 -1
  24. package/dist/NotificationServicesController/constants/notification-schema.mjs +1 -0
  25. package/dist/NotificationServicesController/constants/notification-schema.mjs.map +1 -1
  26. package/dist/NotificationServicesController/mocks/index.cjs +0 -2
  27. package/dist/NotificationServicesController/mocks/index.cjs.map +1 -1
  28. package/dist/NotificationServicesController/mocks/index.d.cts +0 -2
  29. package/dist/NotificationServicesController/mocks/index.d.cts.map +1 -1
  30. package/dist/NotificationServicesController/mocks/index.d.mts +0 -2
  31. package/dist/NotificationServicesController/mocks/index.d.mts.map +1 -1
  32. package/dist/NotificationServicesController/mocks/index.mjs +0 -2
  33. package/dist/NotificationServicesController/mocks/index.mjs.map +1 -1
  34. package/dist/NotificationServicesController/mocks/mockResponses.cjs +9 -9
  35. package/dist/NotificationServicesController/mocks/mockResponses.cjs.map +1 -1
  36. package/dist/NotificationServicesController/mocks/mockResponses.d.cts +7 -4
  37. package/dist/NotificationServicesController/mocks/mockResponses.d.cts.map +1 -1
  38. package/dist/NotificationServicesController/mocks/mockResponses.d.mts +7 -4
  39. package/dist/NotificationServicesController/mocks/mockResponses.d.mts.map +1 -1
  40. package/dist/NotificationServicesController/mocks/mockResponses.mjs +7 -7
  41. package/dist/NotificationServicesController/mocks/mockResponses.mjs.map +1 -1
  42. package/dist/NotificationServicesController/processors/process-notifications.cjs +4 -1
  43. package/dist/NotificationServicesController/processors/process-notifications.cjs.map +1 -1
  44. package/dist/NotificationServicesController/processors/process-notifications.d.cts +623 -0
  45. package/dist/NotificationServicesController/processors/process-notifications.d.cts.map +1 -1
  46. package/dist/NotificationServicesController/processors/process-notifications.d.mts +623 -0
  47. package/dist/NotificationServicesController/processors/process-notifications.d.mts.map +1 -1
  48. package/dist/NotificationServicesController/processors/process-notifications.mjs +2 -0
  49. package/dist/NotificationServicesController/processors/process-notifications.mjs.map +1 -1
  50. package/dist/NotificationServicesController/services/notification-config-cache.cjs +61 -0
  51. package/dist/NotificationServicesController/services/notification-config-cache.cjs.map +1 -0
  52. package/dist/NotificationServicesController/services/notification-config-cache.d.cts +15 -0
  53. package/dist/NotificationServicesController/services/notification-config-cache.d.cts.map +1 -0
  54. package/dist/NotificationServicesController/services/notification-config-cache.d.mts +15 -0
  55. package/dist/NotificationServicesController/services/notification-config-cache.d.mts.map +1 -0
  56. package/dist/NotificationServicesController/services/notification-config-cache.mjs +57 -0
  57. package/dist/NotificationServicesController/services/notification-config-cache.mjs.map +1 -0
  58. package/dist/NotificationServicesController/services/onchain-notifications.cjs +67 -140
  59. package/dist/NotificationServicesController/services/onchain-notifications.cjs.map +1 -1
  60. package/dist/NotificationServicesController/services/onchain-notifications.d.cts +25 -31
  61. package/dist/NotificationServicesController/services/onchain-notifications.d.cts.map +1 -1
  62. package/dist/NotificationServicesController/services/onchain-notifications.d.mts +25 -31
  63. package/dist/NotificationServicesController/services/onchain-notifications.d.mts.map +1 -1
  64. package/dist/NotificationServicesController/services/onchain-notifications.mjs +65 -137
  65. package/dist/NotificationServicesController/services/onchain-notifications.mjs.map +1 -1
  66. package/dist/NotificationServicesController/types/index.cjs.map +1 -1
  67. package/dist/NotificationServicesController/types/index.d.cts +0 -1
  68. package/dist/NotificationServicesController/types/index.d.cts.map +1 -1
  69. package/dist/NotificationServicesController/types/index.d.mts +0 -1
  70. package/dist/NotificationServicesController/types/index.d.mts.map +1 -1
  71. package/dist/NotificationServicesController/types/index.mjs.map +1 -1
  72. package/dist/NotificationServicesController/ui/constants.cjs +6 -0
  73. package/dist/NotificationServicesController/ui/constants.cjs.map +1 -1
  74. package/dist/NotificationServicesController/ui/constants.d.cts +6 -0
  75. package/dist/NotificationServicesController/ui/constants.d.cts.map +1 -1
  76. package/dist/NotificationServicesController/ui/constants.d.mts +6 -0
  77. package/dist/NotificationServicesController/ui/constants.d.mts.map +1 -1
  78. package/dist/NotificationServicesController/ui/constants.mjs +6 -0
  79. package/dist/NotificationServicesController/ui/constants.mjs.map +1 -1
  80. package/dist/NotificationServicesController/utils/utils.cjs +1 -350
  81. package/dist/NotificationServicesController/utils/utils.cjs.map +1 -1
  82. package/dist/NotificationServicesController/utils/utils.d.cts +0 -141
  83. package/dist/NotificationServicesController/utils/utils.d.cts.map +1 -1
  84. package/dist/NotificationServicesController/utils/utils.d.mts +0 -141
  85. package/dist/NotificationServicesController/utils/utils.d.mts.map +1 -1
  86. package/dist/NotificationServicesController/utils/utils.mjs +0 -337
  87. package/dist/NotificationServicesController/utils/utils.mjs.map +1 -1
  88. package/dist/NotificationServicesPushController/NotificationServicesPushController.cjs +22 -15
  89. package/dist/NotificationServicesPushController/NotificationServicesPushController.cjs.map +1 -1
  90. package/dist/NotificationServicesPushController/NotificationServicesPushController.d.cts +6 -5
  91. package/dist/NotificationServicesPushController/NotificationServicesPushController.d.cts.map +1 -1
  92. package/dist/NotificationServicesPushController/NotificationServicesPushController.d.mts +6 -5
  93. package/dist/NotificationServicesPushController/NotificationServicesPushController.d.mts.map +1 -1
  94. package/dist/NotificationServicesPushController/NotificationServicesPushController.mjs +23 -16
  95. package/dist/NotificationServicesPushController/NotificationServicesPushController.mjs.map +1 -1
  96. package/dist/NotificationServicesPushController/mocks/mockResponse.cjs +1 -16
  97. package/dist/NotificationServicesPushController/mocks/mockResponse.cjs.map +1 -1
  98. package/dist/NotificationServicesPushController/mocks/mockResponse.d.cts +0 -7
  99. package/dist/NotificationServicesPushController/mocks/mockResponse.d.cts.map +1 -1
  100. package/dist/NotificationServicesPushController/mocks/mockResponse.d.mts +0 -7
  101. package/dist/NotificationServicesPushController/mocks/mockResponse.d.mts.map +1 -1
  102. package/dist/NotificationServicesPushController/mocks/mockResponse.mjs +0 -14
  103. package/dist/NotificationServicesPushController/mocks/mockResponse.mjs.map +1 -1
  104. package/dist/NotificationServicesPushController/services/endpoints.cjs +1 -1
  105. package/dist/NotificationServicesPushController/services/endpoints.cjs.map +1 -1
  106. package/dist/NotificationServicesPushController/services/endpoints.d.cts +1 -1
  107. package/dist/NotificationServicesPushController/services/endpoints.d.cts.map +1 -1
  108. package/dist/NotificationServicesPushController/services/endpoints.d.mts +1 -1
  109. package/dist/NotificationServicesPushController/services/endpoints.d.mts.map +1 -1
  110. package/dist/NotificationServicesPushController/services/endpoints.mjs +1 -1
  111. package/dist/NotificationServicesPushController/services/endpoints.mjs.map +1 -1
  112. package/dist/NotificationServicesPushController/services/services.cjs +18 -41
  113. package/dist/NotificationServicesPushController/services/services.cjs.map +1 -1
  114. package/dist/NotificationServicesPushController/services/services.d.cts +19 -33
  115. package/dist/NotificationServicesPushController/services/services.d.cts.map +1 -1
  116. package/dist/NotificationServicesPushController/services/services.d.mts +19 -33
  117. package/dist/NotificationServicesPushController/services/services.d.mts.map +1 -1
  118. package/dist/NotificationServicesPushController/services/services.mjs +17 -39
  119. package/dist/NotificationServicesPushController/services/services.mjs.map +1 -1
  120. package/package.json +1 -1
  121. package/dist/NotificationServicesController/constants/constants.cjs +0 -7
  122. package/dist/NotificationServicesController/constants/constants.cjs.map +0 -1
  123. package/dist/NotificationServicesController/constants/constants.d.cts +0 -3
  124. package/dist/NotificationServicesController/constants/constants.d.cts.map +0 -1
  125. package/dist/NotificationServicesController/constants/constants.d.mts +0 -3
  126. package/dist/NotificationServicesController/constants/constants.d.mts.map +0 -1
  127. package/dist/NotificationServicesController/constants/constants.mjs +0 -4
  128. package/dist/NotificationServicesController/constants/constants.mjs.map +0 -1
  129. package/dist/NotificationServicesController/mocks/mock-notification-trigger.cjs +0 -22
  130. package/dist/NotificationServicesController/mocks/mock-notification-trigger.cjs.map +0 -1
  131. package/dist/NotificationServicesController/mocks/mock-notification-trigger.d.cts +0 -9
  132. package/dist/NotificationServicesController/mocks/mock-notification-trigger.d.cts.map +0 -1
  133. package/dist/NotificationServicesController/mocks/mock-notification-trigger.d.mts +0 -9
  134. package/dist/NotificationServicesController/mocks/mock-notification-trigger.d.mts.map +0 -1
  135. package/dist/NotificationServicesController/mocks/mock-notification-trigger.mjs +0 -18
  136. package/dist/NotificationServicesController/mocks/mock-notification-trigger.mjs.map +0 -1
  137. package/dist/NotificationServicesController/mocks/mock-notification-user-storage.cjs +0 -82
  138. package/dist/NotificationServicesController/mocks/mock-notification-user-storage.cjs.map +0 -1
  139. package/dist/NotificationServicesController/mocks/mock-notification-user-storage.d.cts +0 -35
  140. package/dist/NotificationServicesController/mocks/mock-notification-user-storage.d.cts.map +0 -1
  141. package/dist/NotificationServicesController/mocks/mock-notification-user-storage.d.mts +0 -35
  142. package/dist/NotificationServicesController/mocks/mock-notification-user-storage.d.mts.map +0 -1
  143. package/dist/NotificationServicesController/mocks/mock-notification-user-storage.mjs +0 -76
  144. package/dist/NotificationServicesController/mocks/mock-notification-user-storage.mjs.map +0 -1
  145. package/dist/NotificationServicesController/types/user-storage/index.cjs +0 -3
  146. package/dist/NotificationServicesController/types/user-storage/index.cjs.map +0 -1
  147. package/dist/NotificationServicesController/types/user-storage/index.d.cts +0 -2
  148. package/dist/NotificationServicesController/types/user-storage/index.d.cts.map +0 -1
  149. package/dist/NotificationServicesController/types/user-storage/index.d.mts +0 -2
  150. package/dist/NotificationServicesController/types/user-storage/index.d.mts.map +0 -1
  151. package/dist/NotificationServicesController/types/user-storage/index.mjs +0 -2
  152. package/dist/NotificationServicesController/types/user-storage/index.mjs.map +0 -1
  153. package/dist/NotificationServicesController/types/user-storage/user-storage.cjs +0 -3
  154. package/dist/NotificationServicesController/types/user-storage/user-storage.cjs.map +0 -1
  155. package/dist/NotificationServicesController/types/user-storage/user-storage.d.cts +0 -26
  156. package/dist/NotificationServicesController/types/user-storage/user-storage.d.cts.map +0 -1
  157. package/dist/NotificationServicesController/types/user-storage/user-storage.d.mts +0 -26
  158. package/dist/NotificationServicesController/types/user-storage/user-storage.d.mts.map +0 -1
  159. package/dist/NotificationServicesController/types/user-storage/user-storage.mjs +0 -2
  160. package/dist/NotificationServicesController/types/user-storage/user-storage.mjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMockMarkNotificationsAsReadResponse = exports.getMockListNotificationsResponse = exports.MOCK_RAW_ON_CHAIN_NOTIFICATIONS = exports.getMockBatchDeleteTriggersResponse = exports.getMockBatchCreateTriggersResponse = exports.getMockFeatureAnnouncementResponse = exports.CONTENTFUL_RESPONSE = void 0;
3
+ exports.getMockMarkNotificationsAsReadResponse = exports.getMockListNotificationsResponse = exports.MOCK_RAW_ON_CHAIN_NOTIFICATIONS = exports.getMockOnChainNotificationsConfig = exports.getMockUpdateOnChainNotifications = exports.getMockFeatureAnnouncementResponse = exports.CONTENTFUL_RESPONSE = void 0;
4
4
  const mock_feature_announcements_1 = require("./mock-feature-announcements.cjs");
5
5
  const mock_raw_notifications_1 = require("./mock-raw-notifications.cjs");
6
6
  const feature_announcements_1 = require("../services/feature-announcements.cjs");
@@ -14,22 +14,22 @@ const getMockFeatureAnnouncementResponse = () => {
14
14
  };
15
15
  };
16
16
  exports.getMockFeatureAnnouncementResponse = getMockFeatureAnnouncementResponse;
17
- const getMockBatchCreateTriggersResponse = () => {
17
+ const getMockUpdateOnChainNotifications = () => {
18
18
  return {
19
- url: onchain_notifications_1.TRIGGER_API_BATCH_ENDPOINT,
19
+ url: onchain_notifications_1.TRIGGER_API_NOTIFICATIONS_ENDPOINT,
20
20
  requestMethod: 'POST',
21
21
  response: null,
22
22
  };
23
23
  };
24
- exports.getMockBatchCreateTriggersResponse = getMockBatchCreateTriggersResponse;
25
- const getMockBatchDeleteTriggersResponse = () => {
24
+ exports.getMockUpdateOnChainNotifications = getMockUpdateOnChainNotifications;
25
+ const getMockOnChainNotificationsConfig = () => {
26
26
  return {
27
- url: onchain_notifications_1.TRIGGER_API_BATCH_ENDPOINT,
28
- requestMethod: 'DELETE',
29
- response: null,
27
+ url: onchain_notifications_1.TRIGGER_API_NOTIFICATIONS_QUERY_ENDPOINT,
28
+ requestMethod: 'POST',
29
+ response: [{ address: '0xTestAddress', enabled: true }],
30
30
  };
31
31
  };
32
- exports.getMockBatchDeleteTriggersResponse = getMockBatchDeleteTriggersResponse;
32
+ exports.getMockOnChainNotificationsConfig = getMockOnChainNotificationsConfig;
33
33
  exports.MOCK_RAW_ON_CHAIN_NOTIFICATIONS = (0, mock_raw_notifications_1.createMockRawOnChainNotifications)();
34
34
  const getMockListNotificationsResponse = () => {
35
35
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"mockResponses.cjs","sourceRoot":"","sources":["../../../src/NotificationServicesController/mocks/mockResponses.ts"],"names":[],"mappings":";;;AAAA,iFAAsF;AACtF,yEAA6E;AAC7E,iFAA6E;AAC7E,iFAI2C;AAQ9B,QAAA,mBAAmB,GAAG,IAAA,mEAAsC,GAAE,CAAC;AAErE,MAAM,kCAAkC,GAAG,GAAG,EAAE;IACrD,OAAO;QACL,GAAG,EAAE,gDAAwB;QAC7B,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,2BAAmB;KACP,CAAC;AAC3B,CAAC,CAAC;AANW,QAAA,kCAAkC,sCAM7C;AAEK,MAAM,kCAAkC,GAAG,GAAG,EAAE;IACrD,OAAO;QACL,GAAG,EAAE,kDAA0B;QAC/B,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,IAAI;KACQ,CAAC;AAC3B,CAAC,CAAC;AANW,QAAA,kCAAkC,sCAM7C;AAEK,MAAM,kCAAkC,GAAG,GAAG,EAAE;IACrD,OAAO;QACL,GAAG,EAAE,kDAA0B;QAC/B,aAAa,EAAE,QAAQ;QACvB,QAAQ,EAAE,IAAI;KACQ,CAAC;AAC3B,CAAC,CAAC;AANW,QAAA,kCAAkC,sCAM7C;AAEW,QAAA,+BAA+B,GAC1C,IAAA,0DAAiC,GAAE,CAAC;AAE/B,MAAM,gCAAgC,GAAG,GAAG,EAAE;IACnD,OAAO;QACL,GAAG,EAAE,sDAA8B;QACnC,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,uCAA+B;KACnB,CAAC;AAC3B,CAAC,CAAC;AANW,QAAA,gCAAgC,oCAM3C;AAEK,MAAM,sCAAsC,GAAG,GAAG,EAAE;IACzD,OAAO;QACL,GAAG,EAAE,kEAA0C;QAC/C,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,IAAI;KACQ,CAAC;AAC3B,CAAC,CAAC;AANW,QAAA,sCAAsC,0CAMjD","sourcesContent":["import { createMockFeatureAnnouncementAPIResult } from './mock-feature-announcements';\nimport { createMockRawOnChainNotifications } from './mock-raw-notifications';\nimport { FEATURE_ANNOUNCEMENT_API } from '../services/feature-announcements';\nimport {\n NOTIFICATION_API_LIST_ENDPOINT,\n NOTIFICATION_API_MARK_ALL_AS_READ_ENDPOINT,\n TRIGGER_API_BATCH_ENDPOINT,\n} from '../services/onchain-notifications';\n\ntype MockResponse = {\n url: string;\n requestMethod: 'GET' | 'POST' | 'PUT' | 'DELETE';\n response: unknown;\n};\n\nexport const CONTENTFUL_RESPONSE = createMockFeatureAnnouncementAPIResult();\n\nexport const getMockFeatureAnnouncementResponse = () => {\n return {\n url: FEATURE_ANNOUNCEMENT_API,\n requestMethod: 'GET',\n response: CONTENTFUL_RESPONSE,\n } satisfies MockResponse;\n};\n\nexport const getMockBatchCreateTriggersResponse = () => {\n return {\n url: TRIGGER_API_BATCH_ENDPOINT,\n requestMethod: 'POST',\n response: null,\n } satisfies MockResponse;\n};\n\nexport const getMockBatchDeleteTriggersResponse = () => {\n return {\n url: TRIGGER_API_BATCH_ENDPOINT,\n requestMethod: 'DELETE',\n response: null,\n } satisfies MockResponse;\n};\n\nexport const MOCK_RAW_ON_CHAIN_NOTIFICATIONS =\n createMockRawOnChainNotifications();\n\nexport const getMockListNotificationsResponse = () => {\n return {\n url: NOTIFICATION_API_LIST_ENDPOINT,\n requestMethod: 'POST',\n response: MOCK_RAW_ON_CHAIN_NOTIFICATIONS,\n } satisfies MockResponse;\n};\n\nexport const getMockMarkNotificationsAsReadResponse = () => {\n return {\n url: NOTIFICATION_API_MARK_ALL_AS_READ_ENDPOINT,\n requestMethod: 'POST',\n response: null,\n } satisfies MockResponse;\n};\n"]}
1
+ {"version":3,"file":"mockResponses.cjs","sourceRoot":"","sources":["../../../src/NotificationServicesController/mocks/mockResponses.ts"],"names":[],"mappings":";;;AAAA,iFAAsF;AACtF,yEAA6E;AAC7E,iFAA6E;AAC7E,iFAK2C;AAQ9B,QAAA,mBAAmB,GAAG,IAAA,mEAAsC,GAAE,CAAC;AAErE,MAAM,kCAAkC,GAAG,GAAG,EAAE;IACrD,OAAO;QACL,GAAG,EAAE,gDAAwB;QAC7B,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,2BAAmB;KACP,CAAC;AAC3B,CAAC,CAAC;AANW,QAAA,kCAAkC,sCAM7C;AAEK,MAAM,iCAAiC,GAAG,GAAG,EAAE;IACpD,OAAO;QACL,GAAG,EAAE,0DAAkC;QACvC,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,IAAI;KACQ,CAAC;AAC3B,CAAC,CAAC;AANW,QAAA,iCAAiC,qCAM5C;AAEK,MAAM,iCAAiC,GAAG,GAAG,EAAE;IACpD,OAAO;QACL,GAAG,EAAE,gEAAwC;QAC7C,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KACjC,CAAC;AAC3B,CAAC,CAAC;AANW,QAAA,iCAAiC,qCAM5C;AAEW,QAAA,+BAA+B,GAC1C,IAAA,0DAAiC,GAAE,CAAC;AAE/B,MAAM,gCAAgC,GAAG,GAAG,EAAE;IACnD,OAAO;QACL,GAAG,EAAE,sDAA8B;QACnC,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,uCAA+B;KACnB,CAAC;AAC3B,CAAC,CAAC;AANW,QAAA,gCAAgC,oCAM3C;AAEK,MAAM,sCAAsC,GAAG,GAAG,EAAE;IACzD,OAAO;QACL,GAAG,EAAE,kEAA0C;QAC/C,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,IAAI;KACQ,CAAC;AAC3B,CAAC,CAAC;AANW,QAAA,sCAAsC,0CAMjD","sourcesContent":["import { createMockFeatureAnnouncementAPIResult } from './mock-feature-announcements';\nimport { createMockRawOnChainNotifications } from './mock-raw-notifications';\nimport { FEATURE_ANNOUNCEMENT_API } from '../services/feature-announcements';\nimport {\n NOTIFICATION_API_LIST_ENDPOINT,\n NOTIFICATION_API_MARK_ALL_AS_READ_ENDPOINT,\n TRIGGER_API_NOTIFICATIONS_ENDPOINT,\n TRIGGER_API_NOTIFICATIONS_QUERY_ENDPOINT,\n} from '../services/onchain-notifications';\n\ntype MockResponse = {\n url: string;\n requestMethod: 'GET' | 'POST' | 'PUT' | 'DELETE';\n response: unknown;\n};\n\nexport const CONTENTFUL_RESPONSE = createMockFeatureAnnouncementAPIResult();\n\nexport const getMockFeatureAnnouncementResponse = () => {\n return {\n url: FEATURE_ANNOUNCEMENT_API,\n requestMethod: 'GET',\n response: CONTENTFUL_RESPONSE,\n } satisfies MockResponse;\n};\n\nexport const getMockUpdateOnChainNotifications = () => {\n return {\n url: TRIGGER_API_NOTIFICATIONS_ENDPOINT,\n requestMethod: 'POST',\n response: null,\n } satisfies MockResponse;\n};\n\nexport const getMockOnChainNotificationsConfig = () => {\n return {\n url: TRIGGER_API_NOTIFICATIONS_QUERY_ENDPOINT,\n requestMethod: 'POST',\n response: [{ address: '0xTestAddress', enabled: true }],\n } satisfies MockResponse;\n};\n\nexport const MOCK_RAW_ON_CHAIN_NOTIFICATIONS =\n createMockRawOnChainNotifications();\n\nexport const getMockListNotificationsResponse = () => {\n return {\n url: NOTIFICATION_API_LIST_ENDPOINT,\n requestMethod: 'POST',\n response: MOCK_RAW_ON_CHAIN_NOTIFICATIONS,\n } satisfies MockResponse;\n};\n\nexport const getMockMarkNotificationsAsReadResponse = () => {\n return {\n url: NOTIFICATION_API_MARK_ALL_AS_READ_ENDPOINT,\n requestMethod: 'POST',\n response: null,\n } satisfies MockResponse;\n};\n"]}
@@ -4,15 +4,18 @@ export declare const getMockFeatureAnnouncementResponse: () => {
4
4
  requestMethod: "GET";
5
5
  response: import("../services/feature-announcements.cjs").ContentfulResult;
6
6
  };
7
- export declare const getMockBatchCreateTriggersResponse: () => {
7
+ export declare const getMockUpdateOnChainNotifications: () => {
8
8
  url: string;
9
9
  requestMethod: "POST";
10
10
  response: null;
11
11
  };
12
- export declare const getMockBatchDeleteTriggersResponse: () => {
12
+ export declare const getMockOnChainNotificationsConfig: () => {
13
13
  url: string;
14
- requestMethod: "DELETE";
15
- response: null;
14
+ requestMethod: "POST";
15
+ response: {
16
+ address: string;
17
+ enabled: boolean;
18
+ }[];
16
19
  };
17
20
  export declare const MOCK_RAW_ON_CHAIN_NOTIFICATIONS: import("../index.cjs").OnChainRawNotification[];
18
21
  export declare const getMockListNotificationsResponse: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"mockResponses.d.cts","sourceRoot":"","sources":["../../../src/NotificationServicesController/mocks/mockResponses.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,mBAAmB,8DAA2C,CAAC;AAE5E,eAAO,MAAM,kCAAkC;;;;CAM9C,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;;CAM9C,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;;CAM9C,CAAC;AAEF,eAAO,MAAM,+BAA+B,uCACP,CAAC;AAEtC,eAAO,MAAM,gCAAgC;;;;CAM5C,CAAC;AAEF,eAAO,MAAM,sCAAsC;;;;CAMlD,CAAC"}
1
+ {"version":3,"file":"mockResponses.d.cts","sourceRoot":"","sources":["../../../src/NotificationServicesController/mocks/mockResponses.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,mBAAmB,8DAA2C,CAAC;AAE5E,eAAO,MAAM,kCAAkC;;;;CAM9C,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;CAM7C,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;;;CAM7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,uCACP,CAAC;AAEtC,eAAO,MAAM,gCAAgC;;;;CAM5C,CAAC;AAEF,eAAO,MAAM,sCAAsC;;;;CAMlD,CAAC"}
@@ -4,15 +4,18 @@ export declare const getMockFeatureAnnouncementResponse: () => {
4
4
  requestMethod: "GET";
5
5
  response: import("../services/feature-announcements.mjs").ContentfulResult;
6
6
  };
7
- export declare const getMockBatchCreateTriggersResponse: () => {
7
+ export declare const getMockUpdateOnChainNotifications: () => {
8
8
  url: string;
9
9
  requestMethod: "POST";
10
10
  response: null;
11
11
  };
12
- export declare const getMockBatchDeleteTriggersResponse: () => {
12
+ export declare const getMockOnChainNotificationsConfig: () => {
13
13
  url: string;
14
- requestMethod: "DELETE";
15
- response: null;
14
+ requestMethod: "POST";
15
+ response: {
16
+ address: string;
17
+ enabled: boolean;
18
+ }[];
16
19
  };
17
20
  export declare const MOCK_RAW_ON_CHAIN_NOTIFICATIONS: import("../index.mjs").OnChainRawNotification[];
18
21
  export declare const getMockListNotificationsResponse: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"mockResponses.d.mts","sourceRoot":"","sources":["../../../src/NotificationServicesController/mocks/mockResponses.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,mBAAmB,8DAA2C,CAAC;AAE5E,eAAO,MAAM,kCAAkC;;;;CAM9C,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;;CAM9C,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;;CAM9C,CAAC;AAEF,eAAO,MAAM,+BAA+B,uCACP,CAAC;AAEtC,eAAO,MAAM,gCAAgC;;;;CAM5C,CAAC;AAEF,eAAO,MAAM,sCAAsC;;;;CAMlD,CAAC"}
1
+ {"version":3,"file":"mockResponses.d.mts","sourceRoot":"","sources":["../../../src/NotificationServicesController/mocks/mockResponses.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,mBAAmB,8DAA2C,CAAC;AAE5E,eAAO,MAAM,kCAAkC;;;;CAM9C,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;CAM7C,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;;;CAM7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,uCACP,CAAC;AAEtC,eAAO,MAAM,gCAAgC;;;;CAM5C,CAAC;AAEF,eAAO,MAAM,sCAAsC;;;;CAMlD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { createMockFeatureAnnouncementAPIResult } from "./mock-feature-announcements.mjs";
2
2
  import { createMockRawOnChainNotifications } from "./mock-raw-notifications.mjs";
3
3
  import { FEATURE_ANNOUNCEMENT_API } from "../services/feature-announcements.mjs";
4
- import { NOTIFICATION_API_LIST_ENDPOINT, NOTIFICATION_API_MARK_ALL_AS_READ_ENDPOINT, TRIGGER_API_BATCH_ENDPOINT } from "../services/onchain-notifications.mjs";
4
+ import { NOTIFICATION_API_LIST_ENDPOINT, NOTIFICATION_API_MARK_ALL_AS_READ_ENDPOINT, TRIGGER_API_NOTIFICATIONS_ENDPOINT, TRIGGER_API_NOTIFICATIONS_QUERY_ENDPOINT } from "../services/onchain-notifications.mjs";
5
5
  export const CONTENTFUL_RESPONSE = createMockFeatureAnnouncementAPIResult();
6
6
  export const getMockFeatureAnnouncementResponse = () => {
7
7
  return {
@@ -10,18 +10,18 @@ export const getMockFeatureAnnouncementResponse = () => {
10
10
  response: CONTENTFUL_RESPONSE,
11
11
  };
12
12
  };
13
- export const getMockBatchCreateTriggersResponse = () => {
13
+ export const getMockUpdateOnChainNotifications = () => {
14
14
  return {
15
- url: TRIGGER_API_BATCH_ENDPOINT,
15
+ url: TRIGGER_API_NOTIFICATIONS_ENDPOINT,
16
16
  requestMethod: 'POST',
17
17
  response: null,
18
18
  };
19
19
  };
20
- export const getMockBatchDeleteTriggersResponse = () => {
20
+ export const getMockOnChainNotificationsConfig = () => {
21
21
  return {
22
- url: TRIGGER_API_BATCH_ENDPOINT,
23
- requestMethod: 'DELETE',
24
- response: null,
22
+ url: TRIGGER_API_NOTIFICATIONS_QUERY_ENDPOINT,
23
+ requestMethod: 'POST',
24
+ response: [{ address: '0xTestAddress', enabled: true }],
25
25
  };
26
26
  };
27
27
  export const MOCK_RAW_ON_CHAIN_NOTIFICATIONS = createMockRawOnChainNotifications();
@@ -1 +1 @@
1
- {"version":3,"file":"mockResponses.mjs","sourceRoot":"","sources":["../../../src/NotificationServicesController/mocks/mockResponses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sCAAsC,EAAE,yCAAqC;AACtF,OAAO,EAAE,iCAAiC,EAAE,qCAAiC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,8CAA0C;AAC7E,OAAO,EACL,8BAA8B,EAC9B,0CAA0C,EAC1C,0BAA0B,EAC3B,8CAA0C;AAQ3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,sCAAsC,EAAE,CAAC;AAE5E,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAG,EAAE;IACrD,OAAO;QACL,GAAG,EAAE,wBAAwB;QAC7B,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,mBAAmB;KACP,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAG,EAAE;IACrD,OAAO;QACL,GAAG,EAAE,0BAA0B;QAC/B,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,IAAI;KACQ,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAG,EAAE;IACrD,OAAO;QACL,GAAG,EAAE,0BAA0B;QAC/B,aAAa,EAAE,QAAQ;QACvB,QAAQ,EAAE,IAAI;KACQ,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAC1C,iCAAiC,EAAE,CAAC;AAEtC,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,EAAE;IACnD,OAAO;QACL,GAAG,EAAE,8BAA8B;QACnC,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,+BAA+B;KACnB,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sCAAsC,GAAG,GAAG,EAAE;IACzD,OAAO;QACL,GAAG,EAAE,0CAA0C;QAC/C,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,IAAI;KACQ,CAAC;AAC3B,CAAC,CAAC","sourcesContent":["import { createMockFeatureAnnouncementAPIResult } from './mock-feature-announcements';\nimport { createMockRawOnChainNotifications } from './mock-raw-notifications';\nimport { FEATURE_ANNOUNCEMENT_API } from '../services/feature-announcements';\nimport {\n NOTIFICATION_API_LIST_ENDPOINT,\n NOTIFICATION_API_MARK_ALL_AS_READ_ENDPOINT,\n TRIGGER_API_BATCH_ENDPOINT,\n} from '../services/onchain-notifications';\n\ntype MockResponse = {\n url: string;\n requestMethod: 'GET' | 'POST' | 'PUT' | 'DELETE';\n response: unknown;\n};\n\nexport const CONTENTFUL_RESPONSE = createMockFeatureAnnouncementAPIResult();\n\nexport const getMockFeatureAnnouncementResponse = () => {\n return {\n url: FEATURE_ANNOUNCEMENT_API,\n requestMethod: 'GET',\n response: CONTENTFUL_RESPONSE,\n } satisfies MockResponse;\n};\n\nexport const getMockBatchCreateTriggersResponse = () => {\n return {\n url: TRIGGER_API_BATCH_ENDPOINT,\n requestMethod: 'POST',\n response: null,\n } satisfies MockResponse;\n};\n\nexport const getMockBatchDeleteTriggersResponse = () => {\n return {\n url: TRIGGER_API_BATCH_ENDPOINT,\n requestMethod: 'DELETE',\n response: null,\n } satisfies MockResponse;\n};\n\nexport const MOCK_RAW_ON_CHAIN_NOTIFICATIONS =\n createMockRawOnChainNotifications();\n\nexport const getMockListNotificationsResponse = () => {\n return {\n url: NOTIFICATION_API_LIST_ENDPOINT,\n requestMethod: 'POST',\n response: MOCK_RAW_ON_CHAIN_NOTIFICATIONS,\n } satisfies MockResponse;\n};\n\nexport const getMockMarkNotificationsAsReadResponse = () => {\n return {\n url: NOTIFICATION_API_MARK_ALL_AS_READ_ENDPOINT,\n requestMethod: 'POST',\n response: null,\n } satisfies MockResponse;\n};\n"]}
1
+ {"version":3,"file":"mockResponses.mjs","sourceRoot":"","sources":["../../../src/NotificationServicesController/mocks/mockResponses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sCAAsC,EAAE,yCAAqC;AACtF,OAAO,EAAE,iCAAiC,EAAE,qCAAiC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,8CAA0C;AAC7E,OAAO,EACL,8BAA8B,EAC9B,0CAA0C,EAC1C,kCAAkC,EAClC,wCAAwC,EACzC,8CAA0C;AAQ3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,sCAAsC,EAAE,CAAC;AAE5E,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAG,EAAE;IACrD,OAAO;QACL,GAAG,EAAE,wBAAwB;QAC7B,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,mBAAmB;KACP,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,EAAE;IACpD,OAAO;QACL,GAAG,EAAE,kCAAkC;QACvC,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,IAAI;KACQ,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,EAAE;IACpD,OAAO;QACL,GAAG,EAAE,wCAAwC;QAC7C,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KACjC,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAC1C,iCAAiC,EAAE,CAAC;AAEtC,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,EAAE;IACnD,OAAO;QACL,GAAG,EAAE,8BAA8B;QACnC,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,+BAA+B;KACnB,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sCAAsC,GAAG,GAAG,EAAE;IACzD,OAAO;QACL,GAAG,EAAE,0CAA0C;QAC/C,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,IAAI;KACQ,CAAC;AAC3B,CAAC,CAAC","sourcesContent":["import { createMockFeatureAnnouncementAPIResult } from './mock-feature-announcements';\nimport { createMockRawOnChainNotifications } from './mock-raw-notifications';\nimport { FEATURE_ANNOUNCEMENT_API } from '../services/feature-announcements';\nimport {\n NOTIFICATION_API_LIST_ENDPOINT,\n NOTIFICATION_API_MARK_ALL_AS_READ_ENDPOINT,\n TRIGGER_API_NOTIFICATIONS_ENDPOINT,\n TRIGGER_API_NOTIFICATIONS_QUERY_ENDPOINT,\n} from '../services/onchain-notifications';\n\ntype MockResponse = {\n url: string;\n requestMethod: 'GET' | 'POST' | 'PUT' | 'DELETE';\n response: unknown;\n};\n\nexport const CONTENTFUL_RESPONSE = createMockFeatureAnnouncementAPIResult();\n\nexport const getMockFeatureAnnouncementResponse = () => {\n return {\n url: FEATURE_ANNOUNCEMENT_API,\n requestMethod: 'GET',\n response: CONTENTFUL_RESPONSE,\n } satisfies MockResponse;\n};\n\nexport const getMockUpdateOnChainNotifications = () => {\n return {\n url: TRIGGER_API_NOTIFICATIONS_ENDPOINT,\n requestMethod: 'POST',\n response: null,\n } satisfies MockResponse;\n};\n\nexport const getMockOnChainNotificationsConfig = () => {\n return {\n url: TRIGGER_API_NOTIFICATIONS_QUERY_ENDPOINT,\n requestMethod: 'POST',\n response: [{ address: '0xTestAddress', enabled: true }],\n } satisfies MockResponse;\n};\n\nexport const MOCK_RAW_ON_CHAIN_NOTIFICATIONS =\n createMockRawOnChainNotifications();\n\nexport const getMockListNotificationsResponse = () => {\n return {\n url: NOTIFICATION_API_LIST_ENDPOINT,\n requestMethod: 'POST',\n response: MOCK_RAW_ON_CHAIN_NOTIFICATIONS,\n } satisfies MockResponse;\n};\n\nexport const getMockMarkNotificationsAsReadResponse = () => {\n return {\n url: NOTIFICATION_API_MARK_ALL_AS_READ_ENDPOINT,\n requestMethod: 'POST',\n response: null,\n } satisfies MockResponse;\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.safeProcessNotification = exports.processNotification = void 0;
3
+ exports.processAndFilterNotifications = exports.safeProcessNotification = exports.processNotification = void 0;
4
4
  const process_feature_announcement_1 = require("./process-feature-announcement.cjs");
5
5
  const process_onchain_notifications_1 = require("./process-onchain-notifications.cjs");
6
6
  const process_snap_notifications_1 = require("./process-snap-notifications.cjs");
@@ -52,4 +52,7 @@ function safeProcessNotification(notification, readNotifications = []) {
52
52
  }
53
53
  }
54
54
  exports.safeProcessNotification = safeProcessNotification;
55
+ const isNotUndefined = (t) => Boolean(t);
56
+ const processAndFilterNotifications = (ns, readIds) => ns.map((n) => safeProcessNotification(n, readIds)).filter(isNotUndefined);
57
+ exports.processAndFilterNotifications = processAndFilterNotifications;
55
58
  //# sourceMappingURL=process-notifications.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"process-notifications.cjs","sourceRoot":"","sources":["../../../src/NotificationServicesController/processors/process-notifications.ts"],"names":[],"mappings":";;;AAAA,qFAGwC;AACxC,uFAA6E;AAC7E,iFAAuE;AACvE,8EAAiE;AASjE,MAAM,qBAAqB,GAAG,CAC5B,CAAuB,EACM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,mCAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAEhF,MAAM,qBAAqB,GAAG,CAC5B,CAAuB,EACkB,EAAE,CAC3C,CAAC,CAAC,IAAI,KAAK,mCAAa,CAAC,qBAAqB,CAAC;AAEjD,MAAM,kBAAkB,GAAG,CACzB,CAAuB,EACG,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mCAAa,CAAC,IAAI,CAAC;AAE7D;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CACjC,YAAkC,EAClC,oBAA8B,EAAE;IAEhC,MAAM,iBAAiB,GAAG,CAAC,CAAQ,EAAE,EAAE;QACrC,MAAM,IAAI,GAAW,YAAY,EAAE,IAAI,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,IAAI,qBAAqB,CAAC,YAAY,CAAC,EAAE;QACvC,MAAM,CAAC,GAAG,IAAA,yDAA0B,EAClC,YAAkD,CACnD,CAAC;QACF,CAAC,CAAC,MAAM,GAAG,IAAA,wDAAyB,EAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC3D,OAAO,CAAC,CAAC;KACV;IAED,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE;QACpC,OAAO,IAAA,oDAAuB,EAAC,YAAY,CAAC,CAAC;KAC9C;IAED,IAAI,qBAAqB,CAAC,YAAY,CAAC,EAAE;QACvC,OAAO,IAAA,0DAA0B,EAAC,YAAY,CAAC,CAAC;KACjD;IAED,OAAO,iBAAiB,CAAC,YAAqB,CAAC,CAAC;AAClD,CAAC;AA1BD,kDA0BC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CACrC,YAAkC,EAClC,oBAA8B,EAAE;IAEhC,IAAI;QACF,MAAM,qBAAqB,GAAG,mBAAmB,CAC/C,YAAY,EACZ,iBAAiB,CAClB,CAAC;QACF,OAAO,qBAAqB,CAAC;KAC9B;IAAC,MAAM;QACN,OAAO,SAAS,CAAC;KAClB;AACH,CAAC;AAbD,0DAaC","sourcesContent":["import {\n isFeatureAnnouncementRead,\n processFeatureAnnouncement,\n} from './process-feature-announcement';\nimport { processOnChainNotification } from './process-onchain-notifications';\nimport { processSnapNotification } from './process-snap-notifications';\nimport { TRIGGER_TYPES } from '../constants/notification-schema';\nimport type { FeatureAnnouncementRawNotification } from '../types/feature-announcement/feature-announcement';\nimport type {\n INotification,\n RawNotificationUnion,\n} from '../types/notification/notification';\nimport type { OnChainRawNotification } from '../types/on-chain-notification/on-chain-notification';\nimport type { RawSnapNotification } from '../types/snaps';\n\nconst isOnChainNotification = (\n n: RawNotificationUnion,\n): n is OnChainRawNotification => Object.values(TRIGGER_TYPES).includes(n.type);\n\nconst isFeatureAnnouncement = (\n n: RawNotificationUnion,\n): n is FeatureAnnouncementRawNotification =>\n n.type === TRIGGER_TYPES.FEATURES_ANNOUNCEMENT;\n\nconst isSnapNotification = (\n n: RawNotificationUnion,\n): n is RawSnapNotification => n.type === TRIGGER_TYPES.SNAP;\n\n/**\n * Process feature announcement and wallet notifications into a shared/normalised notification shape.\n * We can still differentiate notifications by the `type` property\n *\n * @param notification - a feature announcement or on chain notification\n * @param readNotifications - all read notifications currently\n * @returns a processed notification\n */\nexport function processNotification(\n notification: RawNotificationUnion,\n readNotifications: string[] = [],\n): INotification {\n const exhaustedAllCases = (_: never) => {\n const type: string = notification?.type;\n throw new Error(`No processor found for notification kind ${type}`);\n };\n\n if (isFeatureAnnouncement(notification)) {\n const n = processFeatureAnnouncement(\n notification as FeatureAnnouncementRawNotification,\n );\n n.isRead = isFeatureAnnouncementRead(n, readNotifications);\n return n;\n }\n\n if (isSnapNotification(notification)) {\n return processSnapNotification(notification);\n }\n\n if (isOnChainNotification(notification)) {\n return processOnChainNotification(notification);\n }\n\n return exhaustedAllCases(notification as never);\n}\n\n/**\n * Safe version of processing a notification. Rather than throwing an error if failed to process, it will return the Notification or undefined\n *\n * @param notification - notification to processes\n * @param readNotifications - all read notifications currently\n * @returns a process notification or undefined if failed to process\n */\nexport function safeProcessNotification(\n notification: RawNotificationUnion,\n readNotifications: string[] = [],\n): INotification | undefined {\n try {\n const processedNotification = processNotification(\n notification,\n readNotifications,\n );\n return processedNotification;\n } catch {\n return undefined;\n }\n}\n"]}
1
+ {"version":3,"file":"process-notifications.cjs","sourceRoot":"","sources":["../../../src/NotificationServicesController/processors/process-notifications.ts"],"names":[],"mappings":";;;AAAA,qFAGwC;AACxC,uFAA6E;AAC7E,iFAAuE;AACvE,8EAAiE;AASjE,MAAM,qBAAqB,GAAG,CAC5B,CAAuB,EACM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,mCAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAEhF,MAAM,qBAAqB,GAAG,CAC5B,CAAuB,EACkB,EAAE,CAC3C,CAAC,CAAC,IAAI,KAAK,mCAAa,CAAC,qBAAqB,CAAC;AAEjD,MAAM,kBAAkB,GAAG,CACzB,CAAuB,EACG,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mCAAa,CAAC,IAAI,CAAC;AAE7D;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CACjC,YAAkC,EAClC,oBAA8B,EAAE;IAEhC,MAAM,iBAAiB,GAAG,CAAC,CAAQ,EAAE,EAAE;QACrC,MAAM,IAAI,GAAW,YAAY,EAAE,IAAI,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,IAAI,qBAAqB,CAAC,YAAY,CAAC,EAAE;QACvC,MAAM,CAAC,GAAG,IAAA,yDAA0B,EAClC,YAAkD,CACnD,CAAC;QACF,CAAC,CAAC,MAAM,GAAG,IAAA,wDAAyB,EAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC3D,OAAO,CAAC,CAAC;KACV;IAED,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE;QACpC,OAAO,IAAA,oDAAuB,EAAC,YAAY,CAAC,CAAC;KAC9C;IAED,IAAI,qBAAqB,CAAC,YAAY,CAAC,EAAE;QACvC,OAAO,IAAA,0DAA0B,EAAC,YAAY,CAAC,CAAC;KACjD;IAED,OAAO,iBAAiB,CAAC,YAAqB,CAAC,CAAC;AAClD,CAAC;AA1BD,kDA0BC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CACrC,YAAkC,EAClC,oBAA8B,EAAE;IAEhC,IAAI;QACF,MAAM,qBAAqB,GAAG,mBAAmB,CAC/C,YAAY,EACZ,iBAAiB,CAClB,CAAC;QACF,OAAO,qBAAqB,CAAC;KAC9B;IAAC,MAAM;QACN,OAAO,SAAS,CAAC;KAClB;AACH,CAAC;AAbD,0DAaC;AAED,MAAM,cAAc,GAAG,CAAO,CAAQ,EAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1D,MAAM,6BAA6B,GAAG,CAC3C,EAA0B,EAC1B,OAAiB,EACjB,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAHlE,QAAA,6BAA6B,iCAGqC","sourcesContent":["import {\n isFeatureAnnouncementRead,\n processFeatureAnnouncement,\n} from './process-feature-announcement';\nimport { processOnChainNotification } from './process-onchain-notifications';\nimport { processSnapNotification } from './process-snap-notifications';\nimport { TRIGGER_TYPES } from '../constants/notification-schema';\nimport type { FeatureAnnouncementRawNotification } from '../types/feature-announcement/feature-announcement';\nimport type {\n INotification,\n RawNotificationUnion,\n} from '../types/notification/notification';\nimport type { OnChainRawNotification } from '../types/on-chain-notification/on-chain-notification';\nimport type { RawSnapNotification } from '../types/snaps';\n\nconst isOnChainNotification = (\n n: RawNotificationUnion,\n): n is OnChainRawNotification => Object.values(TRIGGER_TYPES).includes(n.type);\n\nconst isFeatureAnnouncement = (\n n: RawNotificationUnion,\n): n is FeatureAnnouncementRawNotification =>\n n.type === TRIGGER_TYPES.FEATURES_ANNOUNCEMENT;\n\nconst isSnapNotification = (\n n: RawNotificationUnion,\n): n is RawSnapNotification => n.type === TRIGGER_TYPES.SNAP;\n\n/**\n * Process feature announcement and wallet notifications into a shared/normalised notification shape.\n * We can still differentiate notifications by the `type` property\n *\n * @param notification - a feature announcement or on chain notification\n * @param readNotifications - all read notifications currently\n * @returns a processed notification\n */\nexport function processNotification(\n notification: RawNotificationUnion,\n readNotifications: string[] = [],\n): INotification {\n const exhaustedAllCases = (_: never) => {\n const type: string = notification?.type;\n throw new Error(`No processor found for notification kind ${type}`);\n };\n\n if (isFeatureAnnouncement(notification)) {\n const n = processFeatureAnnouncement(\n notification as FeatureAnnouncementRawNotification,\n );\n n.isRead = isFeatureAnnouncementRead(n, readNotifications);\n return n;\n }\n\n if (isSnapNotification(notification)) {\n return processSnapNotification(notification);\n }\n\n if (isOnChainNotification(notification)) {\n return processOnChainNotification(notification);\n }\n\n return exhaustedAllCases(notification as never);\n}\n\n/**\n * Safe version of processing a notification. Rather than throwing an error if failed to process, it will return the Notification or undefined\n *\n * @param notification - notification to processes\n * @param readNotifications - all read notifications currently\n * @returns a process notification or undefined if failed to process\n */\nexport function safeProcessNotification(\n notification: RawNotificationUnion,\n readNotifications: string[] = [],\n): INotification | undefined {\n try {\n const processedNotification = processNotification(\n notification,\n readNotifications,\n );\n return processedNotification;\n } catch {\n return undefined;\n }\n}\n\nconst isNotUndefined = <Item>(t?: Item): t is Item => Boolean(t);\nexport const processAndFilterNotifications = (\n ns: RawNotificationUnion[],\n readIds: string[],\n) => ns.map((n) => safeProcessNotification(n, readIds)).filter(isNotUndefined);\n"]}