@dereekb/util 13.11.2 → 13.11.4

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.
Files changed (102) hide show
  1. package/eslint/index.cjs.default.js +1 -0
  2. package/eslint/index.cjs.js +687 -0
  3. package/eslint/index.cjs.mjs +2 -0
  4. package/eslint/index.d.ts +1 -0
  5. package/eslint/index.esm.js +683 -0
  6. package/eslint/package.json +23 -0
  7. package/eslint/src/index.d.ts +1 -0
  8. package/eslint/src/lib/comments.d.ts +101 -0
  9. package/eslint/src/lib/index.d.ts +3 -0
  10. package/eslint/src/lib/plugin.d.ts +18 -0
  11. package/eslint/src/lib/prefer-no-side-effects-in-jsdoc.rule.d.ts +50 -0
  12. package/eslint/src/lib/require-no-side-effects.rule.d.ts +67 -0
  13. package/fetch/package.json +2 -2
  14. package/index.cjs.js +1421 -23
  15. package/index.esm.js +1421 -24
  16. package/package.json +7 -1
  17. package/src/lib/array/array.factory.d.ts +2 -0
  18. package/src/lib/array/array.filter.d.ts +50 -17
  19. package/src/lib/array/array.find.d.ts +1 -0
  20. package/src/lib/array/array.index.d.ts +7 -0
  21. package/src/lib/array/array.indexed.d.ts +21 -0
  22. package/src/lib/array/array.make.d.ts +7 -0
  23. package/src/lib/array/array.random.d.ts +1 -0
  24. package/src/lib/array/array.unique.d.ts +3 -0
  25. package/src/lib/array/array.value.d.ts +7 -0
  26. package/src/lib/auth/auth.role.claims.d.ts +7 -0
  27. package/src/lib/boolean.d.ts +1 -0
  28. package/src/lib/contact/random.d.ts +14 -0
  29. package/src/lib/date/date.d.ts +229 -0
  30. package/src/lib/date/time.d.ts +7 -0
  31. package/src/lib/date/week.d.ts +7 -0
  32. package/src/lib/error/error.d.ts +7 -0
  33. package/src/lib/filter/filter.d.ts +7 -0
  34. package/src/lib/function/function.boolean.d.ts +7 -0
  35. package/src/lib/function/function.forward.d.ts +14 -0
  36. package/src/lib/getter/getter.cache.d.ts +7 -0
  37. package/src/lib/getter/getter.d.ts +34 -0
  38. package/src/lib/getter/getter.map.d.ts +7 -0
  39. package/src/lib/getter/getter.util.d.ts +7 -0
  40. package/src/lib/grouping.d.ts +8 -0
  41. package/src/lib/hash.d.ts +1 -0
  42. package/src/lib/key.d.ts +16 -0
  43. package/src/lib/map/map.key.d.ts +14 -0
  44. package/src/lib/model/id.batch.d.ts +7 -0
  45. package/src/lib/model/id.factory.d.ts +7 -0
  46. package/src/lib/model/model.conversion.d.ts +35 -0
  47. package/src/lib/model/model.copy.d.ts +7 -0
  48. package/src/lib/model/model.d.ts +19 -0
  49. package/src/lib/model/model.modify.d.ts +14 -0
  50. package/src/lib/nodejs/stream.d.ts +7 -0
  51. package/src/lib/number/bound.d.ts +3 -0
  52. package/src/lib/number/dollar.d.ts +7 -0
  53. package/src/lib/number/factory.d.ts +7 -0
  54. package/src/lib/number/random.d.ts +1 -0
  55. package/src/lib/number/round.d.ts +22 -0
  56. package/src/lib/number/sort.d.ts +7 -0
  57. package/src/lib/number/transform.d.ts +7 -0
  58. package/src/lib/object/object.array.delta.d.ts +7 -0
  59. package/src/lib/object/object.equal.d.ts +7 -0
  60. package/src/lib/object/object.filter.pojo.d.ts +87 -0
  61. package/src/lib/object/object.filter.tuple.d.ts +16 -0
  62. package/src/lib/object/object.key.d.ts +14 -0
  63. package/src/lib/object/object.map.d.ts +14 -0
  64. package/src/lib/path/path.d.ts +9 -0
  65. package/src/lib/promise/promise.d.ts +21 -0
  66. package/src/lib/promise/promise.factory.d.ts +7 -0
  67. package/src/lib/promise/promise.task.d.ts +7 -0
  68. package/src/lib/service/handler.config.d.ts +28 -0
  69. package/src/lib/service/handler.d.ts +14 -0
  70. package/src/lib/set/set.d.ts +21 -0
  71. package/src/lib/set/set.decision.d.ts +7 -0
  72. package/src/lib/set/set.delta.d.ts +7 -0
  73. package/src/lib/set/set.selection.d.ts +7 -0
  74. package/src/lib/sort.d.ts +8 -0
  75. package/src/lib/string/char.d.ts +7 -0
  76. package/src/lib/string/dencoder.d.ts +35 -0
  77. package/src/lib/string/factory.d.ts +22 -1
  78. package/src/lib/string/replace.d.ts +78 -0
  79. package/src/lib/string/search.d.ts +7 -0
  80. package/src/lib/string/sort.d.ts +7 -0
  81. package/src/lib/string/string.d.ts +1 -0
  82. package/src/lib/string/transform.d.ts +53 -0
  83. package/src/lib/string/tree.d.ts +7 -0
  84. package/src/lib/string/url.d.ts +7 -0
  85. package/src/lib/tree/tree.array.d.ts +1 -0
  86. package/src/lib/tree/tree.explore.d.ts +3 -0
  87. package/src/lib/type.d.ts +3 -2
  88. package/src/lib/value/bound.d.ts +28 -0
  89. package/src/lib/value/comparator.d.ts +16 -0
  90. package/src/lib/value/decision.d.ts +5 -0
  91. package/src/lib/value/equal.d.ts +2 -0
  92. package/src/lib/value/indexed.d.ts +127 -0
  93. package/src/lib/value/map.d.ts +22 -0
  94. package/src/lib/value/maybe.type.d.ts +2 -2
  95. package/src/lib/value/modifier.d.ts +13 -0
  96. package/src/lib/value/point.d.ts +56 -0
  97. package/src/lib/value/use.d.ts +37 -0
  98. package/src/lib/value/vector.d.ts +7 -0
  99. package/test/index.cjs.js +17 -4
  100. package/test/index.esm.js +17 -4
  101. package/test/package.json +2 -2
  102. package/test/src/lib/shared/shared.fail.d.ts +24 -5
