{"version":3,"file":"index.umd.development.cjs","sources":["../src/util.ts","../src/index.ts"],"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"],"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"],"mappings":"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"}