Files
renovate/lib/util/github/graphql/cache-strategies/memory-cache-strategy.ts
Sergei Zharinov 930cf6633c refactor: Rewrite imports with .ts extensions (#40700)
fix: Additional vi.mock path corrections and prettier formatting
2026-01-26 22:48:17 +00:00

31 lines
938 B
TypeScript

import * as memCache from '../../../cache/memory/index.ts';
import type {
GithubDatasourceItem,
GithubGraphqlCacheRecord,
} from '../types.ts';
import { AbstractGithubGraphqlCacheStrategy } from './abstract-cache-strategy.ts';
/**
* In-memory strategy meant to be used for private packages
* and for testing purposes.
*/
export class GithubGraphqlMemoryCacheStrategy<
GithubItem extends GithubDatasourceItem,
> extends AbstractGithubGraphqlCacheStrategy<GithubItem> {
private fullKey(): string {
return `github-graphql-cache:${this.cacheNs}:${this.cacheKey}`;
}
load(): Promise<GithubGraphqlCacheRecord<GithubItem> | undefined> {
const key = this.fullKey();
const res = memCache.get(key);
return Promise.resolve(res);
}
persist(cacheRecord: GithubGraphqlCacheRecord<GithubItem>): Promise<void> {
const key = this.fullKey();
memCache.set(key, cacheRecord);
return Promise.resolve();
}
}