@inboxsdk/core 1.0.0 → 1.0.2

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 (176) hide show
  1. package/inboxsdk.js +34 -48
  2. package/inboxsdk.js.map +1 -1
  3. package/package.json +1 -1
  4. package/pageWorld.js.map +1 -1
  5. package/src/inboxsdk-js/inboxsdk.js +0 -2
  6. package/src/inboxsdk.d.ts +16 -1
  7. package/src/injected-js/gmail/modify-suggestions.d.ts +2 -0
  8. package/src/injected-js/gmail/modify-suggestions.d.ts.map +1 -1
  9. package/src/platform-implementation-js/constants/router.d.ts +5 -0
  10. package/src/platform-implementation-js/dom-driver/gmail/custom-style.d.ts +2 -0
  11. package/src/platform-implementation-js/dom-driver/gmail/custom-style.d.ts.map +1 -0
  12. package/src/platform-implementation-js/dom-driver/gmail/custom-style.js +16 -21
  13. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.d.ts +12 -0
  14. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.d.ts.map +1 -0
  15. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +152 -187
  16. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.d.ts +1 -1
  17. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.d.ts.map +1 -1
  18. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.js +1 -1
  19. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.d.ts +5 -0
  20. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.d.ts.map +1 -0
  21. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +15 -20
  22. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.d.ts +4 -0
  23. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.d.ts.map +1 -0
  24. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +59 -56
  25. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.d.ts +9 -0
  26. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.d.ts.map +1 -0
  27. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +42 -54
  28. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.d.ts +4 -0
  29. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.d.ts.map +1 -0
  30. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +31 -33
  31. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.d.ts +8 -0
  32. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.d.ts.map +1 -0
  33. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +21 -23
  34. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.d.ts +4 -0
  35. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.d.ts.map +1 -0
  36. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +19 -31
  37. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.d.ts +7 -0
  38. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.d.ts +5 -0
  39. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.d.ts.map +1 -0
  40. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +51 -60
  41. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.d.ts +20 -0
  42. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.d.ts.map +1 -0
  43. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +166 -130
  44. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.d.ts +3 -0
  45. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.d.ts.map +1 -0
  46. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +17 -22
  47. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.d.ts +4 -0
  48. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.d.ts.map +1 -0
  49. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +44 -51
  50. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.d.ts +3 -0
  51. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.d.ts.map +1 -0
  52. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +17 -22
  53. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.d.ts +3 -0
  54. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.d.ts.map +1 -0
  55. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +136 -129
  56. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.d.ts +6 -0
  57. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.d.ts.map +1 -0
  58. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +102 -95
  59. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.d.ts +6 -0
  60. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.d.ts.map +1 -0
  61. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +144 -169
  62. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.d.ts +3 -0
  63. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.d.ts.map +1 -0
  64. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +14 -23
  65. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.d.ts +3 -0
  66. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.d.ts.map +1 -0
  67. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +41 -49
  68. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.d.ts +5 -0
  69. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.d.ts.map +1 -0
  70. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +286 -294
  71. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.d.ts +3 -0
  72. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.d.ts.map +1 -0
  73. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +19 -26
  74. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.d.ts +3 -0
  75. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.d.ts.map +1 -0
  76. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +36 -42
  77. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.d.ts +3 -0
  78. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.d.ts.map +1 -0
  79. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +34 -33
  80. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.d.ts +13 -0
  81. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.d.ts.map +1 -0
  82. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +80 -81
  83. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.d.ts +3 -0
  84. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.d.ts.map +1 -0
  85. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +124 -81
  86. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.d.ts +10 -0
  87. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.d.ts.map +1 -0
  88. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +47 -54
  89. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +183 -109
  90. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts.map +1 -0
  91. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +712 -647
  92. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts.map +1 -1
  93. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.js +1 -4
  94. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.d.ts.map +1 -1
  95. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.d.ts +7 -0
  96. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.d.ts.map +1 -0
  97. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +93 -82
  98. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.d.ts +7 -0
  99. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.d.ts +5 -0
  100. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.d.ts +11 -0
  101. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.d.ts.map +1 -0
  102. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +20 -32
  103. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.d.ts.map +1 -1
  104. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.d.ts.map +1 -1
  105. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.d.ts +70 -69
  106. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.d.ts +8 -0
  107. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts +1 -0
  108. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts.map +1 -1
  109. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +5 -0
  110. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.d.ts +8 -0
  111. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.d.ts +3 -0
  112. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +3 -1
  113. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.d.ts +10 -0
  114. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.d.ts +5 -0
  115. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.d.ts +9 -0
  116. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.d.ts +12 -0
  117. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.d.ts +9 -0
  118. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.d.ts.map +1 -1
  119. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.d.ts.map +1 -1
  120. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.d.ts.map +1 -1
  121. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.d.ts.map +1 -1
  122. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.d.ts.map +1 -1
  123. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.d.ts +20 -0
  124. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.d.ts.map +1 -0
  125. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +107 -108
  126. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.d.ts +16 -0
  127. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +1 -1
  128. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.d.ts +13 -0
  129. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.d.ts.map +1 -0
  130. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +66 -66
  131. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.d.ts +5 -0
  132. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.d.ts +6 -0
  133. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.d.ts +6 -0
  134. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.d.ts +1 -0
  135. package/src/platform-implementation-js/driver-interfaces/driver.d.ts +3 -6
  136. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.d.ts +27 -0
  137. package/src/platform-implementation-js/lib/ErrorCollector.d.ts.map +1 -1
  138. package/src/platform-implementation-js/lib/Membrane.d.ts.map +1 -1
  139. package/src/platform-implementation-js/lib/ScrollableContainByScreen.d.ts.map +1 -1
  140. package/src/platform-implementation-js/lib/common-page-communicator.d.ts.map +1 -1
  141. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.d.ts +4 -0
  142. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.d.ts.map +1 -0
  143. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +34 -34
  144. package/src/platform-implementation-js/lib/dom/element-view-mapper.d.ts +10 -0
  145. package/src/platform-implementation-js/lib/dom/element-view-mapper.d.ts.map +1 -0
  146. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +9 -17
  147. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.d.ts +4 -0
  148. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.d.ts.map +1 -0
  149. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +7 -16
  150. package/src/platform-implementation-js/lib/handler-registry.d.ts.map +1 -1
  151. package/src/platform-implementation-js/lib/logger.d.ts.map +1 -1
  152. package/src/platform-implementation-js/lib/persistent-queue.d.ts.map +1 -1
  153. package/src/platform-implementation-js/lib/populateRouteID.d.ts +6 -0
  154. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.d.ts +2 -0
  155. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.d.ts.map +1 -0
  156. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.js +4 -11
  157. package/src/platform-implementation-js/lib/routeIDmatchesHash.d.ts +4 -0
  158. package/src/platform-implementation-js/lib/safe-event-emitter.d.ts.map +1 -1
  159. package/src/platform-implementation-js/lib/stopper-pool.d.ts.map +1 -1
  160. package/src/platform-implementation-js/lib/toLiveSet.d.ts +5 -0
  161. package/src/platform-implementation-js/lib/toLiveSet.d.ts.map +1 -0
  162. package/src/platform-implementation-js/lib/toLiveSet.js +22 -33
  163. package/src/platform-implementation-js/namespaces/butter-bar.d.ts.map +1 -1
  164. package/src/platform-implementation-js/namespaces/router.d.ts +1 -0
  165. package/src/platform-implementation-js/platform-implementation.js +2 -9
  166. package/src/platform-implementation-js/views/SimpleElementView.d.ts.map +1 -1
  167. package/src/platform-implementation-js/views/compose-button-view.d.ts.map +1 -1
  168. package/src/platform-implementation-js/views/compose-view.d.ts.map +1 -1
  169. package/src/platform-implementation-js/views/keyboard-shortcut-handle.d.ts.map +1 -1
  170. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.d.ts.map +1 -1
  171. package/src/platform-implementation-js/widgets/buttons/dropdown-view.d.ts.map +1 -1
  172. package/src/inboxsdk-js/check-requirements.js +0 -11
  173. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.test.js +0 -183
  174. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.test.js +0 -218
  175. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.test.js +0 -85
  176. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.test.js +0 -43
