@statsig/client-core 3.3.0-beta.3 → 3.4.0-beta.1
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/$_StatsigGlobal.d.ts +1 -1
- package/src/$_StatsigGlobal.js +5 -1
- package/src/StatsigClientBase.js +3 -1
- package/src/StatsigMetadata.d.ts +1 -1
- package/src/StatsigMetadata.js +1 -1
- package/src/StatsigTypeFactories.d.ts +1 -1
- package/src/StatsigTypeFactories.js +6 -4
- package/src/index.d.ts +2 -2
- package/src/index.js +2 -2
package/package.json
CHANGED
package/src/$_StatsigGlobal.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { StatsigClientInterface } from './ClientInterfaces';
|
|
|
2
2
|
export type StatsigGlobal = {
|
|
3
3
|
[key: string]: unknown;
|
|
4
4
|
instances?: Record<string, StatsigClientInterface>;
|
|
5
|
-
|
|
5
|
+
firstInstance?: StatsigClientInterface;
|
|
6
6
|
acInstances?: Record<string, unknown>;
|
|
7
7
|
srInstances?: Record<string, unknown>;
|
|
8
8
|
instance: (sdkKey?: string) => StatsigClientInterface | undefined;
|
package/src/$_StatsigGlobal.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var _a, _b, _c;
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports._getInstance = exports._getStatsigGlobalFlag = exports._getStatsigGlobal = void 0;
|
|
6
|
+
const Log_1 = require("./Log");
|
|
6
7
|
const _getStatsigGlobal = () => {
|
|
7
8
|
return __STATSIG__ ? __STATSIG__ : statsigGlobal;
|
|
8
9
|
};
|
|
@@ -14,7 +15,10 @@ exports._getStatsigGlobalFlag = _getStatsigGlobalFlag;
|
|
|
14
15
|
const _getInstance = (sdkKey) => {
|
|
15
16
|
const gbl = (0, exports._getStatsigGlobal)();
|
|
16
17
|
if (!sdkKey) {
|
|
17
|
-
|
|
18
|
+
if (gbl.instances && Object.keys(gbl.instances).length > 1) {
|
|
19
|
+
Log_1.Log.warn('Call made to Statsig global instance without an SDK key but there is more than one client instance. If you are using mulitple clients, please specify the SDK key.');
|
|
20
|
+
}
|
|
21
|
+
return gbl.firstInstance;
|
|
18
22
|
}
|
|
19
23
|
return gbl.instances && gbl.instances[sdkKey];
|
|
20
24
|
};
|
package/src/StatsigClientBase.js
CHANGED
|
@@ -157,7 +157,9 @@ function _assignGlobalInstance(sdkKey, client) {
|
|
|
157
157
|
Log_1.Log.warn('Creating multiple Statsig clients with the same SDK key can lead to unexpected behavior. Multi-instance support requires different SDK keys.');
|
|
158
158
|
}
|
|
159
159
|
instances[sdkKey] = inst;
|
|
160
|
-
statsigGlobal.
|
|
160
|
+
if (!statsigGlobal.firstInstance) {
|
|
161
|
+
statsigGlobal.firstInstance = inst;
|
|
162
|
+
}
|
|
161
163
|
statsigGlobal.instances = instances;
|
|
162
164
|
__STATSIG__ = statsigGlobal;
|
|
163
165
|
}
|
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.
|
|
4
|
+
exports.SDK_VERSION = '3.4.0-beta.1';
|
|
5
5
|
let metadata = {
|
|
6
6
|
sdkVersion: exports.SDK_VERSION,
|
|
7
7
|
sdkType: 'js-mono', // js-mono is overwritten by Precomp and OnDevice clients
|
|
@@ -5,4 +5,4 @@ export declare function _makeDynamicConfig(name: string, details: EvaluationDeta
|
|
|
5
5
|
export declare function _makeExperiment(name: string, details: EvaluationDetails, evaluation: DynamicConfigEvaluation | null): Experiment;
|
|
6
6
|
export declare function _makeLayer(name: string, details: EvaluationDetails, evaluation: LayerEvaluation | null, exposeFunc?: (param: string) => void): Layer;
|
|
7
7
|
export declare function _mergeOverride<T extends AnyConfigBasedStatsigType>(original: T, overridden: T | null | undefined, value: Record<string, unknown>, exposeFunc?: (param: string) => void): T;
|
|
8
|
-
export declare function _makeTypedGet(value: Record<string, unknown> | undefined, exposeFunc?: (param: string) => void): TypedGet;
|
|
8
|
+
export declare function _makeTypedGet(name: string, value: Record<string, unknown> | undefined, exposeFunc?: (param: string) => void): TypedGet;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports._makeTypedGet = exports._mergeOverride = exports._makeLayer = exports._makeExperiment = exports._makeDynamicConfig = exports._makeFeatureGate = void 0;
|
|
4
|
+
const Log_1 = require("./Log");
|
|
4
5
|
const TypingUtils_1 = require("./TypingUtils");
|
|
5
6
|
const DEFAULT_RULE = 'default';
|
|
6
7
|
function _makeEvaluation(name, details, evaluation, value) {
|
|
@@ -20,7 +21,7 @@ exports._makeFeatureGate = _makeFeatureGate;
|
|
|
20
21
|
function _makeDynamicConfig(name, details, evaluation) {
|
|
21
22
|
var _a;
|
|
22
23
|
const value = (_a = evaluation === null || evaluation === void 0 ? void 0 : evaluation.value) !== null && _a !== void 0 ? _a : {};
|
|
23
|
-
return Object.assign(Object.assign({}, _makeEvaluation(name, details, evaluation, value)), { get: _makeTypedGet(evaluation === null || evaluation === void 0 ? void 0 : evaluation.value) });
|
|
24
|
+
return Object.assign(Object.assign({}, _makeEvaluation(name, details, evaluation, value)), { get: _makeTypedGet(name, evaluation === null || evaluation === void 0 ? void 0 : evaluation.value) });
|
|
24
25
|
}
|
|
25
26
|
exports._makeDynamicConfig = _makeDynamicConfig;
|
|
26
27
|
function _makeExperiment(name, details, evaluation) {
|
|
@@ -31,14 +32,14 @@ function _makeExperiment(name, details, evaluation) {
|
|
|
31
32
|
exports._makeExperiment = _makeExperiment;
|
|
32
33
|
function _makeLayer(name, details, evaluation, exposeFunc) {
|
|
33
34
|
var _a, _b;
|
|
34
|
-
return Object.assign(Object.assign({}, _makeEvaluation(name, details, evaluation, undefined)), { get: _makeTypedGet(evaluation === null || evaluation === void 0 ? void 0 : evaluation.value, exposeFunc), groupName: (_a = evaluation === null || evaluation === void 0 ? void 0 : evaluation.group_name) !== null && _a !== void 0 ? _a : null, __value: (_b = evaluation === null || evaluation === void 0 ? void 0 : evaluation.value) !== null && _b !== void 0 ? _b : {} });
|
|
35
|
+
return Object.assign(Object.assign({}, _makeEvaluation(name, details, evaluation, undefined)), { get: _makeTypedGet(name, evaluation === null || evaluation === void 0 ? void 0 : evaluation.value, exposeFunc), groupName: (_a = evaluation === null || evaluation === void 0 ? void 0 : evaluation.group_name) !== null && _a !== void 0 ? _a : null, __value: (_b = evaluation === null || evaluation === void 0 ? void 0 : evaluation.value) !== null && _b !== void 0 ? _b : {} });
|
|
35
36
|
}
|
|
36
37
|
exports._makeLayer = _makeLayer;
|
|
37
38
|
function _mergeOverride(original, overridden, value, exposeFunc) {
|
|
38
|
-
return Object.assign(Object.assign(Object.assign({}, original), overridden), { get: _makeTypedGet(value, exposeFunc) });
|
|
39
|
+
return Object.assign(Object.assign(Object.assign({}, original), overridden), { get: _makeTypedGet(original.name, value, exposeFunc) });
|
|
39
40
|
}
|
|
40
41
|
exports._mergeOverride = _mergeOverride;
|
|
41
|
-
function _makeTypedGet(value, exposeFunc) {
|
|
42
|
+
function _makeTypedGet(name, value, exposeFunc) {
|
|
42
43
|
return (param, fallback) => {
|
|
43
44
|
var _a;
|
|
44
45
|
const found = (_a = value === null || value === void 0 ? void 0 : value[param]) !== null && _a !== void 0 ? _a : null;
|
|
@@ -46,6 +47,7 @@ function _makeTypedGet(value, exposeFunc) {
|
|
|
46
47
|
return (fallback !== null && fallback !== void 0 ? fallback : null);
|
|
47
48
|
}
|
|
48
49
|
if (fallback != null && !(0, TypingUtils_1._isTypeMatch)(found, fallback)) {
|
|
50
|
+
Log_1.Log.warn(`Parameter type mismatch. '${name}.${param}' was found to be type '${typeof found}' but fallback/return type is '${typeof fallback}'. See https://docs.statsig.com/client/javascript-sdk/#typed-getters`);
|
|
49
51
|
return (fallback !== null && fallback !== void 0 ? fallback : null);
|
|
50
52
|
}
|
|
51
53
|
exposeFunc === null || exposeFunc === void 0 ? void 0 : exposeFunc(param);
|
package/src/index.d.ts
CHANGED
|
@@ -16,8 +16,8 @@ export * from './EvaluationTypes';
|
|
|
16
16
|
export * from './Hashing';
|
|
17
17
|
export * from './InitializeResponse';
|
|
18
18
|
export * from './Log';
|
|
19
|
-
export * from './NetworkCore';
|
|
20
19
|
export * from './NetworkConfig';
|
|
20
|
+
export * from './NetworkCore';
|
|
21
21
|
export * from './OverrideAdapter';
|
|
22
22
|
export * from './ParamStoreTypes';
|
|
23
23
|
export * from './SafeJs';
|
|
@@ -30,10 +30,10 @@ export * from './StatsigDataAdapter';
|
|
|
30
30
|
export * from './StatsigEvent';
|
|
31
31
|
export * from './StatsigMetadata';
|
|
32
32
|
export * from './StatsigOptionsCommon';
|
|
33
|
+
export * from './StatsigPlugin';
|
|
33
34
|
export * from './StatsigTypeFactories';
|
|
34
35
|
export * from './StatsigTypes';
|
|
35
36
|
export * from './StatsigUser';
|
|
36
|
-
export * from './StatsigPlugin';
|
|
37
37
|
export * from './StorageProvider';
|
|
38
38
|
export * from './TypedJsonParse';
|
|
39
39
|
export * from './TypingUtils';
|
package/src/index.js
CHANGED
|
@@ -38,8 +38,8 @@ __exportStar(require("./EvaluationTypes"), exports);
|
|
|
38
38
|
__exportStar(require("./Hashing"), exports);
|
|
39
39
|
__exportStar(require("./InitializeResponse"), exports);
|
|
40
40
|
__exportStar(require("./Log"), exports);
|
|
41
|
-
__exportStar(require("./NetworkCore"), exports);
|
|
42
41
|
__exportStar(require("./NetworkConfig"), exports);
|
|
42
|
+
__exportStar(require("./NetworkCore"), exports);
|
|
43
43
|
__exportStar(require("./OverrideAdapter"), exports);
|
|
44
44
|
__exportStar(require("./ParamStoreTypes"), exports);
|
|
45
45
|
__exportStar(require("./SafeJs"), exports);
|
|
@@ -52,10 +52,10 @@ __exportStar(require("./StatsigDataAdapter"), exports);
|
|
|
52
52
|
__exportStar(require("./StatsigEvent"), exports);
|
|
53
53
|
__exportStar(require("./StatsigMetadata"), exports);
|
|
54
54
|
__exportStar(require("./StatsigOptionsCommon"), exports);
|
|
55
|
+
__exportStar(require("./StatsigPlugin"), exports);
|
|
55
56
|
__exportStar(require("./StatsigTypeFactories"), exports);
|
|
56
57
|
__exportStar(require("./StatsigTypes"), exports);
|
|
57
58
|
__exportStar(require("./StatsigUser"), exports);
|
|
58
|
-
__exportStar(require("./StatsigPlugin"), exports);
|
|
59
59
|
__exportStar(require("./StorageProvider"), exports);
|
|
60
60
|
__exportStar(require("./TypedJsonParse"), exports);
|
|
61
61
|
__exportStar(require("./TypingUtils"), exports);
|