@trycourier/courier-react-native 2.0.0-beta2 → 2.0.0-beta4

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 (40) hide show
  1. package/ios/CourierReactNativeModule.m +43 -4
  2. package/ios/CourierReactNativeModule.swift +87 -79
  3. package/ios/CourierReactNativeViewManager.m +1 -3
  4. package/ios/CourierReactNativeViewManager.swift +4 -17
  5. package/lib/commonjs/hooks/CourierProvider.js +258 -0
  6. package/lib/commonjs/hooks/CourierProvider.js.map +1 -0
  7. package/lib/commonjs/index.js +205 -12
  8. package/lib/commonjs/index.js.map +1 -1
  9. package/lib/commonjs/models/CourierAuthenticationListener.js +21 -0
  10. package/lib/commonjs/models/CourierAuthenticationListener.js.map +1 -0
  11. package/lib/commonjs/models/CourierPushListener.js +15 -0
  12. package/lib/commonjs/models/CourierPushListener.js.map +1 -0
  13. package/lib/commonjs/views/CourierInboxView.js +4 -2
  14. package/lib/commonjs/views/CourierInboxView.js.map +1 -1
  15. package/lib/module/hooks/CourierProvider.js +245 -0
  16. package/lib/module/hooks/CourierProvider.js.map +1 -0
  17. package/lib/module/index.js +166 -13
  18. package/lib/module/index.js.map +1 -1
  19. package/lib/module/models/CourierAuthenticationListener.js +13 -0
  20. package/lib/module/models/CourierAuthenticationListener.js.map +1 -0
  21. package/lib/module/models/CourierPushListener.js +8 -0
  22. package/lib/module/models/CourierPushListener.js.map +1 -0
  23. package/lib/module/views/CourierInboxView.js +4 -2
  24. package/lib/module/views/CourierInboxView.js.map +1 -1
  25. package/lib/typescript/hooks/CourierProvider.d.ts +57 -0
  26. package/lib/typescript/hooks/CourierProvider.d.ts.map +1 -0
  27. package/lib/typescript/index.d.ts +82 -1
  28. package/lib/typescript/index.d.ts.map +1 -1
  29. package/lib/typescript/models/CourierAuthenticationListener.d.ts +7 -0
  30. package/lib/typescript/models/CourierAuthenticationListener.d.ts.map +1 -0
  31. package/lib/typescript/models/CourierPushListener.d.ts +7 -0
  32. package/lib/typescript/models/CourierPushListener.d.ts.map +1 -0
  33. package/lib/typescript/views/CourierInboxView.d.ts +4 -2
  34. package/lib/typescript/views/CourierInboxView.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/src/hooks/CourierProvider.tsx +355 -0
  37. package/src/index.tsx +186 -13
  38. package/src/models/CourierAuthenticationListener.tsx +19 -0
  39. package/src/models/CourierPushListener.tsx +13 -0
  40. package/src/views/CourierInboxView.tsx +5 -4
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","createContext","useContext","useEffect","useState","Courier","authListener","undefined","pushListener","inboxListener","CourierContext","CourierProvider","_ref","children","auth_userId","auth_setUserId","auth_isLoading","auth_setIsLoading","auth_error","auth_setError","push_pushNotificationDelivered","inbox_setPushNotificationDelivered","push_pushNotificationClicked","inbox_setPushNotificationClicked","push_apnsToken","push_setApnsToken","push_fcmToken","push_setFcmToken","push_notificationPermission","push_setNotificationPermission","inbox_isLoading","inbox_setIsLoading","inbox_isRefreshing","inbox_setIsRefreshing","inbox_error","inbox_setError","inbox_messages","inbox_setMessages","inbox_unreadMessageCount","inbox_setUnreadMessageCount","inbox_totalMessageCount","inbox_setTotalMessageCount","inbox_canPaginate","inbox_setCanPaginate","userId","shared","syncNotificationPermissions","syncTokens","_authListener","_pushListener","_inboxListener","remove","startAuth","addAuthenticationListener","onUserChanged","startPush","addPushNotificationListener","onPushNotificationDelivered","push","onPushNotificationClicked","startInbox","addInboxListener","onInitialLoad","onError","error","onMessagesChanged","messages","unreadMessageCount","totalMessageCount","canPaginate","signIn","props","signOut","status","getNotificationPermissionStatus","apnsToken","fcmToken","requestNotificationPermission","iOSForegroundPresentationOptions","options","setPaginationLimit","limit","setInboxPaginationLimit","fetchNextPageOfMessages","refresh","refreshInbox","readAllMessages","Promise","resolve","readAllInboxMessages","readMessage","messageId","unreadMessage","createElement","Provider","value","auth","start","isLoading","delivered","clicked","tokens","fcm","apns","notificationPermissionStatus","inbox","isRefreshing","useCourierAuth","context","Error","useCourierPush","useCourierInbox","_props$iOS","_context$inbox3","arguments","length","paginationLimit","_context$inbox","iOS","foregroundPresentationOptions","_context$inbox2"],"sourceRoot":"../../../src","sources":["hooks/CourierProvider.tsx"],"mappings":"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"}
@@ -1,6 +1,15 @@
1
- import { NativeModules, NativeEventEmitter, Platform } from 'react-native';
1
+ import { NativeModules, NativeEventEmitter, Platform, DeviceEventEmitter } from 'react-native';
2
+
3
+ // Imports
2
4
  import { CourierInboxListener } from './models/CourierInboxListener';
