@psync/notifee 9.2.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 (193) hide show
  1. package/LICENSE +44 -0
  2. package/README.md +142 -0
  3. package/RNNotifee.podspec +39 -0
  4. package/RNNotifeeCore.podspec +33 -0
  5. package/android/.editorconfig +10 -0
  6. package/android/build.gradle +116 -0
  7. package/android/gradle.properties +1 -0
  8. package/android/lint.xml +5 -0
  9. package/android/proguard-rules.pro +82 -0
  10. package/android/settings.gradle +1 -0
  11. package/android/src/main/AndroidManifest.xml +12 -0
  12. package/android/src/main/java/io/invertase/notifee/HeadlessTask.java +431 -0
  13. package/android/src/main/java/io/invertase/notifee/NotifeeApiModule.java +365 -0
  14. package/android/src/main/java/io/invertase/notifee/NotifeeEventSubscriber.java +118 -0
  15. package/android/src/main/java/io/invertase/notifee/NotifeeInitProvider.java +55 -0
  16. package/android/src/main/java/io/invertase/notifee/NotifeePackage.java +30 -0
  17. package/android/src/main/java/io/invertase/notifee/NotifeeReactUtils.java +135 -0
  18. package/dist/NotifeeApiModule.d.ts +53 -0
  19. package/dist/NotifeeApiModule.js +609 -0
  20. package/dist/NotifeeApiModule.js.map +1 -0
  21. package/dist/NotifeeJSEventEmitter.d.ts +3 -0
  22. package/dist/NotifeeJSEventEmitter.js +14 -0
  23. package/dist/NotifeeJSEventEmitter.js.map +1 -0
  24. package/dist/NotifeeNativeError.d.ts +15 -0
  25. package/dist/NotifeeNativeError.js +59 -0
  26. package/dist/NotifeeNativeError.js.map +1 -0
  27. package/dist/NotifeeNativeModule.d.ts +14 -0
  28. package/dist/NotifeeNativeModule.js +42 -0
  29. package/dist/NotifeeNativeModule.js.map +1 -0
  30. package/dist/NotifeeNativeModule.web.d.ts +12 -0
  31. package/dist/NotifeeNativeModule.web.js +18 -0
  32. package/dist/NotifeeNativeModule.web.js.map +1 -0
  33. package/dist/index.d.ts +8 -0
  34. package/dist/index.js +43 -0
  35. package/dist/index.js.map +1 -0
  36. package/dist/types/Library.d.ts +21 -0
  37. package/dist/types/Library.js +6 -0
  38. package/dist/types/Library.js.map +1 -0
  39. package/dist/types/Module.d.ts +576 -0
  40. package/dist/types/Module.js +6 -0
  41. package/dist/types/Module.js.map +1 -0
  42. package/dist/types/Notification.d.ts +462 -0
  43. package/dist/types/Notification.js +111 -0
  44. package/dist/types/Notification.js.map +1 -0
  45. package/dist/types/NotificationAndroid.d.ts +1311 -0
  46. package/dist/types/NotificationAndroid.js +409 -0
  47. package/dist/types/NotificationAndroid.js.map +1 -0
  48. package/dist/types/NotificationIOS.d.ts +539 -0
  49. package/dist/types/NotificationIOS.js +92 -0
  50. package/dist/types/NotificationIOS.js.map +1 -0
  51. package/dist/types/NotificationWeb.d.ts +5 -0
  52. package/dist/types/NotificationWeb.js +6 -0
  53. package/dist/types/NotificationWeb.js.map +1 -0
  54. package/dist/types/PowerManagerInfo.d.ts +36 -0
  55. package/dist/types/PowerManagerInfo.js +6 -0
  56. package/dist/types/PowerManagerInfo.js.map +1 -0
  57. package/dist/types/Trigger.d.ts +124 -0
  58. package/dist/types/Trigger.js +51 -0
  59. package/dist/types/Trigger.js.map +1 -0
  60. package/dist/utils/id.d.ts +1 -0
  61. package/dist/utils/id.js +15 -0
  62. package/dist/utils/id.js.map +1 -0
  63. package/dist/utils/index.d.ts +16 -0
  64. package/dist/utils/index.js +51 -0
  65. package/dist/utils/index.js.map +1 -0
  66. package/dist/utils/validate.d.ts +15 -0
  67. package/dist/utils/validate.js +90 -0
  68. package/dist/utils/validate.js.map +1 -0
  69. package/dist/validators/iosCommunicationInfo/validateIOSCommunicationInfo.d.ts +2 -0
  70. package/dist/validators/iosCommunicationInfo/validateIOSCommunicationInfo.js +51 -0
  71. package/dist/validators/iosCommunicationInfo/validateIOSCommunicationInfo.js.map +1 -0
  72. package/dist/validators/iosCommunicationInfo/validateIOSCommunicationInfoPerson.d.ts +2 -0
  73. package/dist/validators/iosCommunicationInfo/validateIOSCommunicationInfoPerson.js +27 -0
  74. package/dist/validators/iosCommunicationInfo/validateIOSCommunicationInfoPerson.js.map +1 -0
  75. package/dist/validators/validate.d.ts +25 -0
  76. package/dist/validators/validate.js +74 -0
  77. package/dist/validators/validate.js.map +1 -0
  78. package/dist/validators/validateAndroidAction.d.ts +2 -0
  79. package/dist/validators/validateAndroidAction.js +52 -0
  80. package/dist/validators/validateAndroidAction.js.map +1 -0
  81. package/dist/validators/validateAndroidChannel.d.ts +2 -0
  82. package/dist/validators/validateAndroidChannel.js +155 -0
  83. package/dist/validators/validateAndroidChannel.js.map +1 -0
  84. package/dist/validators/validateAndroidChannelGroup.d.ts +2 -0
  85. package/dist/validators/validateAndroidChannelGroup.js +42 -0
  86. package/dist/validators/validateAndroidChannelGroup.js.map +1 -0
  87. package/dist/validators/validateAndroidFullScreenAction.d.ts +2 -0
  88. package/dist/validators/validateAndroidFullScreenAction.js +50 -0
  89. package/dist/validators/validateAndroidFullScreenAction.js.map +1 -0
  90. package/dist/validators/validateAndroidInput.d.ts +2 -0
  91. package/dist/validators/validateAndroidInput.js +54 -0
  92. package/dist/validators/validateAndroidInput.js.map +1 -0
  93. package/dist/validators/validateAndroidNotification.d.ts +2 -0
  94. package/dist/validators/validateAndroidNotification.js +547 -0
  95. package/dist/validators/validateAndroidNotification.js.map +1 -0
  96. package/dist/validators/validateAndroidPressAction.d.ts +2 -0
  97. package/dist/validators/validateAndroidPressAction.js +50 -0
  98. package/dist/validators/validateAndroidPressAction.js.map +1 -0
  99. package/dist/validators/validateAndroidStyle.d.ts +22 -0
  100. package/dist/validators/validateAndroidStyle.js +230 -0
  101. package/dist/validators/validateAndroidStyle.js.map +1 -0
  102. package/dist/validators/validateIOSAttachment.d.ts +6 -0
  103. package/dist/validators/validateIOSAttachment.js +100 -0
  104. package/dist/validators/validateIOSAttachment.js.map +1 -0
  105. package/dist/validators/validateIOSCategory.d.ts +2 -0
  106. package/dist/validators/validateIOSCategory.js +124 -0
  107. package/dist/validators/validateIOSCategory.js.map +1 -0
  108. package/dist/validators/validateIOSCategoryAction.d.ts +2 -0
  109. package/dist/validators/validateIOSCategoryAction.js +59 -0
  110. package/dist/validators/validateIOSCategoryAction.js.map +1 -0
  111. package/dist/validators/validateIOSInput.d.ts +2 -0
  112. package/dist/validators/validateIOSInput.js +32 -0
  113. package/dist/validators/validateIOSInput.js.map +1 -0
  114. package/dist/validators/validateIOSNotification.d.ts +2 -0
  115. package/dist/validators/validateIOSNotification.js +211 -0
  116. package/dist/validators/validateIOSNotification.js.map +1 -0
  117. package/dist/validators/validateIOSPermissions.d.ts +2 -0
  118. package/dist/validators/validateIOSPermissions.js +62 -0
  119. package/dist/validators/validateIOSPermissions.js.map +1 -0
  120. package/dist/validators/validateNotification.d.ts +11 -0
  121. package/dist/validators/validateNotification.js +129 -0
  122. package/dist/validators/validateNotification.js.map +1 -0
  123. package/dist/validators/validateTrigger.d.ts +2 -0
  124. package/dist/validators/validateTrigger.js +110 -0
  125. package/dist/validators/validateTrigger.js.map +1 -0
  126. package/dist/version.d.ts +1 -0
  127. package/dist/version.js +6 -0
  128. package/dist/version.js.map +1 -0
  129. package/ios/NotifeeCore/Info.plist +22 -0
  130. package/ios/NotifeeCore/NotifeeCore+NSNotificationCenter.h +28 -0
  131. package/ios/NotifeeCore/NotifeeCore+NSNotificationCenter.m +76 -0
  132. package/ios/NotifeeCore/NotifeeCore+NSURLSession.h +25 -0
  133. package/ios/NotifeeCore/NotifeeCore+NSURLSession.m +55 -0
  134. package/ios/NotifeeCore/NotifeeCore+UNUserNotificationCenter.h +44 -0
  135. package/ios/NotifeeCore/NotifeeCore+UNUserNotificationCenter.m +270 -0
  136. package/ios/NotifeeCore/NotifeeCore.h +118 -0
  137. package/ios/NotifeeCore/NotifeeCore.m +843 -0
  138. package/ios/NotifeeCore/NotifeeCoreDelegateHolder.h +34 -0
  139. package/ios/NotifeeCore/NotifeeCoreDelegateHolder.m +70 -0
  140. package/ios/NotifeeCore/NotifeeCoreDownloadDelegate.h +39 -0
  141. package/ios/NotifeeCore/NotifeeCoreDownloadDelegate.m +68 -0
  142. package/ios/NotifeeCore/NotifeeCoreExtensionHelper.h +38 -0
  143. package/ios/NotifeeCore/NotifeeCoreExtensionHelper.m +224 -0
  144. package/ios/NotifeeCore/NotifeeCoreUtil.h +81 -0
  145. package/ios/NotifeeCore/NotifeeCoreUtil.m +834 -0
  146. package/ios/RNNotifee/NotifeeApiModule.h +25 -0
  147. package/ios/RNNotifee/NotifeeApiModule.m +371 -0
  148. package/ios/RNNotifee/NotifeeExtensionHelper.h +37 -0
  149. package/ios/RNNotifee/NotifeeExtensionHelper.m +37 -0
  150. package/ios/RNNotifee.xcodeproj/project.pbxproj +318 -0
  151. package/ios/RNNotifee.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  152. package/ios/RNNotifee.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  153. package/jest-mock.js +161 -0
  154. package/package.json +74 -0
  155. package/react-native.config.js +11 -0
  156. package/src/NotifeeApiModule.ts +827 -0
  157. package/src/NotifeeJSEventEmitter.ts +10 -0
  158. package/src/NotifeeNativeError.ts +68 -0
  159. package/src/NotifeeNativeModule.ts +54 -0
  160. package/src/NotifeeNativeModule.web.ts +24 -0
  161. package/src/index.ts +33 -0
  162. package/src/types/Library.ts +28 -0
  163. package/src/types/Module.ts +629 -0
  164. package/src/types/Notification.ts +518 -0
  165. package/src/types/NotificationAndroid.ts +1478 -0
  166. package/src/types/NotificationIOS.ts +683 -0
  167. package/src/types/NotificationWeb.ts +5 -0
  168. package/src/types/PowerManagerInfo.ts +43 -0
  169. package/src/types/Trigger.ts +136 -0
  170. package/src/utils/id.ts +13 -0
  171. package/src/utils/index.ts +46 -0
  172. package/src/utils/validate.ts +90 -0
  173. package/src/validators/iosCommunicationInfo/validateIOSCommunicationInfo.ts +61 -0
  174. package/src/validators/iosCommunicationInfo/validateIOSCommunicationInfoPerson.ts +33 -0
  175. package/src/validators/validate.ts +85 -0
  176. package/src/validators/validateAndroidAction.ts +54 -0
  177. package/src/validators/validateAndroidChannel.ts +188 -0
  178. package/src/validators/validateAndroidChannelGroup.ts +49 -0
  179. package/src/validators/validateAndroidFullScreenAction.ts +65 -0
  180. package/src/validators/validateAndroidInput.ts +67 -0
  181. package/src/validators/validateAndroidNotification.ts +734 -0
  182. package/src/validators/validateAndroidPressAction.ts +65 -0
  183. package/src/validators/validateAndroidStyle.ts +315 -0
  184. package/src/validators/validateIOSAttachment.ts +135 -0
  185. package/src/validators/validateIOSCategory.ts +150 -0
  186. package/src/validators/validateIOSCategoryAction.ts +65 -0
  187. package/src/validators/validateIOSInput.ts +38 -0
  188. package/src/validators/validateIOSNotification.ts +296 -0
  189. package/src/validators/validateIOSPermissions.ts +78 -0
  190. package/src/validators/validateNotification.ts +156 -0
  191. package/src/validators/validateTrigger.ts +142 -0
  192. package/src/version.ts +2 -0
  193. package/tsconfig.json +23 -0
