@ammarahmed/notifee-react-native 7.3.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.
Files changed (215) hide show
  1. package/.gitattributes +3 -0
  2. package/LICENSE +44 -0
  3. package/README.md +131 -0
  4. package/RNNotifee.podspec +39 -0
  5. package/RNNotifeeCore.podspec +33 -0
  6. package/android/build.gradle +116 -0
  7. package/android/gradle.properties +1 -0
  8. package/android/libs/app/notifee/core/202108261756/core-202108261756.aar +0 -0
  9. package/android/libs/app/notifee/core/202108261756/core-202108261756.aar.md5 +1 -0
  10. package/android/libs/app/notifee/core/202108261756/core-202108261756.aar.sha1 +1 -0
  11. package/android/libs/app/notifee/core/202108261756/core-202108261756.aar.sha256 +1 -0
  12. package/android/libs/app/notifee/core/202108261756/core-202108261756.aar.sha512 +1 -0
  13. package/android/libs/app/notifee/core/202108261756/core-202108261756.pom +9 -0
  14. package/android/libs/app/notifee/core/202108261756/core-202108261756.pom.md5 +1 -0
  15. package/android/libs/app/notifee/core/202108261756/core-202108261756.pom.sha1 +1 -0
  16. package/android/libs/app/notifee/core/202108261756/core-202108261756.pom.sha256 +1 -0
  17. package/android/libs/app/notifee/core/202108261756/core-202108261756.pom.sha512 +1 -0
  18. package/android/libs/app/notifee/core/maven-metadata.xml +13 -0
  19. package/android/libs/app/notifee/core/maven-metadata.xml.md5 +1 -0
  20. package/android/libs/app/notifee/core/maven-metadata.xml.sha1 +1 -0
  21. package/android/libs/app/notifee/core/maven-metadata.xml.sha256 +1 -0
  22. package/android/libs/app/notifee/core/maven-metadata.xml.sha512 +1 -0
  23. package/android/lint.xml +5 -0
  24. package/android/proguard-rules.pro +74 -0
  25. package/android/settings.gradle +1 -0
  26. package/android/src/main/AndroidManifest.xml +12 -0
  27. package/android/src/main/java/io/invertase/notifee/NotifeeApiModule.java +349 -0
  28. package/android/src/main/java/io/invertase/notifee/NotifeeEventSubscriber.java +118 -0
  29. package/android/src/main/java/io/invertase/notifee/NotifeeInitProvider.java +55 -0
  30. package/android/src/main/java/io/invertase/notifee/NotifeePackage.java +30 -0
  31. package/android/src/main/java/io/invertase/notifee/NotifeeReactUtils.java +244 -0
  32. package/app.plugin.js +1 -0
  33. package/dist/NotifeeApiModule.d.ts +53 -0
  34. package/dist/NotifeeApiModule.js +607 -0
  35. package/dist/NotifeeApiModule.js.map +1 -0
  36. package/dist/NotifeeJSEventEmitter.d.ts +3 -0
  37. package/dist/NotifeeJSEventEmitter.js +14 -0
  38. package/dist/NotifeeJSEventEmitter.js.map +1 -0
  39. package/dist/NotifeeNativeError.d.ts +15 -0
  40. package/dist/NotifeeNativeError.js +61 -0
  41. package/dist/NotifeeNativeError.js.map +1 -0
  42. package/dist/NotifeeNativeModule.d.ts +14 -0
  43. package/dist/NotifeeNativeModule.js +43 -0
  44. package/dist/NotifeeNativeModule.js.map +1 -0
  45. package/dist/NotifeeNativeModule.web.d.ts +12 -0
  46. package/dist/NotifeeNativeModule.web.js +19 -0
  47. package/dist/NotifeeNativeModule.web.js.map +1 -0
  48. package/dist/index.d.ts +8 -0
  49. package/dist/index.js +43 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/types/Library.d.ts +21 -0
  52. package/dist/types/Library.js +6 -0
  53. package/dist/types/Library.js.map +1 -0
  54. package/dist/types/Module.d.ts +572 -0
  55. package/dist/types/Module.js +6 -0
  56. package/dist/types/Module.js.map +1 -0
  57. package/dist/types/Notification.d.ts +450 -0
  58. package/dist/types/Notification.js +105 -0
  59. package/dist/types/Notification.js.map +1 -0
  60. package/dist/types/NotificationAndroid.d.ts +1276 -0
  61. package/dist/types/NotificationAndroid.js +380 -0
  62. package/dist/types/NotificationAndroid.js.map +1 -0
  63. package/dist/types/NotificationIOS.d.ts +537 -0
  64. package/dist/types/NotificationIOS.js +92 -0
  65. package/dist/types/NotificationIOS.js.map +1 -0
  66. package/dist/types/NotificationWeb.d.ts +5 -0
  67. package/dist/types/NotificationWeb.js +3 -0
  68. package/dist/types/NotificationWeb.js.map +1 -0
  69. package/dist/types/PowerManagerInfo.d.ts +36 -0
  70. package/dist/types/PowerManagerInfo.js +6 -0
  71. package/dist/types/PowerManagerInfo.js.map +1 -0
  72. package/dist/types/Trigger.d.ts +108 -0
  73. package/dist/types/Trigger.js +39 -0
  74. package/dist/types/Trigger.js.map +1 -0
  75. package/dist/utils/id.d.ts +1 -0
  76. package/dist/utils/id.js +16 -0
  77. package/dist/utils/id.js.map +1 -0
  78. package/dist/utils/index.d.ts +16 -0
  79. package/dist/utils/index.js +52 -0
  80. package/dist/utils/index.js.map +1 -0
  81. package/dist/utils/validate.d.ts +15 -0
  82. package/dist/utils/validate.js +93 -0
  83. package/dist/utils/validate.js.map +1 -0
  84. package/dist/validators/iosCommunicationInfo/validateIOSCommunicationInfo.d.ts +2 -0
  85. package/dist/validators/iosCommunicationInfo/validateIOSCommunicationInfo.js +39 -0
  86. package/dist/validators/iosCommunicationInfo/validateIOSCommunicationInfo.js.map +1 -0
  87. package/dist/validators/iosCommunicationInfo/validateIOSCommunicationInfoPerson.d.ts +2 -0
  88. package/dist/validators/iosCommunicationInfo/validateIOSCommunicationInfoPerson.js +27 -0
  89. package/dist/validators/iosCommunicationInfo/validateIOSCommunicationInfoPerson.js.map +1 -0
  90. package/dist/validators/validate.d.ts +25 -0
  91. package/dist/validators/validate.js +75 -0
  92. package/dist/validators/validate.js.map +1 -0
  93. package/dist/validators/validateAndroidAction.d.ts +2 -0
  94. package/dist/validators/validateAndroidAction.js +52 -0
  95. package/dist/validators/validateAndroidAction.js.map +1 -0
  96. package/dist/validators/validateAndroidChannel.d.ts +2 -0
  97. package/dist/validators/validateAndroidChannel.js +155 -0
  98. package/dist/validators/validateAndroidChannel.js.map +1 -0
  99. package/dist/validators/validateAndroidChannelGroup.d.ts +2 -0
  100. package/dist/validators/validateAndroidChannelGroup.js +42 -0
  101. package/dist/validators/validateAndroidChannelGroup.js.map +1 -0
  102. package/dist/validators/validateAndroidFullScreenAction.d.ts +2 -0
  103. package/dist/validators/validateAndroidFullScreenAction.js +50 -0
  104. package/dist/validators/validateAndroidFullScreenAction.js.map +1 -0
  105. package/dist/validators/validateAndroidInput.d.ts +2 -0
  106. package/dist/validators/validateAndroidInput.js +54 -0
  107. package/dist/validators/validateAndroidInput.js.map +1 -0
  108. package/dist/validators/validateAndroidNotification.d.ts +2 -0
  109. package/dist/validators/validateAndroidNotification.js +529 -0
  110. package/dist/validators/validateAndroidNotification.js.map +1 -0
  111. package/dist/validators/validateAndroidPressAction.d.ts +2 -0
  112. package/dist/validators/validateAndroidPressAction.js +50 -0
  113. package/dist/validators/validateAndroidPressAction.js.map +1 -0
  114. package/dist/validators/validateAndroidStyle.d.ts +22 -0
  115. package/dist/validators/validateAndroidStyle.js +231 -0
  116. package/dist/validators/validateAndroidStyle.js.map +1 -0
  117. package/dist/validators/validateIOSAttachment.d.ts +6 -0
  118. package/dist/validators/validateIOSAttachment.js +102 -0
  119. package/dist/validators/validateIOSAttachment.js.map +1 -0
  120. package/dist/validators/validateIOSCategory.d.ts +2 -0
  121. package/dist/validators/validateIOSCategory.js +124 -0
  122. package/dist/validators/validateIOSCategory.js.map +1 -0
  123. package/dist/validators/validateIOSCategoryAction.d.ts +2 -0
  124. package/dist/validators/validateIOSCategoryAction.js +59 -0
  125. package/dist/validators/validateIOSCategoryAction.js.map +1 -0
  126. package/dist/validators/validateIOSInput.d.ts +2 -0
  127. package/dist/validators/validateIOSInput.js +32 -0
  128. package/dist/validators/validateIOSInput.js.map +1 -0
  129. package/dist/validators/validateIOSNotification.d.ts +2 -0
  130. package/dist/validators/validateIOSNotification.js +211 -0
  131. package/dist/validators/validateIOSNotification.js.map +1 -0
  132. package/dist/validators/validateIOSPermissions.d.ts +2 -0
  133. package/dist/validators/validateIOSPermissions.js +62 -0
  134. package/dist/validators/validateIOSPermissions.js.map +1 -0
  135. package/dist/validators/validateNotification.d.ts +11 -0
  136. package/dist/validators/validateNotification.js +129 -0
  137. package/dist/validators/validateNotification.js.map +1 -0
  138. package/dist/validators/validateTrigger.d.ts +2 -0
  139. package/dist/validators/validateTrigger.js +104 -0
  140. package/dist/validators/validateTrigger.js.map +1 -0
  141. package/dist/version.d.ts +1 -0
  142. package/dist/version.js.map +1 -0
  143. package/ios/NotifeeCore/Info.plist +22 -0
  144. package/ios/NotifeeCore/NotifeeCore+NSNotificationCenter.h +28 -0
  145. package/ios/NotifeeCore/NotifeeCore+NSNotificationCenter.m +72 -0
  146. package/ios/NotifeeCore/NotifeeCore+NSURLSession.h +25 -0
  147. package/ios/NotifeeCore/NotifeeCore+NSURLSession.m +55 -0
  148. package/ios/NotifeeCore/NotifeeCore+UNUserNotificationCenter.h +37 -0
  149. package/ios/NotifeeCore/NotifeeCore+UNUserNotificationCenter.m +242 -0
  150. package/ios/NotifeeCore/NotifeeCore.h +118 -0
  151. package/ios/NotifeeCore/NotifeeCore.m +784 -0
  152. package/ios/NotifeeCore/NotifeeCoreDelegateHolder.h +34 -0
  153. package/ios/NotifeeCore/NotifeeCoreDelegateHolder.m +70 -0
  154. package/ios/NotifeeCore/NotifeeCoreDownloadDelegate.h +39 -0
  155. package/ios/NotifeeCore/NotifeeCoreDownloadDelegate.m +68 -0
  156. package/ios/NotifeeCore/NotifeeCoreExtensionHelper.h +38 -0
  157. package/ios/NotifeeCore/NotifeeCoreExtensionHelper.m +224 -0
  158. package/ios/NotifeeCore/NotifeeCoreUtil.h +82 -0
  159. package/ios/NotifeeCore/NotifeeCoreUtil.m +793 -0
  160. package/ios/RNNotifee/NotifeeApiModule.h +25 -0
  161. package/ios/RNNotifee/NotifeeApiModule.m +371 -0
  162. package/ios/RNNotifee/NotifeeExtensionHelper.h +37 -0
  163. package/ios/RNNotifee/NotifeeExtensionHelper.m +37 -0
  164. package/ios/RNNotifee.xcodeproj/project.pbxproj +318 -0
  165. package/jest-mock.js +158 -0
  166. package/package.json +59 -0
  167. package/plugin/build/index.d.ts +3 -0
  168. package/plugin/build/index.js +12 -0
  169. package/plugin/build/index.js.map +1 -0
  170. package/plugin/build/withNotifeeProjectGradlePlugin.d.ts +5 -0
  171. package/plugin/build/withNotifeeProjectGradlePlugin.js +24 -0
  172. package/plugin/build/withNotifeeProjectGradlePlugin.js.map +1 -0
  173. package/plugin/src/index.ts +9 -0
  174. package/plugin/src/withNotifeeProjectGradlePlugin.ts +27 -0
  175. package/plugin/tsconfig.json +9 -0
  176. package/react-native.config.js +11 -0
  177. package/refresh-example.sh +71 -0
  178. package/src/NotifeeApiModule.ts +825 -0
  179. package/src/NotifeeJSEventEmitter.ts +11 -0
  180. package/src/NotifeeNativeError.ts +70 -0
  181. package/src/NotifeeNativeModule.ts +55 -0
  182. package/src/NotifeeNativeModule.web.ts +25 -0
  183. package/src/index.ts +33 -0
  184. package/src/types/Library.ts +28 -0
  185. package/src/types/Module.ts +625 -0
  186. package/src/types/Notification.ts +505 -0
  187. package/src/types/NotificationAndroid.ts +1443 -0
  188. package/src/types/NotificationIOS.ts +681 -0
  189. package/src/types/NotificationWeb.ts +5 -0
  190. package/src/types/PowerManagerInfo.ts +43 -0
  191. package/src/types/Trigger.ts +118 -0
  192. package/src/utils/id.ts +13 -0
  193. package/src/utils/index.ts +47 -0
  194. package/src/utils/validate.ts +92 -0
  195. package/src/validators/iosCommunicationInfo/validateIOSCommunicationInfo.ts +45 -0
  196. package/src/validators/iosCommunicationInfo/validateIOSCommunicationInfoPerson.ts +33 -0
  197. package/src/validators/validate.ts +85 -0
  198. package/src/validators/validateAndroidAction.ts +54 -0
  199. package/src/validators/validateAndroidChannel.ts +188 -0
  200. package/src/validators/validateAndroidChannelGroup.ts +49 -0
  201. package/src/validators/validateAndroidFullScreenAction.ts +65 -0
  202. package/src/validators/validateAndroidInput.ts +67 -0
  203. package/src/validators/validateAndroidNotification.ts +704 -0
  204. package/src/validators/validateAndroidPressAction.ts +65 -0
  205. package/src/validators/validateAndroidStyle.ts +315 -0
  206. package/src/validators/validateIOSAttachment.ts +136 -0
  207. package/src/validators/validateIOSCategory.ts +150 -0
  208. package/src/validators/validateIOSCategoryAction.ts +65 -0
  209. package/src/validators/validateIOSInput.ts +38 -0
  210. package/src/validators/validateIOSNotification.ts +296 -0
  211. package/src/validators/validateIOSPermissions.ts +78 -0
  212. package/src/validators/validateNotification.ts +156 -0
  213. package/src/validators/validateTrigger.ts +134 -0
  214. package/src/version.ts +2 -0
  215. package/tsconfig.json +23 -0
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2016-present Invertase Limited
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const utils_1 = require("../utils");
7
+ const validate_1 = require("./validate");
8
+ const NotificationAndroid_1 = require("../types/NotificationAndroid");
9
+ const NotificationAndroid_2 = require("../types/NotificationAndroid");
10
+ function validateAndroidChannel(channel) {
11
+ if (!(0, utils_1.isObject)(channel)) {
12
+ throw new Error("'channel' expected an object value.");
13
+ }
14
+ /**
15
+ * id
16
+ */
17
+ if (!(0, utils_1.isString)(channel.id)) {
18
+ throw new Error("'channel.id' expected a string value.");
19
+ }
20
+ // empty check
21
+ if (!channel.id) {
22
+ throw new Error("'channel.id' expected a valid string id.");
23
+ }
24
+ /**
25
+ * name
26
+ */
27
+ if (!(0, utils_1.isString)(channel.name)) {
28
+ throw new Error("'channel.name' expected a string value.");
29
+ }
30
+ // empty check
31
+ if (!channel.name) {
32
+ throw new Error("'channel.name' expected a valid channel name.");
33
+ }
34
+ /**
35
+ * Defaults
36
+ */
37
+ const out = {
38
+ id: channel.id,
39
+ name: channel.name,
40
+ bypassDnd: false,
41
+ lights: true,
42
+ vibration: true,
43
+ badge: true,
44
+ importance: NotificationAndroid_1.AndroidImportance.DEFAULT,
45
+ visibility: NotificationAndroid_2.AndroidVisibility.PRIVATE,
46
+ };
47
+ /**
48
+ * badge
49
+ */
50
+ if ((0, utils_1.objectHasProperty)(channel, 'badge')) {
51
+ if (!(0, utils_1.isBoolean)(channel.badge)) {
52
+ throw new Error("'channel.badge' expected a boolean value.");
53
+ }
54
+ out.badge = channel.badge;
55
+ }
56
+ /**
57
+ * bypassDnd
58
+ */
59
+ if ((0, utils_1.objectHasProperty)(channel, 'bypassDnd')) {
60
+ if (!(0, utils_1.isBoolean)(channel.bypassDnd)) {
61
+ throw new Error("'channel.bypassDnd' expected a boolean value.");
62
+ }
63
+ out.bypassDnd = channel.bypassDnd;
64
+ }
65
+ /**
66
+ * description
67
+ */
68
+ if ((0, utils_1.objectHasProperty)(channel, 'description')) {
69
+ if (!(0, utils_1.isString)(channel.description)) {
70
+ throw new Error("'channel.description' expected a string value.");
71
+ }
72
+ out.description = channel.description;
73
+ }
74
+ /**
75
+ * lights
76
+ */
77
+ if ((0, utils_1.objectHasProperty)(channel, 'lights')) {
78
+ if (!(0, utils_1.isBoolean)(channel.lights)) {
79
+ throw new Error("'channel.lights' expected a boolean value.");
80
+ }
81
+ out.lights = channel.lights;
82
+ }
83
+ /**
84
+ * vibration
85
+ */
86
+ if ((0, utils_1.objectHasProperty)(channel, 'vibration')) {
87
+ if (!(0, utils_1.isBoolean)(channel.vibration)) {
88
+ throw new Error("'channel.vibration' expected a boolean value.");
89
+ }
90
+ out.vibration = channel.vibration;
91
+ }
92
+ /**
93
+ * groupId
94
+ */
95
+ if ((0, utils_1.objectHasProperty)(channel, 'groupId')) {
96
+ if (!(0, utils_1.isString)(channel.groupId)) {
97
+ throw new Error("'channel.groupId' expected a string value.");
98
+ }
99
+ out.groupId = channel.groupId;
100
+ }
101
+ /**
102
+ * importance
103
+ */
104
+ if ((0, utils_1.objectHasProperty)(channel, 'importance') && channel.importance !== undefined) {
105
+ if (!Object.values(NotificationAndroid_1.AndroidImportance).includes(channel.importance)) {
106
+ throw new Error("'channel.importance' expected an Importance value.");
107
+ }
108
+ out.importance = channel.importance;
109
+ }
110
+ /**
111
+ * lightColor
112
+ */
113
+ if ((0, utils_1.objectHasProperty)(channel, 'lightColor') && channel.lightColor !== undefined) {
114
+ if (!(0, utils_1.isString)(channel.lightColor)) {
115
+ throw new Error("'channel.lightColor' expected a string value.");
116
+ }
117
+ if (!(0, validate_1.isValidColor)(channel.lightColor)) {
118
+ throw new Error("'channel.lightColor' invalid color. Expected an AndroidColor or hexadecimal string value");
119
+ }
120
+ out.lightColor = channel.lightColor;
121
+ }
122
+ /**
123
+ * visibility
124
+ */
125
+ if ((0, utils_1.objectHasProperty)(channel, 'visibility') && channel.visibility !== undefined) {
126
+ if (!Object.values(NotificationAndroid_2.AndroidVisibility).includes(channel.visibility)) {
127
+ throw new Error("'channel.visibility' expected visibility to be an AndroidVisibility value.");
128
+ }
129
+ out.visibility = channel.visibility;
130
+ }
131
+ /**
132
+ * sound
133
+ */
134
+ if ((0, utils_1.objectHasProperty)(channel, 'sound') && channel.sound !== undefined) {
135
+ if (!(0, utils_1.isString)(channel.sound)) {
136
+ throw new Error("'channel.sound' expected a string value.");
137
+ }
138
+ out.sound = channel.sound;
139
+ }
140
+ /**
141
+ * vibrationPattern
142
+ */
143
+ if ((0, utils_1.objectHasProperty)(channel, 'vibrationPattern') && channel.vibrationPattern !== undefined) {
144
+ if (!(0, utils_1.isArray)(channel.vibrationPattern)) {
145
+ throw new Error("'channel.vibrationPattern' expected an array.");
146
+ }
147
+ if (!(0, validate_1.isValidVibratePattern)(channel.vibrationPattern)) {
148
+ throw new Error("'channel.vibrationPattern' expected an array containing an even number of positive values.");
149
+ }
150
+ out.vibrationPattern = channel.vibrationPattern;
151
+ }
152
+ return out;
153
+ }
154
+ exports.default = validateAndroidChannel;
155
+ //# sourceMappingURL=validateAndroidChannel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAndroidChannel.js","sourceRoot":"","sources":["../../src/validators/validateAndroidChannel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { AndroidChannelGroup } from '../types/NotificationAndroid';
2
+ export default function validateAndroidChannelGroup(group: AndroidChannelGroup): AndroidChannelGroup;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2016-present Invertase Limited
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const utils_1 = require("../utils");
7
+ function validateAndroidChannelGroup(group) {
8
+ if (!(0, utils_1.isObject)(group)) {
9
+ throw new Error("'group' expected an object value.");
10
+ }
11
+ /**
12
+ * id
13
+ */
14
+ if (!(0, utils_1.isString)(group.id) || !group.id) {
15
+ throw new Error("'group.id' expected a string value.");
16
+ }
17
+ /**
18
+ * name
19
+ */
20
+ if (!(0, utils_1.isString)(group.name) || !group.name) {
21
+ throw new Error("'group.name' expected a string value.");
22
+ }
23
+ /**
24
+ * Defaults
25
+ */
26
+ const out = {
27
+ id: group.id,
28
+ name: group.name,
29
+ };
30
+ /**
31
+ * description
32
+ */
33
+ if ((0, utils_1.objectHasProperty)(group, 'description')) {
34
+ if (!(0, utils_1.isString)(group.description)) {
35
+ throw new Error("'group.description' expected a string value.");
36
+ }
37
+ out.description = group.description;
38
+ }
39
+ return out;
40
+ }
41
+ exports.default = validateAndroidChannelGroup;
42
+ //# sourceMappingURL=validateAndroidChannelGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAndroidChannelGroup.js","sourceRoot":"","sources":["../../src/validators/validateAndroidChannelGroup.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAEH,oCAAiE;AAGjE,SAAwB,2BAA2B,CACjD,KAA0B;IAE1B,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACtD;IAED;;OAEG;IACH,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;QACpC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;KACxD;IAED;;OAEG;IACH,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;KAC1D;IAED;;OAEG;IACH,MAAM,GAAG,GAAwB;QAC/B,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;IAEF;;OAEG;IACH,IAAI,IAAA,yBAAiB,EAAC,KAAK,EAAE,aAAa,CAAC,EAAE;QAC3C,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACjE;QAED,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;KACrC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAzCD,8CAyCC"}
@@ -0,0 +1,2 @@
1
+ import { NotificationFullScreenAction } from '../types/Notification';
2
+ export default function validateAndroidFullScreenAction(fullScreenAction: NotificationFullScreenAction): NotificationFullScreenAction;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2016-present Invertase Limited
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const utils_1 = require("../utils");
7
+ const LAUNCH_ACTIVITY_DEFAULT_VALUE = 'default';
8
+ const PRESS_ACTION_DEFAULT_VALUE = 'default';
9
+ function validateAndroidFullScreenAction(fullScreenAction) {
10
+ if (!(0, utils_1.isObject)(fullScreenAction)) {
11
+ throw new Error("'fullScreenAction' expected an object value.");
12
+ }
13
+ if (!(0, utils_1.isString)(fullScreenAction.id) || fullScreenAction.id.length === 0) {
14
+ throw new Error("'id' expected a non-empty string value.");
15
+ }
16
+ const out = {
17
+ id: fullScreenAction.id,
18
+ };
19
+ if (!(0, utils_1.isUndefined)(fullScreenAction.launchActivity)) {
20
+ if (!(0, utils_1.isString)(fullScreenAction.launchActivity)) {
21
+ throw new Error("'launchActivity' expected a string value.");
22
+ }
23
+ out.launchActivity = fullScreenAction.launchActivity;
24
+ }
25
+ else if (fullScreenAction.id === PRESS_ACTION_DEFAULT_VALUE) {
26
+ // Set default value for launchActivity
27
+ out.launchActivity = LAUNCH_ACTIVITY_DEFAULT_VALUE;
28
+ }
29
+ if (!(0, utils_1.isUndefined)(fullScreenAction.launchActivityFlags)) {
30
+ if (!(0, utils_1.isArray)(fullScreenAction.launchActivityFlags)) {
31
+ throw new Error("'launchActivityFlags' must be an array of `AndroidLaunchActivityFlag` values.");
32
+ }
33
+ // quick sanity check on first item only
34
+ if (fullScreenAction.launchActivityFlags.length) {
35
+ if (!(0, utils_1.isNumber)(fullScreenAction.launchActivityFlags[0])) {
36
+ throw new Error("'launchActivityFlags' must be an array of `AndroidLaunchActivityFlag` values.");
37
+ }
38
+ }
39
+ out.launchActivityFlags = fullScreenAction.launchActivityFlags;
40
+ }
41
+ if (!(0, utils_1.isUndefined)(fullScreenAction.mainComponent)) {
42
+ if (!(0, utils_1.isString)(fullScreenAction.mainComponent)) {
43
+ throw new Error("'mainComponent' expected a string value.");
44
+ }
45
+ out.mainComponent = fullScreenAction.mainComponent;
46
+ }
47
+ return out;
48
+ }
49
+ exports.default = validateAndroidFullScreenAction;
50
+ //# sourceMappingURL=validateAndroidFullScreenAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAndroidFullScreenAction.js","sourceRoot":"","sources":["../../src/validators/validateAndroidFullScreenAction.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAGH,oCAA8E;AAE9E,MAAM,6BAA6B,GAAG,SAAS,CAAC;AAChD,MAAM,0BAA0B,GAAG,SAAS,CAAC;AAE7C,SAAwB,+BAA+B,CACrD,gBAA8C;IAE9C,IAAI,CAAC,IAAA,gBAAQ,EAAC,gBAAgB,CAAC,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;KACjE;IAED,IAAI,CAAC,IAAA,gBAAQ,EAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,gBAAgB,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACtE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;KAC5D;IAED,MAAM,GAAG,GAAiC;QACxC,EAAE,EAAE,gBAAgB,CAAC,EAAE;KACxB,CAAC;IAEF,IAAI,CAAC,IAAA,mBAAW,EAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE;QACjD,IAAI,CAAC,IAAA,gBAAQ,EAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE;YAC9C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;QAED,GAAG,CAAC,cAAc,GAAG,gBAAgB,CAAC,cAAc,CAAC;KACtD;SAAM,IAAI,gBAAgB,CAAC,EAAE,KAAK,0BAA0B,EAAE;QAC7D,uCAAuC;QACvC,GAAG,CAAC,cAAc,GAAG,6BAA6B,CAAC;KACpD;IAED,IAAI,CAAC,IAAA,mBAAW,EAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE;QACtD,IAAI,CAAC,IAAA,eAAO,EAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE;YAClD,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;SACH;QAED,wCAAwC;QACxC,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,MAAM,EAAE;YAC/C,IAAI,CAAC,IAAA,gBAAQ,EAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE;gBACtD,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;aACH;SACF;QAED,GAAG,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC;KAChE;IAED,IAAI,CAAC,IAAA,mBAAW,EAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE;QAChD,IAAI,CAAC,IAAA,gBAAQ,EAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE;YAC7C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC7D;QAED,GAAG,CAAC,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC;KACpD;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAtDD,kDAsDC"}
@@ -0,0 +1,2 @@
1
+ import { AndroidInput } from '../types/NotificationAndroid';
2
+ export default function validateAndroidInput(input?: AndroidInput): AndroidInput;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2016-present Invertase Limited
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const utils_1 = require("../utils");
7
+ function validateAndroidInput(input) {
8
+ const out = {
9
+ allowFreeFormInput: true,
10
+ allowGeneratedReplies: true,
11
+ };
12
+ if (!input) {
13
+ return out;
14
+ }
15
+ if ((0, utils_1.objectHasProperty)(input, 'allowFreeFormInput')) {
16
+ if (!(0, utils_1.isBoolean)(input.allowFreeFormInput)) {
17
+ throw new Error("'input.allowFreeFormInput' expected a boolean value.");
18
+ }
19
+ out.allowFreeFormInput = input.allowFreeFormInput;
20
+ }
21
+ if ((0, utils_1.objectHasProperty)(input, 'allowGeneratedReplies')) {
22
+ if (!(0, utils_1.isBoolean)(input.allowGeneratedReplies)) {
23
+ throw new Error("'input.allowGeneratedReplies' expected a boolean value.");
24
+ }
25
+ out.allowGeneratedReplies = input.allowGeneratedReplies;
26
+ }
27
+ if (!out.allowFreeFormInput && (!input.choices || input.choices.length === 0)) {
28
+ throw new Error("'input.allowFreeFormInput' when false, you must provide at least one choice.");
29
+ }
30
+ if ((0, utils_1.objectHasProperty)(input, 'choices')) {
31
+ if (!(0, utils_1.isArrayOfStrings)(input.choices) || input.choices.length === 0) {
32
+ throw new Error("'input.choices' expected an array of string values.");
33
+ }
34
+ out.choices = input.choices;
35
+ }
36
+ if ((0, utils_1.objectHasProperty)(input, 'editableChoices')) {
37
+ if (!(0, utils_1.isBoolean)(input.editableChoices)) {
38
+ throw new Error("'input.editableChoices' expected a boolean value.");
39
+ }
40
+ out.editableChoices = input.editableChoices;
41
+ }
42
+ if ((0, utils_1.objectHasProperty)(input, 'placeholder')) {
43
+ if (!(0, utils_1.isString)(input.placeholder)) {
44
+ throw new Error("'input.placeholder' expected a string value.");
45
+ }
46
+ out.placeholder = input.placeholder;
47
+ }
48
+ if (out.editableChoices && !out.allowFreeFormInput) {
49
+ throw new Error("'input.editableChoices' when true, allowFreeFormInput must also be true.");
50
+ }
51
+ return out;
52
+ }
53
+ exports.default = validateAndroidInput;
54
+ //# sourceMappingURL=validateAndroidInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAndroidInput.js","sourceRoot":"","sources":["../../src/validators/validateAndroidInput.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAGH,oCAAoF;AAEpF,SAAwB,oBAAoB,CAAC,KAAoB;IAC/D,MAAM,GAAG,GAAiB;QACxB,kBAAkB,EAAE,IAAI;QACxB,qBAAqB,EAAE,IAAI;KAC5B,CAAC;IAEF,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,GAAG,CAAC;KACZ;IAED,IAAI,IAAA,yBAAiB,EAAC,KAAK,EAAE,oBAAoB,CAAC,EAAE;QAClD,IAAI,CAAC,IAAA,iBAAS,EAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACzE;QAED,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;KACnD;IAED,IAAI,IAAA,yBAAiB,EAAC,KAAK,EAAE,uBAAuB,CAAC,EAAE;QACrD,IAAI,CAAC,IAAA,iBAAS,EAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;SAC5E;QAED,GAAG,CAAC,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAC;KACzD;IAED,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;QAC7E,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;KACjG;IAED,IAAI,IAAA,yBAAiB,EAAC,KAAK,EAAE,SAAS,CAAC,EAAE;QACvC,IAAI,CAAC,IAAA,wBAAgB,EAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAClE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QAED,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;KAC7B;IAED,IAAI,IAAA,yBAAiB,EAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE;QAC/C,IAAI,CAAC,IAAA,iBAAS,EAAC,KAAK,CAAC,eAAe,CAAC,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;QAED,GAAG,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;KAC7C;IAED,IAAI,IAAA,yBAAiB,EAAC,KAAK,EAAE,aAAa,CAAC,EAAE;QAC3C,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACjE;QAED,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;KACrC;IAED,IAAI,GAAG,CAAC,eAAe,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE;QAClD,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;KAC7F;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AA3DD,uCA2DC"}
@@ -0,0 +1,2 @@
1
+ import { NotificationAndroid } from '../types/NotificationAndroid';
2
+ export default function validateAndroidNotification(android?: NotificationAndroid): NotificationAndroid;