custom-permutation
Version:
Permutation generator with custom options.
36 lines (35 loc) • 1.38 kB
TypeScript
export declare class PermutationGeneratorForSet {
private elementList;
private indexList;
private choicesByIndex?;
private indexesOfSameElements?;
private actualOrderOfElements?;
private passFunction?;
choicesArraysInitial: any[];
choicesArrays: any[];
size: number;
currentIndsOfChoices: any[];
currentElInd: number;
newPerm: any[];
initialIndexList: any[];
indexesAndChoicesCountsSortedByLength: any;
indexesAndChoicesCounts: any[];
visitedDict: {};
constructor(elementList: any[], indexList: any[], choicesByIndex?: object, indexesOfSameElements?: any, actualOrderOfElements?: any[], passFunction?: (items: any[]) => boolean);
isNewPermutationPassingFunction(currentEl: any, elIndInPerm: any): boolean;
reorderListAndChoicesAccordingToChoicesCount(): void;
initChoicesArray(): void;
init(): void;
next(): {
done: boolean;
value?: undefined;
} | {
done: boolean;
value: any[];
};
getNextPerm(): any[];
goBack(newPerm: any, choicesArrayWithIndexes: any, selectedIndexesForPerm: any, elInd: any): any;
getAndSetPossibleNextElementForNewPerm(newPerm: any, choices: any, currentIndsInChoices: any, elInd: any): any;
validateParameters(elementSet: any, choicesByIndex: any): boolean;
revertResultPermToInitialOrder(newPerm: any): any[];
}