UNPKG

altair-graphql-core

Version:

Several of the core logic for altair graphql client

86 lines 2.8 kB
import { RequestType, } from './types'; export const ModuleImports = { atob: { async exec() { return (await import('abab')).atob; }, }, btoa: { async exec() { return (await import('abab')).btoa; }, }, 'crypto-js': { async exec() { return (await import('crypto-js')).default; }, }, }; export const buildContextResponse = (data) => { if (data.response) { return { body: data.response.body, requestType: data.requestType ?? RequestType.QUERY, responseTime: data.response.responseTime, statusCode: data.response.status, headers: data.response.headers, }; } }; export const importModuleHelper = async (moduleName) => { const mod = ModuleImports[moduleName]; if (!mod) { throw new Error(`No request script module found matching "${moduleName}"`); } return mod.exec(); }; export const getGlobalContext = (data, handlers) => { return { data, helpers: { getEnvironment: (key) => { return data.environment[key]; }, /** * @param key environment key * @param val value to set * @param activeEnvironment if the value should be replaced in the currently active environment after execution */ setEnvironment: (key, val, activeEnvironment = false) => { data.environment[key] = val; if (activeEnvironment) { data.__toSetActiveEnvironment = data.__toSetActiveEnvironment ?? {}; data.__toSetActiveEnvironment[key] = val; } }, getCookie: (key) => { return data.__cookieJar?.[key] ?? ''; }, setCookie: (key, value, options) => { handlers.setCookie(key, value, options); }, request: async (arg1, arg2, arg3) => { return handlers.request(arg1, arg2, arg3); }, }, storage: { get: (key) => { return handlers.getStorageItem(key); }, set: (key, value) => { return handlers.setStorageItem(key, value); }, }, importModule: (moduleName) => importModuleHelper(moduleName), response: buildContextResponse(data), log: (d) => { data.requestScriptLogs = data.requestScriptLogs ?? []; data.requestScriptLogs.push({ time: Date.now(), text: JSON.stringify(d, null, 2), source: 'Request script', }); }, }; }; //# sourceMappingURL=context.js.map