@teambit/lanes
Version:
38 lines (37 loc) • 1.36 kB
TypeScript
import type { ComponentID } from '@teambit/component-id';
import type { ApplyVersionResults } from '@teambit/component.modules.merge-helper';
import type { Lane } from '@teambit/objects';
import type { CheckoutProps } from '@teambit/checkout';
import type { Workspace } from '@teambit/workspace';
import type { Logger } from '@teambit/logger';
import type { LanesMain } from './lanes.main.runtime';
export type SwitchProps = {
laneName: string;
ids?: ComponentID[];
laneBitIds?: ComponentID[];
pattern?: string;
head?: boolean;
existingOnWorkspaceOnly?: boolean;
remoteLane?: Lane;
localTrackedLane?: string;
alias?: string;
};
export declare class LaneSwitcher {
private workspace;
private logger;
private switchProps;
private checkoutProps;
private lanes;
private consumer;
private laneIdToSwitchTo;
private laneToSwitchTo;
constructor(workspace: Workspace, logger: Logger, switchProps: SwitchProps, checkoutProps: CheckoutProps, lanes: LanesMain);
switch(): Promise<ApplyVersionResults>;
private populateSwitchProps;
private populateIdsAccordingToPattern;
private populatePropsAccordingToRemoteLane;
private populatePropsAccordingToDefaultLane;
private populatePropsAccordingToLocalLane;
private throwForSwitchingToCurrentLane;
private saveLanesData;
}