pebblebed
Version:
Simplified interactions with Google Datastore for NodeJS
44 lines (34 loc) • 2.15 kB
text/typescript
import { warn } from "../Messaging";
import { DatastoreQueryResponse, InternalDatastoreQuery } from "../";
import { Key } from "@google-cloud/datastore";
export class PebblebedCacheStore {
cacheOnSave = true;
cacheOnLoad = true;
cacheOnQuery = true;
async getEntitiesByKeys(keys: Key[]): Promise<null | any[]> {
warn(`Pebblebed: Caching: Trying to get cached entities before a load, but getEntitiesByKeys() hasn't been implemented in your cache store yet.`);
return null;
}
async setEntitiesAfterLoadOrSave(entities: any[], secondsToCache: number) {
warn(`Pebblebed: Caching: Trying to cache entities after a load or save, but setEntitiesAfterLoadOrSave() hasn't been implemented in your cache store yet.`);
}
async setQueryResponse(queryResponse: DatastoreQueryResponse<any>, queryHash: string, secondsToCache: number, queryObject?: InternalDatastoreQuery) {
warn(`Pebblebed: Caching: Trying to cache entities after a query, but setQueryResponse() hasn't been implemented in your cache store yet.`);
}
async getQueryResponse<T = any>(queryHash: string, queryObject?: InternalDatastoreQuery): Promise<DatastoreQueryResponse<T>> {
warn(`Pebblebed: Caching: Trying to get a query result from the cache, but getQueryResponse() hasn't been implemented in your cache store yet.`);
return null as any;
}
async flushQueryResponse(queryHash: string, queryObject?: InternalDatastoreQuery) {
warn(`Pebblebed: Caching: Trying to flush a query result out of the cache, but flushQueryResponse() hasn't been implemented in your cache store yet.`);
}
async flushEntitiesByKeys(keys: Key[]) {
warn(`Pebblebed: Caching: Trying to flush entities by keys, but flushEntitiesByKeys() hasn't been implemented in your cache store yet.`);
}
async flushEntities() {
warn(`Pebblebed: Caching: Trying to flush entities, but flushEntities() hasn't been implemented in your cache store yet.`);
}
async flushQueries() {
warn(`Pebblebed: Caching: Trying to flush queries, but flushQueries() hasn't been implemented in your cache store yet.`);
}
}