UNPKG

@featurevisor/core

Version:

Core package of Featurevisor for Node.js usage

58 lines (57 loc) 2.88 kB
import type { ParsedFeature, Segment, Attribute, Group, FeatureKey, Test, EnvironmentKey, ExistingState, SegmentKey, AttributeKey, DatafileContent, EntityType } from "@featurevisor/types"; import { ProjectConfig } from "../config"; import { DatafileOptions } from "./adapter"; export declare class Datasource { private config; private rootDirectoryPath?; private adapter; constructor(config: ProjectConfig, rootDirectoryPath?: string); getExtension(): string; /** * State */ readState(environment: EnvironmentKey | false): Promise<ExistingState>; writeState(environment: EnvironmentKey | false, existingState: ExistingState): Promise<void>; /** * Revision */ readRevision(): Promise<string>; writeRevision(revision: string): Promise<void>; /** * Datafile */ readDatafile(options: DatafileOptions): Promise<DatafileContent>; writeDatafile(datafileContent: DatafileContent, options: DatafileOptions): Promise<void>; /** * Entity specific methods */ listFeatures(): Promise<string[]>; featureExists(featureKey: FeatureKey): Promise<boolean>; readFeature(featureKey: FeatureKey): Promise<ParsedFeature>; writeFeature(featureKey: FeatureKey, feature: ParsedFeature): Promise<ParsedFeature>; deleteFeature(featureKey: FeatureKey): Promise<void>; getRequiredFeaturesChain(featureKey: FeatureKey, chain?: Set<string>): Promise<Set<FeatureKey>>; listSegments(): Promise<string[]>; segmentExists(segmentKey: SegmentKey): Promise<boolean>; readSegment(segmentKey: SegmentKey): Promise<Segment>; writeSegment(segmentKey: SegmentKey, segment: Segment): Promise<Segment>; deleteSegment(segmentKey: SegmentKey): Promise<void>; listAttributes(): Promise<string[]>; listFlattenedAttributes(): Promise<string[]>; attributeExists(attributeKey: AttributeKey): Promise<boolean>; readAttribute(attributeKey: AttributeKey): Promise<Attribute>; writeAttribute(attributeKey: AttributeKey, attribute: Attribute): Promise<Attribute>; deleteAttribute(attributeKey: AttributeKey): Promise<void>; listGroups(): Promise<string[]>; groupExists(groupKey: string): Promise<boolean>; readGroup(groupKey: string): Promise<Group>; writeGroup(groupKey: string, group: Group): Promise<Group>; deleteGroup(groupKey: string): Promise<void>; listTests(): Promise<string[]>; readTest(testKey: string): Promise<Test>; writeTest(testKey: string, test: Test): Promise<Test>; deleteTest(testKey: string): Promise<void>; getTestSpecName(testKey: string): string; listHistoryEntries(entityType?: EntityType, entityKey?: string): Promise<import("@featurevisor/types").HistoryEntry[]>; readCommit(commitHash: string, entityType?: EntityType, entityKey?: string): Promise<import("@featurevisor/types").Commit>; }