UNPKG

@featurevisor/core

Version:

Core package of Featurevisor for Node.js usage

43 lines (42 loc) 2.17 kB
import type { ExistingState, EnvironmentKey, DatafileContent, EntityType, HistoryEntry, Commit, CommitHash } from "@featurevisor/types"; import { Adapter, DatafileOptions } from "./adapter"; import { ProjectConfig } from "../config"; export declare function getExistingStateFilePath(projectConfig: ProjectConfig, environment: EnvironmentKey | false): string; export declare function getRevisionFilePath(projectConfig: ProjectConfig): string; export declare function getAllEntityFilePathsRecursively(directoryPath: any, extension: any): string[]; export declare class FilesystemAdapter extends Adapter { private config; private rootDirectoryPath?; private parser; constructor(config: ProjectConfig, rootDirectoryPath?: string); getEntityDirectoryPath(entityType: EntityType): string; getEntityPath(entityType: EntityType, entityKey: string): string; listEntities(entityType: EntityType): Promise<string[]>; entityExists(entityType: EntityType, entityKey: string): Promise<boolean>; readEntity<T>(entityType: EntityType, entityKey: string): Promise<T>; writeEntity<T>(entityType: EntityType, entityKey: string, entity: T): Promise<T>; deleteEntity(entityType: EntityType, entityKey: string): Promise<void>; /** * State */ readState(environment: EnvironmentKey): Promise<ExistingState>; writeState(environment: EnvironmentKey, existingState: ExistingState): Promise<void>; /** * Revision */ readRevision(): Promise<string>; writeRevision(revision: string): Promise<void>; /** * Datafile */ getDatafilePath(options: DatafileOptions): string; readDatafile(options: DatafileOptions): Promise<DatafileContent>; writeDatafile(datafileContent: DatafileContent, options: DatafileOptions): Promise<void>; /** * History */ getRawHistory(pathPatterns: string[]): Promise<string>; getPathPatterns(entityType?: EntityType, entityKey?: string): string[]; listHistoryEntries(entityType?: EntityType, entityKey?: string): Promise<HistoryEntry[]>; readCommit(commitHash: CommitHash, entityType?: EntityType, entityKey?: string): Promise<Commit>; }