cypress-controls-ext
Version:
Extension to embed controls to controls panel in cypress app
34 lines (33 loc) • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.updateEnvVar = exports.getStoredVar = exports.setStoredVar = exports.cypressAppSelect = void 0;
const cypressAppSelect = (selector) => Cypress.$(selector, top === null || top === void 0 ? void 0 : top.document);
exports.cypressAppSelect = cypressAppSelect;
/**
* Sets session storage
* @param item
* @param value
*/
const setStoredVar = (item, value) => window.sessionStorage.setItem(item, value);
exports.setStoredVar = setStoredVar;
/**
* Get item from session storage
* @param item
* @param defaultValue when no such value in storage
*/
const getStoredVar = (item, defaultValue) => {
const storage = window.sessionStorage.getItem(item);
const isString = typeof defaultValue === 'string';
if (storage == null) {
const envVar = Cypress.env(item) !== undefined ? Cypress.env(item) : defaultValue;
if (envVar === undefined) {
return undefined;
}
(0, exports.setStoredVar)(item, isString ? envVar : JSON.stringify(envVar));
}
const value = window.sessionStorage.getItem(item);
return isString ? value : JSON.parse(value);
};
exports.getStoredVar = getStoredVar;
const updateEnvVar = (item, defaultValue) => Cypress.env(item, (0, exports.getStoredVar)(item, defaultValue));
exports.updateEnvVar = updateEnvVar;