@statsig/client-core 3.17.1 → 3.17.2
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 +1 -1
- package/src/EventLogger.js +4 -6
- package/src/NetworkCore.d.ts +1 -1
- package/src/NetworkCore.js +20 -25
- package/src/StatsigMetadata.d.ts +1 -1
- package/src/StatsigMetadata.js +1 -1
package/package.json
CHANGED
package/src/EventLogger.js
CHANGED
|
@@ -193,7 +193,7 @@ class EventLogger {
|
|
|
193
193
|
events,
|
|
194
194
|
});
|
|
195
195
|
const response = shouldUseBeacon
|
|
196
|
-
?
|
|
196
|
+
? this._sendEventsViaBeacon(events)
|
|
197
197
|
: yield this._sendEventsViaPost(events);
|
|
198
198
|
if (response.success) {
|
|
199
199
|
this._emitter({
|
|
@@ -223,11 +223,9 @@ class EventLogger {
|
|
|
223
223
|
});
|
|
224
224
|
}
|
|
225
225
|
_sendEventsViaBeacon(events) {
|
|
226
|
-
return
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
};
|
|
230
|
-
});
|
|
226
|
+
return {
|
|
227
|
+
success: this._network.beacon(this._getRequestData(events)),
|
|
228
|
+
};
|
|
231
229
|
}
|
|
232
230
|
_getRequestData(events) {
|
|
233
231
|
return {
|
package/src/NetworkCore.d.ts
CHANGED
|
@@ -41,7 +41,7 @@ export declare class NetworkCore {
|
|
|
41
41
|
setErrorBoundary(errorBoundary: ErrorBoundary): void;
|
|
42
42
|
isBeaconSupported(): boolean;
|
|
43
43
|
getLastUsedInitUrlAndReset(): string | null;
|
|
44
|
-
beacon(args: BeaconRequestArgs):
|
|
44
|
+
beacon(args: BeaconRequestArgs): boolean;
|
|
45
45
|
post(args: RequestArgsWithData): Promise<NetworkResponse | null>;
|
|
46
46
|
get(args: RequestArgs): Promise<NetworkResponse | null>;
|
|
47
47
|
private _sendRequest;
|
package/src/NetworkCore.js
CHANGED
|
@@ -72,16 +72,13 @@ class NetworkCore {
|
|
|
72
72
|
return tempUrl;
|
|
73
73
|
}
|
|
74
74
|
beacon(args) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
const nav = navigator;
|
|
83
|
-
return nav.sendBeacon.bind(nav)(url, argsInternal.body);
|
|
84
|
-
});
|
|
75
|
+
if (!_ensureValidSdkKey(args)) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
const argsInternal = this._getInternalRequestArgs('POST', args);
|
|
79
|
+
const url = this._getPopulatedURL(argsInternal);
|
|
80
|
+
const nav = navigator;
|
|
81
|
+
return nav.sendBeacon.bind(nav)(url, argsInternal.body);
|
|
85
82
|
}
|
|
86
83
|
post(args) {
|
|
87
84
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -115,7 +112,7 @@ class NetworkCore {
|
|
|
115
112
|
const timeoutHandle = setTimeout(() => {
|
|
116
113
|
abortController === null || abortController === void 0 ? void 0 : abortController.abort(`Timeout of ${this._timeout}ms expired.`);
|
|
117
114
|
}, this._timeout);
|
|
118
|
-
const populatedUrl =
|
|
115
|
+
const populatedUrl = this._getPopulatedURL(args);
|
|
119
116
|
let response = null;
|
|
120
117
|
const keepalive = (0, VisibilityObserving_1._isUnloading)();
|
|
121
118
|
try {
|
|
@@ -209,20 +206,18 @@ class NetworkCore {
|
|
|
209
206
|
}
|
|
210
207
|
_getPopulatedURL(args) {
|
|
211
208
|
var _a;
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
return `${url}${query ? `?${query}` : ''}`;
|
|
225
|
-
});
|
|
209
|
+
const url = (_a = args.fallbackUrl) !== null && _a !== void 0 ? _a : args.urlConfig.getUrl();
|
|
210
|
+
if (args.urlConfig.endpoint === NetworkConfig_1.Endpoint._initialize ||
|
|
211
|
+
args.urlConfig.endpoint === NetworkConfig_1.Endpoint._download_config_specs) {
|
|
212
|
+
this._lastUsedInitUrl = url;
|
|
213
|
+
}
|
|
214
|
+
const params = Object.assign({ [NetworkConfig_1.NetworkParam.SdkKey]: args.sdkKey, [NetworkConfig_1.NetworkParam.SdkType]: SDKType_1.SDKType._get(args.sdkKey), [NetworkConfig_1.NetworkParam.SdkVersion]: StatsigMetadata_1.SDK_VERSION, [NetworkConfig_1.NetworkParam.Time]: String(Date.now()), [NetworkConfig_1.NetworkParam.SessionID]: SessionID_1.SessionID.get(args.sdkKey) }, args.params);
|
|
215
|
+
const query = Object.keys(params)
|
|
216
|
+
.map((key) => {
|
|
217
|
+
return `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`;
|
|
218
|
+
})
|
|
219
|
+
.join('&');
|
|
220
|
+
return `${url}${query ? `?${query}` : ''}`;
|
|
226
221
|
}
|
|
227
222
|
_tryEncodeBody(args) {
|
|
228
223
|
var _a;
|
package/src/StatsigMetadata.d.ts
CHANGED
package/src/StatsigMetadata.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StatsigMetadataProvider = exports.SDK_VERSION = void 0;
|
|
4
|
-
exports.SDK_VERSION = '3.17.
|
|
4
|
+
exports.SDK_VERSION = '3.17.2';
|
|
5
5
|
let metadata = {
|
|
6
6
|
sdkVersion: exports.SDK_VERSION,
|
|
7
7
|
sdkType: 'js-mono', // js-mono is overwritten by Precomp and OnDevice clients
|