@featurevisor/core
Version:
Core package of Featurevisor for Node.js usage
43 lines (42 loc) • 2.17 kB
TypeScript
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>;
}