@@ -1,22 +1,11 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = showCustomThreadList;
8
- var _find = _interopRequireDefault(require("lodash/find"));
9
- var _kefir = _interopRequireDefault(require("kefir"));
10
- var _gmailElementGetter = _interopRequireDefault(require("../gmail-element-getter"));
11
- var GRP = _interopRequireWildcard(require("../gmail-response-processor"));
12
- var SyncGRP = _interopRequireWildcard(require("../gmail-sync-response-processor"));
13
- var _isStreakAppId = _interopRequireDefault(require("../../../lib/isStreakAppId"));
14
- var _immutabilityHelper = _interopRequireDefault(require("immutability-helper"));
15
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
1
+ import find from 'lodash/find';
2
+ import GmailElementGetter from '../gmail-element-getter';
3
+ import * as GRP from '../gmail-response-processor';
4
+ import * as SyncGRP from '../gmail-sync-response-processor';
5
+ import isStreakAppId from '../../../lib/isStreakAppId';
6
+ import update from 'immutability-helper';
17
7
  const threadListHandlersToSearchStrings = new Map();
18
8
  const MAX_THREADS_PER_PAGE = 50;
19
-
20
9
  /*
21
10
  Timeline of how a custom thread list works:
22
11
 
@@ -63,305 +52,308 @@ for the search>
63
52
  list route id, and associates the new RouteView with the custom list.
64
53
 
65
54
  */
