MCPcopy Index your code
hub / github.com/coder/mux / setOverride

Method setOverride

src/node/services/experimentsService.ts:140–175  ·  view source on GitHub ↗
(
    experimentId: ExperimentId,
    enabled: boolean | null | undefined
  )

Source from the content-addressed store, hash-verified

138 }
139
140 async setOverride(
141 experimentId: ExperimentId,
142 enabled: boolean | null | undefined
143 ): Promise<void> {
144 await this.ensureInitialized();
145 assert(experimentId in EXPERIMENTS, `Unknown experimentId: ${experimentId}`);
146 assert(
147 EXPERIMENTS[experimentId].userOverridable === true,
148 `Experiment ${experimentId} does not support user overrides`
149 );
150 assert(
151 enabled == null || typeof enabled === "boolean",
152 `Experiment override for ${experimentId} must be boolean | null | undefined`
153 );
154
155 if (!this.isExperimentSupported(experimentId)) {
156 this.overrides.delete(experimentId);
157 this.telemetryService.setFeatureFlagVariant(this.getFlagKey(experimentId), null);
158 await this.writeCacheToDisk();
159 return;
160 }
161
162 if (enabled == null) {
163 this.overrides.delete(experimentId);
164 const cached = this.cachedVariants.get(experimentId);
165 this.telemetryService.setFeatureFlagVariant(
166 this.getFlagKey(experimentId),
167 cached?.value ?? null
168 );
169 } else {
170 this.overrides.set(experimentId, enabled);
171 this.telemetryService.setFeatureFlagVariant(this.getFlagKey(experimentId), enabled);
172 }
173
174 await this.writeCacheToDisk();
175 }
176
177 getExperimentValue(experimentId: ExperimentId): ExperimentValue {
178 assert(experimentId in EXPERIMENTS, `Unknown experimentId: ${experimentId}`);

Callers 4

ExperimentsProviderFunction · 0.80
syncLocalOverridesFunction · 0.80
routerFunction · 0.80

Calls 9

ensureInitializedMethod · 0.95
isExperimentSupportedMethod · 0.95
getFlagKeyMethod · 0.95
writeCacheToDiskMethod · 0.95
setFeatureFlagVariantMethod · 0.80
setMethod · 0.80
getMethod · 0.65
assertFunction · 0.50
deleteMethod · 0.45

Tested by

no test coverage detected