flash-notifications 0.0.39 → 0.0.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,7 +12,7 @@ For managed Expo projects, ensure your Expo SDK supports this module and follow
12
12
 
13
13
  ## Setup
14
14
 
15
- Render the notification container once near the root of your app.
15
+ Render the notification container once near the root of your app so it can listen for events globally.
16
16
 
17
17
  ```jsx
18
18
  import React from "react"
@@ -34,6 +34,17 @@ export default function App() {
34
34
  }
35
35
  ```
36
36
 
37
+ If you are not using safe-area insets, render the container directly:
38
+
39
+ ```jsx
40
+ import React from "react"
41
+ import {Container} from "flash-notifications"
42
+
43
+ export default function App() {
44
+ return <Container />
45
+ }
46
+ ```
47
+
37
48
  ## Usage
38
49
 
39
50
  Trigger notifications anywhere in your app with the static helpers.
@@ -54,6 +65,49 @@ import {FlashNotifications} from "flash-notifications"
54
65
  FlashNotifications.show({type: "info", text: "Heads up!"})
55
66
  ```
56
67
 
68
+ ## API
69
+
70
+ ### FlashNotifications
71
+
72
+ `FlashNotifications.alert(message)`
73
+ Shows an alert notification with a localized "Alert" title.
74
+
75
+ `FlashNotifications.error(message)`
76
+ Shows an error notification with a localized "Error" title.
77
+
78
+ `FlashNotifications.success(message)`
79
+ Shows a success notification with a localized "Success" title.
80
+
81
+ `FlashNotifications.show({type, text})`
82
+ Shows a notification with a localized title based on `type`. Unknown types fall back to the localized "Notification" title.
83
+
84
+ `FlashNotifications.errorResponse(error)`
85
+ Handles Api Maker validation and base errors, converting them into notifications. Unknown errors are logged and rethrown.
86
+
87
+ Notifications auto-dismiss after 4 seconds and can be dismissed immediately by pressing them.
88
+
89
+ ### Container
90
+
91
+ `<Container insets={insets} />`
92
+ Optional `insets` should be an object with `top`, `right`, and `left` values (for example, from `react-native-safe-area-context`). The container positions itself near the top-right on larger screens and spans the width on small screens.
93
+
94
+ ## Configuration
95
+
96
+ `configuration.debug`
97
+ When `true`, logs lifecycle events such as add/remove, timeout, measurement, and animation events.
98
+
99
+ `configuration.translate(msgId, {defaultValue})`
100
+ Controls localized titles for built-in types. The default implementation returns `defaultValue` or `msgId`.
101
+
102
+ You can override configuration by mutating the exported object or setting a global before imports:
103
+
104
+ ```js
105
+ globalThis.flashNotificationsConfiguration = {
106
+ debug: false,
107
+ translate: (msgId, args) => args?.defaultValue || msgId
108
+ }
109
+ ```
110
+
57
111
  ## Debug mode
58
112
 
59
113
  Enable debug logging by setting the configuration flag at startup.
@@ -73,5 +127,16 @@ When enabled, the library logs lifecycle events such as notification creation, p
73
127
 
74
128
  ## Contributing
75
129
 
130
+ If you need to refresh Expo module generated files locally, run `npm run prepare:module`. Regular `npm install` no longer runs that step automatically.
131
+
132
+ Before opening or updating a PR, run:
133
+
134
+ ```sh
135
+ npm run lint
136
+ npm run typecheck
137
+ ```
138
+
139
+ The repo's flat ESLint config relies on `react/jsx-uses-vars` so React Native JSX imports are treated as used. If JSX imports such as `View` or `Pressable` start failing `no-unused-vars`, fix the ESLint config rather than rewriting the component render tree.
140
+
76
141
  Contributions are welcome. Please refer to the Expo contributing guide:
77
142
  https://github.com/expo/expo#contributing
@@ -6,5 +6,17 @@ export type NotificationObjectType = {
6
6
  title: string;
7
7
  type: string;
8
8
  };
9
+ export type StoredNotificationType = {
10
+ count: number;
11
+ height: import("react-native").Animated.Value;
12
+ marginBottom: import("react-native").Animated.Value;
13
+ measuredHeight: number | undefined;
14
+ message: string;
15
+ opacity: import("react-native").Animated.Value;
16
+ removing: boolean;
17
+ timeout: ReturnType<typeof setTimeout>;
18
+ title: string;
19
+ type: string;
20
+ };
9
21
  import React from "react";
10
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"/src/","sources":["container/index.jsx"],"names":[],"mappings":";;;WAkBc,MAAM;aACN,MAAM;WACN,MAAM;UACN,MAAM;;kBAhB0B,OAAO"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/src/","sources":["container/index.jsx"],"names":[],"mappings":";;;WAmBc,MAAM;aACN,MAAM;WACN,MAAM;UACN,MAAM;;;WAKN,MAAM;YACN,OAAO,cAAc,EAAE,QAAQ,CAAC,KAAK;kBACrC,OAAO,cAAc,EAAE,QAAQ,CAAC,KAAK;oBACrC,MAAM,GAAG,SAAS;aAClB,MAAM;aACN,OAAO,cAAc,EAAE,QAAQ,CAAC,KAAK;cACrC,OAAO;aACP,UAAU,CAAC,OAAO,UAAU,CAAC;WAC7B,MAAM;UACN,MAAM;;kBA9B0B,OAAO"}
@@ -1,6 +1,7 @@
1
1
  // @ts-check
2
2
  import { digg } from "diggerize";
3
3
  import PropTypes from "prop-types";
4
+ // @ts-expect-error Package ships no .d.ts files.
4
5
  import propTypesExact from "prop-types-exact";
5
6
  import React, { memo, useEffect, useMemo } from "react";
6
7
  import { shapeComponent, ShapeComponent } from "set-state-compare/build/shape-component.js";
@@ -10,7 +11,7 @@ import useEnvSense from "env-sense/build/use-env-sense.js";
10
11
  import { Animated, View } from "react-native";
11
12
  import debugLog from "../debug.js";
12
13
  import events from "../events.js";
13
- import Notification from "./notification";
14
+ import FlashNotification from "./notification";
14
15
  /**
15
16
  * @typedef {object} NotificationObjectType
16
17
  * @property {number} count
@@ -18,6 +19,19 @@ import Notification from "./notification";
18
19
  * @property {string} title
19
20
  * @property {string} type
20
21
  */
22
+ /**
23
+ * @typedef {object} StoredNotificationType
24
+ * @property {number} count
25
+ * @property {import("react-native").Animated.Value} height
26
+ * @property {import("react-native").Animated.Value} marginBottom
27
+ * @property {number | undefined} measuredHeight
28
+ * @property {string} message
29
+ * @property {import("react-native").Animated.Value} opacity
30
+ * @property {boolean} removing
31
+ * @property {ReturnType<typeof setTimeout>} timeout
32
+ * @property {string} title
33
+ * @property {string} type
34
+ */
21
35
  export default memo(shapeComponent(class FlashNotificationsContainer extends ShapeComponent {
22
36
  static propTypes = propTypesExact({
23
37
  insets: PropTypes.object
@@ -28,9 +42,10 @@ export default memo(shapeComponent(class FlashNotificationsContainer extends Sha
28
42
  setup() {
29
43
  this.useStates({
30
44
  count: 0,
45
+ /** @type {StoredNotificationType[]} */
31
46
  notifications: []
32
47
  });
33
- useEventEmitter(events, "pushNotification", this.onPushNotification);
48
+ useEventEmitter(events, "pushNotification", this.onPushNotificationEvent);
34
49
  useEffect(() => {
35
50
  return () => {
36
51
  for (const timeout of this.timeouts) {
@@ -75,9 +90,18 @@ export default memo(shapeComponent(class FlashNotificationsContainer extends Sha
75
90
  , {
76
91
  // @ts-expect-error
77
92
  dataSet: this.rootViewDataSet ||= { component: "flash-notifications-container" },
78
- // @ts-expect-error
79
- style: viewStyle, testID: "flash-notificaitons/container" }, notifications.map((notification) => React.createElement(Notification, { count: notification.count, key: `notification-${notification.count}`, message: notification.message, notification: notification, onMeasured: this.onNotificationMeasured, onRemovedClicked: this.onRemovedClicked, title: notification.title, type: notification.type }))));
93
+ // @ts-expect-error React Native types do not include the web-only "fixed" position.
94
+ style: viewStyle, testID: "flash-notificaitons/container" }, notifications.map(
95
+ /** @param {StoredNotificationType} notification */
96
+ (notification) => React.createElement(FlashNotification, { count: notification.count, key: `notification-${notification.count}`, message: notification.message, notification: notification, onMeasured: this.onNotificationMeasured, onRemovedClicked: this.onRemovedClicked, title: notification.title, type: notification.type }))));
80
97
  }
98
+ /**
99
+ * @param {...unknown} args
100
+ * @returns {void}
101
+ */
102
+ onPushNotificationEvent = (...args) => {
103
+ this.onPushNotification(/** @type {NotificationObjectType} */ (args[0]));
104
+ };
81
105
  /**
82
106
  * @param {NotificationObjectType} detail
83
107
  * @returns {void}
@@ -89,6 +113,7 @@ export default memo(shapeComponent(class FlashNotificationsContainer extends Sha
89
113
  this.dismissNotificationByCount(count, "timeout");
90
114
  }, 4000);
91
115
  this.timeouts.push(timeout);
116
+ /** @type {StoredNotificationType} */
92
117
  const notification = {
93
118
  count,
94
119
  height: new Animated.Value(0),
@@ -108,10 +133,19 @@ export default memo(shapeComponent(class FlashNotificationsContainer extends Sha
108
133
  });
109
134
  this.setState({ count, notifications: this.s.notifications.concat([notification]) });
110
135
  };
136
+ /**
137
+ * @param {StoredNotificationType} notification
138
+ * @returns {void}
139
+ */
111
140
  onRemovedClicked = (notification) => {
112
141
  debugLog("FlashNotifications: notification pressed", { id: notification.count });
113
142
  this.dismissNotification(notification, "press");
114
143
  };
144
+ /**
145
+ * @param {StoredNotificationType} notification
146
+ * @param {number} measuredHeight
147
+ * @returns {void}
148
+ */
115
149
  onNotificationMeasured = (notification, measuredHeight) => {
116
150
  if (notification.measuredHeight)
117
151
  return;
@@ -120,14 +154,26 @@ export default memo(shapeComponent(class FlashNotificationsContainer extends Sha
120
154
  notification.height.setValue(measuredHeight);
121
155
  this.setState({ notifications: [...this.s.notifications] });
122
156
  };
157
+ /**
158
+ * @param {number} count
159
+ * @param {string} [reason]
160
+ * @returns {void}
161
+ */
123
162
  dismissNotificationByCount = (count, reason = "unknown") => {
124
- const notification = this.s.notifications.find((item) => item.count == count);
163
+ const notification = /** @type {StoredNotificationType | undefined} */ (this.s.notifications.find(
164
+ /** @param {StoredNotificationType} item */
165
+ (item) => item.count == count));
125
166
  if (!notification) {
126
167
  debugLog("FlashNotifications: notification not found", { id: count, reason });
127
168
  return;
128
169
  }
129
170
  this.dismissNotification(notification, reason);
130
171
  };
172
+ /**
173
+ * @param {StoredNotificationType} notification
174
+ * @param {string} [reason]
175
+ * @returns {void}
176
+ */
131
177
  dismissNotification = (notification, reason = "unknown") => {
132
178
  if (notification.removing) {
133
179
  debugLog("FlashNotifications: notification already removing", { id: notification.count, reason });
@@ -161,10 +207,12 @@ export default memo(shapeComponent(class FlashNotificationsContainer extends Sha
161
207
  });
162
208
  debugLog("FlashNotifications: fade animation end", { id: notification.count, reason });
163
209
  this.setState({
164
- notifications: this.s.notifications.filter((item) => item.count != notification.count)
210
+ notifications: this.s.notifications.filter(
211
+ /** @param {StoredNotificationType} item */
212
+ (item) => item.count != notification.count)
165
213
  });
166
214
  debugLog("FlashNotifications: notification removed", { id: notification.count, reason });
167
215
  });
168
216
  };
169
217
  }));
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRhaW5lci9pbmRleC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sS0FBSyxFQUFFLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDckQsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxlQUFlLE1BQU0sc0JBQXNCLENBQUE7QUFDbEQsT0FBTyxXQUFXLE1BQU0sa0NBQWtDLENBQUE7QUFDMUQsT0FBTyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFFM0MsT0FBTyxRQUFRLE1BQU0sYUFBYSxDQUFBO0FBQ2xDLE9BQU8sTUFBTSxNQUFNLGNBQWMsQ0FBQTtBQUNqQyxPQUFPLFlBQVksTUFBTSxnQkFBZ0IsQ0FBQTtBQUV6Qzs7Ozs7O0dBTUc7QUFFSCxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSwyQkFBNEIsU0FBUSxjQUFjO0lBQ3pGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtLQUN6QixDQUFDLENBQUE7SUFFRix1QkFBdUI7SUFDdkIsUUFBUSxHQUFHLEVBQUUsQ0FBQTtJQUNiLG1CQUFtQixHQUFHLEVBQUUsQ0FBQTtJQUV4QixLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsYUFBYSxFQUFFLEVBQUU7U0FDbEIs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QUMsQ0FBQTtZQUVGLFFBQVEsQ0FBQywwQ0FBMEMsRUFBRSxFQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUE7UUFDeEYsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IFJlYWN0LCB7bWVtbywgdXNlRWZmZWN0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudCwgU2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IHt1c2VCcmVha3BvaW50fSBmcm9tIFwicmVzcG9uc2l2ZS1icmVha3BvaW50c1wiXG5pbXBvcnQgdXNlRXZlbnRFbWl0dGVyIGZyb20gXCJ5YS11c2UtZXZlbnQtZW1pdHRlclwiXG5pbXBvcnQgdXNlRW52U2Vuc2UgZnJvbSBcImVudi1zZW5zZS9idWlsZC91c2UtZW52LXNlbnNlLmpzXCJcbmltcG9ydCB7QW5pbWF0ZWQsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuXG5pbXBvcnQgZGVidWdMb2cgZnJvbSBcIi4uL2RlYnVnLmpzXCJcbmltcG9ydCBldmVudHMgZnJvbSBcIi4uL2V2ZW50cy5qc1wiXG5pbXBvcnQgTm90aWZpY2F0aW9uIGZyb20gXCIuL25vdGlmaWNhdGlvblwiXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gTm90aWZpY2F0aW9uT2JqZWN0VHlwZVxuICogQHByb3BlcnR5IHtudW1iZXJ9IGNvdW50XG4gKiBAcHJvcGVydHkge3N0cmluZ30gbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IHRpdGxlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdHlwZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgRmxhc2hOb3RpZmljYXRpb25zQ29udGFpbmVyIGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGluc2V0czogUHJvcFR5cGVzLm9iamVjdFxuICB9KVxuXG4gIC8qKiBAdHlwZSB7bnVtYmVyW119ICovXG4gIHRpbWVvdXRzID0gW11cbiAgbm90aWZpY2F0aW9uU3BhY2luZyA9IDE1XG5cbiAgc2V0dXAoKSB7XG4gICAgdGhpcy51c2VTdGF0ZXMoe1xuICAgICAgY291bnQ6IDAsXG4gICAgICBub3RpZmljYXRpb25zOiBbXVxuICAgIH0pXG5cbiAgICB1c2VFdmVudEVtaXR0ZXIoZXZlbnRzLCBcInB1c2hOb3RpZmljYXRpb25cIiwgdGhpcy5vblB1c2hOb3RpZmljYXRpb24pXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgdGltZW91dCBvZiB0aGlzLnRpbWVvdXRzKSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBbXSlcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7bm90aWZpY2F0aW9uc30gPSB0aGlzLnNcbiAgICBjb25zdCBpbnNldHMgPSB0aGlzLnByb3BzLmluc2V0cyB8fCB7fVxuXG4gICAgY29uc3Qge3NtRG93biwgbWRVcH0gPSB1c2VCcmVha3BvaW50KClcbiAgICBjb25zdCB7aXNOYXRpdmV9ID0gdXNlRW52U2Vuc2UoKVxuXG4gICAgY29uc3Qgdmlld1N0eWxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBsZXQgdG9wID0gMjBcbiAgICAgIGxldCByaWdodCA9IDBcbiAgICAgIGxldCBsZWZ0ID0gdW5kZWZpbmVkXG5cbiAgICAgIGlmIChpbnNldHMudG9wKSB0b3AgKz0gaW5zZXRzLnRvcFxuICAgICAgaWYgKGluc2V0cy5yaWdodCkgcmlnaHQgKz0gaW5zZXRzLnJpZ2h0XG5cbiAgICAgIGlmIChzbURvd24pIHtcbiAgICAgICAgbGVmdCA9IDIwXG5cbiAgICAgICAgaWYgKGluc2V0cy5sZWZ0KSBsZWZ0ICs9IGluc2V0cy5sZWZ0XG5cbiAgICAgICAgcmlnaHQgKz0gMjBcbiAgICAgIH0gZWxzZSBpZiAobWRVcCkge1xuICAgICAgICByaWdodCArPSAyMFxuICAgICAgfVxuXG4gICAgICBjb25zdCBzdHlsZSA9IHtcbiAgICAgICAgcG9zaXRpb246IGlzTmF0aXZlID8gXCJhYnNvbHV0ZVwiIDogXCJmaXhlZFwiLFxuICAgICAgICB0b3AsXG4gICAgICAgIHJpZ2h0LFxuICAgICAgICBsZWZ0LFxuICAgICAgICB6SW5kZXg6IDk5OTk5XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdHlsZVxuICAgIH0sIFtpc05hdGl2ZSwgc21Eb3duLCBtZFVwLCBpbnNldHMudG9wLCBpbnNldHMucmlnaHQsIGluc2V0cy5sZWZ0XSlcblxuICAgIHJldHVybiAoXG4gICAgICA8Vmlld1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgIGRhdGFTZXQ9e3RoaXMucm9vdFZpZXdEYXRhU2V0IHx8PSB7Y29tcG9uZW50OiBcImZsYXNoLW5vdGlmaWNhdGlvbnMtY29udGFpbmVyXCJ9fVxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgIHN0eWxlPXt2aWV3U3R5bGV9XG4gICAgICAgIHRlc3RJRD1cImZsYXNoLW5vdGlmaWNhaXRvbnMvY29udGFpbmVyXCJcbiAgICAgID5cbiAgICAgICAge25vdGlmaWNhdGlvbnMubWFwKChub3RpZmljYXRpb24pID0+XG4gICAgICAgICAgPE5vdGlmaWNhdGlvblxuICAgICAgICAgICAgY291bnQ9e25vdGlmaWNhdGlvbi5jb3VudH1cbiAgICAgICAgICAgIGtleT17YG5vdGlmaWNhdGlvbi0ke25vdGlmaWNhdGlvbi5jb3VudH1gfVxuICAgICAgICAgICAgbWVzc2FnZT17bm90aWZpY2F0aW9uLm1lc3NhZ2V9XG4gICAgICAgICAgICBub3RpZmljYXRpb249e25vdGlmaWNhdGlvbn1cbiAgICAgICAgICAgIG9uTWVhc3VyZWQ9e3RoaXMub25Ob3RpZmljYXRpb25NZWFzdXJlZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlZENsaWNrZWQ9e3RoaXMub25SZW1vdmVkQ2xpY2tlZH1cbiAgICAgICAgICAgIHRpdGxlPXtub3RpZmljYXRpb24udGl0bGV9XG4gICAgICAgICAgICB0eXBlPXtub3RpZmljYXRpb24udHlwZX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9WaWV3PlxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge05vdGlmaWNhdGlvbk9iamVjdFR5cGV9IGRldGFpbFxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIG9uUHVzaE5vdGlmaWNhdGlvbiA9IChkZXRhaWwpID0+IHtcbiAgICBjb25zdCBjb3VudCA9IHRoaXMucy5jb3VudCArIDFcbiAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBkZWJ1Z0xvZyhcIkZsYXNoTm90aWZpY2F0aW9uczogbm90aWZpY2F0aW9uIHRpbWVvdXRcIiwge2lkOiBjb3VudH0pXG4gICAgICB0aGlzLmRpc21pc3NOb3RpZmljYXRpb25CeUNvdW50KGNvdW50LCBcInRpbWVvdXRcIilcbiAgICB9LCA0MDAwKVxuXG4gICAgdGhpcy50aW1lb3V0cy5wdXNoKHRpbWVvdXQpXG5cbiAgICBjb25zdCBub3RpZmljYXRpb24gPSB7XG4gICAgICBjb3VudCxcbiAgICAgIGhlaWdodDogbmV3IEFuaW1hdGVkLlZhbHVlKDApLFxuICAgICAgbWFyZ2luQm90dG9tOiBuZXcgQW5pbWF0ZWQuVmFsdWUodGhpcy5ub3RpZmljYXRpb25TcGFjaW5nKSxcbiAgICAgIG1lYXN1cmVkSGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICBtZXNzYWdlOiBkaWdnKGRldGFpbCwgXCJtZXNzYWdlXCIpLFxuICAgICAgb3BhY2l0eTogbmV3IEFuaW1hdGVkLlZhbHVlKDEpLFxuICAgICAgcmVtb3Zpbmc6IGZhbHNlLFxuICAgICAgdGltZW91dCxcbiAgICAgIHRpdGxlOiBkaWdnKGRldGFpbCwgXCJ0aXRsZVwiKSxcbiAgICAgIHR5cGU6IGRpZ2coZGV0YWlsLCBcInR5cGVcIilcbiAgICB9XG5cbiAgICBkZWJ1Z0xvZyhcIkZsYXNoTm90aWZpY2F0aW9uczogbm90aWZpY2F0aW9uIGFkZGVkXCIsIHtcbiAgICAgIGlkOiBjb3VudCxcbiAgICAgIHRpdGxlOiBub3RpZmljYXRpb24udGl0bGUsXG4gICAgICB0eXBlOiBub3RpZmljYXRpb24udHlwZVxuICAgIH0pXG5cbiAgICB0aGlzLnNldFN0YXRlKHtjb3VudCwgbm90aWZpY2F0aW9uczogdGhpcy5zLm5vdGlmaWNhdGlvbnMuY29uY2F0KFtub3RpZmljYXRpb25dKX0pXG4gIH1cblxuICBvblJlbW92ZWRDbGlja2VkID0gKG5vdGlmaWNhdGlvbikgPT4ge1xuICAgIGRlYnVnTG9nKFwiRmxhc2hOb3RpZmljYXRpb25zOiBub3RpZmljYXRpb24gcHJlc3NlZFwiLCB7aWQ6IG5vdGlmaWNhdGlvbi5jb3VudH0pXG4gICAgdGhpcy5kaXNtaXNzTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbiwgXCJwcmVzc1wiKVxuICB9XG5cbiAgb25Ob3RpZmljYXRpb25NZWFzdXJlZCA9IChub3RpZmljYXRpb24sIG1lYXN1cmVkSGVpZ2h0KSA9PiB7XG4gICAgaWYgKG5vdGlmaWNhdGlvbi5tZWFzdXJlZEhlaWdodCkgcmV0dXJuXG5cbiAgICBkZWJ1Z0xvZyhcIkZsYXNoTm90aWZpY2F0aW9uczogbm90aWZpY2F0aW9uIG1lYXN1cmVkXCIsIHtpZDogbm90aWZpY2F0aW9uLmNvdW50LCBoZWlnaHQ6IG1lYXN1cmVkSGVpZ2h0fSlcblxuICAgIG5vdGlmaWNhdGlvbi5tZWFzdXJlZEhlaWdodCA9IG1lYXN1cmVkSGVpZ2h0XG4gICAgbm90aWZpY2F0aW9uLmhlaWdodC5zZXRWYWx1ZShtZWFzdXJlZEhlaWdodClcbiAgICB0aGlzLnNldFN0YXRlKHtub3RpZmljYXRpb25zOiBbLi4udGhpcy5zLm5vdGlmaWNhdGlvbnNdfSlcbiAgfVxuXG4gIGRpc21pc3NOb3RpZmljYXRpb25CeUNvdW50ID0gKGNvdW50LCByZWFzb24gPSBcInVua25vd25cIikgPT4ge1xuICAgIGNvbnN0IG5vdGlmaWNhdGlvbiA9IHRoaXMucy5ub3RpZmljYXRpb25zLmZpbmQoKGl0ZW0pID0+IGl0ZW0uY291bnQgPT0gY291bnQpXG4gICAgaWYgKCFub3RpZmljYXRpb24pIHtcbiAgICAgIGRlYnVnTG9nKFwiRmxhc2hOb3RpZmljYXRpb25zOiBub3RpZmljYXRpb24gbm90IGZvdW5kXCIsIHtpZDogY291bnQsIHJlYXNvbn0pXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLmRpc21pc3NOb3RpZmljYXRpb24obm90aWZpY2F0aW9uLCByZWFzb24pXG4gIH1cblxuICBkaXNtaXNzTm90aWZpY2F0aW9uID0gKG5vdGlmaWNhdGlvbiwgcmVhc29uID0gXCJ1bmtub3duXCIpID0+IHtcbiAgICBpZiAobm90aWZpY2F0aW9uLnJlbW92aW5nKSB7XG4gICAgICBkZWJ1Z0xvZyhcIkZsYXNoTm90aWZpY2F0aW9uczogbm90aWZpY2F0aW9uIGFscmVhZHkgcmVtb3ZpbmdcIiwge2lkOiBub3RpZmljYXRpb24uY291bnQsIHJlYXNvbn0pXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBub3RpZmljYXRpb24ucmVtb3ZpbmcgPSB0cnVlXG4gICAgaWYgKG5vdGlmaWNhdGlvbi50aW1lb3V0KSBjbGVhclRpbWVvdXQobm90aWZpY2F0aW9uLnRpbWVvdXQpXG5cbiAgICBpZiAoIW5vdGlmaWNhdGlvbi5tZWFzdXJlZEhlaWdodCkge1xuICAgICAgZGVidWdMb2coXCJGbGFzaE5vdGlmaWNhdGlvbnM6IG5vdGlmaWNhdGlvbiBtaXNzaW5nIG1lYXN1cmVkIGhlaWdodFwiLCB7aWQ6IG5vdGlmaWNhdGlvbi5jb3VudH0pXG4gICAgICBub3RpZmljYXRpb24ubWVhc3VyZWRIZWlnaHQgPSAxXG4gICAgICBub3RpZmljYXRpb24uaGVpZ2h0LnNldFZhbHVlKDEpXG4gICAgICB0aGlzLnNldFN0YXRlKHtub3RpZmljYXRpb25zOiBbLi4udGhpcy5zLm5vdGlmaWNhdGlvbnNdfSlcbiAgICB9XG5cbiAgICBkZWJ1Z0xvZyhcIkZsYXNoTm90aWZpY2F0aW9uczogYW5pbWF0aW9ucyBiZWdpblwiLCB7XG4gICAgICBpZDogbm90aWZpY2F0aW9uLmNvdW50LFxuICAgICAgYW5pbWF0aW9uczogW1wib3BhY2l0eVwiLCBcImhlaWdodFwiLCBcIm1hcmdpbkJvdHRvbVwiXSxcbiAgICAgIHJlYXNvblxuICAgIH0pXG4gICAgZGVidWdMb2coXCJGbGFzaE5vdGlmaWNhdGlvbnM6IGZhZGUgYW5pbWF0aW9uIGJlZ2luXCIsIHtpZDogbm90aWZpY2F0aW9uLmNvdW50LCByZWFzb259KVxuXG4gICAgY29uc3QgZGlzbWlzc0R1cmF0aW9uID0gcmVhc29uID09PSBcInByZXNzXCIgPyA4MCA6IDIwMFxuXG4gICAgQW5pbWF0ZWQucGFyYWxsZWwoW1xuICAgICAgQW5pbWF0ZWQudGltaW5nKG5vdGlmaWNhdGlvbi5vcGFjaXR5LCB7dG9WYWx1ZTogMCwgZHVyYXRpb246IGRpc21pc3NEdXJhdGlvbiwgdXNlTmF0aXZlRHJpdmVyOiBmYWxzZX0pLFxuICAgICAgQW5pbWF0ZWQudGltaW5nKG5vdGlmaWNhdGlvbi5oZWlnaHQsIHt0b1ZhbHVlOiAwLCBkdXJhdGlvbjogZGlzbWlzc0R1cmF0aW9uLCB1c2VOYXRpdmVEcml2ZXI6IGZhbHNlfSksXG4gICAgICBBbmltYXRlZC50aW1pbmcobm90aWZpY2F0aW9uLm1hcmdpbkJvdHRvbSwge3RvVmFsdWU6IDAsIGR1cmF0aW9uOiBkaXNtaXNzRHVyYXRpb24sIHVzZU5hdGl2ZURyaXZlcjogZmFsc2V9KVxuICAgIF0pLnN0YXJ0KCgpID0+IHtcbiAgICAgIGRlYnVnTG9nKFwiRmxhc2hOb3RpZmljYXRpb25zOiBhbmltYXRpb25zIGVuZFwiLCB7XG4gICAgICAgIGlkOiBub3RpZmljYXRpb24uY291bnQsXG4gICAgICAgIGFuaW1hdGlvbnM6IFtcIm9wYWNpdHlcIiwgXCJoZWlnaHRcIiwgXCJtYXJnaW5Cb3R0b21cIl0sXG4gICAgICAgIHJlYXNvblxuICAgICAgfSlcbiAgICAgIGRlYnVnTG9nKFwiRmxhc2hOb3RpZmljYXRpb25zOiBmYWRlIGFuaW1hdGlvbiBlbmRcIiwge2lkOiBub3RpZmljYXRpb24uY291bnQsIHJlYXNvbn0pXG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBub3RpZmljYXRpb25zOiB0aGlzLnMubm90aWZpY2F0aW9ucy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uY291bnQgIT0gbm90aWZpY2F0aW9uLmNvdW50KVxuICAgICAgfSlcblxuICAgICAgZGVidWdMb2coXCJGbGFzaE5vdGlmaWNhdGlvbnM6IG5vdGlmaWNhdGlvbiByZW1vdmVkXCIsIHtpZDogbm90aWZpY2F0aW9uLmNvdW50LCByZWFzb259KVxuICAgIH0pXG4gIH1cbn0pKVxuIl19
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRhaW5lci9pbmRleC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLGlEQUFpRDtBQUNqRCxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLEtBQUssRUFBRSxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ3JELE9BQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFBO0FBQ3BELE9BQU8sZUFBZSxNQUFNLHNCQUFzQixDQUFBO0FBQ2xELE9BQU8sV0FBVyxNQUFNLGtDQUFrQyxDQUFBO0FBQzFELE9BQU8sRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBRTNDLE9BQU8sUUFBUSxNQUFNLGFBQWEsQ0FBQTtBQUNsQyxPQUFPLE1BQU0sTUFBTSxjQUFjLENBQUE7QUFDakMsT0FBTyxpQkFBaUIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUU5Qzs7Ozs7O0dBTUc7QUFFSDs7Ozs7Ozs7Ozs7O0dBWUc7QUFFSCxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSwyQkFBNEIsU0FBUSxjQUFjO0lBQ3pGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtLQUN6QixDQUFDLENBQUE7SUFFRix1QkFBdUI7SUFDdkIsUUFBUSxHQUFHLEVBQUUsQ0FBQTtJQUNiLG1CQUFtQixHQUFHLEVBQUUsQ0FBQTtJQUV4QixLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLEtBQUss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Z0JBQ3RCLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDO2dCQUNqRCxNQUFNO2FBQ1AsQ0FBQyxDQUFBO1lBQ0YsUUFBUSxDQUFDLHdDQUF3QyxFQUFFLEVBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQTtZQUVwRixJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUNaLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNO2dCQUN4QywyQ0FBMkM7Z0JBQzNDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQzNDO2FBQ0YsQ0FBQyxDQUFBO1lBRUYsUUFBUSxDQUFDLDBDQUEwQyxFQUFFLEVBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQTtRQUN4RixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbi8vIEB0cy1leHBlY3QtZXJyb3IgUGFja2FnZSBzaGlwcyBubyAuZC50cyBmaWxlcy5cbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgUmVhY3QsIHttZW1vLCB1c2VFZmZlY3QsIHVzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50LCBTaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQge3VzZUJyZWFrcG9pbnR9IGZyb20gXCJyZXNwb25zaXZlLWJyZWFrcG9pbnRzXCJcbmltcG9ydCB1c2VFdmVudEVtaXR0ZXIgZnJvbSBcInlhLXVzZS1ldmVudC1lbWl0dGVyXCJcbmltcG9ydCB1c2VFbnZTZW5zZSBmcm9tIFwiZW52LXNlbnNlL2J1aWxkL3VzZS1lbnYtc2Vuc2UuanNcIlxuaW1wb3J0IHtBbmltYXRlZCwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5cbmltcG9ydCBkZWJ1Z0xvZyBmcm9tIFwiLi4vZGVidWcuanNcIlxuaW1wb3J0IGV2ZW50cyBmcm9tIFwiLi4vZXZlbnRzLmpzXCJcbmltcG9ydCBGbGFzaE5vdGlmaWNhdGlvbiBmcm9tIFwiLi9ub3RpZmljYXRpb25cIlxuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IE5vdGlmaWNhdGlvbk9iamVjdFR5cGVcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBjb3VudFxuICogQHByb3BlcnR5IHtzdHJpbmd9IG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0aXRsZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IHR5cGVcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFN0b3JlZE5vdGlmaWNhdGlvblR5cGVcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBjb3VudFxuICogQHByb3BlcnR5IHtpbXBvcnQoXCJyZWFjdC1uYXRpdmVcIikuQW5pbWF0ZWQuVmFsdWV9IGhlaWdodFxuICogQHByb3BlcnR5IHtpbXBvcnQoXCJyZWFjdC1uYXRpdmVcIikuQW5pbWF0ZWQuVmFsdWV9IG1hcmdpbkJvdHRvbVxuICogQHByb3BlcnR5IHtudW1iZXIgfCB1bmRlZmluZWR9IG1lYXN1cmVkSGVpZ2h0XG4gKiBAcHJvcGVydHkge3N0cmluZ30gbWVzc2FnZVxuICogQHByb3BlcnR5IHtpbXBvcnQoXCJyZWFjdC1uYXRpdmVcIikuQW5pbWF0ZWQuVmFsdWV9IG9wYWNpdHlcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gcmVtb3ZpbmdcbiAqIEBwcm9wZXJ0eSB7UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD59IHRpbWVvdXRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0aXRsZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IHR5cGVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEZsYXNoTm90aWZpY2F0aW9uc0NvbnRhaW5lciBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBpbnNldHM6IFByb3BUeXBlcy5vYmplY3RcbiAgfSlcblxuICAvKiogQHR5cGUge251bWJlcltdfSAqL1xuICB0aW1lb3V0cyA9IFtdXG4gIG5vdGlmaWNhdGlvblNwYWNpbmcgPSAxNVxuXG4gIHNldHVwKCkge1xuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIGNvdW50OiAwLFxuICAgICAgLyoqIEB0eXBlIHtTdG9yZWROb3RpZmljYXRpb25UeXBlW119ICovXG4gICAgICBub3RpZmljYXRpb25zOiBbXVxuICAgIH0pXG5cbiAgICB1c2VFdmVudEVtaXR0ZXIoZXZlbnRzLCBcInB1c2hOb3RpZmljYXRpb25cIiwgdGhpcy5vblB1c2hOb3RpZmljYXRpb25FdmVudClcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCB0aW1lb3V0IG9mIHRoaXMudGltZW91dHMpIHtcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIFtdKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtub3RpZmljYXRpb25zfSA9IHRoaXMuc1xuICAgIGNvbnN0IGluc2V0cyA9IHRoaXMucHJvcHMuaW5zZXRzIHx8IHt9XG5cbiAgICBjb25zdCB7c21Eb3duLCBtZFVwfSA9IHVzZUJyZWFrcG9pbnQoKVxuICAgIGNvbnN0IHtpc05hdGl2ZX0gPSB1c2VFbnZTZW5zZSgpXG5cbiAgICBjb25zdCB2aWV3U3R5bGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGxldCB0b3AgPSAyMFxuICAgICAgbGV0IHJpZ2h0ID0gMFxuICAgICAgbGV0IGxlZnQgPSB1bmRlZmluZWRcblxuICAgICAgaWYgKGluc2V0cy50b3ApIHRvcCArPSBpbnNldHMudG9wXG4gICAgICBpZiAoaW5zZXRzLnJpZ2h0KSByaWdodCArPSBpbnNldHMucmlnaHRcblxuICAgICAgaWYgKHNtRG93bikge1xuICAgICAgICBsZWZ0ID0gMjBcblxuICAgICAgICBpZiAoaW5zZXRzLmxlZnQpIGxlZnQgKz0gaW5zZXRzLmxlZnRcblxuICAgICAgICByaWdodCArPSAyMFxuICAgICAgfSBlbHNlIGlmIChtZFVwKSB7XG4gICAgICAgIHJpZ2h0ICs9IDIwXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN0eWxlID0ge1xuICAgICAgICBwb3NpdGlvbjogaXNOYXRpdmUgPyBcImFic29sdXRlXCIgOiBcImZpeGVkXCIsXG4gICAgICAgIHRvcCxcbiAgICAgICAgcmlnaHQsXG4gICAgICAgIGxlZnQsXG4gICAgICAgIHpJbmRleDogOTk5OTlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHN0eWxlXG4gICAgfSwgW2lzTmF0aXZlLCBzbURvd24sIG1kVXAsIGluc2V0cy50b3AsIGluc2V0cy5yaWdodCwgaW5zZXRzLmxlZnRdKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgZGF0YVNldD17dGhpcy5yb290Vmlld0RhdGFTZXQgfHw9IHtjb21wb25lbnQ6IFwiZmxhc2gtbm90aWZpY2F0aW9ucy1jb250YWluZXJcIn19XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgUmVhY3QgTmF0aXZlIHR5cGVzIGRvIG5vdCBpbmNsdWRlIHRoZSB3ZWItb25seSBcImZpeGVkXCIgcG9zaXRpb24uXG4gICAgICAgIHN0eWxlPXt2aWV3U3R5bGV9XG4gICAgICAgIHRlc3RJRD1cImZsYXNoLW5vdGlmaWNhaXRvbnMvY29udGFpbmVyXCJcbiAgICAgID5cbiAgICAgICAge25vdGlmaWNhdGlvbnMubWFwKFxuICAgICAgICAgIC8qKiBAcGFyYW0ge1N0b3JlZE5vdGlmaWNhdGlvblR5cGV9IG5vdGlmaWNhdGlvbiAqL1xuICAgICAgICAgIChub3RpZmljYXRpb24pID0+XG4gICAgICAgICAgPEZsYXNoTm90aWZpY2F0aW9uXG4gICAgICAgICAgICBjb3VudD17bm90aWZpY2F0aW9uLmNvdW50fVxuICAgICAgICAgICAga2V5PXtgbm90aWZpY2F0aW9uLSR7bm90aWZpY2F0aW9uLmNvdW50fWB9XG4gICAgICAgICAgICBtZXNzYWdlPXtub3RpZmljYXRpb24ubWVzc2FnZX1cbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbj17bm90aWZpY2F0aW9ufVxuICAgICAgICAgICAgb25NZWFzdXJlZD17dGhpcy5vbk5vdGlmaWNhdGlvbk1lYXN1cmVkfVxuICAgICAgICAgICAgb25SZW1vdmVkQ2xpY2tlZD17dGhpcy5vblJlbW92ZWRDbGlja2VkfVxuICAgICAgICAgICAgdGl0bGU9e25vdGlmaWNhdGlvbi50aXRsZX1cbiAgICAgICAgICAgIHR5cGU9e25vdGlmaWNhdGlvbi50eXBlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1ZpZXc+XG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Li4udW5rbm93bn0gYXJnc1xuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIG9uUHVzaE5vdGlmaWNhdGlvbkV2ZW50ID0gKC4uLmFyZ3MpID0+IHtcbiAgICB0aGlzLm9uUHVzaE5vdGlmaWNhdGlvbigvKiogQHR5cGUge05vdGlmaWNhdGlvbk9iamVjdFR5cGV9ICovIChhcmdzWzBdKSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge05vdGlmaWNhdGlvbk9iamVjdFR5cGV9IGRldGFpbFxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIG9uUHVzaE5vdGlmaWNhdGlvbiA9IChkZXRhaWwpID0+IHtcbiAgICBjb25zdCBjb3VudCA9IHRoaXMucy5jb3VudCArIDFcbiAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBkZWJ1Z0xvZyhcIkZsYXNoTm90aWZpY2F0aW9uczogbm90aWZpY2F0aW9uIHRpbWVvdXRcIiwge2lkOiBjb3VudH0pXG4gICAgICB0aGlzLmRpc21pc3NOb3RpZmljYXRpb25CeUNvdW50KGNvdW50LCBcInRpbWVvdXRcIilcbiAgICB9LCA0MDAwKVxuXG4gICAgdGhpcy50aW1lb3V0cy5wdXNoKHRpbWVvdXQpXG5cbiAgICAvKiogQHR5cGUge1N0b3JlZE5vdGlmaWNhdGlvblR5cGV9ICovXG4gICAgY29uc3Qgbm90aWZpY2F0aW9uID0ge1xuICAgICAgY291bnQsXG4gICAgICBoZWlnaHQ6IG5ldyBBbmltYXRlZC5WYWx1ZSgwKSxcbiAgICAgIG1hcmdpbkJvdHRvbTogbmV3IEFuaW1hdGVkLlZhbHVlKHRoaXMubm90aWZpY2F0aW9uU3BhY2luZyksXG4gICAgICBtZWFzdXJlZEhlaWdodDogdW5kZWZpbmVkLFxuICAgICAgbWVzc2FnZTogZGlnZyhkZXRhaWwsIFwibWVzc2FnZVwiKSxcbiAgICAgIG9wYWNpdHk6IG5ldyBBbmltYXRlZC5WYWx1ZSgxKSxcbiAgICAgIHJlbW92aW5nOiBmYWxzZSxcbiAgICAgIHRpbWVvdXQsXG4gICAgICB0aXRsZTogZGlnZyhkZXRhaWwsIFwidGl0bGVcIiksXG4gICAgICB0eXBlOiBkaWdnKGRldGFpbCwgXCJ0eXBlXCIpXG4gICAgfVxuXG4gICAgZGVidWdMb2coXCJGbGFzaE5vdGlmaWNhdGlvbnM6IG5vdGlmaWNhdGlvbiBhZGRlZFwiLCB7XG4gICAgICBpZDogY291bnQsXG4gICAgICB0aXRsZTogbm90aWZpY2F0aW9uLnRpdGxlLFxuICAgICAgdHlwZTogbm90aWZpY2F0aW9uLnR5cGVcbiAgICB9KVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7Y291bnQsIG5vdGlmaWNhdGlvbnM6IHRoaXMucy5ub3RpZmljYXRpb25zLmNvbmNhdChbbm90aWZpY2F0aW9uXSl9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7U3RvcmVkTm90aWZpY2F0aW9uVHlwZX0gbm90aWZpY2F0aW9uXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgb25SZW1vdmVkQ2xpY2tlZCA9IChub3RpZmljYXRpb24pID0+IHtcbiAgICBkZWJ1Z0xvZyhcIkZsYXNoTm90aWZpY2F0aW9uczogbm90aWZpY2F0aW9uIHByZXNzZWRcIiwge2lkOiBub3RpZmljYXRpb24uY291bnR9KVxuICAgIHRoaXMuZGlzbWlzc05vdGlmaWNhdGlvbihub3RpZmljYXRpb24sIFwicHJlc3NcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1N0b3JlZE5vdGlmaWNhdGlvblR5cGV9IG5vdGlmaWNhdGlvblxuICAgKiBAcGFyYW0ge251bWJlcn0gbWVhc3VyZWRIZWlnaHRcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBvbk5vdGlmaWNhdGlvbk1lYXN1cmVkID0gKG5vdGlmaWNhdGlvbiwgbWVhc3VyZWRIZWlnaHQpID0+IHtcbiAgICBpZiAobm90aWZpY2F0aW9uLm1lYXN1cmVkSGVpZ2h0KSByZXR1cm5cblxuICAgIGRlYnVnTG9nKFwiRmxhc2hOb3RpZmljYXRpb25zOiBub3RpZmljYXRpb24gbWVhc3VyZWRcIiwge2lkOiBub3RpZmljYXRpb24uY291bnQsIGhlaWdodDogbWVhc3VyZWRIZWlnaHR9KVxuXG4gICAgbm90aWZpY2F0aW9uLm1lYXN1cmVkSGVpZ2h0ID0gbWVhc3VyZWRIZWlnaHRcbiAgICBub3RpZmljYXRpb24uaGVpZ2h0LnNldFZhbHVlKG1lYXN1cmVkSGVpZ2h0KVxuICAgIHRoaXMuc2V0U3RhdGUoe25vdGlmaWNhdGlvbnM6IFsuLi50aGlzLnMubm90aWZpY2F0aW9uc119KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBjb3VudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3JlYXNvbl1cbiAgICogQHJldHVybnMge3ZvaWR9XG4gICovXG4gIGRpc21pc3NOb3RpZmljYXRpb25CeUNvdW50ID0gKGNvdW50LCByZWFzb24gPSBcInVua25vd25cIikgPT4ge1xuICAgIGNvbnN0IG5vdGlmaWNhdGlvbiA9IC8qKiBAdHlwZSB7U3RvcmVkTm90aWZpY2F0aW9uVHlwZSB8IHVuZGVmaW5lZH0gKi8gKHRoaXMucy5ub3RpZmljYXRpb25zLmZpbmQoXG4gICAgICAvKiogQHBhcmFtIHtTdG9yZWROb3RpZmljYXRpb25UeXBlfSBpdGVtICovXG4gICAgICAoaXRlbSkgPT4gaXRlbS5jb3VudCA9PSBjb3VudFxuICAgICkpXG4gICAgaWYgKCFub3RpZmljYXRpb24pIHtcbiAgICAgIGRlYnVnTG9nKFwiRmxhc2hOb3RpZmljYXRpb25zOiBub3RpZmljYXRpb24gbm90IGZvdW5kXCIsIHtpZDogY291bnQsIHJlYXNvbn0pXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLmRpc21pc3NOb3RpZmljYXRpb24obm90aWZpY2F0aW9uLCByZWFzb24pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtTdG9yZWROb3RpZmljYXRpb25UeXBlfSBub3RpZmljYXRpb25cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtyZWFzb25dXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgZGlzbWlzc05vdGlmaWNhdGlvbiA9IChub3RpZmljYXRpb24sIHJlYXNvbiA9IFwidW5rbm93blwiKSA9PiB7XG4gICAgaWYgKG5vdGlmaWNhdGlvbi5yZW1vdmluZykge1xuICAgICAgZGVidWdMb2coXCJGbGFzaE5vdGlmaWNhdGlvbnM6IG5vdGlmaWNhdGlvbiBhbHJlYWR5IHJlbW92aW5nXCIsIHtpZDogbm90aWZpY2F0aW9uLmNvdW50LCByZWFzb259KVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgbm90aWZpY2F0aW9uLnJlbW92aW5nID0gdHJ1ZVxuICAgIGlmIChub3RpZmljYXRpb24udGltZW91dCkgY2xlYXJUaW1lb3V0KG5vdGlmaWNhdGlvbi50aW1lb3V0KVxuXG4gICAgaWYgKCFub3RpZmljYXRpb24ubWVhc3VyZWRIZWlnaHQpIHtcbiAgICAgIGRlYnVnTG9nKFwiRmxhc2hOb3RpZmljYXRpb25zOiBub3RpZmljYXRpb24gbWlzc2luZyBtZWFzdXJlZCBoZWlnaHRcIiwge2lkOiBub3RpZmljYXRpb24uY291bnR9KVxuICAgICAgbm90aWZpY2F0aW9uLm1lYXN1cmVkSGVpZ2h0ID0gMVxuICAgICAgbm90aWZpY2F0aW9uLmhlaWdodC5zZXRWYWx1ZSgxKVxuICAgICAgdGhpcy5zZXRTdGF0ZSh7bm90aWZpY2F0aW9uczogWy4uLnRoaXMucy5ub3RpZmljYXRpb25zXX0pXG4gICAgfVxuXG4gICAgZGVidWdMb2coXCJGbGFzaE5vdGlmaWNhdGlvbnM6IGFuaW1hdGlvbnMgYmVnaW5cIiwge1xuICAgICAgaWQ6IG5vdGlmaWNhdGlvbi5jb3VudCxcbiAgICAgIGFuaW1hdGlvbnM6IFtcIm9wYWNpdHlcIiwgXCJoZWlnaHRcIiwgXCJtYXJnaW5Cb3R0b21cIl0sXG4gICAgICByZWFzb25cbiAgICB9KVxuICAgIGRlYnVnTG9nKFwiRmxhc2hOb3RpZmljYXRpb25zOiBmYWRlIGFuaW1hdGlvbiBiZWdpblwiLCB7aWQ6IG5vdGlmaWNhdGlvbi5jb3VudCwgcmVhc29ufSlcblxuICAgIGNvbnN0IGRpc21pc3NEdXJhdGlvbiA9IHJlYXNvbiA9PT0gXCJwcmVzc1wiID8gODAgOiAyMDBcblxuICAgIEFuaW1hdGVkLnBhcmFsbGVsKFtcbiAgICAgIEFuaW1hdGVkLnRpbWluZyhub3RpZmljYXRpb24ub3BhY2l0eSwge3RvVmFsdWU6IDAsIGR1cmF0aW9uOiBkaXNtaXNzRHVyYXRpb24sIHVzZU5hdGl2ZURyaXZlcjogZmFsc2V9KSxcbiAgICAgIEFuaW1hdGVkLnRpbWluZyhub3RpZmljYXRpb24uaGVpZ2h0LCB7dG9WYWx1ZTogMCwgZHVyYXRpb246IGRpc21pc3NEdXJhdGlvbiwgdXNlTmF0aXZlRHJpdmVyOiBmYWxzZX0pLFxuICAgICAgQW5pbWF0ZWQudGltaW5nKG5vdGlmaWNhdGlvbi5tYXJnaW5Cb3R0b20sIHt0b1ZhbHVlOiAwLCBkdXJhdGlvbjogZGlzbWlzc0R1cmF0aW9uLCB1c2VOYXRpdmVEcml2ZXI6IGZhbHNlfSlcbiAgICBdKS5zdGFydCgoKSA9PiB7XG4gICAgICBkZWJ1Z0xvZyhcIkZsYXNoTm90aWZpY2F0aW9uczogYW5pbWF0aW9ucyBlbmRcIiwge1xuICAgICAgICBpZDogbm90aWZpY2F0aW9uLmNvdW50LFxuICAgICAgICBhbmltYXRpb25zOiBbXCJvcGFjaXR5XCIsIFwiaGVpZ2h0XCIsIFwibWFyZ2luQm90dG9tXCJdLFxuICAgICAgICByZWFzb25cbiAgICAgIH0pXG4gICAgICBkZWJ1Z0xvZyhcIkZsYXNoTm90aWZpY2F0aW9uczogZmFkZSBhbmltYXRpb24gZW5kXCIsIHtpZDogbm90aWZpY2F0aW9uLmNvdW50LCByZWFzb259KVxuXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgbm90aWZpY2F0aW9uczogdGhpcy5zLm5vdGlmaWNhdGlvbnMuZmlsdGVyKFxuICAgICAgICAgIC8qKiBAcGFyYW0ge1N0b3JlZE5vdGlmaWNhdGlvblR5cGV9IGl0ZW0gKi9cbiAgICAgICAgICAoaXRlbSkgPT4gaXRlbS5jb3VudCAhPSBub3RpZmljYXRpb24uY291bnRcbiAgICAgICAgKVxuICAgICAgfSlcblxuICAgICAgZGVidWdMb2coXCJGbGFzaE5vdGlmaWNhdGlvbnM6IG5vdGlmaWNhdGlvbiByZW1vdmVkXCIsIHtpZDogbm90aWZpY2F0aW9uLmNvdW50LCByZWFzb259KVxuICAgIH0pXG4gIH1cbn0pKVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"notification.d.ts","sourceRoot":"/src/","sources":["container/notification.jsx"],"names":[],"mappings":";;kBAEmC,OAAO"}
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"/src/","sources":["container/notification.jsx"],"names":[],"mappings":";;kBAGmC,OAAO"}
@@ -1,10 +1,13 @@
1
1
  import PropTypes from "prop-types";
2
+ // @ts-expect-error Package ships no .d.ts files.
2
3
  import PropTypesExact from "prop-types-exact";
3
4
  import React, { memo, useMemo } from "react";
4
5
  import { Animated, Pressable, Text, View } from "react-native";
5
6
  import { shapeComponent, ShapeComponent } from "set-state-compare/build/shape-component.js";
6
7
  import { useBreakpoint } from "responsive-breakpoints";
8
+ /** @type {Record<string, object>} */
7
9
  const dataSets = {};
10
+ /** @type {Record<string, object>} */
8
11
  const styles = {};
9
12
  export default memo(shapeComponent(class FlashNotificationsNotification extends ShapeComponent {
10
13
  static propTypes = PropTypesExact({
@@ -92,4 +95,4 @@ export default memo(shapeComponent(class FlashNotificationsNotification extends
92
95
  }
93
96
  };
94
97
  }));
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJjb250YWluZXIvbm90aWZpY2F0aW9uLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxLQUFLLEVBQUUsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzFDLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDNUQsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUE7QUFFcEQsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFBO0FBQ25CLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQixlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSw4QkFBK0IsU0FBUSxjQUFjO0lBQzVGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUMzQixLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQ2xDLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDcEMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUN6QyxVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVO1FBQ3JDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUMzQyxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQ2xDLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7S0FDbEMsQ0FBQyxDQUFB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QztJQUNILENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgUHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IFJlYWN0LCB7bWVtbywgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7QW5pbWF0ZWQsIFByZXNzYWJsZSwgVGV4dCwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50LCBTaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQge3VzZUJyZWFrcG9pbnR9IGZyb20gXCJyZXNwb25zaXZlLWJyZWFrcG9pbnRzXCJcblxuY29uc3QgZGF0YVNldHMgPSB7fVxuY29uc3Qgc3R5bGVzID0ge31cblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBGbGFzaE5vdGlmaWNhdGlvbnNOb3RpZmljYXRpb24gZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7XG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvdW50OiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gICAgbWVzc2FnZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIG5vdGlmaWNhdGlvbjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG9uTWVhc3VyZWQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25SZW1vdmVkQ2xpY2tlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIHR5cGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZFxuICB9KVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y291bnQsIG1lc3NhZ2UsIHRpdGxlLCB0eXBlfSA9IHRoaXMucFxuICAgIGNvbnN0IHtjbGFzc05hbWV9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGJyZWFrcG9pbnQgPSB1c2VCcmVha3BvaW50KClcblxuICAgIGNvbnN0IHByZXNzYWJsZURhdGFTZXQgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgY2xhc3M6IGNsYXNzTmFtZSxcbiAgICAgICAgcm9sZTogXCJkaWFsb2dcIixcbiAgICAgICAgdHlwZVxuICAgICAgfSksXG4gICAgICBbY2xhc3NOYW1lLCB0eXBlXVxuICAgIClcblxuICAgIHJldHVybiAoXG4gICAgICA8QW5pbWF0ZWQuVmlldyBzdHlsZT17dGhpcy50dC53cmFwcGVyU3R5bGV9PlxuICAgICAgICA8UHJlc3NhYmxlXG4gICAgICAgICAgZGF0YVNldD17cHJlc3NhYmxlRGF0YVNldH1cbiAgICAgICAgICBvbkxheW91dD17dGhpcy50dC5vbkxheW91dH1cbiAgICAgICAgICBvblByZXNzPXt0aGlzLnR0Lm9uUmVtb3ZlZENsaWNrZWR9XG4gICAgICAgICAgc3R5bGU9e3N0eWxlc1tgcHJlc3NhYmxlLSR7dHlwZX0tJHticmVha3BvaW50LnNtRG93bn0tJHticmVha3BvaW50Lm1kVXB9YF0gfHw9IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1LFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAxMSxcbiAgICAgICAgICAgIGN1cnNvcjogXCJwb2ludGVyXCIsXG4gICAgICAgICAgICB3aWR0aDogKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGJyZWFrcG9pbnQuc21Eb3duKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiMTAwJVwiXG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoYnJlYWtwb2ludC5tZFVwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDMwMFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSgpLFxuICAgICAgICAgICAgbWF4V2lkdGg6ICgoKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChicmVha3BvaW50Lm1kVXApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gXCIxMDAlXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKSxcbiAgICAgICAgICAgIGJvcmRlcjogKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT0gXCJlcnJvclwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiMXB4IHNvbGlkIHJnYmEoMTYxLCAzNCwgMzIsIDAuOTUpXCJcbiAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09IFwic3VjY2Vzc1wiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC45NSlcIlxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJhbGVydFwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiMXB4IHNvbGlkIHJnYmEoMjA0LCA1MSwgMCwgMC45NSlcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSgpLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PSBcImVycm9yXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJyZ2JhKDE2MSwgMzQsIDMyLCAwLjg3KVwiXG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInN1Y2Nlc3NcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBcInJnYmEoMCwgMCwgMCwgMC44NylcIlxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJhbGVydFwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwicmdiYSgyMDQsIDUxLCAwLCAwLjg3KVwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKClcbiAgICAgICAgICB9fVxuICAgICAgICAgIHRlc3RJRD1cImZsYXNoLW5vdGlmaWNhdGlvbnMtbm90aWZpY2F0aW9uXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICBzdHlsZT17c3R5bGVzLnRpdGxlVmlldyB8fD0ge21hcmdpbkJvdHRvbTogNX19XG4gICAgICAgICAgICB0ZXN0SUQ9XCJub3RpZmljYXRpb24tdGl0bGVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxUZXh0XG4gICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMudGl0bGVUZXh0IHx8PSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IFwiI2ZmZlwiLFxuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDcwMFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICB0ZXN0SUQ9e2BmbGFzaC1ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi0ke2NvdW50fS90aXRsZWB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgPFZpZXdcbiAgICAgICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzW2Bub3RpZmljYXRpb25NZXNzYWdlLSR7Y291bnR9YF0gfHw9IHtjb3VudDogYCR7Y291bnR9YH19XG4gICAgICAgICAgICB0ZXN0SUQ9XCJub3RpZmljYXRpb24tbWVzc2FnZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFRleHRcbiAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlcy5tZXNzYWdlVGV4dCB8fD0ge2NvbG9yOiBcIiNmZmZcIn19XG4gICAgICAgICAgICAgIHRlc3RJRD17YGZsYXNoLW5vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLSR7Y291bnR9L21lc3NhZ2VgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bWVzc2FnZX1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgPC9BbmltYXRlZC5WaWV3PlxuICAgIClcbiAgfVxuXG4gIGdldCB3cmFwcGVyU3R5bGUoKSB7XG4gICAgY29uc3Qge25vdGlmaWNhdGlvbn0gPSB0aGlzLnBcblxuICAgIHJldHVybiB7XG4gICAgICBoZWlnaHQ6IG5vdGlmaWNhdGlvbi5tZWFzdXJlZEhlaWdodCA/IG5vdGlmaWNhdGlvbi5oZWlnaHQgOiB1bmRlZmluZWQsXG4gICAgICBtYXJnaW5Cb3R0b206IG5vdGlmaWNhdGlvbi5tYXJnaW5Cb3R0b20sXG4gICAgICBvcGFjaXR5OiBub3RpZmljYXRpb24ub3BhY2l0eSxcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiXG4gICAgfVxuICB9XG5cbiAgb25SZW1vdmVkQ2xpY2tlZCA9ICgpID0+IHRoaXMucC5vblJlbW92ZWRDbGlja2VkKHRoaXMucC5ub3RpZmljYXRpb24pXG5cbiAgb25MYXlvdXQgPSAoZXZlbnQpID0+IHtcbiAgICBjb25zdCB7bm90aWZpY2F0aW9ufSA9IHRoaXMucFxuXG4gICAgaWYgKCFub3RpZmljYXRpb24ubWVhc3VyZWRIZWlnaHQpIHtcbiAgICAgIHRoaXMucC5vbk1lYXN1cmVkKG5vdGlmaWNhdGlvbiwgZXZlbnQubmF0aXZlRXZlbnQubGF5b3V0LmhlaWdodClcbiAgICB9XG4gIH1cbn0pKVxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJjb250YWluZXIvbm90aWZpY2F0aW9uLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsaURBQWlEO0FBQ2pELE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sS0FBSyxFQUFFLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUMxQyxPQUFPLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQzVELE9BQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFBO0FBRXBELHFDQUFxQztBQUNyQyxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUE7QUFDbkIscUNBQXFDO0FBQ3JDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQixlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSw4QkFBK0IsU0FBUSxjQUFjO0lBQzVGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUMzQixLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQ2xDLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDcEMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUN6QyxVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVO1FBQ3JDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUMzQyxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQ2xDLElBQUksRUFBRSxT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Q0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDbEUsQ0FBQztJQUNILENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG4vLyBAdHMtZXhwZWN0LWVycm9yIFBhY2thZ2Ugc2hpcHMgbm8gLmQudHMgZmlsZXMuXG5pbXBvcnQgUHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IFJlYWN0LCB7bWVtbywgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7QW5pbWF0ZWQsIFByZXNzYWJsZSwgVGV4dCwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50LCBTaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQge3VzZUJyZWFrcG9pbnR9IGZyb20gXCJyZXNwb25zaXZlLWJyZWFrcG9pbnRzXCJcblxuLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBvYmplY3Q+fSAqL1xuY29uc3QgZGF0YVNldHMgPSB7fVxuLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBvYmplY3Q+fSAqL1xuY29uc3Qgc3R5bGVzID0ge31cblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBGbGFzaE5vdGlmaWNhdGlvbnNOb3RpZmljYXRpb24gZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7XG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvdW50OiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gICAgbWVzc2FnZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIG5vdGlmaWNhdGlvbjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG9uTWVhc3VyZWQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25SZW1vdmVkQ2xpY2tlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIHR5cGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZFxuICB9KVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y291bnQsIG1lc3NhZ2UsIHRpdGxlLCB0eXBlfSA9IHRoaXMucFxuICAgIGNvbnN0IHtjbGFzc05hbWV9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGJyZWFrcG9pbnQgPSB1c2VCcmVha3BvaW50KClcblxuICAgIGNvbnN0IHByZXNzYWJsZURhdGFTZXQgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgY2xhc3M6IGNsYXNzTmFtZSxcbiAgICAgICAgcm9sZTogXCJkaWFsb2dcIixcbiAgICAgICAgdHlwZVxuICAgICAgfSksXG4gICAgICBbY2xhc3NOYW1lLCB0eXBlXVxuICAgIClcblxuICAgIHJldHVybiAoXG4gICAgICA8QW5pbWF0ZWQuVmlldyBzdHlsZT17dGhpcy50dC53cmFwcGVyU3R5bGV9PlxuICAgICAgICA8UHJlc3NhYmxlXG4gICAgICAgICAgZGF0YVNldD17cHJlc3NhYmxlRGF0YVNldH1cbiAgICAgICAgICBvbkxheW91dD17dGhpcy50dC5vbkxheW91dH1cbiAgICAgICAgICBvblByZXNzPXt0aGlzLnR0Lm9uUmVtb3ZlZENsaWNrZWR9XG4gICAgICAgICAgc3R5bGU9e3N0eWxlc1tgcHJlc3NhYmxlLSR7dHlwZX0tJHticmVha3BvaW50LnNtRG93bn0tJHticmVha3BvaW50Lm1kVXB9YF0gfHw9IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1LFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAxMSxcbiAgICAgICAgICAgIGN1cnNvcjogXCJwb2ludGVyXCIsXG4gICAgICAgICAgICB3aWR0aDogKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGJyZWFrcG9pbnQuc21Eb3duKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiMTAwJVwiXG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoYnJlYWtwb2ludC5tZFVwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDMwMFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSgpLFxuICAgICAgICAgICAgbWF4V2lkdGg6ICgoKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChicmVha3BvaW50Lm1kVXApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gXCIxMDAlXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKSxcbiAgICAgICAgICAgIGJvcmRlcjogKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT0gXCJlcnJvclwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiMXB4IHNvbGlkIHJnYmEoMTYxLCAzNCwgMzIsIDAuOTUpXCJcbiAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09IFwic3VjY2Vzc1wiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC45NSlcIlxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJhbGVydFwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiMXB4IHNvbGlkIHJnYmEoMjA0LCA1MSwgMCwgMC45NSlcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSgpLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PSBcImVycm9yXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJyZ2JhKDE2MSwgMzQsIDMyLCAwLjg3KVwiXG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInN1Y2Nlc3NcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBcInJnYmEoMCwgMCwgMCwgMC44NylcIlxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJhbGVydFwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwicmdiYSgyMDQsIDUxLCAwLCAwLjg3KVwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKClcbiAgICAgICAgICB9fVxuICAgICAgICAgIHRlc3RJRD1cImZsYXNoLW5vdGlmaWNhdGlvbnMtbm90aWZpY2F0aW9uXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICBzdHlsZT17c3R5bGVzLnRpdGxlVmlldyB8fD0ge21hcmdpbkJvdHRvbTogNX19XG4gICAgICAgICAgICB0ZXN0SUQ9XCJub3RpZmljYXRpb24tdGl0bGVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxUZXh0XG4gICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMudGl0bGVUZXh0IHx8PSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IFwiI2ZmZlwiLFxuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDcwMFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICB0ZXN0SUQ9e2BmbGFzaC1ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi0ke2NvdW50fS90aXRsZWB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgPFZpZXdcbiAgICAgICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzW2Bub3RpZmljYXRpb25NZXNzYWdlLSR7Y291bnR9YF0gfHw9IHtjb3VudDogYCR7Y291bnR9YH19XG4gICAgICAgICAgICB0ZXN0SUQ9XCJub3RpZmljYXRpb24tbWVzc2FnZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFRleHRcbiAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlcy5tZXNzYWdlVGV4dCB8fD0ge2NvbG9yOiBcIiNmZmZcIn19XG4gICAgICAgICAgICAgIHRlc3RJRD17YGZsYXNoLW5vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLSR7Y291bnR9L21lc3NhZ2VgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bWVzc2FnZX1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgPC9BbmltYXRlZC5WaWV3PlxuICAgIClcbiAgfVxuXG4gIGdldCB3cmFwcGVyU3R5bGUoKSB7XG4gICAgY29uc3Qge25vdGlmaWNhdGlvbn0gPSB0aGlzLnBcblxuICAgIHJldHVybiB7XG4gICAgICBoZWlnaHQ6IG5vdGlmaWNhdGlvbi5tZWFzdXJlZEhlaWdodCA/IG5vdGlmaWNhdGlvbi5oZWlnaHQgOiB1bmRlZmluZWQsXG4gICAgICBtYXJnaW5Cb3R0b206IG5vdGlmaWNhdGlvbi5tYXJnaW5Cb3R0b20sXG4gICAgICBvcGFjaXR5OiBub3RpZmljYXRpb24ub3BhY2l0eSxcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiXG4gICAgfVxuICB9XG5cbiAgb25SZW1vdmVkQ2xpY2tlZCA9ICgpID0+IHRoaXMucC5vblJlbW92ZWRDbGlja2VkKHRoaXMucC5ub3RpZmljYXRpb24pXG5cbiAgb25MYXlvdXQgPSAoZXZlbnQpID0+IHtcbiAgICBjb25zdCB7bm90aWZpY2F0aW9ufSA9IHRoaXMucFxuXG4gICAgaWYgKCFub3RpZmljYXRpb24ubWVhc3VyZWRIZWlnaHQpIHtcbiAgICAgIHRoaXMucC5vbk1lYXN1cmVkKG5vdGlmaWNhdGlvbiwgZXZlbnQubmF0aXZlRXZlbnQubGF5b3V0LmhlaWdodClcbiAgICB9XG4gIH1cbn0pKVxuIl19
@@ -10,10 +10,10 @@ export default class FlashNotifications {
10
10
  */
11
11
  static error(message: string): void;
12
12
  /**
13
- * @param {Error} error
13
+ * @param {unknown} error
14
14
  * @returns {void}
15
15
  */
16
- static errorResponse(error: Error): void;
16
+ static errorResponse(error: unknown): void;
17
17
  /**
18
18
  * @param {string} message
19
19
  * @returns {void}
@@ -1 +1 @@
1
- {"version":3,"file":"flash-notifications.d.ts","sourceRoot":"/src/","sources":["flash-notifications.js"],"names":[],"mappings":"AAOA;IACE;;;OAGG;IACH,sBAHW,MAAM,GACJ,IAAI,CAIhB;IAED;;;OAGG;IACH,sBAHW,MAAM,GACJ,IAAI,CAIhB;IAED;;;OAGG;IACH,4BAHW,KAAK,GACH,IAAI,CAqChB;IAED;;;OAGG;IACH,wBAHW,MAAM,GACJ,IAAI,CAIhB;IAED;;;;;OAKG;IACH,kBAJG;QAAqB,IAAI,EAAjB,MAAM;QACO,IAAI,EAAjB,MAAM;KACd,GAAU,IAAI,CAoBhB;CACF"}
1
+ {"version":3,"file":"flash-notifications.d.ts","sourceRoot":"/src/","sources":["flash-notifications.js"],"names":[],"mappings":"AAOA;IACE;;;OAGG;IACH,sBAHW,MAAM,GACJ,IAAI,CAIhB;IAED;;;OAGG;IACH,sBAHW,MAAM,GACJ,IAAI,CAIhB;IAED;;;OAGG;IACH,4BAHW,OAAO,GACL,IAAI,CA+ChB;IAED;;;OAGG;IACH,wBAHW,MAAM,GACJ,IAAI,CAIhB;IAED;;;;;OAKG;IACH,kBAJG;QAAqB,IAAI,EAAjB,MAAM;QACO,IAAI,EAAjB,MAAM;KACd,GAAU,IAAI,CAoBhB;CACF"}
@@ -18,10 +18,14 @@ export default class FlashNotifications {
18
18
  FlashNotifications.show({ type: "error", text: message });
19
19
  }
20
20
  /**
21
- * @param {Error} error
21
+ * @param {unknown} error
22
22
  * @returns {void}
23
23
  */
24
24
  static errorResponse(error) {
25
+ if (!(error instanceof Error)) {
26
+ FlashNotifications.error(typeof error == "string" ? error : String(error));
27
+ return;
28
+ }
25
29
  // @ts-expect-error
26
30
  if (error.apiMakerType == "ValidationError") {
27
31
  // @ts-expect-error
@@ -53,8 +57,11 @@ export default class FlashNotifications {
53
57
  }
54
58
  }
55
59
  else {
56
- console.error(`Didnt know what to do with that ${error.constructor.name}: ${error.message}`);
57
- throw error;
60
+ const constructorName = digg(error, "constructor", "name");
61
+ const defaultErrorMessage = configuration.translate("js.shared.something_went_wrong", { defaultValue: "Something went wrong." });
62
+ const message = digg(error, "message");
63
+ console.error(`Didnt know what to do with that ${constructorName}: ${message}`);
64
+ FlashNotifications.error(defaultErrorMessage);
58
65
  }
59
66
  }
60
67
  /**
@@ -91,4 +98,4 @@ export default class FlashNotifications {
91
98
  });
92
99
  }
93
100
  }
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhc2gtbm90aWZpY2F0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiZmxhc2gtbm90aWZpY2F0aW9ucy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUU5QixPQUFPLGFBQWEsTUFBTSxvQkFBb0IsQ0FBQTtBQUM5QyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFFaEMsTUFBTSxDQUFDLE9BQU8sT0FBTyxrQkFBa0I7SUFDckM7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUE7SUFDekQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTztRQUNsQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFBO0lBQ3pELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUs7UUFDeEIsbUJBQW1CO1FBQ25CLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQzVDLG1CQUFtQjtZQUNuQixJQUFJLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUM7Z0JBQy9CLG1CQUFtQjtnQkFDbkIsTUFBTSxzQkFBc0IsR0FBRyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7Z0JBRW5ILGtCQUFrQixDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENB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dCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcblxuaW1wb3J0IGNvbmZpZ3VyYXRpb24gZnJvbSBcIi4vY29uZmlndXJhdGlvbi5qc1wiXG5pbXBvcnQgZXZlbnRzIGZyb20gXCIuL2V2ZW50cy5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZsYXNoTm90aWZpY2F0aW9ucyB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHN0YXRpYyBhbGVydChtZXNzYWdlKSB7XG4gICAgRmxhc2hOb3RpZmljYXRpb25zLnNob3coe3R5cGU6IFwiYWxlcnRcIiwgdGV4dDogbWVzc2FnZX0pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzdGF0aWMgZXJyb3IobWVzc2FnZSkge1xuICAgIEZsYXNoTm90aWZpY2F0aW9ucy5zaG93KHt0eXBlOiBcImVycm9yXCIsIHRleHQ6IG1lc3NhZ2V9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7RXJyb3J9IGVycm9yXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgc3RhdGljIGVycm9yUmVzcG9uc2UoZXJyb3IpIHtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgaWYgKGVycm9yLmFwaU1ha2VyVHlwZSA9PSBcIlZhbGlkYXRpb25FcnJvclwiKSB7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICBpZiAoZXJyb3IuaGFzVW5oYW5kbGVkRXJyb3JzKCkpIHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICBjb25zdCB1bmhhbmRsZWRFcnJvck1lc3NhZ2VzID0gZXJyb3IuZ2V0VW5oYW5kbGVkRXJyb3JzKCkubWFwKChzdWJFcnJvcikgPT4gc3ViRXJyb3IuZ2V0RnVsbEVycm9yTWVzc2FnZXMoKSkuZmxhdCgpXG5cbiAgICAgICAgRmxhc2hOb3RpZmljYXRpb25zLmVycm9yKHVuaGFuZGxlZEVycm9yTWVzc2FnZXMuam9pbihcIi4gXCIpKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdFZhbHVlID0gXCJDb3VsZG4ndCBzdWJtaXQgYmVjYXVzZSBvZiB2YWxpZGF0aW9uIGVycm9ycy5cIlxuXG4gICAgICAgIEZsYXNoTm90aWZpY2F0aW9ucy5hbGVydChjb25maWd1cmF0aW9uLnRyYW5zbGF0ZShcImpzLm5vdGlmaWNhdGlvbi5jb3VsZG50X3N1Ym1pdF9iZWNhdXNlX29mX3ZhbGlkYXRpb25fZXJyb3JzXCIsIHtkZWZhdWx0VmFsdWV9KSlcbiAgICAgIH1cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgfSBlbHNlIGlmIChlcnJvci5hcGlNYWtlclR5cGUgPT0gXCJCYXNlRXJyb3JcIikge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgaWYgKGVycm9yLmFyZ3MucmVzcG9uc2UgJiYgZXJyb3IuYXJncy5yZXNwb25zZS5lcnJvcnMpIHtcbiAgICAgICAgY29uc3QgZXJyb3JzID0gLyoqIEB0eXBlIHtBcnJheTxzdHJpbmcgfCB7bWVzc2FnZTogc3RyaW5nfVtdPn0gKi8gKGRpZ2coZXJyb3IsIFwiYXJnc1wiLCBcInJlc3BvbnNlXCIsIFwiZXJyb3JzXCIpKVxuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2VzID0gZXJyb3JzLm1hcCgoZXJyb3IpID0+IHtcbiAgICAgICAgICBpZiAodHlwZW9mIGVycm9yID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBlcnJvclxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBkaWdnKGVycm9yLCBcIm1lc3NhZ2VcIilcbiAgICAgICAgfSlcblxuICAgICAgICBGbGFzaE5vdGlmaWNhdGlvbnMuZXJyb3IoZXJyb3JNZXNzYWdlcy5qb2luKFwiLiBcIikpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBlcnJvclxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBEaWRudCBrbm93IHdoYXQgdG8gZG8gd2l0aCB0aGF0ICR7ZXJyb3IuY29uc3RydWN0b3IubmFtZX06ICR7ZXJyb3IubWVzc2FnZX1gKVxuICAgICAgdGhyb3cgZXJyb3JcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzdGF0aWMgc3VjY2VzcyhtZXNzYWdlKSB7XG4gICAgRmxhc2hOb3RpZmljYXRpb25zLnNob3coe3R5cGU6IFwic3VjY2Vzc1wiLCB0ZXh0OiBtZXNzYWdlfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy50ZXh0XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnR5cGVcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzdGF0aWMgc2hvdyhhcmdzKSB7XG4gICAgbGV0IHRpdGxlXG5cbiAgICBpZiAoYXJncy50eXBlID09IFwiYWxlcnRcIikge1xuICAgICAgdGl0bGUgPSBjb25maWd1cmF0aW9uLnRyYW5zbGF0ZShcImpzLnNoYXJlZC5hbGVydFwiLCB7ZGVmYXVsdFZhbHVlOiBcIkFsZXJ0XCJ9KVxuICAgIH0gZWxzZSBpZiAoYXJncy50eXBlID09IFwiZXJyb3JcIikge1xuICAgICAgdGl0bGUgPSBjb25maWd1cmF0aW9uLnRyYW5zbGF0ZShcImpzLnNoYXJlZC5lcnJvclwiLCB7ZGVmYXVsdFZhbHVlOiBcIkVycm9yXCJ9KVxuICAgIH0gZWxzZSBpZiAoYXJncy50eXBlID09IFwic3VjY2Vzc1wiKSB7XG4gICAgICB0aXRsZSA9IGNvbmZpZ3VyYXRpb24udHJhbnNsYXRlKFwianMuc2hhcmVkLnN1Y2Nlc3NcIiwge2RlZmF1bHRWYWx1ZTogXCJTdWNjZXNzXCJ9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aXRsZSA9IGNvbmZpZ3VyYXRpb24udHJhbnNsYXRlKFwianMuc2hhcmVkLm5vdGlmaWNhdGlvblwiLCB7ZGVmYXVsdFZhbHVlOiBcIk5vdGlmaWNhdGlvblwifSlcbiAgICB9XG5cbiAgICBldmVudHMuZW1pdChcInB1c2hOb3RpZmljYXRpb25cIiwge1xuICAgICAgbWVzc2FnZTogYXJncy50ZXh0LFxuICAgICAgdGl0bGUsXG4gICAgICB0eXBlOiBhcmdzLnR5cGVcbiAgICB9KVxuICB9XG59XG4iXX0=
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhc2gtbm90aWZpY2F0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiZmxhc2gtbm90aWZpY2F0aW9ucy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUU5QixPQUFPLGFBQWEsTUFBTSxvQkFBb0IsQ0FBQTtBQUM5QyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFFaEMsTUFBTSxDQUFDLE9BQU8sT0FBTyxrQkFBa0I7SUFDckM7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUE7SUFDekQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTztRQUNsQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFBO0lBQ3pELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUs7UUFDeEIsSUFBSSxDQUFDLENBQUMsS0FBSyxZQUFZLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUIsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE9BQU8sS0FBSyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtZQUUxRSxPQUFNO1FBQ1IsQ0FBQztRQUVELG1CQUFtQjtRQUNuQixJQUFJLEtBQUssQ0FBQyxZQUFZLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUM1QyxtQkFBbUI7WUFDbkIsSUFBSSxLQUFLLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDO2dCQUMvQixtQkFB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LElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNsQyxLQUFLLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxFQUFDLFlBQVksRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFBO1FBQ2pGLENBQUM7YUFBTSxDQUFDO1lBQ04sS0FBSyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLEVBQUUsRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLENBQUMsQ0FBQTtRQUMzRixDQUFDO1FBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUM5QixPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDbEIsS0FBSztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNoQixDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcblxuaW1wb3J0IGNvbmZpZ3VyYXRpb24gZnJvbSBcIi4vY29uZmlndXJhdGlvbi5qc1wiXG5pbXBvcnQgZXZlbnRzIGZyb20gXCIuL2V2ZW50cy5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZsYXNoTm90aWZpY2F0aW9ucyB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHN0YXRpYyBhbGVydChtZXNzYWdlKSB7XG4gICAgRmxhc2hOb3RpZmljYXRpb25zLnNob3coe3R5cGU6IFwiYWxlcnRcIiwgdGV4dDogbWVzc2FnZX0pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzdGF0aWMgZXJyb3IobWVzc2FnZSkge1xuICAgIEZsYXNoTm90aWZpY2F0aW9ucy5zaG93KHt0eXBlOiBcImVycm9yXCIsIHRleHQ6IG1lc3NhZ2V9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7dW5rbm93bn0gZXJyb3JcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzdGF0aWMgZXJyb3JSZXNwb25zZShlcnJvcikge1xuICAgIGlmICghKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpKSB7XG4gICAgICBGbGFzaE5vdGlmaWNhdGlvbnMuZXJyb3IodHlwZW9mIGVycm9yID09IFwic3RyaW5nXCIgPyBlcnJvciA6IFN0cmluZyhlcnJvcikpXG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICBpZiAoZXJyb3IuYXBpTWFrZXJUeXBlID09IFwiVmFsaWRhdGlvbkVycm9yXCIpIHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgIGlmIChlcnJvci5oYXNVbmhhbmRsZWRFcnJvcnMoKSkge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgIGNvbnN0IHVuaGFuZGxlZEVycm9yTWVzc2FnZXMgPSBlcnJvci5nZXRVbmhhbmRsZWRFcnJvcnMoKS5tYXAoKHN1YkVycm9yKSA9PiBzdWJFcnJvci5nZXRGdWxsRXJyb3JNZXNzYWdlcygpKS5mbGF0KClcblxuICAgICAgICBGbGFzaE5vdGlmaWNhdGlvbnMuZXJyb3IodW5oYW5kbGVkRXJyb3JNZXNzYWdlcy5qb2luKFwiLiBcIikpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSBcIkNvdWxkbid0IHN1Ym1pdCBiZWNhdXNlIG9mIHZhbGlkYXRpb24gZXJyb3JzLlwiXG5cbiAgICAgICAgRmxhc2hOb3RpZmljYXRpb25zLmFsZXJ0KGNvbmZpZ3VyYXRpb24udHJhbnNsYXRlKFwianMubm90aWZpY2F0aW9uLmNvdWxkbnRfc3VibWl0X2JlY2F1c2Vfb2ZfdmFsaWRhdGlvbl9lcnJvcnNcIiwge2RlZmF1bHRWYWx1ZX0pKVxuICAgICAgfVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICB9IGVsc2UgaWYgKGVycm9yLmFwaU1ha2VyVHlwZSA9PSBcIkJhc2VFcnJvclwiKSB7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICBpZiAoZXJyb3IuYXJncy5yZXNwb25zZSAmJiBlcnJvci5hcmdzLnJlc3BvbnNlLmVycm9ycykge1xuICAgICAgICBjb25zdCBlcnJvcnMgPSAvKiogQHR5cGUge0FycmF5PHN0cmluZyB8IHttZXNzYWdlOiBzdHJpbmd9W10+fSAqLyAoZGlnZyhlcnJvciwgXCJhcmdzXCIsIFwicmVzcG9uc2VcIiwgXCJlcnJvcnNcIikpXG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZXMgPSBlcnJvcnMubWFwKChlcnJvcikgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgZXJyb3IgPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGRpZ2coZXJyb3IsIFwibWVzc2FnZVwiKVxuICAgICAgICB9KVxuXG4gICAgICAgIEZsYXNoTm90aWZpY2F0aW9ucy5lcnJvcihlcnJvck1lc3NhZ2VzLmpvaW4oXCIuIFwiKSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IGVycm9yXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNvbnN0cnVjdG9yTmFtZSA9IGRpZ2coZXJyb3IsIFwiY29uc3RydWN0b3JcIiwgXCJuYW1lXCIpXG4gICAgICBjb25zdCBkZWZhdWx0RXJyb3JNZXNzYWdlID0gY29uZmlndXJhdGlvbi50cmFuc2xhdGUoXCJqcy5zaGFyZWQuc29tZXRoaW5nX3dlbnRfd3JvbmdcIiwge2RlZmF1bHRWYWx1ZTogXCJTb21ldGhpbmcgd2VudCB3cm9uZy5cIn0pXG4gICAgICBjb25zdCBtZXNzYWdlID0gZGlnZyhlcnJvciwgXCJtZXNzYWdlXCIpXG5cbiAgICAgIGNvbnNvbGUuZXJyb3IoYERpZG50IGtub3cgd2hhdCB0byBkbyB3aXRoIHRoYXQgJHtjb25zdHJ1Y3Rvck5hbWV9OiAke21lc3NhZ2V9YClcbiAgICAgIEZsYXNoTm90aWZpY2F0aW9ucy5lcnJvcihkZWZhdWx0RXJyb3JNZXNzYWdlKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHN0YXRpYyBzdWNjZXNzKG1lc3NhZ2UpIHtcbiAgICBGbGFzaE5vdGlmaWNhdGlvbnMuc2hvdyh7dHlwZTogXCJzdWNjZXNzXCIsIHRleHQ6IG1lc3NhZ2V9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnRleHRcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MudHlwZVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHN0YXRpYyBzaG93KGFyZ3MpIHtcbiAgICBsZXQgdGl0bGVcblxuICAgIGlmIChhcmdzLnR5cGUgPT0gXCJhbGVydFwiKSB7XG4gICAgICB0aXRsZSA9IGNvbmZpZ3VyYXRpb24udHJhbnNsYXRlKFwianMuc2hhcmVkLmFsZXJ0XCIsIHtkZWZhdWx0VmFsdWU6IFwiQWxlcnRcIn0pXG4gICAgfSBlbHNlIGlmIChhcmdzLnR5cGUgPT0gXCJlcnJvclwiKSB7XG4gICAgICB0aXRsZSA9IGNvbmZpZ3VyYXRpb24udHJhbnNsYXRlKFwianMuc2hhcmVkLmVycm9yXCIsIHtkZWZhdWx0VmFsdWU6IFwiRXJyb3JcIn0pXG4gICAgfSBlbHNlIGlmIChhcmdzLnR5cGUgPT0gXCJzdWNjZXNzXCIpIHtcbiAgICAgIHRpdGxlID0gY29uZmlndXJhdGlvbi50cmFuc2xhdGUoXCJqcy5zaGFyZWQuc3VjY2Vzc1wiLCB7ZGVmYXVsdFZhbHVlOiBcIlN1Y2Nlc3NcIn0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRpdGxlID0gY29uZmlndXJhdGlvbi50cmFuc2xhdGUoXCJqcy5zaGFyZWQubm90aWZpY2F0aW9uXCIsIHtkZWZhdWx0VmFsdWU6IFwiTm90aWZpY2F0aW9uXCJ9KVxuICAgIH1cblxuICAgIGV2ZW50cy5lbWl0KFwicHVzaE5vdGlmaWNhdGlvblwiLCB7XG4gICAgICBtZXNzYWdlOiBhcmdzLnRleHQsXG4gICAgICB0aXRsZSxcbiAgICAgIHR5cGU6IGFyZ3MudHlwZVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"listener.d.ts","sourceRoot":"/src/","sources":["listener.js"],"names":[],"mappings":"AAEA;IAGE,sBAQC;IAVD,qBAAkB;IAYlB,2BAEC;IAED,+BA+BC;IAED,gDAEC;CACF"}
1
+ {"version":3,"file":"listener.d.ts","sourceRoot":"/src/","sources":["listener.js"],"names":[],"mappings":"AAEA;IAGE,sBAQC;IAVD,qBAAkB;IAYlB,2BAEC;IAED,+BA+BC;IAED,qBAAsB,iBAAY,UAEjC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flash-notifications",
3
- "version": "0.0.39",
3
+ "version": "0.0.41",
4
4
  "description": "My new module",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -12,10 +12,11 @@
12
12
  "clean": "expo-module clean",
13
13
  "export:web": "cd example && npm install && cd .. && npm run prepare:dummy && cd example && npx expo export -p web --output-dir dist",
14
14
  "lint": "expo-module lint -- --max-warnings 0",
15
+ "prepare:module": "expo-module prepare",
15
16
  "test": "node scripts/velocious-test.js",
16
- "prepare": "expo-module prepare",
17
+ "typecheck": "expo-module build",
17
18
  "prepare:dummy": "npm run build && rm -rf example/node_modules/flash-notifications && mkdir -p example/node_modules/flash-notifications && cp -r build package.json example/node_modules/flash-notifications/",
18
- "prepublishOnly": "expo-module prepublishOnly",
19
+ "prepublishOnly": "npm run prepare:module && expo-module prepublishOnly",
19
20
  "expo-module": "expo-module",
20
21
  "open:ios": "xed example/ios",
21
22
  "open:android": "open -a \"Android Studio\" example/android",
@@ -42,17 +43,19 @@
42
43
  "fetching-object": "^1.0.3",
43
44
  "prop-types-exact": "*",
44
45
  "responsive-breakpoints": "^0.1.3",
45
- "ya-use-event-emitter": "^0.1.1"
46
+ "ya-use-event-emitter": "^0.1.2"
46
47
  },
47
48
  "devDependencies": {
49
+ "@eslint/js": "^9.39.4",
48
50
  "@types/react": "~18.3.12",
49
- "eslint": "^8.57.1",
50
- "eslint-config-universe": "^15.0.3",
51
- "expo": "~54.0.30",
51
+ "eslint": "^9.39.1",
52
+ "eslint-plugin-react": "^7.37.5",
53
+ "expo": "~55.0.5",
52
54
  "expo-module-scripts": "^4.0.2",
55
+ "globals": "^16.4.0",
53
56
  "react-native": "~0.76.9",
54
57
  "selenium-webdriver": "^4.35.0",
55
- "system-testing": "^1.0.61",
58
+ "system-testing": "^1.0.62",
56
59
  "velocious": "^1.0.183"
57
60
  },
58
61
  "peerDependencies": {