{"version":3,"file":"index.cjs.development.cjs","sources":["../src/util.ts","../src/index.ts","../src/index.cts"],"sourcesContent":["// @ts-ignore\nimport _equals from 'deep-eql';\nimport { IOptions } from './types';\nimport { findLastIndex, findIndex } from 'lodash';\n\nexport function equals<T>(a1: T, a2: T): boolean\nexport function equals<T>(a1: T, a2: unknown): a2 is T\nexport function equals<T>(a1: unknown, a2: T): a1 is T\nexport function equals(a1: any, a2: any): boolean\n{\n\treturn _equals(a1, a2)\n}\n\nexport function defaultFilter<T>(options: IOptions<T> = {})\n{\n\tconst checker = options.checker || defaultChecker;\n\tconst filter = options.filter || null;\n\n\tconst find = options.removeFromFirst ? findLastIndex : findIndex;\n\n\tconst cb = <K extends any[]>(val: K[keyof K], index: number, arr: K) =>\n\t{\n\t\tlet i = find(arr, a => checker(a, val, arr, arr));\n\t\treturn i === index && (!filter || filter(val));\n\t};\n\n\treturn cb;\n}\n\n// @ts-ignore\nexport function defaultChecker<T, R>(element: T, value: R, arr_new?: Array<T | R>, arr_old?: Array<T | R>): boolean\n{\n\treturn _equals(element, value);\n}\n","import { defaultFilter, equals, defaultChecker } from './util';\n\nimport { IOptions } from './types';\n\nexport * from './types';\nexport * from './util';\n\nexport function array_unique<T>(arr: T, options: IOptions<T> = {}): T\n{\n\tif (!Array.isArray(arr))\n\t{\n\t\tthrow new TypeError(`Expected an Array but got ${typeof arr}.`)\n\t}\n\n\tconst cb = defaultFilter(options);\n\n\tif (options.overwrite)\n\t{\n\t\tlet index = arr.length;\n\n\t\twhile (index--)\n\t\t{\n\t\t\tlet val = arr[index];\n\n\t\t\tif (!cb(val, index, arr))\n\t\t\t{\n\t\t\t\tarr.splice(index, 1);\n\t\t\t}\n\t\t}\n\n\t\treturn arr;\n\t}\n\n\t// @ts-ignore\n\treturn arr.filter(cb);\n}\n\nexport function array_unique_overwrite<T>(arr: T, options: IOptions<T> = {}): T\n{\n\treturn array_unique(arr, {\n\t\t...options,\n\t\toverwrite: true,\n\t});\n}\n\nexport function lazy_unique<T extends any[]>(arr: T): T\nexport function lazy_unique<T, T1, T2>(a1: T1, a2: T2, ...arr: T[]): Array<T | T1 | T2>\nexport function lazy_unique<T>(...arr: Array<T | T[]>): T | (T | T[])[]\n// @ts-ignore\nexport function lazy_unique<T>(...arr: Array<T | T[]>)\n{\n\tif (arr.length > 1)\n\t{\n\t\treturn array_unique(arr);\n\t}\n\n\treturn array_unique(arr[0]);\n}\n\nexport function lazy_unique_overwrite<T>(...arr: Array<T | T[]>)\n{\n\tif (arr.length > 1)\n\t{\n\t\treturn array_unique_overwrite(arr);\n\t}\n\n\treturn array_unique_overwrite(arr[0]);\n}\n\nexport {\n\tequals,\n\tdefaultFilter,\n\tdefaultChecker,\n}\n\nif (process.env.TSDX_FORMAT !== 'esm')\n{\n\tObject.defineProperty(lazy_unique, \"array_unique\", { value: array_unique });\n\tObject.defineProperty(lazy_unique, \"array_unique_overwrite\", { value: array_unique_overwrite });\n\tObject.defineProperty(lazy_unique, \"lazy_unique_overwrite\", { value: lazy_unique_overwrite });\n\n\tObject.defineProperty(lazy_unique, \"equals\", { value: equals });\n\tObject.defineProperty(lazy_unique, \"defaultFilter\", { value: defaultFilter });\n\tObject.defineProperty(lazy_unique, \"defaultChecker\", { value: defaultChecker });\n\n\tObject.defineProperty(lazy_unique, \"lazy_unique\", { value: lazy_unique });\n\tObject.defineProperty(lazy_unique, \"default\", { value: lazy_unique });\n\n\tObject.defineProperty(lazy_unique, \"__esModule\", { value: true });\n}\n\nexport default lazy_unique\n","import { lazy_unique } from './index';\n\n// @ts-ignore\nexport = lazy_unique\n"],"names":["equals","a1","a2","_equals","defaultFilter","options","checker","defaultChecker","filter","find","removeFromFirst","findLastIndex","findIndex","cb","val","index","arr","i","a","element","value","arr_new","arr_old","array_unique","Array","isArray","TypeError","overwrite","length","splice","array_unique_overwrite","lazy_unique","lazy_unique_overwrite","Object","defineProperty","module","exports"],"mappings":"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"}