@namiml/sdk-core 3.4.2-dev.202606090455 → 3.4.2-dev.202606090629
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/dist/index.cjs +1 -56
- package/dist/index.d.ts +4 -27
- package/dist/index.mjs +2 -56
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -98,7 +98,7 @@ const {
|
|
|
98
98
|
// version — stamped by scripts/version.sh
|
|
99
99
|
NAMI_SDK_VERSION: exports.NAMI_SDK_VERSION = "3.4.2",
|
|
100
100
|
// full package version including dev suffix — stamped by scripts/version.sh
|
|
101
|
-
NAMI_SDK_PACKAGE_VERSION: exports.NAMI_SDK_PACKAGE_VERSION = "3.4.2-dev.
|
|
101
|
+
NAMI_SDK_PACKAGE_VERSION: exports.NAMI_SDK_PACKAGE_VERSION = "3.4.2-dev.202606090629",
|
|
102
102
|
// environments
|
|
103
103
|
PRODUCTION: exports.PRODUCTION = "production", DEVELOPMENT: exports.DEVELOPMENT = "development",
|
|
104
104
|
// error messages
|
|
@@ -12542,7 +12542,6 @@ exports.NamiFlowActionFunction = void 0;
|
|
|
12542
12542
|
NamiFlowActionFunction["SET_TAGS"] = "setTags";
|
|
12543
12543
|
NamiFlowActionFunction["PAUSE"] = "flowPause";
|
|
12544
12544
|
NamiFlowActionFunction["RESUME"] = "flowResume";
|
|
12545
|
-
NamiFlowActionFunction["SET_LAUNCH_CONTEXT"] = "setLaunchContext";
|
|
12546
12545
|
})(exports.NamiFlowActionFunction || (exports.NamiFlowActionFunction = {}));
|
|
12547
12546
|
const HandoffTag = {
|
|
12548
12547
|
SEQUENCE: '__handoff_sequence__',
|
|
@@ -14120,16 +14119,6 @@ class NamiFlow extends BasicNamiFlow {
|
|
|
14120
14119
|
this.forward(entry.id);
|
|
14121
14120
|
}
|
|
14122
14121
|
}
|
|
14123
|
-
applyLaunchContextAttributes(attrs) {
|
|
14124
|
-
if (!this.context) {
|
|
14125
|
-
this.context = { customAttributes: {} };
|
|
14126
|
-
new LaunchContextResolver(this.context);
|
|
14127
|
-
}
|
|
14128
|
-
// Guard against a runtime-supplied context that omits customAttributes
|
|
14129
|
-
// (the field is required by the type but may be absent in untyped JSON).
|
|
14130
|
-
this.context.customAttributes ??= {};
|
|
14131
|
-
Object.assign(this.context.customAttributes, attrs);
|
|
14132
|
-
}
|
|
14133
14122
|
registerResolvers(context) {
|
|
14134
14123
|
if (context) {
|
|
14135
14124
|
new LaunchContextResolver(context);
|
|
@@ -14386,9 +14375,6 @@ class NamiFlow extends BasicNamiFlow {
|
|
|
14386
14375
|
this.back();
|
|
14387
14376
|
break;
|
|
14388
14377
|
case exports.NamiFlowActionFunction.NEXT:
|
|
14389
|
-
if (action.parameters?.customAttributes) {
|
|
14390
|
-
this.applyLaunchContextAttributes(action.parameters.customAttributes);
|
|
14391
|
-
}
|
|
14392
14378
|
if (action.parameters?.step) {
|
|
14393
14379
|
this.forward(action.parameters.step);
|
|
14394
14380
|
}
|
|
@@ -14397,9 +14383,6 @@ class NamiFlow extends BasicNamiFlow {
|
|
|
14397
14383
|
}
|
|
14398
14384
|
break;
|
|
14399
14385
|
case exports.NamiFlowActionFunction.NAVIGATE:
|
|
14400
|
-
if (action.parameters?.customAttributes) {
|
|
14401
|
-
this.applyLaunchContextAttributes(action.parameters.customAttributes);
|
|
14402
|
-
}
|
|
14403
14386
|
if (action.parameters?.step) {
|
|
14404
14387
|
if (this.previousFlowStep?.id === action.parameters.step) {
|
|
14405
14388
|
this.back();
|
|
@@ -14525,20 +14508,6 @@ class NamiFlow extends BasicNamiFlow {
|
|
|
14525
14508
|
});
|
|
14526
14509
|
}
|
|
14527
14510
|
break;
|
|
14528
|
-
case exports.NamiFlowActionFunction.SET_LAUNCH_CONTEXT: {
|
|
14529
|
-
// Two supported shapes (matches the nav-action customAttributes wire shape
|
|
14530
|
-
// and the { key, value } shape used by Apple/Android/Roku). We deliberately
|
|
14531
|
-
// do NOT treat arbitrary top-level parameters as attributes, to avoid writing
|
|
14532
|
-
// reserved keys (step, delay, …) into the launch context.
|
|
14533
|
-
const params = action.parameters;
|
|
14534
|
-
if (params?.customAttributes) {
|
|
14535
|
-
this.applyLaunchContextAttributes(params.customAttributes);
|
|
14536
|
-
}
|
|
14537
|
-
else if (params?.key !== undefined && params?.value !== undefined) {
|
|
14538
|
-
this.applyLaunchContextAttributes({ [params.key]: params.value });
|
|
14539
|
-
}
|
|
14540
|
-
break;
|
|
14541
|
-
}
|
|
14542
14511
|
default:
|
|
14543
14512
|
logger.warn(`Missing action handler for ${action.function}`, action);
|
|
14544
14513
|
break;
|
|
@@ -64462,29 +64431,6 @@ const convertLocale = (locale) => {
|
|
|
64462
64431
|
return intlLocale.language + (intlLocale.region ?? intlLocale.script ?? '');
|
|
64463
64432
|
};
|
|
64464
64433
|
|
|
64465
|
-
/**
|
|
64466
|
-
* Coerces the four launch-context wire-format variants of a boolean —
|
|
64467
|
-
* `true`, `false`, `"true"`, `"false"` — into a JS `boolean`.
|
|
64468
|
-
*
|
|
64469
|
-
* Returns `undefined` for everything else (case-variant strings, numbers,
|
|
64470
|
-
* `null`, `undefined`, empty string, objects). Callers decide how to treat
|
|
64471
|
-
* the `undefined` case; the helper deliberately does not coerce numerics or
|
|
64472
|
-
* mixed-case strings so unintended truthy-by-presence behavior doesn't sneak
|
|
64473
|
-
* back in.
|
|
64474
|
-
*/
|
|
64475
|
-
function coerceBooleanish(value) {
|
|
64476
|
-
if (value === true || value === false) {
|
|
64477
|
-
return value;
|
|
64478
|
-
}
|
|
64479
|
-
if (typeof value === 'string') {
|
|
64480
|
-
if (value === 'true')
|
|
64481
|
-
return true;
|
|
64482
|
-
if (value === 'false')
|
|
64483
|
-
return false;
|
|
64484
|
-
}
|
|
64485
|
-
return undefined;
|
|
64486
|
-
}
|
|
64487
|
-
|
|
64488
64434
|
/**
|
|
64489
64435
|
* Components that are skipped entirely (they and their subtree do not
|
|
64490
64436
|
* contribute text to the page-level announcement).
|
|
@@ -64836,7 +64782,6 @@ exports.bestUrlCampaignMatch = bestUrlCampaignMatch;
|
|
|
64836
64782
|
exports.bigintToUuid = bigintToUuid;
|
|
64837
64783
|
exports.checkAnySkuHasPromoOffer = checkAnySkuHasPromoOffer;
|
|
64838
64784
|
exports.checkAnySkuHasTrialOffer = checkAnySkuHasTrialOffer;
|
|
64839
|
-
exports.coerceBooleanish = coerceBooleanish;
|
|
64840
64785
|
exports.convertISO8601PeriodToText = convertISO8601PeriodToText;
|
|
64841
64786
|
exports.convertLocale = convertLocale;
|
|
64842
64787
|
exports.convertOfferToPricingPhase = convertOfferToPricingPhase;
|
package/dist/index.d.ts
CHANGED
|
@@ -130,8 +130,7 @@ declare enum NamiFlowActionFunction {
|
|
|
130
130
|
FLOW_DISABLED = "flowInteractionDisabled",
|
|
131
131
|
SET_TAGS = "setTags",
|
|
132
132
|
PAUSE = "flowPause",
|
|
133
|
-
RESUME = "flowResume"
|
|
134
|
-
SET_LAUNCH_CONTEXT = "setLaunchContext"
|
|
133
|
+
RESUME = "flowResume"
|
|
135
134
|
}
|
|
136
135
|
type NamiFlowHandoffStepHandler = (handoffTag: string, handoffData?: Record<string, any>) => void;
|
|
137
136
|
type NamiFlowEventHandler = (eventHandler: Record<string, any>) => void;
|
|
@@ -1281,15 +1280,6 @@ type NamiPaywallEvent = {
|
|
|
1281
1280
|
purchaseChannel?: string;
|
|
1282
1281
|
};
|
|
1283
1282
|
type NamiPaywallActionHandler = (event: NamiPaywallEvent) => void;
|
|
1284
|
-
/**
|
|
1285
|
-
* Permitted value types for entries in {@link NamiPaywallLaunchContext.customAttributes}.
|
|
1286
|
-
*
|
|
1287
|
-
* Both native primitives and their string equivalents are accepted so integrators can
|
|
1288
|
-
* pass `true`/`false` directly or `"true"`/`"false"` from a stringly-typed source
|
|
1289
|
-
* (e.g. a remote-config blob). Targeting predicates treat the two wire formats
|
|
1290
|
-
* identically — see `coerceBooleanish()`.
|
|
1291
|
-
*/
|
|
1292
|
-
type NamiCustomAttributeValue = string | boolean | number;
|
|
1293
1283
|
/**
|
|
1294
1284
|
* @type NamiPaywallLaunchContext
|
|
1295
1285
|
* Will be used to pass custom context while launching paywall
|
|
@@ -1297,7 +1287,7 @@ type NamiCustomAttributeValue = string | boolean | number;
|
|
|
1297
1287
|
type NamiPaywallLaunchContext = {
|
|
1298
1288
|
productGroups?: string[];
|
|
1299
1289
|
customAttributes: {
|
|
1300
|
-
[key: string]:
|
|
1290
|
+
[key: string]: string;
|
|
1301
1291
|
};
|
|
1302
1292
|
customObject?: {
|
|
1303
1293
|
[key: string]: any;
|
|
@@ -1917,7 +1907,6 @@ declare class NamiFlow extends BasicNamiFlow {
|
|
|
1917
1907
|
[timerId: string]: TimerState;
|
|
1918
1908
|
};
|
|
1919
1909
|
constructor(campaign: NamiFlowCampaign, paywall: PaywallHandle, manager: NamiFlowManager$2, context?: NamiPaywallLaunchContext);
|
|
1920
|
-
private applyLaunchContextAttributes;
|
|
1921
1910
|
private registerResolvers;
|
|
1922
1911
|
get currentFlowStep(): NamiFlowStep | undefined;
|
|
1923
1912
|
get nextStepAvailable(): boolean;
|
|
@@ -2655,18 +2644,6 @@ interface INamiRefsInstance {
|
|
|
2655
2644
|
*/
|
|
2656
2645
|
declare function isAnonymousMode(): boolean;
|
|
2657
2646
|
|
|
2658
|
-
/**
|
|
2659
|
-
* Coerces the four launch-context wire-format variants of a boolean —
|
|
2660
|
-
* `true`, `false`, `"true"`, `"false"` — into a JS `boolean`.
|
|
2661
|
-
*
|
|
2662
|
-
* Returns `undefined` for everything else (case-variant strings, numbers,
|
|
2663
|
-
* `null`, `undefined`, empty string, objects). Callers decide how to treat
|
|
2664
|
-
* the `undefined` case; the helper deliberately does not coerce numerics or
|
|
2665
|
-
* mixed-case strings so unintended truthy-by-presence behavior doesn't sneak
|
|
2666
|
-
* back in.
|
|
2667
|
-
*/
|
|
2668
|
-
declare function coerceBooleanish(value: unknown): boolean | undefined;
|
|
2669
|
-
|
|
2670
2647
|
/**
|
|
2671
2648
|
* Build the full-screen announcement string for a paywall page per the
|
|
2672
2649
|
* TV Full-Page Announcement contract
|
|
@@ -3475,5 +3452,5 @@ declare namespace internal {
|
|
|
3475
3452
|
};
|
|
3476
3453
|
}
|
|
3477
3454
|
|
|
3478
|
-
export { ALREADY_CONFIGURED, ANONYMOUS_MODE, ANONYMOUS_MODE_ALREADY_OFF, ANONYMOUS_MODE_ALREADY_ON, ANONYMOUS_MODE_LOGIN_NOT_ALLOWED, ANONYMOUS_UUID, APIError, API_ACTIVE_ENTITLEMENTS, API_CAMPAIGN_RULES, API_CAMPAIGN_SESSION_TIMESTAMP, API_CONFIG, API_MAX_CALLS_LIMIT, API_PAYWALLS, API_PRODUCTS, API_RETRY_DELAY_SEC, API_TIMEOUT_LIMIT, API_VERSION, AUTH_DEVICE, AVAILABLE_ACTIVE_ENTITLEMENTS_CHANGED, AVAILABLE_CAMPAIGNS_CHANGED, AccountStateAction, AnonymousCDPError, AnonymousLoginError, AnonymousModeAlreadyOffError, AnonymousModeAlreadyOnError, BASE_STAGING_URL, BASE_URL, BASE_URL_PATH, BadRequestError, BasicNamiFlow, BorderMap, BorderSideMap, CAMPAIGN_NOT_AVAILABLE, CUSTOMER_ATTRIBUTES_KEY_PREFIX, CUSTOMER_JOURNEY_STATE_CHANGED, CUSTOM_HOST_PREFIX, CampaignNotAvailableError, CampaignRuleConversionEventType, CampaignRuleRepository, Capabilities, ClientError, ConfigRepository, ConflictError, CustomerJourneyRepository, DEVELOPMENT, DEVICE_API_TIMEOUT_LIMIT, DEVICE_ID_NOT_SET, DEVICE_ID_REQUIRED, DISABLE_ASYNC_LOGIN_LOGOUT, DeviceIDRequiredError, DeviceRepository, EXTENDED_CLIENT_INFO_DELIMITER, EXTENDED_CLIENT_INFO_PREFIX, EXTENDED_PLATFORM, EXTENDED_PLATFORM_VERSION, EXTERNAL_ID_REQUIRED, EntitlementRepository, EntitlementUtils, ExternalIDRequiredError, FLOW_SCREENS_NOT_AVAILABLE, FlowScreensNotAvailableError, HTML_REGEX, INITIAL_APP_CONFIG, INITIAL_CAMPAIGN_RULES, INITIAL_PAYWALLS, INITIAL_PRODUCTS, INITIAL_SESSION_COUNTER_VALUE, INITIAL_SUCCESS, InternalServerError, KEY_SESSION_COUNTER, LIQUID_VARIABLE_REGEX, LOCAL_NAMI_ENTITLEMENTS, LOG_HTTP_REQUESTS, LOG_HTTP_TRAFFIC, LaunchCampaignError, LaunchContextResolver, LogLevel, NAMI_CONFIGURATION, NAMI_CUSTOMER_JOURNEY_STATE, NAMI_LANGUAGE_CODE, NAMI_LAST_IMPRESSION_ID, NAMI_LAUNCH_ID, NAMI_PROFILE, NAMI_PURCHASE_CHANNEL, NAMI_PURCHASE_IMPRESSION_ID, NAMI_SDK_PACKAGE_VERSION, NAMI_SDK_VERSION, NAMI_SESSION_ID, NAMI_STORAGE_KEYS, Nami, NamiAPI, NamiAnimationType, NamiCampaignManager$2 as NamiCampaignManager, NamiCampaignRuleType, NamiConditionEvaluator, NamiCustomerManager$2 as NamiCustomerManager, NamiEntitlementManager$2 as NamiEntitlementManager, NamiEventEmitter, NamiFlow, NamiFlowActionFunction, NamiFlowManager$1 as NamiFlowManager, NamiFlowStepType, NamiPaywallAction, NamiPaywallManager$2 as NamiPaywallManager, PaywallManagerEvents as NamiPaywallManagerEvents, NamiPurchaseManager$2 as NamiPurchaseManager, NamiRefs, NamiReservedActions, NotFoundError, PAYWALL_ACTION_EVENT, PLATFORM_ID_REQUIRED, PRODUCTION, PaywallManagerEvents, PaywallRepository, PaywallState, PlacementLabelResolver, PlatformIDRequiredError, ProductRepository, RECONFIG_SUCCESS, RetryLimitExceededError, SDKNotInitializedError, SDK_NOT_INITIALIZED, SERVER_NAMI_ENTITLEMENTS, SESSION_REQUIRED, SHOULD_SHOW_LOADING_INDICATOR, SKU_TEXT_REGEX, SMART_TEXT_PATTERN, STARTUP_TELEMETRY, STATUS_BAD_REQUEST, STATUS_CONFLICT, STATUS_INTERNAL_SERVER_ERROR, STATUS_NOT_FOUND, STATUS_SUCCESS, SessionService, SimpleEventTarget, StorageService, UNABLE_TO_UPDATE_CDP_ID, USE_STAGING_API, VALIDATE_PRODUCT_GROUPS, VAR_REGEX, NamiProfileManager$1 as _NamiProfileManager, internal as _internal, activateEntitlementByPurchase, activeEntitlements, aggregateScreenreaderText, allCampaigns, allPaywalls, applyEntitlementActivation, audienceSplitPosition, bestUrlCampaignMatch, bigintToUuid, checkAnySkuHasPromoOffer, checkAnySkuHasTrialOffer,
|
|
3479
|
-
export type { AccountStateHandler$1 as AccountStateHandler, AlignmentType, AmazonProduct, ApiResponse, AppleProduct, AvailableCampaignsResponseHandler, BorderLocationType, BorderSideType, Callback$1 as Callback, CloseHandler, CustomerJourneyState, DeepLinkUrlHandler, Device, DevicePayload, DeviceProfile, DirectionType, ExtendedPlatformInfo, FlexDirectionObject, FlowNavigationOptions, FontCollection, FontDetails, FormFactor, GoogleProduct, IConfig, IDeviceAdapter, IEntitlements$1 as IEntitlements, IPaywall, IPlatformAdapters, IProductsWithComponents, IPurchaseAdapter, ISkuMenu, IStorageAdapter, IUIAdapter, Impression, InitialConfig, InitialConfigCompressed, InitiateStateGroup, LoginResponse, NamiAnimation, NamiAnimationObjectSpec, NamiAnimationSpec, NamiAnonymousCampaign, NamiAppSuppliedVideoDetails, NamiCampaign, NamiCampaignManagerStatic, NamiCampaignSegment, NamiConfiguration, NamiConfigurationState,
|
|
3455
|
+
export { ALREADY_CONFIGURED, ANONYMOUS_MODE, ANONYMOUS_MODE_ALREADY_OFF, ANONYMOUS_MODE_ALREADY_ON, ANONYMOUS_MODE_LOGIN_NOT_ALLOWED, ANONYMOUS_UUID, APIError, API_ACTIVE_ENTITLEMENTS, API_CAMPAIGN_RULES, API_CAMPAIGN_SESSION_TIMESTAMP, API_CONFIG, API_MAX_CALLS_LIMIT, API_PAYWALLS, API_PRODUCTS, API_RETRY_DELAY_SEC, API_TIMEOUT_LIMIT, API_VERSION, AUTH_DEVICE, AVAILABLE_ACTIVE_ENTITLEMENTS_CHANGED, AVAILABLE_CAMPAIGNS_CHANGED, AccountStateAction, AnonymousCDPError, AnonymousLoginError, AnonymousModeAlreadyOffError, AnonymousModeAlreadyOnError, BASE_STAGING_URL, BASE_URL, BASE_URL_PATH, BadRequestError, BasicNamiFlow, BorderMap, BorderSideMap, CAMPAIGN_NOT_AVAILABLE, CUSTOMER_ATTRIBUTES_KEY_PREFIX, CUSTOMER_JOURNEY_STATE_CHANGED, CUSTOM_HOST_PREFIX, CampaignNotAvailableError, CampaignRuleConversionEventType, CampaignRuleRepository, Capabilities, ClientError, ConfigRepository, ConflictError, CustomerJourneyRepository, DEVELOPMENT, DEVICE_API_TIMEOUT_LIMIT, DEVICE_ID_NOT_SET, DEVICE_ID_REQUIRED, DISABLE_ASYNC_LOGIN_LOGOUT, DeviceIDRequiredError, DeviceRepository, EXTENDED_CLIENT_INFO_DELIMITER, EXTENDED_CLIENT_INFO_PREFIX, EXTENDED_PLATFORM, EXTENDED_PLATFORM_VERSION, EXTERNAL_ID_REQUIRED, EntitlementRepository, EntitlementUtils, ExternalIDRequiredError, FLOW_SCREENS_NOT_AVAILABLE, FlowScreensNotAvailableError, HTML_REGEX, INITIAL_APP_CONFIG, INITIAL_CAMPAIGN_RULES, INITIAL_PAYWALLS, INITIAL_PRODUCTS, INITIAL_SESSION_COUNTER_VALUE, INITIAL_SUCCESS, InternalServerError, KEY_SESSION_COUNTER, LIQUID_VARIABLE_REGEX, LOCAL_NAMI_ENTITLEMENTS, LOG_HTTP_REQUESTS, LOG_HTTP_TRAFFIC, LaunchCampaignError, LaunchContextResolver, LogLevel, NAMI_CONFIGURATION, NAMI_CUSTOMER_JOURNEY_STATE, NAMI_LANGUAGE_CODE, NAMI_LAST_IMPRESSION_ID, NAMI_LAUNCH_ID, NAMI_PROFILE, NAMI_PURCHASE_CHANNEL, NAMI_PURCHASE_IMPRESSION_ID, NAMI_SDK_PACKAGE_VERSION, NAMI_SDK_VERSION, NAMI_SESSION_ID, NAMI_STORAGE_KEYS, Nami, NamiAPI, NamiAnimationType, NamiCampaignManager$2 as NamiCampaignManager, NamiCampaignRuleType, NamiConditionEvaluator, NamiCustomerManager$2 as NamiCustomerManager, NamiEntitlementManager$2 as NamiEntitlementManager, NamiEventEmitter, NamiFlow, NamiFlowActionFunction, NamiFlowManager$1 as NamiFlowManager, NamiFlowStepType, NamiPaywallAction, NamiPaywallManager$2 as NamiPaywallManager, PaywallManagerEvents as NamiPaywallManagerEvents, NamiPurchaseManager$2 as NamiPurchaseManager, NamiRefs, NamiReservedActions, NotFoundError, PAYWALL_ACTION_EVENT, PLATFORM_ID_REQUIRED, PRODUCTION, PaywallManagerEvents, PaywallRepository, PaywallState, PlacementLabelResolver, PlatformIDRequiredError, ProductRepository, RECONFIG_SUCCESS, RetryLimitExceededError, SDKNotInitializedError, SDK_NOT_INITIALIZED, SERVER_NAMI_ENTITLEMENTS, SESSION_REQUIRED, SHOULD_SHOW_LOADING_INDICATOR, SKU_TEXT_REGEX, SMART_TEXT_PATTERN, STARTUP_TELEMETRY, STATUS_BAD_REQUEST, STATUS_CONFLICT, STATUS_INTERNAL_SERVER_ERROR, STATUS_NOT_FOUND, STATUS_SUCCESS, SessionService, SimpleEventTarget, StorageService, UNABLE_TO_UPDATE_CDP_ID, USE_STAGING_API, VALIDATE_PRODUCT_GROUPS, VAR_REGEX, NamiProfileManager$1 as _NamiProfileManager, internal as _internal, activateEntitlementByPurchase, activeEntitlements, aggregateScreenreaderText, allCampaigns, allPaywalls, applyEntitlementActivation, audienceSplitPosition, bestUrlCampaignMatch, bigintToUuid, checkAnySkuHasPromoOffer, checkAnySkuHasTrialOffer, convertISO8601PeriodToText, convertLocale, convertOfferToPricingPhase, createNamiEntitlements, currentSku, empty, extractStandardPricingPhases, formatDate, formattedPrice, generateUUID, getApiCampaigns, getApiPaywalls, getBaseUrl, getBillingPeriodNumber, getCurrencyFormat, getDeviceData, getDeviceFormFactor, getDeviceScaleFactor, getEffectiveWebStyle, getEntitlementRefIdsForSku, getExtendedClientInfo, getFreeTrialPeriod, getInitialCampaigns, getInitialPaywalls, getPaywall, getPaywallDataFromLabel, getPercentagePriceDifference, getPeriodNumberInDays, getPeriodNumberInWeeks, getPlatformAdapters, getPriceDifference, getPricePerMonth, getProductDetail, getPurchaseAdapter, getReferenceSku, getSkuProductDetailKeys, getSkuSmartTextValue, getSlideSmartTextValue, getStandardBillingPeriod, getTranslate, getUrlParams, handleErrors, hasAllPaywalls, hasCapability, hasPurchaseManagement, initialState, invokeHandler, isAnonymousMode, isInitialConfigCompressed, isNamiFlowCampaign, isSubscription, isValidISODate, isValidUrl, logger, mapAnonymousCampaigns, namiBuySKU, normalizeLaunchContext, parseToSemver, postConversion, productDetail, registerPlatformAdapters, registerPurchaseAdapter, selectSegment, setActiveNamiEntitlements, shouldValidateProductGroups, skuItems, skuMapFromEntitlements, storageService, toDouble, toNamiEntitlements, toNamiSKU, tryParseB64Gzip, tryParseJson, updateRelatedSKUsForNamiEntitlement, uuidFromSplitPosition, validateMinSDKVersion };
|
|
3456
|
+
export type { AccountStateHandler$1 as AccountStateHandler, AlignmentType, AmazonProduct, ApiResponse, AppleProduct, AvailableCampaignsResponseHandler, BorderLocationType, BorderSideType, Callback$1 as Callback, CloseHandler, CustomerJourneyState, DeepLinkUrlHandler, Device, DevicePayload, DeviceProfile, DirectionType, ExtendedPlatformInfo, FlexDirectionObject, FlowNavigationOptions, FontCollection, FontDetails, FormFactor, GoogleProduct, IConfig, IDeviceAdapter, IEntitlements$1 as IEntitlements, IPaywall, IPlatformAdapters, IProductsWithComponents, IPurchaseAdapter, ISkuMenu, IStorageAdapter, IUIAdapter, Impression, InitialConfig, InitialConfigCompressed, InitiateStateGroup, LoginResponse, NamiAnimation, NamiAnimationObjectSpec, NamiAnimationSpec, NamiAnonymousCampaign, NamiAppSuppliedVideoDetails, NamiCampaign, NamiCampaignManagerStatic, NamiCampaignSegment, NamiConfiguration, NamiConfigurationState, NamiCustomerManagerStatic, NamiEntitlement$1 as NamiEntitlement, NamiEntitlementManagerStatic, NamiFlowAction, NamiFlowAnimation, NamiFlowCampaign, NamiFlowDTO, NamiFlowEventHandler, NamiFlowHandoffStepHandler, NamiFlowManagerStatic, NamiFlowObjectDTO, NamiFlowOn, NamiFlowStep, NamiFlowTransition, NamiFlowTransitionDirection, NamiFlowWithObject, NamiInitialConfig, NamiLanguageCodes, NamiLogLevel, NamiPaywallActionHandler, NamiPaywallComponentChange, NamiPaywallEvent, NamiPaywallEventVideoMetadata, NamiPaywallLaunchContext, NamiPaywallManagerStatic, NamiPresentationStyle, NamiProductDetails, NamiProductOffer, NamiProfile, NamiPurchase, NamiPurchaseCompleteResult, NamiPurchaseDetails, NamiPurchaseManagerStatic, NamiPurchasesState, NamiSKU, NamiSKUType, NamiSubscriptionInterval, NamiSubscriptionPeriod, None, NoneSpec, PaywallActionEvent, PaywallHandle, PaywallResultHandler, PaywallSKU, PricingPhase, ProductGroup, Pulse, PulseSpec, PurchaseContext, PurchaseResult, PurchaseValidationRequest, SKU, SKUActionHandler, ScreenInfo, Session, TBaseComponent, TButtonContainer, TCarouselContainer, TCarouselSlide, TCarouselSlidesState, TCollapseContainer, TComponent, TConditionalAttributes, TConditionalComponent, TContainer, TContainerPosition, TCountdownTimerTextComponent, TDevice, TDisabledButton, TField, TFieldSettings, TFlexProductContainer, THeaderFooter, TImageComponent, TInitialState, TMediaTypes, TOffer, TPages, TPaywallContext, TPaywallLaunchContext, TPaywallMedia, TPaywallTemplate, TPlayPauseButton, TProductContainer, TProductGroup, TProgressBarComponent, TProgressIndicatorComponent, TQRCodeComponent, TRadioButton, TRepeatingGrid, TResponsiveGrid, TSegmentPicker, TSegmentPickerItem, TSemverObj, TSpacerComponent, TStack, TSvgImageComponent, TSymbolComponent, TTestObject, TTextComponent, TTextLikeComponent, TTextListComponent, TToggleButtonComponent, TToggleSwitch, TVariablePattern, TVideoComponent, TVolumeButton, TimerState, TransactionRequest, UserAction, UserActionParameters, Wave, WaveSpec };
|
package/dist/index.mjs
CHANGED
|
@@ -96,7 +96,7 @@ const {
|
|
|
96
96
|
// version — stamped by scripts/version.sh
|
|
97
97
|
NAMI_SDK_VERSION = "3.4.2",
|
|
98
98
|
// full package version including dev suffix — stamped by scripts/version.sh
|
|
99
|
-
NAMI_SDK_PACKAGE_VERSION = "3.4.2-dev.
|
|
99
|
+
NAMI_SDK_PACKAGE_VERSION = "3.4.2-dev.202606090629",
|
|
100
100
|
// environments
|
|
101
101
|
PRODUCTION = "production", DEVELOPMENT = "development",
|
|
102
102
|
// error messages
|
|
@@ -12540,7 +12540,6 @@ var NamiFlowActionFunction;
|
|
|
12540
12540
|
NamiFlowActionFunction["SET_TAGS"] = "setTags";
|
|
12541
12541
|
NamiFlowActionFunction["PAUSE"] = "flowPause";
|
|
12542
12542
|
NamiFlowActionFunction["RESUME"] = "flowResume";
|
|
12543
|
-
NamiFlowActionFunction["SET_LAUNCH_CONTEXT"] = "setLaunchContext";
|
|
12544
12543
|
})(NamiFlowActionFunction || (NamiFlowActionFunction = {}));
|
|
12545
12544
|
const HandoffTag = {
|
|
12546
12545
|
SEQUENCE: '__handoff_sequence__',
|
|
@@ -14118,16 +14117,6 @@ class NamiFlow extends BasicNamiFlow {
|
|
|
14118
14117
|
this.forward(entry.id);
|
|
14119
14118
|
}
|
|
14120
14119
|
}
|
|
14121
|
-
applyLaunchContextAttributes(attrs) {
|
|
14122
|
-
if (!this.context) {
|
|
14123
|
-
this.context = { customAttributes: {} };
|
|
14124
|
-
new LaunchContextResolver(this.context);
|
|
14125
|
-
}
|
|
14126
|
-
// Guard against a runtime-supplied context that omits customAttributes
|
|
14127
|
-
// (the field is required by the type but may be absent in untyped JSON).
|
|
14128
|
-
this.context.customAttributes ??= {};
|
|
14129
|
-
Object.assign(this.context.customAttributes, attrs);
|
|
14130
|
-
}
|
|
14131
14120
|
registerResolvers(context) {
|
|
14132
14121
|
if (context) {
|
|
14133
14122
|
new LaunchContextResolver(context);
|
|
@@ -14384,9 +14373,6 @@ class NamiFlow extends BasicNamiFlow {
|
|
|
14384
14373
|
this.back();
|
|
14385
14374
|
break;
|
|
14386
14375
|
case NamiFlowActionFunction.NEXT:
|
|
14387
|
-
if (action.parameters?.customAttributes) {
|
|
14388
|
-
this.applyLaunchContextAttributes(action.parameters.customAttributes);
|
|
14389
|
-
}
|
|
14390
14376
|
if (action.parameters?.step) {
|
|
14391
14377
|
this.forward(action.parameters.step);
|
|
14392
14378
|
}
|
|
@@ -14395,9 +14381,6 @@ class NamiFlow extends BasicNamiFlow {
|
|
|
14395
14381
|
}
|
|
14396
14382
|
break;
|
|
14397
14383
|
case NamiFlowActionFunction.NAVIGATE:
|
|
14398
|
-
if (action.parameters?.customAttributes) {
|
|
14399
|
-
this.applyLaunchContextAttributes(action.parameters.customAttributes);
|
|
14400
|
-
}
|
|
14401
14384
|
if (action.parameters?.step) {
|
|
14402
14385
|
if (this.previousFlowStep?.id === action.parameters.step) {
|
|
14403
14386
|
this.back();
|
|
@@ -14523,20 +14506,6 @@ class NamiFlow extends BasicNamiFlow {
|
|
|
14523
14506
|
});
|
|
14524
14507
|
}
|
|
14525
14508
|
break;
|
|
14526
|
-
case NamiFlowActionFunction.SET_LAUNCH_CONTEXT: {
|
|
14527
|
-
// Two supported shapes (matches the nav-action customAttributes wire shape
|
|
14528
|
-
// and the { key, value } shape used by Apple/Android/Roku). We deliberately
|
|
14529
|
-
// do NOT treat arbitrary top-level parameters as attributes, to avoid writing
|
|
14530
|
-
// reserved keys (step, delay, …) into the launch context.
|
|
14531
|
-
const params = action.parameters;
|
|
14532
|
-
if (params?.customAttributes) {
|
|
14533
|
-
this.applyLaunchContextAttributes(params.customAttributes);
|
|
14534
|
-
}
|
|
14535
|
-
else if (params?.key !== undefined && params?.value !== undefined) {
|
|
14536
|
-
this.applyLaunchContextAttributes({ [params.key]: params.value });
|
|
14537
|
-
}
|
|
14538
|
-
break;
|
|
14539
|
-
}
|
|
14540
14509
|
default:
|
|
14541
14510
|
logger.warn(`Missing action handler for ${action.function}`, action);
|
|
14542
14511
|
break;
|
|
@@ -64460,29 +64429,6 @@ const convertLocale = (locale) => {
|
|
|
64460
64429
|
return intlLocale.language + (intlLocale.region ?? intlLocale.script ?? '');
|
|
64461
64430
|
};
|
|
64462
64431
|
|
|
64463
|
-
/**
|
|
64464
|
-
* Coerces the four launch-context wire-format variants of a boolean —
|
|
64465
|
-
* `true`, `false`, `"true"`, `"false"` — into a JS `boolean`.
|
|
64466
|
-
*
|
|
64467
|
-
* Returns `undefined` for everything else (case-variant strings, numbers,
|
|
64468
|
-
* `null`, `undefined`, empty string, objects). Callers decide how to treat
|
|
64469
|
-
* the `undefined` case; the helper deliberately does not coerce numerics or
|
|
64470
|
-
* mixed-case strings so unintended truthy-by-presence behavior doesn't sneak
|
|
64471
|
-
* back in.
|
|
64472
|
-
*/
|
|
64473
|
-
function coerceBooleanish(value) {
|
|
64474
|
-
if (value === true || value === false) {
|
|
64475
|
-
return value;
|
|
64476
|
-
}
|
|
64477
|
-
if (typeof value === 'string') {
|
|
64478
|
-
if (value === 'true')
|
|
64479
|
-
return true;
|
|
64480
|
-
if (value === 'false')
|
|
64481
|
-
return false;
|
|
64482
|
-
}
|
|
64483
|
-
return undefined;
|
|
64484
|
-
}
|
|
64485
|
-
|
|
64486
64432
|
/**
|
|
64487
64433
|
* Components that are skipped entirely (they and their subtree do not
|
|
64488
64434
|
* contribute text to the page-level announcement).
|
|
@@ -64768,4 +64714,4 @@ var internal = /*#__PURE__*/Object.freeze({
|
|
|
64768
64714
|
NamiPurchaseManager: NamiPurchaseManager
|
|
64769
64715
|
});
|
|
64770
64716
|
|
|
64771
|
-
export { ALREADY_CONFIGURED, ANONYMOUS_MODE, ANONYMOUS_MODE_ALREADY_OFF, ANONYMOUS_MODE_ALREADY_ON, ANONYMOUS_MODE_LOGIN_NOT_ALLOWED, ANONYMOUS_UUID, APIError, API_ACTIVE_ENTITLEMENTS, API_CAMPAIGN_RULES, API_CAMPAIGN_SESSION_TIMESTAMP, API_CONFIG, API_MAX_CALLS_LIMIT, API_PAYWALLS, API_PRODUCTS, API_RETRY_DELAY_SEC, API_TIMEOUT_LIMIT, API_VERSION, AUTH_DEVICE, AVAILABLE_ACTIVE_ENTITLEMENTS_CHANGED, AVAILABLE_CAMPAIGNS_CHANGED, AccountStateAction, AnonymousCDPError, AnonymousLoginError, AnonymousModeAlreadyOffError, AnonymousModeAlreadyOnError, BASE_STAGING_URL, BASE_URL, BASE_URL_PATH, BadRequestError, BasicNamiFlow, BorderMap, BorderSideMap, CAMPAIGN_NOT_AVAILABLE, CUSTOMER_ATTRIBUTES_KEY_PREFIX, CUSTOMER_JOURNEY_STATE_CHANGED, CUSTOM_HOST_PREFIX, CampaignNotAvailableError, CampaignRuleConversionEventType, CampaignRuleRepository, Capabilities, ClientError, ConfigRepository, ConflictError, CustomerJourneyRepository, DEVELOPMENT, DEVICE_API_TIMEOUT_LIMIT, DEVICE_ID_NOT_SET, DEVICE_ID_REQUIRED, DISABLE_ASYNC_LOGIN_LOGOUT, DeviceIDRequiredError, DeviceRepository, EXTENDED_CLIENT_INFO_DELIMITER, EXTENDED_CLIENT_INFO_PREFIX, EXTENDED_PLATFORM, EXTENDED_PLATFORM_VERSION, EXTERNAL_ID_REQUIRED, EntitlementRepository, EntitlementUtils, ExternalIDRequiredError, FLOW_SCREENS_NOT_AVAILABLE, FlowScreensNotAvailableError, HTML_REGEX, INITIAL_APP_CONFIG, INITIAL_CAMPAIGN_RULES, INITIAL_PAYWALLS, INITIAL_PRODUCTS, INITIAL_SESSION_COUNTER_VALUE, INITIAL_SUCCESS, InternalServerError, KEY_SESSION_COUNTER, LIQUID_VARIABLE_REGEX, LOCAL_NAMI_ENTITLEMENTS, LOG_HTTP_REQUESTS, LOG_HTTP_TRAFFIC, LaunchCampaignError, LaunchContextResolver, LogLevel, NAMI_CONFIGURATION, NAMI_CUSTOMER_JOURNEY_STATE, NAMI_LANGUAGE_CODE, NAMI_LAST_IMPRESSION_ID, NAMI_LAUNCH_ID, NAMI_PROFILE, NAMI_PURCHASE_CHANNEL, NAMI_PURCHASE_IMPRESSION_ID, NAMI_SDK_PACKAGE_VERSION, NAMI_SDK_VERSION, NAMI_SESSION_ID, NAMI_STORAGE_KEYS, Nami, NamiAPI, NamiAnimationType, NamiCampaignManager$1 as NamiCampaignManager, NamiCampaignRuleType, NamiConditionEvaluator, NamiCustomerManager$1 as NamiCustomerManager, NamiEntitlementManager$1 as NamiEntitlementManager, NamiEventEmitter, NamiFlow, NamiFlowActionFunction, NamiFlowManager$1 as NamiFlowManager, NamiFlowStepType, NamiPaywallAction, NamiPaywallManager$1 as NamiPaywallManager, PaywallManagerEvents as NamiPaywallManagerEvents, NamiPurchaseManager$1 as NamiPurchaseManager, NamiRefs, NamiReservedActions, NotFoundError, PAYWALL_ACTION_EVENT, PLATFORM_ID_REQUIRED, PRODUCTION, PaywallManagerEvents, PaywallRepository, PaywallState, PlacementLabelResolver, PlatformIDRequiredError, ProductRepository, RECONFIG_SUCCESS, RetryLimitExceededError, SDKNotInitializedError, SDK_NOT_INITIALIZED, SERVER_NAMI_ENTITLEMENTS, SESSION_REQUIRED, SHOULD_SHOW_LOADING_INDICATOR, SKU_TEXT_REGEX, SMART_TEXT_PATTERN, STARTUP_TELEMETRY, STATUS_BAD_REQUEST, STATUS_CONFLICT, STATUS_INTERNAL_SERVER_ERROR, STATUS_NOT_FOUND, STATUS_SUCCESS, SessionService, SimpleEventTarget, StorageService, UNABLE_TO_UPDATE_CDP_ID, USE_STAGING_API, VALIDATE_PRODUCT_GROUPS, VAR_REGEX, NamiProfileManager$1 as _NamiProfileManager, internal as _internal, activateEntitlementByPurchase, activeEntitlements, aggregateScreenreaderText, allCampaigns, allPaywalls, applyEntitlementActivation, audienceSplitPosition, bestUrlCampaignMatch, bigintToUuid, checkAnySkuHasPromoOffer, checkAnySkuHasTrialOffer,
|
|
64717
|
+
export { ALREADY_CONFIGURED, ANONYMOUS_MODE, ANONYMOUS_MODE_ALREADY_OFF, ANONYMOUS_MODE_ALREADY_ON, ANONYMOUS_MODE_LOGIN_NOT_ALLOWED, ANONYMOUS_UUID, APIError, API_ACTIVE_ENTITLEMENTS, API_CAMPAIGN_RULES, API_CAMPAIGN_SESSION_TIMESTAMP, API_CONFIG, API_MAX_CALLS_LIMIT, API_PAYWALLS, API_PRODUCTS, API_RETRY_DELAY_SEC, API_TIMEOUT_LIMIT, API_VERSION, AUTH_DEVICE, AVAILABLE_ACTIVE_ENTITLEMENTS_CHANGED, AVAILABLE_CAMPAIGNS_CHANGED, AccountStateAction, AnonymousCDPError, AnonymousLoginError, AnonymousModeAlreadyOffError, AnonymousModeAlreadyOnError, BASE_STAGING_URL, BASE_URL, BASE_URL_PATH, BadRequestError, BasicNamiFlow, BorderMap, BorderSideMap, CAMPAIGN_NOT_AVAILABLE, CUSTOMER_ATTRIBUTES_KEY_PREFIX, CUSTOMER_JOURNEY_STATE_CHANGED, CUSTOM_HOST_PREFIX, CampaignNotAvailableError, CampaignRuleConversionEventType, CampaignRuleRepository, Capabilities, ClientError, ConfigRepository, ConflictError, CustomerJourneyRepository, DEVELOPMENT, DEVICE_API_TIMEOUT_LIMIT, DEVICE_ID_NOT_SET, DEVICE_ID_REQUIRED, DISABLE_ASYNC_LOGIN_LOGOUT, DeviceIDRequiredError, DeviceRepository, EXTENDED_CLIENT_INFO_DELIMITER, EXTENDED_CLIENT_INFO_PREFIX, EXTENDED_PLATFORM, EXTENDED_PLATFORM_VERSION, EXTERNAL_ID_REQUIRED, EntitlementRepository, EntitlementUtils, ExternalIDRequiredError, FLOW_SCREENS_NOT_AVAILABLE, FlowScreensNotAvailableError, HTML_REGEX, INITIAL_APP_CONFIG, INITIAL_CAMPAIGN_RULES, INITIAL_PAYWALLS, INITIAL_PRODUCTS, INITIAL_SESSION_COUNTER_VALUE, INITIAL_SUCCESS, InternalServerError, KEY_SESSION_COUNTER, LIQUID_VARIABLE_REGEX, LOCAL_NAMI_ENTITLEMENTS, LOG_HTTP_REQUESTS, LOG_HTTP_TRAFFIC, LaunchCampaignError, LaunchContextResolver, LogLevel, NAMI_CONFIGURATION, NAMI_CUSTOMER_JOURNEY_STATE, NAMI_LANGUAGE_CODE, NAMI_LAST_IMPRESSION_ID, NAMI_LAUNCH_ID, NAMI_PROFILE, NAMI_PURCHASE_CHANNEL, NAMI_PURCHASE_IMPRESSION_ID, NAMI_SDK_PACKAGE_VERSION, NAMI_SDK_VERSION, NAMI_SESSION_ID, NAMI_STORAGE_KEYS, Nami, NamiAPI, NamiAnimationType, NamiCampaignManager$1 as NamiCampaignManager, NamiCampaignRuleType, NamiConditionEvaluator, NamiCustomerManager$1 as NamiCustomerManager, NamiEntitlementManager$1 as NamiEntitlementManager, NamiEventEmitter, NamiFlow, NamiFlowActionFunction, NamiFlowManager$1 as NamiFlowManager, NamiFlowStepType, NamiPaywallAction, NamiPaywallManager$1 as NamiPaywallManager, PaywallManagerEvents as NamiPaywallManagerEvents, NamiPurchaseManager$1 as NamiPurchaseManager, NamiRefs, NamiReservedActions, NotFoundError, PAYWALL_ACTION_EVENT, PLATFORM_ID_REQUIRED, PRODUCTION, PaywallManagerEvents, PaywallRepository, PaywallState, PlacementLabelResolver, PlatformIDRequiredError, ProductRepository, RECONFIG_SUCCESS, RetryLimitExceededError, SDKNotInitializedError, SDK_NOT_INITIALIZED, SERVER_NAMI_ENTITLEMENTS, SESSION_REQUIRED, SHOULD_SHOW_LOADING_INDICATOR, SKU_TEXT_REGEX, SMART_TEXT_PATTERN, STARTUP_TELEMETRY, STATUS_BAD_REQUEST, STATUS_CONFLICT, STATUS_INTERNAL_SERVER_ERROR, STATUS_NOT_FOUND, STATUS_SUCCESS, SessionService, SimpleEventTarget, StorageService, UNABLE_TO_UPDATE_CDP_ID, USE_STAGING_API, VALIDATE_PRODUCT_GROUPS, VAR_REGEX, NamiProfileManager$1 as _NamiProfileManager, internal as _internal, activateEntitlementByPurchase, activeEntitlements, aggregateScreenreaderText, allCampaigns, allPaywalls, applyEntitlementActivation, audienceSplitPosition, bestUrlCampaignMatch, bigintToUuid, checkAnySkuHasPromoOffer, checkAnySkuHasTrialOffer, convertISO8601PeriodToText, convertLocale, convertOfferToPricingPhase, createNamiEntitlements, currentSku, empty, extractStandardPricingPhases, formatDate, formattedPrice, generateUUID, getApiCampaigns, getApiPaywalls, getBaseUrl, getBillingPeriodNumber, getCurrencyFormat, getDeviceData, getDeviceFormFactor, getDeviceScaleFactor, getEffectiveWebStyle, getEntitlementRefIdsForSku, getExtendedClientInfo, getFreeTrialPeriod, getInitialCampaigns, getInitialPaywalls, getPaywall, getPaywallDataFromLabel, getPercentagePriceDifference, getPeriodNumberInDays, getPeriodNumberInWeeks, getPlatformAdapters, getPriceDifference, getPricePerMonth, getProductDetail, getPurchaseAdapter, getReferenceSku, getSkuProductDetailKeys, getSkuSmartTextValue, getSlideSmartTextValue, getStandardBillingPeriod, getTranslate, getUrlParams, handleErrors, hasAllPaywalls, hasCapability, hasPurchaseManagement, initialState, invokeHandler, isAnonymousMode, isInitialConfigCompressed, isNamiFlowCampaign, isSubscription, isValidISODate, isValidUrl, logger, mapAnonymousCampaigns, namiBuySKU, normalizeLaunchContext, parseToSemver, postConversion, productDetail, registerPlatformAdapters, registerPurchaseAdapter, selectSegment, setActiveNamiEntitlements, shouldValidateProductGroups, skuItems, skuMapFromEntitlements, storageService, toDouble, toNamiEntitlements, toNamiSKU, tryParseB64Gzip, tryParseJson, updateRelatedSKUsForNamiEntitlement, uuidFromSplitPosition, validateMinSDKVersion };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@namiml/sdk-core",
|
|
3
|
-
"version": "3.4.2-dev.
|
|
3
|
+
"version": "3.4.2-dev.202606090629",
|
|
4
4
|
"description": "Platform-agnostic core for the Nami SDK — business logic, API, types, and state management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|