flash-notifications 0.0.38 → 0.0.40
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 +66 -1
- package/build/container/index.d.ts +12 -0
- package/build/container/index.d.ts.map +1 -1
- package/build/container/index.js +50 -8
- package/build/container/notification.d.ts.map +1 -1
- package/build/container/notification.js +5 -2
- package/build/flash-notifications.d.ts +2 -2
- package/build/flash-notifications.d.ts.map +1 -1
- package/build/flash-notifications.js +11 -4
- package/build/listener.d.ts.map +1 -1
- package/package.json +17 -10
- package/.eslintrc.js +0 -12
- package/AGENTS.md +0 -3
- package/CHANGELOG.md +0 -10
- package/android/build.gradle +0 -43
- package/android/src/main/AndroidManifest.xml +0 -2
- package/android/src/main/java/expo/modules/flashnotifications/FlashNotificationsModule.kt +0 -50
- package/android/src/main/java/expo/modules/flashnotifications/FlashNotificationsView.kt +0 -30
- package/expo-module.config.json +0 -17
- package/ios/FlashNotifications.podspec +0 -29
- package/ios/FlashNotificationsModule.swift +0 -48
- package/ios/FlashNotificationsView.swift +0 -38
- package/peak_flow.yml +0 -5
- package/scripts/velocious-test.js +0 -186
- package/spec/flash-notifications-spec.js +0 -46
- package/spec/support/dummy-http-server.js +0 -52
- package/spec/support/system-test-helper.js +0 -99
- package/src/configuration.js +0 -10
- package/src/container/index.jsx +0 -214
- package/src/container/notification.jsx +0 -130
- package/src/debug.js +0 -13
- package/src/events.js +0 -7
- package/src/flash-notifications.js +0 -99
- package/src/index.js +0 -15
- package/src/listener.js +0 -56
- package/tsconfig.json +0 -15
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":";;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"/src/","sources":["container/index.jsx"],"names":[],"mappings":";;;WAoBc,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;;kBA/B0B,OAAO"}
|
package/build/container/index.js
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
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";
|
|
7
|
-
import useBreakpoint from "
|
|
8
|
-
|
|
8
|
+
import { useBreakpoint } from "responsive-breakpoints";
|
|
9
|
+
// @ts-expect-error No published types for this package.
|
|
10
|
+
import useEventEmitter from "ya-use-event-emitter";
|
|
9
11
|
import useEnvSense from "env-sense/build/use-env-sense.js";
|
|
10
12
|
import { Animated, View } from "react-native";
|
|
11
13
|
import debugLog from "../debug.js";
|
|
12
14
|
import events from "../events.js";
|
|
13
|
-
import
|
|
15
|
+
import FlashNotification from "./notification";
|
|
14
16
|
/**
|
|
15
17
|
* @typedef {object} NotificationObjectType
|
|
16
18
|
* @property {number} count
|
|
@@ -18,6 +20,19 @@ import Notification from "./notification";
|
|
|
18
20
|
* @property {string} title
|
|
19
21
|
* @property {string} type
|
|
20
22
|
*/
|
|
23
|
+
/**
|
|
24
|
+
* @typedef {object} StoredNotificationType
|
|
25
|
+
* @property {number} count
|
|
26
|
+
* @property {import("react-native").Animated.Value} height
|
|
27
|
+
* @property {import("react-native").Animated.Value} marginBottom
|
|
28
|
+
* @property {number | undefined} measuredHeight
|
|
29
|
+
* @property {string} message
|
|
30
|
+
* @property {import("react-native").Animated.Value} opacity
|
|
31
|
+
* @property {boolean} removing
|
|
32
|
+
* @property {ReturnType<typeof setTimeout>} timeout
|
|
33
|
+
* @property {string} title
|
|
34
|
+
* @property {string} type
|
|
35
|
+
*/
|
|
21
36
|
export default memo(shapeComponent(class FlashNotificationsContainer extends ShapeComponent {
|
|
22
37
|
static propTypes = propTypesExact({
|
|
23
38
|
insets: PropTypes.object
|
|
@@ -28,6 +43,7 @@ export default memo(shapeComponent(class FlashNotificationsContainer extends Sha
|
|
|
28
43
|
setup() {
|
|
29
44
|
this.useStates({
|
|
30
45
|
count: 0,
|
|
46
|
+
/** @type {StoredNotificationType[]} */
|
|
31
47
|
notifications: []
|
|
32
48
|
});
|
|
33
49
|
useEventEmitter(events, "pushNotification", this.onPushNotification);
|
|
@@ -75,8 +91,10 @@ export default memo(shapeComponent(class FlashNotificationsContainer extends Sha
|
|
|
75
91
|
, {
|
|
76
92
|
// @ts-expect-error
|
|
77
93
|
dataSet: this.rootViewDataSet ||= { component: "flash-notifications-container" },
|
|
78
|
-
// @ts-expect-error
|
|
79
|
-
style: viewStyle, testID: "flash-notificaitons/container" }, notifications.map(
|
|
94
|
+
// @ts-expect-error React Native types do not include the web-only "fixed" position.
|
|
95
|
+
style: viewStyle, testID: "flash-notificaitons/container" }, notifications.map(
|
|
96
|
+
/** @param {StoredNotificationType} notification */
|
|
97
|
+
(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
98
|
}
|
|
81
99
|
/**
|
|
82
100
|
* @param {NotificationObjectType} detail
|
|
@@ -89,6 +107,7 @@ export default memo(shapeComponent(class FlashNotificationsContainer extends Sha
|
|
|
89
107
|
this.dismissNotificationByCount(count, "timeout");
|
|
90
108
|
}, 4000);
|
|
91
109
|
this.timeouts.push(timeout);
|
|
110
|
+
/** @type {StoredNotificationType} */
|
|
92
111
|
const notification = {
|
|
93
112
|
count,
|
|
94
113
|
height: new Animated.Value(0),
|
|
@@ -108,10 +127,19 @@ export default memo(shapeComponent(class FlashNotificationsContainer extends Sha
|
|
|
108
127
|
});
|
|
109
128
|
this.setState({ count, notifications: this.s.notifications.concat([notification]) });
|
|
110
129
|
};
|
|
130
|
+
/**
|
|
131
|
+
* @param {StoredNotificationType} notification
|
|
132
|
+
* @returns {void}
|
|
133
|
+
*/
|
|
111
134
|
onRemovedClicked = (notification) => {
|
|
112
135
|
debugLog("FlashNotifications: notification pressed", { id: notification.count });
|
|
113
136
|
this.dismissNotification(notification, "press");
|
|
114
137
|
};
|
|
138
|
+
/**
|
|
139
|
+
* @param {StoredNotificationType} notification
|
|
140
|
+
* @param {number} measuredHeight
|
|
141
|
+
* @returns {void}
|
|
142
|
+
*/
|
|
115
143
|
onNotificationMeasured = (notification, measuredHeight) => {
|
|
116
144
|
if (notification.measuredHeight)
|
|
117
145
|
return;
|
|
@@ -120,14 +148,26 @@ export default memo(shapeComponent(class FlashNotificationsContainer extends Sha
|
|
|
120
148
|
notification.height.setValue(measuredHeight);
|
|
121
149
|
this.setState({ notifications: [...this.s.notifications] });
|
|
122
150
|
};
|
|
151
|
+
/**
|
|
152
|
+
* @param {number} count
|
|
153
|
+
* @param {string} [reason]
|
|
154
|
+
* @returns {void}
|
|
155
|
+
*/
|
|
123
156
|
dismissNotificationByCount = (count, reason = "unknown") => {
|
|
124
|
-
const notification = this.s.notifications.find(
|
|
157
|
+
const notification = /** @type {StoredNotificationType | undefined} */ (this.s.notifications.find(
|
|
158
|
+
/** @param {StoredNotificationType} item */
|
|
159
|
+
(item) => item.count == count));
|
|
125
160
|
if (!notification) {
|
|
126
161
|
debugLog("FlashNotifications: notification not found", { id: count, reason });
|
|
127
162
|
return;
|
|
128
163
|
}
|
|
129
164
|
this.dismissNotification(notification, reason);
|
|
130
165
|
};
|
|
166
|
+
/**
|
|
167
|
+
* @param {StoredNotificationType} notification
|
|
168
|
+
* @param {string} [reason]
|
|
169
|
+
* @returns {void}
|
|
170
|
+
*/
|
|
131
171
|
dismissNotification = (notification, reason = "unknown") => {
|
|
132
172
|
if (notification.removing) {
|
|
133
173
|
debugLog("FlashNotifications: notification already removing", { id: notification.count, reason });
|
|
@@ -161,10 +201,12 @@ export default memo(shapeComponent(class FlashNotificationsContainer extends Sha
|
|
|
161
201
|
});
|
|
162
202
|
debugLog("FlashNotifications: fade animation end", { id: notification.count, reason });
|
|
163
203
|
this.setState({
|
|
164
|
-
notifications: this.s.notifications.filter(
|
|
204
|
+
notifications: this.s.notifications.filter(
|
|
205
|
+
/** @param {StoredNotificationType} item */
|
|
206
|
+
(item) => item.count != notification.count)
|
|
165
207
|
});
|
|
166
208
|
debugLog("FlashNotifications: notification removed", { id: notification.count, reason });
|
|
167
209
|
});
|
|
168
210
|
};
|
|
169
211
|
}));
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRhaW5lci9pbmRleC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sS0FBSyxFQUFFLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDckQsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLGFBQWEsTUFBTSw2Q0FBNkMsQ0FBQTtBQUN2RSxPQUFPLGVBQWUsTUFBTSxnREFBZ0QsQ0FBQTtBQUM1RSxPQUFPLFdBQVcsTUFBTSxrQ0FBa0MsQ0FBQTtBQUMxRCxPQUFPLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUUzQyxPQUFPLFFBQVEsTUFBTSxhQUFhLENBQUE7QUFDbEMsT0FBTyxNQUFNLE1BQU0sY0FBYyxDQUFBO0FBQ2pDLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFBO0FBRXpDOzs7Ozs7R0FNRztBQUVILGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLDJCQUE0QixTQUFRLGNBQWM7SUFDekYsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNO0tBQ3pCLENBQUMsQ0FBQTtJQUVGLHVCQUF1QjtJQUN2QixRQUFRLEdBQUcsRUFBRSxDQUFBO0lBQ2IsbUJBQW1CLEdBQUcsRUFBRSxDQUFBO0lBRXhCLEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2IsS0FBSyxFQUFFLENBQUM7WUFDUixhQUFhLEVBQUUsRUFBRTtTQUNsQixDQUFDLENBQUE7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RUYsUUFBUSxDQUFDLDBDQUEwQyxFQUFFLEVBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQTtRQUN4RixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgUmVhY3QsIHttZW1vLCB1c2VFZmZlY3QsIHVzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50LCBTaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgdXNlQnJlYWtwb2ludCBmcm9tIFwiQGthc3Blcm5qL2FwaS1tYWtlci9idWlsZC91c2UtYnJlYWtwb2ludC5qc1wiXG5pbXBvcnQgdXNlRXZlbnRFbWl0dGVyIGZyb20gXCJAa2FzcGVybmovYXBpLW1ha2VyL2J1aWxkL3VzZS1ldmVudC1lbWl0dGVyLmpzXCJcbmltcG9ydCB1c2VFbnZTZW5zZSBmcm9tIFwiZW52LXNlbnNlL2J1aWxkL3VzZS1lbnYtc2Vuc2UuanNcIlxuaW1wb3J0IHtBbmltYXRlZCwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5cbmltcG9ydCBkZWJ1Z0xvZyBmcm9tIFwiLi4vZGVidWcuanNcIlxuaW1wb3J0IGV2ZW50cyBmcm9tIFwiLi4vZXZlbnRzLmpzXCJcbmltcG9ydCBOb3RpZmljYXRpb24gZnJvbSBcIi4vbm90aWZpY2F0aW9uXCJcblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBOb3RpZmljYXRpb25PYmplY3RUeXBlXG4gKiBAcHJvcGVydHkge251bWJlcn0gY291bnRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGl0bGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0eXBlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBGbGFzaE5vdGlmaWNhdGlvbnNDb250YWluZXIgZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgaW5zZXRzOiBQcm9wVHlwZXMub2JqZWN0XG4gIH0pXG5cbiAgLyoqIEB0eXBlIHtudW1iZXJbXX0gKi9cbiAgdGltZW91dHMgPSBbXVxuICBub3RpZmljYXRpb25TcGFjaW5nID0gMTVcblxuICBzZXR1cCgpIHtcbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBjb3VudDogMCxcbiAgICAgIG5vdGlmaWNhdGlvbnM6IFtdXG4gICAgfSlcblxuICAgIHVzZUV2ZW50RW1pdHRlcihldmVudHMsIFwicHVzaE5vdGlmaWNhdGlvblwiLCB0aGlzLm9uUHVzaE5vdGlmaWNhdGlvbilcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCB0aW1lb3V0IG9mIHRoaXMudGltZW91dHMpIHtcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIFtdKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtub3RpZmljYXRpb25zfSA9IHRoaXMuc1xuICAgIGNvbnN0IGluc2V0cyA9IHRoaXMucHJvcHMuaW5zZXRzIHx8IHt9XG5cbiAgICBjb25zdCB7c21Eb3duLCBtZFVwfSA9IHVzZUJyZWFrcG9pbnQoKVxuICAgIGNvbnN0IHtpc05hdGl2ZX0gPSB1c2VFbnZTZW5zZSgpXG5cbiAgICBjb25zdCB2aWV3U3R5bGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGxldCB0b3AgPSAyMFxuICAgICAgbGV0IHJpZ2h0ID0gMFxuICAgICAgbGV0IGxlZnQgPSB1bmRlZmluZWRcblxuICAgICAgaWYgKGluc2V0cy50b3ApIHRvcCArPSBpbnNldHMudG9wXG4gICAgICBpZiAoaW5zZXRzLnJpZ2h0KSByaWdodCArPSBpbnNldHMucmlnaHRcblxuICAgICAgaWYgKHNtRG93bikge1xuICAgICAgICBsZWZ0ID0gMjBcblxuICAgICAgICBpZiAoaW5zZXRzLmxlZnQpIGxlZnQgKz0gaW5zZXRzLmxlZnRcblxuICAgICAgICByaWdodCArPSAyMFxuICAgICAgfSBlbHNlIGlmIChtZFVwKSB7XG4gICAgICAgIHJpZ2h0ICs9IDIwXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN0eWxlID0ge1xuICAgICAgICBwb3NpdGlvbjogaXNOYXRpdmUgPyBcImFic29sdXRlXCIgOiBcImZpeGVkXCIsXG4gICAgICAgIHRvcCxcbiAgICAgICAgcmlnaHQsXG4gICAgICAgIGxlZnQsXG4gICAgICAgIHpJbmRleDogOTk5OTlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHN0eWxlXG4gICAgfSwgW2lzTmF0aXZlLCBzbURvd24sIG1kVXAsIGluc2V0cy50b3AsIGluc2V0cy5yaWdodCwgaW5zZXRzLmxlZnRdKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgZGF0YVNldD17dGhpcy5yb290Vmlld0RhdGFTZXQgfHw9IHtjb21wb25lbnQ6IFwiZmxhc2gtbm90aWZpY2F0aW9ucy1jb250YWluZXJcIn19XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgc3R5bGU9e3ZpZXdTdHlsZX1cbiAgICAgICAgdGVzdElEPVwiZmxhc2gtbm90aWZpY2FpdG9ucy9jb250YWluZXJcIlxuICAgICAgPlxuICAgICAgICB7bm90aWZpY2F0aW9ucy5tYXAoKG5vdGlmaWNhdGlvbikgPT5cbiAgICAgICAgICA8Tm90aWZpY2F0aW9uXG4gICAgICAgICAgICBjb3VudD17bm90aWZpY2F0aW9uLmNvdW50fVxuICAgICAgICAgICAga2V5PXtgbm90aWZpY2F0aW9uLSR7bm90aWZpY2F0aW9uLmNvdW50fWB9XG4gICAgICAgICAgICBtZXNzYWdlPXtub3RpZmljYXRpb24ubWVzc2FnZX1cbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbj17bm90aWZpY2F0aW9ufVxuICAgICAgICAgICAgb25NZWFzdXJlZD17dGhpcy5vbk5vdGlmaWNhdGlvbk1lYXN1cmVkfVxuICAgICAgICAgICAgb25SZW1vdmVkQ2xpY2tlZD17dGhpcy5vblJlbW92ZWRDbGlja2VkfVxuICAgICAgICAgICAgdGl0bGU9e25vdGlmaWNhdGlvbi50aXRsZX1cbiAgICAgICAgICAgIHR5cGU9e25vdGlmaWNhdGlvbi50eXBlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1ZpZXc+XG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Tm90aWZpY2F0aW9uT2JqZWN0VHlwZX0gZGV0YWlsXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgb25QdXNoTm90aWZpY2F0aW9uID0gKGRldGFpbCkgPT4ge1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5zLmNvdW50ICsgMVxuICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGRlYnVnTG9nKFwiRmxhc2hOb3RpZmljYXRpb25zOiBub3RpZmljYXRpb24gdGltZW91dFwiLCB7aWQ6IGNvdW50fSlcbiAgICAgIHRoaXMuZGlzbWlzc05vdGlmaWNhdGlvbkJ5Q291bnQoY291bnQsIFwidGltZW91dFwiKVxuICAgIH0sIDQwMDApXG5cbiAgICB0aGlzLnRpbWVvdXRzLnB1c2godGltZW91dClcblxuICAgIGNvbnN0IG5vdGlmaWNhdGlvbiA9IHtcbiAgICAgIGNvdW50LFxuICAgICAgaGVpZ2h0OiBuZXcgQW5pbWF0ZWQuVmFsdWUoMCksXG4gICAgICBtYXJnaW5Cb3R0b206IG5ldyBBbmltYXRlZC5WYWx1ZSh0aGlzLm5vdGlmaWNhdGlvblNwYWNpbmcpLFxuICAgICAgbWVhc3VyZWRIZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgIG1lc3NhZ2U6IGRpZ2coZGV0YWlsLCBcIm1lc3NhZ2VcIiksXG4gICAgICBvcGFjaXR5OiBuZXcgQW5pbWF0ZWQuVmFsdWUoMSksXG4gICAgICByZW1vdmluZzogZmFsc2UsXG4gICAgICB0aW1lb3V0LFxuICAgICAgdGl0bGU6IGRpZ2coZGV0YWlsLCBcInRpdGxlXCIpLFxuICAgICAgdHlwZTogZGlnZyhkZXRhaWwsIFwidHlwZVwiKVxuICAgIH1cblxuICAgIGRlYnVnTG9nKFwiRmxhc2hOb3RpZmljYXRpb25zOiBub3RpZmljYXRpb24gYWRkZWRcIiwge1xuICAgICAgaWQ6IGNvdW50LFxuICAgICAgdGl0bGU6IG5vdGlmaWNhdGlvbi50aXRsZSxcbiAgICAgIHR5cGU6IG5vdGlmaWNhdGlvbi50eXBlXG4gICAgfSlcblxuICAgIHRoaXMuc2V0U3RhdGUoe2NvdW50LCBub3RpZmljYXRpb25zOiB0aGlzLnMubm90aWZpY2F0aW9ucy5jb25jYXQoW25vdGlmaWNhdGlvbl0pfSlcbiAgfVxuXG4gIG9uUmVtb3ZlZENsaWNrZWQgPSAobm90aWZpY2F0aW9uKSA9PiB7XG4gICAgZGVidWdMb2coXCJGbGFzaE5vdGlmaWNhdGlvbnM6IG5vdGlmaWNhdGlvbiBwcmVzc2VkXCIsIHtpZDogbm90aWZpY2F0aW9uLmNvdW50fSlcbiAgICB0aGlzLmRpc21pc3NOb3RpZmljYXRpb24obm90aWZpY2F0aW9uLCBcInByZXNzXCIpXG4gIH1cblxuICBvbk5vdGlmaWNhdGlvbk1lYXN1cmVkID0gKG5vdGlmaWNhdGlvbiwgbWVhc3VyZWRIZWlnaHQpID0+IHtcbiAgICBpZiAobm90aWZpY2F0aW9uLm1lYXN1cmVkSGVpZ2h0KSByZXR1cm5cblxuICAgIGRlYnVnTG9nKFwiRmxhc2hOb3RpZmljYXRpb25zOiBub3RpZmljYXRpb24gbWVhc3VyZWRcIiwge2lkOiBub3RpZmljYXRpb24uY291bnQsIGhlaWdodDogbWVhc3VyZWRIZWlnaHR9KVxuXG4gICAgbm90aWZpY2F0aW9uLm1lYXN1cmVkSGVpZ2h0ID0gbWVhc3VyZWRIZWlnaHRcbiAgICBub3RpZmljYXRpb24uaGVpZ2h0LnNldFZhbHVlKG1lYXN1cmVkSGVpZ2h0KVxuICAgIHRoaXMuc2V0U3RhdGUoe25vdGlmaWNhdGlvbnM6IFsuLi50aGlzLnMubm90aWZpY2F0aW9uc119KVxuICB9XG5cbiAgZGlzbWlzc05vdGlmaWNhdGlvbkJ5Q291bnQgPSAoY291bnQsIHJlYXNvbiA9IFwidW5rbm93blwiKSA9PiB7XG4gICAgY29uc3Qgbm90aWZpY2F0aW9uID0gdGhpcy5zLm5vdGlmaWNhdGlvbnMuZmluZCgoaXRlbSkgPT4gaXRlbS5jb3VudCA9PSBjb3VudClcbiAgICBpZiAoIW5vdGlmaWNhdGlvbikge1xuICAgICAgZGVidWdMb2coXCJGbGFzaE5vdGlmaWNhdGlvbnM6IG5vdGlmaWNhdGlvbiBub3QgZm91bmRcIiwge2lkOiBjb3VudCwgcmVhc29ufSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuZGlzbWlzc05vdGlmaWNhdGlvbihub3RpZmljYXRpb24sIHJlYXNvbilcbiAgfVxuXG4gIGRpc21pc3NOb3RpZmljYXRpb24gPSAobm90aWZpY2F0aW9uLCByZWFzb24gPSBcInVua25vd25cIikgPT4ge1xuICAgIGlmIChub3RpZmljYXRpb24ucmVtb3ZpbmcpIHtcbiAgICAgIGRlYnVnTG9nKFwiRmxhc2hOb3RpZmljYXRpb25zOiBub3RpZmljYXRpb24gYWxyZWFkeSByZW1vdmluZ1wiLCB7aWQ6IG5vdGlmaWNhdGlvbi5jb3VudCwgcmVhc29ufSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIG5vdGlmaWNhdGlvbi5yZW1vdmluZyA9IHRydWVcbiAgICBpZiAobm90aWZpY2F0aW9uLnRpbWVvdXQpIGNsZWFyVGltZW91dChub3RpZmljYXRpb24udGltZW91dClcblxuICAgIGlmICghbm90aWZpY2F0aW9uLm1lYXN1cmVkSGVpZ2h0KSB7XG4gICAgICBkZWJ1Z0xvZyhcIkZsYXNoTm90aWZpY2F0aW9uczogbm90aWZpY2F0aW9uIG1pc3NpbmcgbWVhc3VyZWQgaGVpZ2h0XCIsIHtpZDogbm90aWZpY2F0aW9uLmNvdW50fSlcbiAgICAgIG5vdGlmaWNhdGlvbi5tZWFzdXJlZEhlaWdodCA9IDFcbiAgICAgIG5vdGlmaWNhdGlvbi5oZWlnaHQuc2V0VmFsdWUoMSlcbiAgICAgIHRoaXMuc2V0U3RhdGUoe25vdGlmaWNhdGlvbnM6IFsuLi50aGlzLnMubm90aWZpY2F0aW9uc119KVxuICAgIH1cblxuICAgIGRlYnVnTG9nKFwiRmxhc2hOb3RpZmljYXRpb25zOiBhbmltYXRpb25zIGJlZ2luXCIsIHtcbiAgICAgIGlkOiBub3RpZmljYXRpb24uY291bnQsXG4gICAgICBhbmltYXRpb25zOiBbXCJvcGFjaXR5XCIsIFwiaGVpZ2h0XCIsIFwibWFyZ2luQm90dG9tXCJdLFxuICAgICAgcmVhc29uXG4gICAgfSlcbiAgICBkZWJ1Z0xvZyhcIkZsYXNoTm90aWZpY2F0aW9uczogZmFkZSBhbmltYXRpb24gYmVnaW5cIiwge2lkOiBub3RpZmljYXRpb24uY291bnQsIHJlYXNvbn0pXG5cbiAgICBjb25zdCBkaXNtaXNzRHVyYXRpb24gPSByZWFzb24gPT09IFwicHJlc3NcIiA/IDgwIDogMjAwXG5cbiAgICBBbmltYXRlZC5wYXJhbGxlbChbXG4gICAgICBBbmltYXRlZC50aW1pbmcobm90aWZpY2F0aW9uLm9wYWNpdHksIHt0b1ZhbHVlOiAwLCBkdXJhdGlvbjogZGlzbWlzc0R1cmF0aW9uLCB1c2VOYXRpdmVEcml2ZXI6IGZhbHNlfSksXG4gICAgICBBbmltYXRlZC50aW1pbmcobm90aWZpY2F0aW9uLmhlaWdodCwge3RvVmFsdWU6IDAsIGR1cmF0aW9uOiBkaXNtaXNzRHVyYXRpb24sIHVzZU5hdGl2ZURyaXZlcjogZmFsc2V9KSxcbiAgICAgIEFuaW1hdGVkLnRpbWluZyhub3RpZmljYXRpb24ubWFyZ2luQm90dG9tLCB7dG9WYWx1ZTogMCwgZHVyYXRpb246IGRpc21pc3NEdXJhdGlvbiwgdXNlTmF0aXZlRHJpdmVyOiBmYWxzZX0pXG4gICAgXSkuc3RhcnQoKCkgPT4ge1xuICAgICAgZGVidWdMb2coXCJGbGFzaE5vdGlmaWNhdGlvbnM6IGFuaW1hdGlvbnMgZW5kXCIsIHtcbiAgICAgICAgaWQ6IG5vdGlmaWNhdGlvbi5jb3VudCxcbiAgICAgICAgYW5pbWF0aW9uczogW1wib3BhY2l0eVwiLCBcImhlaWdodFwiLCBcIm1hcmdpbkJvdHRvbVwiXSxcbiAgICAgICAgcmVhc29uXG4gICAgICB9KVxuICAgICAgZGVidWdMb2coXCJGbGFzaE5vdGlmaWNhdGlvbnM6IGZhZGUgYW5pbWF0aW9uIGVuZFwiLCB7aWQ6IG5vdGlmaWNhdGlvbi5jb3VudCwgcmVhc29ufSlcblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIG5vdGlmaWNhdGlvbnM6IHRoaXMucy5ub3RpZmljYXRpb25zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5jb3VudCAhPSBub3RpZmljYXRpb24uY291bnQpXG4gICAgICB9KVxuXG4gICAgICBkZWJ1Z0xvZyhcIkZsYXNoTm90aWZpY2F0aW9uczogbm90aWZpY2F0aW9uIHJlbW92ZWRcIiwge2lkOiBub3RpZmljYXRpb24uY291bnQsIHJlYXNvbn0pXG4gICAgfSlcbiAgfVxufSkpXG4iXX0=
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRhaW5lci9pbmRleC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLGlEQUFpRDtBQUNqRCxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLEtBQUssRUFBRSxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ3JELE9BQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFBO0FBQ3BELHdEQUF3RDtBQUN4RCxPQUFPLGVBQWUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNsRCxPQUFPLFdBQVcsTUFBTSxrQ0FBa0MsQ0FBQTtBQUMxRCxPQUFPLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUUzQyxPQUFPLFFBQVEsTUFBTSxhQUFhLENBQUE7QUFDbEMsT0FBTyxNQUFNLE1BQU0sY0FBYyxDQUFBO0FBQ2pDLE9BQU8saUJBQWlCLE1BQU0sZ0JBQWdCLENBQUE7QUFFOUM7Ozs7OztHQU1HO0FBRUg7Ozs7Ozs7Ozs7OztHQVlHO0FBRUgsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sMkJBQTRCLFNBQVEsY0FBYztJQUN6RixNQUFNLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07S0FDekIsQ0FBQyxDQUFBO0lBRUYsdUJBQXVCO0lBQ3ZCLFFBQVEsR0FBRyxFQUFFLENBQUE7SUFDYixtQkFBbUIsR0FBRyxFQUFFLENBQUE7SUFFeEIsS0FBSztRQUNILElBQUksQ0FBQyxTQUFTLENB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QUFFLE1BQU0sRUFBQyxDQUFDLENBQUE7WUFFcEYsSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDWixhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTTtnQkFDeEMsMkNBQTJDO2dCQUMzQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxZQUFZLENBQUMsS0FBSyxDQUMzQzthQUNGLENBQUMsQ0FBQTtZQUVGLFFBQVEsQ0FBQywwQ0FBMEMsRUFBRSxFQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUE7UUFDeEYsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG4vLyBAdHMtZXhwZWN0LWVycm9yIFBhY2thZ2Ugc2hpcHMgbm8gLmQudHMgZmlsZXMuXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IFJlYWN0LCB7bWVtbywgdXNlRWZmZWN0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudCwgU2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IHt1c2VCcmVha3BvaW50fSBmcm9tIFwicmVzcG9uc2l2ZS1icmVha3BvaW50c1wiXG4vLyBAdHMtZXhwZWN0LWVycm9yIE5vIHB1Ymxpc2hlZCB0eXBlcyBmb3IgdGhpcyBwYWNrYWdlLlxuaW1wb3J0IHVzZUV2ZW50RW1pdHRlciBmcm9tIFwieWEtdXNlLWV2ZW50LWVtaXR0ZXJcIlxuaW1wb3J0IHVzZUVudlNlbnNlIGZyb20gXCJlbnYtc2Vuc2UvYnVpbGQvdXNlLWVudi1zZW5zZS5qc1wiXG5pbXBvcnQge0FuaW1hdGVkLCBWaWV3fSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcblxuaW1wb3J0IGRlYnVnTG9nIGZyb20gXCIuLi9kZWJ1Zy5qc1wiXG5pbXBvcnQgZXZlbnRzIGZyb20gXCIuLi9ldmVudHMuanNcIlxuaW1wb3J0IEZsYXNoTm90aWZpY2F0aW9uIGZyb20gXCIuL25vdGlmaWNhdGlvblwiXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gTm90aWZpY2F0aW9uT2JqZWN0VHlwZVxuICogQHByb3BlcnR5IHtudW1iZXJ9IGNvdW50XG4gKiBAcHJvcGVydHkge3N0cmluZ30gbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IHRpdGxlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdHlwZVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gU3RvcmVkTm90aWZpY2F0aW9uVHlwZVxuICogQHByb3BlcnR5IHtudW1iZXJ9IGNvdW50XG4gKiBAcHJvcGVydHkge2ltcG9ydChcInJlYWN0LW5hdGl2ZVwiKS5BbmltYXRlZC5WYWx1ZX0gaGVpZ2h0XG4gKiBAcHJvcGVydHkge2ltcG9ydChcInJlYWN0LW5hdGl2ZVwiKS5BbmltYXRlZC5WYWx1ZX0gbWFyZ2luQm90dG9tXG4gKiBAcHJvcGVydHkge251bWJlciB8IHVuZGVmaW5lZH0gbWVhc3VyZWRIZWlnaHRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBtZXNzYWdlXG4gKiBAcHJvcGVydHkge2ltcG9ydChcInJlYWN0LW5hdGl2ZVwiKS5BbmltYXRlZC5WYWx1ZX0gb3BhY2l0eVxuICogQHByb3BlcnR5IHtib29sZWFufSByZW1vdmluZ1xuICogQHByb3BlcnR5IHtSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0Pn0gdGltZW91dFxuICogQHByb3BlcnR5IHtzdHJpbmd9IHRpdGxlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdHlwZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgRmxhc2hOb3RpZmljYXRpb25zQ29udGFpbmVyIGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGluc2V0czogUHJvcFR5cGVzLm9iamVjdFxuICB9KVxuXG4gIC8qKiBAdHlwZSB7bnVtYmVyW119ICovXG4gIHRpbWVvdXRzID0gW11cbiAgbm90aWZpY2F0aW9uU3BhY2luZyA9IDE1XG5cbiAgc2V0dXAoKSB7XG4gICAgdGhpcy51c2VTdGF0ZXMoe1xuICAgICAgY291bnQ6IDAsXG4gICAgICAvKiogQHR5cGUge1N0b3JlZE5vdGlmaWNhdGlvblR5cGVbXX0gKi9cbiAgICAgIG5vdGlmaWNhdGlvbnM6IFtdXG4gICAgfSlcblxuICAgIHVzZUV2ZW50RW1pdHRlcihldmVudHMsIFwicHVzaE5vdGlmaWNhdGlvblwiLCB0aGlzLm9uUHVzaE5vdGlmaWNhdGlvbilcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCB0aW1lb3V0IG9mIHRoaXMudGltZW91dHMpIHtcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIFtdKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtub3RpZmljYXRpb25zfSA9IHRoaXMuc1xuICAgIGNvbnN0IGluc2V0cyA9IHRoaXMucHJvcHMuaW5zZXRzIHx8IHt9XG5cbiAgICBjb25zdCB7c21Eb3duLCBtZFVwfSA9IHVzZUJyZWFrcG9pbnQoKVxuICAgIGNvbnN0IHtpc05hdGl2ZX0gPSB1c2VFbnZTZW5zZSgpXG5cbiAgICBjb25zdCB2aWV3U3R5bGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGxldCB0b3AgPSAyMFxuICAgICAgbGV0IHJpZ2h0ID0gMFxuICAgICAgbGV0IGxlZnQgPSB1bmRlZmluZWRcblxuICAgICAgaWYgKGluc2V0cy50b3ApIHRvcCArPSBpbnNldHMudG9wXG4gICAgICBpZiAoaW5zZXRzLnJpZ2h0KSByaWdodCArPSBpbnNldHMucmlnaHRcblxuICAgICAgaWYgKHNtRG93bikge1xuICAgICAgICBsZWZ0ID0gMjBcblxuICAgICAgICBpZiAoaW5zZXRzLmxlZnQpIGxlZnQgKz0gaW5zZXRzLmxlZnRcblxuICAgICAgICByaWdodCArPSAyMFxuICAgICAgfSBlbHNlIGlmIChtZFVwKSB7XG4gICAgICAgIHJpZ2h0ICs9IDIwXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN0eWxlID0ge1xuICAgICAgICBwb3NpdGlvbjogaXNOYXRpdmUgPyBcImFic29sdXRlXCIgOiBcImZpeGVkXCIsXG4gICAgICAgIHRvcCxcbiAgICAgICAgcmlnaHQsXG4gICAgICAgIGxlZnQsXG4gICAgICAgIHpJbmRleDogOTk5OTlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHN0eWxlXG4gICAgfSwgW2lzTmF0aXZlLCBzbURvd24sIG1kVXAsIGluc2V0cy50b3AsIGluc2V0cy5yaWdodCwgaW5zZXRzLmxlZnRdKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgZGF0YVNldD17dGhpcy5yb290Vmlld0RhdGFTZXQgfHw9IHtjb21wb25lbnQ6IFwiZmxhc2gtbm90aWZpY2F0aW9ucy1jb250YWluZXJcIn19XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgUmVhY3QgTmF0aXZlIHR5cGVzIGRvIG5vdCBpbmNsdWRlIHRoZSB3ZWItb25seSBcImZpeGVkXCIgcG9zaXRpb24uXG4gICAgICAgIHN0eWxlPXt2aWV3U3R5bGV9XG4gICAgICAgIHRlc3RJRD1cImZsYXNoLW5vdGlmaWNhaXRvbnMvY29udGFpbmVyXCJcbiAgICAgID5cbiAgICAgICAge25vdGlmaWNhdGlvbnMubWFwKFxuICAgICAgICAgIC8qKiBAcGFyYW0ge1N0b3JlZE5vdGlmaWNhdGlvblR5cGV9IG5vdGlmaWNhdGlvbiAqL1xuICAgICAgICAgIChub3RpZmljYXRpb24pID0+XG4gICAgICAgICAgPEZsYXNoTm90aWZpY2F0aW9uXG4gICAgICAgICAgICBjb3VudD17bm90aWZpY2F0aW9uLmNvdW50fVxuICAgICAgICAgICAga2V5PXtgbm90aWZpY2F0aW9uLSR7bm90aWZpY2F0aW9uLmNvdW50fWB9XG4gICAgICAgICAgICBtZXNzYWdlPXtub3RpZmljYXRpb24ubWVzc2FnZX1cbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbj17bm90aWZpY2F0aW9ufVxuICAgICAgICAgICAgb25NZWFzdXJlZD17dGhpcy5vbk5vdGlmaWNhdGlvbk1lYXN1cmVkfVxuICAgICAgICAgICAgb25SZW1vdmVkQ2xpY2tlZD17dGhpcy5vblJlbW92ZWRDbGlja2VkfVxuICAgICAgICAgICAgdGl0bGU9e25vdGlmaWNhdGlvbi50aXRsZX1cbiAgICAgICAgICAgIHR5cGU9e25vdGlmaWNhdGlvbi50eXBlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1ZpZXc+XG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Tm90aWZpY2F0aW9uT2JqZWN0VHlwZX0gZGV0YWlsXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgb25QdXNoTm90aWZpY2F0aW9uID0gKGRldGFpbCkgPT4ge1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5zLmNvdW50ICsgMVxuICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGRlYnVnTG9nKFwiRmxhc2hOb3RpZmljYXRpb25zOiBub3RpZmljYXRpb24gdGltZW91dFwiLCB7aWQ6IGNvdW50fSlcbiAgICAgIHRoaXMuZGlzbWlzc05vdGlmaWNhdGlvbkJ5Q291bnQoY291bnQsIFwidGltZW91dFwiKVxuICAgIH0sIDQwMDApXG5cbiAgICB0aGlzLnRpbWVvdXRzLnB1c2godGltZW91dClcblxuICAgIC8qKiBAdHlwZSB7U3RvcmVkTm90aWZpY2F0aW9uVHlwZX0gKi9cbiAgICBjb25zdCBub3RpZmljYXRpb24gPSB7XG4gICAgICBjb3VudCxcbiAgICAgIGhlaWdodDogbmV3IEFuaW1hdGVkLlZhbHVlKDApLFxuICAgICAgbWFyZ2luQm90dG9tOiBuZXcgQW5pbWF0ZWQuVmFsdWUodGhpcy5ub3RpZmljYXRpb25TcGFjaW5nKSxcbiAgICAgIG1lYXN1cmVkSGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICBtZXNzYWdlOiBkaWdnKGRldGFpbCwgXCJtZXNzYWdlXCIpLFxuICAgICAgb3BhY2l0eTogbmV3IEFuaW1hdGVkLlZhbHVlKDEpLFxuICAgICAgcmVtb3Zpbmc6IGZhbHNlLFxuICAgICAgdGltZW91dCxcbiAgICAgIHRpdGxlOiBkaWdnKGRldGFpbCwgXCJ0aXRsZVwiKSxcbiAgICAgIHR5cGU6IGRpZ2coZGV0YWlsLCBcInR5cGVcIilcbiAgICB9XG5cbiAgICBkZWJ1Z0xvZyhcIkZsYXNoTm90aWZpY2F0aW9uczogbm90aWZpY2F0aW9uIGFkZGVkXCIsIHtcbiAgICAgIGlkOiBjb3VudCxcbiAgICAgIHRpdGxlOiBub3RpZmljYXRpb24udGl0bGUsXG4gICAgICB0eXBlOiBub3RpZmljYXRpb24udHlwZVxuICAgIH0pXG5cbiAgICB0aGlzLnNldFN0YXRlKHtjb3VudCwgbm90aWZpY2F0aW9uczogdGhpcy5zLm5vdGlmaWNhdGlvbnMuY29uY2F0KFtub3RpZmljYXRpb25dKX0pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtTdG9yZWROb3RpZmljYXRpb25UeXBlfSBub3RpZmljYXRpb25cbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBvblJlbW92ZWRDbGlja2VkID0gKG5vdGlmaWNhdGlvbikgPT4ge1xuICAgIGRlYnVnTG9nKFwiRmxhc2hOb3RpZmljYXRpb25zOiBub3RpZmljYXRpb24gcHJlc3NlZFwiLCB7aWQ6IG5vdGlmaWNhdGlvbi5jb3VudH0pXG4gICAgdGhpcy5kaXNtaXNzTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbiwgXCJwcmVzc1wiKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7U3RvcmVkTm90aWZpY2F0aW9uVHlwZX0gbm90aWZpY2F0aW9uXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtZWFzdXJlZEhlaWdodFxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIG9uTm90aWZpY2F0aW9uTWVhc3VyZWQgPSAobm90aWZpY2F0aW9uLCBtZWFzdXJlZEhlaWdodCkgPT4ge1xuICAgIGlmIChub3RpZmljYXRpb24ubWVhc3VyZWRIZWlnaHQpIHJldHVyblxuXG4gICAgZGVidWdMb2coXCJGbGFzaE5vdGlmaWNhdGlvbnM6IG5vdGlmaWNhdGlvbiBtZWFzdXJlZFwiLCB7aWQ6IG5vdGlmaWNhdGlvbi5jb3VudCwgaGVpZ2h0OiBtZWFzdXJlZEhlaWdodH0pXG5cbiAgICBub3RpZmljYXRpb24ubWVhc3VyZWRIZWlnaHQgPSBtZWFzdXJlZEhlaWdodFxuICAgIG5vdGlmaWNhdGlvbi5oZWlnaHQuc2V0VmFsdWUobWVhc3VyZWRIZWlnaHQpXG4gICAgdGhpcy5zZXRTdGF0ZSh7bm90aWZpY2F0aW9uczogWy4uLnRoaXMucy5ub3RpZmljYXRpb25zXX0pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtudW1iZXJ9IGNvdW50XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbcmVhc29uXVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgKi9cbiAgZGlzbWlzc05vdGlmaWNhdGlvbkJ5Q291bnQgPSAoY291bnQsIHJlYXNvbiA9IFwidW5rbm93blwiKSA9PiB7XG4gICAgY29uc3Qgbm90aWZpY2F0aW9uID0gLyoqIEB0eXBlIHtTdG9yZWROb3RpZmljYXRpb25UeXBlIHwgdW5kZWZpbmVkfSAqLyAodGhpcy5zLm5vdGlmaWNhdGlvbnMuZmluZChcbiAgICAgIC8qKiBAcGFyYW0ge1N0b3JlZE5vdGlmaWNhdGlvblR5cGV9IGl0ZW0gKi9cbiAgICAgIChpdGVtKSA9PiBpdGVtLmNvdW50ID09IGNvdW50XG4gICAgKSlcbiAgICBpZiAoIW5vdGlmaWNhdGlvbikge1xuICAgICAgZGVidWdMb2coXCJGbGFzaE5vdGlmaWNhdGlvbnM6IG5vdGlmaWNhdGlvbiBub3QgZm91bmRcIiwge2lkOiBjb3VudCwgcmVhc29ufSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuZGlzbWlzc05vdGlmaWNhdGlvbihub3RpZmljYXRpb24sIHJlYXNvbilcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1N0b3JlZE5vdGlmaWNhdGlvblR5cGV9IG5vdGlmaWNhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3JlYXNvbl1cbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBkaXNtaXNzTm90aWZpY2F0aW9uID0gKG5vdGlmaWNhdGlvbiwgcmVhc29uID0gXCJ1bmtub3duXCIpID0+IHtcbiAgICBpZiAobm90aWZpY2F0aW9uLnJlbW92aW5nKSB7XG4gICAgICBkZWJ1Z0xvZyhcIkZsYXNoTm90aWZpY2F0aW9uczogbm90aWZpY2F0aW9uIGFscmVhZHkgcmVtb3ZpbmdcIiwge2lkOiBub3RpZmljYXRpb24uY291bnQsIHJlYXNvbn0pXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBub3RpZmljYXRpb24ucmVtb3ZpbmcgPSB0cnVlXG4gICAgaWYgKG5vdGlmaWNhdGlvbi50aW1lb3V0KSBjbGVhclRpbWVvdXQobm90aWZpY2F0aW9uLnRpbWVvdXQpXG5cbiAgICBpZiAoIW5vdGlmaWNhdGlvbi5tZWFzdXJlZEhlaWdodCkge1xuICAgICAgZGVidWdMb2coXCJGbGFzaE5vdGlmaWNhdGlvbnM6IG5vdGlmaWNhdGlvbiBtaXNzaW5nIG1lYXN1cmVkIGhlaWdodFwiLCB7aWQ6IG5vdGlmaWNhdGlvbi5jb3VudH0pXG4gICAgICBub3RpZmljYXRpb24ubWVhc3VyZWRIZWlnaHQgPSAxXG4gICAgICBub3RpZmljYXRpb24uaGVpZ2h0LnNldFZhbHVlKDEpXG4gICAgICB0aGlzLnNldFN0YXRlKHtub3RpZmljYXRpb25zOiBbLi4udGhpcy5zLm5vdGlmaWNhdGlvbnNdfSlcbiAgICB9XG5cbiAgICBkZWJ1Z0xvZyhcIkZsYXNoTm90aWZpY2F0aW9uczogYW5pbWF0aW9ucyBiZWdpblwiLCB7XG4gICAgICBpZDogbm90aWZpY2F0aW9uLmNvdW50LFxuICAgICAgYW5pbWF0aW9uczogW1wib3BhY2l0eVwiLCBcImhlaWdodFwiLCBcIm1hcmdpbkJvdHRvbVwiXSxcbiAgICAgIHJlYXNvblxuICAgIH0pXG4gICAgZGVidWdMb2coXCJGbGFzaE5vdGlmaWNhdGlvbnM6IGZhZGUgYW5pbWF0aW9uIGJlZ2luXCIsIHtpZDogbm90aWZpY2F0aW9uLmNvdW50LCByZWFzb259KVxuXG4gICAgY29uc3QgZGlzbWlzc0R1cmF0aW9uID0gcmVhc29uID09PSBcInByZXNzXCIgPyA4MCA6IDIwMFxuXG4gICAgQW5pbWF0ZWQucGFyYWxsZWwoW1xuICAgICAgQW5pbWF0ZWQudGltaW5nKG5vdGlmaWNhdGlvbi5vcGFjaXR5LCB7dG9WYWx1ZTogMCwgZHVyYXRpb246IGRpc21pc3NEdXJhdGlvbiwgdXNlTmF0aXZlRHJpdmVyOiBmYWxzZX0pLFxuICAgICAgQW5pbWF0ZWQudGltaW5nKG5vdGlmaWNhdGlvbi5oZWlnaHQsIHt0b1ZhbHVlOiAwLCBkdXJhdGlvbjogZGlzbWlzc0R1cmF0aW9uLCB1c2VOYXRpdmVEcml2ZXI6IGZhbHNlfSksXG4gICAgICBBbmltYXRlZC50aW1pbmcobm90aWZpY2F0aW9uLm1hcmdpbkJvdHRvbSwge3RvVmFsdWU6IDAsIGR1cmF0aW9uOiBkaXNtaXNzRHVyYXRpb24sIHVzZU5hdGl2ZURyaXZlcjogZmFsc2V9KVxuICAgIF0pLnN0YXJ0KCgpID0+IHtcbiAgICAgIGRlYnVnTG9nKFwiRmxhc2hOb3RpZmljYXRpb25zOiBhbmltYXRpb25zIGVuZFwiLCB7XG4gICAgICAgIGlkOiBub3RpZmljYXRpb24uY291bnQsXG4gICAgICAgIGFuaW1hdGlvbnM6IFtcIm9wYWNpdHlcIiwgXCJoZWlnaHRcIiwgXCJtYXJnaW5Cb3R0b21cIl0sXG4gICAgICAgIHJlYXNvblxuICAgICAgfSlcbiAgICAgIGRlYnVnTG9nKFwiRmxhc2hOb3RpZmljYXRpb25zOiBmYWRlIGFuaW1hdGlvbiBlbmRcIiwge2lkOiBub3RpZmljYXRpb24uY291bnQsIHJlYXNvbn0pXG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBub3RpZmljYXRpb25zOiB0aGlzLnMubm90aWZpY2F0aW9ucy5maWx0ZXIoXG4gICAgICAgICAgLyoqIEBwYXJhbSB7U3RvcmVkTm90aWZpY2F0aW9uVHlwZX0gaXRlbSAqL1xuICAgICAgICAgIChpdGVtKSA9PiBpdGVtLmNvdW50ICE9IG5vdGlmaWNhdGlvbi5jb3VudFxuICAgICAgICApXG4gICAgICB9KVxuXG4gICAgICBkZWJ1Z0xvZyhcIkZsYXNoTm90aWZpY2F0aW9uczogbm90aWZpY2F0aW9uIHJlbW92ZWRcIiwge2lkOiBub3RpZmljYXRpb24uY291bnQsIHJlYXNvbn0pXG4gICAgfSlcbiAgfVxufSkpXG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification.d.ts","sourceRoot":"/src/","sources":["container/notification.jsx"],"names":[],"mappings":";;
|
|
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
|
-
import useBreakpoint from "
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJjb250YWluZXIvbm90aWZpY2F0aW9uLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxLQUFLLEVBQUUsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzFDLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDNUQsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLGFBQWEsTUFBTSw2Q0FBNkMsQ0FBQTtBQUV2RSxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUE7QUFDbkIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFBO0FBRWpCLGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLDhCQUErQixTQUFRLGNBQWM7SUFDNUYsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQzNCLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDbEMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUNwQyxZQUFZLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQ3pDLFVBQVUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDckMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVO1FBQzNDLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDbEMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtLQUNsQyxDQUFDLENBQUE7SUFFRixNQUFN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QyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBQcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgUmVhY3QsIHttZW1vLCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtBbmltYXRlZCwgUHJlc3NhYmxlLCBUZXh0LCBWaWV3fSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnQsIFNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCB1c2VCcmVha3BvaW50IGZyb20gXCJAa2FzcGVybmovYXBpLW1ha2VyL2J1aWxkL3VzZS1icmVha3BvaW50LmpzXCJcblxuY29uc3QgZGF0YVNldHMgPSB7fVxuY29uc3Qgc3R5bGVzID0ge31cblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBGbGFzaE5vdGlmaWNhdGlvbnNOb3RpZmljYXRpb24gZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7XG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvdW50OiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gICAgbWVzc2FnZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIG5vdGlmaWNhdGlvbjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG9uTWVhc3VyZWQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25SZW1vdmVkQ2xpY2tlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIHR5cGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZFxuICB9KVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y291bnQsIG1lc3NhZ2UsIHRpdGxlLCB0eXBlfSA9IHRoaXMucFxuICAgIGNvbnN0IHtjbGFzc05hbWV9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGJyZWFrcG9pbnQgPSB1c2VCcmVha3BvaW50KClcblxuICAgIGNvbnN0IHByZXNzYWJsZURhdGFTZXQgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgY2xhc3M6IGNsYXNzTmFtZSxcbiAgICAgICAgcm9sZTogXCJkaWFsb2dcIixcbiAgICAgICAgdHlwZVxuICAgICAgfSksXG4gICAgICBbY2xhc3NOYW1lLCB0eXBlXVxuICAgIClcblxuICAgIHJldHVybiAoXG4gICAgICA8QW5pbWF0ZWQuVmlldyBzdHlsZT17dGhpcy50dC53cmFwcGVyU3R5bGV9PlxuICAgICAgICA8UHJlc3NhYmxlXG4gICAgICAgICAgZGF0YVNldD17cHJlc3NhYmxlRGF0YVNldH1cbiAgICAgICAgICBvbkxheW91dD17dGhpcy50dC5vbkxheW91dH1cbiAgICAgICAgICBvblByZXNzPXt0aGlzLnR0Lm9uUmVtb3ZlZENsaWNrZWR9XG4gICAgICAgICAgc3R5bGU9e3N0eWxlc1tgcHJlc3NhYmxlLSR7dHlwZX0tJHticmVha3BvaW50LnNtRG93bn0tJHticmVha3BvaW50Lm1kVXB9YF0gfHw9IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1LFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAxMSxcbiAgICAgICAgICAgIGN1cnNvcjogXCJwb2ludGVyXCIsXG4gICAgICAgICAgICB3aWR0aDogKCgpID0+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 {
|
|
13
|
+
* @param {unknown} error
|
|
14
14
|
* @returns {void}
|
|
15
15
|
*/
|
|
16
|
-
static errorResponse(error:
|
|
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,
|
|
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 {
|
|
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
|
-
|
|
57
|
-
|
|
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,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhc2gtbm90aWZpY2F0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiZmxhc2gtbm90aWZpY2F0aW9ucy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUU5QixPQUFPLGFBQWEsTUFBTSxvQkFBb0IsQ0FBQTtBQUM5QyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFFaEMsTUFBTSxDQUFDLE9BQU8sT0FBTyxrQkFBa0I7SUFDckM7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUE7SUFDekQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTztRQUNsQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFBO0lBQ3pELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUs7UUFDeEIsSUFBSSxDQUFDLENBQUMsS0FBSyxZQUFZLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUIsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE9BQU8sS0FBSyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtZQUUxRSxPQUFNO1FBQ1IsQ0FBQztRQUVELG1CQUFtQjtRQUNuQixJQUFJLEtBQUssQ0FBQyxZQUFZLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUM1QyxtQkFBbUI7WUFDbkIsSUFBSSxLQUFLLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDO2dCQUMvQixtQkFB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LElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNsQyxLQUFLLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxFQUFDLFlBQVksRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFBO1FBQ2pGLENBQUM7YUFBTSxDQUFDO1lBQ04sS0FBSyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLEVBQUUsRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLENBQUMsQ0FBQTtRQUMzRixDQUFDO1FBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUM5QixPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDbEIsS0FBSztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNoQixDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcblxuaW1wb3J0IGNvbmZpZ3VyYXRpb24gZnJvbSBcIi4vY29uZmlndXJhdGlvbi5qc1wiXG5pbXBvcnQgZXZlbnRzIGZyb20gXCIuL2V2ZW50cy5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZsYXNoTm90aWZpY2F0aW9ucyB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHN0YXRpYyBhbGVydChtZXNzYWdlKSB7XG4gICAgRmxhc2hOb3RpZmljYXRpb25zLnNob3coe3R5cGU6IFwiYWxlcnRcIiwgdGV4dDogbWVzc2FnZX0pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzdGF0aWMgZXJyb3IobWVzc2FnZSkge1xuICAgIEZsYXNoTm90aWZpY2F0aW9ucy5zaG93KHt0eXBlOiBcImVycm9yXCIsIHRleHQ6IG1lc3NhZ2V9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7dW5rbm93bn0gZXJyb3JcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzdGF0aWMgZXJyb3JSZXNwb25zZShlcnJvcikge1xuICAgIGlmICghKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpKSB7XG4gICAgICBGbGFzaE5vdGlmaWNhdGlvbnMuZXJyb3IodHlwZW9mIGVycm9yID09IFwic3RyaW5nXCIgPyBlcnJvciA6IFN0cmluZyhlcnJvcikpXG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICBpZiAoZXJyb3IuYXBpTWFrZXJUeXBlID09IFwiVmFsaWRhdGlvbkVycm9yXCIpIHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgIGlmIChlcnJvci5oYXNVbmhhbmRsZWRFcnJvcnMoKSkge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgIGNvbnN0IHVuaGFuZGxlZEVycm9yTWVzc2FnZXMgPSBlcnJvci5nZXRVbmhhbmRsZWRFcnJvcnMoKS5tYXAoKHN1YkVycm9yKSA9PiBzdWJFcnJvci5nZXRGdWxsRXJyb3JNZXNzYWdlcygpKS5mbGF0KClcblxuICAgICAgICBGbGFzaE5vdGlmaWNhdGlvbnMuZXJyb3IodW5oYW5kbGVkRXJyb3JNZXNzYWdlcy5qb2luKFwiLiBcIikpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSBcIkNvdWxkbid0IHN1Ym1pdCBiZWNhdXNlIG9mIHZhbGlkYXRpb24gZXJyb3JzLlwiXG5cbiAgICAgICAgRmxhc2hOb3RpZmljYXRpb25zLmFsZXJ0KGNvbmZpZ3VyYXRpb24udHJhbnNsYXRlKFwianMubm90aWZpY2F0aW9uLmNvdWxkbnRfc3VibWl0X2JlY2F1c2Vfb2ZfdmFsaWRhdGlvbl9lcnJvcnNcIiwge2RlZmF1bHRWYWx1ZX0pKVxuICAgICAgfVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICB9IGVsc2UgaWYgKGVycm9yLmFwaU1ha2VyVHlwZSA9PSBcIkJhc2VFcnJvclwiKSB7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICBpZiAoZXJyb3IuYXJncy5yZXNwb25zZSAmJiBlcnJvci5hcmdzLnJlc3BvbnNlLmVycm9ycykge1xuICAgICAgICBjb25zdCBlcnJvcnMgPSAvKiogQHR5cGUge0FycmF5PHN0cmluZyB8IHttZXNzYWdlOiBzdHJpbmd9W10+fSAqLyAoZGlnZyhlcnJvciwgXCJhcmdzXCIsIFwicmVzcG9uc2VcIiwgXCJlcnJvcnNcIikpXG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZXMgPSBlcnJvcnMubWFwKChlcnJvcikgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgZXJyb3IgPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGRpZ2coZXJyb3IsIFwibWVzc2FnZVwiKVxuICAgICAgICB9KVxuXG4gICAgICAgIEZsYXNoTm90aWZpY2F0aW9ucy5lcnJvcihlcnJvck1lc3NhZ2VzLmpvaW4oXCIuIFwiKSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IGVycm9yXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNvbnN0cnVjdG9yTmFtZSA9IGRpZ2coZXJyb3IsIFwiY29uc3RydWN0b3JcIiwgXCJuYW1lXCIpXG4gICAgICBjb25zdCBkZWZhdWx0RXJyb3JNZXNzYWdlID0gY29uZmlndXJhdGlvbi50cmFuc2xhdGUoXCJqcy5zaGFyZWQuc29tZXRoaW5nX3dlbnRfd3JvbmdcIiwge2RlZmF1bHRWYWx1ZTogXCJTb21ldGhpbmcgd2VudCB3cm9uZy5cIn0pXG4gICAgICBjb25zdCBtZXNzYWdlID0gZGlnZyhlcnJvciwgXCJtZXNzYWdlXCIpXG5cbiAgICAgIGNvbnNvbGUuZXJyb3IoYERpZG50IGtub3cgd2hhdCB0byBkbyB3aXRoIHRoYXQgJHtjb25zdHJ1Y3Rvck5hbWV9OiAke21lc3NhZ2V9YClcbiAgICAgIEZsYXNoTm90aWZpY2F0aW9ucy5lcnJvcihkZWZhdWx0RXJyb3JNZXNzYWdlKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHN0YXRpYyBzdWNjZXNzKG1lc3NhZ2UpIHtcbiAgICBGbGFzaE5vdGlmaWNhdGlvbnMuc2hvdyh7dHlwZTogXCJzdWNjZXNzXCIsIHRleHQ6IG1lc3NhZ2V9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnRleHRcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MudHlwZVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHN0YXRpYyBzaG93KGFyZ3MpIHtcbiAgICBsZXQgdGl0bGVcblxuICAgIGlmIChhcmdzLnR5cGUgPT0gXCJhbGVydFwiKSB7XG4gICAgICB0aXRsZSA9IGNvbmZpZ3VyYXRpb24udHJhbnNsYXRlKFwianMuc2hhcmVkLmFsZXJ0XCIsIHtkZWZhdWx0VmFsdWU6IFwiQWxlcnRcIn0pXG4gICAgfSBlbHNlIGlmIChhcmdzLnR5cGUgPT0gXCJlcnJvclwiKSB7XG4gICAgICB0aXRsZSA9IGNvbmZpZ3VyYXRpb24udHJhbnNsYXRlKFwianMuc2hhcmVkLmVycm9yXCIsIHtkZWZhdWx0VmFsdWU6IFwiRXJyb3JcIn0pXG4gICAgfSBlbHNlIGlmIChhcmdzLnR5cGUgPT0gXCJzdWNjZXNzXCIpIHtcbiAgICAgIHRpdGxlID0gY29uZmlndXJhdGlvbi50cmFuc2xhdGUoXCJqcy5zaGFyZWQuc3VjY2Vzc1wiLCB7ZGVmYXVsdFZhbHVlOiBcIlN1Y2Nlc3NcIn0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRpdGxlID0gY29uZmlndXJhdGlvbi50cmFuc2xhdGUoXCJqcy5zaGFyZWQubm90aWZpY2F0aW9uXCIsIHtkZWZhdWx0VmFsdWU6IFwiTm90aWZpY2F0aW9uXCJ9KVxuICAgIH1cblxuICAgIGV2ZW50cy5lbWl0KFwicHVzaE5vdGlmaWNhdGlvblwiLCB7XG4gICAgICBtZXNzYWdlOiBhcmdzLnRleHQsXG4gICAgICB0aXRsZSxcbiAgICAgIHR5cGU6IGFyZ3MudHlwZVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
|
package/build/listener.d.ts.map
CHANGED
|
@@ -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,
|
|
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,18 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flash-notifications",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.40",
|
|
4
4
|
"description": "My new module",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"build"
|
|
9
|
+
],
|
|
7
10
|
"scripts": {
|
|
8
11
|
"build": "expo-module build",
|
|
9
12
|
"clean": "expo-module clean",
|
|
10
13
|
"export:web": "cd example && npm install && cd .. && npm run prepare:dummy && cd example && npx expo export -p web --output-dir dist",
|
|
11
14
|
"lint": "expo-module lint -- --max-warnings 0",
|
|
15
|
+
"prepare:module": "expo-module prepare",
|
|
12
16
|
"test": "node scripts/velocious-test.js",
|
|
13
|
-
"
|
|
17
|
+
"typecheck": "expo-module build",
|
|
14
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/",
|
|
15
|
-
"prepublishOnly": "expo-module prepublishOnly",
|
|
19
|
+
"prepublishOnly": "npm run prepare:module && expo-module prepublishOnly",
|
|
16
20
|
"expo-module": "expo-module",
|
|
17
21
|
"open:ios": "xed example/ios",
|
|
18
22
|
"open:android": "open -a \"Android Studio\" example/android",
|
|
@@ -37,21 +41,24 @@
|
|
|
37
41
|
"env-sense": "^1.0.2",
|
|
38
42
|
"eventemitter3": "^5.0.1",
|
|
39
43
|
"fetching-object": "^1.0.3",
|
|
40
|
-
"prop-types-exact": "*"
|
|
44
|
+
"prop-types-exact": "*",
|
|
45
|
+
"responsive-breakpoints": "^0.1.3",
|
|
46
|
+
"ya-use-event-emitter": "^0.1.1"
|
|
41
47
|
},
|
|
42
48
|
"devDependencies": {
|
|
49
|
+
"@eslint/js": "^9.39.4",
|
|
43
50
|
"@types/react": "~18.3.12",
|
|
44
|
-
"eslint": "^
|
|
45
|
-
"eslint-
|
|
46
|
-
"expo": "~
|
|
51
|
+
"eslint": "^9.39.1",
|
|
52
|
+
"eslint-plugin-react": "^7.37.5",
|
|
53
|
+
"expo": "~55.0.5",
|
|
47
54
|
"expo-module-scripts": "^4.0.2",
|
|
55
|
+
"globals": "^16.4.0",
|
|
48
56
|
"react-native": "~0.76.9",
|
|
49
57
|
"selenium-webdriver": "^4.35.0",
|
|
50
|
-
"system-testing": "^1.0.
|
|
51
|
-
"velocious": "^1.0.
|
|
58
|
+
"system-testing": "^1.0.62",
|
|
59
|
+
"velocious": "^1.0.183"
|
|
52
60
|
},
|
|
53
61
|
"peerDependencies": {
|
|
54
|
-
"@kaspernj/api-maker": ">= 1.0.2058",
|
|
55
62
|
"expo": "*",
|
|
56
63
|
"react": "*",
|
|
57
64
|
"react-native": "*",
|
package/.eslintrc.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
root: true,
|
|
3
|
-
extends: ['universe/native', 'universe/web'],
|
|
4
|
-
ignorePatterns: ['build'],
|
|
5
|
-
rules: {
|
|
6
|
-
"eqeqeq": "off",
|
|
7
|
-
"no-return-assign": "off",
|
|
8
|
-
"prettier/prettier": "off",
|
|
9
|
-
"react-hooks/rules-of-hooks": "off",
|
|
10
|
-
"import/order": "off"
|
|
11
|
-
}
|
|
12
|
-
}
|
package/AGENTS.md
DELETED
package/CHANGELOG.md
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
## Unreleased
|
|
4
|
-
- Add optional debug logging for notification lifecycle events.
|
|
5
|
-
- Speed up dismiss animations when notifications are pressed.
|
|
6
|
-
- Add notification count dataSet to message container for test hooks.
|
|
7
|
-
- Replace StyleSheet usage with inline style objects for notifications.
|
|
8
|
-
- Cache inline notification style objects and use numeric font weights.
|
|
9
|
-
- Inline cached style assignments directly in notification JSX.
|
|
10
|
-
- Build pressable styles with a single cached inline object.
|
package/android/build.gradle
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
apply plugin: 'com.android.library'
|
|
2
|
-
|
|
3
|
-
group = 'expo.modules.flashnotifications'
|
|
4
|
-
version = '0.1.0'
|
|
5
|
-
|
|
6
|
-
def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle")
|
|
7
|
-
apply from: expoModulesCorePlugin
|
|
8
|
-
applyKotlinExpoModulesCorePlugin()
|
|
9
|
-
useCoreDependencies()
|
|
10
|
-
useExpoPublishing()
|
|
11
|
-
|
|
12
|
-
// If you want to use the managed Android SDK versions from expo-modules-core, set this to true.
|
|
13
|
-
// The Android SDK versions will be bumped from time to time in SDK releases and may introduce breaking changes in your module code.
|
|
14
|
-
// Most of the time, you may like to manage the Android SDK versions yourself.
|
|
15
|
-
def useManagedAndroidSdkVersions = false
|
|
16
|
-
if (useManagedAndroidSdkVersions) {
|
|
17
|
-
useDefaultAndroidSdkVersions()
|
|
18
|
-
} else {
|
|
19
|
-
buildscript {
|
|
20
|
-
// Simple helper that allows the root project to override versions declared by this library.
|
|
21
|
-
ext.safeExtGet = { prop, fallback ->
|
|
22
|
-
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
project.android {
|
|
26
|
-
compileSdkVersion safeExtGet("compileSdkVersion", 34)
|
|
27
|
-
defaultConfig {
|
|
28
|
-
minSdkVersion safeExtGet("minSdkVersion", 21)
|
|
29
|
-
targetSdkVersion safeExtGet("targetSdkVersion", 34)
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
android {
|
|
35
|
-
namespace "expo.modules.flashnotifications"
|
|
36
|
-
defaultConfig {
|
|
37
|
-
versionCode 1
|
|
38
|
-
versionName "0.1.0"
|
|
39
|
-
}
|
|
40
|
-
lintOptions {
|
|
41
|
-
abortOnError false
|
|
42
|
-
}
|
|
43
|
-
}
|