UNPKG

puppeteer-extra-plugin-session

Version:

A puppeteer plugin to dump and inject session data.

36 lines 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setSessionData = exports.getSessionData = exports.storageProviderMap = void 0; const storage_provider_1 = require("./classes/storage-provider"); const cookies_1 = require("./providers/cookies"); const indexedDb_1 = require("./providers/indexedDb"); const localStorage_1 = require("./providers/localStorage"); const sessionStorage_1 = require("./providers/sessionStorage"); exports.storageProviderMap = { [storage_provider_1.StorageProviderName.Cookie]: new cookies_1.CookieStorageProvider(), [storage_provider_1.StorageProviderName.LocalStorage]: new localStorage_1.LocalStorageProvider(), [storage_provider_1.StorageProviderName.SessionStorage]: new sessionStorage_1.SessionStorageProvider(), [storage_provider_1.StorageProviderName.IndexedDB]: new indexedDb_1.IndexedDBStorageProvider(), }; /** * All the storage providers! */ const allStorageProviders = Object.values(storage_provider_1.StorageProviderName); async function getSessionData(page, providers = allStorageProviders) { const data = {}; for (const provider of providers) { data[provider] = await exports.storageProviderMap[provider].get(page); } return data; } exports.getSessionData = getSessionData; async function setSessionData(page, sessionData, providers = allStorageProviders) { await Promise.all(providers.map(async (providerName) => { const data = sessionData[providerName]; if (data) { await exports.storageProviderMap[providerName].set(page, data); } })); } exports.setSessionData = setSessionData; //# sourceMappingURL=session.js.map