Skip to content

Commit 616503e

Browse files
author
Evan Greer
committed
feat: adds base embedded files
1 parent 376abd1 commit 616503e

5 files changed

Lines changed: 42 additions & 0 deletions

File tree

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import { NativeModules } from 'react-native';
2+
3+
import { Iterable } from '../../core/classes/Iterable';
4+
import { IterableEmbeddedPlacement } from './IterableEmbeddedPlacement';
5+
6+
const RNIterableAPI = NativeModules.RNIterableAPI;
7+
8+
/**
9+
* Manages embedded messages for the current user.
10+
*
11+
* This class provides methods to interact with embedded messages, including retrieving placements.
12+
*/
13+
export class IterableEmbeddedManager {
14+
/**
15+
* Retrieve the current user's list of embedded placements.
16+
*
17+
* @returns A Promise that resolves to an array of embedded placements.
18+
*/
19+
getPlacements(): Promise<IterableEmbeddedPlacement[]> {
20+
Iterable?.logger?.log('EmbeddedManager.getPlacements');
21+
22+
return RNIterableAPI.getEmbeddedPlacements();
23+
}
24+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/**
2+
* Iterable embedded placement
3+
* Contains placement id and the associated embedded messages
4+
*/
5+
export class IterableEmbeddedPlacement {
6+
readonly placementId: number;
7+
8+
constructor(placementId: number) {
9+
this.placementId = placementId;
10+
}
11+
}

src/embedded/classes/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export * from './IterableEmbeddedManager';
2+
export * from './IterableEmbeddedPlacement';

src/embedded/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './classes';

src/index.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ export {
2525
type IterableDeviceOrientation,
2626
} from './core/hooks';
2727
export { type IterableEdgeInsetDetails } from './core/types';
28+
export {
29+
IterableEmbeddedManager,
30+
IterableEmbeddedPlacement,
31+
} from './embedded/classes';
2832
export {
2933
IterableHtmlInAppContent,
3034
IterableInAppCloseSource,

0 commit comments

Comments
 (0)