@dereekb/util 13.11.10 → 13.11.12

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.
@@ -125,13 +125,11 @@
125
125
  }
126
126
  }
127
127
  // Auto-fix target: the first JSDoc in the chain (where the function's docs conventionally live).
128
- if (!firstJsdoc) {
129
- firstJsdoc = {
130
- node: comment,
131
- text: comment.value,
132
- hasNoSideEffects: hasMarker
133
- };
134
- }
128
+ firstJsdoc !== null && firstJsdoc !== void 0 ? firstJsdoc : firstJsdoc = {
129
+ node: comment,
130
+ text: comment.value,
131
+ hasNoSideEffects: hasMarker
132
+ };
135
133
  } else if (commentContainsNoSideEffects(comment.value)) {
136
134
  // Only the impl-leading annotation on an overloaded function is "required"; others are orphans.
137
135
  // When multiple line/block comments stack above the impl, keep the closest one (last in source
@@ -389,14 +387,7 @@ function _unsupported_iterable_to_array$1(o, minLen) {
389
387
  var jsdocIndent = getLineIndent(sourceText, jsdocStart);
390
388
  // If the JSDoc is single-line (e.g. `/** @dbxUtilKind factory */`),
391
389
  // expand it to multi-line. Detect by absence of newline in the body.
392
- if (!jsdocText.includes('\n')) {
393
- var bodyTrimmed = jsdocText.replace(/^\*\s*/, '').replace(/\s*$/, '');
394
- var newBody = "/**\n".concat(jsdocIndent, " * ").concat(bodyTrimmed, "\n").concat(jsdocIndent, " * ").concat(NO_SIDE_EFFECTS_TAG, "\n").concat(jsdocIndent, " */");
395
- fixes.push(fixer.replaceTextRange([
396
- jsdocStart,
397
- jsdocEnd
398
- ], newBody));
399
- } else {
390
+ if (jsdocText.includes('\n')) {
400
391
 
401
392
  // immediately before the line containing the closing `*/`, so the closing line
402
393
  // and existing body lines remain untouched.
@@ -410,6 +401,13 @@ function _unsupported_iterable_to_array$1(o, minLen) {
410
401
  closingLineStart,
411
402
  closingLineStart
412
403
  ], insertion));
404
+ } else {
405
+ var bodyTrimmed = jsdocText.replace(/^\*\s*/, '').replace(/\s*$/, '');
406
+ var newBody = "/**\n".concat(jsdocIndent, " * ").concat(bodyTrimmed, "\n").concat(jsdocIndent, " * ").concat(NO_SIDE_EFFECTS_TAG, "\n").concat(jsdocIndent, " */");
407
+ fixes.push(fixer.replaceTextRange([
408
+ jsdocStart,
409
+ jsdocEnd
410
+ ], newBody));
413
411
  }
414
412
  } else if (!jsdoc) {
415
413
  // No JSDoc anywhere — create one above the FIRST statement in the chain. For overloaded
@@ -591,15 +589,7 @@ function _unsupported_iterable_to_array(o, minLen) {
591
589
  var jsdocIndent = getLineIndent(sourceText, jsdocStart);
592
590
  // Insert into JSDoc only if needed (preserve idempotency and skip when only orphans need removal).
593
591
  if (needsJsdocTag) {
594
- if (!jsdocText.includes('\n')) {
595
- // Single-line JSDoc — expand to multi-line so the new tag has its own line.
596
- var bodyTrimmed = jsdocText.replace(/^\*\s*/, '').replace(/\s*$/, '');
597
- var newBody = "/**\n".concat(jsdocIndent, " * ").concat(bodyTrimmed, "\n").concat(jsdocIndent, " * ").concat(NO_SIDE_EFFECTS_TAG, "\n").concat(jsdocIndent, " */");
598
- fixes.push(fixer.replaceTextRange([
599
- jsdocStart,
600
- jsdocEnd
601
- ], newBody));
602
- } else {
592
+ if (jsdocText.includes('\n')) {
603
593
  // Multi-line JSDoc — insert a new tag line immediately before the closing `*/` line.
604
594
  var closingMarkerStart = jsdocEnd - 2;
605
595
  var closingLineStart = closingMarkerStart;
@@ -611,6 +601,14 @@ function _unsupported_iterable_to_array(o, minLen) {
611
601
  closingLineStart,
612
602
  closingLineStart
613
603
  ], insertion));
604
+ } else {
605
+ // Single-line JSDoc — expand to multi-line so the new tag has its own line.
606
+ var bodyTrimmed = jsdocText.replace(/^\*\s*/, '').replace(/\s*$/, '');
607
+ var newBody = "/**\n".concat(jsdocIndent, " * ").concat(bodyTrimmed, "\n").concat(jsdocIndent, " * ").concat(NO_SIDE_EFFECTS_TAG, "\n").concat(jsdocIndent, " */");
608
+ fixes.push(fixer.replaceTextRange([
609
+ jsdocStart,
610
+ jsdocEnd
611
+ ], newBody));
614
612
  }
615
613
  }
616
614
  // Overloaded function with no surviving impl annotation — insert the bundler-required
@@ -123,13 +123,11 @@
123
123
  }
