expo-superwall 0.6.3 → 0.6.5

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.6.5
4
+
5
+ ### Patch Changes
6
+
7
+ - e4c6aec: add getEntitlements to useUser hook
8
+
9
+ ## 0.6.4
10
+
11
+ ### Patch Changes
12
+
13
+ - fedde41: fix: compat superwall options on android
14
+
3
15
  ## 0.6.3
4
16
 
5
17
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-superwall",
3
- "version": "0.6.3",
3
+ "version": "0.6.5",
4
4
  "description": "Offical Expo Integration for Superwall",
5
5
  "main": "build/src/index.js",
6
6
  "types": "build/src/index.d.ts",
@@ -1,5 +1,5 @@
1
1
  import { NativeModule } from "expo";
2
- import type { SuperwallExpoModuleEvents } from "./SuperwallExpoModule.types";
2
+ import type { EntitlementsInfo, SuperwallExpoModuleEvents } from "./SuperwallExpoModule.types";
3
3
  export type SubscriptionStatus = any;
4
4
  declare class SuperwallExpoModule extends NativeModule<SuperwallExpoModuleEvents> {
5
5
  getApiKey(): string;
@@ -9,7 +9,7 @@ declare class SuperwallExpoModule extends NativeModule<SuperwallExpoModuleEvents
9
9
  identify(userId: string, options?: Map<string, any> | Record<string, any> | null): Promise<void>;
10
10
  reset(): Promise<void>;
11
11
  getAssignments(): Promise<any[]>;
12
- getEntitlements(): Promise<any>;
12
+ getEntitlements(): Promise<EntitlementsInfo>;
13
13
  getSubscriptionStatus(): Promise<SubscriptionStatus>;
14
14
  setSubscriptionStatus(status: Record<string, any>): Promise<void>;
15
15
  setInterfaceStyle(style?: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"SuperwallExpoModule.d.ts","sourceRoot":"","sources":["../../src/SuperwallExpoModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuB,MAAM,MAAM,CAAA;AACxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAE5E,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAEpC,OAAO,OAAO,mBAAoB,SAAQ,YAAY,CAAC,yBAAyB,CAAC;IAC/E,SAAS,IAAI,MAAM;IACnB,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GACxB,OAAO,CAAC,IAAI,CAAC;IAEhB,SAAS,CACP,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChD,uBAAuB,CAAC,EAAE,OAAO,EACjC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAEhB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAEzC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAChG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtB,cAAc,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAChC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;IAC/B,qBAAqB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IACpD,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjE,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAEvC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjD,iBAAiB,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAErE,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAE7C,WAAW,CACT,MAAM,EACF;QAAE,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS,CAAA;KAAE,GAC/C;QACE,IAAI,EAAE,QAAQ,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GACJ,IAAI;IACP,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAE7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IACxB,qBAAqB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEvC,qBAAqB,CACnB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC9C,OAAO,CAAC,GAAG,CAAC;IAEf,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEnD,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI;IAC/C,kBAAkB,IAAI,IAAI;IAE1B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CACjC;;AAED,wBAAwE"}
1
+ {"version":3,"file":"SuperwallExpoModule.d.ts","sourceRoot":"","sources":["../../src/SuperwallExpoModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuB,MAAM,MAAM,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAE9F,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAEpC,OAAO,OAAO,mBAAoB,SAAQ,YAAY,CAAC,yBAAyB,CAAC;IAC/E,SAAS,IAAI,MAAM;IACnB,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GACxB,OAAO,CAAC,IAAI,CAAC;IAEhB,SAAS,CACP,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChD,uBAAuB,CAAC,EAAE,OAAO,EACjC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAEhB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAEzC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAChG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtB,cAAc,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAChC,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAC5C,qBAAqB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IACpD,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjE,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAEvC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjD,iBAAiB,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAErE,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAE7C,WAAW,CACT,MAAM,EACF;QAAE,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS,CAAA;KAAE,GAC/C;QACE,IAAI,EAAE,QAAQ,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GACJ,IAAI;IACP,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAE7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IACxB,qBAAqB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEvC,qBAAqB,CACnB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC9C,OAAO,CAAC,GAAG,CAAC;IAEf,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEnD,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI;IAC/C,kBAAkB,IAAI,IAAI;IAE1B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CACjC;;AAED,wBAAwE"}
@@ -1 +1 @@
1
- {"version":3,"file":"SuperwallExpoModule.js","sourceRoot":"","sources":["../../src/SuperwallExpoModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,MAAM,CAAA;AA+DxD,eAAe,mBAAmB,CAAsB,eAAe,CAAC,CAAA","sourcesContent":["import { NativeModule, requireNativeModule } from \"expo\"\nimport type { SuperwallExpoModuleEvents } from \"./SuperwallExpoModule.types\"\n\nexport type SubscriptionStatus = any\n\ndeclare class SuperwallExpoModule extends NativeModule<SuperwallExpoModuleEvents> {\n getApiKey(): string\n registerPlacement(\n placement: string,\n params?: Map<string, any> | Record<string, any>,\n handlerId?: string | null,\n ): Promise<void>\n\n configure(\n apiKey: string,\n options?: Map<string, any> | Record<string, any>,\n usingPurchaseController?: boolean,\n sdkVersion?: string,\n ): Promise<void>\n\n getConfigurationStatus(): Promise<string>\n\n identify(userId: string, options?: Map<string, any> | Record<string, any> | null): Promise<void>\n reset(): Promise<void>\n\n getAssignments(): Promise<any[]>\n getEntitlements(): Promise<any>\n getSubscriptionStatus(): Promise<SubscriptionStatus>\n setSubscriptionStatus(status: Record<string, any>): Promise<void>\n\n setInterfaceStyle(style?: string): void\n\n getUserAttributes(): Promise<Record<string, any>>\n setUserAttributes(userAttributes: Record<string, any>): Promise<void>\n\n handleDeepLink(url: string): Promise<boolean>\n\n didPurchase(\n result:\n | { type: \"cancelled\" | \"purchased\" | \"pending\" }\n | {\n type: \"failed\"\n error?: string\n },\n ): void\n didRestore(result: Record<string, any>): void\n\n dismiss(): Promise<void>\n confirmAllAssignments(): Promise<any[]>\n\n getPresentationResult(\n placement: string,\n params?: Map<string, any> | Record<string, any>,\n ): Promise<any>\n\n getDeviceAttributes(): Promise<Record<string, any>>\n\n preloadPaywalls(placementNames: string[]): void\n preloadAllPaywalls(): void\n\n setLogLevel(level: string): void\n}\n\nexport default requireNativeModule<SuperwallExpoModule>(\"SuperwallExpo\")\n"]}
1
+ {"version":3,"file":"SuperwallExpoModule.js","sourceRoot":"","sources":["../../src/SuperwallExpoModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,MAAM,CAAA;AA+DxD,eAAe,mBAAmB,CAAsB,eAAe,CAAC,CAAA","sourcesContent":["import { NativeModule, requireNativeModule } from \"expo\"\nimport type { EntitlementsInfo, SuperwallExpoModuleEvents } from \"./SuperwallExpoModule.types\"\n\nexport type SubscriptionStatus = any\n\ndeclare class SuperwallExpoModule extends NativeModule<SuperwallExpoModuleEvents> {\n getApiKey(): string\n registerPlacement(\n placement: string,\n params?: Map<string, any> | Record<string, any>,\n handlerId?: string | null,\n ): Promise<void>\n\n configure(\n apiKey: string,\n options?: Map<string, any> | Record<string, any>,\n usingPurchaseController?: boolean,\n sdkVersion?: string,\n ): Promise<void>\n\n getConfigurationStatus(): Promise<string>\n\n identify(userId: string, options?: Map<string, any> | Record<string, any> | null): Promise<void>\n reset(): Promise<void>\n\n getAssignments(): Promise<any[]>\n getEntitlements(): Promise<EntitlementsInfo>\n getSubscriptionStatus(): Promise<SubscriptionStatus>\n setSubscriptionStatus(status: Record<string, any>): Promise<void>\n\n setInterfaceStyle(style?: string): void\n\n getUserAttributes(): Promise<Record<string, any>>\n setUserAttributes(userAttributes: Record<string, any>): Promise<void>\n\n handleDeepLink(url: string): Promise<boolean>\n\n didPurchase(\n result:\n | { type: \"cancelled\" | \"purchased\" | \"pending\" }\n | {\n type: \"failed\"\n error?: string\n },\n ): void\n didRestore(result: Record<string, any>): void\n\n dismiss(): Promise<void>\n confirmAllAssignments(): Promise<any[]>\n\n getPresentationResult(\n placement: string,\n params?: Map<string, any> | Record<string, any>,\n ): Promise<any>\n\n getDeviceAttributes(): Promise<Record<string, any>>\n\n preloadPaywalls(placementNames: string[]): void\n preloadAllPaywalls(): void\n\n setLogLevel(level: string): void\n}\n\nexport default requireNativeModule<SuperwallExpoModule>(\"SuperwallExpo\")\n"]}
@@ -64,6 +64,23 @@ export interface Entitlement {
64
64
  */
65
65
  type: EntitlementType;
66
66
  }
67
+ /**
68
+ * Contains information about the user's entitlements, separated into active and inactive.
69
+ * This is typically fetched from Superwall's servers to determine what content or features
70
+ * the user has access to.
71
+ */
72
+ export interface EntitlementsInfo {
73
+ /**
74
+ * Array of entitlements that are currently active for the user.
75
+ * See {@link Entitlement}.
76
+ */
77
+ active: Entitlement[];
78
+ /**
79
+ * Array of entitlements that are not currently active for the user.
80
+ * See {@link Entitlement}.
81
+ */
82
+ inactive: Entitlement[];
83
+ }
67
84
  /**
68
85
  * Describes the reason why a paywall presentation was skipped for the user.
69
86
  * This can happen due to various conditions like being in a holdout group,
@@ -1 +1 @@
1
- {"version":3,"file":"SuperwallExpoModule.types.d.ts","sourceRoot":"","sources":["../../src/SuperwallExpoModule.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SuperwallExpoModule.types.d.ts","sourceRoot":"","sources":["../../src/SuperwallExpoModule.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SuperwallExpoModule.types.js","sourceRoot":"","sources":["../../src/SuperwallExpoModule.types.ts"],"names":[],"mappings":"AAAA,mCAAmC","sourcesContent":["// src/SuperwallExpoModule.types.ts\n\n/**\n * @file Defines the core data types, interfaces, and event structures used by the Superwall Expo SDK.\n * These types are crucial for understanding the data flow and interactions with the native Superwall modules.\n */\n\n/**\n * Defines the type of an experiment variant, indicating whether the user sees a paywall or is in a holdout group.\n * - `TREATMENT`: The user is assigned to a treatment group and will be presented with a paywall.\n * - `HOLDOUT`: The user is assigned to a holdout group and will not be presented with a paywall for this experiment.\n */\nexport type VariantType = \"TREATMENT\" | \"HOLDOUT\"\n\n/**\n * Represents an experiment variant, detailing its identifier, type, and associated paywall.\n */\nexport interface Variant {\n /**\n * The unique identifier for this specific variant of an experiment.\n */\n id: string\n /**\n * The type of the variant, determining the user's experience (e.g., seeing a paywall or being in a holdout).\n * See {@link VariantType}.\n */\n type: VariantType\n /**\n * The identifier of the paywall associated with this variant.\n * This will be an empty string if no paywall is linked (e.g., for `HOLDOUT` variants).\n */\n paywallId: string\n}\n\n/**\n * Represents a Superwall experiment, including its ID, group ID, and the variant assigned to the user.\n */\nexport interface Experiment {\n /**\n * The unique identifier for the experiment.\n */\n id: string\n /**\n * The identifier of the group to which this experiment belongs.\n * Experiments are often grouped for organizational or analytical purposes.\n */\n groupId: string\n /**\n * The specific variant of the experiment that the current user has been assigned to.\n * See {@link Variant}.\n */\n variant: Variant\n}\n\n/**\n * Defines the type of an entitlement, typically indicating a level of service or access.\n * - `SERVICE_LEVEL`: Represents an entitlement that grants a certain service level.\n */\nexport type EntitlementType = \"SERVICE_LEVEL\" // Currently, only \"SERVICE_LEVEL\" is used.\n\n/**\n * Represents a user entitlement, signifying a feature or content piece the user has access to.\n */\nexport interface Entitlement {\n /**\n * The unique identifier for the entitlement.\n */\n id: string\n /**\n * The type of the entitlement. See {@link EntitlementType}.\n */\n type: EntitlementType\n}\n\n/**\n * Describes the reason why a paywall presentation was skipped for the user.\n * This can happen due to various conditions like being in a holdout group,\n * not matching audience rules, or if the specified placement doesn't exist.\n */\nexport type PaywallSkippedReason =\n | {\n /**\n * The user was assigned to a holdout group within an experiment, so the paywall was intentionally skipped.\n */\n type: \"Holdout\"\n /**\n * Detailed information about the experiment that led to this holdout.\n * See {@link Experiment}.\n */\n experiment: Experiment\n }\n | {\n /**\n * The user did not match any of the audience rules defined for the campaign or trigger.\n */\n type: \"NoAudienceMatch\"\n }\n | {\n /**\n * The placement ID specified for the paywall presentation was not found in the Superwall dashboard configuration.\n */\n type: \"PlacementNotFound\"\n }\n\n/**\n * Represents the outcome of a user's interaction with a paywall.\n * This includes scenarios like purchasing a product, declining the paywall, or restoring purchases.\n */\nexport type PaywallResult =\n | {\n /**\n * The user successfully purchased a product through the paywall.\n */\n type: \"purchased\"\n /**\n * The identifier of the product that was purchased.\n */\n productId: string\n }\n | {\n /**\n * The user explicitly declined or closed the paywall without making a purchase.\n */\n type: \"declined\"\n }\n | {\n /**\n * The user successfully restored their previous purchases through the paywall.\n */\n type: \"restored\"\n }\n\n/**\n * Represents the subscription status of the user.\n * It indicates whether the user is unknown, inactive, or active with specific entitlements.\n */\nexport type SubscriptionStatus =\n | {\n /**\n * The subscription status has not yet been determined or is unavailable.\n * This can be an initial state before the SDK fetches the status.\n */\n status: \"UNKNOWN\"\n }\n | {\n /**\n * The user does not have an active subscription.\n * They are not currently entitled to any subscription-based features.\n */\n status: \"INACTIVE\"\n }\n | {\n /**\n * The user has an active subscription.\n */\n status: \"ACTIVE\"\n /**\n * A list of entitlements the user has access to due to their active subscription.\n * This array is only present when the status is \"ACTIVE\".\n * See {@link Entitlement}.\n */\n entitlements: Entitlement[]\n }\n\n/**\n * Specifies the reason why a paywall was closed.\n * This helps in understanding the flow of paywall presentations and user interactions.\n * - `systemLogic`: Closed automatically by the SDK due to internal logic (e.g., another paywall is about to open).\n * - `forNextPaywall`: Closed because another paywall is scheduled to be presented immediately after.\n * - `webViewFailedToLoad`: Closed because the web view component failed to load the paywall content.\n * - `manualClose`: Closed due to a direct user action (e.g., tapping a close button on the paywall).\n * - `none`: No specific reason, or the reason is unknown.\n */\nexport type PaywallCloseReason =\n | \"systemLogic\"\n | \"forNextPaywall\"\n | \"webViewFailedToLoad\"\n | \"manualClose\"\n | \"none\"\n\n/**\n * Defines the feature gating behavior for a paywall or feature.\n * - `gated`: The feature or content is gated and requires a specific condition (e.g., active subscription) to be met for access.\n * - `nonGated`: The feature or content is not gated and is available to all users, regardless of subscription status.\n */\nexport type FeatureGatingBehavior = \"gated\" | \"nonGated\"\n\n/**\n * Specifies the conditions under which a survey should be presented to the user.\n * - `ON_MANUAL_CLOSE`: Present the survey when the user manually closes the paywall.\n * - `ON_PURCHASE`: Present the survey after the user completes a purchase.\n */\nexport type SurveyShowCondition = \"ON_MANUAL_CLOSE\" | \"ON_PURCHASE\"\n\n/**\n * Represents a single option within a survey.\n */\nexport interface SurveyOption {\n /**\n * The unique identifier for this survey option.\n */\n id: string\n /**\n * The text displayed to the user for this option.\n */\n title: string\n}\n\n/**\n * Represents a survey that can be presented to the user, typically after a paywall interaction.\n */\nexport interface Survey {\n /**\n * The unique identifier for the survey.\n */\n id: string\n /**\n * A key used for assigning this survey to a user, often for A/B testing or specific targeting.\n */\n assignmentKey: string\n /**\n * The title of the survey, displayed to the user.\n */\n title: string\n /**\n * The main message or question of the survey.\n */\n message: string\n /**\n * An array of options available for the user to choose from in the survey.\n * See {@link SurveyOption}.\n */\n options: SurveyOption[]\n /**\n * The condition that triggers the presentation of this survey.\n * See {@link SurveyShowCondition}.\n */\n presentationCondition: SurveyShowCondition\n /**\n * The probability (ranging from 0.0 to 1.0) that this survey will be presented if its condition is met.\n */\n presentationProbability: number\n /**\n * If true, an \"Other\" option with a free-text input field will be included in the survey.\n */\n includeOtherOption: boolean\n /**\n * If true, a close button or option will be available on the survey, allowing the user to dismiss it.\n */\n includeCloseOption: boolean\n}\n\n/**\n * Defines the types of local notifications that Superwall can schedule.\n * - `trialStarted`: A notification to inform the user that their free trial has started.\n */\nexport type LocalNotificationType = \"trialStarted\" // Currently, only \"trialStarted\" is used.\n\n/**\n * Represents a local notification that can be scheduled by the Superwall SDK.\n */\nexport interface LocalNotification {\n /**\n * The type of the local notification. See {@link LocalNotificationType}.\n */\n type: LocalNotificationType\n /**\n * The title of the notification.\n */\n title: string\n /**\n * The main body text of the notification.\n */\n body: string\n /**\n * The delay in seconds before the notification is shown to the user, relative to the scheduling time.\n */\n delay: number\n /**\n * An optional subtitle for the notification.\n */\n subtitle?: string\n}\n\n/**\n * Represents a request for a computed property that the Superwall SDK needs to evaluate.\n * Computed properties are dynamic values based on user attributes or other data.\n */\nexport interface ComputedPropertyRequest {\n /**\n * The type or name of the computed property being requested.\n */\n type: string\n /**\n * The name of the placement associated with this computed property request, if applicable.\n */\n placementName: string\n}\n\n/**\n * Represents a product available for purchase on a paywall, as defined within {@link PaywallInfo}.\n * This provides a simplified view of a product, focusing on its ID, name, and granted entitlements.\n */\nexport interface Product {\n /**\n * The unique identifier of the product (e.g., from the App Store or Google Play).\n */\n id: string\n /**\n * The name of the product, if available.\n */\n name?: string\n /**\n * A list of entitlements that are granted to the user upon purchasing this product.\n * See {@link Entitlement}.\n */\n entitlements: Entitlement[]\n}\n\n/**\n * Contains comprehensive information about a paywall, including its configuration, associated experiment,\n * products, loading times, and other metadata. This object is central to understanding paywall behavior.\n */\nexport interface PaywallInfo {\n /** The unique identifier of the paywall, as configured in the Superwall dashboard. */\n identifier: string\n /** The name of the paywall, as configured in the Superwall dashboard. */\n name: string\n /** The URL where the paywall's web content is hosted. */\n url: string\n /**\n * The experiment associated with this paywall presentation, if applicable.\n * See {@link Experiment}.\n */\n experiment?: Experiment\n /**\n * A list of products available for purchase on this paywall.\n * See {@link Product}.\n */\n products: Product[]\n /** A list of product identifiers (SKUs) available on this paywall. */\n productIds: string[]\n /**\n * The name of the event or placement that triggered the presentation of this paywall, if applicable.\n * Corresponds to `presentedByPlacementWithName` in the native Swift SDK.\n */\n presentedByEventWithName?: string\n /**\n * The identifier of the event or placement that triggered the presentation of this paywall, if applicable.\n * Corresponds to `presentedByPlacementWithId` in the native Swift SDK.\n */\n presentedByEventWithId?: string\n /**\n * The Unix timestamp (in seconds or milliseconds) of when the event triggering this paywall occurred, if applicable.\n * Corresponds to `presentedByPlacementAt` in the native Swift SDK.\n */\n presentedByEventAt?: number\n /**\n * The source that initiated the paywall presentation (e.g., \"implicit\", \"explicit\", \"getPaywall\").\n */\n presentedBy: string\n /**\n * The type of the source that led to the paywall presentation (e.g., \"Register\" for `Superwall.shared.register(event:)`, \"Track\" for `Superwall.shared.track(event:)`).\n */\n presentationSourceType?: string\n /** The Unix timestamp when the request to load the paywall configuration and rules (response) started. */\n responseLoadStartTime?: number\n /** The Unix timestamp when the paywall response successfully loaded. */\n responseLoadCompleteTime?: number\n /** The Unix timestamp if the paywall response failed to load. */\n responseLoadFailTime?: number\n /** The duration (typically in milliseconds) it took to load the paywall response. */\n responseLoadDuration?: number\n /** Indicates whether a free trial is available for any of the products on this paywall. */\n isFreeTrialAvailable: boolean\n /**\n * The feature gating behavior for this paywall.\n * See {@link FeatureGatingBehavior}.\n */\n featureGatingBehavior: FeatureGatingBehavior\n /**\n * The reason why the paywall was closed.\n * See {@link PaywallCloseReason}.\n */\n closeReason: PaywallCloseReason\n /** The Unix timestamp when the web view started loading the paywall's HTML content. */\n webViewLoadStartTime?: number\n /** The Unix timestamp when the web view successfully loaded the paywall's HTML content. */\n webViewLoadCompleteTime?: number\n /** The Unix timestamp if the web view failed to load the paywall's HTML content. */\n webViewLoadFailTime?: number\n /** The duration (typically in milliseconds) it took for the web view to load the paywall's content. */\n webViewLoadDuration?: number\n /** The Unix timestamp when the loading of product information (from App Store/Google Play) started. */\n productsLoadStartTime?: number\n /** The Unix timestamp when the product information successfully loaded. */\n productsLoadCompleteTime?: number\n /** The Unix timestamp if loading product information failed. */\n productsLoadFailTime?: number\n /** The duration (typically in milliseconds) it took to load the product information. */\n productsLoadDuration?: number\n /** The version of the `paywall.js` script used in the paywall, if available. */\n paywalljsVersion?: string\n /**\n * A list of computed property requests associated with this paywall presentation.\n * See {@link ComputedPropertyRequest}.\n */\n computedPropertyRequests: ComputedPropertyRequest[]\n /**\n * A list of surveys associated with this paywall that may be presented.\n * See {@link Survey}.\n */\n surveys: Survey[]\n /**\n * A list of local notifications that may be scheduled as a result of this paywall presentation.\n * See {@link LocalNotification}.\n */\n localNotifications: LocalNotification[]\n}\n\n/**\n * Provides information about an error that occurred during a promotional code redemption attempt.\n */\nexport interface RedemptionErrorInfo {\n /**\n * A developer-readable message describing the error.\n */\n message: string\n}\n\n/**\n * Provides information about an expired promotional code during a redemption attempt.\n */\nexport interface RedemptionExpiredCodeInfo {\n /**\n * Indicates whether a new code was resent to the user (e.g., via email) if applicable.\n */\n resent: boolean\n /**\n * The obfuscated email address to which a new code was resent, if applicable.\n */\n obfuscatedEmail?: string\n}\n\n/**\n * Defines who owns the item or subscription obtained through a promotional code redemption.\n */\nexport type RedemptionOwnership =\n | {\n /**\n * Ownership of the redeemed item is tied to a specific application user ID.\n */\n type: \"APP_USER\"\n /**\n * The application user ID of the owner.\n */\n appUserId: string\n }\n | {\n /**\n * Ownership of the redeemed item is tied to a specific device ID.\n */\n type: \"DEVICE\"\n /**\n * The device ID of the owner.\n */\n deviceId: string\n }\n\n/**\n * Contains store-specific identifiers for a purchaser, relevant for tracking redemptions across different billing systems.\n */\nexport type RedemptionStoreIdentifiers =\n | {\n /**\n * The purchase or subscription is managed by Stripe.\n */\n store: \"STRIPE\"\n /**\n * The Stripe customer ID.\n */\n stripeCustomerId: string\n /**\n * The Stripe subscription IDs associated with the customer.\n */\n stripeSubscriptionIds: string[]\n }\n | {\n /**\n * The purchase or subscription is managed by Paddle.\n */\n store: \"PADDLE\"\n /**\n * The Paddle customer ID.\n */\n paddleCustomerId: string\n /**\n * The Paddle subscription IDs associated with the customer.\n */\n paddleSubscriptionIds: string[]\n }\n | {\n /**\n * The store is unknown or not explicitly handled by this type definition.\n */\n store: string // Allows for other store names not explicitly defined\n /**\n * Allows for additional properties specific to other or future store integrations.\n */\n [key: string]: any\n }\n\n/**\n * Information about the purchaser involved in a promotional code redemption.\n */\nexport interface RedemptionPurchaserInfo {\n /**\n * The application user ID of the purchaser.\n */\n appUserId: string\n /**\n * The email address of the purchaser, if available.\n */\n email?: string\n /**\n * Store-specific identifiers for the purchaser.\n * See {@link RedemptionStoreIdentifiers}.\n */\n storeIdentifiers: RedemptionStoreIdentifiers\n}\n\n/**\n * Information about the paywall that was involved in or led to a promotional code redemption.\n */\nexport interface RedemptionPaywallInfo {\n /**\n * The identifier of the paywall.\n */\n identifier: string\n /**\n * The name of the placement that triggered the paywall presentation.\n */\n placementName: string\n /**\n * Parameters associated with the placement.\n */\n placementParams: Record<string, any>\n /**\n * The ID of the experiment variant shown to the user.\n */\n variantId: string\n /**\n * The ID of the experiment the user was part of.\n */\n experimentId: string\n}\n\n/**\n * Contains detailed information about a successful promotional code redemption\n * or an expired subscription that was previously redeemed.\n */\nexport interface RedemptionInfo {\n /**\n * Information about who owns the redeemed item or subscription.\n * See {@link RedemptionOwnership}.\n */\n ownership: RedemptionOwnership\n /**\n * Information about the purchaser.\n * See {@link RedemptionPurchaserInfo}.\n */\n purchaserInfo: RedemptionPurchaserInfo\n /**\n * Information about the paywall related to this redemption, if applicable.\n * See {@link RedemptionPaywallInfo}.\n */\n paywallInfo?: RedemptionPaywallInfo\n /**\n * A list of entitlements granted by this redemption.\n * See {@link Entitlement}.\n */\n entitlements: Entitlement[]\n}\n\n/**\n * Represents the result of an attempt to redeem a promotional code.\n * This is a discriminated union type based on the `status` property.\n */\nexport type RedemptionResult =\n | {\n /**\n * The promotional code was successfully redeemed.\n */\n status: \"SUCCESS\"\n /**\n * The promotional code that was redeemed.\n */\n code: string\n /**\n * Detailed information about the successful redemption.\n * See {@link RedemptionInfo}.\n */\n redemptionInfo: RedemptionInfo\n }\n | {\n /**\n * An error occurred during the redemption attempt.\n */\n status: \"ERROR\"\n /**\n * The promotional code that was attempted.\n */\n code: string\n /**\n * Information about the error that occurred.\n * See {@link RedemptionErrorInfo}.\n */\n error: RedemptionErrorInfo\n }\n | {\n /**\n * The promotional code has expired and cannot be redeemed.\n */\n status: \"CODE_EXPIRED\"\n /**\n * The expired promotional code.\n */\n code: string\n /**\n * Information related to the expired code, such as whether a new one was resent.\n * See {@link RedemptionExpiredCodeInfo}.\n */\n expired: RedemptionExpiredCodeInfo\n }\n | {\n /**\n * The promotional code is invalid or does not exist.\n */\n status: \"INVALID_CODE\"\n /**\n * The invalid promotional code that was attempted.\n */\n code: string\n }\n | {\n /**\n * The subscription associated with the promotional code has expired,\n * but the code was successfully redeemed in the past.\n */\n status: \"EXPIRED_SUBSCRIPTION\"\n /**\n * The promotional code associated with the expired subscription.\n */\n code: string\n /**\n * Detailed information about the prior redemption.\n * See {@link RedemptionInfo}.\n */\n redemptionInfo: RedemptionInfo\n }\n\n/**\n * Represents the result of a trigger evaluation.\n * This determines what action Superwall will take in response to an event or placement registration.\n */\nexport type TriggerResult =\n | {\n /** The specified placement ID was not found in the Superwall dashboard configuration. */\n result: \"placementNotFound\"\n }\n | {\n /** The user did not match any audience rules for the trigger. */\n result: \"noAudienceMatch\"\n }\n | {\n /** A paywall will be presented to the user as a result of this trigger. */\n result: \"paywall\"\n /**\n * Information about the experiment that led to this paywall presentation.\n * See {@link Experiment}.\n */\n experiment: Experiment\n }\n | {\n /** The user was assigned to a holdout group, and no paywall will be shown. */\n result: \"holdout\"\n /**\n * Information about the experiment that led to this holdout assignment.\n * See {@link Experiment}.\n */\n experiment: Experiment\n }\n | {\n /** An error occurred during the trigger evaluation process. */\n result: \"error\"\n /** A string describing the error. */\n error: string\n }\n\n/**\n * Represents comprehensive information about a product involved in a transaction event.\n * This interface includes detailed pricing, subscription, trial, and localization information\n * from both the native iOS (StoreProduct) and Android (Product) implementations.\n */\nexport interface TransactionProductIdentifier {\n /** The unique identifier of the product (e.g., SKU). */\n id: string\n\n /** The product identifier from the store. */\n productIdentifier: string\n\n /** The full identifier including any additional qualifiers. */\n fullIdentifier: string\n\n /** The raw price of the product as a number. */\n price: number\n\n /** The price formatted according to the device's locale and currency. */\n localizedPrice: string\n\n /** The subscription period formatted for display (e.g., \"1 month\"). */\n localizedSubscriptionPeriod: string\n\n /** The subscription period type (e.g., \"month\", \"year\"). */\n period: string\n\n /** The subscription period with \"ly\" suffix (e.g., \"monthly\", \"yearly\"). */\n periodly: string\n\n /** The number of weeks in the subscription period. */\n periodWeeks: number\n\n /** The weeks duration as a formatted string. */\n periodWeeksString: string\n\n /** The number of months in the subscription period. */\n periodMonths: number\n\n /** The months duration as a formatted string. */\n periodMonthsString: string\n\n /** The number of years in the subscription period. */\n periodYears: number\n\n /** The years duration as a formatted string. */\n periodYearsString: string\n\n /** The number of days in the subscription period. */\n periodDays: number\n\n /** The days duration as a formatted string. */\n periodDaysString: string\n\n /** The calculated daily price of the product. */\n dailyPrice: string\n\n /** The calculated weekly price of the product. */\n weeklyPrice: string\n\n /** The calculated monthly price of the product. */\n monthlyPrice: string\n\n /** The calculated yearly price of the product. */\n yearlyPrice: string\n\n /** Whether the product includes a free trial period. */\n hasFreeTrial: boolean\n\n /** The trial period price formatted for display. */\n localizedTrialPeriodPrice: string\n\n /** The trial period price as a number. */\n trialPeriodPrice: number\n\n /** The end date of the trial period as an ISO string, or null if no trial. */\n trialPeriodEndDate: string | null\n\n /** The trial period end date formatted as a display string. */\n trialPeriodEndDateString: string\n\n /** The number of days in the trial period. */\n trialPeriodDays: number\n\n /** The trial days duration as a formatted string. */\n trialPeriodDaysString: string\n\n /** The number of weeks in the trial period. */\n trialPeriodWeeks: number\n\n /** The trial weeks duration as a formatted string. */\n trialPeriodWeeksString: string\n\n /** The number of months in the trial period. */\n trialPeriodMonths: number\n\n /** The trial months duration as a formatted string. */\n trialPeriodMonthsString: string\n\n /** The number of years in the trial period. */\n trialPeriodYears: number\n\n /** The trial years duration as a formatted string. */\n trialPeriodYearsString: string\n\n /** The trial period formatted as descriptive text (e.g., \"7-day free trial\"). */\n trialPeriodText: string\n\n /** The locale identifier for the product (e.g., \"en_US\"). */\n locale: string\n\n /** The language code extracted from the locale, or null if unavailable. */\n languageCode: string | null\n\n /** The currency code for the product's price (e.g., \"USD\"). */\n currencyCode: string | null\n\n /** The currency symbol for the product's price (e.g., \"$\"). */\n currencySymbol: string | null\n\n /** The region code extracted from the locale, or null if unavailable. */\n regionCode: string | null\n\n /**\n * The structured subscription period information.\n * Contains the unit of time and the value for that unit.\n */\n subscriptionPeriod: {\n /** The time unit for the subscription period. */\n unit: \"day\" | \"week\" | \"month\" | \"year\"\n /** The number of units for the subscription period. */\n value: number\n } | null\n\n /** The identifier for the subscription group this product belongs to, if applicable. */\n subscriptionGroupIdentifier?: string | null\n\n /** Whether this product can be shared with family members. */\n isFamilyShareable?: boolean\n\n /** Additional attributes and metadata associated with the product. */\n attributes: Record<string, any>\n}\n\n/**\n * Represents a store transaction, providing detailed information about a purchase or subscription event.\n * Dates are typically in ISO 8601 format.\n */\nexport interface StoreTransaction {\n /** The request ID from the Superwall configuration that initiated this transaction, if applicable. */\n configRequestId?: string\n /** The ID of the app session during which this transaction occurred. */\n appSessionId?: string\n /** The ISO 8601 date string of when the transaction occurred. */\n transactionDate?: string\n /** The original transaction identifier, useful for linking related transactions (e.g., subscriptions). */\n originalTransactionIdentifier?: string\n /** The transaction identifier provided by the respective app store (App Store, Google Play). */\n storeTransactionId?: string\n /** The ISO 8601 date string of the original transaction date, especially relevant for subscriptions. */\n originalTransactionDate?: string\n /** The web order line item ID, used for auto-renewable subscriptions on some platforms. */\n webOrderLineItemID?: string\n /** The app bundle ID associated with this transaction. */\n appBundleId?: string\n /** The identifier for the subscription group this transaction belongs to. */\n subscriptionGroupId?: string\n /** Indicates if this transaction represents an upgrade from a previous subscription. */\n isUpgraded?: boolean\n /** The ISO 8601 date string of when the subscription or product access expires. */\n expirationDate?: string\n /** The offer ID associated with this transaction, if any. */\n offerId?: string\n /** The ISO 8601 date string if the transaction was revoked by the store or developer. */\n revocationDate?: string\n /** The App Store account token, specific to Apple's App Store. */\n appAccountToken?: string\n /** The purchase token for Android transactions (Google Play). */\n purchaseToken?: string\n /** The signature for Android transactions for verification (Google Play). */\n signature?: string\n}\n\n/**\n * Represents the type of restoration process that occurred.\n */\nexport type RestoreType =\n | {\n /** Indicates that the restoration occurred as part of a purchase attempt. */\n type: \"viaPurchase\"\n /**\n * The store transaction associated with the purchase that led to the restoration, if available.\n * See {@link StoreTransaction}.\n */\n storeTransaction?: StoreTransaction\n }\n | {\n /** Indicates that the restoration was initiated manually by the user (e.g., by tapping a \"Restore Purchases\" button). */\n type: \"viaRestore\"\n }\n\n/**\n * Defines the possible statuses of a paywall presentation request.\n * - `presentation`: A paywall is being or will be presented.\n * - `noPresentation`: No paywall will be presented.\n * - `timeout`: The request to determine presentation timed out.\n */\nexport type PaywallPresentationRequestStatusType = \"presentation\" | \"noPresentation\" | \"timeout\"\n\n/**\n * Represents the status of a request to present a paywall.\n */\nexport interface PaywallPresentationRequestStatus {\n /** The overall status of the paywall presentation request. See {@link PaywallPresentationRequestStatusType}. */\n status: PaywallPresentationRequestStatusType\n}\n\n/**\n * Provides the reason behind the status of a paywall presentation request, especially when no paywall is shown.\n */\nexport type PaywallPresentationRequestStatusReason =\n | {\n /** A paywall was presented because the debugger is active. */\n reason: \"debuggerPresented\"\n }\n | {\n /** No paywall was presented because one is already being displayed. */\n reason: \"paywallAlreadyPresented\"\n }\n | {\n /** No paywall was presented because the user is in a holdout group of an experiment. */\n reason: \"holdout\"\n /**\n * Information about the experiment that led to this holdout.\n * See {@link Experiment}.\n */\n experiment: Experiment\n }\n | {\n /** No paywall was presented because the user did not match any audience rules. */\n reason: \"noRuleMatch\"\n }\n | {\n /** No paywall was presented because the triggering event was not found. */\n reason: \"eventNotFound\"\n }\n | {\n /** No paywall was presented because the paywall view controller is not available (native SDK specific). */\n reason: \"noPaywallViewController\"\n }\n | {\n /** No paywall was presented because there is no view controller available to present it on (native SDK specific). */\n reason: \"noViewController\"\n }\n | {\n /** No paywall was presented because the user is already subscribed. */\n reason: \"userIsSubscribed\"\n }\n | {\n /** No paywall was presented due to an error. */\n reason: \"error\"\n /** A string describing the error. */\n error: string\n }\n | {\n /** No paywall was presented because it is gated by some condition. */\n reason: \"paywallIsGated\"\n /**\n * Information about the paywall that was gated.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n }\n\n/**\n * Represents a Superwall event that can be tracked by the SDK.\n * This is a discriminated union type where the `event` property determines the specific event and its associated payload.\n * These events provide insights into user behavior, SDK operations, and paywall interactions.\n */\n\n// Individual Superwall Event Interfaces/Types\n\n/**\n * User's first time seeing a Superwall-related element or paywall.\n */\nexport interface FirstSeenEvent {\n /** User's first time seeing a Superwall-related element or paywall. */\n event: \"firstSeen\"\n}\n\n/**\n * The application was opened.\n */\nexport interface AppOpenEvent {\n /** The application was opened. */\n event: \"appOpen\"\n}\n\n/**\n * The application was launched.\n */\nexport interface AppLaunchEvent {\n /** The application was launched. */\n event: \"appLaunch\"\n}\n\n/**\n * An alias was set for the user's identity.\n */\nexport interface IdentityAliasEvent {\n /** An alias was set for the user's identity. */\n event: \"identityAlias\"\n}\n\n/**\n * The application was installed.\n */\nexport interface AppInstallEvent {\n /** The application was installed. */\n event: \"appInstall\"\n}\n\n/**\n * A new user session started.\n */\nexport interface SessionStartEvent {\n /** A new user session started. */\n event: \"sessionStart\"\n}\n\n/**\n * The user's identity was reset (logged out).\n */\nexport interface ResetEvent {\n /** The user's identity was reset (logged out). */\n event: \"reset\"\n}\n\n/**\n * The Superwall configuration was refreshed.\n */\nexport interface ConfigRefreshEvent {\n /** The Superwall configuration was refreshed. */\n event: \"configRefresh\"\n}\n\n/**\n * Failed to refresh the Superwall configuration.\n */\nexport interface ConfigFailEvent {\n /** Failed to refresh the Superwall configuration. */\n event: \"configFail\"\n}\n\n/**\n * Attributes were passed with the Superwall configuration.\n */\nexport interface ConfigAttributesEvent {\n /** Attributes were passed with the Superwall configuration. */\n event: \"configAttributes\"\n}\n\n/**\n * All pending paywall assignments have been confirmed.\n */\nexport interface ConfirmAllAssignmentsEvent {\n /** All pending paywall assignments have been confirmed. */\n event: \"confirmAllAssignments\"\n}\n\n/**\n * A touch event began on the screen (generic).\n */\nexport interface TouchesBeganEvent {\n /** A touch event began on the screen (generic). */\n event: \"touchesBegan\"\n}\n\n/**\n * A survey was closed.\n */\nexport interface SurveyCloseEvent {\n /** A survey was closed. */\n event: \"surveyClose\"\n}\n\n/**\n * Restoration of purchases started.\n */\nexport interface RestoreStartEvent {\n /** Restoration of purchases started. */\n event: \"restoreStart\"\n}\n\n/**\n * Restoration of purchases completed successfully.\n */\nexport interface RestoreCompleteEvent {\n /** Restoration of purchases completed successfully. */\n event: \"restoreComplete\"\n}\n\n/**\n * Restoration of purchases failed.\n */\nexport interface RestoreFailEvent {\n /** Restoration of purchases failed. */\n event: \"restoreFail\"\n /** The error message. */\n message: string\n}\n\n/**\n * Request for AdServices token started.\n */\nexport interface AdServicesTokenRequestStartEvent {\n /** Request for AdServices token started. */\n event: \"adServicesTokenRequestStart\"\n}\n\n/**\n * Request for AdServices token failed.\n */\nexport interface AdServicesTokenRequestFailEvent {\n /** Request for AdServices token failed. */\n event: \"adServicesTokenRequestFail\"\n /** The error message. */\n error: string\n}\n\n/**\n * Request for AdServices token completed.\n */\nexport interface AdServicesTokenRequestCompleteEvent {\n /** Request for AdServices token completed. */\n event: \"adServicesTokenRequestComplete\"\n /** The AdServices token. */\n token: string\n}\n\n/**\n * Shimmer view (placeholder loading) started.\n */\nexport interface ShimmerViewStartEvent {\n /** Shimmer view (placeholder loading) started. */\n event: \"shimmerViewStart\"\n}\n\n/**\n * Shimmer view (placeholder loading) completed.\n */\nexport interface ShimmerViewCompleteEvent {\n /** Shimmer view (placeholder loading) completed. */\n event: \"shimmerViewComplete\"\n}\n\n/**\n * Redemption of a promotional code started.\n */\nexport interface RedemptionStartEvent {\n /** Redemption of a promotional code started. */\n event: \"redemptionStart\"\n}\n\n/**\n * Redemption of a promotional code completed.\n */\nexport interface RedemptionCompleteEvent {\n /** Redemption of a promotional code completed. */\n event: \"redemptionComplete\"\n}\n\n/**\n * Redemption of a promotional code failed.\n */\nexport interface RedemptionFailEvent {\n /** Redemption of a promotional code failed. */\n event: \"redemptionFail\"\n}\n\n/**\n * Data enrichment process started.\n */\nexport interface EnrichmentStartEvent {\n /** Data enrichment process started. */\n event: \"enrichmentStart\"\n}\n\n/**\n * Data enrichment process completed.\n */\nexport interface EnrichmentCompleteEvent {\n /** Data enrichment process completed. */\n event: \"enrichmentComplete\"\n /** Enriched user data, if any. */\n userEnrichment?: Record<string, any>\n /** Enriched device data, if any. */\n deviceEnrichment?: Record<string, any>\n}\n\n/**\n * Data enrichment process failed.\n */\nexport interface EnrichmentFailEvent {\n /** Data enrichment process failed. */\n event: \"enrichmentFail\"\n}\n\n/**\n * An unknown or uncategorized event occurred.\n */\nexport interface UnknownEvent {\n /** An unknown or uncategorized event occurred. */\n event: \"unknown\"\n}\n\n/**\n * Device attributes were updated.\n */\nexport interface DeviceAttributesEvent {\n /** Device attributes were updated. */\n event: \"deviceAttributes\"\n /** The updated device attributes. */\n attributes: Record<string, any>\n}\n\n/**\n * The user's subscription status changed.\n */\nexport interface SubscriptionStatusDidChangeEvent {\n /** The user's subscription status changed. */\n event: \"subscriptionStatusDidChange\"\n /**\n * The new subscription status.\n * See {@link SubscriptionStatus}.\n */\n subscriptionStatus: SubscriptionStatus\n}\n\n/**\n * The application was closed.\n */\nexport interface AppCloseEvent {\n /** The application was closed. */\n event: \"appClose\"\n}\n\n/**\n * A deep link was opened by the application, potentially via Superwall.\n */\nexport interface DeepLinkEvent {\n /** A deep link was opened by the application, potentially via Superwall. */\n event: \"deepLink\"\n /** The URL of the deep link. */\n url: string\n}\n\n/**\n * A trigger was fired based on an event or placement.\n */\nexport interface TriggerFireEvent {\n /** A trigger was fired based on an event or placement. */\n event: \"triggerFire\"\n /** The name of the event or placement that caused the trigger to fire. */\n placementName: string\n /**\n * The result of the trigger evaluation, determining what action Superwall will take.\n * See {@link TriggerResult}.\n */\n result: TriggerResult\n}\n\n/**\n * A paywall was opened.\n */\nexport interface PaywallOpenEvent {\n /** A paywall was opened. */\n event: \"paywallOpen\"\n /**\n * Information about the paywall that was opened.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A paywall was closed.\n */\nexport interface PaywallCloseEvent {\n /** A paywall was closed. */\n event: \"paywallClose\"\n /**\n * Information about the paywall that was closed.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * The user explicitly declined a paywall.\n */\nexport interface PaywallDeclineEvent {\n /** The user explicitly declined a paywall. */\n event: \"paywallDecline\"\n /**\n * Information about the paywall that was declined.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A transaction (purchase, restore) was initiated.\n */\nexport interface TransactionStartEvent {\n /** A transaction (purchase, restore) was initiated. */\n event: \"transactionStart\"\n /**\n * Identifier of the product involved in the transaction.\n * See {@link TransactionProductIdentifier}.\n */\n product: TransactionProductIdentifier\n /**\n * Information about the paywall from which the transaction was initiated.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A transaction failed.\n */\nexport interface TransactionFailEvent {\n /** A transaction failed. */\n event: \"transactionFail\"\n /** The error message from the transaction failure. */\n error: string\n /**\n * Information about the paywall associated with the failed transaction.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A transaction was abandoned by the user.\n */\nexport interface TransactionAbandonEvent {\n /** A transaction was abandoned by the user. */\n event: \"transactionAbandon\"\n /**\n * Identifier of the product involved in the abandoned transaction.\n * See {@link TransactionProductIdentifier}.\n */\n product: TransactionProductIdentifier\n /**\n * Information about the paywall associated with the abandoned transaction.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A transaction was successfully completed.\n */\nexport interface TransactionCompleteEvent {\n /** A transaction was successfully completed. */\n event: \"transactionComplete\"\n /**\n * Detailed information about the store transaction, if available.\n * See {@link StoreTransaction}.\n */\n transaction?: StoreTransaction\n /**\n * Identifier of the product involved in the completed transaction.\n * See {@link TransactionProductIdentifier}.\n */\n product: TransactionProductIdentifier\n /** The type of the transaction (e.g., \"purchase\", \"restore\"). */\n type: string\n /**\n * Information about the paywall associated with the completed transaction.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A new subscription was started.\n */\nexport interface SubscriptionStartEvent {\n /** A new subscription was started. */\n event: \"subscriptionStart\"\n /**\n * Identifier of the product for which the subscription started.\n * See {@link TransactionProductIdentifier}.\n */\n product: TransactionProductIdentifier\n /**\n * Information about the paywall associated with the subscription start.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A free trial was started.\n */\nexport interface FreeTrialStartEvent {\n /** A free trial was started. */\n event: \"freeTrialStart\"\n /**\n * Identifier of the product for which the free trial started.\n * See {@link TransactionProductIdentifier}.\n */\n product: TransactionProductIdentifier\n /**\n * Information about the paywall associated with the free trial start.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A transaction was restored.\n */\nexport interface TransactionRestoreEvent {\n /** A transaction was restored. */\n event: \"transactionRestore\"\n /**\n * The type of restoration process.\n * See {@link RestoreType}.\n */\n restoreType: RestoreType\n /**\n * Information about the paywall associated with the restoration.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A transaction timed out.\n */\nexport interface TransactionTimeoutEvent {\n /** A transaction timed out. */\n event: \"transactionTimeout\"\n /**\n * Information about the paywall associated with the timed-out transaction.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * User attributes were updated.\n */\nexport interface UserAttributesEvent {\n /** User attributes were updated. */\n event: \"userAttributes\"\n /** The updated user attributes. */\n attributes: Record<string, any>\n}\n\n/**\n * A non-recurring product was purchased.\n */\nexport interface NonRecurringProductPurchaseEvent {\n /** A non-recurring product was purchased. */\n event: \"nonRecurringProductPurchase\"\n /**\n * Identifier of the purchased non-recurring product.\n * See {@link TransactionProductIdentifier}.\n */\n product: TransactionProductIdentifier\n /**\n * Information about the paywall associated with the purchase.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * Loading of the paywall response from the server started.\n */\nexport interface PaywallResponseLoadStartEvent {\n /** Loading of the paywall response from the server started. */\n event: \"paywallResponseLoadStart\"\n /** The name of the event or placement that triggered this load. */\n triggeredEventName: string\n}\n\n/**\n * The paywall response was not found on the server.\n */\nexport interface PaywallResponseLoadNotFoundEvent {\n /** The paywall response was not found on the server. */\n event: \"paywallResponseLoadNotFound\"\n /** The name of the event or placement that triggered this load. */\n triggeredEventName: string\n}\n\n/**\n * Loading of the paywall response from the server failed.\n */\nexport interface PaywallResponseLoadFailEvent {\n /** Loading of the paywall response from the server failed. */\n event: \"paywallResponseLoadFail\"\n /** The name of the event or placement that triggered this load. */\n triggeredEventName: string\n}\n\n/**\n * Loading of the paywall response from the server completed successfully.\n */\nexport interface PaywallResponseLoadCompleteEvent {\n /** Loading of the paywall response from the server completed successfully. */\n event: \"paywallResponseLoadComplete\"\n /** The name of the event or placement that triggered this load. */\n triggeredEventName: string\n /**\n * Information about the loaded paywall.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * The web view started loading the paywall's content.\n */\nexport interface PaywallWebviewLoadStartEvent {\n /** The web view started loading the paywall's content. */\n event: \"paywallWebviewLoadStart\"\n /**\n * Information about the paywall whose web view is loading.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * The web view failed to load the paywall's content.\n */\nexport interface PaywallWebviewLoadFailEvent {\n /** The web view failed to load the paywall's content. */\n event: \"paywallWebviewLoadFail\"\n /**\n * Information about the paywall whose web view failed to load.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * The web view completed loading the paywall's content.\n */\nexport interface PaywallWebviewLoadCompleteEvent {\n /** The web view completed loading the paywall's content. */\n event: \"paywallWebviewLoadComplete\"\n /**\n * Information about the paywall whose web view completed loading.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * The web view timed out while loading the paywall's content.\n */\nexport interface PaywallWebviewLoadTimeoutEvent {\n /** The web view timed out while loading the paywall's content. */\n event: \"paywallWebviewLoadTimeout\"\n /**\n * Information about the paywall whose web view timed out.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * The web view used fallback content for the paywall due to a loading issue.\n */\nexport interface PaywallWebviewLoadFallbackEvent {\n /** The web view used fallback content for the paywall due to a loading issue. */\n event: \"paywallWebviewLoadFallback\"\n /**\n * Information about the paywall that used fallback content.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * Loading of products for the paywall started.\n */\nexport interface PaywallProductsLoadStartEvent {\n /** Loading of products for the paywall started. */\n event: \"paywallProductsLoadStart\"\n /** The name of the event or placement that triggered this load. */\n triggeredEventName: string\n /**\n * Information about the paywall for which products are loading.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * Loading of products for the paywall failed.\n */\nexport interface PaywallProductsLoadFailEvent {\n /** Loading of products for the paywall failed. */\n event: \"paywallProductsLoadFail\"\n /** The name of the event or placement that triggered this load. */\n triggeredEventName: string\n /**\n * Information about the paywall for which product loading failed.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * Loading of products for the paywall completed successfully.\n */\nexport interface PaywallProductsLoadCompleteEvent {\n /** Loading of products for the paywall completed successfully. */\n event: \"paywallProductsLoadComplete\"\n /** The name of the event or placement that triggered this load. */\n triggeredEventName: string\n /**\n * Information about the paywall for which products completed loading.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * Retrying the loading of products for the paywall.\n */\nexport interface PaywallProductsLoadRetryEvent {\n /** Retrying the loading of products for the paywall. */\n event: \"paywallProductsLoadRetry\"\n /** The name of the event or placement that triggered this load. */\n triggeredEventName: string\n /**\n * Information about the paywall for which product loading is being retried.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n /** The attempt number for this retry. */\n attempt: number\n}\n\n/**\n * A response to a survey was submitted by the user.\n */\nexport interface SurveyResponseEvent {\n /** A response to a survey was submitted by the user. */\n event: \"surveyResponse\"\n /**\n * The survey that was responded to.\n * See {@link Survey}.\n */\n survey: Survey\n /**\n * The option selected by the user in the survey.\n * See {@link SurveyOption}.\n */\n selectedOption: SurveyOption\n /** The custom response text entered by the user, if any. */\n customResponse?: string\n /**\n * Information about the paywall where the survey was presented.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A request to present a paywall was made.\n */\nexport interface PaywallPresentationRequestEvent {\n /** A request to present a paywall was made. */\n event: \"paywallPresentationRequest\"\n /**\n * The status of the presentation request.\n * See {@link PaywallPresentationRequestStatus}.\n */\n status: PaywallPresentationRequestStatus\n /**\n * The reason for the status, if applicable (e.g., why a paywall was not presented).\n * See {@link PaywallPresentationRequestStatusReason}.\n */\n reason?: PaywallPresentationRequestStatusReason\n}\n\n/**\n * A custom placement (defined by the developer) was executed.\n */\nexport interface CustomPlacementEvent {\n /** A custom placement (defined by the developer) was executed. */\n event: \"customPlacement\"\n /** The name of the custom placement. */\n name: string\n /** Parameters associated with the custom placement. */\n params: Record<string, any>\n /**\n * Information about the paywall shown for this placement, if any.\n * See {@link PaywallInfo}.\n */\n paywallInfo?: PaywallInfo\n}\n\n/**\n * A union of all possible string literal values for the `event` property from all specific Superwall event types.\n * This type can be used when you need to refer to an event type name itself.\n */\nexport type SuperwallEventType =\n | FirstSeenEvent[\"event\"]\n | AppOpenEvent[\"event\"]\n | AppLaunchEvent[\"event\"]\n | IdentityAliasEvent[\"event\"]\n | AppInstallEvent[\"event\"]\n | SessionStartEvent[\"event\"]\n | ResetEvent[\"event\"]\n | ConfigRefreshEvent[\"event\"]\n | ConfigFailEvent[\"event\"]\n | ConfigAttributesEvent[\"event\"]\n | ConfirmAllAssignmentsEvent[\"event\"]\n | TouchesBeganEvent[\"event\"]\n | SurveyCloseEvent[\"event\"]\n | RestoreStartEvent[\"event\"]\n | RestoreCompleteEvent[\"event\"]\n | RestoreFailEvent[\"event\"]\n | AdServicesTokenRequestStartEvent[\"event\"]\n | AdServicesTokenRequestFailEvent[\"event\"]\n | AdServicesTokenRequestCompleteEvent[\"event\"]\n | ShimmerViewStartEvent[\"event\"]\n | ShimmerViewCompleteEvent[\"event\"]\n | RedemptionStartEvent[\"event\"]\n | RedemptionCompleteEvent[\"event\"]\n | RedemptionFailEvent[\"event\"]\n | EnrichmentStartEvent[\"event\"]\n | EnrichmentCompleteEvent[\"event\"]\n | EnrichmentFailEvent[\"event\"]\n | UnknownEvent[\"event\"]\n | DeviceAttributesEvent[\"event\"]\n | SubscriptionStatusDidChangeEvent[\"event\"]\n | AppCloseEvent[\"event\"]\n | DeepLinkEvent[\"event\"]\n | TriggerFireEvent[\"event\"]\n | PaywallOpenEvent[\"event\"]\n | PaywallCloseEvent[\"event\"]\n | PaywallDeclineEvent[\"event\"]\n | TransactionStartEvent[\"event\"]\n | TransactionFailEvent[\"event\"]\n | TransactionAbandonEvent[\"event\"]\n | TransactionCompleteEvent[\"event\"]\n | SubscriptionStartEvent[\"event\"]\n | FreeTrialStartEvent[\"event\"]\n | TransactionRestoreEvent[\"event\"]\n | TransactionTimeoutEvent[\"event\"]\n | UserAttributesEvent[\"event\"]\n | NonRecurringProductPurchaseEvent[\"event\"]\n | PaywallResponseLoadStartEvent[\"event\"]\n | PaywallResponseLoadNotFoundEvent[\"event\"]\n | PaywallResponseLoadFailEvent[\"event\"]\n | PaywallResponseLoadCompleteEvent[\"event\"]\n | PaywallWebviewLoadStartEvent[\"event\"]\n | PaywallWebviewLoadFailEvent[\"event\"]\n | PaywallWebviewLoadCompleteEvent[\"event\"]\n | PaywallWebviewLoadTimeoutEvent[\"event\"]\n | PaywallWebviewLoadFallbackEvent[\"event\"]\n | PaywallProductsLoadStartEvent[\"event\"]\n | PaywallProductsLoadFailEvent[\"event\"]\n | PaywallProductsLoadCompleteEvent[\"event\"]\n | PaywallProductsLoadRetryEvent[\"event\"]\n | SurveyResponseEvent[\"event\"]\n | PaywallPresentationRequestEvent[\"event\"]\n | CustomPlacementEvent[\"event\"]\n\n/**\n * Represents a Superwall event that can be tracked by the SDK.\n * This is a discriminated union type where the `event` property determines the specific event and its associated payload.\n * These events provide insights into user behavior, SDK operations, and paywall interactions.\n */\nexport type SuperwallEvent =\n | FirstSeenEvent\n | AppOpenEvent\n | AppLaunchEvent\n | IdentityAliasEvent\n | AppInstallEvent\n | SessionStartEvent\n | ResetEvent\n | ConfigRefreshEvent\n | ConfigFailEvent\n | ConfigAttributesEvent\n | ConfirmAllAssignmentsEvent\n | TouchesBeganEvent\n | SurveyCloseEvent\n | RestoreStartEvent\n | RestoreCompleteEvent\n | RestoreFailEvent\n | AdServicesTokenRequestStartEvent\n | AdServicesTokenRequestFailEvent\n | AdServicesTokenRequestCompleteEvent\n | ShimmerViewStartEvent\n | ShimmerViewCompleteEvent\n | RedemptionStartEvent\n | RedemptionCompleteEvent\n | RedemptionFailEvent\n | EnrichmentStartEvent\n | EnrichmentCompleteEvent\n | EnrichmentFailEvent\n | UnknownEvent\n | DeviceAttributesEvent\n | SubscriptionStatusDidChangeEvent\n | AppCloseEvent\n | DeepLinkEvent\n | TriggerFireEvent\n | PaywallOpenEvent\n | PaywallCloseEvent\n | PaywallDeclineEvent\n | TransactionStartEvent\n | TransactionFailEvent\n | TransactionAbandonEvent\n | TransactionCompleteEvent\n | SubscriptionStartEvent\n | FreeTrialStartEvent\n | TransactionRestoreEvent\n | TransactionTimeoutEvent\n | UserAttributesEvent\n | NonRecurringProductPurchaseEvent\n | PaywallResponseLoadStartEvent\n | PaywallResponseLoadNotFoundEvent\n | PaywallResponseLoadFailEvent\n | PaywallResponseLoadCompleteEvent\n | PaywallWebviewLoadStartEvent\n | PaywallWebviewLoadFailEvent\n | PaywallWebviewLoadCompleteEvent\n | PaywallWebviewLoadTimeoutEvent\n | PaywallWebviewLoadFallbackEvent\n | PaywallProductsLoadStartEvent\n | PaywallProductsLoadFailEvent\n | PaywallProductsLoadCompleteEvent\n | PaywallProductsLoadRetryEvent\n | SurveyResponseEvent\n | PaywallPresentationRequestEvent\n | CustomPlacementEvent\n\n/**\n * Contains information about a Superwall event, including the specific {@link SuperwallEvent}\n * that occurred and any associated parameters. This structure is used by the `onSuperwallEvent` callback\n * in {@link SuperwallEventCallbacks} and the `handleSuperwallEvent` in {@link SuperwallExpoModuleEvents}.\n */\nexport interface SuperwallEventInfo {\n /** The specific Superwall event that occurred. See {@link SuperwallEvent}. */\n event: SuperwallEvent\n /**\n * Additional parameters associated with the event. The structure of these parameters\n * depends on the specific event type and often mirrors the properties defined within\n * the {@link SuperwallEvent} union members.\n */\n params: Record<string, any>\n}\n\n/**\n * Defines the verbosity level for logging within the Superwall SDK.\n * - `debug`: Outputs detailed debugging information, useful for development and troubleshooting.\n * - `info`: Outputs general information about SDK activity and state changes.\n * - `warn`: Outputs warnings about potential issues or deprecated usage.\n * - `error`: Outputs error messages for issues encountered by the SDK.\n * - `none`: Disables all logging from the SDK.\n */\nexport type LogLevel = \"debug\" | \"info\" | \"warn\" | \"error\" | \"none\"\n\n/**\n * Defines the scope of logging within the Superwall SDK, allowing for targeted logging of specific SDK components or features.\n * Using these scopes can help narrow down logs to relevant areas when debugging.\n *\n * Possible values include:\n * - `localizationManager`: Logs related to localization and language settings.\n * - `bounceButton`: Logs related to the animated bounce button feature.\n * - `coreData`: Logs related to internal data storage (native specific).\n * - `configManager`: Logs related to fetching and managing Superwall configurations.\n * - `identityManager`: Logs related to user identification and session management.\n * - `debugManager`: Logs related to the Superwall debugger.\n * - `debugViewController`: Logs related to the debugger's view controller (native specific).\n * - `localizationViewController`: Logs related to localization view controllers (native specific).\n * - `gameControllerManager`: Logs related to game controller interactions (native specific).\n * - `device`: Logs related to device information and properties.\n * - `network`: Logs related to network requests made by the SDK.\n * - `paywallEvents`: Logs related to events occurring on the paywall itself.\n * - `productsManager`: Logs related to fetching and managing product information from app stores.\n * - `storeKitManager`: Logs related to StoreKit interactions (iOS specific).\n * - `placements`: Logs related to placements and their evaluation.\n * - `receipts`: Logs related to App Store receipt validation and processing.\n * - `superwallCore`: Logs related to the core functionalities of the Superwall SDK.\n * - `paywallPresentation`: Logs related to the presentation logic of paywalls.\n * - `paywallTransactions`: Logs related to transactions initiated from paywalls.\n * - `paywallViewController`: Logs related to the paywall view controller (native specific).\n * - `cache`: Logs related to caching mechanisms within the SDK.\n * - `all`: Enables logging for all scopes.\n */\nexport type LogScope =\n | \"localizationManager\"\n | \"bounceButton\"\n | \"coreData\"\n | \"configManager\"\n | \"identityManager\"\n | \"debugManager\"\n | \"debugViewController\"\n | \"localizationViewController\"\n | \"gameControllerManager\"\n | \"device\"\n | \"network\"\n | \"paywallEvents\"\n | \"productsManager\"\n | \"storeKitManager\"\n | \"placements\"\n | \"receipts\"\n | \"superwallCore\"\n | \"paywallPresentation\"\n | \"paywallTransactions\"\n | \"paywallViewController\"\n | \"cache\"\n | \"all\"\n\nexport type OnPurchaseParamsIOS = { productId: string; platform: \"ios\" }\n\nexport type OnPurchaseParamsAndroid = {\n productId: string\n platform: \"android\"\n basePlanId: string\n offerId?: string\n}\n\nexport type OnPurchaseParams = OnPurchaseParamsIOS | OnPurchaseParamsAndroid\n\n/**\n * Defines the events emitted by the native Superwall Expo module that can be listened to.\n * These events provide a way to react to various SDK activities and user interactions.\n * Use `SuperwallExpoModule.addListener(eventName, callback)` to subscribe.\n */\nexport type SuperwallExpoModuleEvents = {\n /**\n * Emitted when a paywall is presented to the user.\n * @param params - Event parameters.\n * @param params.paywallInfoJson - JSON representation of {@link PaywallInfo} for the presented paywall.\n * @param params.handlerId - Identifier for the handler that triggered this presentation (e.g., from `usePlacement`).\n */\n onPaywallPresent: (params: { paywallInfoJson: PaywallInfo; handlerId: string }) => void\n /**\n * Emitted when a paywall is dismissed by the user or programmatically.\n * @param params - Event parameters.\n * @param params.paywallInfoJson - JSON representation of {@link PaywallInfo} for the dismissed paywall.\n * @param params.result - The result of the paywall interaction. See {@link PaywallResult}.\n * @param params.handlerId - Identifier for the handler associated with this paywall.\n */\n onPaywallDismiss: (params: {\n paywallInfoJson: PaywallInfo\n result: PaywallResult\n handlerId: string\n }) => void\n /**\n * Emitted when an error occurs during the paywall presentation process.\n * @param params - Event parameters.\n * @param params.errorString - A string describing the error.\n * @param params.handlerId - Identifier for the handler associated with this error, if applicable.\n */\n onPaywallError: (params: { errorString: string; handlerId: string }) => void\n /**\n * Emitted when a paywall presentation is skipped (e.g., user is in a holdout group, no rule match).\n * @param params - Event parameters.\n * @param params.skippedReason - The reason why the paywall was skipped. See {@link PaywallSkippedReason}.\n * @param params.handlerId - Identifier for the handler associated with this skipped paywall.\n */\n onPaywallSkip: (params: { skippedReason: PaywallSkippedReason; handlerId: string }) => void\n\n // --- SuperwallDelegateBridge Events ---\n /**\n * Emitted when the user's subscription status changes.\n * @param params - Event parameters.\n * @param params.from - The previous subscription status. See {@link SubscriptionStatus}.\n * @param params.to - The new subscription status. See {@link SubscriptionStatus}.\n */\n subscriptionStatusDidChange: (params: {\n from: SubscriptionStatus\n to: SubscriptionStatus\n }) => void\n /**\n * Emitted for various internal Superwall events, providing a detailed stream of SDK activity.\n * @param params - Event parameters.\n * @param params.eventInfo - Detailed information about the Superwall event. See {@link SuperwallEventInfo}.\n */\n handleSuperwallEvent: (params: { eventInfo: SuperwallEventInfo }) => void\n /**\n * Emitted when a custom action is invoked from a paywall's JavaScript.\n * @param params - Event parameters.\n * @param params.name - The name of the custom action that was invoked.\n */\n handleCustomPaywallAction: (params: { name: string }) => void\n /**\n * Emitted just before a paywall is dismissed.\n * @param params - Event parameters.\n * @param params.info - Information about the paywall that will be dismissed. See {@link PaywallInfo}.\n */\n willDismissPaywall: (params: { info: PaywallInfo }) => void\n /**\n * Emitted just before a paywall is presented.\n * @param params - Event parameters.\n * @param params.info - Information about the paywall that will be presented. See {@link PaywallInfo}.\n */\n willPresentPaywall: (params: { info: PaywallInfo }) => void\n /**\n * Emitted after a paywall has been dismissed.\n * @param params - Event parameters.\n * @param params.info - Information about the paywall that was dismissed. See {@link PaywallInfo}.\n */\n didDismissPaywall: (params: { info: PaywallInfo }) => void\n /**\n * Emitted after a paywall has been presented.\n * @param params - Event parameters.\n * @param params.info - Information about the paywall that was presented. See {@link PaywallInfo}.\n */\n didPresentPaywall: (params: { info: PaywallInfo }) => void\n /**\n * Emitted when the paywall intends to open an external URL.\n * @param params - Event parameters.\n * @param params.url - The URL that the paywall intends to open.\n */\n paywallWillOpenURL: (params: { url: string }) => void\n /**\n * Emitted when the paywall intends to open a deep link.\n * @param params - Event parameters.\n * @param params.url - The deep link URL that the paywall intends to open.\n */\n paywallWillOpenDeepLink: (params: { url: string }) => void\n /**\n * Emitted for logging messages generated by the native SDK.\n * @param params - Log parameters.\n * @param params.level - The log level. See {@link LogLevel}.\n * @param params.scope - The scope of the log. See {@link LogScope}.\n * @param params.message - The log message (can be null).\n * @param params.info - Additional structured information for the log (can be null).\n * @param params.error - Error message if the log represents an error (can be null).\n */\n handleLog: (params: {\n level: LogLevel\n scope: LogScope\n message: string | null\n info: Record<string, any> | null\n error: string | null\n }) => void\n /**\n * Emitted before the SDK attempts to redeem a promotional link or code.\n * @param params - Event parameters. For iOS, this is typically an empty dictionary.\n */\n willRedeemLink: (params: Record<string, never> | null) => void\n /**\n * Emitted after the SDK has attempted to redeem a promotional link or code.\n * @param params - The result of the redemption attempt. See {@link RedemptionResult}.\n */\n didRedeemLink: (params: RedemptionResult) => void\n\n // Purchase Events\n /**\n * Emitted when a purchase is initiated by the user from a paywall.\n * @param params - Parameters related to the purchase.\n * - For iOS: `{ productId: string; platform: \"ios\" }`\n * - For Android: `{ productId: string; platform: \"android\"; basePlanId: string; offerId?: string }`\n * (offerId is optional for Android).\n */\n onPurchase: (params: OnPurchaseParams) => void\n /**\n * Emitted when a purchase restoration process is initiated by the user.\n * @param params - Event parameters. For iOS, this is `null`.\n */\n onPurchaseRestore: () => void\n}\n"]}
1
+ {"version":3,"file":"SuperwallExpoModule.types.js","sourceRoot":"","sources":["../../src/SuperwallExpoModule.types.ts"],"names":[],"mappings":"AAAA,mCAAmC","sourcesContent":["// src/SuperwallExpoModule.types.ts\n\n/**\n * @file Defines the core data types, interfaces, and event structures used by the Superwall Expo SDK.\n * These types are crucial for understanding the data flow and interactions with the native Superwall modules.\n */\n\n/**\n * Defines the type of an experiment variant, indicating whether the user sees a paywall or is in a holdout group.\n * - `TREATMENT`: The user is assigned to a treatment group and will be presented with a paywall.\n * - `HOLDOUT`: The user is assigned to a holdout group and will not be presented with a paywall for this experiment.\n */\nexport type VariantType = \"TREATMENT\" | \"HOLDOUT\"\n\n/**\n * Represents an experiment variant, detailing its identifier, type, and associated paywall.\n */\nexport interface Variant {\n /**\n * The unique identifier for this specific variant of an experiment.\n */\n id: string\n /**\n * The type of the variant, determining the user's experience (e.g., seeing a paywall or being in a holdout).\n * See {@link VariantType}.\n */\n type: VariantType\n /**\n * The identifier of the paywall associated with this variant.\n * This will be an empty string if no paywall is linked (e.g., for `HOLDOUT` variants).\n */\n paywallId: string\n}\n\n/**\n * Represents a Superwall experiment, including its ID, group ID, and the variant assigned to the user.\n */\nexport interface Experiment {\n /**\n * The unique identifier for the experiment.\n */\n id: string\n /**\n * The identifier of the group to which this experiment belongs.\n * Experiments are often grouped for organizational or analytical purposes.\n */\n groupId: string\n /**\n * The specific variant of the experiment that the current user has been assigned to.\n * See {@link Variant}.\n */\n variant: Variant\n}\n\n/**\n * Defines the type of an entitlement, typically indicating a level of service or access.\n * - `SERVICE_LEVEL`: Represents an entitlement that grants a certain service level.\n */\nexport type EntitlementType = \"SERVICE_LEVEL\" // Currently, only \"SERVICE_LEVEL\" is used.\n\n/**\n * Represents a user entitlement, signifying a feature or content piece the user has access to.\n */\nexport interface Entitlement {\n /**\n * The unique identifier for the entitlement.\n */\n id: string\n /**\n * The type of the entitlement. See {@link EntitlementType}.\n */\n type: EntitlementType\n}\n\n/**\n * Contains information about the user's entitlements, separated into active and inactive.\n * This is typically fetched from Superwall's servers to determine what content or features\n * the user has access to.\n */\nexport interface EntitlementsInfo {\n /**\n * Array of entitlements that are currently active for the user.\n * See {@link Entitlement}.\n */\n active: Entitlement[]\n /**\n * Array of entitlements that are not currently active for the user.\n * See {@link Entitlement}.\n */\n inactive: Entitlement[]\n}\n\n/**\n * Describes the reason why a paywall presentation was skipped for the user.\n * This can happen due to various conditions like being in a holdout group,\n * not matching audience rules, or if the specified placement doesn't exist.\n */\nexport type PaywallSkippedReason =\n | {\n /**\n * The user was assigned to a holdout group within an experiment, so the paywall was intentionally skipped.\n */\n type: \"Holdout\"\n /**\n * Detailed information about the experiment that led to this holdout.\n * See {@link Experiment}.\n */\n experiment: Experiment\n }\n | {\n /**\n * The user did not match any of the audience rules defined for the campaign or trigger.\n */\n type: \"NoAudienceMatch\"\n }\n | {\n /**\n * The placement ID specified for the paywall presentation was not found in the Superwall dashboard configuration.\n */\n type: \"PlacementNotFound\"\n }\n\n/**\n * Represents the outcome of a user's interaction with a paywall.\n * This includes scenarios like purchasing a product, declining the paywall, or restoring purchases.\n */\nexport type PaywallResult =\n | {\n /**\n * The user successfully purchased a product through the paywall.\n */\n type: \"purchased\"\n /**\n * The identifier of the product that was purchased.\n */\n productId: string\n }\n | {\n /**\n * The user explicitly declined or closed the paywall without making a purchase.\n */\n type: \"declined\"\n }\n | {\n /**\n * The user successfully restored their previous purchases through the paywall.\n */\n type: \"restored\"\n }\n\n/**\n * Represents the subscription status of the user.\n * It indicates whether the user is unknown, inactive, or active with specific entitlements.\n */\nexport type SubscriptionStatus =\n | {\n /**\n * The subscription status has not yet been determined or is unavailable.\n * This can be an initial state before the SDK fetches the status.\n */\n status: \"UNKNOWN\"\n }\n | {\n /**\n * The user does not have an active subscription.\n * They are not currently entitled to any subscription-based features.\n */\n status: \"INACTIVE\"\n }\n | {\n /**\n * The user has an active subscription.\n */\n status: \"ACTIVE\"\n /**\n * A list of entitlements the user has access to due to their active subscription.\n * This array is only present when the status is \"ACTIVE\".\n * See {@link Entitlement}.\n */\n entitlements: Entitlement[]\n }\n\n/**\n * Specifies the reason why a paywall was closed.\n * This helps in understanding the flow of paywall presentations and user interactions.\n * - `systemLogic`: Closed automatically by the SDK due to internal logic (e.g., another paywall is about to open).\n * - `forNextPaywall`: Closed because another paywall is scheduled to be presented immediately after.\n * - `webViewFailedToLoad`: Closed because the web view component failed to load the paywall content.\n * - `manualClose`: Closed due to a direct user action (e.g., tapping a close button on the paywall).\n * - `none`: No specific reason, or the reason is unknown.\n */\nexport type PaywallCloseReason =\n | \"systemLogic\"\n | \"forNextPaywall\"\n | \"webViewFailedToLoad\"\n | \"manualClose\"\n | \"none\"\n\n/**\n * Defines the feature gating behavior for a paywall or feature.\n * - `gated`: The feature or content is gated and requires a specific condition (e.g., active subscription) to be met for access.\n * - `nonGated`: The feature or content is not gated and is available to all users, regardless of subscription status.\n */\nexport type FeatureGatingBehavior = \"gated\" | \"nonGated\"\n\n/**\n * Specifies the conditions under which a survey should be presented to the user.\n * - `ON_MANUAL_CLOSE`: Present the survey when the user manually closes the paywall.\n * - `ON_PURCHASE`: Present the survey after the user completes a purchase.\n */\nexport type SurveyShowCondition = \"ON_MANUAL_CLOSE\" | \"ON_PURCHASE\"\n\n/**\n * Represents a single option within a survey.\n */\nexport interface SurveyOption {\n /**\n * The unique identifier for this survey option.\n */\n id: string\n /**\n * The text displayed to the user for this option.\n */\n title: string\n}\n\n/**\n * Represents a survey that can be presented to the user, typically after a paywall interaction.\n */\nexport interface Survey {\n /**\n * The unique identifier for the survey.\n */\n id: string\n /**\n * A key used for assigning this survey to a user, often for A/B testing or specific targeting.\n */\n assignmentKey: string\n /**\n * The title of the survey, displayed to the user.\n */\n title: string\n /**\n * The main message or question of the survey.\n */\n message: string\n /**\n * An array of options available for the user to choose from in the survey.\n * See {@link SurveyOption}.\n */\n options: SurveyOption[]\n /**\n * The condition that triggers the presentation of this survey.\n * See {@link SurveyShowCondition}.\n */\n presentationCondition: SurveyShowCondition\n /**\n * The probability (ranging from 0.0 to 1.0) that this survey will be presented if its condition is met.\n */\n presentationProbability: number\n /**\n * If true, an \"Other\" option with a free-text input field will be included in the survey.\n */\n includeOtherOption: boolean\n /**\n * If true, a close button or option will be available on the survey, allowing the user to dismiss it.\n */\n includeCloseOption: boolean\n}\n\n/**\n * Defines the types of local notifications that Superwall can schedule.\n * - `trialStarted`: A notification to inform the user that their free trial has started.\n */\nexport type LocalNotificationType = \"trialStarted\" // Currently, only \"trialStarted\" is used.\n\n/**\n * Represents a local notification that can be scheduled by the Superwall SDK.\n */\nexport interface LocalNotification {\n /**\n * The type of the local notification. See {@link LocalNotificationType}.\n */\n type: LocalNotificationType\n /**\n * The title of the notification.\n */\n title: string\n /**\n * The main body text of the notification.\n */\n body: string\n /**\n * The delay in seconds before the notification is shown to the user, relative to the scheduling time.\n */\n delay: number\n /**\n * An optional subtitle for the notification.\n */\n subtitle?: string\n}\n\n/**\n * Represents a request for a computed property that the Superwall SDK needs to evaluate.\n * Computed properties are dynamic values based on user attributes or other data.\n */\nexport interface ComputedPropertyRequest {\n /**\n * The type or name of the computed property being requested.\n */\n type: string\n /**\n * The name of the placement associated with this computed property request, if applicable.\n */\n placementName: string\n}\n\n/**\n * Represents a product available for purchase on a paywall, as defined within {@link PaywallInfo}.\n * This provides a simplified view of a product, focusing on its ID, name, and granted entitlements.\n */\nexport interface Product {\n /**\n * The unique identifier of the product (e.g., from the App Store or Google Play).\n */\n id: string\n /**\n * The name of the product, if available.\n */\n name?: string\n /**\n * A list of entitlements that are granted to the user upon purchasing this product.\n * See {@link Entitlement}.\n */\n entitlements: Entitlement[]\n}\n\n/**\n * Contains comprehensive information about a paywall, including its configuration, associated experiment,\n * products, loading times, and other metadata. This object is central to understanding paywall behavior.\n */\nexport interface PaywallInfo {\n /** The unique identifier of the paywall, as configured in the Superwall dashboard. */\n identifier: string\n /** The name of the paywall, as configured in the Superwall dashboard. */\n name: string\n /** The URL where the paywall's web content is hosted. */\n url: string\n /**\n * The experiment associated with this paywall presentation, if applicable.\n * See {@link Experiment}.\n */\n experiment?: Experiment\n /**\n * A list of products available for purchase on this paywall.\n * See {@link Product}.\n */\n products: Product[]\n /** A list of product identifiers (SKUs) available on this paywall. */\n productIds: string[]\n /**\n * The name of the event or placement that triggered the presentation of this paywall, if applicable.\n * Corresponds to `presentedByPlacementWithName` in the native Swift SDK.\n */\n presentedByEventWithName?: string\n /**\n * The identifier of the event or placement that triggered the presentation of this paywall, if applicable.\n * Corresponds to `presentedByPlacementWithId` in the native Swift SDK.\n */\n presentedByEventWithId?: string\n /**\n * The Unix timestamp (in seconds or milliseconds) of when the event triggering this paywall occurred, if applicable.\n * Corresponds to `presentedByPlacementAt` in the native Swift SDK.\n */\n presentedByEventAt?: number\n /**\n * The source that initiated the paywall presentation (e.g., \"implicit\", \"explicit\", \"getPaywall\").\n */\n presentedBy: string\n /**\n * The type of the source that led to the paywall presentation (e.g., \"Register\" for `Superwall.shared.register(event:)`, \"Track\" for `Superwall.shared.track(event:)`).\n */\n presentationSourceType?: string\n /** The Unix timestamp when the request to load the paywall configuration and rules (response) started. */\n responseLoadStartTime?: number\n /** The Unix timestamp when the paywall response successfully loaded. */\n responseLoadCompleteTime?: number\n /** The Unix timestamp if the paywall response failed to load. */\n responseLoadFailTime?: number\n /** The duration (typically in milliseconds) it took to load the paywall response. */\n responseLoadDuration?: number\n /** Indicates whether a free trial is available for any of the products on this paywall. */\n isFreeTrialAvailable: boolean\n /**\n * The feature gating behavior for this paywall.\n * See {@link FeatureGatingBehavior}.\n */\n featureGatingBehavior: FeatureGatingBehavior\n /**\n * The reason why the paywall was closed.\n * See {@link PaywallCloseReason}.\n */\n closeReason: PaywallCloseReason\n /** The Unix timestamp when the web view started loading the paywall's HTML content. */\n webViewLoadStartTime?: number\n /** The Unix timestamp when the web view successfully loaded the paywall's HTML content. */\n webViewLoadCompleteTime?: number\n /** The Unix timestamp if the web view failed to load the paywall's HTML content. */\n webViewLoadFailTime?: number\n /** The duration (typically in milliseconds) it took for the web view to load the paywall's content. */\n webViewLoadDuration?: number\n /** The Unix timestamp when the loading of product information (from App Store/Google Play) started. */\n productsLoadStartTime?: number\n /** The Unix timestamp when the product information successfully loaded. */\n productsLoadCompleteTime?: number\n /** The Unix timestamp if loading product information failed. */\n productsLoadFailTime?: number\n /** The duration (typically in milliseconds) it took to load the product information. */\n productsLoadDuration?: number\n /** The version of the `paywall.js` script used in the paywall, if available. */\n paywalljsVersion?: string\n /**\n * A list of computed property requests associated with this paywall presentation.\n * See {@link ComputedPropertyRequest}.\n */\n computedPropertyRequests: ComputedPropertyRequest[]\n /**\n * A list of surveys associated with this paywall that may be presented.\n * See {@link Survey}.\n */\n surveys: Survey[]\n /**\n * A list of local notifications that may be scheduled as a result of this paywall presentation.\n * See {@link LocalNotification}.\n */\n localNotifications: LocalNotification[]\n}\n\n/**\n * Provides information about an error that occurred during a promotional code redemption attempt.\n */\nexport interface RedemptionErrorInfo {\n /**\n * A developer-readable message describing the error.\n */\n message: string\n}\n\n/**\n * Provides information about an expired promotional code during a redemption attempt.\n */\nexport interface RedemptionExpiredCodeInfo {\n /**\n * Indicates whether a new code was resent to the user (e.g., via email) if applicable.\n */\n resent: boolean\n /**\n * The obfuscated email address to which a new code was resent, if applicable.\n */\n obfuscatedEmail?: string\n}\n\n/**\n * Defines who owns the item or subscription obtained through a promotional code redemption.\n */\nexport type RedemptionOwnership =\n | {\n /**\n * Ownership of the redeemed item is tied to a specific application user ID.\n */\n type: \"APP_USER\"\n /**\n * The application user ID of the owner.\n */\n appUserId: string\n }\n | {\n /**\n * Ownership of the redeemed item is tied to a specific device ID.\n */\n type: \"DEVICE\"\n /**\n * The device ID of the owner.\n */\n deviceId: string\n }\n\n/**\n * Contains store-specific identifiers for a purchaser, relevant for tracking redemptions across different billing systems.\n */\nexport type RedemptionStoreIdentifiers =\n | {\n /**\n * The purchase or subscription is managed by Stripe.\n */\n store: \"STRIPE\"\n /**\n * The Stripe customer ID.\n */\n stripeCustomerId: string\n /**\n * The Stripe subscription IDs associated with the customer.\n */\n stripeSubscriptionIds: string[]\n }\n | {\n /**\n * The purchase or subscription is managed by Paddle.\n */\n store: \"PADDLE\"\n /**\n * The Paddle customer ID.\n */\n paddleCustomerId: string\n /**\n * The Paddle subscription IDs associated with the customer.\n */\n paddleSubscriptionIds: string[]\n }\n | {\n /**\n * The store is unknown or not explicitly handled by this type definition.\n */\n store: string // Allows for other store names not explicitly defined\n /**\n * Allows for additional properties specific to other or future store integrations.\n */\n [key: string]: any\n }\n\n/**\n * Information about the purchaser involved in a promotional code redemption.\n */\nexport interface RedemptionPurchaserInfo {\n /**\n * The application user ID of the purchaser.\n */\n appUserId: string\n /**\n * The email address of the purchaser, if available.\n */\n email?: string\n /**\n * Store-specific identifiers for the purchaser.\n * See {@link RedemptionStoreIdentifiers}.\n */\n storeIdentifiers: RedemptionStoreIdentifiers\n}\n\n/**\n * Information about the paywall that was involved in or led to a promotional code redemption.\n */\nexport interface RedemptionPaywallInfo {\n /**\n * The identifier of the paywall.\n */\n identifier: string\n /**\n * The name of the placement that triggered the paywall presentation.\n */\n placementName: string\n /**\n * Parameters associated with the placement.\n */\n placementParams: Record<string, any>\n /**\n * The ID of the experiment variant shown to the user.\n */\n variantId: string\n /**\n * The ID of the experiment the user was part of.\n */\n experimentId: string\n}\n\n/**\n * Contains detailed information about a successful promotional code redemption\n * or an expired subscription that was previously redeemed.\n */\nexport interface RedemptionInfo {\n /**\n * Information about who owns the redeemed item or subscription.\n * See {@link RedemptionOwnership}.\n */\n ownership: RedemptionOwnership\n /**\n * Information about the purchaser.\n * See {@link RedemptionPurchaserInfo}.\n */\n purchaserInfo: RedemptionPurchaserInfo\n /**\n * Information about the paywall related to this redemption, if applicable.\n * See {@link RedemptionPaywallInfo}.\n */\n paywallInfo?: RedemptionPaywallInfo\n /**\n * A list of entitlements granted by this redemption.\n * See {@link Entitlement}.\n */\n entitlements: Entitlement[]\n}\n\n/**\n * Represents the result of an attempt to redeem a promotional code.\n * This is a discriminated union type based on the `status` property.\n */\nexport type RedemptionResult =\n | {\n /**\n * The promotional code was successfully redeemed.\n */\n status: \"SUCCESS\"\n /**\n * The promotional code that was redeemed.\n */\n code: string\n /**\n * Detailed information about the successful redemption.\n * See {@link RedemptionInfo}.\n */\n redemptionInfo: RedemptionInfo\n }\n | {\n /**\n * An error occurred during the redemption attempt.\n */\n status: \"ERROR\"\n /**\n * The promotional code that was attempted.\n */\n code: string\n /**\n * Information about the error that occurred.\n * See {@link RedemptionErrorInfo}.\n */\n error: RedemptionErrorInfo\n }\n | {\n /**\n * The promotional code has expired and cannot be redeemed.\n */\n status: \"CODE_EXPIRED\"\n /**\n * The expired promotional code.\n */\n code: string\n /**\n * Information related to the expired code, such as whether a new one was resent.\n * See {@link RedemptionExpiredCodeInfo}.\n */\n expired: RedemptionExpiredCodeInfo\n }\n | {\n /**\n * The promotional code is invalid or does not exist.\n */\n status: \"INVALID_CODE\"\n /**\n * The invalid promotional code that was attempted.\n */\n code: string\n }\n | {\n /**\n * The subscription associated with the promotional code has expired,\n * but the code was successfully redeemed in the past.\n */\n status: \"EXPIRED_SUBSCRIPTION\"\n /**\n * The promotional code associated with the expired subscription.\n */\n code: string\n /**\n * Detailed information about the prior redemption.\n * See {@link RedemptionInfo}.\n */\n redemptionInfo: RedemptionInfo\n }\n\n/**\n * Represents the result of a trigger evaluation.\n * This determines what action Superwall will take in response to an event or placement registration.\n */\nexport type TriggerResult =\n | {\n /** The specified placement ID was not found in the Superwall dashboard configuration. */\n result: \"placementNotFound\"\n }\n | {\n /** The user did not match any audience rules for the trigger. */\n result: \"noAudienceMatch\"\n }\n | {\n /** A paywall will be presented to the user as a result of this trigger. */\n result: \"paywall\"\n /**\n * Information about the experiment that led to this paywall presentation.\n * See {@link Experiment}.\n */\n experiment: Experiment\n }\n | {\n /** The user was assigned to a holdout group, and no paywall will be shown. */\n result: \"holdout\"\n /**\n * Information about the experiment that led to this holdout assignment.\n * See {@link Experiment}.\n */\n experiment: Experiment\n }\n | {\n /** An error occurred during the trigger evaluation process. */\n result: \"error\"\n /** A string describing the error. */\n error: string\n }\n\n/**\n * Represents comprehensive information about a product involved in a transaction event.\n * This interface includes detailed pricing, subscription, trial, and localization information\n * from both the native iOS (StoreProduct) and Android (Product) implementations.\n */\nexport interface TransactionProductIdentifier {\n /** The unique identifier of the product (e.g., SKU). */\n id: string\n\n /** The product identifier from the store. */\n productIdentifier: string\n\n /** The full identifier including any additional qualifiers. */\n fullIdentifier: string\n\n /** The raw price of the product as a number. */\n price: number\n\n /** The price formatted according to the device's locale and currency. */\n localizedPrice: string\n\n /** The subscription period formatted for display (e.g., \"1 month\"). */\n localizedSubscriptionPeriod: string\n\n /** The subscription period type (e.g., \"month\", \"year\"). */\n period: string\n\n /** The subscription period with \"ly\" suffix (e.g., \"monthly\", \"yearly\"). */\n periodly: string\n\n /** The number of weeks in the subscription period. */\n periodWeeks: number\n\n /** The weeks duration as a formatted string. */\n periodWeeksString: string\n\n /** The number of months in the subscription period. */\n periodMonths: number\n\n /** The months duration as a formatted string. */\n periodMonthsString: string\n\n /** The number of years in the subscription period. */\n periodYears: number\n\n /** The years duration as a formatted string. */\n periodYearsString: string\n\n /** The number of days in the subscription period. */\n periodDays: number\n\n /** The days duration as a formatted string. */\n periodDaysString: string\n\n /** The calculated daily price of the product. */\n dailyPrice: string\n\n /** The calculated weekly price of the product. */\n weeklyPrice: string\n\n /** The calculated monthly price of the product. */\n monthlyPrice: string\n\n /** The calculated yearly price of the product. */\n yearlyPrice: string\n\n /** Whether the product includes a free trial period. */\n hasFreeTrial: boolean\n\n /** The trial period price formatted for display. */\n localizedTrialPeriodPrice: string\n\n /** The trial period price as a number. */\n trialPeriodPrice: number\n\n /** The end date of the trial period as an ISO string, or null if no trial. */\n trialPeriodEndDate: string | null\n\n /** The trial period end date formatted as a display string. */\n trialPeriodEndDateString: string\n\n /** The number of days in the trial period. */\n trialPeriodDays: number\n\n /** The trial days duration as a formatted string. */\n trialPeriodDaysString: string\n\n /** The number of weeks in the trial period. */\n trialPeriodWeeks: number\n\n /** The trial weeks duration as a formatted string. */\n trialPeriodWeeksString: string\n\n /** The number of months in the trial period. */\n trialPeriodMonths: number\n\n /** The trial months duration as a formatted string. */\n trialPeriodMonthsString: string\n\n /** The number of years in the trial period. */\n trialPeriodYears: number\n\n /** The trial years duration as a formatted string. */\n trialPeriodYearsString: string\n\n /** The trial period formatted as descriptive text (e.g., \"7-day free trial\"). */\n trialPeriodText: string\n\n /** The locale identifier for the product (e.g., \"en_US\"). */\n locale: string\n\n /** The language code extracted from the locale, or null if unavailable. */\n languageCode: string | null\n\n /** The currency code for the product's price (e.g., \"USD\"). */\n currencyCode: string | null\n\n /** The currency symbol for the product's price (e.g., \"$\"). */\n currencySymbol: string | null\n\n /** The region code extracted from the locale, or null if unavailable. */\n regionCode: string | null\n\n /**\n * The structured subscription period information.\n * Contains the unit of time and the value for that unit.\n */\n subscriptionPeriod: {\n /** The time unit for the subscription period. */\n unit: \"day\" | \"week\" | \"month\" | \"year\"\n /** The number of units for the subscription period. */\n value: number\n } | null\n\n /** The identifier for the subscription group this product belongs to, if applicable. */\n subscriptionGroupIdentifier?: string | null\n\n /** Whether this product can be shared with family members. */\n isFamilyShareable?: boolean\n\n /** Additional attributes and metadata associated with the product. */\n attributes: Record<string, any>\n}\n\n/**\n * Represents a store transaction, providing detailed information about a purchase or subscription event.\n * Dates are typically in ISO 8601 format.\n */\nexport interface StoreTransaction {\n /** The request ID from the Superwall configuration that initiated this transaction, if applicable. */\n configRequestId?: string\n /** The ID of the app session during which this transaction occurred. */\n appSessionId?: string\n /** The ISO 8601 date string of when the transaction occurred. */\n transactionDate?: string\n /** The original transaction identifier, useful for linking related transactions (e.g., subscriptions). */\n originalTransactionIdentifier?: string\n /** The transaction identifier provided by the respective app store (App Store, Google Play). */\n storeTransactionId?: string\n /** The ISO 8601 date string of the original transaction date, especially relevant for subscriptions. */\n originalTransactionDate?: string\n /** The web order line item ID, used for auto-renewable subscriptions on some platforms. */\n webOrderLineItemID?: string\n /** The app bundle ID associated with this transaction. */\n appBundleId?: string\n /** The identifier for the subscription group this transaction belongs to. */\n subscriptionGroupId?: string\n /** Indicates if this transaction represents an upgrade from a previous subscription. */\n isUpgraded?: boolean\n /** The ISO 8601 date string of when the subscription or product access expires. */\n expirationDate?: string\n /** The offer ID associated with this transaction, if any. */\n offerId?: string\n /** The ISO 8601 date string if the transaction was revoked by the store or developer. */\n revocationDate?: string\n /** The App Store account token, specific to Apple's App Store. */\n appAccountToken?: string\n /** The purchase token for Android transactions (Google Play). */\n purchaseToken?: string\n /** The signature for Android transactions for verification (Google Play). */\n signature?: string\n}\n\n/**\n * Represents the type of restoration process that occurred.\n */\nexport type RestoreType =\n | {\n /** Indicates that the restoration occurred as part of a purchase attempt. */\n type: \"viaPurchase\"\n /**\n * The store transaction associated with the purchase that led to the restoration, if available.\n * See {@link StoreTransaction}.\n */\n storeTransaction?: StoreTransaction\n }\n | {\n /** Indicates that the restoration was initiated manually by the user (e.g., by tapping a \"Restore Purchases\" button). */\n type: \"viaRestore\"\n }\n\n/**\n * Defines the possible statuses of a paywall presentation request.\n * - `presentation`: A paywall is being or will be presented.\n * - `noPresentation`: No paywall will be presented.\n * - `timeout`: The request to determine presentation timed out.\n */\nexport type PaywallPresentationRequestStatusType = \"presentation\" | \"noPresentation\" | \"timeout\"\n\n/**\n * Represents the status of a request to present a paywall.\n */\nexport interface PaywallPresentationRequestStatus {\n /** The overall status of the paywall presentation request. See {@link PaywallPresentationRequestStatusType}. */\n status: PaywallPresentationRequestStatusType\n}\n\n/**\n * Provides the reason behind the status of a paywall presentation request, especially when no paywall is shown.\n */\nexport type PaywallPresentationRequestStatusReason =\n | {\n /** A paywall was presented because the debugger is active. */\n reason: \"debuggerPresented\"\n }\n | {\n /** No paywall was presented because one is already being displayed. */\n reason: \"paywallAlreadyPresented\"\n }\n | {\n /** No paywall was presented because the user is in a holdout group of an experiment. */\n reason: \"holdout\"\n /**\n * Information about the experiment that led to this holdout.\n * See {@link Experiment}.\n */\n experiment: Experiment\n }\n | {\n /** No paywall was presented because the user did not match any audience rules. */\n reason: \"noRuleMatch\"\n }\n | {\n /** No paywall was presented because the triggering event was not found. */\n reason: \"eventNotFound\"\n }\n | {\n /** No paywall was presented because the paywall view controller is not available (native SDK specific). */\n reason: \"noPaywallViewController\"\n }\n | {\n /** No paywall was presented because there is no view controller available to present it on (native SDK specific). */\n reason: \"noViewController\"\n }\n | {\n /** No paywall was presented because the user is already subscribed. */\n reason: \"userIsSubscribed\"\n }\n | {\n /** No paywall was presented due to an error. */\n reason: \"error\"\n /** A string describing the error. */\n error: string\n }\n | {\n /** No paywall was presented because it is gated by some condition. */\n reason: \"paywallIsGated\"\n /**\n * Information about the paywall that was gated.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n }\n\n/**\n * Represents a Superwall event that can be tracked by the SDK.\n * This is a discriminated union type where the `event` property determines the specific event and its associated payload.\n * These events provide insights into user behavior, SDK operations, and paywall interactions.\n */\n\n// Individual Superwall Event Interfaces/Types\n\n/**\n * User's first time seeing a Superwall-related element or paywall.\n */\nexport interface FirstSeenEvent {\n /** User's first time seeing a Superwall-related element or paywall. */\n event: \"firstSeen\"\n}\n\n/**\n * The application was opened.\n */\nexport interface AppOpenEvent {\n /** The application was opened. */\n event: \"appOpen\"\n}\n\n/**\n * The application was launched.\n */\nexport interface AppLaunchEvent {\n /** The application was launched. */\n event: \"appLaunch\"\n}\n\n/**\n * An alias was set for the user's identity.\n */\nexport interface IdentityAliasEvent {\n /** An alias was set for the user's identity. */\n event: \"identityAlias\"\n}\n\n/**\n * The application was installed.\n */\nexport interface AppInstallEvent {\n /** The application was installed. */\n event: \"appInstall\"\n}\n\n/**\n * A new user session started.\n */\nexport interface SessionStartEvent {\n /** A new user session started. */\n event: \"sessionStart\"\n}\n\n/**\n * The user's identity was reset (logged out).\n */\nexport interface ResetEvent {\n /** The user's identity was reset (logged out). */\n event: \"reset\"\n}\n\n/**\n * The Superwall configuration was refreshed.\n */\nexport interface ConfigRefreshEvent {\n /** The Superwall configuration was refreshed. */\n event: \"configRefresh\"\n}\n\n/**\n * Failed to refresh the Superwall configuration.\n */\nexport interface ConfigFailEvent {\n /** Failed to refresh the Superwall configuration. */\n event: \"configFail\"\n}\n\n/**\n * Attributes were passed with the Superwall configuration.\n */\nexport interface ConfigAttributesEvent {\n /** Attributes were passed with the Superwall configuration. */\n event: \"configAttributes\"\n}\n\n/**\n * All pending paywall assignments have been confirmed.\n */\nexport interface ConfirmAllAssignmentsEvent {\n /** All pending paywall assignments have been confirmed. */\n event: \"confirmAllAssignments\"\n}\n\n/**\n * A touch event began on the screen (generic).\n */\nexport interface TouchesBeganEvent {\n /** A touch event began on the screen (generic). */\n event: \"touchesBegan\"\n}\n\n/**\n * A survey was closed.\n */\nexport interface SurveyCloseEvent {\n /** A survey was closed. */\n event: \"surveyClose\"\n}\n\n/**\n * Restoration of purchases started.\n */\nexport interface RestoreStartEvent {\n /** Restoration of purchases started. */\n event: \"restoreStart\"\n}\n\n/**\n * Restoration of purchases completed successfully.\n */\nexport interface RestoreCompleteEvent {\n /** Restoration of purchases completed successfully. */\n event: \"restoreComplete\"\n}\n\n/**\n * Restoration of purchases failed.\n */\nexport interface RestoreFailEvent {\n /** Restoration of purchases failed. */\n event: \"restoreFail\"\n /** The error message. */\n message: string\n}\n\n/**\n * Request for AdServices token started.\n */\nexport interface AdServicesTokenRequestStartEvent {\n /** Request for AdServices token started. */\n event: \"adServicesTokenRequestStart\"\n}\n\n/**\n * Request for AdServices token failed.\n */\nexport interface AdServicesTokenRequestFailEvent {\n /** Request for AdServices token failed. */\n event: \"adServicesTokenRequestFail\"\n /** The error message. */\n error: string\n}\n\n/**\n * Request for AdServices token completed.\n */\nexport interface AdServicesTokenRequestCompleteEvent {\n /** Request for AdServices token completed. */\n event: \"adServicesTokenRequestComplete\"\n /** The AdServices token. */\n token: string\n}\n\n/**\n * Shimmer view (placeholder loading) started.\n */\nexport interface ShimmerViewStartEvent {\n /** Shimmer view (placeholder loading) started. */\n event: \"shimmerViewStart\"\n}\n\n/**\n * Shimmer view (placeholder loading) completed.\n */\nexport interface ShimmerViewCompleteEvent {\n /** Shimmer view (placeholder loading) completed. */\n event: \"shimmerViewComplete\"\n}\n\n/**\n * Redemption of a promotional code started.\n */\nexport interface RedemptionStartEvent {\n /** Redemption of a promotional code started. */\n event: \"redemptionStart\"\n}\n\n/**\n * Redemption of a promotional code completed.\n */\nexport interface RedemptionCompleteEvent {\n /** Redemption of a promotional code completed. */\n event: \"redemptionComplete\"\n}\n\n/**\n * Redemption of a promotional code failed.\n */\nexport interface RedemptionFailEvent {\n /** Redemption of a promotional code failed. */\n event: \"redemptionFail\"\n}\n\n/**\n * Data enrichment process started.\n */\nexport interface EnrichmentStartEvent {\n /** Data enrichment process started. */\n event: \"enrichmentStart\"\n}\n\n/**\n * Data enrichment process completed.\n */\nexport interface EnrichmentCompleteEvent {\n /** Data enrichment process completed. */\n event: \"enrichmentComplete\"\n /** Enriched user data, if any. */\n userEnrichment?: Record<string, any>\n /** Enriched device data, if any. */\n deviceEnrichment?: Record<string, any>\n}\n\n/**\n * Data enrichment process failed.\n */\nexport interface EnrichmentFailEvent {\n /** Data enrichment process failed. */\n event: \"enrichmentFail\"\n}\n\n/**\n * An unknown or uncategorized event occurred.\n */\nexport interface UnknownEvent {\n /** An unknown or uncategorized event occurred. */\n event: \"unknown\"\n}\n\n/**\n * Device attributes were updated.\n */\nexport interface DeviceAttributesEvent {\n /** Device attributes were updated. */\n event: \"deviceAttributes\"\n /** The updated device attributes. */\n attributes: Record<string, any>\n}\n\n/**\n * The user's subscription status changed.\n */\nexport interface SubscriptionStatusDidChangeEvent {\n /** The user's subscription status changed. */\n event: \"subscriptionStatusDidChange\"\n /**\n * The new subscription status.\n * See {@link SubscriptionStatus}.\n */\n subscriptionStatus: SubscriptionStatus\n}\n\n/**\n * The application was closed.\n */\nexport interface AppCloseEvent {\n /** The application was closed. */\n event: \"appClose\"\n}\n\n/**\n * A deep link was opened by the application, potentially via Superwall.\n */\nexport interface DeepLinkEvent {\n /** A deep link was opened by the application, potentially via Superwall. */\n event: \"deepLink\"\n /** The URL of the deep link. */\n url: string\n}\n\n/**\n * A trigger was fired based on an event or placement.\n */\nexport interface TriggerFireEvent {\n /** A trigger was fired based on an event or placement. */\n event: \"triggerFire\"\n /** The name of the event or placement that caused the trigger to fire. */\n placementName: string\n /**\n * The result of the trigger evaluation, determining what action Superwall will take.\n * See {@link TriggerResult}.\n */\n result: TriggerResult\n}\n\n/**\n * A paywall was opened.\n */\nexport interface PaywallOpenEvent {\n /** A paywall was opened. */\n event: \"paywallOpen\"\n /**\n * Information about the paywall that was opened.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A paywall was closed.\n */\nexport interface PaywallCloseEvent {\n /** A paywall was closed. */\n event: \"paywallClose\"\n /**\n * Information about the paywall that was closed.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * The user explicitly declined a paywall.\n */\nexport interface PaywallDeclineEvent {\n /** The user explicitly declined a paywall. */\n event: \"paywallDecline\"\n /**\n * Information about the paywall that was declined.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A transaction (purchase, restore) was initiated.\n */\nexport interface TransactionStartEvent {\n /** A transaction (purchase, restore) was initiated. */\n event: \"transactionStart\"\n /**\n * Identifier of the product involved in the transaction.\n * See {@link TransactionProductIdentifier}.\n */\n product: TransactionProductIdentifier\n /**\n * Information about the paywall from which the transaction was initiated.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A transaction failed.\n */\nexport interface TransactionFailEvent {\n /** A transaction failed. */\n event: \"transactionFail\"\n /** The error message from the transaction failure. */\n error: string\n /**\n * Information about the paywall associated with the failed transaction.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A transaction was abandoned by the user.\n */\nexport interface TransactionAbandonEvent {\n /** A transaction was abandoned by the user. */\n event: \"transactionAbandon\"\n /**\n * Identifier of the product involved in the abandoned transaction.\n * See {@link TransactionProductIdentifier}.\n */\n product: TransactionProductIdentifier\n /**\n * Information about the paywall associated with the abandoned transaction.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A transaction was successfully completed.\n */\nexport interface TransactionCompleteEvent {\n /** A transaction was successfully completed. */\n event: \"transactionComplete\"\n /**\n * Detailed information about the store transaction, if available.\n * See {@link StoreTransaction}.\n */\n transaction?: StoreTransaction\n /**\n * Identifier of the product involved in the completed transaction.\n * See {@link TransactionProductIdentifier}.\n */\n product: TransactionProductIdentifier\n /** The type of the transaction (e.g., \"purchase\", \"restore\"). */\n type: string\n /**\n * Information about the paywall associated with the completed transaction.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A new subscription was started.\n */\nexport interface SubscriptionStartEvent {\n /** A new subscription was started. */\n event: \"subscriptionStart\"\n /**\n * Identifier of the product for which the subscription started.\n * See {@link TransactionProductIdentifier}.\n */\n product: TransactionProductIdentifier\n /**\n * Information about the paywall associated with the subscription start.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A free trial was started.\n */\nexport interface FreeTrialStartEvent {\n /** A free trial was started. */\n event: \"freeTrialStart\"\n /**\n * Identifier of the product for which the free trial started.\n * See {@link TransactionProductIdentifier}.\n */\n product: TransactionProductIdentifier\n /**\n * Information about the paywall associated with the free trial start.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A transaction was restored.\n */\nexport interface TransactionRestoreEvent {\n /** A transaction was restored. */\n event: \"transactionRestore\"\n /**\n * The type of restoration process.\n * See {@link RestoreType}.\n */\n restoreType: RestoreType\n /**\n * Information about the paywall associated with the restoration.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A transaction timed out.\n */\nexport interface TransactionTimeoutEvent {\n /** A transaction timed out. */\n event: \"transactionTimeout\"\n /**\n * Information about the paywall associated with the timed-out transaction.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * User attributes were updated.\n */\nexport interface UserAttributesEvent {\n /** User attributes were updated. */\n event: \"userAttributes\"\n /** The updated user attributes. */\n attributes: Record<string, any>\n}\n\n/**\n * A non-recurring product was purchased.\n */\nexport interface NonRecurringProductPurchaseEvent {\n /** A non-recurring product was purchased. */\n event: \"nonRecurringProductPurchase\"\n /**\n * Identifier of the purchased non-recurring product.\n * See {@link TransactionProductIdentifier}.\n */\n product: TransactionProductIdentifier\n /**\n * Information about the paywall associated with the purchase.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * Loading of the paywall response from the server started.\n */\nexport interface PaywallResponseLoadStartEvent {\n /** Loading of the paywall response from the server started. */\n event: \"paywallResponseLoadStart\"\n /** The name of the event or placement that triggered this load. */\n triggeredEventName: string\n}\n\n/**\n * The paywall response was not found on the server.\n */\nexport interface PaywallResponseLoadNotFoundEvent {\n /** The paywall response was not found on the server. */\n event: \"paywallResponseLoadNotFound\"\n /** The name of the event or placement that triggered this load. */\n triggeredEventName: string\n}\n\n/**\n * Loading of the paywall response from the server failed.\n */\nexport interface PaywallResponseLoadFailEvent {\n /** Loading of the paywall response from the server failed. */\n event: \"paywallResponseLoadFail\"\n /** The name of the event or placement that triggered this load. */\n triggeredEventName: string\n}\n\n/**\n * Loading of the paywall response from the server completed successfully.\n */\nexport interface PaywallResponseLoadCompleteEvent {\n /** Loading of the paywall response from the server completed successfully. */\n event: \"paywallResponseLoadComplete\"\n /** The name of the event or placement that triggered this load. */\n triggeredEventName: string\n /**\n * Information about the loaded paywall.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * The web view started loading the paywall's content.\n */\nexport interface PaywallWebviewLoadStartEvent {\n /** The web view started loading the paywall's content. */\n event: \"paywallWebviewLoadStart\"\n /**\n * Information about the paywall whose web view is loading.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * The web view failed to load the paywall's content.\n */\nexport interface PaywallWebviewLoadFailEvent {\n /** The web view failed to load the paywall's content. */\n event: \"paywallWebviewLoadFail\"\n /**\n * Information about the paywall whose web view failed to load.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * The web view completed loading the paywall's content.\n */\nexport interface PaywallWebviewLoadCompleteEvent {\n /** The web view completed loading the paywall's content. */\n event: \"paywallWebviewLoadComplete\"\n /**\n * Information about the paywall whose web view completed loading.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * The web view timed out while loading the paywall's content.\n */\nexport interface PaywallWebviewLoadTimeoutEvent {\n /** The web view timed out while loading the paywall's content. */\n event: \"paywallWebviewLoadTimeout\"\n /**\n * Information about the paywall whose web view timed out.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * The web view used fallback content for the paywall due to a loading issue.\n */\nexport interface PaywallWebviewLoadFallbackEvent {\n /** The web view used fallback content for the paywall due to a loading issue. */\n event: \"paywallWebviewLoadFallback\"\n /**\n * Information about the paywall that used fallback content.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * Loading of products for the paywall started.\n */\nexport interface PaywallProductsLoadStartEvent {\n /** Loading of products for the paywall started. */\n event: \"paywallProductsLoadStart\"\n /** The name of the event or placement that triggered this load. */\n triggeredEventName: string\n /**\n * Information about the paywall for which products are loading.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * Loading of products for the paywall failed.\n */\nexport interface PaywallProductsLoadFailEvent {\n /** Loading of products for the paywall failed. */\n event: \"paywallProductsLoadFail\"\n /** The name of the event or placement that triggered this load. */\n triggeredEventName: string\n /**\n * Information about the paywall for which product loading failed.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * Loading of products for the paywall completed successfully.\n */\nexport interface PaywallProductsLoadCompleteEvent {\n /** Loading of products for the paywall completed successfully. */\n event: \"paywallProductsLoadComplete\"\n /** The name of the event or placement that triggered this load. */\n triggeredEventName: string\n /**\n * Information about the paywall for which products completed loading.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * Retrying the loading of products for the paywall.\n */\nexport interface PaywallProductsLoadRetryEvent {\n /** Retrying the loading of products for the paywall. */\n event: \"paywallProductsLoadRetry\"\n /** The name of the event or placement that triggered this load. */\n triggeredEventName: string\n /**\n * Information about the paywall for which product loading is being retried.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n /** The attempt number for this retry. */\n attempt: number\n}\n\n/**\n * A response to a survey was submitted by the user.\n */\nexport interface SurveyResponseEvent {\n /** A response to a survey was submitted by the user. */\n event: \"surveyResponse\"\n /**\n * The survey that was responded to.\n * See {@link Survey}.\n */\n survey: Survey\n /**\n * The option selected by the user in the survey.\n * See {@link SurveyOption}.\n */\n selectedOption: SurveyOption\n /** The custom response text entered by the user, if any. */\n customResponse?: string\n /**\n * Information about the paywall where the survey was presented.\n * See {@link PaywallInfo}.\n */\n paywallInfo: PaywallInfo\n}\n\n/**\n * A request to present a paywall was made.\n */\nexport interface PaywallPresentationRequestEvent {\n /** A request to present a paywall was made. */\n event: \"paywallPresentationRequest\"\n /**\n * The status of the presentation request.\n * See {@link PaywallPresentationRequestStatus}.\n */\n status: PaywallPresentationRequestStatus\n /**\n * The reason for the status, if applicable (e.g., why a paywall was not presented).\n * See {@link PaywallPresentationRequestStatusReason}.\n */\n reason?: PaywallPresentationRequestStatusReason\n}\n\n/**\n * A custom placement (defined by the developer) was executed.\n */\nexport interface CustomPlacementEvent {\n /** A custom placement (defined by the developer) was executed. */\n event: \"customPlacement\"\n /** The name of the custom placement. */\n name: string\n /** Parameters associated with the custom placement. */\n params: Record<string, any>\n /**\n * Information about the paywall shown for this placement, if any.\n * See {@link PaywallInfo}.\n */\n paywallInfo?: PaywallInfo\n}\n\n/**\n * A union of all possible string literal values for the `event` property from all specific Superwall event types.\n * This type can be used when you need to refer to an event type name itself.\n */\nexport type SuperwallEventType =\n | FirstSeenEvent[\"event\"]\n | AppOpenEvent[\"event\"]\n | AppLaunchEvent[\"event\"]\n | IdentityAliasEvent[\"event\"]\n | AppInstallEvent[\"event\"]\n | SessionStartEvent[\"event\"]\n | ResetEvent[\"event\"]\n | ConfigRefreshEvent[\"event\"]\n | ConfigFailEvent[\"event\"]\n | ConfigAttributesEvent[\"event\"]\n | ConfirmAllAssignmentsEvent[\"event\"]\n | TouchesBeganEvent[\"event\"]\n | SurveyCloseEvent[\"event\"]\n | RestoreStartEvent[\"event\"]\n | RestoreCompleteEvent[\"event\"]\n | RestoreFailEvent[\"event\"]\n | AdServicesTokenRequestStartEvent[\"event\"]\n | AdServicesTokenRequestFailEvent[\"event\"]\n | AdServicesTokenRequestCompleteEvent[\"event\"]\n | ShimmerViewStartEvent[\"event\"]\n | ShimmerViewCompleteEvent[\"event\"]\n | RedemptionStartEvent[\"event\"]\n | RedemptionCompleteEvent[\"event\"]\n | RedemptionFailEvent[\"event\"]\n | EnrichmentStartEvent[\"event\"]\n | EnrichmentCompleteEvent[\"event\"]\n | EnrichmentFailEvent[\"event\"]\n | UnknownEvent[\"event\"]\n | DeviceAttributesEvent[\"event\"]\n | SubscriptionStatusDidChangeEvent[\"event\"]\n | AppCloseEvent[\"event\"]\n | DeepLinkEvent[\"event\"]\n | TriggerFireEvent[\"event\"]\n | PaywallOpenEvent[\"event\"]\n | PaywallCloseEvent[\"event\"]\n | PaywallDeclineEvent[\"event\"]\n | TransactionStartEvent[\"event\"]\n | TransactionFailEvent[\"event\"]\n | TransactionAbandonEvent[\"event\"]\n | TransactionCompleteEvent[\"event\"]\n | SubscriptionStartEvent[\"event\"]\n | FreeTrialStartEvent[\"event\"]\n | TransactionRestoreEvent[\"event\"]\n | TransactionTimeoutEvent[\"event\"]\n | UserAttributesEvent[\"event\"]\n | NonRecurringProductPurchaseEvent[\"event\"]\n | PaywallResponseLoadStartEvent[\"event\"]\n | PaywallResponseLoadNotFoundEvent[\"event\"]\n | PaywallResponseLoadFailEvent[\"event\"]\n | PaywallResponseLoadCompleteEvent[\"event\"]\n | PaywallWebviewLoadStartEvent[\"event\"]\n | PaywallWebviewLoadFailEvent[\"event\"]\n | PaywallWebviewLoadCompleteEvent[\"event\"]\n | PaywallWebviewLoadTimeoutEvent[\"event\"]\n | PaywallWebviewLoadFallbackEvent[\"event\"]\n | PaywallProductsLoadStartEvent[\"event\"]\n | PaywallProductsLoadFailEvent[\"event\"]\n | PaywallProductsLoadCompleteEvent[\"event\"]\n | PaywallProductsLoadRetryEvent[\"event\"]\n | SurveyResponseEvent[\"event\"]\n | PaywallPresentationRequestEvent[\"event\"]\n | CustomPlacementEvent[\"event\"]\n\n/**\n * Represents a Superwall event that can be tracked by the SDK.\n * This is a discriminated union type where the `event` property determines the specific event and its associated payload.\n * These events provide insights into user behavior, SDK operations, and paywall interactions.\n */\nexport type SuperwallEvent =\n | FirstSeenEvent\n | AppOpenEvent\n | AppLaunchEvent\n | IdentityAliasEvent\n | AppInstallEvent\n | SessionStartEvent\n | ResetEvent\n | ConfigRefreshEvent\n | ConfigFailEvent\n | ConfigAttributesEvent\n | ConfirmAllAssignmentsEvent\n | TouchesBeganEvent\n | SurveyCloseEvent\n | RestoreStartEvent\n | RestoreCompleteEvent\n | RestoreFailEvent\n | AdServicesTokenRequestStartEvent\n | AdServicesTokenRequestFailEvent\n | AdServicesTokenRequestCompleteEvent\n | ShimmerViewStartEvent\n | ShimmerViewCompleteEvent\n | RedemptionStartEvent\n | RedemptionCompleteEvent\n | RedemptionFailEvent\n | EnrichmentStartEvent\n | EnrichmentCompleteEvent\n | EnrichmentFailEvent\n | UnknownEvent\n | DeviceAttributesEvent\n | SubscriptionStatusDidChangeEvent\n | AppCloseEvent\n | DeepLinkEvent\n | TriggerFireEvent\n | PaywallOpenEvent\n | PaywallCloseEvent\n | PaywallDeclineEvent\n | TransactionStartEvent\n | TransactionFailEvent\n | TransactionAbandonEvent\n | TransactionCompleteEvent\n | SubscriptionStartEvent\n | FreeTrialStartEvent\n | TransactionRestoreEvent\n | TransactionTimeoutEvent\n | UserAttributesEvent\n | NonRecurringProductPurchaseEvent\n | PaywallResponseLoadStartEvent\n | PaywallResponseLoadNotFoundEvent\n | PaywallResponseLoadFailEvent\n | PaywallResponseLoadCompleteEvent\n | PaywallWebviewLoadStartEvent\n | PaywallWebviewLoadFailEvent\n | PaywallWebviewLoadCompleteEvent\n | PaywallWebviewLoadTimeoutEvent\n | PaywallWebviewLoadFallbackEvent\n | PaywallProductsLoadStartEvent\n | PaywallProductsLoadFailEvent\n | PaywallProductsLoadCompleteEvent\n | PaywallProductsLoadRetryEvent\n | SurveyResponseEvent\n | PaywallPresentationRequestEvent\n | CustomPlacementEvent\n\n/**\n * Contains information about a Superwall event, including the specific {@link SuperwallEvent}\n * that occurred and any associated parameters. This structure is used by the `onSuperwallEvent` callback\n * in {@link SuperwallEventCallbacks} and the `handleSuperwallEvent` in {@link SuperwallExpoModuleEvents}.\n */\nexport interface SuperwallEventInfo {\n /** The specific Superwall event that occurred. See {@link SuperwallEvent}. */\n event: SuperwallEvent\n /**\n * Additional parameters associated with the event. The structure of these parameters\n * depends on the specific event type and often mirrors the properties defined within\n * the {@link SuperwallEvent} union members.\n */\n params: Record<string, any>\n}\n\n/**\n * Defines the verbosity level for logging within the Superwall SDK.\n * - `debug`: Outputs detailed debugging information, useful for development and troubleshooting.\n * - `info`: Outputs general information about SDK activity and state changes.\n * - `warn`: Outputs warnings about potential issues or deprecated usage.\n * - `error`: Outputs error messages for issues encountered by the SDK.\n * - `none`: Disables all logging from the SDK.\n */\nexport type LogLevel = \"debug\" | \"info\" | \"warn\" | \"error\" | \"none\"\n\n/**\n * Defines the scope of logging within the Superwall SDK, allowing for targeted logging of specific SDK components or features.\n * Using these scopes can help narrow down logs to relevant areas when debugging.\n *\n * Possible values include:\n * - `localizationManager`: Logs related to localization and language settings.\n * - `bounceButton`: Logs related to the animated bounce button feature.\n * - `coreData`: Logs related to internal data storage (native specific).\n * - `configManager`: Logs related to fetching and managing Superwall configurations.\n * - `identityManager`: Logs related to user identification and session management.\n * - `debugManager`: Logs related to the Superwall debugger.\n * - `debugViewController`: Logs related to the debugger's view controller (native specific).\n * - `localizationViewController`: Logs related to localization view controllers (native specific).\n * - `gameControllerManager`: Logs related to game controller interactions (native specific).\n * - `device`: Logs related to device information and properties.\n * - `network`: Logs related to network requests made by the SDK.\n * - `paywallEvents`: Logs related to events occurring on the paywall itself.\n * - `productsManager`: Logs related to fetching and managing product information from app stores.\n * - `storeKitManager`: Logs related to StoreKit interactions (iOS specific).\n * - `placements`: Logs related to placements and their evaluation.\n * - `receipts`: Logs related to App Store receipt validation and processing.\n * - `superwallCore`: Logs related to the core functionalities of the Superwall SDK.\n * - `paywallPresentation`: Logs related to the presentation logic of paywalls.\n * - `paywallTransactions`: Logs related to transactions initiated from paywalls.\n * - `paywallViewController`: Logs related to the paywall view controller (native specific).\n * - `cache`: Logs related to caching mechanisms within the SDK.\n * - `all`: Enables logging for all scopes.\n */\nexport type LogScope =\n | \"localizationManager\"\n | \"bounceButton\"\n | \"coreData\"\n | \"configManager\"\n | \"identityManager\"\n | \"debugManager\"\n | \"debugViewController\"\n | \"localizationViewController\"\n | \"gameControllerManager\"\n | \"device\"\n | \"network\"\n | \"paywallEvents\"\n | \"productsManager\"\n | \"storeKitManager\"\n | \"placements\"\n | \"receipts\"\n | \"superwallCore\"\n | \"paywallPresentation\"\n | \"paywallTransactions\"\n | \"paywallViewController\"\n | \"cache\"\n | \"all\"\n\nexport type OnPurchaseParamsIOS = { productId: string; platform: \"ios\" }\n\nexport type OnPurchaseParamsAndroid = {\n productId: string\n platform: \"android\"\n basePlanId: string\n offerId?: string\n}\n\nexport type OnPurchaseParams = OnPurchaseParamsIOS | OnPurchaseParamsAndroid\n\n/**\n * Defines the events emitted by the native Superwall Expo module that can be listened to.\n * These events provide a way to react to various SDK activities and user interactions.\n * Use `SuperwallExpoModule.addListener(eventName, callback)` to subscribe.\n */\nexport type SuperwallExpoModuleEvents = {\n /**\n * Emitted when a paywall is presented to the user.\n * @param params - Event parameters.\n * @param params.paywallInfoJson - JSON representation of {@link PaywallInfo} for the presented paywall.\n * @param params.handlerId - Identifier for the handler that triggered this presentation (e.g., from `usePlacement`).\n */\n onPaywallPresent: (params: { paywallInfoJson: PaywallInfo; handlerId: string }) => void\n /**\n * Emitted when a paywall is dismissed by the user or programmatically.\n * @param params - Event parameters.\n * @param params.paywallInfoJson - JSON representation of {@link PaywallInfo} for the dismissed paywall.\n * @param params.result - The result of the paywall interaction. See {@link PaywallResult}.\n * @param params.handlerId - Identifier for the handler associated with this paywall.\n */\n onPaywallDismiss: (params: {\n paywallInfoJson: PaywallInfo\n result: PaywallResult\n handlerId: string\n }) => void\n /**\n * Emitted when an error occurs during the paywall presentation process.\n * @param params - Event parameters.\n * @param params.errorString - A string describing the error.\n * @param params.handlerId - Identifier for the handler associated with this error, if applicable.\n */\n onPaywallError: (params: { errorString: string; handlerId: string }) => void\n /**\n * Emitted when a paywall presentation is skipped (e.g., user is in a holdout group, no rule match).\n * @param params - Event parameters.\n * @param params.skippedReason - The reason why the paywall was skipped. See {@link PaywallSkippedReason}.\n * @param params.handlerId - Identifier for the handler associated with this skipped paywall.\n */\n onPaywallSkip: (params: { skippedReason: PaywallSkippedReason; handlerId: string }) => void\n\n // --- SuperwallDelegateBridge Events ---\n /**\n * Emitted when the user's subscription status changes.\n * @param params - Event parameters.\n * @param params.from - The previous subscription status. See {@link SubscriptionStatus}.\n * @param params.to - The new subscription status. See {@link SubscriptionStatus}.\n */\n subscriptionStatusDidChange: (params: {\n from: SubscriptionStatus\n to: SubscriptionStatus\n }) => void\n /**\n * Emitted for various internal Superwall events, providing a detailed stream of SDK activity.\n * @param params - Event parameters.\n * @param params.eventInfo - Detailed information about the Superwall event. See {@link SuperwallEventInfo}.\n */\n handleSuperwallEvent: (params: { eventInfo: SuperwallEventInfo }) => void\n /**\n * Emitted when a custom action is invoked from a paywall's JavaScript.\n * @param params - Event parameters.\n * @param params.name - The name of the custom action that was invoked.\n */\n handleCustomPaywallAction: (params: { name: string }) => void\n /**\n * Emitted just before a paywall is dismissed.\n * @param params - Event parameters.\n * @param params.info - Information about the paywall that will be dismissed. See {@link PaywallInfo}.\n */\n willDismissPaywall: (params: { info: PaywallInfo }) => void\n /**\n * Emitted just before a paywall is presented.\n * @param params - Event parameters.\n * @param params.info - Information about the paywall that will be presented. See {@link PaywallInfo}.\n */\n willPresentPaywall: (params: { info: PaywallInfo }) => void\n /**\n * Emitted after a paywall has been dismissed.\n * @param params - Event parameters.\n * @param params.info - Information about the paywall that was dismissed. See {@link PaywallInfo}.\n */\n didDismissPaywall: (params: { info: PaywallInfo }) => void\n /**\n * Emitted after a paywall has been presented.\n * @param params - Event parameters.\n * @param params.info - Information about the paywall that was presented. See {@link PaywallInfo}.\n */\n didPresentPaywall: (params: { info: PaywallInfo }) => void\n /**\n * Emitted when the paywall intends to open an external URL.\n * @param params - Event parameters.\n * @param params.url - The URL that the paywall intends to open.\n */\n paywallWillOpenURL: (params: { url: string }) => void\n /**\n * Emitted when the paywall intends to open a deep link.\n * @param params - Event parameters.\n * @param params.url - The deep link URL that the paywall intends to open.\n */\n paywallWillOpenDeepLink: (params: { url: string }) => void\n /**\n * Emitted for logging messages generated by the native SDK.\n * @param params - Log parameters.\n * @param params.level - The log level. See {@link LogLevel}.\n * @param params.scope - The scope of the log. See {@link LogScope}.\n * @param params.message - The log message (can be null).\n * @param params.info - Additional structured information for the log (can be null).\n * @param params.error - Error message if the log represents an error (can be null).\n */\n handleLog: (params: {\n level: LogLevel\n scope: LogScope\n message: string | null\n info: Record<string, any> | null\n error: string | null\n }) => void\n /**\n * Emitted before the SDK attempts to redeem a promotional link or code.\n * @param params - Event parameters. For iOS, this is typically an empty dictionary.\n */\n willRedeemLink: (params: Record<string, never> | null) => void\n /**\n * Emitted after the SDK has attempted to redeem a promotional link or code.\n * @param params - The result of the redemption attempt. See {@link RedemptionResult}.\n */\n didRedeemLink: (params: RedemptionResult) => void\n\n // Purchase Events\n /**\n * Emitted when a purchase is initiated by the user from a paywall.\n * @param params - Parameters related to the purchase.\n * - For iOS: `{ productId: string; platform: \"ios\" }`\n * - For Android: `{ productId: string; platform: \"android\"; basePlanId: string; offerId?: string }`\n * (offerId is optional for Android).\n */\n onPurchase: (params: OnPurchaseParams) => void\n /**\n * Emitted when a purchase restoration process is initiated by the user.\n * @param params - Event parameters. For iOS, this is `null`.\n */\n onPurchaseRestore: () => void\n}\n"]}
@@ -9,7 +9,7 @@ import type { PresentationResult } from "./lib/PresentationResult";
9
9
  import type { PurchaseController } from "./lib/PurchaseController";
10
10
  import { SubscriptionStatus } from "./lib/SubscriptionStatus";
11
11
  import type { SuperwallDelegate } from "./lib/SuperwallDelegate";
12
- import type { SuperwallOptions } from "./lib/SuperwallOptions";
12
+ import { SuperwallOptions } from "./lib/SuperwallOptions";
13
13
  export { PaywallResult } from "./lib/PaywallResult";
14
14
  export { ComputedPropertyRequest } from "./lib/ComputedPropertyRequest";
15
15
  export { ConfigurationStatus } from "./lib/ConfigurationStatus";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/compat/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/compat/index.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { PaywallSkippedReason } from "./lib/PaywallSkippedReason";
8
8
  import { RedemptionResults } from "./lib/RedemptionResults";
9
9
  import { SubscriptionStatus } from "./lib/SubscriptionStatus";
10
10
  import { SuperwallEventInfo } from "./lib/SuperwallEventInfo";
11
+ import { SuperwallOptions } from "./lib/SuperwallOptions";
11
12
  import { EventEmitter } from "expo";
12
13
  import { version } from "../../package.json";
13
14
  import SuperwallExpoModule from "../SuperwallExpoModule";
@@ -213,7 +214,11 @@ export default class Superwall {
213
214
  */
214
215
  static async configure({ apiKey, options, purchaseController, completion, }) {
215
216
  Superwall.purchaseController = purchaseController;
216
- await SuperwallExpoModule.configure(apiKey, options?.toJson(), !!purchaseController, `${version}compat`);
217
+ // Ensure options is always a SuperwallOptions instance with defaults
218
+ const superwallOptions = options instanceof SuperwallOptions
219
+ ? options
220
+ : new SuperwallOptions(options);
221
+ await SuperwallExpoModule.configure(apiKey, superwallOptions.toJson(), !!purchaseController, `${version}compat`);
217
222
  completion?.();
218
223
  Superwall.setDidConfigure(true);
219
224
  return Superwall._superwall;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/compat/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Assignment } from \"./lib/Assigments\"\nimport { ConfigurationStatus } from \"./lib/ConfigurationStatus\"\nimport { EntitlementsInfo } from \"./lib/EntitlementsInfo\"\nimport { IdentityOptions } from \"./lib/IdentityOptions\"\nimport type { InterfaceStyle } from \"./lib/InterfaceStyle\"\nimport type { LogLevel } from \"./lib/LogLevel\"\nimport { PaywallInfo } from \"./lib/PaywallInfo\"\nimport type { PaywallPresentationHandler } from \"./lib/PaywallPresentationHandler\"\nimport { fromJson as paywallResultFromJson } from \"./lib/PaywallResult\"\nimport { PaywallSkippedReason } from \"./lib/PaywallSkippedReason\"\nimport type { PresentationResult } from \"./lib/PresentationResult\"\nimport type { PurchaseController } from \"./lib/PurchaseController\"\nimport { RedemptionResults } from \"./lib/RedemptionResults\"\nimport { SubscriptionStatus } from \"./lib/SubscriptionStatus\"\nimport type { SuperwallDelegate } from \"./lib/SuperwallDelegate\"\nimport { SuperwallEventInfo } from \"./lib/SuperwallEventInfo\"\nimport type { SuperwallOptions } from \"./lib/SuperwallOptions\"\n\nexport { PaywallResult } from \"./lib/PaywallResult\"\n\nimport { EventEmitter } from \"expo\"\nimport { version } from \"../../package.json\"\nimport SuperwallExpoModule from \"../SuperwallExpoModule\"\n\nexport { ComputedPropertyRequest } from \"./lib/ComputedPropertyRequest\"\nexport { ConfigurationStatus } from \"./lib/ConfigurationStatus\"\nexport { EntitlementsInfo } from \"./lib/EntitlementsInfo\"\nexport { Experiment } from \"./lib/Experiment\"\nexport { FeatureGatingBehavior } from \"./lib/FeatureGatingBehavior\"\nexport { IdentityOptions } from \"./lib/IdentityOptions\"\nexport { InterfaceStyle } from \"./lib/InterfaceStyle\"\nexport { LocalNotification } from \"./lib/LocalNotification\"\nexport { LogLevel } from \"./lib/LogLevel\"\nexport { LogScope } from \"./lib/LogScope\"\nexport { PaywallCloseReason } from \"./lib/PaywallCloseReason\"\nexport { PaywallInfo } from \"./lib/PaywallInfo\"\nexport {\n PaywallOptions,\n TransactionBackgroundView,\n} from \"./lib/PaywallOptions\"\nexport { PaywallPresentationHandler } from \"./lib/PaywallPresentationHandler\"\nexport { PaywallPresentationRequestStatus } from \"./lib/PaywallPresentationRequestStatus\"\nexport {\n PaywallSkippedReason,\n PaywallSkippedReasonHoldout,\n PaywallSkippedReasonNoAudienceMatch,\n PaywallSkippedReasonPlacementNotFound,\n PaywallSkippedReasonUserIsSubscribed,\n} from \"./lib/PaywallSkippedReason\"\nexport { Product } from \"./lib/Product\"\nexport { PurchaseController } from \"./lib/PurchaseController\"\nexport {\n PurchaseResult,\n PurchaseResultCancelled,\n PurchaseResultFailed,\n PurchaseResultPending,\n PurchaseResultPurchased,\n} from \"./lib/PurchaseResult\"\nexport * from \"./lib/RedemptionResults\"\nexport { RestorationResult } from \"./lib/RestorationResult\"\nexport { RestoreType } from \"./lib/RestoreType\"\nexport { StoreTransaction } from \"./lib/StoreTransaction\"\nexport { StoreProduct } from \"./lib/StoreProduct\"\nexport { SubscriptionStatus } from \"./lib/SubscriptionStatus\"\nexport { SuperwallDelegate } from \"./lib/SuperwallDelegate\"\nexport { EventType, SuperwallEventInfo } from \"./lib/SuperwallEventInfo\"\nexport { SuperwallOptions } from \"./lib/SuperwallOptions\"\nexport { Survey } from \"./lib/Survey\"\nexport { TriggerResult } from \"./lib/TriggerResult\"\n\ninterface UserAttributes {\n [key: string]: any\n}\n\nexport default class Superwall {\n static purchaseController?: PurchaseController\n private static delegate?: SuperwallDelegate\n private static _superwall = new Superwall()\n\n private static configEmitter = new EventEmitter<{\n configured: (isConfigured: boolean) => void\n }>()\n private static didConfigure = false\n private presentationHandlers: Map<string, PaywallPresentationHandler> = new Map()\n subscriptionStatusEmitter = new EventEmitter<{\n change: (status: SubscriptionStatus) => void\n }>()\n\n private static setDidConfigure(didConfigure: boolean) {\n Superwall.didConfigure = didConfigure\n // Emit an event when the bridged state is true\n if (didConfigure) {\n Superwall.configEmitter.emit(\"configured\", didConfigure)\n }\n }\n\n private async awaitConfig(): Promise<void> {\n if (Superwall.didConfigure) {\n return\n }\n\n await new Promise<void>((resolve) => {\n Superwall.configEmitter.addListener(\"configured\", () => {\n resolve()\n })\n })\n }\n\n private constructor() {\n SuperwallExpoModule.addListener(\"onPurchase\", async (data) => {\n if (data.platform === \"ios\") {\n const purchaseResult = await Superwall.purchaseController?.purchaseFromAppStore(\n data.productId,\n )\n if (purchaseResult == null) {\n return\n }\n await SuperwallExpoModule.didPurchase(purchaseResult.toJSON())\n return\n }\n\n if (data.platform === \"android\") {\n const purchaseResult = await Superwall.purchaseController?.purchaseFromGooglePlay(\n data.productId,\n data.basePlanId,\n data.offerId,\n )\n if (purchaseResult == null) {\n return\n }\n await SuperwallExpoModule.didPurchase(purchaseResult.toJSON())\n }\n })\n\n SuperwallExpoModule.addListener(\"onPurchaseRestore\", async () => {\n const restorationResult = await Superwall.purchaseController?.restorePurchases()\n if (restorationResult == null) {\n return\n }\n await SuperwallExpoModule.didRestore(restorationResult.toJson())\n })\n\n SuperwallExpoModule.addListener(\"onPaywallPresent\", (data) => {\n const handler = this.presentationHandlers.get(data.handlerId)\n if (!handler || !handler.onPresentHandler) {\n return\n }\n\n const paywallInfo = PaywallInfo.fromJson(data.paywallInfoJson)\n handler.onPresentHandler(paywallInfo)\n })\n SuperwallExpoModule.addListener(\"onPaywallDismiss\", (data) => {\n const handler = this.presentationHandlers.get(data.handlerId)\n\n if (!handler || !handler.onDismissHandler) {\n return\n }\n\n const info = PaywallInfo.fromJson(data.paywallInfoJson)\n const result = paywallResultFromJson(data.result)\n handler.onDismissHandler(info, result)\n })\n\n SuperwallExpoModule.addListener(\"onPaywallError\", (data) => {\n const handler = this.presentationHandlers.get(data.handlerId)\n\n if (!handler || !handler.onErrorHandler) {\n return\n }\n\n handler.onErrorHandler(data.errorString)\n })\n\n SuperwallExpoModule.addListener(\"onPaywallSkip\", (data) => {\n const handler = this.presentationHandlers.get(data.handlerId)\n\n if (!handler || !handler.onSkipHandler) {\n return\n }\n\n const skippedReason = PaywallSkippedReason.fromJson(data.skippedReason)\n handler.onSkipHandler(skippedReason)\n })\n\n SuperwallExpoModule.addListener(\"onPaywallPresent\", (data) => {\n const handler = this.presentationHandlers.get(data.handlerId)\n\n if (!handler || !handler.onPresentHandler) {\n return\n }\n\n const info = PaywallInfo.fromJson(data.paywallInfoJson)\n handler.onPresentHandler(info)\n })\n\n // MARK: - SuperwallDelegate Listeners\n SuperwallExpoModule.addListener(\"subscriptionStatusDidChange\", async (data) => {\n Superwall.delegate?.subscriptionStatusDidChange(data.from, data.to)\n })\n\n SuperwallExpoModule.addListener(\"handleSuperwallEvent\", async (data) => {\n const eventInfo = SuperwallEventInfo.fromJson(data.eventInfo)\n Superwall.delegate?.handleSuperwallEvent(eventInfo)\n })\n\n SuperwallExpoModule.addListener(\"handleCustomPaywallAction\", async (data) => {\n const name = data.name\n Superwall.delegate?.handleCustomPaywallAction(name)\n })\n\n SuperwallExpoModule.addListener(\"willDismissPaywall\", async (data) => {\n const info = PaywallInfo.fromJson(data.info)\n Superwall.delegate?.willDismissPaywall(info)\n })\n\n SuperwallExpoModule.addListener(\"willPresentPaywall\", async (data) => {\n const info = PaywallInfo.fromJson(data.info)\n Superwall.delegate?.willPresentPaywall(info)\n })\n\n SuperwallExpoModule.addListener(\"didDismissPaywall\", async (data) => {\n const info = PaywallInfo.fromJson(data.info)\n Superwall.delegate?.didDismissPaywall(info)\n })\n\n SuperwallExpoModule.addListener(\"didPresentPaywall\", async (data) => {\n const info = PaywallInfo.fromJson(data.info)\n Superwall.delegate?.didPresentPaywall(info)\n })\n\n SuperwallExpoModule.addListener(\"handleLog\", async (data) => {\n Superwall.delegate?.handleLog(\n data.level,\n data.scope,\n data.message || undefined,\n data.info,\n data.error,\n )\n })\n\n SuperwallExpoModule.addListener(\"paywallWillOpenDeepLink\", async (data) => {\n const url = new URL(data.url)\n Superwall.delegate?.paywallWillOpenDeepLink(url)\n })\n\n SuperwallExpoModule.addListener(\"paywallWillOpenURL\", async (data) => {\n const url = new URL(data.url)\n Superwall.delegate?.paywallWillOpenURL(url)\n })\n\n SuperwallExpoModule.addListener(\"willRedeemLink\", async () => {\n Superwall.delegate?.willRedeemLink()\n })\n\n SuperwallExpoModule.addListener(\"didRedeemLink\", async (data) => {\n const result = RedemptionResults.fromJson(data)\n Superwall.delegate?.didRedeemLink(result)\n })\n\n SuperwallExpoModule.addListener(\"subscriptionStatusDidChange\", async (data) => {\n this.subscriptionStatusEmitter.emit(\"change\", data.to)\n })\n }\n\n /**\n * Returns the configured shared instance of `Superwall`.\n *\n * **Warning:** You must call {@link Superwall.configure} to initialize `Superwall`\n * before accessing this shared instance.\n *\n * @returns {Superwall} The shared `Superwall` instance.\n */\n static get shared(): Superwall {\n return Superwall._superwall\n }\n\n /**\n * Configures a shared instance of `Superwall` for use throughout your app.\n *\n * Call this as soon as your app starts to initialize the Superwall SDK.\n * Check out [Configuring the SDK](https://docs.superwall.com/docs/configuring-the-sdk) for information about how to configure the SDK.\n *\n * @param {object} config - Configuration object.\n * @param {string} config.apiKey - Your lib API Key that you can get from the Superwall dashboard settings.\n * If you don't have an account, you can [sign up for free](https://superwall.com/sign-up).\n * @param {SuperwallOptions} [config.options] - An optional object which allows you to customize the appearance and behavior\n * of the paywall.\n * @param {PurchaseController} [config.purchaseController] - An optional object that conforms to `PurchaseController`.\n * Implement this if you'd like to handle all subscription-related logic yourself. You'll need to also set the `subscriptionStatus`\n * every time the user's entitlements change. You can read more about that in [Purchases and Subscription Status](https://docs.superwall.com/docs/advanced-configuration).\n * If omitted, Superwall will handle all subscription-related logic itself.\n * @param {() => void} [config.completion] - An optional completion handler that lets you know when Superwall has finished configuring.\n *\n * @returns {Promise<Superwall>} The configured `Superwall` instance.\n */\n static async configure({\n apiKey,\n options,\n purchaseController,\n completion,\n }: {\n apiKey: string\n options?: SuperwallOptions\n purchaseController?: PurchaseController\n completion?: () => void\n }): Promise<Superwall> {\n Superwall.purchaseController = purchaseController\n await SuperwallExpoModule.configure(\n apiKey,\n options?.toJson(),\n !!purchaseController,\n `${version}compat`,\n )\n\n completion?.()\n\n Superwall.setDidConfigure(true)\n\n return Superwall._superwall\n }\n\n /**\n * Creates an account with Superwall by linking the provided `userId` to Superwall's automatically generated alias.\n *\n * Call this function as soon as you have a valid `userId`.\n *\n * @param {Object} config - The identification configuration object.\n * @param {string} config.userId - Your user's unique identifier as defined by your backend system.\n * @param {IdentityOptions} [config.options] - An optional {@link IdentityOptions} object. You can set the\n * {@link IdentityOptions.restorePaywallAssignments} property to `true` to instruct the SDK to wait to restore paywall assignments\n * from the server before presenting any paywalls. This option should be used only in advanced cases\n * (e.g., when users frequently switch accounts or reinstall the app).\n *\n * @returns {Promise<void>} A promise that resolves once the identification process is complete.\n */\n async identify({\n userId,\n options,\n }: {\n userId: string\n options?: IdentityOptions\n }): Promise<void> {\n await this.awaitConfig()\n const serializedOptions = options ? options.toJson() : new IdentityOptions().toJson()\n await SuperwallExpoModule.identify(userId, serializedOptions)\n }\n\n /**\n * Resets the `userId`, on-device paywall assignments, and data stored by Superwall.\n *\n * @returns {Promise<void>} A promise that resolves once reset is complete.\n */\n async reset(): Promise<void> {\n await this.awaitConfig()\n await SuperwallExpoModule.reset()\n }\n\n /**\n * Handles a deep link.\n *\n * @param {string} url - The deep link to handle.\n * @returns {Promise<Boolean>} A promise that resolves to a boolean indicating whether the deep link was handled.\n */\n async handleDeepLink(url: string): Promise<boolean> {\n await this.awaitConfig()\n return await SuperwallExpoModule.handleDeepLink(url)\n }\n\n /**\n * Registers a placement to access a feature.\n *\n * When the placement is added to a campaign on the [Superwall Dashboard](https://superwall.com/dashboard),\n * it can trigger a paywall if the following conditions are met:\n * - The provided placement is included in a campaign on the Superwall Dashboard.\n * - The user matches an audience filter defined in the campaign.\n * - The user does not have an active subscription.\n *\n * Before using this method, ensure you have created a campaign and added the placement on the\n * [Superwall Dashboard](https://superwall.com/dashboard).\n *\n * The displayed paywall is determined by the audience filters set in the campaign.\n * Once a user is assigned a paywall within an audience, that paywall will continue to be shown unless\n * you remove it from the audience or reset the paywall assignments.\n *\n * @param {string} [params.placement] - The name of the placement to register.\n * @param {Map<string, any> | Record<string, any>} [params.params] - Optional parameters to pass with your placement.\n * These parameters can be referenced within the audience filters of your campaign. Keys beginning with `$`\n * are reserved for Superwall and will be omitted. Values can be any JSON-encodable value, URL, or Date.\n * Arrays and dictionaries are not supported and will be dropped.\n * @param {PaywallPresentationHandler} [params.handler] - An optional handler that receives status updates\n * about the paywall presentation.\n * @param {() => void} [params.feature] - An optional callback that will be executed after registration completes.\n * If provided, this callback will be executed after the registration process completes successfully.\n * If not provided, you can chain a `.then()` block to the returned promise to execute your feature logic.\n *\n * @returns {Promise<void>} if [feature] is provided this promise resolves when register is executed, otherwise a promise that resolves when register completes successfully after which you can chain a `.then()` block to execute your feature logic.\n *\n * @remarks\n * This behavior is remotely configurable via the [Superwall Dashboard](https://superwall.com/dashboard):\n *\n * - For _Non Gated_ paywalls, the feature block is executed when the paywall is dismissed or if the user is already paying.\n * - For _Gated_ paywalls, the feature block is executed only if the user is already paying or if they begin paying.\n * - If no paywall is configured, the feature block is executed immediately.\n * - If no feature block is provided, the returned promise will resolve when registration completes.\n * - If a feature block is provided, the returned promise will always resolve after the feature block is executed.\n * Note: The feature block will not be executed if an error occurs during registration. Such errors can be detected via the\n * `handler`.\n *\n * @example\n * // Using the feature callback:\n * Superwall.register({\n * placement: \"somePlacement\",\n * feature: () => {\n * console.log(\"Feature logic executed after registration\");\n * }\n * });\n *\n * // Alternatively, chaining feature logic after registration:\n * Superwall.register({ placement: \"somePlacement\" })\n * .then(() => {\n * // Execute your feature logic here after registration.\n * console.log(\"Placement registered, now executing feature logic.\");\n * })\n */\n async register(params: {\n placement: string\n params?: Map<string, any> | Record<string, any>\n handler?: PaywallPresentationHandler\n feature?: () => void\n }): Promise<void> {\n await this.awaitConfig()\n let handlerId: string | null = null\n\n if (params.handler) {\n const uuid = (+new Date() * Math.random()).toString(36)\n this.presentationHandlers.set(uuid, params.handler)\n handlerId = uuid\n }\n\n let paramsObject = {}\n if (params.params) {\n paramsObject =\n params.params instanceof Map ? Object.fromEntries(params.params) : params.params\n }\n\n if (params.feature) {\n return await SuperwallExpoModule.registerPlacement(\n params.placement,\n paramsObject,\n handlerId,\n ).then(() => {\n params.feature!() //TODO: This is wrong, the feature should be executed only if the native SDK calls the feature block\n // not after awaiting the promise\n })\n }\n\n return SuperwallExpoModule.registerPlacement(params.placement, paramsObject, handlerId)\n }\n\n /**\n * Confirms all experiment assignments and returns them in an array.\n *\n * Note that the assignments may differ when a placement is registered due to changes\n * in user, placement, or device parameters used in audience filters.\n *\n * @returns {Promise<Assignment[]>} A promise that resolves to an array of {@link Assignment} objects.\n */\n async confirmAllAssignments(): Promise<Assignment[]> {\n await this.awaitConfig()\n const assignments = await SuperwallExpoModule.confirmAllAssignments()\n return assignments.map((assignment: any) => Assignment.fromJson(assignment))\n }\n\n /**\n * Gets all the experiment assignments and returns them in an array.\n *\n * This method tracks the {@link SuperwallEvent.getAssignments} event in the delegate.\n *\n * Note that the assignments may differ when a placement is registered due to changes\n * in user, placement, or device parameters used in audience filters.\n *\n * @returns {Promise<Assignment[]>} A promise that resolves to an array of {@link Assignment} objects.\n */\n async getAssignments(): Promise<Assignment[]> {\n await this.awaitConfig()\n const assignments = await SuperwallExpoModule.getAssignments()\n return assignments.map((assignment: any) => Assignment.fromJson(assignment))\n }\n\n /**\n * Preemptively gets the result of registering a placement.\n *\n * This helps you determine whether a particular placement will present a paywall in the future.\n * Note that this method does not present a paywall. To present a paywall, use the `register` function.\n *\n * @param {Object} options - Options for obtaining the presentation result.\n * @param {string} options.placement - The name of the placement you want to register.\n * @param {Map<string, any>} [options.params] - Optional parameters to pass with your placement.\n *\n * @returns {Promise<PresentationResult>} A promise that resolves to a {@link PresentationResult} indicating the result of registering the placement.\n */\n async getPresentationResult({\n placement,\n params,\n }: {\n placement: string\n params?: Map<string, any>\n }): Promise<PresentationResult> {\n await this.awaitConfig()\n let paramsObject = {}\n if (params) {\n paramsObject = Object.fromEntries(params)\n }\n return await SuperwallExpoModule.getPresentationResult(placement, paramsObject)\n }\n\n /**\n * Retrieves the current configuration status of the Superwall SDK.\n *\n * This function returns a promise that resolves to the current configuration status,\n * indicating whether the SDK has finished configuring. Initially, the status is\n * {@link ConfigurationStatus.PENDING}. Once the configuration completes successfully, it\n * changes to {@link ConfigurationStatus.CONFIGURED}. If the configuration fails, the status\n * will be {@link ConfigurationStatus.FAILED}.\n *\n * @returns {Promise<ConfigurationStatus>} A promise that resolves with the current configuration status.\n */\n async getConfigurationStatus(): Promise<ConfigurationStatus> {\n const configurationStatusString = await SuperwallExpoModule.getConfigurationStatus()\n return ConfigurationStatus.fromString(configurationStatusString)\n }\n\n /**\n * Retrieves the entitlements tied to the device.\n *\n * @returns {Promise<EntitlementsInfo>} A promise that resolves to an {@link EntitlementsInfo} object.\n */\n async getEntitlements(): Promise<EntitlementsInfo> {\n await this.awaitConfig()\n const entitlementsJson = await SuperwallExpoModule.getEntitlements()\n return EntitlementsInfo.fromObject(entitlementsJson)\n }\n\n /**\n * Sets the subscription status of the user.\n *\n * When using a PurchaseController, you must call this method to update the user's subscription status.\n * Alternatively, you can implement the {@link SuperwallDelegate.subscriptionStatusDidChange} delegate callback to receive notifications\n * whenever the subscription status changes.\n *\n * @param {SubscriptionStatus} status - The new subscription status.\n *\n * @returns {Promise<void>} A promise that resolves once the subscription status has been updated.\n */\n async setSubscriptionStatus(status: SubscriptionStatus): Promise<void> {\n await this.awaitConfig()\n await SuperwallExpoModule.setSubscriptionStatus(status)\n }\n\n async getSubscriptionStatus(): Promise<SubscriptionStatus> {\n await this.awaitConfig()\n const subscriptionStatusData = await SuperwallExpoModule.getSubscriptionStatus()\n return SubscriptionStatus.fromJson(subscriptionStatusData)\n }\n /**\n * Sets the user interface style, which overrides the system setting.\n *\n * Provide a value of type {@link InterfaceStyle} to explicitly set the interface style.\n * Pass `null` to revert back to the system's default interface style.\n *\n * @param {InterfaceStyle | null} style - The desired interface style, or `null` to use the system setting.\n *\n * @returns {Promise<void>} A promise that resolves once the interface style has been updated.\n */\n async setInterfaceStyle(style: InterfaceStyle | null): Promise<void> {\n await SuperwallExpoModule.setInterfaceStyle(style?.toString())\n }\n\n /**\n * Sets the delegate that handles Superwall lifecycle events.\n *\n * @param {SuperwallDelegate | undefined} delegate - An object implementing the {@link SuperwallDelegate} interface,\n * or `undefined` to remove the current delegate.\n *\n * @returns {Promise<void>} A promise that resolves once the delegate has been updated.\n */\n async setDelegate(delegate: SuperwallDelegate | undefined): Promise<void> {\n await this.awaitConfig()\n Superwall.delegate = delegate\n }\n\n /**\n * Retrieves the user attributes, set using {@link setUserAttributes}.\n *\n * @returns {Promise<UserAttributes>} A promise that resolves with an object representing the user's attributes.\n */\n async getUserAttributes(): Promise<UserAttributes> {\n await this.awaitConfig()\n const userAttributes: UserAttributes = await SuperwallExpoModule.getUserAttributes()\n return userAttributes\n }\n\n /**\n * Preloads all paywalls that the user may see based on campaigns and placements in your Superwall dashboard.\n *\n * To use this, first set `PaywallOptions.shouldPreload` to `false` when configuring the SDK.\n * Then call this function when you want preloading to begin.\n *\n * Note: This method will not reload any paywalls that have already been preloaded via {@link preloadPaywalls}.\n *\n * @returns {Promise<void>} A promise that resolves once the preloading process has been initiated.\n */\n async preloadAllPaywalls(): Promise<void> {\n await this.awaitConfig()\n await SuperwallExpoModule.preloadAllPaywalls()\n }\n\n /**\n * Preloads paywalls for specific placements.\n *\n * To use this method, first ensure that {@link PaywallOptions.shouldPreload} is set to `false` when configuring the SDK.\n * Then call this function when you want to initiate preloading for selected placements.\n *\n * Note: This will not reload any paywalls you've already preloaded.\n *\n * @param {Set<string>} placementNames - A set of placement names whose paywalls you want to preload.\n *\n * @returns {Promise<void>} A promise that resolves once the preloading process has been initiated.\n */\n async preloadPaywalls(placementNames: Set<string>): Promise<void> {\n await this.awaitConfig()\n await SuperwallExpoModule.preloadPaywalls(Array.from(placementNames))\n }\n\n /**\n * Sets user attributes for use in paywalls and on the Superwall dashboard.\n *\n * If an attribute already exists, its value will be overwritten while other attributes remain unchanged.\n * This is useful for analytics and campaign audience filters you may define in the Superwall Dashboard.\n *\n * **Note:** These attributes should not be used as a source of truth for sensitive information.\n *\n * For example, after retrieving your user's data:\n *\n * ```ts\n * const attributes: UserAttributes = {\n * name: user.name,\n * apnsToken: user.apnsTokenString,\n * email: user.email,\n * username: user.username,\n * profilePic: user.profilePicUrl,\n * }\n * await Superwall.setUserAttributes(attributes)\n * ```\n *\n * See [Setting User Attributes](https://docs.superwall.com/docs/setting-user-properties) for more information.\n *\n * @param {UserAttributes} userAttributes - An object containing custom attributes to store for the user.\n * Values can be any JSON-encodable value, URLs, or Dates. Keys beginning with `$` are reserved for Superwall and will be dropped.\n * Arrays and dictionaries as values are not supported and will be omitted.\n *\n * @returns {Promise<void>} A promise that resolves once the user attributes have been updated.\n */\n async setUserAttributes(userAttributes: UserAttributes): Promise<void> {\n await this.awaitConfig()\n await SuperwallExpoModule.setUserAttributes(userAttributes)\n }\n\n /**\n * Dismisses the presented paywall, if one exists.\n *\n * @returns {Promise<void>} A promise that resolves once the paywall has been dismissed,\n * or immediately if no paywall was active.\n */\n async dismiss(): Promise<void> {\n await SuperwallExpoModule.dismiss()\n }\n\n async setLogLevel(level: LogLevel): Promise<void> {\n await SuperwallExpoModule.setLogLevel(level.toString())\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/compat/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Assignment } from \"./lib/Assigments\"\nimport { ConfigurationStatus } from \"./lib/ConfigurationStatus\"\nimport { EntitlementsInfo } from \"./lib/EntitlementsInfo\"\nimport { IdentityOptions } from \"./lib/IdentityOptions\"\nimport type { InterfaceStyle } from \"./lib/InterfaceStyle\"\nimport type { LogLevel } from \"./lib/LogLevel\"\nimport { PaywallInfo } from \"./lib/PaywallInfo\"\nimport type { PaywallPresentationHandler } from \"./lib/PaywallPresentationHandler\"\nimport { fromJson as paywallResultFromJson } from \"./lib/PaywallResult\"\nimport { PaywallSkippedReason } from \"./lib/PaywallSkippedReason\"\nimport type { PresentationResult } from \"./lib/PresentationResult\"\nimport type { PurchaseController } from \"./lib/PurchaseController\"\nimport { RedemptionResults } from \"./lib/RedemptionResults\"\nimport { SubscriptionStatus } from \"./lib/SubscriptionStatus\"\nimport type { SuperwallDelegate } from \"./lib/SuperwallDelegate\"\nimport { SuperwallEventInfo } from \"./lib/SuperwallEventInfo\"\nimport { SuperwallOptions } from \"./lib/SuperwallOptions\"\n\nexport { PaywallResult } from \"./lib/PaywallResult\"\n\nimport { EventEmitter } from \"expo\"\nimport { version } from \"../../package.json\"\nimport SuperwallExpoModule from \"../SuperwallExpoModule\"\n\nexport { ComputedPropertyRequest } from \"./lib/ComputedPropertyRequest\"\nexport { ConfigurationStatus } from \"./lib/ConfigurationStatus\"\nexport { EntitlementsInfo } from \"./lib/EntitlementsInfo\"\nexport { Experiment } from \"./lib/Experiment\"\nexport { FeatureGatingBehavior } from \"./lib/FeatureGatingBehavior\"\nexport { IdentityOptions } from \"./lib/IdentityOptions\"\nexport { InterfaceStyle } from \"./lib/InterfaceStyle\"\nexport { LocalNotification } from \"./lib/LocalNotification\"\nexport { LogLevel } from \"./lib/LogLevel\"\nexport { LogScope } from \"./lib/LogScope\"\nexport { PaywallCloseReason } from \"./lib/PaywallCloseReason\"\nexport { PaywallInfo } from \"./lib/PaywallInfo\"\nexport {\n PaywallOptions,\n TransactionBackgroundView,\n} from \"./lib/PaywallOptions\"\nexport { PaywallPresentationHandler } from \"./lib/PaywallPresentationHandler\"\nexport { PaywallPresentationRequestStatus } from \"./lib/PaywallPresentationRequestStatus\"\nexport {\n PaywallSkippedReason,\n PaywallSkippedReasonHoldout,\n PaywallSkippedReasonNoAudienceMatch,\n PaywallSkippedReasonPlacementNotFound,\n PaywallSkippedReasonUserIsSubscribed,\n} from \"./lib/PaywallSkippedReason\"\nexport { Product } from \"./lib/Product\"\nexport { PurchaseController } from \"./lib/PurchaseController\"\nexport {\n PurchaseResult,\n PurchaseResultCancelled,\n PurchaseResultFailed,\n PurchaseResultPending,\n PurchaseResultPurchased,\n} from \"./lib/PurchaseResult\"\nexport * from \"./lib/RedemptionResults\"\nexport { RestorationResult } from \"./lib/RestorationResult\"\nexport { RestoreType } from \"./lib/RestoreType\"\nexport { StoreTransaction } from \"./lib/StoreTransaction\"\nexport { StoreProduct } from \"./lib/StoreProduct\"\nexport { SubscriptionStatus } from \"./lib/SubscriptionStatus\"\nexport { SuperwallDelegate } from \"./lib/SuperwallDelegate\"\nexport { EventType, SuperwallEventInfo } from \"./lib/SuperwallEventInfo\"\nexport { SuperwallOptions } from \"./lib/SuperwallOptions\"\nexport { Survey } from \"./lib/Survey\"\nexport { TriggerResult } from \"./lib/TriggerResult\"\n\ninterface UserAttributes {\n [key: string]: any\n}\n\nexport default class Superwall {\n static purchaseController?: PurchaseController\n private static delegate?: SuperwallDelegate\n private static _superwall = new Superwall()\n\n private static configEmitter = new EventEmitter<{\n configured: (isConfigured: boolean) => void\n }>()\n private static didConfigure = false\n private presentationHandlers: Map<string, PaywallPresentationHandler> = new Map()\n subscriptionStatusEmitter = new EventEmitter<{\n change: (status: SubscriptionStatus) => void\n }>()\n\n private static setDidConfigure(didConfigure: boolean) {\n Superwall.didConfigure = didConfigure\n // Emit an event when the bridged state is true\n if (didConfigure) {\n Superwall.configEmitter.emit(\"configured\", didConfigure)\n }\n }\n\n private async awaitConfig(): Promise<void> {\n if (Superwall.didConfigure) {\n return\n }\n\n await new Promise<void>((resolve) => {\n Superwall.configEmitter.addListener(\"configured\", () => {\n resolve()\n })\n })\n }\n\n private constructor() {\n SuperwallExpoModule.addListener(\"onPurchase\", async (data) => {\n if (data.platform === \"ios\") {\n const purchaseResult = await Superwall.purchaseController?.purchaseFromAppStore(\n data.productId,\n )\n if (purchaseResult == null) {\n return\n }\n await SuperwallExpoModule.didPurchase(purchaseResult.toJSON())\n return\n }\n\n if (data.platform === \"android\") {\n const purchaseResult = await Superwall.purchaseController?.purchaseFromGooglePlay(\n data.productId,\n data.basePlanId,\n data.offerId,\n )\n if (purchaseResult == null) {\n return\n }\n await SuperwallExpoModule.didPurchase(purchaseResult.toJSON())\n }\n })\n\n SuperwallExpoModule.addListener(\"onPurchaseRestore\", async () => {\n const restorationResult = await Superwall.purchaseController?.restorePurchases()\n if (restorationResult == null) {\n return\n }\n await SuperwallExpoModule.didRestore(restorationResult.toJson())\n })\n\n SuperwallExpoModule.addListener(\"onPaywallPresent\", (data) => {\n const handler = this.presentationHandlers.get(data.handlerId)\n if (!handler || !handler.onPresentHandler) {\n return\n }\n\n const paywallInfo = PaywallInfo.fromJson(data.paywallInfoJson)\n handler.onPresentHandler(paywallInfo)\n })\n SuperwallExpoModule.addListener(\"onPaywallDismiss\", (data) => {\n const handler = this.presentationHandlers.get(data.handlerId)\n\n if (!handler || !handler.onDismissHandler) {\n return\n }\n\n const info = PaywallInfo.fromJson(data.paywallInfoJson)\n const result = paywallResultFromJson(data.result)\n handler.onDismissHandler(info, result)\n })\n\n SuperwallExpoModule.addListener(\"onPaywallError\", (data) => {\n const handler = this.presentationHandlers.get(data.handlerId)\n\n if (!handler || !handler.onErrorHandler) {\n return\n }\n\n handler.onErrorHandler(data.errorString)\n })\n\n SuperwallExpoModule.addListener(\"onPaywallSkip\", (data) => {\n const handler = this.presentationHandlers.get(data.handlerId)\n\n if (!handler || !handler.onSkipHandler) {\n return\n }\n\n const skippedReason = PaywallSkippedReason.fromJson(data.skippedReason)\n handler.onSkipHandler(skippedReason)\n })\n\n SuperwallExpoModule.addListener(\"onPaywallPresent\", (data) => {\n const handler = this.presentationHandlers.get(data.handlerId)\n\n if (!handler || !handler.onPresentHandler) {\n return\n }\n\n const info = PaywallInfo.fromJson(data.paywallInfoJson)\n handler.onPresentHandler(info)\n })\n\n // MARK: - SuperwallDelegate Listeners\n SuperwallExpoModule.addListener(\"subscriptionStatusDidChange\", async (data) => {\n Superwall.delegate?.subscriptionStatusDidChange(data.from, data.to)\n })\n\n SuperwallExpoModule.addListener(\"handleSuperwallEvent\", async (data) => {\n const eventInfo = SuperwallEventInfo.fromJson(data.eventInfo)\n Superwall.delegate?.handleSuperwallEvent(eventInfo)\n })\n\n SuperwallExpoModule.addListener(\"handleCustomPaywallAction\", async (data) => {\n const name = data.name\n Superwall.delegate?.handleCustomPaywallAction(name)\n })\n\n SuperwallExpoModule.addListener(\"willDismissPaywall\", async (data) => {\n const info = PaywallInfo.fromJson(data.info)\n Superwall.delegate?.willDismissPaywall(info)\n })\n\n SuperwallExpoModule.addListener(\"willPresentPaywall\", async (data) => {\n const info = PaywallInfo.fromJson(data.info)\n Superwall.delegate?.willPresentPaywall(info)\n })\n\n SuperwallExpoModule.addListener(\"didDismissPaywall\", async (data) => {\n const info = PaywallInfo.fromJson(data.info)\n Superwall.delegate?.didDismissPaywall(info)\n })\n\n SuperwallExpoModule.addListener(\"didPresentPaywall\", async (data) => {\n const info = PaywallInfo.fromJson(data.info)\n Superwall.delegate?.didPresentPaywall(info)\n })\n\n SuperwallExpoModule.addListener(\"handleLog\", async (data) => {\n Superwall.delegate?.handleLog(\n data.level,\n data.scope,\n data.message || undefined,\n data.info,\n data.error,\n )\n })\n\n SuperwallExpoModule.addListener(\"paywallWillOpenDeepLink\", async (data) => {\n const url = new URL(data.url)\n Superwall.delegate?.paywallWillOpenDeepLink(url)\n })\n\n SuperwallExpoModule.addListener(\"paywallWillOpenURL\", async (data) => {\n const url = new URL(data.url)\n Superwall.delegate?.paywallWillOpenURL(url)\n })\n\n SuperwallExpoModule.addListener(\"willRedeemLink\", async () => {\n Superwall.delegate?.willRedeemLink()\n })\n\n SuperwallExpoModule.addListener(\"didRedeemLink\", async (data) => {\n const result = RedemptionResults.fromJson(data)\n Superwall.delegate?.didRedeemLink(result)\n })\n\n SuperwallExpoModule.addListener(\"subscriptionStatusDidChange\", async (data) => {\n this.subscriptionStatusEmitter.emit(\"change\", data.to)\n })\n }\n\n /**\n * Returns the configured shared instance of `Superwall`.\n *\n * **Warning:** You must call {@link Superwall.configure} to initialize `Superwall`\n * before accessing this shared instance.\n *\n * @returns {Superwall} The shared `Superwall` instance.\n */\n static get shared(): Superwall {\n return Superwall._superwall\n }\n\n /**\n * Configures a shared instance of `Superwall` for use throughout your app.\n *\n * Call this as soon as your app starts to initialize the Superwall SDK.\n * Check out [Configuring the SDK](https://docs.superwall.com/docs/configuring-the-sdk) for information about how to configure the SDK.\n *\n * @param {object} config - Configuration object.\n * @param {string} config.apiKey - Your lib API Key that you can get from the Superwall dashboard settings.\n * If you don't have an account, you can [sign up for free](https://superwall.com/sign-up).\n * @param {SuperwallOptions} [config.options] - An optional object which allows you to customize the appearance and behavior\n * of the paywall.\n * @param {PurchaseController} [config.purchaseController] - An optional object that conforms to `PurchaseController`.\n * Implement this if you'd like to handle all subscription-related logic yourself. You'll need to also set the `subscriptionStatus`\n * every time the user's entitlements change. You can read more about that in [Purchases and Subscription Status](https://docs.superwall.com/docs/advanced-configuration).\n * If omitted, Superwall will handle all subscription-related logic itself.\n * @param {() => void} [config.completion] - An optional completion handler that lets you know when Superwall has finished configuring.\n *\n * @returns {Promise<Superwall>} The configured `Superwall` instance.\n */\n static async configure({\n apiKey,\n options,\n purchaseController,\n completion,\n }: {\n apiKey: string\n options?: SuperwallOptions\n purchaseController?: PurchaseController\n completion?: () => void\n }): Promise<Superwall> {\n Superwall.purchaseController = purchaseController\n\n // Ensure options is always a SuperwallOptions instance with defaults\n const superwallOptions = options instanceof SuperwallOptions\n ? options\n : new SuperwallOptions(options)\n\n await SuperwallExpoModule.configure(\n apiKey,\n superwallOptions.toJson(),\n !!purchaseController,\n `${version}compat`,\n )\n\n completion?.()\n\n Superwall.setDidConfigure(true)\n\n return Superwall._superwall\n }\n\n /**\n * Creates an account with Superwall by linking the provided `userId` to Superwall's automatically generated alias.\n *\n * Call this function as soon as you have a valid `userId`.\n *\n * @param {Object} config - The identification configuration object.\n * @param {string} config.userId - Your user's unique identifier as defined by your backend system.\n * @param {IdentityOptions} [config.options] - An optional {@link IdentityOptions} object. You can set the\n * {@link IdentityOptions.restorePaywallAssignments} property to `true` to instruct the SDK to wait to restore paywall assignments\n * from the server before presenting any paywalls. This option should be used only in advanced cases\n * (e.g., when users frequently switch accounts or reinstall the app).\n *\n * @returns {Promise<void>} A promise that resolves once the identification process is complete.\n */\n async identify({\n userId,\n options,\n }: {\n userId: string\n options?: IdentityOptions\n }): Promise<void> {\n await this.awaitConfig()\n const serializedOptions = options ? options.toJson() : new IdentityOptions().toJson()\n await SuperwallExpoModule.identify(userId, serializedOptions)\n }\n\n /**\n * Resets the `userId`, on-device paywall assignments, and data stored by Superwall.\n *\n * @returns {Promise<void>} A promise that resolves once reset is complete.\n */\n async reset(): Promise<void> {\n await this.awaitConfig()\n await SuperwallExpoModule.reset()\n }\n\n /**\n * Handles a deep link.\n *\n * @param {string} url - The deep link to handle.\n * @returns {Promise<Boolean>} A promise that resolves to a boolean indicating whether the deep link was handled.\n */\n async handleDeepLink(url: string): Promise<boolean> {\n await this.awaitConfig()\n return await SuperwallExpoModule.handleDeepLink(url)\n }\n\n /**\n * Registers a placement to access a feature.\n *\n * When the placement is added to a campaign on the [Superwall Dashboard](https://superwall.com/dashboard),\n * it can trigger a paywall if the following conditions are met:\n * - The provided placement is included in a campaign on the Superwall Dashboard.\n * - The user matches an audience filter defined in the campaign.\n * - The user does not have an active subscription.\n *\n * Before using this method, ensure you have created a campaign and added the placement on the\n * [Superwall Dashboard](https://superwall.com/dashboard).\n *\n * The displayed paywall is determined by the audience filters set in the campaign.\n * Once a user is assigned a paywall within an audience, that paywall will continue to be shown unless\n * you remove it from the audience or reset the paywall assignments.\n *\n * @param {string} [params.placement] - The name of the placement to register.\n * @param {Map<string, any> | Record<string, any>} [params.params] - Optional parameters to pass with your placement.\n * These parameters can be referenced within the audience filters of your campaign. Keys beginning with `$`\n * are reserved for Superwall and will be omitted. Values can be any JSON-encodable value, URL, or Date.\n * Arrays and dictionaries are not supported and will be dropped.\n * @param {PaywallPresentationHandler} [params.handler] - An optional handler that receives status updates\n * about the paywall presentation.\n * @param {() => void} [params.feature] - An optional callback that will be executed after registration completes.\n * If provided, this callback will be executed after the registration process completes successfully.\n * If not provided, you can chain a `.then()` block to the returned promise to execute your feature logic.\n *\n * @returns {Promise<void>} if [feature] is provided this promise resolves when register is executed, otherwise a promise that resolves when register completes successfully after which you can chain a `.then()` block to execute your feature logic.\n *\n * @remarks\n * This behavior is remotely configurable via the [Superwall Dashboard](https://superwall.com/dashboard):\n *\n * - For _Non Gated_ paywalls, the feature block is executed when the paywall is dismissed or if the user is already paying.\n * - For _Gated_ paywalls, the feature block is executed only if the user is already paying or if they begin paying.\n * - If no paywall is configured, the feature block is executed immediately.\n * - If no feature block is provided, the returned promise will resolve when registration completes.\n * - If a feature block is provided, the returned promise will always resolve after the feature block is executed.\n * Note: The feature block will not be executed if an error occurs during registration. Such errors can be detected via the\n * `handler`.\n *\n * @example\n * // Using the feature callback:\n * Superwall.register({\n * placement: \"somePlacement\",\n * feature: () => {\n * console.log(\"Feature logic executed after registration\");\n * }\n * });\n *\n * // Alternatively, chaining feature logic after registration:\n * Superwall.register({ placement: \"somePlacement\" })\n * .then(() => {\n * // Execute your feature logic here after registration.\n * console.log(\"Placement registered, now executing feature logic.\");\n * })\n */\n async register(params: {\n placement: string\n params?: Map<string, any> | Record<string, any>\n handler?: PaywallPresentationHandler\n feature?: () => void\n }): Promise<void> {\n await this.awaitConfig()\n let handlerId: string | null = null\n\n if (params.handler) {\n const uuid = (+new Date() * Math.random()).toString(36)\n this.presentationHandlers.set(uuid, params.handler)\n handlerId = uuid\n }\n\n let paramsObject = {}\n if (params.params) {\n paramsObject =\n params.params instanceof Map ? Object.fromEntries(params.params) : params.params\n }\n\n if (params.feature) {\n return await SuperwallExpoModule.registerPlacement(\n params.placement,\n paramsObject,\n handlerId,\n ).then(() => {\n params.feature!() //TODO: This is wrong, the feature should be executed only if the native SDK calls the feature block\n // not after awaiting the promise\n })\n }\n\n return SuperwallExpoModule.registerPlacement(params.placement, paramsObject, handlerId)\n }\n\n /**\n * Confirms all experiment assignments and returns them in an array.\n *\n * Note that the assignments may differ when a placement is registered due to changes\n * in user, placement, or device parameters used in audience filters.\n *\n * @returns {Promise<Assignment[]>} A promise that resolves to an array of {@link Assignment} objects.\n */\n async confirmAllAssignments(): Promise<Assignment[]> {\n await this.awaitConfig()\n const assignments = await SuperwallExpoModule.confirmAllAssignments()\n return assignments.map((assignment: any) => Assignment.fromJson(assignment))\n }\n\n /**\n * Gets all the experiment assignments and returns them in an array.\n *\n * This method tracks the {@link SuperwallEvent.getAssignments} event in the delegate.\n *\n * Note that the assignments may differ when a placement is registered due to changes\n * in user, placement, or device parameters used in audience filters.\n *\n * @returns {Promise<Assignment[]>} A promise that resolves to an array of {@link Assignment} objects.\n */\n async getAssignments(): Promise<Assignment[]> {\n await this.awaitConfig()\n const assignments = await SuperwallExpoModule.getAssignments()\n return assignments.map((assignment: any) => Assignment.fromJson(assignment))\n }\n\n /**\n * Preemptively gets the result of registering a placement.\n *\n * This helps you determine whether a particular placement will present a paywall in the future.\n * Note that this method does not present a paywall. To present a paywall, use the `register` function.\n *\n * @param {Object} options - Options for obtaining the presentation result.\n * @param {string} options.placement - The name of the placement you want to register.\n * @param {Map<string, any>} [options.params] - Optional parameters to pass with your placement.\n *\n * @returns {Promise<PresentationResult>} A promise that resolves to a {@link PresentationResult} indicating the result of registering the placement.\n */\n async getPresentationResult({\n placement,\n params,\n }: {\n placement: string\n params?: Map<string, any>\n }): Promise<PresentationResult> {\n await this.awaitConfig()\n let paramsObject = {}\n if (params) {\n paramsObject = Object.fromEntries(params)\n }\n return await SuperwallExpoModule.getPresentationResult(placement, paramsObject)\n }\n\n /**\n * Retrieves the current configuration status of the Superwall SDK.\n *\n * This function returns a promise that resolves to the current configuration status,\n * indicating whether the SDK has finished configuring. Initially, the status is\n * {@link ConfigurationStatus.PENDING}. Once the configuration completes successfully, it\n * changes to {@link ConfigurationStatus.CONFIGURED}. If the configuration fails, the status\n * will be {@link ConfigurationStatus.FAILED}.\n *\n * @returns {Promise<ConfigurationStatus>} A promise that resolves with the current configuration status.\n */\n async getConfigurationStatus(): Promise<ConfigurationStatus> {\n const configurationStatusString = await SuperwallExpoModule.getConfigurationStatus()\n return ConfigurationStatus.fromString(configurationStatusString)\n }\n\n /**\n * Retrieves the entitlements tied to the device.\n *\n * @returns {Promise<EntitlementsInfo>} A promise that resolves to an {@link EntitlementsInfo} object.\n */\n async getEntitlements(): Promise<EntitlementsInfo> {\n await this.awaitConfig()\n const entitlementsJson = await SuperwallExpoModule.getEntitlements()\n return EntitlementsInfo.fromObject(entitlementsJson)\n }\n\n /**\n * Sets the subscription status of the user.\n *\n * When using a PurchaseController, you must call this method to update the user's subscription status.\n * Alternatively, you can implement the {@link SuperwallDelegate.subscriptionStatusDidChange} delegate callback to receive notifications\n * whenever the subscription status changes.\n *\n * @param {SubscriptionStatus} status - The new subscription status.\n *\n * @returns {Promise<void>} A promise that resolves once the subscription status has been updated.\n */\n async setSubscriptionStatus(status: SubscriptionStatus): Promise<void> {\n await this.awaitConfig()\n await SuperwallExpoModule.setSubscriptionStatus(status)\n }\n\n async getSubscriptionStatus(): Promise<SubscriptionStatus> {\n await this.awaitConfig()\n const subscriptionStatusData = await SuperwallExpoModule.getSubscriptionStatus()\n return SubscriptionStatus.fromJson(subscriptionStatusData)\n }\n /**\n * Sets the user interface style, which overrides the system setting.\n *\n * Provide a value of type {@link InterfaceStyle} to explicitly set the interface style.\n * Pass `null` to revert back to the system's default interface style.\n *\n * @param {InterfaceStyle | null} style - The desired interface style, or `null` to use the system setting.\n *\n * @returns {Promise<void>} A promise that resolves once the interface style has been updated.\n */\n async setInterfaceStyle(style: InterfaceStyle | null): Promise<void> {\n await SuperwallExpoModule.setInterfaceStyle(style?.toString())\n }\n\n /**\n * Sets the delegate that handles Superwall lifecycle events.\n *\n * @param {SuperwallDelegate | undefined} delegate - An object implementing the {@link SuperwallDelegate} interface,\n * or `undefined` to remove the current delegate.\n *\n * @returns {Promise<void>} A promise that resolves once the delegate has been updated.\n */\n async setDelegate(delegate: SuperwallDelegate | undefined): Promise<void> {\n await this.awaitConfig()\n Superwall.delegate = delegate\n }\n\n /**\n * Retrieves the user attributes, set using {@link setUserAttributes}.\n *\n * @returns {Promise<UserAttributes>} A promise that resolves with an object representing the user's attributes.\n */\n async getUserAttributes(): Promise<UserAttributes> {\n await this.awaitConfig()\n const userAttributes: UserAttributes = await SuperwallExpoModule.getUserAttributes()\n return userAttributes\n }\n\n /**\n * Preloads all paywalls that the user may see based on campaigns and placements in your Superwall dashboard.\n *\n * To use this, first set `PaywallOptions.shouldPreload` to `false` when configuring the SDK.\n * Then call this function when you want preloading to begin.\n *\n * Note: This method will not reload any paywalls that have already been preloaded via {@link preloadPaywalls}.\n *\n * @returns {Promise<void>} A promise that resolves once the preloading process has been initiated.\n */\n async preloadAllPaywalls(): Promise<void> {\n await this.awaitConfig()\n await SuperwallExpoModule.preloadAllPaywalls()\n }\n\n /**\n * Preloads paywalls for specific placements.\n *\n * To use this method, first ensure that {@link PaywallOptions.shouldPreload} is set to `false` when configuring the SDK.\n * Then call this function when you want to initiate preloading for selected placements.\n *\n * Note: This will not reload any paywalls you've already preloaded.\n *\n * @param {Set<string>} placementNames - A set of placement names whose paywalls you want to preload.\n *\n * @returns {Promise<void>} A promise that resolves once the preloading process has been initiated.\n */\n async preloadPaywalls(placementNames: Set<string>): Promise<void> {\n await this.awaitConfig()\n await SuperwallExpoModule.preloadPaywalls(Array.from(placementNames))\n }\n\n /**\n * Sets user attributes for use in paywalls and on the Superwall dashboard.\n *\n * If an attribute already exists, its value will be overwritten while other attributes remain unchanged.\n * This is useful for analytics and campaign audience filters you may define in the Superwall Dashboard.\n *\n * **Note:** These attributes should not be used as a source of truth for sensitive information.\n *\n * For example, after retrieving your user's data:\n *\n * ```ts\n * const attributes: UserAttributes = {\n * name: user.name,\n * apnsToken: user.apnsTokenString,\n * email: user.email,\n * username: user.username,\n * profilePic: user.profilePicUrl,\n * }\n * await Superwall.setUserAttributes(attributes)\n * ```\n *\n * See [Setting User Attributes](https://docs.superwall.com/docs/setting-user-properties) for more information.\n *\n * @param {UserAttributes} userAttributes - An object containing custom attributes to store for the user.\n * Values can be any JSON-encodable value, URLs, or Dates. Keys beginning with `$` are reserved for Superwall and will be dropped.\n * Arrays and dictionaries as values are not supported and will be omitted.\n *\n * @returns {Promise<void>} A promise that resolves once the user attributes have been updated.\n */\n async setUserAttributes(userAttributes: UserAttributes): Promise<void> {\n await this.awaitConfig()\n await SuperwallExpoModule.setUserAttributes(userAttributes)\n }\n\n /**\n * Dismisses the presented paywall, if one exists.\n *\n * @returns {Promise<void>} A promise that resolves once the paywall has been dismissed,\n * or immediately if no paywall was active.\n */\n async dismiss(): Promise<void> {\n await SuperwallExpoModule.dismiss()\n }\n\n async setLogLevel(level: LogLevel): Promise<void> {\n await SuperwallExpoModule.setLogLevel(level.toString())\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { SubscriptionStatus } from "./SuperwallExpoModule.types";
1
+ import type { EntitlementsInfo, SubscriptionStatus } from "./SuperwallExpoModule.types";
2
2
  import type { SuperwallOptions } from "./SuperwallOptions";
3
3
  /**
4
4
  * @category Models
@@ -133,6 +133,12 @@ export interface SuperwallStore {
133
133
  _initListeners: () => () => void;
134
134
  setSubscriptionStatus: (status: SubscriptionStatus) => Promise<void>;
135
135
  getDeviceAttributes: () => Promise<Record<string, any>>;
136
+ /**
137
+ * Retrieves the user's entitlements from Superwall's servers.
138
+ * This includes both active and inactive entitlements.
139
+ * @returns A promise that resolves with the entitlements information.
140
+ */
141
+ getEntitlements: () => Promise<EntitlementsInfo>;
136
142
  }
137
143
  /**
138
144
  * @category Store
@@ -1 +1 @@
1
- {"version":3,"file":"useSuperwall.d.ts","sourceRoot":"","sources":["../../src/useSuperwall.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE1D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAA;IACjB,0GAA0G;IAC1G,sBAAsB,EAAE,MAAM,CAAA;IAC9B,qGAAqG;IACrG,IAAI,EAAE,MAAM,CAAA;IACZ,qFAAqF;IACrF,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;CACpC;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAE7B,4EAA4E;IAC5E,YAAY,EAAE,OAAO,CAAA;IACrB,gHAAgH;IAChH,SAAS,EAAE,OAAO,CAAA;IAClB,0EAA0E;IAC1E,oBAAoB,EAAE,OAAO,CAAA;IAE7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IAE5B,mDAAmD;IACnD,kBAAkB,EAAE,kBAAkB,CAAA;IAOtC;;;;;;;OAOG;IACH,SAAS,EAAE,CACT,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG;QACpC,uDAAuD;QACvD,uBAAuB,CAAC,EAAE,OAAO,CAAA;KAClC,KACE,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtE;;;OAGG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAE1B;;;;;;;OAOG;IACH,iBAAiB,EAAE,CACjB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,KACtB,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB;;;;;;OAMG;IACH,qBAAqB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IACxF;;;OAGG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5B;;;OAGG;IACH,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC;;;;OAIG;IACH,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAExD;;;;OAIG;IACH,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChE;;;OAGG;IACH,iBAAiB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IAErD;;;;OAIG;IACH,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAG7C;;;;;OAKG;IACH,cAAc,EAAE,MAAM,MAAM,IAAI,CAAA;IAEhC,qBAAqB,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAEpE,mBAAmB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;CACxD;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,6EAuH3B,CAAA;AAEH;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,OAAO,GAAG,gBAAgB,CAAC,CAAA;AAEjG,eAAO,MAAM,gBAAgB,kCAAgC,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,YAAY,CAAC,CAAC,GAAG,oBAAoB,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,CAAC,GAAG,CAAC,CASjG"}
1
+ {"version":3,"file":"useSuperwall.d.ts","sourceRoot":"","sources":["../../src/useSuperwall.ts"],"names":[],"mappings":"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"}
@@ -85,6 +85,10 @@ export const useSuperwallStore = create((set, get) => ({
85
85
  const attributes = await SuperwallExpoModule.getDeviceAttributes();
86
86
  return attributes;
87
87
  },
88
+ getEntitlements: async () => {
89
+ const entitlements = await SuperwallExpoModule.getEntitlements();
90
+ return entitlements;
91
+ },
88
92
  /* -------------------- Listener helpers -------------------- */
89
93
  _initListeners: () => {
90
94
  // Use get() to read the state from within the store
@@ -100,6 +104,7 @@ export const useSuperwallStore = create((set, get) => ({
100
104
  console.log("Initialized listeners", subscriptions.length);
101
105
  return () => {
102
106
  console.log("Cleaning up listeners", subscriptions.length);
107
+ // biome-ignore lint/suspicious/useIterableCallbackReturn: <explanation>
103
108
  subscriptions.forEach((s) => s.remove());
104
109
  // Reset the state on cleanup
105
110
  set({ listenersInitialized: false });
@@ -1 +1 @@
1
- {"version":3,"file":"useSuperwall.js","sourceRoot":"","sources":["../../src/useSuperwall.ts"],"names":[],"mappings":"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","sourcesContent":["import { createContext, useContext } from \"react\"\nimport { create } from \"zustand\"\nimport { useShallow } from \"zustand/shallow\"\nimport pkg from \"../package.json\"\nimport SuperwallExpoModule from \"./SuperwallExpoModule\"\nimport type { SubscriptionStatus } from \"./SuperwallExpoModule.types\"\nimport type { SuperwallOptions } from \"./SuperwallOptions\"\n\n/**\n * @category Models\n * @since 0.0.15\n * Interface representing the attributes of a user.\n */\nexport interface UserAttributes {\n /** The user's alias ID, if set. */\n aliasId: string\n /** The user's application-specific user ID. */\n appUserId: string\n /** The ISO 8601 date string representation of when the application was installed on the user's device. */\n applicationInstalledAt: string\n /** A seed value associated with the user, used for consistent variant assignments in experiments. */\n seed: number\n /** Allows for custom attributes to be set for the user. These can be of any type. */\n [key: string]: any\n}\n\n/**\n * @category Models\n * @since 0.0.15\n * Options for the `identify` method.\n */\nexport interface IdentifyOptions {\n /**\n * Determines whether to restore paywall assignments from a previous session for the identified user.\n * If `true`, the SDK attempts to restore the assignments. Defaults to `false`.\n */\n restorePaywallAssignments?: boolean\n}\n\n/**\n * @category Store\n * @since 0.0.15\n * Defines the structure of the Superwall store, including its state and actions.\n * This store is managed by Zustand.\n */\nexport interface SuperwallStore {\n /* -------------------- State -------------------- */\n /** Indicates whether the Superwall SDK has been successfully configured. */\n isConfigured: boolean\n /** Indicates whether the SDK is currently performing a loading operation (e.g., configuring, fetching data). */\n isLoading: boolean\n /** Indicates whether the native event listeners have been initialized. */\n listenersInitialized: boolean\n\n /**\n * The current user's attributes.\n * `null` if no user is identified or after `reset` is called.\n * `undefined` initially before any user data is fetched or set.\n */\n user?: UserAttributes | null\n\n /** The current subscription status of the user. */\n subscriptionStatus: SubscriptionStatus\n\n /* -------------------- Internal -------------------- */\n // Internal listener references for cleanup handled inside Provider effect.\n // Not reactive, so we store outside Zustand state to avoid unnecessary rerenders.\n\n /* -------------------- Actions -------------------- */\n /**\n * Configures the Superwall SDK with the provided API key and options.\n * This must be called before most other SDK functions can be used.\n * @param apiKey - Your Superwall API key.\n * @param options - Optional configuration settings for the SDK.\n * @returns A promise that resolves when configuration is complete.\n * @internal\n */\n configure: (\n apiKey: string,\n options?: Partial<SuperwallOptions> & {\n /** @deprecated Use manualPurchaseManagement instead */\n manualPurchaseManagment?: boolean\n },\n ) => Promise<void>\n /**\n * Identifies the current user with a unique ID.\n * @param userId - The unique identifier for the user.\n * @param options - Optional parameters for identification.\n * @returns A promise that resolves when identification is complete.\n */\n identify: (userId: string, options?: IdentifyOptions) => Promise<void>\n /**\n * Resets the user's identity and clears all user-specific data, effectively logging them out.\n * @internal\n */\n reset: () => Promise<void>\n\n /**\n * Registers a placement to potentially show a paywall.\n * The decision to show a paywall is determined by campaign rules and user assignments on the Superwall dashboard.\n * @param placement - The ID of the placement to register.\n * @param params - Optional parameters to pass with the placement.\n * @param handlerId - An optional identifier used to associate specific event handlers (e.g., from `usePlacement`). Defaults to \"default\".\n * @returns A promise that resolves when the placement registration is complete.\n */\n registerPlacement: (\n placement: string,\n params?: Record<string, any>,\n handlerId?: string | null,\n ) => Promise<void>\n /**\n * Retrieves the presentation result for a given placement.\n * This can be used to understand what would happen if a placement were to be registered, without actually registering it.\n * @param placement - The ID of the placement.\n * @param params - Optional parameters for the placement.\n * @returns A promise that resolves with the presentation result.\n */\n getPresentationResult: (placement: string, params?: Record<string, any>) => Promise<any>\n /**\n * Dismisses any currently presented Superwall paywall.\n * @returns A promise that resolves when the dismissal is complete.\n */\n dismiss: () => Promise<void>\n\n /**\n * Preloads all paywalls configured in your Superwall dashboard.\n * @returns A promise that resolves when preloading is complete.\n */\n preloadAllPaywalls: () => Promise<void>\n /**\n * Preloads specific paywalls.\n * @param placements - An array of placement IDs for which to preload paywalls.\n * @returns A promise that resolves when preloading is complete.\n */\n preloadPaywalls: (placements: string[]) => Promise<void>\n\n /**\n * Sets custom attributes for the current user.\n * @param attrs - An object containing the attributes to set.\n * @returns A promise that resolves when attributes are set.\n */\n setUserAttributes: (attrs: Record<string, any>) => Promise<void>\n /**\n * Retrieves the current user's attributes.\n * @returns A promise that resolves with the user's attributes.\n */\n getUserAttributes: () => Promise<Record<string, any>>\n\n /**\n * Sets the logging level for the Superwall SDK.\n * @param level - The desired log level (e.g., \"debug\", \"info\", \"warn\", \"error\", \"none\").\n * @returns A promise that resolves when the log level is set.\n */\n setLogLevel: (level: string) => Promise<void>\n\n /* -------------------- Listener helpers -------------------- */\n /**\n * Initializes native event listeners for the SDK.\n * This is typically called internally by the `SuperwallProvider`.\n * @returns A cleanup function to remove the listeners.\n * @internal\n */\n _initListeners: () => () => void\n\n setSubscriptionStatus: (status: SubscriptionStatus) => Promise<void>\n\n getDeviceAttributes: () => Promise<Record<string, any>>\n}\n\n/**\n * @category Store\n * @since 0.0.15\n * Zustand store for Superwall SDK state and actions.\n * @internal\n */\nexport const useSuperwallStore = create<SuperwallStore>((set, get) => ({\n /* -------------------- State -------------------- */\n isConfigured: false,\n isLoading: false,\n listenersInitialized: false,\n\n user: null,\n subscriptionStatus: {\n status: \"UNKNOWN\",\n },\n\n /* -------------------- Actions -------------------- */\n configure: async (apiKey, options) => {\n set({ isLoading: true })\n const { manualPurchaseManagement, manualPurchaseManagment, ...restOptions } = options || {}\n\n // Support both spellings for backward compatibility\n const isManualPurchaseManagement = manualPurchaseManagement ?? manualPurchaseManagment ?? false\n\n await SuperwallExpoModule.configure(apiKey, restOptions, isManualPurchaseManagement, pkg.version)\n\n const currentUser = await SuperwallExpoModule.getUserAttributes()\n const subscriptionStatus = await SuperwallExpoModule.getSubscriptionStatus()\n\n set({\n isConfigured: true,\n isLoading: false,\n user: currentUser as UserAttributes,\n subscriptionStatus,\n })\n },\n identify: async (userId, options) => {\n await SuperwallExpoModule.identify(userId, options)\n\n // TODO: Instead of setting users after identify, we should set this based on an event\n await new Promise((resolve) => setTimeout(resolve, 0))\n\n const [currentUser, subscriptionStatus] = await Promise.all([\n SuperwallExpoModule.getUserAttributes(),\n SuperwallExpoModule.getSubscriptionStatus(),\n ])\n\n set({ user: currentUser as UserAttributes, subscriptionStatus })\n },\n reset: async () => {\n await SuperwallExpoModule.reset()\n\n const currentUser = await SuperwallExpoModule.getUserAttributes()\n const subscriptionStatus = await SuperwallExpoModule.getSubscriptionStatus()\n\n set({ user: currentUser as UserAttributes, subscriptionStatus })\n },\n registerPlacement: async (placement, params, handlerId = \"default\") => {\n await SuperwallExpoModule.registerPlacement(placement, params, handlerId)\n },\n getPresentationResult: async (placement, params) => {\n return SuperwallExpoModule.getPresentationResult(placement, params)\n },\n dismiss: async () => {\n await SuperwallExpoModule.dismiss()\n },\n preloadAllPaywalls: async () => {\n SuperwallExpoModule.preloadAllPaywalls()\n },\n preloadPaywalls: async (placements) => {\n SuperwallExpoModule.preloadPaywalls(placements)\n },\n setUserAttributes: async (attrs) => {\n await SuperwallExpoModule.setUserAttributes(attrs)\n\n const currentUser = await SuperwallExpoModule.getUserAttributes()\n set({ user: currentUser as UserAttributes })\n },\n getUserAttributes: async () => {\n const attributes = await SuperwallExpoModule.getUserAttributes()\n set({ user: attributes as UserAttributes })\n return attributes\n },\n setLogLevel: async (level) => {\n SuperwallExpoModule.setLogLevel(level)\n },\n\n setSubscriptionStatus: async (status) => {\n await SuperwallExpoModule.setSubscriptionStatus(status)\n },\n getDeviceAttributes: async () => {\n const attributes = await SuperwallExpoModule.getDeviceAttributes()\n return attributes\n },\n\n /* -------------------- Listener helpers -------------------- */\n _initListeners: (): (() => void) => {\n // Use get() to read the state from within the store\n if (get().listenersInitialized) {\n console.warn(\"Listeners already initialized. Skipping.\")\n return () => {} // Return no-op cleanup\n }\n\n const subscriptions: { remove: () => void }[] = []\n\n subscriptions.push(\n SuperwallExpoModule.addListener(\n \"subscriptionStatusDidChange\",\n ({ to }: { to: SubscriptionStatus }) => {\n set({ subscriptionStatus: to })\n },\n ),\n )\n\n set({ listenersInitialized: true })\n console.log(\"Initialized listeners\", subscriptions.length)\n\n return (): void => {\n console.log(\"Cleaning up listeners\", subscriptions.length)\n subscriptions.forEach((s) => s.remove())\n // Reset the state on cleanup\n set({ listenersInitialized: false })\n }\n },\n}))\n\n/**\n * @category Store\n * @since 0.0.15\n * Public interface for the Superwall store, excluding internal methods.\n */\nexport type PublicSuperwallStore = Omit<SuperwallStore, \"configure\" | \"reset\" | \"_initListeners\">\n\nexport const SuperwallContext = createContext<boolean>(false)\n\n/**\n * @category Hooks\n * @since 0.0.15\n * Core React hook for interacting with the Superwall SDK.\n *\n * This hook provides access to the Superwall store, which includes SDK state\n * (like configuration status, user information, subscription status) and actions\n * (like `identify`, `reset`, `registerPlacement`).\n *\n * It must be used within a component that is a descendant of `<SuperwallProvider />`.\n *\n * @template T - Optional type parameter for the selected state. Defaults to the entire `PublicSuperwallStore`.\n * @param selector - An optional function to select a specific slice of the store's state.\n * This is useful for performance optimization, as components will only re-render\n * if the selected part of the state changes. Uses shallow equality checking\n * via `zustand/shallow`. If omitted, the entire store is returned.\n * @returns The selected slice of the Superwall store state, or the entire store if no selector is provided.\n * @throws Error if used outside of a `SuperwallProvider`.\n *\n * @example\n * // Get the entire store\n * const superwall = useSuperwall();\n * console.log(superwall.isConfigured);\n * superwall.identify(\"user_123\");\n *\n * @example\n * // Select specific state properties\n * const { user, subscriptionStatus } = useSuperwall(state => ({\n * user: state.user,\n * subscriptionStatus: state.subscriptionStatus,\n * }));\n * console.log(user?.appUserId, subscriptionStatus?.status);\n */\nexport function useSuperwall<T = PublicSuperwallStore>(selector?: (state: SuperwallStore) => T): T {\n const inProvider = useContext(SuperwallContext)\n if (!inProvider) {\n throw new Error(\"useSuperwall must be used within a SuperwallProvider\")\n }\n\n const identity = (state: SuperwallStore) => state as unknown as T\n // biome-ignore lint/correctness/useHookAtTopLevel: good here\n return useSuperwallStore(selector ? useShallow(selector) : identity)\n}\n"]}
1
+ {"version":3,"file":"useSuperwall.js","sourceRoot":"","sources":["../../src/useSuperwall.ts"],"names":[],"mappings":"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","sourcesContent":["import { createContext, useContext } from \"react\"\nimport { create } from \"zustand\"\nimport { useShallow } from \"zustand/shallow\"\nimport pkg from \"../package.json\"\nimport SuperwallExpoModule from \"./SuperwallExpoModule\"\nimport type { EntitlementsInfo, SubscriptionStatus } from \"./SuperwallExpoModule.types\"\nimport type { SuperwallOptions } from \"./SuperwallOptions\"\n\n/**\n * @category Models\n * @since 0.0.15\n * Interface representing the attributes of a user.\n */\nexport interface UserAttributes {\n /** The user's alias ID, if set. */\n aliasId: string\n /** The user's application-specific user ID. */\n appUserId: string\n /** The ISO 8601 date string representation of when the application was installed on the user's device. */\n applicationInstalledAt: string\n /** A seed value associated with the user, used for consistent variant assignments in experiments. */\n seed: number\n /** Allows for custom attributes to be set for the user. These can be of any type. */\n [key: string]: any\n}\n\n/**\n * @category Models\n * @since 0.0.15\n * Options for the `identify` method.\n */\nexport interface IdentifyOptions {\n /**\n * Determines whether to restore paywall assignments from a previous session for the identified user.\n * If `true`, the SDK attempts to restore the assignments. Defaults to `false`.\n */\n restorePaywallAssignments?: boolean\n}\n\n/**\n * @category Store\n * @since 0.0.15\n * Defines the structure of the Superwall store, including its state and actions.\n * This store is managed by Zustand.\n */\nexport interface SuperwallStore {\n /* -------------------- State -------------------- */\n /** Indicates whether the Superwall SDK has been successfully configured. */\n isConfigured: boolean\n /** Indicates whether the SDK is currently performing a loading operation (e.g., configuring, fetching data). */\n isLoading: boolean\n /** Indicates whether the native event listeners have been initialized. */\n listenersInitialized: boolean\n\n /**\n * The current user's attributes.\n * `null` if no user is identified or after `reset` is called.\n * `undefined` initially before any user data is fetched or set.\n */\n user?: UserAttributes | null\n\n /** The current subscription status of the user. */\n subscriptionStatus: SubscriptionStatus\n\n /* -------------------- Internal -------------------- */\n // Internal listener references for cleanup handled inside Provider effect.\n // Not reactive, so we store outside Zustand state to avoid unnecessary rerenders.\n\n /* -------------------- Actions -------------------- */\n /**\n * Configures the Superwall SDK with the provided API key and options.\n * This must be called before most other SDK functions can be used.\n * @param apiKey - Your Superwall API key.\n * @param options - Optional configuration settings for the SDK.\n * @returns A promise that resolves when configuration is complete.\n * @internal\n */\n configure: (\n apiKey: string,\n options?: Partial<SuperwallOptions> & {\n /** @deprecated Use manualPurchaseManagement instead */\n manualPurchaseManagment?: boolean\n },\n ) => Promise<void>\n /**\n * Identifies the current user with a unique ID.\n * @param userId - The unique identifier for the user.\n * @param options - Optional parameters for identification.\n * @returns A promise that resolves when identification is complete.\n */\n identify: (userId: string, options?: IdentifyOptions) => Promise<void>\n /**\n * Resets the user's identity and clears all user-specific data, effectively logging them out.\n * @internal\n */\n reset: () => Promise<void>\n\n /**\n * Registers a placement to potentially show a paywall.\n * The decision to show a paywall is determined by campaign rules and user assignments on the Superwall dashboard.\n * @param placement - The ID of the placement to register.\n * @param params - Optional parameters to pass with the placement.\n * @param handlerId - An optional identifier used to associate specific event handlers (e.g., from `usePlacement`). Defaults to \"default\".\n * @returns A promise that resolves when the placement registration is complete.\n */\n registerPlacement: (\n placement: string,\n params?: Record<string, any>,\n handlerId?: string | null,\n ) => Promise<void>\n /**\n * Retrieves the presentation result for a given placement.\n * This can be used to understand what would happen if a placement were to be registered, without actually registering it.\n * @param placement - The ID of the placement.\n * @param params - Optional parameters for the placement.\n * @returns A promise that resolves with the presentation result.\n */\n getPresentationResult: (placement: string, params?: Record<string, any>) => Promise<any>\n /**\n * Dismisses any currently presented Superwall paywall.\n * @returns A promise that resolves when the dismissal is complete.\n */\n dismiss: () => Promise<void>\n\n /**\n * Preloads all paywalls configured in your Superwall dashboard.\n * @returns A promise that resolves when preloading is complete.\n */\n preloadAllPaywalls: () => Promise<void>\n /**\n * Preloads specific paywalls.\n * @param placements - An array of placement IDs for which to preload paywalls.\n * @returns A promise that resolves when preloading is complete.\n */\n preloadPaywalls: (placements: string[]) => Promise<void>\n\n /**\n * Sets custom attributes for the current user.\n * @param attrs - An object containing the attributes to set.\n * @returns A promise that resolves when attributes are set.\n */\n setUserAttributes: (attrs: Record<string, any>) => Promise<void>\n /**\n * Retrieves the current user's attributes.\n * @returns A promise that resolves with the user's attributes.\n */\n getUserAttributes: () => Promise<Record<string, any>>\n\n /**\n * Sets the logging level for the Superwall SDK.\n * @param level - The desired log level (e.g., \"debug\", \"info\", \"warn\", \"error\", \"none\").\n * @returns A promise that resolves when the log level is set.\n */\n setLogLevel: (level: string) => Promise<void>\n\n /* -------------------- Listener helpers -------------------- */\n /**\n * Initializes native event listeners for the SDK.\n * This is typically called internally by the `SuperwallProvider`.\n * @returns A cleanup function to remove the listeners.\n * @internal\n */\n _initListeners: () => () => void\n\n setSubscriptionStatus: (status: SubscriptionStatus) => Promise<void>\n\n getDeviceAttributes: () => Promise<Record<string, any>>\n\n /**\n * Retrieves the user's entitlements from Superwall's servers.\n * This includes both active and inactive entitlements.\n * @returns A promise that resolves with the entitlements information.\n */\n getEntitlements: () => Promise<EntitlementsInfo>\n}\n\n/**\n * @category Store\n * @since 0.0.15\n * Zustand store for Superwall SDK state and actions.\n * @internal\n */\nexport const useSuperwallStore = create<SuperwallStore>((set, get) => ({\n /* -------------------- State -------------------- */\n isConfigured: false,\n isLoading: false,\n listenersInitialized: false,\n\n user: null,\n subscriptionStatus: {\n status: \"UNKNOWN\",\n },\n\n /* -------------------- Actions -------------------- */\n configure: async (apiKey, options) => {\n set({ isLoading: true })\n const { manualPurchaseManagement, manualPurchaseManagment, ...restOptions } = options || {}\n\n // Support both spellings for backward compatibility\n const isManualPurchaseManagement = manualPurchaseManagement ?? manualPurchaseManagment ?? false\n\n await SuperwallExpoModule.configure(\n apiKey,\n restOptions,\n isManualPurchaseManagement,\n pkg.version,\n )\n\n const currentUser = await SuperwallExpoModule.getUserAttributes()\n const subscriptionStatus = await SuperwallExpoModule.getSubscriptionStatus()\n\n set({\n isConfigured: true,\n isLoading: false,\n user: currentUser as UserAttributes,\n subscriptionStatus,\n })\n },\n identify: async (userId, options) => {\n await SuperwallExpoModule.identify(userId, options)\n\n // TODO: Instead of setting users after identify, we should set this based on an event\n await new Promise((resolve) => setTimeout(resolve, 0))\n\n const [currentUser, subscriptionStatus] = await Promise.all([\n SuperwallExpoModule.getUserAttributes(),\n SuperwallExpoModule.getSubscriptionStatus(),\n ])\n\n set({ user: currentUser as UserAttributes, subscriptionStatus })\n },\n reset: async () => {\n await SuperwallExpoModule.reset()\n\n const currentUser = await SuperwallExpoModule.getUserAttributes()\n const subscriptionStatus = await SuperwallExpoModule.getSubscriptionStatus()\n\n set({ user: currentUser as UserAttributes, subscriptionStatus })\n },\n registerPlacement: async (placement, params, handlerId = \"default\") => {\n await SuperwallExpoModule.registerPlacement(placement, params, handlerId)\n },\n getPresentationResult: async (placement, params) => {\n return SuperwallExpoModule.getPresentationResult(placement, params)\n },\n dismiss: async () => {\n await SuperwallExpoModule.dismiss()\n },\n preloadAllPaywalls: async () => {\n SuperwallExpoModule.preloadAllPaywalls()\n },\n preloadPaywalls: async (placements) => {\n SuperwallExpoModule.preloadPaywalls(placements)\n },\n setUserAttributes: async (attrs) => {\n await SuperwallExpoModule.setUserAttributes(attrs)\n\n const currentUser = await SuperwallExpoModule.getUserAttributes()\n set({ user: currentUser as UserAttributes })\n },\n getUserAttributes: async () => {\n const attributes = await SuperwallExpoModule.getUserAttributes()\n set({ user: attributes as UserAttributes })\n return attributes\n },\n setLogLevel: async (level) => {\n SuperwallExpoModule.setLogLevel(level)\n },\n\n setSubscriptionStatus: async (status) => {\n await SuperwallExpoModule.setSubscriptionStatus(status)\n },\n getDeviceAttributes: async () => {\n const attributes = await SuperwallExpoModule.getDeviceAttributes()\n return attributes\n },\n getEntitlements: async () => {\n const entitlements = await SuperwallExpoModule.getEntitlements()\n return entitlements as EntitlementsInfo\n },\n\n /* -------------------- Listener helpers -------------------- */\n _initListeners: (): (() => void) => {\n // Use get() to read the state from within the store\n if (get().listenersInitialized) {\n console.warn(\"Listeners already initialized. Skipping.\")\n return () => {} // Return no-op cleanup\n }\n\n const subscriptions: { remove: () => void }[] = []\n\n subscriptions.push(\n SuperwallExpoModule.addListener(\n \"subscriptionStatusDidChange\",\n ({ to }: { to: SubscriptionStatus }) => {\n set({ subscriptionStatus: to })\n },\n ),\n )\n\n set({ listenersInitialized: true })\n console.log(\"Initialized listeners\", subscriptions.length)\n\n return (): void => {\n console.log(\"Cleaning up listeners\", subscriptions.length)\n // biome-ignore lint/suspicious/useIterableCallbackReturn: <explanation>\n subscriptions.forEach((s) => s.remove())\n // Reset the state on cleanup\n set({ listenersInitialized: false })\n }\n },\n}))\n\n/**\n * @category Store\n * @since 0.0.15\n * Public interface for the Superwall store, excluding internal methods.\n */\nexport type PublicSuperwallStore = Omit<SuperwallStore, \"configure\" | \"reset\" | \"_initListeners\">\n\nexport const SuperwallContext = createContext<boolean>(false)\n\n/**\n * @category Hooks\n * @since 0.0.15\n * Core React hook for interacting with the Superwall SDK.\n *\n * This hook provides access to the Superwall store, which includes SDK state\n * (like configuration status, user information, subscription status) and actions\n * (like `identify`, `reset`, `registerPlacement`).\n *\n * It must be used within a component that is a descendant of `<SuperwallProvider />`.\n *\n * @template T - Optional type parameter for the selected state. Defaults to the entire `PublicSuperwallStore`.\n * @param selector - An optional function to select a specific slice of the store's state.\n * This is useful for performance optimization, as components will only re-render\n * if the selected part of the state changes. Uses shallow equality checking\n * via `zustand/shallow`. If omitted, the entire store is returned.\n * @returns The selected slice of the Superwall store state, or the entire store if no selector is provided.\n * @throws Error if used outside of a `SuperwallProvider`.\n *\n * @example\n * // Get the entire store\n * const superwall = useSuperwall();\n * console.log(superwall.isConfigured);\n * superwall.identify(\"user_123\");\n *\n * @example\n * // Select specific state properties\n * const { user, subscriptionStatus } = useSuperwall(state => ({\n * user: state.user,\n * subscriptionStatus: state.subscriptionStatus,\n * }));\n * console.log(user?.appUserId, subscriptionStatus?.status);\n */\nexport function useSuperwall<T = PublicSuperwallStore>(selector?: (state: SuperwallStore) => T): T {\n const inProvider = useContext(SuperwallContext)\n if (!inProvider) {\n throw new Error(\"useSuperwall must be used within a SuperwallProvider\")\n }\n\n const identity = (state: SuperwallStore) => state as unknown as T\n // biome-ignore lint/correctness/useHookAtTopLevel: good here\n return useSuperwallStore(selector ? useShallow(selector) : identity)\n}\n"]}
@@ -22,6 +22,11 @@
22
22
  * - `refresh: () => Promise<Record<string, any>>`:
23
23
  * Manually refreshes the user's attributes and subscription status from the Superwall servers.
24
24
  * Returns a promise that resolves with the refreshed user attributes.
25
+ * - `getEntitlements: () => Promise<EntitlementsInfo>`:
26
+ * Retrieves the user's entitlements from Superwall's servers. Returns both active and inactive entitlements.
27
+ * (See `EntitlementsInfo` type in `SuperwallExpoModule.types.ts`).
28
+ * - `setSubscriptionStatus: (status: SubscriptionStatus) => Promise<void>`:
29
+ * Manually sets the subscription status of the user. This is typically called after a purchase or restore.
25
30
  * - `subscriptionStatus?: SubscriptionStatus`: The current subscription status of the user.
26
31
  * (See `SubscriptionStatus` type in `SuperwallExpoModule.types.ts`).
27
32
  * - `user?: UserAttributes | null`: An object containing the current user's attributes
@@ -29,7 +34,7 @@
29
34
  * (See `UserAttributes` type in `useSuperwall.ts`).
30
35
  *
31
36
  * @example
32
- * const { identify, update, signOut, user, subscriptionStatus } = useUser();
37
+ * const { identify, update, signOut, user, subscriptionStatus, getEntitlements, setSubscriptionStatus } = useUser();
33
38
  *
34
39
  * const handleLogin = async (userId: string) => {
35
40
  * await identify(userId);
@@ -42,6 +47,18 @@
42
47
  * const handleLogout = () => {
43
48
  * signOut();
44
49
  * };
50
+ *
51
+ * const syncSubscriptionStatus = async () => {
52
+ * const entitlements = await getEntitlements();
53
+ * if (entitlements.active.length > 0) {
54
+ * await setSubscriptionStatus({
55
+ * status: "ACTIVE",
56
+ * entitlements: entitlements.active
57
+ * });
58
+ * } else {
59
+ * await setSubscriptionStatus({ status: "INACTIVE" });
60
+ * }
61
+ * };
45
62
  */
46
63
  export declare const useUser: () => {
47
64
  readonly identify: (userId: string, options?: import("./useSuperwall").IdentifyOptions) => Promise<void>;
@@ -50,6 +67,7 @@ export declare const useUser: () => {
50
67
  readonly refresh: () => Promise<Record<string, any>>;
51
68
  readonly subscriptionStatus: import("./SuperwallExpoModule.types").SubscriptionStatus;
52
69
  readonly setSubscriptionStatus: (status: import("./SuperwallExpoModule.types").SubscriptionStatus) => Promise<void>;
70
+ readonly getEntitlements: () => Promise<import("./SuperwallExpoModule.types").EntitlementsInfo>;
53
71
  readonly user: import("./useSuperwall").UserAttributes | null | undefined;
54
72
  };
55
73
  //# sourceMappingURL=useUser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUser.d.ts","sourceRoot":"","sources":["../../src/useUser.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,OAAO;;kCAoBJ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;;;;;;CAoBxF,CAAA"}
1
+ {"version":3,"file":"useUser.d.ts","sourceRoot":"","sources":["../../src/useUser.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,eAAO,MAAM,OAAO;;kCAsBJ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;;;;;;;CAqBxF,CAAA"}
@@ -23,6 +23,11 @@ import { useSuperwall } from "./useSuperwall";
23
23
  * - `refresh: () => Promise<Record<string, any>>`:
24
24
  * Manually refreshes the user's attributes and subscription status from the Superwall servers.
25
25
  * Returns a promise that resolves with the refreshed user attributes.
26
+ * - `getEntitlements: () => Promise<EntitlementsInfo>`:
27
+ * Retrieves the user's entitlements from Superwall's servers. Returns both active and inactive entitlements.
28
+ * (See `EntitlementsInfo` type in `SuperwallExpoModule.types.ts`).
29
+ * - `setSubscriptionStatus: (status: SubscriptionStatus) => Promise<void>`:
30
+ * Manually sets the subscription status of the user. This is typically called after a purchase or restore.
26
31
  * - `subscriptionStatus?: SubscriptionStatus`: The current subscription status of the user.
27
32
  * (See `SubscriptionStatus` type in `SuperwallExpoModule.types.ts`).
28
33
  * - `user?: UserAttributes | null`: An object containing the current user's attributes
@@ -30,7 +35,7 @@ import { useSuperwall } from "./useSuperwall";
30
35
  * (See `UserAttributes` type in `useSuperwall.ts`).
31
36
  *
32
37
  * @example
33
- * const { identify, update, signOut, user, subscriptionStatus } = useUser();
38
+ * const { identify, update, signOut, user, subscriptionStatus, getEntitlements, setSubscriptionStatus } = useUser();
34
39
  *
35
40
  * const handleLogin = async (userId: string) => {
36
41
  * await identify(userId);
@@ -43,9 +48,21 @@ import { useSuperwall } from "./useSuperwall";
43
48
  * const handleLogout = () => {
44
49
  * signOut();
45
50
  * };
51
+ *
52
+ * const syncSubscriptionStatus = async () => {
53
+ * const entitlements = await getEntitlements();
54
+ * if (entitlements.active.length > 0) {
55
+ * await setSubscriptionStatus({
56
+ * status: "ACTIVE",
57
+ * entitlements: entitlements.active
58
+ * });
59
+ * } else {
60
+ * await setSubscriptionStatus({ status: "INACTIVE" });
61
+ * }
62
+ * };
46
63
  */
47
64
  export const useUser = () => {
48
- const { identify, internalUpdate, user, signOut, refresh, subscriptionStatus, setSubscriptionStatus, } = useSuperwall((state) => ({
65
+ const { identify, internalUpdate, user, signOut, refresh, subscriptionStatus, setSubscriptionStatus, getEntitlements, } = useSuperwall((state) => ({
49
66
  identify: state.identify,
50
67
  user: state.user,
51
68
  internalUpdate: state.setUserAttributes,
@@ -53,6 +70,7 @@ export const useUser = () => {
53
70
  refresh: state.getUserAttributes,
54
71
  subscriptionStatus: state.subscriptionStatus,
55
72
  setSubscriptionStatus: state.setSubscriptionStatus,
73
+ getEntitlements: state.getEntitlements,
56
74
  }));
57
75
  const update = async (attributes) => {
58
76
  if (typeof attributes === "function") {
@@ -69,6 +87,7 @@ export const useUser = () => {
69
87
  refresh,
70
88
  subscriptionStatus,
71
89
  setSubscriptionStatus,
90
+ getEntitlements,
72
91
  user,
73
92
  };
74
93
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useUser.js","sourceRoot":"","sources":["../../src/useUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IAC1B,MAAM,EACJ,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,OAAO,EACP,OAAO,EACP,kBAAkB,EAClB,qBAAqB,GACtB,GAAG,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,cAAc,EAAE,KAAK,CAAC,iBAAiB;QACvC,OAAO,EAAE,KAAK,CAAC,KAAK;QACpB,OAAO,EAAE,KAAK,CAAC,iBAAiB;QAChC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;KACnD,CAAC,CAAC,CAAA;IAEH,MAAM,MAAM,GAAG,KAAK,EAClB,UAAqF,EACrF,EAAE;QACF,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;YACpC,MAAM,cAAc,CAAC,KAAK,CAAC,CAAA;YAC3B,OAAM;QACR,CAAC;QAED,MAAM,cAAc,CAAC,UAAU,CAAC,CAAA;IAClC,CAAC,CAAA;IAED,OAAO;QACL,QAAQ;QACR,MAAM;QACN,OAAO;QACP,OAAO;QACP,kBAAkB;QAClB,qBAAqB;QACrB,IAAI;KACI,CAAA;AACZ,CAAC,CAAA","sourcesContent":["import { useSuperwall } from \"./useSuperwall\"\n\n/**\n * @category Hooks\n * @since 0.0.15\n * React hook for managing user-specific aspects of the Superwall SDK.\n *\n * This hook provides functions to identify the user, update user attributes,\n * sign out the user, and refresh user data. It also provides access to the\n * current user's attributes and subscription status.\n *\n * It must be used within a component that is a descendant of `<SuperwallProvider />`.\n *\n * @returns An object containing user-related state and functions.\n * - `identify: (userId: string, options?: IdentifyOptions) => Promise<void>`:\n * Identifies the current user with Superwall. This is typically called when a user logs in.\n * - `userId`: The unique identifier for the user.\n * - `options`: Optional parameters for identification, such as `restorePaywallAssignments`.\n * - `update: (attributes: Record<string, any> | ((old: Record<string, any>) => Record<string, any>)) => Promise<void>`:\n * Updates the current user's attributes. Accepts either an object of attributes or a function\n * that takes the old attributes and returns the new attributes.\n * - `signOut: () => void`: Resets the user's identity, effectively signing them out from Superwall.\n * This clears all user-specific data from the SDK.\n * - `refresh: () => Promise<Record<string, any>>`:\n * Manually refreshes the user's attributes and subscription status from the Superwall servers.\n * Returns a promise that resolves with the refreshed user attributes.\n * - `subscriptionStatus?: SubscriptionStatus`: The current subscription status of the user.\n * (See `SubscriptionStatus` type in `SuperwallExpoModule.types.ts`).\n * - `user?: UserAttributes | null`: An object containing the current user's attributes\n * (e.g., `appUserId`, `aliasId`, custom attributes). `null` if no user is identified or after `signOut`.\n * (See `UserAttributes` type in `useSuperwall.ts`).\n *\n * @example\n * const { identify, update, signOut, user, subscriptionStatus } = useUser();\n *\n * const handleLogin = async (userId: string) => {\n * await identify(userId);\n * };\n *\n * const handleUpdateName = async (newName: string) => {\n * await update({ name: newName });\n * };\n *\n * const handleLogout = () => {\n * signOut();\n * };\n */\nexport const useUser = () => {\n const {\n identify,\n internalUpdate,\n user,\n signOut,\n refresh,\n subscriptionStatus,\n setSubscriptionStatus,\n } = useSuperwall((state) => ({\n identify: state.identify,\n user: state.user,\n internalUpdate: state.setUserAttributes,\n signOut: state.reset,\n refresh: state.getUserAttributes,\n subscriptionStatus: state.subscriptionStatus,\n setSubscriptionStatus: state.setSubscriptionStatus,\n }))\n\n const update = async (\n attributes: Record<string, any> | ((old: Record<string, any>) => Record<string, any>),\n ) => {\n if (typeof attributes === \"function\") {\n const stuff = attributes(user || {})\n await internalUpdate(stuff)\n return\n }\n\n await internalUpdate(attributes)\n }\n\n return {\n identify,\n update,\n signOut,\n refresh,\n subscriptionStatus,\n setSubscriptionStatus,\n user,\n } as const\n}\n"]}
1
+ {"version":3,"file":"useUser.js","sourceRoot":"","sources":["../../src/useUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IAC1B,MAAM,EACJ,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,OAAO,EACP,OAAO,EACP,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,GAChB,GAAG,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,cAAc,EAAE,KAAK,CAAC,iBAAiB;QACvC,OAAO,EAAE,KAAK,CAAC,KAAK;QACpB,OAAO,EAAE,KAAK,CAAC,iBAAiB;QAChC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;QAClD,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC,CAAC,CAAA;IAEH,MAAM,MAAM,GAAG,KAAK,EAClB,UAAqF,EACrF,EAAE;QACF,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;YACpC,MAAM,cAAc,CAAC,KAAK,CAAC,CAAA;YAC3B,OAAM;QACR,CAAC;QAED,MAAM,cAAc,CAAC,UAAU,CAAC,CAAA;IAClC,CAAC,CAAA;IAED,OAAO;QACL,QAAQ;QACR,MAAM;QACN,OAAO;QACP,OAAO;QACP,kBAAkB;QAClB,qBAAqB;QACrB,eAAe;QACf,IAAI;KACI,CAAA;AACZ,CAAC,CAAA","sourcesContent":["import { useSuperwall } from \"./useSuperwall\"\n\n/**\n * @category Hooks\n * @since 0.0.15\n * React hook for managing user-specific aspects of the Superwall SDK.\n *\n * This hook provides functions to identify the user, update user attributes,\n * sign out the user, and refresh user data. It also provides access to the\n * current user's attributes and subscription status.\n *\n * It must be used within a component that is a descendant of `<SuperwallProvider />`.\n *\n * @returns An object containing user-related state and functions.\n * - `identify: (userId: string, options?: IdentifyOptions) => Promise<void>`:\n * Identifies the current user with Superwall. This is typically called when a user logs in.\n * - `userId`: The unique identifier for the user.\n * - `options`: Optional parameters for identification, such as `restorePaywallAssignments`.\n * - `update: (attributes: Record<string, any> | ((old: Record<string, any>) => Record<string, any>)) => Promise<void>`:\n * Updates the current user's attributes. Accepts either an object of attributes or a function\n * that takes the old attributes and returns the new attributes.\n * - `signOut: () => void`: Resets the user's identity, effectively signing them out from Superwall.\n * This clears all user-specific data from the SDK.\n * - `refresh: () => Promise<Record<string, any>>`:\n * Manually refreshes the user's attributes and subscription status from the Superwall servers.\n * Returns a promise that resolves with the refreshed user attributes.\n * - `getEntitlements: () => Promise<EntitlementsInfo>`:\n * Retrieves the user's entitlements from Superwall's servers. Returns both active and inactive entitlements.\n * (See `EntitlementsInfo` type in `SuperwallExpoModule.types.ts`).\n * - `setSubscriptionStatus: (status: SubscriptionStatus) => Promise<void>`:\n * Manually sets the subscription status of the user. This is typically called after a purchase or restore.\n * - `subscriptionStatus?: SubscriptionStatus`: The current subscription status of the user.\n * (See `SubscriptionStatus` type in `SuperwallExpoModule.types.ts`).\n * - `user?: UserAttributes | null`: An object containing the current user's attributes\n * (e.g., `appUserId`, `aliasId`, custom attributes). `null` if no user is identified or after `signOut`.\n * (See `UserAttributes` type in `useSuperwall.ts`).\n *\n * @example\n * const { identify, update, signOut, user, subscriptionStatus, getEntitlements, setSubscriptionStatus } = useUser();\n *\n * const handleLogin = async (userId: string) => {\n * await identify(userId);\n * };\n *\n * const handleUpdateName = async (newName: string) => {\n * await update({ name: newName });\n * };\n *\n * const handleLogout = () => {\n * signOut();\n * };\n *\n * const syncSubscriptionStatus = async () => {\n * const entitlements = await getEntitlements();\n * if (entitlements.active.length > 0) {\n * await setSubscriptionStatus({\n * status: \"ACTIVE\",\n * entitlements: entitlements.active\n * });\n * } else {\n * await setSubscriptionStatus({ status: \"INACTIVE\" });\n * }\n * };\n */\nexport const useUser = () => {\n const {\n identify,\n internalUpdate,\n user,\n signOut,\n refresh,\n subscriptionStatus,\n setSubscriptionStatus,\n getEntitlements,\n } = useSuperwall((state) => ({\n identify: state.identify,\n user: state.user,\n internalUpdate: state.setUserAttributes,\n signOut: state.reset,\n refresh: state.getUserAttributes,\n subscriptionStatus: state.subscriptionStatus,\n setSubscriptionStatus: state.setSubscriptionStatus,\n getEntitlements: state.getEntitlements,\n }))\n\n const update = async (\n attributes: Record<string, any> | ((old: Record<string, any>) => Record<string, any>),\n ) => {\n if (typeof attributes === \"function\") {\n const stuff = attributes(user || {})\n await internalUpdate(stuff)\n return\n }\n\n await internalUpdate(attributes)\n }\n\n return {\n identify,\n update,\n signOut,\n refresh,\n subscriptionStatus,\n setSubscriptionStatus,\n getEntitlements,\n user,\n } as const\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-superwall",
3
- "version": "0.6.3",
3
+ "version": "0.6.5",
4
4
  "description": "Offical Expo Integration for Superwall",
5
5
  "main": "build/src/index.js",
6
6
  "types": "build/src/index.d.ts",