{"version":3,"file":"index.umd.development.cjs","sources":["../src/util/options.ts","../src/array-index-one.ts","../src/array-index.ts","../src/array-shuffle.ts","../src/array-unique.ts","../src/array-fill.ts"],"sourcesContent":["import { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\nimport { expect } from '@lazy-random/expect';\n\nexport function _handleStartEnd<T extends ITSArrayListMaybeReadonly<unknown>>(arr: T, start: number = 0, end?: number, disableCheck?: boolean)\n{\n\tconst len = arr.length;\n\tconst enableCheck = !disableCheck;\n\n\tstart = Math.max(Math.floor(start), 0);\n\n\tif (typeof end !== 'undefined' && end !== null)\n\t{\n\t\tend = Math.floor(end);\n\t\tenableCheck && expect(end).integer\n\t\t\t.gt(start + 1, `END(${end}) should greater than START(${start}+1)`)\n\t\t\t.gt(0)\n\t\t\t//.gt(start, `END(${end}) should greater than START(${start})`)\n\t\t;\n\t}\n\n\tend = Math.min(Math.max(0, end ?? len), len);\n\n\tenableCheck && expect(end, `END(${end})`).integer.gte(0).lte(len);\n\tenableCheck && expect(start, `START(${start})`).integer.gte(0).lt(end);\n\n\treturn {\n\t\tstart,\n\t\tend,\n\t\tlen,\n\t}\n}\n","import { IRNGLike } from '@lazy-random/rng-abstract-core';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\nimport { _handleStartEnd } from './util/options';\nimport { int } from '@lazy-random/util-distributions';\n\n/**\n * return index number form array\n */\nexport function dfArrayIndexOne<T extends ITSArrayListMaybeReadonly<unknown>>(random: IRNGLike,\n\tarr: T,\n\tstart: number = 0,\n\tend?: number\n)\n{\n\t({\n\t\tstart,\n\t\tend,\n\t} = _handleStartEnd(arr, start, end));\n\n\tif (start === end - 1)\n\t{\n\t\treturn () => start\n\t}\n\n\treturn () =>\n\t{\n\t\treturn int(random, start, end)\n\t}\n}\n\nexport default dfArrayIndexOne\n","import { expect } from '@lazy-random/expect';\nimport { IRNGLike } from '@lazy-random/rng-abstract';\nimport { _handleStartEnd } from './util/options';\nimport { dfArrayIndexOne } from './array-index-one';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\n\n/**\n * return index list form array\n */\nexport function dfArrayIndex<T extends ITSArrayListMaybeReadonly<unknown>>(random: IRNGLike, arr: T, size: number = 1, start: number = 0, end?: number)\n{\n\texpect(size, `size`).integer.gt(0);\n\texpect(arr.length, `arr.length`).integer.gt(0);\n\n\tconst fn = dfArrayIndexOne(random, arr, start, end);\n\n\tlet len: number;\n\n\t({\n\t\tstart,\n\t\tend,\n\t\tlen,\n\t} = _handleStartEnd(arr, start, end, true));\n\n\tlet size_runtime = Math.max(Math.min((end - start), len, size), 0);\n\n\texpect(size_runtime, `size_runtime(${size_runtime})`).lte(size).gt(0)\n\n\tsize = size_runtime;\n\n\treturn () =>\n\t{\n\t\t/**\n\t\t * reset size_runtime\n\t\t */\n\t\tsize_runtime = size;\n\n\t\tlet ids: number[] = [];\n\t\tlet prev: number;\n\n\t\tLABEL_TOP: do\n\t\t{\n\t\t\tlet i = fn()\n\n\t\t\tif (prev === i || ids.includes(i))\n\t\t\t{\n\t\t\t\tcontinue LABEL_TOP;\n\t\t\t}\n\n\t\t\tids.push(prev = i);\n\t\t\t--size_runtime;\n\t\t}\n\t\twhile (size_runtime > 0);\n\n\t\treturn ids;\n\t}\n}\n\nexport default dfArrayIndex\n","import { ITSArrayLikeWriteable } from 'ts-type/lib/generic';\nimport { TypedArray } from 'typedarray-dts';\nimport { swapAlgorithm2 } from '@lazy-random/array-algorithm';\nimport { randIndex as _randIndex } from '@lazy-random/util-distributions';\nimport { IRNGLike } from '@lazy-random/rng-abstract';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\n\nexport function dfArrayShuffle<T extends ITSArrayLikeWriteable<any> | TypedArray | Buffer | ITSArrayListMaybeReadonly<any>>(random: IRNGLike, arr: T, overwrite?: boolean): () => T\n{\n\tconst randIndex = (len: number) =>\n\t{\n\t\treturn _randIndex(random, len)\n\t};\n\n\tif (!overwrite)\n\t{\n\t\tlet cloneArrayLike: (arr: T) => T;\n\n\t\tif (Buffer.isBuffer(arr))\n\t\t{\n\t\t\t// @ts-ignore\n\t\t\tcloneArrayLike = (arr) =>\n\t\t\t{\n\t\t\t\t// @ts-ignore\n\t\t\t\treturn Buffer.from(arr)\n\t\t\t};\n\t\t}\n\t\telse\n\t\t{\n\t\t\tcloneArrayLike = (arr) =>\n\t\t\t{\n\t\t\t\t// @ts-ignore\n\t\t\t\treturn arr.slice()\n\t\t\t};\n\t\t}\n\n\t\treturn (): T =>\n\t\t{\n\t\t\treturn swapAlgorithm2(cloneArrayLike(arr), true, randIndex)\n\t\t}\n\t}\n\n\treturn (): T =>\n\t{\n\t\treturn swapAlgorithm2(arr, true, randIndex)\n\t}\n}\n\ndfArrayShuffle.memoizable = false;\n\nexport default dfArrayShuffle;\n\n\n","import { expect } from '@lazy-random/expect';\nimport { randIndex as _randIndex } from '@lazy-random/util-distributions';\nimport { IRNGLike } from '@lazy-random/rng-abstract';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\n\nexport interface IRandIndex\n{\n\t(len: number): number\n\t(len: number, ...argv): number\n\t(...argv): number\n}\n\nexport interface IArrayUniqueOutOfLimitCallback<T extends unknown>\n{\n\t(arr: ITSArrayListMaybeReadonly<T>, limit: number, loop: boolean, fn: IRandIndex): T[] | boolean | void\n}\n\nexport function dfArrayUnique<T extends unknown>(random: IRNGLike, arr: ITSArrayListMaybeReadonly<T>, limit?: number, loop?: boolean, fnRandIndex?: IRandIndex, fnOutOfLimit?: IArrayUniqueOutOfLimitCallback<T>)\n{\n\tconst randIndex = (len: number) =>\n\t{\n\t\treturn _randIndex(random, len)\n\t};\n\n\tlet clone = arr.slice();\n\n\tlimit = Math.min(limit || clone.length, clone.length);\n\n\tfnRandIndex = fnRandIndex || randIndex;\n\tloop = !!loop;\n\n\t//ow(limit, ow.number.integer.gt(0));\n\t//ow(fnRandIndex, ow.function);\n\n\texpect(limit, `limit`).integer.gt(0)\n\texpect(fnRandIndex, `fnRandIndex`).function()\n\n\tlet count = limit;\n\tlet len: number;\n\n\tconst _fnClone = function _fnClone(arr: ITSArrayListMaybeReadonly<T>)\n\t{\n\t\tclone = arr.slice();\n\t\tcount = limit;\n\t\tlen = clone.length;\n\t}\n\n\treturn () =>\n\t{\n\t\tlen = clone.length;\n\n\t\tif (len === 0 || count-- === 0)\n\t\t{\n\t\t\tlet _loop: boolean = loop;\n\n\t\t\tif (fnOutOfLimit)\n\t\t\t{\n\t\t\t\tlet ret = fnOutOfLimit(arr, limit, loop, fnRandIndex);\n\n\t\t\t\tif (Array.isArray(ret) && ret.length > 0)\n\t\t\t\t{\n\t\t\t\t\t_fnClone(ret);\n\n\t\t\t\t\t_loop = null;\n\t\t\t\t}\n\t\t\t\telse if (ret == true)\n\t\t\t\t{\n\t\t\t\t\t_loop = true;\n\t\t\t\t}\n\t\t\t\telse if (typeof ret !== 'undefined')\n\t\t\t\t{\n\t\t\t\t\t_loop = false\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (_loop)\n\t\t\t{\n\t\t\t\t_fnClone(arr)\n\t\t\t}\n\t\t\telse if (_loop !== null)\n\t\t\t{\n\t\t\t\tthrow new RangeError(`can't call arrayUnique > ${limit} times`)\n\t\t\t}\n\t\t}\n\n\t\tconst i = fnRandIndex(len);\n\n\t\treturn clone\n\t\t\t.splice(i, 1)[0]\n\t\t\t;\n\t}\n}\n\nexport default dfArrayUnique\n","import { dfUniformByte, dfUniformFloat, dfUniformInt } from '@lazy-random/df-uniform';\nimport { expect } from '@lazy-random/expect';\nimport { IArrayInput02 } from '@lazy-random/shared-lib';\nimport { isUnset } from '@lazy-random/shared-lib';\nimport { IRNGLike } from '@lazy-random/rng-abstract';\n\nexport function dfArrayFill(random: IRNGLike, min?: number, max?: number, float?: boolean)\n{\n\tlet fn: () => number;\n\n\t{\n\t\tlet min_unset = isUnset(min);\n\t\tlet max_unset = isUnset(max);\n\n\t\tif (max_unset && min_unset)\n\t\t{\n\t\t\tfn = dfUniformByte(random);\n\t\t}\n\t\telse if (float)\n\t\t{\n\t\t\tfn = dfUniformFloat(random, min, max);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tfn = dfUniformInt(random, min, max);\n\t\t}\n\n\t\tmin = void 0;\n\t\tmax = void 0;\n\t}\n\n\texpect(fn).function();\n\n\treturn <T extends IArrayInput02<number>>(arr: T) =>\n\t{\n\t\tlet i = arr.length;\n\t\twhile (i--)\n\t\t{\n\t\t\tarr[i] = fn();\n\t\t}\n\t\treturn arr\n\t}\n}\n\nexport default dfArrayFill\n"],"names":["_handleStartEnd","arr","start","end","disableCheck","_end","len","length","enableCheck","Math","max","floor","expect","integer","gt","min","gte","lte","lt","dfArrayIndexOne","random","int","dfArrayIndex","size","fn","size_runtime","ids","prev","LABEL_TOP","i","includes","push","dfArrayShuffle","overwrite","randIndex","_randIndex","cloneArrayLike","Buffer","isBuffer","from","slice","swapAlgorithm2","memoizable","dfArrayUnique","limit","loop","fnRandIndex","fnOutOfLimit","clone","function","count","_fnClone","_loop","ret","Array","isArray","RangeError","splice","dfArrayFill","float","min_unset","isUnset","max_unset","dfUniformByte","dfUniformFloat","dfUniformInt"],"mappings":"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"}