// License: LGPL-3.0-or-later // from https://github.com/mtraynham/lodash-joins/blob/c252b462981562451d85d1e09c8f273ce7fe06c5/lib/typings.ts export interface Accessor extends Function { (a: Row): Key; } export interface Merger extends Function { (left: LeftRow, right: RightRow): MergeResult; } export interface Join extends Function { ( left: LeftRow[], leftAccessor: Accessor, right: RightRow[], rightAccessor: Accessor, merger: Merger ): MergeResult[]; } export interface NonMergeJoin extends Function { ( left: LeftRow[], leftAccessor: Accessor, right: RightRow[], rightAccessor: Accessor ): LeftRow[] | RightRow[]; }