33 lines
918 B
TypeScript
33 lines
918 B
TypeScript
|
/**
|
||
|
* @author Martin Karkowski
|
||
|
* @email m.karkowski@zema.de
|
||
|
* @create date 2020-12-29 16:54:56
|
||
|
* @modify date 2020-12-30 11:34:21
|
||
|
* @desc [description]
|
||
|
*/
|
||
|
|
||
|
import {
|
||
|
IWaMOBaseModuleDescription,
|
||
|
IWaMOConverterModuleDescription,
|
||
|
IWaMOLineDescription
|
||
|
} from "../types/interfaces";
|
||
|
import { getOrder } from "./getOrder";
|
||
|
|
||
|
/**
|
||
|
* Helper Function to extract the Neigbor of the Element
|
||
|
*
|
||
|
* @export
|
||
|
* @param {(IWaMOBaseModuleDescription | IWaMOConverterModuleDescription)} element
|
||
|
* @param {IWaMOLineDescription} line
|
||
|
* @param {("next" | "prev")} type
|
||
|
* @return {*} {(IWaMOBaseModule | IWaMOConverterModule)}
|
||
|
*/
|
||
|
export function getNeigbor(
|
||
|
element: IWaMOBaseModuleDescription | IWaMOConverterModuleDescription,
|
||
|
line: IWaMOLineDescription,
|
||
|
type: "next" | "prev"
|
||
|
): IWaMOBaseModuleDescription | IWaMOConverterModuleDescription {
|
||
|
const order = getOrder(line);
|
||
|
return line[order[element.id][type]];
|
||
|
}
|