UNPKG

google-trends-api-client

Version:

An fully typed and easy to use client for the google trends api.

26 lines 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setCookiesFromAxiosResponseIfPossible = void 0; const simple_cookie_client_1 = require("simple-cookie-client"); const common_1 = require("./common"); const getCookiesFromCookieCache_1 = require("./getCookiesFromCookieCache"); const setCookiesFromAxiosResponseIfPossible = async ({ response, cookieCache, }) => { // if no cache, nothing to do if (!cookieCache) return null; // grab the new cookies from headers const newCookies = (0, simple_cookie_client_1.getCookiesFromHeader)({ header: response.headers }); // merge them with the old cookies, overwrite the old ones by name const oldCookies = (await (0, getCookiesFromCookieCache_1.getCookiesFromCookieCacheIfPossible)({ cookieCache })) ?? []; const oldCookiesMap = oldCookies.reduce((summary, thisCookie) => { return { ...summary, [thisCookie.name]: thisCookie }; }, {}); const mergedCookiesMap = newCookies.reduce((summary, thisCookie) => { return { ...summary, [thisCookie.name]: thisCookie }; }, oldCookiesMap); // initialize w/ old cookies map to overwrite old cookies const mergedCookies = Object.values(mergedCookiesMap); // save to cache return await cookieCache.set(common_1.COOKIES_CACHE_COOKIES_LIST_KEY, JSON.stringify(mergedCookies, null, 2)); }; exports.setCookiesFromAxiosResponseIfPossible = setCookiesFromAxiosResponseIfPossible; //# sourceMappingURL=setCookiesFromAxiosResponseIfPossible.js.map