@dereekb/util 11.0.20 → 11.1.0

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/index.esm.js CHANGED
@@ -1623,230 +1623,6 @@ $$h({ target: 'Array', proto: true, forced: FORCED$2 }, {
1623
1623
  }
1624
1624
  });
1625
1625
 
1626
- // MARK: Types
1627
-
1628
- // MARK: Functions
1629
- /**
1630
- * Converts the input value to an array containing itself, or returns itself if it is an array.
1631
- *
1632
- * @param arrayOrValue
1633
- * @returns
1634
- */
1635
- function convertMaybeToArray(arrayOrValue) {
1636
- if (arrayOrValue != null) {
1637
- return convertToArray(arrayOrValue);
1638
- } else {
1639
- return [];
1640
- }
1641
- }
1642
- const asArray = convertMaybeToArray;
1643
-
1644
- /**
1645
- * Converts the input value to an array containing itself, or returns itself if it is an array.
1646
- *
1647
- * @param arrayOrValue
1648
- * @returns
1649
- */
1650
- function convertToArray(arrayOrValue) {
1651
- return Array.isArray(arrayOrValue) ? arrayOrValue : [arrayOrValue];
1652
- }
1653
- /**
1654
- * Returns the first value from the array.
1655
- */
1656
- function firstValue(input) {
1657
- return valueAtIndex(input, 0);
1658
- }
1659
-
1660
- /**
1661
- * Returns the last value from the array.
1662
- */
1663
- function lastValue(input) {
1664
- if (Array.isArray(input)) {
1665
- return input[input.length - 1];
1666
- } else {
1667
- return input;
1668
- }
1669
- }
1670
-
1671
- /**
1672
- * Returns a tuple with the first and last value of the input.
1673
- *
1674
- * If the input is not an array, returns that value as the first and last value.
1675
- *
1676
- * @param input
1677
- * @returns
1678
- */
1679
- function firstAndLastValue(input) {
1680
- const first = firstValue(input);
1681
- const last = lastValue(input);
1682
- return [first, last];
1683
- }
1684
- function valueAtIndex(input, index) {
1685
- if (Array.isArray(input)) {
1686
- return input[index];
1687
- } else {
1688
- return input;
1689
- }
1690
- }
1691
-
1692
- /**
1693
- * Concatinates the input arrays and filters out falsy values.
1694
- */
1695
- function concatArrays(...arrays) {
1696
- return flattenArray(arrays.filter(x => Boolean(x)));
1697
- }
1698
-
1699
- /**
1700
- * Flattens a two dimensional array into a single dimensional array. Any null/undefined values from the first dimension are filtered out.
1701
- *
1702
- * @param array
1703
- * @returns
1704
- */
1705
- function flattenArray(array) {
1706
- const filteredValues = array.filter(x => Boolean(x));
1707
-
1708
- // concat with spread is faster than a depth-one flat
1709
- return [].concat(...filteredValues);
1710
- }
1711
-
1712
- /**
1713
- * Flattens an array of ArrayOrValue values into a single array.
1714
- *
1715
- * @param array
1716
- * @returns
1717
- */
1718
- function flattenArrayOrValueArray(array) {
1719
- return flattenArray(array.map(x => x ? convertToArray(x) : undefined));
1720
- }
1721
- function copyArray(input) {
1722
- return input != null ? Array.from(input) : [];
1723
- }
1724
- function pushElementOntoArray(target, element, times) {
1725
- for (let i = 0; i < times; i += 1) {
1726
- target.push(element);
1727
- }
1728
- return target;
1729
- }
1730
-
1731
- /**
1732
- * Merges all input arrays into a single array.
1733
- *
1734
- * @param arrays
1735
- * @returns
1736
- */
1737
- function mergeArrays(arrays) {
1738
- return mergeArraysIntoArray([], ...arrays);
1739
- }
1740
-
1741
- /**
1742
- * Merges the input arrays into the target array by pushing each item from each array. Creates an empty array if the target is null/undefined.
1743
- *
1744
- * @param target
1745
- * @param arrays
1746
- * @returns
1747
- */
1748
- function mergeArraysIntoArray(target, ...arrays) {
1749
- if (target == null) {
1750
- target = [];
1751
- }
1752
- arrays.forEach(array => {
1753
- if (array != null) {
1754
- pushArrayItemsIntoArray(target, array);
1755
- }
1756
- });
1757
- return target;
1758
- }
1759
-
1760
- /**
1761
- * Pushes the input value into the target array if it is not an array. If it is an array, inserts all values from that array into the target array.
1762
- *
1763
- * @param target
1764
- * @param value
1765
- * @returns
1766
- */
1767
- function pushItemOrArrayItemsIntoArray(target, value) {
1768
- if (Array.isArray(value)) {
1769
- return pushArrayItemsIntoArray(target, value);
1770
- } else {
1771
- target.push(value);
1772
- return target;
1773
- }
1774
- }
1775
-
1776
- /**
1777
- * Merges all the values from the second array into the first using push.
1778
- *
1779
- * This is preferable in cases where immutability is not required.
1780
- *
1781
- * @param target
1782
- * @param array
1783
- */
1784
- function pushArrayItemsIntoArray(target, array) {
1785
- Array.prototype.push.apply(target, array);
1786
- return target;
1787
- }
1788
-
1789
- /**
1790
- * Copies/takes the elements from the front of the array up to the max.
1791
- *
1792
- * @param values
1793
- * @param maxToTake
1794
- * @returns
1795
- */
1796
- function takeFront(values, maxToTake) {
1797
- return values.slice(0, maxToTake);
1798
- }
1799
-
1800
- /**
1801
- * Copies/takes as many elements as possible from the end.
1802
- *
1803
- * @param values Values to take from.
1804
- * @param maxToTake Max number of values to take from the end of the input array.
1805
- * @param keepFromFront Number of values to retain in the front of the array. These are not taken.
1806
- * @returns New array with the subset of taken values.
1807
- */
1808
- function takeLast(values, maxToTake, keepFromFront = 0) {
1809
- let results;
1810
- if (maxToTake < keepFromFront) {
1811
- throw new Error('Cannot take more than keeping from front.');
1812
- } else if (keepFromFront === maxToTake) {
1813
- results = values.slice(0, keepFromFront);
1814
- } else {
1815
- const length = values.length;
1816
- const secondHalfStartIndex = Math.max(keepFromFront, length - (maxToTake - keepFromFront));
1817
- const secondHalfEndIndex = length;
1818
- results = [...values.slice(0, keepFromFront), ...values.slice(secondHalfStartIndex, secondHalfEndIndex)];
1819
- }
1820
- return results;
1821
- }
1822
-
1823
- /**
1824
- * Performs forEach with the input array and returns the array.
1825
- *
1826
- * @param array
1827
- * @param forEach
1828
- * @returns
1829
- */
1830
- function forEachWithArray(array, forEach) {
1831
- if (array) {
1832
- array = convertToArray(array);
1833
- array.forEach(forEach);
1834
- } else {
1835
- array = [];
1836
- }
1837
- return array;
1838
- }
1839
-
1840
- /**
1841
- * Counts all the values in a nested array.
1842
- *
1843
- * @param array
1844
- * @returns
1845
- */
1846
- function countAllInNestedArray(array) {
1847
- return array.reduce((acc, curr) => acc + curr.length, 0);
1848
- }
1849
-
1850
1626
  var wellKnownSymbol$d = wellKnownSymbol$k;
1851
1627
 
1852
1628
  var TO_STRING_TAG$1 = wellKnownSymbol$d('toStringTag');
@@ -2210,6 +1986,246 @@ function wrapTuples(input) {
2210
1986
  }
2211
1987
  }
2212
1988
 
