UNPKG

@featurevisor/core

Version:

Core package of Featurevisor for Node.js usage

22 lines (21 loc) 1.41 kB
import type { DatafileContent, EnvironmentKey, ExistingState, HistoryEntry, Commit, CommitHash, EntityType } from "@featurevisor/types"; export interface DatafileOptions { environment: EnvironmentKey | false; tag: string; datafilesDir?: string; } export declare abstract class Adapter { abstract listEntities(entityType: EntityType): Promise<string[]>; abstract entityExists(entityType: EntityType, entityKey: string): Promise<boolean>; abstract readEntity<T>(entityType: EntityType, entityKey: string): Promise<T>; abstract writeEntity<T>(entityType: EntityType, entityKey: string, entity: T): Promise<T>; abstract deleteEntity(entityType: EntityType, entityKey: string): Promise<void>; abstract readState(environment: EnvironmentKey | false): Promise<ExistingState>; abstract writeState(environment: EnvironmentKey | false, existingState: ExistingState): Promise<void>; abstract readDatafile(options: DatafileOptions): Promise<DatafileContent>; abstract writeDatafile(datafileContent: DatafileContent, options: DatafileOptions): Promise<void>; abstract readRevision(): Promise<string>; abstract writeRevision(revision: string): Promise<void>; abstract listHistoryEntries(entityType?: EntityType, entityKey?: string): Promise<HistoryEntry[]>; abstract readCommit(commit: CommitHash, entityType?: EntityType, entityKey?: string): Promise<Commit>; }