import { IterationItem } from "./IterationItem"; import { IterationMapper } from "./IterationMapper"; export default class FlatteningIterator { static readonly maxOneLetterDimensions = 26; readonly uniqueId: string; readonly dimensions: string[]; private data; private mappers; constructor(data: any, dimensions?: string[]); iterate(array: any, indices?: number[]): Generator>; [Symbol.iterator](): Iterator>; clone(): FlatteningIterator; /** * returns a new FlatteningIterator instance with the given mapper applied */ map(...fns: IterationMapper[]): FlatteningIterator; /** * Adds a mapper function to the stack of mappers. */ use(...fns: IterationMapper[]): FlatteningIterator; /** * clears applied mappers (resets mapper to the default null implementation) */ useDefaultMapper(): FlatteningIterator; private mapResult; /** * when <= 3 dimensions (depth of data), use [x, y, z[ as dimension names * when >3 but <=26 dimensions, use [a, b, c, ..., x, y, z] as dimension names * when >26 dimensions, use [dim0, dim1, dim2, ..., dim25, dim26] as dimension names */ private generateDefaultDimensions; private getArrayDepth; }