124
124
  }
125
125
  // Auto-fix target: the first JSDoc in the chain (where the function's docs conventionally live).
126
- if (!firstJsdoc) {
127
- firstJsdoc = {
128
- node: comment,
129
- text: comment.value,
130
- hasNoSideEffects: hasMarker
131
- };
132
- }
126
+ firstJsdoc !== null && firstJsdoc !== void 0 ? firstJsdoc : firstJsdoc = {
127
+ node: comment,
128
+ text: comment.value,
129
+ hasNoSideEffects: hasMarker
130
+ };
133
131
  } else if (commentContainsNoSideEffects(comment.value)) {
134
132
  // Only the impl-leading annotation on an overloaded function is "required"; others are orphans.
135
133
  // When multiple line/block comments stack above the impl, keep the closest one (last in source
@@ -387,14 +385,7 @@ function _unsupported_iterable_to_array$1(o, minLen) {
387
385
  var jsdocIndent = getLineIndent(sourceText, jsdocStart);
388
386
  // If the JSDoc is single-line (e.g. `/** @dbxUtilKind factory */`),
389
387
  // expand it to multi-line. Detect by absence of newline in the body.
390
- if (!jsdocText.includes('\n')) {
391
- var bodyTrimmed = jsdocText.replace(/^\*\s*/, '').replace(/\s*$/, '');
392
- var newBody = "/**\n".concat(jsdocIndent, " * ").concat(bodyTrimmed, "\n").concat(jsdocIndent, " * ").concat(NO_SIDE_EFFECTS_TAG, "\n").concat(jsdocIndent, " */");
393
- fixes.push(fixer.replaceTextRange([
394
- jsdocStart,
395
- jsdocEnd
396
- ], newBody));
397
- } else {
388
+ if (jsdocText.includes('\n')) {
398
389
 
399
390
  // immediately before the line containing the closing `*/`, so the closing line
400
391
  // and existing body lines remain untouched.
@@ -408,6 +399,13 @@ function _unsupported_iterable_to_array$1(o, minLen) {
408
399
  closingLineStart,
409
400
  closingLineStart
410
401
  ], insertion));
402
+ } else {
403
+ var bodyTrimmed = jsdocText.replace(/^\*\s*/, '').replace(/\s*$/, '');
404
+ var newBody = "/**\n".concat(jsdocIndent, " * ").concat(bodyTrimmed, "\n").concat(jsdocIndent, " * ").concat(NO_SIDE_EFFECTS_TAG, "\n").concat(jsdocIndent, " */");
405
+ fixes.push(fixer.replaceTextRange([
406
+ jsdocStart,
407
+ jsdocEnd
408
+ ], newBody));
411
409
  }
412
410
  } else if (!jsdoc) {
413
411
  // No JSDoc anywhere — create one above the FIRST statement in the chain. For overloaded
@@ -589,15 +587,7 @@ function _unsupported_iterable_to_array(o, minLen) {
589
587
  var jsdocIndent = getLineIndent(sourceText, jsdocStart);
590
588
  // Insert into JSDoc only if needed (preserve idempotency and skip when only orphans need removal).
591
589
  if (needsJsdocTag) {
592
- if (!jsdocText.includes('\n')) {
593
- // Single-line JSDoc — expand to multi-line so the new tag has its own line.
594
- var bodyTrimmed = jsdocText.replace(/^\*\s*/, '').replace(/\s*$/, '');
595
- var newBody = "/**\n".concat(jsdocIndent, " * ").concat(bodyTrimmed, "\n").concat(jsdocIndent, " * ").concat(NO_SIDE_EFFECTS_TAG, "\n").concat(jsdocIndent, " */");
596
- fixes.push(fixer.replaceTextRange([
597
- jsdocStart,
598
- jsdocEnd
599
- ], newBody));
600
- } else {
590
+ if (jsdocText.includes('\n')) {
601
591
  // Multi-line JSDoc — insert a new tag line immediately before the closing `*/` line.
602
592
  var closingMarkerStart = jsdocEnd - 2;
603
593
  var closingLineStart = closingMarkerStart;
@@ -609,6 +599,14 @@ function _unsupported_iterable_to_array(o, minLen) {
609
599
  closingLineStart,
610
600
  closingLineStart
611
601
  ], insertion));
602
+ } else {
603
+ // Single-line JSDoc — expand to multi-line so the new tag has its own line.
604
+ var bodyTrimmed = jsdocText.replace(/^\*\s*/, '').replace(/\s*$/, '');
605
+ var newBody = "/**\n".concat(jsdocIndent, " * ").concat(bodyTrimmed, "\n").concat(jsdocIndent, " * ").concat(NO_SIDE_EFFECTS_TAG, "\n").concat(jsdocIndent, " */");
606
+ fixes.push(fixer.replaceTextRange([
607
+ jsdocStart,
608
+ jsdocEnd
609
+ ], newBody));
612
610
  }
613
611
  }
614
612
  // Overloaded function with no surviving impl annotation — insert the bundler-required
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/util/eslint",
3
- "version": "13.11.10",
3
+ "version": "13.11.12",
4
4
  "peerDependencies": {
5
5
  "@typescript-eslint/utils": "8.59.0"
6
6
  },
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@dereekb/util/fetch",
3
- "version": "13.11.10",
3
+ "version": "13.11.12",
4
4
  "peerDependencies": {
5
- "@dereekb/util": "13.11.10",
5
+ "@dereekb/util": "13.11.12",
6
6
  "make-error": "^1.3.6",
7
7
  "fast-content-type-parse": "^3.0.0"
8
8
  },
package/index.cjs.js CHANGED
@@ -5051,7 +5051,7 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
5051
5051
  return function(values) {
5052
5052
  var minMax = findMinMax(values);
5053
5053
  var max = minMax === null || minMax === void 0 ? void 0 : minMax.max;
5054
- return max != null ? readNextIndex(max) : 0;
5054
+ return max == null ? 0 : readNextIndex(max);
5055
5055
  };
5056
5056
  }