@@ -0,0 +1,2 @@
1
+ import { AndroidChannel } from '../types/NotificationAndroid';
2
+ export default function validateAndroidChannel(channel: AndroidChannel): AndroidChannel;
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2016-present Invertase Limited
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = validateAndroidChannel;
7
+ const utils_1 = require("../utils");
8
+ const validate_1 = require("./validate");
9
+ const NotificationAndroid_1 = require("../types/NotificationAndroid");
10
+ const NotificationAndroid_2 = require("../types/NotificationAndroid");
11
+ function validateAndroidChannel(channel) {
12
+ if (!(0, utils_1.isObject)(channel)) {
13
+ throw new Error("'channel' expected an object value.");
14
+ }
15
+ /**
16
+ * id
17
+ */
18
+ if (!(0, utils_1.isString)(channel.id)) {
19
+ throw new Error("'channel.id' expected a string value.");
20
+ }
21
+ // empty check
22
+ if (!channel.id) {
23
+ throw new Error("'channel.id' expected a valid string id.");
24
+ }
25
+ /**
26
+ * name
27
+ */
28
+ if (!(0, utils_1.isString)(channel.name)) {
29
+ throw new Error("'channel.name' expected a string value.");
30
+ }
31
+ // empty check
32
+ if (!channel.name) {
33
+ throw new Error("'channel.name' expected a valid channel name.");
34
+ }
35
+ /**
36
+ * Defaults
37
+ */
38
+ const out = {
39
+ id: channel.id,
40
+ name: channel.name,
41
+ bypassDnd: false,
42
+ lights: true,
43
+ vibration: true,
44
+ badge: true,
45
+ importance: NotificationAndroid_1.AndroidImportance.DEFAULT,
46
+ visibility: NotificationAndroid_2.AndroidVisibility.PRIVATE,
47
+ };
48
+ /**
49
+ * badge
50
+ */
51
+ if ((0, utils_1.objectHasProperty)(channel, 'badge')) {
52
+ if (!(0, utils_1.isBoolean)(channel.badge)) {
53
+ throw new Error("'channel.badge' expected a boolean value.");
54
+ }
55
+ out.badge = channel.badge;
56
+ }
57
+ /**
58
+ * bypassDnd
59
+ */
60
+ if ((0, utils_1.objectHasProperty)(channel, 'bypassDnd')) {
61
+ if (!(0, utils_1.isBoolean)(channel.bypassDnd)) {
62
+ throw new Error("'channel.bypassDnd' expected a boolean value.");
63
+ }
64
+ out.bypassDnd = channel.bypassDnd;
65
+ }
66
+ /**
67
+ * description
68
+ */
69
+ if ((0, utils_1.objectHasProperty)(channel, 'description')) {
70
+ if (!(0, utils_1.isString)(channel.description)) {
71
+ throw new Error("'channel.description' expected a string value.");
72
+ }
73
+ out.description = channel.description;
74
+ }
75
+ /**
76
+ * lights
77
+ */
78
+ if ((0, utils_1.objectHasProperty)(channel, 'lights')) {
79
+ if (!(0, utils_1.isBoolean)(channel.lights)) {
80
+ throw new Error("'channel.lights' expected a boolean value.");
81
+ }
82
+ out.lights = channel.lights;
83
+ }
84
+ /**
85
+ * vibration
86
+ */
87
+ if ((0, utils_1.objectHasProperty)(channel, 'vibration')) {
88
+ if (!(0, utils_1.isBoolean)(channel.vibration)) {
89
+ throw new Error("'channel.vibration' expected a boolean value.");
90
+ }
91
+ out.vibration = channel.vibration;
92
+ }
93
+ /**
94
+ * groupId
95
+ */
96
+ if ((0, utils_1.objectHasProperty)(channel, 'groupId')) {
97
+ if (!(0, utils_1.isString)(channel.groupId)) {
98
+ throw new Error("'channel.groupId' expected a string value.");
99
+ }
100
+ out.groupId = channel.groupId;
101
+ }
102
+ /**
103
+ * importance
104
+ */
105
+ if ((0, utils_1.objectHasProperty)(channel, 'importance') && channel.importance !== undefined) {
106
+ if (!Object.values(NotificationAndroid_1.AndroidImportance).includes(channel.importance)) {
107
+ throw new Error("'channel.importance' expected an Importance value.");
108
+ }
109
+ out.importance = channel.importance;
110
+ }
111
+ /**
112
+ * lightColor
113
+ */
114
+ if ((0, utils_1.objectHasProperty)(channel, 'lightColor') && channel.lightColor !== undefined) {
115
+ if (!(0, utils_1.isString)(channel.lightColor)) {
116
+ throw new Error("'channel.lightColor' expected a string value.");
117
+ }
118
+ if (!(0, validate_1.isValidColor)(channel.lightColor)) {
119
+ throw new Error("'channel.lightColor' invalid color. Expected an AndroidColor or hexadecimal string value");
120
+ }
121
+ out.lightColor = channel.lightColor;
122
+ }
123
+ /**
124
+ * visibility
125
+ */
126
+ if ((0, utils_1.objectHasProperty)(channel, 'visibility') && channel.visibility !== undefined) {
127
+ if (!Object.values(NotificationAndroid_2.AndroidVisibility).includes(channel.visibility)) {
128
+ throw new Error("'channel.visibility' expected visibility to be an AndroidVisibility value.");
129
+ }
130
+ out.visibility = channel.visibility;
131
+ }
132
+ /**
133
+ * sound
134
+ */
135
+ if ((0, utils_1.objectHasProperty)(channel, 'sound') && channel.sound !== undefined) {
136
+ if (!(0, utils_1.isString)(channel.sound)) {
137
+ throw new Error("'channel.sound' expected a string value.");
138
+ }
139
+ out.sound = channel.sound;
140
+ }
141
+ /**
142
+ * vibrationPattern
143
+ */
144
+ if ((0, utils_1.objectHasProperty)(channel, 'vibrationPattern') && channel.vibrationPattern !== undefined) {
145
+ if (!(0, utils_1.isArray)(channel.vibrationPattern)) {
146
+ throw new Error("'channel.vibrationPattern' expected an array.");
147
+ }
148
+ if (!(0, validate_1.isValidVibratePattern)(channel.vibrationPattern)) {
149
+ throw new Error("'channel.vibrationPattern' expected an array containing an even number of positive values.");
150
+ }
151
+ out.vibrationPattern = channel.vibrationPattern;
152
+ }
153
+ return out;
154
+ }
155
+ //# sourceMappingURL=validateAndroidChannel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAndroidChannel.js","sourceRoot":"","sources":["../../src/validators/validateAndroidChannel.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAQH,yCAiLC;AAvLD,oCAAqF;AACrF,yCAAiE;AAEjE,sEAAiE;AACjE,sEAAiF;AAEjF,SAAwB,sBAAsB,CAAC,OAAuB;IACpE,IAAI,CAAC,IAAA,gBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAA,gBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,cAAc;IACd,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAA,gBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,cAAc;IACd,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,MAAM,GAAG,GAAmB;QAC1B,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,uCAAiB,CAAC,OAAO;QACrC,UAAU,EAAE,uCAAiB,CAAC,OAAO;KACtC,CAAC;IAEF;;OAEG;IACH,IAAI,IAAA,yBAAiB,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,IAAA,yBAAiB,EAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,IAAA,yBAAiB,EAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAA,gBAAQ,EAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAI,IAAA,yBAAiB,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,IAAA,yBAAiB,EAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,IAAA,yBAAiB,EAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAA,gBAAQ,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAI,IAAA,yBAAiB,EAAC,OAAO,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACjF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,uCAAiB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,IAAA,yBAAiB,EAAC,OAAO,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACjF,IAAI,CAAC,IAAA,gBAAQ,EAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,IAAA,uBAAY,EAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,0FAA0F,CAC3F,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,IAAA,yBAAiB,EAAC,OAAO,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACjF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,uCAAiB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,CAAC;QAED,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,IAAA,yBAAiB,EAAC,OAAO,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACvE,IAAI,CAAC,IAAA,gBAAQ,EAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,IAAA,yBAAiB,EAAC,OAAO,EAAE,kBAAkB,CAAC,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAC7F,IAAI,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,IAAA,gCAAqB,EAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAClD,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -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
+ exports.default = validateAndroidChannelGroup;
7
+ const utils_1 = require("../utils");
8
+ function validateAndroidChannelGroup(group) {
9
+ if (!(0, utils_1.isObject)(group)) {
10
+ throw new Error("'group' expected an object value.");
11
+ }
12
+ /**
13
+ * id
14
+ */
15
+ if (!(0, utils_1.isString)(group.id) || !group.id) {
16
+ throw new Error("'group.id' expected a string value.");
17
+ }
18
+ /**
19
+ * name
20
+ */
21
+ if (!(0, utils_1.isString)(group.name) || !group.name) {
22
+ throw new Error("'group.name' expected a string value.");
23
+ }
24
+ /**
25
+ * Defaults
26
+ */
27
+ const out = {
28
+ id: group.id,
29
+ name: group.name,
30
+ };
31
+ /**
32
+ * description
33
+ */
34
+ if ((0, utils_1.objectHasProperty)(group, 'description')) {
35
+ if (!(0, utils_1.isString)(group.description)) {
36
+ throw new Error("'group.description' expected a string value.");
37
+ }
38
+ out.description = group.description;
39
+ }
40
+ return out;
41
+ }
42
+ //# sourceMappingURL=validateAndroidChannelGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAndroidChannelGroup.js","sourceRoot":"","sources":["../../src/validators/validateAndroidChannelGroup.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAKH,8CAyCC;AA5CD,oCAAiE;AAGjE,SAAwB,2BAA2B,CACjD,KAA0B;IAE1B,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;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,CAAC;QAC5C,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACtC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -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
+ exports.default = validateAndroidFullScreenAction;
7
+ const utils_1 = require("../utils");
8
+ const LAUNCH_ACTIVITY_DEFAULT_VALUE = 'default';
9
+ const PRESS_ACTION_DEFAULT_VALUE = 'default';
10
+ function validateAndroidFullScreenAction(fullScreenAction) {
11
+ if (!(0, utils_1.isObject)(fullScreenAction)) {
12
+ throw new Error("'fullScreenAction' expected an object value.");
13
+ }
14
+ if (!(0, utils_1.isString)(fullScreenAction.id) || fullScreenAction.id.length === 0) {
15
+ throw new Error("'id' expected a non-empty string value.");
16
+ }
17
+ const out = {
18
+ id: fullScreenAction.id,
19
+ };
20
+ if (!(0, utils_1.isUndefined)(fullScreenAction.launchActivity)) {
21
+ if (!(0, utils_1.isString)(fullScreenAction.launchActivity)) {
22
+ throw new Error("'launchActivity' expected a string value.");
23
+ }
24
+ out.launchActivity = fullScreenAction.launchActivity;
25
+ }
26
+ else if (fullScreenAction.id === PRESS_ACTION_DEFAULT_VALUE) {
27
+ // Set default value for launchActivity
28
+ out.launchActivity = LAUNCH_ACTIVITY_DEFAULT_VALUE;
29
+ }
30
+ if (!(0, utils_1.isUndefined)(fullScreenAction.launchActivityFlags)) {
31
+ if (!(0, utils_1.isArray)(fullScreenAction.launchActivityFlags)) {
32
+ throw new Error("'launchActivityFlags' must be an array of `AndroidLaunchActivityFlag` values.");
33
+ }
34
+ // quick sanity check on first item only
35
+ if (fullScreenAction.launchActivityFlags.length) {
36
+ if (!(0, utils_1.isNumber)(fullScreenAction.launchActivityFlags[0])) {
37
+ throw new Error("'launchActivityFlags' must be an array of `AndroidLaunchActivityFlag` values.");
38
+ }
39
+ }
40
+ out.launchActivityFlags = fullScreenAction.launchActivityFlags;
41
+ }
42
+ if (!(0, utils_1.isUndefined)(fullScreenAction.mainComponent)) {
43
+ if (!(0, utils_1.isString)(fullScreenAction.mainComponent)) {
44
+ throw new Error("'mainComponent' expected a string value.");
45
+ }
46
+ out.mainComponent = fullScreenAction.mainComponent;
47
+ }
48
+ return out;
49
+ }
50
+ //# sourceMappingURL=validateAndroidFullScreenAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAndroidFullScreenAction.js","sourceRoot":"","sources":["../../src/validators/validateAndroidFullScreenAction.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAQH,kDAsDC;AA3DD,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,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,CAAC,IAAA,gBAAQ,EAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,gBAAgB,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,GAAG,GAAiC;QACxC,EAAE,EAAE,gBAAgB,CAAC,EAAE;KACxB,CAAC;IAEF,IAAI,CAAC,IAAA,mBAAW,EAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,IAAA,gBAAQ,EAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,GAAG,CAAC,cAAc,GAAG,gBAAgB,CAAC,cAAc,CAAC;IACvD,CAAC;SAAM,IAAI,gBAAgB,CAAC,EAAE,KAAK,0BAA0B,EAAE,CAAC;QAC9D,uCAAuC;QACvC,GAAG,CAAC,cAAc,GAAG,6BAA6B,CAAC;IACrD,CAAC;IAED,IAAI,CAAC,IAAA,mBAAW,EAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,IAAA,eAAO,EAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;QACJ,CAAC;QAED,wCAAwC;QACxC,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;YAChD,IAAI,CAAC,IAAA,gBAAQ,EAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,GAAG,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC;IACjE,CAAC;IAED,IAAI,CAAC,IAAA,mBAAW,EAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,IAAA,gBAAQ,EAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,GAAG,CAAC,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC;IACrD,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -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
+ exports.default = validateAndroidInput;
7
+ const utils_1 = require("../utils");
8
+ function validateAndroidInput(input) {
9
+ const out = {
10
+ allowFreeFormInput: true,
11
+ allowGeneratedReplies: true,
12
+ };
13
+ if (!input) {
14
+ return out;
15
+ }
16
+ if ((0, utils_1.objectHasProperty)(input, 'allowFreeFormInput')) {
17
+ if (!(0, utils_1.isBoolean)(input.allowFreeFormInput)) {
18
+ throw new Error("'input.allowFreeFormInput' expected a boolean value.");
19
+ }
20
+ out.allowFreeFormInput = input.allowFreeFormInput;
21
+ }
22
+ if ((0, utils_1.objectHasProperty)(input, 'allowGeneratedReplies')) {
23
+ if (!(0, utils_1.isBoolean)(input.allowGeneratedReplies)) {
24
+ throw new Error("'input.allowGeneratedReplies' expected a boolean value.");
25
+ }
26
+ out.allowGeneratedReplies = input.allowGeneratedReplies;
27
+ }
28
+ if (!out.allowFreeFormInput && (!input.choices || input.choices.length === 0)) {
29
+ throw new Error("'input.allowFreeFormInput' when false, you must provide at least one choice.");
30
+ }
31
+ if ((0, utils_1.objectHasProperty)(input, 'choices')) {
32
+ if (!(0, utils_1.isArrayOfStrings)(input.choices) || input.choices.length === 0) {
33
+ throw new Error("'input.choices' expected an array of string values.");
34
+ }
35
+ out.choices = input.choices;
36
+ }
37
+ if ((0, utils_1.objectHasProperty)(input, 'editableChoices')) {
38
+ if (!(0, utils_1.isBoolean)(input.editableChoices)) {
39
+ throw new Error("'input.editableChoices' expected a boolean value.");
40
+ }
41
+ out.editableChoices = input.editableChoices;
42
+ }
43
+ if ((0, utils_1.objectHasProperty)(input, 'placeholder')) {
44
+ if (!(0, utils_1.isString)(input.placeholder)) {
45
+ throw new Error("'input.placeholder' expected a string value.");
46
+ }
47
+ out.placeholder = input.placeholder;
48
+ }
49
+ if (out.editableChoices && !out.allowFreeFormInput) {
50
+ throw new Error("'input.editableChoices' when true, allowFreeFormInput must also be true.");
51
+ }
52
+ return out;
53
+ }
54
+ //# sourceMappingURL=validateAndroidInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAndroidInput.js","sourceRoot":"","sources":["../../src/validators/validateAndroidInput.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAKH,uCA2DC;AA7DD,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,CAAC;QACX,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,IAAA,yBAAiB,EAAC,KAAK,EAAE,oBAAoB,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,IAAA,iBAAS,EAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;IACpD,CAAC;IAED,IAAI,IAAA,yBAAiB,EAAC,KAAK,EAAE,uBAAuB,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,IAAA,iBAAS,EAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QAED,GAAG,CAAC,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAC;IAC1D,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;IAED,IAAI,IAAA,yBAAiB,EAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,IAAA,wBAAgB,EAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,IAAI,IAAA,yBAAiB,EAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,IAAA,iBAAS,EAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,GAAG,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;IAC9C,CAAC;IAED,IAAI,IAAA,yBAAiB,EAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACtC,CAAC;IAED,IAAI,GAAG,CAAC,eAAe,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { NotificationAndroid } from '../types/NotificationAndroid';
2
+ export default function validateAndroidNotification(android?: NotificationAndroid): NotificationAndroid;