@attryio/react-native 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +48 -11
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAGL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAE3B,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,CACjB,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,KAC9B;YAAE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;SAAE,CAAC;KAC9B,CAAC;IACF,UAAU,CAAC,EAAE;QACX,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,KAAK;YACxC,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAC7C,gBAAgB,CAAC,EAAE,CACjB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,OAAO,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,KACzC;YAAE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;SAAE,CAAC;KAC9B,CAAC;IACF,aAAa,CAAC,EAAE;QACd,aAAa,CAAC,EAAE;YACd,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;SAChD,CAAC;QACF,oBAAoB,CAAC,EAAE;YACrB,kBAAkB,EAAE,MAAM,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;SAClE,CAAC;QACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,EAAE,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;QAChC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,SAAS,CAAC;IACjD,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAKD,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,kBAiC1E;AAED,wBAAsB,yBAAyB,CAC7C,EAAE,CAAC,EAAE,eAAe,EACpB,iBAAiB,GAAE,WAAW,CAAC,SAAS,CAAM,GAC7C,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Attry, ATTRY_EVENTS, MemoryStorage, parseAttryUrl } from "@attryio/sdk-core";
|
|
2
2
|
const SDK_NAME = "attry-react-native";
|
|
3
|
-
const SDK_VERSION = "0.1.
|
|
3
|
+
const SDK_VERSION = "0.1.5";
|
|
4
4
|
export { parseAttryUrl };
|
|
5
5
|
export async function createAttryReactNative(config) {
|
|
6
6
|
const rn = await loadReactNative();
|
|
@@ -42,6 +42,13 @@ export async function collectReactNativeContext(rn, configuredContext = {}) {
|
|
|
42
42
|
readFirstString(readNestedUnknown(settings?.settings, ["AppleLanguages"])) ??
|
|
43
43
|
readNestedString(deviceInfo, ["deviceLocale"]) ??
|
|
44
44
|
native?.I18nManager?.localeIdentifier;
|
|
45
|
+
const timezone = configuredContext?.timezone ??
|
|
46
|
+
safeTimezone() ??
|
|
47
|
+
(await readMaybeString(deviceInfo?.timezone)) ??
|
|
48
|
+
(await readMaybeString(deviceInfo?.getTimezone));
|
|
49
|
+
const countryCode = configuredContext?.countryCode ??
|
|
50
|
+
readCountryCodeFromLocale(typeof locale === "string" ? locale : undefined) ??
|
|
51
|
+
readCountryCodeFromTimezone(timezone);
|
|
45
52
|
return compactContext({
|
|
46
53
|
sdkName: SDK_NAME,
|
|
47
54
|
sdkVersion: SDK_VERSION,
|
|
@@ -109,13 +116,9 @@ export async function collectReactNativeContext(rn, configuredContext = {}) {
|
|
|
109
116
|
locale,
|
|
110
117
|
language: configuredContext?.language ??
|
|
111
118
|
(typeof locale === "string" ? locale.split(/[-_]/)[0] : undefined),
|
|
112
|
-
timezone
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
(await readMaybeString(deviceInfo?.getTimezone)),
|
|
116
|
-
country: configuredContext?.country,
|
|
117
|
-
countryCode: configuredContext?.countryCode ??
|
|
118
|
-
readCountryCodeFromLocale(typeof locale === "string" ? locale : undefined),
|
|
119
|
+
timezone,
|
|
120
|
+
country: configuredContext?.country ?? countryNameFromCode(countryCode),
|
|
121
|
+
countryCode,
|
|
119
122
|
region: configuredContext?.region,
|
|
120
123
|
city: configuredContext?.city,
|
|
121
124
|
carrier: configuredContext?.carrier ??
|
|
@@ -336,9 +339,43 @@ function compactContext(context) {
|
|
|
336
339
|
return Object.fromEntries(Object.entries(context).filter(([, value]) => value !== undefined && value !== null && value !== ""));
|
|
337
340
|
}
|
|
338
341
|
function readCountryCodeFromLocale(locale) {
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
+
if (!locale) {
|
|
343
|
+
return undefined;
|
|
344
|
+
}
|
|
345
|
+
try {
|
|
346
|
+
return normalizeCountryCode(new Intl.Locale(locale.replace("_", "-")).region);
|
|
347
|
+
}
|
|
348
|
+
catch {
|
|
349
|
+
const match = locale.match(/[-_]([A-Za-z]{2})(?:$|[-_])/);
|
|
350
|
+
return normalizeCountryCode(match?.[1]);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
function readCountryCodeFromTimezone(timezone) {
|
|
354
|
+
return timezone ? TIMEZONE_COUNTRY_CODES[timezone] : undefined;
|
|
355
|
+
}
|
|
356
|
+
const TIMEZONE_COUNTRY_CODES = {
|
|
357
|
+
"Europe/Istanbul": "TR"
|
|
358
|
+
};
|
|
359
|
+
function normalizeCountryCode(countryCode) {
|
|
360
|
+
if (!countryCode || countryCode.length !== 2) {
|
|
361
|
+
return undefined;
|
|
362
|
+
}
|
|
363
|
+
const upper = countryCode.toUpperCase();
|
|
364
|
+
return upper === "XX" || upper === "T1" ? undefined : upper;
|
|
365
|
+
}
|
|
366
|
+
function countryNameFromCode(countryCode) {
|
|
367
|
+
if (!countryCode) {
|
|
368
|
+
return undefined;
|
|
369
|
+
}
|
|
370
|
+
if (countryCode === "TR") {
|
|
371
|
+
return "Turkey";
|
|
372
|
+
}
|
|
373
|
+
try {
|
|
374
|
+
return new Intl.DisplayNames(["en"], { type: "region" }).of(countryCode);
|
|
375
|
+
}
|
|
376
|
+
catch {
|
|
377
|
+
return countryCode;
|
|
378
|
+
}
|
|
342
379
|
}
|
|
343
380
|
function safeTimezone() {
|
|
344
381
|
try {
|