5057
5057
  /**
@@ -5074,7 +5074,7 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
5074
5074
  }; //return the max index + 1 by default.
5075
5075
  return function(sortedValues) {
5076
5076
  var lastValueInSorted = lastValue(sortedValues);
5077
- return lastValueInSorted != null ? readNextIndex(lastValueInSorted) : 0;
5077
+ return lastValueInSorted == null ? 0 : readNextIndex(lastValueInSorted);
5078
5078
  };
5079
5079
  }
5080
5080
  /**
@@ -5100,10 +5100,10 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
5100
5100
  var minAndMaxItems = minAndMaxIndexItemsFunction(readIndex);
5101
5101
  var fn = function fn(values) {
5102
5102
  var result = minAndMaxItems(values);
5103
- return result != null ? {
5103
+ return result == null ? null : {
5104
5104
  min: readIndex(result.min),
5105
5105
  max: readIndex(result.max)
5106
- } : null;
5106
+ };
5107
5107
  };
5108
5108
  fn._readIndex = readIndex;
5109
5109
  return fn;
@@ -6284,21 +6284,45 @@ function joinStrings(input) {
6284
6284
  * @param limit - maximum number of resulting segments; overflow segments are rejoined with the separator
6285
6285
  * @returns array of string segments, with length at most equal to limit
6286
6286
  */ function splitJoinRemainder(input, separator, limit) {
6287
- var split = input.split(separator);
6288
- var components = [];
6289
- if (split.length > 1) {
6290
- var hasItemsToMerge = split.length > limit;
6291
- var stopIndex = hasItemsToMerge ? limit - 1 : split.length;
6292
- for(var i = 0; i < stopIndex; i += 1){
6293
- components.push(split[i]);
6294
- }
6295
- if (hasItemsToMerge) {
6296
- components.push(split.slice(stopIndex).join(separator));
6297
- }
6298
- } else {
6299
- components.push(split[0]);
6287
+ var result;
6288
+ switch(limit){
6289
+ case 1:
6290
+ result = [
6291
+ input
6292
+ ];
6293
+ break;
6294
+ case 2:
6295
+ {
6296
+ var splitIndex = input.indexOf(separator);
6297
+ result = splitIndex < 0 ? [
6298
+ input
6299
+ ] : [
6300
+ input.slice(0, splitIndex),
6301
+ input.slice(splitIndex + separator.length)
6302
+ ];
6303
+ break;
6304
+ }
6305
+ default:
6306
+ {
6307
+ var split = input.split(separator);
6308
+ var components = [];
6309
+ if (split.length > 1) {
6310
+ var hasItemsToMerge = split.length > limit;
6311
+ var stopIndex = hasItemsToMerge ? limit - 1 : split.length;
6312
+ for(var i = 0; i < stopIndex; i += 1){
6313
+ components.push(split[i]);
6314
+ }
6315
+ if (hasItemsToMerge) {
6316
+ components.push(split.slice(stopIndex).join(separator));
6317
+ }
6318
+ } else {
6319
+ components.push(split[0]);
6320
+ }
6321
+ result = components;
6322
+ break;
6323
+ }
6300
6324
  }
6301
- return components;
6325
+ return result;
6302
6326
  }
6303
6327
  /**
6304
6328
  * Creates a {@link JoinStringsInstance} that joins arrays of strings using the configured delimiter.
@@ -23209,6 +23233,46 @@ function mimeTypeForFileExtension(extension) {
23209
23233
  prefix: '-'
23210
23234
  });
23211
23235
 
23236
+ /**
23237
+ * Pre-configured comparator that sorts strings in ascending alphabetical order using `localeCompare`.
23238
+ *
23239
+ * Use this directly with `Array.sort()` / `Array.toSorted()` instead of inlining
23240
+ * `(a, b) => a.localeCompare(b)` everywhere, and to satisfy the no-default-sort
23241
+ * lint rule for string arrays.
23242
+ *
23243
+ * @dbxUtil
23244
+ * @dbxUtilCategory string
23245
+ * @dbxUtilKind comparator
23246
+ * @dbxUtilTags string, sort, compare, alphabetical, locale
23247
+ * @dbxUtilRelated compare-strings-numeric, sort-by-string-function
23248
+ *
23249
+ * @example
23250
+ * ```ts
23251
+ * ['b', 'a', 'c'].sort(compareStrings); // ['a', 'b', 'c']
23252
+ * ```
23253
+ */ var compareStrings = function compareStrings(a, b) {
23254
+ return a.localeCompare(b);
23255
+ };
23256
+ /**
23257
+ * Pre-configured comparator that sorts strings in ascending order using `localeCompare`
23258
+ * with the `numeric` collation option enabled, so numeric substrings are compared by value
23259
+ * (e.g. `"2"` sorts before `"10"`).
23260
+ *
23261
+ * @dbxUtil
23262
+ * @dbxUtilCategory string
23263
+ * @dbxUtilKind comparator
23264
+ * @dbxUtilTags string, sort, compare, numeric, natural, locale
23265
+ * @dbxUtilRelated compare-strings, sort-by-string-function
23266
+ *
23267
+ * @example
23268
+ * ```ts
23269
+ * ['10', '2', '1'].sort(compareStringsNumeric); // ['1', '2', '10']
23270
+ * ```
23271
+ */ var compareStringsNumeric = function compareStringsNumeric(a, b) {
23272
+ return a.localeCompare(b, undefined, {
23273
+ numeric: true
23274
+ });
23275
+ };
23212
23276
  /**
23213
23277
  * Creates a {@link SortByStringFunction} that sorts values in ascending alphabetical order using `localeCompare`.
23214
23278
  *
@@ -23216,7 +23280,7 @@ function mimeTypeForFileExtension(extension) {
23216
23280
  * @dbxUtilCategory string
23217
23281
  * @dbxUtilKind factory
23218
23282
  * @dbxUtilTags string, sort, compare, alphabetical, factory, locale
23219
- * @dbxUtilRelated sort-by-label-function
23283
+ * @dbxUtilRelated sort-by-label-function, compare-strings
23220
23284
  *
23221
23285
  * @param readStringFn - Function to extract a string from each value for comparison.
23222
23286
  * @returns A comparator function suitable for use with `Array.sort()`.
@@ -25132,6 +25196,8 @@ exports.combineMaps = combineMaps;
25132
25196
  exports.compareEqualityWithValueFromItemsFunction = compareEqualityWithValueFromItemsFunction;
25133
25197
  exports.compareEqualityWithValueFromItemsFunctionFactory = compareEqualityWithValueFromItemsFunctionFactory;
25134
25198
  exports.compareFnOrder = compareFnOrder;
25199
+ exports.compareStrings = compareStrings;
25200
+ exports.compareStringsNumeric = compareStringsNumeric;
25135
25201
  exports.compareWithMappedValuesFunction = compareWithMappedValuesFunction;
25136
25202
  exports.computeNextFractionalHour = computeNextFractionalHour;
25137
25203
  exports.computeNextFreeIndexFunction = computeNextFreeIndexFunction;
package/index.esm.js CHANGED
@@ -5049,7 +5049,7 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
5049
5049
  return function(values) {
5050
5050
  var minMax = findMinMax(values);
5051
5051
  var max = minMax === null || minMax === void 0 ? void 0 : minMax.max;
5052
- return max != null ? readNextIndex(max) : 0;
5052
+ return max == null ? 0 : readNextIndex(max);
5053
5053
  };
5054
5054
  }
5055
5055
  /**
@@ -5072,7 +5072,7 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
5072
5072
  }; //return the max index + 1 by default.
5073
5073
  return function(sortedValues) {
5074
5074
  var lastValueInSorted = lastValue(sortedValues);
5075
- return lastValueInSorted != null ? readNextIndex(lastValueInSorted) : 0;
5075
+ return lastValueInSorted == null ? 0 : readNextIndex(lastValueInSorted);
5076
5076
  };
5077
5077
  }
5078
5078
  /**
@@ -5098,10 +5098,10 @@ function reduceNumbersFn(reduceFn, emptyArrayValue) {
5098
5098
  var minAndMaxItems = minAndMaxIndexItemsFunction(readIndex);
5099
5099
  var fn = function fn(values) {
5100
5100
  var result = minAndMaxItems(values);
5101
- return result != null ? {
5101
+ return result == null ? null : {
5102
5102
  min: readIndex(result.min),
5103
5103
  max: readIndex(result.max)
5104
- } : null;
5104
+ };
5105
5105
  };
5106
5106
  fn._readIndex = readIndex;
5107
5107
  return fn;
@@ -6282,21 +6282,45 @@ function joinStrings(input) {
6282
6282
  * @param limit - maximum number of resulting segments; overflow segments are rejoined with the separator
6283
6283
  * @returns array of string segments, with length at most equal to limit
6284
6284
  */ function splitJoinRemainder(input, separator, limit) {
6285
- var split = input.split(separator);
6286
- var components = [];
6287
- if (split.length > 1) {
6288
- var hasItemsToMerge = split.length > limit;
6289
- var stopIndex = hasItemsToMerge ? limit - 1 : split.length;
6290
- for(var i = 0; i < stopIndex; i += 1){
6291
- components.push(split[i]);
6292
- }
6293
- if (hasItemsToMerge) {
6294
- components.push(split.slice(stopIndex).join(separator));
6295
- }
6296
- } else {
6297
- components.push(split[0]);
6285
+ var result;
6286
+ switch(limit){
6287
+ case 1:
6288
+ result = [
6289
+ input
6290
+ ];
6291
+ break;
6292
+ case 2:
6293
+ {
6294
+ var splitIndex = input.indexOf(separator);
6295
+ result = splitIndex < 0 ? [
6296
+ input
6297
+ ] : [
6298
+ input.slice(0, splitIndex),
6299
+ input.slice(splitIndex + separator.length)
6300
+ ];
6301
+ break;
6302
+ }
6303
+ default:
6304
+ {
6305
+ var split = input.split(separator);
6306
+ var components = [];
6307
+ if (split.length > 1) {
6308
+ var hasItemsToMerge = split.length > limit;
6309
+ var stopIndex = hasItemsToMerge ? limit - 1 : split.length;
6310
+ for(var i = 0; i < stopIndex; i += 1){
6311
+ components.push(split[i]);
6312
+ }
6313
+ if (hasItemsToMerge) {
6314
+ components.push(split.slice(stopIndex).join(separator));
6315
+ }
6316
+ } else {
6317
+ components.push(split[0]);
6318
+ }
6319
+ result = components;
6320
+ break;
6321
+ }
6298
6322
  }
6299
- return components;
6323
+ return result;
6300
6324
  }
6301
6325
  /**
6302
6326
  * Creates a {@link JoinStringsInstance} that joins arrays of strings using the configured delimiter.
@@ -23207,6 +23231,46 @@ function mimeTypeForFileExtension(extension) {
23207
23231
  prefix: '-'
23208
23232
  });
23209
23233
 
23234
+ /**
23235
+ * Pre-configured comparator that sorts strings in ascending alphabetical order using `localeCompare`.
23236
+ *
23237
+ * Use this directly with `Array.sort()` / `Array.toSorted()` instead of inlining
23238
+ * `(a, b) => a.localeCompare(b)` everywhere, and to satisfy the no-default-sort
23239
+ * lint rule for string arrays.
23240
+ *
23241
+ * @dbxUtil
23242
+ * @dbxUtilCategory string
23243
+ * @dbxUtilKind comparator
23244
+ * @dbxUtilTags string, sort, compare, alphabetical, locale
23245
+ * @dbxUtilRelated compare-strings-numeric, sort-by-string-function
23246
+ *
23247
+ * @example
23248
+ * ```ts
23249
+ * ['b', 'a', 'c'].sort(compareStrings); // ['a', 'b', 'c']
23250
+ * ```
23251
+ */ var compareStrings = function compareStrings(a, b) {
23252
+ return a.localeCompare(b);
23253
+ };
23254
+ /**
23255
+ * Pre-configured comparator that sorts strings in ascending order using `localeCompare`
23256
+ * with the `numeric` collation option enabled, so numeric substrings are compared by value
23257
+ * (e.g. `"2"` sorts before `"10"`).
23258
+ *
23259
+ * @dbxUtil
23260
+ * @dbxUtilCategory string
23261
+ * @dbxUtilKind comparator
23262
+ * @dbxUtilTags string, sort, compare, numeric, natural, locale
23263
+ * @dbxUtilRelated compare-strings, sort-by-string-function
23264
+ *
23265
+ * @example
23266
+ * ```ts
23267
+ * ['10', '2', '1'].sort(compareStringsNumeric); // ['1', '2', '10']
23268
+ * ```
23269
+ */ var compareStringsNumeric = function compareStringsNumeric(a, b) {
23270
+ return a.localeCompare(b, undefined, {
23271
+ numeric: true
23272
+ });
23273
+ };
23210
23274
  /**
23211
23275
  * Creates a {@link SortByStringFunction} that sorts values in ascending alphabetical order using `localeCompare`.
23212
23276
  *
@@ -23214,7 +23278,7 @@ function mimeTypeForFileExtension(extension) {
23214
23278
  * @dbxUtilCategory string
23215
23279
  * @dbxUtilKind factory
23216
23280
  * @dbxUtilTags string, sort, compare, alphabetical, factory, locale
23217
- * @dbxUtilRelated sort-by-label-function
23281
+ * @dbxUtilRelated sort-by-label-function, compare-strings
23218
23282
  *
23219
23283
  * @param readStringFn - Function to extract a string from each value for comparison.
23220
23284
  * @returns A comparator function suitable for use with `Array.sort()`.
@@ -24870,4 +24934,4 @@ function _ts_generator(thisArg, body) {
24870
24934
  return result;
24871
24935
  }
24872
24936
 
24873
- 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 };
24937
+ 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, compareStrings, compareStringsNumeric, 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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/util",
3
- "version": "13.11.10",
3
+ "version": "13.11.12",
4
4
  "sideEffects": false,
5
5
  "exports": {
6
6
  "./test": {
@@ -4,6 +4,42 @@ import { type ReadStringFunction } from './string';
4
4
  * SortCompareFunction by string.
5
5
  */
6
6
  export type SortByStringFunction<T> = SortCompareFunction<T>;
7
+ /**
8
+ * Pre-configured comparator that sorts strings in ascending alphabetical order using `localeCompare`.
9
+ *
10
+ * Use this directly with `Array.sort()` / `Array.toSorted()` instead of inlining
11
+ * `(a, b) => a.localeCompare(b)` everywhere, and to satisfy the no-default-sort
12
+ * lint rule for string arrays.
13
+ *
14
+ * @dbxUtil
15
+ * @dbxUtilCategory string
16
+ * @dbxUtilKind comparator
17
+ * @dbxUtilTags string, sort, compare, alphabetical, locale
18
+ * @dbxUtilRelated compare-strings-numeric, sort-by-string-function
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * ['b', 'a', 'c'].sort(compareStrings); // ['a', 'b', 'c']
23
+ * ```
24
+ */
25
+ export declare const compareStrings: SortByStringFunction<string>;
26
+ /**
27
+ * Pre-configured comparator that sorts strings in ascending order using `localeCompare`
28
+ * with the `numeric` collation option enabled, so numeric substrings are compared by value
29
+ * (e.g. `"2"` sorts before `"10"`).
30
+ *
31
+ * @dbxUtil
32
+ * @dbxUtilCategory string
33
+ * @dbxUtilKind comparator
34
+ * @dbxUtilTags string, sort, compare, numeric, natural, locale
35
+ * @dbxUtilRelated compare-strings, sort-by-string-function
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * ['10', '2', '1'].sort(compareStringsNumeric); // ['1', '2', '10']
40
+ * ```
41
+ */
42
+ export declare const compareStringsNumeric: SortByStringFunction<string>;
7
43
  /**
8
44
  * Creates a {@link SortByStringFunction} that sorts values in ascending alphabetical order using `localeCompare`.
9
45
  *
@@ -11,7 +47,7 @@ export type SortByStringFunction<T> = SortCompareFunction<T>;
11
47
  * @dbxUtilCategory string
12
48
  * @dbxUtilKind factory
13
49
  * @dbxUtilTags string, sort, compare, alphabetical, factory, locale
14
- * @dbxUtilRelated sort-by-label-function
50
+ * @dbxUtilRelated sort-by-label-function, compare-strings
15
51
  *
16
52
  * @param readStringFn - Function to extract a string from each value for comparison.
17
53
  * @returns A comparator function suitable for use with `Array.sort()`.
package/test/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@dereekb/util/test",
3
- "version": "13.11.10",
3
+ "version": "13.11.12",
4
4
  "peerDependencies": {
5
- "@dereekb/util": "13.11.10",
5
+ "@dereekb/util": "13.11.12",
6
6
  "make-error": "^1.3.6"
7
7
  },
8
8
  "exports": {