{"version":3,"file":"ngx-array.mjs","sources":["../../../projects/ngx-array/src/lib/ngx-array.service.ts","../../../projects/ngx-array/src/lib/ngx-array.component.ts","../../../projects/ngx-array/src/public-api.ts","../../../projects/ngx-array/src/ngx-array.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class NgxArrayService {\n  constructor() { }\n\n  /**\n   * _min: Returns the minimum value in the array\n   * @param arr: Array of values of any type[].\n   */\n  public _min(arr: Array<any>): any {\n    try {\n      if (!Array.isArray(arr)) {\n        throw new Error(\n          '_min - Invalid Arguments: Array / Item should be valid'\n        );\n      }\n      return Math.min.apply(null, arr);\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n  /**\n   * _max: Returns the maximum value in the array\n   * @param arr: Array of values of any type[].\n   */\n  public _max(arr: Array<any>): any {\n    try {\n      if (!Array.isArray(arr)) {\n        throw new Error(\n          '_max - Invalid Arguments: Array / Item should be valid'\n        );\n      }\n      return Math.max.apply(null, arr);\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n  /**\n   * _sortNumbers: method sorts the elements of an numbers array in place and returns the sorted array. The default sort order is ascending\n   ** Use only array of numbers (or) strings for better result\n   * @param arr: Array of values of any type[].\n   * @param mode: 1 for ascending , -1 for descending - Default 1\n   */\n  public _sortNumbers(arr: Array<any>, mode: number | any = 1): Array<any> | any {\n    try {\n      if (!Array.isArray(arr)) {\n        throw new Error(\n          '_sortNumbers - Invalid Arguments: Array / Item should be valid'\n        );\n      }\n      return mode === 1 ? arr.sort((a, b) => a - b) : arr.sort((a, b) => b - a);\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n  /**\n   * _sort: method sorts the elements of an array in place and returns the sorted array. The default sort order is ascending\n   ** Use only array of numbers (or) strings for better result\n   * @param arr: Array of values of any type[].\n   */\n  public _sort(arr: Array<any>): Array<any> | any {\n    try {\n      if (!Array.isArray(arr)) {\n        throw new Error(\n          '_sort - Invalid Arguments: Array / Item should be valid'\n        );\n      }\n      return arr.sort();\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n\n  /**\n   * _reverse: Returns the reverse ordered array\n   * @param arr: Array of values of any type[].\n   */\n  public _reverse(arr: Array<any>): Array<any> | any {\n    try {\n      if (!Array.isArray(arr)) {\n        throw new Error(\n          '_reverse - Invalid Arguments: Array / Item should be valid'\n        );\n      }\n      return arr.reverse();\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n\n  /**\n   * _join: New string by concatenating all of the elements in an array\n   * @param arr: Array of values of any type[].\n   * @param joinBy: Concatenate by the string example = (-). Default is ''\n   */\n  public _join(arr: Array<any>, joinBy: string | any = ''): string | any {\n    try {\n      if (!Array.isArray(arr)) {\n        throw new Error(\n          '_join - Invalid Arguments: Array / Item should be valid'\n        );\n      }\n      return arr.join(joinBy);\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n  /**\n   * _isValidArray: Checks whether the passed item is array or not\n   * * return true if valid\n   * * return false if not valid\n   * @param arr: Array of values of any type[].\n   */\n  public _isValidArray(arr: any): boolean | any {\n    try {\n      return Array.isArray(arr);\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n\n  /**\n   * _indexOfFrom: Returns the index of item from given array from starting at particular index\n   * * return index of exists\n   * * return -1 if not exists\n   * @param arr: Array of values of any type[].\n   * @param item: Searchable item in array of any type\n   * @param start: Starting index\n   */\n  public _indexOfFrom(arr: Array<any>, item: any, start: number | any): number | any {\n    try {\n      if (!item || !Array.isArray(arr)) {\n        throw new Error(\n          '_indexOfFrom - Invalid Arguments: Array / Item should be valid'\n        );\n      }\n      return arr.indexOf(item, start);\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n\n  /**\n   * _indexOf: Returns the index of item from given array\n   * * return index of exists\n   * * return -1 if not exists\n   * @param arr: Array of values of any type[].\n   * @param item: Searchable item in array of any type\n   */\n  public _indexOf(arr: Array<any>, item: any): number | any {\n    try {\n      if (!item || !Array.isArray(arr)) {\n        throw new Error(\n          '_indexOf - Invalid Arguments: Array / Item should be valid'\n        );\n      }\n      return arr.indexOf(item);\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n  /**\n   * _hasAt: Checks whether the array contains the item at particular given index\n   * * return true if exists\n   * * return false if not exists\n   * @param arr: Array of values of any type[].\n   * @param item: Searchable item in array of any type\n   * @param positionIndex: Starting index\n   */\n  public _hasAt(arr: Array<any>, item: any, positionIndex: number | any): boolean | any {\n    try {\n      if (!item || !Array.isArray(arr)) {\n        throw new Error(\n          '_hasAt - Invalid Arguments: Array / Item should be valid'\n        );\n      }\n      return arr.includes(item, positionIndex);\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n\n  /**\n   * _has: Checks whether the array contains the item\n   * * return true if exists\n   * * return false if not exists\n   * @param arr: Array of values of any type[].\n   * @param item: Searchable item in array of any type\n   */\n  public _has(arr: Array<any>, item: any): boolean | any {\n    try {\n      if (!item || !Array.isArray(arr)) {\n        throw new Error(\n          '_has - Invalid Arguments: Array / Item should be valid'\n        );\n      }\n      return arr.includes(item);\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n\n  /**\n   * _filterNumbersArray: Filters integer array for an given condition and returns a new array.\n   * * return filtered new array\n   * @param arr: Array of values of any type [].\n   * @param condition: Possible conditions  ('>' , '<' , '>=', '<=' , '!==')\n   * @param expected: Resulted value should be in\n   */\n  public _filterNumbersArray(\n    arr: Array<number>,\n    condition: any,\n    expected: number | any\n  ): any {\n    try {\n      if (!Array.isArray(arr)) {\n        throw new Error(\n          '_filterNumbersArray - Invalid Arguments: Invalid length of Array'\n        );\n      }\n\n      switch (condition) {\n        case '>':\n          return arr.filter((value) => value > expected);\n        case '<':\n          return arr.filter((value) => value < expected);\n\n        case '<=':\n          return arr.filter((value) => value <= expected);\n\n        case '>=':\n          return arr.filter((value) => value >= expected);\n\n        case '!=':\n          return arr.filter((value) => value !== expected);\n        default:\n          throw new Error(\n            \"Invalid condition: Invalid type of condition passed use ('>' , '<' , '>=', '<=' , '!==' )\"\n          );\n      }\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n\n  /**\n   * _fill: method shallow copies part of an array to another location in the same array and returns it without modifying its length method changes all elements in an array to a static value, from a start index (default 0) to an end index (default array.length). It returns the modified array.\n   * * Returns new array\n   * @param arr: Array of values of any type [].\n   * @param value: value to be filled in array\n   * @param from: Start from this position\n   * @param to: End at this position\n   */\n  public _fill(\n    arr: Array<any>,\n    value: any,\n    from: number | any,\n    to: number | any\n  ): Array<any> | any {\n    try {\n      if (!from || !Array.isArray(arr)) {\n        throw new Error(\n          '_fill - Invalid Arguments: Array / Item should be valid'\n        );\n      } else if (from > arr.length - 1 || to > arr.length - 1) {\n        throw new Error(\n          '_fill - Invalid index: Start / End index out of range'\n        );\n      }\n      return arr.fill(value, from, to);\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n\n  /**\n   * _copyWithin: method shallow copies part of an array to another location in the same array and returns it without modifying its length\n   * return new array\n   * @param arr: Array of values of any type [].\n   * @param from: Start from this position\n   * @param to: End at this position\n\n   */\n  public _copyWithin(arr: Array<any>, from: number | any, to: number | any): Array<any> | any {\n    try {\n      if (!from || !Array.isArray(arr)) {\n        throw new Error(\n          '_copyWithin - Invalid Arguments: Array / Item should be valid'\n        );\n      } else if (from > arr.length - 1 || to > arr.length - 1) {\n        throw new Error(\n          '_copyWithin - Invalid index: Start / End index out of range'\n        );\n      }\n      return arr.copyWithin(from, to);\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n\n  /**\n   * _concat: method is used to merge two or more arrays.\n   * This method does not change the existing arrays, but instead returns a new array.\n   * * return new concatenated array\n   * @param args: Multiple Array of values at any length .\n   */\n  public _concat(...args: Array<any>): any {\n    try {\n      let concatArray: Array<any> | any = [];\n      args.forEach((element) => {\n        if (element.length === -1) {\n          throw new Error('_concat - Invalid Arguments: Invalid Array');\n        } else {\n          for (const iterator of element) {\n            concatArray.push(iterator);\n          }\n        }\n      });\n      return concatArray;\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n\n  /**\n   * _length: Returns the length of the given array\n   * * return length of the array\n   * @param arr: Array of values of any type [].\n   */\n  public _length(arr: Array<any>): number | any {\n    try {\n      if (!Array.isArray(arr)) {\n        throw new Error('_length - Invalid Arguments: Invalid length of Array');\n      }\n      return arr.length || 0;\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n\n  /**\n   * _copy: Duplicates an array\n   * * returns same array as result\n   * @param arr: Array of values of any type [].\n   */\n  public _copy(arr: Array<any>): Array<any> | any {\n    return [...arr];\n  }\n\n  /**\n   * _slice: returns a shallow copy of a portion of an array into a new array object selected from start to end\n   * * return removed array\n   * @param arr: Array of values of any type [].\n   * @param start: Start from this position\n   * @param end: End at this position , Default is length of the array\n   */\n  public _slice(\n    arr: Array<any>,\n    start: number | any,\n    end: number | any = arr.length - 1\n  ): Array<any> | any {\n    try {\n      if (!start || !Array.isArray(arr)) {\n        throw new Error(\n          '_slice - Invalid Arguments: Array / Item should be valid'\n        );\n      } else if (start > arr.length - 1 || end > arr.length - 1) {\n        throw new Error(\n          '_slice - Invalid index: Start / End index out of range'\n        );\n      }\n      return arr.slice(start, end);\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n\n  /**\n   * _splice: Cut of / Splice of an items at particular valid index\n   * * return removed array\n   * @param arr: Array of values of any type [].\n   * @param start: Start from this position\n   * @param end: End at this position , Default is 1\n   */\n  public _splice(arr: Array<any>, start: number | any, end: number | any = 1): Array<any> | any {\n    try {\n      if (!start || !Array.isArray(arr)) {\n        throw new Error(\n          '_splice - Invalid Arguments: Array / Item should be valid'\n        );\n      } else if (start > arr.length - 1 || end > arr.length - 1) {\n        throw new Error(\n          '_splice - Invalid index: Start / End index out of range'\n        );\n      }\n      return arr.splice(start, end);\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n\n  /**\n   *  _shift: It will remove the array item at beginning & return item\n   * * return the item if removed from array at beginning\n   * @param arr: Array of values of any type [].\n   */\n  public _shift(arr: Array<any>): any {\n    try {\n      if (!Array.isArray(arr)) {\n        throw new Error('_shift - Invalid Arguments: Array should be valid');\n      }\n      return arr.shift();\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n\n  /**\n   *  _shift: method adds one or more elements to the beginning of an array and returns the new length of the array.\n   ** Use spread operator while passing array [...arr]\n   * @param arr: Array of values of any type []. use spread operator [...arr]\n   * @param args: Any length of values seperated by comma to unshift in array example _unshift(array,1,2,3,4,5...)\n   */\n  public _unshift(arr: Array<any>, ...args: any[]): any {\n    try {\n      if (!Array.isArray(arr)) {\n        throw new Error('_unshift - Invalid Arguments: Array should be valid');\n      }\n      arr.unshift(args);\n      return arr.reduce((acc, val) => acc.concat(val), []);\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n  /**\n   * _pop: It will remove the array item at end & return item\n   * * return the item if removed from array at end\n   * @param arr: Array of values of any type [].\n   */\n  public _pop(arr: Array<any>): any {\n    try {\n      if (!Array.isArray(arr)) {\n        throw new Error('_pop - Invalid Arguments: Array should be valid');\n      }\n      return arr.pop();\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n\n  /**\n   * _push: It will add / push new item to the array at end & return new array\n   * * return the new array.\n   * @param arr: Array of values of any type [].\n   * @param item: item to be pushed of any type\n   */\n  public _push(arr: Array<any>, item: any): Array<any> | any {\n    try {\n      if (!item) {\n        throw new Error('_push - Invalid Arguments: Item should be valid');\n      }\n      return [...arr, item];\n    } catch (error: any) {\n      console.trace(error)\n\n    }\n  }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n    selector: 'lib-ngx-array',\n    template: `\n    <p>\n      ngx-array works!\n    </p>\n  `,\n    styles: [],\n    standalone: true\n})\nexport class NgxArrayComponent {\n\n}\n","/*\n * Public API Surface of ngx-array\n */\n\nexport * from './lib/ngx-array.service';\nexport * from './lib/ngx-array.component';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}