@nommos/core 0.0.4 → 0.0.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/package.json
CHANGED
package/src/lib/constants.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ export declare const PARRAINAGE_KEY = "attr:parrainage";
|
|
|
6
6
|
export declare const AFFILIATE_HISTORY_KEY = "attr:affiliate:history";
|
|
7
7
|
export declare const ONE_YEAR_MS: number;
|
|
8
8
|
export declare const BROWSER_KEY = "anon:device_id";
|
|
9
|
+
export declare const CONFIG_CACHE_KEY = "nommos:config:cache";
|
|
10
|
+
export declare const ONE_DAY_MS: number;
|
|
9
11
|
export declare const ANALYTICS_QUEUE = "/queue/user.activity";
|
|
10
12
|
export declare const BROWSER_DEFS: UaDef[];
|
|
11
13
|
export declare const OS_DEFS: UaDef[];
|
package/src/lib/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OS_DEFS = exports.BROWSER_DEFS = exports.ANALYTICS_QUEUE = exports.BROWSER_KEY = exports.ONE_YEAR_MS = exports.AFFILIATE_HISTORY_KEY = exports.PARRAINAGE_KEY = exports.AFFILIATE_KEY = exports.SOURCE_KEY = exports.CONFIG_ENDPOINT = void 0;
|
|
3
|
+
exports.OS_DEFS = exports.BROWSER_DEFS = exports.ANALYTICS_QUEUE = exports.ONE_DAY_MS = exports.CONFIG_CACHE_KEY = exports.BROWSER_KEY = exports.ONE_YEAR_MS = exports.AFFILIATE_HISTORY_KEY = exports.PARRAINAGE_KEY = exports.AFFILIATE_KEY = exports.SOURCE_KEY = exports.CONFIG_ENDPOINT = void 0;
|
|
4
4
|
exports.CONFIG_ENDPOINT = 'https://api.nommos.ai/api/social/init';
|
|
5
5
|
exports.SOURCE_KEY = 'attr:source';
|
|
6
6
|
exports.AFFILIATE_KEY = 'attr:affiliate';
|
|
@@ -8,6 +8,8 @@ exports.PARRAINAGE_KEY = 'attr:parrainage';
|
|
|
8
8
|
exports.AFFILIATE_HISTORY_KEY = 'attr:affiliate:history'; // { v: string[], e: number }
|
|
9
9
|
exports.ONE_YEAR_MS = 365 * 24 * 60 * 60 * 1000;
|
|
10
10
|
exports.BROWSER_KEY = 'anon:device_id';
|
|
11
|
+
exports.CONFIG_CACHE_KEY = 'nommos:config:cache';
|
|
12
|
+
exports.ONE_DAY_MS = 24 * 60 * 60 * 1000;
|
|
11
13
|
exports.ANALYTICS_QUEUE = '/queue/user.activity';
|
|
12
14
|
exports.BROWSER_DEFS = [
|
|
13
15
|
[/Edg\/([\d.]+)/, 'Edge'],
|
package/src/lib/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/constants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,5 +51,6 @@ export declare class EventTracker {
|
|
|
51
51
|
trackEvent(action: ANALYTICS_ACTION, state?: ANALYTICS_ACTION_STATE, data?: Record<string, unknown> | null, toggle?: boolean, selected?: boolean | null, userId?: string, currentUrl?: string): void;
|
|
52
52
|
private init;
|
|
53
53
|
private fetchConfig;
|
|
54
|
+
private applyConfig;
|
|
54
55
|
unsubscribe(): void;
|
|
55
56
|
}
|
package/src/lib/event-tracker.js
CHANGED
|
@@ -142,6 +142,21 @@ class EventTracker {
|
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
fetchConfig(token) {
|
|
145
|
+
// 1. Check Cache First
|
|
146
|
+
const cached = localStorage.getItem(`${constants_1.CONFIG_CACHE_KEY}:${token}`);
|
|
147
|
+
if (cached) {
|
|
148
|
+
try {
|
|
149
|
+
const { timestamp, data } = JSON.parse(cached);
|
|
150
|
+
if (Date.now() - timestamp < constants_1.ONE_DAY_MS) {
|
|
151
|
+
console.log('[Nommos Tracker] Using cached config');
|
|
152
|
+
this.applyConfig(data);
|
|
153
|
+
return (0, rxjs_1.of)(null);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
catch (e) {
|
|
157
|
+
localStorage.removeItem(`${constants_1.CONFIG_CACHE_KEY}:${token}`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
145
160
|
const url = `${constants_1.CONFIG_ENDPOINT}/${token}`;
|
|
146
161
|
return (0, rxjs_1.from)(fetch(url)).pipe((0, rxjs_1.switchMap)((res) => {
|
|
147
162
|
if (!res.ok) {
|
|
@@ -149,20 +164,33 @@ class EventTracker {
|
|
|
149
164
|
}
|
|
150
165
|
return (0, rxjs_1.from)(res.json());
|
|
151
166
|
}), (0, rxjs_1.map)((data) => {
|
|
152
|
-
this.
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
167
|
+
this.applyConfig(data);
|
|
168
|
+
// 2. Save to Cache on Success
|
|
169
|
+
if (this.cfg.enableTracking !== false) {
|
|
170
|
+
const cachePayload = {
|
|
171
|
+
timestamp: Date.now(),
|
|
172
|
+
data
|
|
173
|
+
};
|
|
174
|
+
localStorage.setItem(`${constants_1.CONFIG_CACHE_KEY}:${token}`, JSON.stringify(cachePayload));
|
|
156
175
|
}
|
|
157
|
-
this.cfg.rabbitUrl = data.rabbit_url;
|
|
158
|
-
this.cfg.username = data.rabbit_username;
|
|
159
|
-
this.cfg.password = data.rabbit_password;
|
|
160
|
-
this.cfg.brand_id = data.brand_id;
|
|
161
176
|
}), (0, rxjs_1.catchError)((err) => {
|
|
162
177
|
console.error('[Nommos Tracker] Error fetching from the endpoint:', err);
|
|
163
178
|
return (0, rxjs_1.of)(null);
|
|
164
179
|
}));
|
|
165
180
|
}
|
|
181
|
+
applyConfig(data) {
|
|
182
|
+
if (!data)
|
|
183
|
+
return;
|
|
184
|
+
this.cfg.enableTracking = data.enabled !== false;
|
|
185
|
+
if (this.cfg.enableTracking === false) {
|
|
186
|
+
console.warn('[Nommos Tracker] the events tracking feature is disabled for your token.');
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
this.cfg.rabbitUrl = data.rabbit_url;
|
|
190
|
+
this.cfg.username = data.rabbit_username;
|
|
191
|
+
this.cfg.password = data.rabbit_password;
|
|
192
|
+
this.cfg.brand_id = data.brand_id;
|
|
193
|
+
}
|
|
166
194
|
unsubscribe() {
|
|
167
195
|
var _a, _b, _c;
|
|
168
196
|
(_a = this.ipSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-tracker.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/event-tracker.ts"],"names":[],"mappings":";;;AAAA,+BAA6F;AAC7F,yDAAqD;AACrD,yDAAqD;AAQrD,mCAAmE;AACnE,mCAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"event-tracker.js","sourceRoot":"","sources":["../../../../../nommos/core/src/lib/event-tracker.ts"],"names":[],"mappings":"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"}
|