MCPcopy
hub / github.com/ampproject/amphtml / getExperimentToggles

Function getExperimentToggles

src/experiments/index.js:183–206  ·  view source on GitHub ↗

* Returns a set of experiment IDs currently on. * @param {Window} win * @return {ExperimentTogglesMap}

(win)

Source from the content-addressed store, hash-verified

181 * @return {ExperimentTogglesMap}
182 */
183function getExperimentToggles(win) {
184 let experimentsString = '';
185 try {
186 if ('localStorage' in win) {
187 experimentsString = win.localStorage.getItem(LOCAL_STORAGE_KEY) ?? '';
188 }
189 } catch {
190 dev().warn(TAG, 'Failed to retrieve experiments from localStorage.');
191 }
192 const tokens = experimentsString?.split(/\s*,\s*/g) || [];
193
194 const toggles = map();
195 for (const token of tokens) {
196 if (!token) {
197 continue;
198 }
199 if (token[0] == '-') {
200 toggles[token.substr(1)] = false;
201 } else {
202 toggles[token] = true;
203 }
204 }
205 return toggles;
206}
207
208/**
209 * Saves a set of experiment IDs currently on.

Callers 3

toggleExperimentFunction · 0.85
experimentTogglesFunction · 0.85

Calls 4

devFunction · 0.90
mapFunction · 0.90
getItemMethod · 0.80
warnMethod · 0.80

Tested by

no test coverage detected