Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
194 changes: 0 additions & 194 deletions packages/in-app-messaging/lib/index.d.ts

This file was deleted.

98 changes: 0 additions & 98 deletions packages/in-app-messaging/lib/index.js

This file was deleted.

10 changes: 10 additions & 0 deletions packages/in-app-messaging/lib/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// Export types from types/in-app-messaging (public/modular API; Statics re-exported via modular)
export type { InAppMessaging } from './types/in-app-messaging';
export type { FirebaseInAppMessagingTypes } from './types/namespaced';

// Export modular API functions
export * from './modular';

// Export namespaced API
export * from './namespaced';
export { default } from './namespaced';
68 changes: 68 additions & 0 deletions packages/in-app-messaging/lib/modular.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
import { getApp } from '@react-native-firebase/app';
import { MODULAR_DEPRECATION_ARG } from '@react-native-firebase/app/dist/module/common';
import type { InAppMessaging } from './types/in-app-messaging';
import type { InAppMessagingInternal, WithModularDeprecationArg } from './types/internal';

export type { Statics } from './types/in-app-messaging';

/**
* Returns an In-App Messaging instance for the default app.
*/
export function getInAppMessaging(): InAppMessaging {
return getApp().inAppMessaging() as InAppMessaging;
}

/**
* Determines whether messages are suppressed or not.
*/
export function isMessagesDisplaySuppressed(inAppMessaging: InAppMessaging): boolean {
return (inAppMessaging as InAppMessagingInternal).isMessagesDisplaySuppressed;
}

/**
* Enable or disable suppression of Firebase In App Messaging messages.
*/
export function setMessagesDisplaySuppressed(
inAppMessaging: InAppMessaging,
enabled: boolean,
): Promise<null> {
return (
(inAppMessaging as InAppMessagingInternal)
.setMessagesDisplaySuppressed as WithModularDeprecationArg<
InAppMessagingInternal['setMessagesDisplaySuppressed']
>
).call(inAppMessaging, enabled, MODULAR_DEPRECATION_ARG);
}

/**
* Determines whether automatic data collection is enabled or not.
*/
export function isAutomaticDataCollectionEnabled(inAppMessaging: InAppMessaging): boolean {
return (inAppMessaging as InAppMessagingInternal).isAutomaticDataCollectionEnabled;
}

/**
* Enable or disable automatic data collection for Firebase In-App Messaging.
*/
export function setAutomaticDataCollectionEnabled(
inAppMessaging: InAppMessaging,
enabled: boolean,
): Promise<null> {
return (
(inAppMessaging as InAppMessagingInternal)
.setAutomaticDataCollectionEnabled as WithModularDeprecationArg<
InAppMessagingInternal['setAutomaticDataCollectionEnabled']
>
).call(inAppMessaging, enabled, MODULAR_DEPRECATION_ARG);
}

/**
* Trigger in-app messages programmatically
*/
export function triggerEvent(inAppMessaging: InAppMessaging, eventId: string): Promise<null> {
return (
(inAppMessaging as InAppMessagingInternal).triggerEvent as WithModularDeprecationArg<
InAppMessagingInternal['triggerEvent']
>
).call(inAppMessaging, eventId, MODULAR_DEPRECATION_ARG);
}
Loading
Loading