package/index.esm.js CHANGED
@@ -787,6 +787,14 @@ function _unsupported_iterable_to_array$A(o, minLen) {
787
787
  * const fn = readKeysFunction<string>((x) => x);
788
788
  * fn(['a', 'b', 'c']); // ['a', 'b', 'c']
789
789
  * ```
790
+ *
791
+ * @dbxUtil
792
+ * @dbxUtilCategory value
793
+ * @dbxUtilKind factory
794
+ * @dbxUtilTags key, read, factory, array, primitive
795
+ * @dbxUtilRelated read-keys-set-function
796
+ *
797
+ * @__NO_SIDE_EFFECTS__
790
798
  */ function readKeysFunction(readKey) {
791
799
  return function(values) {
792
800
  var result;
@@ -824,6 +832,14 @@ function _unsupported_iterable_to_array$A(o, minLen) {
824
832
  * const fn = readKeysSetFunction<string>((x) => x);
825
833
  * fn(['a', 'b', 'a']); // Set { 'a', 'b' }
826
834
  * ```
835
+ *
836
+ * @dbxUtil
837
+ * @dbxUtilCategory value
838
+ * @dbxUtilKind factory
839
+ * @dbxUtilTags key, read, set, factory, dedupe, primitive
840
+ * @dbxUtilRelated read-keys-function
841
+ *
842
+ * @__NO_SIDE_EFFECTS__
827
843
  */ function readKeysSetFunction(readKey) {
828
844
  return function(values) {
829
845
  var result;
@@ -1190,9 +1206,16 @@ function _unsupported_iterable_to_array$z(o, minLen) {
1190
1206
  /**
1191
1207
  * Creates a {@link SetHasValueFunction} from an {@link IterableOrValue} by first converting it to a Set.
1192
1208
  *
1209
+ * @dbxUtil
1210
+ * @dbxUtilCategory set
1211
+ * @dbxUtilKind factory
1212
+ * @dbxUtilTags set, has, decision, factory, membership, exclude
1213
+ * @dbxUtilRelated set-has-value-function, set-includes-function
1214
+ *
1193
1215
  * @param iterable - The values to create a set from.
1194
1216
  * @param exclude - If true, the returned function returns true for values NOT in the set.
1195
1217
  * @returns A function that tests membership.
1218
+ * @__NO_SIDE_EFFECTS__
1196
1219
  */ function hasValueFunction(iterable) {
1197
1220
  var exclude = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
1198
1221
  var set = asSet(iterable);
@@ -1201,9 +1224,16 @@ function _unsupported_iterable_to_array$z(o, minLen) {
1201
1224
  /**
1202
1225
  * Creates a {@link SetHasValueFunction} for the given set. When `exclude` is true, returns the inverse (true for values not in the set).
1203
1226
  *
1227
+ * @dbxUtil
1228
+ * @dbxUtilCategory set
1229
+ * @dbxUtilKind factory
1230
+ * @dbxUtilTags set, has, decision, factory, membership, exclude
1231
+ * @dbxUtilRelated has-value-function, set-includes-function
1232
+ *
1204
1233
  * @param set - The set to check against.
1205
1234
  * @param exclude - If true, returns true for values NOT in the set.
1206
1235
  * @returns A function that tests membership.
1236
+ * @__NO_SIDE_EFFECTS__
1207
1237
  */ function setHasValueFunction(set, exclude) {
1208
1238
  var hasValueFunction;
1209
1239
  if (exclude) {
@@ -1242,10 +1272,17 @@ function _unsupported_iterable_to_array$z(o, minLen) {
1242
1272
  /**
1243
1273
  * Creates a {@link SetIncludesFunction} that checks whether the set includes given values using the specified mode.
1244
1274
  *
1275
+ * @dbxUtil
1276
+ * @dbxUtilCategory set
1277
+ * @dbxUtilKind factory
1278
+ * @dbxUtilTags set, includes, decision, factory, all, any, mode
1279
+ * @dbxUtilRelated has-value-function, set-has-value-function
1280
+ *
1245
1281
  * @param valuesSet - The reference set.
1246
1282
  * @param mode - Whether to require 'all' values or 'any' value to be present. Defaults to 'all'.
1247
1283
  * @param emptyValuesToFindArrayResult - The result when the values to find are empty.
1248
1284
  * @returns A function that tests inclusion against the set.
1285
+ * @__NO_SIDE_EFFECTS__
1249
1286
  */ function setIncludesFunction(valuesSet) {
1250
1287
  var mode = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 'all', emptyValuesToFindArrayResult = arguments.length > 2 ? arguments[2] : void 0;
1251
1288
  var fn;
@@ -1418,9 +1455,16 @@ function _unsupported_iterable_to_array$y(o, minLen) {
1418
1455
  /**
1419
1456
  * Inverts the output of an arbitrary boolean-returning function.
1420
1457
  *
1458
+ * @dbxUtil
1459
+ * @dbxUtilCategory function
1460
+ * @dbxUtilKind factory
1461
+ * @dbxUtilTags function, boolean, invert, predicate, factory
1462
+ * @dbxUtilRelated decision-function, filter-function
1463
+ *
1421
1464
  * @param decisionFn - The function whose boolean return value to invert
1422
1465
  * @param invert - Whether to apply the inversion (defaults to true)
1423
1466
  * @returns The inverted function, or the original if invert is false
1467
+ * @__NO_SIDE_EFFECTS__
1424
1468
  */ function invertBooleanReturnFunction(decisionFn) {
1425
1469
  var invert = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
1426
1470
  return invert ? function() {
@@ -1450,6 +1494,7 @@ function _unsupported_iterable_to_array$y(o, minLen) {
1450
1494
  * @param decision - Predicate used to test individual elements.
1451
1495
  * @param mode - Whether all or any elements must satisfy the predicate.
1452
1496
  * @returns A function that evaluates an array against the configured decision criteria.
1497
+ * @__NO_SIDE_EFFECTS__
1453
1498
  */ function arrayDecisionFunction(decision, mode) {
1454
1499
  var findFn = mode === 'all' ? invertBooleanReturnFunction(decision) : decision;
1455
1500
  return invertBooleanReturnFunction(function(values) {
@@ -1761,8 +1806,15 @@ function _type_of$l(obj) {
1761
1806
  /**
1762
1807
  * Creates a {@link FilterMaybeArrayFunction} that filters maybe values from an array using the provided filter function.
1763
1808
  *
1809
+ * @dbxUtil
1810
+ * @dbxUtilCategory array
1811
+ * @dbxUtilKind factory
1812
+ * @dbxUtilTags array, filter, maybe, factory, predicate
1813
+ * @dbxUtilRelated filter-maybe-array-values
1814
+ *
1764
1815
  * @param filterFn - Filter predicate used to determine which values to keep.
1765
1816
  * @returns A function that filters maybe values from an optional input array.
1817
+ * @__NO_SIDE_EFFECTS__
1766
1818
  */ function filterMaybeArrayFunction(filterFn) {
1767
1819
  return function(values) {
1768
1820
  var result;
@@ -1872,6 +1924,7 @@ function _type_of$l(obj) {
1872
1924
  * maybeDouble(undefined); // undefined
1873
1925
  * maybeDouble(null); // null
1874
1926
  * ```
1927
+ * @__NO_SIDE_EFFECTS__
1875
1928
  */ function mapMaybeFunction(mapFunction) {
1876
1929
  return function(input) {
1877
1930
  var output = isMaybeNot(input) ? input : mapFunction(input);
@@ -1889,6 +1942,7 @@ function _type_of$l(obj) {
1889
1942
  *
1890
1943
  * @param mapFunction - per-element transformation
1891
1944
  * @returns a function that maps entire arrays
1945
+ * @__NO_SIDE_EFFECTS__
1892
1946
  */ function mapArrayFunction(mapFunction) {
1893
1947
  return function(input) {
1894
1948
  return input.map(mapFunction);
@@ -1914,15 +1968,27 @@ function _type_of$l(obj) {
1914
1968
  /**
1915
1969
  * Returns the shared {@link MAP_IDENTITY} function cast to the requested type, useful for providing a typed no-op transformation.
1916
1970
  *
1971
+ * @dbxUtil
1972
+ * @dbxUtilCategory value
1973
+ * @dbxUtilTags map, identity, no-op, typed
1974
+ * @dbxUtilRelated map-identity, is-map-identity-function
1975
+ *
1917
1976
  * @returns the singleton identity function typed as `MapFunction<T, T>`
1977
+ * @__NO_SIDE_EFFECTS__
1918
1978
  */ function mapIdentityFunction() {
1919
1979
  return MAP_IDENTITY;
1920
1980
  }
1921
1981
  /**
1922
1982
  * Checks whether the given function is the singleton {@link MAP_IDENTITY} reference.
1923
1983
  *
1984
+ * @dbxUtil
1985
+ * @dbxUtilCategory value
1986
+ * @dbxUtilTags map, identity, type-guard, sentinel
1987
+ * @dbxUtilRelated map-identity, map-identity-function
1988
+ *
1924
1989
  * @param fn - the function to check
1925
1990
  * @returns `true` if the function is the identity singleton
1991
+ * @__NO_SIDE_EFFECTS__
1926
1992
  */ function isMapIdentityFunction(fn) {
1927
1993
  return fn === MAP_IDENTITY;
1928
1994
  }
@@ -1990,6 +2056,8 @@ function _type_of$l(obj) {
1990
2056
  * const result = fnChain('aaaab');
1991
2057
  * // result === 'aaaab'
1992
2058
  * ```
2059
+ *
2060
+ * @__NO_SIDE_EFFECTS__
1993
2061
  */ function chainMapSameFunctions(input) {
1994
2062
  var fns = filterMaybeArrayValues(asArray(input).filter(function(x) {
1995
2063
  return !isMapIdentityFunction(x);
@@ -2011,6 +2079,7 @@ function _type_of$l(obj) {
2011
2079
  }
2012
2080
  return fn;
2013
2081
  }
2082
+ // @__NO_SIDE_EFFECTS__
2014
2083
  function chainMapFunction(a, b) {
2015
2084
  var apply = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;
2016
2085
  return apply && b != null ? function(x) {
@@ -2127,6 +2196,7 @@ function _unsupported_iterable_to_array$x(o, minLen) {
2127
2196
  * @param readKey - Function to extract a unique key from each item.
2128
2197
  * @param additionalKeysInput - Optional keys or values to pre-seed as already seen, causing them to be excluded.
2129
2198
  * @returns A reusable filter function that removes duplicate items from arrays.
2199
+ * @__NO_SIDE_EFFECTS__
2130
2200
  */ function filterUniqueFunction(readKey, additionalKeysInput) {
2131
2201
  var baseKeys = readKeysFromFilterUniqueFunctionAdditionalKeysInput(additionalKeysInput, readKey);
2132
2202
  function calculateExclude(excludeInput) {
@@ -2177,6 +2247,7 @@ function _unsupported_iterable_to_array$x(o, minLen) {
2177
2247
  *
2178
2248
  * @param readKey - Function to extract a unique key from each item.
2179
2249
  * @returns A decision function that returns true if all items have distinct keys.
2250
+ * @__NO_SIDE_EFFECTS__
2180
2251
  */ function isUniqueKeyedFunction(readKey) {
2181
2252
  return function(input) {
2182
2253
  var keys = new Set();
@@ -2195,6 +2266,7 @@ function _unsupported_iterable_to_array$x(o, minLen) {
2195
2266
  return findResult === -1;
2196
2267
  };
2197
2268
  }
2269
+ // @__NO_SIDE_EFFECTS__
2198
2270
  function allowValueOnceFilter(inputReadKey) {
2199
2271
  var visitedKeys = new Set();
2200
2272
  var readKey = inputReadKey !== null && inputReadKey !== void 0 ? inputReadKey : MAP_IDENTITY;
@@ -2287,6 +2359,7 @@ function removeModelsWithKey(input, key) {
2287
2359
  return read(x) !== key;
2288
2360
  });
2289
2361
  }
2362
+ // @__NO_SIDE_EFFECTS__
2290
2363
  function makeModelMap(input, read) {
2291
2364
  var map = new Map();
2292
2365
  input.forEach(function(x) {
@@ -2302,9 +2375,15 @@ function makeModelMap(input, read) {
2302
2375
  *
2303
2376
  * If multiple models share the same relation key, the last one wins for that key.
2304
2377
  *
2378
+ * @dbxUtil
2379
+ * @dbxUtilCategory model
2380
+ * @dbxUtilTags model, map, key, multi, relation, index, lookup
2381
+ * @dbxUtilRelated make-model-map, read-model-key
2382
+ *
2305
2383
  * @param input - Array of models to index
2306
2384
  * @param read - Function that returns an array of relation keys for each model
2307
2385
  * @returns Map from relation key to model
2386
+ * @__NO_SIDE_EFFECTS__
2308
2387
  */ function makeMultiModelKeyMap(input, read) {
2309
2388
  var map = new Map();
2310
2389
  input.forEach(function(x) {
@@ -2456,9 +2535,16 @@ function readModelKey(input) {
2456
2535
  *
2457
2536
  * Falls back to the provided default type if the type reader returns a nullish value.
2458
2537
  *
2538
+ * @dbxUtil
2539
+ * @dbxUtilCategory model
2540
+ * @dbxUtilKind factory
2541
+ * @dbxUtilTags model, type, pair, factory, wrap
2542
+ * @dbxUtilRelated read-model-key, encode-model-key-type-pair
2543
+ *
2459
2544
  * @param typeReader - Function to extract the model type from input data
2460
2545
  * @param defaultType - Fallback type string when the reader returns nullish
2461
2546
  * @returns Factory function that produces ModelTypeDataPair values
2547
+ * @__NO_SIDE_EFFECTS__
2462
2548
  */ function modelTypeDataPairFactory(typeReader) {
2463
2549
  var defaultType = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : DEFAULT_UNKNOWN_MODEL_TYPE_STRING;
2464
2550
  return function(data) {
@@ -2937,6 +3023,7 @@ function reverseCompareFn(compareFn) {
2937
3023
  * [{ name: 'Bob' }, { name: 'Alice' }].sort(byName);
2938
3024
  * // [{ name: 'Alice' }, { name: 'Bob' }]
2939
3025
  * ```
3026
+ * @__NO_SIDE_EFFECTS__
2940
3027
  */ function compareWithMappedValuesFunction(mapValue, comparesFunction) {
2941
3028
  return function(a, b) {
2942
3029
  var vA = mapValue(a);
@@ -3002,12 +3089,19 @@ function reverseCompareFn(compareFn) {
3002
3089
  * @param compareFn - Ascending sort comparison function used to determine min/max.
3003
3090
  * @returns A function that returns `{ min, max }` or `null` for empty iterables.
3004
3091
  *
3092
+ * @dbxUtil
3093
+ * @dbxUtilCategory sort
3094
+ * @dbxUtilKind factory
3095
+ * @dbxUtilTags sort, min, max, factory, iterable, compare
3096
+ * @dbxUtilRelated min-and-max-index-items-function, sort-by-number-function
3097
+ *
3005
3098
  * @example
3006
3099
  * ```ts
3007
3100
  * const fn = minAndMaxFunction<number>((a, b) => a - b);
3008
3101
  * fn([3, 1, 4, 1, 5]); // { min: 1, max: 5 }
3009
3102
  * fn([]); // null
3010
3103
  * ```
3104
+ * @__NO_SIDE_EFFECTS__
3011
3105
  */ function minAndMaxFunction(compareFn) {
3012
3106
  return function(values) {
3013
3107
  var _firstValueFromIterable;
@@ -3301,9 +3395,15 @@ function _unsupported_iterable_to_array$t(o, minLen) {
3301
3395
  /**
3302
3396
  * Creates an array of `[key, value]` tuples by extracting a key from each value.
3303
3397
  *
3398
+ * @dbxUtil
3399
+ * @dbxUtilCategory grouping
3400
+ * @dbxUtilTags grouping, key, pairs, tuple, array
3401
+ * @dbxUtilRelated group-values, make-values-group-map
3402
+ *
3304
3403
  * @param values - Values to create key pairs from.
3305
3404
  * @param keyFn - Extracts the key from each value.
3306
3405
  * @returns An array of `[key, value]` tuples.
3406
+ * @__NO_SIDE_EFFECTS__
3307
3407
  */ function makeKeyPairs(values, keyFn) {
3308
3408
  return values.map(function(x) {
3309
3409
  return [
@@ -3337,6 +3437,7 @@ function groupValues(values, groupKeyFn) {
3337
3437
  var map = makeValuesGroupMap(values, groupKeyFn);
3338
3438
  return mapToObject(map);
3339
3439
  }
3440
+ // @__NO_SIDE_EFFECTS__
3340
3441
  function makeValuesGroupMap(values, groupKeyFn) {
3341
3442
  var map = new Map();
3342
3443
  if (values != null) {
@@ -3469,8 +3570,15 @@ function _unsupported_iterable_to_array$s(o, minLen) {
3469
3570
  /**
3470
3571
  * Creates a KeyValueMapFactory that maps values by their key using a ReadKeyFunction.
3471
3572
  *
3573
+ * @dbxUtil
3574
+ * @dbxUtilCategory value
3575
+ * @dbxUtilKind factory
3576
+ * @dbxUtilTags map, key, factory, lookup, index
3577
+ * @dbxUtilRelated multi-key-value-map-factory, read-keys-to-map
3578
+ *
3472
3579
  * @param read - Function that extracts a key from each value
3473
3580
  * @returns A factory that creates Maps from arrays of values
3581
+ * @__NO_SIDE_EFFECTS__
3474
3582
  */ function keyValueMapFactory(read) {
3475
3583
  return function(values) {
3476
3584
  var map = new Map();
@@ -3496,8 +3604,15 @@ function _unsupported_iterable_to_array$s(o, minLen) {
3496
3604
  * Creates a KeyValueMapFactory that maps values by multiple keys using a ReadMultipleKeysFunction.
3497
3605
  * Each value can appear under multiple keys.
3498
3606
  *
3607
+ * @dbxUtil
3608
+ * @dbxUtilCategory value
3609
+ * @dbxUtilKind factory
3610
+ * @dbxUtilTags map, key, multi, factory, lookup, index
3611
+ * @dbxUtilRelated key-value-map-factory, read-multiple-keys-to-map
3612
+ *
3499
3613
  * @param read - Function that extracts multiple keys from each value
3500
3614
  * @returns A factory that creates Maps from arrays of values
3615
+ * @__NO_SIDE_EFFECTS__
3501
3616
  */ function multiKeyValueMapFactory(read) {
3502
3617
  return function(values) {
3503
3618
  var map = new Map();
@@ -3613,8 +3728,15 @@ function _unsupported_iterable_to_array$s(o, minLen) {
3613
3728
  * Creates an {@link IsSelectedDecisionFunctionFactory} that produces decision functions
3614
3729
  * checking whether a value's key is included in a set of selected values.
3615
3730
  *
3731
+ * @dbxUtil
3732
+ * @dbxUtilCategory set
3733
+ * @dbxUtilKind factory
3734
+ * @dbxUtilTags set, selection, decision, predicate, factory, key
3735
+ * @dbxUtilRelated is-in-set-decision-function
3736
+ *
3616
3737
  * @param config - Configuration with the key reader and default behavior.
3617
3738
  * @returns A factory that creates decision functions from a set of selected keys.
3739
+ * @__NO_SIDE_EFFECTS__
3618
3740
  */ function isSelectedDecisionFunctionFactory(config) {
3619
3741
  var readKey = config.readKey, _config_defaultIfKeyNull = config.defaultIfKeyNull, defaultIfKeyNull = _config_defaultIfKeyNull === void 0 ? false : _config_defaultIfKeyNull;
3620
3742
  return function(selectedValues) {
@@ -3772,6 +3894,7 @@ function _unsupported_iterable_to_array$s(o, minLen) {
3772
3894
  *
3773
3895
  * @param x - The value to check.
3774
3896
  * @returns Whether the value is a non-class function.
3897
+ * @__NO_SIDE_EFFECTS__
3775
3898
  */ // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
3776
3899
  function isNonClassFunction(x) {
3777
3900
  var type = getFunctionType(x);
@@ -3825,6 +3948,7 @@ function getValueFromGetter(input, args) {
3825
3948
  * @param value - The object to copy
3826
3949
  * @param copyFunction - Optional custom copy function (defaults to copyObject)
3827
3950
  * @returns A factory that produces copies of the value
3951
+ * @__NO_SIDE_EFFECTS__
3828
3952
  */ function objectCopyFactory(value) {
3829
3953
  var copyFunction = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : copyObject;
3830
3954
  return function() {
@@ -3835,17 +3959,31 @@ function getValueFromGetter(input, args) {
3835
3959
  * Converts the input to an ObjectCopyFactory. If the input is an object, wraps it with objectCopyFactory.
3836
3960
  * If it's already a function (Getter), it's returned directly.
3837
3961
  *
3962
+ * @dbxUtil
3963
+ * @dbxUtilCategory getter
3964
+ * @dbxUtilKind factory
3965
+ * @dbxUtilTags getter, factory, copy, clone, object, normalize
3966
+ * @dbxUtilRelated object-copy-factory, as-getter
3967
+ *
3838
3968
  * @param input - An object value or a getter function
3839
3969
  * @param copyFunction - Optional custom copy function
3840
3970
  * @returns An ObjectCopyFactory for the input
3971
+ * @__NO_SIDE_EFFECTS__
3841
3972
  */ function asObjectCopyFactory(input, copyFunction) {
3842
3973
  return (typeof input === "undefined" ? "undefined" : _type_of$j(input)) === 'object' ? objectCopyFactory(input, copyFunction) : asGetter(input);
3843
3974
  }
3844
3975
  /**
3845
3976
  * Wraps the input value in a Getter function that always returns it.
3846
3977
  *
3978
+ * @dbxUtil
3979
+ * @dbxUtilCategory getter
3980
+ * @dbxUtilKind factory
3981
+ * @dbxUtilTags getter, factory, wrap, constant
3982
+ * @dbxUtilRelated as-getter, get-value-from-getter
3983
+ *
3847
3984
  * @param input - The value to wrap
3848
3985
  * @returns A Getter that returns the input value
3986
+ * @__NO_SIDE_EFFECTS__
3849
3987
  */ function makeGetter(input) {
3850
3988
  return function() {
3851
3989
  return input;
@@ -3854,9 +3992,15 @@ function getValueFromGetter(input, args) {
3854
3992
  /**
3855
3993
  * Calls a factory function the specified number of times and returns the results as an array.
3856
3994
  *
3995
+ * @dbxUtil
3996
+ * @dbxUtilCategory getter
3997
+ * @dbxUtilTags getter, factory, generate, array, count
3998
+ * @dbxUtilRelated make-with-factory-input, array-factory
3999
+ *
3857
4000
  * @param factory - The factory function to call (receives the current index as argument)
3858
4001
  * @param count - The number of items to create
3859
4002
  * @returns An array of produced values
4003
+ * @__NO_SIDE_EFFECTS__
3860
4004
  */ function makeWithFactory(factory, count) {
3861
4005
  var results = [];
3862
4006
  for(var i = 0; i < count; i += 1){
@@ -3864,6 +4008,7 @@ function getValueFromGetter(input, args) {
3864
4008
  }
3865
4009
  return results;
3866
4010
  }
4011
+ // @__NO_SIDE_EFFECTS__
3867
4012
  function makeWithFactoryInput(factory, input) {
3868
4013
  return input.map(function(x) {
3869
4014
  return factory(x);
@@ -3873,8 +4018,15 @@ function makeWithFactoryInput(factory, input) {
3873
4018
  * Wraps a factory so that no arguments are forwarded when it's called.
3874
4019
  * Useful for protecting a factory from accidentally receiving arguments.
3875
4020
  *
4021
+ * @dbxUtil
4022
+ * @dbxUtilCategory getter
4023
+ * @dbxUtilKind factory
4024
+ * @dbxUtilTags getter, factory, protect, wrap, no-args
4025
+ * @dbxUtilRelated as-getter, make-getter
4026
+ *
3876
4027
  * @param factory - The factory to wrap
3877
4028
  * @returns A new factory that calls the original with no arguments
4029
+ * @__NO_SIDE_EFFECTS__
3878
4030
  */ function protectedFactory(factory) {
3879
4031
  return function() {
3880
4032
  return factory();
@@ -3887,6 +4039,12 @@ function makeWithFactoryInput(factory, input) {
3887
4039
  * @param config - Configuration with optional `startAt` (default 0) and `increaseBy` (default 1)
3888
4040
  * @returns A factory function that returns the next number in the sequence on each call
3889
4041
  *
4042
+ * @dbxUtil
4043
+ * @dbxUtilCategory number
4044
+ * @dbxUtilKind factory
4045
+ * @dbxUtilTags number, factory, increment, sequence, counter
4046
+ * @dbxUtilRelated random-number-factory
4047
+ *
3890
4048
  * @example
3891
4049
  * ```ts
3892
4050
  * const factory = incrementingNumberFactory({ startAt: 10, increaseBy: 5 });
@@ -3894,6 +4052,7 @@ function makeWithFactoryInput(factory, input) {
3894
4052
  * factory(); // 15
3895
4053
  * factory(); // 20
3896
4054
  * ```
4055
+ * @__NO_SIDE_EFFECTS__
3897
4056
  */ function incrementingNumberFactory() {
3898
4057
  var config = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
3899
4058
  var initial = config.startAt, inputIncreaseBy = config.increaseBy;
@@ -3927,6 +4086,7 @@ function makeWithFactoryInput(factory, input) {
3927
4086
  * @param bounds - The min/max bounds to test against
3928
4087
  * @returns A function that returns `true` if the input number is within bounds
3929
4088
  * @throws Error if the bounds are invalid (min > max)
4089
+ * @__NO_SIDE_EFFECTS__
3930
4090
  */ function isInNumberBoundFunction(bounds) {
3931
4091
  var min = bounds.min, max = bounds.max;
3932
4092
  if (!isValidNumberBound(bounds)) {
@@ -3949,6 +4109,7 @@ function makeWithFactoryInput(factory, input) {
3949
4109
  *
3950
4110
  * @param wrapNumberFunctionConfig - Configuration with min, max, and optional fence post behavior
3951
4111
  * @returns A function that wraps input numbers into the bounded range
4112
+ * @__NO_SIDE_EFFECTS__
3952
4113
  */ function wrapNumberFunction(wrapNumberFunctionConfig) {
3953
4114
  var min = wrapNumberFunctionConfig.min, max = wrapNumberFunctionConfig.max, _wrapNumberFunctionConfig_fencePosts = wrapNumberFunctionConfig.fencePosts, fencePosts = _wrapNumberFunctionConfig_fencePosts === void 0 ? false : _wrapNumberFunctionConfig_fencePosts;
3954
4115
  var distance = max - min;
@@ -3980,6 +4141,7 @@ function makeWithFactoryInput(factory, input) {
3980
4141
  *
3981
4142
  * @param boundNumberFunctionConfig - Configuration with min, max, and optional wrap behavior
3982
4143
  * @returns A function that bounds input numbers into the configured range
4144
+ * @__NO_SIDE_EFFECTS__
3983
4145
  */ function boundNumberFunction(boundNumberFunctionConfig) {
3984
4146
  var min = boundNumberFunctionConfig.min, max = boundNumberFunctionConfig.max, wrap = boundNumberFunctionConfig.wrap;
3985
4147
  return wrap ? wrapNumberFunction(boundNumberFunctionConfig) : function(input) {
@@ -4203,6 +4365,7 @@ function _type_of$h(obj) {
4203
4365
  *
4204
4366
  * @param type - The rounding strategy: 'floor', 'ceil', 'round', or 'none'
4205
4367
  * @returns The corresponding Math function, or an identity function for 'none'
4368
+ * @__NO_SIDE_EFFECTS__
4206
4369
  */ function roundingFunction(type) {
4207
4370
  var fn;
4208
4371
  switch(type){
@@ -4259,9 +4422,16 @@ function _type_of$h(obj) {
4259
4422
  /**
4260
4423
  * Creates a {@link CutValueToPrecisionFunction} that truncates values to the configured precision.
4261
4424
  *
4425
+ * @dbxUtil
4426
+ * @dbxUtilCategory number
4427
+ * @dbxUtilKind factory
4428
+ * @dbxUtilTags number, precision, cut, truncate, factory, round
4429
+ * @dbxUtilRelated round-to-precision-function, cut-to-precision
4430
+ *
4262
4431
  * @param precision - Number of decimal places to retain
4263
4432
  * @param roundingType - Rounding strategy; defaults to 'cut' (truncation)
4264
4433
  * @returns A function that accepts a number or string and returns the truncated number
4434
+ * @__NO_SIDE_EFFECTS__
4265
4435
  */ function cutValueToPrecisionFunction(precision) {
4266
4436
  var roundingType = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 'cut';
4267
4437
  var roundFn = roundToPrecisionFunction(precision, roundingType);
@@ -4274,9 +4444,16 @@ function _type_of$h(obj) {
4274
4444
  /**
4275
4445
  * Creates a function that rounds numbers to the specified precision using a configurable rounding strategy.
4276
4446
  *
4447
+ * @dbxUtil
4448
+ * @dbxUtilCategory number
4449
+ * @dbxUtilKind factory
4450
+ * @dbxUtilTags number, round, precision, factory, decimals
4451
+ * @dbxUtilRelated cut-value-to-precision-function, round-to-precision, cut-to-precision
4452
+ *
4277
4453
  * @param precision - Number of decimal places
4278
4454
  * @param roundFn - Rounding strategy; defaults to 'round'. Use 'cut' for truncation.
4279
4455
  * @returns A function that rounds numbers to the configured precision
4456
+ * @__NO_SIDE_EFFECTS__
4280
4457
  */ function roundToPrecisionFunction(precision) {
4281
4458
  var roundFn = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 'round';
4282
4459
  var result;
@@ -4329,9 +4506,16 @@ function _type_of$h(obj) {
4329
4506
  *
4330
4507
  * Accepts either a step number (uses 'ceil' rounding) or a full config with step, rounding type, and origin.
4331
4508
  *
4509
+ * @dbxUtil
4510
+ * @dbxUtilCategory number
4511
+ * @dbxUtilKind factory
4512
+ * @dbxUtilTags number, round, step, factory, multiple, origin
4513
+ * @dbxUtilRelated round-number-up-to-step, round-to-precision-function
4514
+ *
4332
4515
  * @param input - Step size or full configuration
4333
4516
  * @returns A function that rounds input numbers to the nearest step
4334
4517
  * @throws Error if step is 0 or undefined
4518
+ * @__NO_SIDE_EFFECTS__
4335
4519
  */ function roundNumberToStepFunction(input) {
4336
4520
  var config = typeof input === 'number' ? {
4337
4521
  step: input,
@@ -4383,8 +4567,15 @@ var DOLLAR_AMOUNT_STRING_REGEX = /^\$?(\d+)\.?(\d\d)$/;
4383
4567
  /**
4384
4568
  * Creates a function that formats dollar amounts as strings with a unit prefix (e.g., "$12.50").
4385
4569
  *
4570
+ * @dbxUtil
4571
+ * @dbxUtilCategory number
4572
+ * @dbxUtilKind factory
4573
+ * @dbxUtilTags number, dollar, currency, format, factory, unit
4574
+ * @dbxUtilRelated dollar-amount-string
4575
+ *
4386
4576
  * @param unit - The unit prefix to prepend; defaults to "$"
4387
4577
  * @returns A function that formats dollar amounts with the configured unit
4578
+ * @__NO_SIDE_EFFECTS__
4388
4579
  */ function dollarAmountStringWithUnitFunction() {
4389
4580
  var unit = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : '$';
4390
4581
  var fn = function fn(amount) {
@@ -4408,6 +4599,7 @@ var DOLLAR_AMOUNT_STRING_REGEX = /^\$?(\d+)\.?(\d\d)$/;
4408
4599
  * @param maxOrArgs - Maximum value (exclusive) or full configuration object
4409
4600
  * @param roundingInput - Optional rounding mode override
4410
4601
  * @returns A factory function that produces random numbers within the range
4602
+ * @__NO_SIDE_EFFECTS__
4411
4603
  */ function randomNumberFactory(maxOrArgs, roundingInput) {
4412
4604
  var config = typeof maxOrArgs === 'number' ? {
4413
4605
  min: 0,
@@ -4453,8 +4645,15 @@ var DOLLAR_AMOUNT_STRING_REGEX = /^\$?(\d+)\.?(\d\d)$/;
4453
4645
  /**
4454
4646
  * Creates a {@link SortCompareFunction} that sorts values in ascending order by a numeric property.
4455
4647
  *
4648
+ * @dbxUtil
4649
+ * @dbxUtilCategory number
4650
+ * @dbxUtilKind factory
4651
+ * @dbxUtilTags number, sort, compare, ascending, factory
4652
+ * @dbxUtilRelated sort-numbers-ascending-function, sort-by-string-function
4653
+ *
4456
4654
  * @param readNumberFn - Function that extracts the numeric value from each item
4457
4655
  * @returns A sort comparator function for ascending numeric order
4656
+ * @__NO_SIDE_EFFECTS__
4458
4657
  */ function sortByNumberFunction(readNumberFn) {
4459
4658
  return function(a, b) {
4460
4659
  var as = readNumberFn(a);
@@ -4485,8 +4684,15 @@ var DOLLAR_AMOUNT_STRING_REGEX = /^\$?(\d+)\.?(\d\d)$/;
4485
4684
  *
4486
4685
  * Chains the configured operations in order: custom transform, step rounding, precision cut, then bounds clamping.
4487
4686
  *
4687
+ * @dbxUtil
4688
+ * @dbxUtilCategory number
4689
+ * @dbxUtilKind factory
4690
+ * @dbxUtilTags number, transform, factory, round, precision, bounds, chain
4691
+ * @dbxUtilRelated transform-string-function, round-number-to-step-function
4692
+ *
4488
4693
  * @param config - Configuration with optional transform, roundToStep, precision, and bounds
4489
4694
  * @returns A single function that applies all configured transformations in sequence
4695
+ * @__NO_SIDE_EFFECTS__
4490
4696
  */ function transformNumberFunction(config) {
4491
4697
  var transformFunctions = [
4492
4698
  config.transform
@@ -4714,12 +4920,19 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
4714
4920
  *
4715
4921
  * @returns a compare function suitable for Array.sort()
4716
4922
  *
4923
+ * @dbxUtil
4924
+ * @dbxUtilCategory value
4925
+ * @dbxUtilKind factory
4926
+ * @dbxUtilTags value, index, sort, ascending, factory, ref
4927
+ * @dbxUtilRelated sort-by-index-ascending-compare-function, sort-by-index-range-ascending-compare-function
4928
+ *
4717
4929
  * @example
4718
4930
  * ```ts
4719
4931
  * const items = [{ i: 4 }, { i: 0 }, { i: 2 }];
4720
4932
  * items.sort(sortAscendingIndexNumberRefFunction());
4721
4933
  * // items[0].i === 0
4722
4934
  * ```
4935
+ * @__NO_SIDE_EFFECTS__
4723
4936
  */ function sortAscendingIndexNumberRefFunction() {
4724
4937
  return function(a, b) {
4725
4938
  return a.i - b.i;
@@ -4741,6 +4954,12 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
4741
4954
  * @param readIndex - reads an item's index, returning null/undefined for unindexed items
4742
4955
  * @returns a function that groups items by their index state
4743
4956
  *
4957
+ * @dbxUtil
4958
+ * @dbxUtilCategory value
4959
+ * @dbxUtilKind factory
4960
+ * @dbxUtilTags value, index, delta, group, factory, classify
4961
+ * @dbxUtilRelated separate-values, compute-next-free-index-function
4962
+ *
4744
4963
  * @example
4745
4964
  * ```ts
4746
4965
  * const groupFn = indexDeltaGroupFunction<{ x: string; i?: number }>((x) => x.i);
@@ -4749,6 +4968,7 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
4749
4968
  * // result.newItems.length === 1 (item without an index)
4750
4969
  * // result.currentItems.length === 2 (items with indexes)
4751
4970
  * ```
4971
+ * @__NO_SIDE_EFFECTS__
4752
4972
  */ function indexDeltaGroupFunction(readIndex) {
4753
4973
  return function(inputItems, previousItems) {
4754
4974
  var _separateValues = separateValues(inputItems, function(x) {
@@ -4786,8 +5006,15 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
4786
5006
  /**
4787
5007
  * Creates a SortCompareFunction that sorts items in ascending order using a custom index reader.
4788
5008
  *
5009
+ * @dbxUtil
5010
+ * @dbxUtilCategory value
5011
+ * @dbxUtilKind factory
5012
+ * @dbxUtilTags value, index, sort, ascending, factory, compare
5013
+ * @dbxUtilRelated sort-ascending-index-number-ref-function, sort-by-index-range-ascending-compare-function
5014
+ *
4789
5015
  * @param readIndex - extracts the index number from each item
4790
5016
  * @returns a compare function suitable for Array.sort()
5017
+ * @__NO_SIDE_EFFECTS__
4791
5018
  */ function sortByIndexAscendingCompareFunction(readIndex) {
4792
5019
  return function(a, b) {
4793
5020
  return readIndex(a) - readIndex(b);
@@ -4801,12 +5028,19 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
4801
5028
  * @param nextIndex - optional custom function to compute the next index from the max item; defaults to max + 1
4802
5029
  * @returns a function that computes the next free index for a given array
4803
5030
  *
5031
+ * @dbxUtil
5032
+ * @dbxUtilCategory value
5033
+ * @dbxUtilKind factory
5034
+ * @dbxUtilTags value, index, free, next, factory, max
5035
+ * @dbxUtilRelated compute-next-free-index-on-sorted-values-function, min-and-max-index-function
5036
+ *
4804
5037
  * @example
4805
5038
  * ```ts
4806
5039
  * const fn = computeNextFreeIndexFunction<IndexRef>((x) => x.i);
4807
5040
  * const nextIndex = fn([{ i: 0 }, { i: 1 }, { i: 5 }]);
4808
5041
  * // nextIndex === 6
4809
5042
  * ```
5043
+ * @__NO_SIDE_EFFECTS__
4810
5044
  */ function computeNextFreeIndexFunction(readIndex, nextIndex) {
4811
5045
  var findMinMax = minAndMaxIndexItemsFunction(readIndex);
4812
5046
  var readNextIndex = nextIndex !== null && nextIndex !== void 0 ? nextIndex : function(x) {
@@ -4822,9 +5056,16 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
4822
5056
  * Creates a {@link ComputeNextFreeIndexFunction} optimized for pre-sorted input arrays.
4823
5057
  * Instead of scanning all items for the maximum, it reads only the last element.
4824
5058
  *
5059
+ * @dbxUtil
5060
+ * @dbxUtilCategory value
5061
+ * @dbxUtilKind factory
5062
+ * @dbxUtilTags value, index, free, next, sorted, factory, optimized
5063
+ * @dbxUtilRelated compute-next-free-index-function
5064
+ *
4825
5065
  * @param readIndex - extracts the index number from each item
4826
5066
  * @param nextIndex - optional custom function to compute the next index from the last item; defaults to last + 1
4827
5067
  * @returns a function that computes the next free index from sorted arrays
5068
+ * @__NO_SIDE_EFFECTS__
4828
5069
  */ function computeNextFreeIndexOnSortedValuesFunction(readIndex, nextIndex) {
4829
5070
  var readNextIndex = nextIndex !== null && nextIndex !== void 0 ? nextIndex : function(x) {
4830
5071
  return readIndex(x) + 1;
@@ -4840,12 +5081,19 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
4840
5081
  * @param readIndex - extracts the index number from each item
4841
5082
  * @returns a function returning the min/max indexes, or null for empty input
4842
5083
  *
5084
+ * @dbxUtil
5085
+ * @dbxUtilCategory value
5086
+ * @dbxUtilKind factory
5087
+ * @dbxUtilTags value, index, min, max, factory, range
5088
+ * @dbxUtilRelated min-and-max-index, min-and-max-index-items-function
5089
+ *
4843
5090
  * @example
4844
5091
  * ```ts
4845
5092
  * const fn = minAndMaxIndexFunction<IndexRef>((x) => x.i);
4846
5093
  * const result = fn([{ i: 3 }, { i: 0 }, { i: 5 }]);
4847
5094
  * // result?.min === 0, result?.max === 5
4848
5095
  * ```
5096
+ * @__NO_SIDE_EFFECTS__
4849
5097
  */ function minAndMaxIndexFunction(readIndex) {
4850
5098
  var minAndMaxItems = minAndMaxIndexItemsFunction(readIndex);
4851
5099
  var fn = function fn(values) {
@@ -4871,8 +5119,15 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
4871
5119
  * Creates a {@link MinAndMaxIndexItemsFunction} that returns the actual items (not just index numbers)
4872
5120
  * with the minimum and maximum index values.
4873
5121
  *
5122
+ * @dbxUtil
5123
+ * @dbxUtilCategory value
5124
+ * @dbxUtilKind factory
5125
+ * @dbxUtilTags value, index, min, max, items, factory
5126
+ * @dbxUtilRelated min-and-max-index-function, min-and-max-function
5127
+ *
4874
5128
  * @param readIndex - extracts the index number from each item
4875
5129
  * @returns a function returning the min/max items, or null for empty input
5130
+ * @__NO_SIDE_EFFECTS__
4876
5131
  */ function minAndMaxIndexItemsFunction(readIndex) {
4877
5132
  var fn = minAndMaxFunction(readIndex);
4878
5133
  fn._readIndex = readIndex;
@@ -4927,6 +5182,14 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
4927
5182
  * fn({ i: 6 }); // returns { i: 5 }
4928
5183
  * fn({ i: 11 }); // returns { i: 10 }
4929
5184
  * ```
5185
+ *
5186
+ * @dbxUtil
5187
+ * @dbxUtilCategory value
5188
+ * @dbxUtilKind factory
5189
+ * @dbxUtilTags value, index, match, find, factory, lookup
5190
+ * @dbxUtilRelated find-best-index-match, safe-find-best-index-match
5191
+ *
5192
+ * @__NO_SIDE_EFFECTS__
4930
5193
  */ function findBestIndexMatchFunction(items) {
4931
5194
  // reverse the order so we can return the first item that is less than or equal to the input i
4932
5195
  var bestMatchArray = iterableToArray(items, false).sort(reverseCompareFn(sortAscendingIndexNumberRefFunction()));
@@ -4977,8 +5240,15 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
4977
5240
  * Creates a SortCompareFunction that sorts items by their IndexRange in ascending order.
4978
5241
  * Sorts by minIndex first, then by maxIndex for items with equal minIndex values.
4979
5242
  *
5243
+ * @dbxUtil
5244
+ * @dbxUtilCategory value
5245
+ * @dbxUtilKind factory
5246
+ * @dbxUtilTags value, index-range, sort, ascending, factory, compare
5247
+ * @dbxUtilRelated sort-by-index-ascending-compare-function, index-range-reader-pair-factory
5248
+ *
4980
5249
  * @param readIndexRange - extracts the IndexRange from each item
4981
5250
  * @returns a compare function suitable for Array.sort()
5251
+ * @__NO_SIDE_EFFECTS__
4982
5252
  */ function sortByIndexRangeAscendingCompareFunction(readIndexRange) {
4983
5253
  return function(a, b) {
4984
5254
  var ra = readIndexRange(a);
@@ -4990,8 +5260,15 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
4990
5260
  /**
4991
5261
  * Creates a new {@link IndexRangeReaderPairFactory} that pairs each value with its computed IndexRange.
4992
5262
  *
5263
+ * @dbxUtil
5264
+ * @dbxUtilCategory value
5265
+ * @dbxUtilKind factory
5266
+ * @dbxUtilTags value, index-range, pair, factory, reader
5267
+ * @dbxUtilRelated sort-by-index-range-ascending-compare-function
5268
+ *
4993
5269
  * @param reader - reads the IndexRange from the input value
4994
5270
  * @returns a factory that creates IndexRangeReaderPair instances
5271
+ * @__NO_SIDE_EFFECTS__
4995
5272
  */ function indexRangeReaderPairFactory(reader) {
4996
5273
  return function(value) {
4997
5274
  var range = reader(value);
@@ -5016,8 +5293,15 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
5016
5293
  /**
5017
5294
  * Creates a {@link FitToIndexRangeFunction} that clamps index numbers to the given range boundaries.
5018
5295
  *
5296
+ * @dbxUtil
5297
+ * @dbxUtilCategory value
5298
+ * @dbxUtilKind factory
5299
+ * @dbxUtilTags value, index, clamp, range, factory, fit
5300
+ * @dbxUtilRelated wrap-index-range-function, bound-number-function
5301
+ *
5019
5302
  * @param input - the range to clamp to
5020
5303
  * @returns a function that clamps any index to the range
5304
+ * @__NO_SIDE_EFFECTS__
5021
5305
  */ function fitToIndexRangeFunction(input) {
5022
5306
  var min = input.minIndex, maxIndex = input.maxIndex;
5023
5307
  var max = maxIndex - 1;
@@ -5035,12 +5319,19 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
5035
5319
  * @param fencePosts - whether to use fencepost semantics (maxIndex is exclusive); defaults to true
5036
5320
  * @returns a function that wraps any index into the range
5037
5321
  *
5322
+ * @dbxUtil
5323
+ * @dbxUtilCategory value
5324
+ * @dbxUtilKind factory
5325
+ * @dbxUtilTags value, index, wrap, range, factory, modular
5326
+ * @dbxUtilRelated fit-to-index-range-function, wrap-number-function
5327
+ *
5038
5328
  * @example
5039
5329
  * ```ts
5040
5330
  * const wrap = wrapIndexRangeFunction({ minIndex: 0, maxIndex: 6 });
5041
5331
  * wrap(6); // 0 (wraps from positive side)
5042
5332
  * wrap(-1); // 5 (wraps from negative side)
5043
5333
  * ```
5334
+ * @__NO_SIDE_EFFECTS__
5044
5335
  */ function wrapIndexRangeFunction(input) {
5045
5336
  var fencePosts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
5046
5337
  var min = input.minIndex, maxIndex = input.maxIndex;
@@ -5051,6 +5342,7 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
5051
5342
  fencePosts: fencePosts
5052
5343
  });
5053
5344
  }
5345
+ // @__NO_SIDE_EFFECTS__
5054
5346
  function indexRangeCheckReaderFunction(input) {
5055
5347
  var read = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : function(x) {
5056
5348
  return x.i;
@@ -5088,8 +5380,15 @@ function indexRangeCheckFunctionConfigToIndexRange(param) {
5088
5380
  * Creates an {@link IndexRangeCheckFunction} that tests whether an index number falls within the configured range.
5089
5381
  * The min is inclusive and the max is exclusive by default unless `inclusiveMaxIndex` is set.
5090
5382
  *
5383
+ * @dbxUtil
5384
+ * @dbxUtilCategory value
5385
+ * @dbxUtilKind factory
5386
+ * @dbxUtilTags value, index, range, check, factory, predicate
5387
+ * @dbxUtilRelated index-range-check-reader-function, is-index-number-in-index-range-function
5388
+ *
5091
5389
  * @param input - the range or range config to check against
5092
5390
  * @returns a predicate function for index numbers
5391
+ * @__NO_SIDE_EFFECTS__
5093
5392
  */ function indexRangeCheckFunction(input) {
5094
5393
  var _indexRangeCheckFunctionConfigToIndexRange = indexRangeCheckFunctionConfigToIndexRange(asIndexRangeCheckFunctionConfig(input)), minIndex = _indexRangeCheckFunctionConfigToIndexRange.minIndex, maxIndex = _indexRangeCheckFunctionConfigToIndexRange.maxIndex;
5095
5394
  return function(i) {
@@ -5113,8 +5412,15 @@ function indexRangeCheckFunctionConfigToIndexRange(param) {
5113
5412
  /**
5114
5413
  * Creates an {@link IsIndexNumberInIndexRangeFunction} bound to the given range configuration.
5115
5414
  *
5415
+ * @dbxUtil
5416
+ * @dbxUtilCategory value
5417
+ * @dbxUtilKind factory
5418
+ * @dbxUtilTags value, index, range, check, factory, predicate
5419
+ * @dbxUtilRelated is-index-number-in-index-range, index-range-check-function
5420
+ *
5116
5421
  * @param input - the range or range config to bind
5117
5422
  * @returns a predicate that tests index numbers against the bound range
5423
+ * @__NO_SIDE_EFFECTS__
5118
5424
  */ function isIndexNumberInIndexRangeFunction(input) {
5119
5425
  var _indexRangeCheckFunctionConfigToIndexRange = indexRangeCheckFunctionConfigToIndexRange(asIndexRangeCheckFunctionConfig(input)), minIndex = _indexRangeCheckFunctionConfigToIndexRange.minIndex, maxIndex = _indexRangeCheckFunctionConfigToIndexRange.maxIndex;
5120
5426
  return function(index) {
@@ -5133,8 +5439,15 @@ function indexRangeCheckFunctionConfigToIndexRange(param) {
5133
5439
  /**
5134
5440
  * Creates an {@link IsIndexRangeInIndexRangeFunction} bound to the given range configuration.
5135
5441
  *
5442
+ * @dbxUtil
5443
+ * @dbxUtilCategory value
5444
+ * @dbxUtilKind factory
5445
+ * @dbxUtilTags value, index-range, contains, decision, factory, predicate
5446
+ * @dbxUtilRelated is-index-range-in-index-range, index-range-overlaps-index-range-function
5447
+ *
5136
5448
  * @param input - the bounding range or range config to bind
5137
5449
  * @returns a predicate that tests whether index ranges are fully contained
5450
+ * @__NO_SIDE_EFFECTS__
5138
5451
  */ function isIndexRangeInIndexRangeFunction(input) {
5139
5452
  var _indexRangeCheckFunctionConfigToIndexRange = indexRangeCheckFunctionConfigToIndexRange(asIndexRangeCheckFunctionConfig(input)), minIndex = _indexRangeCheckFunctionConfigToIndexRange.minIndex, maxIndex = _indexRangeCheckFunctionConfigToIndexRange.maxIndex;
5140
5453
  return function(input) {
@@ -5153,8 +5466,15 @@ function indexRangeCheckFunctionConfigToIndexRange(param) {
5153
5466
  /**
5154
5467
  * Creates an {@link IndexRangeOverlapsIndexRangeFunction} bound to the given range configuration.
5155
5468
  *
5469
+ * @dbxUtil
5470
+ * @dbxUtilCategory value
5471
+ * @dbxUtilKind factory
5472
+ * @dbxUtilTags value, index-range, overlap, decision, factory, predicate
5473
+ * @dbxUtilRelated is-index-range-in-index-range-function, index-range-check-function
5474
+ *
5156
5475
  * @param input - the reference range or range config to bind
5157
5476
  * @returns a predicate that tests for overlap with the bound range
5477
+ * @__NO_SIDE_EFFECTS__
5158
5478
  */ function indexRangeOverlapsIndexRangeFunction(input) {
5159
5479
  var _indexRangeCheckFunctionConfigToIndexRange = indexRangeCheckFunctionConfigToIndexRange(asIndexRangeCheckFunctionConfig(input)), minIndex = _indexRangeCheckFunctionConfigToIndexRange.minIndex, maxIndex = _indexRangeCheckFunctionConfigToIndexRange.maxIndex;
5160
5480
  return function(input) {
@@ -5173,8 +5493,15 @@ function indexRangeCheckFunctionConfigToIndexRange(param) {
5173
5493
  * Creates a {@link StepsFromIndexFunction} that computes the next index after stepping from a start position.
5174
5494
  * Returns undefined when the result falls outside the range (unless wrapping or fitting is enabled).
5175
5495
  *
5496
+ * @dbxUtil
5497
+ * @dbxUtilCategory value
5498
+ * @dbxUtilKind factory
5499
+ * @dbxUtilTags value, index, step, range, factory, wrap, navigation
5500
+ * @dbxUtilRelated wrap-index-range-function, fit-to-index-range-function
5501
+ *
5176
5502
  * @param config - stepping behavior configuration
5177
5503
  * @returns a function that computes the stepped index
5504
+ * @__NO_SIDE_EFFECTS__
5178
5505
  */ function stepsFromIndexFunction(config) {
5179
5506
  var range = config.range, _config_fitToRange = config.fitToRange, fitToRange = _config_fitToRange === void 0 ? false : _config_fitToRange, _config_fencePosts = config.fencePosts, fencePosts = _config_fencePosts === void 0 ? true : _config_fencePosts, tmp = config.wrapAround, defaultWrapAround = tmp === void 0 ? false : tmp, tmp1 = config.steps, defaultStep = tmp1 === void 0 ? 1 : tmp1;
5180
5507
  var wrapNumber = wrapIndexRangeFunction(range, fencePosts);
@@ -5314,8 +5641,15 @@ function stepsFromIndex(range, startIndex) {
5314
5641
  /**
5315
5642
  * Creates a {@link SliceIndexRangeFunction} that slices the specified index range from any input array.
5316
5643
  *
5644
+ * @dbxUtil
5645
+ * @dbxUtilCategory array
5646
+ * @dbxUtilKind factory
5647
+ * @dbxUtilTags array, slice, index, range, factory
5648
+ * @dbxUtilRelated index-range, find-to-index-set
5649
+ *
5317
5650
  * @param inputRange - the index range configuration to use for slicing
5318
5651
  * @returns a function that slices the configured range from an input array
5652
+ * @__NO_SIDE_EFFECTS__
5319
5653
  */ function sliceIndexRangeFunction(inputRange) {
5320
5654
  var range = indexRange(inputRange);
5321
5655
  return function(input) {
@@ -5327,15 +5661,39 @@ function stepsFromIndex(range, startIndex) {
5327
5661
  * Filters the input values by distance while maintaining the original order of elements.
5328
5662
  * Values that are too close to each other (based on the minDistance parameter) will be filtered out.
5329
5663
  *
5664
+ * Items whose extracted value is null are excluded from the result.
5665
+ *
5330
5666
  * If order is irrelevant, use filterValuesByDistanceNoOrder() instead.
5331
5667
  *
5332
- * @param _input - The array of values to filter
5333
- * @param _minDistance - The minimum distance required between values
5334
- * @param _getValue - Function that extracts a numeric value from each item for distance comparison
5335
- * @returns A filtered array with only values that are at least minDistance apart
5336
- */ function filterValuesByDistance(_input, _minDistance, _getValue) {
5337
- // TODO(FUTURE): Implement if needed.
5338
- throw new Error('Incomplete implementation!');
5668
+ * @param input - The array of values to filter
5669
+ * @param minDistance - The minimum distance required between values (inclusive)
5670
+ * @param getValue - Function that extracts a numeric value from each item for distance comparison
5671
+ * @returns A filtered array with only values that are at least minDistance apart, in their original input order
5672
+ */ function filterValuesByDistance(input, minDistance, getValue) {
5673
+ // Tag each non-null value with its original index so we can restore order after the distance filter.
5674
+ var tagged = [];
5675
+ for(var i = 0, n = input.length; i < n; i += 1){
5676
+ var item = input[i];
5677
+ var value = getValue(item);
5678
+ if (value != null) {
5679
+ tagged.push([
5680
+ {
5681
+ item: item,
5682
+ index: i
5683
+ },
5684
+ value
5685
+ ]);
5686
+ }
5687
+ }
5688
+ var kept = _filterValuesByDistance(tagged, minDistance, function(x) {
5689
+ return x[0];
5690
+ });
5691
+ kept.sort(function(a, b) {
5692
+ return a.index - b.index;
5693
+ });
5694
+ return kept.map(function(x) {
5695
+ return x.item;
5696
+ });
5339
5697
  }
5340
5698
  /**
5341
5699
  * Filters the input values by an arbitrary "distance"/difference from each other and returns the values sorted by their determined distance.
@@ -5399,14 +5757,17 @@ function stepsFromIndex(range, startIndex) {
5399
5757
  /**
5400
5758
  * Same as applyBestFit, but returns a new array, rather than modifying the existing array.
5401
5759
  *
5402
- * @param input - The array to filter for the best fit
5403
- * @param filter - Function that determines which items are candidates for the best fit
5404
- * @param compare - AscendingSortCompareFunction to compare two values to determine which is the best fit
5405
- * @param updateNonBestFit - Function that transforms non-best-fit items
5406
- * @returns A new array with only the best fit item and transformed non-best-fit items
5407
- */ // eslint-disable-next-line @typescript-eslint/max-params
5408
- function makeBestFit(input, filter, compare, updateNonBestFit) {
5409
- return applyBestFit(copyArray(input), filter, compare, updateNonBestFit);
5760
+ * @dbxUtil
5761
+ * @dbxUtilCategory array
5762
+ * @dbxUtilTags array, best-fit, filter, sort, immutable
5763
+ * @dbxUtilRelated apply-best-fit, find-best-index-set-pair
5764
+ *
5765
+ * @param input - The array to filter for the best fit.
5766
+ * @param config - The best-fit strategy ({@link BestFitConfig}).
5767
+ * @returns A new array with only the best fit item and transformed non-best-fit items.
5768
+ * @__NO_SIDE_EFFECTS__
5769
+ */ function makeBestFit(input, config) {
5770
+ return applyBestFit(copyArray(input), config);
5410
5771
  }
5411
5772
  /**
5412
5773
  * Used for updating an array so that a single element becomes the "best fit" in whatever context is provided.
@@ -5414,13 +5775,16 @@ function makeBestFit(input, filter, compare, updateNonBestFit) {
5414
5775
  * For instance, if two items are selected but only one can be selected by design, this function can be used to
5415
5776
  * pick the best fit, and update the input array.
5416
5777
  *
5417
- * @param input - The array to modify in-place
5418
- * @param filter - Function that determines which items are candidates for the best fit
5419
- * @param compare - AscendingSortCompareFunction to compare two values to determine which is the best fit
5420
- * @param updateNonBestFit - Function that transforms non-best-fit items
5421
- * @returns The modified input array with only the best fit item and transformed non-best-fit items
5422
- */ // eslint-disable-next-line @typescript-eslint/max-params
5423
- function applyBestFit(input, filter, compare, updateNonBestFit) {
5778
+ * @dbxUtil
5779
+ * @dbxUtilCategory array
5780
+ * @dbxUtilTags array, best-fit, filter, sort, mutable, in-place
5781
+ * @dbxUtilRelated make-best-fit, find-best-index-set-pair
5782
+ *
5783
+ * @param input - The array to modify in-place.
5784
+ * @param config - The best-fit strategy ({@link BestFitConfig}).
5785
+ * @returns The modified input array with only the best fit item and transformed non-best-fit items.
5786
+ */ function applyBestFit(input, config) {
5787
+ var filter = config.filter, compare = config.compare, updateNonBestFit = config.updateNonBestFit;
5424
5788
  var matchIndexSet = findToIndexSet(input, filter);
5425
5789
  if (matchIndexSet.length > 1) {
5426
5790
  var expansion = expandIndexSet(input, matchIndexSet);
@@ -5438,9 +5802,16 @@ function applyBestFit(input, filter, compare, updateNonBestFit) {
5438
5802
  * Creates a function that filters the input values and maps all matching values to a new value.
5439
5803
  * This is a higher-order function that combines filtering and mapping operations.
5440
5804
  *
5805
+ * @dbxUtil
5806
+ * @dbxUtilCategory array
5807
+ * @dbxUtilKind factory
5808
+ * @dbxUtilTags array, filter, map, transform, factory, iterable
5809
+ * @dbxUtilRelated array-decision-function
5810
+ *
5441
5811
  * @param decisionFunction - Function that determines which items to include in the result
5442
5812
  * @param mapFunction - Function that transforms each included item
5443
5813
  * @returns A function that takes an iterable of input values and returns an array of transformed values
5814
+ * @__NO_SIDE_EFFECTS__
5444
5815
  */ function filterAndMapFunction(decisionFunction, mapFunction) {
5445
5816
  return function(values) {
5446
5817
  var result = [];
@@ -5464,6 +5835,7 @@ function applyBestFit(input, filter, compare, updateNonBestFit) {
5464
5835
  *
5465
5836
  * @param factory - The factory function used to generate each item
5466
5837
  * @returns A function that takes a count parameter and returns an array of generated items
5838
+ * @__NO_SIDE_EFFECTS__
5467
5839
  */ function arrayFactory(factory) {
5468
5840
  return function(count) {
5469
5841
  return makeWithFactory(factory, count);
@@ -5480,6 +5852,7 @@ function applyBestFit(input, filter, compare, updateNonBestFit) {
5480
5852
  *
5481
5853
  * @param factory - The factory function used to transform each input value
5482
5854
  * @returns A function that takes an array of input values and returns an array of output values
5855
+ * @__NO_SIDE_EFFECTS__
5483
5856
  */ function arrayInputFactory(factory) {
5484
5857
  return function(input) {
5485
5858
  return makeWithFactoryInput(factory, input);
@@ -5564,8 +5937,15 @@ function getArrayNextIndex(array, index) {
5564
5937
  *
5565
5938
  * Each accessor maps an index to the value whose range contains that index, or undefined if no range matches.
5566
5939
  *
5940
+ * @dbxUtil
5941
+ * @dbxUtilCategory array
5942
+ * @dbxUtilKind factory
5943
+ * @dbxUtilTags array, indexed, range, accessor, factory, lookup
5944
+ * @dbxUtilRelated indexed-values-array-accessor-factory, ranged-indexed-values-array-accessor-info-factory
5945
+ *
5567
5946
  * @param readIndexRange - Function that reads the index range from each value.
5568
5947
  * @returns A factory that creates ranged accessors from arrays of values.
5948
+ * @__NO_SIDE_EFFECTS__
5569
5949
  */ function rangedIndexedValuesArrayAccessorFactory(readIndexRange) {
5570
5950
  var readInfoFactory = rangedIndexedValuesArrayAccessorInfoFactory({
5571
5951
  readIndexRange: readIndexRange
@@ -5584,9 +5964,16 @@ function getArrayNextIndex(array, index) {
5584
5964
  * Each accessor maps an index to the matching value, falling back to the previous value, then the next value.
5585
5965
  * This guarantees a value is always returned.
5586
5966
  *
5967
+ * @dbxUtil
5968
+ * @dbxUtilCategory array
5969
+ * @dbxUtilKind factory
5970
+ * @dbxUtilTags array, indexed, range, accessor, factory, fallback
5971
+ * @dbxUtilRelated ranged-indexed-values-array-accessor-factory, ranged-indexed-values-array-accessor-info-factory
5972
+ *
5587
5973
  * @param readIndexRange - Function that reads the index range from each value.
5588
5974
  * @returns A factory that creates indexed accessors from arrays of values.
5589
5975
  * @throws Error if the provided values array is empty.
5976
+ * @__NO_SIDE_EFFECTS__
5590
5977
  */ function indexedValuesArrayAccessorFactory(readIndexRange) {
5591
5978
  var readInfoFactory = rangedIndexedValuesArrayAccessorInfoFactory({
5592
5979
  readIndexRange: readIndexRange
@@ -5610,8 +5997,15 @@ function getArrayNextIndex(array, index) {
5610
5997
  * Each accessor sorts the values by their index ranges in ascending order, then for a given index
5611
5998
  * returns the matching value along with its previous and next neighbors.
5612
5999
  *
6000
+ * @dbxUtil
6001
+ * @dbxUtilCategory array
6002
+ * @dbxUtilKind factory
6003
+ * @dbxUtilTags array, indexed, range, accessor, info, factory, neighbors
6004
+ * @dbxUtilRelated ranged-indexed-values-array-accessor-factory, indexed-values-array-accessor-factory
6005
+ *
5613
6006
  * @param config - Configuration containing the index range reader function.
5614
6007
  * @returns A factory that creates ranged info accessors from arrays of values.
6008
+ * @__NO_SIDE_EFFECTS__
5615
6009
  */ function rangedIndexedValuesArrayAccessorInfoFactory(config) {
5616
6010
  var pairFactory = indexRangeReaderPairFactory(config.readIndexRange);
5617
6011
  return function(values) {
@@ -5677,8 +6071,15 @@ function limitArray(array, inputConfig) {
5677
6071
  /**
5678
6072
  * Creates a factory function that generates arrays of a random length populated with items from a make function.
5679
6073
  *
6074
+ * @dbxUtil
6075
+ * @dbxUtilCategory array
6076
+ * @dbxUtilKind factory
6077
+ * @dbxUtilTags array, random, factory, generate, make
6078
+ * @dbxUtilRelated array-factory, random-number-factory
6079
+ *
5680
6080
  * @param config - configuration containing the make function and random number source
5681
6081
  * @returns a factory that produces arrays of random length, optionally accepting a specific count override
6082
+ * @__NO_SIDE_EFFECTS__
5682
6083
  */ function randomArrayFactory(config) {
5683
6084
  var randomFn = typeof config.random === 'function' ? config.random : randomNumberFactory(config.random);
5684
6085
  var nextRandomCount = function nextRandomCount() {
@@ -5745,6 +6146,7 @@ function generateIfDoesNotExist(keys, existing, readKey, generateFn) {
5745
6146
  * @param values - array of values to randomly pick from
5746
6147
  * @returns a callable factory that returns a random value from the array on each invocation
5747
6148
  * @throws Error if the input array is empty
6149
+ * @__NO_SIDE_EFFECTS__
5748
6150
  */ function randomPickFactory(values) {
5749
6151
  if (values.length === 0) {
5750
6152
  throw new Error('randomPickFactory() cannot use an empty array.');
@@ -6054,6 +6456,7 @@ function caseInsensitiveString(input) {
6054
6456
  *
6055
6457
  * @param config - configuration controlling max length and end text behavior
6056
6458
  * @returns a reusable function that truncates input strings
6459
+ * @__NO_SIDE_EFFECTS__
6057
6460
  */ function cutStringFunction(config) {
6058
6461
  var inputMaxLength = config.maxLength, maxLengthIncludesEndText = config.maxLengthIncludesEndText, inputEndText = config.endText;
6059
6462
  var endText = inputEndText === undefined ? DEFAULT_CUT_STRING_END_TEXT : '';
@@ -6170,24 +6573,42 @@ function caseInsensitiveString(input) {
6170
6573
  /**
6171
6574
  * Trims leading and trailing whitespace from a string.
6172
6575
  *
6576
+ * @dbxUtil
6577
+ * @dbxUtilCategory string
6578
+ * @dbxUtilTags string, trim, whitespace, transform
6579
+ * @dbxUtilRelated transform-string-function
6580
+ *
6173
6581
  * @param input The string to trim.
6174
6582
  * @returns The trimmed string.
6583
+ * @__NO_SIDE_EFFECTS__
6175
6584
  */ function stringTrimFunction(input) {
6176
6585
  return input.trim();
6177
6586
  }
6178
6587
  /**
6179
6588
  * Converts a string to uppercase.
6180
6589
  *
6590
+ * @dbxUtil
6591
+ * @dbxUtilCategory string
6592
+ * @dbxUtilTags string, uppercase, case, transform
6593
+ * @dbxUtilRelated string-to-lowercase-function, transform-string-function
6594
+ *
6181
6595
  * @param input The string to convert.
6182
6596
  * @returns The uppercase string.
6597
+ * @__NO_SIDE_EFFECTS__
6183
6598
  */ function stringToUppercaseFunction(input) {
6184
6599
  return input.toUpperCase();
6185
6600
  }
6186
6601
  /**
6187
6602
  * Converts a string to lowercase.
6188
6603
  *
6604
+ * @dbxUtil
6605
+ * @dbxUtilCategory string
6606
+ * @dbxUtilTags string, lowercase, case, transform
6607
+ * @dbxUtilRelated string-to-uppercase-function, transform-string-function
6608
+ *
6189
6609
  * @param input The string to convert.
6190
6610
  * @returns The lowercase string.
6611
+ * @__NO_SIDE_EFFECTS__
6191
6612
  */ function stringToLowercaseFunction(input) {
6192
6613
  return input.toLowerCase();
6193
6614
  }
@@ -6214,9 +6635,16 @@ function caseInsensitiveString(input) {
6214
6635
  * 4. Lowercase conversion (if `config.toLowercase` is true and no `config.transform` or `config.toUppercase`).
6215
6636
  * If no transformations are specified, the identity function is returned.
6216
6637
  *
6638
+ * @dbxUtil
6639
+ * @dbxUtilCategory string
6640
+ * @dbxUtilKind factory
6641
+ * @dbxUtilTags string, transform, trim, case, slice, factory
6642
+ * @dbxUtilRelated string-trim-function, string-to-uppercase-function, string-to-lowercase-function, slice-string-function
6643
+ *
6217
6644
  * @template S The specific string type, defaults to `string`.
6218
6645
  * @param config The `TransformStringFunctionConfig` detailing the transformations.
6219
6646
  * @returns A `TransformStringFunction` that applies the configured transformations.
6647
+ * @__NO_SIDE_EFFECTS__
6220
6648
  */ function transformStringFunction(config) {
6221
6649
  var baseTransform;
6222
6650
  if (config.transform) {
@@ -6262,8 +6690,15 @@ function caseInsensitiveString(input) {
6262
6690
  /**
6263
6691
  * Creates a function that adds a configured prefix to the input string if it does not exist on that string.
6264
6692
  *
6693
+ * @dbxUtil
6694
+ * @dbxUtilCategory string
6695
+ * @dbxUtilKind factory
6696
+ * @dbxUtilTags string, prefix, add, factory
6697
+ * @dbxUtilRelated add-prefix, add-suffix-function
6698
+ *
6265
6699
  * @param prefix The prefix to add.
6266
6700
  * @returns A function that adds the prefix to a string.
6701
+ * @__NO_SIDE_EFFECTS__
6267
6702
  */ function addPrefixFunction(prefix) {
6268
6703
  return function(input) {
6269
6704
  return input.startsWith(prefix) ? input : prefix + input;
@@ -6281,8 +6716,15 @@ function caseInsensitiveString(input) {
6281
6716
  /**
6282
6717
  * Creates a function that adds a configured suffix to the input string if it does not exist on that string.
6283
6718
  *
6719
+ * @dbxUtil
6720
+ * @dbxUtilCategory string
6721
+ * @dbxUtilKind factory
6722
+ * @dbxUtilTags string, suffix, add, factory
6723
+ * @dbxUtilRelated add-suffix, add-prefix-function
6724
+ *
6284
6725
  * @param suffix The suffix to add.
6285
6726
  * @returns A function that adds the suffix to a string.
6727
+ * @__NO_SIDE_EFFECTS__
6286
6728
  */ function addSuffixFunction(suffix) {
6287
6729
  return function(input) {
6288
6730
  return input.endsWith(suffix) ? input : input + suffix;
@@ -6291,9 +6733,16 @@ function caseInsensitiveString(input) {
6291
6733
  /**
6292
6734
  * Pads the start of a string to a minimum length.
6293
6735
  *
6736
+ * @dbxUtil
6737
+ * @dbxUtilCategory string
6738
+ * @dbxUtilKind factory
6739
+ * @dbxUtilTags string, pad, start, factory, minimum-length
6740
+ * @dbxUtilRelated transform-string-function
6741
+ *
6294
6742
  * @param minLength The minimum length of the string.
6295
6743
  * @param padCharacter The character to use for padding.
6296
6744
  * @returns A function that pads the start of a string.
6745
+ * @__NO_SIDE_EFFECTS__
6297
6746
  */ function padStartFunction(minLength, padCharacter) {
6298
6747
  return function(input) {
6299
6748
  return input.padStart(minLength, padCharacter);
@@ -6302,8 +6751,15 @@ function caseInsensitiveString(input) {
6302
6751
  /**
6303
6752
  * Creates a function that slices and concats parts of a string based on the configuration.
6304
6753
  *
6754
+ * @dbxUtil
6755
+ * @dbxUtilCategory string
6756
+ * @dbxUtilKind factory
6757
+ * @dbxUtilTags string, slice, take, factory, from-start, from-end
6758
+ * @dbxUtilRelated transform-string-function
6759
+ *
6305
6760
  * @param config The configuration for the slice function.
6306
6761
  * @returns A SliceStringFunction.
6762
+ * @__NO_SIDE_EFFECTS__
6307
6763
  */ function sliceStringFunction(config) {
6308
6764
  var fromStart = config.fromStart, fromEnd = config.fromEnd;
6309
6765
  var takeFromStart = Math.abs(fromStart !== null && fromStart !== void 0 ? fromStart : 0);
@@ -6851,8 +7307,15 @@ function _object_spread$f(target) {
6851
7307
  * The merged function returns true only if all individual filters pass (AND logic).
6852
7308
  * Null/undefined filters are ignored.
6853
7309
  *
7310
+ * @dbxUtil
7311
+ * @dbxUtilCategory value
7312
+ * @dbxUtilKind factory
7313
+ * @dbxUtilTags filter, merge, compose, factory, and
7314
+ * @dbxUtilRelated invert-filter, invert-boolean-return-function
7315
+ *
6854
7316
  * @param inputFilters - The filter functions to merge
6855
7317
  * @returns A single FilterFunction that applies all filters
7318
+ * @__NO_SIDE_EFFECTS__
6856
7319
  */ function mergeFilterFunctions() {
6857
7320
  for(var _len = arguments.length, inputFilters = new Array(_len), _key = 0; _key < _len; _key++){
6858
7321
  inputFilters[_key] = arguments[_key];
@@ -6989,6 +7452,14 @@ function _unsupported_iterable_to_array$r(o, minLen) {
6989
7452
  * const tuples = getDefinedTuples({ a: 1, b: undefined, c: 'hello' });
6990
7453
  * // tuples: [['a', 1], ['c', 'hello']]
6991
7454
  * ```
7455
+ *
7456
+ * @dbxUtil
7457
+ * @dbxUtilCategory object
7458
+ * @dbxUtilKind factory
7459
+ * @dbxUtilTags object, tuples, filter, factory, key-value
7460
+ * @dbxUtilRelated filter-key-value-tuple-function, for-each-key-value
7461
+ *
7462
+ * @__NO_SIDE_EFFECTS__
6992
7463
  */ function filterKeyValueTuplesFunction(filter) {
6993
7464
  var result;
6994
7465
  if (filter != null) {
@@ -7073,6 +7544,14 @@ function _unsupported_iterable_to_array$r(o, minLen) {
7073
7544
  * isNotNull(['a', 1], 0); // true
7074
7545
  * isNotNull(['b', null], 0); // false
7075
7546
  * ```
7547
+ *
7548
+ * @dbxUtil
7549
+ * @dbxUtilCategory object
7550
+ * @dbxUtilKind factory
7551
+ * @dbxUtilTags object, tuple, filter, predicate, factory, key-value
7552
+ * @dbxUtilRelated filter-key-value-tuples-function
7553
+ *
7554
+ * @__NO_SIDE_EFFECTS__
7076
7555
  */ function filterKeyValueTupleFunction(inputFilter) {
7077
7556
  var filter = filterKeyValueTuplesInputToFilter(inputFilter);
7078
7557
  var tmp = filter.valueFilter, type = tmp === void 0 ? KeyValueTypleValueFilter.UNDEFINED : tmp, tmp1 = filter.invertFilter, inverseFilter = tmp1 === void 0 ? false : tmp1, keysFilter = filter.keysFilter;
@@ -7143,8 +7622,15 @@ function _unsupported_iterable_to_array$r(o, minLen) {
7143
7622
  /**
7144
7623
  * Creates a factory that returns a random element from the given array on each call.
7145
7624
  *
7625
+ * @dbxUtil
7626
+ * @dbxUtilCategory getter
7627
+ * @dbxUtilKind factory
7628
+ * @dbxUtilTags getter, factory, random, array, sample
7629
+ * @dbxUtilRelated random-number-factory, random-array-factory
7630
+ *
7146
7631
  * @param values - The array of values to randomly select from
7147
7632
  * @returns A factory that returns a random element from the array
7633
+ * @__NO_SIDE_EFFECTS__
7148
7634
  */ function randomFromArrayFactory(values) {
7149
7635
  var randomIndex = randomNumberFactory({
7150
7636
  min: 0,
@@ -7156,6 +7642,7 @@ function _unsupported_iterable_to_array$r(o, minLen) {
7156
7642
  };
7157
7643
  }
7158
7644
 
7645
+ // @__NO_SIDE_EFFECTS__
7159
7646
  function cachedGetter(factory) {
7160
7647
  var loaded;
7161
7648
  var init = function init(input) {
@@ -7196,8 +7683,15 @@ function cachedGetter(factory) {
7196
7683
  /**
7197
7684
  * Creates a factory that wraps Getters with a mapping function.
7198
7685
  *
7686
+ * @dbxUtil
7687
+ * @dbxUtilCategory getter
7688
+ * @dbxUtilKind factory
7689
+ * @dbxUtilTags getter, map, transform, factory
7690
+ * @dbxUtilRelated map-getter
7691
+ *
7199
7692
  * @param mapFn - The mapping function to apply
7200
7693
  * @returns A factory that transforms Getters of type I to Getters of type O
7694
+ * @__NO_SIDE_EFFECTS__
7201
7695
  */ function mapGetterFactory(mapFn) {
7202
7696
  return function(getter) {
7203
7697
  return function() {
@@ -7295,12 +7789,19 @@ function _unsupported_iterable_to_array$q(o, minLen) {
7295
7789
  * @param copy - When true (default), the returned function shallow-copies the input before filtering instead of mutating it.
7296
7790
  * @returns A function that returns the stripped object, or `undefined` when filtering removed every key.
7297
7791
  *
7792
+ * @dbxUtil
7793
+ * @dbxUtilCategory object
7794
+ * @dbxUtilKind factory
7795
+ * @dbxUtilTags object, strip, filter, factory, undefined, empty
7796
+ * @dbxUtilRelated strip-object, filter-from-pojo-function
7797
+ *
7298
7798
  * @example
7299
7799
  * ```ts
7300
7800
  * const stripUndef = stripObjectFunction(KeyValueTypleValueFilter.UNDEFINED);
7301
7801
  * stripUndef({ a: 1, b: undefined }); // { a: 1 }
7302
7802
  * stripUndef({ a: undefined }); // undefined
7303
7803
  * ```
7804
+ * @__NO_SIDE_EFFECTS__
7304
7805
  */ function stripObjectFunction(filter) {
7305
7806
  var copy = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
7306
7807
  var filterFn = filterFromPOJOFunction({
@@ -7389,6 +7890,14 @@ function _unsupported_iterable_to_array$q(o, minLen) {
7389
7890
  * const result = overrideFn({ color: 'blue', size: 5 });
7390
7891
  * // result is { color: 'red', size: 10 } (a new copy)
7391
7892
  * ```
7893
+ *
7894
+ * @dbxUtil
7895
+ * @dbxUtilCategory object
7896
+ * @dbxUtilKind factory
7897
+ * @dbxUtilTags object, override, factory, merge, template, cached
7898
+ * @dbxUtilRelated override-in-object, merge-objects-function, filter-from-pojo-function
7899
+ *
7900
+ * @__NO_SIDE_EFFECTS__
7392
7901
  */ function overrideInObjectFunctionFactory(param) {
7393
7902
  var filter = param.filter, copy = param.copy, _param_dynamic = param.dynamic, dynamic = _param_dynamic === void 0 ? false : _param_dynamic;
7394
7903
  var filterToRelevantValuesObject = filter != null ? filterFromPOJOFunction({
@@ -7458,6 +7967,14 @@ function _unsupported_iterable_to_array$q(o, minLen) {
7458
7967
  * // With null filter to also exclude null values:
7459
7968
  * const mergeNoNulls = mergeObjectsFunction(KeyValueTypleValueFilter.NULL);
7460
7969
  * ```
7970
+ *
7971
+ * @dbxUtil
7972
+ * @dbxUtilCategory object
7973
+ * @dbxUtilKind factory
7974
+ * @dbxUtilTags object, merge, factory, filter
7975
+ * @dbxUtilRelated merge-objects, override-in-object-function-factory
7976
+ *
7977
+ * @__NO_SIDE_EFFECTS__
7461
7978
  */ function mergeObjectsFunction(filter) {
7462
7979
  var overrideFn = overrideInObjectFunctionFactory({
7463
7980
  filter: filter,
@@ -7622,6 +8139,14 @@ function _unsupported_iterable_to_array$q(o, minLen) {
7622
8139
  * findDefinedKeys({ a: 1, b: undefined, c: 'hello' });
7623
8140
  * // ['a', 'c']
7624
8141
  * ```
8142
+ *
8143
+ * @dbxUtil
8144
+ * @dbxUtilCategory object
8145
+ * @dbxUtilKind factory
8146
+ * @dbxUtilTags object, pojo, keys, find, factory, filter
8147
+ * @dbxUtilRelated find-pojo-keys, count-pojo-keys-function, for-each-key-value-on-pojo-function
8148
+ *
8149
+ * @__NO_SIDE_EFFECTS__
7625
8150
  */ function findPOJOKeysFunction(filter) {
7626
8151
  var findEachMatchingKeyOnTarget = forEachKeyValueOnPOJOFunction({
7627
8152
  filter: filter,
@@ -7675,6 +8200,14 @@ function _unsupported_iterable_to_array$q(o, minLen) {
7675
8200
  * countDefined({ a: 1, b: undefined, c: 'test' });
7676
8201
  * // 2
7677
8202
  * ```
8203
+ *
8204
+ * @dbxUtil
8205
+ * @dbxUtilCategory object
8206
+ * @dbxUtilKind factory
8207
+ * @dbxUtilTags object, pojo, keys, count, factory, filter
8208
+ * @dbxUtilRelated count-pojo-keys, find-pojo-keys-function
8209
+ *
8210
+ * @__NO_SIDE_EFFECTS__
7678
8211
  */ function countPOJOKeysFunction() {
7679
8212
  var filter = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : KeyValueTypleValueFilter.UNDEFINED;
7680
8213
  var countEachMatchingKeyOnTarget = forEachKeyValueOnPOJOFunction({
@@ -7741,6 +8274,14 @@ function _unsupported_iterable_to_array$q(o, minLen) {
7741
8274
  * const result = filterNulls({ a: 1, b: null, c: undefined });
7742
8275
  * // result is { a: 1 }, original is unchanged
7743
8276
  * ```
8277
+ *
8278
+ * @dbxUtil
8279
+ * @dbxUtilCategory object
8280
+ * @dbxUtilKind factory
8281
+ * @dbxUtilTags object, pojo, filter, factory, remove, copy
8282
+ * @dbxUtilRelated filter-from-pojo, strip-object-function, assign-values-to-pojo-function
8283
+ *
8284
+ * @__NO_SIDE_EFFECTS__
7744
8285
  */ function filterFromPOJOFunction() {
7745
8286
  var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, _ref_copy = _ref.copy, copy = _ref_copy === void 0 ? false : _ref_copy, tmp = _ref.filter, inputFilter = tmp === void 0 ? {
7746
8287
  valueFilter: KeyValueTypleValueFilter.UNDEFINED
@@ -7818,6 +8359,14 @@ function _unsupported_iterable_to_array$q(o, minLen) {
7818
8359
  * // With NULL filter and no copy:
7819
8360
  * const assignNoNulls = assignValuesToPOJOFunction({ valueFilter: KeyValueTypleValueFilter.NULL, copy: false });
7820
8361
  * ```
8362
+ *
8363
+ * @dbxUtil
8364
+ * @dbxUtilCategory object
8365
+ * @dbxUtilKind factory
8366
+ * @dbxUtilTags object, pojo, assign, factory, filter, copy
8367
+ * @dbxUtilRelated assign-values-to-pojo, filter-from-pojo-function
8368
+ *
8369
+ * @__NO_SIDE_EFFECTS__
7821
8370
  */ function assignValuesToPOJOFunction() {
7822
8371
  var input = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : KeyValueTypleValueFilter.UNDEFINED;
7823
8372
  var _ref;
@@ -7883,6 +8432,14 @@ function _unsupported_iterable_to_array$q(o, minLen) {
7883
8432
  * getNonNullValues({ a: 1, b: null, c: undefined });
7884
8433
  * // [1]
7885
8434
  * ```
8435
+ *
8436
+ * @dbxUtil
8437
+ * @dbxUtilCategory object
8438
+ * @dbxUtilKind factory
8439
+ * @dbxUtilTags object, pojo, values, factory, filter, extract
8440
+ * @dbxUtilRelated values-from-pojo, find-pojo-keys-function
8441
+ *
8442
+ * @__NO_SIDE_EFFECTS__
7886
8443
  */ function valuesFromPOJOFunction() {
7887
8444
  var filter = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : KeyValueTypleValueFilter.UNDEFINED;
7888
8445
  var addValuesFromObjectToContext = forEachKeyValueOnPOJOFunction({
@@ -7922,6 +8479,14 @@ function _unsupported_iterable_to_array$q(o, minLen) {
7922
8479
  * omitAB({ a: 1, b: 2, c: 3 });
7923
8480
  * // { c: 3 }
7924
8481
  * ```
8482
+ *
8483
+ * @dbxUtil
8484
+ * @dbxUtilCategory object
8485
+ * @dbxUtilKind factory
8486
+ * @dbxUtilTags object, pojo, keys, filter, pick, omit, factory
8487
+ * @dbxUtilRelated filter-tuples-on-pojo-function, filter-from-pojo-function
8488
+ *
8489
+ * @__NO_SIDE_EFFECTS__
7925
8490
  */ function filterKeysOnPOJOFunction(keysToFilter) {
7926
8491
  var invertFilter = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
7927
8492
  var keysSet = new Set(keysToFilter);
@@ -7946,6 +8511,14 @@ function _unsupported_iterable_to_array$q(o, minLen) {
7946
8511
  * keepStrings({ a: 'hello', b: 42, c: 'world' });
7947
8512
  * // { a: 'hello', c: 'world' }
7948
8513
  * ```
8514
+ *
8515
+ * @dbxUtil
8516
+ * @dbxUtilCategory object
8517
+ * @dbxUtilKind factory
8518
+ * @dbxUtilTags object, pojo, tuples, filter, predicate, factory
8519
+ * @dbxUtilRelated filter-keys-on-pojo-function, filter-from-pojo-function
8520
+ *
8521
+ * @__NO_SIDE_EFFECTS__
7949
8522
  */ function filterTuplesOnPOJOFunction(filterTupleOnObject) {
7950
8523
  return function(input) {
7951
8524
  var result = {};
@@ -7980,6 +8553,14 @@ function _unsupported_iterable_to_array$q(o, minLen) {
7980
8553
  * logDefined({ a: 1, b: undefined, c: 'test' });
7981
8554
  * // logs: 'a' 1, 'c' 'test'
7982
8555
  * ```
8556
+ *
8557
+ * @dbxUtil
8558
+ * @dbxUtilCategory object
8559
+ * @dbxUtilKind factory
8560
+ * @dbxUtilTags object, pojo, for-each, iterate, factory, callback
8561
+ * @dbxUtilRelated find-pojo-keys-function, count-pojo-keys-function, filter-key-value-tuples-function
8562
+ *
8563
+ * @__NO_SIDE_EFFECTS__
7983
8564
  */ function forEachKeyValueOnPOJOFunction(param) {
7984
8565
  var forEach = param.forEach, filter = param.filter;
7985
8566
  var filterKeyValues = filterKeyValueTuplesFunction(filter);
@@ -8014,6 +8595,7 @@ function _unsupported_iterable_to_array$q(o, minLen) {
8014
8595
  return isAllowed;
8015
8596
  }
8016
8597
 
8598
+ // @__NO_SIDE_EFFECTS__
8017
8599
  function isInSetDecisionFunction(set, inputReadValue) {
8018
8600
  var readValue = inputReadValue !== null && inputReadValue !== void 0 ? inputReadValue : function(x) {
8019
8601
  return x;
@@ -8039,8 +8621,15 @@ function isInSetDecisionFunction(set, inputReadValue) {
8039
8621
  * Creates a {@link SetDeltaFunction} that computes the differences between two iterables,
8040
8622
  * identifying which items were added, removed, or unchanged.
8041
8623
  *
8624
+ * @dbxUtil
8625
+ * @dbxUtilCategory set
8626
+ * @dbxUtilKind factory
8627
+ * @dbxUtilTags set, delta, diff, factory, change, added, removed
8628
+ * @dbxUtilRelated index-delta-group-function, set-has-value-function
8629
+ *
8042
8630
  * @param config - Configuration with the key reader and optional modification detector.
8043
8631
  * @returns A function that compares two iterables and returns an array of change pairs.
8632
+ * @__NO_SIDE_EFFECTS__
8044
8633
  */ function setDeltaFunction(config) {
8045
8634
  var readKey = config.readKey, _config_isModifiedFunction = config.isModifiedFunction, isModifiedFunction = _config_isModifiedFunction === void 0 ? function() {
8046
8635
  return undefined;
@@ -8187,9 +8776,16 @@ var AUTH_ROLE_CLAIMS_DEFAULT_EMPTY_VALUE = null;
8187
8776
  * Each key in the config maps a claim key to role(s). Simple entries map a claim value to one or more roles,
8188
8777
  * while encode/decode entries allow custom bidirectional conversion logic.
8189
8778
  *
8779
+ * @dbxUtil
8780
+ * @dbxUtilCategory auth
8781
+ * @dbxUtilKind factory
8782
+ * @dbxUtilTags auth, role, claims, jwt, factory, bidirectional
8783
+ * @dbxUtilRelated auth-role
8784
+ *
8190
8785
  * @param config - Mapping of claim keys to their role configuration entries (or null to ignore)
8191
8786
  * @param defaults - Optional default values for claim presence and absence
8192
8787
  * @returns A service with `toClaims` and `toRoles` conversion functions
8788
+ * @__NO_SIDE_EFFECTS__
8193
8789
  */ function authRoleClaimsService(config) {
8194
8790
  var defaults = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
8195
8791
  var _ref, _ref1;
@@ -9897,9 +10493,16 @@ function _unsupported_iterable_to_array$o(o, minLen) {
9897
10493
  * Creates a function that replaces the last character of a string with the replacement string
9898
10494
  * if that character matches any of the specified values.
9899
10495
  *
10496
+ * @dbxUtil
10497
+ * @dbxUtilCategory string
10498
+ * @dbxUtilKind factory
10499
+ * @dbxUtilTags string, replace, last, character, conditional, factory
10500
+ * @dbxUtilRelated replace-last-character-if, replace-character-at-index-if
10501
+ *
9900
10502
  * @param replacement - string to substitute for the last character
9901
10503
  * @param is - character(s) that trigger the replacement
9902
10504
  * @returns a function that conditionally replaces the last character
10505
+ * @__NO_SIDE_EFFECTS__
9903
10506
  */ function replaceLastCharacterIfIsFunction(replacement, is) {
9904
10507
  var matches = new Set(is);
9905
10508
  return function(input) {
@@ -10069,8 +10672,15 @@ function _unsupported_iterable_to_array$n(o, minLen) {
10069
10672
  /**
10070
10673
  * Creates a function that replaces all occurrences of the configured target strings with a replacement value.
10071
10674
  *
10675
+ * @dbxUtil
10676
+ * @dbxUtilCategory string
10677
+ * @dbxUtilKind factory
10678
+ * @dbxUtilTags string, replace, regex, substitute, factory
10679
+ * @dbxUtilRelated find-strings-regex-string, escape-string-for-regex
10680
+ *
10072
10681
  * @param config - Configuration specifying strings to find and the replacement value.
10073
10682
  * @returns A function that performs the configured replacements on an input string.
10683
+ * @__NO_SIDE_EFFECTS__
10074
10684
  */ function replaceStringsFunction(config) {
10075
10685
  var replaceInput = config.replace, replaceWith = config.replaceWith;
10076
10686
  var replaceRegexString = findStringsRegexString(replaceInput);
@@ -10103,6 +10713,11 @@ function _unsupported_iterable_to_array$n(o, minLen) {
10103
10713
  /**
10104
10714
  * Creates an escaped regex string that matches any of the input values, joined with the OR (`|`) operator.
10105
10715
  *
10716
+ * @dbxUtil
10717
+ * @dbxUtilCategory string
10718
+ * @dbxUtilTags string, regex, escape, alternation, pattern
10719
+ * @dbxUtilRelated escape-string-for-regex, replace-strings-function
10720
+ *
10106
10721
  * @param find - One or more strings to create a matching regex pattern for.
10107
10722
  * @returns A regex-compatible string with special characters escaped and values joined by `|`.
10108
10723
  */ function findStringsRegexString(find) {
@@ -10113,8 +10728,15 @@ function _unsupported_iterable_to_array$n(o, minLen) {
10113
10728
  /**
10114
10729
  * Creates an {@link EscapeStringCharactersFunction} that escapes specific characters in a string using the configured escape strategy.
10115
10730
  *
10731
+ * @dbxUtil
10732
+ * @dbxUtilCategory string
10733
+ * @dbxUtilKind factory
10734
+ * @dbxUtilTags string, escape, characters, factory, transform
10735
+ * @dbxUtilRelated escape-string-for-regex, find-all-character-occurences-function
10736
+ *
10116
10737
  * @param config - Configuration specifying which characters to escape and how to escape them.
10117
10738
  * @returns A function that escapes the configured characters in any input string.
10739
+ * @__NO_SIDE_EFFECTS__
10118
10740
  */ function escapeStringCharactersFunction(config) {
10119
10741
  var inputEscapeTargets = config.escapeTargets, escapeCharacter = config.escapeCharacter;
10120
10742
  var escapeTargets = _instanceof$3(inputEscapeTargets, Set) ? inputEscapeTargets : new Set(inputEscapeTargets);
@@ -10162,6 +10784,12 @@ function _unsupported_iterable_to_array$n(o, minLen) {
10162
10784
  *
10163
10785
  * For instance, `'hello.world'` will be escaped to `'hello\\.world'`.
10164
10786
  *
10787
+ * @dbxUtil
10788
+ * @dbxUtilCategory string
10789
+ * @dbxUtilKind const
10790
+ * @dbxUtilTags string, regex, escape, sanitize, pattern
10791
+ * @dbxUtilRelated escape-string-characters-function, find-strings-regex-string
10792
+ *
10165
10793
  * @param input - The string to escape for regex use.
10166
10794
  * @returns The escaped string with all regex special characters prefixed with a backslash.
10167
10795
  */ var escapeStringForRegex = escapeStringCharactersFunction({
@@ -10173,8 +10801,15 @@ function _unsupported_iterable_to_array$n(o, minLen) {
10173
10801
  /**
10174
10802
  * Creates a {@link FindAllCharacterOccurencesFunction} that searches for characters from the given set.
10175
10803
  *
10804
+ * @dbxUtil
10805
+ * @dbxUtilCategory string
10806
+ * @dbxUtilKind factory
10807
+ * @dbxUtilTags string, search, characters, indices, factory, occurrences
10808
+ * @dbxUtilRelated find-all-character-occurences, find-first-character-occurence
10809
+ *
10176
10810
  * @param characterSet - The set of characters to search for.
10177
10811
  * @returns A function that finds all occurrences of the configured characters in an input string.
10812
+ * @__NO_SIDE_EFFECTS__
10178
10813
  */ function findAllCharacterOccurencesFunction(characterSet) {
10179
10814
  return function(input, maxToReturn) {
10180
10815
  var max = maxToReturn !== null && maxToReturn !== void 0 ? maxToReturn : Number.MAX_SAFE_INTEGER;
@@ -10211,6 +10846,11 @@ function _unsupported_iterable_to_array$n(o, minLen) {
10211
10846
  /**
10212
10847
  * Finds all indices of characters from the set that appear in the input string.
10213
10848
  *
10849
+ * @dbxUtil
10850
+ * @dbxUtilCategory string
10851
+ * @dbxUtilTags string, search, characters, indices, occurrences
10852
+ * @dbxUtilRelated find-all-character-occurences-function, find-first-character-occurence
10853
+ *
10214
10854
  * @param set - The set of characters to search for.
10215
10855
  * @param input - The string to search through.
10216
10856
  * @param max - Optional maximum number of occurrences to return.
@@ -10221,6 +10861,11 @@ function _unsupported_iterable_to_array$n(o, minLen) {
10221
10861
  /**
10222
10862
  * Finds the index of the first occurrence of any character from the set in the input string.
10223
10863
  *
10864
+ * @dbxUtil
10865
+ * @dbxUtilCategory string
10866
+ * @dbxUtilTags string, search, characters, first, index, occurrence
10867
+ * @dbxUtilRelated find-all-character-occurences, find-all-character-occurences-function
10868
+ *
10224
10869
  * @param set - The set of characters to search for.
10225
10870
  * @param input - The string to search through.
10226
10871
  * @returns The zero-based index of the first matching character, or `undefined` if none found.
@@ -10230,8 +10875,15 @@ function _unsupported_iterable_to_array$n(o, minLen) {
10230
10875
  /**
10231
10876
  * Creates a function that splits a string into two parts at the first occurrence of any character in the configured set.
10232
10877
  *
10878
+ * @dbxUtil
10879
+ * @dbxUtilCategory string
10880
+ * @dbxUtilKind factory
10881
+ * @dbxUtilTags string, split, characters, occurrence, factory
10882
+ * @dbxUtilRelated split-string-at-first-character-occurence, keep-characters-after-first-character-occurence-function
10883
+ *
10233
10884
  * @param splitAt - A single character or set of characters to split on.
10234
10885
  * @returns A function that splits input strings at the first matching character.
10886
+ * @__NO_SIDE_EFFECTS__
10235
10887
  */ function splitStringAtFirstCharacterOccurenceFunction(splitAt) {
10236
10888
  return function(input) {
10237
10889
  var splitSet = typeof splitAt === 'string' ? new Set([
@@ -10253,6 +10905,11 @@ function _unsupported_iterable_to_array$n(o, minLen) {
10253
10905
  /**
10254
10906
  * Splits the input string into two parts at the first occurrence of any character in the split set.
10255
10907
  *
10908
+ * @dbxUtil
10909
+ * @dbxUtilCategory string
10910
+ * @dbxUtilTags string, split, characters, occurrence, tuple
10911
+ * @dbxUtilRelated split-string-at-first-character-occurence-function, find-first-character-occurence
10912
+ *
10256
10913
  * @param input - The string to split.
10257
10914
  * @param splitAt - A single character or set of characters to split on.
10258
10915
  * @returns A tuple of [before, after], where `after` is `undefined` if no split character was found.
@@ -10262,8 +10919,15 @@ function _unsupported_iterable_to_array$n(o, minLen) {
10262
10919
  /**
10263
10920
  * Creates a function that returns only the characters after the first occurrence of any character in the configured set.
10264
10921
  *
10922
+ * @dbxUtil
10923
+ * @dbxUtilCategory string
10924
+ * @dbxUtilKind factory
10925
+ * @dbxUtilTags string, keep, after, occurrence, factory, suffix
10926
+ * @dbxUtilRelated keep-characters-after-first-character-occurence, remove-characters-after-first-character-occurence-function
10927
+ *
10265
10928
  * @param findCharacters - A single character or set of characters to search for.
10266
10929
  * @returns A function that extracts the substring after the first matching character, or an empty string if none found.
10930
+ * @__NO_SIDE_EFFECTS__
10267
10931
  */ function keepCharactersAfterFirstCharacterOccurenceFunction(findCharacters) {
10268
10932
  var splitStringAtFirstCharacterOccurence = splitStringAtFirstCharacterOccurenceFunction(findCharacters);
10269
10933
  return function(input) {
@@ -10274,6 +10938,11 @@ function _unsupported_iterable_to_array$n(o, minLen) {
10274
10938
  /**
10275
10939
  * Returns only the characters after the first occurrence of any character from the find set.
10276
10940
  *
10941
+ * @dbxUtil
10942
+ * @dbxUtilCategory string
10943
+ * @dbxUtilTags string, keep, after, occurrence, suffix
10944
+ * @dbxUtilRelated keep-characters-after-first-character-occurence-function, remove-characters-after-first-character-occurence
10945
+ *
10277
10946
  * @param input - The string to search through.
10278
10947
  * @param findCharacters - A single character or set of characters to search for.
10279
10948
  * @returns The substring after the first matching character, or an empty string if none found.
@@ -10283,8 +10952,15 @@ function _unsupported_iterable_to_array$n(o, minLen) {
10283
10952
  /**
10284
10953
  * Creates a function that removes all characters after (and including) the first occurrence of any character in the configured set.
10285
10954
  *
10955
+ * @dbxUtil
10956
+ * @dbxUtilCategory string
10957
+ * @dbxUtilKind factory
10958
+ * @dbxUtilTags string, remove, truncate, occurrence, factory, prefix
10959
+ * @dbxUtilRelated remove-characters-after-first-character-occurence, keep-characters-after-first-character-occurence-function
10960
+ *
10286
10961
  * @param findCharacters - A single character or set of characters to search for.
10287
10962
  * @returns A function that truncates input strings at the first matching character.
10963
+ * @__NO_SIDE_EFFECTS__
10288
10964
  */ function removeCharactersAfterFirstCharacterOccurenceFunction(findCharacters) {
10289
10965
  var splitStringAtFirstCharacterOccurence = splitStringAtFirstCharacterOccurenceFunction(findCharacters);
10290
10966
  return function(input) {
@@ -10294,6 +10970,11 @@ function _unsupported_iterable_to_array$n(o, minLen) {
10294
10970
  /**
10295
10971
  * Removes all characters after (and including) the first occurrence of any character from the find set.
10296
10972
  *
10973
+ * @dbxUtil
10974
+ * @dbxUtilCategory string
10975
+ * @dbxUtilTags string, remove, truncate, occurrence, prefix
10976
+ * @dbxUtilRelated remove-characters-after-first-character-occurence-function, keep-characters-after-first-character-occurence
10977
+ *
10297
10978
  * @param input - The string to truncate.
10298
10979
  * @param findCharacters - A single character or set of characters to search for.
10299
10980
  * @returns The substring before the first matching character, or the full string if none found.
@@ -10443,6 +11124,7 @@ function _unsupported_iterable_to_array$n(o, minLen) {
10443
11124
  * const alwaysTrue = decisionFunction(true);
10444
11125
  * alwaysTrue('anything'); // true
10445
11126
  * ```
11127
+ * @__NO_SIDE_EFFECTS__
10446
11128
  */ function decisionFunction(decision) {
10447
11129
  return function() {
10448
11130
  return decision;
@@ -10485,11 +11167,14 @@ function _unsupported_iterable_to_array$n(o, minLen) {
10485
11167
  * const fn2 = asDecisionFunction(undefined, false);
10486
11168
  * fn2('anything'); // false
10487
11169
  * ```
11170
+ *
11171
+ * @__NO_SIDE_EFFECTS__
10488
11172
  */ function asDecisionFunction(valueOrFunction) {
10489
11173
  var defaultIfUndefined = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
10490
11174
  var input = valueOrFunction !== null && valueOrFunction !== void 0 ? valueOrFunction : defaultIfUndefined;
10491
11175
  return typeof input === 'boolean' ? decisionFunction(input) : input;
10492
11176
  }
11177
+ // @__NO_SIDE_EFFECTS__
10493
11178
  function isEqualToValueDecisionFunction(equalityValue) {
10494
11179
  var equalityValueCheckFunction;
10495
11180
  if (typeof equalityValue === 'function') {
@@ -10749,6 +11434,7 @@ function _unsupported_iterable_to_array$m(o, minLen) {
10749
11434
  *
10750
11435
  * @param type - The start type to enforce.
10751
11436
  * @returns A function that transforms paths to the specified start type.
11437
+ * @__NO_SIDE_EFFECTS__
10752
11438
  */ function slashPathStartTypeFactory(type) {
10753
11439
  var fn;
10754
11440
  switch(type){
@@ -10795,6 +11481,7 @@ var ALL_SLASH_PATH_FILE_TYPE_SEPARATORS_REGEX = /\.+/g;
10795
11481
  *
10796
11482
  * @param config Configuration options for the factory.
10797
11483
  * @returns A SlashPathFolderFactory.
11484
+ * @__NO_SIDE_EFFECTS__
10798
11485
  */ function slashPathFolderFactory() {
10799
11486
  var config = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
10800
11487
  var startType = config.startType, validationConfig = config.validationConfig, inputInvalidPathValue = config.invalidPathValue, treatUntypedFilesAsFolders = config.treatUntypedFilesAsFolders;
@@ -10964,6 +11651,7 @@ var ALL_SLASH_PATH_FILE_TYPE_SEPARATORS_REGEX = /\.+/g;
10964
11651
  * @param input
10965
11652
  * @param replaceWith
10966
11653
  * @returns
11654
+ * @__NO_SIDE_EFFECTS__
10967
11655
  */ function replaceInvalidFilePathTypeSeparatorsInSlashPathFunction() {
10968
11656
  var replaceWith = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : DEFAULT_SLASH_PATH_ILLEGAL_CHARACTER_REPLACEMENT;
10969
11657
  return function(input) {
@@ -11009,6 +11697,7 @@ var ALL_SLASH_PATH_FILE_TYPE_SEPARATORS_REGEX = /\.+/g;
11009
11697
  *
11010
11698
  * @param config - Configuration for validation behavior.
11011
11699
  * @returns A function that validates and fixes a slash path.
11700
+ * @__NO_SIDE_EFFECTS__
11012
11701
  */ function slashPathValidationFactory(config) {
11013
11702
  var _ref = config !== null && config !== void 0 ? config : {}, _ref_illegalStrings = _ref.illegalStrings, illegalStrings = _ref_illegalStrings === void 0 ? DEFAULT_SLASH_PATH_ILLEGAL_CHARACTERS : _ref_illegalStrings, tmp = _ref.replaceIllegalCharacters, inputReplaceIllegalCharacters = tmp === void 0 ? true : tmp, tmp1 = _ref.replaceIllegalDots, inputReplaceIllegalDots = tmp1 === void 0 ? true : tmp1, throwError = _ref.throwError;
11014
11703
  var fns = [];
@@ -11040,6 +11729,7 @@ var ALL_SLASH_PATH_FILE_TYPE_SEPARATORS_REGEX = /\.+/g;
11040
11729
  *
11041
11730
  * @param config - Configuration for path generation.
11042
11731
  * @returns A factory function that merges input paths into a single validated slash path.
11732
+ * @__NO_SIDE_EFFECTS__
11043
11733
  */ function slashPathFactory(config) {
11044
11734
  var _ref = config !== null && config !== void 0 ? config : {}, tmp = _ref.startType, type = tmp === void 0 ? 'any' : tmp, inputBasePaths = _ref.basePath, _ref_validate = _ref.validate, validate = _ref_validate === void 0 ? true : _ref_validate;
11045
11735
  var basePath = inputBasePaths ? mergeSlashPaths(asArray(inputBasePaths)) : undefined;
@@ -11106,6 +11796,7 @@ var ALL_SLASH_PATH_FILE_TYPE_SEPARATORS_REGEX = /\.+/g;
11106
11796
  *
11107
11797
  * @param config - Configuration with range, optional start type, and file mode.
11108
11798
  * @returns A function that isolates path segments within the configured range.
11799
+ * @__NO_SIDE_EFFECTS__
11109
11800
  */ function isolateSlashPathFunction(config) {
11110
11801
  var startType = config.startType, asFile = config.asFile;
11111
11802
  var range = indexRange(config.range);
@@ -11208,6 +11899,7 @@ var ALL_SLASH_PATH_FILE_TYPE_SEPARATORS_REGEX = /\.+/g;
11208
11899
  *
11209
11900
  * @param path - Matcher path parts to expand into decision functions.
11210
11901
  * @returns Array of decision functions for each path part.
11902
+ * @__NO_SIDE_EFFECTS__
11211
11903
  */ function expandSlashPathPathMatcherPartToDecisionFunctions(path) {
11212
11904
  var targetPathPartsInput = asArray(path);
11213
11905
  var indexMatchingDecisionFunctions = [];
@@ -11290,6 +11982,7 @@ var ALL_SLASH_PATH_FILE_TYPE_SEPARATORS_REGEX = /\.+/g;
11290
11982
  *
11291
11983
  * @param input - the matcher configuration, which may be a target path string, an array of path parts, or a full config object
11292
11984
  * @returns The matcher.
11985
+ * @__NO_SIDE_EFFECTS__
11293
11986
  */ function slashPathPathMatcher(input) {
11294
11987
  var _config_matchRemaining, _config_nonMatchingFillValue;
11295
11988
  var config = slashPathPathMatcherConfig(input);
@@ -11351,6 +12044,7 @@ var ALL_SLASH_PATH_FILE_TYPE_SEPARATORS_REGEX = /\.+/g;
11351
12044
  *
11352
12045
  * @param config The configuration for the matcher.
11353
12046
  * @returns The matcher.
12047
+ * @__NO_SIDE_EFFECTS__
11354
12048
  */ function slashPathSubPathMatcher(config) {
11355
12049
  var targetPathIndexMatchingDecisionFunctions = expandSlashPathPathMatcherPartToDecisionFunctions(config.basePath);
11356
12050
  var basePathPartsCount = targetPathIndexMatchingDecisionFunctions.length;
@@ -11604,8 +12298,15 @@ function _unsupported_iterable_to_array$l(o, minLen) {
11604
12298
  /**
11605
12299
  * Creates an {@link IsolateWebsitePathFunction} that extracts and transforms a path from a website URL based on the configuration.
11606
12300
  *
12301
+ * @dbxUtil
12302
+ * @dbxUtilCategory string
12303
+ * @dbxUtilKind factory
12304
+ * @dbxUtilTags string, url, path, isolate, transform, factory, query
12305
+ * @dbxUtilRelated website-path-from-website-url, website-path-and-query-pair, fix-extra-query-parameters
12306
+ *
11607
12307
  * @param config - Configuration for path isolation, including base path removal, component range, query handling, and trailing slash behavior.
11608
12308
  * @returns A function that isolates the configured portion of a website path.
12309
+ * @__NO_SIDE_EFFECTS__
11609
12310
  */ function isolateWebsitePathFunction() {
11610
12311
  var config = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
11611
12312
  var removeQueryParameters = config.removeQueryParameters, ignoredBasePath = config.ignoredBasePath, isolatePathComponents = config.isolatePathComponents, removeTrailingSlash = config.removeTrailingSlash;
@@ -11985,8 +12686,15 @@ function _unsupported_iterable_to_array$k(o, minLen) {
11985
12686
  /**
11986
12687
  * Creates a factory that generates random email addresses using configurable prefixes, domains, and number generators.
11987
12688
  *
12689
+ * @dbxUtil
12690
+ * @dbxUtilCategory contact
12691
+ * @dbxUtilKind factory
12692
+ * @dbxUtilTags contact, email, random, factory, generate
12693
+ * @dbxUtilRelated random-phone-number-factory, incrementing-number-factory
12694
+ *
11988
12695
  * @param inputConfig - Optional configuration overrides
11989
12696
  * @returns A factory function that produces random email address strings
12697
+ * @__NO_SIDE_EFFECTS__
11990
12698
  */ function randomEmailFactory(inputConfig) {
11991
12699
  var _config_prefixes, _config_domains;
11992
12700
  var config = mergeObjects([
@@ -12022,8 +12730,15 @@ function _unsupported_iterable_to_array$k(o, minLen) {
12022
12730
  /**
12023
12731
  * Creates a factory that generates random E.164 phone numbers using configurable area codes and number generators.
12024
12732
  *
12733
+ * @dbxUtil
12734
+ * @dbxUtilCategory contact
12735
+ * @dbxUtilKind factory
12736
+ * @dbxUtilTags contact, phone, e164, random, factory, generate
12737
+ * @dbxUtilRelated random-email-factory, random-number-factory
12738
+ *
12025
12739
  * @param inputConfig - Optional configuration overrides
12026
12740
  * @returns A factory function that produces random E.164 phone number strings
12741
+ * @__NO_SIDE_EFFECTS__
12027
12742
  */ function randomPhoneNumberFactory(inputConfig) {
12028
12743
  var _config_internationalAreaCodes;
12029
12744
  var config = mergeObjects([
@@ -12310,8 +13025,15 @@ function toReadableError(inputError) {
12310
13025
  /**
12311
13026
  * Creates a function that checks if an error's message contains the target string.
12312
13027
  *
13028
+ * @dbxUtil
13029
+ * @dbxUtilCategory error
13030
+ * @dbxUtilKind factory
13031
+ * @dbxUtilTags error, message, contains, factory, predicate, regex
13032
+ * @dbxUtilRelated escape-string-for-regex
13033
+ *
12313
13034
  * @param target - The string to search for
12314
13035
  * @returns A function that checks error messages for the target string
13036
+ * @__NO_SIDE_EFFECTS__
12315
13037
  */ function errorMessageContainsStringFunction(target) {
12316
13038
  var regex = new RegExp(escapeStringForRegex(target));
12317
13039
  return function(input) {
@@ -12425,8 +13147,15 @@ function _unsupported_iterable_to_array$j(o, minLen) {
12425
13147
  *
12426
13148
  * Useful for late-binding or circular dependency resolution.
12427
13149
  *
13150
+ * @dbxUtil
13151
+ * @dbxUtilCategory function
13152
+ * @dbxUtilKind factory
13153
+ * @dbxUtilTags function, forward, late-binding, factory, lazy
13154
+ * @dbxUtilRelated default-forward-function-factory
13155
+ *
12428
13156
  * @param getter - A Getter that provides the target function
12429
13157
  * @returns A forwarding function with the same signature as the target
13158
+ * @__NO_SIDE_EFFECTS__
12430
13159
  */ function forwardFunction(getter) {
12431
13160
  return function() {
12432
13161
  for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
@@ -12440,8 +13169,15 @@ function _unsupported_iterable_to_array$j(o, minLen) {
12440
13169
  * Creates a factory that produces forwarding functions which use the provided function
12441
13170
  * or fall back to the default function when not provided.
12442
13171
  *
13172
+ * @dbxUtil
13173
+ * @dbxUtilCategory function
13174
+ * @dbxUtilKind factory
13175
+ * @dbxUtilTags function, forward, factory, default, fallback
13176
+ * @dbxUtilRelated forward-function
13177
+ *
12443
13178
  * @param defaultFn - The default function to use as fallback
12444
13179
  * @returns A factory that wraps optional functions with a default fallback
13180
+ * @__NO_SIDE_EFFECTS__
12445
13181
  */ function defaultForwardFunctionFactory(defaultFn) {
12446
13182
  return function(fn) {
12447
13183
  return forwardFunction(function() {
@@ -12977,9 +13713,16 @@ function _ts_generator$8(thisArg, body) {
12977
13713
  * The factory generates identifiers in batches, filters them for uniqueness, and verifies each batch
12978
13714
  * using the configured verifier. Throws if uniqueness generation fails repeatedly (after 20 attempts).
12979
13715
  *
13716
+ * @dbxUtil
13717
+ * @dbxUtilCategory model
13718
+ * @dbxUtilKind factory
13719
+ * @dbxUtilTags model, id, batch, factory, async, unique, identifier
13720
+ * @dbxUtilRelated sequential-incrementing-number-string-model-id-factory
13721
+ *
12980
13722
  * @param config - Configuration with the base factory for generating candidates and the verifier for validating them
12981
13723
  * @returns An async factory function that produces the requested number of valid identifiers
12982
13724
  * @throws Error if the factory cannot produce enough unique values after repeated attempts
13725
+ * @__NO_SIDE_EFFECTS__
12983
13726
  */ function idBatchFactory(config) {
12984
13727
  var factory = config.factory, verifier = config.verifier;
12985
13728
  var tagsToGeneratePerBatch = verifier.maxBatchSize, _verifier_filterUnique = verifier.filterUnique, filterUnique = _verifier_filterUnique === void 0 ? function(x) {
@@ -13186,9 +13929,16 @@ function _unsupported_iterable_to_array$g(o, minLen) {
13186
13929
  * Creates a new {@link PrimativeKeyDencoderFunction} that can bidirectionally encode/decode
13187
13930
  * primitive key values based on the configured value pairs.
13188
13931
  *
13932
+ * @dbxUtil
13933
+ * @dbxUtilCategory string
13934
+ * @dbxUtilKind factory
13935
+ * @dbxUtilTags string, encode, decode, dencoder, bidirectional, factory, primitive
13936
+ * @dbxUtilRelated primative-key-dencoder-map, primative-key-string-dencoder
13937
+ *
13189
13938
  * @param config - configuration with value pairs and optional default fallback
13190
13939
  * @returns a function that encodes or decodes single values or arrays
13191
13940
  * @throws Error if a single value lookup produces a null result and no default handles it
13941
+ * @__NO_SIDE_EFFECTS__
13192
13942
  */ function primativeKeyDencoder(config) {
13193
13943
  var _config_defaultValue = config.defaultValue, defaultValue = _config_defaultValue === void 0 ? PRIMATIVE_KEY_DENCODER_VALUE : _config_defaultValue;
13194
13944
  var map = primativeKeyDencoderMap(config.values);
@@ -13217,9 +13967,16 @@ function _unsupported_iterable_to_array$g(o, minLen) {
13217
13967
  * When no splitter is defined, all encoded values must be exactly one character long so the string
13218
13968
  * can be split character-by-character.
13219
13969
  *
13970
+ * @dbxUtil
13971
+ * @dbxUtilCategory string
13972
+ * @dbxUtilKind factory
13973
+ * @dbxUtilTags string, encode, decode, dencoder, splitter, factory, primitive
13974
+ * @dbxUtilRelated primative-key-dencoder, primative-key-dencoder-map
13975
+ *
13220
13976
  * @param config - configuration with dencoder and optional splitter
13221
13977
  * @returns a bidirectional function for string-to-array and array-to-string conversion
13222
13978
  * @throws Error if encoded values contain the splitter character, or if values exceed one character when no splitter is defined
13979
+ * @__NO_SIDE_EFFECTS__
13223
13980
  */ function primativeKeyStringDencoder(config) {
13224
13981
  var dencoder = typeof config.dencoder === 'function' ? config.dencoder : primativeKeyDencoder(config.dencoder);
13225
13982
  var splitter = config.splitter;
@@ -13324,8 +14081,15 @@ function _unsupported_iterable_to_array$g(o, minLen) {
13324
14081
  * Creates a {@link NumberStringDencoderFunction} from the given dencoder.
13325
14082
  * The returned function auto-detects the input type: numbers are encoded, strings are decoded.
13326
14083
  *
14084
+ * @dbxUtil
14085
+ * @dbxUtilCategory string
14086
+ * @dbxUtilKind factory
14087
+ * @dbxUtilTags string, number, encode, decode, dencoder, bidirectional, factory
14088
+ * @dbxUtilRelated number-string-dencoder, number-string-dencoder-encoded-string-value-function, number-string-dencoder-decoded-number-value-function
14089
+ *
13327
14090
  * @param dencoder - the NumberStringDencoder to wrap
13328
14091
  * @returns a bidirectional encode/decode function
14092
+ * @__NO_SIDE_EFFECTS__
13329
14093
  */ function numberStringDencoderFunction(dencoder) {
13330
14094
  var fn = function fn(input) {
13331
14095
  var result = typeof input === 'number' ? dencoder.encodeNumber(input) : dencoder.decodeNumber(input);
@@ -13337,8 +14101,15 @@ function _unsupported_iterable_to_array$g(o, minLen) {
13337
14101
  * Creates a function that always returns the encoded string form of the input.
13338
14102
  * Numbers are encoded; strings are passed through as-is.
13339
14103
  *
14104
+ * @dbxUtil
14105
+ * @dbxUtilCategory string
14106
+ * @dbxUtilKind factory
14107
+ * @dbxUtilTags string, number, encode, normalize, factory
14108
+ * @dbxUtilRelated number-string-dencoder-function, number-string-dencoder-decoded-number-value-function
14109
+ *
13340
14110
  * @param dencoder - the NumberStringDencoder to use for encoding
13341
14111
  * @returns a function that normalizes input to an encoded string
14112
+ * @__NO_SIDE_EFFECTS__
13342
14113
  */ function numberStringDencoderEncodedStringValueFunction(dencoder) {
13343
14114
  return function(input) {
13344
14115
  return typeof input === 'number' ? dencoder.encodeNumber(input) : input;
@@ -13348,8 +14119,15 @@ function _unsupported_iterable_to_array$g(o, minLen) {
13348
14119
  * Creates a function that always returns the decoded number form of the input.
13349
14120
  * Strings are decoded; numbers are passed through as-is.
13350
14121
  *
14122
+ * @dbxUtil
14123
+ * @dbxUtilCategory string
14124
+ * @dbxUtilKind factory
14125
+ * @dbxUtilTags string, number, decode, normalize, factory
14126
+ * @dbxUtilRelated number-string-dencoder-function, number-string-dencoder-encoded-string-value-function
14127
+ *
13351
14128
  * @param dencoder - the NumberStringDencoder to use for decoding
13352
14129
  * @returns a function that normalizes input to a decoded number
14130
+ * @__NO_SIDE_EFFECTS__
13353
14131
  */ function numberStringDencoderDecodedNumberValueFunction(dencoder) {
13354
14132
  return function(input) {
13355
14133
  return typeof input === 'number' ? input : dencoder.decodeNumber(input);
@@ -13474,12 +14252,19 @@ function _unsupported_iterable_to_array$g(o, minLen) {
13474
14252
  * @param minSize - the minimum dimensions to enforce
13475
14253
  * @returns a resize function that clamps each axis to the specified minimum
13476
14254
  *
14255
+ * @dbxUtil
14256
+ * @dbxUtilCategory value
14257
+ * @dbxUtilKind factory
14258
+ * @dbxUtilTags value, vector, resize, minimum, factory, clamp
14259
+ * @dbxUtilRelated vector
14260
+ *
13477
14261
  * @example
13478
14262
  * ```ts
13479
14263
  * const resize = vectorMinimumSizeResizeFunction({ x: 5 });
13480
14264
  * resize({ x: 3, y: 10 });
13481
14265
  * // { x: 5, y: 10 }
13482
14266
  * ```
14267
+ * @__NO_SIDE_EFFECTS__
13483
14268
  */ function vectorMinimumSizeResizeFunction(minSize) {
13484
14269
  return function(input) {
13485
14270
  return {
@@ -13951,8 +14736,15 @@ function _wrap_reg_exp(re, groups, source) {
13951
14736
  * Creates a {@link LatLngTupleFunction} that converts various input formats into `[lat, lng]` tuples,
13952
14737
  * applying optional precision configuration.
13953
14738
  *
14739
+ * @dbxUtil
14740
+ * @dbxUtilCategory value
14741
+ * @dbxUtilKind factory
14742
+ * @dbxUtilTags value, lat-lng, tuple, factory, geographic, normalize
14743
+ * @dbxUtilRelated lat-lng-point-function, lat-lng-string-function
14744
+ *
13954
14745
  * @param config - optional configuration for precision and wrapping behavior
13955
14746
  * @returns a function that produces lat/lng tuples from flexible inputs
14747
+ * @__NO_SIDE_EFFECTS__
13956
14748
  */ function latLngTupleFunction(config) {
13957
14749
  var fn = latLngPointFunction(config);
13958
14750
  return function(lat, lng) {
@@ -14035,9 +14827,16 @@ function latLngString(lat, lng) {
14035
14827
  * Creates a {@link LatLngPointPrecisionFunction} that rounds both lat and lng values
14036
14828
  * to the specified number of decimal places.
14037
14829
  *
14830
+ * @dbxUtil
14831
+ * @dbxUtilCategory value
14832
+ * @dbxUtilKind factory
14833
+ * @dbxUtilTags value, lat-lng, precision, round, factory, geographic
14834
+ * @dbxUtilRelated lat-lng-point-function, cut-value-to-precision-function
14835
+ *
14038
14836
  * @param precision - number of decimal places to retain
14039
14837
  * @param precisionRounding - optional rounding strategy (e.g., floor, ceil, round)
14040
14838
  * @returns a function that rounds points to the given precision
14839
+ * @__NO_SIDE_EFFECTS__
14041
14840
  */ function latLngPointPrecisionFunction(precision, precisionRounding) {
14042
14841
  var precisionFunction = cutValueToPrecisionFunction(precision, precisionRounding);
14043
14842
  return function(latLng) {
@@ -14054,8 +14853,15 @@ function latLngString(lat, lng) {
14054
14853
  * Creates a {@link LatLngStringFunction} that converts various input formats into comma-separated lat/lng strings,
14055
14854
  * applying optional precision configuration.
14056
14855
  *
14856
+ * @dbxUtil
14857
+ * @dbxUtilCategory value
14858
+ * @dbxUtilKind factory
14859
+ * @dbxUtilTags value, lat-lng, string, factory, geographic, normalize
14860
+ * @dbxUtilRelated lat-lng-point-function, lat-lng-tuple-function
14861
+ *
14057
14862
  * @param config - optional configuration for precision and wrapping behavior
14058
14863
  * @returns a function that produces lat/lng strings from flexible inputs
14864
+ * @__NO_SIDE_EFFECTS__
14059
14865
  */ function latLngStringFunction(config) {
14060
14866
  var fn = latLngPointFunction(config);
14061
14867
  return function(lat, lng) {
@@ -14086,12 +14892,19 @@ function latLngString(lat, lng) {
14086
14892
  * @returns a function that produces points from flexible inputs
14087
14893
  * @throws {Error} when the input cannot be parsed into a valid point
14088
14894
  *
14895
+ * @dbxUtil
14896
+ * @dbxUtilCategory value
14897
+ * @dbxUtilKind factory
14898
+ * @dbxUtilTags value, lat-lng, point, factory, geographic, normalize
14899
+ * @dbxUtilRelated lat-lng-point, lat-lng-tuple-function, lat-lng-string-function, lat-lng-point-precision-function
14900
+ *
14089
14901
  * @example
14090
14902
  * ```ts
14091
14903
  * const fn = latLngPointFunction({ precision: 3 });
14092
14904
  * const result = fn(30.59929, -96.38315);
14093
14905
  * // result.lat === 30.599, result.lng === -96.383
14094
14906
  * ```
14907
+ * @__NO_SIDE_EFFECTS__
14095
14908
  */ function latLngPointFunction(config) {
14096
14909
  var _ref = config !== null && config !== void 0 ? config : {}, validate = _ref.validate, wrap = _ref.wrap, defaultValue = _ref.default, _ref_precision = _ref.precision, precision = _ref_precision === void 0 ? LAT_LONG_1MM_PRECISION : _ref_precision, readLonLatTuples = _ref.readLonLatTuples, precisionRounding = _ref.precisionRounding;
14097
14910
  var precisionFunction = precision != null ? latLngPointPrecisionFunction(precision, precisionRounding) : mapIdentityFunction();
@@ -14162,8 +14975,15 @@ function latLngString(lat, lng) {
14162
14975
  /**
14163
14976
  * Creates a {@link ValidLatLngPointFunction} that returns the input point when valid, or a default point otherwise.
14164
14977
  *
14978
+ * @dbxUtil
14979
+ * @dbxUtilCategory value
14980
+ * @dbxUtilKind factory
14981
+ * @dbxUtilTags value, lat-lng, validate, fallback, factory, geographic
14982
+ * @dbxUtilRelated valid-lat-lng-point, is-valid-lat-lng-point
14983
+ *
14165
14984
  * @param defaultValue - factory for the fallback point; defaults to `defaultLatLngPoint`
14166
14985
  * @returns a validation function
14986
+ * @__NO_SIDE_EFFECTS__
14167
14987
  */ function validLatLngPointFunction() {
14168
14988
  var defaultValue = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : defaultLatLngPoint;
14169
14989
  return function(latLngPoint) {
@@ -14173,8 +14993,15 @@ function latLngString(lat, lng) {
14173
14993
  /**
14174
14994
  * Creates a {@link LatLngDataPointFunction} that wraps a {@link LatLngRef} object with its resolved point coordinates.
14175
14995
  *
14996
+ * @dbxUtil
14997
+ * @dbxUtilCategory value
14998
+ * @dbxUtilKind factory
14999
+ * @dbxUtilTags value, lat-lng, data-point, factory, geographic, ref
15000
+ * @dbxUtilRelated lat-lng-point-function
15001
+ *
14176
15002
  * @param config - optional configuration for precision and wrapping behavior
14177
15003
  * @returns a function that produces data points from lat/lng references
15004
+ * @__NO_SIDE_EFFECTS__
14178
15005
  */ function latLngDataPointFunction(config) {
14179
15006
  var fn = latLngPointFunction(config);
14180
15007
  return function(data) {
@@ -14189,8 +15016,15 @@ function latLngString(lat, lng) {
14189
15016
  * Creates a {@link RandomLatLngFactory} that generates random points within the specified bounding box.
14190
15017
  * The bounding box corners are capped/wrapped to valid coordinate ranges.
14191
15018
  *
15019
+ * @dbxUtil
15020
+ * @dbxUtilCategory value
15021
+ * @dbxUtilKind factory
15022
+ * @dbxUtilTags value, lat-lng, random, factory, geographic, bounding-box
15023
+ * @dbxUtilRelated random-lat-lng-from-center-factory, random-number-factory
15024
+ *
14192
15025
  * @param config - optional bounding box and precision configuration
14193
15026
  * @returns a factory that produces random points within the bounds
15027
+ * @__NO_SIDE_EFFECTS__
14194
15028
  */ function randomLatLngFactory(config) {
14195
15029
  var _$_object_spread_props = _object_spread_props$4(_object_spread$8({}, config), {
14196
15030
  sw: _object_spread$8({
@@ -14222,8 +15056,15 @@ function latLngString(lat, lng) {
14222
15056
  * Creates a {@link RandomLatLngFactory} that generates random points within a rectangle
14223
15057
  * centered on the given point, extending by `latDistance` and `lngDistance` in each direction.
14224
15058
  *
15059
+ * @dbxUtil
15060
+ * @dbxUtilCategory value
15061
+ * @dbxUtilKind factory
15062
+ * @dbxUtilTags value, lat-lng, random, factory, geographic, center
15063
+ * @dbxUtilRelated random-lat-lng-factory, random-number-factory
15064
+ *
14225
15065
  * @param config - center point, distances, and optional precision
14226
15066
  * @returns a factory that produces random points near the center
15067
+ * @__NO_SIDE_EFFECTS__
14227
15068
  */ function randomLatLngFromCenterFactory(config) {
14228
15069
  var center = config.center, latDistance = config.latDistance, lngDistance = config.lngDistance, precision = config.precision;
14229
15070
  var sw = {
@@ -14475,8 +15316,15 @@ function _unsupported_iterable_to_array$e(o, minLen) {
14475
15316
  * Creates a {@link LatLngBoundTupleFunction} that converts various bound inputs into a `[sw, ne]` tuple,
14476
15317
  * applying optional precision to the resulting points.
14477
15318
  *
15319
+ * @dbxUtil
15320
+ * @dbxUtilCategory value
15321
+ * @dbxUtilKind factory
15322
+ * @dbxUtilTags value, lat-lng, bound, tuple, factory, geographic
15323
+ * @dbxUtilRelated lat-lng-bound-function, lat-lng-bound
15324
+ *
14478
15325
  * @param config - optional configuration for point precision
14479
15326
  * @returns a function that produces bound tuples from flexible inputs
15327
+ * @__NO_SIDE_EFFECTS__
14480
15328
  */ function latLngBoundTupleFunction(config) {
14481
15329
  var fn = latLngBoundFunction(config);
14482
15330
  return function(input, inputNe) {
@@ -14513,12 +15361,19 @@ function _unsupported_iterable_to_array$e(o, minLen) {
14513
15361
  * @returns a function that produces bounds from flexible inputs
14514
15362
  * @throws {Error} when the input cannot be parsed into a valid bound
14515
15363
  *
15364
+ * @dbxUtil
15365
+ * @dbxUtilCategory value
15366
+ * @dbxUtilKind factory
15367
+ * @dbxUtilTags value, lat-lng, bound, factory, geographic, normalize
15368
+ * @dbxUtilRelated lat-lng-bound, lat-lng-bound-tuple-function, lat-lng-point-function
15369
+ *
14516
15370
  * @example
14517
15371
  * ```ts
14518
15372
  * const fn = latLngBoundFunction({ precision: 3 });
14519
15373
  * const result = fn([{ lat: 20, lng: 20 }, { lat: 30, lng: 30 }]);
14520
15374
  * // result.sw.lat === 20, result.ne.lat === 30
14521
15375
  * ```
15376
+ * @__NO_SIDE_EFFECTS__
14522
15377
  */ function latLngBoundFunction(config) {
14523
15378
  var _ref = config !== null && config !== void 0 ? config : {}, pointFunction = _ref.pointFunction, precision = _ref.precision;
14524
15379
  var latLngPoint = pointFunction !== null && pointFunction !== void 0 ? pointFunction : latLngPointFunction({
@@ -14640,8 +15495,15 @@ function _unsupported_iterable_to_array$e(o, minLen) {
14640
15495
  * falls entirely within the specified bound. Points are checked directly; bounds require
14641
15496
  * both corners to be within.
14642
15497
  *
15498
+ * @dbxUtil
15499
+ * @dbxUtilCategory value
15500
+ * @dbxUtilKind factory
15501
+ * @dbxUtilTags value, lat-lng, bound, contains, decision, factory, geographic
15502
+ * @dbxUtilRelated overlaps-lat-lng-bound-function, is-lat-lng-point-within-lat-lng-bound
15503
+ *
14643
15504
  * @param bound - the reference bound to check containment against
14644
15505
  * @returns a function that returns `true` if the input is within the reference bound
15506
+ * @__NO_SIDE_EFFECTS__
14645
15507
  */ function isWithinLatLngBoundFunction(bound) {
14646
15508
  var fn = function fn(boundOrPoint) {
14647
15509
  return isLatLngPoint(boundOrPoint) ? isLatLngPointWithinLatLngBound(boundOrPoint, bound) : isLatLngBoundWithinLatLngBound(boundOrPoint, bound);
@@ -14699,8 +15561,15 @@ function _unsupported_iterable_to_array$e(o, minLen) {
14699
15561
  * overlaps the reference bound. Internally converts bounds to rectangles for overlap detection,
14700
15562
  * handling antimeridian wrapping.
14701
15563
  *
15564
+ * @dbxUtil
15565
+ * @dbxUtilCategory value
15566
+ * @dbxUtilKind factory
15567
+ * @dbxUtilTags value, lat-lng, bound, overlap, decision, factory, geographic
15568
+ * @dbxUtilRelated is-within-lat-lng-bound-function, lat-lng-bound-overlaps-lat-lng-bound
15569
+ *
14702
15570
  * @param bound - the reference bound to check overlap against
14703
15571
  * @returns a function that returns `true` if the input overlaps the reference bound
15572
+ * @__NO_SIDE_EFFECTS__
14704
15573
  */ function overlapsLatLngBoundFunction(bound) {
14705
15574
  var a = boundToRectangle(bound);
14706
15575
  var fn = function fn(boundOrPoint) {
@@ -14772,6 +15641,7 @@ function _unsupported_iterable_to_array$e(o, minLen) {
14772
15641
  * safeCompare(null, null); // true
14773
15642
  * safeCompare(null, undefined); // false
14774
15643
  * ```
15644
+ * @__NO_SIDE_EFFECTS__
14775
15645
  */ function safeEqualityComparatorFunction(compare) {
14776
15646
  return function(a, b) {
14777
15647
  return a != null && b != null ? compare(a, b) : a === b;
@@ -14810,9 +15680,16 @@ function _unsupported_iterable_to_array$e(o, minLen) {
14810
15680
  * This is a convenience wrapper around {@link compareEqualityWithValueFromItemsFunctionFactory} that
14811
15681
  * accepts both the value reader and comparator in a single call.
14812
15682
  *
15683
+ * @dbxUtil
15684
+ * @dbxUtilCategory value
15685
+ * @dbxUtilKind factory
15686
+ * @dbxUtilTags value, comparator, equality, factory, read
15687
+ * @dbxUtilRelated compare-equality-with-value-from-items-function-factory, safe-equality-comparator-function
15688
+ *
14813
15689
  * @param readValues - extracts the comparable value from each item
14814
15690
  * @param equalityComparator - compares the extracted values for equality
14815
15691
  * @returns a function that compares two items by their extracted values
15692
+ * @__NO_SIDE_EFFECTS__
14816
15693
  */ function compareEqualityWithValueFromItemsFunction(readValues, equalityComparator) {
14817
15694
  return compareEqualityWithValueFromItemsFunctionFactory(readValues)(equalityComparator);
14818
15695
  }
@@ -14835,6 +15712,14 @@ function _unsupported_iterable_to_array$e(o, minLen) {
14835
15712
  * fn(undefined, undefined); // true
14836
15713
  * fn(0, 1); // false
14837
15714
  * ```
15715
+ *
15716
+ * @dbxUtil
15717
+ * @dbxUtilCategory value
15718
+ * @dbxUtilKind factory
15719
+ * @dbxUtilTags value, comparator, equality, factory, read, reuse
15720
+ * @dbxUtilRelated compare-equality-with-value-from-items-function, safe-equality-comparator-function
15721
+ *
15722
+ * @__NO_SIDE_EFFECTS__
14838
15723
  */ function compareEqualityWithValueFromItemsFunctionFactory(readValues) {
14839
15724
  var fn = function fn(equalityComparator) {
14840
15725
  var fn = safeEqualityComparatorFunction(function(a, b) {
@@ -14912,10 +15797,21 @@ function _unsupported_iterable_to_array$d(o, minLen) {
14912
15797
  * Regular expression for validating ISO8601 date strings.
14913
15798
  *
14914
15799
  * TODO(FUTURE): Need to improve to support negative years.
15800
+ *
15801
+ * @dbxUtil
15802
+ * @dbxUtilCategory date
15803
+ * @dbxUtilKind const
15804
+ * @dbxUtilTags date, iso8601, regex, string, validate
15805
+ * @dbxUtilRelated is-iso8601-date-string, iso8601-day-string-regex
14915
15806
  */ var ISO_8601_DATE_STRING_REGEX = /(\d{4,})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(Z|[+-](\d{2}):(\d{2}))?/;
14916
15807
  /**
14917
15808
  * Determines if a string is a valid ISO8601 date string.
14918
15809
  *
15810
+ * @dbxUtil
15811
+ * @dbxUtilCategory date
15812
+ * @dbxUtilTags date, iso8601, string, predicate, validate
15813
+ * @dbxUtilRelated is-iso8601-day-string, is-utc-date-string, iso-8601-date-string-regex
15814
+ *
14919
15815
  * @param input - The string to test
14920
15816
  * @returns True if the input is a valid ISO8601 date string
14921
15817
  */ function isISO8601DateString(input) {
@@ -14927,10 +15823,21 @@ function _unsupported_iterable_to_array$d(o, minLen) {
14927
15823
  * Sat, 03 Feb 2001 04:05:06 GMT
14928
15824
  * Tue, 14 Mar 2023 12:34:56 UTC
14929
15825
  * Wed, 25 May 2024 20:45:07 EST
15826
+ *
15827
+ * @dbxUtil
15828
+ * @dbxUtilCategory date
15829
+ * @dbxUtilKind const
15830
+ * @dbxUtilTags date, utc, regex, string, validate
15831
+ * @dbxUtilRelated is-utc-date-string
14930
15832
  */ var UTC_DATE_STRING_REGEX = /^([a-zA-Z]{3}, \d{2} [a-zA-Z]{3} \d{4} \d{2}:\d{2}:\d{2} [A-Z]{3})$/;
14931
15833
  /**
14932
15834
  * Determines if a string is a valid UTC date string.
14933
15835
  *
15836
+ * @dbxUtil
15837
+ * @dbxUtilCategory date
15838
+ * @dbxUtilTags date, utc, string, predicate, validate
15839
+ * @dbxUtilRelated is-iso8601-date-string, utc-date-string-regex
15840
+ *
14934
15841
  * @param input - The string to test
14935
15842
  * @returns True if the input is a valid UTC date string
14936
15843
  */ function isUTCDateString(input) {
@@ -14939,6 +15846,11 @@ function _unsupported_iterable_to_array$d(o, minLen) {
14939
15846
  /**
14940
15847
  * Returns true only if the inputs have the same timezone, or both do not have a timezone set.
14941
15848
  *
15849
+ * @dbxUtil
15850
+ * @dbxUtilCategory date
15851
+ * @dbxUtilTags date, timezone, compare, equal, predicate
15852
+ * @dbxUtilRelated is-considered-utc-timezone-string
15853
+ *
14942
15854
  * @param a - First object that may contain a timezone reference
14943
15855
  * @param b - Second object that may contain a timezone reference
14944
15856
  * @returns True if both objects have the same timezone or neither has a timezone set
@@ -14949,21 +15861,44 @@ function _unsupported_iterable_to_array$d(o, minLen) {
14949
15861
  }
14950
15862
  /**
14951
15863
  * Constant for the UTC timezone string, "UTC".
15864
+ *
15865
+ * @dbxUtil
15866
+ * @dbxUtilCategory date
15867
+ * @dbxUtilKind const
15868
+ * @dbxUtilTags date, timezone, utc, string, constant
15869
+ * @dbxUtilRelated is-considered-utc-timezone-string
14952
15870
  */ var UTC_TIMEZONE_STRING = 'UTC';
14953
15871
  function isConsideredUtcTimezoneString(timezone) {
14954
15872
  return timezone == null || timezone === UTC_TIMEZONE_STRING;
14955
15873
  }
14956
15874
  /**
14957
15875
  * Regex for an ISO8601DayString.
15876
+ *
15877
+ * @dbxUtil
15878
+ * @dbxUtilCategory date
15879
+ * @dbxUtilKind const
15880
+ * @dbxUtilTags date, iso8601, day, regex, string, validate
15881
+ * @dbxUtilRelated is-iso8601-day-string, iso8601-day-string-start-regex
14958
15882
  */ var ISO8601_DAY_STRING_REGEX = /^\d{4,}-\d{2}-\d{2}$/;
14959
15883
  /**
14960
15884
  * Regex for a string that starts as an ISO8601DayString.
15885
+ *
15886
+ * @dbxUtil
15887
+ * @dbxUtilCategory date
15888
+ * @dbxUtilKind const
15889
+ * @dbxUtilTags date, iso8601, day, regex, prefix
15890
+ * @dbxUtilRelated is-iso8601-day-string-start, iso8601-day-string-regex
14961
15891
  */ var ISO8601_DAY_STRING_START_REGEX = /^\d{4,}-\d{2}-\d{2}/;
14962
15892
  /**
14963
15893
  * Returns the start of the input date's UTC time in UTC.
14964
15894
  *
14965
15895
  * I.E. 2022-01-02T04:00:00.000Z in GMT-6 returns 2022-01-02
14966
15896
  *
15897
+ * @dbxUtil
15898
+ * @dbxUtilCategory date
15899
+ * @dbxUtilTags date, utc, start-of-day, day, normalize
15900
+ * @dbxUtilRelated start-of-day-for-system-date-in-utc, parse-iso8601-day-string-to-utc-date
15901
+ *
14967
15902
  * @param date - The date to get the start of day for
14968
15903
  * @returns A new Date set to midnight UTC of the input date's UTC day
14969
15904
  */ function startOfDayForUTCDateInUTC(date) {
@@ -14974,6 +15909,11 @@ function isConsideredUtcTimezoneString(timezone) {
14974
15909
  *
14975
15910
  * I.E. 2022-01-02T04:00:00.000Z in GMT-6 (10PM Jan 1st CST) returns 2022-01-01
14976
15911
  *
15912
+ * @dbxUtil
15913
+ * @dbxUtilCategory date
15914
+ * @dbxUtilTags date, utc, start-of-day, system, local
15915
+ * @dbxUtilRelated start-of-day-for-utc-date-in-utc
15916
+ *
14977
15917
  * @param date - The date to get the start of local day for
14978
15918
  * @returns A new Date set to midnight UTC of the input date's local day
14979
15919
  */ function startOfDayForSystemDateInUTC(date) {
@@ -14982,6 +15922,11 @@ function isConsideredUtcTimezoneString(timezone) {
14982
15922
  /**
14983
15923
  * Parses an ISO8601DayString (YYYY-MM-DD) to a UTC Date at midnight.
14984
15924
  *
15925
+ * @dbxUtil
15926
+ * @dbxUtilCategory date
15927
+ * @dbxUtilTags date, iso8601, day, parse, utc, convert
15928
+ * @dbxUtilRelated is-iso8601-day-string, start-of-day-for-utc-date-in-utc
15929
+ *
14985
15930
  * @param inputDateString - The ISO8601 day string to parse (e.g., '2022-01-15')
14986
15931
  * @returns A Date object set to midnight UTC on the specified day
14987
15932
  */ function parseISO8601DayStringToUTCDate(inputDateString) {
@@ -14991,6 +15936,11 @@ function isConsideredUtcTimezoneString(timezone) {
14991
15936
  /**
14992
15937
  * Determines if a string is a valid ISO8601 day string (YYYY-MM-DD format).
14993
15938
  *
15939
+ * @dbxUtil
15940
+ * @dbxUtilCategory date
15941
+ * @dbxUtilTags date, iso8601, day, string, predicate, validate
15942
+ * @dbxUtilRelated is-iso8601-day-string-start, parse-iso8601-day-string-to-utc-date, iso8601-day-string-regex
15943
+ *
14994
15944
  * @param input - The string to test
14995
15945
  * @returns True if the input is a valid ISO8601 day string
14996
15946
  */ function isISO8601DayString(input) {
@@ -14999,6 +15949,11 @@ function isConsideredUtcTimezoneString(timezone) {
14999
15949
  /**
15000
15950
  * Determines if a string starts with a valid ISO8601 day string pattern (YYYY-MM-DD).
15001
15951
  *
15952
+ * @dbxUtil
15953
+ * @dbxUtilCategory date
15954
+ * @dbxUtilTags date, iso8601, day, string, predicate, prefix
15955
+ * @dbxUtilRelated is-iso8601-day-string, iso8601-day-string-start-regex
15956
+ *
15002
15957
  * @param input - The string to test
15003
15958
  * @returns True if the input starts with a valid ISO8601 day string pattern
15004
15959
  */ function isISO8601DayStringStart(input) {
@@ -15006,10 +15961,21 @@ function isConsideredUtcTimezoneString(timezone) {
15006
15961
  }
15007
15962
  /**
15008
15963
  * Regex for a MonthDaySlashDate.
15964
+ *
15965
+ * @dbxUtil
15966
+ * @dbxUtilCategory date
15967
+ * @dbxUtilKind const
15968
+ * @dbxUtilTags date, slash, month, day, regex, string, validate
15969
+ * @dbxUtilRelated is-month-day-slash-date
15009
15970
  */ var MONTH_DAY_SLASH_DATE_STRING_REGEX = /^\d{1,2}\/\d{1,2}\/\d+$/;
15010
15971
  /**
15011
15972
  * Determines if a string is a valid Month/Day/Year slash date format.
15012
15973
  *
15974
+ * @dbxUtil
15975
+ * @dbxUtilCategory date
15976
+ * @dbxUtilTags date, slash, month, day, string, predicate, validate
15977
+ * @dbxUtilRelated month-day-slash-date-to-date-string, month-day-slash-date-string-regex
15978
+ *
15013
15979
  * @param input - The string to test
15014
15980
  * @returns True if the input is a valid Month/Day/Year slash date
15015
15981
  */ function isMonthDaySlashDate(input) {
@@ -15020,6 +15986,11 @@ function isConsideredUtcTimezoneString(timezone) {
15020
15986
  * Handles single digit months and days by adding leading zeros.
15021
15987
  * If year is only 2 digits, prepends '20' to make a 4-digit year.
15022
15988
  *
15989
+ * @dbxUtil
15990
+ * @dbxUtilCategory date
15991
+ * @dbxUtilTags date, slash, day, string, convert, parse
15992
+ * @dbxUtilRelated is-month-day-slash-date
15993
+ *
15023
15994
  * @param slashDate - The slash date string to convert (e.g., '1/1/20' or '11/15/2022')
15024
15995
  * @returns An ISO8601 formatted day string (YYYY-MM-DD)
15025
15996
  */ function monthDaySlashDateToDateString(slashDate) {
@@ -15049,6 +16020,11 @@ function dateFromDateOrTimeMillisecondsNumber(input) {
15049
16020
  /**
15050
16021
  * Converts a unix timestamp number to a Date object.
15051
16022
  *
16023
+ * @dbxUtil
16024
+ * @dbxUtilCategory date
16025
+ * @dbxUtilTags date, milliseconds, unix, convert, parse
16026
+ * @dbxUtilRelated date-from-date-or-time-milliseconds-number, unix-date-time-seconds-number-to-date
16027
+ *
15052
16028
  * @param dateTimeNumber - Unix timestamp number to convert
15053
16029
  * @returns Date object if timestamp is valid, null/undefined if timestamp is null/undefined
15054
16030
  */ function unixMillisecondsNumberToDate(dateTimeNumber) {
@@ -15061,6 +16037,11 @@ function dateFromDateOrTimeMillisecondsNumber(input) {
15061
16037
  *
15062
16038
  * If the input is a number of milliseconds, it is added to the current date.
15063
16039
  *
16040
+ * @dbxUtil
16041
+ * @dbxUtilCategory date
16042
+ * @dbxUtilTags date, milliseconds, convert, normalize, offset
16043
+ * @dbxUtilRelated add-milliseconds, date-from-date-or-time-milliseconds-number
16044
+ *
15064
16045
  * @param dateOrMilliseconds - The date or milliseconds to convert to a Date.
15065
16046
  * @param now - The current date to use when adding milliseconds. Defaults to the current time.
15066
16047
  * @returns The Date representation of the input.
@@ -15069,45 +16050,131 @@ function dateFromDateOrTimeMillisecondsNumber(input) {
15069
16050
  }
15070
16051
  /**
15071
16052
  * Number of days in a year (ignoring leap years, which are 366 days).
16053
+ *
16054
+ * @dbxUtil
16055
+ * @dbxUtilCategory date
16056
+ * @dbxUtilKind const
16057
+ * @dbxUtilTags date, day, year, duration, constant
16058
+ * @dbxUtilRelated days-in-week
15072
16059
  */ var DAYS_IN_YEAR = 365;
15073
16060
  /**
15074
16061
  * Number of hours in a day.
16062
+ *
16063
+ * @dbxUtil
16064
+ * @dbxUtilCategory date
16065
+ * @dbxUtilKind const
16066
+ * @dbxUtilTags date, hour, day, duration, constant
16067
+ * @dbxUtilRelated minutes-in-day, ms-in-day
15075
16068
  */ var HOURS_IN_DAY = 24;
15076
16069
  /**
15077
16070
  * Number of seconds in a minute.
16071
+ *
16072
+ * @dbxUtil
16073
+ * @dbxUtilCategory date
16074
+ * @dbxUtilKind const
16075
+ * @dbxUtilTags date, second, minute, duration, constant
16076
+ * @dbxUtilRelated seconds-in-hour, ms-in-second
15078
16077
  */ var SECONDS_IN_MINUTE = 60;
15079
16078
  /**
15080
16079
  * Number of minutes in a day.
16080
+ *
16081
+ * @dbxUtil
16082
+ * @dbxUtilCategory date
16083
+ * @dbxUtilKind const
16084
+ * @dbxUtilTags date, minute, day, duration, constant
16085
+ * @dbxUtilRelated hours-in-day, minutes-in-hour
15081
16086
  */ var MINUTES_IN_DAY = 1440;
15082
16087
  /**
15083
16088
  * Number of minutes in an hour.
16089
+ *
16090
+ * @dbxUtil
16091
+ * @dbxUtilCategory date
16092
+ * @dbxUtilKind const
16093
+ * @dbxUtilTags date, minute, hour, duration, constant
16094
+ * @dbxUtilRelated minutes-in-day, seconds-in-minute
15084
16095
  */ var MINUTES_IN_HOUR = 60;
15085
16096
  /**
15086
16097
  * Number of seconds in an hour.
16098
+ *
16099
+ * @dbxUtil
16100
+ * @dbxUtilCategory date
16101
+ * @dbxUtilKind const
16102
+ * @dbxUtilTags date, second, hour, duration, constant
16103
+ * @dbxUtilRelated seconds-in-minute, minutes-in-hour
15087
16104
  */ var SECONDS_IN_HOUR = MINUTES_IN_HOUR * SECONDS_IN_MINUTE;
15088
16105
  /**
15089
16106
  * Number of milliseconds in a second.
16107
+ *
16108
+ * @dbxUtil
16109
+ * @dbxUtilCategory date
16110
+ * @dbxUtilKind const
16111
+ * @dbxUtilTags date, milliseconds, second, duration, constant
16112
+ * @dbxUtilRelated ms-in-minute, seconds-in-minute
15090
16113
  */ var MS_IN_SECOND = 1000;
15091
16114
  /**
15092
16115
  * Number of milliseconds in a minute.
16116
+ *
16117
+ * @dbxUtil
16118
+ * @dbxUtilCategory date
16119
+ * @dbxUtilKind const
16120
+ * @dbxUtilTags date, milliseconds, minute, duration, constant
16121
+ * @dbxUtilRelated ms-in-second, ms-in-hour
15093
16122
  */ var MS_IN_MINUTE = MS_IN_SECOND * 60;
15094
16123
  /**
15095
16124
  * Number of milliseconds in an hour.
16125
+ *
16126
+ * @dbxUtil
16127
+ * @dbxUtilCategory date
16128
+ * @dbxUtilKind const
16129
+ * @dbxUtilTags date, milliseconds, hour, duration, constant
16130
+ * @dbxUtilRelated ms-in-minute, ms-in-day
15096
16131
  */ var MS_IN_HOUR = MS_IN_MINUTE * 60;
15097
16132
  /**
15098
16133
  * Number of milliseconds in a day.
16134
+ *
16135
+ * @dbxUtil
16136
+ * @dbxUtilCategory date
16137
+ * @dbxUtilKind const
16138
+ * @dbxUtilTags date, milliseconds, day, duration, constant
16139
+ * @dbxUtilRelated ms-in-hour, ms-in-week, hours-in-day
15099
16140
  */ var MS_IN_DAY = MS_IN_HOUR * HOURS_IN_DAY;
16141
+ /**
16142
+ * Number of seconds in a day.
16143
+ *
16144
+ * @dbxUtil
16145
+ * @dbxUtilCategory date
16146
+ * @dbxUtilKind const
16147
+ * @dbxUtilTags date, seconds, day, duration, constant
16148
+ * @dbxUtilRelated seconds-in-hour, seconds-in-week
16149
+ */ var SECONDS_IN_DAY = SECONDS_IN_HOUR * HOURS_IN_DAY;
15100
16150
  /**
15101
16151
  * Number of days in a week.
16152
+ *
16153
+ * @dbxUtil
16154
+ * @dbxUtilCategory date
16155
+ * @dbxUtilKind const
16156
+ * @dbxUtilTags date, day, week, duration, constant
16157
+ * @dbxUtilRelated ms-in-week, days-in-year
15102
16158
  */ var DAYS_IN_WEEK = 7;
15103
16159
  /**
15104
16160
  * Number of milliseconds in a week.
16161
+ *
16162
+ * @dbxUtil
16163
+ * @dbxUtilCategory date
16164
+ * @dbxUtilKind const
16165
+ * @dbxUtilTags date, milliseconds, week, duration, constant
16166
+ * @dbxUtilRelated ms-in-day, days-in-week
15105
16167
  */ var MS_IN_WEEK = MS_IN_DAY * DAYS_IN_WEEK;
15106
16168
  /**
15107
16169
  * Retrieves the MonthOfYear value (1-12) from the input Date in the current system timezone.
15108
16170
  *
15109
16171
  * Converts JavaScript's 0-based month (0-11) to a 1-based month (1-12).
15110
16172
  *
16173
+ * @dbxUtil
16174
+ * @dbxUtilCategory date
16175
+ * @dbxUtilTags date, month, year, accessor, system, local
16176
+ * @dbxUtilRelated month-of-year-from-date-month, month-of-year-from-utc-date
16177
+ *
15111
16178
  * @param date - The date to extract the month from
15112
16179
  * @returns The month of year as a number from 1-12
15113
16180
  */ function monthOfYearFromDate(date) {
@@ -15118,6 +16185,11 @@ function dateFromDateOrTimeMillisecondsNumber(input) {
15118
16185
  *
15119
16186
  * Converts JavaScript's 0-based month (0-11) to a 1-based month (1-12).
15120
16187
  *
16188
+ * @dbxUtil
16189
+ * @dbxUtilCategory date
16190
+ * @dbxUtilTags date, month, year, accessor, utc
16191
+ * @dbxUtilRelated month-of-year-from-date, month-of-year-from-date-month
16192
+ *
15121
16193
  * @param date - The date to extract the month from
15122
16194
  * @returns The month of year as a number from 1-12
15123
16195
  */ function monthOfYearFromUTCDate(date) {
@@ -15126,6 +16198,11 @@ function dateFromDateOrTimeMillisecondsNumber(input) {
15126
16198
  /**
15127
16199
  * Converts a JavaScript Date month (0-11) to a MonthOfYear (1-12).
15128
16200
  *
16201
+ * @dbxUtil
16202
+ * @dbxUtilCategory date
16203
+ * @dbxUtilTags date, month, year, convert, javascript
16204
+ * @dbxUtilRelated make-date-month-for-month-of-year, month-of-year-from-date
16205
+ *
15129
16206
  * @param dateMonth - JavaScript Date month (0-11)
15130
16207
  * @returns The month of year as a number from 1-12
15131
16208
  */ function monthOfYearFromDateMonth(dateMonth) {
@@ -15134,8 +16211,14 @@ function dateFromDateOrTimeMillisecondsNumber(input) {
15134
16211
  /**
15135
16212
  * Converts a MonthOfYear (1-12) to a JavaScript Date month (0-11).
15136
16213
  *
16214
+ * @dbxUtil
16215
+ * @dbxUtilCategory date
16216
+ * @dbxUtilTags date, month, convert, javascript
16217
+ * @dbxUtilRelated month-of-year-from-date-month, month-of-year-from-date
16218
+ *
15137
16219
  * @param monthOfYear - Month of year (1-12)
15138
16220
  * @returns JavaScript Date month (0-11)
16221
+ * @__NO_SIDE_EFFECTS__
15139
16222
  */ function makeDateMonthForMonthOfYear(monthOfYear) {
15140
16223
  return monthOfYear - 1;
15141
16224
  }
@@ -15143,6 +16226,11 @@ function dateFromDateOrTimeMillisecondsNumber(input) {
15143
16226
  * Returns true if the value is a Date object.
15144
16227
  * Uses both instanceof and Object.prototype.toString for reliable type checking.
15145
16228
  *
16229
+ * @dbxUtil
16230
+ * @dbxUtilCategory date
16231
+ * @dbxUtilTags date, predicate, type-guard, validate
16232
+ * @dbxUtilRelated is-equal-date, is-past
16233
+ *
15146
16234
  * @param value - The value to check
15147
16235
  * @returns True if the value is a Date object
15148
16236
  */ function isDate(value) {
@@ -15152,6 +16240,11 @@ function dateFromDateOrTimeMillisecondsNumber(input) {
15152
16240
  * Returns true if the two input dates represent the same point in time.
15153
16241
  * Compares the timestamp values rather than the object references.
15154
16242
  *
16243
+ * @dbxUtil
16244
+ * @dbxUtilCategory date
16245
+ * @dbxUtilTags date, equal, compare, predicate
16246
+ * @dbxUtilRelated is-date, is-past
16247
+ *
15155
16248
  * @param a - First date to compare
15156
16249
  * @param b - Second date to compare
15157
16250
  * @returns True if the dates represent the same point in time
@@ -15161,6 +16254,11 @@ function dateFromDateOrTimeMillisecondsNumber(input) {
15161
16254
  /**
15162
16255
  * Returns true if the input date is in the past relative to the current time.
15163
16256
  *
16257
+ * @dbxUtil
16258
+ * @dbxUtilCategory date
16259
+ * @dbxUtilTags date, past, compare, predicate, time
16260
+ * @dbxUtilRelated is-equal-date, is-date
16261
+ *
15164
16262
  * @param input - The date to check
15165
16263
  * @returns True if the date is in the past
15166
16264
  */ function isPast(input) {
@@ -15364,6 +16462,7 @@ var MINUTE_OF_DAY_MAXMIMUM = MINUTES_IN_DAY - 1;
15364
16462
  * context(0); // true
15365
16463
  * context(10); // false
15366
16464
  * ```
16465
+ * @__NO_SIDE_EFFECTS__
15367
16466
  */ function isEqualContext(contextValue, fn) {
15368
16467
  return function(value) {
15369
16468
  return fn(contextValue, value);
@@ -15393,6 +16492,7 @@ var MINUTE_OF_DAY_MAXMIMUM = MINUTES_IN_DAY - 1;
15393
16492
  * context([0, 0, 0]); // true
15394
16493
  * context([0, 1, 2]); // false
15395
16494
  * ```
16495
+ * @__NO_SIDE_EFFECTS__
15396
16496
  */ function areEqualContext(contextValue, fn) {
15397
16497
  var isEqual = isEqualContext(contextValue, fn);
15398
16498
  return function(input) {
@@ -15561,6 +16661,13 @@ var MINUTE_OF_DAY_MAXMIMUM = MINUTES_IN_DAY - 1;
15561
16661
  * fn(obj);
15562
16662
  * // obj.x === 1
15563
16663
  * ```
16664
+ *
16665
+ * @dbxUtil
16666
+ * @dbxUtilCategory value
16667
+ * @dbxUtilTags modifier, map, factory, compose
16668
+ * @dbxUtilRelated maybe-modifier-map-to-function, modifier
16669
+ *
16670
+ * @__NO_SIDE_EFFECTS__
15564
16671
  */ function modifierMapToFunction(map) {
15565
16672
  var _maybeModifierMapToFunction;
15566
16673
  return (_maybeModifierMapToFunction = maybeModifierMapToFunction(map)) !== null && _maybeModifierMapToFunction !== void 0 ? _maybeModifierMapToFunction : NOOP_MODIFIER;
@@ -15570,8 +16677,14 @@ var MINUTE_OF_DAY_MAXMIMUM = MINUTES_IN_DAY - 1;
15570
16677
  *
15571
16678
  * Returns undefined if no map is provided, allowing callers to distinguish "no modifiers" from "empty modifiers".
15572
16679
  *
16680
+ * @dbxUtil
16681
+ * @dbxUtilCategory value
16682
+ * @dbxUtilTags modifier, map, factory, compose, optional
16683
+ * @dbxUtilRelated modifier-map-to-function, modifier
16684
+ *
15573
16685
  * @param map - the modifier map to convert
15574
16686
  * @returns a composed modifier function, or `undefined` if no map is provided
16687
+ * @__NO_SIDE_EFFECTS__
15575
16688
  */ function maybeModifierMapToFunction(map) {
15576
16689
  var fn;
15577
16690
  if (map != null) {
@@ -15843,6 +16956,14 @@ function _ts_generator$7(thisArg, body) {
15843
16956
  * const fallback = mappedUseFn(undefined, () => 'wrong', 'default');
15844
16957
  * // fallback === 'default'
15845
16958
  * ```
16959
+ *
16960
+ * @dbxUtil
16961
+ * @dbxUtilCategory value
16962
+ * @dbxUtilKind factory
16963
+ * @dbxUtilTags value, use, map, factory, optional, fallback
16964
+ * @dbxUtilRelated wrap-use-function, use-context-function
16965
+ *
16966
+ * @__NO_SIDE_EFFECTS__
15846
16967
  */ function mappedUseFunction(map) {
15847
16968
  return wrapUseFunction(useValue, map);
15848
16969
  }
@@ -15850,9 +16971,16 @@ function _ts_generator$7(thisArg, body) {
15850
16971
  * Wraps an existing {@link MappedUseFunction} with an additional mapping step, allowing further transformation
15851
16972
  * of the intermediate value before it reaches the consumer.
15852
16973
  *
16974
+ * @dbxUtil
16975
+ * @dbxUtilCategory value
16976
+ * @dbxUtilKind factory
16977
+ * @dbxUtilTags value, use, map, wrap, compose, factory
16978
+ * @dbxUtilRelated mapped-use-function, use-value
16979
+ *
15853
16980
  * @param mappedUseFn - the existing mapped use function to wrap
15854
16981
  * @param map - additional transformation applied to the intermediate value
15855
16982
  * @returns a new MappedUseFunction with the extra mapping layer
16983
+ * @__NO_SIDE_EFFECTS__
15856
16984
  */ function wrapUseFunction(mappedUseFn, map) {
15857
16985
  return function(input, useFn, defaultValue) {
15858
16986
  return mappedUseFn(input, function(value) {
@@ -15864,9 +16992,16 @@ function _ts_generator$7(thisArg, body) {
15864
16992
  * Creates a {@link UseContextFunction} by binding a consumer and optional default value, so callers
15865
16993
  * only need to supply the input.
15866
16994
  *
16995
+ * @dbxUtil
16996
+ * @dbxUtilCategory value
16997
+ * @dbxUtilKind factory
16998
+ * @dbxUtilTags value, use, context, factory, bind, default
16999
+ * @dbxUtilRelated use-value, mapped-use-function
17000
+ *
15867
17001
  * @param use - the consumer function to bind
15868
17002
  * @param defaultValue - fallback when input is null/undefined
15869
17003
  * @returns a single-argument function that applies the bound consumer
17004
+ * @__NO_SIDE_EFFECTS__
15870
17005
  */ function useContextFunction(use, defaultValue) {
15871
17006
  return function(input) {
15872
17007
  var result;
@@ -15938,6 +17073,14 @@ function _ts_generator$7(thisArg, body) {
15938
17073
  * const result = await mappedUseAsyncFn(1, () => Promise.resolve('hello'));
15939
17074
  * // result === 'hello'
15940
17075
  * ```
17076
+ *
17077
+ * @dbxUtil
17078
+ * @dbxUtilCategory value
17079
+ * @dbxUtilKind factory
17080
+ * @dbxUtilTags value, use, async, map, factory, promise
17081
+ * @dbxUtilRelated wrap-use-async-function, mapped-use-function
17082
+ *
17083
+ * @__NO_SIDE_EFFECTS__
15941
17084
  */ function mappedUseAsyncFunction(map) {
15942
17085
  return wrapUseAsyncFunction(useAsync, map);
15943
17086
  }
@@ -15945,9 +17088,16 @@ function _ts_generator$7(thisArg, body) {
15945
17088
  * Wraps an existing {@link MappedUseAsyncFunction} with an additional async-capable mapping step,
15946
17089
  * allowing further transformation of the intermediate value before it reaches the consumer.
15947
17090
  *
17091
+ * @dbxUtil
17092
+ * @dbxUtilCategory value
17093
+ * @dbxUtilKind factory
17094
+ * @dbxUtilTags value, use, async, map, wrap, compose, factory, promise
17095
+ * @dbxUtilRelated mapped-use-async-function, wrap-use-function
17096
+ *
15948
17097
  * @param mappedUsePromiseFn - the existing async mapped use function to wrap
15949
17098
  * @param map - additional transformation (sync or async) applied to the intermediate value
15950
17099
  * @returns a new MappedUseAsyncFunction with the extra mapping layer
17100
+ * @__NO_SIDE_EFFECTS__
15951
17101
  */ function wrapUseAsyncFunction(mappedUsePromiseFn, map) {
15952
17102
  return function(input, useFn, defaultValue) {
15953
17103
  return mappedUsePromiseFn(input, function(value) {
@@ -15986,12 +17136,19 @@ function _ts_generator$7(thisArg, body) {
15986
17136
  * @returns A factory function that returns the next encoded string identifier on each call
15987
17137
  * @throws Error if `increaseBy` is 0
15988
17138
  *
17139
+ * @dbxUtil
17140
+ * @dbxUtilCategory model
17141
+ * @dbxUtilKind factory
17142
+ * @dbxUtilTags model, id, factory, sequential, incrementing, dencoder
17143
+ * @dbxUtilRelated id-batch-factory, number-string-dencoder-function
17144
+ *
15989
17145
  * @example
15990
17146
  * ```ts
15991
17147
  * const factory = sequentialIncrementingNumberStringModelIdFactory({ startAt: 0 });
15992
17148
  * const first = factory(); // encoded representation of 0
15993
17149
  * const second = factory(); // encoded representation of 1
15994
17150
  * ```
17151
+ * @__NO_SIDE_EFFECTS__
15995
17152
  */ function sequentialIncrementingNumberStringModelIdFactory() {
15996
17153
  var config = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
15997
17154
  var inputTranformFunction = config.transform, inputDencoder = config.dencoder, currentIndex = config.currentIndex, inputStartAt = config.startAt, inputIncreaseBy = config.increaseBy;
@@ -16046,8 +17203,15 @@ function _unsupported_iterable_to_array$c(o, minLen) {
16046
17203
  * The first object is stored fully. Subsequent objects store only fields that changed from the previous entry.
16047
17204
  * Null in a delta entry means the field was cleared. Undefined (missing key) means no change.
16048
17205
  *
17206
+ * @dbxUtil
17207
+ * @dbxUtilCategory object
17208
+ * @dbxUtilKind factory
17209
+ * @dbxUtilTags object, delta, array, compress, expand, factory
17210
+ * @dbxUtilRelated equality-comparator-function, object-keys-equality-comparator-function
17211
+ *
16049
17212
  * @param config - Configuration with the equality checker that defines which fields to track
16050
17213
  * @returns A compressor with `compress` and `expand` methods
17214
+ * @__NO_SIDE_EFFECTS__
16051
17215
  */ function objectDeltaArrayCompressor(config) {
16052
17216
  var _equalityChecker = config.equalityChecker;
16053
17217
  var assignKnownValuesToCopy = assignValuesToPOJOFunction({
@@ -16690,8 +17854,15 @@ function _unsupported_iterable_to_array$b(o, minLen) {
16690
17854
  /**
16691
17855
  * Creates a function that returns the name for a given DayOfWeek.
16692
17856
  *
17857
+ * @dbxUtil
17858
+ * @dbxUtilCategory date
17859
+ * @dbxUtilKind factory
17860
+ * @dbxUtilTags date, week, day-of-week, name, factory, format
17861
+ * @dbxUtilRelated days-of-week-name-map
17862
+ *
16693
17863
  * @param transform - Optional configuration for abbreviation and casing
16694
17864
  * @returns A function that maps DayOfWeek values to name strings
17865
+ * @__NO_SIDE_EFFECTS__
16695
17866
  */ function daysOfWeekNameFunction(transform) {
16696
17867
  var map = daysOfWeekNameMap(transform);
16697
17868
  return function(dayOfWeek) {
@@ -17209,9 +18380,16 @@ function _object_spread_props$3(target, source) {
17209
18380
  /**
17210
18381
  * Wraps an existing factory with a {@link ToStringFunction} to produce strings from the factory's output.
17211
18382
  *
18383
+ * @dbxUtil
18384
+ * @dbxUtilCategory string
18385
+ * @dbxUtilKind factory
18386
+ * @dbxUtilTags string, factory, wrap, transform, to-string
18387
+ * @dbxUtilRelated string-from-date-factory, string-from-time-factory
18388
+ *
17212
18389
  * @param factory - the original value factory
17213
18390
  * @param toStringFunction - function to convert the factory's output to a string
17214
18391
  * @returns a new factory that produces string values
18392
+ * @__NO_SIDE_EFFECTS__
17215
18393
  */ function stringFactoryFromFactory(factory, toStringFunction) {
17216
18394
  return function() {
17217
18395
  return toStringFunction(factory());
@@ -17219,9 +18397,16 @@ function _object_spread_props$3(target, source) {
17219
18397
  }
17220
18398
  /**
17221
18399
  * Creates a factory that returns a string based on the input date.
17222
-
18400
+ *
18401
+ * @dbxUtil
18402
+ * @dbxUtilCategory string
18403
+ * @dbxUtilKind factory
18404
+ * @dbxUtilTags string, date, factory, transform, slice
18405
+ * @dbxUtilRelated string-from-time-factory, string-factory-from-factory, transform-string-function
18406
+ *
17223
18407
  * @param config Configuration for the factory.
17224
18408
  * @returns A factory that returns a string based on the input date.
18409
+ * @__NO_SIDE_EFFECTS__
17225
18410
  */ function stringFromDateFactory(config) {
17226
18411
  var _ref;
17227
18412
  var takeFromEnd = config.takeFromEnd, transformStringConfig = config.transformStringConfig, dateToString = config.dateToString;
@@ -17239,8 +18424,15 @@ function _object_spread_props$3(target, source) {
17239
18424
  /**
17240
18425
  * Creates a factory that returns a string based on the Unix timestamp of the input date.
17241
18426
  *
18427
+ * @dbxUtil
18428
+ * @dbxUtilCategory string
18429
+ * @dbxUtilKind factory
18430
+ * @dbxUtilTags string, date, time, timestamp, factory, suffix
18431
+ * @dbxUtilRelated string-from-date-factory
18432
+ *
17242
18433
  * @param digitsFromEnd The number of digits to return from the end of the generated string. Defaults to 7.
17243
18434
  * @returns A StringFromDateFactory.
18435
+ * @__NO_SIDE_EFFECTS__
17244
18436
  */ function stringFromTimeFactory() {
17245
18437
  var digitsFromEnd = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 7;
17246
18438
  return stringFromDateFactory({
@@ -17848,8 +19040,15 @@ function _performAsyncTask(_0, _1) {
17848
19040
  * Creates a reusable function that performs tasks in parallel with optional concurrency limits
17849
19041
  * and non-concurrent task key constraints.
17850
19042
  *
19043
+ * @dbxUtil
19044
+ * @dbxUtilCategory promise
19045
+ * @dbxUtilKind factory
19046
+ * @dbxUtilTags promise, parallel, factory, concurrency, async, tasks
19047
+ * @dbxUtilRelated perform-tasks-in-parallel, perform-async-tasks-function
19048
+ *
17851
19049
  * @param config - Configuration for task factory, parallelism limits, and concurrency keys.
17852
19050
  * @returns A function that accepts an array of inputs and returns a Promise resolving when all tasks complete.
19051
+ * @__NO_SIDE_EFFECTS__
17853
19052
  */ function performTasksInParallelFunction(config) {
17854
19053
  var taskFactory = config.taskFactory, sequential = config.sequential, nonConcurrentTaskKeyFactory = config.nonConcurrentTaskKeyFactory, inputMaxParallelTasks = config.maxParallelTasks; config.waitBetweenTasks;
17855
19054
  var defaultNonConcurrentTaskKeyFactory = makeDefaultNonConcurrentTaskKeyFactory();
@@ -17891,8 +19090,15 @@ function _performAsyncTask(_0, _1) {
17891
19090
  * Creates a function that pulls task inputs from a factory and executes them in parallel
17892
19091
  * with configurable concurrency limits and non-concurrent key constraints.
17893
19092
  *
19093
+ * @dbxUtil
19094
+ * @dbxUtilCategory promise
19095
+ * @dbxUtilKind factory
19096
+ * @dbxUtilTags promise, parallel, factory, concurrency, async, pull-tasks
19097
+ * @dbxUtilRelated perform-tasks-in-parallel-function
19098
+ *
17894
19099
  * @param config - Configuration for the task factory, parallelism, and concurrency behavior.
17895
19100
  * @returns a function that accepts a task input factory and returns a Promise that resolves when all tasks complete
19101
+ * @__NO_SIDE_EFFECTS__
17896
19102
  */ function performTasksFromFactoryInParallelFunction(config) {
17897
19103
  /**
17898
19104
  * @returns null
@@ -18158,7 +19364,14 @@ function _performAsyncTask(_0, _1) {
18158
19364
  /**
18159
19365
  * Creates a default non-concurrent task key factory that generates unique incrementing number strings.
18160
19366
  *
19367
+ * @dbxUtil
19368
+ * @dbxUtilCategory promise
19369
+ * @dbxUtilKind factory
19370
+ * @dbxUtilTags promise, parallel, key, factory, unique, incrementing
19371
+ * @dbxUtilRelated perform-tasks-in-parallel-function, incrementing-number-factory
19372
+ *
18161
19373
  * @returns A {@link StringFactory} that produces unique keys for identifying non-concurrent tasks.
19374
+ * @__NO_SIDE_EFFECTS__
18162
19375
  */ function makeDefaultNonConcurrentTaskKeyFactory() {
18163
19376
  return stringFactoryFromFactory(incrementingNumberFactory(), function(x) {
18164
19377
  return x.toString();
@@ -18521,8 +19734,15 @@ function _ts_generator$3(thisArg, body) {
18521
19734
  * Creates a {@link TryWithPromiseFactoriesFunction} that sequentially tries each promise factory
18522
19735
  * until one returns a non-null value (or a Maybe value if `successOnMaybe` is true).
18523
19736
  *
19737
+ * @dbxUtil
19738
+ * @dbxUtilCategory promise
19739
+ * @dbxUtilKind factory
19740
+ * @dbxUtilTags promise, factory, try, sequential, fallback, async
19741
+ * @dbxUtilRelated run-named-async-tasks-function
19742
+ *
18524
19743
  * @param config - Configuration including the array of promise factories and default behavior options.
18525
19744
  * @returns A function that tries each factory in order for a given input.
19745
+ * @__NO_SIDE_EFFECTS__
18526
19746
  */ function tryWithPromiseFactoriesFunction(config) {
18527
19747
  var promiseFactories = config.promiseFactories, defaultSuccessOnMaybe = config.successOnMaybe, defaultThrowErrors = config.throwErrors;
18528
19748
  return function(input, config) {
@@ -18852,8 +20072,15 @@ function _ts_generator$2(thisArg, body) {
18852
20072
  /**
18853
20073
  * Creates a new RunNamedAsyncTasksFunction.
18854
20074
  *
20075
+ * @dbxUtil
20076
+ * @dbxUtilCategory promise
20077
+ * @dbxUtilKind factory
20078
+ * @dbxUtilTags promise, async, task, factory, named, parallel
20079
+ * @dbxUtilRelated try-with-promise-factories-function
20080
+ *
18855
20081
  * @param config Optional configuration.
18856
20082
  * @returns A new RunNamedAsyncTasksFunction.
20083
+ * @__NO_SIDE_EFFECTS__
18857
20084
  */ function runNamedAsyncTasksFunction(config) {
18858
20085
  var _ref = config !== null && config !== void 0 ? config : {}, onTaskSuccess = _ref.onTaskSuccess, onTaskFailure = _ref.onTaskFailure;
18859
20086
  return function(inputTasks, options) {
@@ -19076,9 +20303,16 @@ function _is_native_reflect_construct$2() {
19076
20303
  /**
19077
20304
  * Creates a new Timer from the input duration.
19078
20305
  *
20306
+ * @dbxUtil
20307
+ * @dbxUtilCategory date
20308
+ * @dbxUtilKind factory
20309
+ * @dbxUtilTags date, time, timer, factory, duration
20310
+ * @dbxUtilRelated timer
20311
+ *
19079
20312
  * @param duration - The duration of the timer.
19080
20313
  * @param startImmediately - Whether the timer should start immediately. Defaults to true.
19081
20314
  * @returns The new Timer.
20315
+ * @__NO_SIDE_EFFECTS__
19082
20316
  */ function makeTimer(duration) {
19083
20317
  var startImmediately = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
19084
20318
  var createdAt = new Date();
@@ -19570,8 +20804,15 @@ function _compareObjects(a, b, pojoFilter) {
19570
20804
  *
19571
20805
  * Fields can be specified as simple field names (using the default `===` comparator) or as config objects with custom comparators.
19572
20806
  *
20807
+ * @dbxUtil
20808
+ * @dbxUtilCategory object
20809
+ * @dbxUtilKind factory
20810
+ * @dbxUtilTags object, equality, fields, comparator, factory
20811
+ * @dbxUtilRelated object-keys-equality-comparator-function, object-key-equality-comparator-function
20812
+ *
19573
20813
  * @param config - Configuration with the fields to compare and an optional default equality function
19574
20814
  * @returns A function that compares two objects and reports which fields are equal/unequal
20815
+ * @__NO_SIDE_EFFECTS__
19575
20816
  */ function objectFieldEqualityChecker(config) {
19576
20817
  var fields = config.fields, _config_defaultEqualityFunction = config.defaultEqualityFunction, defaultEqualityFunction = _config_defaultEqualityFunction === void 0 ? function(a, b) {
19577
20818
  return a === b;
@@ -19619,8 +20860,15 @@ function _compareObjects(a, b, pojoFilter) {
19619
20860
  * Returns `true` if both arrays have the same length and produce identical key sets.
19620
20861
  * Handles `null`/`undefined` inputs via {@link safeEqualityComparatorFunction}.
19621
20862
  *
20863
+ * @dbxUtil
20864
+ * @dbxUtilCategory object
20865
+ * @dbxUtilKind factory
20866
+ * @dbxUtilTags object, key, equality, comparator, factory, array
20867
+ * @dbxUtilRelated object-key-equality-comparator-function, safe-equality-comparator-function
20868
+ *
19622
20869
  * @param readKey - Function to extract one or more keys from each object
19623
20870
  * @returns An equality comparator for arrays of keyed objects
20871
+ * @__NO_SIDE_EFFECTS__
19624
20872
  */ function objectKeysEqualityComparatorFunction(readKey) {
19625
20873
  var readKeysSet = readKeysSetFunction(readKey);
19626
20874
  var readKeysArray = readKeysFunction(readKey);
@@ -19644,8 +20892,15 @@ function _compareObjects(a, b, pojoFilter) {
19644
20892
  *
19645
20893
  * Handles `null`/`undefined` inputs via {@link safeEqualityComparatorFunction}.
19646
20894
  *
20895
+ * @dbxUtil
20896
+ * @dbxUtilCategory object
20897
+ * @dbxUtilKind factory
20898
+ * @dbxUtilTags object, key, equality, comparator, factory
20899
+ * @dbxUtilRelated object-keys-equality-comparator-function, safe-equality-comparator-function
20900
+ *
19647
20901
  * @param readKey - Function to extract the key from an object
19648
20902
  * @returns An equality comparator for keyed objects
20903
+ * @__NO_SIDE_EFFECTS__
19649
20904
  */ function objectKeyEqualityComparatorFunction(readKey) {
19650
20905
  return safeEqualityComparatorFunction(function(a, b) {
19651
20906
  return readKey(a) === readKey(b);
@@ -19709,8 +20964,15 @@ function _unsupported_iterable_to_array$7(o, minLen) {
19709
20964
  /**
19710
20965
  * Creates a reusable {@link MapObjectMapFunction} that applies {@link mapObjectMap} with the given mapping function.
19711
20966
  *
20967
+ * @dbxUtil
20968
+ * @dbxUtilCategory object
20969
+ * @dbxUtilKind factory
20970
+ * @dbxUtilTags object, map, transform, factory, values
20971
+ * @dbxUtilRelated map-object-map, map-object-keys-function
20972
+ *
19712
20973
  * @param mapFn - Function that transforms each value (receives value and key)
19713
20974
  * @returns A function that maps all values in an input object map
20975
+ * @__NO_SIDE_EFFECTS__
19714
20976
  */ function mapObjectMapFunction(mapFn) {
19715
20977
  return function(object) {
19716
20978
  return mapObjectMap(object, mapFn);
@@ -19744,8 +21006,15 @@ function _unsupported_iterable_to_array$7(o, minLen) {
19744
21006
  /**
19745
21007
  * Creates a reusable {@link MapObjectKeysFunction} that transforms the keys of an input object using the given mapping function.
19746
21008
  *
21009
+ * @dbxUtil
21010
+ * @dbxUtilCategory object
21011
+ * @dbxUtilKind factory
21012
+ * @dbxUtilTags object, map, keys, transform, factory, rename
21013
+ * @dbxUtilRelated map-object-map-function, map-object-keys-to-lowercase
21014
+ *
19747
21015
  * @param mapKeyFn - Function that computes the new key from the old key and its value
19748
21016
  * @returns A function that remaps keys on any input object
21017
+ * @__NO_SIDE_EFFECTS__
19749
21018
  */ function mapObjectKeysFunction(mapKeyFn) {
19750
21019
  return function(object) {
19751
21020
  var target = {};
@@ -19863,9 +21132,16 @@ function _type_of$2(obj) {
19863
21132
  * If the field does not exist on the source but a default is configured, the default is used.
19864
21133
  * Otherwise, the target is left unchanged.
19865
21134
  *
21135
+ * @dbxUtil
21136
+ * @dbxUtilCategory model
21137
+ * @dbxUtilKind factory
21138
+ * @dbxUtilTags model, copy, field, factory, default
21139
+ * @dbxUtilRelated make-model-map-functions, modify-model-map-functions
21140
+ *
19866
21141
  * @param key - The property key to copy
19867
21142
  * @param inputConfig - Optional config with a default value for the field
19868
21143
  * @returns A function that copies the field from source to target
21144
+ * @__NO_SIDE_EFFECTS__
19869
21145
  */ function makeCopyModelFieldFunction(key, inputConfig) {
19870
21146
  var config = inputConfig !== null && inputConfig !== void 0 ? inputConfig : {};
19871
21147
  var hasDefault = objectHasKey(config, 'default');
@@ -19931,8 +21207,15 @@ function _unsupported_iterable_to_array$6(o, minLen) {
19931
21207
  *
19932
21208
  * The `to` function converts from the model (V) to data (D), while `from` converts back from data (D) to model (V).
19933
21209
  *
21210
+ * @dbxUtil
21211
+ * @dbxUtilCategory model
21212
+ * @dbxUtilKind factory
21213
+ * @dbxUtilTags model, conversion, map, factory, bidirectional, fields
21214
+ * @dbxUtilRelated to-model-map-functions, modify-model-map-functions, model-field-conversions
21215
+ *
19934
21216
  * @param fields - Field conversion definitions for each key in the model
19935
21217
  * @returns Object with `from` and `to` mapping functions
21218
+ * @__NO_SIDE_EFFECTS__
19936
21219
  */ function makeModelMapFunctions(fields) {
19937
21220
  var keys = filterKeyValueTuples(fields);
19938
21221
  var conversionsByKey = keys.map(function(param) {
@@ -19968,8 +21251,15 @@ function _unsupported_iterable_to_array$6(o, minLen) {
19968
21251
  *
19969
21252
  * Supports optional filtering by field names and skipping undefined values via {@link ModelConversionOptions}.
19970
21253
  *
21254
+ * @dbxUtil
21255
+ * @dbxUtilCategory model
21256
+ * @dbxUtilKind factory
21257
+ * @dbxUtilTags model, conversion, factory, fields, map, transform
21258
+ * @dbxUtilRelated make-model-map-functions, model-field-map-functions
21259
+ *
19971
21260
  * @param fields - Array of `[key, convertFn]` tuples defining how each field is converted
19972
21261
  * @returns A function that converts an input object to an output object
21262
+ * @__NO_SIDE_EFFECTS__
19973
21263
  */ function makeModelConversionFieldValuesFunction(fields) {
19974
21264
  return function(input, inputTarget, options) {
19975
21265
  var target = inputTarget !== null && inputTarget !== void 0 ? inputTarget : {};
@@ -20006,8 +21296,15 @@ function _unsupported_iterable_to_array$6(o, minLen) {
20006
21296
  /**
20007
21297
  * Compiles a {@link ModelFieldMapFunctionsConfig} into resolved {@link ModelFieldMapFunctions} with `from` and `to` mapping functions.
20008
21298
  *
21299
+ * @dbxUtil
21300
+ * @dbxUtilCategory model
21301
+ * @dbxUtilKind factory
21302
+ * @dbxUtilTags model, field, map, factory, conversion, bidirectional
21303
+ * @dbxUtilRelated model-field-map-function, make-model-map-functions
21304
+ *
20009
21305
  * @param config - Configuration with `from` and `to` field map configs
20010
21306
  * @returns Compiled field map functions
21307
+ * @__NO_SIDE_EFFECTS__
20011
21308
  */ function modelFieldMapFunctions(config) {
20012
21309
  return {
20013
21310
  from: modelFieldMapFunction(config.from),
@@ -20022,8 +21319,15 @@ function _unsupported_iterable_to_array$6(o, minLen) {
20022
21319
  * - Null/undefined input with `convertMaybe`: delegates to that function
20023
21320
  * - Null/undefined input with `default` or `defaultInput`: uses the appropriate fallback
20024
21321
  *
21322
+ * @dbxUtil
21323
+ * @dbxUtilCategory model
21324
+ * @dbxUtilKind factory
21325
+ * @dbxUtilTags model, field, map, factory, maybe, default, convert
21326
+ * @dbxUtilRelated model-field-map-functions, make-model-map-functions
21327
+ *
20025
21328
  * @param config - Configuration specifying how to convert values and handle null/undefined
20026
21329
  * @returns A function that maps Maybe input values to output values
21330
+ * @__NO_SIDE_EFFECTS__
20027
21331
  */ function modelFieldMapFunction(config) {
20028
21332
  var convert = config.convert;
20029
21333
  var convertMaybe = 'convertMaybe' in config ? config.convertMaybe : undefined;
@@ -20064,8 +21368,15 @@ function _unsupported_iterable_to_array$6(o, minLen) {
20064
21368
  *
20065
21369
  * Accepts a pre-built `mapFunctions` reference, a `fieldConversions` ref, or a `fields` config.
20066
21370
  *
21371
+ * @dbxUtil
21372
+ * @dbxUtilCategory model
21373
+ * @dbxUtilKind factory
21374
+ * @dbxUtilTags model, conversion, map, factory, normalize, resolve
21375
+ * @dbxUtilRelated make-model-map-functions, to-model-field-conversions
21376
+ *
20067
21377
  * @param input - Input that can be resolved to model map functions
20068
21378
  * @returns Bidirectional model map functions
21379
+ * @__NO_SIDE_EFFECTS__
20069
21380
  */ function toModelMapFunctions(input) {
20070
21381
  var mapFunctions;
20071
21382
  if ('mapFunctions' in input) {
@@ -20164,8 +21475,15 @@ function _object_spread$2(target) {
20164
21475
  *
20165
21476
  * Optionally copies the input object before modification to avoid mutating the original.
20166
21477
  *
21478
+ * @dbxUtil
21479
+ * @dbxUtilCategory model
21480
+ * @dbxUtilKind factory
21481
+ * @dbxUtilTags model, map, modify, factory, modifier, copy
21482
+ * @dbxUtilRelated make-model-map-functions, modify-model-map-function
21483
+ *
20167
21484
  * @param config - Configuration with the base map functions, modifiers, and copy options
20168
21485
  * @returns New model map functions with modifiers applied before each conversion
21486
+ * @__NO_SIDE_EFFECTS__
20169
21487
  */ function modifyModelMapFunctions(config) {
20170
21488
  var copy = config.copy, _config_copyModel = config.copyModel, copyModel = _config_copyModel === void 0 ? copy : _config_copyModel, _config_copyData = config.copyData, copyData = _config_copyData === void 0 ? copy : _config_copyData, mapFunctions = config.mapFunctions, modifiers = config.modifiers;
20171
21489
  var from = mapFunctions.from, to = mapFunctions.to;
@@ -20183,10 +21501,17 @@ function _object_spread$2(target) {
20183
21501
  * When `copy` is true (default), the input is shallow-copied before modification to avoid mutating the original.
20184
21502
  * If no modifier is provided, the original map function is returned unchanged.
20185
21503
  *
21504
+ * @dbxUtil
21505
+ * @dbxUtilCategory model
21506
+ * @dbxUtilKind factory
21507
+ * @dbxUtilTags model, map, modify, factory, modifier, wrap
21508
+ * @dbxUtilRelated modify-model-map-functions, model-field-map-function
21509
+ *
20186
21510
  * @param mapFn - The base map function to wrap
20187
21511
  * @param modifyModel - Optional modifier to apply before mapping
20188
21512
  * @param copy - Whether to shallow-copy the input before modifying; defaults to true
20189
21513
  * @returns The wrapped map function, or the original if no modifier is provided
21514
+ * @__NO_SIDE_EFFECTS__
20190
21515
  */ function modifyModelMapFunction(mapFn, modifyModel) {
20191
21516
  var copy = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;
20192
21517
  return modifyModel ? function(input, target, options) {
@@ -20201,8 +21526,15 @@ function _object_spread$2(target) {
20201
21526
  /**
20202
21527
  * Creates a function that reads a Node.js ReadableStream and converts its contents to a string using the specified encoding.
20203
21528
  *
21529
+ * @dbxUtil
21530
+ * @dbxUtilCategory nodejs
21531
+ * @dbxUtilKind factory
21532
+ * @dbxUtilTags nodejs, stream, readable, string, factory, encoding
21533
+ * @dbxUtilRelated readable-stream-to-buffer, readable-stream-to-base64
21534
+ *
20204
21535
  * @param encoding - The buffer encoding to use (e.g., 'utf-8', 'base64')
20205
21536
  * @returns A function that consumes a ReadableStream and resolves to its string content
21537
+ * @__NO_SIDE_EFFECTS__
20206
21538
  */ function readableStreamToStringFunction(encoding) {
20207
21539
  return function(stream) {
20208
21540
  return readableStreamToBuffer(stream).then(function(x) {
@@ -20635,6 +21967,7 @@ function _unsupported_iterable_to_array$5(o, minLen) {
20635
21967
  /**
20636
21968
  * Special key used to register a catch-all handler that matches any unhandled key.
20637
21969
  */ var CATCH_ALL_HANDLE_RESULT_KEY = '__CATCH_ALL_HANDLE_RESULT_KEY__';
21970
+ // @__NO_SIDE_EFFECTS__
20638
21971
  function handlerFactory(readKey, options) {
20639
21972
  var _ref, _ref1;
20640
21973
  var defaultResultValue = (_ref = options === null || options === void 0 ? void 0 : options.defaultResult) !== null && _ref !== void 0 ? _ref : true;
@@ -20683,8 +22016,15 @@ function handlerFactory(readKey, options) {
20683
22016
  /**
20684
22017
  * Convenience function that creates a new {@link Handler} from the given key reader using default options.
20685
22018
  *
22019
+ * @dbxUtil
22020
+ * @dbxUtilCategory service
22021
+ * @dbxUtilKind factory
22022
+ * @dbxUtilTags service, handler, factory, dispatch, key, convenience
22023
+ * @dbxUtilRelated handler-factory
22024
+ *
20686
22025
  * @param readKey - Function to extract the dispatch key from an input value.
20687
22026
  * @returns A new Handler instance.
22027
+ * @__NO_SIDE_EFFECTS__
20688
22028
  */ function makeHandler(readKey) {
20689
22029
  return handlerFactory(readKey)();
20690
22030
  }
@@ -20718,9 +22058,16 @@ function handlerFactory(readKey, options) {
20718
22058
  /**
20719
22059
  * Creates a {@link HandlerSetFunction} that registers a handler function on a pre-defined key.
20720
22060
  *
22061
+ * @dbxUtil
22062
+ * @dbxUtilCategory service
22063
+ * @dbxUtilKind factory
22064
+ * @dbxUtilTags service, handler, set, factory, register
22065
+ * @dbxUtilRelated handler-mapped-set-function, handler-factory
22066
+ *
20721
22067
  * @param accessor - The handler set accessor to register on.
20722
22068
  * @param key - The key (or keys) to associate the handler with.
20723
22069
  * @returns A function that accepts a handler function and registers it for the given key.
22070
+ * @__NO_SIDE_EFFECTS__
20724
22071
  */ function handlerSetFunction(accessor, key) {
20725
22072
  var fn = function fn(handlerFunction) {
20726
22073
  accessor.set(key, handlerFunction); // set the handler on the pre-defined key.
@@ -20732,10 +22079,17 @@ function handlerFactory(readKey, options) {
20732
22079
  * Creates a {@link HandlerMappedSetFunction} that maps the handler's native input type to a different
20733
22080
  * type before invoking the registered handler function.
20734
22081
  *
22082
+ * @dbxUtil
22083
+ * @dbxUtilCategory service
22084
+ * @dbxUtilKind factory
22085
+ * @dbxUtilTags service, handler, set, mapped, factory, transform
22086
+ * @dbxUtilRelated handler-set-function, handler-mapped-set-function-factory
22087
+ *
20735
22088
  * @param accessor - The handler set accessor to register on.
20736
22089
  * @param key - The key (or keys) to associate the handler with.
20737
22090
  * @param mapFn - Function to map from the handler's native type to the handler function's expected type.
20738
22091
  * @returns A function that accepts a mapped handler function and registers it.
22092
+ * @__NO_SIDE_EFFECTS__
20739
22093
  */ function handlerMappedSetFunction(accessor, key, mapFn) {
20740
22094
  var handlerSet = handlerSetFunction(accessor, key);
20741
22095
  return function(handlerFunction) {
@@ -20749,9 +22103,16 @@ function handlerFactory(readKey, options) {
20749
22103
  /**
20750
22104
  * Creates a {@link HandlerMappedSetFunctionFactory} that produces mapped set functions for any given key.
20751
22105
  *
22106
+ * @dbxUtil
22107
+ * @dbxUtilCategory service
22108
+ * @dbxUtilKind factory
22109
+ * @dbxUtilTags service, handler, mapped, factory, dispatch
22110
+ * @dbxUtilRelated handler-mapped-set-function, handler-set-function
22111
+ *
20752
22112
  * @param accessor - The handler set accessor to register on.
20753
22113
  * @param mapFn - Function to map from the handler's native type to the handler function's expected type.
20754
22114
  * @returns A factory that creates HandlerMappedSetFunctions for specific keys.
22115
+ * @__NO_SIDE_EFFECTS__
20755
22116
  */ function handlerMappedSetFunctionFactory(accessor, mapFn) {
20756
22117
  return function(key) {
20757
22118
  return handlerMappedSetFunction(accessor, key, mapFn);
@@ -20761,8 +22122,15 @@ function handlerFactory(readKey, options) {
20761
22122
  * Creates a {@link HandlerConfigurerFactory} that produces configurers for binding handler functions
20762
22123
  * to a handler instance with automatic `this` binding.
20763
22124
  *
22125
+ * @dbxUtil
22126
+ * @dbxUtilCategory service
22127
+ * @dbxUtilKind factory
22128
+ * @dbxUtilTags service, handler, configurer, factory, bind
22129
+ * @dbxUtilRelated handler-bind-accessor, handler-factory
22130
+ *
20764
22131
  * @param config - Configuration providing the accessor-to-configurer mapping.
20765
22132
  * @returns A factory that creates HandlerConfigurers for specific handlers.
22133
+ * @__NO_SIDE_EFFECTS__
20766
22134
  */ function handlerConfigurerFactory(config) {
20767
22135
  return function(handler) {
20768
22136
  return function(bindTo, configure) {
@@ -21826,8 +23194,15 @@ function mimeTypeForFileExtension(extension) {
21826
23194
  /**
21827
23195
  * Creates a {@link SortByStringFunction} that sorts values in ascending alphabetical order using `localeCompare`.
21828
23196
  *
23197
+ * @dbxUtil
23198
+ * @dbxUtilCategory string
23199
+ * @dbxUtilKind factory
23200
+ * @dbxUtilTags string, sort, compare, alphabetical, factory, locale
23201
+ * @dbxUtilRelated sort-by-label-function
23202
+ *
21829
23203
  * @param readStringFn - Function to extract a string from each value for comparison.
21830
23204
  * @returns A comparator function suitable for use with `Array.sort()`.
23205
+ * @__NO_SIDE_EFFECTS__
21831
23206
  */ function sortByStringFunction(readStringFn) {
21832
23207
  return function(a, b) {
21833
23208
  var as = readStringFn(a);
@@ -21844,8 +23219,15 @@ function mimeTypeForFileExtension(extension) {
21844
23219
  /**
21845
23220
  * Creates a {@link SearchStringFilterFunction} that filters values based on whether their string representation matches the filter text.
21846
23221
  *
23222
+ * @dbxUtil
23223
+ * @dbxUtilCategory string
23224
+ * @dbxUtilKind factory
23225
+ * @dbxUtilTags string, search, filter, factory, match, decision
23226
+ * @dbxUtilRelated case-insensitive-filter-by-index-of-decision-factory
23227
+ *
21847
23228
  * @param config - A read function or full configuration specifying how to extract and match search strings.
21848
23229
  * @returns A function that filters an array of values by a search/filter text string.
23230
+ * @__NO_SIDE_EFFECTS__
21849
23231
  */ function searchStringFilterFunction(config) {
21850
23232
  var _ref = typeof config === 'function' ? {
21851
23233
  readStrings: config
@@ -21940,8 +23322,15 @@ function _unsupported_iterable_to_array(o, minLen) {
21940
23322
  /**
21941
23323
  * Creates a {@link SplitStringTreeFactory} that builds tree structures by splitting strings on the configured separator.
21942
23324
  *
23325
+ * @dbxUtil
23326
+ * @dbxUtilCategory string
23327
+ * @dbxUtilKind factory
23328
+ * @dbxUtilTags string, tree, split, separator, factory, hierarchy
23329
+ * @dbxUtilRelated add-to-split-string-tree, find-best-split-string-tree-match
23330
+ *
21943
23331
  * @param config - Configuration specifying the separator and optional metadata merge strategy.
21944
23332
  * @returns A factory function that creates or extends split string trees.
23333
+ * @__NO_SIDE_EFFECTS__
21945
23334
  */ function splitStringTreeFactory(config) {
21946
23335
  var separator = config.separator;
21947
23336
  var fn = function fn(input, existing) {
@@ -22101,6 +23490,7 @@ function _unsupported_iterable_to_array(o, minLen) {
22101
23490
  * @template N The type of the TreeNode to be created. Defaults to TreeNode<T, any> if not specified by ExpandTreeWithNodeBuilder.
22102
23491
  * @param config An ExpandTree<T> or ExpandTreeWithNodeBuilder<T, N> configuration object.
22103
23492
  * @returns An ExpandTreeFunction<T, N> that takes a root value and returns its corresponding tree structure.
23493
+ * @__NO_SIDE_EFFECTS__
22104
23494
  */ function expandTreeFunction(config) {
22105
23495
  var _config_makeNode;
22106
23496
  var makeNodeFromConfig = (_config_makeNode = config.makeNode) !== null && _config_makeNode !== void 0 ? _config_makeNode : function(basicNode) {
@@ -22193,6 +23583,7 @@ function _unsupported_iterable_to_array(o, minLen) {
22193
23583
  * visited.push(id);
22194
23584
  * });
22195
23585
  * ```
23586
+ * @__NO_SIDE_EFFECTS__
22196
23587
  */ function exploreTreeFunction(config) {
22197
23588
  var _ref, _ref1, _ref2;
22198
23589
  var defaultMapNodeFn = (_ref = config === null || config === void 0 ? void 0 : config.mapNodeFunction) !== null && _ref !== void 0 ? _ref : MAP_IDENTITY;
@@ -22243,6 +23634,7 @@ function _unsupported_iterable_to_array(o, minLen) {
22243
23634
  * });
22244
23635
  * // Visits: root -> child1 -> leaf1 -> leaf2 -> child2 -> leaf3
22245
23636
  * ```
23637
+ * @__NO_SIDE_EFFECTS__
22246
23638
  */ function depthFirstExploreTreeTraversalFactoryFunction() {
22247
23639
  return function(visit, continueTraversal) {
22248
23640
  return function(node, nodeMappedValue, visitDecision) {
@@ -22281,6 +23673,7 @@ function _unsupported_iterable_to_array(o, minLen) {
22281
23673
  * });
22282
23674
  * // Visits: root -> child1, child2, child3 -> leaf1, leaf2, leaf3
22283
23675
  * ```
23676
+ * @__NO_SIDE_EFFECTS__
22284
23677
  */ function breadthFirstExploreTreeTraversalFactoryFunction() {
22285
23678
  return function(visit, continueTraversal) {
22286
23679
  var queue = [];
@@ -22453,6 +23846,7 @@ function _object_spread_props(target, source) {
22453
23846
  * const ids = flattenIds(rootNode);
22454
23847
  * // ['root', 'child1', 'leaf1', 'leaf2', 'child2', 'leaf3']
22455
23848
  * ```
23849
+ * @__NO_SIDE_EFFECTS__
22456
23850
  */ function flattenTreeToArrayFunction(mapNodeFnOrConfig, defaultAddNodeFn) {
22457
23851
  var _config_shouldAddNodeFunction;
22458
23852
  var config = typeof mapNodeFnOrConfig === 'function' ? {
@@ -22491,6 +23885,7 @@ function _object_spread_props(target, source) {
22491
23885
  * @param expand An ExpandTreeFunction (values: T[]) => N[] that converts an array of T into an array of tree nodes N.
22492
23886
  * @param flatten A FlattenTreeFunction (tree: N, array?: V[]) => V[] that flattens a tree of N nodes into an array of V values.
22493
23887
  * @returns An ExpandFlattenTreeFunction (values: T[]) => V[] that performs the combined expansion and flattening.
23888
+ * @__NO_SIDE_EFFECTS__
22494
23889
  */ function expandFlattenTreeFunction(expand, flatten) {
22495
23890
  return function(values) {
22496
23891
  return flatten(expandTrees(values, expand));
@@ -22617,6 +24012,7 @@ function invertMaybeBoolean(x) {
22617
24012
  * const coinFlip = booleanFactory({ chance: 50 });
22618
24013
  * coinFlip(); // true or false with equal probability
22619
24014
  * ```
24015
+ * @__NO_SIDE_EFFECTS__
22620
24016
  */ function booleanFactory(config) {
22621
24017
  var inputChance = config.chance;
22622
24018
  var chance = inputChance / 100;
@@ -22794,6 +24190,7 @@ function _define_property$1(obj, key, value) {
22794
24190
  * @param decodeValues - An array of potential original string values.
22795
24191
  * @param hashFn - A function that takes a string and returns its hashed representation.
22796
24192
  * @returns A {@link HashDecodeMap} for decoding hashed values.
24193
+ * @__NO_SIDE_EFFECTS__
22797
24194
  */ function makeHashDecodeMap(decodeValues, hashFn) {
22798
24195
  var keyValuePairs = decodeValues.map(function(x) {
22799
24196
  return [
@@ -23457,4 +24854,4 @@ function _ts_generator(thisArg, body) {
23457
24854
  return result;
23458
24855
  }
23459
24856
 
23460
- export { ALL_DOUBLE_SLASHES_REGEX, ALL_SLASHES_REGEX, ALL_SLASH_PATH_FILE_TYPE_SEPARATORS_REGEX, ALL_TIME_UNITS, APPLICATION_FILE_EXTENSION_TO_MIME_TYPES_RECORD, APPLICATION_MIME_TYPES_TO_FILE_EXTENSIONS_RECORD, 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, CATCH_ALL_HANDLE_RESULT_KEY, COMMA_JOINER, COMMA_STRING_SPLIT_JOIN, CSV_MIME_TYPE, CUT_VALUE_TO_ZERO_PRECISION, DASH_CHARACTER_PREFIX_INSTANCE, DATE_NOW_VALUE, DAYS_IN_WEEK, DAYS_IN_YEAR, DEFAULT_CUT_STRING_END_TEXT, DEFAULT_ENCRYPTED_FIELD_PREFIX, 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_SLASH_PATH_PATH_MATCHER_NON_MATCHING_FILL_VALUE, DEFAULT_UNKNOWN_MODEL_TYPE_STRING, DOCUMENT_FILE_EXTENSION_TO_MIME_TYPES_RECORD, DOCUMENT_MIME_TYPES_TO_FILE_EXTENSIONS_RECORD, DOCX_MIME_TYPE, 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, ExploreTreeVisitNodeDecision, FINAL_PAGE, FIRST_PAGE, FRACTIONAL_HOURS_PRECISION_FUNCTION, FlattenTreeAddNodeDecision, FullStorageObject, GIF_MIME_TYPE, HAS_PORT_NUMBER_REGEX, HAS_WEBSITE_DOMAIN_NAME_REGEX, HEIF_MIME_TYPE, HEX_PATTERN, HOURS_IN_DAY, HTML_MIME_TYPE, HTTP_OR_HTTPS_REGEX, HashSet, IMAGE_FILE_EXTENSION_TO_MIME_TYPES_RECORD, IMAGE_MIME_TYPES_TO_FILE_EXTENSIONS_RECORD, ISO8601_DAY_STRING_REGEX, ISO8601_DAY_STRING_START_REGEX, ISO_8601_DATE_STRING_REGEX, JPEG_MIME_TYPE, JPEG_MIME_TYPES, JPG_MIME_TYPE, JSON_MIME_TYPE, 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, MARKDOWN_MIME_TYPE, 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, MS_IN_WEEK, MemoryStorageInstance, ModelRelationUtility, NOOP_MODIFIER, NUMBER_STRING_DENCODER_64, NUMBER_STRING_DENCODER_64_DEFAULT_NEGATIVE_PREFIX, NUMBER_STRING_DENCODER_64_DIGITS, OAUTH_OOB_REDIRECT_URI, PDF_ENCRYPT_MARKER, PDF_EOF_MARKER, PDF_HEADER, PDF_MIME_TYPE, PHONE_EXTENSION_NUMBER_REGEX, PJPEG_MIME_TYPE, PNG_MIME_TYPE, PRIMATIVE_KEY_DENCODER_VALUE, PropertyDescriptorUtility, RAW_MIME_TYPE, REGEX_SPECIAL_CHARACTERS, REGEX_SPECIAL_CHARACTERS_SET, RelationChange, SECONDS_IN_HOUR, 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, SPACE_JOINER, SPACE_STRING_SPLIT_JOIN, SPLIT_STRING_TREE_NODE_ROOT_VALUE, SVG_MIME_TYPE, ServerErrorResponse, SetDeltaChange, SimpleStorageObject, SlashPathPathMatcherPartCode, StorageObject, StorageObjectUtility, StoredDataError, SyncState, TIFF_MIME_TYPE, TIME_UNIT_LABEL_MAP, TIME_UNIT_SHORT_LABEL_MAP, TOTAL_LATITUDE_RANGE, TOTAL_LONGITUDE_RANGE, TOTAL_SPAN_OF_LONGITUDE, TRAILING_FILE_TYPE_SEPARATORS_REGEX, TRAILING_SLASHES_REGEX, TXT_MIME_TYPE, TimeAM, TimerCancelledError, 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, WEBP_MIME_TYPE, WEBSITE_TLD_DETECTION_REGEX, WEB_PROTOCOL_PREFIX_REGEX, XLSX_MIME_TYPE, XML_MIME_TYPE, YAML_MIME_TYPE, ZIP_CODE_STRING_REGEX, ZIP_FILE_MIME_TYPE, addHttpToUrl, addLatLngPoints, addMilliseconds, addModifiers, addPlusPrefixToNumber, addPrefix, addPrefixFunction, addSuffix, addSuffixFunction, addToSet, addToSetCopy, addToSplitStringTree, addTrailingSlash, allFalsyOrEmptyKeys, allIndexesInIndexRange, allKeyValueTuples, allMaybeSoKeys, allNonUndefinedKeys, allObjectsAreEqual, allValuesAreMaybeNot, allValuesAreNotMaybe, allowValueOnceFilter, applicationFileExtensionForMimeType, applyBestFit, applySplitStringTreeWithMultipleValues, applyToMultipleFields, approximateTimerEndDate, areEqualContext, areEqualPOJOValues, areEqualPOJOValuesUsingPojoFilter, arrayContainsDuplicateValue, arrayContentsDiffer, arrayDecision, arrayDecisionFunction, arrayFactory, arrayInputFactory, arrayToLowercase, arrayToMap, arrayToObject, arrayToUppercase, asArray, asDecisionFunction, asGetter, asIndexRangeCheckFunctionConfig, asIterable, asMinuteOfDay, asNonEmptyArray, asNumber, asObjectCopyFactory, asPromise, asSet, assignValuesToPOJO, assignValuesToPOJOFunction, authClaims, authRoleClaimsService, authRolesSetHasRoles, baseWebsiteUrl, batch, batchCalc, bitwiseObjectDencoder, bitwiseObjectEncoder, bitwiseObjectdecoder, bitwiseSetDecoder, bitwiseSetDencoder, booleanFactory, booleanKeyArrayUtility, boundNumber, boundNumberFunction, boundToRectangle, breadthFirstExploreTreeTraversalFactoryFunction, bufferHasValidPdfMarkings, build, cachedGetter, calculateExpirationDate, camelOrPascalToScreamingSnake, capLatValue, capitalizeFirstLetter, caseInsensitiveFilterByIndexOfDecisionFactory, caseInsensitiveString, catchAllHandlerKey, chainMapFunction, chainMapSameFunctions, characterPrefixSuffixInstance, checkAnyHaveExpired, checkAtleastOneNotExpired, coerceToEmailParticipants, combineMaps, compareEqualityWithValueFromItemsFunction, compareEqualityWithValueFromItemsFunctionFactory, compareFnOrder, compareWithMappedValuesFunction, computeNextFractionalHour, computeNextFreeIndexFunction, computeNextFreeIndexOnSortedValuesFunction, concatArrays, concatArraysUnique, containsAllStringsAnyCase, containsAllValues, containsAnyStringAnyCase, containsAnyValue, containsAnyValueFromSet, containsNoValueFromSet, containsNoneOfValue, containsStringAnyCase, convertEmailParticipantStringToParticipant, convertMaybeToArray, convertMaybeToNonEmptyArray, convertParticipantToEmailParticipantString, convertTimeDuration, convertToArray, copyArray, copyField, copyLatLngBound, copyLatLngPoint, copyObject, copySetAndDo, countAllInNestedArray, countPOJOKeys, countPOJOKeysFunction, cronExpressionRepeatingEveryNMinutes, cssClassesSet, cssTokenVar, cssVariableVar, cutString, cutStringFunction, cutToPrecision, cutValueToInteger, cutValueToPrecision, cutValueToPrecisionFunction, dateFromDateOrTimeMillisecondsNumber, dateFromDateOrTimeSecondsNumber, dateFromLogicalDate, dateFromMinuteOfDay, dateOrMillisecondsToDate, dateToHoursAndMinutes, dateToMinuteOfDay, dayOfWeek, daysOfWeekArray, daysOfWeekFromEnabledDays, daysOfWeekNameFunction, daysOfWeekNameMap, decisionFunction, decodeHashedValues, decodeHashedValuesWithDecodeMap, decodeModelKeyTypePair, decodeRadix36Number, defaultFilterFromPOJOFunctionNoCopy, defaultForwardFunctionFactory, defaultLatLngPoint, defaultLatLngString, dencodeBitwiseSet, depthFirstExploreTreeTraversalFactoryFunction, diffLatLngBoundPoints, diffLatLngPoints, documentFileExtensionForMimeType, dollarAmountString, dollarAmountStringWithUnitFunction, e164PhoneNumberExtensionPair, e164PhoneNumberFromE164PhoneNumberExtensionPair, enabledDaysFromDaysOfWeek, encodeBitwiseSet, encodeModelKeyTypePair, encodeRadix36Number, errorMessageContainsString, errorMessageContainsStringFunction, escapeStringCharactersFunction, escapeStringForRegex, excludeValues, excludeValuesFromArray, excludeValuesFromSet, existsInIterable, expandArrayMapTuples, expandArrayValueTuples, expandFlattenTreeFunction, expandIndexSet, expandSlashPathPathMatcherPartToDecisionFunctions, expandTreeFunction, expandTrees, expirationDetails, exploreTreeFunction, exponentialPromiseRateLimiter, extendLatLngBound, fileExtensionForMimeType, filterAndMapFunction, filterEmptyArrayValues, filterEmptyPojoValues, filterFalsyAndEmptyValues, filterFromIterable, filterFromPOJO, filterFromPOJOFunction, filterKeyValueTupleFunction, filterKeyValueTuples, filterKeyValueTuplesFunction, filterKeyValueTuplesInputToFilter, filterKeysOnPOJOFunction, filterMaybeArrayFunction, filterMaybeArrayValues, 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, flattenObject, flattenTree, flattenTreeToArray, flattenTreeToArrayFunction, flattenWhitespace, forEachInIterable, forEachKeyValue, forEachKeyValueOnPOJOFunction, forEachWithArray, forwardFunction, fractionalHoursToMinutes, generateIfDoesNotExist, generatePkceCodeChallenge, generatePkceCodeVerifier, 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, hoursAndMinutesToString, hoursAndMinutesToTimeUnit, idBatchFactory, imageFileExtensionForMimeType, inMemoryAsyncKeyedValueCache, inMemoryAsyncValueCache, incrementingNumberFactory, indexDeltaGroup, indexDeltaGroupFunction, indexRange, indexRangeCheckFunction, indexRangeCheckReaderFunction, indexRangeForArray, indexRangeOverlapsIndexRange, indexRangeOverlapsIndexRangeFunction, indexRangeReaderPairFactory, indexRefMap, indexedValuesArrayAccessorFactory, insertIntoBooleanKeyArray, invertBooleanReturnFunction, invertDecision, invertFilter, invertMaybeBoolean, invertStringRecord, isAllowed, isClassLikeType, isCompleteUnitedStatesAddress, isConsideredUtcTimezoneString, isDate, isDefaultLatLngPoint, isDefaultLatLngPointValue, isDefaultReadableError, isDefinedAndNotFalse, isDollarAmountString, isE164PhoneNumber, isE164PhoneNumberWithExtension, isEmptyIterable, isEqualContext, isEqualDate, isEqualToValueDecisionFunction, isEvenNumber, isExpired, isFalseBooleanKeyArray, isFinalPage, isGetter, isHex, isHexWithByteLength, 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, isNotFalse, isNotNullOrEmptyString, isNumberDivisibleBy, isObjectWithConstructor, isOddNumber, isPast, isPdfPasswordProtected, isPromise, isPromiseLike, isSameLatLngBound, isSameLatLngPoint, isSameNonNullValue, isSameVector, isSelectedDecisionFunctionFactory, isSelectedIndexDecisionFunction, isServerError, isSlashPathFile, isSlashPathFolder, isSlashPathTypedFile, isStandardInternetAccessibleWebsiteUrl, isStringOrTrue, isThrottled, isTrueBooleanKeyArray, isUTCDateString, isUnderThreshold, isUniqueKeyedFunction, isUsStateCodeString, isValidLatLngPoint, isValidLatitude, isValidLongitude, isValidNumberBound, isValidPhoneExtensionNumber, isValidSlashPath, isWebsiteUrl, isWebsiteUrlWithPrefix, isWithinLatLngBoundFunction, isolateSlashPath, isolateSlashPathFunction, isolateWebsitePathFunction, itemCountForBatchIndex, iterableToArray, iterableToMap, iterableToSet, iterablesAreSetEquivalent, iterate, iterateFilteredPages, joinHostAndPort, joinStrings, joinStringsInstance, joinStringsWithCommas, 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, makeDefaultNonConcurrentTaskKeyFactory, makeGetter, makeHandler, makeHashDecodeMap, makeKeyPairs, makeModelConversionFieldValuesFunction, makeModelMap, makeModelMapFunctions, makeMultiModelKeyMap, makeTimer, 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, memoizeAsyncKeyedValueCache, memoizeAsyncValueCache, mergeArrays, mergeArraysIntoArray, mergeAsyncKeyedValueCaches, mergeAsyncValueCaches, mergeFilterFunctions, mergeModifiers, mergeObjects, mergeObjectsFunction, mergeSlashPaths, messageFromError, millisecondsToMinutes, millisecondsToMinutesAndSeconds, millisecondsToTimeUnit, mimeTypeForApplicationFileExtension, mimeTypeForDocumentFileExtension, mimeTypeForFileExtension, mimeTypeForImageFileExtension, minAndMaxFunction, minAndMaxIndex, minAndMaxIndexFunction, minAndMaxIndexItemsFunction, minAndMaxNumber, minutesToFractionalHours, minutesToHoursAndMinutes, modelFieldConversions, modelFieldMapFunction, modelFieldMapFunctions, modelTypeDataPairFactory, modifier, modifierMapToFunction, modifyModelMapFunction, modifyModelMapFunctions, monthDaySlashDateToDateString, monthOfYearFromDate, monthOfYearFromDateMonth, monthOfYearFromUTCDate, multiKeyValueMapFactory, multiValueMapBuilder, neMostLatLngPoint, nearestDivisibleValues, noop, numberStringDencoder, numberStringDencoderDecodedNumberValueFunction, numberStringDencoderEncodedStringValueFunction, numberStringDencoderFunction, objectCopyFactory, objectDeltaArrayCompressor, objectFieldEqualityChecker, objectFlatMergeMatrix, objectHasKey, objectHasKeys, objectHasNoKeys, objectIsEmpty, objectKeyEqualityComparatorFunction, objectKeysEqualityComparatorFunction, objectMergeMatrix, objectToMap, overlapsLatLngBoundFunction, overrideInObject, overrideInObjectFunctionFactory, padStartFunction, pairGroupValues, parseISO8601DayStringToUTCDate, partialServerError, MAP_IDENTITY as 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, removeFirstMatchingSuffix, removeFromBooleanKeyArray, removeFromSet, removeFromSetCopy, removeHttpFromUrl, removeModelsWithKey, removeModelsWithSameKey, removeModifiers, removeSuffix, 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, runNamedAsyncTasks, runNamedAsyncTasksFunction, safeCompareEquality, safeEqualityComparatorFunction, safeFindBestIndexMatch, screamingSnakeToCamelCase, searchStringFilterFunction, secondsToMinutesAndSeconds, selectiveFieldEncryptor, separateValues, separateValuesToSets, sequentialIncrementingNumberStringModelIdFactory, serverError, setContainsAllValues, setContainsAnyValue, setContainsNoneOfValue, setDeltaChangeKeys, setDeltaFunction, setHasValueFunction, setIncludes, setIncludesFunction, setKeysOnMap, setWebProtocolPrefix, setsAreEquivalent, simpleSortValuesFunctionWithSortRef, simplifyWhitespace, slashPathDetails, slashPathDirectoryTree, slashPathFactory, slashPathFolder, slashPathFolderFactory, slashPathInvalidError, slashPathName, slashPathParts, slashPathPathMatcher, slashPathPathMatcherConfig, slashPathStartTypeFactory, slashPathSubPathMatcher, slashPathType, slashPathValidationFactory, sliceIndexRangeFunction, sliceStringFunction, sortAscendingIndexNumberRefFunction, sortByIndexAscendingCompareFunction, sortByIndexRangeAscendingCompareFunction, sortByLabelFunction, sortByNumberFunction, sortByStringFunction, sortCompareNumberFunction, sortNumbersAscendingFunction, sortValues, sortValuesFunctionOrMapIdentityWithSortRef, sortValuesFunctionWithSortRef, spaceSeparatedCssClasses, splitCommaSeparatedString, splitCommaSeparatedStringToSet, splitFront, splitJoinNameString, splitJoinRemainder, splitStringAtFirstCharacterOccurence, splitStringAtFirstCharacterOccurenceFunction, splitStringAtIndex, splitStringTreeFactory, startOfDayForSystemDateInUTC, startOfDayForUTCDateInUTC, stepsFromIndex, stepsFromIndexFunction, stringCharactersToIndexRecord, stringContains, stringFactoryFromFactory, stringFromDateFactory, stringFromTimeFactory, stringSplitJoinInstance, stringToBoolean, stringToLowercaseFunction, stringToUppercaseFunction, stringTrimFunction, stripObject, stripObjectFunction, sumOfIntegersBetween, swMostLatLngPoint, symmetricDifferenceArray, symmetricDifferenceArrayBetweenSets, symmetricDifferenceWithModels, takeFront, takeLast, takeValuesFromIterable, telUrlString, telUrlStringForE164PhoneNumberPair, terminatingFactoryFromArray, throwKeyIsRequired, timeDurationToHoursAndMinutes, timeDurationToMilliseconds, timePeriodCounter, timeUnitToMilliseconds, toAbsoluteSlashPathStartType, toCaseInsensitiveStringArray, toMinuteOfDay, toModelFieldConversions, toModelMapFunctions, toReadableError, toRelativeSlashPathStartType, toggleInSet, toggleInSetCopy, toggleTimerRunning, transformNumberFunction, transformNumberFunctionConfig, transformStringFunction, transformStringFunctionConfig, transformStrings, trimArray, trueOrFalseString, tryConvertToE164PhoneNumber, tryWithPromiseFactoriesFunction, typedServiceRegistry, unique, uniqueCaseInsensitiveStrings, uniqueCaseInsensitiveStringsSet, uniqueKeys, uniqueModels, unitedStatesAddressString, unixDateTimeSecondsNumberForNow, unixDateTimeSecondsNumberFromDate, unixDateTimeSecondsNumberFromDateOrTimeNumber, unixDateTimeSecondsNumberToDate, unixMillisecondsNumberToDate, updateMaybeValue, urlWithoutParameters, useAsync, useCallback, useContextFunction, useIterableOrValue, useModelOrKey, usePromise, useValue, validLatLngPoint, validLatLngPointFunction, valueAtIndex, valuesAreBothNullishOrEquivalent, valuesFromPOJO, valuesFromPOJOFunction, vectorMinimumSizeResizeFunction, vectorsAreEqual, waitForMs, websiteDomainAndPathPair, websiteDomainAndPathPairFromWebsiteUrl, websitePathAndQueryPair, websitePathFromWebsiteDomainAndPath, websitePathFromWebsiteUrl, websiteUrlDetails, websiteUrlFromPaths, wrapIndexRangeFunction, wrapLatLngPoint, wrapLngValue, wrapMapFunctionOutput, wrapNumberFunction, wrapTuples, wrapUseAsyncFunction, wrapUseFunction };
24857
+ export { ALL_DOUBLE_SLASHES_REGEX, ALL_SLASHES_REGEX, ALL_SLASH_PATH_FILE_TYPE_SEPARATORS_REGEX, ALL_TIME_UNITS, APPLICATION_FILE_EXTENSION_TO_MIME_TYPES_RECORD, APPLICATION_MIME_TYPES_TO_FILE_EXTENSIONS_RECORD, 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, CATCH_ALL_HANDLE_RESULT_KEY, COMMA_JOINER, COMMA_STRING_SPLIT_JOIN, CSV_MIME_TYPE, CUT_VALUE_TO_ZERO_PRECISION, DASH_CHARACTER_PREFIX_INSTANCE, DATE_NOW_VALUE, DAYS_IN_WEEK, DAYS_IN_YEAR, DEFAULT_CUT_STRING_END_TEXT, DEFAULT_ENCRYPTED_FIELD_PREFIX, 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_SLASH_PATH_PATH_MATCHER_NON_MATCHING_FILL_VALUE, DEFAULT_UNKNOWN_MODEL_TYPE_STRING, DOCUMENT_FILE_EXTENSION_TO_MIME_TYPES_RECORD, DOCUMENT_MIME_TYPES_TO_FILE_EXTENSIONS_RECORD, DOCX_MIME_TYPE, 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, ExploreTreeVisitNodeDecision, FINAL_PAGE, FIRST_PAGE, FRACTIONAL_HOURS_PRECISION_FUNCTION, FlattenTreeAddNodeDecision, FullStorageObject, GIF_MIME_TYPE, HAS_PORT_NUMBER_REGEX, HAS_WEBSITE_DOMAIN_NAME_REGEX, HEIF_MIME_TYPE, HEX_PATTERN, HOURS_IN_DAY, HTML_MIME_TYPE, HTTP_OR_HTTPS_REGEX, HashSet, IMAGE_FILE_EXTENSION_TO_MIME_TYPES_RECORD, IMAGE_MIME_TYPES_TO_FILE_EXTENSIONS_RECORD, ISO8601_DAY_STRING_REGEX, ISO8601_DAY_STRING_START_REGEX, ISO_8601_DATE_STRING_REGEX, JPEG_MIME_TYPE, JPEG_MIME_TYPES, JPG_MIME_TYPE, JSON_MIME_TYPE, 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, MARKDOWN_MIME_TYPE, 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, MS_IN_WEEK, MemoryStorageInstance, ModelRelationUtility, NOOP_MODIFIER, NUMBER_STRING_DENCODER_64, NUMBER_STRING_DENCODER_64_DEFAULT_NEGATIVE_PREFIX, NUMBER_STRING_DENCODER_64_DIGITS, OAUTH_OOB_REDIRECT_URI, PDF_ENCRYPT_MARKER, PDF_EOF_MARKER, PDF_HEADER, PDF_MIME_TYPE, PHONE_EXTENSION_NUMBER_REGEX, PJPEG_MIME_TYPE, PNG_MIME_TYPE, PRIMATIVE_KEY_DENCODER_VALUE, PropertyDescriptorUtility, RAW_MIME_TYPE, REGEX_SPECIAL_CHARACTERS, REGEX_SPECIAL_CHARACTERS_SET, RelationChange, SECONDS_IN_DAY, SECONDS_IN_HOUR, 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, SPACE_JOINER, SPACE_STRING_SPLIT_JOIN, SPLIT_STRING_TREE_NODE_ROOT_VALUE, SVG_MIME_TYPE, ServerErrorResponse, SetDeltaChange, SimpleStorageObject, SlashPathPathMatcherPartCode, StorageObject, StorageObjectUtility, StoredDataError, SyncState, TIFF_MIME_TYPE, TIME_UNIT_LABEL_MAP, TIME_UNIT_SHORT_LABEL_MAP, TOTAL_LATITUDE_RANGE, TOTAL_LONGITUDE_RANGE, TOTAL_SPAN_OF_LONGITUDE, TRAILING_FILE_TYPE_SEPARATORS_REGEX, TRAILING_SLASHES_REGEX, TXT_MIME_TYPE, TimeAM, TimerCancelledError, 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, WEBP_MIME_TYPE, WEBSITE_TLD_DETECTION_REGEX, WEB_PROTOCOL_PREFIX_REGEX, XLSX_MIME_TYPE, XML_MIME_TYPE, YAML_MIME_TYPE, ZIP_CODE_STRING_REGEX, ZIP_FILE_MIME_TYPE, addHttpToUrl, addLatLngPoints, addMilliseconds, addModifiers, addPlusPrefixToNumber, addPrefix, addPrefixFunction, addSuffix, addSuffixFunction, addToSet, addToSetCopy, addToSplitStringTree, addTrailingSlash, allFalsyOrEmptyKeys, allIndexesInIndexRange, allKeyValueTuples, allMaybeSoKeys, allNonUndefinedKeys, allObjectsAreEqual, allValuesAreMaybeNot, allValuesAreNotMaybe, allowValueOnceFilter, applicationFileExtensionForMimeType, applyBestFit, applySplitStringTreeWithMultipleValues, applyToMultipleFields, approximateTimerEndDate, areEqualContext, areEqualPOJOValues, areEqualPOJOValuesUsingPojoFilter, arrayContainsDuplicateValue, arrayContentsDiffer, arrayDecision, arrayDecisionFunction, arrayFactory, arrayInputFactory, arrayToLowercase, arrayToMap, arrayToObject, arrayToUppercase, asArray, asDecisionFunction, asGetter, asIndexRangeCheckFunctionConfig, asIterable, asMinuteOfDay, asNonEmptyArray, asNumber, asObjectCopyFactory, asPromise, asSet, assignValuesToPOJO, assignValuesToPOJOFunction, authClaims, authRoleClaimsService, authRolesSetHasRoles, baseWebsiteUrl, batch, batchCalc, bitwiseObjectDencoder, bitwiseObjectEncoder, bitwiseObjectdecoder, bitwiseSetDecoder, bitwiseSetDencoder, booleanFactory, booleanKeyArrayUtility, boundNumber, boundNumberFunction, boundToRectangle, breadthFirstExploreTreeTraversalFactoryFunction, bufferHasValidPdfMarkings, build, cachedGetter, calculateExpirationDate, camelOrPascalToScreamingSnake, capLatValue, capitalizeFirstLetter, caseInsensitiveFilterByIndexOfDecisionFactory, caseInsensitiveString, catchAllHandlerKey, chainMapFunction, chainMapSameFunctions, characterPrefixSuffixInstance, checkAnyHaveExpired, checkAtleastOneNotExpired, coerceToEmailParticipants, combineMaps, compareEqualityWithValueFromItemsFunction, compareEqualityWithValueFromItemsFunctionFactory, compareFnOrder, compareWithMappedValuesFunction, computeNextFractionalHour, computeNextFreeIndexFunction, computeNextFreeIndexOnSortedValuesFunction, concatArrays, concatArraysUnique, containsAllStringsAnyCase, containsAllValues, containsAnyStringAnyCase, containsAnyValue, containsAnyValueFromSet, containsNoValueFromSet, containsNoneOfValue, containsStringAnyCase, convertEmailParticipantStringToParticipant, convertMaybeToArray, convertMaybeToNonEmptyArray, convertParticipantToEmailParticipantString, convertTimeDuration, convertToArray, copyArray, copyField, copyLatLngBound, copyLatLngPoint, copyObject, copySetAndDo, countAllInNestedArray, countPOJOKeys, countPOJOKeysFunction, cronExpressionRepeatingEveryNMinutes, cssClassesSet, cssTokenVar, cssVariableVar, cutString, cutStringFunction, cutToPrecision, cutValueToInteger, cutValueToPrecision, cutValueToPrecisionFunction, dateFromDateOrTimeMillisecondsNumber, dateFromDateOrTimeSecondsNumber, dateFromLogicalDate, dateFromMinuteOfDay, dateOrMillisecondsToDate, dateToHoursAndMinutes, dateToMinuteOfDay, dayOfWeek, daysOfWeekArray, daysOfWeekFromEnabledDays, daysOfWeekNameFunction, daysOfWeekNameMap, decisionFunction, decodeHashedValues, decodeHashedValuesWithDecodeMap, decodeModelKeyTypePair, decodeRadix36Number, defaultFilterFromPOJOFunctionNoCopy, defaultForwardFunctionFactory, defaultLatLngPoint, defaultLatLngString, dencodeBitwiseSet, depthFirstExploreTreeTraversalFactoryFunction, diffLatLngBoundPoints, diffLatLngPoints, documentFileExtensionForMimeType, dollarAmountString, dollarAmountStringWithUnitFunction, e164PhoneNumberExtensionPair, e164PhoneNumberFromE164PhoneNumberExtensionPair, enabledDaysFromDaysOfWeek, encodeBitwiseSet, encodeModelKeyTypePair, encodeRadix36Number, errorMessageContainsString, errorMessageContainsStringFunction, escapeStringCharactersFunction, escapeStringForRegex, excludeValues, excludeValuesFromArray, excludeValuesFromSet, existsInIterable, expandArrayMapTuples, expandArrayValueTuples, expandFlattenTreeFunction, expandIndexSet, expandSlashPathPathMatcherPartToDecisionFunctions, expandTreeFunction, expandTrees, expirationDetails, exploreTreeFunction, exponentialPromiseRateLimiter, extendLatLngBound, fileExtensionForMimeType, filterAndMapFunction, filterEmptyArrayValues, filterEmptyPojoValues, filterFalsyAndEmptyValues, filterFromIterable, filterFromPOJO, filterFromPOJOFunction, filterKeyValueTupleFunction, filterKeyValueTuples, filterKeyValueTuplesFunction, filterKeyValueTuplesInputToFilter, filterKeysOnPOJOFunction, filterMaybeArrayFunction, filterMaybeArrayValues, 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, flattenObject, flattenTree, flattenTreeToArray, flattenTreeToArrayFunction, flattenWhitespace, forEachInIterable, forEachKeyValue, forEachKeyValueOnPOJOFunction, forEachWithArray, forwardFunction, fractionalHoursToMinutes, generateIfDoesNotExist, generatePkceCodeChallenge, generatePkceCodeVerifier, 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, hoursAndMinutesToString, hoursAndMinutesToTimeUnit, idBatchFactory, imageFileExtensionForMimeType, inMemoryAsyncKeyedValueCache, inMemoryAsyncValueCache, incrementingNumberFactory, indexDeltaGroup, indexDeltaGroupFunction, indexRange, indexRangeCheckFunction, indexRangeCheckReaderFunction, indexRangeForArray, indexRangeOverlapsIndexRange, indexRangeOverlapsIndexRangeFunction, indexRangeReaderPairFactory, indexRefMap, indexedValuesArrayAccessorFactory, insertIntoBooleanKeyArray, invertBooleanReturnFunction, invertDecision, invertFilter, invertMaybeBoolean, invertStringRecord, isAllowed, isClassLikeType, isCompleteUnitedStatesAddress, isConsideredUtcTimezoneString, isDate, isDefaultLatLngPoint, isDefaultLatLngPointValue, isDefaultReadableError, isDefinedAndNotFalse, isDollarAmountString, isE164PhoneNumber, isE164PhoneNumberWithExtension, isEmptyIterable, isEqualContext, isEqualDate, isEqualToValueDecisionFunction, isEvenNumber, isExpired, isFalseBooleanKeyArray, isFinalPage, isGetter, isHex, isHexWithByteLength, 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, isNotFalse, isNotNullOrEmptyString, isNumberDivisibleBy, isObjectWithConstructor, isOddNumber, isPast, isPdfPasswordProtected, isPromise, isPromiseLike, isSameLatLngBound, isSameLatLngPoint, isSameNonNullValue, isSameVector, isSelectedDecisionFunctionFactory, isSelectedIndexDecisionFunction, isServerError, isSlashPathFile, isSlashPathFolder, isSlashPathTypedFile, isStandardInternetAccessibleWebsiteUrl, isStringOrTrue, isThrottled, isTrueBooleanKeyArray, isUTCDateString, isUnderThreshold, isUniqueKeyedFunction, isUsStateCodeString, isValidLatLngPoint, isValidLatitude, isValidLongitude, isValidNumberBound, isValidPhoneExtensionNumber, isValidSlashPath, isWebsiteUrl, isWebsiteUrlWithPrefix, isWithinLatLngBoundFunction, isolateSlashPath, isolateSlashPathFunction, isolateWebsitePathFunction, itemCountForBatchIndex, iterableToArray, iterableToMap, iterableToSet, iterablesAreSetEquivalent, iterate, iterateFilteredPages, joinHostAndPort, joinStrings, joinStringsInstance, joinStringsWithCommas, 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, makeDefaultNonConcurrentTaskKeyFactory, makeGetter, makeHandler, makeHashDecodeMap, makeKeyPairs, makeModelConversionFieldValuesFunction, makeModelMap, makeModelMapFunctions, makeMultiModelKeyMap, makeTimer, 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, memoizeAsyncKeyedValueCache, memoizeAsyncValueCache, mergeArrays, mergeArraysIntoArray, mergeAsyncKeyedValueCaches, mergeAsyncValueCaches, mergeFilterFunctions, mergeModifiers, mergeObjects, mergeObjectsFunction, mergeSlashPaths, messageFromError, millisecondsToMinutes, millisecondsToMinutesAndSeconds, millisecondsToTimeUnit, mimeTypeForApplicationFileExtension, mimeTypeForDocumentFileExtension, mimeTypeForFileExtension, mimeTypeForImageFileExtension, minAndMaxFunction, minAndMaxIndex, minAndMaxIndexFunction, minAndMaxIndexItemsFunction, minAndMaxNumber, minutesToFractionalHours, minutesToHoursAndMinutes, modelFieldConversions, modelFieldMapFunction, modelFieldMapFunctions, modelTypeDataPairFactory, modifier, modifierMapToFunction, modifyModelMapFunction, modifyModelMapFunctions, monthDaySlashDateToDateString, monthOfYearFromDate, monthOfYearFromDateMonth, monthOfYearFromUTCDate, multiKeyValueMapFactory, multiValueMapBuilder, neMostLatLngPoint, nearestDivisibleValues, noop, numberStringDencoder, numberStringDencoderDecodedNumberValueFunction, numberStringDencoderEncodedStringValueFunction, numberStringDencoderFunction, objectCopyFactory, objectDeltaArrayCompressor, objectFieldEqualityChecker, objectFlatMergeMatrix, objectHasKey, objectHasKeys, objectHasNoKeys, objectIsEmpty, objectKeyEqualityComparatorFunction, objectKeysEqualityComparatorFunction, objectMergeMatrix, objectToMap, overlapsLatLngBoundFunction, overrideInObject, overrideInObjectFunctionFactory, padStartFunction, pairGroupValues, parseISO8601DayStringToUTCDate, partialServerError, MAP_IDENTITY as 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, removeFirstMatchingSuffix, removeFromBooleanKeyArray, removeFromSet, removeFromSetCopy, removeHttpFromUrl, removeModelsWithKey, removeModelsWithSameKey, removeModifiers, removeSuffix, 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, runNamedAsyncTasks, runNamedAsyncTasksFunction, safeCompareEquality, safeEqualityComparatorFunction, safeFindBestIndexMatch, screamingSnakeToCamelCase, searchStringFilterFunction, secondsToMinutesAndSeconds, selectiveFieldEncryptor, separateValues, separateValuesToSets, sequentialIncrementingNumberStringModelIdFactory, serverError, setContainsAllValues, setContainsAnyValue, setContainsNoneOfValue, setDeltaChangeKeys, setDeltaFunction, setHasValueFunction, setIncludes, setIncludesFunction, setKeysOnMap, setWebProtocolPrefix, setsAreEquivalent, simpleSortValuesFunctionWithSortRef, simplifyWhitespace, slashPathDetails, slashPathDirectoryTree, slashPathFactory, slashPathFolder, slashPathFolderFactory, slashPathInvalidError, slashPathName, slashPathParts, slashPathPathMatcher, slashPathPathMatcherConfig, slashPathStartTypeFactory, slashPathSubPathMatcher, slashPathType, slashPathValidationFactory, sliceIndexRangeFunction, sliceStringFunction, sortAscendingIndexNumberRefFunction, sortByIndexAscendingCompareFunction, sortByIndexRangeAscendingCompareFunction, sortByLabelFunction, sortByNumberFunction, sortByStringFunction, sortCompareNumberFunction, sortNumbersAscendingFunction, sortValues, sortValuesFunctionOrMapIdentityWithSortRef, sortValuesFunctionWithSortRef, spaceSeparatedCssClasses, splitCommaSeparatedString, splitCommaSeparatedStringToSet, splitFront, splitJoinNameString, splitJoinRemainder, splitStringAtFirstCharacterOccurence, splitStringAtFirstCharacterOccurenceFunction, splitStringAtIndex, splitStringTreeFactory, startOfDayForSystemDateInUTC, startOfDayForUTCDateInUTC, stepsFromIndex, stepsFromIndexFunction, stringCharactersToIndexRecord, stringContains, stringFactoryFromFactory, stringFromDateFactory, stringFromTimeFactory, stringSplitJoinInstance, stringToBoolean, stringToLowercaseFunction, stringToUppercaseFunction, stringTrimFunction, stripObject, stripObjectFunction, sumOfIntegersBetween, swMostLatLngPoint, symmetricDifferenceArray, symmetricDifferenceArrayBetweenSets, symmetricDifferenceWithModels, takeFront, takeLast, takeValuesFromIterable, telUrlString, telUrlStringForE164PhoneNumberPair, terminatingFactoryFromArray, throwKeyIsRequired, timeDurationToHoursAndMinutes, timeDurationToMilliseconds, timePeriodCounter, timeUnitToMilliseconds, toAbsoluteSlashPathStartType, toCaseInsensitiveStringArray, toMinuteOfDay, toModelFieldConversions, toModelMapFunctions, toReadableError, toRelativeSlashPathStartType, toggleInSet, toggleInSetCopy, toggleTimerRunning, transformNumberFunction, transformNumberFunctionConfig, transformStringFunction, transformStringFunctionConfig, transformStrings, trimArray, trueOrFalseString, tryConvertToE164PhoneNumber, tryWithPromiseFactoriesFunction, typedServiceRegistry, unique, uniqueCaseInsensitiveStrings, uniqueCaseInsensitiveStringsSet, uniqueKeys, uniqueModels, unitedStatesAddressString, unixDateTimeSecondsNumberForNow, unixDateTimeSecondsNumberFromDate, unixDateTimeSecondsNumberFromDateOrTimeNumber, unixDateTimeSecondsNumberToDate, unixMillisecondsNumberToDate, updateMaybeValue, urlWithoutParameters, useAsync, useCallback, useContextFunction, useIterableOrValue, useModelOrKey, usePromise, useValue, validLatLngPoint, validLatLngPointFunction, valueAtIndex, valuesAreBothNullishOrEquivalent, valuesFromPOJO, valuesFromPOJOFunction, vectorMinimumSizeResizeFunction, vectorsAreEqual, waitForMs, websiteDomainAndPathPair, websiteDomainAndPathPairFromWebsiteUrl, websitePathAndQueryPair, websitePathFromWebsiteDomainAndPath, websitePathFromWebsiteUrl, websiteUrlDetails, websiteUrlFromPaths, wrapIndexRangeFunction, wrapLatLngPoint, wrapLngValue, wrapMapFunctionOutput, wrapNumberFunction, wrapTuples, wrapUseAsyncFunction, wrapUseFunction };