66
-
67
55
  function copyAndOmitExcessThreads(ids, logger) {
68
- if (ids.length > MAX_THREADS_PER_PAGE) {
69
- // upgrade to deprecationWarning later
70
- logger.error(new Error('Received more than the maximum number of threads specified by handler, ' + 'ignoring additional threads (https://www.inboxsdk.com/docs/#Router).'));
71
- }
72
- return ids.slice(0, MAX_THREADS_PER_PAGE);
56
+ if (ids.length > MAX_THREADS_PER_PAGE) {
57
+ // upgrade to deprecationWarning later
58
+ logger.error(new Error('Received more than the maximum number of threads specified by handler, ' +
59
+ 'ignoring additional threads (https://www.inboxsdk.com/docs/#Router).'));
60
+ }
61
+ return ids.slice(0, MAX_THREADS_PER_PAGE);
73
62
  }
74
63
  function _findIdFailure(id, err) {
75
- console.log('Failed to find id for thread', id, err); //eslint-disable-line no-console
76
- return null;
64
+ console.log('Failed to find id for thread', id, err); //eslint-disable-line no-console
65
+ return null;
77
66
  }
78
67
  function parseOnActivateResult(logger, start, result) {
79
- if (Array.isArray(result)) {
80
- logger.deprecationWarning('Returning an array from a handleCustomListRoute handler', 'a CustomListDescriptor object');
81
- const threads = copyAndOmitExcessThreads(result, logger);
82
- return {
83
- // default to one page since arrays can't be paginated
84
- total: threads.length,
85
- threads
86
- };
87
- } else if (typeof result === 'object') {
88
- const {
89
- total,
90
- hasMore,
91
- threads
92
- } = result;
93
- if (!Array.isArray(threads)) {
94
- throw new Error('handleCustomListRoute result must contain a "threads" array ' + '(https://www.inboxsdk.com/docs/#Router).');
68
+ if (Array.isArray(result)) {
69
+ logger.deprecationWarning('Returning an array from a handleCustomListRoute handler', 'a CustomListDescriptor object');
70
+ const threads = copyAndOmitExcessThreads(result, logger);
71
+ return {
72
+ // default to one page since arrays can't be paginated
73
+ total: threads.length,
74
+ threads,
75
+ };
95
76
  }
96
- if (total != null && hasMore != null) {
97
- throw new Error('handleCustomListRoute result must only contain either ' + 'a "total" or a "hasMore" property, but not both. ' + '(https://www.inboxsdk.com/docs/#Router).');
77
+ else if (typeof result === 'object') {
78
+ const { total, hasMore, threads } = result;
79
+ if (!Array.isArray(threads)) {
80
+ throw new Error('handleCustomListRoute result must contain a "threads" array ' +
81
+ '(https://www.inboxsdk.com/docs/#Router).');
82
+ }
83
+ if (total != null && hasMore != null) {
84
+ throw new Error('handleCustomListRoute result must only contain either ' +
85
+ 'a "total" or a "hasMore" property, but not both. ' +
86
+ '(https://www.inboxsdk.com/docs/#Router).');
87
+ }
88
+ if (typeof total === 'number') {
89
+ return {
90
+ total,
91
+ threads: copyAndOmitExcessThreads(threads, logger),
92
+ };
93
+ }
94
+ else if (typeof hasMore === 'boolean') {
95
+ const threadsWithoutExcess = copyAndOmitExcessThreads(threads, logger);
96
+ return {
97
+ total: hasMore ? 'MANY' : start + threads.length,
98
+ threads: threadsWithoutExcess,
99
+ };
100
+ }
101
+ else {
102
+ throw new Error('handleCustomListRoute result must contain either a "total" number ' +
103
+ 'or a "hasMore" boolean (https://www.inboxsdk.com/docs/#Router).');
104
+ }
98
105
  }
99
- if (typeof total === 'number') {
100
- return {
101
- total,
102
- threads: copyAndOmitExcessThreads(threads, logger)
103
- };
104
- } else if (typeof hasMore === 'boolean') {
105
- const threadsWithoutExcess = copyAndOmitExcessThreads(threads, logger);
106
- return {
107
- total: hasMore ? 'MANY' : start + threads.length,
108
- threads: threadsWithoutExcess
109
- };
110
- } else {
111
- throw new Error('handleCustomListRoute result must contain either a "total" number ' + 'or a "hasMore" boolean (https://www.inboxsdk.com/docs/#Router).');
106
+ else {
107
+ throw new Error('handleCustomListRoute result must be an array or an object ' +
108
+ '(https://www.inboxsdk.com/docs/#Router).');
112
109
  }
113
- } else {
114
- throw new Error('handleCustomListRoute result must be an array or an object ' + '(https://www.inboxsdk.com/docs/#Router).');
115
- }
116
110
  }
117
111
  function threadDescriptorToInitialIDPair(id) {
118
- if (typeof id === 'string') {
119
- if (id[0] == '<') {
120
- return {
121
- rfcId: id
122
- };
123
- } else {
124
- return {
125
- gtid: id
126
- };
112
+ if (typeof id === 'string') {
113
+ if (id[0] == '<') {
114
+ return { rfcId: id };
115
+ }
116
+ else {
117
+ return { gtid: id };
118
+ }
127
119
  }
128
- } else if (id) {
129
- const obj = {
130
- gtid: typeof id.gmailThreadId === 'string' && id.gmailThreadId,
131
- rfcId: typeof id.rfcMessageId === 'string' && id.rfcMessageId
132
- };
133
- if (obj.gtid || obj.rfcId) {
134
- return obj;
120
+ else if (id) {
121
+ const obj = {
122
+ gtid: typeof id.gmailThreadId === 'string' && id.gmailThreadId,
123
+ rfcId: typeof id.rfcMessageId === 'string' && id.rfcMessageId,
124
+ };
125
+ if (obj.gtid || obj.rfcId) {
126
+ return obj;
127
+ }
135
128
  }
136
- }
137
129
  }
138
130
  function initialIDPairToIDPairWithRFC(driver, pair, findIdFailure) {
139
- if (typeof pair.rfcId === 'string') {
140
- return Promise.resolve(pair);
141
- } else if (typeof pair.gtid === 'string') {
142
- const gtid = pair.gtid;
143
- return driver.getRfcMessageIdForGmailThreadId(gtid).then(rfcId => ({
144
- gtid,
145
- rfcId
146
- }), err => findIdFailure(gtid, err));
147
- }
148
- throw new Error('Should not happen');
131
+ if (typeof pair.rfcId === 'string') {
132
+ return Promise.resolve(pair);
133
+ }
134
+ else if (typeof pair.gtid === 'string') {
135
+ const gtid = pair.gtid;
136
+ return driver.getRfcMessageIdForGmailThreadId(gtid).then((rfcId) => ({ gtid, rfcId }), (err) => findIdFailure(gtid, err));
137
+ }
138
+ throw new Error('Should not happen');
149
139
  }
150
140
  function idPairWithRFCToCompletedIDPair(driver, pair, findIdFailure) {
151
- return typeof pair.gtid === 'string' ? Promise.resolve(pair) : driver.getGmailThreadIdForRfcMessageId(pair.rfcId).then(gtid => ({
152
- gtid,
153
- rfcId: pair.rfcId
154
- }), err => findIdFailure(pair.rfcId, err));
141
+ return typeof pair.gtid === 'string'
142
+ ? Promise.resolve(pair)
143
+ : driver.getGmailThreadIdForRfcMessageId(pair.rfcId).then((gtid) => ({ gtid, rfcId: pair.rfcId }), (err) => findIdFailure(pair.rfcId, err));
155
144
  }
156
-
157
145
  // Returns the search string that will trigger the onActivate function.
158
146
  const setupSearchReplacing = (driver, customRouteID, onActivate, findIdFailure) => {
159
- const preexistingQuery = threadListHandlersToSearchStrings.get(onActivate);
160
- if (preexistingQuery) {
161
- return preexistingQuery;
162
- }
163
- const newQuery = Date.now() + '-' + Math.random();
164
- driver.getPageCommunicator().setupCustomListResultsQuery(newQuery);
165
- driver.getPageCommunicator().ajaxInterceptStream.filter(e => e.type === 'searchForReplacement' && e.query === newQuery).onValue(_ref => {
166
- let {
167
- start
168
- } = _ref;
169
- (async () => {
170
- driver.signalCustomThreadListActivity(customRouteID);
171
- let total;
172
- let threadDescriptors;
173
- try {
174
- const onActivateResult = await Promise.resolve(onActivate(start, MAX_THREADS_PER_PAGE));
175
- const parsed = parseOnActivateResult(driver.getLogger(), start, onActivateResult);
176
- total = parsed.total;
177
- threadDescriptors = parsed.threads;
178
- } catch (e) {
179
- driver.getLogger().error(e);
180
- total = 0;
181
- threadDescriptors = [];
182
- }
183
- const initialIDPairs = threadDescriptors.map(threadDescriptorToInitialIDPair).filter(Boolean);
184
- const idPairsWithRFC = (await Promise.all(initialIDPairs.map(pair => initialIDPairToIDPairWithRFC(driver, pair, findIdFailure)))).filter(Boolean);
185
- const messageIDQuery = idPairsWithRFC.length > 0 ? idPairsWithRFC.map(_ref2 => {
186
- let {
187
- rfcId
188
- } = _ref2;
189
- return 'rfc822msgid:' + rfcId;
190
- }).join(' OR ') : '' + Math.random() + Date.now(); // google doesn't like empty searches
191
-
192
- // Outgoing requests for list queries always need to have a `start` of 0,
193
- // because we only ever ask for 1 page-worth of threads per query.
194
- // When the response comes back, we modify it to have a `start` consistent
195
- // with whatever page was being loaded so Gmail's UI makes sense.
196
- driver.getPageCommunicator().setCustomListNewQuery({
197
- newQuery: messageIDQuery,
198
- newStart: 0,
199
- query: newQuery,
200
- start
201
- });
202
- const searchResultsResponse_promise = driver.getPageCommunicator().ajaxInterceptStream.filter(e => e.type === 'searchResultsResponse' && e.query === newQuery && e.start === start).map(x => x.response).take(1).toPromise();
203
-
204
- // Figure out any gmail thread ids we don't know yet.
205
- const completedIDPairs = (await Promise.all(idPairsWithRFC.map(pair => idPairWithRFCToCompletedIDPair(driver, pair, findIdFailure)))).filter(Boolean);
206
- const response = await searchResultsResponse_promise;
207
- driver.signalCustomThreadListActivity(customRouteID);
208
-
209
- // override thread list response so that we show results in the same
210
- // order that user passed in
211
- let newResponse;
212
- try {
213
- if (driver.isUsingSyncAPI()) {
214
- const extractedThreads = SyncGRP.extractThreadsFromSearchResponse(response);
215
- const extractedThreadsInCompletedIDPairsOrder = completedIDPairs.map(_ref3 => {
216
- let {
217
- gtid
218
- } = _ref3;
219
- return (0, _find.default)(extractedThreads, t => t.oldGmailThreadID === gtid);
220
- }).filter(Boolean);
221
- const doesNeedReorder = extractedThreads.length !== extractedThreadsInCompletedIDPairsOrder.length || extractedThreads.some((extractedThread, index) => extractedThread !== extractedThreadsInCompletedIDPairsOrder[index]);
222
- let reorderedThreads;
223
- if (doesNeedReorder) {
224
- const now = Date.now();
225
- reorderedThreads = extractedThreadsInCompletedIDPairsOrder.map((extractedThread, index) => {
226
- const newFormat = Array.isArray(extractedThread.rawResponse);
227
- const newTime = String(now - index);
228
- let newThread = (0, _immutabilityHelper.default)(extractedThread, {
229
- rawResponse: newFormat ? {
230
- '0': {
231
- '2': {
232
- $set: newTime
233
- },
234
- '7': {
235
- $set: newTime
147
+ const preexistingQuery = threadListHandlersToSearchStrings.get(onActivate);
148
+ if (preexistingQuery) {
149
+ return preexistingQuery;
150
+ }
151
+ const newQuery = Date.now() + '-' + Math.random();
152
+ driver.getPageCommunicator().setupCustomListResultsQuery(newQuery);
153
+ driver
154
+ .getPageCommunicator()
155
+ .ajaxInterceptStream.filter((e) => e.type === 'searchForReplacement' && e.query === newQuery)
156
+ .onValue(({ start }) => {
157
+ (async () => {
158
+ driver.signalCustomThreadListActivity(customRouteID);
159
+ let total;
160
+ let threadDescriptors;
161
+ try {
162
+ const onActivateResult = await Promise.resolve(onActivate(start, MAX_THREADS_PER_PAGE));
163
+ const parsed = parseOnActivateResult(driver.getLogger(), start, onActivateResult);
164
+ total = parsed.total;
165
+ threadDescriptors = parsed.threads;
166
+ }
167
+ catch (e) {
168
+ driver.getLogger().error(e);
169
+ total = 0;
170
+ threadDescriptors = [];
171
+ }
172
+ const initialIDPairs = threadDescriptors
173
+ .map(threadDescriptorToInitialIDPair)
174
+ .filter(Boolean);
175
+ const idPairsWithRFC = (await Promise.all(initialIDPairs.map((pair) => initialIDPairToIDPairWithRFC(driver, pair, findIdFailure)))).filter(Boolean);
176
+ const messageIDQuery = idPairsWithRFC.length > 0
177
+ ? idPairsWithRFC
178
+ .map(({ rfcId }) => 'rfc822msgid:' + rfcId)
179
+ .join(' OR ')
180
+ : '' + Math.random() + Date.now(); // google doesn't like empty searches
181
+ // Outgoing requests for list queries always need to have a `start` of 0,
182
+ // because we only ever ask for 1 page-worth of threads per query.
183
+ // When the response comes back, we modify it to have a `start` consistent
184
+ // with whatever page was being loaded so Gmail's UI makes sense.
185
+ driver.getPageCommunicator().setCustomListNewQuery({
186
+ newQuery: messageIDQuery,
187
+ newStart: 0,
188
+ query: newQuery,
189
+ start,
190
+ });
191
+ const searchResultsResponse_promise = driver
192
+ .getPageCommunicator()
193
+ .ajaxInterceptStream.filter((e) => e.type === 'searchResultsResponse' &&
194
+ e.query === newQuery &&
195
+ e.start === start)
196
+ .map((x) => x.response)
197
+ .take(1)
198
+ .toPromise();
199
+ // Figure out any gmail thread ids we don't know yet.
200
+ const completedIDPairs = (await Promise.all(idPairsWithRFC.map((pair) => idPairWithRFCToCompletedIDPair(driver, pair, findIdFailure)))).filter(Boolean);
201
+ const response = await searchResultsResponse_promise;
202
+ driver.signalCustomThreadListActivity(customRouteID);
203
+ // override thread list response so that we show results in the same
204
+ // order that user passed in
205
+ let newResponse;
206
+ try {
207
+ if (driver.isUsingSyncAPI()) {
208
+ const extractedThreads = SyncGRP.extractThreadsFromSearchResponse(response);
209
+ const extractedThreadsInCompletedIDPairsOrder = completedIDPairs
210
+ .map(({ gtid }) => find(extractedThreads, (t) => t.oldGmailThreadID === gtid))
211
+ .filter(Boolean);
212
+ const doesNeedReorder = extractedThreads.length !==
213
+ extractedThreadsInCompletedIDPairsOrder.length ||
214
+ extractedThreads.some((extractedThread, index) => extractedThread !==
215
+ extractedThreadsInCompletedIDPairsOrder[index]);
216
+ let reorderedThreads;
217
+ if (doesNeedReorder) {
218
+ const now = Date.now();
219
+ reorderedThreads = extractedThreadsInCompletedIDPairsOrder.map((extractedThread, index) => {
220
+ const newFormat = Array.isArray(extractedThread.rawResponse);
221
+ const newTime = String(now - index);
222
+ let newThread = update(extractedThread, {
223
+ rawResponse: newFormat
224
+ ? {
225
+ '0': {
226
+ '2': { $set: newTime },
227
+ '7': { $set: newTime },
228
+ },
229
+ }
230
+ : {
231
+ '1': {
232
+ '3': { $set: newTime },
233
+ '8': { $set: newTime },
234
+ },
235
+ },
236
+ });
237
+ if (newFormat
238
+ ? extractedThread.rawResponse[0][4]
239
+ : extractedThread.rawResponse[1][5]) {
240
+ newThread = update(newThread, {
241
+ rawResponse: newFormat
242
+ ? {
243
+ '0': {
244
+ '4': (oldVal) => oldVal.map((md) => ({
245
+ ...md,
246
+ '6': newTime,
247
+ '17': newTime,
248
+ '30': newTime,
249
+ })),
250
+ },
251
+ }
252
+ : {
253
+ '1': {
254
+ '5': (oldVal) => oldVal.map((md) => ({
255
+ ...md,
256
+ '7': newTime,
257
+ '18': newTime,
258
+ '31': newTime,
259
+ })),
260
+ },
261
+ },
262
+ });
263
+ }
264
+ return newThread;
265
+ });
236
266
  }
237
- }
238
- } : {
239
- '1': {
240
- '3': {
241
- $set: newTime
242
- },
243
- '8': {
244
- $set: newTime
267
+ else {
268
+ reorderedThreads = extractedThreads;
245
269
  }
246
- }
270
+ newResponse = SyncGRP.replaceThreadsInSearchResponse(response, reorderedThreads, { start, total });
247
271
  }
248
- });
249
- if (newFormat ? extractedThread.rawResponse[0][4] : extractedThread.rawResponse[1][5]) {
250
- newThread = (0, _immutabilityHelper.default)(newThread, {
251
- rawResponse: newFormat ? {
252
- '0': {
253
- '4': oldVal => oldVal.map(md => ({
254
- ...md,
255
- '6': newTime,
256
- '17': newTime,
257
- '30': newTime
258
- }))
272
+ else {
273
+ const extractedThreads = GRP.extractThreads(response);
274
+ const reorderedThreads = completedIDPairs
275
+ .map(({ gtid }) => find(extractedThreads, (t) => t.gmailThreadId === gtid))
276
+ .filter(Boolean);
277
+ newResponse = GRP.replaceThreadsInResponse(response, reorderedThreads, { start, total });
278
+ }
279
+ driver
280
+ .getPageCommunicator()
281
+ .setCustomListResults(newQuery, newResponse);
282
+ }
283
+ catch (e) {
284
+ driver.getLogger().error(e, {
285
+ responseReplacementFailure: true,
286
+ //response: isStreakAppId(driver.getAppId()) ? response : null,
287
+ idPairsLength: completedIDPairs.length,
288
+ });
289
+ const butterBar = driver.getButterBar();
290
+ if (butterBar) {
291
+ butterBar.showError({
292
+ text: 'Failed to load custom thread list',
293
+ });
294
+ }
295
+ try {
296
+ if (driver.isUsingSyncAPI()) {
297
+ driver.getPageCommunicator().setCustomListResults(newQuery, SyncGRP.replaceThreadsInSearchResponse(response, [], {
298
+ start,
299
+ total,
300
+ }));
259
301
  }
260
- } : {
261
- '1': {
262
- '5': oldVal => oldVal.map(md => ({
263
- ...md,
264
- '7': newTime,
265
- '18': newTime,
266
- '31': newTime
267
- }))
302
+ else {
303
+ driver
304
+ .getPageCommunicator()
305
+ .setCustomListResults(newQuery, GRP.replaceThreadsInResponse(response, [], { start, total }));
268
306
  }
269
- }
270
- });
271
- }
272
- return newThread;
273
- });
274
- } else {
275
- reorderedThreads = extractedThreads;
276
- }
277
- newResponse = SyncGRP.replaceThreadsInSearchResponse(response, reorderedThreads, {
278
- start,
279
- total
280
- });
281
- } else {
282
- const extractedThreads = GRP.extractThreads(response);
283
- const reorderedThreads = completedIDPairs.map(_ref4 => {
284
- let {
285
- gtid
286
- } = _ref4;
287
- return (0, _find.default)(extractedThreads, t => t.gmailThreadId === gtid);
288
- }).filter(Boolean);
289
- newResponse = GRP.replaceThreadsInResponse(response, reorderedThreads, {
290
- start,
291
- total
292
- });
293
- }
294
- driver.getPageCommunicator().setCustomListResults(newQuery, newResponse);
295
- } catch (e) {
296
- driver.getLogger().error(e, {
297
- responseReplacementFailure: true,
298
- //response: isStreakAppId(driver.getAppId()) ? response : null,
299
- idPairsLength: completedIDPairs.length
300
- });
301
- const butterBar = driver.getButterBar();
302
- if (butterBar) {
303
- butterBar.showError({
304
- text: 'Failed to load custom thread list'
305
- });
306
- }
307
- try {
308
- if (driver.isUsingSyncAPI()) {
309
- driver.getPageCommunicator().setCustomListResults(newQuery, SyncGRP.replaceThreadsInSearchResponse(response, [], {
310
- start,
311
- total
312
- }));
313
- } else {
314
- driver.getPageCommunicator().setCustomListResults(newQuery, GRP.replaceThreadsInResponse(response, [], {
315
- start,
316
- total
317
- }));
318
- }
319
- } catch (e2) {
320
- driver.getLogger().error(e2);
321
- // The original response will be used.
322
- driver.getPageCommunicator().setCustomListResults(newQuery, null);
323
- }
324
- return;
325
- }
326
- setTimeout(() => {
327
- const errorBar = document.querySelector('.vY .vX.UC');
328
- if (errorBar && errorBar.style.display !== 'none' && /#\d+/.test(errorBar.textContent)) {
329
- const isStreak = (0, _isStreakAppId.default)(driver.getAppId());
330
- driver.getLogger().error(new Error('Gmail error with custom thread list'), {
331
- message: errorBar.textContent,
332
- completedIDPairsLength: completedIDPairs.length,
333
- response: isStreak ? response : null,
334
- newResponse: isStreak ? newResponse : null
335
- });
336
- }
337
- }, 1000);
338
- })().catch(err => driver.getLogger().error(err));
339
- });
340
- driver.getCustomListSearchStringsToRouteIds().set(newQuery, customRouteID);
341
- threadListHandlersToSearchStrings.set(onActivate, newQuery);
342
- return newQuery;
307
+ }
308
+ catch (e2) {
309
+ driver.getLogger().error(e2);
310
+ // The original response will be used.
311
+ driver.getPageCommunicator().setCustomListResults(newQuery, null);
312
+ }
313
+ return;
314
+ }
315
+ setTimeout(() => {
316
+ const errorBar = document.querySelector('.vY .vX.UC');
317
+ if (errorBar &&
318
+ errorBar.style.display !== 'none' &&
319
+ /#\d+/.test(errorBar.textContent)) {
320
+ const isStreak = isStreakAppId(driver.getAppId());
321
+ driver
322
+ .getLogger()
323
+ .error(new Error('Gmail error with custom thread list'), {
324
+ message: errorBar.textContent,
325
+ completedIDPairsLength: completedIDPairs.length,
326
+ response: isStreak ? response : null,
327
+ newResponse: isStreak ? newResponse : null,
328
+ });
329
+ }
330
+ }, 1000);
331
+ })().catch((err) => driver.getLogger().error(err));
332
+ });
333
+ driver.getCustomListSearchStringsToRouteIds().set(newQuery, customRouteID);
334
+ threadListHandlersToSearchStrings.set(onActivate, newQuery);
335
+ return newQuery;
343
336
  };
344
- function showCustomThreadList(driver, customRouteID, onActivate, params) {
345
- let findIdFailure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _findIdFailure;
346
- const uniqueSearch = setupSearchReplacing(driver, customRouteID, onActivate, findIdFailure);
347
- const customHash = document.location.hash;
348
- const nextMainContentElementChange = _gmailElementGetter.default.getMainContentElementChangedStream().changes().take(1);
349
- const searchInput = _gmailElementGetter.default.getSearchInput();
350
- if (!searchInput) throw new Error('could not find search input');
351
- searchInput.value = '';
352
- searchInput.style.visibility = 'hidden';
353
- nextMainContentElementChange.onValue(() => {
354
- // setup-route-view-driver-stream handles clearing search again
355
- searchInput.style.visibility = 'visible';
356
- });
357
-
358
- // Change the hash *without* making a new history entry.
359
- const searchHash = '#search/' + [uniqueSearch, ...params].map(encodeURIComponent).join('/');
360
- window.history.replaceState(null, null, searchHash);
361
- // Create a hashchange event so setup-route-view-driver-stream sees this event.
362
- const hce = new window.HashChangeEvent('hashchange', {
363
- oldURL: document.location.href.replace(/#.*$/, '') + customHash,
364
- newURL: document.location.href.replace(/#.*$/, '') + searchHash
365
- });
366
- window.dispatchEvent(hce);
367
- }
337
+ export default function showCustomThreadList(driver, customRouteID, onActivate, params, findIdFailure = _findIdFailure) {
338
+ const uniqueSearch = setupSearchReplacing(driver, customRouteID, onActivate, findIdFailure);
339
+ const customHash = document.location.hash;
340
+ const nextMainContentElementChange = GmailElementGetter.getMainContentElementChangedStream().changes().take(1);
341
+ const searchInput = GmailElementGetter.getSearchInput();
342
+ if (!searchInput)
343
+ throw new Error('could not find search input');
344
+ searchInput.value = '';
345
+ searchInput.style.visibility = 'hidden';
346
+ nextMainContentElementChange.onValue(() => {
347
+ // setup-route-view-driver-stream handles clearing search again
348
+ searchInput.style.visibility = 'visible';
349
+ });
350
+ // Change the hash *without* making a new history entry.
351
+ const searchHash = '#search/' + [uniqueSearch, ...params].map(encodeURIComponent).join('/');
352
+ window.history.replaceState(null, null, searchHash);
353
+ // Create a hashchange event so setup-route-view-driver-stream sees this event.
354
+ const hce = new window.HashChangeEvent('hashchange', {
355
+ oldURL: document.location.href.replace(/#.*$/, '') + customHash,
356
+ newURL: document.location.href.replace(/#.*$/, '') + searchHash,
357
+ });
358
+ window.dispatchEvent(hce);
359
+ }
@@ -0,0 +1,3 @@
1
+ import GmailDriver from '../gmail-driver';
2
+ export default function showNativeRouteView(_gmailDriver: GmailDriver): void;
3
+ //# sourceMappingURL=show-native-route-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show-native-route-view.d.ts","sourceRoot":"","sources":["../../../../../../../src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.ts"],"names":[],"mappings":"AAEA,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,YAAY,EAAE,WAAW,QAqBpE"}