1989
+ // MARK: Types
1990
+
1991
+ // MARK: Functions
1992
+ /**
1993
+ * Converts the input value to an array containing itself, or returns itself if it is an array.
1994
+ *
1995
+ * @param arrayOrValue
1996
+ * @returns
1997
+ */
1998
+ function convertMaybeToArray(arrayOrValue) {
1999
+ if (arrayOrValue != null) {
2000
+ return convertToArray(arrayOrValue);
2001
+ } else {
2002
+ return [];
2003
+ }
2004
+ }
2005
+ const asArray = convertMaybeToArray;
2006
+
2007
+ /**
2008
+ * Converts the input value to an array containing itself, or returns itself if it is an array.
2009
+ *
2010
+ * @param arrayOrValue
2011
+ * @returns
2012
+ */
2013
+ function convertToArray(arrayOrValue) {
2014
+ return Array.isArray(arrayOrValue) ? arrayOrValue : [arrayOrValue];
2015
+ }
2016
+ /**
2017
+ * Returns the first value from the array.
2018
+ */
2019
+ function firstValue(input) {
2020
+ return valueAtIndex(input, 0);
2021
+ }
2022
+
2023
+ /**
2024
+ * Returns the last value from the array.
2025
+ */
2026
+ function lastValue(input) {
2027
+ if (Array.isArray(input)) {
2028
+ return input[input.length - 1];
2029
+ } else {
2030
+ return input;
2031
+ }
2032
+ }
2033
+
2034
+ /**
2035
+ * Returns a tuple with the first and last value of the input.
2036
+ *
2037
+ * If the input is not an array, returns that value as the first and last value.
2038
+ *
2039
+ * @param input
2040
+ * @returns
2041
+ */
2042
+ function firstAndLastValue(input) {
2043
+ const first = firstValue(input);
2044
+ const last = lastValue(input);
2045
+ return [first, last];
2046
+ }
2047
+ function valueAtIndex(input, index) {
2048
+ if (Array.isArray(input)) {
2049
+ return input[index];
2050
+ } else {
2051
+ return input;
2052
+ }
2053
+ }
2054
+
2055
+ /**
2056
+ * Concatinates the input arrays and filters out falsy values.
2057
+ */
2058
+ function concatArrays(...arrays) {
2059
+ return flattenArray(arrays.filter(x => Boolean(x)));
2060
+ }
2061
+
2062
+ /**
2063
+ * Flattens a two dimensional array into a single dimensional array. Any null/undefined values from the first dimension are filtered out.
2064
+ *
2065
+ * @param array
2066
+ * @returns
2067
+ */
2068
+ function flattenArray(array) {
2069
+ const filteredValues = array.filter(x => Boolean(x));
2070
+
2071
+ // concat with spread is faster than a depth-one flat
2072
+ return [].concat(...filteredValues);
2073
+ }
2074
+
2075
+ /**
2076
+ * Flattens an array of ArrayOrValue values into a single array.
2077
+ *
2078
+ * @param array
2079
+ * @returns
2080
+ */
2081
+ function flattenArrayOrValueArray(array) {
2082
+ return flattenArray(array.map(x => x ? convertToArray(x) : undefined));
2083
+ }
2084
+ function copyArray(input) {
2085
+ return input != null ? Array.from(input) : [];
2086
+ }
2087
+ function pushElementOntoArray(target, element, times) {
2088
+ for (let i = 0; i < times; i += 1) {
2089
+ target.push(element);
2090
+ }
2091
+ return target;
2092
+ }
2093
+
2094
+ /**
2095
+ * Merges all input arrays into a single array.
2096
+ *
2097
+ * @param arrays
2098
+ * @returns
2099
+ */
2100
+ function mergeArrays(arrays) {
2101
+ return mergeArraysIntoArray([], ...arrays);
2102
+ }
2103
+
2104
+ /**
2105
+ * Merges the input arrays into the target array by pushing each item from each array. Creates an empty array if the target is null/undefined.
2106
+ *
2107
+ * @param target
2108
+ * @param arrays
2109
+ * @returns
2110
+ */
2111
+ function mergeArraysIntoArray(target, ...arrays) {
2112
+ if (target == null) {
2113
+ target = [];
2114
+ }
2115
+ arrays.forEach(array => {
2116
+ if (array != null) {
2117
+ pushArrayItemsIntoArray(target, array);
2118
+ }
2119
+ });
2120
+ return target;
2121
+ }
2122
+
2123
+ /**
2124
+ * Pushes the input value into the target array if it is not an array. If it is an array, inserts all values from that array into the target array.
2125
+ *
2126
+ * @param target
2127
+ * @param value
2128
+ * @returns
2129
+ */
2130
+ function pushItemOrArrayItemsIntoArray(target, value) {
2131
+ if (Array.isArray(value)) {
2132
+ return pushArrayItemsIntoArray(target, value);
2133
+ } else {
2134
+ target.push(value);
2135
+ return target;
2136
+ }
2137
+ }
2138
+
2139
+ /**
2140
+ * Merges all the values from the second array into the first using push.
2141
+ *
2142
+ * This is preferable in cases where immutability is not required.
2143
+ *
2144
+ * @param target
2145
+ * @param array
2146
+ */
2147
+ function pushArrayItemsIntoArray(target, array) {
2148
+ Array.prototype.push.apply(target, array);
2149
+ return target;
2150
+ }
2151
+
2152
+ /**
2153
+ * Copies/takes the elements from the front of the array up to the max.
2154
+ *
2155
+ * @param values
2156
+ * @param maxToTake
2157
+ * @returns
2158
+ */
2159
+ function takeFront(values, maxToTake) {
2160
+ return values.slice(0, maxToTake);
2161
+ }
2162
+
2163
+ /**
2164
+ * Copies/takes as many elements as possible from the end.
2165
+ *
2166
+ * @param values Values to take from.
2167
+ * @param maxToTake Max number of values to take from the end of the input array.
2168
+ * @param keepFromFront Number of values to retain in the front of the array. These are not taken.
2169
+ * @returns New array with the subset of taken values.
2170
+ */
2171
+ function takeLast(values, maxToTake, keepFromFront = 0) {
2172
+ let results;
2173
+ if (maxToTake < keepFromFront) {
2174
+ throw new Error('Cannot take more than keeping from front.');
2175
+ } else if (keepFromFront === maxToTake) {
2176
+ results = values.slice(0, keepFromFront);
2177
+ } else {
2178
+ const length = values.length;
2179
+ const secondHalfStartIndex = Math.max(keepFromFront, length - (maxToTake - keepFromFront));
2180
+ const secondHalfEndIndex = length;
2181
+ results = [...values.slice(0, keepFromFront), ...values.slice(secondHalfStartIndex, secondHalfEndIndex)];
2182
+ }
2183
+ return results;
2184
+ }
2185
+
2186
+ /**
2187
+ * Performs forEach with the input array and returns the array.
2188
+ *
2189
+ * @param array
2190
+ * @param forEach
2191
+ * @returns
2192
+ */
2193
+ function forEachWithArray(array, forEach) {
2194
+ if (array) {
2195
+ array = convertToArray(array);
2196
+ array.forEach(forEach);
2197
+ } else {
2198
+ array = [];
2199
+ }
2200
+ return array;
2201
+ }
2202
+
2203
+ /**
2204
+ * Counts all the values in a nested array.
2205
+ *
2206
+ * @param array
2207
+ * @returns
2208
+ */
2209
+ function countAllInNestedArray(array) {
2210
+ return array.reduce((acc, curr) => acc + curr.length, 0);
2211
+ }
2212
+
2213
+ /**
2214
+ * Creates a copy of the array with the items at the specified indexes removed.
2215
+ *
2216
+ * @param array
2217
+ */
2218
+ function removeValuesAtIndexesFromArrayCopy(array, removeIndexes) {
2219
+ const result = [];
2220
+ const ignoredIndexes = iterableToSet(removeIndexes);
2221
+ array.forEach((value, index) => {
2222
+ if (!ignoredIndexes.has(index)) {
2223
+ result.push(value);
2224
+ }
2225
+ });
2226
+ return result;
2227
+ }
2228
+
2213
2229
  /**
2214
2230
  * A key made up of either a string or number value.
2215
2231
  */
@@ -2789,7 +2805,11 @@ function arrayDecision(values, decision, mode) {
2789
2805
  }
2790
2806
 
2791
2807
  /**
2792
- * Key of an object.
2808
+ * Any valid Plain-old Javascript Object key.
2809
+ */
2810
+
2811
+ /**
2812
+ * String key of an object.
2793
2813
  */
2794
2814
 
