@statsig/client-core
Advanced tools
Comparing version 0.0.1-beta.12 to 0.0.1-beta.13
{ | ||
"name": "@statsig/client-core", | ||
"version": "0.0.1-beta.12", | ||
"version": "0.0.1-beta.13", | ||
"dependencies": {}, | ||
@@ -5,0 +5,0 @@ "type": "commonjs", |
@@ -1,2 +0,2 @@ | ||
import { EvaluationOptions } from './StatsigClientBase'; | ||
import { DynamicConfigEvaluationOptions, ExperimentEvaluationOptions, FeatureGateEvaluationOptions, LayerEvaluationOptions } from './EvaluationOptions'; | ||
import { StatsigClientEventEmitterInterface } from './StatsigClientEventEmitter'; | ||
@@ -16,7 +16,7 @@ import { EvaluationsDataAdapter, SpecsDataAdapter } from './StatsigDataAdapter'; | ||
readonly dataAdapter: SpecsDataAdapter; | ||
checkGate(name: string, user: StatsigUser, options: EvaluationOptions): boolean; | ||
getFeatureGate(name: string, user: StatsigUser, options: EvaluationOptions): FeatureGate; | ||
getDynamicConfig(name: string, user: StatsigUser, options: EvaluationOptions): DynamicConfig; | ||
getExperiment(name: string, user: StatsigUser, options: EvaluationOptions): Experiment; | ||
getLayer(name: string, user: StatsigUser, options: EvaluationOptions): Layer; | ||
checkGate(name: string, user: StatsigUser, options?: FeatureGateEvaluationOptions): boolean; | ||
getFeatureGate(name: string, user: StatsigUser, options?: FeatureGateEvaluationOptions): FeatureGate; | ||
getDynamicConfig(name: string, user: StatsigUser, options?: DynamicConfigEvaluationOptions): DynamicConfig; | ||
getExperiment(name: string, user: StatsigUser, options?: ExperimentEvaluationOptions): Experiment; | ||
getLayer(name: string, user: StatsigUser, options?: LayerEvaluationOptions): Layer; | ||
logEvent(event: StatsigEvent, user: StatsigUser): void; | ||
@@ -29,9 +29,9 @@ } | ||
updateUserAsync(user: StatsigUser): Promise<void>; | ||
checkGate(name: string, options: EvaluationOptions): boolean; | ||
getFeatureGate(name: string, options: EvaluationOptions): FeatureGate; | ||
getDynamicConfig(name: string, options: EvaluationOptions): DynamicConfig; | ||
getExperiment(name: string, options: EvaluationOptions): Experiment; | ||
getLayer(name: string, options: EvaluationOptions): Layer; | ||
checkGate(name: string, options?: FeatureGateEvaluationOptions): boolean; | ||
getFeatureGate(name: string, options?: FeatureGateEvaluationOptions): FeatureGate; | ||
getDynamicConfig(name: string, options?: DynamicConfigEvaluationOptions): DynamicConfig; | ||
getExperiment(name: string, options?: ExperimentEvaluationOptions): Experiment; | ||
getLayer(name: string, options?: LayerEvaluationOptions): Layer; | ||
logEvent(event: StatsigEvent): void; | ||
} | ||
export type StatsigClientInterface = OnDeviceEvaluationsInterface | PrecomputedEvaluationsInterface; |
@@ -0,1 +1,2 @@ | ||
import { Flatten } from './UtitlityTypes'; | ||
type EvaluationBase<T> = { | ||
@@ -14,3 +15,3 @@ id_type: string; | ||
export type GateEvaluation = EvaluationBase<boolean>; | ||
export type ExperimentEvaluation = EvaluationBase<Record<string, unknown>> & { | ||
export type ExperimentEvaluation = Flatten<EvaluationBase<Record<string, unknown>> & { | ||
group_name?: string; | ||
@@ -22,9 +23,9 @@ group: string; | ||
is_user_in_experiment?: boolean; | ||
}; | ||
}>; | ||
export type DynamicConfigEvaluation = ExperimentEvaluation; | ||
export type LayerEvaluation = Omit<ExperimentEvaluation, 'id_type'> & { | ||
export type LayerEvaluation = Flatten<Omit<ExperimentEvaluation, 'id_type'> & { | ||
allocated_experiment_name: string; | ||
explicit_parameters: string[]; | ||
undelegated_secondary_exposures?: SecondaryExposure[]; | ||
}; | ||
}>; | ||
export type AnyEvaluation = GateEvaluation | ExperimentEvaluation | DynamicConfigEvaluation | LayerEvaluation; | ||
@@ -31,0 +32,0 @@ export type EvaluationDetails = { |
@@ -10,2 +10,3 @@ /** Statsig Global should go first */ | ||
export * from './ErrorBoundary'; | ||
export * from './EvaluationOptions'; | ||
export * from './EvaluationTypes'; | ||
@@ -29,4 +30,5 @@ export * from './Hashing'; | ||
export * from './UrlOverrides'; | ||
export * from './UtitlityTypes'; | ||
export * from './UUID'; | ||
export * from './VisibilityChangeObserver'; | ||
export { EventLogger, Storage, Log }; |
@@ -30,2 +30,3 @@ "use strict"; | ||
__exportStar(require("./ErrorBoundary"), exports); | ||
__exportStar(require("./EvaluationOptions"), exports); | ||
__exportStar(require("./EvaluationTypes"), exports); | ||
@@ -49,2 +50,3 @@ __exportStar(require("./Hashing"), exports); | ||
__exportStar(require("./UrlOverrides"), exports); | ||
__exportStar(require("./UtitlityTypes"), exports); | ||
__exportStar(require("./UUID"), exports); | ||
@@ -51,0 +53,0 @@ __exportStar(require("./VisibilityChangeObserver"), exports); |
@@ -0,10 +1,11 @@ | ||
import { DynamicConfigEvaluationOptions, ExperimentEvaluationOptions, FeatureGateEvaluationOptions, LayerEvaluationOptions } from './EvaluationOptions'; | ||
import { DynamicConfig, Experiment, FeatureGate, Layer } from './StatsigTypes'; | ||
import { StatsigUser } from './StatsigUser'; | ||
export type OverrideAdapter = { | ||
getGateOverride?(current: FeatureGate, user: StatsigUser): FeatureGate | null; | ||
getDynamicConfigOverride?(current: DynamicConfig, user: StatsigUser): DynamicConfig | null; | ||
getExperimentOverride?(current: Experiment, user: StatsigUser): Experiment | null; | ||
getLayerOverride?(current: Layer, user: StatsigUser): Layer | null; | ||
getGateOverride?(current: FeatureGate, user: StatsigUser, options?: FeatureGateEvaluationOptions): FeatureGate | null; | ||
getDynamicConfigOverride?(current: DynamicConfig, user: StatsigUser, options?: DynamicConfigEvaluationOptions): DynamicConfig | null; | ||
getExperimentOverride?(current: Experiment, user: StatsigUser, options?: ExperimentEvaluationOptions): Experiment | null; | ||
getLayerOverride?(current: Layer, user: StatsigUser, options?: LayerEvaluationOptions): Layer | null; | ||
}; | ||
export declare class CombinationOverrideProvider implements OverrideAdapter { | ||
export declare class CombinationOverrideAdapter implements OverrideAdapter { | ||
readonly providers: OverrideAdapter[]; | ||
@@ -11,0 +12,0 @@ constructor(providers: OverrideAdapter[]); |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.CombinationOverrideProvider = void 0; | ||
class CombinationOverrideProvider { | ||
exports.CombinationOverrideAdapter = void 0; | ||
class CombinationOverrideAdapter { | ||
constructor(providers) { | ||
@@ -24,2 +24,2 @@ this.providers = providers; | ||
} | ||
exports.CombinationOverrideProvider = CombinationOverrideProvider; | ||
exports.CombinationOverrideAdapter = CombinationOverrideAdapter; |
import './$_StatsigGlobal'; | ||
import { ErrorBoundary } from './ErrorBoundary'; | ||
import { EvaluationOptionsCommon } from './EvaluationOptions'; | ||
import { EventLogger } from './EventLogger'; | ||
@@ -10,6 +11,2 @@ import { NetworkCore } from './NetworkCore'; | ||
import { StatsigOptionsCommon, StatsigRuntimeMutableOptions } from './StatsigOptionsCommon'; | ||
export type EvaluationOptions = { | ||
disableExposureLog?: boolean; | ||
}; | ||
export declare const DEFAULT_EVAL_OPTIONS: EvaluationOptions; | ||
export type StatsigClientEmitEventFunc = (data: StatsigClientEventData) => void; | ||
@@ -31,3 +28,3 @@ export declare abstract class StatsigClientBase<TAdapter extends EvaluationsDataAdapter | SpecsDataAdapter> implements StatsigClientEventEmitterInterface { | ||
protected _setStatus(newStatus: StatsigLoadingStatus, values: DataAdapterResult | null): void; | ||
protected _enqueueExposure(name: string, options: EvaluationOptions, exposure: StatsigEventInternal): void; | ||
protected _enqueueExposure(name: string, exposure: StatsigEventInternal, options?: EvaluationOptionsCommon): void; | ||
} |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.StatsigClientBase = exports.DEFAULT_EVAL_OPTIONS = void 0; | ||
exports.StatsigClientBase = void 0; | ||
require("./$_StatsigGlobal"); | ||
@@ -10,5 +10,2 @@ const ErrorBoundary_1 = require("./ErrorBoundary"); | ||
const StorageProvider_1 = require("./StorageProvider"); | ||
exports.DEFAULT_EVAL_OPTIONS = { | ||
disableExposureLog: false, | ||
}; | ||
class StatsigClientBase { | ||
@@ -70,4 +67,4 @@ constructor(_sdkKey, adapter, network, options) { | ||
} | ||
_enqueueExposure(name, options, exposure) { | ||
if (options.disableExposureLog === true) { | ||
_enqueueExposure(name, exposure, options) { | ||
if ((options === null || options === void 0 ? void 0 : options.disableExposureLog) === true) { | ||
this._logger.incrementNonExposureCount(name); | ||
@@ -74,0 +71,0 @@ return; |
@@ -19,12 +19,5 @@ import { SecondaryExposure } from './EvaluationTypes'; | ||
}; | ||
type LayerEvaluation = { | ||
explicit_parameters: string[] | null; | ||
undelegated_secondary_exposures?: SecondaryExposure[]; | ||
secondary_exposures: SecondaryExposure[]; | ||
allocated_experiment_name: string | null; | ||
}; | ||
export declare function isExposureEvent({ eventName }: StatsigEventInternal): boolean; | ||
export declare function createGateExposure(user: StatsigUser, gate: FeatureGate, secondaryExposures: SecondaryExposure[] | undefined): StatsigEventInternal; | ||
export declare function createConfigExposure(user: StatsigUser, config: DynamicConfig, secondaryExposures: SecondaryExposure[] | undefined): StatsigEventInternal; | ||
export declare function createLayerParameterExposure(user: StatsigUser, layer: Layer, parameterName: string, evaluation: LayerEvaluation | null): StatsigEventInternal; | ||
export {}; | ||
export declare function createGateExposure(user: StatsigUser, gate: FeatureGate): StatsigEventInternal; | ||
export declare function createConfigExposure(user: StatsigUser, config: DynamicConfig): StatsigEventInternal; | ||
export declare function createLayerParameterExposure(user: StatsigUser, layer: Layer, parameterName: string): StatsigEventInternal; |
@@ -21,3 +21,4 @@ "use strict"; | ||
exports.isExposureEvent = isExposureEvent; | ||
function createGateExposure(user, gate, secondaryExposures) { | ||
function createGateExposure(user, gate) { | ||
var _a, _b; | ||
return createExposure(GATE_EXPOSURE_NAME, user, gate.details, { | ||
@@ -27,14 +28,16 @@ gate: gate.name, | ||
ruleID: gate.ruleID, | ||
}, secondaryExposures !== null && secondaryExposures !== void 0 ? secondaryExposures : []); | ||
}, (_b = (_a = gate.__evaluation) === null || _a === void 0 ? void 0 : _a.secondary_exposures) !== null && _b !== void 0 ? _b : []); | ||
} | ||
exports.createGateExposure = createGateExposure; | ||
function createConfigExposure(user, config, secondaryExposures) { | ||
function createConfigExposure(user, config) { | ||
var _a, _b; | ||
return createExposure(CONFIG_EXPOSURE_NAME, user, config.details, { | ||
config: config.name, | ||
ruleID: config.ruleID, | ||
}, secondaryExposures !== null && secondaryExposures !== void 0 ? secondaryExposures : []); | ||
}, (_b = (_a = config.__evaluation) === null || _a === void 0 ? void 0 : _a.secondary_exposures) !== null && _b !== void 0 ? _b : []); | ||
} | ||
exports.createConfigExposure = createConfigExposure; | ||
function createLayerParameterExposure(user, layer, parameterName, evaluation) { | ||
function createLayerParameterExposure(user, layer, parameterName) { | ||
var _a, _b, _c; | ||
const evaluation = layer.__evaluation; | ||
const isExplicit = ((_a = evaluation === null || evaluation === void 0 ? void 0 : evaluation.explicit_parameters) === null || _a === void 0 ? void 0 : _a.includes(parameterName)) === true; | ||
@@ -41,0 +44,0 @@ let allocatedExperiment = ''; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.StatsigMetadataProvider = void 0; | ||
const SDK_VERSION = '0.0.1-beta.12'; | ||
const SDK_VERSION = '0.0.1-beta.13'; | ||
let metadata = { | ||
@@ -6,0 +6,0 @@ sdkVersion: SDK_VERSION, |
import { DynamicConfigEvaluation, EvaluationDetails, ExperimentEvaluation, GateEvaluation, LayerEvaluation } from './EvaluationTypes'; | ||
export type Flatten<T> = { | ||
[K in keyof T]: T[K]; | ||
} & {}; | ||
import { Flatten } from './UtitlityTypes'; | ||
type CommonFields = { | ||
@@ -6,0 +4,0 @@ readonly name: string; |
89281
64
2141