@shware/analytics 3.1.2 → 3.2.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/dist/visitor/index.cjs
CHANGED
|
@@ -41,12 +41,14 @@ async function createVisitor() {
|
|
|
41
41
|
body: JSON.stringify(dto)
|
|
42
42
|
});
|
|
43
43
|
const data = await response.json();
|
|
44
|
-
|
|
44
|
+
if (data.id) {
|
|
45
|
+
import_setup.config.storage.setItem(import_storage.keys.visitor_id, data.id);
|
|
46
|
+
}
|
|
45
47
|
return data;
|
|
46
48
|
}
|
|
47
49
|
async function getOrCreateVisitor() {
|
|
48
50
|
const visitorId = import_setup.config.storage.getItem(import_storage.keys.visitor_id);
|
|
49
|
-
if (visitorId) {
|
|
51
|
+
if (visitorId && visitorId !== "undefined") {
|
|
50
52
|
const response = await (0, import_utils.fetch)(`${import_setup.config.endpoint}/visitors/${visitorId}`, {
|
|
51
53
|
method: "GET",
|
|
52
54
|
credentials: "include",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/visitor/index.ts"],"sourcesContent":["import { fetch } from '@shware/utils';\nimport type { CreateVisitorDTO } from '../schema/index';\nimport type { UpdateVisitorDTO, Visitor, VisitorProperties } from './types';\nimport { keys } from '../constants/storage';\nimport { cache, config } from '../setup/index';\n\nasync function createVisitor(): Promise<Visitor> {\n const dto: CreateVisitorDTO = {\n device_id: await config.getDeviceId(),\n platform: config.platform,\n environment: config.environment,\n properties: (await config.getTags()) as VisitorProperties,\n };\n\n const response = await fetch(`${config.endpoint}/visitors`, {\n method: 'POST',\n credentials: 'include',\n headers: await config.getHeaders(),\n body: JSON.stringify(dto),\n });\n\n const data = (await response.json()) as Visitor;\n config.storage.setItem(keys.visitor_id, data.id);\n return data;\n}\n\nasync function getOrCreateVisitor(): Promise<Visitor> {\n const visitorId = config.storage.getItem(keys.visitor_id);\n if (visitorId) {\n const response = await fetch(`${config.endpoint}/visitors/${visitorId}`, {\n method: 'GET',\n credentials: 'include',\n headers: await config.getHeaders(),\n });\n\n if (!response.ok) return createVisitor();\n return response.json() as Promise<Visitor>;\n } else {\n return createVisitor();\n }\n}\n\nlet visitorFetcher: Promise<Visitor> | null = null;\n\nexport async function getVisitor(): Promise<Visitor> {\n if (cache.visitor) return cache.visitor;\n if (visitorFetcher) return visitorFetcher;\n visitorFetcher = getOrCreateVisitor();\n cache.visitor = await visitorFetcher;\n visitorFetcher = null;\n return cache.visitor;\n}\n\nexport async function setVisitor(dto: UpdateVisitorDTO) {\n const { id } = await getVisitor();\n const response = await fetch(`${config.endpoint}/visitors/${id}`, {\n method: 'PATCH',\n credentials: 'include',\n headers: await config.getHeaders(),\n body: JSON.stringify(dto),\n });\n\n if (!response.ok) throw new Error('Failed to set visitor');\n const data = (await response.json()) as Visitor;\n\n config.thirdPartyUserSetters.forEach((setter) => setter(dto));\n cache.visitor = data;\n return data;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsB;AAGtB,qBAAqB;AACrB,mBAA8B;AAE9B,eAAe,gBAAkC;AAC/C,QAAM,MAAwB;AAAA,IAC5B,WAAW,MAAM,oBAAO,YAAY;AAAA,IACpC,UAAU,oBAAO;AAAA,IACjB,aAAa,oBAAO;AAAA,IACpB,YAAa,MAAM,oBAAO,QAAQ;AAAA,EACpC;AAEA,QAAM,WAAW,UAAM,oBAAM,GAAG,oBAAO,QAAQ,aAAa;AAAA,IAC1D,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,SAAS,MAAM,oBAAO,WAAW;AAAA,IACjC,MAAM,KAAK,UAAU,GAAG;AAAA,EAC1B,CAAC;AAED,QAAM,OAAQ,MAAM,SAAS,KAAK;AAClC,
|
|
1
|
+
{"version":3,"sources":["../../src/visitor/index.ts"],"sourcesContent":["import { fetch } from '@shware/utils';\nimport type { CreateVisitorDTO } from '../schema/index';\nimport type { UpdateVisitorDTO, Visitor, VisitorProperties } from './types';\nimport { keys } from '../constants/storage';\nimport { cache, config } from '../setup/index';\n\nasync function createVisitor(): Promise<Visitor> {\n const dto: CreateVisitorDTO = {\n device_id: await config.getDeviceId(),\n platform: config.platform,\n environment: config.environment,\n properties: (await config.getTags()) as VisitorProperties,\n };\n\n const response = await fetch(`${config.endpoint}/visitors`, {\n method: 'POST',\n credentials: 'include',\n headers: await config.getHeaders(),\n body: JSON.stringify(dto),\n });\n\n const data = (await response.json()) as Visitor;\n if (data.id) {\n config.storage.setItem(keys.visitor_id, data.id);\n }\n return data;\n}\n\nasync function getOrCreateVisitor(): Promise<Visitor> {\n const visitorId = config.storage.getItem(keys.visitor_id);\n if (visitorId && visitorId !== 'undefined') {\n const response = await fetch(`${config.endpoint}/visitors/${visitorId}`, {\n method: 'GET',\n credentials: 'include',\n headers: await config.getHeaders(),\n });\n\n if (!response.ok) return createVisitor();\n return response.json() as Promise<Visitor>;\n } else {\n return createVisitor();\n }\n}\n\nlet visitorFetcher: Promise<Visitor> | null = null;\n\nexport async function getVisitor(): Promise<Visitor> {\n if (cache.visitor) return cache.visitor;\n if (visitorFetcher) return visitorFetcher;\n visitorFetcher = getOrCreateVisitor();\n cache.visitor = await visitorFetcher;\n visitorFetcher = null;\n return cache.visitor;\n}\n\nexport async function setVisitor(dto: UpdateVisitorDTO) {\n const { id } = await getVisitor();\n const response = await fetch(`${config.endpoint}/visitors/${id}`, {\n method: 'PATCH',\n credentials: 'include',\n headers: await config.getHeaders(),\n body: JSON.stringify(dto),\n });\n\n if (!response.ok) throw new Error('Failed to set visitor');\n const data = (await response.json()) as Visitor;\n\n config.thirdPartyUserSetters.forEach((setter) => setter(dto));\n cache.visitor = data;\n return data;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsB;AAGtB,qBAAqB;AACrB,mBAA8B;AAE9B,eAAe,gBAAkC;AAC/C,QAAM,MAAwB;AAAA,IAC5B,WAAW,MAAM,oBAAO,YAAY;AAAA,IACpC,UAAU,oBAAO;AAAA,IACjB,aAAa,oBAAO;AAAA,IACpB,YAAa,MAAM,oBAAO,QAAQ;AAAA,EACpC;AAEA,QAAM,WAAW,UAAM,oBAAM,GAAG,oBAAO,QAAQ,aAAa;AAAA,IAC1D,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,SAAS,MAAM,oBAAO,WAAW;AAAA,IACjC,MAAM,KAAK,UAAU,GAAG;AAAA,EAC1B,CAAC;AAED,QAAM,OAAQ,MAAM,SAAS,KAAK;AAClC,MAAI,KAAK,IAAI;AACX,wBAAO,QAAQ,QAAQ,oBAAK,YAAY,KAAK,EAAE;AAAA,EACjD;AACA,SAAO;AACT;AAEA,eAAe,qBAAuC;AACpD,QAAM,YAAY,oBAAO,QAAQ,QAAQ,oBAAK,UAAU;AACxD,MAAI,aAAa,cAAc,aAAa;AAC1C,UAAM,WAAW,UAAM,oBAAM,GAAG,oBAAO,QAAQ,aAAa,SAAS,IAAI;AAAA,MACvE,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,SAAS,MAAM,oBAAO,WAAW;AAAA,IACnC,CAAC;AAED,QAAI,CAAC,SAAS,GAAI,QAAO,cAAc;AACvC,WAAO,SAAS,KAAK;AAAA,EACvB,OAAO;AACL,WAAO,cAAc;AAAA,EACvB;AACF;AAEA,IAAI,iBAA0C;AAE9C,eAAsB,aAA+B;AACnD,MAAI,mBAAM,QAAS,QAAO,mBAAM;AAChC,MAAI,eAAgB,QAAO;AAC3B,mBAAiB,mBAAmB;AACpC,qBAAM,UAAU,MAAM;AACtB,mBAAiB;AACjB,SAAO,mBAAM;AACf;AAEA,eAAsB,WAAW,KAAuB;AACtD,QAAM,EAAE,GAAG,IAAI,MAAM,WAAW;AAChC,QAAM,WAAW,UAAM,oBAAM,GAAG,oBAAO,QAAQ,aAAa,EAAE,IAAI;AAAA,IAChE,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,SAAS,MAAM,oBAAO,WAAW;AAAA,IACjC,MAAM,KAAK,UAAU,GAAG;AAAA,EAC1B,CAAC;AAED,MAAI,CAAC,SAAS,GAAI,OAAM,IAAI,MAAM,uBAAuB;AACzD,QAAM,OAAQ,MAAM,SAAS,KAAK;AAElC,sBAAO,sBAAsB,QAAQ,CAAC,WAAW,OAAO,GAAG,CAAC;AAC5D,qBAAM,UAAU;AAChB,SAAO;AACT;","names":[]}
|
package/dist/visitor/index.mjs
CHANGED
|
@@ -16,12 +16,14 @@ async function createVisitor() {
|
|
|
16
16
|
body: JSON.stringify(dto)
|
|
17
17
|
});
|
|
18
18
|
const data = await response.json();
|
|
19
|
-
|
|
19
|
+
if (data.id) {
|
|
20
|
+
config.storage.setItem(keys.visitor_id, data.id);
|
|
21
|
+
}
|
|
20
22
|
return data;
|
|
21
23
|
}
|
|
22
24
|
async function getOrCreateVisitor() {
|
|
23
25
|
const visitorId = config.storage.getItem(keys.visitor_id);
|
|
24
|
-
if (visitorId) {
|
|
26
|
+
if (visitorId && visitorId !== "undefined") {
|
|
25
27
|
const response = await fetch(`${config.endpoint}/visitors/${visitorId}`, {
|
|
26
28
|
method: "GET",
|
|
27
29
|
credentials: "include",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/visitor/index.ts"],"sourcesContent":["import { fetch } from '@shware/utils';\nimport type { CreateVisitorDTO } from '../schema/index';\nimport type { UpdateVisitorDTO, Visitor, VisitorProperties } from './types';\nimport { keys } from '../constants/storage';\nimport { cache, config } from '../setup/index';\n\nasync function createVisitor(): Promise<Visitor> {\n const dto: CreateVisitorDTO = {\n device_id: await config.getDeviceId(),\n platform: config.platform,\n environment: config.environment,\n properties: (await config.getTags()) as VisitorProperties,\n };\n\n const response = await fetch(`${config.endpoint}/visitors`, {\n method: 'POST',\n credentials: 'include',\n headers: await config.getHeaders(),\n body: JSON.stringify(dto),\n });\n\n const data = (await response.json()) as Visitor;\n config.storage.setItem(keys.visitor_id, data.id);\n return data;\n}\n\nasync function getOrCreateVisitor(): Promise<Visitor> {\n const visitorId = config.storage.getItem(keys.visitor_id);\n if (visitorId) {\n const response = await fetch(`${config.endpoint}/visitors/${visitorId}`, {\n method: 'GET',\n credentials: 'include',\n headers: await config.getHeaders(),\n });\n\n if (!response.ok) return createVisitor();\n return response.json() as Promise<Visitor>;\n } else {\n return createVisitor();\n }\n}\n\nlet visitorFetcher: Promise<Visitor> | null = null;\n\nexport async function getVisitor(): Promise<Visitor> {\n if (cache.visitor) return cache.visitor;\n if (visitorFetcher) return visitorFetcher;\n visitorFetcher = getOrCreateVisitor();\n cache.visitor = await visitorFetcher;\n visitorFetcher = null;\n return cache.visitor;\n}\n\nexport async function setVisitor(dto: UpdateVisitorDTO) {\n const { id } = await getVisitor();\n const response = await fetch(`${config.endpoint}/visitors/${id}`, {\n method: 'PATCH',\n credentials: 'include',\n headers: await config.getHeaders(),\n body: JSON.stringify(dto),\n });\n\n if (!response.ok) throw new Error('Failed to set visitor');\n const data = (await response.json()) as Visitor;\n\n config.thirdPartyUserSetters.forEach((setter) => setter(dto));\n cache.visitor = data;\n return data;\n}\n"],"mappings":";AAAA,SAAS,aAAa;AAGtB,SAAS,YAAY;AACrB,SAAS,OAAO,cAAc;AAE9B,eAAe,gBAAkC;AAC/C,QAAM,MAAwB;AAAA,IAC5B,WAAW,MAAM,OAAO,YAAY;AAAA,IACpC,UAAU,OAAO;AAAA,IACjB,aAAa,OAAO;AAAA,IACpB,YAAa,MAAM,OAAO,QAAQ;AAAA,EACpC;AAEA,QAAM,WAAW,MAAM,MAAM,GAAG,OAAO,QAAQ,aAAa;AAAA,IAC1D,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,SAAS,MAAM,OAAO,WAAW;AAAA,IACjC,MAAM,KAAK,UAAU,GAAG;AAAA,EAC1B,CAAC;AAED,QAAM,OAAQ,MAAM,SAAS,KAAK;AAClC,
|
|
1
|
+
{"version":3,"sources":["../../src/visitor/index.ts"],"sourcesContent":["import { fetch } from '@shware/utils';\nimport type { CreateVisitorDTO } from '../schema/index';\nimport type { UpdateVisitorDTO, Visitor, VisitorProperties } from './types';\nimport { keys } from '../constants/storage';\nimport { cache, config } from '../setup/index';\n\nasync function createVisitor(): Promise<Visitor> {\n const dto: CreateVisitorDTO = {\n device_id: await config.getDeviceId(),\n platform: config.platform,\n environment: config.environment,\n properties: (await config.getTags()) as VisitorProperties,\n };\n\n const response = await fetch(`${config.endpoint}/visitors`, {\n method: 'POST',\n credentials: 'include',\n headers: await config.getHeaders(),\n body: JSON.stringify(dto),\n });\n\n const data = (await response.json()) as Visitor;\n if (data.id) {\n config.storage.setItem(keys.visitor_id, data.id);\n }\n return data;\n}\n\nasync function getOrCreateVisitor(): Promise<Visitor> {\n const visitorId = config.storage.getItem(keys.visitor_id);\n if (visitorId && visitorId !== 'undefined') {\n const response = await fetch(`${config.endpoint}/visitors/${visitorId}`, {\n method: 'GET',\n credentials: 'include',\n headers: await config.getHeaders(),\n });\n\n if (!response.ok) return createVisitor();\n return response.json() as Promise<Visitor>;\n } else {\n return createVisitor();\n }\n}\n\nlet visitorFetcher: Promise<Visitor> | null = null;\n\nexport async function getVisitor(): Promise<Visitor> {\n if (cache.visitor) return cache.visitor;\n if (visitorFetcher) return visitorFetcher;\n visitorFetcher = getOrCreateVisitor();\n cache.visitor = await visitorFetcher;\n visitorFetcher = null;\n return cache.visitor;\n}\n\nexport async function setVisitor(dto: UpdateVisitorDTO) {\n const { id } = await getVisitor();\n const response = await fetch(`${config.endpoint}/visitors/${id}`, {\n method: 'PATCH',\n credentials: 'include',\n headers: await config.getHeaders(),\n body: JSON.stringify(dto),\n });\n\n if (!response.ok) throw new Error('Failed to set visitor');\n const data = (await response.json()) as Visitor;\n\n config.thirdPartyUserSetters.forEach((setter) => setter(dto));\n cache.visitor = data;\n return data;\n}\n"],"mappings":";AAAA,SAAS,aAAa;AAGtB,SAAS,YAAY;AACrB,SAAS,OAAO,cAAc;AAE9B,eAAe,gBAAkC;AAC/C,QAAM,MAAwB;AAAA,IAC5B,WAAW,MAAM,OAAO,YAAY;AAAA,IACpC,UAAU,OAAO;AAAA,IACjB,aAAa,OAAO;AAAA,IACpB,YAAa,MAAM,OAAO,QAAQ;AAAA,EACpC;AAEA,QAAM,WAAW,MAAM,MAAM,GAAG,OAAO,QAAQ,aAAa;AAAA,IAC1D,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,SAAS,MAAM,OAAO,WAAW;AAAA,IACjC,MAAM,KAAK,UAAU,GAAG;AAAA,EAC1B,CAAC;AAED,QAAM,OAAQ,MAAM,SAAS,KAAK;AAClC,MAAI,KAAK,IAAI;AACX,WAAO,QAAQ,QAAQ,KAAK,YAAY,KAAK,EAAE;AAAA,EACjD;AACA,SAAO;AACT;AAEA,eAAe,qBAAuC;AACpD,QAAM,YAAY,OAAO,QAAQ,QAAQ,KAAK,UAAU;AACxD,MAAI,aAAa,cAAc,aAAa;AAC1C,UAAM,WAAW,MAAM,MAAM,GAAG,OAAO,QAAQ,aAAa,SAAS,IAAI;AAAA,MACvE,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,SAAS,MAAM,OAAO,WAAW;AAAA,IACnC,CAAC;AAED,QAAI,CAAC,SAAS,GAAI,QAAO,cAAc;AACvC,WAAO,SAAS,KAAK;AAAA,EACvB,OAAO;AACL,WAAO,cAAc;AAAA,EACvB;AACF;AAEA,IAAI,iBAA0C;AAE9C,eAAsB,aAA+B;AACnD,MAAI,MAAM,QAAS,QAAO,MAAM;AAChC,MAAI,eAAgB,QAAO;AAC3B,mBAAiB,mBAAmB;AACpC,QAAM,UAAU,MAAM;AACtB,mBAAiB;AACjB,SAAO,MAAM;AACf;AAEA,eAAsB,WAAW,KAAuB;AACtD,QAAM,EAAE,GAAG,IAAI,MAAM,WAAW;AAChC,QAAM,WAAW,MAAM,MAAM,GAAG,OAAO,QAAQ,aAAa,EAAE,IAAI;AAAA,IAChE,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,SAAS,MAAM,OAAO,WAAW;AAAA,IACjC,MAAM,KAAK,UAAU,GAAG;AAAA,EAC1B,CAAC;AAED,MAAI,CAAC,SAAS,GAAI,OAAM,IAAI,MAAM,uBAAuB;AACzD,QAAM,OAAQ,MAAM,SAAS,KAAK;AAElC,SAAO,sBAAsB,QAAQ,CAAC,WAAW,OAAO,GAAG,CAAC;AAC5D,QAAM,UAAU;AAChB,SAAO;AACT;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shware/analytics",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -63,24 +63,24 @@
|
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"bowser": "^2.
|
|
66
|
+
"bowser": "^2.14.1",
|
|
67
67
|
"cookie": "^1.1.1",
|
|
68
68
|
"uuid": "^13.0.0",
|
|
69
69
|
"web-vitals": "^5.1.0",
|
|
70
|
-
"zod": "^4.3.
|
|
71
|
-
"@shware/utils": "^1.
|
|
70
|
+
"zod": "^4.3.6",
|
|
71
|
+
"@shware/utils": "^1.2.0"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"@types/facebook-nodejs-business-sdk": "^23",
|
|
75
|
-
"@types/node": "^
|
|
75
|
+
"@types/node": "^25",
|
|
76
76
|
"@types/react": "^19",
|
|
77
77
|
"typescript": "^5.9.3",
|
|
78
|
-
"vitest": "^4.0.
|
|
78
|
+
"vitest": "^4.0.18",
|
|
79
79
|
"@repo/typescript-config": "0.0.0"
|
|
80
80
|
},
|
|
81
81
|
"peerDependencies": {
|
|
82
|
-
"@react-native-firebase/analytics": "^23.
|
|
83
|
-
"@tanstack/react-router": "^1.
|
|
82
|
+
"@react-native-firebase/analytics": "^23.8.6",
|
|
83
|
+
"@tanstack/react-router": "^1.163.2",
|
|
84
84
|
"expo-application": "^7.0.8",
|
|
85
85
|
"expo-clipboard": "^8.0.8",
|
|
86
86
|
"expo-crypto": "^15.0.8",
|
|
@@ -88,11 +88,11 @@
|
|
|
88
88
|
"expo-localization": "^17.0.8",
|
|
89
89
|
"expo-sqlite": "^16.0.10",
|
|
90
90
|
"expo-tracking-transparency": "^6.0.8",
|
|
91
|
-
"facebook-nodejs-business-sdk": "^
|
|
92
|
-
"next": "^
|
|
91
|
+
"facebook-nodejs-business-sdk": "^24",
|
|
92
|
+
"next": "^16",
|
|
93
93
|
"react": "^19",
|
|
94
94
|
"react-native": "^0.81.5",
|
|
95
|
-
"react-native-fbsdk-next": "^13.4.
|
|
95
|
+
"react-native-fbsdk-next": "^13.4.3",
|
|
96
96
|
"react-native-url-polyfill": "^3",
|
|
97
97
|
"react-router": "^7"
|
|
98
98
|
},
|