@featurevisor/core
Version:
Core package of Featurevisor for Node.js usage
37 lines (36 loc) • 1.79 kB
TypeScript
import type { FeatureKey, SegmentKey, AttributeKey } from "@featurevisor/types";
import { Dependencies } from "../dependencies";
import { Plugin } from "../cli";
export interface UsageInFeatures {
[featureKey: string]: {
features: Set<FeatureKey>;
segments: Set<SegmentKey>;
attributes: Set<AttributeKey>;
};
}
export declare function findAllUsageInFeatures(deps: Dependencies): Promise<UsageInFeatures>;
export interface UsageInSegments {
[segmentKey: string]: {
attributes: Set<AttributeKey>;
};
}
export declare function findAllUsageInSegments(deps: Dependencies): Promise<UsageInSegments>;
export declare function findFeatureUsage(usageInFeatures: UsageInFeatures, searchFeatureKey: FeatureKey): Promise<Set<FeatureKey>>;
export declare function findSegmentUsage(usageInFeatures: UsageInFeatures, segmentKey: SegmentKey): Promise<Set<FeatureKey>>;
export interface AttributeUsage {
features: Set<FeatureKey>;
segments: Set<SegmentKey>;
}
export declare function findAttributeUsage(usageInFeatures: UsageInFeatures, usageInSegments: UsageInSegments, attributeKey: AttributeKey): Promise<AttributeUsage>;
export declare function findUnusedSegments(deps: Dependencies, usageInFeatures: UsageInFeatures): Promise<Set<SegmentKey>>;
export declare function findUnusedAttributes(deps: Dependencies, usageInFeatures: UsageInFeatures, usageInSegments: UsageInSegments): Promise<Set<AttributeKey>>;
export interface FindUsageOptions {
feature?: string;
segment?: string;
attribute?: string;
unusedSegments?: boolean;
unusedAttributes?: boolean;
authors?: boolean;
}
export declare function findUsageInProject(deps: Dependencies, options: FindUsageOptions): Promise<void>;
export declare const findUsagePlugin: Plugin;