UNPKG

oberknecht-utils

Version:
53 lines (44 loc) 1.39 kB
import { extendedTypeof } from ".."; export class arrayInsert { static insertBefore = (arr: any[], beforeElement: any, elem: any): any[] => { let r = []; if (!arr || extendedTypeof(arr) !== "array") return r; if (!beforeElement || arr.indexOf(beforeElement) === -1) return [...r, elem]; let beforeIndex = arr.indexOf(beforeElement); return [...arr.slice(0, beforeIndex), elem, ...arr.slice(beforeIndex)]; }; static insertAfter = (arr: any[], afterElement: any, elem: any): any[] => { let r = []; if (!arr || extendedTypeof(arr) !== "array") return r; if (!afterElement || arr.indexOf(afterElement) === -1) return [...r, elem]; let afterIndex = arr.indexOf(afterElement); return [ ...arr.slice(0, afterIndex + 1), elem, ...arr.slice(afterIndex + 1), ]; }; static insertBeforeIndex = ( arr: any[], beforeIndex: number, elem: any ): any[] => { let r = []; if (!arr || extendedTypeof(arr) !== "array") return r; return [...arr.slice(0, beforeIndex), elem, ...arr.slice(beforeIndex)]; }; static insertAfterIndex = ( arr: any[], afterIndex: number, elem: any ): any[] => { let r = []; if (!arr || extendedTypeof(arr) !== "array") return r; return [ ...arr.slice(0, afterIndex + 1), elem, ...arr.slice(afterIndex + 1), ]; }; }