react-native-notify-kit 9.3.0 → 9.5.0
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 +68 -2
- package/android/build.gradle +5 -0
- package/android/proguard-rules.pro +1 -0
- package/android/src/androidTest/java/app/notifee/core/DoScheduledWorkOrderingTest.java +234 -0
- package/android/src/androidTest/java/app/notifee/core/RebootRecoveryTest.java +204 -0
- package/android/src/androidTest/java/app/notifee/core/database/TimingWorkDataRepository.java +56 -0
- package/android/src/androidTest/java/app/notifee/core/database/WorkDataRepositoryRaceTest.java +221 -0
- package/android/src/androidTest/res/drawable/test_icon.xml +14 -0
- package/android/src/main/baseline-prof.txt +382 -0
- package/android/src/main/java/app/notifee/core/ForegroundService.java +269 -80
- package/android/src/main/java/app/notifee/core/InitProvider.java +48 -5
- package/android/src/main/java/app/notifee/core/Logger.java +5 -0
- package/android/src/main/java/app/notifee/core/NotifeeAlarmManager.java +160 -79
- package/android/src/main/java/app/notifee/core/NotificationManager.java +370 -288
- package/android/src/main/java/app/notifee/core/WarmupHelper.java +84 -0
- package/android/src/main/java/app/notifee/core/database/WorkDataRepository.java +38 -34
- package/android/src/main/java/app/notifee/core/model/NotificationAndroidModel.java +17 -1
- package/android/src/main/kotlin/io/invertase/notifee/NotifeeApiModule.kt +30 -0
- package/android/src/test/java/app/notifee/core/ForegroundServiceTest.java +182 -0
- package/android/src/test/java/app/notifee/core/database/WorkDataRepositoryFutureContractTest.java +279 -0
- package/dist/NotifeeApiModule.d.ts +1 -0
- package/dist/NotifeeApiModule.js +6 -0
- package/dist/NotifeeApiModule.js.map +1 -1
- package/dist/specs/NativeNotifeeModule.d.ts +1 -0
- package/dist/specs/NativeNotifeeModule.js.map +1 -1
- package/dist/types/Module.d.ts +19 -0
- package/dist/types/NotificationAndroid.d.ts +58 -0
- package/dist/types/NotificationAndroid.js +43 -0
- package/dist/types/NotificationAndroid.js.map +1 -1
- package/dist/utils/validate.d.ts +1 -0
- package/dist/utils/validate.js +10 -4
- package/dist/utils/validate.js.map +1 -1
- package/dist/validators/validateAndroidChannel.js +3 -3
- package/dist/validators/validateAndroidChannel.js.map +1 -1
- package/dist/validators/validateAndroidNotification.js +36 -12
- package/dist/validators/validateAndroidNotification.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/ios/NotifeeCore/NotifeeCore+NSNotificationCenter.m +5 -1
- package/ios/NotifeeCore/NotifeeCore+UNUserNotificationCenter.m +5 -5
- package/ios/NotifeeCore/NotifeeCore.m +28 -9
- package/ios/NotifeeCore/NotifeeCoreDelegateHolder.m +5 -1
- package/ios/NotifeeCore/NotifeeCoreExtensionHelper.m +7 -2
- package/ios/RNNotifee/NotifeeApiModule.mm +31 -10
- package/package.json +1 -1
- package/src/NotifeeApiModule.ts +7 -0
- package/src/specs/NativeNotifeeModule.ts +1 -0
- package/src/types/Module.ts +20 -0
- package/src/types/NotificationAndroid.ts +62 -0
- package/src/utils/validate.ts +12 -4
- package/src/validators/validateAndroidChannel.ts +3 -3
- package/src/validators/validateAndroidNotification.ts +43 -10
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateAndroidChannel.js","sourceRoot":"","sources":["../../src/validators/validateAndroidChannel.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"validateAndroidChannel.js","sourceRoot":"","sources":["../../src/validators/validateAndroidChannel.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Copyright (c) 2016-present Invertase Limited
|
|
3
3
|
*/
|
|
4
4
|
import { Image } from 'react-native';
|
|
5
|
-
import { objectHasProperty, isArray, isArrayOfStrings, isBoolean, isNumber, isObject, isString, isUndefined, isIOS, } from '../utils';
|
|
5
|
+
import { objectHasProperty, isArray, isArrayOfStrings, isBoolean, isNumber, isObject, isString, isUndefined, isIOS, isValidEnum, getNumericEnumValues, } from '../utils';
|
|
6
6
|
import { AndroidImportance } from '../types/NotificationAndroid';
|
|
7
|
-
import { AndroidBadgeIconType, AndroidCategory, AndroidDefaults, AndroidForegroundServiceType, AndroidFlags, AndroidGroupAlertBehavior, AndroidStyle, AndroidVisibility, } from '../types/NotificationAndroid';
|
|
7
|
+
import { AndroidBadgeIconType, AndroidCategory, AndroidDefaults, AndroidForegroundServiceBehavior, AndroidForegroundServiceType, AndroidFlags, AndroidGroupAlertBehavior, AndroidStyle, AndroidVisibility, } from '../types/NotificationAndroid';
|
|
8
8
|
import { isValidColor, isValidLightPattern, isValidTimestamp, isValidVibratePattern, } from './validate';
|
|
9
9
|
import { validateAndroidBigPictureStyle, validateAndroidBigTextStyle, validateAndroidInboxStyle, validateAndroidMessagingStyle, } from './validateAndroidStyle';
|
|
10
10
|
import validateAndroidPressAction from './validateAndroidPressAction';
|
|
@@ -71,6 +71,16 @@ export default function validateAndroidNotification(android) {
|
|
|
71
71
|
}
|
|
72
72
|
out.asForegroundService = android.asForegroundService;
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* foregroundServiceBehavior
|
|
76
|
+
*/
|
|
77
|
+
if (objectHasProperty(android, 'foregroundServiceBehavior') &&
|
|
78
|
+
!isUndefined(android.foregroundServiceBehavior)) {
|
|
79
|
+
if (!isValidEnum(android.foregroundServiceBehavior, AndroidForegroundServiceBehavior)) {
|
|
80
|
+
throw new Error("'notification.android.foregroundServiceBehavior' expected a valid AndroidForegroundServiceBehavior.");
|
|
81
|
+
}
|
|
82
|
+
out.foregroundServiceBehavior = android.foregroundServiceBehavior;
|
|
83
|
+
}
|
|
74
84
|
/**
|
|
75
85
|
* lightUpScreen
|
|
76
86
|
*/
|
|
@@ -102,7 +112,7 @@ export default function validateAndroidNotification(android) {
|
|
|
102
112
|
* badgeIconType
|
|
103
113
|
*/
|
|
104
114
|
if (objectHasProperty(android, 'badgeIconType') && !isUndefined(android.badgeIconType)) {
|
|
105
|
-
if (!
|
|
115
|
+
if (!isValidEnum(android.badgeIconType, AndroidBadgeIconType)) {
|
|
106
116
|
throw new Error("'notification.android.badgeIconType' expected a valid AndroidBadgeIconType.");
|
|
107
117
|
}
|
|
108
118
|
out.badgeIconType = android.badgeIconType;
|
|
@@ -166,7 +176,7 @@ export default function validateAndroidNotification(android) {
|
|
|
166
176
|
if (android.defaults.length === 0) {
|
|
167
177
|
throw new Error("'notification.android.defaults' expected an array containing AndroidDefaults.");
|
|
168
178
|
}
|
|
169
|
-
const defaults =
|
|
179
|
+
const defaults = getNumericEnumValues(AndroidDefaults);
|
|
170
180
|
for (let i = 0; i < android.defaults.length; i++) {
|
|
171
181
|
if (!defaults.includes(android.defaults[i])) {
|
|
172
182
|
throw new Error("'notification.android.defaults' invalid array value, expected an AndroidDefaults value.");
|
|
@@ -188,7 +198,7 @@ export default function validateAndroidNotification(android) {
|
|
|
188
198
|
*/
|
|
189
199
|
if (objectHasProperty(android, 'groupAlertBehavior') &&
|
|
190
200
|
!isUndefined(android.groupAlertBehavior)) {
|
|
191
|
-
if (!
|
|
201
|
+
if (!isValidEnum(android.groupAlertBehavior, AndroidGroupAlertBehavior)) {
|
|
192
202
|
throw new Error("'notification.android.groupAlertBehavior' expected a valid AndroidGroupAlertBehavior.");
|
|
193
203
|
}
|
|
194
204
|
out.groupAlertBehavior = android.groupAlertBehavior;
|
|
@@ -287,9 +297,9 @@ export default function validateAndroidNotification(android) {
|
|
|
287
297
|
if (android.foregroundServiceTypes.length === 0) {
|
|
288
298
|
throw new Error("'notification.android.foregroundServiceTypes' expected a non empty array containing AndroidForegroundServiceType.");
|
|
289
299
|
}
|
|
290
|
-
const
|
|
300
|
+
const foregroundServiceTypeValues = getNumericEnumValues(AndroidForegroundServiceType);
|
|
291
301
|
for (let i = 0; i < android.foregroundServiceTypes.length; i++) {
|
|
292
|
-
if (!
|
|
302
|
+
if (!foregroundServiceTypeValues.includes(android.foregroundServiceTypes[i])) {
|
|
293
303
|
throw new Error("'notification.android.foregroundServiceTypes' invalid array value, expected an AndroidForegroundServiceType value.");
|
|
294
304
|
}
|
|
295
305
|
}
|
|
@@ -303,11 +313,11 @@ export default function validateAndroidNotification(android) {
|
|
|
303
313
|
throw new Error("'notification.android.flags' expected an array.");
|
|
304
314
|
}
|
|
305
315
|
if (android.flags.length === 0) {
|
|
306
|
-
throw new Error("'notification.android.flags' expected an array containing
|
|
316
|
+
throw new Error("'notification.android.flags' expected an array containing AndroidFlags.");
|
|
307
317
|
}
|
|
308
|
-
const
|
|
318
|
+
const flagValues = getNumericEnumValues(AndroidFlags);
|
|
309
319
|
for (let i = 0; i < android.flags.length; i++) {
|
|
310
|
-
if (!
|
|
320
|
+
if (!flagValues.includes(android.flags[i])) {
|
|
311
321
|
throw new Error("'notification.android.flags' invalid array value, expected an AndroidFlags value.");
|
|
312
322
|
}
|
|
313
323
|
}
|
|
@@ -368,7 +378,7 @@ export default function validateAndroidNotification(android) {
|
|
|
368
378
|
* importance
|
|
369
379
|
*/
|
|
370
380
|
if (objectHasProperty(android, 'importance') && !isUndefined(android.importance)) {
|
|
371
|
-
if (!
|
|
381
|
+
if (!isValidEnum(android.importance, AndroidImportance)) {
|
|
372
382
|
throw new Error("'notification.android.importance' expected a valid Importance.");
|
|
373
383
|
}
|
|
374
384
|
out.importance = android.importance;
|
|
@@ -530,7 +540,7 @@ export default function validateAndroidNotification(android) {
|
|
|
530
540
|
* visibility
|
|
531
541
|
*/
|
|
532
542
|
if (objectHasProperty(android, 'visibility') && android.visibility !== undefined) {
|
|
533
|
-
if (!
|
|
543
|
+
if (!isValidEnum(android.visibility, AndroidVisibility)) {
|
|
534
544
|
throw new Error("'notification.android.visibility' expected a valid AndroidVisibility value.");
|
|
535
545
|
}
|
|
536
546
|
out.visibility = android.visibility;
|
|
@@ -564,6 +574,20 @@ export default function validateAndroidNotification(android) {
|
|
|
564
574
|
if (out.asForegroundService && android && !objectHasProperty(android, 'ongoing')) {
|
|
565
575
|
out.ongoing = true;
|
|
566
576
|
}
|
|
577
|
+
/**
|
|
578
|
+
* Auto-set foregroundServiceBehavior to IMMEDIATE for foreground service notifications.
|
|
579
|
+
* Only set when asForegroundService is true and the user did not provide an explicit value.
|
|
580
|
+
* When asForegroundService is false/undefined, strip the property entirely — it has no effect
|
|
581
|
+
* on non-FGS notifications and including it would bloat the Bundle unnecessarily.
|
|
582
|
+
*/
|
|
583
|
+
if (out.asForegroundService) {
|
|
584
|
+
if (android && !objectHasProperty(android, 'foregroundServiceBehavior')) {
|
|
585
|
+
out.foregroundServiceBehavior = AndroidForegroundServiceBehavior.IMMEDIATE;
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
else {
|
|
589
|
+
delete out.foregroundServiceBehavior;
|
|
590
|
+
}
|
|
567
591
|
return out;
|
|
568
592
|
}
|
|
569
593
|
//# sourceMappingURL=validateAndroidNotification.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateAndroidNotification.js","sourceRoot":"","sources":["../../src/validators/validateAndroidNotification.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,OAAO,EACL,iBAAiB,EACjB,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,KAAK,GACN,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,4BAA4B,EAC5B,YAAY,EACZ,yBAAyB,EAEzB,YAAY,EACZ,iBAAiB,GAElB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,8BAA8B,EAC9B,2BAA2B,EAC3B,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,0BAA0B,MAAM,8BAA8B,CAAC;AACtE,OAAO,+BAA+B,MAAM,mCAAmC,CAAC;AAChF,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAE5D,MAAM,CAAC,OAAO,UAAU,2BAA2B,CACjD,OAA6B;IAE7B,8BAA8B;IAC9B,MAAM,GAAG,GAAwB;QAC/B,UAAU,EAAE,IAAI;QAChB,mBAAmB,EAAE,KAAK;QAC1B,aAAa,EAAE,KAAK;QACpB,aAAa,EAAE,oBAAoB,CAAC,KAAK;QACzC,SAAS,EAAE,KAAK;QAChB,oBAAoB,EAAE,IAAI;QAC1B,QAAQ,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC;QAC/B,kBAAkB,EAAE,yBAAyB,CAAC,GAAG;QACjD,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,KAAK;QAChB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,iBAAiB,CAAC,OAAO;QACrC,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,aAAa;QACxB,eAAe,EAAE,KAAK;QACtB,UAAU,EAAE,iBAAiB,CAAC,OAAO;QACrC,iBAAiB,EAAE,KAAK;KACzB,CAAC;IAEF,uCAAuC;IACvC,IAAI,KAAK,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC;IAElC,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAC9F,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChD,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QAED,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QAED,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QAED,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QAED,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACvF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QAED,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IAED,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAElC;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,mGAAmG,CACpG,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QAED,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,sBAAsB,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,OAAO,CAAC,oBAAoB,KAAK,IAAI,IAAI,OAAO,CAAC,oBAAoB,KAAK,MAAM,EAAE,CAAC;YACrF,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,CAAC;QAED,GAAG,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;YACJ,CAAC;QACH,CAAC;QAED,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QAED,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IACE,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,CAAC;QAChD,CAAC,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,EACxC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACnF,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QAED,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED,IAAI,iBAAiB,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC7F,CAAC;QAED,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;QAC5C,IACE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3B,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;YAC5B,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAC1D,CAAC;YACD,MAAM,IAAI,KAAK,CACb,qGAAqG,CACtG,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1D,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,CAAC;QAED,IAAI,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,+FAA+F,CAChG,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE9D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,OAAO;oBACV,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;gBACJ,KAAK,MAAM;oBACT,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAC;gBACJ,KAAK,OAAO;oBACV,MAAM,IAAI,KAAK,CACb,kGAAkG,CACnG,CAAC;YACN,CAAC;QACH,CAAC;QAED,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QAED,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QAED,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QAED,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IACE,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,CAAC;QACpD,CAAC,WAAW,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAC5C,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,OAAO,CAAC,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CACb,mHAAmH,CACpH,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAE7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CACb,oHAAoH,CACrH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,GAAG,CAAC,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QAED,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;OAWG;IACH,IACE,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC;QACzC,OAAO,CAAC,WAAW,KAAK,IAAI;QAC5B,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,EACjC,CAAC;QACD,IAAI,CAAC;YACH,GAAG,CAAC,WAAW,GAAG,0BAA0B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QACxC,2EAA2E;QAC3E,iFAAiF;QACjF,GAAG,CAAC,WAAW,GAAG,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,4EAA4E;QAC5E,GAAG,CAAC,WAAW,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC7F,IAAI,CAAC;YACH,GAAG,CAAC,gBAAgB,GAAG,+BAA+B,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACnF,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACjF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QAED,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,QAAQ,GAAoB;YAChC,aAAa,EAAE,KAAK;SACrB,CAAC;QAEF,IAAI,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;YAC7F,CAAC;YAED,QAAQ,CAAC,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;YAC3F,CAAC;YAED,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CACb,wGAAwG,CACzG,CAAC;YACJ,CAAC;YAED,QAAQ,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACxE,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;YACJ,CAAC;YAED,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CACb,8GAA8G,CAC/G,CAAC;YACJ,CAAC;YAED,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC9C,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,IAAI,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;YACJ,CAAC;QACH,CAAC;QAED,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QAED,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QAED,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACpF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QAED,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QAED,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,CAAC;IAED;;OAEG;IAEH,IAAI,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,QAAQ,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3B,KAAK,YAAY,CAAC,UAAU;gBAC1B,GAAG,CAAC,KAAK,GAAG,8BAA8B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC1D,MAAM;YACR,KAAK,YAAY,CAAC,OAAO;gBACvB,GAAG,CAAC,KAAK,GAAG,2BAA2B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACvD,MAAM;YACR,KAAK,YAAY,CAAC,KAAK;gBACrB,GAAG,CAAC,KAAK,GAAG,yBAAyB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrD,MAAM;YACR,KAAK,YAAY,CAAC,SAAS;gBACzB,GAAG,CAAC,KAAK,GAAG,6BAA6B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACzD,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CACb,qJAAqJ,CACtJ,CAAC;QACN,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACnE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC7F,CAAC;QAED,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACrF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACxF,CAAC;QAED,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QAED,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,CAAC,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAC7F,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC3F,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACjF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC/E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,IAAI,GAAG,CAAC,mBAAmB,IAAI,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"validateAndroidNotification.js","sourceRoot":"","sources":["../../src/validators/validateAndroidNotification.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "9.
|
|
1
|
+
export declare const version = "9.5.0";
|
package/dist/version.js
CHANGED
|
@@ -74,7 +74,11 @@
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
- (void)messaging_didReceiveRemoteNotification:(nonnull NSNotification *)notification {
|
|
77
|
-
//
|
|
77
|
+
// Intentionally empty: remote notifications are handled via
|
|
78
|
+
// UNUserNotificationCenterDelegate (willPresentNotification:,
|
|
79
|
+
// didReceiveNotificationResponse:). This observer is preserved to avoid
|
|
80
|
+
// behavior changes for any downstream code that may depend on the
|
|
81
|
+
// registration existing.
|
|
78
82
|
}
|
|
79
83
|
|
|
80
84
|
@end
|
|
@@ -281,11 +281,11 @@ struct {
|
|
|
281
281
|
|
|
282
282
|
[[NotifeeCoreDelegateHolder instance] didReceiveNotifeeCoreEvent:event];
|
|
283
283
|
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
284
|
+
completionHandler();
|
|
285
|
+
} else {
|
|
286
|
+
// Defensive: parseUNNotificationRequest: currently never returns nil,
|
|
287
|
+
// but if it did, the completionHandler contract must still be honored.
|
|
288
|
+
completionHandler();
|
|
289
289
|
}
|
|
290
290
|
}
|
|
291
291
|
|
|
@@ -195,13 +195,21 @@
|
|
|
195
195
|
// Use the intent to initialize the interaction.
|
|
196
196
|
INInteraction *interaction = [[INInteraction alloc] initWithIntent:intent response:nil];
|
|
197
197
|
interaction.direction = INInteractionDirectionIncoming;
|
|
198
|
-
[interaction donateInteractionWithCompletion:^(NSError *
|
|
199
|
-
if (
|
|
198
|
+
[interaction donateInteractionWithCompletion:^(NSError *donateError) {
|
|
199
|
+
if (donateError)
|
|
200
200
|
NSLog(@"NotifeeCore: Could not donate interaction for communication notification: %@",
|
|
201
|
-
|
|
201
|
+
donateError);
|
|
202
202
|
}];
|
|
203
203
|
|
|
204
|
-
|
|
204
|
+
NSError *contentUpdateError = nil;
|
|
205
|
+
UNNotificationContent *updatedContent =
|
|
206
|
+
[content contentByUpdatingWithProvider:intent error:&contentUpdateError];
|
|
207
|
+
if (contentUpdateError) {
|
|
208
|
+
NSLog(@"NotifeeCore: Could not update notification content with communication intent: %@",
|
|
209
|
+
contentUpdateError);
|
|
210
|
+
} else if (updatedContent != nil) {
|
|
211
|
+
content = [updatedContent mutableCopy];
|
|
212
|
+
}
|
|
205
213
|
}
|
|
206
214
|
}
|
|
207
215
|
|
|
@@ -270,13 +278,21 @@
|
|
|
270
278
|
// Use the intent to initialize the interaction.
|
|
271
279
|
INInteraction *interaction = [[INInteraction alloc] initWithIntent:intent response:nil];
|
|
272
280
|
interaction.direction = INInteractionDirectionIncoming;
|
|
273
|
-
[interaction donateInteractionWithCompletion:^(NSError *
|
|
274
|
-
if (
|
|
281
|
+
[interaction donateInteractionWithCompletion:^(NSError *donateError) {
|
|
282
|
+
if (donateError)
|
|
275
283
|
NSLog(@"NotifeeCore: Could not donate interaction for communication notification: %@",
|
|
276
|
-
|
|
284
|
+
donateError);
|
|
277
285
|
}];
|
|
278
286
|
|
|
279
|
-
|
|
287
|
+
NSError *contentUpdateError = nil;
|
|
288
|
+
UNNotificationContent *updatedContent =
|
|
289
|
+
[content contentByUpdatingWithProvider:intent error:&contentUpdateError];
|
|
290
|
+
if (contentUpdateError) {
|
|
291
|
+
NSLog(@"NotifeeCore: Could not update notification content with communication intent: %@",
|
|
292
|
+
contentUpdateError);
|
|
293
|
+
} else if (updatedContent != nil) {
|
|
294
|
+
content = [updatedContent mutableCopy];
|
|
295
|
+
}
|
|
280
296
|
}
|
|
281
297
|
}
|
|
282
298
|
|
|
@@ -643,7 +659,8 @@
|
|
|
643
659
|
|
|
644
660
|
id handler = ^(BOOL granted, NSError *_Nullable error) {
|
|
645
661
|
if (error != nil) {
|
|
646
|
-
|
|
662
|
+
block(error, nil);
|
|
663
|
+
return;
|
|
647
664
|
}
|
|
648
665
|
|
|
649
666
|
[self getNotificationSettings:block];
|
|
@@ -772,7 +789,9 @@
|
|
|
772
789
|
NSInteger badgeCount = application.applicationIconBadgeNumber;
|
|
773
790
|
|
|
774
791
|
block(nil, badgeCount == -1 ? 0 : badgeCount);
|
|
792
|
+
return;
|
|
775
793
|
}
|
|
794
|
+
block(nil, 0);
|
|
776
795
|
}
|
|
777
796
|
|
|
778
797
|
+ (void)incrementBadgeCount:(NSInteger)incrementBy withBlock:(notifeeMethodVoidBlock)block {
|
|
@@ -68,7 +68,11 @@
|
|
|
68
68
|
// avoid an orphan event sitting in _pendingEvents forever.
|
|
69
69
|
if (self->delegateRespondsTo.didReceiveNotificationEvent) {
|
|
70
70
|
delegateToCall = self->delegate;
|
|
71
|
-
}
|
|
71
|
+
}
|
|
72
|
+
// Buffer if the delegate is not set, or if the bitfield is stale
|
|
73
|
+
// (delegateRespondsTo is true but the weak delegate ref has been
|
|
74
|
+
// zeroed — e.g., during JS reload when NotifeeApiModule is deallocated).
|
|
75
|
+
if (delegateToCall == nil) {
|
|
72
76
|
[self->_pendingEvents addObject:notificationEvent];
|
|
73
77
|
}
|
|
74
78
|
}
|
|
@@ -164,8 +164,13 @@ static NSString *const kImagePathPrefix = @"image/";
|
|
|
164
164
|
NSString *attachmentIdentifier = attachmentDict[@"id"];
|
|
165
165
|
NSURL *attachmentURL = [NSURL URLWithString:attachmentDict[@"url"]];
|
|
166
166
|
|
|
167
|
-
|
|
168
|
-
|
|
167
|
+
// NSE has a ~30-second budget before iOS calls serviceExtensionTimeWillExpire
|
|
168
|
+
// and kills the process. Cap the download at 25 seconds to leave a 5-second
|
|
169
|
+
// margin for graceful fallback via the extension's expiration handler.
|
|
170
|
+
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
|
|
171
|
+
config.timeoutIntervalForRequest = 25.0;
|
|
172
|
+
config.timeoutIntervalForResource = 25.0;
|
|
173
|
+
NSURLSession *session = [NSURLSession sessionWithConfiguration:config];
|
|
169
174
|
[[session
|
|
170
175
|
downloadTaskWithURL:attachmentURL
|
|
171
176
|
completionHandler:^(NSURL *temporaryFileLocation, NSURLResponse *response,
|
|
@@ -28,6 +28,9 @@ static NSInteger kReactNativeNotifeeNotificationTypeTrigger = 2;
|
|
|
28
28
|
static NSInteger kReactNativeNotifeeNotificationTypeAll = 0;
|
|
29
29
|
|
|
30
30
|
@implementation NotifeeApiModule {
|
|
31
|
+
// Guarded by @synchronized(self): didReceiveNotifeeCoreEvent: may be called
|
|
32
|
+
// from arbitrary threads (UNUserNotificationCenter callbacks), while
|
|
33
|
+
// startObserving/stopObserving/sendNotifeeCoreEvent: run on the main thread.
|
|
31
34
|
bool hasListeners;
|
|
32
35
|
NSMutableArray *pendingCoreEvents;
|
|
33
36
|
}
|
|
@@ -53,15 +56,21 @@ RCT_EXPORT_MODULE();
|
|
|
53
56
|
}
|
|
54
57
|
|
|
55
58
|
- (void)startObserving {
|
|
56
|
-
|
|
57
|
-
|
|
59
|
+
NSArray *eventsToFlush;
|
|
60
|
+
@synchronized(self) {
|
|
61
|
+
hasListeners = YES;
|
|
62
|
+
eventsToFlush = [pendingCoreEvents copy];
|
|
63
|
+
[pendingCoreEvents removeAllObjects];
|
|
64
|
+
}
|
|
65
|
+
for (NSDictionary *eventBody in eventsToFlush) {
|
|
58
66
|
[self sendNotifeeCoreEvent:eventBody];
|
|
59
67
|
}
|
|
60
|
-
[pendingCoreEvents removeAllObjects];
|
|
61
68
|
}
|
|
62
69
|
|
|
63
70
|
- (void)stopObserving {
|
|
64
|
-
|
|
71
|
+
@synchronized(self) {
|
|
72
|
+
hasListeners = NO;
|
|
73
|
+
}
|
|
65
74
|
}
|
|
66
75
|
|
|
67
76
|
+ (BOOL)requiresMainQueueSetup {
|
|
@@ -80,18 +89,25 @@ RCT_EXPORT_MODULE();
|
|
|
80
89
|
#pragma mark - Events
|
|
81
90
|
|
|
82
91
|
- (void)didReceiveNotifeeCoreEvent:(NSDictionary *_Nonnull)event {
|
|
83
|
-
|
|
92
|
+
BOOL shouldSend;
|
|
93
|
+
@synchronized(self) {
|
|
94
|
+
shouldSend = hasListeners;
|
|
95
|
+
if (!shouldSend) {
|
|
96
|
+
[pendingCoreEvents addObject:event];
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (shouldSend) {
|
|
84
100
|
[self sendNotifeeCoreEvent:event];
|
|
85
|
-
} else {
|
|
86
|
-
[pendingCoreEvents addObject:event];
|
|
87
101
|
}
|
|
88
102
|
}
|
|
89
103
|
|
|
90
104
|
- (void)sendNotifeeCoreEvent:(NSDictionary *_Nonnull)eventBody {
|
|
91
105
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
106
|
+
@synchronized(self) {
|
|
107
|
+
if (!hasListeners) {
|
|
108
|
+
[pendingCoreEvents addObject:eventBody];
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
95
111
|
}
|
|
96
112
|
// Routing foreground vs background is based on UIApplication state.
|
|
97
113
|
// iOS delivers didReceiveNotificationResponse: while the app is in
|
|
@@ -418,6 +434,11 @@ RCT_EXPORT_MODULE();
|
|
|
418
434
|
resolve(nil);
|
|
419
435
|
}
|
|
420
436
|
|
|
437
|
+
- (void)prewarmForegroundService:(RCTPromiseResolveBlock)resolve
|
|
438
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
439
|
+
resolve(nil);
|
|
440
|
+
}
|
|
441
|
+
|
|
421
442
|
- (void)hideNotificationDrawer {
|
|
422
443
|
// Android-only, no-op on iOS
|
|
423
444
|
}
|
package/package.json
CHANGED
package/src/NotifeeApiModule.ts
CHANGED
|
@@ -826,6 +826,13 @@ export default class NotifeeApiModule extends NotifeeNativeModule implements Mod
|
|
|
826
826
|
return this.native.stopForegroundService();
|
|
827
827
|
};
|
|
828
828
|
|
|
829
|
+
public prewarmForegroundService = (): Promise<void> => {
|
|
830
|
+
if (!isAndroid) {
|
|
831
|
+
return Promise.resolve();
|
|
832
|
+
}
|
|
833
|
+
return this.native.prewarmForegroundService();
|
|
834
|
+
};
|
|
835
|
+
|
|
829
836
|
public hideNotificationDrawer = (): void => {
|
|
830
837
|
if (!isAndroid) {
|
|
831
838
|
return;
|
|
@@ -49,6 +49,7 @@ export interface Spec extends TurboModule {
|
|
|
49
49
|
getPowerManagerInfo(): Promise<Object>;
|
|
50
50
|
openPowerManagerSettings(): Promise<void>;
|
|
51
51
|
stopForegroundService(): Promise<void>;
|
|
52
|
+
prewarmForegroundService(): Promise<void>;
|
|
52
53
|
hideNotificationDrawer(): void;
|
|
53
54
|
addListener(eventName: string): void;
|
|
54
55
|
removeListeners(count: number): void;
|
package/src/types/Module.ts
CHANGED
|
@@ -419,6 +419,26 @@ export interface Module {
|
|
|
419
419
|
*/
|
|
420
420
|
stopForegroundService(): Promise<void>;
|
|
421
421
|
|
|
422
|
+
/**
|
|
423
|
+
* Pre-warms the foreground service notification path by eagerly loading critical
|
|
424
|
+
* classes and warming the `INotificationManager` Binder proxy on a background thread.
|
|
425
|
+
*
|
|
426
|
+
* Most apps do **not** need this method — the library automatically performs warmup
|
|
427
|
+
* at app startup via `InitProvider`. This API is an escape hatch for edge cases:
|
|
428
|
+
*
|
|
429
|
+
* - Apps where the library is lazy-loaded or code-split
|
|
430
|
+
* - Apps that want to defer warmup to after the splash screen
|
|
431
|
+
* - Low-end devices where the `InitProvider` warmup hasn't finished by the time
|
|
432
|
+
* the first notification is displayed
|
|
433
|
+
*
|
|
434
|
+
* Safe to call multiple times (idempotent). On iOS this resolves immediately as a no-op.
|
|
435
|
+
*
|
|
436
|
+
* See the "Advanced / Troubleshooting" section in the README for more details.
|
|
437
|
+
*
|
|
438
|
+
* @platform android
|
|
439
|
+
*/
|
|
440
|
+
prewarmForegroundService(): Promise<void>;
|
|
441
|
+
|
|
422
442
|
/**
|
|
423
443
|
* Request specific notification permissions for your application on the current device.
|
|
424
444
|
*
|
|
@@ -292,6 +292,23 @@ export interface NotificationAndroid {
|
|
|
292
292
|
*/
|
|
293
293
|
foregroundServiceTypes?: AndroidForegroundServiceType[];
|
|
294
294
|
|
|
295
|
+
/**
|
|
296
|
+
* Controls the display behavior of the foreground service notification on Android 12+.
|
|
297
|
+
*
|
|
298
|
+
* When `asForegroundService` is `true` and this property is not set, it defaults to
|
|
299
|
+
* `AndroidForegroundServiceBehavior.IMMEDIATE`, which eliminates the up to 10-second
|
|
300
|
+
* display delay that Android 12+ imposes on foreground service notifications.
|
|
301
|
+
*
|
|
302
|
+
* Set to `AndroidForegroundServiceBehavior.DEFERRED` to restore the platform default
|
|
303
|
+
* deferred behavior, or `AndroidForegroundServiceBehavior.DEFAULT` for the framework-neutral
|
|
304
|
+
* default.
|
|
305
|
+
*
|
|
306
|
+
* Ignored when `asForegroundService` is `false` or not set.
|
|
307
|
+
*
|
|
308
|
+
* @platform android API 31+
|
|
309
|
+
*/
|
|
310
|
+
foregroundServiceBehavior?: AndroidForegroundServiceBehavior;
|
|
311
|
+
|
|
295
312
|
/**
|
|
296
313
|
* Set a notification importance for devices without channel support.
|
|
297
314
|
*
|
|
@@ -1480,3 +1497,48 @@ export enum AndroidForegroundServiceType {
|
|
|
1480
1497
|
FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED = 1024,
|
|
1481
1498
|
FOREGROUND_SERVICE_TYPE_MANIFEST = -1,
|
|
1482
1499
|
}
|
|
1500
|
+
|
|
1501
|
+
/**
|
|
1502
|
+
* Controls the display behavior of foreground service notifications on Android 12+.
|
|
1503
|
+
*
|
|
1504
|
+
* Values are aligned with androidx.core.app.NotificationCompat constants:
|
|
1505
|
+
* DEFAULT = NotificationCompat.FOREGROUND_SERVICE_DEFAULT (0)
|
|
1506
|
+
* IMMEDIATE = NotificationCompat.FOREGROUND_SERVICE_IMMEDIATE (1)
|
|
1507
|
+
* DEFERRED = NotificationCompat.FOREGROUND_SERVICE_DEFERRED (2)
|
|
1508
|
+
*
|
|
1509
|
+
* Do not change these numeric values without updating the native getter in
|
|
1510
|
+
* NotificationAndroidModel.java.
|
|
1511
|
+
*
|
|
1512
|
+
* @platform android
|
|
1513
|
+
*/
|
|
1514
|
+
export enum AndroidForegroundServiceBehavior {
|
|
1515
|
+
/**
|
|
1516
|
+
* Framework default. Equivalent to not calling `setForegroundServiceBehavior()` at all.
|
|
1517
|
+
* On Android 12+, the system may defer display of the foreground service notification
|
|
1518
|
+
* by up to 10 seconds unless an exemption applies.
|
|
1519
|
+
*
|
|
1520
|
+
* Corresponds to `NotificationCompat.FOREGROUND_SERVICE_DEFAULT`.
|
|
1521
|
+
*/
|
|
1522
|
+
DEFAULT = 0,
|
|
1523
|
+
|
|
1524
|
+
/**
|
|
1525
|
+
* The foreground service notification is shown immediately after the service starts.
|
|
1526
|
+
* Eliminates the 10-second display delay imposed by Android 12+ on foreground service
|
|
1527
|
+
* notifications.
|
|
1528
|
+
*
|
|
1529
|
+
* This is the library default when `asForegroundService` is `true` and
|
|
1530
|
+
* `foregroundServiceBehavior` is not explicitly set.
|
|
1531
|
+
*
|
|
1532
|
+
* Corresponds to `NotificationCompat.FOREGROUND_SERVICE_IMMEDIATE`.
|
|
1533
|
+
*/
|
|
1534
|
+
IMMEDIATE = 1,
|
|
1535
|
+
|
|
1536
|
+
/**
|
|
1537
|
+
* The foreground service notification display may be deferred by up to 10 seconds by the
|
|
1538
|
+
* system. This matches the default Android 12+ behavior and the (unintended) behavior of
|
|
1539
|
+
* upstream `@notifee/react-native`.
|
|
1540
|
+
*
|
|
1541
|
+
* Corresponds to `NotificationCompat.FOREGROUND_SERVICE_DEFERRED`.
|
|
1542
|
+
*/
|
|
1543
|
+
DEFERRED = 2,
|
|
1544
|
+
}
|
package/src/utils/validate.ts
CHANGED
|
@@ -82,9 +82,17 @@ export function isValidUrl(url: string): boolean {
|
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
export function isValidEnum(value: any, enumType: Record<string, any>): boolean {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
// Filter out reverse-mapped string keys that TypeScript adds to numeric enums.
|
|
86
|
+
// In a numeric enum { A=0, B=1 }, Object.values() returns [0, 1, "A", "B"].
|
|
87
|
+
// The reverse-mapped string "A" satisfies typeof enumType["A"] === 'number',
|
|
88
|
+
// whereas real string enum values (e.g., TimeUnit.SECONDS = 'SECONDS')
|
|
89
|
+
// satisfy typeof enumType["SECONDS"] === 'string', so they are kept.
|
|
90
|
+
const values = Object.values(enumType).filter(
|
|
91
|
+
v => typeof v !== 'string' || typeof enumType[v] !== 'number',
|
|
92
|
+
);
|
|
93
|
+
return values.includes(value);
|
|
94
|
+
}
|
|
88
95
|
|
|
89
|
-
|
|
96
|
+
export function getNumericEnumValues(enumType: Record<string, any>): number[] {
|
|
97
|
+
return Object.values(enumType).filter((v): v is number => typeof v === 'number');
|
|
90
98
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright (c) 2016-present Invertase Limited
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { objectHasProperty, isArray, isBoolean, isObject, isString } from '../utils';
|
|
5
|
+
import { objectHasProperty, isArray, isBoolean, isObject, isString, isValidEnum } from '../utils';
|
|
6
6
|
import { isValidColor, isValidVibratePattern } from './validate';
|
|
7
7
|
|
|
8
8
|
import { AndroidImportance } from '../types/NotificationAndroid';
|
|
@@ -121,7 +121,7 @@ export default function validateAndroidChannel(channel: AndroidChannel): Android
|
|
|
121
121
|
* importance
|
|
122
122
|
*/
|
|
123
123
|
if (objectHasProperty(channel, 'importance') && channel.importance !== undefined) {
|
|
124
|
-
if (!
|
|
124
|
+
if (!isValidEnum(channel.importance, AndroidImportance)) {
|
|
125
125
|
throw new Error("'channel.importance' expected an Importance value.");
|
|
126
126
|
}
|
|
127
127
|
|
|
@@ -149,7 +149,7 @@ export default function validateAndroidChannel(channel: AndroidChannel): Android
|
|
|
149
149
|
* visibility
|
|
150
150
|
*/
|
|
151
151
|
if (objectHasProperty(channel, 'visibility') && channel.visibility !== undefined) {
|
|
152
|
-
if (!
|
|
152
|
+
if (!isValidEnum(channel.visibility, AndroidVisibility)) {
|
|
153
153
|
throw new Error("'channel.visibility' expected visibility to be an AndroidVisibility value.");
|
|
154
154
|
}
|
|
155
155
|
|