5
+ import { CourierPushListener } from './models/CourierPushListener';
6
+ import { CourierAuthenticationListener } from './models/CourierAuthenticationListener';
7
+ // Exports
3
8
  export { CourierInboxView } from './views/CourierInboxView';
9
+ export { CourierProvider, useCourierAuth, useCourierPush, useCourierInbox } from './hooks/CourierProvider';
10
+ export { CourierInboxListener } from './models/CourierInboxListener';
11
+ export { CourierPushListener } from './models/CourierPushListener';
12
+ export { CourierAuthenticationListener } from './models/CourierAuthenticationListener';
4
13
  const LINKING_ERROR = `The package '@trycourier/courier-react-native' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
5
14
  ios: "- You have run 'pod install'\n",
6
15
  default: ''
@@ -12,6 +21,8 @@ const CourierReactNativeModules = NativeModules.CourierReactNativeModule ? Nativ
12
21
  });
13
22
  const CourierEventEmitter = new NativeEventEmitter(NativeModules.CourierReactNativeModule);
14
23
  class Courier {
24
+ PUSH_NOTIFICATION_CLICKED = 'pushNotificationClicked';
25
+ PUSH_NOTIFICATION_DELIVERED = 'pushNotificationDelivered';
15
26
  _isDebugging = false;
16
27
  constructor() {
17
28
  // Sets the initial SDK values
@@ -29,16 +40,9 @@ class Courier {
29
40
  }
30
41
  async setDefaults() {
31
42
  this.setIsDebugging(__DEV__);
32
- // try {
33
- // await Promise.all([
34
- // this.setIsDebugging(__DEV__),
35
- // // this.iOSForegroundPresentationOptions({
36
- // // options: ['sound', 'badge', 'list', 'banner'],
37
- // // }),
38
- // ]);
39
- // } catch (error) {
40
- // console.log(error);
41
- // }
43
+ this.iOSForegroundPresentationOptions({
44
+ options: ['sound', 'badge', 'list', 'banner']
45
+ });
42
46
  }
43
47
 
44
48
  /**
@@ -66,12 +70,129 @@ class Courier {
66
70
  return this._isDebugging;
67
71
  }
68
72
 
73
+ /**
74
+ * TODO
75
+ * @param props
76
+ * @returns
77
+ */
78
+ iOSForegroundPresentationOptions(props) {
79
+ // Only works on iOS
80
+ if (Platform.OS !== 'ios') return 'unsupported';
81
+ const normalizedParams = Array.from(new Set(props.options));
82
+ return CourierReactNativeModules.iOSForegroundPresentationOptions({
83
+ options: normalizedParams
84
+ });
85
+ }
86
+
87
+ /**
88
+ * Sets the current Apple Push Notification Service (APNS) token
89
+ * using Courier token management apis
90
+ * @example const apnsToken = await Courier.apnsToken
91
+ */
92
+ get apnsToken() {
93
+ if (Platform.OS !== 'ios') return undefined;
94
+ return CourierReactNativeModules.getApnsToken();
95
+ }
96
+
97
+ /**
98
+ * Sets the current Firebase Cloud Messaging (FCM) token
99
+ * using Courier token management apis
100
+ * @example const fcmToken = await Courier.fcmToken
101
+ */
102
+ get fcmToken() {
103
+ return CourierReactNativeModules.getFcmToken();
104
+ }
105
+
106
+ /**
107
+ * Sets the current Firebase Cloud Messaging (FCM) token
108
+ * using Courier token management apis
109
+ * @example await setFcmToken('asdf...asdf')
110
+ */
111
+ setFcmToken(props) {
112
+ return CourierReactNativeModules.setFcmToken(props.token);
113
+ }
114
+
115
+ /**
116
+ * Gets notification permission status at a system level.
117
+ * @example const permissionStatus = await Courier.getNotificationPermissionStatus()
118
+ */
119
+ getNotificationPermissionStatus() {
120
+ return CourierReactNativeModules.getNotificationPermissionStatus();
121
+ }
122
+
123
+ /**
124
+ * Requests notification permission status at a system level.
125
+ * Returns the string associated with the permission status.
126
+ * Will return the current status and will not present a popup
127
+ * if the user has already been asked for permission.
128
+ * @example const permissionStatus = await Courier.requestNotificationPermission()
129
+ */
130
+ requestNotificationPermission() {
131
+ return CourierReactNativeModules.requestNotificationPermission();
132
+ }
133
+
134
+ /**
135
+ * @example
136
+ TODO
137
+ * @returns function that can be used to unsubscribe from registered listeners
138
+ */
139
+ addPushNotificationListener(props) {
140
+ const pushListener = new CourierPushListener();
141
+ if (Platform.OS === 'android') {
142
+ if (props.onPushNotificationClicked) {
143
+ pushListener.onNotificationClickedListener = DeviceEventEmitter.addListener(this.PUSH_NOTIFICATION_CLICKED, event => {
144
+ try {
145
+ props.onPushNotificationClicked(JSON.parse(event));
146
+ } catch (error) {
147
+ console.log(error);
148
+ }
149
+ });
150
+ }
151
+ if (props.onPushNotificationDelivered) {
152
+ pushListener.onNotificationDeliveredListener = DeviceEventEmitter.addListener(this.PUSH_NOTIFICATION_DELIVERED, event => {
153
+ try {
154
+ props.onPushNotificationDelivered(JSON.parse(event));
155
+ } catch (error) {
156
+ console.log(error);
157
+ }
158
+ });
159
+ }
160
+ }
161
+ if (Platform.OS === 'ios') {
162
+ if (props.onPushNotificationClicked) {
163
+ pushListener.onNotificationClickedListener = CourierEventEmitter.addListener(this.PUSH_NOTIFICATION_CLICKED, event => {
164
+ try {
165
+ props.onPushNotificationClicked(JSON.parse(event));
166
+ } catch (error) {
167
+ console.log(error);
168
+ }
169
+ });
170
+ }
171
+ if (props.onPushNotificationDelivered) {
172
+ pushListener.onNotificationDeliveredListener = CourierEventEmitter.addListener(this.PUSH_NOTIFICATION_DELIVERED, event => {
173
+ try {
174
+ props.onPushNotificationDelivered(JSON.parse(event));
175
+ } catch (error) {
176
+ console.log(error);
177
+ }
178
+ });
179
+ }
180
+ }
181
+
182
+ // When listener is registered
183
+ // Attempt to fetch the last message that was clicked
184
+ // This is needed for when the app is killed and the
185
+ // user launched the app by clicking on a notifications
186
+ CourierReactNativeModules.registerPushNotificationClickedOnKilledState();
187
+ return pushListener;
188
+ }
189
+
69
190
  /**
70
191
  * Returns the current user id stored in local native storage
71
192
  * @example const userId = await Courier.userId
72
193
  */
73
194
  get userId() {
74
- return CourierReactNativeModules.getUserId();
195
+ return CourierReactNativeModules.getUserId() ?? undefined;
75
196
  }
76
197
 
77
198
  /**
@@ -94,6 +215,38 @@ class Courier {
94
215
  return CourierReactNativeModules.signIn(props.accessToken, props.clientKey ?? null, props.userId);
95
216
  }
96
217
 
218
+ /**
219
+ * TODO
220
+ * @param props
221
+ * @returns
222
+ */
223
+ signOut() {
224
+ return CourierReactNativeModules.signOut();
225
+ }
226
+
227
+ /**
228
+ * TODO
229
+ * @param props
230
+ * @returns
231
+ */
232
+ addAuthenticationListener(props) {
233
+ const authListener = new CourierAuthenticationListener();
234
+ authListener.onUserChanged = CourierEventEmitter.addListener('courierAuthUserChanged', event => {
235
+ props.onUserChanged(event);
236
+ });
237
+ authListener.listenerId = CourierReactNativeModules.addAuthenticationListener();
238
+ return authListener;
239
+ }
240
+
241
+ /**
242
+ * TODO
243
+ * @param props
244
+ * @returns
245
+ */
246
+ removeAuthenticationListener(props) {
247
+ return CourierReactNativeModules.removeAuthenticationListener(props.listenerId);
248
+ }
249
+
97
250
  /**
98
251
  * TODO
99
252
  * @param props
@@ -144,7 +297,7 @@ class Courier {
144
297
  props.onMessagesChanged(event.messages, event.unreadMessageCount, event.totalMessageCount, event.canPaginate);
145
298
  });
146
299
  }
147
- inboxListener.listenerId = CourierReactNativeModules.addInboxListener(null);
300
+ inboxListener.listenerId = CourierReactNativeModules.addInboxListener();
148
301
  return inboxListener;
149
302
  }
150
303
 
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","NativeEventEmitter","Platform","CourierInboxListener","CourierInboxView","LINKING_ERROR","select","ios","default","CourierReactNativeModules","CourierReactNativeModule","Proxy","get","Error","CourierEventEmitter","Courier","_isDebugging","constructor","setDefaults","shared","_sharedInstance","setIsDebugging","__DEV__","isDebugging","_this$debugListener","debugListener","remove","addListener","event","console","log","setDebugMode","userId","getUserId","signIn","props","accessToken","clientKey","readMessage","messageId","unreadMessage","readAllInboxMessages","addInboxListener","inboxListener","onInitialLoad","onError","onMessagesChanged","messages","unreadMessageCount","totalMessageCount","canPaginate","listenerId","removeInboxListener","refreshInbox","fetchNextPageOfMessages","setInboxPaginationLimit","limit"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["NativeModules","NativeEventEmitter","Platform","DeviceEventEmitter","CourierInboxListener","CourierPushListener","CourierAuthenticationListener","CourierInboxView","CourierProvider","useCourierAuth","useCourierPush","useCourierInbox","LINKING_ERROR","select","ios","default","CourierReactNativeModules","CourierReactNativeModule","Proxy","get","Error","CourierEventEmitter","Courier","PUSH_NOTIFICATION_CLICKED","PUSH_NOTIFICATION_DELIVERED","_isDebugging","constructor","setDefaults","shared","_sharedInstance","setIsDebugging","__DEV__","iOSForegroundPresentationOptions","options","isDebugging","_this$debugListener","debugListener","remove","addListener","event","console","log","setDebugMode","props","OS","normalizedParams","Array","from","Set","apnsToken","undefined","getApnsToken","fcmToken","getFcmToken","setFcmToken","token","getNotificationPermissionStatus","requestNotificationPermission","addPushNotificationListener","pushListener","onPushNotificationClicked","onNotificationClickedListener","JSON","parse","error","onPushNotificationDelivered","onNotificationDeliveredListener","registerPushNotificationClickedOnKilledState","userId","getUserId","signIn","accessToken","clientKey","signOut","addAuthenticationListener","authListener","onUserChanged","listenerId","removeAuthenticationListener","readMessage","messageId","unreadMessage","readAllInboxMessages","addInboxListener","inboxListener","onInitialLoad","onError","onMessagesChanged","messages","unreadMessageCount","totalMessageCount","canPaginate","removeInboxListener","refreshInbox","fetchNextPageOfMessages","setInboxPaginationLimit","limit"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import Courier from "..";
2
+ export class CourierAuthenticationListener {
3
+ remove() {
4
+ var _this$onUserChanged;
5
+ if (this.listenerId) {
6
+ Courier.shared.removeInboxListener({
7
+ listenerId: this.listenerId
8
+ });
9
+ }
10
+ (_this$onUserChanged = this.onUserChanged) === null || _this$onUserChanged === void 0 ? void 0 : _this$onUserChanged.remove();
11
+ }
12
+ }
13
+ //# sourceMappingURL=CourierAuthenticationListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Courier","CourierAuthenticationListener","remove","_this$onUserChanged","listenerId","shared","removeInboxListener","onUserChanged"],"sourceRoot":"../../../src","sources":["models/CourierAuthenticationListener.tsx"],"mappings":"AACA,OAAOA,OAAO,MAAM,IAAI;AAExB,OAAO,MAAMC,6BAA6B,CAAC;EAKlCC,MAAMA,CAAA,EAAG;IAAA,IAAAC,mBAAA;IAEd,IAAI,IAAI,CAACC,UAAU,EAAE;MACnBJ,OAAO,CAACK,MAAM,CAACC,mBAAmB,CAAC;QAAEF,UAAU,EAAE,IAAI,CAACA;MAAW,CAAC,CAAC;IACrE;IAEA,CAAAD,mBAAA,OAAI,CAACI,aAAa,cAAAJ,mBAAA,uBAAlBA,mBAAA,CAAoBD,MAAM,CAAC,CAAC;EAE9B;AAEF"}
@@ -0,0 +1,8 @@
1
+ export class CourierPushListener {
2
+ remove() {
3
+ var _this$onNotificationC, _this$onNotificationD;
4
+ (_this$onNotificationC = this.onNotificationClickedListener) === null || _this$onNotificationC === void 0 ? void 0 : _this$onNotificationC.remove();
5
+ (_this$onNotificationD = this.onNotificationDeliveredListener) === null || _this$onNotificationD === void 0 ? void 0 : _this$onNotificationD.remove();
6
+ }
7
+ }
8
+ //# sourceMappingURL=CourierPushListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CourierPushListener","remove","_this$onNotificationC","_this$onNotificationD","onNotificationClickedListener","onNotificationDeliveredListener"],"sourceRoot":"../../../src","sources":["models/CourierPushListener.tsx"],"mappings":"AAEA,OAAO,MAAMA,mBAAmB,CAAC;EAKxBC,MAAMA,CAAA,EAAG;IAAA,IAAAC,qBAAA,EAAAC,qBAAA;IACd,CAAAD,qBAAA,OAAI,CAACE,6BAA6B,cAAAF,qBAAA,uBAAlCA,qBAAA,CAAoCD,MAAM,CAAC,CAAC;IAC5C,CAAAE,qBAAA,OAAI,CAACE,+BAA+B,cAAAF,qBAAA,uBAApCA,qBAAA,CAAsCF,MAAM,CAAC,CAAC;EAChD;AAEF"}
@@ -34,8 +34,10 @@ export const CourierInboxView = props => {
34
34
  }
35
35
  };
36
36
  return /*#__PURE__*/React.createElement(CourierInbox, {
37
- lightTheme: props.lightTheme,
38
- darkTheme: props.darkTheme,
37
+ theme: props.theme ?? {
38
+ light: undefined,
39
+ dark: undefined
40
+ },
39
41
  onClickInboxMessageAtIndex: onClickInboxMessageAtIndex,
40
42
  onClickInboxActionForMessageAtIndex: onClickInboxActionForMessageAtIndex,
41
43
  onScrollInbox: onScrollInbox,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","requireNativeComponent","UIManager","ComponentName","LINKING_ERROR","select","ios","default","CourierInbox","getViewManagerConfig","Error","CourierInboxView","props","onClickInboxMessageAtIndex","event","index","nativeEvent","message","onClickInboxActionForMessageAtIndex","action","onScrollInbox","contentOffset","createElement","lightTheme","darkTheme","style"],"sourceRoot":"../../../src","sources":["views/CourierInboxView.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,EAAEC,sBAAsB,EAAEC,SAAS,QAAmB,cAAc;AAcrF,MAAMC,aAAa,GAAG,wBAAwB;AAE9C,MAAMC,aAAa,GAChB,2FAA0F,GAC3FJ,QAAQ,CAACK,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,YAAY,GAChBN,SAAS,CAACO,oBAAoB,CAACN,aAAa,CAAC,IAAI,IAAI,GACjDF,sBAAsB,CAAwBE,aAAa,CAAC,GAC5D,MAAM;EACJ,MAAM,IAAIO,KAAK,CAACN,aAAa,CAAC;AAChC,CAAC;AAEP,OAAO,MAAMO,gBAAgB,GAAIC,KAA4B,IAAK;EAEhE,MAAMC,0BAA0B,GAAIC,KAAU,IAAK;IAEjD;IACA,IAAIF,KAAK,CAACC,0BAA0B,EAAE;MAEpC,MAAME,KAAK,GAAGD,KAAK,CAACE,WAAW,CAAC,OAAO,CAAC;MACxC,MAAMC,OAAO,GAAGH,KAAK,CAACE,WAAW,CAAC,SAAS,CAAiB;MAE5DJ,KAAK,CAACC,0BAA0B,CAACI,OAAO,EAAEF,KAAK,CAAC;IAElD;EAEF,CAAC;EAED,MAAMG,mCAAmC,GAAIJ,KAAU,IAAK;IAE1D;IACA,IAAIF,KAAK,CAACM,mCAAmC,EAAE;MAE7C,MAAMH,KAAK,GAAGD,KAAK,CAACE,WAAW,CAAC,OAAO,CAAC;MACxC,MAAMG,MAAM,GAAGL,KAAK,CAACE,WAAW,CAAC,QAAQ,CAAgB;MACzD,MAAMC,OAAO,GAAGH,KAAK,CAACE,WAAW,CAAC,SAAS,CAAiB;MAE5DJ,KAAK,CAACM,mCAAmC,CAACC,MAAM,EAAEF,OAAO,EAAEF,KAAK,CAAC;IAEnE;EAEF,CAAC;EAED,MAAMK,aAAa,GAAIN,KAAU,IAAK;IAEpC;IACA,IAAIF,KAAK,CAACQ,aAAa,EAAE;MAEvB,MAAMC,aAAa,GAAGP,KAAK,CAACE,WAAW,CAAC,eAAe,CAAC;MACxDJ,KAAK,CAACQ,aAAa,CAACC,aAAa,CAAC,GAAG,CAAC,EAAEA,aAAa,CAAC,GAAG,CAAC,CAAC;IAE7D;EAEF,CAAC;EAED,oBACEtB,KAAA,CAAAuB,aAAA,CAACd,YAAY;IACXe,UAAU,EAAEX,KAAK,CAACW,UAAW;IAC7BC,SAAS,EAAEZ,KAAK,CAACY,SAAU;IAC3BX,0BAA0B,EAAEA,0BAA2B;IACvDK,mCAAmC,EAAEA,mCAAoC;IACzEE,aAAa,EAAEA,aAAc;IAC7BK,KAAK,EAAEb,KAAK,CAACa;EAAM,CACpB,CAAC;AAGN,CAAC"}
1
+ {"version":3,"names":["React","Platform","requireNativeComponent","UIManager","ComponentName","LINKING_ERROR","select","ios","default","CourierInbox","getViewManagerConfig","Error","CourierInboxView","props","onClickInboxMessageAtIndex","event","index","nativeEvent","message","onClickInboxActionForMessageAtIndex","action","onScrollInbox","contentOffset","createElement","theme","light","undefined","dark","style"],"sourceRoot":"../../../src","sources":["views/CourierInboxView.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,EAAEC,sBAAsB,EAAEC,SAAS,QAAmB,cAAc;AAgBrF,MAAMC,aAAa,GAAG,wBAAwB;AAE9C,MAAMC,aAAa,GAChB,2FAA0F,GAC3FJ,QAAQ,CAACK,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,YAAY,GAChBN,SAAS,CAACO,oBAAoB,CAACN,aAAa,CAAC,IAAI,IAAI,GACjDF,sBAAsB,CAAwBE,aAAa,CAAC,GAC5D,MAAM;EACJ,MAAM,IAAIO,KAAK,CAACN,aAAa,CAAC;AAChC,CAAC;AAEP,OAAO,MAAMO,gBAAgB,GAAIC,KAA4B,IAAK;EAEhE,MAAMC,0BAA0B,GAAIC,KAAU,IAAK;IAEjD;IACA,IAAIF,KAAK,CAACC,0BAA0B,EAAE;MAEpC,MAAME,KAAK,GAAGD,KAAK,CAACE,WAAW,CAAC,OAAO,CAAC;MACxC,MAAMC,OAAO,GAAGH,KAAK,CAACE,WAAW,CAAC,SAAS,CAAiB;MAE5DJ,KAAK,CAACC,0BAA0B,CAACI,OAAO,EAAEF,KAAK,CAAC;IAElD;EAEF,CAAC;EAED,MAAMG,mCAAmC,GAAIJ,KAAU,IAAK;IAE1D;IACA,IAAIF,KAAK,CAACM,mCAAmC,EAAE;MAE7C,MAAMH,KAAK,GAAGD,KAAK,CAACE,WAAW,CAAC,OAAO,CAAC;MACxC,MAAMG,MAAM,GAAGL,KAAK,CAACE,WAAW,CAAC,QAAQ,CAAgB;MACzD,MAAMC,OAAO,GAAGH,KAAK,CAACE,WAAW,CAAC,SAAS,CAAiB;MAE5DJ,KAAK,CAACM,mCAAmC,CAACC,MAAM,EAAEF,OAAO,EAAEF,KAAK,CAAC;IAEnE;EAEF,CAAC;EAED,MAAMK,aAAa,GAAIN,KAAU,IAAK;IAEpC;IACA,IAAIF,KAAK,CAACQ,aAAa,EAAE;MAEvB,MAAMC,aAAa,GAAGP,KAAK,CAACE,WAAW,CAAC,eAAe,CAAC;MACxDJ,KAAK,CAACQ,aAAa,CAACC,aAAa,CAAC,GAAG,CAAC,EAAEA,aAAa,CAAC,GAAG,CAAC,CAAC;IAE7D;EAEF,CAAC;EAED,oBACEtB,KAAA,CAAAuB,aAAA,CAACd,YAAY;IACXe,KAAK,EAAEX,KAAK,CAACW,KAAK,IAAI;MAAEC,KAAK,EAAEC,SAAS;MAAEC,IAAI,EAAED;IAAU,CAAE;IAC5DZ,0BAA0B,EAAEA,0BAA2B;IACvDK,mCAAmC,EAAEA,mCAAoC;IACzEE,aAAa,EAAEA,aAAc;IAC7BO,KAAK,EAAEf,KAAK,CAACe;EAAM,CACpB,CAAC;AAGN,CAAC"}
@@ -0,0 +1,57 @@
1
+ import React, { ReactNode } from 'react';
2
+ import { InboxMessage } from 'src/models/InboxMessage';
3
+ import { iOSForegroundPresentationOptions } from '..';
4
+ interface CourierAuthContext {
5
+ start: () => void;
6
+ isLoading: boolean;
7
+ error?: string;
8
+ userId?: string;
9
+ signIn: (props: {
10
+ accessToken: string;
11
+ clientKey?: string;
12
+ userId: string;
13
+ }) => Promise<void>;
14
+ signOut: () => Promise<void>;
15
+ }
16
+ interface CourierPushContext {
17
+ start: () => void;
18
+ delivered: any;
19
+ clicked: any;
20
+ tokens: {
21
+ apns?: string;
22
+ fcm?: string;
23
+ };
24
+ notificationPermissionStatus?: string;
25
+ requestNotificationPermission: () => Promise<void>;
26
+ }
27
+ interface CourierInboxContext {
28
+ start: () => void;
29
+ isLoading: boolean;
30
+ error?: string;
31
+ messages: InboxMessage[];
32
+ unreadMessageCount: number;
33
+ totalMessageCount: number;
34
+ canPaginate: boolean;
35
+ iOSForegroundPresentationOptions: (options: iOSForegroundPresentationOptions[]) => void;
36
+ setPaginationLimit: (limit: number) => void;
37
+ fetchNextPageOfMessages: () => Promise<InboxMessage[]>;
38
+ refresh: () => Promise<void>;
39
+ isRefreshing: boolean;
40
+ readAllMessages: () => Promise<void>;
41
+ readMessage: (messageId: string) => Promise<void>;
42
+ unreadMessage: (messageId: string) => Promise<void>;
43
+ }
44
+ export declare const CourierProvider: React.FC<{
45
+ children: ReactNode;
46
+ }>;
47
+ export declare const useCourierAuth: () => CourierAuthContext;
48
+ export declare const useCourierPush: () => CourierPushContext;
49
+ interface UseCourierInboxProps {
50
+ paginationLimit?: number;
51
+ iOS?: {
52
+ foregroundPresentationOptions?: iOSForegroundPresentationOptions[];
53
+ };
54
+ }
55
+ export declare const useCourierInbox: (props?: UseCourierInboxProps) => CourierInboxContext;
56
+ export {};
57
+ //# sourceMappingURL=CourierProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourierProvider.d.ts","sourceRoot":"","sources":["../../../src/hooks/CourierProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAiB,SAAS,EAAmC,MAAM,OAAO,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAgB,EAA4E,gCAAgC,EAAE,MAAM,IAAI,CAAC;AAMzI,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9F,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC;IACf,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,6BAA6B,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,gCAAgC,EAAE,CAAC,OAAO,EAAE,gCAAgC,EAAE,KAAK,IAAI,CAAC;IACxF,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,uBAAuB,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACvD,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD;AAUD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CA2O7D,CAAC;AAGF,eAAO,MAAM,cAAc,QAAO,kBAYjC,CAAC;AAGF,eAAO,MAAM,cAAc,QAAO,kBAYjC,CAAC;AAEF,UAAU,oBAAoB;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE;QACJ,6BAA6B,CAAC,EAAE,gCAAgC,EAAE,CAAA;KACnE,CAAA;CACF;AAGD,eAAO,MAAM,eAAe,WAAW,oBAAoB,KAAQ,mBAwBlE,CAAC"}
@@ -1,7 +1,16 @@
1
1
  import { CourierInboxListener } from './models/CourierInboxListener';
2
+ import { CourierPushListener } from './models/CourierPushListener';
3
+ import { CourierAuthenticationListener } from './models/CourierAuthenticationListener';
2
4
  import { InboxMessage } from './models/InboxMessage';
3
5
  export { CourierInboxView } from './views/CourierInboxView';
6
+ export { CourierProvider, useCourierAuth, useCourierPush, useCourierInbox } from './hooks/CourierProvider';
7
+ export { CourierInboxListener } from './models/CourierInboxListener';
8
+ export { CourierPushListener } from './models/CourierPushListener';
9
+ export { CourierAuthenticationListener } from './models/CourierAuthenticationListener';
10
+ export type iOSForegroundPresentationOptions = 'sound' | 'badge' | 'list' | 'banner';
4
11
  declare class Courier {
12
+ readonly PUSH_NOTIFICATION_CLICKED = "pushNotificationClicked";
13
+ readonly PUSH_NOTIFICATION_DELIVERED = "pushNotificationDelivered";
5
14
  private static _sharedInstance;
6
15
  private _isDebugging;
7
16
  private debugListener;
@@ -15,11 +24,61 @@ declare class Courier {
15
24
  */
16
25
  setIsDebugging(isDebugging: boolean): boolean;
17
26
  get isDebugging(): boolean;
27
+ /**
28
+ * TODO
29
+ * @param props
30
+ * @returns
31
+ */
32
+ iOSForegroundPresentationOptions(props: {
33
+ options: iOSForegroundPresentationOptions[];
34
+ }): string;
35
+ /**
36
+ * Sets the current Apple Push Notification Service (APNS) token
37
+ * using Courier token management apis
38
+ * @example const apnsToken = await Courier.apnsToken
39
+ */
40
+ get apnsToken(): string | undefined;
41
+ /**
42
+ * Sets the current Firebase Cloud Messaging (FCM) token
43
+ * using Courier token management apis
44
+ * @example const fcmToken = await Courier.fcmToken
45
+ */
46
+ get fcmToken(): string | undefined;
47
+ /**
48
+ * Sets the current Firebase Cloud Messaging (FCM) token
49
+ * using Courier token management apis
50
+ * @example await setFcmToken('asdf...asdf')
51
+ */
52
+ setFcmToken(props: {
53
+ token: string;
54
+ }): Promise<void>;
55
+ /**
56
+ * Gets notification permission status at a system level.
57
+ * @example const permissionStatus = await Courier.getNotificationPermissionStatus()
58
+ */
59
+ getNotificationPermissionStatus(): Promise<string>;
60
+ /**
61
+ * Requests notification permission status at a system level.
62
+ * Returns the string associated with the permission status.
63
+ * Will return the current status and will not present a popup
64
+ * if the user has already been asked for permission.
65
+ * @example const permissionStatus = await Courier.requestNotificationPermission()
66
+ */
67
+ requestNotificationPermission(): Promise<string>;
68
+ /**
69
+ * @example
70
+ TODO
71
+ * @returns function that can be used to unsubscribe from registered listeners
72
+ */
73
+ addPushNotificationListener(props: {
74
+ onPushNotificationClicked?: (push: any) => void;
75
+ onPushNotificationDelivered?: (push: any) => void;
76
+ }): CourierPushListener;
18
77
  /**
19
78
  * Returns the current user id stored in local native storage
20
79
  * @example const userId = await Courier.userId
21
80
  */
22
- get userId(): Promise<string | undefined>;
81
+ get userId(): string | undefined;
23
82
  /**
24
83
  * Signs user in and persists signin in between sessions
25
84
  * using native level storage apis
@@ -41,6 +100,28 @@ declare class Courier {
41
100
  clientKey?: string;
42
101
  userId: string;
43
102
  }): Promise<void>;
103
+ /**
104
+ * TODO
105
+ * @param props
106
+ * @returns
107
+ */
108
+ signOut(): Promise<void>;
109
+ /**
110
+ * TODO
111
+ * @param props
112
+ * @returns
113
+ */
114
+ addAuthenticationListener(props: {
115
+ onUserChanged: (userId?: string) => void;
116
+ }): CourierAuthenticationListener;
117
+ /**
118
+ * TODO
119
+ * @param props
120
+ * @returns
121
+ */
122
+ removeAuthenticationListener(props: {
123
+ listenerId: string;
124
+ }): string;
44
125
  /**
45
126
  * TODO
46
127
  * @param props
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAuB5D,cAAM,OAAO;IAEX,OAAO,CAAC,MAAM,CAAC,eAAe,CAAU;IACxC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAkC;;IAWvD,WAAkB,MAAM,IAAI,OAAO,CAQlC;YAEa,WAAW;IAczB;;;;OAIG;IACI,cAAc,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO;IAqBpD,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAExC;IAED;;;;;;;;;;;;;;;OAeG;IACI,MAAM,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhG;;;;OAIG;IACI,WAAW,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D;;;;OAIG;IACI,aAAa,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE;;;;OAIG;IACI,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C;;;;OAIG;IACI,gBAAgB,CAAC,KAAK,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,kBAAkB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,GAAG,oBAAoB;IAkC5P;;;;OAIG;IACI,mBAAmB,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAIjE;;;;OAIG;IACU,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C;;;;OAIG;IACW,uBAAuB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAIhE;;;;OAIG;IACK,uBAAuB,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAIhE;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { EmitterSubscription } from "react-native";
2
+ export declare class CourierAuthenticationListener {
3
+ listenerId?: string;
4
+ onUserChanged?: EmitterSubscription;
5
+ remove(): void;
6
+ }
7
+ //# sourceMappingURL=CourierAuthenticationListener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourierAuthenticationListener.d.ts","sourceRoot":"","sources":["../../../src/models/CourierAuthenticationListener.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,qBAAa,6BAA6B;IAEjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAEnC,MAAM;CAUd"}
@@ -0,0 +1,7 @@
1
+ import { EmitterSubscription } from "react-native";
2
+ export declare class CourierPushListener {
3
+ onNotificationClickedListener?: EmitterSubscription;
4
+ onNotificationDeliveredListener?: EmitterSubscription;
5
+ remove(): void;
6
+ }
7
+ //# sourceMappingURL=CourierPushListener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourierPushListener.d.ts","sourceRoot":"","sources":["../../../src/models/CourierPushListener.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,qBAAa,mBAAmB;IAEvB,6BAA6B,CAAC,EAAE,mBAAmB,CAAA;IACnD,+BAA+B,CAAC,EAAE,mBAAmB,CAAA;IAErD,MAAM;CAKd"}
@@ -4,8 +4,10 @@ import CourierInboxTheme from "src/models/CourierInboxTheme";
4
4
  import { InboxAction } from "src/models/InboxAction";
5
5
  import { InboxMessage } from "src/models/InboxMessage";
6
6
  type CourierInboxViewProps = {
7
- lightTheme?: CourierInboxTheme;
8
- darkTheme?: CourierInboxTheme;
7
+ theme?: {
8
+ light?: CourierInboxTheme;
9
+ dark?: CourierInboxTheme;
10
+ };
9
11
  onClickInboxMessageAtIndex?: (message: InboxMessage, index: number) => void;
10
12
  onClickInboxActionForMessageAtIndex?: (action: InboxAction, message: InboxMessage, index: number) => void;
11
13
  onScrollInbox?: (offsetY: number, offsetX: number) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"CourierInboxView.d.ts","sourceRoot":"","sources":["../../../src/views/CourierInboxView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAA+C,SAAS,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,iBAAiB,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,KAAK,qBAAqB,GAAG;IAC3B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,0BAA0B,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,mCAAmC,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1G,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAiBF,eAAO,MAAM,gBAAgB,UAAW,qBAAqB,sBAsD5D,CAAA"}
1
+ {"version":3,"file":"CourierInboxView.d.ts","sourceRoot":"","sources":["../../../src/views/CourierInboxView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAA+C,SAAS,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,iBAAiB,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,KAAK,qBAAqB,GAAG;IAC3B,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAC1B,IAAI,CAAC,EAAE,iBAAiB,CAAA;KACzB,CAAC;IACF,0BAA0B,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,mCAAmC,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1G,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAiBF,eAAO,MAAM,gBAAgB,UAAW,qBAAqB,sBAqD5D,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trycourier/courier-react-native",
3
- "version": "2.0.0-beta2",
3
+ "version": "2.0.0-beta4",
4
4
  "description": "Inbox & Push Notifications for React Native",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",