Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/graphql-toolset / dist / KeyValueCache.d.ts
Size: Mime:
import { CompatibleLogger } from './typings';
/**
 * @see https://github.com/apollographql/apollo-server/blob/master/packages/apollo-server-caching/src/InMemoryLRUCache.ts
 * @tutorial https://github.com/apollographql/apollo-server/tree/master/packages/apollo-server-caching
 *
 * @see (related) https://github.com/apollographql/apollo-server/blob/master/packages/apollo-datasource-rest/src/__tests__/RESTDataSource.test.ts
 * @see (related) https://github.com/apollographql/apollo-server/blob/master/packages/apollo-datasource-rest/src/HTTPCache.ts
 */
export interface KeyValueCacheType {
    delete(key: string, options: {
        ttl?: number;
    }): Promise<void | undefined>;
    get(key: string): Promise<string | undefined>;
    set(key: string, value: string, options?: {
        ttl?: number;
    }): Promise<void>;
}
export declare class KeyValueCache implements KeyValueCacheType {
    store: Map<string, string>;
    logger: CompatibleLogger;
    constructor(logger?: CompatibleLogger);
    get(key: string): Promise<string | undefined>;
    set(key: string, value: string, options?: {
        ttl?: number;
    }): Promise<void>;
    delete(key: string, options?: {
        ttl?: number;
    }): Promise<void>;
    clear(): Promise<void>;
}