2795
2815
  function objectHasNoKeys(obj) {
@@ -2952,21 +2972,49 @@ function isDefinedAndNotFalse(value) {
2952
2972
  *
2953
2973
  * @param a
2954
2974
  * @param b
2955
- * @returns
2975
+ * @returns
2976
+ */
2977
+ function isSameNonNullValue(a, b) {
2978
+ return a === b && a != null;
2979
+ }
2980
+
2981
+ /**
2982
+ * Returns true if both inputs are null/undefined, or are the same value.
2983
+ *
2984
+ * @param a
2985
+ * @param b
2986
+ * @returns
2987
+ */
2988
+ function valuesAreBothNullishOrEquivalent(a, b) {
2989
+ return a != null && b != null ? a === b : a == b;
2990
+ }
2991
+
2992
+ /**
2993
+ * Updates "a" with "b".
2994
+ *
2995
+ * - If b is defined, then returns b
2996
+ * - If b is undefined, then returns a
2997
+ * - If b is null, then returns null
2998
+ *
2999
+ * @param a
3000
+ * @param b
2956
3001
  */
2957
- function isSameNonNullValue(a, b) {
2958
- return a === b && a != null;
3002
+ function updateMaybeValue(a, b) {
3003
+ return b === undefined ? a : b;
2959
3004
  }
2960
3005
 
2961
3006
  /**
2962
- * Returns true if both inputs are null/undefined, or are the same value.
2963
- *
2964
- * @param a
2965
- * @param b
2966
- * @returns
3007
+ * Function that takes the input and returns an array with no Maybe values.
2967
3008
  */
2968
- function valuesAreBothNullishOrEquivalent(a, b) {
2969
- return a != null && b != null ? a === b : a == b;
3009
+
3010
+ function filterMaybeArrayFunction(filterFn) {
3011
+ return values => {
3012
+ if (values != null) {
3013
+ return values.filter(filterFn);
3014
+ } else {
3015
+ return [];
3016
+ }
3017
+ };
2970
3018
  }
2971
3019
 
2972
3020
  /**
@@ -2975,13 +3023,7 @@ function valuesAreBothNullishOrEquivalent(a, b) {
2975
3023
  * @param values
2976
3024
  * @returns
2977
3025
  */
2978
- function filterMaybeValues(values) {
2979
- if (values != null) {
2980
- return values.filter(hasNonNullValue);
2981
- } else {
2982
- return [];
2983
- }
2984
- }
3026
+ const filterMaybeArrayValues = filterMaybeArrayFunction(hasNonNullValue);
2985
3027
 
2986
3028
  /**
2987
3029
  * Filters all empty and maybe values from the input array. If a maybe value is input, returns an empty array.
@@ -2989,13 +3031,7 @@ function filterMaybeValues(values) {
2989
3031
  * @param values
2990
3032
  * @returns
2991
3033
  */
2992
- function filterEmptyValues(values) {
2993
- if (values != null) {
2994
- return values.filter(hasValueOrNotEmpty);
2995
- } else {
2996
- return [];
2997
- }
2998
- }
3034
+ const filterEmptyArrayValues = filterMaybeArrayFunction(hasValueOrNotEmpty);
2999
3035
 
3000
3036
  /**
3001
3037
  * Checks whether or not all values are MaybeNot values.
@@ -3017,6 +3053,27 @@ function allValuesAreNotMaybe(values) {
3017
3053
  return values.findIndex(x => x == null) === -1;
3018
3054
  }
3019
3055
 
3056
+ // MARK: Compat
3057
+ /**
3058
+ * Filters all maybe values from the input array. If a maybe value is input, returns an empty array.
3059
+ *
3060
+ * @param values
3061
+ * @returns
3062
+ *
3063
+ * @deprecated use filterMaybeArrayValues instead.
3064
+ */
3065
+ const filterMaybeValues = filterMaybeArrayValues;
3066
+
3067
+ /**
3068
+ * Filters all empty and maybe values from the input array. If a maybe value is input, returns an empty array.
3069
+ *
3070
+ * @param values
3071
+ * @returns
3072
+ *
3073
+ * @deprecated use filterEmptyArrayValues instead.
3074
+ */
3075
+ const filterEmptyValues = filterEmptyArrayValues;
3076
+
3020
3077
  /**
3021
3078
  * Denotes a typically read-only like model is being built/configured.
3022
3079
  */
@@ -3142,7 +3199,7 @@ function mapFunctionOutput(output, input) {
3142
3199
  * @param fns
3143
3200
  */
3144
3201
  function chainMapSameFunctions(input) {
3145
- const fns = filterMaybeValues(asArray(input).filter(x => !isMapIdentityFunction(x))); // remove all identify functions too
3202
+ const fns = filterMaybeArrayValues(asArray(input).filter(x => !isMapIdentityFunction(x))); // remove all identify functions too
3146
3203
  let fn;
3147
3204
  switch (fns.length) {
3148
3205
  case 0:
@@ -3208,7 +3265,7 @@ function unique(values, excludeInput) {
3208
3265
  */
3209
3266
 
3210
3267
  function readKeysFromFilterUniqueFunctionAdditionalKeysInput(additionalKeysInput, readKey) {
3211
- return filterMaybeValues(additionalKeysInput != null ? Array.isArray(additionalKeysInput) ? additionalKeysInput : readKeysFromFilterUniqueFunctionAdditionalKeys(additionalKeysInput, readKey) : []);
3268
+ return filterMaybeArrayValues(additionalKeysInput != null ? Array.isArray(additionalKeysInput) ? additionalKeysInput : readKeysFromFilterUniqueFunctionAdditionalKeys(additionalKeysInput, readKey) : []);
3212
3269
  }
3213
3270
  function readKeysFromFilterUniqueFunctionAdditionalKeys(input, readKey) {
3214
3271
  const keys = new Set(input.keys);
@@ -3229,7 +3286,7 @@ function filterUniqueFunction(readKey, additionalKeysInput) {
3229
3286
  const baseKeys = readKeysFromFilterUniqueFunctionAdditionalKeysInput(additionalKeysInput, readKey);
3230
3287
  function calculateExclude(excludeInput) {
3231
3288
  const newExcludeKeys = excludeInput ? Array.isArray(excludeInput) ? excludeInput.map(readKey) : readKeysFromFilterUniqueFunctionAdditionalKeys(excludeInput, readKey) : [];
3232
- return newExcludeKeys != null && newExcludeKeys.length ? mergeArrays([filterMaybeValues(newExcludeKeys), baseKeys]) : baseKeys;
3289
+ return newExcludeKeys != null && newExcludeKeys.length ? mergeArrays([filterMaybeArrayValues(newExcludeKeys), baseKeys]) : baseKeys;
3233
3290
  }
3234
3291
  return (input, excludeInput) => {
3235
3292
  const exclude = calculateExclude(excludeInput);
@@ -5809,6 +5866,10 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
5809
5866
  return array => array.length ? rFn(array) : emptyArrayValue;
5810
5867
  }
5811
5868
 
5869
+ /**
5870
+ * Exclusive end value used by range().
5871
+ */
5872
+
5812
5873
  /**
5813
5874
  * Input for range()
5814
5875
  */
@@ -5851,8 +5912,17 @@ function range(input, inputEnd) {
5851
5912
  }
5852
5913
 
5853
5914
  /**
5854
- * A number that denotes which index an item is at.
5915
+ * An integer that denotes which index an item is at.
5916
+ *
5917
+ * Is typically non-negative only.
5918
+ */
5919
+
5920
+ /**
5921
+ * The default index number when no index is set.
5922
+ *
5923
+ * Only applicable for non-negative indexes.
5855
5924
  */
5925
+ const UNSET_INDEX_NUMBER = -1;
5856
5926
 
5857
5927
  /**
5858
5928
  * Item that references an IndexNumber.
@@ -5943,6 +6013,8 @@ function sortByIndexAscendingCompareFunction(readIndex) {
5943
6013
 
5944
6014
  /**
5945
6015
  * Computes the next free index given the input values.
6016
+ *
6017
+ * Returns 0 if no values are present.
5946
6018
  */
5947
6019
 
5948
6020
  /**
@@ -5963,6 +6035,21 @@ function computeNextFreeIndexFunction(readIndex, nextIndex) {
5963
6035
  };
5964
6036
  }
5965
6037
 
6038
+ /**
6039
+ * Creates a new ComputeNextFreeIndexFunction that assumes that the input values are sorted in ascending order, with the latest index at the end.
6040
+ */
6041
+ function computeNextFreeIndexOnSortedValuesFunction(readIndex, nextIndex) {
6042
+ const readNextIndex = nextIndex != null ? nextIndex : x => readIndex(x) + 1; //return the max index + 1 by default.
6043
+ return sortedValues => {
6044
+ const lastValueInSorted = lastValue(sortedValues);
6045
+ if (lastValueInSorted != null) {
6046
+ return readNextIndex(lastValueInSorted);
6047
+ } else {
6048
+ return 0;
6049
+ }
6050
+ };
6051
+ }
6052
+
5966
6053
  /**
5967
6054
  * Reads the min and max index from the input values.
5968
6055
  */
@@ -7541,6 +7628,34 @@ function repeatString(string, reapeat) {
7541
7628
  }
7542
7629
  return result;
7543
7630
  }
7631
+ const DEFAULT_CUT_STRING_END_TEXT = '...';
7632
+ function cutStringFunction(config) {
7633
+ const {
7634
+ maxLength: inputMaxLength,
7635
+ maxLengthIncludesEndText,
7636
+ endText: inputEndText
7637
+ } = config;
7638
+ const endText = inputEndText === undefined ? DEFAULT_CUT_STRING_END_TEXT : '';
7639
+ const maxLength = maxLengthIncludesEndText !== false ? inputMaxLength - endText.length : inputMaxLength;
7640
+ return input => {
7641
+ let result = input;
7642
+ if (input != null) {
7643
+ const inputLength = input.length;
7644
+ if (inputLength > inputMaxLength) {
7645
+ result = input.substring(0, maxLength) + endText;
7646
+ } else {
7647
+ result = input;
7648
+ }
7649
+ }
7650
+ return result;
7651
+ };
7652
+ }
7653
+ function cutString(input, maxLength, endText) {
7654
+ return cutStringFunction({
7655
+ maxLength,
7656
+ endText
7657
+ })(input);
7658
+ }
7544
7659
 
7545
7660
  /**
7546
7661
  * map utility function for an iterable that maps and places the results into an array.
@@ -8033,7 +8148,7 @@ function authRolesSetHasRoles(authRolesSet, roles) {
8033
8148
  * @returns
8034
8149
  */
8035
8150
  function mergeFilterFunctions(...inputFilters) {
8036
- const filters = filterMaybeValues(inputFilters);
8151
+ const filters = filterMaybeArrayValues(inputFilters);
8037
8152
  let filter;
8038
8153
  switch (filters.length) {
8039
8154
  case 0:
@@ -8307,7 +8422,7 @@ function mergeObjectsFunction(filter) {
8307
8422
  dynamic: true // no need to use cache, as cache won't be used.
8308
8423
  });
8309
8424
 
8310
- return objects => overrideFn(filterMaybeValues(objects))({});
8425
+ return objects => overrideFn(filterMaybeArrayValues(objects))({});
8311
8426
  }
8312
8427
 
8313
8428
  // MARK: POJO
@@ -8489,8 +8604,9 @@ function filterFromPOJOFunction({
8489
8604
  delete object[key];
8490
8605
  }
8491
8606
  });
8492
- return obj => {
8493
- if (copy) {
8607
+ return (obj, copyOverride) => {
8608
+ const copyObj = typeof copyOverride === 'boolean' ? copyOverride : copy;
8609
+ if (copyObj) {
8494
8610
  obj = Object.assign({}, obj);
8495
8611
  }
8496
8612
  forEachFn(obj);
@@ -8569,87 +8685,44 @@ function valuesFromPOJOFunction(filter = KeyValueTypleValueFilter.UNDEFINED) {
8569
8685
  };
8570
8686
  }
8571
8687
 
8572
- // MARK: ForEachKeyValue
8573
-
8574
- function forEachKeyValueOnPOJOFunction({
8575
- forEach,
8576
- filter
8577
- }) {
8578
- const filterKeyValues = filterKeyValueTuplesFunction(filter);
8579
- return (obj, context) => {
8580
- const keyValues = filterKeyValues(obj);
8581
- keyValues.forEach((x, i) => forEach(x, i, obj, context));
8582
- };
8583
- }
8584
-
8585
- /**
8586
- * An object with values of a specific type keyed by either string or number or symbols.
8587
- */
8588
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
8589
-
8590
- /**
8591
- * An object with values of a specific type keyed to string values.
8592
- */
8593
-
8594
- /**
8595
- * Converts an ObjectMap into a Map.
8596
- *
8597
- * @param object
8598
- * @returns
8599
- */
8600
- function objectToMap(object) {
8601
- return new Map(objectToTuples(object));
8602
- }
8603
-
8688
+ // MARK: Filter Keys
8604
8689
  /**
8605
- * Converts an ObjectMap into tuples.
8690
+ * Returns a FilterTuplesOnPOJOFunction that returns an object that contains only the input keys, or does not contain the input keys if invertFilter is true.
8606
8691
  *
8607
- * @param object
8692
+ * @param keysToFilter
8608
8693
  * @returns
8609
8694
  */
8610
- function objectToTuples(object) {
8611
- const keys = Object.keys(object);
8612
- return keys.map(x => [x, object[x]]);
8695
+ function filterKeysOnPOJOFunction(keysToFilter, invertFilter = false) {
8696
+ const keysSet = new Set(keysToFilter);
8697
+ const filterFn = invertBooleanReturnFunction(([key]) => keysSet.has(key), invertFilter);
8698
+ return filterTuplesOnPOJOFunction(filterFn);
8613
8699
  }
8614
8700
 
8615
8701
  /**
8616
- * Maps an ObjectMap of one type to another ObjectMap with the mapped values.
8702
+ * Function that filters keys/values on a POJO using the pre-configured function.
8617
8703
  */
8618
8704
 
8619
- /**
8620
- * Creates a MapObjectMapFunction that calls mapObjectMap().
8621
- *
8622
- * @param mapFn
8623
- * @returns
8624
- */
8625
- function mapObjectMapFunction(mapFn) {
8626
- return object => mapObjectMap(object, mapFn);
8627
- }
8628
- /**
8629
- * Maps the values of an ObjectMap from one type to another and returns an ObjectMap containing that type.
8630
- *
8631
- * @param object
8632
- */
8633
- function mapObjectMap(object, mapFn) {
8634
- const mappedObject = {};
8635
- return mapObjectToTargetObject(object, mappedObject, mapFn);
8705
+ function filterTuplesOnPOJOFunction(filterTupleOnObject) {
8706
+ return input => {
8707
+ const result = {};
8708
+ Object.entries(input).filter(filterTupleOnObject).forEach(tuple => {
8709
+ result[tuple[0]] = tuple[1];
8710
+ });
8711
+ return result;
8712
+ };
8636
8713
  }
8637
8714
 
8638
- /**
8639
- * Maps the values of an ObjectMap from one type to the target and return the target.
8640
- *
8641
- * @param object
8642
- * @param target
8643
- * @param mapFn
8644
- * @returns
8645
- */
8646
- function mapObjectToTargetObject(object, target, mapFn) {
8647
- const keys = Object.keys(object);
8648
- keys.forEach(key => {
8649
- const value = object[key];
8650
- target[key] = mapFn(value, key);
8651
- });
8652
- return target;
8715
+ // MARK: ForEachKeyValue
8716
+
8717
+ function forEachKeyValueOnPOJOFunction({
8718
+ forEach,
8719
+ filter
8720
+ }) {
8721
+ const filterKeyValues = filterKeyValueTuplesFunction(filter);
8722
+ return (obj, context) => {
8723
+ const keyValues = filterKeyValues(obj);
8724
+ keyValues.forEach((x, i) => forEach(x, i, obj, context));
8725
+ };
8653
8726
  }
8654
8727
 
8655
8728
  /**
@@ -8886,7 +8959,7 @@ function authRoleClaimsService(config, defaults = {}) {
8886
8959
  }
8887
8960
 
8888
8961
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
8889
- const tuples = objectToTuples(config).filter(([, entry]) => entry != null) // skip any ignored/null values
8962
+ const tuples = Object.entries(config).filter(([, entry]) => entry != null) // skip any ignored/null values
8890
8963
  .map(x => {
8891
8964
  const inputEntry = x[1];
8892
8965
  let entry;
@@ -9962,9 +10035,9 @@ function unitedStatesAddressString(input, addLinebreaks = true) {
9962
10035
  parts.push(`${state} ${zip}`);
9963
10036
  }
9964
10037
  }
9965
- const nonEmptyParts = filterEmptyValues(parts);
10038
+ const nonEmptyParts = filterEmptyArrayValues(parts);
9966
10039
  if (nonEmptyParts.length > 0) {
9967
- address = filterEmptyValues(nonEmptyParts.map(x => x.trim())).join(lineBreakLine);
10040
+ address = filterEmptyArrayValues(nonEmptyParts.map(x => x.trim())).join(lineBreakLine);
9968
10041
  }
9969
10042
  return address;
9970
10043
  }
@@ -14244,7 +14317,7 @@ function primativeKeyDencoder(config) {
14244
14317
  const map = primativeKeyDencoderMap(config.values);
14245
14318
  const fn = input => {
14246
14319
  if (Array.isArray(input)) {
14247
- const values = filterMaybeValues(input.map(x => map.get(x)));
14320
+ const values = filterMaybeArrayValues(input.map(x => map.get(x)));
14248
14321
  return values;
14249
14322
  } else {
14250
14323
  let value = map.get(input);
@@ -15782,11 +15855,24 @@ function isLogicalDateStringCode(logicalDate) {
15782
15855
  * Recursively compares Arrays, Objects, Maps, Sets, Primatives, and Dates.
15783
15856
  */
15784
15857
  function areEqualPOJOValues(a, b) {
15858
+ return areEqualPOJOValuesUsingPojoFilter(a, b, MAP_IDENTITY);
15859
+ }
15860
+
15861
+ /**
15862
+ * Performs a deep comparison to check if all values on the input filters are equal. Each input is run through the pojo filter
15863
+ *
15864
+ * Recursively compares Arrays, Objects, Maps, Sets, Primatives, and Dates.
15865
+ */
15866
+ function areEqualPOJOValuesUsingPojoFilter(a, b, pojoFilter) {
15785
15867
  // check self
15786
15868
  if (a === b) {
15787
15869
  return true;
15788
15870
  }
15789
15871
 
15872
+ // run pojo filter before comparison
15873
+ a = pojoFilter(a, true);
15874
+ b = pojoFilter(b, true);
15875
+
15790
15876
  // check one value is nullish and other is not
15791
15877
  if ((a == null || b == null) && (a || b)) {
15792
15878
  return false;
@@ -15802,7 +15888,7 @@ function areEqualPOJOValues(a, b) {
15802
15888
  }
15803
15889
  const firstInequalityIndex = a.findIndex((aValue, i) => {
15804
15890
  const bValue = b[i];
15805
- return !areEqualPOJOValues(aValue, bValue);
15891
+ return !areEqualPOJOValuesUsingPojoFilter(aValue, bValue, pojoFilter);
15806
15892
  });
15807
15893
  return firstInequalityIndex === -1;
15808
15894
  } else if (a instanceof Set) {
@@ -15814,14 +15900,15 @@ function areEqualPOJOValues(a, b) {
15814
15900
  }
15815
15901
  const firstInequalityIndex = Array.from(a.entries()).findIndex(([key, aValue]) => {
15816
15902
  const bValue = bMap.get(key);
15817
- return !areEqualPOJOValues(aValue, bValue);
15903
+ return !areEqualPOJOValuesUsingPojoFilter(aValue, bValue, pojoFilter);
15818
15904
  });
15819
15905
  return firstInequalityIndex === -1;
15820
15906
  }
15821
15907
  } else if (typeof b === 'object') {
15908
+ var _a, _b;
15822
15909
  // check contructors/types
15823
- const firstType = a == null ? void 0 : a.constructor.name;
15824
- const secondType = b == null ? void 0 : b.constructor.name;
15910
+ const firstType = (_a = a) == null ? void 0 : _a.constructor.name;
15911
+ const secondType = (_b = b) == null ? void 0 : _b.constructor.name;
15825
15912
  if (firstType !== secondType) {
15826
15913
  return false; // false if not the same type
15827
15914
  }
@@ -15842,7 +15929,7 @@ function areEqualPOJOValues(a, b) {
15842
15929
  const firstInequalityIndex = aKeys.findIndex(key => {
15843
15930
  const aKeyValue = aObject[key];
15844
15931
  const bKeyValue = bObject[key];
15845
- return !areEqualPOJOValues(aKeyValue, bKeyValue);
15932
+ return !areEqualPOJOValuesUsingPojoFilter(aKeyValue, bKeyValue, pojoFilter);
15846
15933
  });
15847
15934
  if (firstInequalityIndex === -1) {
15848
15935
  return true; // is equal if no non-matching key/value pair is found
@@ -15946,6 +16033,114 @@ function objectKeyEqualityComparatorFunction(readKey) {
15946
16033
  return safeEqualityComparatorFunction((a, b) => readKey(a) === readKey(b));
15947
16034
  }
15948
16035
 
16036
+ /**
16037
+ * An object with values of a specific type keyed by either string or number or symbols.
16038
+ */
16039
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
16040
+
16041
+ /**
16042
+ * An object with values of a specific type keyed to string values.
16043
+ */
16044
+
16045
+ /**
16046
+ * Converts an ObjectMap into a Map.
16047
+ *
16048
+ * @param object
16049
+ * @returns
16050
+ */
16051
+ function objectToMap(object) {
16052
+ return new Map(Object.entries(object));
16053
+ }
16054
+
16055
+ /**
16056
+ * Maps an ObjectMap of one type to another ObjectMap with the mapped values.
16057
+ */
16058
+
16059
+ /**
16060
+ * Creates a MapObjectMapFunction that calls mapObjectMap().
16061
+ *
16062
+ * @param mapFn
16063
+ * @returns
16064
+ */
16065
+ function mapObjectMapFunction(mapFn) {
16066
+ return object => mapObjectMap(object, mapFn);
16067
+ }
16068
+ /**
16069
+ * Maps the values of an ObjectMap from one type to another and returns an ObjectMap containing that type.
16070
+ *
16071
+ * @param object
16072
+ */
16073
+ function mapObjectMap(object, mapFn) {
16074
+ const mappedObject = {};
16075
+ return mapObjectToTargetObject(object, mappedObject, mapFn);
16076
+ }
16077
+
16078
+ /**
16079
+ * Maps the values of an ObjectMap from one type to the target and return the target.
16080
+ *
16081
+ * @param object
16082
+ * @param target
16083
+ * @param mapFn
16084
+ * @returns
16085
+ */
16086
+ function mapObjectToTargetObject(object, target, mapFn) {
16087
+ const keys = Object.keys(object);
16088
+ keys.forEach(key => {
16089
+ const value = object[key];
16090
+ target[key] = mapFn(value, key);
16091
+ });
16092
+ return target;
16093
+ }
16094
+
16095
+ /**
16096
+ * Maps each key of the input object to a new object using the pre-configured function.
16097
+ */
16098
+
16099
+ /**
16100
+ * Map function that returns the new POJOKey using the input key/value pair.
16101
+ */
16102
+
16103
+ /**
16104
+ * Maps the keys of the input object to a new object with the mapped keys.
16105
+ *
16106
+ * @param object
16107
+ */
16108
+ function mapObjectKeysFunction(mapKeyFn) {
16109
+ return object => {
16110
+ const target = {};
16111
+ Object.entries(object).forEach(([key, value]) => {
16112
+ const newKey = mapKeyFn(key, value);
16113
+ target[newKey] = value;
16114
+ });
16115
+ return target;
16116
+ };
16117
+ }
16118
+ /**
16119
+ * Maps all the keys of an object to a new object with keys of the object mapped to lowercase.
16120
+ *
16121
+ * @param object
16122
+ * @param target
16123
+ * @param mapFn
16124
+ */
16125
+ const mapObjectKeysToLowercase = mapObjectKeysFunction(key => {
16126
+ let nextKey = key;
16127
+ if (typeof key === 'string') {
16128
+ nextKey = key.toLowerCase();
16129
+ }
16130
+ return nextKey;
16131
+ });
16132
+
16133
+ // MARK: Compat
16134
+ /**
16135
+ * Converts an ObjectMap into tuples.
16136
+ *
16137
+ * @deprecated use Object.entries instead.
16138
+ *
16139
+ * @param object
16140
+ * @returns
16141
+ */
16142
+ const objectToTuples = Object.entries;
16143
+
15949
16144
  /**
15950
16145
  * Used for copying one field from one partial object to a target object.
15951
16146
  */
@@ -16114,8 +16309,8 @@ function copyField(defaultOutput) {
16114
16309
 
16115
16310
  function maybeMergeModelModifiers(input) {
16116
16311
  const modifiers = asArray(input);
16117
- const allModifyData = filterMaybeValues(modifiers.map(x => x.modifyData));
16118
- const allModifyModel = filterMaybeValues(modifiers.map(x => x.modifyModel));
16312
+ const allModifyData = filterMaybeArrayValues(modifiers.map(x => x.modifyData));
16313
+ const allModifyModel = filterMaybeArrayValues(modifiers.map(x => x.modifyModel));
16119
16314
  const modifyData = maybeMergeModifiers(allModifyData);
16120
16315
  const modifyModel = maybeMergeModifiers(allModifyModel);
16121
16316
  return {
@@ -17248,7 +17443,7 @@ function makeHashDecodeMap(decodeValues, hashFn) {
17248
17443
  }
17249
17444
  function decodeHashedValuesWithDecodeMap(hashedValues, decodeMap) {
17250
17445
  const values = hashedValues.map(x => decodeMap.get(x));
17251
- return filterMaybeValues(values);
17446
+ return filterMaybeArrayValues(values);
17252
17447
  }
17253
17448
 
17254
17449
  /**
@@ -17384,4 +17579,4 @@ async function iterateFilteredPages(inputPage, loadFn, iterFn) {
17384
17579
  return count;
17385
17580
  }
17386
17581
 
17387
- export { ALL_DOUBLE_SLASHES_REGEX, ALL_SLASHES_REGEX, ALL_SLASH_PATH_FILE_TYPE_SEPARATORS_REGEX, ASSERTION_ERROR_CODE, ASSERTION_HANDLER, AUTH_ADMIN_ROLE, AUTH_ONBOARDED_ROLE, AUTH_ROLE_CLAIMS_DEFAULT_CLAIM_VALUE, AUTH_ROLE_CLAIMS_DEFAULT_EMPTY_VALUE, AUTH_TOS_SIGNED_ROLE, AUTH_USER_ROLE, AbstractUniqueModel, Assert, AssertMax, AssertMin, AssertionError, AssertionIssueHandler, BooleanStringKeyArrayUtility, BooleanStringKeyArrayUtilityInstance, CATCH_ALL_HANDLE_RESULT_KEY, CUT_VALUE_TO_ZERO_PRECISION, DATE_NOW_VALUE, DEFAULT_LAT_LNG_STRING_VALUE, DEFAULT_RANDOM_EMAIL_FACTORY_CONFIG, DEFAULT_RANDOM_PHONE_NUMBER_FACTORY_CONFIG, DEFAULT_READABLE_ERROR_CODE, DEFAULT_SLASH_PATH_ILLEGAL_CHARACTERS, DEFAULT_SLASH_PATH_ILLEGAL_CHARACTER_REPLACEMENT, DEFAULT_UNKNOWN_MODEL_TYPE_STRING, DOLLAR_AMOUNT_PRECISION, DOLLAR_AMOUNT_STRING_REGEX, DataDoesNotExistError, DataIsExpiredError, Day, DestroyFunctionObject, E164PHONE_NUMBER_REGEX, E164PHONE_NUMBER_WITH_EXTENSION_REGEX, E164PHONE_NUMBER_WITH_OPTIONAL_EXTENSION_REGEX, FINAL_PAGE, FIRST_PAGE, FRACTIONAL_HOURS_PRECISION_FUNCTION, FullStorageObject, HAS_PORT_NUMBER_REGEX, HAS_WEBSITE_DOMAIN_NAME_REGEX, HOURS_IN_DAY, HTTP_OR_HTTPS_REGEX, HashSet, ISO8601_DAY_STRING_REGEX, ISO8601_DAY_STRING_START_REGEX, ISO_8601_DATE_STRING_REGEX, KeyValueTypleValueFilter, LAT_LNG_PATTERN, LAT_LNG_PATTERN_MAX_PRECISION, LAT_LONG_100KM_PRECISION, LAT_LONG_100M_PRECISION, LAT_LONG_10CM_PRECISION, LAT_LONG_10KM_PRECISION, LAT_LONG_10M_PRECISION, LAT_LONG_1CM_PRECISION, LAT_LONG_1KM_PRECISION, LAT_LONG_1MM_PRECISION, LAT_LONG_1M_PRECISION, LAT_LONG_GRAINS_OF_SAND_PRECISION, LEADING_SLASHES_REGEX, MAP_IDENTITY, MAX_BITWISE_SET_SIZE, MAX_LATITUDE_VALUE, MAX_LONGITUDE_VALUE, MINUTES_IN_DAY, MINUTES_IN_HOUR, MINUTE_OF_DAY_MAXMIMUM, MINUTE_OF_DAY_MINIUMUM, MIN_LATITUDE_VALUE, MIN_LONGITUDE_VALUE, MONTH_DAY_SLASH_DATE_STRING_REGEX, MS_IN_DAY, MS_IN_HOUR, MS_IN_MINUTE, MS_IN_SECOND, MemoryStorageInstance, ModelRelationUtility, NOOP_MODIFIER, NUMBER_STRING_DENCODER_64, NUMBER_STRING_DENCODER_64_DEFAULT_NEGATIVE_PREFIX, NUMBER_STRING_DENCODER_64_DIGITS, PHONE_EXTENSION_NUMBER_REGEX, PRIMATIVE_KEY_DENCODER_VALUE, PageCalculator, PropertyDescriptorUtility, REGEX_SPECIAL_CHARACTERS, REGEX_SPECIAL_CHARACTERS_SET, RelationChange, SECONDS_IN_MINUTE, SHARED_MEMORY_STORAGE, SLASH_PATH_FILE_TYPE_SEPARATOR, SLASH_PATH_SEPARATOR, SORT_VALUE_EQUAL, SORT_VALUE_GREATER_THAN, SORT_VALUE_LESS_THAN, SPLIT_STRING_TREE_NODE_ROOT_VALUE, ServerErrorResponse, SetDeltaChange, SimpleStorageObject, StorageObject, StorageObjectUtility, StoredDataError, SyncState, TOTAL_LATITUDE_RANGE, TOTAL_LONGITUDE_RANGE, TOTAL_SPAN_OF_LONGITUDE, TRAILING_FILE_TYPE_SEPARATORS_REGEX, TRAILING_SLASHES_REGEX, TimeAM, TimerCancelledError, TimerInstance, TypedServiceRegistryInstance, UNLOADED_PAGE, US_STATE_CODE_STRING_REGEX, UTC_DATE_STRING_REGEX, UTC_TIMEZONE_STRING, UTF_8_START_CHARACTER, UTF_PRIVATE_USAGE_AREA_START, UnauthorizedServerErrorResponse, WEBSITE_TLD_DETECTION_REGEX, WEB_PROTOCOL_PREFIX_REGEX, ZIP_CODE_STRING_REGEX, addHttpToUrl, addLatLngPoints, addModifiers, addPlusPrefixToNumber, addPrefix, addPrefixFunction, addSuffix, addSuffixFunction, addToSet, addToSetCopy, addToSplitStringTree, allFalsyOrEmptyKeys, allIndexesInIndexRange, allKeyValueTuples, allMaybeSoKeys, allNonUndefinedKeys, allObjectsAreEqual, allValuesAreMaybeNot, allValuesAreNotMaybe, allowValueOnceFilter, applyBestFit, applySplitStringTreeWithMultipleValues, applyToMultipleFields, approximateTimerEndDate, areEqualContext, areEqualPOJOValues, arrayContainsDuplicateValue, arrayContentsDiffer, arrayDecision, arrayDecisionFunction, arrayFactory, arrayInputFactory, arrayToLowercase, arrayToMap, arrayToObject, arrayToUppercase, asArray, asDecisionFunction, asGetter, asIndexRangeCheckFunctionConfig, asIterable, asMinuteOfDay, asNumber, asObjectCopyFactory, asPromise, asSet, assignValuesToPOJO, assignValuesToPOJOFunction, authClaims, authRoleClaimsService, authRolesSetHasRoles, baseWebsiteUrl, batch, batchCalc, bitwiseObjectDencoder, bitwiseObjectEncoder, bitwiseObjectdecoder, bitwiseSetDecoder, bitwiseSetDencoder, booleanFactory, booleanKeyArrayUtility, boundNumber, boundNumberFunction, boundToRectangle, build, cachedGetter, capLatValue, capitalizeFirstLetter, caseInsensitiveFilterByIndexOfDecisionFactory, caseInsensitiveString, catchAllHandlerKey, chainMapFunction, chainMapSameFunctions, coerceToEmailParticipants, combineMaps, compareEqualityWithValueFromItemsFunction, compareEqualityWithValueFromItemsFunctionFactory, compareFnOrder, compareWithMappedValuesFunction, computeNextFractionalHour, computeNextFreeIndexFunction, concatArrays, concatArraysUnique, containsAllStringsAnyCase, containsAllValues, containsAnyStringAnyCase, containsAnyValue, containsAnyValueFromSet, containsNoValueFromSet, containsNoneOfValue, containsStringAnyCase, convertEmailParticipantStringToParticipant, convertMaybeToArray, convertParticipantToEmailParticipantString, convertToArray, copyArray, copyField, copyLatLngBound, copyLatLngPoint, copyObject, copySetAndDo, countAllInNestedArray, countPOJOKeys, countPOJOKeysFunction, cronExpressionRepeatingEveryNMinutes, cssClassesSet, cutToPrecision, cutValueToInteger, cutValueToPrecision, cutValueToPrecisionFunction, dateFromLogicalDate, dateFromMinuteOfDay, dateToHoursAndMinutes, dateToMinuteOfDay, dayOfWeek, daysOfWeekArray, daysOfWeekFromEnabledDays, daysOfWeekNameFunction, daysOfWeekNameMap, decisionFunction, decodeHashedValues, decodeHashedValuesWithDecodeMap, decodeModelKeyTypePair, defaultFilterFromPOJOFunctionNoCopy, defaultForwardFunctionFactory, defaultLatLngPoint, defaultLatLngString, dencodeBitwiseSet, diffLatLngBoundPoints, diffLatLngPoints, dollarAmountString, e164PhoneNumberExtensionPair, e164PhoneNumberFromE164PhoneNumberExtensionPair, enabledDaysFromDaysOfWeek, encodeBitwiseSet, encodeModelKeyTypePair, errorMessageContainsString, errorMessageContainsStringFunction, escapeStringCharactersFunction, escapeStringForRegex, excludeValues, excludeValuesFromArray, excludeValuesFromSet, existsInIterable, expandArrayMapTuples, expandArrayValueTuples, expandFlattenTreeFunction, expandIndexSet, expandTreeFunction, expandTrees, exponentialPromiseRateLimiter, extendLatLngBound, filterAndMapFunction, filterEmptyValues, filterFalsyAndEmptyValues, filterFromIterable, filterFromPOJO, filterFromPOJOFunction, filterKeyValueTupleFunction, filterKeyValueTuples, filterKeyValueTuplesFunction, filterKeyValueTuplesInputToFilter, filterMaybeValues, filterNullAndUndefinedValues, filterOnlyUndefinedValues, filterUndefinedValues, filterUniqueByIndex, filterUniqueCaseInsensitiveStrings, filterUniqueFunction, filterUniqueTransform, filterUniqueValues, filterValuesByDistance, filterValuesByDistanceNoOrder, filterValuesToSet, filterValuesUsingSet, filteredPage, findAllCharacterOccurences, findAllCharacterOccurencesFunction, findBest, findBestIndexMatch, findBestIndexMatchFunction, findBestIndexSetPair, findBestSplitStringTreeChildMatch, findBestSplitStringTreeChildMatchPath, findBestSplitStringTreeMatch, findBestSplitStringTreeMatchPath, findFirstCharacterOccurence, findInIterable, findIndexOfFirstDuplicateValue, findItemsByIndex, findNext, findPOJOKeys, findPOJOKeysFunction, findStringsRegexString, findToIndexSet, findValuesFrom, firstAndLastCharacterOccurrence, firstAndLastValue, firstValue, firstValueFromIterable, fitToIndexRangeFunction, fixExtraQueryParameters, fixMultiSlashesInSlashPath, flattenArray, flattenArrayOrValueArray, flattenArrayToSet, flattenArrayUnique, flattenArrayUniqueCaseInsensitiveStrings, flattenTree, flattenTreeToArray, flattenTreeToArrayFunction, flattenTrees, forEachInIterable, forEachKeyValue, forEachKeyValueOnPOJOFunction, forEachWithArray, forwardFunction, fractionalHoursToMinutes, generateIfDoesNotExist, getArrayNextIndex, getBaseLog, getDayOffset, getDayTomorrow, getDayYesterday, getDaysOfWeekNames, getFunctionType, getNextDay, getNextPageNumber, getOverlappingRectangle, getPageNumber, getPreviousDay, getValueFromGetter, groupValues, handlerBindAccessor, handlerConfigurerFactory, handlerFactory, handlerMappedSetFunction, handlerMappedSetFunctionFactory, handlerSetFunction, hasDifferentStringsNoCase, hasDifferentValues, hasHttpPrefix, hasNonNullValue, hasPortNumber, hasSameTimezone, hasSameValues, hasValueFunction, hasValueOrNotEmpty, hasValueOrNotEmptyObject, hasWebsiteDomain, hasWebsiteTopLevelDomain, hashSetForIndexed, hourToFractionalHour, idBatchFactory, incrementingNumberFactory, indexDeltaGroup, indexDeltaGroupFunction, indexRange, indexRangeCheckFunction, indexRangeCheckReaderFunction, indexRangeForArray, indexRangeOverlapsIndexRange, indexRangeOverlapsIndexRangeFunction, indexRangeReaderPairFactory, indexRefMap, indexedValuesArrayAccessorFactory, insertIntoBooleanKeyArray, invertBooleanReturnFunction, invertDecision, invertFilter, isAllowed, isClassLikeType, isCompleteUnitedStatesAddress, isConsideredUtcTimezoneString, isDate, isDefaultLatLngPoint, isDefaultLatLngPointValue, isDefaultReadableError, isDefinedAndNotFalse, isDollarAmountString, isE164PhoneNumber, isE164PhoneNumberWithExtension, isEmptyIterable, isEqualContext, isEqualDate, isEqualToValueDecisionFunction, isEvenNumber, isFalseBooleanKeyArray, isFinalPage, isGetter, isISO8601DateString, isISO8601DayString, isISO8601DayStringStart, isInAllowedDaysOfWeekSet, isInNumberBoundFunction, isInSetDecisionFunction, isIndexNumberInIndexRange, isIndexNumberInIndexRangeFunction, isIndexRangeInIndexRange, isIndexRangeInIndexRangeFunction, isIterable, isKnownHttpWebsiteProtocol, isLatLngBound, isLatLngBoundWithinLatLngBound, isLatLngPoint, isLatLngPointWithinLatLngBound, isLatLngString, isLogicalDateStringCode, isMapIdentityFunction, isMaybeNot, isMaybeNotOrTrue, isMaybeSo, isMinuteOfDay, isModelKey, isMonthDaySlashDate, isNonClassFunction, isNotNullOrEmptyString, isNumberDivisibleBy, isObjectWithConstructor, isOddNumber, isPast, isPromise, isPromiseLike, isSameLatLngBound, isSameLatLngPoint, isSameNonNullValue, isSameVector, isSelectedDecisionFunctionFactory, isSelectedIndexDecisionFunction, isServerError, isSlashPathFile, isSlashPathFolder, isSlashPathTypedFile, isStandardInternetAccessibleWebsiteUrl, isStringOrTrue, isTrueBooleanKeyArray, isUTCDateString, isUniqueKeyedFunction, isUsStateCodeString, isValidLatLngPoint, isValidLatitude, isValidLongitude, isValidNumberBound, isValidPhoneExtensionNumber, isValidSlashPath, isWebsiteUrl, isWebsiteUrlWithPrefix, isWithinLatLngBoundFunction, isolateSlashPath, isolateSlashPathFunction, isolateWebsitePathFunction, itemCountForBatchIndex, iterableToArray, iterableToMap, iterableToSet, iterablesAreSetEquivalent, iterate, iterateFilteredPages, joinHostAndPort, joinStringsWithSpaces, keepCharactersAfterFirstCharacterOccurence, keepCharactersAfterFirstCharacterOccurenceFunction, keepFromSetCopy, keepValuesFromArray, keepValuesFromSet, keyValueMapFactory, labeledValueMap, lastValue, latLngBound, latLngBoundCenterPoint, latLngBoundEastBound, latLngBoundFromInput, latLngBoundFullyWrapsMap, latLngBoundFunction, latLngBoundNorthBound, latLngBoundNorthEastPoint, latLngBoundNorthWestPoint, latLngBoundOverlapsLatLngBound, latLngBoundSouthBound, latLngBoundSouthEastPoint, latLngBoundSouthWestPoint, latLngBoundStrictlyWrapsMap, latLngBoundTuple, latLngBoundTupleFunction, latLngBoundWestBound, latLngBoundWrapsMap, latLngDataPointFunction, latLngPoint, latLngPointFromString, latLngPointFunction, latLngPointPrecisionFunction, latLngString, latLngStringFunction, latLngTuple, latLngTupleFunction, limitArray, lonLatTuple, lowercaseFirstLetter, mailToUrlString, makeBestFit, makeCopyModelFieldFunction, makeDateMonthForMonthOfYear, makeGetter, makeHandler, makeHashDecodeMap, makeKeyPairs, makeModelConversionFieldValuesFunction, makeModelMap, makeModelMapFunctions, makeMultiModelKeyMap, makeValuesGroupMap, makeWithFactory, makeWithFactoryInput, mapArrayFunction, mapFunctionOutput, mapFunctionOutputPair, mapGetter, mapGetterFactory, mapIdentityFunction, mapIterable, mapKeysIntersectionObjectToArray, mapMaybeFunction, mapObjectMap, mapObjectMapFunction, mapObjectToTargetObject, mapPromiseOrValue, mapToObject, mapToTuples, mapValuesToSet, mappedUseAsyncFunction, mappedUseFunction, mapsHaveSameKeys, maybeMergeModelModifiers, maybeMergeModifiers, maybeModifierMapToFunction, maybeSet, mergeArrays, mergeArraysIntoArray, mergeFilterFunctions, mergeModifiers, mergeObjects, mergeObjectsFunction, mergeSlashPaths, messageFromError, minAndMaxFunction, minAndMaxIndex, minAndMaxIndexFunction, minAndMaxIndexItemsFunction, minAndMaxNumber, minutesToFractionalHours, minutesToHoursAndMinutes, modelFieldConversions, modelFieldMapFunction, modelFieldMapFunctions, modelTypeDataPairFactory, modifier, modifierMapToFunction, modifyModelMapFunction, modifyModelMapFunctions, monthDaySlashDateToDateString, monthOfYearFromDate, monthOfYearFromDateMonth, multiKeyValueMapFactory, multiValueMapBuilder, neMostLatLngPoint, nearestDivisibleValues, numberStringDencoder, numberStringDencoderDecodedNumberValueFunction, numberStringDencoderEncodedStringValueFunction, numberStringDencoderFunction, objectCopyFactory, objectDeltaArrayCompressor, objectFieldEqualityChecker, objectFlatMergeMatrix, objectHasKey, objectHasKeys, objectHasNoKeys, objectIsEmpty, objectKeyEqualityComparatorFunction, objectKeysEqualityComparatorFunction, objectMergeMatrix, objectToMap, objectToTuples, overlapsLatLngBoundFunction, overrideInObject, overrideInObjectFunctionFactory, padStartFunction, pairGroupValues, parseISO8601DayStringToUTCDate, partialServerError, passThrough, percentNumberFromDecimal, percentNumberToDecimal, performAsyncTask, performAsyncTasks, performBatchLoop, performMakeLoop, performTaskCountLoop, performTaskLoop, performTasksFromFactoryInParallelFunction, performTasksInParallel, performTasksInParallelFunction, pickOneRandomly, poll, primativeKeyDencoder, primativeKeyDencoderMap, primativeKeyStringDencoder, primativeValuesDelta, promiseReference, protectedFactory, pushArrayItemsIntoArray, pushElementOntoArray, pushItemOrArrayItemsIntoArray, randomArrayFactory, randomArrayIndex, randomBoolean, randomEmailFactory, randomFromArrayFactory, randomLatLngFactory, randomLatLngFromCenterFactory, randomNumber, randomNumberFactory, randomPhoneNumberFactory, randomPickFactory, range, rangedIndexedValuesArrayAccessorFactory, rangedIndexedValuesArrayAccessorInfoFactory, readBooleanKeySafetyWrap, readDomainFromEmailAddress, readDomainsFromEmailAddresses, readEmailDomainFromUrlOrEmailAddress, readIndexNumber, readKeysFrom, readKeysFromFilterUniqueFunctionAdditionalKeys, readKeysFromFilterUniqueFunctionAdditionalKeysInput, readKeysFunction, readKeysSetFrom, readKeysSetFunction, readKeysToMap, readModelKey, readModelKeyFromObject, readModelKeys, readModelKeysFromObjects, readMultipleKeysToMap, readPortNumber, readUniqueModelKey, readWebsiteProtocol, readableError, readableStreamToBase64, readableStreamToBuffer, readableStreamToStringFunction, rectangleOverlapsRectangle, reduceBooleansFn, reduceBooleansWithAnd, reduceBooleansWithAndFn, reduceBooleansWithOr, reduceBooleansWithOrFn, reduceNumbers, reduceNumbersFn, reduceNumbersWithAdd, reduceNumbersWithAddFn, reduceNumbersWithMax, reduceNumbersWithMaxFn, reduceNumbersWithMin, reduceNumbersWithMinFn, removeByKeyFromBooleanKeyArray, removeCharactersAfterFirstCharacterOccurence, removeCharactersAfterFirstCharacterOccurenceFunction, removeExtensionFromPhoneNumber, removeFromBooleanKeyArray, removeFromSet, removeFromSetCopy, removeHttpFromUrl, removeModelsWithKey, removeModelsWithSameKey, removeModifiers, removeTrailingFileTypeSeparators, removeTrailingSlashes, removeWebProtocolPrefix, repeatString, replaceCharacterAtIndexIf, replaceCharacterAtIndexWith, replaceInvalidFilePathTypeSeparatorsInSlashPath, replaceInvalidFilePathTypeSeparatorsInSlashPathFunction, replaceLastCharacterIf, replaceLastCharacterIfIsFunction, replaceMultipleFilePathsInSlashPath, replaceStringsFunction, requireModelKey, resetPeriodPromiseRateLimiter, restoreOrder, restoreOrderWithValues, reverseCompareFn, roundNumberToStepFunction, roundNumberUpToStep, roundToPrecision, roundToPrecisionFunction, roundingFunction, runAsyncTaskForValue, runAsyncTasksForValues, safeCompareEquality, safeEqualityComparatorFunction, safeFindBestIndexMatch, searchStringFilterFunction, separateValues, separateValuesToSets, sequentialIncrementingNumberStringModelIdFactory, serverError, setContainsAllValues, setContainsAnyValue, setContainsNoneOfValue, setDeltaChangeKeys, setDeltaFunction, setHasValueFunction, setIncludes, setIncludesFunction, setKeysOnMap, setWebProtocolPrefix, setsAreEquivalent, simpleSortValuesFunctionWithSortRef, slashPathFactory, slashPathInvalidError, slashPathName, slashPathParts, slashPathStartTypeFactory, slashPathType, slashPathValidationFactory, sliceIndexRangeFunction, sortAscendingIndexNumberRefFunction, sortByIndexAscendingCompareFunction, sortByIndexRangeAscendingCompareFunction, sortByLabelFunction, sortByNumberFunction, sortByStringFunction, sortCompareNumberFunction, sortNumbersAscendingFunction, sortValues, sortValuesFunctionOrMapIdentityWithSortRef, sortValuesFunctionWithSortRef, spaceSeparatedCssClasses, splitCommaSeparatedString, splitCommaSeparatedStringToSet, splitJoinNameString, splitJoinRemainder, splitStringAtFirstCharacterOccurence, splitStringAtFirstCharacterOccurenceFunction, splitStringAtIndex, splitStringTreeFactory, startOfDayForSystemDateInUTC, startOfDayForUTCDateInUTC, stepsFromIndex, stepsFromIndexFunction, stringCharactersToIndexRecord, stringContains, stringFactoryFromFactory, stringToLowercaseFunction, stringToUppercaseFunction, stringTrimFunction, sumOfIntegersBetween, swMostLatLngPoint, symmetricDifferenceArray, symmetricDifferenceArrayBetweenSets, symmetricDifferenceWithModels, takeFront, takeLast, takeValuesFromIterable, telUrlString, telUrlStringForE164PhoneNumberPair, terminatingFactoryFromArray, throwKeyIsRequired, timePeriodCounter, timer, toAbsoluteSlashPathStartType, toCaseInsensitiveStringArray, toMinuteOfDay, toModelFieldConversions, toModelMapFunctions, toReadableError, toRelativeSlashPathStartType, toggleInSet, toggleInSetCopy, toggleTimerRunning, transformNumberFunction, transformNumberFunctionConfig, transformStringFunction, transformStringFunctionConfig, transformStrings, trimArray, tryWithPromiseFactoriesFunction, typedServiceRegistry, unique, uniqueCaseInsensitiveStrings, uniqueCaseInsensitiveStringsSet, uniqueKeys, uniqueModels, unitedStatesAddressString, urlWithoutParameters, useAsync, useCallback, useContextFunction, useIterableOrValue, useModelOrKey, usePromise, useValue, validLatLngPoint, validLatLngPointFunction, valueAtIndex, valuesAreBothNullishOrEquivalent, valuesFromPOJO, valuesFromPOJOFunction, vectorMinimumSizeResizeFunction, vectorsAreEqual, waitForMs, websiteDomainAndPathPair, websiteDomainAndPathPairFromWebsiteUrl, websitePathAndQueryPair, websitePathFromWebsiteDomainAndPath, websitePathFromWebsiteUrl, websiteUrlFromPaths, wrapIndexRangeFunction, wrapLatLngPoint, wrapLngValue, wrapMapFunctionOutput, wrapNumberFunction, wrapTuples, wrapUseAsyncFunction, wrapUseFunction };
17582
+ export { ALL_DOUBLE_SLASHES_REGEX, ALL_SLASHES_REGEX, ALL_SLASH_PATH_FILE_TYPE_SEPARATORS_REGEX, ASSERTION_ERROR_CODE, ASSERTION_HANDLER, AUTH_ADMIN_ROLE, AUTH_ONBOARDED_ROLE, AUTH_ROLE_CLAIMS_DEFAULT_CLAIM_VALUE, AUTH_ROLE_CLAIMS_DEFAULT_EMPTY_VALUE, AUTH_TOS_SIGNED_ROLE, AUTH_USER_ROLE, AbstractUniqueModel, Assert, AssertMax, AssertMin, AssertionError, AssertionIssueHandler, BooleanStringKeyArrayUtility, BooleanStringKeyArrayUtilityInstance, CATCH_ALL_HANDLE_RESULT_KEY, CUT_VALUE_TO_ZERO_PRECISION, DATE_NOW_VALUE, DEFAULT_CUT_STRING_END_TEXT, DEFAULT_LAT_LNG_STRING_VALUE, DEFAULT_RANDOM_EMAIL_FACTORY_CONFIG, DEFAULT_RANDOM_PHONE_NUMBER_FACTORY_CONFIG, DEFAULT_READABLE_ERROR_CODE, DEFAULT_SLASH_PATH_ILLEGAL_CHARACTERS, DEFAULT_SLASH_PATH_ILLEGAL_CHARACTER_REPLACEMENT, DEFAULT_UNKNOWN_MODEL_TYPE_STRING, DOLLAR_AMOUNT_PRECISION, DOLLAR_AMOUNT_STRING_REGEX, DataDoesNotExistError, DataIsExpiredError, Day, DestroyFunctionObject, E164PHONE_NUMBER_REGEX, E164PHONE_NUMBER_WITH_EXTENSION_REGEX, E164PHONE_NUMBER_WITH_OPTIONAL_EXTENSION_REGEX, FINAL_PAGE, FIRST_PAGE, FRACTIONAL_HOURS_PRECISION_FUNCTION, FullStorageObject, HAS_PORT_NUMBER_REGEX, HAS_WEBSITE_DOMAIN_NAME_REGEX, HOURS_IN_DAY, HTTP_OR_HTTPS_REGEX, HashSet, ISO8601_DAY_STRING_REGEX, ISO8601_DAY_STRING_START_REGEX, ISO_8601_DATE_STRING_REGEX, KeyValueTypleValueFilter, LAT_LNG_PATTERN, LAT_LNG_PATTERN_MAX_PRECISION, LAT_LONG_100KM_PRECISION, LAT_LONG_100M_PRECISION, LAT_LONG_10CM_PRECISION, LAT_LONG_10KM_PRECISION, LAT_LONG_10M_PRECISION, LAT_LONG_1CM_PRECISION, LAT_LONG_1KM_PRECISION, LAT_LONG_1MM_PRECISION, LAT_LONG_1M_PRECISION, LAT_LONG_GRAINS_OF_SAND_PRECISION, LEADING_SLASHES_REGEX, MAP_IDENTITY, MAX_BITWISE_SET_SIZE, MAX_LATITUDE_VALUE, MAX_LONGITUDE_VALUE, MINUTES_IN_DAY, MINUTES_IN_HOUR, MINUTE_OF_DAY_MAXMIMUM, MINUTE_OF_DAY_MINIUMUM, MIN_LATITUDE_VALUE, MIN_LONGITUDE_VALUE, MONTH_DAY_SLASH_DATE_STRING_REGEX, MS_IN_DAY, MS_IN_HOUR, MS_IN_MINUTE, MS_IN_SECOND, MemoryStorageInstance, ModelRelationUtility, NOOP_MODIFIER, NUMBER_STRING_DENCODER_64, NUMBER_STRING_DENCODER_64_DEFAULT_NEGATIVE_PREFIX, NUMBER_STRING_DENCODER_64_DIGITS, PHONE_EXTENSION_NUMBER_REGEX, PRIMATIVE_KEY_DENCODER_VALUE, PageCalculator, PropertyDescriptorUtility, REGEX_SPECIAL_CHARACTERS, REGEX_SPECIAL_CHARACTERS_SET, RelationChange, SECONDS_IN_MINUTE, SHARED_MEMORY_STORAGE, SLASH_PATH_FILE_TYPE_SEPARATOR, SLASH_PATH_SEPARATOR, SORT_VALUE_EQUAL, SORT_VALUE_GREATER_THAN, SORT_VALUE_LESS_THAN, SPLIT_STRING_TREE_NODE_ROOT_VALUE, ServerErrorResponse, SetDeltaChange, SimpleStorageObject, StorageObject, StorageObjectUtility, StoredDataError, SyncState, TOTAL_LATITUDE_RANGE, TOTAL_LONGITUDE_RANGE, TOTAL_SPAN_OF_LONGITUDE, TRAILING_FILE_TYPE_SEPARATORS_REGEX, TRAILING_SLASHES_REGEX, TimeAM, TimerCancelledError, TimerInstance, TypedServiceRegistryInstance, UNLOADED_PAGE, UNSET_INDEX_NUMBER, US_STATE_CODE_STRING_REGEX, UTC_DATE_STRING_REGEX, UTC_TIMEZONE_STRING, UTF_8_START_CHARACTER, UTF_PRIVATE_USAGE_AREA_START, UnauthorizedServerErrorResponse, WEBSITE_TLD_DETECTION_REGEX, WEB_PROTOCOL_PREFIX_REGEX, ZIP_CODE_STRING_REGEX, addHttpToUrl, addLatLngPoints, addModifiers, addPlusPrefixToNumber, addPrefix, addPrefixFunction, addSuffix, addSuffixFunction, addToSet, addToSetCopy, addToSplitStringTree, allFalsyOrEmptyKeys, allIndexesInIndexRange, allKeyValueTuples, allMaybeSoKeys, allNonUndefinedKeys, allObjectsAreEqual, allValuesAreMaybeNot, allValuesAreNotMaybe, allowValueOnceFilter, applyBestFit, applySplitStringTreeWithMultipleValues, applyToMultipleFields, approximateTimerEndDate, areEqualContext, areEqualPOJOValues, areEqualPOJOValuesUsingPojoFilter, arrayContainsDuplicateValue, arrayContentsDiffer, arrayDecision, arrayDecisionFunction, arrayFactory, arrayInputFactory, arrayToLowercase, arrayToMap, arrayToObject, arrayToUppercase, asArray, asDecisionFunction, asGetter, asIndexRangeCheckFunctionConfig, asIterable, asMinuteOfDay, asNumber, asObjectCopyFactory, asPromise, asSet, assignValuesToPOJO, assignValuesToPOJOFunction, authClaims, authRoleClaimsService, authRolesSetHasRoles, baseWebsiteUrl, batch, batchCalc, bitwiseObjectDencoder, bitwiseObjectEncoder, bitwiseObjectdecoder, bitwiseSetDecoder, bitwiseSetDencoder, booleanFactory, booleanKeyArrayUtility, boundNumber, boundNumberFunction, boundToRectangle, build, cachedGetter, capLatValue, capitalizeFirstLetter, caseInsensitiveFilterByIndexOfDecisionFactory, caseInsensitiveString, catchAllHandlerKey, chainMapFunction, chainMapSameFunctions, coerceToEmailParticipants, combineMaps, compareEqualityWithValueFromItemsFunction, compareEqualityWithValueFromItemsFunctionFactory, compareFnOrder, compareWithMappedValuesFunction, computeNextFractionalHour, computeNextFreeIndexFunction, computeNextFreeIndexOnSortedValuesFunction, concatArrays, concatArraysUnique, containsAllStringsAnyCase, containsAllValues, containsAnyStringAnyCase, containsAnyValue, containsAnyValueFromSet, containsNoValueFromSet, containsNoneOfValue, containsStringAnyCase, convertEmailParticipantStringToParticipant, convertMaybeToArray, convertParticipantToEmailParticipantString, convertToArray, copyArray, copyField, copyLatLngBound, copyLatLngPoint, copyObject, copySetAndDo, countAllInNestedArray, countPOJOKeys, countPOJOKeysFunction, cronExpressionRepeatingEveryNMinutes, cssClassesSet, cutString, cutStringFunction, cutToPrecision, cutValueToInteger, cutValueToPrecision, cutValueToPrecisionFunction, dateFromLogicalDate, dateFromMinuteOfDay, dateToHoursAndMinutes, dateToMinuteOfDay, dayOfWeek, daysOfWeekArray, daysOfWeekFromEnabledDays, daysOfWeekNameFunction, daysOfWeekNameMap, decisionFunction, decodeHashedValues, decodeHashedValuesWithDecodeMap, decodeModelKeyTypePair, defaultFilterFromPOJOFunctionNoCopy, defaultForwardFunctionFactory, defaultLatLngPoint, defaultLatLngString, dencodeBitwiseSet, diffLatLngBoundPoints, diffLatLngPoints, dollarAmountString, e164PhoneNumberExtensionPair, e164PhoneNumberFromE164PhoneNumberExtensionPair, enabledDaysFromDaysOfWeek, encodeBitwiseSet, encodeModelKeyTypePair, errorMessageContainsString, errorMessageContainsStringFunction, escapeStringCharactersFunction, escapeStringForRegex, excludeValues, excludeValuesFromArray, excludeValuesFromSet, existsInIterable, expandArrayMapTuples, expandArrayValueTuples, expandFlattenTreeFunction, expandIndexSet, expandTreeFunction, expandTrees, exponentialPromiseRateLimiter, extendLatLngBound, filterAndMapFunction, filterEmptyArrayValues, filterEmptyValues, filterFalsyAndEmptyValues, filterFromIterable, filterFromPOJO, filterFromPOJOFunction, filterKeyValueTupleFunction, filterKeyValueTuples, filterKeyValueTuplesFunction, filterKeyValueTuplesInputToFilter, filterKeysOnPOJOFunction, filterMaybeArrayFunction, filterMaybeArrayValues, filterMaybeValues, filterNullAndUndefinedValues, filterOnlyUndefinedValues, filterTuplesOnPOJOFunction, filterUndefinedValues, filterUniqueByIndex, filterUniqueCaseInsensitiveStrings, filterUniqueFunction, filterUniqueTransform, filterUniqueValues, filterValuesByDistance, filterValuesByDistanceNoOrder, filterValuesToSet, filterValuesUsingSet, filteredPage, findAllCharacterOccurences, findAllCharacterOccurencesFunction, findBest, findBestIndexMatch, findBestIndexMatchFunction, findBestIndexSetPair, findBestSplitStringTreeChildMatch, findBestSplitStringTreeChildMatchPath, findBestSplitStringTreeMatch, findBestSplitStringTreeMatchPath, findFirstCharacterOccurence, findInIterable, findIndexOfFirstDuplicateValue, findItemsByIndex, findNext, findPOJOKeys, findPOJOKeysFunction, findStringsRegexString, findToIndexSet, findValuesFrom, firstAndLastCharacterOccurrence, firstAndLastValue, firstValue, firstValueFromIterable, fitToIndexRangeFunction, fixExtraQueryParameters, fixMultiSlashesInSlashPath, flattenArray, flattenArrayOrValueArray, flattenArrayToSet, flattenArrayUnique, flattenArrayUniqueCaseInsensitiveStrings, flattenTree, flattenTreeToArray, flattenTreeToArrayFunction, flattenTrees, forEachInIterable, forEachKeyValue, forEachKeyValueOnPOJOFunction, forEachWithArray, forwardFunction, fractionalHoursToMinutes, generateIfDoesNotExist, getArrayNextIndex, getBaseLog, getDayOffset, getDayTomorrow, getDayYesterday, getDaysOfWeekNames, getFunctionType, getNextDay, getNextPageNumber, getOverlappingRectangle, getPageNumber, getPreviousDay, getValueFromGetter, groupValues, handlerBindAccessor, handlerConfigurerFactory, handlerFactory, handlerMappedSetFunction, handlerMappedSetFunctionFactory, handlerSetFunction, hasDifferentStringsNoCase, hasDifferentValues, hasHttpPrefix, hasNonNullValue, hasPortNumber, hasSameTimezone, hasSameValues, hasValueFunction, hasValueOrNotEmpty, hasValueOrNotEmptyObject, hasWebsiteDomain, hasWebsiteTopLevelDomain, hashSetForIndexed, hourToFractionalHour, idBatchFactory, incrementingNumberFactory, indexDeltaGroup, indexDeltaGroupFunction, indexRange, indexRangeCheckFunction, indexRangeCheckReaderFunction, indexRangeForArray, indexRangeOverlapsIndexRange, indexRangeOverlapsIndexRangeFunction, indexRangeReaderPairFactory, indexRefMap, indexedValuesArrayAccessorFactory, insertIntoBooleanKeyArray, invertBooleanReturnFunction, invertDecision, invertFilter, isAllowed, isClassLikeType, isCompleteUnitedStatesAddress, isConsideredUtcTimezoneString, isDate, isDefaultLatLngPoint, isDefaultLatLngPointValue, isDefaultReadableError, isDefinedAndNotFalse, isDollarAmountString, isE164PhoneNumber, isE164PhoneNumberWithExtension, isEmptyIterable, isEqualContext, isEqualDate, isEqualToValueDecisionFunction, isEvenNumber, isFalseBooleanKeyArray, isFinalPage, isGetter, isISO8601DateString, isISO8601DayString, isISO8601DayStringStart, isInAllowedDaysOfWeekSet, isInNumberBoundFunction, isInSetDecisionFunction, isIndexNumberInIndexRange, isIndexNumberInIndexRangeFunction, isIndexRangeInIndexRange, isIndexRangeInIndexRangeFunction, isIterable, isKnownHttpWebsiteProtocol, isLatLngBound, isLatLngBoundWithinLatLngBound, isLatLngPoint, isLatLngPointWithinLatLngBound, isLatLngString, isLogicalDateStringCode, isMapIdentityFunction, isMaybeNot, isMaybeNotOrTrue, isMaybeSo, isMinuteOfDay, isModelKey, isMonthDaySlashDate, isNonClassFunction, isNotNullOrEmptyString, isNumberDivisibleBy, isObjectWithConstructor, isOddNumber, isPast, isPromise, isPromiseLike, isSameLatLngBound, isSameLatLngPoint, isSameNonNullValue, isSameVector, isSelectedDecisionFunctionFactory, isSelectedIndexDecisionFunction, isServerError, isSlashPathFile, isSlashPathFolder, isSlashPathTypedFile, isStandardInternetAccessibleWebsiteUrl, isStringOrTrue, isTrueBooleanKeyArray, isUTCDateString, isUniqueKeyedFunction, isUsStateCodeString, isValidLatLngPoint, isValidLatitude, isValidLongitude, isValidNumberBound, isValidPhoneExtensionNumber, isValidSlashPath, isWebsiteUrl, isWebsiteUrlWithPrefix, isWithinLatLngBoundFunction, isolateSlashPath, isolateSlashPathFunction, isolateWebsitePathFunction, itemCountForBatchIndex, iterableToArray, iterableToMap, iterableToSet, iterablesAreSetEquivalent, iterate, iterateFilteredPages, joinHostAndPort, joinStringsWithSpaces, keepCharactersAfterFirstCharacterOccurence, keepCharactersAfterFirstCharacterOccurenceFunction, keepFromSetCopy, keepValuesFromArray, keepValuesFromSet, keyValueMapFactory, labeledValueMap, lastValue, latLngBound, latLngBoundCenterPoint, latLngBoundEastBound, latLngBoundFromInput, latLngBoundFullyWrapsMap, latLngBoundFunction, latLngBoundNorthBound, latLngBoundNorthEastPoint, latLngBoundNorthWestPoint, latLngBoundOverlapsLatLngBound, latLngBoundSouthBound, latLngBoundSouthEastPoint, latLngBoundSouthWestPoint, latLngBoundStrictlyWrapsMap, latLngBoundTuple, latLngBoundTupleFunction, latLngBoundWestBound, latLngBoundWrapsMap, latLngDataPointFunction, latLngPoint, latLngPointFromString, latLngPointFunction, latLngPointPrecisionFunction, latLngString, latLngStringFunction, latLngTuple, latLngTupleFunction, limitArray, lonLatTuple, lowercaseFirstLetter, mailToUrlString, makeBestFit, makeCopyModelFieldFunction, makeDateMonthForMonthOfYear, makeGetter, makeHandler, makeHashDecodeMap, makeKeyPairs, makeModelConversionFieldValuesFunction, makeModelMap, makeModelMapFunctions, makeMultiModelKeyMap, makeValuesGroupMap, makeWithFactory, makeWithFactoryInput, mapArrayFunction, mapFunctionOutput, mapFunctionOutputPair, mapGetter, mapGetterFactory, mapIdentityFunction, mapIterable, mapKeysIntersectionObjectToArray, mapMaybeFunction, mapObjectKeysFunction, mapObjectKeysToLowercase, mapObjectMap, mapObjectMapFunction, mapObjectToTargetObject, mapPromiseOrValue, mapToObject, mapToTuples, mapValuesToSet, mappedUseAsyncFunction, mappedUseFunction, mapsHaveSameKeys, maybeMergeModelModifiers, maybeMergeModifiers, maybeModifierMapToFunction, maybeSet, mergeArrays, mergeArraysIntoArray, mergeFilterFunctions, mergeModifiers, mergeObjects, mergeObjectsFunction, mergeSlashPaths, messageFromError, minAndMaxFunction, minAndMaxIndex, minAndMaxIndexFunction, minAndMaxIndexItemsFunction, minAndMaxNumber, minutesToFractionalHours, minutesToHoursAndMinutes, modelFieldConversions, modelFieldMapFunction, modelFieldMapFunctions, modelTypeDataPairFactory, modifier, modifierMapToFunction, modifyModelMapFunction, modifyModelMapFunctions, monthDaySlashDateToDateString, monthOfYearFromDate, monthOfYearFromDateMonth, multiKeyValueMapFactory, multiValueMapBuilder, neMostLatLngPoint, nearestDivisibleValues, numberStringDencoder, numberStringDencoderDecodedNumberValueFunction, numberStringDencoderEncodedStringValueFunction, numberStringDencoderFunction, objectCopyFactory, objectDeltaArrayCompressor, objectFieldEqualityChecker, objectFlatMergeMatrix, objectHasKey, objectHasKeys, objectHasNoKeys, objectIsEmpty, objectKeyEqualityComparatorFunction, objectKeysEqualityComparatorFunction, objectMergeMatrix, objectToMap, objectToTuples, overlapsLatLngBoundFunction, overrideInObject, overrideInObjectFunctionFactory, padStartFunction, pairGroupValues, parseISO8601DayStringToUTCDate, partialServerError, passThrough, percentNumberFromDecimal, percentNumberToDecimal, performAsyncTask, performAsyncTasks, performBatchLoop, performMakeLoop, performTaskCountLoop, performTaskLoop, performTasksFromFactoryInParallelFunction, performTasksInParallel, performTasksInParallelFunction, pickOneRandomly, poll, primativeKeyDencoder, primativeKeyDencoderMap, primativeKeyStringDencoder, primativeValuesDelta, promiseReference, protectedFactory, pushArrayItemsIntoArray, pushElementOntoArray, pushItemOrArrayItemsIntoArray, randomArrayFactory, randomArrayIndex, randomBoolean, randomEmailFactory, randomFromArrayFactory, randomLatLngFactory, randomLatLngFromCenterFactory, randomNumber, randomNumberFactory, randomPhoneNumberFactory, randomPickFactory, range, rangedIndexedValuesArrayAccessorFactory, rangedIndexedValuesArrayAccessorInfoFactory, readBooleanKeySafetyWrap, readDomainFromEmailAddress, readDomainsFromEmailAddresses, readEmailDomainFromUrlOrEmailAddress, readIndexNumber, readKeysFrom, readKeysFromFilterUniqueFunctionAdditionalKeys, readKeysFromFilterUniqueFunctionAdditionalKeysInput, readKeysFunction, readKeysSetFrom, readKeysSetFunction, readKeysToMap, readModelKey, readModelKeyFromObject, readModelKeys, readModelKeysFromObjects, readMultipleKeysToMap, readPortNumber, readUniqueModelKey, readWebsiteProtocol, readableError, readableStreamToBase64, readableStreamToBuffer, readableStreamToStringFunction, rectangleOverlapsRectangle, reduceBooleansFn, reduceBooleansWithAnd, reduceBooleansWithAndFn, reduceBooleansWithOr, reduceBooleansWithOrFn, reduceNumbers, reduceNumbersFn, reduceNumbersWithAdd, reduceNumbersWithAddFn, reduceNumbersWithMax, reduceNumbersWithMaxFn, reduceNumbersWithMin, reduceNumbersWithMinFn, removeByKeyFromBooleanKeyArray, removeCharactersAfterFirstCharacterOccurence, removeCharactersAfterFirstCharacterOccurenceFunction, removeExtensionFromPhoneNumber, removeFromBooleanKeyArray, removeFromSet, removeFromSetCopy, removeHttpFromUrl, removeModelsWithKey, removeModelsWithSameKey, removeModifiers, removeTrailingFileTypeSeparators, removeTrailingSlashes, removeValuesAtIndexesFromArrayCopy, removeWebProtocolPrefix, repeatString, replaceCharacterAtIndexIf, replaceCharacterAtIndexWith, replaceInvalidFilePathTypeSeparatorsInSlashPath, replaceInvalidFilePathTypeSeparatorsInSlashPathFunction, replaceLastCharacterIf, replaceLastCharacterIfIsFunction, replaceMultipleFilePathsInSlashPath, replaceStringsFunction, requireModelKey, resetPeriodPromiseRateLimiter, restoreOrder, restoreOrderWithValues, reverseCompareFn, roundNumberToStepFunction, roundNumberUpToStep, roundToPrecision, roundToPrecisionFunction, roundingFunction, runAsyncTaskForValue, runAsyncTasksForValues, safeCompareEquality, safeEqualityComparatorFunction, safeFindBestIndexMatch, searchStringFilterFunction, separateValues, separateValuesToSets, sequentialIncrementingNumberStringModelIdFactory, serverError, setContainsAllValues, setContainsAnyValue, setContainsNoneOfValue, setDeltaChangeKeys, setDeltaFunction, setHasValueFunction, setIncludes, setIncludesFunction, setKeysOnMap, setWebProtocolPrefix, setsAreEquivalent, simpleSortValuesFunctionWithSortRef, slashPathFactory, slashPathInvalidError, slashPathName, slashPathParts, slashPathStartTypeFactory, slashPathType, slashPathValidationFactory, sliceIndexRangeFunction, sortAscendingIndexNumberRefFunction, sortByIndexAscendingCompareFunction, sortByIndexRangeAscendingCompareFunction, sortByLabelFunction, sortByNumberFunction, sortByStringFunction, sortCompareNumberFunction, sortNumbersAscendingFunction, sortValues, sortValuesFunctionOrMapIdentityWithSortRef, sortValuesFunctionWithSortRef, spaceSeparatedCssClasses, splitCommaSeparatedString, splitCommaSeparatedStringToSet, splitJoinNameString, splitJoinRemainder, splitStringAtFirstCharacterOccurence, splitStringAtFirstCharacterOccurenceFunction, splitStringAtIndex, splitStringTreeFactory, startOfDayForSystemDateInUTC, startOfDayForUTCDateInUTC, stepsFromIndex, stepsFromIndexFunction, stringCharactersToIndexRecord, stringContains, stringFactoryFromFactory, stringToLowercaseFunction, stringToUppercaseFunction, stringTrimFunction, sumOfIntegersBetween, swMostLatLngPoint, symmetricDifferenceArray, symmetricDifferenceArrayBetweenSets, symmetricDifferenceWithModels, takeFront, takeLast, takeValuesFromIterable, telUrlString, telUrlStringForE164PhoneNumberPair, terminatingFactoryFromArray, throwKeyIsRequired, timePeriodCounter, timer, toAbsoluteSlashPathStartType, toCaseInsensitiveStringArray, toMinuteOfDay, toModelFieldConversions, toModelMapFunctions, toReadableError, toRelativeSlashPathStartType, toggleInSet, toggleInSetCopy, toggleTimerRunning, transformNumberFunction, transformNumberFunctionConfig, transformStringFunction, transformStringFunctionConfig, transformStrings, trimArray, tryWithPromiseFactoriesFunction, typedServiceRegistry, unique, uniqueCaseInsensitiveStrings, uniqueCaseInsensitiveStringsSet, uniqueKeys, uniqueModels, unitedStatesAddressString, updateMaybeValue, urlWithoutParameters, useAsync, useCallback, useContextFunction, useIterableOrValue, useModelOrKey, usePromise, useValue, validLatLngPoint, validLatLngPointFunction, valueAtIndex, valuesAreBothNullishOrEquivalent, valuesFromPOJO, valuesFromPOJOFunction, vectorMinimumSizeResizeFunction, vectorsAreEqual, waitForMs, websiteDomainAndPathPair, websiteDomainAndPathPairFromWebsiteUrl, websitePathAndQueryPair, websitePathFromWebsiteDomainAndPath, websitePathFromWebsiteUrl, websiteUrlFromPaths, wrapIndexRangeFunction, wrapLatLngPoint, wrapLngValue, wrapMapFunctionOutput, wrapNumberFunction, wrapTuples, wrapUseAsyncFunction, wrapUseFunction };