UNPKG

1.29 kBTypeScriptView Raw
1import legacy from 'loopback-datasource-juggler';
2import { DataObject, Options } from '../common-types';
3import { Model } from '../model';
4import { KeyValueFilter, KeyValueRepository } from './kv.repository';
5import { juggler } from './legacy-juggler-bridge';
6/**
7 * An implementation of KeyValueRepository based on loopback-datasource-juggler
8 */
9export declare class DefaultKeyValueRepository<T extends Model> implements KeyValueRepository<T> {
10 private entityClass;
11 /**
12 * A legacy KeyValueModel class
13 */
14 kvModelClass: typeof juggler.KeyValueModel;
15 /**
16 * Construct a KeyValueRepository with a legacy DataSource
17 * @param ds - Legacy DataSource
18 */
19 constructor(entityClass: typeof Model & {
20 prototype: T;
21 }, ds: juggler.DataSource);
22 delete(key: string, options?: Options): Promise<void>;
23 deleteAll(options?: Options): Promise<void>;
24 protected toEntity(modelData: legacy.ModelData): T;
25 get(key: string, options?: Options): Promise<T>;
26 set(key: string, value: DataObject<T>, options?: Options): Promise<void>;
27 expire(key: string, ttl: number, options?: Options): Promise<void>;
28 ttl(key: string, options?: Options): Promise<number>;
29 keys(filter?: KeyValueFilter, options?: Options): AsyncIterable<string>;
30}