Feature: Use hash of query+variables for graphql cache instead of gitsha * feature: use a hash of query+variables as part of the cache key instead of gitsha * . * Merge branch 'master' of bitbucket.org:scandic-swap/web into feat/use-hash-for-graphql-cache * use correct json stringify * merge * remove edgeRequest in favor of request * add more indicative logging Approved-by: Linus Flood
23 lines
561 B
TypeScript
23 lines
561 B
TypeScript
import { getPrefix } from "./getPrefix"
|
|
|
|
export function generateCacheKey(
|
|
key: string | string[],
|
|
options?: { includeGitHashInKey?: boolean }
|
|
): string {
|
|
const includeGitHashInKey = options?.includeGitHashInKey ?? true
|
|
const keyArray = (Array.isArray(key) ? key : [key]).filter(Boolean)
|
|
|
|
if (keyArray.length === 0) {
|
|
throw new Error("No keys provided")
|
|
}
|
|
|
|
const prefix = getPrefix({
|
|
includeGitHashInKey,
|
|
includeBranchPrefix: true,
|
|
})
|
|
|
|
const keyTokens = [prefix, keyArray.join("_")].filter(Boolean).join(":")
|
|
|
|
return keyTokens
|
|
}
|