@namiml/sdk-core 3.4.5-dev.202607081553 → 3.4.5-dev.202607092317

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 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.5",
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.5-dev.202607081553",
101
+ NAMI_SDK_PACKAGE_VERSION: exports.NAMI_SDK_PACKAGE_VERSION = "3.4.5-dev.202607092317",
102
102
  // environments
103
103
  PRODUCTION: exports.PRODUCTION = "production", DEVELOPMENT: exports.DEVELOPMENT = "development",
104
104
  // error messages
@@ -63485,22 +63485,16 @@ const isAsyncLoginLogoutDisabled = () => {
63485
63485
  let NamiCustomerManager$2 = class NamiCustomerManager {
63486
63486
  constructor() {
63487
63487
  this.emitter = NamiEventEmitter.getInstance();
63488
+ // Resolve customer tags as the raw string the host supplied. Do NOT coerce
63489
+ // booleanish/numeric strings to bool/number here: flow-condition equality is
63490
+ // type-strict (see ConditionalEvaluator.strictEquals) and the flow builder
63491
+ // authors condition `values` as strings. Coercing a stored "true" to a
63492
+ // boolean makes a strict string-vs-string comparison fail (NAM-2617). Numeric
63493
+ // operators still work because ConditionalEvaluator parses numeric strings via
63494
+ // toComparableNumber. This matches the Android resolver's raw-string behavior.
63488
63495
  NamiConditionEvaluator.shared.registerNamespaceResolver("UserTags", (identifier) => {
63489
63496
  const key = identifier.replace("UserTags.", "");
63490
- const rawValue = NamiCustomerManager.getCustomerAttribute(key);
63491
- if (rawValue !== undefined && rawValue !== null) {
63492
- const lower = rawValue.toLowerCase();
63493
- if (lower === "true" || lower === "false") {
63494
- return lower === "true";
63495
- }
63496
- else if (!isNaN(Number(rawValue))) {
63497
- return parseInt(rawValue, 10);
63498
- }
63499
- else {
63500
- return rawValue;
63501
- }
63502
- }
63503
- return null;
63497
+ return NamiCustomerManager.getCustomerAttribute(key) ?? null;
63504
63498
  });
63505
63499
  }
63506
63500
  /**
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.5",
98
98
  // full package version including dev suffix — stamped by scripts/version.sh
99
- NAMI_SDK_PACKAGE_VERSION = "3.4.5-dev.202607081553",
99
+ NAMI_SDK_PACKAGE_VERSION = "3.4.5-dev.202607092317",
100
100
  // environments
101
101
  PRODUCTION = "production", DEVELOPMENT = "development",
102
102
  // error messages
@@ -63483,22 +63483,16 @@ const isAsyncLoginLogoutDisabled = () => {
63483
63483
  let NamiCustomerManager$2 = class NamiCustomerManager {
63484
63484
  constructor() {
63485
63485
  this.emitter = NamiEventEmitter.getInstance();
63486
+ // Resolve customer tags as the raw string the host supplied. Do NOT coerce
63487
+ // booleanish/numeric strings to bool/number here: flow-condition equality is
63488
+ // type-strict (see ConditionalEvaluator.strictEquals) and the flow builder
63489
+ // authors condition `values` as strings. Coercing a stored "true" to a
63490
+ // boolean makes a strict string-vs-string comparison fail (NAM-2617). Numeric
63491
+ // operators still work because ConditionalEvaluator parses numeric strings via
63492
+ // toComparableNumber. This matches the Android resolver's raw-string behavior.
63486
63493
  NamiConditionEvaluator.shared.registerNamespaceResolver("UserTags", (identifier) => {
63487
63494
  const key = identifier.replace("UserTags.", "");
63488
- const rawValue = NamiCustomerManager.getCustomerAttribute(key);
63489
- if (rawValue !== undefined && rawValue !== null) {
63490
- const lower = rawValue.toLowerCase();
63491
- if (lower === "true" || lower === "false") {
63492
- return lower === "true";
63493
- }
63494
- else if (!isNaN(Number(rawValue))) {
63495
- return parseInt(rawValue, 10);
63496
- }
63497
- else {
63498
- return rawValue;
63499
- }
63500
- }
63501
- return null;
63495
+ return NamiCustomerManager.getCustomerAttribute(key) ?? null;
63502
63496
  });
63503
63497
  }
63504
63498
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@namiml/sdk-core",
3
- "version": "3.4.5-dev.202607081553",
3
+ "version": "3.4.5-dev.202607092317",
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",