@cloud-cli/store
Version:
Data store abstraction
21 lines (20 loc) • 807 B
TypeScript
/// <reference types="node" />
/// <reference types="node" />
import type { ConstructorOf } from './resource.js';
import { Query, Resource, ResourceDriver } from './resource.js';
import { randomUUID } from 'crypto';
export declare class StoreDriver extends ResourceDriver {
static fetch: typeof fetch;
static uid: typeof randomUUID;
readonly storeUrl: string;
constructor(baseUrl?: string);
create(resource: typeof Resource): Promise<void>;
save<T extends Resource>(model: T): Promise<string>;
remove<T extends Resource>(model: T): Promise<void>;
find<T extends Resource>(model: T): Promise<T>;
findAll<M extends Resource>(resource: ConstructorOf<M>, query: Query<M>): Promise<M[]>;
private getUrl;
private filter;
private compare;
private createModel;
}