@adapty/capacitor 3.10.0-beta.1 → 3.11.0-beta.0
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/AdaptyCapacitor.podspec +3 -3
- package/Package.swift +1 -1
- package/android/build.gradle +3 -3
- package/dist/esm/adapty-emitter.js +2 -2
- package/dist/esm/adapty-emitter.js.map +1 -1
- package/dist/esm/adapty.js +5 -1
- package/dist/esm/adapty.js.map +1 -1
- package/dist/esm/shared/coders/adapty-onboarding-builder.js +0 -5
- package/dist/esm/shared/coders/adapty-onboarding-builder.js.map +1 -1
- package/dist/esm/shared/coders/adapty-onboarding.js +1 -0
- package/dist/esm/shared/coders/adapty-onboarding.js.map +1 -1
- package/dist/esm/shared/coders/adapty-paywall.js +1 -0
- package/dist/esm/shared/coders/adapty-paywall.js.map +1 -1
- package/dist/esm/shared/types/index.d.ts +8 -1
- package/dist/esm/shared/types/index.js.map +1 -1
- package/dist/esm/shared/utils/map-values.d.ts +8 -0
- package/dist/esm/shared/utils/map-values.js +11 -0
- package/dist/esm/shared/utils/map-values.js.map +1 -0
- package/dist/esm/shared/utils/with-error-context.d.ts +7 -0
- package/dist/esm/shared/utils/with-error-context.js +33 -0
- package/dist/esm/shared/utils/with-error-context.js.map +1 -0
- package/dist/esm/ui-builder/base-view-emitter.js +4 -2
- package/dist/esm/ui-builder/base-view-emitter.js.map +1 -1
- package/dist/esm/ui-builder/onboarding-view-controller.js +6 -1
- package/dist/esm/ui-builder/onboarding-view-controller.js.map +1 -1
- package/dist/esm/ui-builder/paywall-view-controller.js +6 -1
- package/dist/esm/ui-builder/paywall-view-controller.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/plugin.cjs.js +65 -13
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +65 -13
- package/dist/plugin.js.map +1 -1
- package/package.json +1 -1
package/AdaptyCapacitor.podspec
CHANGED
|
@@ -12,8 +12,8 @@ Pod::Spec.new do |s|
|
|
|
12
12
|
s.source = { :git => package['repository']['url'], :tag => s.version.to_s }
|
|
13
13
|
s.source_files = 'ios/Sources/**/*.{swift,h,m,c,cc,mm,cpp}'
|
|
14
14
|
s.dependency 'Capacitor'
|
|
15
|
-
s.dependency 'Adapty', '3.
|
|
16
|
-
s.dependency 'AdaptyUI', '3.
|
|
17
|
-
s.dependency 'AdaptyPlugin', '3.
|
|
15
|
+
s.dependency 'Adapty', '3.11.0'
|
|
16
|
+
s.dependency 'AdaptyUI', '3.11.0'
|
|
17
|
+
s.dependency 'AdaptyPlugin', '3.11.0'
|
|
18
18
|
s.swift_version = '5.1'
|
|
19
19
|
end
|
package/Package.swift
CHANGED
|
@@ -11,7 +11,7 @@ let package = Package(
|
|
|
11
11
|
],
|
|
12
12
|
dependencies: [
|
|
13
13
|
.package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", from: "7.0.0"),
|
|
14
|
-
.package(url: "https://github.com/adaptyteam/AdaptySDK-iOS.git", exact: "3.
|
|
14
|
+
.package(url: "https://github.com/adaptyteam/AdaptySDK-iOS.git", exact: "3.11.0")
|
|
15
15
|
],
|
|
16
16
|
targets: [
|
|
17
17
|
.target(
|
package/android/build.gradle
CHANGED
|
@@ -61,9 +61,9 @@ dependencies {
|
|
|
61
61
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
|
|
62
62
|
|
|
63
63
|
// Adapty SDK dependencies
|
|
64
|
-
implementation 'io.adapty:android-sdk:3.
|
|
65
|
-
implementation 'io.adapty:android-ui:3.
|
|
66
|
-
implementation 'io.adapty.internal:crossplatform:3.
|
|
64
|
+
implementation 'io.adapty:android-sdk:3.11.1'
|
|
65
|
+
implementation 'io.adapty:android-ui:3.11.1'
|
|
66
|
+
implementation 'io.adapty.internal:crossplatform:3.11.2'
|
|
67
67
|
|
|
68
68
|
testImplementation "junit:junit:$junitVersion"
|
|
69
69
|
androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
|
|
@@ -78,10 +78,10 @@ export class AdaptyEmitter {
|
|
|
78
78
|
}
|
|
79
79
|
try {
|
|
80
80
|
listener(payload);
|
|
81
|
-
eventLog.success(() => ({
|
|
81
|
+
eventLog.success(() => ({ message: 'Event handled successfully', handlerName }));
|
|
82
82
|
}
|
|
83
83
|
catch (handlerError) {
|
|
84
|
-
eventLog.failed(() => ({
|
|
84
|
+
eventLog.failed(() => ({ handlerName, handlerError }));
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapty-emitter.js","sourceRoot":"","sources":["../../src/adapty-emitter.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core';\n\nimport { AdaptyCapacitorPlugin } from './bridge/plugin';\nimport type { AdaptyError } from './shared/adapty-error';\nimport { parseCommonEvent } from './shared/coders/parse';\nimport { LogContext } from './shared/logger';\nimport type { AdaptyProfile, AdaptyInstallationDetails } from './shared/types';\nimport type { AddListenerFn, EventPayloadMap } from './types/adapty-plugin';\n\ntype EventConfig<K extends keyof EventPayloadMap> = {\n native: 'did_load_latest_profile' | 'on_installation_details_success' | 'on_installation_details_fail';\n parse: (raw: string, eventCtx: LogContext) => EventPayloadMap[K] | null;\n};\n\n// Type-safe parser functions for each event\nfunction parseProfileEvent(raw: string, eventCtx: LogContext): EventPayloadMap['onLatestProfileLoad'] | null {\n const profile = parseCommonEvent('did_load_latest_profile', raw, eventCtx);\n return profile ? { profile: profile as AdaptyProfile } : null;\n}\n\nfunction parseInstallationDetailsSuccessEvent(\n raw: string,\n eventCtx: LogContext,\n): EventPayloadMap['onInstallationDetailsSuccess'] | null {\n const details = parseCommonEvent('on_installation_details_success', raw, eventCtx);\n return details ? { details: details as AdaptyInstallationDetails } : null;\n}\n\nfunction parseInstallationDetailsFailEvent(\n raw: string,\n eventCtx: LogContext,\n): EventPayloadMap['onInstallationDetailsFail'] | null {\n const error = parseCommonEvent('on_installation_details_fail', raw, eventCtx);\n return error ? { error: error as AdaptyError } : null;\n}\n\nconst EVENT_MAP: { [K in keyof EventPayloadMap]: EventConfig<K> } = {\n onLatestProfileLoad: {\n native: 'did_load_latest_profile',\n parse: parseProfileEvent,\n },\n onInstallationDetailsSuccess: {\n native: 'on_installation_details_success',\n parse: parseInstallationDetailsSuccessEvent,\n },\n onInstallationDetailsFail: {\n native: 'on_installation_details_fail',\n parse: parseInstallationDetailsFailEvent,\n },\n};\n\nexport class AdaptyEmitter {\n private nativeEventListeners: Map<string, PluginListenerHandle> = new Map();\n private externalHandlers: Map<\n string,\n {\n id: string;\n handlerName: keyof EventPayloadMap;\n listener: (data: EventPayloadMap[keyof EventPayloadMap]) => void;\n config: EventConfig<keyof EventPayloadMap>;\n }[]\n > = new Map();\n\n public addListener: AddListenerFn = async <T extends keyof EventPayloadMap>(\n eventName: T,\n listener: (data: EventPayloadMap[T]) => void,\n ): Promise<PluginListenerHandle> => {\n const ctx = new LogContext();\n const log = ctx.call({ methodName: 'addListener' });\n log.start(() => ({ eventName }));\n\n const eventConfig = EVENT_MAP[eventName];\n if (!eventConfig) {\n throw new Error(`[Adapty] Unsupported event: ${eventName}`);\n }\n\n const handlerId = `${eventName}_${Math.random().toString(36)}`;\n const handlersForEvent = this.externalHandlers.get(eventConfig.native) ?? [];\n handlersForEvent.push({\n id: handlerId,\n handlerName: eventName,\n listener: listener as (data: EventPayloadMap[keyof EventPayloadMap]) => void,\n config: eventConfig as EventConfig<keyof EventPayloadMap>,\n });\n this.externalHandlers.set(eventConfig.native, handlersForEvent);\n\n if (!this.nativeEventListeners.has(eventConfig.native)) {\n const handlers = this.externalHandlers;\n const subscription = await AdaptyCapacitorPlugin.addListener(eventConfig.native, (arg: { data: string }) => {\n const eventCtx = new LogContext();\n const eventLog = eventCtx.event({ methodName: eventConfig.native });\n eventLog.start(() => ({ raw: arg }));\n\n const rawEventData = arg?.data;\n if (typeof rawEventData !== 'string') {\n eventLog.failed(() => ({ error: new Error('[Adapty] Expected event data to be JSON string') }));\n return;\n }\n\n const eventHandlers = handlers.get(eventConfig.native) ?? [];\n for (const { handlerName, listener, config } of eventHandlers) {\n let payload: EventPayloadMap[keyof EventPayloadMap] | null = null;\n try {\n payload = config.parse(rawEventData, eventCtx);\n } catch (err) {\n eventLog.failed(() => ({ error: err }));\n continue;\n }\n\n if (!payload) {\n eventLog.failed(() => ({ error: new Error('[Adapty] Parsed payload is null') }));\n continue;\n }\n\n try {\n listener(payload);\n eventLog.success(() => ({ delivered: true, handlerName }));\n } catch (handlerError) {\n eventLog.failed(() => ({ handlerError, handlerName }));\n }\n }\n });\n this.nativeEventListeners.set(eventConfig.native, subscription);\n }\n\n // Return wrapper handle that can remove this specific handler\n const wrappedHandle: PluginListenerHandle = {\n remove: async () => {\n await this.removeHandler(eventConfig.native, handlerId);\n },\n } as PluginListenerHandle;\n\n return wrappedHandle;\n };\n\n private async removeHandler(nativeEvent: string, handlerId: string): Promise<void> {\n const ctx = new LogContext();\n const log = ctx.call({ methodName: 'removeHandler' });\n log.start(() => ({ nativeEvent, handlerId }));\n\n const handlersForEvent = this.externalHandlers.get(nativeEvent);\n if (!handlersForEvent) {\n log.success(() => ({ message: 'No handlers found for native event', nativeEvent }));\n return;\n }\n\n const initialHandlersCount = handlersForEvent.length;\n // Remove the specific handler\n const filteredHandlers = handlersForEvent.filter((h) => h.id !== handlerId);\n this.externalHandlers.set(nativeEvent, filteredHandlers);\n\n const handlerRemoved = filteredHandlers.length < initialHandlersCount;\n if (!handlerRemoved) {\n log.success(() => ({\n message: 'Handler not found in handlers list',\n nativeEvent,\n handlerId,\n remainingHandlers: filteredHandlers.length,\n }));\n return;\n }\n\n // If no more handlers for this native event, remove the subscription\n if (filteredHandlers.length === 0) {\n this.externalHandlers.delete(nativeEvent);\n const subscription = this.nativeEventListeners.get(nativeEvent);\n if (subscription) {\n try {\n await subscription.remove();\n this.nativeEventListeners.delete(nativeEvent);\n log.success(() => ({\n message: 'Handler and native subscription removed successfully',\n nativeEvent,\n handlerId,\n }));\n } catch (error) {\n log.failed(() => ({\n message: `Failed to remove subscription for ${nativeEvent}`,\n error,\n nativeEvent,\n handlerId,\n }));\n }\n } else {\n log.success(() => ({\n message: 'Handler removed, no native subscription found',\n nativeEvent,\n handlerId,\n }));\n }\n } else {\n log.success(() => ({\n message: 'Handler removed successfully',\n nativeEvent,\n handlerId,\n remainingHandlers: filteredHandlers.length,\n }));\n }\n }\n\n async removeAllListeners(): Promise<void> {\n const ctx = new LogContext();\n const log = ctx.call({ methodName: 'removeAllListeners' });\n log.start(() => ({ listenersCount: this.nativeEventListeners.size }));\n\n try {\n const removePromises = Array.from(this.nativeEventListeners.values()).map((handle, index) =>\n handle.remove().catch((error) => {\n log.failed(() => ({\n message: `Failed to remove event listener ${index}`,\n error,\n index,\n }));\n }),\n );\n\n this.nativeEventListeners.clear();\n this.externalHandlers.clear();\n await Promise.all(removePromises);\n log.success(() => ({ message: 'All listeners removed successfully' }));\n } catch (error) {\n log.failed(() => ({ error }));\n throw error;\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"adapty-emitter.js","sourceRoot":"","sources":["../../src/adapty-emitter.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core';\n\nimport { AdaptyCapacitorPlugin } from './bridge/plugin';\nimport type { AdaptyError } from './shared/adapty-error';\nimport { parseCommonEvent } from './shared/coders/parse';\nimport { LogContext } from './shared/logger';\nimport type { AdaptyProfile, AdaptyInstallationDetails } from './shared/types';\nimport type { AddListenerFn, EventPayloadMap } from './types/adapty-plugin';\n\ntype EventConfig<K extends keyof EventPayloadMap> = {\n native: 'did_load_latest_profile' | 'on_installation_details_success' | 'on_installation_details_fail';\n parse: (raw: string, eventCtx: LogContext) => EventPayloadMap[K] | null;\n};\n\n// Type-safe parser functions for each event\nfunction parseProfileEvent(raw: string, eventCtx: LogContext): EventPayloadMap['onLatestProfileLoad'] | null {\n const profile = parseCommonEvent('did_load_latest_profile', raw, eventCtx);\n return profile ? { profile: profile as AdaptyProfile } : null;\n}\n\nfunction parseInstallationDetailsSuccessEvent(\n raw: string,\n eventCtx: LogContext,\n): EventPayloadMap['onInstallationDetailsSuccess'] | null {\n const details = parseCommonEvent('on_installation_details_success', raw, eventCtx);\n return details ? { details: details as AdaptyInstallationDetails } : null;\n}\n\nfunction parseInstallationDetailsFailEvent(\n raw: string,\n eventCtx: LogContext,\n): EventPayloadMap['onInstallationDetailsFail'] | null {\n const error = parseCommonEvent('on_installation_details_fail', raw, eventCtx);\n return error ? { error: error as AdaptyError } : null;\n}\n\nconst EVENT_MAP: { [K in keyof EventPayloadMap]: EventConfig<K> } = {\n onLatestProfileLoad: {\n native: 'did_load_latest_profile',\n parse: parseProfileEvent,\n },\n onInstallationDetailsSuccess: {\n native: 'on_installation_details_success',\n parse: parseInstallationDetailsSuccessEvent,\n },\n onInstallationDetailsFail: {\n native: 'on_installation_details_fail',\n parse: parseInstallationDetailsFailEvent,\n },\n};\n\nexport class AdaptyEmitter {\n private nativeEventListeners: Map<string, PluginListenerHandle> = new Map();\n private externalHandlers: Map<\n string,\n {\n id: string;\n handlerName: keyof EventPayloadMap;\n listener: (data: EventPayloadMap[keyof EventPayloadMap]) => void;\n config: EventConfig<keyof EventPayloadMap>;\n }[]\n > = new Map();\n\n public addListener: AddListenerFn = async <T extends keyof EventPayloadMap>(\n eventName: T,\n listener: (data: EventPayloadMap[T]) => void,\n ): Promise<PluginListenerHandle> => {\n const ctx = new LogContext();\n const log = ctx.call({ methodName: 'addListener' });\n log.start(() => ({ eventName }));\n\n const eventConfig = EVENT_MAP[eventName];\n if (!eventConfig) {\n throw new Error(`[Adapty] Unsupported event: ${eventName}`);\n }\n\n const handlerId = `${eventName}_${Math.random().toString(36)}`;\n const handlersForEvent = this.externalHandlers.get(eventConfig.native) ?? [];\n handlersForEvent.push({\n id: handlerId,\n handlerName: eventName,\n listener: listener as (data: EventPayloadMap[keyof EventPayloadMap]) => void,\n config: eventConfig as EventConfig<keyof EventPayloadMap>,\n });\n this.externalHandlers.set(eventConfig.native, handlersForEvent);\n\n if (!this.nativeEventListeners.has(eventConfig.native)) {\n const handlers = this.externalHandlers;\n const subscription = await AdaptyCapacitorPlugin.addListener(eventConfig.native, (arg: { data: string }) => {\n const eventCtx = new LogContext();\n const eventLog = eventCtx.event({ methodName: eventConfig.native });\n eventLog.start(() => ({ raw: arg }));\n\n const rawEventData = arg?.data;\n if (typeof rawEventData !== 'string') {\n eventLog.failed(() => ({ error: new Error('[Adapty] Expected event data to be JSON string') }));\n return;\n }\n\n const eventHandlers = handlers.get(eventConfig.native) ?? [];\n for (const { handlerName, listener, config } of eventHandlers) {\n let payload: EventPayloadMap[keyof EventPayloadMap] | null = null;\n try {\n payload = config.parse(rawEventData, eventCtx);\n } catch (err) {\n eventLog.failed(() => ({ error: err }));\n continue;\n }\n\n if (!payload) {\n eventLog.failed(() => ({ error: new Error('[Adapty] Parsed payload is null') }));\n continue;\n }\n\n try {\n listener(payload);\n eventLog.success(() => ({ message: 'Event handled successfully', handlerName }));\n } catch (handlerError) {\n eventLog.failed(() => ({ handlerName, handlerError }));\n }\n }\n });\n this.nativeEventListeners.set(eventConfig.native, subscription);\n }\n\n // Return wrapper handle that can remove this specific handler\n const wrappedHandle: PluginListenerHandle = {\n remove: async () => {\n await this.removeHandler(eventConfig.native, handlerId);\n },\n } as PluginListenerHandle;\n\n return wrappedHandle;\n };\n\n private async removeHandler(nativeEvent: string, handlerId: string): Promise<void> {\n const ctx = new LogContext();\n const log = ctx.call({ methodName: 'removeHandler' });\n log.start(() => ({ nativeEvent, handlerId }));\n\n const handlersForEvent = this.externalHandlers.get(nativeEvent);\n if (!handlersForEvent) {\n log.success(() => ({ message: 'No handlers found for native event', nativeEvent }));\n return;\n }\n\n const initialHandlersCount = handlersForEvent.length;\n // Remove the specific handler\n const filteredHandlers = handlersForEvent.filter((h) => h.id !== handlerId);\n this.externalHandlers.set(nativeEvent, filteredHandlers);\n\n const handlerRemoved = filteredHandlers.length < initialHandlersCount;\n if (!handlerRemoved) {\n log.success(() => ({\n message: 'Handler not found in handlers list',\n nativeEvent,\n handlerId,\n remainingHandlers: filteredHandlers.length,\n }));\n return;\n }\n\n // If no more handlers for this native event, remove the subscription\n if (filteredHandlers.length === 0) {\n this.externalHandlers.delete(nativeEvent);\n const subscription = this.nativeEventListeners.get(nativeEvent);\n if (subscription) {\n try {\n await subscription.remove();\n this.nativeEventListeners.delete(nativeEvent);\n log.success(() => ({\n message: 'Handler and native subscription removed successfully',\n nativeEvent,\n handlerId,\n }));\n } catch (error) {\n log.failed(() => ({\n message: `Failed to remove subscription for ${nativeEvent}`,\n error,\n nativeEvent,\n handlerId,\n }));\n }\n } else {\n log.success(() => ({\n message: 'Handler removed, no native subscription found',\n nativeEvent,\n handlerId,\n }));\n }\n } else {\n log.success(() => ({\n message: 'Handler removed successfully',\n nativeEvent,\n handlerId,\n remainingHandlers: filteredHandlers.length,\n }));\n }\n }\n\n async removeAllListeners(): Promise<void> {\n const ctx = new LogContext();\n const log = ctx.call({ methodName: 'removeAllListeners' });\n log.start(() => ({ listenersCount: this.nativeEventListeners.size }));\n\n try {\n const removePromises = Array.from(this.nativeEventListeners.values()).map((handle, index) =>\n handle.remove().catch((error) => {\n log.failed(() => ({\n message: `Failed to remove event listener ${index}`,\n error,\n index,\n }));\n }),\n );\n\n this.nativeEventListeners.clear();\n this.externalHandlers.clear();\n await Promise.all(removePromises);\n log.success(() => ({ message: 'All listeners removed successfully' }));\n } catch (error) {\n log.failed(() => ({ error }));\n throw error;\n }\n }\n}\n"]}
|
package/dist/esm/adapty.js
CHANGED
|
@@ -13,6 +13,7 @@ import { Log, LogContext } from './shared/logger';
|
|
|
13
13
|
import { isErrorResponse, isSuccessResponse, } from './shared/types/method-types';
|
|
14
14
|
import { filterUndefined } from './shared/utils/compact-object';
|
|
15
15
|
import { mergeOptions } from './shared/utils/merge-options';
|
|
16
|
+
import { withErrorContext } from './shared/utils/with-error-context';
|
|
16
17
|
export class Adapty {
|
|
17
18
|
constructor() {
|
|
18
19
|
this.activating = null;
|
|
@@ -27,7 +28,10 @@ export class Adapty {
|
|
|
27
28
|
'set_fallback',
|
|
28
29
|
];
|
|
29
30
|
this.options = defaultAdaptyOptions;
|
|
30
|
-
this.addListener = (eventName, listenerFunc) =>
|
|
31
|
+
this.addListener = (eventName, listenerFunc) => {
|
|
32
|
+
const wrappedListener = withErrorContext(listenerFunc, eventName, 'Adapty');
|
|
33
|
+
return this.emitter.addListener(eventName, wrappedListener);
|
|
34
|
+
};
|
|
31
35
|
}
|
|
32
36
|
/**
|
|
33
37
|
* Helper method for logging encode operations
|
package/dist/esm/adapty.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapty.js","sourceRoot":"","sources":["../../src/adapty.ts"],"names":[],"mappings":"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","sourcesContent":["// PluginListenerHandle is no longer referenced directly in this file\nimport { Capacitor } from '@capacitor/core';\n\nimport { AdaptyEmitter } from './adapty-emitter';\nimport { AdaptyCapacitorPlugin } from './bridge/plugin';\nimport { getCoder } from './coder-registry';\nimport { defaultAdaptyOptions } from './default-configs';\nimport { AdaptyConfigurationCoder } from './shared/coders/adapty-configuration';\nimport { AdaptyPaywallCoder } from './shared/coders/adapty-paywall';\nimport { AdaptyPaywallProductCoder } from './shared/coders/adapty-paywall-product';\nimport { AdaptyProfileParametersCoder } from './shared/coders/adapty-profile-parameters';\nimport { AdaptyPurchaseParamsCoder } from './shared/coders/adapty-purchase-params';\nimport { Log, LogContext } from './shared/logger';\nimport type { LoggerConfig, LogScope } from './shared/logger';\nimport type {\n AdaptyPaywall,\n AdaptyPaywallProduct,\n AdaptyOnboarding,\n AdaptyProfile,\n AdaptyPurchaseResult,\n AdaptyProfileParameters,\n RefundPreference,\n AdaptyInstallationStatus,\n} from './shared/types';\nimport type { components } from './shared/types/api';\nimport type { ActivateParamsInput, FileLocation, LogLevel } from './shared/types/inputs';\nimport {\n isErrorResponse,\n isSuccessResponse,\n type CrossPlatformResponse,\n type MethodName,\n type MethodResponseMap,\n} from './shared/types/method-types';\nimport { filterUndefined } from './shared/utils/compact-object';\nimport { mergeOptions } from './shared/utils/merge-options';\nimport type { AdaptyPlugin, AddListenerFn, EventPayloadMap } from './types/adapty-plugin';\nimport type {\n AdaptyDefaultOptions,\n GetPaywallOptions,\n GetPaywallOptionsWithDefaults,\n GetPaywallForDefaultAudienceOptions,\n GetPaywallForDefaultAudienceOptionsWithDefaults,\n MakePurchaseOptions,\n GetOnboardingOptions,\n GetOnboardingOptionsWithDefaults,\n GetOnboardingForDefaultAudienceOptions,\n GetOnboardingForDefaultAudienceOptionsWithDefaults,\n} from './types/configs';\n\ntype Req = components['requests'];\n\nexport class Adapty implements AdaptyPlugin {\n private activating: Promise<void> | null = null;\n private resolveHeldActivation?: (() => Promise<void>) | null = null;\n private readonly emitter = new AdaptyEmitter();\n private nonWaitingMethods: MethodName[] = [\n 'activate',\n 'is_activated',\n 'get_paywall_for_default_audience',\n 'get_onboarding_for_default_audience',\n 'set_log_level',\n 'set_fallback',\n ];\n private readonly options: AdaptyDefaultOptions = defaultAdaptyOptions;\n\n /**\n * Helper method for logging encode operations\n */\n private encodeWithLogging<T, R>(\n coder: { encode(data: T): R },\n data: T,\n methodName: string,\n parentCtx?: LogContext,\n ): R {\n if (!parentCtx) {\n return coder.encode(data);\n }\n\n const encodeLog = parentCtx.encode({ methodName: `encode/${methodName}` });\n encodeLog.start(() => ({ data }));\n\n try {\n const result = coder.encode(data);\n encodeLog.success(() => ({ result }));\n return result;\n } catch (error) {\n encodeLog.failed(() => ({ error }));\n throw error;\n }\n }\n\n /**\n * Handle method calls through crossplatform bridge with type safety\n */\n public async handleMethodCall<M extends MethodName>(\n methodName: M,\n args: string,\n ctx: LogContext,\n log: LogScope,\n ): Promise<MethodResponseMap[M]> {\n // Hold on deferred activation first\n if (this.resolveHeldActivation && !this.nonWaitingMethods.includes(methodName)) {\n log.wait(() => ({}));\n await this.resolveHeldActivation();\n this.resolveHeldActivation = null;\n log.waitComplete(() => ({}));\n }\n\n // Then wait for ongoing activation if required\n if (this.activating && (!this.nonWaitingMethods.includes(methodName) || methodName === 'is_activated')) {\n log.wait(() => ({}));\n await this.activating;\n log.waitComplete(() => ({}));\n }\n\n const bridgeLog = ctx.bridge({ methodName: `fetch/${methodName}` });\n bridgeLog.start(() => ({ method: methodName, args }));\n\n try {\n const result = await AdaptyCapacitorPlugin.handleMethodCall({\n methodName,\n args,\n });\n\n bridgeLog.success(() => ({ crossPlatformJson: result.crossPlatformJson }));\n\n // Parse JSON response with type safety\n const parsedResponse: CrossPlatformResponse = JSON.parse(result.crossPlatformJson);\n\n // Check for native errors\n if (isErrorResponse(parsedResponse)) {\n const error = parsedResponse.error;\n const errorMessage = `Native error: ${error.message} (code: ${error.adaptyCode})`;\n const nativeError = new Error(errorMessage);\n\n log.failed(() => ({ error: nativeError }));\n throw nativeError;\n }\n\n // Extract success data with type safety\n if (isSuccessResponse(parsedResponse)) {\n const successData: any = parsedResponse.success;\n\n // Apply decoder if available for this method\n const coder = getCoder(methodName);\n let result: MethodResponseMap[M];\n\n if (coder) {\n // Create decode scope for logging decode operations\n const decodeLog = ctx.decode({ methodName: `decode/${methodName}` });\n decodeLog.start(() => ({ successData }));\n\n try {\n result = coder.decode(successData) as MethodResponseMap[M];\n decodeLog.success(() => ({ result }));\n } catch (error) {\n decodeLog.failed(() => ({ error }));\n throw error;\n }\n } else {\n result = successData as MethodResponseMap[M];\n }\n\n log.success(() => ({ result }));\n return result;\n }\n\n const formatError = new Error('Invalid response format: missing success or error field');\n log.failed(() => ({ error: formatError }));\n throw formatError;\n } catch (error) {\n bridgeLog.failed(() => ({ error }));\n // If it's our custom error and log wasn't called yet, log it\n if (error instanceof Error && !error.message.startsWith('{')) {\n if (!error.message.startsWith('Native error:')) {\n log.failed(() => ({ error }));\n }\n throw error;\n }\n\n // If JSON parsing fails, wrap the error\n const parseError = new Error(`Failed to parse native response: ${error}`);\n log.failed(() => ({ error: parseError }));\n throw parseError;\n }\n }\n\n private isPaywallProduct(obj: AdaptyPaywall | AdaptyPaywallProduct): obj is AdaptyPaywallProduct {\n return 'vendorProductId' in obj;\n }\n\n /**\n * Initializes the Adapty SDK.\n *\n * @param options - The activation options\n * @param options.apiKey - Your Adapty API key\n * @param options.params - Optional activation parameters\n * @returns Promise that resolves when the SDK is activated\n * @throws Error if the API key is invalid or activation fails\n */\n async activate(options: { apiKey: string; params?: ActivateParamsInput }): Promise<void> {\n const { apiKey, params = {} } = options;\n\n // Validate API key\n if (!apiKey || typeof apiKey !== 'string' || apiKey.trim().length === 0) {\n throw new Error('API key is required and must be a non-empty string');\n }\n\n // Prevent multiple activations\n if (this.activating) {\n await this.activating;\n return;\n }\n\n // Check if already activated (if __ignoreActivationOnFastRefresh is enabled)\n if (params.__ignoreActivationOnFastRefresh) {\n try {\n const isActivated = await this.isActivated();\n if (isActivated) {\n return;\n }\n } catch (error) {\n // Continue with activation if we can't check activation status\n }\n }\n\n // Defer activation if requested (for debugging) — start activation lazily on first blocked call\n if (params.__debugDeferActivation) {\n return new Promise<void>((resolve) => {\n // Do not start activation immediately. It will be started when a blocked method comes in.\n this.resolveHeldActivation = async () => {\n this.activating = this.performActivation(apiKey, params);\n try {\n await this.activating;\n } finally {\n this.activating = null;\n }\n resolve();\n };\n });\n }\n\n // Perform activation\n this.activating = this.performActivation(apiKey, params);\n await this.activating;\n this.activating = null;\n }\n\n private async performActivation(apiKey: string, params: ActivateParamsInput): Promise<void> {\n const method = 'activate';\n\n // Set log level before creating LogContext\n const logLevel = params.logLevel;\n Log.logLevel = logLevel || null;\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ apiKey, params }));\n\n const configurationCoder = new AdaptyConfigurationCoder();\n const configuration = configurationCoder.encode(apiKey, params);\n\n const activateRequestWithUndefined: Req['Activate.Request'] = {\n method,\n configuration,\n };\n\n const activateRequest = filterUndefined(activateRequestWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(activateRequest), ctx, log);\n }\n\n async isActivated(): Promise<boolean> {\n const method = 'is_activated';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({}));\n\n const argsWithUndefined: Req['IsActivated.Request'] = {\n method,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async getCurrentInstallationStatus(): Promise<AdaptyInstallationStatus> {\n const method = 'get_current_installation_status';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({}));\n\n const argsWithUndefined: Req['GetCurrentInstallationStatus.Request'] = {\n method,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async getPaywall(options: GetPaywallOptions): Promise<AdaptyPaywall> {\n const method = 'get_paywall';\n const optionsWithDefault = mergeOptions<GetPaywallOptionsWithDefaults>(options, this.options[method]);\n const params = optionsWithDefault.params;\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ optionsWithDefault }));\n\n const argsWithUndefined: Req['GetPaywall.Request'] = {\n method,\n placement_id: optionsWithDefault.placementId,\n load_timeout: params.loadTimeoutMs / 1000,\n locale: optionsWithDefault.locale,\n fetch_policy:\n params.fetchPolicy === 'return_cache_data_if_not_expired_else_load'\n ? { type: params.fetchPolicy, max_age: params.maxAgeSeconds }\n : { type: params.fetchPolicy },\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async getPaywallForDefaultAudience(options: GetPaywallForDefaultAudienceOptions): Promise<AdaptyPaywall> {\n const method = 'get_paywall_for_default_audience';\n const optionsWithDefault = mergeOptions<GetPaywallForDefaultAudienceOptionsWithDefaults>(\n options,\n this.options[method],\n );\n const params = optionsWithDefault.params;\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ optionsWithDefault }));\n\n const argsWithUndefined: Req['GetPaywallForDefaultAudience.Request'] = {\n method,\n placement_id: optionsWithDefault.placementId,\n locale: optionsWithDefault.locale,\n fetch_policy:\n params.fetchPolicy === 'return_cache_data_if_not_expired_else_load'\n ? { type: params.fetchPolicy, max_age: params.maxAgeSeconds }\n : { type: params.fetchPolicy ?? 'reload_revalidating_cache_data' },\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async getPaywallProducts(options: { paywall: AdaptyPaywall }): Promise<AdaptyPaywallProduct[]> {\n const method = 'get_paywall_products';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const paywallCoder = new AdaptyPaywallCoder();\n\n const argsWithUndefined: Req['GetPaywallProducts.Request'] = {\n method,\n paywall: this.encodeWithLogging(paywallCoder, options.paywall, 'AdaptyPaywall', ctx),\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async getOnboarding(options: GetOnboardingOptions): Promise<AdaptyOnboarding> {\n const method = 'get_onboarding';\n const optionsWithDefault = mergeOptions<GetOnboardingOptionsWithDefaults>(options, this.options[method]);\n const params = optionsWithDefault.params;\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ optionsWithDefault }));\n\n const argsWithUndefined: Req['GetOnboarding.Request'] = {\n method,\n placement_id: optionsWithDefault.placementId,\n locale: optionsWithDefault.locale,\n load_timeout: params.loadTimeoutMs / 1000,\n fetch_policy:\n params.fetchPolicy === 'return_cache_data_if_not_expired_else_load'\n ? { type: params.fetchPolicy, max_age: params.maxAgeSeconds }\n : { type: params.fetchPolicy },\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async getOnboardingForDefaultAudience(options: GetOnboardingForDefaultAudienceOptions): Promise<AdaptyOnboarding> {\n const method = 'get_onboarding_for_default_audience';\n const optionsWithDefault = mergeOptions<GetOnboardingForDefaultAudienceOptionsWithDefaults>(\n options,\n this.options[method],\n );\n const params = optionsWithDefault.params;\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ optionsWithDefault }));\n\n const argsWithUndefined: Req['GetOnboardingForDefaultAudience.Request'] = {\n method,\n placement_id: optionsWithDefault.placementId,\n locale: optionsWithDefault.locale,\n fetch_policy:\n params.fetchPolicy === 'return_cache_data_if_not_expired_else_load'\n ? { type: params.fetchPolicy, max_age: params.maxAgeSeconds }\n : { type: params.fetchPolicy ?? 'reload_revalidating_cache_data' },\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async getProfile(): Promise<AdaptyProfile> {\n const method = 'get_profile';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({}));\n\n const argsWithUndefined: Req['GetProfile.Request'] = {\n method,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async identify(options: { customerUserId: string }): Promise<void> {\n const method = 'identify';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const argsWithUndefined: Req['Identify.Request'] = {\n method,\n customer_user_id: options.customerUserId,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async logShowPaywall(options: { paywall: AdaptyPaywall }): Promise<void> {\n const method = 'log_show_paywall';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const paywallCoder = new AdaptyPaywallCoder();\n\n const argsWithUndefined: Req['LogShowPaywall.Request'] = {\n method,\n paywall: this.encodeWithLogging(paywallCoder, options.paywall, 'AdaptyPaywall', ctx),\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async openWebPaywall(options: { paywallOrProduct: AdaptyPaywall | AdaptyPaywallProduct }): Promise<void> {\n const method = 'open_web_paywall';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const paywallCoder = new AdaptyPaywallCoder();\n const productCoder = new AdaptyPaywallProductCoder();\n\n const argsWithUndefined: Req['OpenWebPaywall.Request'] = {\n method,\n ...(this.isPaywallProduct(options.paywallOrProduct)\n ? { product: this.encodeWithLogging(productCoder, options.paywallOrProduct, 'AdaptyPaywallProduct', ctx) }\n : { paywall: this.encodeWithLogging(paywallCoder, options.paywallOrProduct, 'AdaptyPaywall', ctx) }),\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async createWebPaywallUrl(options: { paywallOrProduct: AdaptyPaywall | AdaptyPaywallProduct }): Promise<string> {\n const method = 'create_web_paywall_url';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const paywallCoder = new AdaptyPaywallCoder();\n const productCoder = new AdaptyPaywallProductCoder();\n\n const argsWithUndefined: Req['CreateWebPaywallUrl.Request'] = {\n method,\n ...(this.isPaywallProduct(options.paywallOrProduct)\n ? { product: this.encodeWithLogging(productCoder, options.paywallOrProduct, 'AdaptyPaywallProduct', ctx) }\n : { paywall: this.encodeWithLogging(paywallCoder, options.paywallOrProduct, 'AdaptyPaywall', ctx) }),\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async logout(): Promise<void> {\n const method = 'logout';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({}));\n\n const argsWithUndefined: Req['Logout.Request'] = {\n method,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async makePurchase(options: MakePurchaseOptions): Promise<AdaptyPurchaseResult> {\n const method = 'make_purchase';\n const params = options.params ?? {};\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const productCoder = new AdaptyPaywallProductCoder();\n const purchaseParamsCoder = new AdaptyPurchaseParamsCoder();\n\n const encodedProduct = this.encodeWithLogging(productCoder, options.product, 'AdaptyPaywallProduct', ctx);\n const productInput = productCoder.getInput(encodedProduct);\n const purchaseParams = this.encodeWithLogging(purchaseParamsCoder, params, 'AdaptyPurchaseParams', ctx);\n\n const argsWithUndefined: Req['MakePurchase.Request'] = {\n method,\n product: productInput,\n subscription_update_params: purchaseParams.subscription_update_params,\n is_offer_personalized: purchaseParams.is_offer_personalized,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async presentCodeRedemptionSheet(): Promise<void> {\n const method = 'present_code_redemption_sheet';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({}));\n\n const argsWithUndefined: Req['PresentCodeRedemptionSheet.Request'] = {\n method,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async reportTransaction(options: { transactionId: string; variationId?: string }): Promise<void> {\n const method = 'report_transaction';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const argsWithUndefined: Req['ReportTransaction.Request'] = {\n method,\n transaction_id: options.transactionId,\n variation_id: options.variationId,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async restorePurchases(): Promise<AdaptyProfile> {\n const method = 'restore_purchases';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({}));\n\n const argsWithUndefined: Req['RestorePurchases.Request'] = {\n method,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async setFallback(options: { fileLocation: FileLocation }): Promise<void> {\n const method = 'set_fallback';\n\n const platform = Capacitor.getPlatform();\n let fileLocationString: string;\n\n if (platform === 'ios') {\n fileLocationString = options.fileLocation.ios.fileName;\n } else if (platform === 'android') {\n // Add suffixes to distinguish resource types on Android\n if ('relativeAssetPath' in options.fileLocation.android) {\n fileLocationString = `${options.fileLocation.android.relativeAssetPath}a`;\n } else {\n fileLocationString = `${options.fileLocation.android.rawResName}r`;\n }\n } else {\n fileLocationString = '';\n }\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ platform, fileLocationString }));\n\n const argsWithUndefined: Req['SetFallback.Request'] = {\n method,\n asset_id: fileLocationString,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async setIntegrationIdentifier(options: { key: string; value: string }): Promise<void> {\n const method = 'set_integration_identifiers';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const argsWithUndefined: Req['SetIntegrationIdentifier.Request'] = {\n method,\n key_values: { [options.key]: options.value },\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async setLogLevel(options: { logLevel?: LogLevel; logger?: LoggerConfig }): Promise<void> {\n const method = 'set_log_level';\n\n if (options.logger) {\n Log.configure(options.logger);\n }\n\n if (options.logLevel !== undefined) {\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options: { logLevel: options.logLevel } }));\n\n // Update log level immediately\n Log.logLevel = options.logLevel;\n\n const argsWithUndefined: Req['SetLogLevel.Request'] = {\n method,\n value: options.logLevel,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n }\n\n async updateAttribution(options: { attribution: Record<string, any>; source: string }): Promise<void> {\n const method = 'update_attribution_data';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const argsWithUndefined: Req['UpdateAttributionData.Request'] = {\n method,\n attribution: JSON.stringify(options.attribution),\n source: options.source,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async updateCollectingRefundDataConsent(options: { consent: boolean }): Promise<void> {\n const platform = Capacitor.getPlatform();\n if (platform === 'android') {\n return Promise.resolve();\n }\n\n const method = 'update_collecting_refund_data_consent';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const argsWithUndefined: Req['UpdateCollectingRefundDataConsent.Request'] = {\n method,\n consent: options.consent,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async updateRefundPreference(options: { refundPreference: RefundPreference }): Promise<void> {\n const platform = Capacitor.getPlatform();\n if (platform === 'android') {\n return Promise.resolve();\n }\n\n const method = 'update_refund_preference';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const argsWithUndefined: Req['UpdateRefundPreference.Request'] = {\n method,\n refund_preference: options.refundPreference,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async updateProfile(options: Partial<AdaptyProfileParameters>): Promise<void> {\n const method = 'update_profile';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const profileParametersCoder = new AdaptyProfileParametersCoder();\n\n const argsWithUndefined: Req['UpdateProfile.Request'] = {\n method,\n params: this.encodeWithLogging(profileParametersCoder, options, 'AdaptyProfileParameters', ctx),\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n public addListener: AddListenerFn = <T extends keyof EventPayloadMap>(\n eventName: T,\n listenerFunc: (data: EventPayloadMap[T]) => void,\n ) => this.emitter.addListener(eventName, listenerFunc);\n\n async removeAllListeners(): Promise<void> {\n await this.emitter.removeAllListeners();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"adapty.js","sourceRoot":"","sources":["../../src/adapty.ts"],"names":[],"mappings":"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","sourcesContent":["// PluginListenerHandle is no longer referenced directly in this file\nimport { Capacitor } from '@capacitor/core';\n\nimport { AdaptyEmitter } from './adapty-emitter';\nimport { AdaptyCapacitorPlugin } from './bridge/plugin';\nimport { getCoder } from './coder-registry';\nimport { defaultAdaptyOptions } from './default-configs';\nimport { AdaptyConfigurationCoder } from './shared/coders/adapty-configuration';\nimport { AdaptyPaywallCoder } from './shared/coders/adapty-paywall';\nimport { AdaptyPaywallProductCoder } from './shared/coders/adapty-paywall-product';\nimport { AdaptyProfileParametersCoder } from './shared/coders/adapty-profile-parameters';\nimport { AdaptyPurchaseParamsCoder } from './shared/coders/adapty-purchase-params';\nimport { Log, LogContext } from './shared/logger';\nimport type { LoggerConfig, LogScope } from './shared/logger';\nimport type {\n AdaptyPaywall,\n AdaptyPaywallProduct,\n AdaptyOnboarding,\n AdaptyProfile,\n AdaptyPurchaseResult,\n AdaptyProfileParameters,\n RefundPreference,\n AdaptyInstallationStatus,\n} from './shared/types';\nimport type { components } from './shared/types/api';\nimport type { ActivateParamsInput, FileLocation, LogLevel } from './shared/types/inputs';\nimport {\n isErrorResponse,\n isSuccessResponse,\n type CrossPlatformResponse,\n type MethodName,\n type MethodResponseMap,\n} from './shared/types/method-types';\nimport { filterUndefined } from './shared/utils/compact-object';\nimport { mergeOptions } from './shared/utils/merge-options';\nimport { withErrorContext } from './shared/utils/with-error-context';\nimport type { AdaptyPlugin, AddListenerFn, EventPayloadMap } from './types/adapty-plugin';\nimport type {\n AdaptyDefaultOptions,\n GetPaywallOptions,\n GetPaywallOptionsWithDefaults,\n GetPaywallForDefaultAudienceOptions,\n GetPaywallForDefaultAudienceOptionsWithDefaults,\n MakePurchaseOptions,\n GetOnboardingOptions,\n GetOnboardingOptionsWithDefaults,\n GetOnboardingForDefaultAudienceOptions,\n GetOnboardingForDefaultAudienceOptionsWithDefaults,\n} from './types/configs';\n\ntype Req = components['requests'];\n\nexport class Adapty implements AdaptyPlugin {\n private activating: Promise<void> | null = null;\n private resolveHeldActivation?: (() => Promise<void>) | null = null;\n private readonly emitter = new AdaptyEmitter();\n private nonWaitingMethods: MethodName[] = [\n 'activate',\n 'is_activated',\n 'get_paywall_for_default_audience',\n 'get_onboarding_for_default_audience',\n 'set_log_level',\n 'set_fallback',\n ];\n private readonly options: AdaptyDefaultOptions = defaultAdaptyOptions;\n\n /**\n * Helper method for logging encode operations\n */\n private encodeWithLogging<T, R>(\n coder: { encode(data: T): R },\n data: T,\n methodName: string,\n parentCtx?: LogContext,\n ): R {\n if (!parentCtx) {\n return coder.encode(data);\n }\n\n const encodeLog = parentCtx.encode({ methodName: `encode/${methodName}` });\n encodeLog.start(() => ({ data }));\n\n try {\n const result = coder.encode(data);\n encodeLog.success(() => ({ result }));\n return result;\n } catch (error) {\n encodeLog.failed(() => ({ error }));\n throw error;\n }\n }\n\n /**\n * Handle method calls through crossplatform bridge with type safety\n */\n public async handleMethodCall<M extends MethodName>(\n methodName: M,\n args: string,\n ctx: LogContext,\n log: LogScope,\n ): Promise<MethodResponseMap[M]> {\n // Hold on deferred activation first\n if (this.resolveHeldActivation && !this.nonWaitingMethods.includes(methodName)) {\n log.wait(() => ({}));\n await this.resolveHeldActivation();\n this.resolveHeldActivation = null;\n log.waitComplete(() => ({}));\n }\n\n // Then wait for ongoing activation if required\n if (this.activating && (!this.nonWaitingMethods.includes(methodName) || methodName === 'is_activated')) {\n log.wait(() => ({}));\n await this.activating;\n log.waitComplete(() => ({}));\n }\n\n const bridgeLog = ctx.bridge({ methodName: `fetch/${methodName}` });\n bridgeLog.start(() => ({ method: methodName, args }));\n\n try {\n const result = await AdaptyCapacitorPlugin.handleMethodCall({\n methodName,\n args,\n });\n\n bridgeLog.success(() => ({ crossPlatformJson: result.crossPlatformJson }));\n\n // Parse JSON response with type safety\n const parsedResponse: CrossPlatformResponse = JSON.parse(result.crossPlatformJson);\n\n // Check for native errors\n if (isErrorResponse(parsedResponse)) {\n const error = parsedResponse.error;\n const errorMessage = `Native error: ${error.message} (code: ${error.adaptyCode})`;\n const nativeError = new Error(errorMessage);\n\n log.failed(() => ({ error: nativeError }));\n throw nativeError;\n }\n\n // Extract success data with type safety\n if (isSuccessResponse(parsedResponse)) {\n const successData: any = parsedResponse.success;\n\n // Apply decoder if available for this method\n const coder = getCoder(methodName);\n let result: MethodResponseMap[M];\n\n if (coder) {\n // Create decode scope for logging decode operations\n const decodeLog = ctx.decode({ methodName: `decode/${methodName}` });\n decodeLog.start(() => ({ successData }));\n\n try {\n result = coder.decode(successData) as MethodResponseMap[M];\n decodeLog.success(() => ({ result }));\n } catch (error) {\n decodeLog.failed(() => ({ error }));\n throw error;\n }\n } else {\n result = successData as MethodResponseMap[M];\n }\n\n log.success(() => ({ result }));\n return result;\n }\n\n const formatError = new Error('Invalid response format: missing success or error field');\n log.failed(() => ({ error: formatError }));\n throw formatError;\n } catch (error) {\n bridgeLog.failed(() => ({ error }));\n // If it's our custom error and log wasn't called yet, log it\n if (error instanceof Error && !error.message.startsWith('{')) {\n if (!error.message.startsWith('Native error:')) {\n log.failed(() => ({ error }));\n }\n throw error;\n }\n\n // If JSON parsing fails, wrap the error\n const parseError = new Error(`Failed to parse native response: ${error}`);\n log.failed(() => ({ error: parseError }));\n throw parseError;\n }\n }\n\n private isPaywallProduct(obj: AdaptyPaywall | AdaptyPaywallProduct): obj is AdaptyPaywallProduct {\n return 'vendorProductId' in obj;\n }\n\n /**\n * Initializes the Adapty SDK.\n *\n * @param options - The activation options\n * @param options.apiKey - Your Adapty API key\n * @param options.params - Optional activation parameters\n * @returns Promise that resolves when the SDK is activated\n * @throws Error if the API key is invalid or activation fails\n */\n async activate(options: { apiKey: string; params?: ActivateParamsInput }): Promise<void> {\n const { apiKey, params = {} } = options;\n\n // Validate API key\n if (!apiKey || typeof apiKey !== 'string' || apiKey.trim().length === 0) {\n throw new Error('API key is required and must be a non-empty string');\n }\n\n // Prevent multiple activations\n if (this.activating) {\n await this.activating;\n return;\n }\n\n // Check if already activated (if __ignoreActivationOnFastRefresh is enabled)\n if (params.__ignoreActivationOnFastRefresh) {\n try {\n const isActivated = await this.isActivated();\n if (isActivated) {\n return;\n }\n } catch (error) {\n // Continue with activation if we can't check activation status\n }\n }\n\n // Defer activation if requested (for debugging) — start activation lazily on first blocked call\n if (params.__debugDeferActivation) {\n return new Promise<void>((resolve) => {\n // Do not start activation immediately. It will be started when a blocked method comes in.\n this.resolveHeldActivation = async () => {\n this.activating = this.performActivation(apiKey, params);\n try {\n await this.activating;\n } finally {\n this.activating = null;\n }\n resolve();\n };\n });\n }\n\n // Perform activation\n this.activating = this.performActivation(apiKey, params);\n await this.activating;\n this.activating = null;\n }\n\n private async performActivation(apiKey: string, params: ActivateParamsInput): Promise<void> {\n const method = 'activate';\n\n // Set log level before creating LogContext\n const logLevel = params.logLevel;\n Log.logLevel = logLevel || null;\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ apiKey, params }));\n\n const configurationCoder = new AdaptyConfigurationCoder();\n const configuration = configurationCoder.encode(apiKey, params);\n\n const activateRequestWithUndefined: Req['Activate.Request'] = {\n method,\n configuration,\n };\n\n const activateRequest = filterUndefined(activateRequestWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(activateRequest), ctx, log);\n }\n\n async isActivated(): Promise<boolean> {\n const method = 'is_activated';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({}));\n\n const argsWithUndefined: Req['IsActivated.Request'] = {\n method,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async getCurrentInstallationStatus(): Promise<AdaptyInstallationStatus> {\n const method = 'get_current_installation_status';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({}));\n\n const argsWithUndefined: Req['GetCurrentInstallationStatus.Request'] = {\n method,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async getPaywall(options: GetPaywallOptions): Promise<AdaptyPaywall> {\n const method = 'get_paywall';\n const optionsWithDefault = mergeOptions<GetPaywallOptionsWithDefaults>(options, this.options[method]);\n const params = optionsWithDefault.params;\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ optionsWithDefault }));\n\n const argsWithUndefined: Req['GetPaywall.Request'] = {\n method,\n placement_id: optionsWithDefault.placementId,\n load_timeout: params.loadTimeoutMs / 1000,\n locale: optionsWithDefault.locale,\n fetch_policy:\n params.fetchPolicy === 'return_cache_data_if_not_expired_else_load'\n ? { type: params.fetchPolicy, max_age: params.maxAgeSeconds }\n : { type: params.fetchPolicy },\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async getPaywallForDefaultAudience(options: GetPaywallForDefaultAudienceOptions): Promise<AdaptyPaywall> {\n const method = 'get_paywall_for_default_audience';\n const optionsWithDefault = mergeOptions<GetPaywallForDefaultAudienceOptionsWithDefaults>(\n options,\n this.options[method],\n );\n const params = optionsWithDefault.params;\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ optionsWithDefault }));\n\n const argsWithUndefined: Req['GetPaywallForDefaultAudience.Request'] = {\n method,\n placement_id: optionsWithDefault.placementId,\n locale: optionsWithDefault.locale,\n fetch_policy:\n params.fetchPolicy === 'return_cache_data_if_not_expired_else_load'\n ? { type: params.fetchPolicy, max_age: params.maxAgeSeconds }\n : { type: params.fetchPolicy ?? 'reload_revalidating_cache_data' },\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async getPaywallProducts(options: { paywall: AdaptyPaywall }): Promise<AdaptyPaywallProduct[]> {\n const method = 'get_paywall_products';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const paywallCoder = new AdaptyPaywallCoder();\n\n const argsWithUndefined: Req['GetPaywallProducts.Request'] = {\n method,\n paywall: this.encodeWithLogging(paywallCoder, options.paywall, 'AdaptyPaywall', ctx),\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async getOnboarding(options: GetOnboardingOptions): Promise<AdaptyOnboarding> {\n const method = 'get_onboarding';\n const optionsWithDefault = mergeOptions<GetOnboardingOptionsWithDefaults>(options, this.options[method]);\n const params = optionsWithDefault.params;\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ optionsWithDefault }));\n\n const argsWithUndefined: Req['GetOnboarding.Request'] = {\n method,\n placement_id: optionsWithDefault.placementId,\n locale: optionsWithDefault.locale,\n load_timeout: params.loadTimeoutMs / 1000,\n fetch_policy:\n params.fetchPolicy === 'return_cache_data_if_not_expired_else_load'\n ? { type: params.fetchPolicy, max_age: params.maxAgeSeconds }\n : { type: params.fetchPolicy },\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async getOnboardingForDefaultAudience(options: GetOnboardingForDefaultAudienceOptions): Promise<AdaptyOnboarding> {\n const method = 'get_onboarding_for_default_audience';\n const optionsWithDefault = mergeOptions<GetOnboardingForDefaultAudienceOptionsWithDefaults>(\n options,\n this.options[method],\n );\n const params = optionsWithDefault.params;\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ optionsWithDefault }));\n\n const argsWithUndefined: Req['GetOnboardingForDefaultAudience.Request'] = {\n method,\n placement_id: optionsWithDefault.placementId,\n locale: optionsWithDefault.locale,\n fetch_policy:\n params.fetchPolicy === 'return_cache_data_if_not_expired_else_load'\n ? { type: params.fetchPolicy, max_age: params.maxAgeSeconds }\n : { type: params.fetchPolicy ?? 'reload_revalidating_cache_data' },\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async getProfile(): Promise<AdaptyProfile> {\n const method = 'get_profile';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({}));\n\n const argsWithUndefined: Req['GetProfile.Request'] = {\n method,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async identify(options: { customerUserId: string }): Promise<void> {\n const method = 'identify';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const argsWithUndefined: Req['Identify.Request'] = {\n method,\n customer_user_id: options.customerUserId,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async logShowPaywall(options: { paywall: AdaptyPaywall }): Promise<void> {\n const method = 'log_show_paywall';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const paywallCoder = new AdaptyPaywallCoder();\n\n const argsWithUndefined: Req['LogShowPaywall.Request'] = {\n method,\n paywall: this.encodeWithLogging(paywallCoder, options.paywall, 'AdaptyPaywall', ctx),\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async openWebPaywall(options: { paywallOrProduct: AdaptyPaywall | AdaptyPaywallProduct }): Promise<void> {\n const method = 'open_web_paywall';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const paywallCoder = new AdaptyPaywallCoder();\n const productCoder = new AdaptyPaywallProductCoder();\n\n const argsWithUndefined: Req['OpenWebPaywall.Request'] = {\n method,\n ...(this.isPaywallProduct(options.paywallOrProduct)\n ? { product: this.encodeWithLogging(productCoder, options.paywallOrProduct, 'AdaptyPaywallProduct', ctx) }\n : { paywall: this.encodeWithLogging(paywallCoder, options.paywallOrProduct, 'AdaptyPaywall', ctx) }),\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async createWebPaywallUrl(options: { paywallOrProduct: AdaptyPaywall | AdaptyPaywallProduct }): Promise<string> {\n const method = 'create_web_paywall_url';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const paywallCoder = new AdaptyPaywallCoder();\n const productCoder = new AdaptyPaywallProductCoder();\n\n const argsWithUndefined: Req['CreateWebPaywallUrl.Request'] = {\n method,\n ...(this.isPaywallProduct(options.paywallOrProduct)\n ? { product: this.encodeWithLogging(productCoder, options.paywallOrProduct, 'AdaptyPaywallProduct', ctx) }\n : { paywall: this.encodeWithLogging(paywallCoder, options.paywallOrProduct, 'AdaptyPaywall', ctx) }),\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async logout(): Promise<void> {\n const method = 'logout';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({}));\n\n const argsWithUndefined: Req['Logout.Request'] = {\n method,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async makePurchase(options: MakePurchaseOptions): Promise<AdaptyPurchaseResult> {\n const method = 'make_purchase';\n const params = options.params ?? {};\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const productCoder = new AdaptyPaywallProductCoder();\n const purchaseParamsCoder = new AdaptyPurchaseParamsCoder();\n\n const encodedProduct = this.encodeWithLogging(productCoder, options.product, 'AdaptyPaywallProduct', ctx);\n const productInput = productCoder.getInput(encodedProduct);\n const purchaseParams = this.encodeWithLogging(purchaseParamsCoder, params, 'AdaptyPurchaseParams', ctx);\n\n const argsWithUndefined: Req['MakePurchase.Request'] = {\n method,\n product: productInput,\n subscription_update_params: purchaseParams.subscription_update_params,\n is_offer_personalized: purchaseParams.is_offer_personalized,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async presentCodeRedemptionSheet(): Promise<void> {\n const method = 'present_code_redemption_sheet';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({}));\n\n const argsWithUndefined: Req['PresentCodeRedemptionSheet.Request'] = {\n method,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async reportTransaction(options: { transactionId: string; variationId?: string }): Promise<void> {\n const method = 'report_transaction';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const argsWithUndefined: Req['ReportTransaction.Request'] = {\n method,\n transaction_id: options.transactionId,\n variation_id: options.variationId,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async restorePurchases(): Promise<AdaptyProfile> {\n const method = 'restore_purchases';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({}));\n\n const argsWithUndefined: Req['RestorePurchases.Request'] = {\n method,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n return await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async setFallback(options: { fileLocation: FileLocation }): Promise<void> {\n const method = 'set_fallback';\n\n const platform = Capacitor.getPlatform();\n let fileLocationString: string;\n\n if (platform === 'ios') {\n fileLocationString = options.fileLocation.ios.fileName;\n } else if (platform === 'android') {\n // Add suffixes to distinguish resource types on Android\n if ('relativeAssetPath' in options.fileLocation.android) {\n fileLocationString = `${options.fileLocation.android.relativeAssetPath}a`;\n } else {\n fileLocationString = `${options.fileLocation.android.rawResName}r`;\n }\n } else {\n fileLocationString = '';\n }\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ platform, fileLocationString }));\n\n const argsWithUndefined: Req['SetFallback.Request'] = {\n method,\n asset_id: fileLocationString,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async setIntegrationIdentifier(options: { key: string; value: string }): Promise<void> {\n const method = 'set_integration_identifiers';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const argsWithUndefined: Req['SetIntegrationIdentifier.Request'] = {\n method,\n key_values: { [options.key]: options.value },\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async setLogLevel(options: { logLevel?: LogLevel; logger?: LoggerConfig }): Promise<void> {\n const method = 'set_log_level';\n\n if (options.logger) {\n Log.configure(options.logger);\n }\n\n if (options.logLevel !== undefined) {\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options: { logLevel: options.logLevel } }));\n\n // Update log level immediately\n Log.logLevel = options.logLevel;\n\n const argsWithUndefined: Req['SetLogLevel.Request'] = {\n method,\n value: options.logLevel,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n }\n\n async updateAttribution(options: { attribution: Record<string, any>; source: string }): Promise<void> {\n const method = 'update_attribution_data';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const argsWithUndefined: Req['UpdateAttributionData.Request'] = {\n method,\n attribution: JSON.stringify(options.attribution),\n source: options.source,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async updateCollectingRefundDataConsent(options: { consent: boolean }): Promise<void> {\n const platform = Capacitor.getPlatform();\n if (platform === 'android') {\n return Promise.resolve();\n }\n\n const method = 'update_collecting_refund_data_consent';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const argsWithUndefined: Req['UpdateCollectingRefundDataConsent.Request'] = {\n method,\n consent: options.consent,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async updateRefundPreference(options: { refundPreference: RefundPreference }): Promise<void> {\n const platform = Capacitor.getPlatform();\n if (platform === 'android') {\n return Promise.resolve();\n }\n\n const method = 'update_refund_preference';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const argsWithUndefined: Req['UpdateRefundPreference.Request'] = {\n method,\n refund_preference: options.refundPreference,\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n async updateProfile(options: Partial<AdaptyProfileParameters>): Promise<void> {\n const method = 'update_profile';\n\n const ctx = new LogContext();\n const log = ctx.call({ methodName: method });\n log.start(() => ({ options }));\n\n const profileParametersCoder = new AdaptyProfileParametersCoder();\n\n const argsWithUndefined: Req['UpdateProfile.Request'] = {\n method,\n params: this.encodeWithLogging(profileParametersCoder, options, 'AdaptyProfileParameters', ctx),\n };\n\n const args = filterUndefined(argsWithUndefined);\n\n await this.handleMethodCall(method, JSON.stringify(args), ctx, log);\n }\n\n public addListener: AddListenerFn = <T extends keyof EventPayloadMap>(\n eventName: T,\n listenerFunc: (data: EventPayloadMap[T]) => void,\n ) => {\n const wrappedListener = withErrorContext(listenerFunc, eventName, 'Adapty');\n return this.emitter.addListener(eventName, wrappedListener);\n };\n\n async removeAllListeners(): Promise<void> {\n await this.emitter.removeAllListeners();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapty-onboarding-builder.js","sourceRoot":"","sources":["../../../../src/shared/coders/adapty-onboarding-builder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAKtC,MAAM,OAAO,4BAA6B,SAAQ,WAGjD;IAHD;;QAIY,eAAU,GAAoC;YACtD,GAAG,EAAE;gBACH,GAAG,EAAE,YAAY;gBACjB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,QAAQ;aACf;
|
|
1
|
+
{"version":3,"file":"adapty-onboarding-builder.js","sourceRoot":"","sources":["../../../../src/shared/coders/adapty-onboarding-builder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAKtC,MAAM,OAAO,4BAA6B,SAAQ,WAGjD;IAHD;;QAIY,eAAU,GAAoC;YACtD,GAAG,EAAE;gBACH,GAAG,EAAE,YAAY;gBACjB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,QAAQ;aACf;SACF,CAAC;IACJ,CAAC;CAAA","sourcesContent":["import type { AdaptyOnboardingBuilder } from '../types';\nimport type { Def } from '../types/schema';\nimport type { Properties } from './types';\nimport { SimpleCoder } from './coder';\n\ntype Model = AdaptyOnboardingBuilder;\ntype Serializable = Required<Def['AdaptyOnboarding']>['onboarding_builder'];\n\nexport class AdaptyOnboardingBuilderCoder extends SimpleCoder<\n Model,\n Serializable\n> {\n protected properties: Properties<Model, Serializable> = {\n url: {\n key: 'config_url',\n required: true,\n type: 'string',\n },\n };\n}\n"]}
|
|
@@ -40,6 +40,7 @@ export class AdaptyOnboardingCoder extends Coder {
|
|
|
40
40
|
converter: new AdaptyOnboardingBuilderCoder(),
|
|
41
41
|
},
|
|
42
42
|
payloadData: { key: 'payload_data', required: false, type: 'string' },
|
|
43
|
+
requestLocale: { key: 'request_locale', required: true, type: 'string' },
|
|
43
44
|
};
|
|
44
45
|
}
|
|
45
46
|
decode(data) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapty-onboarding.js","sourceRoot":"","sources":["../../../../src/shared/coders/adapty-onboarding.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAM1D,MAAM,OAAO,qBAAsB,SAAQ,KAI1C;IAJD;;QAKY,eAAU,GAA2C;YAC7D,SAAS,EAAE;gBACT,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI,oBAAoB,EAAE;aACtC;YACD,EAAE,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5D,IAAI,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChE,YAAY,EAAE;gBACZ,GAAG,EAAE,eAAe;gBACpB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI,uBAAuB,EAAE;aACzC;YACD,WAAW,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YACpE,OAAO,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxE,iBAAiB,EAAE;gBACjB,GAAG,EAAE,oBAAoB;gBACzB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI,4BAA4B,EAAE;aAC9C;YACD,WAAW,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"adapty-onboarding.js","sourceRoot":"","sources":["../../../../src/shared/coders/adapty-onboarding.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAM1D,MAAM,OAAO,qBAAsB,SAAQ,KAI1C;IAJD;;QAKY,eAAU,GAA2C;YAC7D,SAAS,EAAE;gBACT,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI,oBAAoB,EAAE;aACtC;YACD,EAAE,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5D,IAAI,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChE,YAAY,EAAE;gBACZ,GAAG,EAAE,eAAe;gBACpB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI,uBAAuB,EAAE;aACzC;YACD,WAAW,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YACpE,OAAO,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxE,iBAAiB,EAAE;gBACjB,GAAG,EAAE,oBAAoB;gBACzB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI,4BAA4B,EAAE;aAC9C;YACD,WAAW,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrE,aAAa,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;SACzE,CAAC;IAcJ,CAAC;IAZU,MAAM,CAAC,IAAkB;QAChC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,uCACK,WAAW,KACd,oBAAoB,EAAE,WAAW,CAAC,iBAAiB,KAAK,SAAS,IACjE;IACJ,CAAC;IAEQ,MAAM,CAAC,IAAW;QACzB,MAAM,EAAE,oBAAoB,KAAqB,IAAI,EAApB,WAAW,UAAK,IAAI,EAA/C,wBAAwC,CAAO,CAAC;QACtD,OAAO,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;CACF","sourcesContent":["import type { AdaptyOnboarding } from '../types';\nimport type { Def } from '../types/schema';\nimport type { Properties } from './types';\nimport { Coder } from './coder';\nimport { AdaptyRemoteConfigCoder } from './adapty-remote-config';\nimport { AdaptyOnboardingBuilderCoder } from './adapty-onboarding-builder';\nimport { AdaptyPlacementCoder } from './adapty-placement';\n\ntype Model = AdaptyOnboarding;\ntype CodableModel = Omit<Model, 'hasViewConfiguration'>;\ntype Serializable = Def['AdaptyOnboarding'];\n\nexport class AdaptyOnboardingCoder extends Coder<\n Model,\n CodableModel,\n Serializable\n> {\n protected properties: Properties<CodableModel, Serializable> = {\n placement: {\n key: 'placement',\n required: true,\n type: 'object',\n converter: new AdaptyPlacementCoder(),\n },\n id: { key: 'onboarding_id', required: true, type: 'string' },\n name: { key: 'onboarding_name', required: true, type: 'string' },\n remoteConfig: {\n key: 'remote_config',\n required: false,\n type: 'object',\n converter: new AdaptyRemoteConfigCoder(),\n },\n variationId: { key: 'variation_id', required: true, type: 'string' },\n version: { key: 'response_created_at', required: false, type: 'number' },\n onboardingBuilder: {\n key: 'onboarding_builder',\n required: false,\n type: 'object',\n converter: new AdaptyOnboardingBuilderCoder(),\n },\n payloadData: { key: 'payload_data', required: false, type: 'string' },\n requestLocale: { key: 'request_locale', required: true, type: 'string' },\n };\n\n override decode(data: Serializable): Model {\n const codablePart = super.decode(data);\n return {\n ...codablePart,\n hasViewConfiguration: codablePart.onboardingBuilder !== undefined,\n };\n }\n\n override encode(data: Model): Serializable {\n const { hasViewConfiguration, ...codablePart } = data;\n return super.encode(codablePart);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapty-paywall.js","sourceRoot":"","sources":["../../../../src/shared/coders/adapty-paywall.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAM1D,MAAM,OAAO,kBAAmB,SAAQ,KAIvC;IAJD;;QAKY,eAAU,GAA2C;YAC7D,SAAS,EAAE;gBACT,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI,oBAAoB,EAAE;aACtC;YACD,EAAE,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzD,IAAI,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7D,QAAQ,EAAE;gBACR,GAAG,EAAE,UAAU;gBACf,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,IAAI,UAAU,CAAC,qBAAqB,CAAC;aACjD;YACD,YAAY,EAAE;gBACZ,GAAG,EAAE,eAAe;gBACpB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI,uBAAuB,EAAE;aACzC;YACD,WAAW,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YACpE,OAAO,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxE,cAAc,EAAE;gBACd,GAAG,EAAE,iBAAiB;gBACtB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI,yBAAyB,EAAE;aAC3C;YACD,cAAc,EAAE;gBACd,GAAG,EAAE,kBAAkB;gBACvB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,QAAQ;aACf;YACD,WAAW,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"adapty-paywall.js","sourceRoot":"","sources":["../../../../src/shared/coders/adapty-paywall.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAM1D,MAAM,OAAO,kBAAmB,SAAQ,KAIvC;IAJD;;QAKY,eAAU,GAA2C;YAC7D,SAAS,EAAE;gBACT,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI,oBAAoB,EAAE;aACtC;YACD,EAAE,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzD,IAAI,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7D,QAAQ,EAAE;gBACR,GAAG,EAAE,UAAU;gBACf,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,IAAI,UAAU,CAAC,qBAAqB,CAAC;aACjD;YACD,YAAY,EAAE;gBACZ,GAAG,EAAE,eAAe;gBACpB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI,uBAAuB,EAAE;aACzC;YACD,WAAW,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YACpE,OAAO,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxE,cAAc,EAAE;gBACd,GAAG,EAAE,iBAAiB;gBACtB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI,yBAAyB,EAAE;aAC3C;YACD,cAAc,EAAE;gBACd,GAAG,EAAE,kBAAkB;gBACvB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,QAAQ;aACf;YACD,WAAW,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrE,aAAa,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;SACzE,CAAC;IAmBJ,CAAC;IAjBU,MAAM,CAAC,IAAkB;QAChC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,uCACK,WAAW,KACd,oBAAoB,EAAE,WAAW,CAAC,cAAc,KAAK,SAAS,EAC9D,kBAAkB,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;;gBAAC,OAAA,CAAC;oBACvD,eAAe,EAAE,OAAO,CAAC,QAAQ;oBACjC,eAAe,EAAE,OAAO,CAAC,QAAQ;oBACjC,UAAU,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,UAAU;iBACxC,CAAC,CAAA;aAAA,CAAC,IACH;IACJ,CAAC;IAEQ,MAAM,CAAC,IAAW;QACzB,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,KAAqB,IAAI,EAApB,WAAW,UAAK,IAAI,EAAnE,8CAA4D,CAAO,CAAC;QAC1E,OAAO,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;CACF","sourcesContent":["import type { AdaptyPaywall } from '../types';\nimport type { Def } from '../types/schema';\nimport type { Properties } from './types';\nimport { ProductReferenceCoder } from './product-reference';\nimport { ArrayCoder } from './array';\nimport { Coder } from './coder';\nimport { AdaptyRemoteConfigCoder } from './adapty-remote-config';\nimport { AdaptyPaywallBuilderCoder } from './adapty-paywall-builder';\nimport { AdaptyPlacementCoder } from './adapty-placement';\n\ntype Model = AdaptyPaywall;\ntype CodableModel = Omit<Model, 'hasViewConfiguration' | 'productIdentifiers'>;\ntype Serializable = Def['AdaptyPaywall'];\n\nexport class AdaptyPaywallCoder extends Coder<\n Model,\n CodableModel,\n Serializable\n> {\n protected properties: Properties<CodableModel, Serializable> = {\n placement: {\n key: 'placement',\n required: true,\n type: 'object',\n converter: new AdaptyPlacementCoder(),\n },\n id: { key: 'paywall_id', required: true, type: 'string' },\n name: { key: 'paywall_name', required: true, type: 'string' },\n products: {\n key: 'products',\n required: true,\n type: 'array',\n converter: new ArrayCoder(ProductReferenceCoder),\n },\n remoteConfig: {\n key: 'remote_config',\n required: false,\n type: 'object',\n converter: new AdaptyRemoteConfigCoder(),\n },\n variationId: { key: 'variation_id', required: true, type: 'string' },\n version: { key: 'response_created_at', required: false, type: 'number' },\n paywallBuilder: {\n key: 'paywall_builder',\n required: false,\n type: 'object',\n converter: new AdaptyPaywallBuilderCoder(),\n },\n webPurchaseUrl: {\n key: 'web_purchase_url',\n required: false,\n type: 'string',\n },\n payloadData: { key: 'payload_data', required: false, type: 'string' },\n requestLocale: { key: 'request_locale', required: true, type: 'string' },\n };\n\n override decode(data: Serializable): Model {\n const codablePart = super.decode(data);\n return {\n ...codablePart,\n hasViewConfiguration: codablePart.paywallBuilder !== undefined,\n productIdentifiers: codablePart.products.map(product => ({\n vendorProductId: product.vendorId,\n adaptyProductId: product.adaptyId,\n basePlanId: product.android?.basePlanId,\n })),\n };\n }\n\n override encode(data: Model): Serializable {\n const { hasViewConfiguration, productIdentifiers, ...codablePart } = data;\n return super.encode(codablePart);\n }\n}\n"]}
|
|
@@ -70,6 +70,10 @@ export interface AdaptyPaywall {
|
|
|
70
70
|
version?: number;
|
|
71
71
|
webPurchaseUrl?: string;
|
|
72
72
|
payloadData?: string;
|
|
73
|
+
/**
|
|
74
|
+
* @internal Used internally by the SDK
|
|
75
|
+
*/
|
|
76
|
+
requestLocale: string;
|
|
73
77
|
paywallBuilder?: AdaptyPaywallBuilder;
|
|
74
78
|
}
|
|
75
79
|
export interface AdaptyOnboarding {
|
|
@@ -99,6 +103,10 @@ export interface AdaptyOnboarding {
|
|
|
99
103
|
id: string;
|
|
100
104
|
version?: number;
|
|
101
105
|
payloadData?: string;
|
|
106
|
+
/**
|
|
107
|
+
* @internal Used internally by the SDK
|
|
108
|
+
*/
|
|
109
|
+
requestLocale: string;
|
|
102
110
|
onboardingBuilder?: AdaptyOnboardingBuilder;
|
|
103
111
|
}
|
|
104
112
|
export interface AdaptyPlacement {
|
|
@@ -153,7 +161,6 @@ export interface AdaptyPaywallBuilder {
|
|
|
153
161
|
}
|
|
154
162
|
export interface AdaptyOnboardingBuilder {
|
|
155
163
|
readonly url: string;
|
|
156
|
-
readonly lang: string;
|
|
157
164
|
}
|
|
158
165
|
export type AdaptyPurchaseResult = {
|
|
159
166
|
type: 'pending' | 'user_cancelled';
|