@trycourier/courier-react-native 2.0.0-beta0 → 2.0.0-beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ios/CourierReactNativeModule.m +5 -0
- package/ios/CourierReactNativeModule.swift +13 -0
- package/lib/commonjs/index.js +29 -8
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/CourierInboxListener.js +2 -2
- package/lib/commonjs/models/CourierInboxListener.js.map +1 -1
- package/lib/commonjs/views/CourierInboxView.js +1 -1
- package/lib/commonjs/views/CourierInboxView.js.map +1 -1
- package/lib/module/index.js +29 -8
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/CourierInboxListener.js +2 -2
- package/lib/module/models/CourierInboxListener.js.map +1 -1
- package/lib/module/views/CourierInboxView.js +1 -1
- package/lib/module/views/CourierInboxView.js.map +1 -1
- package/lib/typescript/index.d.ts +19 -7
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/models/CourierInboxListener.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.tsx +38 -13
- package/src/models/CourierInboxListener.tsx +3 -3
- package/src/views/CourierInboxView.tsx +1 -1
|
@@ -302,16 +302,20 @@ class CourierReactNativeModule: RCTEventEmitter {
|
|
|
302
302
|
|
|
303
303
|
let listener = Courier.shared.addInboxListener(
|
|
304
304
|
onInitialLoad: { [weak self] in
|
|
305
|
+
|
|
305
306
|
self?.sendEvent(
|
|
306
307
|
withName: CourierReactNativeModule.InboxEvents.INITIAL_LOADING,
|
|
307
308
|
body: nil
|
|
308
309
|
)
|
|
310
|
+
|
|
309
311
|
},
|
|
310
312
|
onError: { [weak self] error in
|
|
313
|
+
|
|
311
314
|
self?.sendEvent(
|
|
312
315
|
withName: CourierReactNativeModule.InboxEvents.ERROR,
|
|
313
316
|
body: String(describing: error)
|
|
314
317
|
)
|
|
318
|
+
|
|
315
319
|
},
|
|
316
320
|
onMessagesChanged: { [weak self] messages, unreadMessageCount, totalMessageCount, canPaginate in
|
|
317
321
|
|
|
@@ -338,6 +342,15 @@ class CourierReactNativeModule: RCTEventEmitter {
|
|
|
338
342
|
|
|
339
343
|
}
|
|
340
344
|
|
|
345
|
+
@objc(refreshInbox: withRejecter:)
|
|
346
|
+
func refreshInbox(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
347
|
+
|
|
348
|
+
Courier.shared.refreshInbox {
|
|
349
|
+
resolve(nil)
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
}
|
|
353
|
+
|
|
341
354
|
@objc(removeInboxListener:)
|
|
342
355
|
func removeInboxListener(listenerId: NSString) -> String {
|
|
343
356
|
|
package/lib/commonjs/index.js
CHANGED
|
@@ -13,7 +13,7 @@ exports.default = void 0;
|
|
|
13
13
|
var _reactNative = require("react-native");
|
|
14
14
|
var _CourierInboxListener = require("./models/CourierInboxListener");
|
|
15
15
|
var _CourierInboxView = require("./views/CourierInboxView");
|
|
16
|
-
const LINKING_ERROR = `The package 'courier-react-native' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
16
|
+
const LINKING_ERROR = `The package '@trycourier/courier-react-native' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
17
17
|
ios: "- You have run 'pod install'\n",
|
|
18
18
|
default: ''
|
|
19
19
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
@@ -24,12 +24,21 @@ const CourierReactNativeModules = _reactNative.NativeModules.CourierReactNativeM
|
|
|
24
24
|
});
|
|
25
25
|
const CourierEventEmitter = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.CourierReactNativeModule);
|
|
26
26
|
class Courier {
|
|
27
|
+
_isDebugging = false;
|
|
27
28
|
constructor() {
|
|
28
29
|
// Sets the initial SDK values
|
|
29
30
|
// Defaults to React Native level debugging
|
|
30
31
|
// and will show all foreground notification styles in iOS
|
|
31
32
|
this.setDefaults();
|
|
32
33
|
}
|
|
34
|
+
|
|
35
|
+
// Returns the public shared instance
|
|
36
|
+
static get shared() {
|
|
37
|
+
if (!this._sharedInstance) {
|
|
38
|
+
this._sharedInstance = new Courier();
|
|
39
|
+
}
|
|
40
|
+
return this._sharedInstance;
|
|
41
|
+
}
|
|
33
42
|
async setDefaults() {
|
|
34
43
|
try {
|
|
35
44
|
await Promise.all([this.setIsDebugging(__DEV__)
|
|
@@ -41,7 +50,7 @@ class Courier {
|
|
|
41
50
|
console.log(error);
|
|
42
51
|
}
|
|
43
52
|
}
|
|
44
|
-
|
|
53
|
+
|
|
45
54
|
/**
|
|
46
55
|
* Tells native Courier SDKs to show or hide logs.
|
|
47
56
|
* Defaults to the React __DEV__ mode
|
|
@@ -136,24 +145,36 @@ class Courier {
|
|
|
136
145
|
}
|
|
137
146
|
if (props.onError) {
|
|
138
147
|
inboxListener.onError = CourierEventEmitter.addListener('inboxError', event => {
|
|
139
|
-
|
|
140
|
-
props.onError();
|
|
148
|
+
props.onError(event);
|
|
141
149
|
});
|
|
142
150
|
}
|
|
143
151
|
if (props.onMessagesChanged) {
|
|
144
152
|
inboxListener.onMessagesChanged = CourierEventEmitter.addListener('inboxMessagesChanged', event => {
|
|
145
|
-
|
|
146
|
-
console.log(event);
|
|
147
|
-
props.onMessagesChanged(event.messages);
|
|
153
|
+
props.onMessagesChanged(event.messages, event.unreadMessageCount, event.totalMessageCount, event.canPaginate);
|
|
148
154
|
});
|
|
149
155
|
}
|
|
150
156
|
inboxListener.listenerId = CourierReactNativeModules.addInboxListener(null);
|
|
151
157
|
return inboxListener;
|
|
152
158
|
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* TODO
|
|
162
|
+
* @param props
|
|
163
|
+
* @returns
|
|
164
|
+
*/
|
|
153
165
|
removeInboxListener(props) {
|
|
154
166
|
return CourierReactNativeModules.removeInboxListener(props.listenerId);
|
|
155
167
|
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* TODO
|
|
171
|
+
* @param props
|
|
172
|
+
* @returns
|
|
173
|
+
*/
|
|
174
|
+
async refreshInbox() {
|
|
175
|
+
return CourierReactNativeModules.refreshInbox();
|
|
176
|
+
}
|
|
156
177
|
}
|
|
157
|
-
var _default =
|
|
178
|
+
var _default = Courier;
|
|
158
179
|
exports.default = _default;
|
|
159
180
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_CourierInboxListener","_CourierInboxView","LINKING_ERROR","Platform","select","ios","default","CourierReactNativeModules","NativeModules","CourierReactNativeModule","Proxy","get","Error","CourierEventEmitter","NativeEventEmitter","Courier","constructor","setDefaults","Promise","all","setIsDebugging","__DEV__","error","console","log","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_CourierInboxListener","_CourierInboxView","LINKING_ERROR","Platform","select","ios","default","CourierReactNativeModules","NativeModules","CourierReactNativeModule","Proxy","get","Error","CourierEventEmitter","NativeEventEmitter","Courier","_isDebugging","constructor","setDefaults","shared","_sharedInstance","Promise","all","setIsDebugging","__DEV__","error","console","log","isDebugging","_this$debugListener","debugListener","remove","addListener","event","setDebugMode","userId","getUserId","signIn","props","accessToken","clientKey","readMessage","messageId","unreadMessage","readAllInboxMessages","addInboxListener","inboxListener","CourierInboxListener","onInitialLoad","onError","onMessagesChanged","messages","unreadMessageCount","totalMessageCount","canPaginate","listenerId","removeInboxListener","refreshInbox","_default","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
|
|
@@ -4,14 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.CourierInboxListener = void 0;
|
|
7
|
-
var _courierReactNative = _interopRequireDefault(require("courier-react-native"));
|
|
7
|
+
var _courierReactNative = _interopRequireDefault(require("@trycourier/courier-react-native"));
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
9
|
class CourierInboxListener {
|
|
10
10
|
remove() {
|
|
11
11
|
var _this$onInitialLoad, _this$onError, _this$onMessagesChang;
|
|
12
12
|
// Remove the native inbox listener
|
|
13
13
|
if (this.listenerId) {
|
|
14
|
-
_courierReactNative.default.removeInboxListener({
|
|
14
|
+
_courierReactNative.default.shared.removeInboxListener({
|
|
15
15
|
listenerId: this.listenerId
|
|
16
16
|
});
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_courierReactNative","_interopRequireDefault","require","obj","__esModule","default","CourierInboxListener","remove","_this$onInitialLoad","_this$onError","_this$onMessagesChang","listenerId","Courier","removeInboxListener","onInitialLoad","onError","onMessagesChanged","exports"],"sourceRoot":"../../../src","sources":["models/CourierInboxListener.tsx"],"mappings":";;;;;;AACA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_courierReactNative","_interopRequireDefault","require","obj","__esModule","default","CourierInboxListener","remove","_this$onInitialLoad","_this$onError","_this$onMessagesChang","listenerId","Courier","shared","removeInboxListener","onInitialLoad","onError","onMessagesChanged","exports"],"sourceRoot":"../../../src","sources":["models/CourierInboxListener.tsx"],"mappings":";;;;;;AACA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAuD,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEhD,MAAMG,oBAAoB,CAAC;EAOzBC,MAAMA,CAAA,EAAG;IAAA,IAAAC,mBAAA,EAAAC,aAAA,EAAAC,qBAAA;IAEd;IACA,IAAI,IAAI,CAACC,UAAU,EAAE;MACnBC,2BAAO,CAACC,MAAM,CAACC,mBAAmB,CAAC;QAAEH,UAAU,EAAE,IAAI,CAACA;MAAW,CAAC,CAAC;IACrE;;IAEA;IACA,CAAAH,mBAAA,OAAI,CAACO,aAAa,cAAAP,mBAAA,uBAAlBA,mBAAA,CAAoBD,MAAM,CAAC,CAAC;IAC5B,CAAAE,aAAA,OAAI,CAACO,OAAO,cAAAP,aAAA,uBAAZA,aAAA,CAAcF,MAAM,CAAC,CAAC;IACtB,CAAAG,qBAAA,OAAI,CAACO,iBAAiB,cAAAP,qBAAA,uBAAtBA,qBAAA,CAAwBH,MAAM,CAAC,CAAC;EAElC;AAEF;AAACW,OAAA,CAAAZ,oBAAA,GAAAA,oBAAA"}
|
|
@@ -8,7 +8,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
10
|
const ComponentName = 'CourierReactNativeView';
|
|
11
|
-
const LINKING_ERROR = `The package 'courier-react-native' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
11
|
+
const LINKING_ERROR = `The package '@trycourier/courier-react-native' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
12
12
|
ios: "- You have run 'pod install'\n",
|
|
13
13
|
default: ''
|
|
14
14
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","obj","__esModule","default","ComponentName","LINKING_ERROR","Platform","select","ios","CourierInbox","UIManager","getViewManagerConfig","requireNativeComponent","Error","CourierInboxView","props","onClickInboxMessageAtIndex","event","index","nativeEvent","message","onClickInboxActionForMessageAtIndex","action","onScrollInbox","contentOffset","createElement","lightTheme","darkTheme","style","exports"],"sourceRoot":"../../../src","sources":["views/CourierInboxView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAsF,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AActF,MAAMG,aAAa,GAAG,wBAAwB;AAE9C,MAAMC,aAAa,GAChB
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","obj","__esModule","default","ComponentName","LINKING_ERROR","Platform","select","ios","CourierInbox","UIManager","getViewManagerConfig","requireNativeComponent","Error","CourierInboxView","props","onClickInboxMessageAtIndex","event","index","nativeEvent","message","onClickInboxActionForMessageAtIndex","action","onScrollInbox","contentOffset","createElement","lightTheme","darkTheme","style","exports"],"sourceRoot":"../../../src","sources":["views/CourierInboxView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAsF,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AActF,MAAMG,aAAa,GAAG,wBAAwB;AAE9C,MAAMC,aAAa,GAChB,2FAA0F,GAC3FC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEL,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMM,YAAY,GAChBC,sBAAS,CAACC,oBAAoB,CAACP,aAAa,CAAC,IAAI,IAAI,GACjD,IAAAQ,mCAAsB,EAAwBR,aAAa,CAAC,GAC5D,MAAM;EACJ,MAAM,IAAIS,KAAK,CAACR,aAAa,CAAC;AAChC,CAAC;AAEA,MAAMS,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,oBACE3B,MAAA,CAAAM,OAAA,CAAAsB,aAAA,CAAChB,YAAY;IACXiB,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;AAAAC,OAAA,CAAAf,gBAAA,GAAAA,gBAAA"}
|
package/lib/module/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { NativeModules, NativeEventEmitter, Platform } from 'react-native';
|
|
2
2
|
import { CourierInboxListener } from './models/CourierInboxListener';
|
|
3
3
|
export { CourierInboxView } from './views/CourierInboxView';
|
|
4
|
-
const LINKING_ERROR = `The package 'courier-react-native' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
|
4
|
+
const LINKING_ERROR = `The package '@trycourier/courier-react-native' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
|
5
5
|
ios: "- You have run 'pod install'\n",
|
|
6
6
|
default: ''
|
|
7
7
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
@@ -12,12 +12,21 @@ const CourierReactNativeModules = NativeModules.CourierReactNativeModule ? Nativ
|
|
|
12
12
|
});
|
|
13
13
|
const CourierEventEmitter = new NativeEventEmitter(NativeModules.CourierReactNativeModule);
|
|
14
14
|
class Courier {
|
|
15
|
+
_isDebugging = false;
|
|
15
16
|
constructor() {
|
|
16
17
|
// Sets the initial SDK values
|
|
17
18
|
// Defaults to React Native level debugging
|
|
18
19
|
// and will show all foreground notification styles in iOS
|
|
19
20
|
this.setDefaults();
|
|
20
21
|
}
|
|
22
|
+
|
|
23
|
+
// Returns the public shared instance
|
|
24
|
+
static get shared() {
|
|
25
|
+
if (!this._sharedInstance) {
|
|
26
|
+
this._sharedInstance = new Courier();
|
|
27
|
+
}
|
|
28
|
+
return this._sharedInstance;
|
|
29
|
+
}
|
|
21
30
|
async setDefaults() {
|
|
22
31
|
try {
|
|
23
32
|
await Promise.all([this.setIsDebugging(__DEV__)
|
|
@@ -29,7 +38,7 @@ class Courier {
|
|
|
29
38
|
console.log(error);
|
|
30
39
|
}
|
|
31
40
|
}
|
|
32
|
-
|
|
41
|
+
|
|
33
42
|
/**
|
|
34
43
|
* Tells native Courier SDKs to show or hide logs.
|
|
35
44
|
* Defaults to the React __DEV__ mode
|
|
@@ -124,23 +133,35 @@ class Courier {
|
|
|
124
133
|
}
|
|
125
134
|
if (props.onError) {
|
|
126
135
|
inboxListener.onError = CourierEventEmitter.addListener('inboxError', event => {
|
|
127
|
-
|
|
128
|
-
props.onError();
|
|
136
|
+
props.onError(event);
|
|
129
137
|
});
|
|
130
138
|
}
|
|
131
139
|
if (props.onMessagesChanged) {
|
|
132
140
|
inboxListener.onMessagesChanged = CourierEventEmitter.addListener('inboxMessagesChanged', event => {
|
|
133
|
-
|
|
134
|
-
console.log(event);
|
|
135
|
-
props.onMessagesChanged(event.messages);
|
|
141
|
+
props.onMessagesChanged(event.messages, event.unreadMessageCount, event.totalMessageCount, event.canPaginate);
|
|
136
142
|
});
|
|
137
143
|
}
|
|
138
144
|
inboxListener.listenerId = CourierReactNativeModules.addInboxListener(null);
|
|
139
145
|
return inboxListener;
|
|
140
146
|
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* TODO
|
|
150
|
+
* @param props
|
|
151
|
+
* @returns
|
|
152
|
+
*/
|
|
141
153
|
removeInboxListener(props) {
|
|
142
154
|
return CourierReactNativeModules.removeInboxListener(props.listenerId);
|
|
143
155
|
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* TODO
|
|
159
|
+
* @param props
|
|
160
|
+
* @returns
|
|
161
|
+
*/
|
|
162
|
+
async refreshInbox() {
|
|
163
|
+
return CourierReactNativeModules.refreshInbox();
|
|
164
|
+
}
|
|
144
165
|
}
|
|
145
|
-
export default
|
|
166
|
+
export default Courier;
|
|
146
167
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","NativeEventEmitter","Platform","CourierInboxListener","CourierInboxView","LINKING_ERROR","select","ios","default","CourierReactNativeModules","CourierReactNativeModule","Proxy","get","Error","CourierEventEmitter","Courier","constructor","setDefaults","Promise","all","setIsDebugging","__DEV__","error","console","log","
|
|
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","Promise","all","setIsDebugging","__DEV__","error","console","log","isDebugging","_this$debugListener","debugListener","remove","addListener","event","setDebugMode","userId","getUserId","signIn","props","accessToken","clientKey","readMessage","messageId","unreadMessage","readAllInboxMessages","addInboxListener","inboxListener","onInitialLoad","onError","onMessagesChanged","messages","unreadMessageCount","totalMessageCount","canPaginate","listenerId","removeInboxListener","refreshInbox"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import Courier from
|
|
1
|
+
import Courier from "@trycourier/courier-react-native";
|
|
2
2
|
export class CourierInboxListener {
|
|
3
3
|
remove() {
|
|
4
4
|
var _this$onInitialLoad, _this$onError, _this$onMessagesChang;
|
|
5
5
|
// Remove the native inbox listener
|
|
6
6
|
if (this.listenerId) {
|
|
7
|
-
Courier.removeInboxListener({
|
|
7
|
+
Courier.shared.removeInboxListener({
|
|
8
8
|
listenerId: this.listenerId
|
|
9
9
|
});
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Courier","CourierInboxListener","remove","_this$onInitialLoad","_this$onError","_this$onMessagesChang","listenerId","removeInboxListener","onInitialLoad","onError","onMessagesChanged"],"sourceRoot":"../../../src","sources":["models/CourierInboxListener.tsx"],"mappings":"AACA,OAAOA,OAAO,MAAM,
|
|
1
|
+
{"version":3,"names":["Courier","CourierInboxListener","remove","_this$onInitialLoad","_this$onError","_this$onMessagesChang","listenerId","shared","removeInboxListener","onInitialLoad","onError","onMessagesChanged"],"sourceRoot":"../../../src","sources":["models/CourierInboxListener.tsx"],"mappings":"AACA,OAAOA,OAAO,MAAM,kCAAkC;AAEtD,OAAO,MAAMC,oBAAoB,CAAC;EAOzBC,MAAMA,CAAA,EAAG;IAAA,IAAAC,mBAAA,EAAAC,aAAA,EAAAC,qBAAA;IAEd;IACA,IAAI,IAAI,CAACC,UAAU,EAAE;MACnBN,OAAO,CAACO,MAAM,CAACC,mBAAmB,CAAC;QAAEF,UAAU,EAAE,IAAI,CAACA;MAAW,CAAC,CAAC;IACrE;;IAEA;IACA,CAAAH,mBAAA,OAAI,CAACM,aAAa,cAAAN,mBAAA,uBAAlBA,mBAAA,CAAoBD,MAAM,CAAC,CAAC;IAC5B,CAAAE,aAAA,OAAI,CAACM,OAAO,cAAAN,aAAA,uBAAZA,aAAA,CAAcF,MAAM,CAAC,CAAC;IACtB,CAAAG,qBAAA,OAAI,CAACM,iBAAiB,cAAAN,qBAAA,uBAAtBA,qBAAA,CAAwBH,MAAM,CAAC,CAAC;EAElC;AAEF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Platform, requireNativeComponent, UIManager } from "react-native";
|
|
3
3
|
const ComponentName = 'CourierReactNativeView';
|
|
4
|
-
const LINKING_ERROR = `The package 'courier-react-native' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
|
4
|
+
const LINKING_ERROR = `The package '@trycourier/courier-react-native' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
|
5
5
|
ios: "- You have run 'pod install'\n",
|
|
6
6
|
default: ''
|
|
7
7
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
@@ -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
|
|
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"}
|
|
@@ -2,10 +2,12 @@ import { CourierInboxListener } from './models/CourierInboxListener';
|
|
|
2
2
|
import { InboxMessage } from './models/InboxMessage';
|
|
3
3
|
export { CourierInboxView } from './views/CourierInboxView';
|
|
4
4
|
declare class Courier {
|
|
5
|
-
|
|
6
|
-
private setDefaults;
|
|
5
|
+
private static _sharedInstance;
|
|
7
6
|
private _isDebugging;
|
|
8
7
|
private debugListener;
|
|
8
|
+
constructor();
|
|
9
|
+
static get shared(): Courier;
|
|
10
|
+
private setDefaults;
|
|
9
11
|
/**
|
|
10
12
|
* Tells native Courier SDKs to show or hide logs.
|
|
11
13
|
* Defaults to the React __DEV__ mode
|
|
@@ -67,14 +69,24 @@ declare class Courier {
|
|
|
67
69
|
* @returns
|
|
68
70
|
*/
|
|
69
71
|
addInboxListener(props: {
|
|
70
|
-
onInitialLoad
|
|
71
|
-
onError:
|
|
72
|
-
onMessagesChanged
|
|
72
|
+
onInitialLoad?: () => void;
|
|
73
|
+
onError?: (error: string) => void;
|
|
74
|
+
onMessagesChanged?: (messages: InboxMessage[], unreadMessageCount: number, totalMessageCount: number, canPaginate: boolean) => void;
|
|
73
75
|
}): CourierInboxListener;
|
|
76
|
+
/**
|
|
77
|
+
* TODO
|
|
78
|
+
* @param props
|
|
79
|
+
* @returns
|
|
80
|
+
*/
|
|
74
81
|
removeInboxListener(props: {
|
|
75
82
|
listenerId: string;
|
|
76
83
|
}): string;
|
|
84
|
+
/**
|
|
85
|
+
* TODO
|
|
86
|
+
* @param props
|
|
87
|
+
* @returns
|
|
88
|
+
*/
|
|
89
|
+
refreshInbox(): Promise<void>;
|
|
77
90
|
}
|
|
78
|
-
|
|
79
|
-
export default _default;
|
|
91
|
+
export default Courier;
|
|
80
92
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"
|
|
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;IAazB;;;;OAIG;IACU,cAAc,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBnE,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;CAI3C;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CourierInboxListener.d.ts","sourceRoot":"","sources":["../../../src/models/CourierInboxListener.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"CourierInboxListener.d.ts","sourceRoot":"","sources":["../../../src/models/CourierInboxListener.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,qBAAa,oBAAoB;IAExB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,iBAAiB,CAAC,EAAE,mBAAmB,CAAA;IAEvC,MAAM;CAcd"}
|
package/package.json
CHANGED
package/src/index.tsx
CHANGED
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
EmitterSubscription,
|
|
5
5
|
Platform,
|
|
6
6
|
} from 'react-native';
|
|
7
|
+
|
|
7
8
|
import { CourierInboxListener } from './models/CourierInboxListener';
|
|
8
9
|
import { InboxMessage } from './models/InboxMessage';
|
|
9
|
-
|
|
10
10
|
export { CourierInboxView } from './views/CourierInboxView';
|
|
11
11
|
|
|
12
12
|
const LINKING_ERROR =
|
|
13
|
-
`The package 'courier-react-native' doesn't seem to be linked. Make sure: \n\n` +
|
|
13
|
+
`The package '@trycourier/courier-react-native' doesn't seem to be linked. Make sure: \n\n` +
|
|
14
14
|
Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) +
|
|
15
15
|
'- You rebuilt the app after installing the package\n' +
|
|
16
16
|
'- You are not using Expo Go\n';
|
|
@@ -32,6 +32,10 @@ const CourierEventEmitter = new NativeEventEmitter(
|
|
|
32
32
|
|
|
33
33
|
class Courier {
|
|
34
34
|
|
|
35
|
+
private static _sharedInstance: Courier;
|
|
36
|
+
private _isDebugging = false;
|
|
37
|
+
private debugListener: EmitterSubscription | undefined;
|
|
38
|
+
|
|
35
39
|
public constructor() {
|
|
36
40
|
|
|
37
41
|
// Sets the initial SDK values
|
|
@@ -40,6 +44,17 @@ class Courier {
|
|
|
40
44
|
this.setDefaults();
|
|
41
45
|
}
|
|
42
46
|
|
|
47
|
+
// Returns the public shared instance
|
|
48
|
+
public static get shared(): Courier {
|
|
49
|
+
|
|
50
|
+
if (!this._sharedInstance) {
|
|
51
|
+
this._sharedInstance = new Courier();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return this._sharedInstance;
|
|
55
|
+
|
|
56
|
+
}
|
|
57
|
+
|
|
43
58
|
private async setDefaults() {
|
|
44
59
|
try {
|
|
45
60
|
await Promise.all([
|
|
@@ -53,10 +68,6 @@ class Courier {
|
|
|
53
68
|
}
|
|
54
69
|
}
|
|
55
70
|
|
|
56
|
-
private _isDebugging = false;
|
|
57
|
-
|
|
58
|
-
private debugListener: EmitterSubscription | undefined;
|
|
59
|
-
|
|
60
71
|
/**
|
|
61
72
|
* Tells native Courier SDKs to show or hide logs.
|
|
62
73
|
* Defaults to the React __DEV__ mode
|
|
@@ -145,7 +156,7 @@ class Courier {
|
|
|
145
156
|
* @param props
|
|
146
157
|
* @returns
|
|
147
158
|
*/
|
|
148
|
-
public addInboxListener(props: { onInitialLoad
|
|
159
|
+
public addInboxListener(props: { onInitialLoad?: () => void, onError?: (error: string) => void, onMessagesChanged?: (messages: InboxMessage[], unreadMessageCount: number, totalMessageCount: number, canPaginate: boolean) => void }): CourierInboxListener {
|
|
149
160
|
|
|
150
161
|
// Create the initial listeners
|
|
151
162
|
const inboxListener = new CourierInboxListener();
|
|
@@ -158,17 +169,17 @@ class Courier {
|
|
|
158
169
|
|
|
159
170
|
if (props.onError) {
|
|
160
171
|
inboxListener.onError = CourierEventEmitter.addListener('inboxError', event => {
|
|
161
|
-
|
|
162
|
-
props.onError!()
|
|
172
|
+
props.onError!(event)
|
|
163
173
|
});
|
|
164
174
|
}
|
|
165
175
|
|
|
166
176
|
if (props.onMessagesChanged) {
|
|
167
177
|
inboxListener.onMessagesChanged = CourierEventEmitter.addListener('inboxMessagesChanged', event => {
|
|
168
|
-
console.log('onMessagesChanged')
|
|
169
|
-
console.log(event)
|
|
170
178
|
props.onMessagesChanged!(
|
|
171
|
-
event.messages
|
|
179
|
+
event.messages,
|
|
180
|
+
event.unreadMessageCount,
|
|
181
|
+
event.totalMessageCount,
|
|
182
|
+
event.canPaginate,
|
|
172
183
|
)
|
|
173
184
|
});
|
|
174
185
|
}
|
|
@@ -179,10 +190,24 @@ class Courier {
|
|
|
179
190
|
|
|
180
191
|
}
|
|
181
192
|
|
|
193
|
+
/**
|
|
194
|
+
* TODO
|
|
195
|
+
* @param props
|
|
196
|
+
* @returns
|
|
197
|
+
*/
|
|
182
198
|
public removeInboxListener(props: { listenerId: string }): string {
|
|
183
199
|
return CourierReactNativeModules.removeInboxListener(props.listenerId);
|
|
184
200
|
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* TODO
|
|
204
|
+
* @param props
|
|
205
|
+
* @returns
|
|
206
|
+
*/
|
|
207
|
+
public async refreshInbox(): Promise<void> {
|
|
208
|
+
return CourierReactNativeModules.refreshInbox();
|
|
209
|
+
}
|
|
185
210
|
|
|
186
211
|
}
|
|
187
212
|
|
|
188
|
-
export default
|
|
213
|
+
export default Courier;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { EmitterSubscription } from "react-native"
|
|
2
|
-
import Courier from
|
|
1
|
+
import { EmitterSubscription } from "react-native";
|
|
2
|
+
import Courier from "@trycourier/courier-react-native";
|
|
3
3
|
|
|
4
4
|
export class CourierInboxListener {
|
|
5
5
|
|
|
@@ -12,7 +12,7 @@ export class CourierInboxListener {
|
|
|
12
12
|
|
|
13
13
|
// Remove the native inbox listener
|
|
14
14
|
if (this.listenerId) {
|
|
15
|
-
Courier.removeInboxListener({ listenerId: this.listenerId });
|
|
15
|
+
Courier.shared.removeInboxListener({ listenerId: this.listenerId });
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
// Remove the emitters
|
|
@@ -16,7 +16,7 @@ type CourierInboxViewProps = {
|
|
|
16
16
|
const ComponentName = 'CourierReactNativeView';
|
|
17
17
|
|
|
18
18
|
const LINKING_ERROR =
|
|
19
|
-
`The package 'courier-react-native' doesn't seem to be linked. Make sure: \n\n` +
|
|
19
|
+
`The package '@trycourier/courier-react-native' doesn't seem to be linked. Make sure: \n\n` +
|
|
20
20
|
Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) +
|
|
21
21
|
'- You rebuilt the app after installing the package\n' +
|
|
22
22
|
'- You are not using Expo Go\n';
|