4
0
forked from crowetic/commerce

#629: Type error: Property 'token' does not exist on type Global (#630)

This commit is contained in:
Oliver Heywood 2022-01-04 12:32:03 -06:00 committed by GitHub
parent c95f292743
commit b88d3345f1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 9 deletions

View File

@ -1,5 +1,6 @@
import vercelFetch from '@vercel/fetch'
import { FetcherError } from '@commerce/utils/errors'
import { CustomNodeJsGlobal } from '../../types/node';
import { OrdercloudConfig } from '../index'
@ -143,17 +144,20 @@ export const createBuyerFetcher: (
body?: Record<string, unknown>,
fetchOptions?: Record<string, any>
) => {
const customGlobal = global as CustomNodeJsGlobal;
// Get provider config
const config = getConfig()
// If a token was passed, set it on global
if (fetchOptions?.token) {
global.token = fetchOptions.token
customGlobal.token = fetchOptions.token
}
// Get a token
if (!global.token) {
global.token = await getToken({
if (!customGlobal.token) {
customGlobal.token = await getToken({
baseUrl: config.commerceUrl,
clientId: process.env.ORDERCLOUD_BUYER_CLIENT_ID as string,
})
@ -161,7 +165,7 @@ export const createBuyerFetcher: (
// Return the data and specify the expected type
const data = await fetchData<T>({
token: global.token as string,
token: customGlobal.token as string,
fetchOptions,
config,
method,
@ -171,6 +175,6 @@ export const createBuyerFetcher: (
return {
...data,
meta: { token: global.token as string },
meta: { token: customGlobal.token as string },
}
}

View File

@ -1,5 +1,3 @@
declare module NodeJS {
interface Global {
token: string | null | undefined
}
export interface CustomNodeJsGlobal extends NodeJS.Global {
token: string | null | undefined
}