@namiml/web-sdk 1.7.4-beta.1 → 1.7.4

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.
@@ -1,11 +1,12 @@
1
1
  import { Device, DevicePayload } from "../types/device";
2
+ import { INamiRefsInstance } from "../utils/anonymousMode";
2
3
  export declare class DeviceRepository {
3
4
  static instance: DeviceRepository;
4
- createOrUpdateDevice(deviceData: DevicePayload, splitPositionUUID?: string): {
5
+ createOrUpdateDevice(deviceData: DevicePayload, splitPositionUUID?: string, namiRefs?: INamiRefsInstance): {
5
6
  id: string;
6
7
  device: Promise<Device | null>;
7
8
  };
8
- createDevice(deviceData: DevicePayload): Promise<Device | null>;
9
+ createDevice(deviceData: DevicePayload, namiRefs?: INamiRefsInstance): Promise<Device | null>;
9
10
  updateDevice(currentDeviceId: string, deviceData: DevicePayload): Promise<Device | null>;
10
11
  updateDeviceField<T>(key: string, value: T): Promise<Device | null>;
11
12
  private requestAPIData;
@@ -23,7 +23,7 @@ export interface DevicePayload {
23
23
  os_version: string;
24
24
  os_name: string;
25
25
  browser_name: string;
26
- browser_version: string;
26
+ browser_version: string | undefined;
27
27
  sdk_client: string;
28
28
  device_model?: string;
29
29
  form_factor?: string;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Interface for NamiRefs instance to maintain type safety
3
+ * Only includes methods needed by utilities that depend on NamiRefs
4
+ */
5
+ export interface INamiRefsInstance {
6
+ isInMemoryAnonymousMode(): boolean;
7
+ setInMemoryAnonymousMode(enabled: boolean): void;
8
+ }
9
+ /**
10
+ * Set the NamiRefs instance to avoid circular dependency issues
11
+ * Called from namiRefs.ts during initialization
12
+ */
13
+ export declare function setNamiRefsInstance(instance: INamiRefsInstance): void;
14
+ /**
15
+ * Utility function to check anonymous mode status
16
+ * Checks both persistent (storage) and in-memory flags
17
+ * @returns true if device is in anonymous mode (either persistent or temporary)
18
+ */
19
+ export declare function isAnonymousMode(): boolean;
@@ -1 +1 @@
1
- export declare const NAMI_SDK_VERSION: string, PRODUCTION: string, DEVELOPMENT: string, PLATFORM_ID_REQUIRED: string, DEVICE_ID_REQUIRED: string, EXTERNAL_ID_REQUIRED: string, SDK_NOT_INITIALIZED: string, CAMPAIGN_NOT_AVAILABLE: string, FLOW_SCREENS_NOT_AVAILABLE: string, UNABLE_TO_UPDATE_CDP_ID: string, ANONYMOUS_MODE_ALREADY_ON: string, ANONYMOUS_MODE_ALREADY_OFF: string, ANONYMOUS_MODE_LOGIN_NOT_ALLOWED: string, SESSION_REQUIRED: string, DEVICE_ID_NOT_SET: string, AUTH_DEVICE: string, NAMI_CONFIGURATION: string, NAMI_PROFILE: string, API_CONFIG: string, API_CAMPAIGN_RULES: string, API_PAYWALLS: string, API_PRODUCTS: string, API_ACTIVE_ENTITLEMENTS: string, SERVER_NAMI_ENTITLEMENTS: string, INITIAL_APP_CONFIG: string, INITIAL_CAMPAIGN_RULES: string, INITIAL_PAYWALLS: string, INITIAL_PRODUCTS: string, LOCAL_NAMI_ENTITLEMENTS: string, CUSTOMER_ATTRIBUTES_KEY_PREFIX: string, NAMI_CUSTOMER_JOURNEY_STATE: string, ANONYMOUS_MODE: string, ANONYMOUS_UUID: string, KEY_SESSION_COUNTER: string, INITIAL_SESSION_COUNTER_VALUE: number, NAMI_LAST_IMPRESSION_ID: string, NAMI_PURCHASE_IMPRESSION_ID: string, NAMI_LAUNCH_ID: string, NAMI_SESSION_ID: string, NAMI_LANGUAGE_CODE: string, NAMI_PURCHASE_CHANNEL: string, API_VERSION: string, BASE_URL_PATH: string, BASE_URL: string, BASE_STAGING_URL: string, CUSTOM_HOST_PREFIX: string, USE_STAGING_API: string, EXTENDED_CLIENT_INFO_PREFIX: string, EXTENDED_CLIENT_INFO_DELIMITER: string, VALIDATE_PRODUCT_GROUPS: string, EXTENDED_PLATFORM: string, EXTENDED_PLATFORM_VERSION: string, API_MAX_CALLS_LIMIT: number, API_RETRY_DELAY_SEC: number, API_TIMEOUT_LIMIT: number, DEVICE_API_TIMEOUT_LIMIT: number, STATUS_SUCCESS: number, STATUS_BAD_REQUEST: number, STATUS_NOT_FOUND: number, STATUS_CONFLICT: number, STATUS_INTERNAL_SERVER_ERROR: number, INITIAL_SUCCESS: string, RECONFIG_SUCCESS: string, ALREADY_CONFIGURED: string, AVAILABLE_CAMPAIGNS_CHANGED: string, PAYWALL_ACTION_EVENT: string, AVAILABLE_ACTIVE_ENTITLEMENTS_CHANGED: string, CUSTOMER_JOURNEY_STATE_CHANGED: string, SKU_TEXT_REGEX: RegExp, VAR_REGEX: RegExp, HTML_REGEX: RegExp, SMART_TEXT_PATTERN: string;
1
+ export declare const NAMI_SDK_VERSION: string, PRODUCTION: string, DEVELOPMENT: string, PLATFORM_ID_REQUIRED: string, DEVICE_ID_REQUIRED: string, EXTERNAL_ID_REQUIRED: string, SDK_NOT_INITIALIZED: string, CAMPAIGN_NOT_AVAILABLE: string, FLOW_SCREENS_NOT_AVAILABLE: string, UNABLE_TO_UPDATE_CDP_ID: string, ANONYMOUS_MODE_ALREADY_ON: string, ANONYMOUS_MODE_ALREADY_OFF: string, ANONYMOUS_MODE_LOGIN_NOT_ALLOWED: string, SESSION_REQUIRED: string, DEVICE_ID_NOT_SET: string, AUTH_DEVICE: string, NAMI_CONFIGURATION: string, NAMI_PROFILE: string, API_CONFIG: string, API_CAMPAIGN_RULES: string, API_PAYWALLS: string, API_PRODUCTS: string, API_ACTIVE_ENTITLEMENTS: string, SERVER_NAMI_ENTITLEMENTS: string, INITIAL_APP_CONFIG: string, INITIAL_CAMPAIGN_RULES: string, INITIAL_PAYWALLS: string, INITIAL_PRODUCTS: string, LOCAL_NAMI_ENTITLEMENTS: string, CUSTOMER_ATTRIBUTES_KEY_PREFIX: string, NAMI_CUSTOMER_JOURNEY_STATE: string, ANONYMOUS_MODE: string, ANONYMOUS_UUID: string, KEY_SESSION_COUNTER: string, INITIAL_SESSION_COUNTER_VALUE: number, NAMI_LAST_IMPRESSION_ID: string, NAMI_PURCHASE_IMPRESSION_ID: string, NAMI_LAUNCH_ID: string, NAMI_SESSION_ID: string, NAMI_LANGUAGE_CODE: string, NAMI_PURCHASE_CHANNEL: string, API_VERSION: any, BASE_URL_PATH: string, BASE_URL: string, BASE_STAGING_URL: string, CUSTOM_HOST_PREFIX: string, USE_STAGING_API: string, EXTENDED_CLIENT_INFO_PREFIX: string, EXTENDED_CLIENT_INFO_DELIMITER: string, VALIDATE_PRODUCT_GROUPS: string, EXTENDED_PLATFORM: string, EXTENDED_PLATFORM_VERSION: string, API_MAX_CALLS_LIMIT: number, API_RETRY_DELAY_SEC: number, API_TIMEOUT_LIMIT: number, DEVICE_API_TIMEOUT_LIMIT: number, STATUS_SUCCESS: number, STATUS_BAD_REQUEST: number, STATUS_NOT_FOUND: number, STATUS_CONFLICT: number, STATUS_INTERNAL_SERVER_ERROR: number, INITIAL_SUCCESS: string, RECONFIG_SUCCESS: string, ALREADY_CONFIGURED: string, AVAILABLE_CAMPAIGNS_CHANGED: string, PAYWALL_ACTION_EVENT: string, AVAILABLE_ACTIVE_ENTITLEMENTS_CHANGED: string, CUSTOMER_JOURNEY_STATE_CHANGED: string, SKU_TEXT_REGEX: RegExp, VAR_REGEX: RegExp, HTML_REGEX: RegExp, SMART_TEXT_PATTERN: string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@namiml/web-sdk",
3
3
  "type": "module",
4
- "version": "1.7.4-beta.01",
4
+ "version": "1.7.4",
5
5
  "source": "src/nami-web.ts",
6
6
  "description": "Nami Web SDK makes subscriptions & in-app purchases easy, with powerful built-in paywalls and A/B testing",
7
7
  "scripts": {
@@ -34,12 +34,11 @@
34
34
  "umd": "./dist/nami-web.umd.js",
35
35
  "default": "./dist/nami-web.mjs"
36
36
  },
37
- "./legacy": {
38
- "types": "./dist/nami-web.d.ts",
39
- "import": "./dist/nami-web.legacy.mjs",
40
- "require": "./dist/nami-web.legacy.cjs",
41
- "umd": "./dist/nami-web.legacy.umd.js",
42
- "default": "./dist/nami-web.legacy.mjs"
37
+ "./legacy-support": {
38
+ "types": "./dist/legacy-support.d.ts",
39
+ "import": "./dist/legacy-support.mjs",
40
+ "require": "./dist/legacy-support.cjs",
41
+ "default": "./dist/legacy-support.mjs"
43
42
  },
44
43
  "./polyfills": {
45
44
  "import": "./dist/polyfills.js",
@@ -135,6 +134,11 @@
135
134
  "type": "git",
136
135
  "url": "https://github.com/namiml/nami-web-sdk.git"
137
136
  },
137
+ "sideEffects": [
138
+ "dist/polyfills.js",
139
+ "dist/legacy-support.mjs",
140
+ "dist/legacy-support.cjs"
141
+ ],
138
142
  "resolutions": {
139
143
  "@esm-bundle/chai": "4.3.4-fix.0"
140
144
  },
@@ -1,10 +0,0 @@
1
- import "./polyfills";
2
- import "./shims/globalThis";
3
- import "./shims/getAttributeNames";
4
- export { Nami } from "./nami";
5
- export { NamiCampaignManager } from "./nami/campaign";
6
- export { NamiCustomerManager } from "./nami/customer";
7
- export { NamiPaywallManager } from "./nami/paywalls";
8
- export { NamiEntitlementManager } from "./nami/entitlement";
9
- export * from "./types/externals";
10
- import "./components";