@mongez/reinforcements 2.3.12 → 2.3.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/index.js +2 -1
- package/cjs/index.js.map +1 -1
- package/esm/index.js +2 -1
- package/esm/index.js.map +1 -1
- package/index.d.cts +380 -0
- package/index.d.ts +380 -0
- package/package.json +30 -30
- package/cjs/Random/random.d.ts +0 -36
- package/cjs/Random/random.d.ts.map +0 -1
- package/cjs/Random/random.js +0 -62
- package/cjs/Random/random.js.map +0 -1
- package/cjs/Random/random.test.d.ts +0 -2
- package/cjs/Random/random.test.d.ts.map +0 -1
- package/cjs/array/average.d.ts +0 -7
- package/cjs/array/average.d.ts.map +0 -1
- package/cjs/array/average.js +0 -10
- package/cjs/array/average.js.map +0 -1
- package/cjs/array/average.test.d.ts +0 -2
- package/cjs/array/average.test.d.ts.map +0 -1
- package/cjs/array/chunk.d.ts +0 -5
- package/cjs/array/chunk.d.ts.map +0 -1
- package/cjs/array/chunk.js +0 -12
- package/cjs/array/chunk.js.map +0 -1
- package/cjs/array/chunk.test.d.ts +0 -2
- package/cjs/array/chunk.test.d.ts.map +0 -1
- package/cjs/array/count.d.ts +0 -5
- package/cjs/array/count.d.ts.map +0 -1
- package/cjs/array/count.js +0 -13
- package/cjs/array/count.js.map +0 -1
- package/cjs/array/count.test.d.ts +0 -2
- package/cjs/array/count.test.d.ts.map +0 -1
- package/cjs/array/countBy.d.ts +0 -7
- package/cjs/array/countBy.d.ts.map +0 -1
- package/cjs/array/countBy.js +0 -18
- package/cjs/array/countBy.js.map +0 -1
- package/cjs/array/countBy.test.d.ts +0 -2
- package/cjs/array/countBy.test.d.ts.map +0 -1
- package/cjs/array/even.d.ts +0 -7
- package/cjs/array/even.d.ts.map +0 -1
- package/cjs/array/even.js +0 -13
- package/cjs/array/even.js.map +0 -1
- package/cjs/array/even.test.d.ts +0 -2
- package/cjs/array/even.test.d.ts.map +0 -1
- package/cjs/array/evenIndexes.d.ts +0 -5
- package/cjs/array/evenIndexes.d.ts.map +0 -1
- package/cjs/array/evenIndexes.js +0 -8
- package/cjs/array/evenIndexes.js.map +0 -1
- package/cjs/array/evenIndexes.test.d.ts +0 -2
- package/cjs/array/evenIndexes.test.d.ts.map +0 -1
- package/cjs/array/groupBy.d.ts +0 -8
- package/cjs/array/groupBy.d.ts.map +0 -1
- package/cjs/array/groupBy.js +0 -41
- package/cjs/array/groupBy.js.map +0 -1
- package/cjs/array/groupBy.test.d.ts +0 -2
- package/cjs/array/groupBy.test.d.ts.map +0 -1
- package/cjs/array/max.d.ts +0 -7
- package/cjs/array/max.d.ts.map +0 -1
- package/cjs/array/max.js +0 -19
- package/cjs/array/max.js.map +0 -1
- package/cjs/array/max.test.d.ts +0 -2
- package/cjs/array/max.test.d.ts.map +0 -1
- package/cjs/array/median.d.ts +0 -7
- package/cjs/array/median.d.ts.map +0 -1
- package/cjs/array/median.js +0 -26
- package/cjs/array/median.js.map +0 -1
- package/cjs/array/median.test.d.ts +0 -2
- package/cjs/array/median.test.d.ts.map +0 -1
- package/cjs/array/min.d.ts +0 -7
- package/cjs/array/min.d.ts.map +0 -1
- package/cjs/array/min.js +0 -19
- package/cjs/array/min.js.map +0 -1
- package/cjs/array/min.test.d.ts +0 -2
- package/cjs/array/min.test.d.ts.map +0 -1
- package/cjs/array/odd.d.ts +0 -7
- package/cjs/array/odd.d.ts.map +0 -1
- package/cjs/array/odd.js +0 -13
- package/cjs/array/odd.js.map +0 -1
- package/cjs/array/odd.test.d.ts +0 -2
- package/cjs/array/odd.test.d.ts.map +0 -1
- package/cjs/array/oddIndexes.d.ts +0 -5
- package/cjs/array/oddIndexes.d.ts.map +0 -1
- package/cjs/array/oddIndexes.js +0 -8
- package/cjs/array/oddIndexes.js.map +0 -1
- package/cjs/array/oddIndexes.test.d.ts +0 -2
- package/cjs/array/oddIndexes.test.d.ts.map +0 -1
- package/cjs/array/pluck.d.ts +0 -9
- package/cjs/array/pluck.d.ts.map +0 -1
- package/cjs/array/pluck.js +0 -20
- package/cjs/array/pluck.js.map +0 -1
- package/cjs/array/pluck.test.d.ts +0 -2
- package/cjs/array/pluck.test.d.ts.map +0 -1
- package/cjs/array/pushUnique.d.ts +0 -6
- package/cjs/array/pushUnique.d.ts.map +0 -1
- package/cjs/array/pushUnique.js +0 -12
- package/cjs/array/pushUnique.js.map +0 -1
- package/cjs/array/pushUnique.test.d.ts +0 -2
- package/cjs/array/pushUnique.test.d.ts.map +0 -1
- package/cjs/array/range.d.ts +0 -5
- package/cjs/array/range.d.ts.map +0 -1
- package/cjs/array/range.js +0 -19
- package/cjs/array/range.js.map +0 -1
- package/cjs/array/range.test.d.ts +0 -2
- package/cjs/array/range.test.d.ts.map +0 -1
- package/cjs/array/sum.d.ts +0 -7
- package/cjs/array/sum.d.ts.map +0 -1
- package/cjs/array/sum.js +0 -26
- package/cjs/array/sum.js.map +0 -1
- package/cjs/array/sum.test.d.ts +0 -2
- package/cjs/array/sum.test.d.ts.map +0 -1
- package/cjs/array/unique.d.ts +0 -5
- package/cjs/array/unique.d.ts.map +0 -1
- package/cjs/array/unique.js +0 -13
- package/cjs/array/unique.js.map +0 -1
- package/cjs/array/unique.test.d.ts +0 -2
- package/cjs/array/unique.test.d.ts.map +0 -1
- package/cjs/array/unshiftUnique.d.ts +0 -6
- package/cjs/array/unshiftUnique.d.ts.map +0 -1
- package/cjs/array/unshiftUnique.js +0 -12
- package/cjs/array/unshiftUnique.js.map +0 -1
- package/cjs/array/unshiftUnique.test.d.ts +0 -2
- package/cjs/array/unshiftUnique.test.d.ts.map +0 -1
- package/cjs/index.d.ts +0 -57
- package/cjs/index.d.ts.map +0 -1
- package/cjs/mixed/areEqual/areEqual.d.ts +0 -5
- package/cjs/mixed/areEqual/areEqual.d.ts.map +0 -1
- package/cjs/mixed/areEqual/areEqual.js +0 -17
- package/cjs/mixed/areEqual/areEqual.js.map +0 -1
- package/cjs/mixed/areEqual/areEqual.test.d.ts +0 -2
- package/cjs/mixed/areEqual/areEqual.test.d.ts.map +0 -1
- package/cjs/mixed/clone/clone.d.ts +0 -2
- package/cjs/mixed/clone/clone.d.ts.map +0 -1
- package/cjs/mixed/clone/clone.js +0 -36
- package/cjs/mixed/clone/clone.js.map +0 -1
- package/cjs/mixed/clone/clone.test.d.ts +0 -2
- package/cjs/mixed/clone/clone.test.d.ts.map +0 -1
- package/cjs/mixed/shuffle/shuffle.d.ts +0 -5
- package/cjs/mixed/shuffle/shuffle.d.ts.map +0 -1
- package/cjs/mixed/shuffle/shuffle.js +0 -13
- package/cjs/mixed/shuffle/shuffle.js.map +0 -1
- package/cjs/mixed/shuffle/shuffle.test.d.ts +0 -2
- package/cjs/mixed/shuffle/shuffle.test.d.ts.map +0 -1
- package/cjs/number/round.d.ts +0 -5
- package/cjs/number/round.d.ts.map +0 -1
- package/cjs/number/round.js +0 -7
- package/cjs/number/round.js.map +0 -1
- package/cjs/object/except.d.ts +0 -5
- package/cjs/object/except.d.ts.map +0 -1
- package/cjs/object/except.js +0 -9
- package/cjs/object/except.js.map +0 -1
- package/cjs/object/except.test.d.ts +0 -2
- package/cjs/object/except.test.d.ts.map +0 -1
- package/cjs/object/flatten.d.ts +0 -5
- package/cjs/object/flatten.d.ts.map +0 -1
- package/cjs/object/flatten.js +0 -30
- package/cjs/object/flatten.js.map +0 -1
- package/cjs/object/flatten.test.d.ts +0 -2
- package/cjs/object/flatten.test.d.ts.map +0 -1
- package/cjs/object/get.d.ts +0 -5
- package/cjs/object/get.d.ts.map +0 -1
- package/cjs/object/get.js +0 -25
- package/cjs/object/get.js.map +0 -1
- package/cjs/object/get.test.d.ts +0 -2
- package/cjs/object/get.test.d.ts.map +0 -1
- package/cjs/object/map.d.ts +0 -5
- package/cjs/object/map.d.ts.map +0 -1
- package/cjs/object/map.js +0 -8
- package/cjs/object/map.js.map +0 -1
- package/cjs/object/merge.d.ts +0 -10
- package/cjs/object/merge.d.ts.map +0 -1
- package/cjs/object/merge.js +0 -88
- package/cjs/object/merge.js.map +0 -1
- package/cjs/object/merge.test.d.ts +0 -2
- package/cjs/object/merge.test.d.ts.map +0 -1
- package/cjs/object/only.d.ts +0 -5
- package/cjs/object/only.d.ts.map +0 -1
- package/cjs/object/only.js +0 -13
- package/cjs/object/only.js.map +0 -1
- package/cjs/object/only.test.d.ts +0 -2
- package/cjs/object/only.test.d.ts.map +0 -1
- package/cjs/object/set.d.ts +0 -6
- package/cjs/object/set.d.ts.map +0 -1
- package/cjs/object/set.js +0 -29
- package/cjs/object/set.js.map +0 -1
- package/cjs/object/set.test.d.ts +0 -2
- package/cjs/object/set.test.d.ts.map +0 -1
- package/cjs/object/sort.d.ts +0 -5
- package/cjs/object/sort.d.ts.map +0 -1
- package/cjs/object/sort.js +0 -13
- package/cjs/object/sort.js.map +0 -1
- package/cjs/object/unset.d.ts +0 -5
- package/cjs/object/unset.d.ts.map +0 -1
- package/cjs/object/unset.js +0 -23
- package/cjs/object/unset.js.map +0 -1
- package/cjs/object/unset.test.d.ts +0 -2
- package/cjs/object/unset.test.d.ts.map +0 -1
- package/cjs/string/capitalize.d.ts +0 -7
- package/cjs/string/capitalize.d.ts.map +0 -1
- package/cjs/string/capitalize.js +0 -13
- package/cjs/string/capitalize.js.map +0 -1
- package/cjs/string/extension.d.ts +0 -5
- package/cjs/string/extension.d.ts.map +0 -1
- package/cjs/string/extension.js +0 -9
- package/cjs/string/extension.js.map +0 -1
- package/cjs/string/initials.d.ts +0 -5
- package/cjs/string/initials.d.ts.map +0 -1
- package/cjs/string/initials.js +0 -14
- package/cjs/string/initials.js.map +0 -1
- package/cjs/string/initials.test.d.ts +0 -2
- package/cjs/string/initials.test.d.ts.map +0 -1
- package/cjs/string/ltrim.d.ts +0 -8
- package/cjs/string/ltrim.d.ts.map +0 -1
- package/cjs/string/ltrim.js +0 -12
- package/cjs/string/ltrim.js.map +0 -1
- package/cjs/string/readMoreChars.d.ts +0 -6
- package/cjs/string/readMoreChars.d.ts.map +0 -1
- package/cjs/string/readMoreChars.js +0 -11
- package/cjs/string/readMoreChars.js.map +0 -1
- package/cjs/string/readMoreWords.d.ts +0 -6
- package/cjs/string/readMoreWords.d.ts.map +0 -1
- package/cjs/string/readMoreWords.js +0 -11
- package/cjs/string/readMoreWords.js.map +0 -1
- package/cjs/string/removeFirst.d.ts +0 -8
- package/cjs/string/removeFirst.d.ts.map +0 -1
- package/cjs/string/removeFirst.js +0 -11
- package/cjs/string/removeFirst.js.map +0 -1
- package/cjs/string/removeLast.d.ts +0 -8
- package/cjs/string/removeLast.d.ts.map +0 -1
- package/cjs/string/removeLast.js +0 -11
- package/cjs/string/removeLast.js.map +0 -1
- package/cjs/string/repeatsOf.d.ts +0 -8
- package/cjs/string/repeatsOf.d.ts.map +0 -1
- package/cjs/string/repeatsOf.js +0 -16
- package/cjs/string/repeatsOf.js.map +0 -1
- package/cjs/string/replaceAll.d.ts +0 -9
- package/cjs/string/replaceAll.d.ts.map +0 -1
- package/cjs/string/replaceAll.js +0 -12
- package/cjs/string/replaceAll.js.map +0 -1
- package/cjs/string/replaceFirst.d.ts +0 -9
- package/cjs/string/replaceFirst.d.ts.map +0 -1
- package/cjs/string/replaceFirst.js +0 -12
- package/cjs/string/replaceFirst.js.map +0 -1
- package/cjs/string/replaceLast.d.ts +0 -9
- package/cjs/string/replaceLast.d.ts.map +0 -1
- package/cjs/string/replaceLast.js +0 -18
- package/cjs/string/replaceLast.js.map +0 -1
- package/cjs/string/rtrim.d.ts +0 -8
- package/cjs/string/rtrim.d.ts.map +0 -1
- package/cjs/string/rtrim.js +0 -12
- package/cjs/string/rtrim.js.map +0 -1
- package/cjs/string/startsWithArabic.d.ts +0 -3
- package/cjs/string/startsWithArabic.d.ts.map +0 -1
- package/cjs/string/startsWithArabic.js +0 -9
- package/cjs/string/startsWithArabic.js.map +0 -1
- package/cjs/string/toCamelCase.d.ts +0 -2
- package/cjs/string/toCamelCase.d.ts.map +0 -1
- package/cjs/string/toCamelCase.js +0 -9
- package/cjs/string/toCamelCase.js.map +0 -1
- package/cjs/string/toCamelCase.test.d.ts +0 -2
- package/cjs/string/toCamelCase.test.d.ts.map +0 -1
- package/cjs/string/toInputName.d.ts +0 -6
- package/cjs/string/toInputName.d.ts.map +0 -1
- package/cjs/string/toInputName.js +0 -19
- package/cjs/string/toInputName.js.map +0 -1
- package/cjs/string/toKebabCase.d.ts +0 -5
- package/cjs/string/toKebabCase.d.ts.map +0 -1
- package/cjs/string/toKebabCase.js +0 -8
- package/cjs/string/toKebabCase.js.map +0 -1
- package/cjs/string/toKebabCase.test.d.ts +0 -2
- package/cjs/string/toKebabCase.test.d.ts.map +0 -1
- package/cjs/string/toSnakeCase.d.ts +0 -8
- package/cjs/string/toSnakeCase.d.ts.map +0 -1
- package/cjs/string/toSnakeCase.js +0 -18
- package/cjs/string/toSnakeCase.js.map +0 -1
- package/cjs/string/toSnakeCase.test.d.ts +0 -2
- package/cjs/string/toSnakeCase.test.d.ts.map +0 -1
- package/cjs/string/toStudlyCase.d.ts +0 -10
- package/cjs/string/toStudlyCase.d.ts.map +0 -1
- package/cjs/string/toStudlyCase.js +0 -17
- package/cjs/string/toStudlyCase.js.map +0 -1
- package/cjs/string/trim.d.ts +0 -8
- package/cjs/string/trim.d.ts.map +0 -1
- package/cjs/string/trim.js +0 -16
- package/cjs/string/trim.js.map +0 -1
- package/cjs/string/ucfirst.d.ts +0 -7
- package/cjs/string/ucfirst.d.ts.map +0 -1
- package/cjs/string/ucfirst.js +0 -10
- package/cjs/string/ucfirst.js.map +0 -1
- package/cjs/types.d.ts +0 -4
- package/cjs/types.d.ts.map +0 -1
- package/cjs/utils/debounce.d.ts +0 -9
- package/cjs/utils/debounce.d.ts.map +0 -1
- package/cjs/utils/debounce.js +0 -14
- package/cjs/utils/debounce.js.map +0 -1
- package/cjs/utils/escapeRegex.d.ts +0 -5
- package/cjs/utils/escapeRegex.d.ts.map +0 -1
- package/cjs/utils/escapeRegex.js +0 -6
- package/cjs/utils/escapeRegex.js.map +0 -1
- package/cjs/utils/escapeRegex.test.d.ts +0 -2
- package/cjs/utils/escapeRegex.test.d.ts.map +0 -1
- package/esm/Random/random.d.ts +0 -36
- package/esm/Random/random.d.ts.map +0 -1
- package/esm/Random/random.js +0 -62
- package/esm/Random/random.js.map +0 -1
- package/esm/Random/random.test.d.ts +0 -2
- package/esm/Random/random.test.d.ts.map +0 -1
- package/esm/array/average.d.ts +0 -7
- package/esm/array/average.d.ts.map +0 -1
- package/esm/array/average.js +0 -10
- package/esm/array/average.js.map +0 -1
- package/esm/array/average.test.d.ts +0 -2
- package/esm/array/average.test.d.ts.map +0 -1
- package/esm/array/chunk.d.ts +0 -5
- package/esm/array/chunk.d.ts.map +0 -1
- package/esm/array/chunk.js +0 -12
- package/esm/array/chunk.js.map +0 -1
- package/esm/array/chunk.test.d.ts +0 -2
- package/esm/array/chunk.test.d.ts.map +0 -1
- package/esm/array/count.d.ts +0 -5
- package/esm/array/count.d.ts.map +0 -1
- package/esm/array/count.js +0 -13
- package/esm/array/count.js.map +0 -1
- package/esm/array/count.test.d.ts +0 -2
- package/esm/array/count.test.d.ts.map +0 -1
- package/esm/array/countBy.d.ts +0 -7
- package/esm/array/countBy.d.ts.map +0 -1
- package/esm/array/countBy.js +0 -18
- package/esm/array/countBy.js.map +0 -1
- package/esm/array/countBy.test.d.ts +0 -2
- package/esm/array/countBy.test.d.ts.map +0 -1
- package/esm/array/even.d.ts +0 -7
- package/esm/array/even.d.ts.map +0 -1
- package/esm/array/even.js +0 -13
- package/esm/array/even.js.map +0 -1
- package/esm/array/even.test.d.ts +0 -2
- package/esm/array/even.test.d.ts.map +0 -1
- package/esm/array/evenIndexes.d.ts +0 -5
- package/esm/array/evenIndexes.d.ts.map +0 -1
- package/esm/array/evenIndexes.js +0 -8
- package/esm/array/evenIndexes.js.map +0 -1
- package/esm/array/evenIndexes.test.d.ts +0 -2
- package/esm/array/evenIndexes.test.d.ts.map +0 -1
- package/esm/array/groupBy.d.ts +0 -8
- package/esm/array/groupBy.d.ts.map +0 -1
- package/esm/array/groupBy.js +0 -41
- package/esm/array/groupBy.js.map +0 -1
- package/esm/array/groupBy.test.d.ts +0 -2
- package/esm/array/groupBy.test.d.ts.map +0 -1
- package/esm/array/max.d.ts +0 -7
- package/esm/array/max.d.ts.map +0 -1
- package/esm/array/max.js +0 -19
- package/esm/array/max.js.map +0 -1
- package/esm/array/max.test.d.ts +0 -2
- package/esm/array/max.test.d.ts.map +0 -1
- package/esm/array/median.d.ts +0 -7
- package/esm/array/median.d.ts.map +0 -1
- package/esm/array/median.js +0 -26
- package/esm/array/median.js.map +0 -1
- package/esm/array/median.test.d.ts +0 -2
- package/esm/array/median.test.d.ts.map +0 -1
- package/esm/array/min.d.ts +0 -7
- package/esm/array/min.d.ts.map +0 -1
- package/esm/array/min.js +0 -19
- package/esm/array/min.js.map +0 -1
- package/esm/array/min.test.d.ts +0 -2
- package/esm/array/min.test.d.ts.map +0 -1
- package/esm/array/odd.d.ts +0 -7
- package/esm/array/odd.d.ts.map +0 -1
- package/esm/array/odd.js +0 -13
- package/esm/array/odd.js.map +0 -1
- package/esm/array/odd.test.d.ts +0 -2
- package/esm/array/odd.test.d.ts.map +0 -1
- package/esm/array/oddIndexes.d.ts +0 -5
- package/esm/array/oddIndexes.d.ts.map +0 -1
- package/esm/array/oddIndexes.js +0 -8
- package/esm/array/oddIndexes.js.map +0 -1
- package/esm/array/oddIndexes.test.d.ts +0 -2
- package/esm/array/oddIndexes.test.d.ts.map +0 -1
- package/esm/array/pluck.d.ts +0 -9
- package/esm/array/pluck.d.ts.map +0 -1
- package/esm/array/pluck.js +0 -20
- package/esm/array/pluck.js.map +0 -1
- package/esm/array/pluck.test.d.ts +0 -2
- package/esm/array/pluck.test.d.ts.map +0 -1
- package/esm/array/pushUnique.d.ts +0 -6
- package/esm/array/pushUnique.d.ts.map +0 -1
- package/esm/array/pushUnique.js +0 -12
- package/esm/array/pushUnique.js.map +0 -1
- package/esm/array/pushUnique.test.d.ts +0 -2
- package/esm/array/pushUnique.test.d.ts.map +0 -1
- package/esm/array/range.d.ts +0 -5
- package/esm/array/range.d.ts.map +0 -1
- package/esm/array/range.js +0 -19
- package/esm/array/range.js.map +0 -1
- package/esm/array/range.test.d.ts +0 -2
- package/esm/array/range.test.d.ts.map +0 -1
- package/esm/array/sum.d.ts +0 -7
- package/esm/array/sum.d.ts.map +0 -1
- package/esm/array/sum.js +0 -26
- package/esm/array/sum.js.map +0 -1
- package/esm/array/sum.test.d.ts +0 -2
- package/esm/array/sum.test.d.ts.map +0 -1
- package/esm/array/unique.d.ts +0 -5
- package/esm/array/unique.d.ts.map +0 -1
- package/esm/array/unique.js +0 -13
- package/esm/array/unique.js.map +0 -1
- package/esm/array/unique.test.d.ts +0 -2
- package/esm/array/unique.test.d.ts.map +0 -1
- package/esm/array/unshiftUnique.d.ts +0 -6
- package/esm/array/unshiftUnique.d.ts.map +0 -1
- package/esm/array/unshiftUnique.js +0 -12
- package/esm/array/unshiftUnique.js.map +0 -1
- package/esm/array/unshiftUnique.test.d.ts +0 -2
- package/esm/array/unshiftUnique.test.d.ts.map +0 -1
- package/esm/index.d.ts +0 -57
- package/esm/index.d.ts.map +0 -1
- package/esm/mixed/areEqual/areEqual.d.ts +0 -5
- package/esm/mixed/areEqual/areEqual.d.ts.map +0 -1
- package/esm/mixed/areEqual/areEqual.js +0 -17
- package/esm/mixed/areEqual/areEqual.js.map +0 -1
- package/esm/mixed/areEqual/areEqual.test.d.ts +0 -2
- package/esm/mixed/areEqual/areEqual.test.d.ts.map +0 -1
- package/esm/mixed/clone/clone.d.ts +0 -2
- package/esm/mixed/clone/clone.d.ts.map +0 -1
- package/esm/mixed/clone/clone.js +0 -36
- package/esm/mixed/clone/clone.js.map +0 -1
- package/esm/mixed/clone/clone.test.d.ts +0 -2
- package/esm/mixed/clone/clone.test.d.ts.map +0 -1
- package/esm/mixed/shuffle/shuffle.d.ts +0 -5
- package/esm/mixed/shuffle/shuffle.d.ts.map +0 -1
- package/esm/mixed/shuffle/shuffle.js +0 -13
- package/esm/mixed/shuffle/shuffle.js.map +0 -1
- package/esm/mixed/shuffle/shuffle.test.d.ts +0 -2
- package/esm/mixed/shuffle/shuffle.test.d.ts.map +0 -1
- package/esm/number/round.d.ts +0 -5
- package/esm/number/round.d.ts.map +0 -1
- package/esm/number/round.js +0 -7
- package/esm/number/round.js.map +0 -1
- package/esm/object/except.d.ts +0 -5
- package/esm/object/except.d.ts.map +0 -1
- package/esm/object/except.js +0 -9
- package/esm/object/except.js.map +0 -1
- package/esm/object/except.test.d.ts +0 -2
- package/esm/object/except.test.d.ts.map +0 -1
- package/esm/object/flatten.d.ts +0 -5
- package/esm/object/flatten.d.ts.map +0 -1
- package/esm/object/flatten.js +0 -30
- package/esm/object/flatten.js.map +0 -1
- package/esm/object/flatten.test.d.ts +0 -2
- package/esm/object/flatten.test.d.ts.map +0 -1
- package/esm/object/get.d.ts +0 -5
- package/esm/object/get.d.ts.map +0 -1
- package/esm/object/get.js +0 -25
- package/esm/object/get.js.map +0 -1
- package/esm/object/get.test.d.ts +0 -2
- package/esm/object/get.test.d.ts.map +0 -1
- package/esm/object/map.d.ts +0 -5
- package/esm/object/map.d.ts.map +0 -1
- package/esm/object/map.js +0 -8
- package/esm/object/map.js.map +0 -1
- package/esm/object/merge.d.ts +0 -10
- package/esm/object/merge.d.ts.map +0 -1
- package/esm/object/merge.js +0 -88
- package/esm/object/merge.js.map +0 -1
- package/esm/object/merge.test.d.ts +0 -2
- package/esm/object/merge.test.d.ts.map +0 -1
- package/esm/object/only.d.ts +0 -5
- package/esm/object/only.d.ts.map +0 -1
- package/esm/object/only.js +0 -13
- package/esm/object/only.js.map +0 -1
- package/esm/object/only.test.d.ts +0 -2
- package/esm/object/only.test.d.ts.map +0 -1
- package/esm/object/set.d.ts +0 -6
- package/esm/object/set.d.ts.map +0 -1
- package/esm/object/set.js +0 -29
- package/esm/object/set.js.map +0 -1
- package/esm/object/set.test.d.ts +0 -2
- package/esm/object/set.test.d.ts.map +0 -1
- package/esm/object/sort.d.ts +0 -5
- package/esm/object/sort.d.ts.map +0 -1
- package/esm/object/sort.js +0 -13
- package/esm/object/sort.js.map +0 -1
- package/esm/object/unset.d.ts +0 -5
- package/esm/object/unset.d.ts.map +0 -1
- package/esm/object/unset.js +0 -23
- package/esm/object/unset.js.map +0 -1
- package/esm/object/unset.test.d.ts +0 -2
- package/esm/object/unset.test.d.ts.map +0 -1
- package/esm/string/capitalize.d.ts +0 -7
- package/esm/string/capitalize.d.ts.map +0 -1
- package/esm/string/capitalize.js +0 -13
- package/esm/string/capitalize.js.map +0 -1
- package/esm/string/extension.d.ts +0 -5
- package/esm/string/extension.d.ts.map +0 -1
- package/esm/string/extension.js +0 -9
- package/esm/string/extension.js.map +0 -1
- package/esm/string/initials.d.ts +0 -5
- package/esm/string/initials.d.ts.map +0 -1
- package/esm/string/initials.js +0 -14
- package/esm/string/initials.js.map +0 -1
- package/esm/string/initials.test.d.ts +0 -2
- package/esm/string/initials.test.d.ts.map +0 -1
- package/esm/string/ltrim.d.ts +0 -8
- package/esm/string/ltrim.d.ts.map +0 -1
- package/esm/string/ltrim.js +0 -12
- package/esm/string/ltrim.js.map +0 -1
- package/esm/string/readMoreChars.d.ts +0 -6
- package/esm/string/readMoreChars.d.ts.map +0 -1
- package/esm/string/readMoreChars.js +0 -11
- package/esm/string/readMoreChars.js.map +0 -1
- package/esm/string/readMoreWords.d.ts +0 -6
- package/esm/string/readMoreWords.d.ts.map +0 -1
- package/esm/string/readMoreWords.js +0 -11
- package/esm/string/readMoreWords.js.map +0 -1
- package/esm/string/removeFirst.d.ts +0 -8
- package/esm/string/removeFirst.d.ts.map +0 -1
- package/esm/string/removeFirst.js +0 -11
- package/esm/string/removeFirst.js.map +0 -1
- package/esm/string/removeLast.d.ts +0 -8
- package/esm/string/removeLast.d.ts.map +0 -1
- package/esm/string/removeLast.js +0 -11
- package/esm/string/removeLast.js.map +0 -1
- package/esm/string/repeatsOf.d.ts +0 -8
- package/esm/string/repeatsOf.d.ts.map +0 -1
- package/esm/string/repeatsOf.js +0 -16
- package/esm/string/repeatsOf.js.map +0 -1
- package/esm/string/replaceAll.d.ts +0 -9
- package/esm/string/replaceAll.d.ts.map +0 -1
- package/esm/string/replaceAll.js +0 -12
- package/esm/string/replaceAll.js.map +0 -1
- package/esm/string/replaceFirst.d.ts +0 -9
- package/esm/string/replaceFirst.d.ts.map +0 -1
- package/esm/string/replaceFirst.js +0 -12
- package/esm/string/replaceFirst.js.map +0 -1
- package/esm/string/replaceLast.d.ts +0 -9
- package/esm/string/replaceLast.d.ts.map +0 -1
- package/esm/string/replaceLast.js +0 -18
- package/esm/string/replaceLast.js.map +0 -1
- package/esm/string/rtrim.d.ts +0 -8
- package/esm/string/rtrim.d.ts.map +0 -1
- package/esm/string/rtrim.js +0 -12
- package/esm/string/rtrim.js.map +0 -1
- package/esm/string/startsWithArabic.d.ts +0 -3
- package/esm/string/startsWithArabic.d.ts.map +0 -1
- package/esm/string/startsWithArabic.js +0 -9
- package/esm/string/startsWithArabic.js.map +0 -1
- package/esm/string/toCamelCase.d.ts +0 -2
- package/esm/string/toCamelCase.d.ts.map +0 -1
- package/esm/string/toCamelCase.js +0 -9
- package/esm/string/toCamelCase.js.map +0 -1
- package/esm/string/toCamelCase.test.d.ts +0 -2
- package/esm/string/toCamelCase.test.d.ts.map +0 -1
- package/esm/string/toInputName.d.ts +0 -6
- package/esm/string/toInputName.d.ts.map +0 -1
- package/esm/string/toInputName.js +0 -19
- package/esm/string/toInputName.js.map +0 -1
- package/esm/string/toKebabCase.d.ts +0 -5
- package/esm/string/toKebabCase.d.ts.map +0 -1
- package/esm/string/toKebabCase.js +0 -8
- package/esm/string/toKebabCase.js.map +0 -1
- package/esm/string/toKebabCase.test.d.ts +0 -2
- package/esm/string/toKebabCase.test.d.ts.map +0 -1
- package/esm/string/toSnakeCase.d.ts +0 -8
- package/esm/string/toSnakeCase.d.ts.map +0 -1
- package/esm/string/toSnakeCase.js +0 -18
- package/esm/string/toSnakeCase.js.map +0 -1
- package/esm/string/toSnakeCase.test.d.ts +0 -2
- package/esm/string/toSnakeCase.test.d.ts.map +0 -1
- package/esm/string/toStudlyCase.d.ts +0 -10
- package/esm/string/toStudlyCase.d.ts.map +0 -1
- package/esm/string/toStudlyCase.js +0 -17
- package/esm/string/toStudlyCase.js.map +0 -1
- package/esm/string/trim.d.ts +0 -8
- package/esm/string/trim.d.ts.map +0 -1
- package/esm/string/trim.js +0 -16
- package/esm/string/trim.js.map +0 -1
- package/esm/string/ucfirst.d.ts +0 -7
- package/esm/string/ucfirst.d.ts.map +0 -1
- package/esm/string/ucfirst.js +0 -10
- package/esm/string/ucfirst.js.map +0 -1
- package/esm/types.d.ts +0 -4
- package/esm/types.d.ts.map +0 -1
- package/esm/utils/debounce.d.ts +0 -9
- package/esm/utils/debounce.d.ts.map +0 -1
- package/esm/utils/debounce.js +0 -14
- package/esm/utils/debounce.js.map +0 -1
- package/esm/utils/escapeRegex.d.ts +0 -5
- package/esm/utils/escapeRegex.d.ts.map +0 -1
- package/esm/utils/escapeRegex.js +0 -6
- package/esm/utils/escapeRegex.js.map +0 -1
- package/esm/utils/escapeRegex.test.d.ts +0 -2
- package/esm/utils/escapeRegex.test.d.ts.map +0 -1
package/cjs/index.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';function Tr(r,t,e){return t.split(".").reduce((n,o)=>n===void 0||typeof n!="object"?e:n===null?n:n.hasOwnProperty&&n.hasOwnProperty(o)?n[o]:e,r)}function u(r,t,e){return r?r[t]?r[t]:Tr(r,t,e):e}function h(r,t){return Array.isArray(r)?t?r.reduce((e,n)=>{let o=u(n,t,0);return typeof o!="number"||isNaN(o)?e:e+o},0):r.reduce((e,n)=>typeof n!="number"||isNaN(n)?e:e+n,0):0}function _(r,t){return Array.isArray(r)?h(r,t)/r.length:0}function B(r,t){if(!Array.isArray(r)&&typeof r!="string")return [];let e=[];for(let n=0;n<r.length;n+=t)e.push(r.slice(n,n+t));return e}var K=Symbol("notFound");function L(r,t){return Array.isArray(r)?typeof t=="string"?r.filter(e=>u(e,t,K)!==K).length:r.filter(t).length:0}function q(r,t){return Array.isArray(r)?r.reduce((e,n)=>{let o=u(n,t);return e[o]?e[o]++:e[o]=1,e},{}):{}}function G(r,t){return Array.isArray(r)?r.filter(e=>{let n=t?u(e,t):e;return typeof n!="number"?false:n%2===0}):[]}function W(r){return Array.isArray(r)?r.filter((t,e)=>e%2===0):[]}function J(r,t,e="data"){let n={},o=typeof t=="string"?[t]:t;for(let f of r){let s=[];for(let p of o){let c=u(f,p);if(!c)break;s.push({key:p,value:c});}let m=JSON.stringify(s);if(!n[m]){let p={data:[]};for(let c of s)p[c.key]=c.value;n[m]=p;}n[m]?.data?.push(f);}let i=[];for(let f in n){let{data:s,...m}=n[f];i.push({...m,[e]:s});}return i}function V(r,t){if(!Array.isArray(r))return 0;let e=0;for(let n=0;n<r.length;n++){let o=Number(t?u(r[n],t):r[n]);isNaN(o)||(e===0||o>e)&&(e=o);}return e}function A(r,t,e){if(!r||typeof r!="object")return r;if(!t.includes("."))return r[t]=e,r;let n=t.split("."),o=r;for(let i=0;i<n.length;i++){let f=n[i];i+1===n.length?o[f]=e:typeof o[f]>"u"?o=o[f]={}:o=o[f];}return r}function b(r,t){let e={};for(let n of t){let o=u(r,n,void 0);o!==void 0&&A(e,n,o);}return e}function y(r,t){if(!Array.isArray(r))return [];if(t){if(typeof t=="string")return r.map(e=>u(e,t));if(Array.isArray(t))return r.map(e=>b(e,t))}return r}function z(r,t){if(!Array.isArray(r)||t&&(r=y(r,t),!Array.isArray(r))||!r.every(i=>typeof i=="number"))return 0;let e=r.length;if(e===0)return 0;r.sort((i,f)=>i-f);let n=Math.floor(e/2),o=e%2?r[n]:(r[n-1]+r[n])/2;return isNaN(o)||typeof o!="number"?0:o}function U(r,t){if(!Array.isArray(r))return 0;let e=0;for(let n=0;n<r.length;n++){let o=Number(t?u(r[n],t):r[n]);isNaN(o)||(e===0||o<e)&&(e=o);}return e}function Z(r,t){return Array.isArray(r)?r.filter(e=>{let n=Number(t?u(e,t):e);return isNaN(n)?false:n%2!==0}):[]}function H(r){return Array.isArray(r)?r.filter((t,e)=>e%2!==0):[]}function Q(r,...t){return t.forEach(e=>{r.includes(e)||r.push(e);}),r}function X(r,t){if(typeof r!="number")throw new Error(`min parameter should be number, "${typeof r}" given.`);if(typeof t!="number")throw new Error(`max parameter should be number, "${typeof t}" given.`);if(r>=t)throw new Error("max parameter should be higher than min parameter");let e=[];for(let n=r;n<=t;n++)e.push(n);return e}function Y(r,t){return Array.isArray(r)?t&&(r=y(r,t),!Array.isArray(r))?[]:[...new Set(r)]:[]}function j(r,...t){return t.forEach(e=>{r.includes(e)||r.unshift(e);}),r}function v(r,t){return ["symbol","number","boolean","string","undefined"].includes(typeof r)||!r||!t?r===t:(Array.isArray(r)&&(r=r.sort()),Array.isArray(t)&&(t=t.sort()),JSON.stringify(r)===JSON.stringify(t))}function g(r){if(!r)return r;if(typeof r=="object"&&r!==null){if(Array.isArray(r))return r.map(t=>g(t));if(r instanceof Date)return new Date(r.getTime());if(r instanceof Set)return new Set(Array.from(r,g));if(r instanceof Map)return new Map(Array.from(r,([t,e])=>[t,g(e)]));if(typeof r=="object"){let t=Object.getPrototypeOf(r);if(!(t===Object.prototype||t===null))return r;let n=Object.create(t);for(let o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[o]=g(r[o]));return n}}else return r;return r}function S(r){return !r||!Array.isArray(r)&&typeof r!="string"?r:typeof r=="string"?S(r.split("")).join(""):Array.isArray(r)?r.sort(()=>Math.random()-.5):r}function rr(r,t=2){let e=Math.pow(10,t||0);return Math.floor(r*e)/e}function w(r,t){if(!r||typeof r!="object"||Array.isArray(r))return r;for(let e of t){let n=e.split(".");if(n.length===1)delete r[e];else {let o=n.pop(),i=u(r,n.join("."));i&&delete i[o];}}return r}function tr(r,t){if(!r||typeof r!="object"||Array.isArray(r))return r;let e={...r};return w(e,t)}function er(r){return r!==null&&typeof r=="object"}function F(r,t=".",e=false,n,o={}){if(er(r)===false)return r;for(let i of Object.keys(r)){let f=r[i],s=n?n+t+i:i;Array.isArray(f)&&f.length===0||typeof f=="function"?o[s]=f:er(f)?(e&&(o[s]=f),F(f,t,e,s,o)):o[s]=f;}return o}function nr(r,t){return Object.keys(r).map(e=>t(e,r[e],r))}var I=Array.isArray,T=r=>r&&r.constructor.name==="Object";function or(r){return T(r)?"get"in r&&typeof r.get=="function"||"set"in r&&typeof r.set=="function"||"value"in r&&("writable"in r||"enumerable"in r||"configurable"in r):false}function O(...r){if(r.length===0||!r[0])return r[0];let t=[];for(let i of r)(T(i)||I(i))&&t.push(i);if(t.length===0)return r[r.length-1];let n=0;return t.reduce((i,f)=>{let s=Object.keys(f);for(let m=0;m<s.length;m++){let p=s[m];if(!(p in f))continue;let c=f[p],M=i[p],a=c;if(I(a)?a=[...a]:T(a)&&!or(a)&&(n++,T(M)||I(M)?a=O(M,a):a=O(a),n--),or(a))a.configurable="configurable"in a?a.configurable:true,a.enumerable="enumerable"in a?a.enumerable:true,"value"in a&&!("writable"in a)&&(a.writable=true),Object.defineProperty(i,p,a);else {let $=Object.getOwnPropertyDescriptor(f,p);"get"in $?Object.defineProperty(i,p,$):i[p]=a;}}return i},{})}function k(r,t=true){if(!r||typeof r!="object"||Array.isArray(r))return r;let e={};return Object.keys(r).sort().forEach(o=>{e[o]=t?k(r[o]):r[o];}),e}var ir="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",d={int(r=1,t=9999999){return Math.floor(Math.random()*(t-r+1))+r},integer(r=1,t=9999999){return this.int(r,t)},string(r=32){let t="";for(let e=0;e<r;e++)t+=ir.charAt(Math.floor(Math.random()*ir.length));return t},id(r=6,t="el-"){return t+d.string(r)},bool(){return d.int(0,1)===1},boolean(){return d.int(0,1)===1},date(r,t){if(r&&!t)return new Date(d.int(r.getTime(),Date.now()));if(!r&&t)return new Date(d.int(0,t.getTime()));let e=Date.now();return new Date(d.int(e-1e11,e))},color(){return "#"+Math.floor(Math.random()*16777215).toString(16)}},Or=d;function N(r){return r?r.charAt(0).toUpperCase()+r.slice(1):""}function x(r){return r?r.split(" ").map(t=>N(t)).join(" "):""}function fr(r){if(!r)return "";let t=/(?:\.([^.]+))?$/,e=t.exec(r);return e?e[1]:""}function ur(r,t=""){if(!r)return "";if(typeof r!="string")throw new Error("The name must be a string");return r.split(" ").map(e=>e.charAt(0)).join(t)}function l(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ar(r,t=" "){if(!r)return "";let e="^"+l(t)+"+",n=new RegExp(e,"g");return r.replace(n,"")}function sr(r,t,e="..."){return r?r.length<=t?r:r.substring(0,t)+e:""}function pr(r,t,e="..."){if(!r)return "";let n=r.split(" "),o=n.slice(0,t);return o.join(" ")+(o.length<n.length?e:"")}function R(r,t,e){return r?r.replace(l(t),e):""}function lr(r,t){return r?R(r,t,""):""}function C(r,t,e){if(!r)return "";let n=r.lastIndexOf(t);return n<0?r:r.substr(0,n)+e+r.substr(n+t.length)}function mr(r,t){return r?C(r,t,""):""}function cr(r,t,e=true){if(!r)return 0;let n="g";e===false&&(n+="i");let o=new RegExp(`${t}`,n);return r.split(o).length-1}function dr(r,t,e){return r?r.replace(new RegExp(l(t),"g"),e):""}function E(r,t=" "){if(!r)return "";let e=l(t)+"+$",n=new RegExp(e,"g");return r.replace(n,"")}function P(r,t=" "){if(!r)return "";if(t===" ")return r.replace(/^\s+|\s+$/g,"");t=l(t);let e="^"+t+"+|"+t+"+$",n=new RegExp(e,"g");return r.replace(n,"")}var yr=/[\u0600-\u06FF]/;function gr(r,t=true){return r?(t===true&&(r=P(String(r))),r.charAt(0).match(yr)!==null):false}function xr(r,t="\\s+|-|/|_|\\."){if(!r)return "";let e=new RegExp(t+"|(?=[A-Z])","g");return r.split(e).map((n,o)=>o>0?x(n):n.toLowerCase()).join("")}function hr(r){if(!r)return "";let t=r.split("."),e=t.shift()||"";for(let n of t){let o="";n.endsWith("[]")&&(n=E(n,"[]"),o="[]"),e+=`[${n}]${o}`;}return e}function D(r,t="_",e=true){return r?r.replace(/(-|\/|\s|([A-Z]))+/g,function(n,o,i){return i?t+(e?i.toLowerCase():i):t}).replace(new RegExp(`^${t}`),""):""}function Ar(r,t=true){return r?D(r,"-",t):""}function br(r,t="-|\\.|_|/|\\s"){if(!r)return "";let e=new RegExp(t,"g");return r.split(e).map(n=>x(n)).join("")}function wr(r,t){let e;return function(...n){clearTimeout(e),e=setTimeout(()=>{r.apply(this,n);},t);}}exports.ARABIC_PATTERN=yr;exports.Random=Or;exports.areEqual=v;exports.average=_;exports.avg=_;exports.capitalize=x;exports.chunk=B;exports.clone=g;exports.count=L;exports.countBy=q;exports.debounce=wr;exports.escapeRegex=l;exports.even=G;exports.evenIndexes=W;exports.except=tr;exports.extension=fr;exports.flatten=F;exports.get=u;exports.groupBy=J;exports.initials=ur;exports.ltrim=ar;exports.map=nr;exports.max=V;exports.median=z;exports.merge=O;exports.min=U;exports.odd=Z;exports.oddIndexes=H;exports.only=b;exports.pluck=y;exports.pushUnique=Q;exports.range=X;exports.readMoreChars=sr;exports.readMoreWords=pr;exports.removeFirst=lr;exports.removeLast=mr;exports.repeatsOf=cr;exports.replaceAll=dr;exports.replaceFirst=R;exports.replaceLast=C;exports.round=rr;exports.rtrim=E;exports.set=A;exports.shuffle=S;exports.sort=k;exports.startsWithArabic=gr;exports.sum=h;exports.toCamelCase=xr;exports.toInputName=hr;exports.toKebabCase=Ar;exports.toSnakeCase=D;exports.toStudlyCase=br;exports.trim=P;exports.ucfirst=N;exports.unique=Y;exports.unset=w;exports.unshiftUnique=j;//# sourceMappingURL=index.js.map
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../reinforcements/src/object/get.ts","../../../../../../../reinforcements/src/array/sum.ts","../../../../../../../reinforcements/src/array/average.ts","../../../../../../../reinforcements/src/array/chunk.ts","../../../../../../../reinforcements/src/array/count.ts","../../../../../../../reinforcements/src/array/countBy.ts","../../../../../../../reinforcements/src/array/even.ts","../../../../../../../reinforcements/src/array/evenIndexes.ts","../../../../../../../reinforcements/src/array/groupBy.ts","../../../../../../../reinforcements/src/array/max.ts","../../../../../../../reinforcements/src/object/set.ts","../../../../../../../reinforcements/src/object/only.ts","../../../../../../../reinforcements/src/array/pluck.ts","../../../../../../../reinforcements/src/array/median.ts","../../../../../../../reinforcements/src/array/min.ts","../../../../../../../reinforcements/src/array/odd.ts","../../../../../../../reinforcements/src/array/oddIndexes.ts","../../../../../../../reinforcements/src/array/pushUnique.ts","../../../../../../../reinforcements/src/array/range.ts","../../../../../../../reinforcements/src/array/unique.ts","../../../../../../../reinforcements/src/array/unshiftUnique.ts","../../../../../../../reinforcements/src/mixed/areEqual/areEqual.ts","../../../../../../../reinforcements/src/mixed/clone/clone.ts","../../../../../../../reinforcements/src/mixed/shuffle/shuffle.ts","../../../../../../../reinforcements/src/number/round.ts","../../../../../../../reinforcements/src/object/unset.ts","../../../../../../../reinforcements/src/object/except.ts","../../../../../../../reinforcements/src/object/flatten.ts","../../../../../../../reinforcements/src/object/map.ts","../../../../../../../reinforcements/src/object/merge.ts","../../../../../../../reinforcements/src/object/sort.ts","../../../../../../../reinforcements/src/Random/random.ts","../../../../../../../reinforcements/src/string/ucfirst.ts","../../../../../../../reinforcements/src/string/capitalize.ts","../../../../../../../reinforcements/src/string/extension.ts","../../../../../../../reinforcements/src/string/initials.ts","../../../../../../../reinforcements/src/utils/escapeRegex.ts","../../../../../../../reinforcements/src/string/ltrim.ts","../../../../../../../reinforcements/src/string/readMoreChars.ts","../../../../../../../reinforcements/src/string/readMoreWords.ts","../../../../../../../reinforcements/src/string/replaceFirst.ts","../../../../../../../reinforcements/src/string/removeFirst.ts","../../../../../../../reinforcements/src/string/replaceLast.ts","../../../../../../../reinforcements/src/string/removeLast.ts","../../../../../../../reinforcements/src/string/repeatsOf.ts","../../../../../../../reinforcements/src/string/replaceAll.ts","../../../../../../../reinforcements/src/string/rtrim.ts","../../../../../../../reinforcements/src/string/trim.ts","../../../../../../../reinforcements/src/string/startsWithArabic.ts","../../../../../../../reinforcements/src/string/toCamelCase.ts","../../../../../../../reinforcements/src/string/toInputName.ts","../../../../../../../reinforcements/src/string/toSnakeCase.ts","../../../../../../../reinforcements/src/string/toKebabCase.ts","../../../../../../../reinforcements/src/string/toStudlyCase.ts","../../../../../../../reinforcements/src/utils/debounce.ts"],"names":["getValue","object","keyChain","defaultValue","acc","key","get","sum","array","total","item","value","average","chunk","size","result","i","notFound","count","data","countBy","even","evenIndexes","_item","index","groupBy","groupByKey","listAs","groupedData","groupByKeys","baseKeys","dataKey","groupedDataList","groupByKeyData","finalData","groupedKeyWithValue","otherGroupedKeys","max","maxValue","set","keys","currentObject","only","newObject","pluck","median","length","a","b","middle","min","minValue","odd","oddIndexes","pushUnique","items","range","unique","unshiftUnique","areEqual","value2","clone","val","proto","cloned","prop","shuffle","round","precision","multiplier","unset","keyPath","lastKey","parent","except","canBeFlatten","flatten","separator","keepNestedOriginalObject","root","map","callback","isArray","isObject","isDescriptor","merge","objects","refinedObjects","mergeDepth","targetObject","srcObject","srcValue","targetValue","mergedObject","mergeDescriptor","sort","recursive","sortedObject","possible","Random","text","startsWith","minDate","maxDate","now","random_default","ucfirst","string","capitalize","word","extension","regex","initials","name","escapeRegex","ltrim","needle","pattern","readMoreChars","readMoreDots","readMoreWords","wordsList","words","replaceFirst","replacement","removeFirst","replaceLast","lastIndex","removeLast","repeatsOf","caseSensitive","flags","replaceAll","searchText","rtrim","trim","ARABIC_PATTERN","startsWithArabic","trimmed","toCamelCase","toInputName","namesList","mainName","outBrackets","toSnakeCase","lowerAll","_match","_v2","matchedUpperLetter","toKebabCase","toStudlyCase","debounce","time","timeoutId","args"],"mappings":"aAAA,SAASA,EAAAA,CAASC,CAAAA,CAAaC,CAAAA,CAAkBC,CAAAA,CAAmB,CAIlE,OAAOD,CAAAA,CAAS,KAAA,CAAM,GAAG,EAAE,MAAA,CAAO,CAACE,CAAAA,CAAKC,CAAAA,GAClCD,IAAQ,MAAA,EAAa,OAAOA,CAAAA,EAAQ,QAAA,CAC/BD,CAAAA,CAGLC,CAAAA,GAAQ,IAAA,CAAaA,CAAAA,CAElBA,EAAI,cAAA,EAAkBA,CAAAA,CAAI,cAAA,CAAeC,CAAG,EAC/CD,CAAAA,CAAIC,CAAG,CAAA,CACPF,CAAAA,CACHF,CAAM,CACX,CAKe,SAARK,CAAAA,CAAqBL,CAAAA,CAAaI,CAAAA,CAAaF,CAAAA,CAAyB,CAC7E,OAAKF,CAAAA,CAEDA,CAAAA,CAAOI,CAAG,CAAA,CAAUJ,EAAOI,CAAG,CAAA,CAE3BL,EAAAA,CAASC,CAAAA,CAAQI,EAAKF,CAAY,CAAA,CAJrBA,CAKtB,CCnBe,SAARI,CAAAA,CAAqBC,CAAAA,CAAcH,CAAAA,CAAsB,CAC9D,OAAK,KAAA,CAAM,OAAA,CAAQG,CAAK,CAAA,CAEpBH,EACKG,CAAAA,CAAM,MAAA,CAAO,CAACC,CAAAA,CAAOC,IAAS,CACnC,IAAMC,CAAAA,CAAQL,CAAAA,CAAII,CAAAA,CAAML,CAAAA,CAAK,CAAC,CAAA,CAE9B,OAAI,OAAOM,CAAAA,EAAU,QAAA,EAAY,KAAA,CAAMA,CAAK,CAAA,CACnCF,CAAAA,CAGFA,CAAAA,CAAQE,CACjB,EAAG,CAAC,CAAA,CAMCH,CAAAA,CAAM,MAAA,CAAO,CAACC,CAAAA,CAAOE,CAAAA,GACtB,OAAOA,GAAU,QAAA,EAAY,KAAA,CAAMA,CAAK,CAAA,CACnCF,EAGFA,CAAAA,CAAQE,CAAAA,CACd,CAAC,CAAA,CAvB8B,CAwBpC,CCzBe,SAARC,CAAAA,CAAyBJ,CAAAA,CAAcH,CAAAA,CAAsB,CAClE,OAAK,KAAA,CAAM,QAAQG,CAAK,CAAA,CAEjBD,CAAAA,CAAIC,CAAAA,CAAOH,CAAG,CAAA,CAAIG,CAAAA,CAAM,MAAA,CAFG,CAGpC,CCRe,SAARK,CAAAA,CAAuBL,CAAAA,CAAuBM,CAAAA,CAAqB,CACxE,GAAI,CAAC,KAAA,CAAM,OAAA,CAAQN,CAAK,CAAA,EAAK,OAAOA,CAAAA,EAAU,QAAA,CAAU,OAAO,EAAC,CAEhE,IAAMO,CAAAA,CAAgB,EAAC,CAEvB,IAAA,IAASC,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAIR,CAAAA,CAAM,MAAA,CAAQQ,CAAAA,EAAKF,EACrCC,CAAAA,CAAO,IAAA,CAAKP,CAAAA,CAAM,KAAA,CAAMQ,EAAGA,CAAAA,CAAIF,CAAI,CAAC,CAAA,CAGtC,OAAOC,CACT,CCXA,IAAME,CAAAA,CAAW,MAAA,CAAO,UAAU,CAAA,CAKnB,SAARC,EACLC,CAAAA,CACAd,CAAAA,CACQ,CACR,OAAK,MAAM,OAAA,CAAQc,CAAI,CAAA,CAEnB,OAAOd,GAAQ,QAAA,CACVc,CAAAA,CAAK,MAAA,CAAOT,CAAAA,EAAQJ,CAAAA,CAAII,CAAAA,CAAgBL,CAAAA,CAAKY,CAAQ,IAAMA,CAAQ,CAAA,CACvE,MAAA,CAGEE,CAAAA,CAAK,OAAOd,CAAG,CAAA,CAAE,MAAA,CAPS,CAQnC,CCde,SAARe,CAAAA,CACLZ,CAAAA,CACAH,CAAAA,CAC2B,CAC3B,OAAK,KAAA,CAAM,OAAA,CAAQG,CAAK,EAIjBA,CAAAA,CAAM,MAAA,CAAO,CAACO,CAAAA,CAAQL,IAAS,CACpC,IAAMC,CAAAA,CAAQL,CAAAA,CAAII,EAAML,CAAG,CAAA,CAE3B,OAAIU,CAAAA,CAAOJ,CAAK,CAAA,CACdI,CAAAA,CAAOJ,CAAK,IAEZI,CAAAA,CAAOJ,CAAK,CAAA,CAAI,CAAA,CAGXI,CACT,CAAA,CAAG,EAAE,CAAA,CAbI,EAcX,CCjBe,SAARM,CAAAA,CAAsBb,CAAAA,CAAcH,CAAAA,CAAqB,CAC9D,OAAK,MAAM,OAAA,CAAQG,CAAK,CAAA,CAEjBA,CAAAA,CAAM,OAAOE,CAAAA,EAAQ,CAC1B,IAAMC,CAAAA,CAAQN,EAAMC,CAAAA,CAAII,CAAAA,CAAML,CAAG,CAAA,CAAIK,CAAAA,CAErC,OAAO,OAAOC,CAAAA,EAAU,SAAW,KAAA,CAAQA,CAAAA,CAAQ,CAAA,GAAM,CAC3D,CAAC,CAAA,CANiC,EAOpC,CCZe,SAARW,CAAAA,CAA6Bd,CAAAA,CAAqB,CACvD,OAAK,MAAM,OAAA,CAAQA,CAAK,CAAA,CAEjBA,CAAAA,CAAM,OAAO,CAACe,CAAAA,CAAOC,CAAAA,GAAUA,CAAAA,CAAQ,IAAM,CAAC,CAAA,CAFnB,EAGpC,CCCe,SAARC,CAAAA,CACLjB,CAAAA,CACAkB,CAAAA,CACAC,CAAAA,CAAS,MAAA,CACQ,CACjB,IAAMC,EAKF,EAAC,CAECC,CAAAA,CACJ,OAAOH,GAAe,QAAA,CAAW,CAACA,CAAU,CAAA,CAAIA,EAElD,IAAA,IAAWhB,CAAAA,IAAQF,CAAAA,CAAO,CACxB,IAAMsB,CAAAA,CAGD,EAAC,CAEN,QAAWJ,CAAAA,IAAcG,CAAAA,CAAa,CACpC,IAAMlB,EAAQL,CAAAA,CAAII,CAAAA,CAAMgB,CAAU,CAAA,CAClC,GAAI,CAACf,CAAAA,CAAO,MAEZmB,CAAAA,CAAS,IAAA,CAAK,CACZ,GAAA,CAAKJ,CAAAA,CACL,MAAAf,CACF,CAAC,EACH,CAEA,IAAMoB,CAAAA,CAAU,IAAA,CAAK,SAAA,CAAUD,CAAQ,EAEvC,GAAI,CAACF,CAAAA,CAAYG,CAAO,EAAG,CACzB,IAAMC,CAAAA,CAEF,CACF,KAAM,EACR,CAAA,CAEA,IAAA,IAAWC,KAAkBH,CAAAA,CAC3BE,CAAAA,CAAgBC,CAAAA,CAAe,GAAG,EAAIA,CAAAA,CAAe,KAAA,CAGvDL,CAAAA,CAAYG,CAAO,CAAA,CAAIC,EACzB,CAEAJ,CAAAA,CAAYG,CAAO,CAAA,EAAG,IAAA,EAAM,IAAA,CAAKrB,CAAI,EACvC,CAEA,IAAMwB,CAAAA,CAA6B,GAEnC,IAAA,IAAWC,CAAAA,IAAuBP,CAAAA,CAAa,CAC7C,GAAM,CAAE,IAAA,CAAAT,CAAAA,CAAM,GAAGiB,CAAiB,CAAA,CAAIR,CAAAA,CAAYO,CAAmB,EAErED,CAAAA,CAAU,IAAA,CAAK,CACb,GAAGE,EACH,CAACT,CAAM,EAAGR,CACZ,CAAC,EACH,CAEA,OAAOe,CACT,CC/De,SAARG,CAAAA,CAAqB7B,CAAAA,CAAcH,EAAsB,CAC9D,GAAI,CAAC,KAAA,CAAM,QAAQG,CAAK,CAAA,CAAG,OAAO,CAAA,CAElC,IAAI8B,CAAAA,CAAW,CAAA,CAEf,IAAA,IAAStB,CAAAA,CAAI,EAAGA,CAAAA,CAAIR,CAAAA,CAAM,MAAA,CAAQQ,CAAAA,EAAAA,CAAK,CACrC,IAAML,CAAAA,CAAc,MAAA,CAANN,CAAAA,CAAaC,EAAIE,CAAAA,CAAMQ,CAAC,CAAA,CAAGX,CAAG,CAAA,CAAYG,CAAAA,CAAMQ,CAAC,CAAlB,EAEzC,KAAA,CAAML,CAAK,CAAA,EAAA,CAEX2B,CAAAA,GAAa,GAAK3B,CAAAA,CAAQ2B,CAAAA,IAC5BA,CAAAA,CAAW3B,CAAAA,EAEf,CAEA,OAAO2B,CACT,CCnBe,SAARC,CAAAA,CACLtC,CAAAA,CACAI,CAAAA,CACAM,CAAAA,CACQ,CACR,GAAI,CAACV,CAAAA,EAAU,OAAOA,GAAW,QAAA,CAAU,OAAOA,CAAAA,CAElD,GAAI,CAACI,CAAAA,CAAI,QAAA,CAAS,GAAG,CAAA,CACnB,OAAAJ,CAAAA,CAAOI,CAAG,CAAA,CAAIM,EAEPV,CAAAA,CAGT,IAAMuC,CAAAA,CAAsBnC,CAAAA,CAAI,MAAM,GAAG,CAAA,CAErCoC,CAAAA,CAAgBxC,CAAAA,CAEpB,QAAS,CAAA,CAAI,CAAA,CAAG,CAAA,CAAIuC,CAAAA,CAAK,OAAQ,CAAA,EAAA,CAAK,CACpC,IAAMnC,CAAAA,CAAcmC,EAAK,CAAC,CAAA,CACtB,CAAA,CAAI,CAAA,GAAMA,EAAK,MAAA,CACjBC,CAAAA,CAAcpC,CAAG,CAAA,CAAIM,EAEjB,OAAO8B,CAAAA,CAAcpC,CAAG,CAAA,CAAM,GAAA,CAChCoC,CAAAA,CAAgBA,CAAAA,CAAcpC,CAAG,EAAI,EAAC,CAEtCoC,CAAAA,CAAgBA,CAAAA,CAAcpC,CAAG,EAGvC,CAEA,OAAOJ,CACT,CC7Be,SAARyC,CAAAA,CAAsBzC,CAAAA,CAAauC,CAAAA,CAA0B,CAClE,IAAMG,CAAAA,CAAiB,EAAC,CAExB,QAAWtC,CAAAA,IAAOmC,CAAAA,CAAM,CACtB,IAAM7B,EAAQL,CAAAA,CAAIL,CAAAA,CAAQI,CAAAA,CAAK,MAAS,EAEpCM,CAAAA,GAAU,MAAA,EACZ4B,CAAAA,CAAII,CAAAA,CAAWtC,CAAAA,CAAKM,CAAK,EAE7B,CAEA,OAAOgC,CACT,CCRe,SAARC,CAAAA,CAAuBpC,EAAcH,CAAAA,CAAgC,CAC1E,GAAI,CAAC,MAAM,OAAA,CAAQG,CAAK,CAAA,CAAG,OAAO,EAAC,CAEnC,GAAIH,CAAAA,CAAK,CACP,GAAI,OAAOA,CAAAA,EAAQ,QAAA,CACjB,OAAOG,EAAM,GAAA,CAAIE,CAAAA,EAAQJ,CAAAA,CAAII,CAAAA,CAAML,CAAG,CAAC,CAAA,CAGzC,GAAI,KAAA,CAAM,OAAA,CAAQA,CAAG,CAAA,CACnB,OAAOG,EAAM,GAAA,CAAIE,CAAAA,EAAQgC,CAAAA,CAAKhC,CAAAA,CAAML,CAAG,CAAC,CAE5C,CAEA,OAAOG,CACT,CCjBe,SAARqC,CAAAA,CAAwBrC,CAAAA,CAAcH,CAAAA,CAAsB,CAWjE,GAVI,CAAC,MAAM,OAAA,CAAQG,CAAK,CAAA,EAEpBH,CAAAA,GACFG,EAAQoC,CAAAA,CAAMpC,CAAAA,CAAOH,CAAG,CAAA,CAEpB,CAAC,KAAA,CAAM,OAAA,CAAQG,CAAK,CAAA,CAAA,EAKtB,CAACA,CAAAA,CAAM,KAAA,CAAME,CAAAA,EAAQ,OAAOA,CAAAA,EAAS,QAAQ,CAAA,CAAG,SAEpD,IAAMoC,CAAAA,CAAStC,CAAAA,CAAM,MAAA,CAErB,GAAIsC,CAAAA,GAAW,CAAA,CAAG,OAAO,CAAA,CAEzBtC,EAAM,IAAA,CAAK,CAACuC,CAAAA,CAAGC,CAAAA,GAAMD,EAAIC,CAAC,CAAA,CAE1B,IAAMC,CAAAA,CAAS,KAAK,KAAA,CAAMH,CAAAA,CAAS,CAAC,CAAA,CAE9BnC,EACJmC,CAAAA,CAAS,CAAA,CAAItC,CAAAA,CAAMyC,CAAM,CAAA,CAAA,CAAKzC,CAAAA,CAAMyC,CAAAA,CAAS,CAAC,EAAIzC,CAAAA,CAAMyC,CAAM,CAAA,EAAK,CAAA,CAErE,OAAI,KAAA,CAAMtC,CAAK,CAAA,EAAK,OAAOA,GAAU,QAAA,CAAiB,CAAA,CAE/CA,CACT,CC3Be,SAARuC,CAAAA,CAAqB1C,CAAAA,CAAcH,CAAAA,CAAsB,CAC9D,GAAI,CAAC,KAAA,CAAM,OAAA,CAAQG,CAAK,CAAA,CAAG,OAAO,CAAA,CAElC,IAAI2C,EAAW,CAAA,CAEf,IAAA,IAASnC,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAIR,CAAAA,CAAM,MAAA,CAAQQ,CAAAA,EAAAA,CAAK,CACrC,IAAML,CAAAA,CAAc,MAAA,CAANN,CAAAA,CAAaC,EAAIE,CAAAA,CAAMQ,CAAC,CAAA,CAAGX,CAAG,EAAYG,CAAAA,CAAMQ,CAAC,CAAlB,CAAA,CAEzC,MAAML,CAAK,CAAA,EAAA,CAEXwC,CAAAA,GAAa,CAAA,EAAKxC,EAAQwC,CAAAA,IAC5BA,CAAAA,CAAWxC,CAAAA,EAEf,CAEA,OAAOwC,CACT,CChBe,SAARC,CAAAA,CAAqB5C,EAAcH,CAAAA,CAAqB,CAC7D,OAAK,KAAA,CAAM,OAAA,CAAQG,CAAK,CAAA,CAEjBA,CAAAA,CAAM,OAAOE,CAAAA,EAAQ,CAC1B,IAAMC,CAAAA,CAAc,OAANN,CAAAA,CAAaC,CAAAA,CAAII,CAAAA,CAAML,CAAG,EAAYK,CAAX,CAAA,CAEzC,OAAO,KAAA,CAAMC,CAAK,CAAA,CAAI,KAAA,CAAQA,CAAAA,CAAQ,IAAM,CAC9C,CAAC,CAAA,CANiC,EAOpC,CCZe,SAAR0C,CAAAA,CAA4B7C,CAAAA,CAAqB,CACtD,OAAK,KAAA,CAAM,OAAA,CAAQA,CAAK,CAAA,CAEjBA,CAAAA,CAAM,MAAA,CAAO,CAACe,EAAOC,CAAAA,GAAUA,CAAAA,CAAQ,CAAA,GAAM,CAAC,EAFnB,EAGpC,CCHe,SAAR8B,EAAqC9C,CAAAA,CAAAA,GAAe+C,CAAAA,CAAiB,CAC1E,OAAAA,EAAM,OAAA,CAAQ7C,CAAAA,EAAQ,CACfF,CAAAA,CAAM,SAASE,CAAI,CAAA,EACtBF,CAAAA,CAAM,IAAA,CAAKE,CAAI,EAEnB,CAAC,CAAA,CACMF,CACT,CCRe,SAARgD,CAAAA,CAAuBN,CAAAA,CAAab,CAAAA,CAAa,CACtD,GAAI,OAAOa,CAAAA,EAAQ,SACjB,MAAM,IAAI,KAAA,CAAM,CAAA,iCAAA,EAAoC,OAAOA,CAAG,CAAA,QAAA,CAAU,CAAA,CAG1E,GAAI,OAAOb,CAAAA,EAAQ,QAAA,CACjB,MAAM,IAAI,KAAA,CAAM,CAAA,iCAAA,EAAoC,OAAOA,CAAG,UAAU,CAAA,CAG1E,GAAIa,CAAAA,EAAOb,CAAAA,CACT,MAAM,IAAI,KAAA,CAAM,mDAAmD,CAAA,CAGrE,IAAM7B,CAAAA,CAAkB,EAAC,CAEzB,IAAA,IAASQ,CAAAA,CAAIkC,CAAAA,CAAKlC,CAAAA,EAAKqB,CAAAA,CAAKrB,IAC1BR,CAAAA,CAAM,IAAA,CAAKQ,CAAC,CAAA,CAGd,OAAOR,CACT,CClBe,SAARiD,CAAAA,CAAwBjD,EAAcH,CAAAA,CAAqB,CAChE,OAAK,KAAA,CAAM,QAAQG,CAAK,CAAA,CAEpBH,CAAAA,GACFG,CAAAA,CAAQoC,EAAMpC,CAAAA,CAAOH,CAAG,CAAA,CAEpB,CAAC,MAAM,OAAA,CAAQG,CAAK,CAAA,CAAA,CAAU,GAG7B,CAAC,GAAG,IAAI,GAAA,CAAIA,CAAK,CAAC,CAAA,CARS,EASpC,CCXe,SAARkD,CAAAA,CAAwClD,CAAAA,CAAAA,GAAe+C,EAAiB,CAC7E,OAAAA,CAAAA,CAAM,OAAA,CAAQ7C,GAAQ,CACfF,CAAAA,CAAM,QAAA,CAASE,CAAI,CAAA,EACtBF,CAAAA,CAAM,OAAA,CAAQE,CAAI,EAEtB,CAAC,CAAA,CAEMF,CACT,CCTe,SAARmD,CAAAA,CAA0BhD,CAAAA,CAAYiD,CAAAA,CAAsB,CACjE,OACE,CAAC,QAAA,CAAU,QAAA,CAAU,SAAA,CAAW,QAAA,CAAU,WAAW,CAAA,CAAE,QAAA,CACrD,OAAOjD,CACT,CAAA,EACA,CAACA,CAAAA,EACD,CAACiD,CAAAA,CAEMjD,CAAAA,GAAUiD,CAAAA,EAGf,KAAA,CAAM,QAAQjD,CAAK,CAAA,GACrBA,CAAAA,CAAQA,CAAAA,CAAM,MAAK,CAAA,CAGjB,KAAA,CAAM,OAAA,CAAQiD,CAAM,IACtBA,CAAAA,CAASA,CAAAA,CAAO,IAAA,EAAK,CAAA,CAGhB,KAAK,SAAA,CAAUjD,CAAK,CAAA,GAAM,IAAA,CAAK,UAAUiD,CAAM,CAAA,CACxD,CCtBe,SAARC,CAAAA,CAA0BlD,CAAAA,CAAa,CAC5C,GAAI,CAACA,CAAAA,CAAO,OAAOA,CAAAA,CACnB,GAAI,OAAOA,CAAAA,EAAU,QAAA,EAAYA,CAAAA,GAAU,IAAA,CAAM,CAC/C,GAAI,KAAA,CAAM,OAAA,CAAQA,CAAK,CAAA,CACrB,OAAOA,CAAAA,CAAM,GAAA,CAAID,GAAQmD,CAAAA,CAAMnD,CAAI,CAAC,CAAA,CAC/B,GAAIC,CAAAA,YAAiB,IAAA,CAC1B,OAAO,IAAI,KAAKA,CAAAA,CAAM,OAAA,EAAS,CAAA,CAC1B,GAAIA,CAAAA,YAAiB,GAAA,CAC1B,OAAO,IAAI,GAAA,CAAI,KAAA,CAAM,IAAA,CAAKA,CAAAA,CAAOkD,CAAK,CAAC,CAAA,CAClC,GAAIlD,CAAAA,YAAiB,IAC1B,OAAO,IAAI,GAAA,CACT,KAAA,CAAM,KAAKA,CAAAA,CAAO,CAAC,CAACN,CAAAA,CAAKyD,CAAG,CAAA,GAAM,CAACzD,CAAAA,CAAKwD,CAAAA,CAAMC,CAAG,CAAC,CAAC,CACrD,CAAA,CACK,GAAI,OAAOnD,CAAAA,EAAU,QAAA,CAAU,CACpC,IAAMoD,CAAAA,CAAQ,MAAA,CAAO,cAAA,CAAepD,CAAK,CAAA,CAGzC,GAAI,EAFkBoD,CAAAA,GAAU,OAAO,SAAA,EAAaA,CAAAA,GAAU,IAAA,CAAA,CAG5D,OAAOpD,EAGT,IAAMqD,CAAAA,CAAc,MAAA,CAAO,MAAA,CAAOD,CAAK,CAAA,CACvC,IAAA,IAAWE,CAAAA,IAAQtD,EACb,MAAA,CAAO,SAAA,CAAU,cAAA,CAAe,IAAA,CAAKA,EAAOsD,CAAI,CAAA,GAClDD,CAAAA,CAAOC,CAAI,EAAIJ,CAAAA,CAAOlD,CAAAA,CAAcsD,CAAI,CAAC,CAAA,CAAA,CAG7C,OAAOD,CACT,CACF,MACE,OAAOrD,CAAAA,CAET,OAAOA,CACT,CC/Be,SAARuD,CAAAA,CAAyBvD,CAAAA,CAAuC,CACrE,OAAI,CAACA,CAAAA,EAAU,CAAC,KAAA,CAAM,QAAQA,CAAK,CAAA,EAAK,OAAOA,CAAAA,EAAU,SAChDA,CAAAA,CAEL,OAAOA,CAAAA,EAAU,QAAA,CACXuD,EAAQvD,CAAAA,CAAM,KAAA,CAAM,EAAE,CAAC,EAAY,IAAA,CAAK,EAAE,CAAA,CAG/C,KAAA,CAAM,OAAA,CAAQA,CAAK,CAAA,CAEjBA,CAAAA,CAAM,KAAK,IAAM,IAAA,CAAK,MAAA,EAAO,CAAI,EAAG,CAAA,CAFTA,CAGpC,CCXe,SAARwD,GAAuBxD,CAAAA,CAAeyD,CAAAA,CAAY,CAAA,CAAW,CAClE,IAAMC,CAAAA,CAAa,IAAA,CAAK,GAAA,CAAI,EAAA,CAAID,GAAa,CAAC,CAAA,CAC9C,OAAO,IAAA,CAAK,MAAMzD,CAAAA,CAAQ0D,CAAU,CAAA,CAAIA,CAC1C,CCDe,SAARC,CAAAA,CAAuBrE,CAAAA,CAAauC,CAAAA,CAAgB,CACzD,GAAI,CAACvC,CAAAA,EAAU,OAAOA,CAAAA,EAAW,QAAA,EAAY,KAAA,CAAM,OAAA,CAAQA,CAAM,CAAA,CAC/D,OAAOA,CAAAA,CAKT,IAAA,IAAWI,KAAOmC,CAAAA,CAAM,CACtB,IAAM+B,CAAAA,CAAUlE,EAAI,KAAA,CAAM,GAAG,CAAA,CAE7B,GAAIkE,EAAQ,MAAA,GAAW,CAAA,CACrB,OAAOtE,CAAAA,CAAOI,CAAG,CAAA,CAAA,KACZ,CACL,IAAMmE,CAAAA,CAAeD,EAAQ,GAAA,EAAI,CAC3BE,CAAAA,CAAcnE,CAAAA,CAAIL,CAAAA,CAAQsE,CAAAA,CAAQ,IAAA,CAAK,GAAG,CAAC,CAAA,CAC7CE,CAAAA,EACF,OAAOA,CAAAA,CAAOD,CAAO,EAEzB,CACF,CAEA,OAAOvE,CACT,CCtBe,SAARyE,EAAAA,CAAwBzE,CAAAA,CAAauC,CAAAA,CAA0B,CACpE,GAAI,CAACvC,GAAU,OAAOA,CAAAA,EAAW,QAAA,EAAY,KAAA,CAAM,QAAQA,CAAM,CAAA,CAC/D,OAAOA,CAAAA,CAET,IAAM0C,CAAAA,CAAY,CAAE,GAAG1C,CAAO,CAAA,CAE9B,OAAOqE,CAAAA,CAAM3B,CAAAA,CAAWH,CAAI,CAC9B,CCZA,SAASmC,EAAAA,CAAahE,EAAqB,CACzC,OAAOA,CAAAA,GAAU,IAAA,EAAQ,OAAOA,CAAAA,EAAU,QAC5C,CA2Be,SAARiE,EACL3E,CAAAA,CACA4E,CAAAA,CAAY,GAAA,CACZC,CAAAA,CAA2B,MAC3BL,CAAAA,CACAM,CAAAA,CAAY,EAAC,CACR,CACL,GAAIJ,EAAAA,CAAa1E,CAAM,CAAA,GAAM,MAC3B,OAAOA,CAAAA,CAKT,IAAA,IAAWI,CAAAA,IAAO,MAAA,CAAO,IAAA,CAAKJ,CAAM,CAAA,CAAG,CACrC,IAAMU,CAAAA,CAAaV,CAAAA,CAAOI,CAAG,EAEvBH,CAAAA,CAAWuE,CAAAA,CAASA,CAAAA,CAASI,CAAAA,CAAYxE,EAAMA,CAAAA,CAGlD,KAAA,CAAM,OAAA,CAAQM,CAAK,CAAA,EAAKA,CAAAA,CAAM,MAAA,GAAW,CAAA,EAC1C,OAAOA,CAAAA,EAAU,UAAA,CAEjBoE,CAAAA,CAAK7E,CAAQ,EAAIS,CAAAA,CACRgE,EAAAA,CAAahE,CAAK,CAAA,EACvBmE,IACFC,CAAAA,CAAK7E,CAAQ,CAAA,CAAIS,CAAAA,CAAAA,CAGnBiE,CAAAA,CAAQjE,CAAAA,CAAOkE,CAAAA,CAAWC,CAAAA,CAA0B5E,EAAU6E,CAAI,CAAA,EAElEA,CAAAA,CAAK7E,CAAQ,EAAIS,EAErB,CAEA,OAAOoE,CACT,CC7De,SAARC,EAAAA,CACL/E,CAAAA,CACAgF,CAAAA,CACO,CACP,OAAO,MAAA,CAAO,IAAA,CAAKhF,CAAM,EAAE,GAAA,CAAII,CAAAA,EACtB4E,CAAAA,CAAS5E,CAAAA,CAAKJ,EAAOI,CAAG,CAAA,CAAGJ,CAAM,CACzC,CACH,CCJA,IAAMiF,CAAAA,CAAU,KAAA,CAAM,OAAA,CAEhBC,CAAAA,CAAYxE,CAAAA,EACTA,CAAAA,EAASA,EAAM,WAAA,CAAY,IAAA,GAAS,QAAA,CAG7C,SAASyE,GAAanF,CAAAA,CAAa,CACjC,OAAKkF,CAAAA,CAASlF,CAAM,CAAA,CAKjB,KAAA,GAASA,CAAAA,EAAU,OAAOA,CAAAA,CAAO,GAAA,EAAQ,UAAA,EACzC,KAAA,GAASA,GAAU,OAAOA,CAAAA,CAAO,GAAA,EAAQ,UAAA,EACzC,UAAWA,CAAAA,GACT,UAAA,GAAcA,CAAAA,EACb,YAAA,GAAgBA,GAChB,cAAA,GAAkBA,CAAAA,CAAAA,CATf,KAWX,CAKe,SAARoF,CAAAA,CAAAA,GAA0BC,CAAAA,CAAgB,CAC/C,GAAIA,CAAAA,CAAQ,MAAA,GAAW,CAAA,EAAK,CAACA,EAAQ,CAAC,CAAA,CAAG,OAAOA,CAAAA,CAAQ,CAAC,CAAA,CAEzD,IAAMC,CAAAA,CAAwB,GAE9B,IAAA,IAAStF,CAAAA,IAAUqF,CAAAA,CAAAA,CACbH,CAAAA,CAASlF,CAAM,CAAA,EAAKiF,CAAAA,CAAQjF,CAAM,CAAA,GACpCsF,EAAe,IAAA,CAAKtF,CAAM,CAAA,CAI9B,GAAIsF,EAAe,MAAA,GAAW,CAAA,CAE5B,OAAOD,CAAAA,CAAQA,CAAAA,CAAQ,MAAA,CAAS,CAAC,CAAA,KAK/BE,CAAAA,CAAa,EAsEjB,OApEoBD,EAAe,MAAA,CACjC,CAACE,CAAAA,CAAmBC,CAAAA,GAAmB,CACrC,IAAIlD,CAAAA,CAAuB,MAAA,CAAO,IAAA,CAAKkD,CAAS,CAAA,CAEhD,IAAA,IAAS1E,EAAI,CAAA,CAAGA,CAAAA,CAAIwB,CAAAA,CAAK,MAAA,CAAQxB,IAAK,CACpC,IAAMX,CAAAA,CAAMmC,CAAAA,CAAKxB,CAAC,CAAA,CAElB,GAAI,EAAAX,CAAAA,IAAOqF,CAAAA,CAAAA,CACT,SAGF,IAAMC,CAAAA,CAAWD,EAAUrF,CAAG,CAAA,CACxBuF,CAAAA,CAAcH,CAAAA,CAAapF,CAAG,CAAA,CAEhCwF,CAAAA,CAAeF,CAAAA,CAiBnB,GAfIT,EAAQW,CAAY,CAAA,CACtBA,CAAAA,CAAe,CAAC,GAAGA,CAAY,CAAA,CACtBV,CAAAA,CAASU,CAAY,GAAK,CAACT,EAAAA,CAAaS,CAAY,CAAA,GAC7DL,IAEIL,CAAAA,CAASS,CAAW,CAAA,EAAKV,CAAAA,CAAQU,CAAW,CAAA,CAC9CC,CAAAA,CAAeR,CAAAA,CAAMO,CAAAA,CAAaC,CAAY,CAAA,CAE9CA,CAAAA,CAAeR,CAAAA,CAAMQ,CAAY,CAAA,CAGnCL,CAAAA,EAAAA,CAAAA,CAIEJ,EAAAA,CAAaS,CAAY,EAE3BA,CAAAA,CAAa,YAAA,CAAiB,cAAA,GAAkBA,CAAAA,CAE5CA,EAAa,YAAA,CADb,IAAA,CAEJA,CAAAA,CAAa,UAAA,CAAe,YAAA,GAAgBA,CAAAA,CAExCA,CAAAA,CAAa,UAAA,CADb,KAIA,OAAA,GAAWA,CAAAA,EAAgB,EAAE,UAAA,GAAcA,KAC7CA,CAAAA,CAAa,QAAA,CAAW,IAAA,CAAA,CAG1B,MAAA,CAAO,eAAeJ,CAAAA,CAAcpF,CAAAA,CAAKwF,CAAY,CAAA,CAAA,KAChD,CACL,IAAMC,CAAAA,CAAuB,MAAA,CAAO,yBAClCJ,CAAAA,CACArF,CACF,CAAA,CAGI,KAAA,GAASyF,EACX,MAAA,CAAO,cAAA,CAAeL,CAAAA,CAAcpF,CAAAA,CAAKyF,CAAe,CAAA,CAIxDL,CAAAA,CAAapF,CAAG,CAAA,CAAIwF,EAExB,CACF,CAEA,OAAOJ,CACT,EACA,EACF,CAGF,CCpHe,SAARM,CAAAA,CAAsB9F,CAAAA,CAAa+F,CAAAA,CAAY,IAAA,CAAW,CAC/D,GAAI,CAAC/F,CAAAA,EAAU,OAAOA,CAAAA,EAAW,QAAA,EAAY,KAAA,CAAM,OAAA,CAAQA,CAAM,CAAA,CAC/D,OAAOA,CAAAA,CAET,IAAMgG,EAAoB,EAAC,CAI3B,OAFa,MAAA,CAAO,KAAKhG,CAAM,CAAA,CAAE,IAAA,EAAK,CAEjC,OAAA,CAASI,CAAAA,EAAgB,CAC5B4F,CAAAA,CAAa5F,CAAG,CAAA,CAAI2F,CAAAA,CAAYD,CAAAA,CAAK9F,CAAAA,CAAOI,CAAG,CAAC,CAAA,CAAIJ,CAAAA,CAAOI,CAAG,EAChE,CAAC,CAAA,CAEM4F,CACT,CChBA,IAAMC,EAAAA,CACJ,gEAAA,CAEIC,CAAAA,CAAS,CAIb,GAAA,CAAIjD,CAAAA,CAAM,CAAA,CAAGb,CAAAA,CAAM,QAAiB,CAClC,OAAO,IAAA,CAAK,KAAA,CAAM,KAAK,MAAA,EAAO,EAAKA,CAAAA,CAAMa,CAAAA,CAAM,EAAE,CAAA,CAAIA,CACvD,CAAA,CAKA,OAAA,CAAQA,EAAM,CAAA,CAAGb,CAAAA,CAAM,OAAA,CAAiB,CACtC,OAAO,IAAA,CAAK,GAAA,CAAIa,CAAAA,CAAKb,CAAG,CAC1B,CAAA,CAKA,MAAA,CAAOS,CAAAA,CAAS,EAAA,CAAY,CAC1B,IAAIsD,CAAAA,CAAO,EAAA,CAEX,QAASpF,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAI8B,CAAAA,CAAQ9B,IAC1BoF,CAAAA,EAAQF,EAAAA,CAAS,MAAA,CAAO,IAAA,CAAK,MAAM,IAAA,CAAK,MAAA,EAAO,CAAIA,EAAAA,CAAS,MAAM,CAAC,CAAA,CAGrE,OAAOE,CACT,CAAA,CAKA,EAAA,CAAGtD,CAAAA,CAAS,CAAA,CAAGuD,EAAa,KAAA,CAAe,CACzC,OAAOA,CAAAA,CAAaF,EAAO,MAAA,CAAOrD,CAAM,CAC1C,CAAA,CAKA,IAAA,EAAgB,CACd,OAAOqD,CAAAA,CAAO,IAAI,CAAA,CAAG,CAAC,CAAA,GAAM,CAC9B,EAKA,OAAA,EAAmB,CACjB,OAAOA,CAAAA,CAAO,IAAI,CAAA,CAAG,CAAC,CAAA,GAAM,CAC9B,EAKA,IAAA,CAAKG,CAAAA,CAAgBC,CAAAA,CAAsB,CACzC,GAAID,CAAAA,EAAW,CAACC,CAAAA,CACd,OAAO,IAAI,IAAA,CAAKJ,CAAAA,CAAO,GAAA,CAAIG,CAAAA,CAAQ,SAAQ,CAAG,IAAA,CAAK,GAAA,EAAK,CAAC,CAAA,CAG3D,GAAI,CAACA,GAAWC,CAAAA,CACd,OAAO,IAAI,IAAA,CAAKJ,EAAO,GAAA,CAAI,CAAA,CAAGI,CAAAA,CAAQ,OAAA,EAAS,CAAC,CAAA,CAGlD,IAAMC,CAAAA,CAAM,KAAK,GAAA,EAAI,CACrB,OAAO,IAAI,KAAKL,CAAAA,CAAO,GAAA,CAAIK,CAAAA,CAAM,IAAA,CAAcA,CAAG,CAAC,CACrD,CAAA,CAKA,KAAA,EAAgB,CACd,OAAO,GAAA,CAAM,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,MAAA,EAAO,CAAI,QAAQ,EAAE,QAAA,CAAS,EAAE,CAC/D,CACF,EAEOC,EAAAA,CAAQN,ECvEA,SAARO,CAAAA,CAAyBC,EAAwB,CACtD,OAAKA,CAAAA,CAEEA,CAAAA,CAAO,OAAO,CAAC,CAAA,CAAE,WAAA,EAAY,CAAIA,EAAO,KAAA,CAAM,CAAC,CAAA,CAFlC,EAGtB,CCFe,SAARC,CAAAA,CAA4BD,CAAAA,CAAwB,CACzD,OAAKA,CAAAA,CACEA,CAAAA,CACJ,KAAA,CAAM,GAAG,CAAA,CACT,GAAA,CAAIE,CAAAA,EAAQH,CAAAA,CAAQG,CAAI,CAAC,CAAA,CACzB,IAAA,CAAK,GAAG,EAJS,EAKtB,CCVe,SAARC,EAAAA,CAA2BH,EAAwB,CACxD,GAAI,CAACA,CAAAA,CAAQ,OAAO,EAAA,CACpB,IAAMI,CAAAA,CAAQ,kBACZD,CAAAA,CAAYC,CAAAA,CAAM,IAAA,CAAKJ,CAAM,EAE/B,OAAOG,CAAAA,CAAYA,CAAAA,CAAU,CAAC,EAAI,EACpC,CCNe,SAARE,EAAAA,CAA0BC,CAAAA,CAAcpC,CAAAA,CAAY,EAAA,CAAY,CACrE,GAAI,CAACoC,CAAAA,CAAM,OAAO,EAAA,CAElB,GAAI,OAAOA,CAAAA,EAAS,QAAA,CAClB,MAAM,IAAI,KAAA,CAAM,2BAA2B,CAAA,CAG7C,OAAOA,EACJ,KAAA,CAAM,GAAG,CAAA,CACT,GAAA,CAAIA,GAAQA,CAAAA,CAAK,MAAA,CAAO,CAAC,CAAC,EAC1B,IAAA,CAAKpC,CAAS,CACnB,CCXe,SAARqC,CAAAA,CAA6BP,CAAAA,CAAwB,CAC1D,OAAOA,CAAAA,CAAO,OAAA,CAAQ,qBAAA,CAAuB,MAAM,CACrD,CCGe,SAARQ,EAAAA,CAAuBR,CAAAA,CAAgBS,EAAS,GAAA,CAAa,CAClE,GAAI,CAACT,EAAQ,OAAO,EAAA,CACpB,IAAMU,CAAAA,CAAU,GAAA,CAAMH,CAAAA,CAAYE,CAAM,CAAA,CAAI,IAC1CL,CAAAA,CAAQ,IAAI,MAAA,CAAOM,CAAAA,CAAS,GAAG,CAAA,CAEjC,OAAOV,CAAAA,CAAO,OAAA,CAAQI,EAAO,EAAE,CACjC,CCVe,SAARO,EAAAA,CACLX,CAAAA,CACA7D,CAAAA,CACAyE,CAAAA,CAAe,MACP,CACR,OAAKZ,CAAAA,CACDA,CAAAA,CAAO,QAAU7D,CAAAA,CAAe6D,CAAAA,CAE7BA,CAAAA,CAAO,SAAA,CAAU,EAAG7D,CAAM,CAAA,CAAIyE,CAAAA,CAHjB,EAItB,CCTe,SAARC,EAAAA,CACLb,CAAAA,CACA7D,CAAAA,CACAyE,EAAe,KAAA,CACP,CACR,GAAI,CAACZ,EAAQ,OAAO,EAAA,CACpB,IAAMc,CAAAA,CAAYd,EAAO,KAAA,CAAM,GAAG,CAAA,CAC5Be,CAAAA,CAAQD,CAAAA,CAAU,KAAA,CAAM,CAAA,CAAG3E,CAAM,EAEvC,OACE4E,CAAAA,CAAM,IAAA,CAAK,GAAG,GAAKA,CAAAA,CAAM,MAAA,CAASD,CAAAA,CAAU,MAAA,CAASF,EAAe,EAAA,CAExE,CCPe,SAARI,CAAAA,CACLhB,CAAAA,CACAS,CAAAA,CACAQ,CAAAA,CACQ,CACR,OAAKjB,CAAAA,CACEA,CAAAA,CAAO,OAAA,CAAQO,CAAAA,CAAYE,CAAM,CAAA,CAAGQ,CAAW,CAAA,CADlC,EAEtB,CCRe,SAARC,EAAAA,CAA6BlB,CAAAA,CAAgBS,CAAAA,CAAwB,CAC1E,OAAKT,CAAAA,CACEgB,CAAAA,CAAahB,EAAQS,CAAAA,CAAQ,EAAE,CAAA,CADlB,EAEtB,CCJe,SAARU,CAAAA,CACLnB,CAAAA,CACAS,CAAAA,CACAQ,EACQ,CACR,GAAI,CAACjB,CAAAA,CAAQ,OAAO,EAAA,CACpB,IAAMoB,CAAAA,CAAYpB,CAAAA,CAAO,YAAYS,CAAM,CAAA,CAE3C,OAAIW,CAAAA,CAAY,EACPpB,CAAAA,CAIPA,CAAAA,CAAO,MAAA,CAAO,CAAA,CAAGoB,CAAS,CAAA,CAC1BH,CAAAA,CACAjB,CAAAA,CAAO,MAAA,CAAOoB,CAAAA,CAAYX,CAAAA,CAAO,MAAM,CAE3C,CChBe,SAARY,EAAAA,CAA4BrB,CAAAA,CAAgBS,CAAAA,CAAwB,CACzE,OAAKT,CAAAA,CACEmB,CAAAA,CAAYnB,CAAAA,CAAQS,EAAQ,EAAE,CAAA,CADjB,EAEtB,CCLe,SAARa,EAAAA,CACLtB,CAAAA,CACAS,CAAAA,CACAc,EAAgB,IAAA,CACR,CACR,GAAI,CAACvB,EAAQ,OAAO,CAAA,CACpB,IAAIwB,CAAAA,CAAQ,IACRD,CAAAA,GAAkB,KAAA,GACpBC,CAAAA,EAAS,GAAA,CAAA,CAGX,IAAMpB,CAAAA,CAAQ,IAAI,MAAA,CAAO,GAAGK,CAAM,CAAA,CAAA,CAAIe,CAAK,CAAA,CAE3C,OAAOxB,CAAAA,CAAO,KAAA,CAAMI,CAAK,CAAA,CAAE,OAAS,CACtC,CCXe,SAARqB,EAAAA,CACLzB,EACA0B,CAAAA,CACAT,CAAAA,CACQ,CACR,OAAKjB,EACEA,CAAAA,CAAO,OAAA,CAAQ,IAAI,MAAA,CAAOO,EAAYmB,CAAU,CAAA,CAAG,GAAG,CAAA,CAAGT,CAAW,CAAA,CADvD,EAEtB,CCRe,SAARU,CAAAA,CAAuB3B,CAAAA,CAAgBS,CAAAA,CAAS,GAAA,CAAa,CAClE,GAAI,CAACT,CAAAA,CAAQ,OAAO,GACpB,IAAMU,CAAAA,CAAUH,CAAAA,CAAYE,CAAM,EAAI,IAAA,CACpCL,CAAAA,CAAQ,IAAI,MAAA,CAAOM,CAAAA,CAAS,GAAG,CAAA,CAEjC,OAAOV,EAAO,OAAA,CAAQI,CAAAA,CAAO,EAAE,CACjC,CCNe,SAARwB,CAAAA,CAAsB5B,CAAAA,CAAgBS,CAAAA,CAAS,IAAa,CACjE,GAAI,CAACT,CAAAA,CAAQ,OAAO,EAAA,CAEpB,GAAIS,CAAAA,GAAW,IACb,OAAOT,CAAAA,CAAO,OAAA,CAAQ,YAAA,CAAc,EAAE,CAAA,CAGxCS,CAAAA,CAASF,CAAAA,CAAYE,CAAM,EAE3B,IAAMC,CAAAA,CAAU,GAAA,CAAMD,CAAAA,CAAS,KAAOA,CAAAA,CAAS,IAAA,CAC7CL,CAAAA,CAAQ,IAAI,OAAOM,CAAAA,CAAS,GAAG,CAAA,CAEjC,OAAOV,EAAO,OAAA,CAAQI,CAAAA,CAAO,EAAE,CACjC,CCnBO,IAAMyB,EAAAA,CAAiB,kBAEf,SAARC,EAAAA,CACL9B,CAAAA,CACA+B,CAAAA,CAAU,IAAA,CACD,CACT,OAAK/B,CAAAA,EAED+B,CAAAA,GAAY,IAAA,GACd/B,EAAS4B,CAAAA,CAAK,MAAA,CAAO5B,CAAM,CAAC,GAEvBA,CAAAA,CAAO,MAAA,CAAO,CAAC,CAAA,CAAE,KAAA,CAAM6B,EAAc,CAAA,GAAM,IAAA,EAL9B,KAMtB,CCZe,SAARG,EAAAA,CACLhC,CAAAA,CACA9B,EAAY,gBAAA,CACJ,CACR,GAAI,CAAC8B,EAAQ,OAAO,EAAA,CAEpB,IAAMI,CAAAA,CAAQ,IAAI,MAAA,CAAOlC,CAAAA,CAAY,YAAA,CAAc,GAAG,CAAA,CAEtD,OAAO8B,CAAAA,CACJ,KAAA,CAAMI,CAAK,CAAA,CACX,GAAA,CAAI,CAACF,CAAAA,CAAMrF,IAAWA,CAAAA,CAAQ,CAAA,CAAIoF,CAAAA,CAAWC,CAAI,EAAIA,CAAAA,CAAK,WAAA,EAAc,CAAA,CACxE,KAAK,EAAE,CACZ,CCRe,SAAR+B,GAA6BjC,CAAAA,CAAgB,CAClD,GAAI,CAACA,EAAQ,OAAO,EAAA,CAEpB,IAAMkC,CAAAA,CAAYlC,CAAAA,CAAO,KAAA,CAAM,GAAG,CAAA,CAC9BmC,EAAWD,CAAAA,CAAU,KAAA,EAAM,EAAK,EAAA,CAEpC,QAAS5B,CAAAA,IAAQ4B,CAAAA,CAAW,CAC1B,IAAIE,EAAc,EAAA,CACd9B,CAAAA,CAAK,QAAA,CAAS,IAAI,CAAA,GACpBA,CAAAA,CAAOqB,CAAAA,CAAMrB,CAAAA,CAAM,IAAI,CAAA,CACvB8B,CAAAA,CAAc,IAAA,CAAA,CAGhBD,CAAAA,EAAY,IAAI7B,CAAI,CAAA,CAAA,EAAI8B,CAAW,CAAA,EACrC,CAEA,OAAOD,CACT,CCjBe,SAARE,CAAAA,CACLrC,CAAAA,CACA9B,CAAAA,CAAY,GAAA,CACZoE,EAAW,IAAA,CACH,CACR,OAAKtC,CAAAA,CAEEA,EACJ,OAAA,CAAQ,qBAAA,CAAuB,SAAUuC,CAAAA,CAAQC,EAAKC,CAAAA,CAAoB,CACzE,OAAKA,CAAAA,CAGHvE,GACCoE,CAAAA,CAAWG,CAAAA,CAAmB,WAAA,EAAY,CAAIA,GAJjBvE,CAMlC,CAAC,CAAA,CACA,OAAA,CAAQ,IAAI,MAAA,CAAO,CAAA,CAAA,EAAIA,CAAS,CAAA,CAAE,EAAG,EAAE,CAAA,CAXtB,EAYtB,CClBe,SAARwE,EAAAA,CAA6B1C,CAAAA,CAAgBsC,CAAAA,CAAW,KAAc,CAC3E,OAAKtC,CAAAA,CAEEqC,CAAAA,CAAYrC,EAAQ,GAAA,CAAKsC,CAAQ,CAAA,CAFpB,EAGtB,CCCe,SAARK,EAAAA,CACL3C,CAAAA,CACA9B,CAAAA,CAAY,gBACJ,CACR,GAAI,CAAC8B,CAAAA,CAAQ,OAAO,EAAA,CAEpB,IAAMI,CAAAA,CAAQ,IAAI,OAAOlC,CAAAA,CAAW,GAAG,CAAA,CACvC,OAAO8B,EACJ,KAAA,CAAMI,CAAK,CAAA,CACX,GAAA,CAAIF,CAAAA,EAAQD,CAAAA,CAAWC,CAAI,CAAC,EAC5B,IAAA,CAAK,EAAE,CACZ,CCTe,SAAR0C,EAAAA,CACLtE,CAAAA,CACAuE,CAAAA,CACe,CACf,IAAIC,CAAAA,CAEJ,OAAO,SAAA,GAAyCC,CAAAA,CAAqB,CACnE,YAAA,CAAaD,CAAS,CAAA,CAEtBA,CAAAA,CAAY,WAAW,IAAM,CAC3BxE,CAAAA,CAAS,KAAA,CAAM,KAAMyE,CAAI,EAC3B,CAAA,CAAGF,CAAI,EACT,CACF","file":"index.js","sourcesContent":["function getValue(object: any, keyChain: string, defaultValue: any) {\r\n // split the key chain into array by dot\r\n // then loop through the array and get the value of each key until the last key\r\n // then return the value of the last key\r\n return keyChain.split(\".\").reduce((acc, key) => {\r\n if (acc === undefined || typeof acc !== \"object\") {\r\n return defaultValue;\r\n }\r\n\r\n if (acc === null) return acc;\r\n\r\n return acc.hasOwnProperty && acc.hasOwnProperty(key)\r\n ? acc[key]\r\n : defaultValue;\r\n }, object);\r\n}\r\n\r\n/**\r\n * Get the value of the given key\r\n */\r\nexport default function get(object: any, key: string, defaultValue?: any): any {\r\n if (!object) return defaultValue;\r\n\r\n if (object[key]) return object[key];\r\n\r\n return getValue(object, key, defaultValue);\r\n}\r\n","import get from \"./../object/get\";\r\n\r\n/**\r\n * Sum the total value of the array\r\n *\r\n * The key supports dot notation. syntax: \"key1.key2.key3\"\r\n */\r\nexport default function sum(array: any[], key?: string): number {\r\n if (!Array.isArray(array)) return 0;\r\n\r\n if (key) {\r\n return array.reduce((total, item) => {\r\n const value = get(item, key, 0);\r\n\r\n if (typeof value !== \"number\" || isNaN(value)) {\r\n return total;\r\n }\r\n\r\n return total + value;\r\n }, 0);\r\n }\r\n\r\n // if there is no key passed, then we'll sum array of numbers\r\n\r\n // using reduce\r\n return array.reduce((total, value) => {\r\n if (typeof value !== \"number\" || isNaN(value)) {\r\n return total;\r\n }\r\n\r\n return total + value;\r\n }, 0);\r\n}\r\n","import sum from \"./sum\";\r\n\r\n/**\r\n * Get the average value of the given array or the given array of objects using the given key\r\n *\r\n * The key supports dot notation. syntax: \"key1.key2.key3\"\r\n */\r\nexport default function average(array: any[], key?: string): number {\r\n if (!Array.isArray(array)) return 0;\r\n\r\n return sum(array, key) / array.length;\r\n}\r\n","/**\r\n * Chunk array|string by the given size\r\n */\r\nexport default function chunk(array: any[] | string, size: number): any[] {\r\n if (!Array.isArray(array) && typeof array !== \"string\") return [];\r\n\r\n const result: any[] = [];\r\n\r\n for (let i = 0; i < array.length; i += size) {\r\n result.push(array.slice(i, i + size));\r\n }\r\n\r\n return result;\r\n}\r\n","import get from \"../object/get\";\r\n\r\nconst notFound = Symbol(\"notFound\");\r\n\r\n/**\r\n * Count data by the given key or callback\r\n */\r\nexport default function count(\r\n data: any[],\r\n key: string | Parameters<typeof Array.prototype.filter>[0],\r\n): number {\r\n if (!Array.isArray(data)) return 0;\r\n\r\n if (typeof key === \"string\") {\r\n return data.filter(item => get(item as object, key, notFound) !== notFound)\r\n .length;\r\n }\r\n\r\n return data.filter(key).length;\r\n}\r\n","import get from \"../object/get\";\r\n\r\n/**\r\n * Count the occurrences of values in an array for the given key\r\n */\r\nexport default function countBy(\r\n array: any[],\r\n key: string,\r\n): { [key: string]: number } {\r\n if (!Array.isArray(array)) {\r\n return {};\r\n }\r\n\r\n return array.reduce((result, item) => {\r\n const value = get(item, key);\r\n\r\n if (result[value]) {\r\n result[value]++;\r\n } else {\r\n result[value] = 1;\r\n }\r\n\r\n return result;\r\n }, {});\r\n}\r\n","import get from \"../object/get\";\r\n\r\n/**\r\n * Get the even values of the given array or the given array of objects using the given key\r\n *\r\n * The key supports dot notation. syntax: \"key1.key2.key3\"\r\n */\r\nexport default function even(array: any[], key?: string): any[] {\r\n if (!Array.isArray(array)) return [];\r\n\r\n return array.filter(item => {\r\n const value = key ? get(item, key) : item;\r\n\r\n return typeof value !== \"number\" ? false : value % 2 === 0;\r\n });\r\n}\r\n","/**\r\n * Get the values of the given array by the even indexes or the given array of objects using the given key\r\n */\r\nexport default function evenIndexes(array: any[]): any[] {\r\n if (!Array.isArray(array)) return [];\r\n\r\n return array.filter((_item, index) => index % 2 === 0);\r\n}\r\n","import { get } from \"..\";\r\nimport { GenericObject } from \"../types\";\r\n\r\n/**\r\n * Group the given array by the given key(s).\r\n *\r\n * The key(s) support dot notation.\r\n */\r\nexport default function groupBy(\r\n array: GenericObject[],\r\n groupByKey: string | string[],\r\n listAs = \"data\",\r\n): GenericObject[] {\r\n const groupedData: {\r\n [key: string]: {\r\n [key: string]: any;\r\n data?: GenericObject[];\r\n };\r\n } = {};\r\n\r\n const groupByKeys =\r\n typeof groupByKey === \"string\" ? [groupByKey] : groupByKey;\r\n\r\n for (const item of array) {\r\n const baseKeys: Array<{\r\n key: string;\r\n value: any;\r\n }> = [];\r\n\r\n for (const groupByKey of groupByKeys) {\r\n const value = get(item, groupByKey);\r\n if (!value) break;\r\n\r\n baseKeys.push({\r\n key: groupByKey,\r\n value,\r\n });\r\n }\r\n\r\n const dataKey = JSON.stringify(baseKeys);\r\n\r\n if (!groupedData[dataKey]) {\r\n const groupedDataList: {\r\n [key: string]: any;\r\n } = {\r\n data: [],\r\n };\r\n\r\n for (const groupByKeyData of baseKeys) {\r\n groupedDataList[groupByKeyData.key] = groupByKeyData.value;\r\n }\r\n\r\n groupedData[dataKey] = groupedDataList;\r\n }\r\n\r\n groupedData[dataKey]?.data?.push(item);\r\n }\r\n\r\n const finalData: GenericObject[] = [];\r\n\r\n for (const groupedKeyWithValue in groupedData) {\r\n const { data, ...otherGroupedKeys } = groupedData[groupedKeyWithValue];\r\n\r\n finalData.push({\r\n ...otherGroupedKeys,\r\n [listAs]: data,\r\n });\r\n }\r\n\r\n return finalData;\r\n}\r\n","import get from \"../object/get\";\r\n\r\n/**\r\n * Get the max value of the given array or the given array of objects using the given key\r\n *\r\n * The key supports dot notation. syntax: \"key1.key2.key3\"\r\n */\r\nexport default function max(array: any[], key?: string): number {\r\n if (!Array.isArray(array)) return 0;\r\n\r\n let maxValue = 0;\r\n\r\n for (let i = 0; i < array.length; i++) {\r\n const value = key ? Number(get(array[i], key)) : Number(array[i]);\r\n\r\n if (isNaN(value)) continue;\r\n\r\n if (maxValue === 0 || value > maxValue) {\r\n maxValue = value;\r\n }\r\n }\r\n\r\n return maxValue;\r\n}\r\n","/**\r\n * Set the given value to the given key\r\n * The key supports dot.notation syntax\r\n */\r\nexport default function set(\r\n object: Record<string, any>,\r\n key: string,\r\n value: any,\r\n): object {\r\n if (!object || typeof object !== \"object\") return object;\r\n\r\n if (!key.includes(\".\")) {\r\n object[key] = value;\r\n\r\n return object;\r\n }\r\n\r\n const keys: Array<string> = key.split(\".\");\r\n\r\n let currentObject = object;\r\n\r\n for (let i = 0; i < keys.length; i++) {\r\n const key: string = keys[i];\r\n if (i + 1 === keys.length) {\r\n currentObject[key] = value;\r\n } else {\r\n if (typeof currentObject[key] === \"undefined\") {\r\n currentObject = currentObject[key] = {};\r\n } else {\r\n currentObject = currentObject[key] as Record<string, any>;\r\n }\r\n }\r\n }\r\n\r\n return object;\r\n}\r\n","import get from \"./get\";\r\nimport set from \"./set\";\r\n\r\n/**\r\n * Get only the given keys from the given object\r\n */\r\nexport default function only(object: any, keys: Array<string>): any {\r\n const newObject: any = {};\r\n\r\n for (const key of keys) {\r\n const value = get(object, key, undefined);\r\n\r\n if (value !== undefined) {\r\n set(newObject, key, value);\r\n }\r\n }\r\n\r\n return newObject;\r\n}\r\n","import get from \"../object/get\";\r\nimport only from \"../object/only\";\r\n\r\n/**\r\n * Pluck the given array by the given key\r\n * If the second argument is sent as object , it will return an array of objects\r\n * otherwise, it will return an array of values\r\n *\r\n * The key supports dot notation. syntax: \"key1.key2.key3\"\r\n */\r\nexport default function pluck(array: any[], key?: string | string[]): any[] {\r\n if (!Array.isArray(array)) return [];\r\n\r\n if (key) {\r\n if (typeof key === \"string\") {\r\n return array.map(item => get(item, key));\r\n }\r\n\r\n if (Array.isArray(key)) {\r\n return array.map(item => only(item, key));\r\n }\r\n }\r\n\r\n return array;\r\n}\r\n","import pluck from \"./pluck\";\r\n\r\n/**\r\n * Get median value of the array\r\n *\r\n * The key supports dot notation. syntax: \"key1.key2.key3\"\r\n */\r\nexport default function median(array: any[], key?: string): number {\r\n if (!Array.isArray(array)) return 0;\r\n\r\n if (key) {\r\n array = pluck(array, key);\r\n\r\n if (!Array.isArray(array)) return 0;\r\n }\r\n\r\n // if array is not list of numbers then return 0\r\n\r\n if (!array.every(item => typeof item === \"number\")) return 0;\r\n\r\n const length = array.length;\r\n\r\n if (length === 0) return 0;\r\n\r\n array.sort((a, b) => a - b);\r\n\r\n const middle = Math.floor(length / 2);\r\n\r\n const value =\r\n length % 2 ? array[middle] : (array[middle - 1] + array[middle]) / 2;\r\n\r\n if (isNaN(value) || typeof value !== \"number\") return 0;\r\n\r\n return value;\r\n}\r\n","import get from \"../object/get\";\r\n\r\n/**\r\n * Get the min value of the given array or the given array of objects using the given key\r\n *\r\n * The key supports dot notation. syntax: \"key1.key2.key3\"\r\n */\r\nexport default function min(array: any[], key?: string): number {\r\n if (!Array.isArray(array)) return 0;\r\n\r\n let minValue = 0;\r\n\r\n for (let i = 0; i < array.length; i++) {\r\n const value = key ? Number(get(array[i], key)) : Number(array[i]);\r\n\r\n if (isNaN(value)) continue;\r\n\r\n if (minValue === 0 || value < minValue) {\r\n minValue = value;\r\n }\r\n }\r\n\r\n return minValue;\r\n}\r\n","import get from \"../object/get\";\r\n\r\n/**\r\n * Get the odd values of the given array or the given array of objects using the given key\r\n *\r\n * The key supports dot notation. syntax: \"key1.key2.key3\"\r\n */\r\nexport default function odd(array: any[], key?: string): any[] {\r\n if (!Array.isArray(array)) return [];\r\n\r\n return array.filter(item => {\r\n const value = key ? Number(get(item, key)) : Number(item);\r\n\r\n return isNaN(value) ? false : value % 2 !== 0;\r\n });\r\n}\r\n","/**\r\n * Get the values of the given array by the odd indexes or the given array of objects using the given key\r\n */\r\nexport default function oddIndexes(array: any[]): any[] {\r\n if (!Array.isArray(array)) return [];\r\n\r\n return array.filter((_item, index) => index % 2 !== 0);\r\n}\r\n","/**\r\n * Push once one or more values to the array if and\r\n * only if the value doesn't exists in the array\r\n */\r\nexport default function pushUnique<T = any>(array: T[], ...items: T[]): T[] {\r\n items.forEach(item => {\r\n if (!array.includes(item)) {\r\n array.push(item);\r\n }\r\n });\r\n return array;\r\n}\r\n","/**\r\n * Generate array of numbers starting from the\" given min value to the given max value\r\n */\r\nexport default function range(min: number, max: number) {\r\n if (typeof min !== \"number\") {\r\n throw new Error(`min parameter should be number, \"${typeof min}\" given.`);\r\n }\r\n\r\n if (typeof max !== \"number\") {\r\n throw new Error(`max parameter should be number, \"${typeof max}\" given.`);\r\n }\r\n\r\n if (min >= max) {\r\n throw new Error(\"max parameter should be higher than min parameter\");\r\n }\r\n\r\n const array: number[] = [];\r\n\r\n for (let i = min; i <= max; i++) {\r\n array.push(i);\r\n }\r\n\r\n return array;\r\n}\r\n","import pluck from \"./pluck\";\r\n\r\n/**\r\n * Get unique values of the array\r\n */\r\nexport default function unique(array: any[], key?: string): any[] {\r\n if (!Array.isArray(array)) return [];\r\n\r\n if (key) {\r\n array = pluck(array, key);\r\n\r\n if (!Array.isArray(array)) return [];\r\n }\r\n\r\n return [...new Set(array)];\r\n}\r\n","/**\r\n * Prepend once one or more values to the array if and\r\n * only if the value doesn't exists in the array\r\n */\r\nexport default function unshiftUnique<T = any>(array: T[], ...items: T[]): T[] {\r\n items.forEach(item => {\r\n if (!array.includes(item)) {\r\n array.unshift(item);\r\n }\r\n });\r\n\r\n return array;\r\n}\r\n","/**\r\n * Determine if the given values are equal to each other\r\n */\r\nexport default function areEqual(value: any, value2: any): boolean {\r\n if (\r\n [\"symbol\", \"number\", \"boolean\", \"string\", \"undefined\"].includes(\r\n typeof value,\r\n ) ||\r\n !value ||\r\n !value2\r\n ) {\r\n return value === value2;\r\n }\r\n\r\n if (Array.isArray(value)) {\r\n value = value.sort();\r\n }\r\n\r\n if (Array.isArray(value2)) {\r\n value2 = value2.sort();\r\n }\r\n\r\n return JSON.stringify(value) === JSON.stringify(value2);\r\n}\r\n","\r\nexport default function clone<T>(value: T): T {\r\n if (!value) return value;\r\n if (typeof value === \"object\" && value !== null) {\r\n if (Array.isArray(value)) {\r\n return value.map(item => clone(item)) as any;\r\n } else if (value instanceof Date) {\r\n return new Date(value.getTime()) as any;\r\n } else if (value instanceof Set) {\r\n return new Set(Array.from(value, clone)) as any;\r\n } else if (value instanceof Map) {\r\n return new Map(\r\n Array.from(value, ([key, val]) => [key, clone(val)]),\r\n ) as any;\r\n } else if (typeof value === \"object\") {\r\n const proto = Object.getPrototypeOf(value);\r\n const isPlainObject = proto === Object.prototype || proto === null;\r\n\r\n if (!isPlainObject) {\r\n return value as T; // skip cloning non-plain objects\r\n }\r\n\r\n const cloned: any = Object.create(proto);\r\n for (const prop in value) {\r\n if (Object.prototype.hasOwnProperty.call(value, prop)) {\r\n cloned[prop] = clone((value as any)[prop]);\r\n }\r\n }\r\n return cloned as T;\r\n }\r\n } else {\r\n return value;\r\n }\r\n return value;\r\n}\r\n","/**\r\n * Shuffle value either it is a string or an array\r\n */\r\nexport default function shuffle(value: any[] | string): any[] | string {\r\n if (!value || (!Array.isArray(value) && typeof value !== \"string\"))\r\n return value;\r\n\r\n if (typeof value === \"string\") {\r\n return (shuffle(value.split(\"\")) as any[]).join(\"\");\r\n }\r\n\r\n if (!Array.isArray(value)) return value;\r\n\r\n return value.sort(() => Math.random() - 0.5);\r\n}\r\n","/**\r\n * Round number with given precision\r\n */\r\nexport default function round(value: number, precision = 2): number {\r\n const multiplier = Math.pow(10, precision || 0);\r\n return Math.floor(value * multiplier) / multiplier;\r\n}\r\n","import get from \"./get\";\r\n\r\n/**\r\n * Remove the given keys from the given object using dot notation syntax\r\n */\r\nexport default function unset(object: any, keys: string[]) {\r\n if (!object || typeof object !== \"object\" || Array.isArray(object))\r\n return object;\r\n\r\n // remove the given keys from the given object\r\n // keys can be nested using dot notation syntax\r\n\r\n for (const key of keys) {\r\n const keyPath = key.split(\".\");\r\n\r\n if (keyPath.length === 1) {\r\n delete object[key];\r\n } else {\r\n const lastKey: any = keyPath.pop();\r\n const parent: any = get(object, keyPath.join(\".\"));\r\n if (parent) {\r\n delete parent[lastKey];\r\n }\r\n }\r\n }\r\n\r\n return object;\r\n}\r\n","import unset from \"./unset\";\r\n\r\n/**\r\n * Get all object data except for the given keys using dot notation syntax\r\n */\r\nexport default function except(object: any, keys: Array<string>): any {\r\n if (!object || typeof object !== \"object\" || Array.isArray(object))\r\n return object;\r\n\r\n const newObject = { ...object };\r\n\r\n return unset(newObject, keys);\r\n}\r\n","function canBeFlatten(value: any): boolean {\r\n return value !== null && typeof value === \"object\";\r\n}\r\n\r\nfunction toPlainObject(object) {\r\n if (Array.isArray(object)) {\r\n return object.map(item => toPlainObject(item));\r\n }\r\n\r\n if (canBeFlatten(object)) {\r\n const clonedObject: any = Object.keys(object).reduce((acc, key) => {\r\n if (typeof object[key] === \"function\") return acc;\r\n\r\n acc[key] = toPlainObject(object[key]);\r\n return acc;\r\n }, {});\r\n\r\n // clone the prototype\r\n clonedObject.__proto__ = object.__proto__;\r\n\r\n return clonedObject;\r\n }\r\n\r\n return object;\r\n}\r\n\r\n/**\r\n * Flatten the given object into one big fat object\r\n */\r\nexport default function flatten(\r\n object: any,\r\n separator = \".\",\r\n keepNestedOriginalObject = false,\r\n parent?: string,\r\n root: any = {},\r\n): any {\r\n if (canBeFlatten(object) === false) {\r\n return object;\r\n }\r\n\r\n // object = toPlainObject(object);\r\n\r\n for (const key of Object.keys(object)) {\r\n const value: any = object[key];\r\n\r\n const keyChain = parent ? parent + separator + key : key;\r\n\r\n if (\r\n (Array.isArray(value) && value.length === 0) ||\r\n typeof value === \"function\"\r\n ) {\r\n root[keyChain] = value;\r\n } else if (canBeFlatten(value)) {\r\n if (keepNestedOriginalObject) {\r\n root[keyChain] = value;\r\n }\r\n\r\n flatten(value, separator, keepNestedOriginalObject, keyChain, root);\r\n } else {\r\n root[keyChain] = value;\r\n }\r\n }\r\n\r\n return root;\r\n}\r\n","/**\r\n * Map the given object into an array\r\n */\r\nexport default function map(\r\n object: any,\r\n callback: (key: string, value: any, object: any) => any,\r\n): any[] {\r\n return Object.keys(object).map(key => {\r\n return callback(key, object[key], object);\r\n });\r\n}\r\n","/**\r\n * Disclaimer\r\n * This function is originally taken from https://github.com/jhildenbiddle/mergician\r\n * But removed unnecessary parts and added some types, also add some comments and updated constant/variable names and types\r\n */\r\n\r\nconst isArray = Array.isArray;\r\n\r\nconst isObject = (value: any) => {\r\n return value && value.constructor.name === \"Object\";\r\n};\r\n\r\nfunction isDescriptor(object: any) {\r\n if (!isObject(object)) {\r\n return false;\r\n }\r\n\r\n return (\r\n (\"get\" in object && typeof object.get === \"function\") ||\r\n (\"set\" in object && typeof object.set === \"function\") ||\r\n (\"value\" in object &&\r\n (\"writable\" in object ||\r\n \"enumerable\" in object ||\r\n \"configurable\" in object))\r\n );\r\n}\r\n\r\n/**\r\n * Merge deep objects or arrays\r\n */\r\nexport default function merge(...objects: any[]) {\r\n if (objects.length === 0 || !objects[0]) return objects[0];\r\n\r\n const refinedObjects: any[] = [];\r\n\r\n for (let object of objects) {\r\n if (isObject(object) || isArray(object)) {\r\n refinedObjects.push(object);\r\n }\r\n }\r\n\r\n if (refinedObjects.length === 0) {\r\n // return last value\r\n return objects[objects.length - 1];\r\n }\r\n\r\n let mergeKeyList;\r\n\r\n let mergeDepth = 0;\r\n\r\n const result: any = refinedObjects.reduce(\r\n (targetObject: any, srcObject: any) => {\r\n let keys = mergeKeyList || Object.keys(srcObject);\r\n\r\n for (let i = 0; i < keys.length; i++) {\r\n const key = keys[i];\r\n\r\n if (key in srcObject === false) {\r\n continue;\r\n }\r\n\r\n const srcValue = srcObject[key];\r\n const targetValue = targetObject[key];\r\n\r\n let mergedObject = srcValue;\r\n\r\n if (isArray(mergedObject)) {\r\n mergedObject = [...mergedObject];\r\n } else if (isObject(mergedObject) && !isDescriptor(mergedObject)) {\r\n mergeDepth++;\r\n\r\n if (isObject(targetValue) || isArray(targetValue)) {\r\n mergedObject = merge(targetValue, mergedObject);\r\n } else {\r\n mergedObject = merge(mergedObject);\r\n }\r\n\r\n mergeDepth--;\r\n }\r\n\r\n // New descriptor returned via callback\r\n if (isDescriptor(mergedObject)) {\r\n // Accessor and data descriptor\r\n mergedObject.configurable = !(\"configurable\" in mergedObject)\r\n ? true\r\n : mergedObject.configurable;\r\n mergedObject.enumerable = !(\"enumerable\" in mergedObject)\r\n ? true\r\n : mergedObject.enumerable;\r\n\r\n // Data descriptor\r\n if (\"value\" in mergedObject && !(\"writable\" in mergedObject)) {\r\n mergedObject.writable = true;\r\n }\r\n\r\n Object.defineProperty(targetObject, key, mergedObject);\r\n } else {\r\n const mergeDescriptor: any = Object.getOwnPropertyDescriptor(\r\n srcObject,\r\n key,\r\n );\r\n\r\n // Accessors (getter/setter)\r\n if (\"get\" in mergeDescriptor) {\r\n Object.defineProperty(targetObject, key, mergeDescriptor);\r\n }\r\n // Standard values\r\n else {\r\n targetObject[key] = mergedObject;\r\n }\r\n }\r\n }\r\n\r\n return targetObject;\r\n },\r\n {},\r\n );\r\n\r\n return result;\r\n}\r\n","/**\r\n * Sort the given object by its keys\r\n */\r\nexport default function sort(object: any, recursive = true): any {\r\n if (!object || typeof object !== \"object\" || Array.isArray(object))\r\n return object;\r\n\r\n const sortedObject: any = {};\r\n\r\n const keys = Object.keys(object).sort();\r\n\r\n keys.forEach((key: string) => {\r\n sortedObject[key] = recursive ? sort(object[key]) : object[key];\r\n });\r\n\r\n return sortedObject;\r\n}\r\n","const possible =\r\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\r\n\r\nconst Random = {\r\n /**\r\n * Get a random integer\r\n */\r\n int(min = 1, max = 9999999): number {\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n },\r\n\r\n /**\r\n * @alias Random.int\r\n */\r\n integer(min = 1, max = 9999999): number {\r\n return this.int(min, max);\r\n },\r\n\r\n /**\r\n * Generate random string\r\n */\r\n string(length = 32): string {\r\n let text = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n text += possible.charAt(Math.floor(Math.random() * possible.length));\r\n }\r\n\r\n return text;\r\n },\r\n\r\n /**\r\n * Generate random id\r\n */\r\n id(length = 6, startsWith = \"el-\"): string {\r\n return startsWith + Random.string(length);\r\n },\r\n\r\n /**\r\n * Generate random boolean value\r\n */\r\n bool(): boolean {\r\n return Random.int(0, 1) === 1;\r\n },\r\n\r\n /**\r\n * Alias to bool method\r\n */\r\n boolean(): boolean {\r\n return Random.int(0, 1) === 1;\r\n },\r\n\r\n /**\r\n * Get random date\r\n */\r\n date(minDate?: Date, maxDate?: Date): Date {\r\n if (minDate && !maxDate) {\r\n return new Date(Random.int(minDate.getTime(), Date.now()));\r\n }\r\n\r\n if (!minDate && maxDate) {\r\n return new Date(Random.int(0, maxDate.getTime()));\r\n }\r\n\r\n const now = Date.now();\r\n return new Date(Random.int(now - 100000000000, now));\r\n },\r\n\r\n /**\r\n * Get random color\r\n */\r\n color(): string {\r\n return \"#\" + Math.floor(Math.random() * 16777215).toString(16);\r\n },\r\n};\r\n\r\nexport default Random;\r\n","/**\r\n * Capitalize the first letter in the string\r\n *\r\n * @return string\r\n */\r\nexport default function ucfirst(string: string): string {\r\n if (!string) return \"\";\r\n\r\n return string.charAt(0).toUpperCase() + string.slice(1);\r\n}\r\n","import ucfirst from \"./ucfirst\";\r\n\r\n/**\r\n * Capitalize the first letter of the string\r\n *\r\n * @return string\r\n */\r\nexport default function capitalize(string: string): string {\r\n if (!string) return \"\";\r\n return string\r\n .split(\" \")\r\n .map(word => ucfirst(word))\r\n .join(\" \");\r\n}\r\n","/**\r\n * Get the extension of the file name\r\n */\r\nexport default function extension(string: string): string {\r\n if (!string) return \"\";\r\n const regex = /(?:\\.([^.]+))?$/,\r\n extension = regex.exec(string);\r\n\r\n return extension ? extension[1] : \"\";\r\n}\r\n","/**\r\n * Get the initials of the given name\r\n */\r\nexport default function initials(name: string, separator = \"\"): string {\r\n if (!name) return \"\";\r\n\r\n if (typeof name !== \"string\") {\r\n throw new Error(\"The name must be a string\");\r\n }\r\n\r\n return name\r\n .split(\" \")\r\n .map(name => name.charAt(0))\r\n .join(separator);\r\n}\r\n","/**\r\n * Escape the regex of the given string\r\n */\r\nexport default function escapeRegex(string: string): string {\r\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\r\n}\r\n","import escapeRegex from \"../utils/escapeRegex\";\r\n\r\n/**\r\n * Remove the given needle from the start of string\r\n *\r\n * @param string needle\r\n * @return string\r\n */\r\nexport default function ltrim(string: string, needle = \" \"): string {\r\n if (!string) return \"\";\r\n const pattern = \"^\" + escapeRegex(needle) + \"+\",\r\n regex = new RegExp(pattern, \"g\");\r\n\r\n return string.replace(regex, \"\");\r\n}\r\n","/**\r\n * Cut string for the given length and append ... if string is larger than the given length\r\n *\r\n */\r\nexport default function readMoreChars(\r\n string: string,\r\n length: number,\r\n readMoreDots = \"...\",\r\n): string {\r\n if (!string) return \"\";\r\n if (string.length <= length) return string;\r\n\r\n return string.substring(0, length) + readMoreDots;\r\n}\r\n","/**\r\n * Cut string for the given spaces and append ... if string is larger than the given length\r\n *\r\n */\r\nexport default function readMoreWords(\r\n string: string,\r\n length: number,\r\n readMoreDots = \"...\",\r\n): string {\r\n if (!string) return \"\";\r\n const wordsList = string.split(\" \");\r\n const words = wordsList.slice(0, length);\r\n\r\n return (\r\n words.join(\" \") + (words.length < wordsList.length ? readMoreDots : \"\")\r\n );\r\n}\r\n","import escapeRegex from \"../utils/escapeRegex\";\r\n\r\n/**\r\n * Replace the First occurrence for the the give needle\r\n *\r\n * @param string needle\r\n * @param string replacement\r\n * @return string\r\n */\r\nexport default function replaceFirst(\r\n string: string,\r\n needle: string,\r\n replacement: string,\r\n): string {\r\n if (!string) return \"\";\r\n return string.replace(escapeRegex(needle), replacement);\r\n}\r\n","import replaceFirst from \"./replaceFirst\";\r\n\r\n/**\r\n * Remove the first occurrence for the the give needle\r\n *\r\n * @param string needle\r\n * @return string\r\n */\r\nexport default function removeFirst(string: string, needle: string): string {\r\n if (!string) return \"\";\r\n return replaceFirst(string, needle, \"\");\r\n}\r\n","/**\r\n * Replace the last occurrence for the the give needle\r\n *\r\n * @param string needle\r\n * @param string replacement\r\n * @return string\r\n */\r\nexport default function replaceLast(\r\n string: string,\r\n needle: string,\r\n replacement: string,\r\n): string {\r\n if (!string) return \"\";\r\n const lastIndex = string.lastIndexOf(needle);\r\n\r\n if (lastIndex < 0) {\r\n return string;\r\n }\r\n\r\n return (\r\n string.substr(0, lastIndex) +\r\n replacement +\r\n string.substr(lastIndex + needle.length)\r\n );\r\n}\r\n","import replaceLast from \"./replaceLast\";\r\n\r\n/**\r\n * Remove the last occurrence for the the give needle\r\n *\r\n * @param string needle\r\n * @return string\r\n */\r\nexport default function removeLast(string: string, needle: string): string {\r\n if (!string) return \"\";\r\n return replaceLast(string, needle, \"\");\r\n}\r\n","/**\r\n * Get total repeats of the given string\r\n *\r\n * @param string $needle\r\n * @return int\r\n */\r\nexport default function repeatsOf(\r\n string: string,\r\n needle: string,\r\n caseSensitive = true,\r\n): number {\r\n if (!string) return 0;\r\n let flags = \"g\";\r\n if (caseSensitive === false) {\r\n flags += \"i\";\r\n }\r\n\r\n const regex = new RegExp(`${needle}`, flags);\r\n\r\n return string.split(regex).length - 1;\r\n}\r\n","import escapeRegex from \"../utils/escapeRegex\";\r\n\r\n/**\r\n * Replace all matched occurrence with the given string\r\n *\r\n * @param string searchText\r\n * @param string replacement\r\n * @returns string\r\n */\r\nexport default function replaceAll(\r\n string: string,\r\n searchText: string,\r\n replacement: string,\r\n): string {\r\n if (!string) return \"\";\r\n return string.replace(new RegExp(escapeRegex(searchText), \"g\"), replacement);\r\n}\r\n","import escapeRegex from \"../utils/escapeRegex\";\r\n\r\n/**\r\n * Remove the given needle from the start of string\r\n *\r\n * @param string needle\r\n * @return string\r\n */\r\nexport default function rtrim(string: string, needle = \" \"): string {\r\n if (!string) return \"\";\r\n const pattern = escapeRegex(needle) + \"+$\",\r\n regex = new RegExp(pattern, \"g\");\r\n\r\n return string.replace(regex, \"\");\r\n}\r\n","import escapeRegex from \"../utils/escapeRegex\";\r\n\r\n/**\r\n * Remove the given needle from the start and the end of string\r\n *\r\n * @param string $needle\r\n * @return string\r\n */\r\nexport default function trim(string: string, needle = \" \"): string {\r\n if (!string) return \"\";\r\n\r\n if (needle === \" \") {\r\n return string.replace(/^\\s+|\\s+$/g, \"\");\r\n }\r\n\r\n needle = escapeRegex(needle);\r\n\r\n const pattern = \"^\" + needle + \"+|\" + needle + \"+$\",\r\n regex = new RegExp(pattern, \"g\");\r\n\r\n return string.replace(regex, \"\");\r\n}\r\n","import trim from \"./trim\";\r\n\r\nexport const ARABIC_PATTERN = /[\\u0600-\\u06FF]/;\r\n\r\nexport default function startsWithArabic(\r\n string: string,\r\n trimmed = true,\r\n): boolean {\r\n if (!string) return false;\r\n\r\n if (trimmed === true) {\r\n string = trim(String(string));\r\n }\r\n return string.charAt(0).match(ARABIC_PATTERN) !== null;\r\n}\r\n","import capitalize from \"./capitalize\";\r\n\r\nexport default function toCamelCase(\r\n string: string,\r\n separator = \"\\\\s+|-|/|_|\\\\.\",\r\n): string {\r\n if (!string) return \"\";\r\n\r\n const regex = new RegExp(separator + \"|(?=[A-Z])\", \"g\");\r\n\r\n return string\r\n .split(regex)\r\n .map((word, index) => (index > 0 ? capitalize(word) : word.toLowerCase()))\r\n .join(\"\");\r\n}\r\n","import rtrim from \"./rtrim\";\r\n\r\n/**\r\n * Convert the current a dot notation string to compound input name\r\n * my.input.name >> my[input][name]\r\n */\r\nexport default function toInputName(string: string) {\r\n if (!string) return \"\";\r\n\r\n const namesList = string.split(\".\");\r\n let mainName = namesList.shift() || \"\";\r\n\r\n for (let name of namesList) {\r\n let outBrackets = \"\";\r\n if (name.endsWith(\"[]\")) {\r\n name = rtrim(name, \"[]\");\r\n outBrackets = \"[]\";\r\n }\r\n\r\n mainName += `[${name}]${outBrackets}`;\r\n }\r\n\r\n return mainName;\r\n}\r\n","/**\r\n * Convert current string to snake case\r\n * i.e hello-world will become: hello_world\r\n *\r\n * @return string\r\n */\r\nexport default function toSnakeCase(\r\n string: string,\r\n separator = \"_\",\r\n lowerAll = true,\r\n): string {\r\n if (!string) return \"\";\r\n\r\n return string\r\n .replace(/(-|\\/|\\s|([A-Z]))+/g, function (_match, _v2, matchedUpperLetter) {\r\n if (!matchedUpperLetter) return separator;\r\n\r\n return (\r\n separator +\r\n (lowerAll ? matchedUpperLetter.toLowerCase() : matchedUpperLetter)\r\n );\r\n })\r\n .replace(new RegExp(`^${separator}`), \"\");\r\n}\r\n","import toSnakeCase from \"./toSnakeCase\";\r\n\r\n/**\r\n * Convert current string to kebab case\r\n */\r\nexport default function toKebabCase(string: string, lowerAll = true): string {\r\n if (!string) return \"\";\r\n\r\n return toSnakeCase(string, \"-\", lowerAll);\r\n}\r\n","import capitalize from \"./capitalize\";\r\n\r\n/**\r\n * Convert current string to camel case\r\n * i.e hello-world will become: helloWorld\r\n *\r\n * @param string separator default is by dash(-) or underscore(_)\r\n * @return string\r\n * @see String.capitalize\r\n */\r\nexport default function toStudlyCase(\r\n string: string,\r\n separator = \"-|\\\\.|_|/|\\\\s\",\r\n): string {\r\n if (!string) return \"\";\r\n\r\n const regex = new RegExp(separator, \"g\");\r\n return string\r\n .split(regex)\r\n .map(word => capitalize(word))\r\n .join(\"\");\r\n}\r\n","let timeoutId: NodeJS.Timeout | undefined;\r\n\r\ntype DebounceFn<T extends (...args: any[]) => any> = (\r\n this: ThisParameterType<T>,\r\n ...args: Parameters<T>\r\n) => void;\r\n\r\n/**\r\n * Debounce the callback function and return a new function.\r\n * Example of usage:\r\n * @example const debounced = debounce(() => console.log('Hello'), 1000);\r\n */\r\nexport default function debounce<T extends (...args: any[]) => any>(\r\n callback: T,\r\n time: number,\r\n): DebounceFn<T> {\r\n let timeoutId: ReturnType<typeof setTimeout>;\r\n\r\n return function (this: ThisParameterType<T>, ...args: Parameters<T>) {\r\n clearTimeout(timeoutId);\r\n\r\n timeoutId = setTimeout(() => {\r\n callback.apply(this, args);\r\n }, time);\r\n };\r\n}\r\n"]}
|
package/esm/index.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
function Tr(r,t,e){return t.split(".").reduce((n,o)=>n===void 0||typeof n!="object"?e:n===null?n:n.hasOwnProperty&&n.hasOwnProperty(o)?n[o]:e,r)}function u(r,t,e){return r?r[t]?r[t]:Tr(r,t,e):e}function h(r,t){return Array.isArray(r)?t?r.reduce((e,n)=>{let o=u(n,t,0);return typeof o!="number"||isNaN(o)?e:e+o},0):r.reduce((e,n)=>typeof n!="number"||isNaN(n)?e:e+n,0):0}function _(r,t){return Array.isArray(r)?h(r,t)/r.length:0}function B(r,t){if(!Array.isArray(r)&&typeof r!="string")return [];let e=[];for(let n=0;n<r.length;n+=t)e.push(r.slice(n,n+t));return e}var K=Symbol("notFound");function L(r,t){return Array.isArray(r)?typeof t=="string"?r.filter(e=>u(e,t,K)!==K).length:r.filter(t).length:0}function q(r,t){return Array.isArray(r)?r.reduce((e,n)=>{let o=u(n,t);return e[o]?e[o]++:e[o]=1,e},{}):{}}function G(r,t){return Array.isArray(r)?r.filter(e=>{let n=t?u(e,t):e;return typeof n!="number"?false:n%2===0}):[]}function W(r){return Array.isArray(r)?r.filter((t,e)=>e%2===0):[]}function J(r,t,e="data"){let n={},o=typeof t=="string"?[t]:t;for(let f of r){let s=[];for(let p of o){let c=u(f,p);if(!c)break;s.push({key:p,value:c});}let m=JSON.stringify(s);if(!n[m]){let p={data:[]};for(let c of s)p[c.key]=c.value;n[m]=p;}n[m]?.data?.push(f);}let i=[];for(let f in n){let{data:s,...m}=n[f];i.push({...m,[e]:s});}return i}function V(r,t){if(!Array.isArray(r))return 0;let e=0;for(let n=0;n<r.length;n++){let o=Number(t?u(r[n],t):r[n]);isNaN(o)||(e===0||o>e)&&(e=o);}return e}function A(r,t,e){if(!r||typeof r!="object")return r;if(!t.includes("."))return r[t]=e,r;let n=t.split("."),o=r;for(let i=0;i<n.length;i++){let f=n[i];i+1===n.length?o[f]=e:typeof o[f]>"u"?o=o[f]={}:o=o[f];}return r}function b(r,t){let e={};for(let n of t){let o=u(r,n,void 0);o!==void 0&&A(e,n,o);}return e}function y(r,t){if(!Array.isArray(r))return [];if(t){if(typeof t=="string")return r.map(e=>u(e,t));if(Array.isArray(t))return r.map(e=>b(e,t))}return r}function z(r,t){if(!Array.isArray(r)||t&&(r=y(r,t),!Array.isArray(r))||!r.every(i=>typeof i=="number"))return 0;let e=r.length;if(e===0)return 0;r.sort((i,f)=>i-f);let n=Math.floor(e/2),o=e%2?r[n]:(r[n-1]+r[n])/2;return isNaN(o)||typeof o!="number"?0:o}function U(r,t){if(!Array.isArray(r))return 0;let e=0;for(let n=0;n<r.length;n++){let o=Number(t?u(r[n],t):r[n]);isNaN(o)||(e===0||o<e)&&(e=o);}return e}function Z(r,t){return Array.isArray(r)?r.filter(e=>{let n=Number(t?u(e,t):e);return isNaN(n)?false:n%2!==0}):[]}function H(r){return Array.isArray(r)?r.filter((t,e)=>e%2!==0):[]}function Q(r,...t){return t.forEach(e=>{r.includes(e)||r.push(e);}),r}function X(r,t){if(typeof r!="number")throw new Error(`min parameter should be number, "${typeof r}" given.`);if(typeof t!="number")throw new Error(`max parameter should be number, "${typeof t}" given.`);if(r>=t)throw new Error("max parameter should be higher than min parameter");let e=[];for(let n=r;n<=t;n++)e.push(n);return e}function Y(r,t){return Array.isArray(r)?t&&(r=y(r,t),!Array.isArray(r))?[]:[...new Set(r)]:[]}function j(r,...t){return t.forEach(e=>{r.includes(e)||r.unshift(e);}),r}function v(r,t){return ["symbol","number","boolean","string","undefined"].includes(typeof r)||!r||!t?r===t:(Array.isArray(r)&&(r=r.sort()),Array.isArray(t)&&(t=t.sort()),JSON.stringify(r)===JSON.stringify(t))}function g(r){if(!r)return r;if(typeof r=="object"&&r!==null){if(Array.isArray(r))return r.map(t=>g(t));if(r instanceof Date)return new Date(r.getTime());if(r instanceof Set)return new Set(Array.from(r,g));if(r instanceof Map)return new Map(Array.from(r,([t,e])=>[t,g(e)]));if(typeof r=="object"){let t=Object.getPrototypeOf(r);if(!(t===Object.prototype||t===null))return r;let n=Object.create(t);for(let o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[o]=g(r[o]));return n}}else return r;return r}function S(r){return !r||!Array.isArray(r)&&typeof r!="string"?r:typeof r=="string"?S(r.split("")).join(""):Array.isArray(r)?r.sort(()=>Math.random()-.5):r}function rr(r,t=2){let e=Math.pow(10,t||0);return Math.floor(r*e)/e}function w(r,t){if(!r||typeof r!="object"||Array.isArray(r))return r;for(let e of t){let n=e.split(".");if(n.length===1)delete r[e];else {let o=n.pop(),i=u(r,n.join("."));i&&delete i[o];}}return r}function tr(r,t){if(!r||typeof r!="object"||Array.isArray(r))return r;let e={...r};return w(e,t)}function er(r){return r!==null&&typeof r=="object"}function F(r,t=".",e=false,n,o={}){if(er(r)===false)return r;for(let i of Object.keys(r)){let f=r[i],s=n?n+t+i:i;Array.isArray(f)&&f.length===0||typeof f=="function"?o[s]=f:er(f)?(e&&(o[s]=f),F(f,t,e,s,o)):o[s]=f;}return o}function nr(r,t){return Object.keys(r).map(e=>t(e,r[e],r))}var I=Array.isArray,T=r=>r&&r.constructor.name==="Object";function or(r){return T(r)?"get"in r&&typeof r.get=="function"||"set"in r&&typeof r.set=="function"||"value"in r&&("writable"in r||"enumerable"in r||"configurable"in r):false}function O(...r){if(r.length===0||!r[0])return r[0];let t=[];for(let i of r)(T(i)||I(i))&&t.push(i);if(t.length===0)return r[r.length-1];let n=0;return t.reduce((i,f)=>{let s=Object.keys(f);for(let m=0;m<s.length;m++){let p=s[m];if(!(p in f))continue;let c=f[p],M=i[p],a=c;if(I(a)?a=[...a]:T(a)&&!or(a)&&(n++,T(M)||I(M)?a=O(M,a):a=O(a),n--),or(a))a.configurable="configurable"in a?a.configurable:true,a.enumerable="enumerable"in a?a.enumerable:true,"value"in a&&!("writable"in a)&&(a.writable=true),Object.defineProperty(i,p,a);else {let $=Object.getOwnPropertyDescriptor(f,p);"get"in $?Object.defineProperty(i,p,$):i[p]=a;}}return i},{})}function k(r,t=true){if(!r||typeof r!="object"||Array.isArray(r))return r;let e={};return Object.keys(r).sort().forEach(o=>{e[o]=t?k(r[o]):r[o];}),e}var ir="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",d={int(r=1,t=9999999){return Math.floor(Math.random()*(t-r+1))+r},integer(r=1,t=9999999){return this.int(r,t)},string(r=32){let t="";for(let e=0;e<r;e++)t+=ir.charAt(Math.floor(Math.random()*ir.length));return t},id(r=6,t="el-"){return t+d.string(r)},bool(){return d.int(0,1)===1},boolean(){return d.int(0,1)===1},date(r,t){if(r&&!t)return new Date(d.int(r.getTime(),Date.now()));if(!r&&t)return new Date(d.int(0,t.getTime()));let e=Date.now();return new Date(d.int(e-1e11,e))},color(){return "#"+Math.floor(Math.random()*16777215).toString(16)}},Or=d;function N(r){return r?r.charAt(0).toUpperCase()+r.slice(1):""}function x(r){return r?r.split(" ").map(t=>N(t)).join(" "):""}function fr(r){if(!r)return "";let t=/(?:\.([^.]+))?$/,e=t.exec(r);return e?e[1]:""}function ur(r,t=""){if(!r)return "";if(typeof r!="string")throw new Error("The name must be a string");return r.split(" ").map(e=>e.charAt(0)).join(t)}function l(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ar(r,t=" "){if(!r)return "";let e="^"+l(t)+"+",n=new RegExp(e,"g");return r.replace(n,"")}function sr(r,t,e="..."){return r?r.length<=t?r:r.substring(0,t)+e:""}function pr(r,t,e="..."){if(!r)return "";let n=r.split(" "),o=n.slice(0,t);return o.join(" ")+(o.length<n.length?e:"")}function R(r,t,e){return r?r.replace(l(t),e):""}function lr(r,t){return r?R(r,t,""):""}function C(r,t,e){if(!r)return "";let n=r.lastIndexOf(t);return n<0?r:r.substr(0,n)+e+r.substr(n+t.length)}function mr(r,t){return r?C(r,t,""):""}function cr(r,t,e=true){if(!r)return 0;let n="g";e===false&&(n+="i");let o=new RegExp(`${t}`,n);return r.split(o).length-1}function dr(r,t,e){return r?r.replace(new RegExp(l(t),"g"),e):""}function E(r,t=" "){if(!r)return "";let e=l(t)+"+$",n=new RegExp(e,"g");return r.replace(n,"")}function P(r,t=" "){if(!r)return "";if(t===" ")return r.replace(/^\s+|\s+$/g,"");t=l(t);let e="^"+t+"+|"+t+"+$",n=new RegExp(e,"g");return r.replace(n,"")}var yr=/[\u0600-\u06FF]/;function gr(r,t=true){return r?(t===true&&(r=P(String(r))),r.charAt(0).match(yr)!==null):false}function xr(r,t="\\s+|-|/|_|\\."){if(!r)return "";let e=new RegExp(t+"|(?=[A-Z])","g");return r.split(e).map((n,o)=>o>0?x(n):n.toLowerCase()).join("")}function hr(r){if(!r)return "";let t=r.split("."),e=t.shift()||"";for(let n of t){let o="";n.endsWith("[]")&&(n=E(n,"[]"),o="[]"),e+=`[${n}]${o}`;}return e}function D(r,t="_",e=true){return r?r.replace(/(-|\/|\s|([A-Z]))+/g,function(n,o,i){return i?t+(e?i.toLowerCase():i):t}).replace(new RegExp(`^${t}`),""):""}function Ar(r,t=true){return r?D(r,"-",t):""}function br(r,t="-|\\.|_|/|\\s"){if(!r)return "";let e=new RegExp(t,"g");return r.split(e).map(n=>x(n)).join("")}function wr(r,t){let e;return function(...n){clearTimeout(e),e=setTimeout(()=>{r.apply(this,n);},t);}}export{yr as ARABIC_PATTERN,Or as Random,v as areEqual,_ as average,_ as avg,x as capitalize,B as chunk,g as clone,L as count,q as countBy,wr as debounce,l as escapeRegex,G as even,W as evenIndexes,tr as except,fr as extension,F as flatten,u as get,J as groupBy,ur as initials,ar as ltrim,nr as map,V as max,z as median,O as merge,U as min,Z as odd,H as oddIndexes,b as only,y as pluck,Q as pushUnique,X as range,sr as readMoreChars,pr as readMoreWords,lr as removeFirst,mr as removeLast,cr as repeatsOf,dr as replaceAll,R as replaceFirst,C as replaceLast,rr as round,E as rtrim,A as set,S as shuffle,k as sort,gr as startsWithArabic,h as sum,xr as toCamelCase,hr as toInputName,Ar as toKebabCase,D as toSnakeCase,br as toStudlyCase,P as trim,N as ucfirst,Y as unique,w as unset,j as unshiftUnique};//# sourceMappingURL=index.js.map
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../reinforcements/src/object/get.ts","../../../../../../../reinforcements/src/array/sum.ts","../../../../../../../reinforcements/src/array/average.ts","../../../../../../../reinforcements/src/array/chunk.ts","../../../../../../../reinforcements/src/array/count.ts","../../../../../../../reinforcements/src/array/countBy.ts","../../../../../../../reinforcements/src/array/even.ts","../../../../../../../reinforcements/src/array/evenIndexes.ts","../../../../../../../reinforcements/src/array/groupBy.ts","../../../../../../../reinforcements/src/array/max.ts","../../../../../../../reinforcements/src/object/set.ts","../../../../../../../reinforcements/src/object/only.ts","../../../../../../../reinforcements/src/array/pluck.ts","../../../../../../../reinforcements/src/array/median.ts","../../../../../../../reinforcements/src/array/min.ts","../../../../../../../reinforcements/src/array/odd.ts","../../../../../../../reinforcements/src/array/oddIndexes.ts","../../../../../../../reinforcements/src/array/pushUnique.ts","../../../../../../../reinforcements/src/array/range.ts","../../../../../../../reinforcements/src/array/unique.ts","../../../../../../../reinforcements/src/array/unshiftUnique.ts","../../../../../../../reinforcements/src/mixed/areEqual/areEqual.ts","../../../../../../../reinforcements/src/mixed/clone/clone.ts","../../../../../../../reinforcements/src/mixed/shuffle/shuffle.ts","../../../../../../../reinforcements/src/number/round.ts","../../../../../../../reinforcements/src/object/unset.ts","../../../../../../../reinforcements/src/object/except.ts","../../../../../../../reinforcements/src/object/flatten.ts","../../../../../../../reinforcements/src/object/map.ts","../../../../../../../reinforcements/src/object/merge.ts","../../../../../../../reinforcements/src/object/sort.ts","../../../../../../../reinforcements/src/Random/random.ts","../../../../../../../reinforcements/src/string/ucfirst.ts","../../../../../../../reinforcements/src/string/capitalize.ts","../../../../../../../reinforcements/src/string/extension.ts","../../../../../../../reinforcements/src/string/initials.ts","../../../../../../../reinforcements/src/utils/escapeRegex.ts","../../../../../../../reinforcements/src/string/ltrim.ts","../../../../../../../reinforcements/src/string/readMoreChars.ts","../../../../../../../reinforcements/src/string/readMoreWords.ts","../../../../../../../reinforcements/src/string/replaceFirst.ts","../../../../../../../reinforcements/src/string/removeFirst.ts","../../../../../../../reinforcements/src/string/replaceLast.ts","../../../../../../../reinforcements/src/string/removeLast.ts","../../../../../../../reinforcements/src/string/repeatsOf.ts","../../../../../../../reinforcements/src/string/replaceAll.ts","../../../../../../../reinforcements/src/string/rtrim.ts","../../../../../../../reinforcements/src/string/trim.ts","../../../../../../../reinforcements/src/string/startsWithArabic.ts","../../../../../../../reinforcements/src/string/toCamelCase.ts","../../../../../../../reinforcements/src/string/toInputName.ts","../../../../../../../reinforcements/src/string/toSnakeCase.ts","../../../../../../../reinforcements/src/string/toKebabCase.ts","../../../../../../../reinforcements/src/string/toStudlyCase.ts","../../../../../../../reinforcements/src/utils/debounce.ts"],"names":["getValue","object","keyChain","defaultValue","acc","key","get","sum","array","total","item","value","average","chunk","size","result","i","notFound","count","data","countBy","even","evenIndexes","_item","index","groupBy","groupByKey","listAs","groupedData","groupByKeys","baseKeys","dataKey","groupedDataList","groupByKeyData","finalData","groupedKeyWithValue","otherGroupedKeys","max","maxValue","set","keys","currentObject","only","newObject","pluck","median","length","a","b","middle","min","minValue","odd","oddIndexes","pushUnique","items","range","unique","unshiftUnique","areEqual","value2","clone","val","proto","cloned","prop","shuffle","round","precision","multiplier","unset","keyPath","lastKey","parent","except","canBeFlatten","flatten","separator","keepNestedOriginalObject","root","map","callback","isArray","isObject","isDescriptor","merge","objects","refinedObjects","mergeDepth","targetObject","srcObject","srcValue","targetValue","mergedObject","mergeDescriptor","sort","recursive","sortedObject","possible","Random","text","startsWith","minDate","maxDate","now","random_default","ucfirst","string","capitalize","word","extension","regex","initials","name","escapeRegex","ltrim","needle","pattern","readMoreChars","readMoreDots","readMoreWords","wordsList","words","replaceFirst","replacement","removeFirst","replaceLast","lastIndex","removeLast","repeatsOf","caseSensitive","flags","replaceAll","searchText","rtrim","trim","ARABIC_PATTERN","startsWithArabic","trimmed","toCamelCase","toInputName","namesList","mainName","outBrackets","toSnakeCase","lowerAll","_match","_v2","matchedUpperLetter","toKebabCase","toStudlyCase","debounce","time","timeoutId","args"],"mappings":"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","file":"index.js","sourcesContent":["function getValue(object: any, keyChain: string, defaultValue: any) {\r\n // split the key chain into array by dot\r\n // then loop through the array and get the value of each key until the last key\r\n // then return the value of the last key\r\n return keyChain.split(\".\").reduce((acc, key) => {\r\n if (acc === undefined || typeof acc !== \"object\") {\r\n return defaultValue;\r\n }\r\n\r\n if (acc === null) return acc;\r\n\r\n return acc.hasOwnProperty && acc.hasOwnProperty(key)\r\n ? acc[key]\r\n : defaultValue;\r\n }, object);\r\n}\r\n\r\n/**\r\n * Get the value of the given key\r\n */\r\nexport default function get(object: any, key: string, defaultValue?: any): any {\r\n if (!object) return defaultValue;\r\n\r\n if (object[key]) return object[key];\r\n\r\n return getValue(object, key, defaultValue);\r\n}\r\n","import get from \"./../object/get\";\r\n\r\n/**\r\n * Sum the total value of the array\r\n *\r\n * The key supports dot notation. syntax: \"key1.key2.key3\"\r\n */\r\nexport default function sum(array: any[], key?: string): number {\r\n if (!Array.isArray(array)) return 0;\r\n\r\n if (key) {\r\n return array.reduce((total, item) => {\r\n const value = get(item, key, 0);\r\n\r\n if (typeof value !== \"number\" || isNaN(value)) {\r\n return total;\r\n }\r\n\r\n return total + value;\r\n }, 0);\r\n }\r\n\r\n // if there is no key passed, then we'll sum array of numbers\r\n\r\n // using reduce\r\n return array.reduce((total, value) => {\r\n if (typeof value !== \"number\" || isNaN(value)) {\r\n return total;\r\n }\r\n\r\n return total + value;\r\n }, 0);\r\n}\r\n","import sum from \"./sum\";\r\n\r\n/**\r\n * Get the average value of the given array or the given array of objects using the given key\r\n *\r\n * The key supports dot notation. syntax: \"key1.key2.key3\"\r\n */\r\nexport default function average(array: any[], key?: string): number {\r\n if (!Array.isArray(array)) return 0;\r\n\r\n return sum(array, key) / array.length;\r\n}\r\n","/**\r\n * Chunk array|string by the given size\r\n */\r\nexport default function chunk(array: any[] | string, size: number): any[] {\r\n if (!Array.isArray(array) && typeof array !== \"string\") return [];\r\n\r\n const result: any[] = [];\r\n\r\n for (let i = 0; i < array.length; i += size) {\r\n result.push(array.slice(i, i + size));\r\n }\r\n\r\n return result;\r\n}\r\n","import get from \"../object/get\";\r\n\r\nconst notFound = Symbol(\"notFound\");\r\n\r\n/**\r\n * Count data by the given key or callback\r\n */\r\nexport default function count(\r\n data: any[],\r\n key: string | Parameters<typeof Array.prototype.filter>[0],\r\n): number {\r\n if (!Array.isArray(data)) return 0;\r\n\r\n if (typeof key === \"string\") {\r\n return data.filter(item => get(item as object, key, notFound) !== notFound)\r\n .length;\r\n }\r\n\r\n return data.filter(key).length;\r\n}\r\n","import get from \"../object/get\";\r\n\r\n/**\r\n * Count the occurrences of values in an array for the given key\r\n */\r\nexport default function countBy(\r\n array: any[],\r\n key: string,\r\n): { [key: string]: number } {\r\n if (!Array.isArray(array)) {\r\n return {};\r\n }\r\n\r\n return array.reduce((result, item) => {\r\n const value = get(item, key);\r\n\r\n if (result[value]) {\r\n result[value]++;\r\n } else {\r\n result[value] = 1;\r\n }\r\n\r\n return result;\r\n }, {});\r\n}\r\n","import get from \"../object/get\";\r\n\r\n/**\r\n * Get the even values of the given array or the given array of objects using the given key\r\n *\r\n * The key supports dot notation. syntax: \"key1.key2.key3\"\r\n */\r\nexport default function even(array: any[], key?: string): any[] {\r\n if (!Array.isArray(array)) return [];\r\n\r\n return array.filter(item => {\r\n const value = key ? get(item, key) : item;\r\n\r\n return typeof value !== \"number\" ? false : value % 2 === 0;\r\n });\r\n}\r\n","/**\r\n * Get the values of the given array by the even indexes or the given array of objects using the given key\r\n */\r\nexport default function evenIndexes(array: any[]): any[] {\r\n if (!Array.isArray(array)) return [];\r\n\r\n return array.filter((_item, index) => index % 2 === 0);\r\n}\r\n","import { get } from \"..\";\r\nimport { GenericObject } from \"../types\";\r\n\r\n/**\r\n * Group the given array by the given key(s).\r\n *\r\n * The key(s) support dot notation.\r\n */\r\nexport default function groupBy(\r\n array: GenericObject[],\r\n groupByKey: string | string[],\r\n listAs = \"data\",\r\n): GenericObject[] {\r\n const groupedData: {\r\n [key: string]: {\r\n [key: string]: any;\r\n data?: GenericObject[];\r\n };\r\n } = {};\r\n\r\n const groupByKeys =\r\n typeof groupByKey === \"string\" ? [groupByKey] : groupByKey;\r\n\r\n for (const item of array) {\r\n const baseKeys: Array<{\r\n key: string;\r\n value: any;\r\n }> = [];\r\n\r\n for (const groupByKey of groupByKeys) {\r\n const value = get(item, groupByKey);\r\n if (!value) break;\r\n\r\n baseKeys.push({\r\n key: groupByKey,\r\n value,\r\n });\r\n }\r\n\r\n const dataKey = JSON.stringify(baseKeys);\r\n\r\n if (!groupedData[dataKey]) {\r\n const groupedDataList: {\r\n [key: string]: any;\r\n } = {\r\n data: [],\r\n };\r\n\r\n for (const groupByKeyData of baseKeys) {\r\n groupedDataList[groupByKeyData.key] = groupByKeyData.value;\r\n }\r\n\r\n groupedData[dataKey] = groupedDataList;\r\n }\r\n\r\n groupedData[dataKey]?.data?.push(item);\r\n }\r\n\r\n const finalData: GenericObject[] = [];\r\n\r\n for (const groupedKeyWithValue in groupedData) {\r\n const { data, ...otherGroupedKeys } = groupedData[groupedKeyWithValue];\r\n\r\n finalData.push({\r\n ...otherGroupedKeys,\r\n [listAs]: data,\r\n });\r\n }\r\n\r\n return finalData;\r\n}\r\n","import get from \"../object/get\";\r\n\r\n/**\r\n * Get the max value of the given array or the given array of objects using the given key\r\n *\r\n * The key supports dot notation. syntax: \"key1.key2.key3\"\r\n */\r\nexport default function max(array: any[], key?: string): number {\r\n if (!Array.isArray(array)) return 0;\r\n\r\n let maxValue = 0;\r\n\r\n for (let i = 0; i < array.length; i++) {\r\n const value = key ? Number(get(array[i], key)) : Number(array[i]);\r\n\r\n if (isNaN(value)) continue;\r\n\r\n if (maxValue === 0 || value > maxValue) {\r\n maxValue = value;\r\n }\r\n }\r\n\r\n return maxValue;\r\n}\r\n","/**\r\n * Set the given value to the given key\r\n * The key supports dot.notation syntax\r\n */\r\nexport default function set(\r\n object: Record<string, any>,\r\n key: string,\r\n value: any,\r\n): object {\r\n if (!object || typeof object !== \"object\") return object;\r\n\r\n if (!key.includes(\".\")) {\r\n object[key] = value;\r\n\r\n return object;\r\n }\r\n\r\n const keys: Array<string> = key.split(\".\");\r\n\r\n let currentObject = object;\r\n\r\n for (let i = 0; i < keys.length; i++) {\r\n const key: string = keys[i];\r\n if (i + 1 === keys.length) {\r\n currentObject[key] = value;\r\n } else {\r\n if (typeof currentObject[key] === \"undefined\") {\r\n currentObject = currentObject[key] = {};\r\n } else {\r\n currentObject = currentObject[key] as Record<string, any>;\r\n }\r\n }\r\n }\r\n\r\n return object;\r\n}\r\n","import get from \"./get\";\r\nimport set from \"./set\";\r\n\r\n/**\r\n * Get only the given keys from the given object\r\n */\r\nexport default function only(object: any, keys: Array<string>): any {\r\n const newObject: any = {};\r\n\r\n for (const key of keys) {\r\n const value = get(object, key, undefined);\r\n\r\n if (value !== undefined) {\r\n set(newObject, key, value);\r\n }\r\n }\r\n\r\n return newObject;\r\n}\r\n","import get from \"../object/get\";\r\nimport only from \"../object/only\";\r\n\r\n/**\r\n * Pluck the given array by the given key\r\n * If the second argument is sent as object , it will return an array of objects\r\n * otherwise, it will return an array of values\r\n *\r\n * The key supports dot notation. syntax: \"key1.key2.key3\"\r\n */\r\nexport default function pluck(array: any[], key?: string | string[]): any[] {\r\n if (!Array.isArray(array)) return [];\r\n\r\n if (key) {\r\n if (typeof key === \"string\") {\r\n return array.map(item => get(item, key));\r\n }\r\n\r\n if (Array.isArray(key)) {\r\n return array.map(item => only(item, key));\r\n }\r\n }\r\n\r\n return array;\r\n}\r\n","import pluck from \"./pluck\";\r\n\r\n/**\r\n * Get median value of the array\r\n *\r\n * The key supports dot notation. syntax: \"key1.key2.key3\"\r\n */\r\nexport default function median(array: any[], key?: string): number {\r\n if (!Array.isArray(array)) return 0;\r\n\r\n if (key) {\r\n array = pluck(array, key);\r\n\r\n if (!Array.isArray(array)) return 0;\r\n }\r\n\r\n // if array is not list of numbers then return 0\r\n\r\n if (!array.every(item => typeof item === \"number\")) return 0;\r\n\r\n const length = array.length;\r\n\r\n if (length === 0) return 0;\r\n\r\n array.sort((a, b) => a - b);\r\n\r\n const middle = Math.floor(length / 2);\r\n\r\n const value =\r\n length % 2 ? array[middle] : (array[middle - 1] + array[middle]) / 2;\r\n\r\n if (isNaN(value) || typeof value !== \"number\") return 0;\r\n\r\n return value;\r\n}\r\n","import get from \"../object/get\";\r\n\r\n/**\r\n * Get the min value of the given array or the given array of objects using the given key\r\n *\r\n * The key supports dot notation. syntax: \"key1.key2.key3\"\r\n */\r\nexport default function min(array: any[], key?: string): number {\r\n if (!Array.isArray(array)) return 0;\r\n\r\n let minValue = 0;\r\n\r\n for (let i = 0; i < array.length; i++) {\r\n const value = key ? Number(get(array[i], key)) : Number(array[i]);\r\n\r\n if (isNaN(value)) continue;\r\n\r\n if (minValue === 0 || value < minValue) {\r\n minValue = value;\r\n }\r\n }\r\n\r\n return minValue;\r\n}\r\n","import get from \"../object/get\";\r\n\r\n/**\r\n * Get the odd values of the given array or the given array of objects using the given key\r\n *\r\n * The key supports dot notation. syntax: \"key1.key2.key3\"\r\n */\r\nexport default function odd(array: any[], key?: string): any[] {\r\n if (!Array.isArray(array)) return [];\r\n\r\n return array.filter(item => {\r\n const value = key ? Number(get(item, key)) : Number(item);\r\n\r\n return isNaN(value) ? false : value % 2 !== 0;\r\n });\r\n}\r\n","/**\r\n * Get the values of the given array by the odd indexes or the given array of objects using the given key\r\n */\r\nexport default function oddIndexes(array: any[]): any[] {\r\n if (!Array.isArray(array)) return [];\r\n\r\n return array.filter((_item, index) => index % 2 !== 0);\r\n}\r\n","/**\r\n * Push once one or more values to the array if and\r\n * only if the value doesn't exists in the array\r\n */\r\nexport default function pushUnique<T = any>(array: T[], ...items: T[]): T[] {\r\n items.forEach(item => {\r\n if (!array.includes(item)) {\r\n array.push(item);\r\n }\r\n });\r\n return array;\r\n}\r\n","/**\r\n * Generate array of numbers starting from the\" given min value to the given max value\r\n */\r\nexport default function range(min: number, max: number) {\r\n if (typeof min !== \"number\") {\r\n throw new Error(`min parameter should be number, \"${typeof min}\" given.`);\r\n }\r\n\r\n if (typeof max !== \"number\") {\r\n throw new Error(`max parameter should be number, \"${typeof max}\" given.`);\r\n }\r\n\r\n if (min >= max) {\r\n throw new Error(\"max parameter should be higher than min parameter\");\r\n }\r\n\r\n const array: number[] = [];\r\n\r\n for (let i = min; i <= max; i++) {\r\n array.push(i);\r\n }\r\n\r\n return array;\r\n}\r\n","import pluck from \"./pluck\";\r\n\r\n/**\r\n * Get unique values of the array\r\n */\r\nexport default function unique(array: any[], key?: string): any[] {\r\n if (!Array.isArray(array)) return [];\r\n\r\n if (key) {\r\n array = pluck(array, key);\r\n\r\n if (!Array.isArray(array)) return [];\r\n }\r\n\r\n return [...new Set(array)];\r\n}\r\n","/**\r\n * Prepend once one or more values to the array if and\r\n * only if the value doesn't exists in the array\r\n */\r\nexport default function unshiftUnique<T = any>(array: T[], ...items: T[]): T[] {\r\n items.forEach(item => {\r\n if (!array.includes(item)) {\r\n array.unshift(item);\r\n }\r\n });\r\n\r\n return array;\r\n}\r\n","/**\r\n * Determine if the given values are equal to each other\r\n */\r\nexport default function areEqual(value: any, value2: any): boolean {\r\n if (\r\n [\"symbol\", \"number\", \"boolean\", \"string\", \"undefined\"].includes(\r\n typeof value,\r\n ) ||\r\n !value ||\r\n !value2\r\n ) {\r\n return value === value2;\r\n }\r\n\r\n if (Array.isArray(value)) {\r\n value = value.sort();\r\n }\r\n\r\n if (Array.isArray(value2)) {\r\n value2 = value2.sort();\r\n }\r\n\r\n return JSON.stringify(value) === JSON.stringify(value2);\r\n}\r\n","\r\nexport default function clone<T>(value: T): T {\r\n if (!value) return value;\r\n if (typeof value === \"object\" && value !== null) {\r\n if (Array.isArray(value)) {\r\n return value.map(item => clone(item)) as any;\r\n } else if (value instanceof Date) {\r\n return new Date(value.getTime()) as any;\r\n } else if (value instanceof Set) {\r\n return new Set(Array.from(value, clone)) as any;\r\n } else if (value instanceof Map) {\r\n return new Map(\r\n Array.from(value, ([key, val]) => [key, clone(val)]),\r\n ) as any;\r\n } else if (typeof value === \"object\") {\r\n const proto = Object.getPrototypeOf(value);\r\n const isPlainObject = proto === Object.prototype || proto === null;\r\n\r\n if (!isPlainObject) {\r\n return value as T; // skip cloning non-plain objects\r\n }\r\n\r\n const cloned: any = Object.create(proto);\r\n for (const prop in value) {\r\n if (Object.prototype.hasOwnProperty.call(value, prop)) {\r\n cloned[prop] = clone((value as any)[prop]);\r\n }\r\n }\r\n return cloned as T;\r\n }\r\n } else {\r\n return value;\r\n }\r\n return value;\r\n}\r\n","/**\r\n * Shuffle value either it is a string or an array\r\n */\r\nexport default function shuffle(value: any[] | string): any[] | string {\r\n if (!value || (!Array.isArray(value) && typeof value !== \"string\"))\r\n return value;\r\n\r\n if (typeof value === \"string\") {\r\n return (shuffle(value.split(\"\")) as any[]).join(\"\");\r\n }\r\n\r\n if (!Array.isArray(value)) return value;\r\n\r\n return value.sort(() => Math.random() - 0.5);\r\n}\r\n","/**\r\n * Round number with given precision\r\n */\r\nexport default function round(value: number, precision = 2): number {\r\n const multiplier = Math.pow(10, precision || 0);\r\n return Math.floor(value * multiplier) / multiplier;\r\n}\r\n","import get from \"./get\";\r\n\r\n/**\r\n * Remove the given keys from the given object using dot notation syntax\r\n */\r\nexport default function unset(object: any, keys: string[]) {\r\n if (!object || typeof object !== \"object\" || Array.isArray(object))\r\n return object;\r\n\r\n // remove the given keys from the given object\r\n // keys can be nested using dot notation syntax\r\n\r\n for (const key of keys) {\r\n const keyPath = key.split(\".\");\r\n\r\n if (keyPath.length === 1) {\r\n delete object[key];\r\n } else {\r\n const lastKey: any = keyPath.pop();\r\n const parent: any = get(object, keyPath.join(\".\"));\r\n if (parent) {\r\n delete parent[lastKey];\r\n }\r\n }\r\n }\r\n\r\n return object;\r\n}\r\n","import unset from \"./unset\";\r\n\r\n/**\r\n * Get all object data except for the given keys using dot notation syntax\r\n */\r\nexport default function except(object: any, keys: Array<string>): any {\r\n if (!object || typeof object !== \"object\" || Array.isArray(object))\r\n return object;\r\n\r\n const newObject = { ...object };\r\n\r\n return unset(newObject, keys);\r\n}\r\n","function canBeFlatten(value: any): boolean {\r\n return value !== null && typeof value === \"object\";\r\n}\r\n\r\nfunction toPlainObject(object) {\r\n if (Array.isArray(object)) {\r\n return object.map(item => toPlainObject(item));\r\n }\r\n\r\n if (canBeFlatten(object)) {\r\n const clonedObject: any = Object.keys(object).reduce((acc, key) => {\r\n if (typeof object[key] === \"function\") return acc;\r\n\r\n acc[key] = toPlainObject(object[key]);\r\n return acc;\r\n }, {});\r\n\r\n // clone the prototype\r\n clonedObject.__proto__ = object.__proto__;\r\n\r\n return clonedObject;\r\n }\r\n\r\n return object;\r\n}\r\n\r\n/**\r\n * Flatten the given object into one big fat object\r\n */\r\nexport default function flatten(\r\n object: any,\r\n separator = \".\",\r\n keepNestedOriginalObject = false,\r\n parent?: string,\r\n root: any = {},\r\n): any {\r\n if (canBeFlatten(object) === false) {\r\n return object;\r\n }\r\n\r\n // object = toPlainObject(object);\r\n\r\n for (const key of Object.keys(object)) {\r\n const value: any = object[key];\r\n\r\n const keyChain = parent ? parent + separator + key : key;\r\n\r\n if (\r\n (Array.isArray(value) && value.length === 0) ||\r\n typeof value === \"function\"\r\n ) {\r\n root[keyChain] = value;\r\n } else if (canBeFlatten(value)) {\r\n if (keepNestedOriginalObject) {\r\n root[keyChain] = value;\r\n }\r\n\r\n flatten(value, separator, keepNestedOriginalObject, keyChain, root);\r\n } else {\r\n root[keyChain] = value;\r\n }\r\n }\r\n\r\n return root;\r\n}\r\n","/**\r\n * Map the given object into an array\r\n */\r\nexport default function map(\r\n object: any,\r\n callback: (key: string, value: any, object: any) => any,\r\n): any[] {\r\n return Object.keys(object).map(key => {\r\n return callback(key, object[key], object);\r\n });\r\n}\r\n","/**\r\n * Disclaimer\r\n * This function is originally taken from https://github.com/jhildenbiddle/mergician\r\n * But removed unnecessary parts and added some types, also add some comments and updated constant/variable names and types\r\n */\r\n\r\nconst isArray = Array.isArray;\r\n\r\nconst isObject = (value: any) => {\r\n return value && value.constructor.name === \"Object\";\r\n};\r\n\r\nfunction isDescriptor(object: any) {\r\n if (!isObject(object)) {\r\n return false;\r\n }\r\n\r\n return (\r\n (\"get\" in object && typeof object.get === \"function\") ||\r\n (\"set\" in object && typeof object.set === \"function\") ||\r\n (\"value\" in object &&\r\n (\"writable\" in object ||\r\n \"enumerable\" in object ||\r\n \"configurable\" in object))\r\n );\r\n}\r\n\r\n/**\r\n * Merge deep objects or arrays\r\n */\r\nexport default function merge(...objects: any[]) {\r\n if (objects.length === 0 || !objects[0]) return objects[0];\r\n\r\n const refinedObjects: any[] = [];\r\n\r\n for (let object of objects) {\r\n if (isObject(object) || isArray(object)) {\r\n refinedObjects.push(object);\r\n }\r\n }\r\n\r\n if (refinedObjects.length === 0) {\r\n // return last value\r\n return objects[objects.length - 1];\r\n }\r\n\r\n let mergeKeyList;\r\n\r\n let mergeDepth = 0;\r\n\r\n const result: any = refinedObjects.reduce(\r\n (targetObject: any, srcObject: any) => {\r\n let keys = mergeKeyList || Object.keys(srcObject);\r\n\r\n for (let i = 0; i < keys.length; i++) {\r\n const key = keys[i];\r\n\r\n if (key in srcObject === false) {\r\n continue;\r\n }\r\n\r\n const srcValue = srcObject[key];\r\n const targetValue = targetObject[key];\r\n\r\n let mergedObject = srcValue;\r\n\r\n if (isArray(mergedObject)) {\r\n mergedObject = [...mergedObject];\r\n } else if (isObject(mergedObject) && !isDescriptor(mergedObject)) {\r\n mergeDepth++;\r\n\r\n if (isObject(targetValue) || isArray(targetValue)) {\r\n mergedObject = merge(targetValue, mergedObject);\r\n } else {\r\n mergedObject = merge(mergedObject);\r\n }\r\n\r\n mergeDepth--;\r\n }\r\n\r\n // New descriptor returned via callback\r\n if (isDescriptor(mergedObject)) {\r\n // Accessor and data descriptor\r\n mergedObject.configurable = !(\"configurable\" in mergedObject)\r\n ? true\r\n : mergedObject.configurable;\r\n mergedObject.enumerable = !(\"enumerable\" in mergedObject)\r\n ? true\r\n : mergedObject.enumerable;\r\n\r\n // Data descriptor\r\n if (\"value\" in mergedObject && !(\"writable\" in mergedObject)) {\r\n mergedObject.writable = true;\r\n }\r\n\r\n Object.defineProperty(targetObject, key, mergedObject);\r\n } else {\r\n const mergeDescriptor: any = Object.getOwnPropertyDescriptor(\r\n srcObject,\r\n key,\r\n );\r\n\r\n // Accessors (getter/setter)\r\n if (\"get\" in mergeDescriptor) {\r\n Object.defineProperty(targetObject, key, mergeDescriptor);\r\n }\r\n // Standard values\r\n else {\r\n targetObject[key] = mergedObject;\r\n }\r\n }\r\n }\r\n\r\n return targetObject;\r\n },\r\n {},\r\n );\r\n\r\n return result;\r\n}\r\n","/**\r\n * Sort the given object by its keys\r\n */\r\nexport default function sort(object: any, recursive = true): any {\r\n if (!object || typeof object !== \"object\" || Array.isArray(object))\r\n return object;\r\n\r\n const sortedObject: any = {};\r\n\r\n const keys = Object.keys(object).sort();\r\n\r\n keys.forEach((key: string) => {\r\n sortedObject[key] = recursive ? sort(object[key]) : object[key];\r\n });\r\n\r\n return sortedObject;\r\n}\r\n","const possible =\r\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\r\n\r\nconst Random = {\r\n /**\r\n * Get a random integer\r\n */\r\n int(min = 1, max = 9999999): number {\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n },\r\n\r\n /**\r\n * @alias Random.int\r\n */\r\n integer(min = 1, max = 9999999): number {\r\n return this.int(min, max);\r\n },\r\n\r\n /**\r\n * Generate random string\r\n */\r\n string(length = 32): string {\r\n let text = \"\";\r\n\r\n for (let i = 0; i < length; i++) {\r\n text += possible.charAt(Math.floor(Math.random() * possible.length));\r\n }\r\n\r\n return text;\r\n },\r\n\r\n /**\r\n * Generate random id\r\n */\r\n id(length = 6, startsWith = \"el-\"): string {\r\n return startsWith + Random.string(length);\r\n },\r\n\r\n /**\r\n * Generate random boolean value\r\n */\r\n bool(): boolean {\r\n return Random.int(0, 1) === 1;\r\n },\r\n\r\n /**\r\n * Alias to bool method\r\n */\r\n boolean(): boolean {\r\n return Random.int(0, 1) === 1;\r\n },\r\n\r\n /**\r\n * Get random date\r\n */\r\n date(minDate?: Date, maxDate?: Date): Date {\r\n if (minDate && !maxDate) {\r\n return new Date(Random.int(minDate.getTime(), Date.now()));\r\n }\r\n\r\n if (!minDate && maxDate) {\r\n return new Date(Random.int(0, maxDate.getTime()));\r\n }\r\n\r\n const now = Date.now();\r\n return new Date(Random.int(now - 100000000000, now));\r\n },\r\n\r\n /**\r\n * Get random color\r\n */\r\n color(): string {\r\n return \"#\" + Math.floor(Math.random() * 16777215).toString(16);\r\n },\r\n};\r\n\r\nexport default Random;\r\n","/**\r\n * Capitalize the first letter in the string\r\n *\r\n * @return string\r\n */\r\nexport default function ucfirst(string: string): string {\r\n if (!string) return \"\";\r\n\r\n return string.charAt(0).toUpperCase() + string.slice(1);\r\n}\r\n","import ucfirst from \"./ucfirst\";\r\n\r\n/**\r\n * Capitalize the first letter of the string\r\n *\r\n * @return string\r\n */\r\nexport default function capitalize(string: string): string {\r\n if (!string) return \"\";\r\n return string\r\n .split(\" \")\r\n .map(word => ucfirst(word))\r\n .join(\" \");\r\n}\r\n","/**\r\n * Get the extension of the file name\r\n */\r\nexport default function extension(string: string): string {\r\n if (!string) return \"\";\r\n const regex = /(?:\\.([^.]+))?$/,\r\n extension = regex.exec(string);\r\n\r\n return extension ? extension[1] : \"\";\r\n}\r\n","/**\r\n * Get the initials of the given name\r\n */\r\nexport default function initials(name: string, separator = \"\"): string {\r\n if (!name) return \"\";\r\n\r\n if (typeof name !== \"string\") {\r\n throw new Error(\"The name must be a string\");\r\n }\r\n\r\n return name\r\n .split(\" \")\r\n .map(name => name.charAt(0))\r\n .join(separator);\r\n}\r\n","/**\r\n * Escape the regex of the given string\r\n */\r\nexport default function escapeRegex(string: string): string {\r\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\r\n}\r\n","import escapeRegex from \"../utils/escapeRegex\";\r\n\r\n/**\r\n * Remove the given needle from the start of string\r\n *\r\n * @param string needle\r\n * @return string\r\n */\r\nexport default function ltrim(string: string, needle = \" \"): string {\r\n if (!string) return \"\";\r\n const pattern = \"^\" + escapeRegex(needle) + \"+\",\r\n regex = new RegExp(pattern, \"g\");\r\n\r\n return string.replace(regex, \"\");\r\n}\r\n","/**\r\n * Cut string for the given length and append ... if string is larger than the given length\r\n *\r\n */\r\nexport default function readMoreChars(\r\n string: string,\r\n length: number,\r\n readMoreDots = \"...\",\r\n): string {\r\n if (!string) return \"\";\r\n if (string.length <= length) return string;\r\n\r\n return string.substring(0, length) + readMoreDots;\r\n}\r\n","/**\r\n * Cut string for the given spaces and append ... if string is larger than the given length\r\n *\r\n */\r\nexport default function readMoreWords(\r\n string: string,\r\n length: number,\r\n readMoreDots = \"...\",\r\n): string {\r\n if (!string) return \"\";\r\n const wordsList = string.split(\" \");\r\n const words = wordsList.slice(0, length);\r\n\r\n return (\r\n words.join(\" \") + (words.length < wordsList.length ? readMoreDots : \"\")\r\n );\r\n}\r\n","import escapeRegex from \"../utils/escapeRegex\";\r\n\r\n/**\r\n * Replace the First occurrence for the the give needle\r\n *\r\n * @param string needle\r\n * @param string replacement\r\n * @return string\r\n */\r\nexport default function replaceFirst(\r\n string: string,\r\n needle: string,\r\n replacement: string,\r\n): string {\r\n if (!string) return \"\";\r\n return string.replace(escapeRegex(needle), replacement);\r\n}\r\n","import replaceFirst from \"./replaceFirst\";\r\n\r\n/**\r\n * Remove the first occurrence for the the give needle\r\n *\r\n * @param string needle\r\n * @return string\r\n */\r\nexport default function removeFirst(string: string, needle: string): string {\r\n if (!string) return \"\";\r\n return replaceFirst(string, needle, \"\");\r\n}\r\n","/**\r\n * Replace the last occurrence for the the give needle\r\n *\r\n * @param string needle\r\n * @param string replacement\r\n * @return string\r\n */\r\nexport default function replaceLast(\r\n string: string,\r\n needle: string,\r\n replacement: string,\r\n): string {\r\n if (!string) return \"\";\r\n const lastIndex = string.lastIndexOf(needle);\r\n\r\n if (lastIndex < 0) {\r\n return string;\r\n }\r\n\r\n return (\r\n string.substr(0, lastIndex) +\r\n replacement +\r\n string.substr(lastIndex + needle.length)\r\n );\r\n}\r\n","import replaceLast from \"./replaceLast\";\r\n\r\n/**\r\n * Remove the last occurrence for the the give needle\r\n *\r\n * @param string needle\r\n * @return string\r\n */\r\nexport default function removeLast(string: string, needle: string): string {\r\n if (!string) return \"\";\r\n return replaceLast(string, needle, \"\");\r\n}\r\n","/**\r\n * Get total repeats of the given string\r\n *\r\n * @param string $needle\r\n * @return int\r\n */\r\nexport default function repeatsOf(\r\n string: string,\r\n needle: string,\r\n caseSensitive = true,\r\n): number {\r\n if (!string) return 0;\r\n let flags = \"g\";\r\n if (caseSensitive === false) {\r\n flags += \"i\";\r\n }\r\n\r\n const regex = new RegExp(`${needle}`, flags);\r\n\r\n return string.split(regex).length - 1;\r\n}\r\n","import escapeRegex from \"../utils/escapeRegex\";\r\n\r\n/**\r\n * Replace all matched occurrence with the given string\r\n *\r\n * @param string searchText\r\n * @param string replacement\r\n * @returns string\r\n */\r\nexport default function replaceAll(\r\n string: string,\r\n searchText: string,\r\n replacement: string,\r\n): string {\r\n if (!string) return \"\";\r\n return string.replace(new RegExp(escapeRegex(searchText), \"g\"), replacement);\r\n}\r\n","import escapeRegex from \"../utils/escapeRegex\";\r\n\r\n/**\r\n * Remove the given needle from the start of string\r\n *\r\n * @param string needle\r\n * @return string\r\n */\r\nexport default function rtrim(string: string, needle = \" \"): string {\r\n if (!string) return \"\";\r\n const pattern = escapeRegex(needle) + \"+$\",\r\n regex = new RegExp(pattern, \"g\");\r\n\r\n return string.replace(regex, \"\");\r\n}\r\n","import escapeRegex from \"../utils/escapeRegex\";\r\n\r\n/**\r\n * Remove the given needle from the start and the end of string\r\n *\r\n * @param string $needle\r\n * @return string\r\n */\r\nexport default function trim(string: string, needle = \" \"): string {\r\n if (!string) return \"\";\r\n\r\n if (needle === \" \") {\r\n return string.replace(/^\\s+|\\s+$/g, \"\");\r\n }\r\n\r\n needle = escapeRegex(needle);\r\n\r\n const pattern = \"^\" + needle + \"+|\" + needle + \"+$\",\r\n regex = new RegExp(pattern, \"g\");\r\n\r\n return string.replace(regex, \"\");\r\n}\r\n","import trim from \"./trim\";\r\n\r\nexport const ARABIC_PATTERN = /[\\u0600-\\u06FF]/;\r\n\r\nexport default function startsWithArabic(\r\n string: string,\r\n trimmed = true,\r\n): boolean {\r\n if (!string) return false;\r\n\r\n if (trimmed === true) {\r\n string = trim(String(string));\r\n }\r\n return string.charAt(0).match(ARABIC_PATTERN) !== null;\r\n}\r\n","import capitalize from \"./capitalize\";\r\n\r\nexport default function toCamelCase(\r\n string: string,\r\n separator = \"\\\\s+|-|/|_|\\\\.\",\r\n): string {\r\n if (!string) return \"\";\r\n\r\n const regex = new RegExp(separator + \"|(?=[A-Z])\", \"g\");\r\n\r\n return string\r\n .split(regex)\r\n .map((word, index) => (index > 0 ? capitalize(word) : word.toLowerCase()))\r\n .join(\"\");\r\n}\r\n","import rtrim from \"./rtrim\";\r\n\r\n/**\r\n * Convert the current a dot notation string to compound input name\r\n * my.input.name >> my[input][name]\r\n */\r\nexport default function toInputName(string: string) {\r\n if (!string) return \"\";\r\n\r\n const namesList = string.split(\".\");\r\n let mainName = namesList.shift() || \"\";\r\n\r\n for (let name of namesList) {\r\n let outBrackets = \"\";\r\n if (name.endsWith(\"[]\")) {\r\n name = rtrim(name, \"[]\");\r\n outBrackets = \"[]\";\r\n }\r\n\r\n mainName += `[${name}]${outBrackets}`;\r\n }\r\n\r\n return mainName;\r\n}\r\n","/**\r\n * Convert current string to snake case\r\n * i.e hello-world will become: hello_world\r\n *\r\n * @return string\r\n */\r\nexport default function toSnakeCase(\r\n string: string,\r\n separator = \"_\",\r\n lowerAll = true,\r\n): string {\r\n if (!string) return \"\";\r\n\r\n return string\r\n .replace(/(-|\\/|\\s|([A-Z]))+/g, function (_match, _v2, matchedUpperLetter) {\r\n if (!matchedUpperLetter) return separator;\r\n\r\n return (\r\n separator +\r\n (lowerAll ? matchedUpperLetter.toLowerCase() : matchedUpperLetter)\r\n );\r\n })\r\n .replace(new RegExp(`^${separator}`), \"\");\r\n}\r\n","import toSnakeCase from \"./toSnakeCase\";\r\n\r\n/**\r\n * Convert current string to kebab case\r\n */\r\nexport default function toKebabCase(string: string, lowerAll = true): string {\r\n if (!string) return \"\";\r\n\r\n return toSnakeCase(string, \"-\", lowerAll);\r\n}\r\n","import capitalize from \"./capitalize\";\r\n\r\n/**\r\n * Convert current string to camel case\r\n * i.e hello-world will become: helloWorld\r\n *\r\n * @param string separator default is by dash(-) or underscore(_)\r\n * @return string\r\n * @see String.capitalize\r\n */\r\nexport default function toStudlyCase(\r\n string: string,\r\n separator = \"-|\\\\.|_|/|\\\\s\",\r\n): string {\r\n if (!string) return \"\";\r\n\r\n const regex = new RegExp(separator, \"g\");\r\n return string\r\n .split(regex)\r\n .map(word => capitalize(word))\r\n .join(\"\");\r\n}\r\n","let timeoutId: NodeJS.Timeout | undefined;\r\n\r\ntype DebounceFn<T extends (...args: any[]) => any> = (\r\n this: ThisParameterType<T>,\r\n ...args: Parameters<T>\r\n) => void;\r\n\r\n/**\r\n * Debounce the callback function and return a new function.\r\n * Example of usage:\r\n * @example const debounced = debounce(() => console.log('Hello'), 1000);\r\n */\r\nexport default function debounce<T extends (...args: any[]) => any>(\r\n callback: T,\r\n time: number,\r\n): DebounceFn<T> {\r\n let timeoutId: ReturnType<typeof setTimeout>;\r\n\r\n return function (this: ThisParameterType<T>, ...args: Parameters<T>) {\r\n clearTimeout(timeoutId);\r\n\r\n timeoutId = setTimeout(() => {\r\n callback.apply(this, args);\r\n }, time);\r\n };\r\n}\r\n"]}
|