Skip to content

Commit 265896d

Browse files
author
Evan Greer
committed
feat: removes embeddedManager from Iterable
1 parent f0b2138 commit 265896d

3 files changed

Lines changed: 38 additions & 17 deletions

File tree

src/core/classes/Iterable.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import { IterableAuthResponse } from './IterableAuthResponse';
2222
import type { IterableCommerceItem } from './IterableCommerceItem';
2323
import { IterableConfig } from './IterableConfig';
2424
import { IterableLogger } from './IterableLogger';
25-
import { IterableEmbeddedManager } from '../../embedded/classes/IterableEmbeddedManager';
2625

2726
const RNIterableAPI = NativeModules.RNIterableAPI;
2827
const RNEventEmitter = new NativeEventEmitter(RNIterableAPI);
@@ -57,12 +56,6 @@ export class Iterable {
5756
*/
5857
static savedConfig: IterableConfig = new IterableConfig();
5958

60-
/**
61-
* Instantiates embedded manager
62-
*/
63-
static embeddedManager: IterableEmbeddedManager =
64-
new IterableEmbeddedManager();
65-
6659
/**
6760
* Initializes the Iterable React Native SDK in your app's Javascript or Typescript code.
6861
*

src/embedded/classes/IterableEmbeddedManager.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { NativeModules } from 'react-native';
22

3-
import { Iterable } from '../../core/classes/Iterable';
3+
import type { IterableLogger } from '../../core/classes/IterableLogger';
44
import { IterableEmbeddedPlacement } from './IterableEmbeddedPlacement';
55

66
const RNIterableAPI = NativeModules.RNIterableAPI;
@@ -11,13 +11,27 @@ const RNIterableAPI = NativeModules.RNIterableAPI;
1111
* This class provides methods to interact with embedded messages, including retrieving placements.
1212
*/
1313
export class IterableEmbeddedManager {
14+
private logger?: IterableLogger;
15+
16+
constructor(logger?: IterableLogger) {
17+
this.logger = logger;
18+
}
19+
20+
/**
21+
* Sets the logger instance for this manager
22+
* @param logger - The logger instance to use
23+
*/
24+
setLogger(logger: IterableLogger) {
25+
this.logger = logger;
26+
}
27+
1428
/**
1529
* Retrieve the current user's list of embedded placements.
1630
*
1731
* @returns A Promise that resolves to an array of embedded placements.
1832
*/
1933
getPlacements(): Promise<IterableEmbeddedPlacement[]> {
20-
Iterable?.logger?.log('EmbeddedManager.getPlacements');
34+
this.logger?.log('EmbeddedManager.getPlacements');
2135

2236
return RNIterableAPI.getEmbeddedPlacements();
2337
}

src/inApp/classes/IterableInAppManager.ts

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { NativeModules } from 'react-native';
22

3-
import { Iterable } from '../../core/classes/Iterable';
3+
import type { IterableLogger } from '../../core/classes/IterableLogger';
44
import type {
55
IterableInAppDeleteSource,
66
IterableInAppLocation,
@@ -19,6 +19,20 @@ const RNIterableAPI = NativeModules.RNIterableAPI;
1919
* The `inAppManager` property of an `Iterable` instance is set to an instance of this class.
2020
*/
2121
export class IterableInAppManager {
22+
private logger?: IterableLogger;
23+
24+
constructor(logger?: IterableLogger) {
25+
this.logger = logger;
26+
}
27+
28+
/**
29+
* Sets the logger instance for this manager
30+
* @param logger - The logger instance to use
31+
*/
32+
setLogger(logger: IterableLogger) {
33+
this.logger = logger;
34+
}
35+
2236
/**
2337
* Retrieve the current user's list of in-app messages stored in the local queue.
2438
*
@@ -36,7 +50,7 @@ export class IterableInAppManager {
3650
* @returns A Promise that resolves to an array of in-app messages.
3751
*/
3852
getMessages(): Promise<IterableInAppMessage[]> {
39-
Iterable?.logger?.log('InAppManager.getMessages');
53+
this.logger?.log('InAppManager.getMessages');
4054

4155
return RNIterableAPI.getInAppMessages();
4256
}
@@ -59,7 +73,7 @@ export class IterableInAppManager {
5973
* @returns A Promise that resolves to an array of messages marked as `saveToInbox`.
6074
*/
6175
getInboxMessages(): Promise<IterableInAppMessage[]> {
62-
Iterable?.logger?.log('InAppManager.getInboxMessages');
76+
this.logger?.log('InAppManager.getInboxMessages');
6377

6478
return RNIterableAPI.getInboxMessages();
6579
}
@@ -86,7 +100,7 @@ export class IterableInAppManager {
86100
message: IterableInAppMessage,
87101
consume: boolean
88102
): Promise<string | undefined> {
89-
Iterable?.logger?.log('InAppManager.show');
103+
this.logger?.log('InAppManager.show');
90104

91105
return RNIterableAPI.showMessage(message.messageId, consume);
92106
}
@@ -114,7 +128,7 @@ export class IterableInAppManager {
114128
location: IterableInAppLocation,
115129
source: IterableInAppDeleteSource
116130
): void {
117-
Iterable?.logger?.log('InAppManager.remove');
131+
this.logger?.log('InAppManager.remove');
118132

119133
return RNIterableAPI.removeMessage(message.messageId, location, source);
120134
}
@@ -131,7 +145,7 @@ export class IterableInAppManager {
131145
* ```
132146
*/
133147
setReadForMessage(message: IterableInAppMessage, read: boolean) {
134-
Iterable?.logger?.log('InAppManager.setRead');
148+
this.logger?.log('InAppManager.setRead');
135149

136150
RNIterableAPI.setReadForMessage(message.messageId, read);
137151
}
@@ -151,7 +165,7 @@ export class IterableInAppManager {
151165
getHtmlContentForMessage(
152166
message: IterableInAppMessage
153167
): Promise<IterableHtmlInAppContent> {
154-
Iterable?.logger?.log('InAppManager.getHtmlContentForMessage');
168+
this.logger?.log('InAppManager.getHtmlContentForMessage');
155169

156170
return RNIterableAPI.getHtmlInAppContentForMessage(message.messageId);
157171
}
@@ -171,7 +185,7 @@ export class IterableInAppManager {
171185
* ```
172186
*/
173187
setAutoDisplayPaused(paused: boolean) {
174-
Iterable?.logger?.log('InAppManager.setAutoDisplayPaused');
188+
this.logger?.log('InAppManager.setAutoDisplayPaused');
175189

176190
RNIterableAPI.setAutoDisplayPaused(paused);
177191
}

0 commit comments

Comments
 (0)