covertable
Version:
A flexible pairwise tool written in TypeScript
41 lines (40 loc) • 1.33 kB
TypeScript
import { FactorsType, ScalarType, PairByKeyType, CandidateType, RowType, OptionsType, PairType, SuggestRowType } from "./types";
export declare class Row extends Map<ScalarType, number> implements RowType {
consumed: PairByKeyType;
constructor(row: CandidateType);
getPairKey(...newPair: number[]): ScalarType;
copy(row: Row): void;
}
export declare class Controller<T extends FactorsType> {
factors: FactorsType;
options: OptionsType<T>;
factorLength: number;
factorIsArray: Boolean;
private serials;
private parents;
private indices;
incomplete: PairByKeyType;
private numAllChunks;
private rejected;
row: Row;
constructor(factors: FactorsType, options?: OptionsType<T>);
private serialize;
private setIncomplete;
private setPair;
consume(pair: PairType): void;
consumeRow(row: Row): void;
getCandidate(pair: PairType): CandidateType;
storable(candidate: CandidateType): number | null;
isFilled(row: Row): boolean;
private toMap;
private toProxy;
private toObject;
private reset;
private discard;
private restore;
private close;
get pairwiseCount(): number;
get isComplete(): boolean;
get progress(): number;
makeAsync<T extends FactorsType>(): Generator<SuggestRowType<T>, void, unknown>;
}