@dereekb/util 10.0.22 → 10.0.24

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.
@@ -2,6 +2,14 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [10.0.24](https://github.com/dereekb/dbx-components/compare/v10.0.23-dev...v10.0.24) (2024-02-28)
6
+
7
+
8
+
9
+ ## [10.0.23](https://github.com/dereekb/dbx-components/compare/v10.0.22-dev...v10.0.23) (2024-02-27)
10
+
11
+
12
+
5
13
  ## [10.0.22](https://github.com/dereekb/dbx-components/compare/v10.0.21-dev...v10.0.22) (2024-02-19)
6
14
 
7
15
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/util/fetch",
3
- "version": "10.0.22",
3
+ "version": "10.0.24",
4
4
  "type": "commonjs",
5
5
  "peerDependencies": {
6
6
  "@dereekb/util": "*"
package/index.cjs.js CHANGED
@@ -3044,6 +3044,110 @@ function allValuesAreNotMaybe(values) {
3044
3044
  return values.findIndex(x => x == null) === -1;
3045
3045
  }
3046
3046
 
3047
+ /**
3048
+ * Convenience function that is used to "build" an object of a specific type.
3049
+ *
3050
+ * @param base
3051
+ * @param buildFn
3052
+ * @returns
3053
+ */
3054
+ function build({
3055
+ base,
3056
+ build
3057
+ }) {
3058
+ build(base !== null && base !== void 0 ? base : {});
3059
+ return base;
3060
+ }
3061
+
3062
+ /**
3063
+ * Turns a normal MapFunction into one that passes through Maybe values without attempting to map them.
3064
+ *
3065
+ * @param mapFunction
3066
+ * @returns
3067
+ */
3068
+ function mapMaybeFunction(mapFunction) {
3069
+ return input => {
3070
+ const output = isMaybeNot(input) ? input : mapFunction(input);
3071
+ return output;
3072
+ };
3073
+ }
3074
+ function mapArrayFunction(mapFunction) {
3075
+ return input => input.map(mapFunction);
3076
+ }
3077
+ const MAP_IDENTITY = input => input;
3078
+ function mapIdentityFunction() {
3079
+ return MAP_IDENTITY;
3080
+ }
3081
+ function isMapIdentityFunction(fn) {
3082
+ return fn === MAP_IDENTITY;
3083
+ }
3084
+ /**
3085
+ * Wraps a MapFunction to instead provide the input and output values.
3086
+ *
3087
+ * @param fn
3088
+ * @returns
3089
+ */
3090
+ function mapFunctionOutputPair(fn) {
3091
+ return input => {
3092
+ const output = fn(input);
3093
+ return {
3094
+ input,
3095
+ output
3096
+ };
3097
+ };
3098
+ }
3099
+ /**
3100
+ *
3101
+ * @param fn
3102
+ * @returns
3103
+ */
3104
+ function wrapMapFunctionOutput(fn) {
3105
+ return input => {
3106
+ const result = fn(input);
3107
+ return mapFunctionOutput(result, input);
3108
+ };
3109
+ }
3110
+ function mapFunctionOutput(output, input) {
3111
+ return build({
3112
+ base: output,
3113
+ build: x => {
3114
+ x._input = input;
3115
+ }
3116
+ });
3117
+ }
3118
+ // MARK: Chaining
3119
+ /**
3120
+ * Chains together multiple MapSameFunctions in the same order. Functions that are not defined are ignored.
3121
+ *
3122
+ * @param fns
3123
+ */
3124
+ function chainMapSameFunctions(input) {
3125
+ const fns = filterMaybeValues(asArray(input).filter(x => !isMapIdentityFunction(x))); // remove all identify functions too
3126
+ let fn;
3127
+ switch (fns.length) {
3128
+ case 0:
3129
+ fn = mapIdentityFunction();
3130
+ break;
3131
+ case 1:
3132
+ fn = fns[0];
3133
+ break;
3134
+ default:
3135
+ fn = fns[0];
3136
+ for (let i = 1; i < fns.length; i += 1) {
3137
+ fn = chainMapFunction(fn, fns[i]);
3138
+ }
3139
+ break;
3140
+ }
3141
+ return fn;
3142
+ }
3143
+ function chainMapFunction(a, b, apply = true) {
3144
+ if (apply && b != null) {
3145
+ return x => b(a(x));
3146
+ } else {
3147
+ return a;
3148
+ }
3149
+ }
3150
+
3047
3151
  function concatArraysUnique(...arrays) {
3048
3152
  return unique(concatArrays(...arrays));
3049
3153
  }
@@ -3105,6 +3209,21 @@ function filterUniqueFunction(readKey, additionalKeysInput) {
3105
3209
  function filterUniqueValues(values, readKey, additionalKeys = []) {
3106
3210
  return filterUniqueFunction(readKey, additionalKeys)(values);
3107
3211
  }
3212
+ function allowValueOnceFilter(inputReadKey) {
3213
+ const visitedKeys = new Set();
3214
+ const readKey = inputReadKey || MAP_IDENTITY;
3215
+ const fn = x => {
3216
+ const key = readKey(x);
3217
+ if (!visitedKeys.has(key)) {
3218
+ visitedKeys.add(key);
3219
+ return true;
3220
+ }
3221
+ return false;
3222
+ };
3223
+ fn._readKey = readKey;
3224
+ fn._visitedKeys = visitedKeys;
3225
+ return fn;
3226
+ }
3108
3227
 
3109
3228
  const DEFAULT_UNKNOWN_MODEL_TYPE_STRING = 'unknown';
3110
3229
  const readUniqueModelKey = model => model.id;
@@ -3614,110 +3733,6 @@ class HashSet {
3614
3733
  }
3615
3734
  }
3616
3735
 
3617
- /**
3618
- * Convenience function that is used to "build" an object of a specific type.
3619
- *
3620
- * @param base
3621
- * @param buildFn
3622
- * @returns
3623
- */
3624
- function build({
3625
- base,
3626
- build
3627
- }) {
3628
- build(base !== null && base !== void 0 ? base : {});
3629
- return base;
3630
- }
3631
-
3632
- /**
3633
- * Turns a normal MapFunction into one that passes through Maybe values without attempting to map them.
3634
- *
3635
- * @param mapFunction
3636
- * @returns
3637
- */
3638
- function mapMaybeFunction(mapFunction) {
3639
- return input => {
3640
- const output = isMaybeNot(input) ? input : mapFunction(input);
3641
- return output;
3642
- };
3643
- }
3644
- function mapArrayFunction(mapFunction) {
3645
- return input => input.map(mapFunction);
3646
- }
3647
- const MAP_IDENTITY = input => input;
3648
- function mapIdentityFunction() {
3649
- return MAP_IDENTITY;
3650
- }
3651
- function isMapIdentityFunction(fn) {
3652
- return fn === MAP_IDENTITY;
3653
- }
3654
- /**
3655
- * Wraps a MapFunction to instead provide the input and output values.
3656
- *
3657
- * @param fn
3658
- * @returns
3659
- */
3660
- function mapFunctionOutputPair(fn) {
3661
- return input => {
3662
- const output = fn(input);
3663
- return {
3664
- input,
3665
- output
3666
- };
3667
- };
3668
- }
3669
- /**
3670
- *
3671
- * @param fn
3672
- * @returns
3673
- */
3674
- function wrapMapFunctionOutput(fn) {
3675
- return input => {
3676
- const result = fn(input);
3677
- return mapFunctionOutput(result, input);
3678
- };
3679
- }
3680
- function mapFunctionOutput(output, input) {
3681
- return build({
3682
- base: output,
3683
- build: x => {
3684
- x._input = input;
3685
- }
3686
- });
3687
- }
3688
- // MARK: Chaining
3689
- /**
3690
- * Chains together multiple MapSameFunctions in the same order. Functions that are not defined are ignored.
3691
- *
3692
- * @param fns
3693
- */
3694
- function chainMapSameFunctions(input) {
3695
- const fns = filterMaybeValues(asArray(input).filter(x => !isMapIdentityFunction(x))); // remove all identify functions too
3696
- let fn;
3697
- switch (fns.length) {
3698
- case 0:
3699
- fn = mapIdentityFunction();
3700
- break;
3701
- case 1:
3702
- fn = fns[0];
3703
- break;
3704
- default:
3705
- fn = fns[0];
3706
- for (let i = 1; i < fns.length; i += 1) {
3707
- fn = chainMapFunction(fn, fns[i]);
3708
- }
3709
- break;
3710
- }
3711
- return fn;
3712
- }
3713
- function chainMapFunction(a, b, apply = true) {
3714
- if (apply && b != null) {
3715
- return x => b(a(x));
3716
- } else {
3717
- return a;
3718
- }
3719
- }
3720
-
3721
3736
  const SORT_VALUE_LESS_THAN = -1;
3722
3737
  const SORT_VALUE_GREATER_THAN = 1;
3723
3738
  const SORT_VALUE_EQUAL = 0;
@@ -13931,6 +13946,7 @@ exports.allNonUndefinedKeys = allNonUndefinedKeys;
13931
13946
  exports.allObjectsAreEqual = allObjectsAreEqual;
13932
13947
  exports.allValuesAreMaybeNot = allValuesAreMaybeNot;
13933
13948
  exports.allValuesAreNotMaybe = allValuesAreNotMaybe;
13949
+ exports.allowValueOnceFilter = allowValueOnceFilter;
13934
13950
  exports.applyBestFit = applyBestFit;
13935
13951
  exports.applyToMultipleFields = applyToMultipleFields;
13936
13952
  exports.areEqualContext = areEqualContext;
package/index.esm.js CHANGED
@@ -3183,6 +3183,167 @@ function allValuesAreNotMaybe(values) {
3183
3183
  return values.findIndex(x => x == null) === -1;
3184
3184
  }
3185
3185
 
3186
+ /**
3187
+ * Denotes a typically read-only like model is being built/configured.
3188
+ */
3189
+
3190
+ /**
3191
+ * Convenience function that is used to "build" an object of a specific type.
3192
+ *
3193
+ * @param base
3194
+ * @param buildFn
3195
+ * @returns
3196
+ */
3197
+ function build({
3198
+ base,
3199
+ build
3200
+ }) {
3201
+ build(base != null ? base : {});
3202
+ return base;
3203
+ }
3204
+
3205
+ /**
3206
+ * Converts one value to another.
3207
+ */
3208
+
3209
+ /**
3210
+ * Function that reads a value from the input.
3211
+ *
3212
+ * Equivalent to a MapFunction.
3213
+ */
3214
+
3215
+ /**
3216
+ * Turns a normal MapFunction into one that passes through Maybe values without attempting to map them.
3217
+ *
3218
+ * @param mapFunction
3219
+ * @returns
3220
+ */
3221
+ function mapMaybeFunction(mapFunction) {
3222
+ return input => {
3223
+ const output = isMaybeNot(input) ? input : mapFunction(input);
3224
+ return output;
3225
+ };
3226
+ }
3227
+
3228
+ /**
3229
+ * MapFunction with the same input as output.
3230
+ */
3231
+
3232
+ /**
3233
+ * Converts a MapFunction into one that returns a promise.
3234
+ */
3235
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3236
+
3237
+ /**
3238
+ * Converts a MapFunction into one that takes in arrays and returns arrays.
3239
+ */
3240
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3241
+
3242
+ /**
3243
+ * Converts values from the input, and applies them to the target if a target is supplied.
3244
+ */
3245
+
3246
+ /**
3247
+ * Converts values from the input, and applies them to the target if a target is supplied.
3248
+ */
3249
+
3250
+ function mapArrayFunction(mapFunction) {
3251
+ return input => input.map(mapFunction);
3252
+ }
3253
+ const MAP_IDENTITY = input => input;
3254
+ function mapIdentityFunction() {
3255
+ return MAP_IDENTITY;
3256
+ }
3257
+ function isMapIdentityFunction(fn) {
3258
+ return fn === MAP_IDENTITY;
3259
+ }
3260
+
3261
+ // MARK: Pair
3262
+
3263
+ /**
3264
+ * Wraps a MapFunction to instead provide the input and output values.
3265
+ *
3266
+ * @param fn
3267
+ * @returns
3268
+ */
3269
+ function mapFunctionOutputPair(fn) {
3270
+ return input => {
3271
+ const output = fn(input);
3272
+ return {
3273
+ input,
3274
+ output
3275
+ };
3276
+ };
3277
+ }
3278
+
3279
+ // MARK: Output
3280
+ /**
3281
+ * MapFunction output value that captures the input it was derived from.
3282
+ */
3283
+
3284
+ /**
3285
+ *
3286
+ * @param fn
3287
+ * @returns
3288
+ */
3289
+ function wrapMapFunctionOutput(fn) {
3290
+ return input => {
3291
+ const result = fn(input);
3292
+ return mapFunctionOutput(result, input);
3293
+ };
3294
+ }
3295
+ function mapFunctionOutput(output, input) {
3296
+ return build({
3297
+ base: output,
3298
+ build: x => {
3299
+ x._input = input;
3300
+ }
3301
+ });
3302
+ }
3303
+
3304
+ // MARK: Chaining
3305
+ /**
3306
+ * Chains together multiple MapSameFunctions in the same order. Functions that are not defined are ignored.
3307
+ *
3308
+ * @param fns
3309
+ */
3310
+ function chainMapSameFunctions(input) {
3311
+ const fns = filterMaybeValues(asArray(input).filter(x => !isMapIdentityFunction(x))); // remove all identify functions too
3312
+ let fn;
3313
+ switch (fns.length) {
3314
+ case 0:
3315
+ fn = mapIdentityFunction();
3316
+ break;
3317
+ case 1:
3318
+ fn = fns[0];
3319
+ break;
3320
+ default:
3321
+ fn = fns[0];
3322
+ for (let i = 1; i < fns.length; i += 1) {
3323
+ fn = chainMapFunction(fn, fns[i]);
3324
+ }
3325
+ break;
3326
+ }
3327
+ return fn;
3328
+ }
3329
+
3330
+ /**
3331
+ * Creates a single function that chains the two map functions together, if apply is true or undefined.
3332
+ *
3333
+ * If apply is false, or the second map function is not defined, returns the first map function.
3334
+ *
3335
+ * @param a
3336
+ * @param b
3337
+ */
3338
+
3339
+ function chainMapFunction(a, b, apply = true) {
3340
+ if (apply && b != null) {
3341
+ return x => b(a(x));
3342
+ } else {
3343
+ return a;
3344
+ }
3345
+ }
3346
+
3186
3347
  function concatArraysUnique(...arrays) {
3187
3348
  return unique(concatArrays(...arrays));
3188
3349
  }
@@ -3254,6 +3415,31 @@ function filterUniqueValues(values, readKey, additionalKeys = []) {
3254
3415
  return filterUniqueFunction(readKey, additionalKeys)(values);
3255
3416
  }
3256
3417
 
3418
+ // MARK: Factory
3419
+ /**
3420
+ * Function that returns true for a value the first time that value's key is visited. Will return false for all visits after that.
3421
+ */
3422
+
3423
+ /**
3424
+ * Creates a new AllowValueOnceFilter.
3425
+ */
3426
+
3427
+ function allowValueOnceFilter(inputReadKey) {
3428
+ const visitedKeys = new Set();
3429
+ const readKey = inputReadKey || MAP_IDENTITY;
3430
+ const fn = x => {
3431
+ const key = readKey(x);
3432
+ if (!visitedKeys.has(key)) {
3433
+ visitedKeys.add(key);
3434
+ return true;
3435
+ }
3436
+ return false;
3437
+ };
3438
+ fn._readKey = readKey;
3439
+ fn._visitedKeys = visitedKeys;
3440
+ return fn;
3441
+ }
3442
+
3257
3443
  /**
3258
3444
  * A string model key
3259
3445
  */
@@ -3815,167 +4001,6 @@ class HashSet {
3815
4001
  }
3816
4002
  }
3817
4003
 
3818
- /**
3819
- * Denotes a typically read-only like model is being built/configured.
3820
- */
3821
-
3822
- /**
3823
- * Convenience function that is used to "build" an object of a specific type.
3824
- *
3825
- * @param base
3826
- * @param buildFn
3827
- * @returns
3828
- */
3829
- function build({
3830
- base,
3831
- build
3832
- }) {
3833
- build(base != null ? base : {});
3834
- return base;
3835
- }
3836
-
3837
- /**
3838
- * Converts one value to another.
3839
- */
3840
-
3841
- /**
3842
- * Function that reads a value from the input.
3843
- *
3844
- * Equivalent to a MapFunction.
3845
- */
3846
-
3847
- /**
3848
- * Turns a normal MapFunction into one that passes through Maybe values without attempting to map them.
3849
- *
3850
- * @param mapFunction
3851
- * @returns
3852
- */
3853
- function mapMaybeFunction(mapFunction) {
3854
- return input => {
3855
- const output = isMaybeNot(input) ? input : mapFunction(input);
3856
- return output;
3857
- };
3858
- }
3859
-
3860
- /**
3861
- * MapFunction with the same input as output.
3862
- */
3863
-
3864
- /**
3865
- * Converts a MapFunction into one that returns a promise.
3866
- */
3867
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3868
-
3869
- /**
3870
- * Converts a MapFunction into one that takes in arrays and returns arrays.
3871
- */
3872
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3873
-
3874
- /**
3875
- * Converts values from the input, and applies them to the target if a target is supplied.
3876
- */
3877
-
3878
- /**
3879
- * Converts values from the input, and applies them to the target if a target is supplied.
3880
- */
3881
-
3882
- function mapArrayFunction(mapFunction) {
3883
- return input => input.map(mapFunction);
3884
- }
3885
- const MAP_IDENTITY = input => input;
3886
- function mapIdentityFunction() {
3887
- return MAP_IDENTITY;
3888
- }
3889
- function isMapIdentityFunction(fn) {
3890
- return fn === MAP_IDENTITY;
3891
- }
3892
-
3893
- // MARK: Pair
3894
-
3895
- /**
3896
- * Wraps a MapFunction to instead provide the input and output values.
3897
- *
3898
- * @param fn
3899
- * @returns
3900
- */
3901
- function mapFunctionOutputPair(fn) {
3902
- return input => {
3903
- const output = fn(input);
3904
- return {
3905
- input,
3906
- output
3907
- };
3908
- };
3909
- }
3910
-
3911
- // MARK: Output
3912
- /**
3913
- * MapFunction output value that captures the input it was derived from.
3914
- */
3915
-
3916
- /**
3917
- *
3918
- * @param fn
3919
- * @returns
3920
- */
3921
- function wrapMapFunctionOutput(fn) {
3922
- return input => {
3923
- const result = fn(input);
3924
- return mapFunctionOutput(result, input);
3925
- };
3926
- }
3927
- function mapFunctionOutput(output, input) {
3928
- return build({
3929
- base: output,
3930
- build: x => {
3931
- x._input = input;
3932
- }
3933
- });
3934
- }
3935
-
3936
- // MARK: Chaining
3937
- /**
3938
- * Chains together multiple MapSameFunctions in the same order. Functions that are not defined are ignored.
3939
- *
3940
- * @param fns
3941
- */
3942
- function chainMapSameFunctions(input) {
3943
- const fns = filterMaybeValues(asArray(input).filter(x => !isMapIdentityFunction(x))); // remove all identify functions too
3944
- let fn;
3945
- switch (fns.length) {
3946
- case 0:
3947
- fn = mapIdentityFunction();
3948
- break;
3949
- case 1:
3950
- fn = fns[0];
3951
- break;
3952
- default:
3953
- fn = fns[0];
3954
- for (let i = 1; i < fns.length; i += 1) {
3955
- fn = chainMapFunction(fn, fns[i]);
3956
- }
3957
- break;
3958
- }
3959
- return fn;
3960
- }
3961
-
3962
- /**
3963
- * Creates a single function that chains the two map functions together, if apply is true or undefined.
3964
- *
3965
- * If apply is false, or the second map function is not defined, returns the first map function.
3966
- *
3967
- * @param a
3968
- * @param b
3969
- */
3970
-
3971
- function chainMapFunction(a, b, apply = true) {
3972
- if (apply && b != null) {
3973
- return x => b(a(x));
3974
- } else {
3975
- return a;
3976
- }
3977
- }
3978
-
3979
4004
  const SORT_VALUE_LESS_THAN = -1;
3980
4005
  const SORT_VALUE_GREATER_THAN = 1;
3981
4006
  const SORT_VALUE_EQUAL = 0;
@@ -16001,4 +16026,4 @@ async function iterateFilteredPages(inputPage, loadFn, iterFn) {
16001
16026
  return count;
16002
16027
  }
16003
16028
 
16004
- export { ALL_DOUBLE_SLASHES_REGEX, ALL_SLASHES_REGEX, ALL_SLASH_PATH_FILE_TYPE_SEPARATORS_REGEX, ASSERTION_ERROR_CODE, ASSERTION_HANDLER, AUTH_ADMIN_ROLE, AUTH_ONBOARDED_ROLE, AUTH_ROLE_CLAIMS_DEFAULT_CLAIM_VALUE, AUTH_ROLE_CLAIMS_DEFAULT_EMPTY_VALUE, AUTH_TOS_SIGNED_ROLE, AUTH_USER_ROLE, AbstractUniqueModel, Assert, AssertMax, AssertMin, AssertionError, AssertionIssueHandler, BooleanKeyArrayUtilityInstance, BooleanStringKeyArrayUtilityInstance, CATCH_ALL_HANDLE_RESULT_KEY, CUT_VALUE_TO_ZERO_PRECISION, DATE_NOW_VALUE, DEFAULT_LAT_LNG_STRING_VALUE, DEFAULT_RANDOM_EMAIL_FACTORY_CONFIG, DEFAULT_RANDOM_PHONE_NUMBER_FACTORY_CONFIG, DEFAULT_READABLE_ERROR_CODE, DEFAULT_SLASH_PATH_ILLEGAL_CHARACTERS, DEFAULT_SLASH_PATH_ILLEGAL_CHARACTER_REPLACEMENT, DEFAULT_UNKNOWN_MODEL_TYPE_STRING, DOLLAR_AMOUNT_PRECISION, DOLLAR_AMOUNT_STRING_REGEX, DataDoesNotExistError, DataIsExpiredError, Day, DestroyFunctionObject, E164PHONE_NUMBER_REGEX, E164PHONE_NUMBER_WITH_EXTENSION_REGEX, E164PHONE_NUMBER_WITH_OPTIONAL_EXTENSION_REGEX, FINAL_PAGE, FIRST_PAGE, FRACTIONAL_HOURS_PRECISION_FUNCTION, FullStorageObject, HAS_WEBSITE_DOMAIN_NAME_REGEX, HOURS_IN_DAY, HTTP_OR_HTTPS_REGEX, HashSet, ISO8601_DAY_STRING_REGEX, ISO8601_DAY_STRING_START_REGEX, ISO_8601_DATE_STRING_REGEX, KeyValueTypleValueFilter, LAT_LNG_PATTERN, LAT_LNG_PATTERN_MAX_PRECISION, LAT_LONG_100KM_PRECISION, LAT_LONG_100M_PRECISION, LAT_LONG_10CM_PRECISION, LAT_LONG_10KM_PRECISION, LAT_LONG_10M_PRECISION, LAT_LONG_1CM_PRECISION, LAT_LONG_1KM_PRECISION, LAT_LONG_1MM_PRECISION, LAT_LONG_1M_PRECISION, LAT_LONG_GRAINS_OF_SAND_PRECISION, LEADING_SLASHES_REGEX, MAP_IDENTITY, MAX_BITWISE_SET_SIZE, MAX_LATITUDE_VALUE, MAX_LONGITUDE_VALUE, MINUTES_IN_DAY, MINUTES_IN_HOUR, MIN_LATITUDE_VALUE, MIN_LONGITUDE_VALUE, MONTH_DAY_SLASH_DATE_STRING_REGEX, MS_IN_DAY, MS_IN_HOUR, MS_IN_MINUTE, MS_IN_SECOND, MemoryStorageInstance, ModelRelationUtility, NOOP_MODIFIER, PHONE_EXTENSION_NUMBER_REGEX, PRIMATIVE_KEY_DENCODER_VALUE, PageCalculator, PropertyDescriptorUtility, REGEX_SPECIAL_CHARACTERS, REGEX_SPECIAL_CHARACTERS_SET, RelationChange, SECONDS_IN_MINUTE, SHARED_MEMORY_STORAGE, SLASH_PATH_FILE_TYPE_SEPARATOR, SLASH_PATH_SEPARATOR, SORT_VALUE_EQUAL, SORT_VALUE_GREATER_THAN, SORT_VALUE_LESS_THAN, ServerErrorResponse, SetDeltaChange, SimpleStorageObject, StorageObject, StorageObjectUtility, StoredDataError, SyncState, TOTAL_LATITUDE_RANGE, TOTAL_LONGITUDE_RANGE, TOTAL_SPAN_OF_LONGITUDE, TRAILING_FILE_TYPE_SEPARATORS_REGEX, TRAILING_SLASHES_REGEX, TimeAM, TypedServiceRegistryInstance, UNLOADED_PAGE, US_STATE_CODE_STRING_REGEX, UTC_DATE_STRING_REGEX, UTC_TIMEZONE_STRING, UTF_8_START_CHARACTER, UTF_PRIVATE_USAGE_AREA_START, UnauthorizedServerErrorResponse, WEB_PROTOCOL_PREFIX_REGEX, ZIP_CODE_STRING_REGEX, addHttpToUrl, addLatLngPoints, addModifiers, addPlusPrefixToNumber, addPrefix, addPrefixFunction, addSuffix, addSuffixFunction, addToSet, addToSetCopy, allFalsyOrEmptyKeys, allIndexesInIndexRange, allKeyValueTuples, allMaybeSoKeys, allNonUndefinedKeys, allObjectsAreEqual, allValuesAreMaybeNot, allValuesAreNotMaybe, applyBestFit, applyToMultipleFields, areEqualContext, areEqualPOJOValues, arrayContainsDuplicateValue, arrayContentsDiffer, arrayDecision, arrayDecisionFunction, arrayFactory, arrayInputFactory, arrayToLowercase, arrayToMap, arrayToObject, arrayToUppercase, asArray, asDecisionFunction, asGetter, asIndexRangeCheckFunctionConfig, asIterable, asNumber, asObjectCopyFactory, asPromise, asSet, assignValuesToPOJO, assignValuesToPOJOFunction, authClaims, authRoleClaimsService, authRolesSetHasRoles, baseWebsiteUrl, batch, batchCalc, bitwiseObjectDencoder, bitwiseObjectEncoder, bitwiseObjectdecoder, bitwiseSetDecoder, bitwiseSetDencoder, booleanFactory, boundNumber, boundNumberFunction, boundToRectangle, build, cachedGetter, capLatValue, capitalizeFirstLetter, caseInsensitiveFilterByIndexOfDecisionFactory, caseInsensitiveString, catchAllHandlerKey, chainMapFunction, chainMapSameFunctions, coerceToEmailParticipants, combineMaps, compareEqualityWithValueFromItemsFunction, compareEqualityWithValueFromItemsFunctionFactory, compareFnOrder, computeNextFractionalHour, computeNextFreeIndexFunction, concatArrays, concatArraysUnique, containsAllStringsAnyCase, containsAllValues, containsAnyStringAnyCase, containsAnyValue, containsAnyValueFromSet, containsNoValueFromSet, containsNoneOfValue, containsStringAnyCase, convertEmailParticipantStringToParticipant, convertMaybeToArray, convertParticipantToEmailParticipantString, convertToArray, copyArray, copyField, copyLatLngBound, copyLatLngPoint, copyObject, copySetAndDo, countAllInNestedArray, countPOJOKeys, countPOJOKeysFunction, cronExpressionRepeatingEveryNMinutes, cssClassesSet, cutToPrecision, cutValueToInteger, cutValueToPrecision, cutValueToPrecisionFunction, dateFromLogicalDate, dayOfWeek, daysOfWeekArray, daysOfWeekFromEnabledDays, daysOfWeekNameFunction, daysOfWeekNameMap, decisionFunction, decodeHashedValues, decodeHashedValuesWithDecodeMap, decodeModelKeyTypePair, defaultFilterFromPOJOFunctionNoCopy, defaultForwardFunctionFactory, defaultLatLngPoint, defaultLatLngString, dencodeBitwiseSet, diffLatLngBoundPoints, diffLatLngPoints, dollarAmountString, e164PhoneNumberExtensionPair, e164PhoneNumberFromE164PhoneNumberExtensionPair, enabledDaysFromDaysOfWeek, encodeBitwiseSet, encodeModelKeyTypePair, errorMessageContainsString, errorMessageContainsStringFunction, escapeStringForRegex, excludeValues, excludeValuesFromArray, excludeValuesFromSet, existsInIterable, expandArrayMapTuples, expandArrayValueTuples, expandFlattenTreeFunction, expandIndexSet, expandTreeFunction, expandTrees, extendLatLngBound, filterAndMapFunction, filterEmptyValues, filterFalsyAndEmptyValues, filterFromIterable, filterFromPOJO, filterFromPOJOFunction, filterKeyValueTupleFunction, filterKeyValueTuples, filterKeyValueTuplesFunction, filterKeyValueTuplesInputToFilter, filterMaybeValues, filterNullAndUndefinedValues, filterOnlyUndefinedValues, filterUndefinedValues, filterUniqueCaseInsensitiveStrings, filterUniqueFunction, filterUniqueTransform, filterUniqueValues, filterValuesByDistance, filterValuesByDistanceNoOrder, filterValuesToSet, filterValuesUsingSet, filteredPage, findAllCharacterOccurences, findAllCharacterOccurencesFunction, findBest, findBestIndexMatch, findBestIndexMatchFunction, findBestIndexSetPair, findFirstCharacterOccurence, findInIterable, findIndexOfFirstDuplicateValue, findItemsByIndex, findNext, findPOJOKeys, findPOJOKeysFunction, findStringsRegexString, findToIndexSet, findValuesFrom, firstAndLastCharacterOccurrence, firstAndLastValue, firstValue, firstValueFromIterable, fitToIndexRangeFunction, fixExtraQueryParameters, fixMultiSlashesInSlashPath, flattenArray, flattenArrayOrValueArray, flattenArrayToSet, flattenArrayUnique, flattenArrayUniqueCaseInsensitiveStrings, flattenTree, flattenTreeToArray, flattenTreeToArrayFunction, flattenTrees, forEachInIterable, forEachKeyValue, forEachKeyValueOnPOJOFunction, forEachWithArray, forwardFunction, fractionalHoursToMinutes, generateIfDoesNotExist, getArrayNextIndex, getDayOffset, getDayTomorrow, getDayYesterday, getDaysOfWeekNames, getFunctionType, getNextDay, getNextPageNumber, getOverlappingRectangle, getPageNumber, getPreviousDay, getValueFromGetter, groupValues, handlerBindAccessor, handlerConfigurerFactory, handlerFactory, handlerMappedSetFunction, handlerMappedSetFunctionFactory, handlerSetFunction, hasDifferentStringsNoCase, hasDifferentValues, hasHttpPrefix, hasNonNullValue, hasSameTimezone, hasSameValues, hasValueFunction, hasValueOrNotEmpty, hasValueOrNotEmptyObject, hasWebsiteDomain, hashSetForIndexed, hourToFractionalHour, idBatchFactory, incrementingNumberFactory, indexDeltaGroup, indexDeltaGroupFunction, indexRange, indexRangeCheckFunction, indexRangeCheckReaderFunction, indexRangeForArray, indexRangeOverlapsIndexRange, indexRangeOverlapsIndexRangeFunction, indexRangeReaderPairFactory, indexedValuesArrayAccessorFactory, insertIntoBooleanKeyArray, invertBooleanReturnFunction, invertDecision, invertFilter, isAllowed, isClassLikeType, isCompleteUnitedStatesAddress, isConsideredUtcTimezoneString, isDate, isDefaultLatLngPoint, isDefaultLatLngPointValue, isDefaultReadableError, isDefinedAndNotFalse, isDollarAmountString, isE164PhoneNumber, isE164PhoneNumberWithExtension, isEmptyIterable, isEqualContext, isEqualToValueDecisionFunction, isEvenNumber, isFalseBooleanKeyArray, isFinalPage, isGetter, isISO8601DateString, isISO8601DayString, isISO8601DayStringStart, isInAllowedDaysOfWeekSet, isInNumberBoundFunction, isInSetDecisionFunction, isIndexNumberInIndexRange, isIndexNumberInIndexRangeFunction, isIndexRangeInIndexRange, isIndexRangeInIndexRangeFunction, isIterable, isLatLngBound, isLatLngBoundWithinLatLngBound, isLatLngPoint, isLatLngPointWithinLatLngBound, isLatLngString, isLogicalDateStringCode, isMapIdentityFunction, isMaybeNot, isMaybeNotOrTrue, isMaybeSo, isModelKey, isMonthDaySlashDate, isNonClassFunction, isNotNullOrEmptyString, isNumberDivisibleBy, isObjectWithConstructor, isOddNumber, isPromise, isPromiseLike, isSameLatLngBound, isSameLatLngPoint, isSameNonNullValue, isSameVector, isSelectedDecisionFunctionFactory, isSelectedIndexDecisionFunction, isServerError, isSlashPathFile, isSlashPathFolder, isSlashPathTypedFile, isStringOrTrue, isTrueBooleanKeyArray, isUTCDateString, isUsStateCodeString, isValidLatLngPoint, isValidLatitude, isValidLongitude, isValidNumberBound, isValidPhoneExtensionNumber, isValidSlashPath, isWebsiteUrl, isWebsiteUrlWithPrefix, isWithinLatLngBoundFunction, isolateSlashPath, isolateSlashPathFunction, isolateWebsitePathFunction, itemCountForBatchIndex, iterableToArray, iterableToMap, iterablesAreSetEquivalent, iterate, iterateFilteredPages, joinHostAndPort, joinStringsWithSpaces, keepCharactersAfterFirstCharacterOccurence, keepCharactersAfterFirstCharacterOccurenceFunction, keepFromSetCopy, keepValuesFromArray, keepValuesFromSet, keyValueMapFactory, lastValue, latLngBound, latLngBoundCenterPoint, latLngBoundEastBound, latLngBoundFromInput, latLngBoundFullyWrapsMap, latLngBoundFunction, latLngBoundNorthBound, latLngBoundNorthEastPoint, latLngBoundNorthWestPoint, latLngBoundOverlapsLatLngBound, latLngBoundSouthBound, latLngBoundSouthEastPoint, latLngBoundSouthWestPoint, latLngBoundStrictlyWrapsMap, latLngBoundTuple, latLngBoundTupleFunction, latLngBoundWestBound, latLngBoundWrapsMap, latLngDataPointFunction, latLngPoint, latLngPointFromString, latLngPointFunction, latLngPointPrecisionFunction, latLngString, latLngStringFunction, latLngTuple, latLngTupleFunction, limitArray, lonLatTuple, lowercaseFirstLetter, mailToUrlString, makeBestFit, makeCopyModelFieldFunction, makeDateMonthForMonthOfYear, makeGetter, makeHandler, makeHashDecodeMap, makeKeyPairs, makeModelConversionFieldValuesFunction, makeModelMap, makeModelMapFunctions, makeMultiModelKeyMap, makeValuesGroupMap, makeWithFactory, makeWithFactoryInput, mapArrayFunction, mapFunctionOutput, mapFunctionOutputPair, mapGetter, mapGetterFactory, mapIdentityFunction, mapIterable, mapKeysIntersectionObjectToArray, mapMaybeFunction, mapObjectMap, mapObjectMapFunction, mapObjectToTargetObject, mapPromiseOrValue, mapToObject, mapToTuples, mapValuesToSet, mappedUseAsyncFunction, mappedUseFunction, mapsHaveSameKeys, maybeMergeModelModifiers, maybeMergeModifiers, maybeModifierMapToFunction, maybeSet, mergeArrayIntoArray, mergeArrayOrValueIntoArray, mergeArrays, mergeArraysIntoArray, mergeFilterFunctions, mergeIntoArray, mergeModifiers, mergeObjects, mergeObjectsFunction, mergeSlashPaths, messageFromError, minAndMaxFunction, minAndMaxIndex, minAndMaxIndexFunction, minAndMaxIndexItemsFunction, minAndMaxNumber, minutesToFractionalHours, modelFieldConversions, modelFieldMapFunction, modelFieldMapFunctions, modelTypeDataPairFactory, modifier, modifierMapToFunction, modifyModelMapFunction, modifyModelMapFunctions, monthDaySlashDateToDateString, monthOfYearFromDate, monthOfYearFromDateMonth, multiKeyValueMapFactory, multiValueMapBuilder, neMostLatLngPoint, nearestDivisibleValues, objectCopyFactory, objectDeltaArrayCompressor, objectFieldEqualityChecker, objectFlatMergeMatrix, objectHasKey, objectHasKeys, objectHasNoKeys, objectIsEmpty, objectKeyEqualityComparatorFunction, objectKeysEqualityComparatorFunction, objectMergeMatrix, objectToMap, objectToTuples, overlapsLatLngBoundFunction, overrideInObject, overrideInObjectFunctionFactory, pairGroupValues, parseISO8601DayStringToUTCDate, partialServerError, passThrough, percentNumberFromDecimal, percentNumberToDecimal, performAsyncTask, performAsyncTasks, performBatchLoop, performMakeLoop, performTaskCountLoop, performTaskLoop, performTasksFromFactoryInParallelFunction, performTasksInParallel, performTasksInParallelFunction, pickOneRandomly, poll, primativeKeyDencoder, primativeKeyDencoderMap, primativeKeyStringDencoder, primativeValuesDelta, promiseReference, protectedFactory, pushArrayItemsIntoArray, pushElementOntoArray, pushItemOrArrayItemsIntoArray, randomArrayFactory, randomArrayIndex, randomBoolean, randomEmailFactory, randomFromArrayFactory, randomLatLngFactory, randomLatLngFromCenterFactory, randomNumber, randomNumberFactory, randomPhoneNumberFactory, randomPickFactory, range, rangedIndexedValuesArrayAccessorFactory, rangedIndexedValuesArrayAccessorInfoFactory, readBooleanKeySafetyWrap, readDomainFromEmailAddress, readDomainsFromEmailAddresses, readEmailDomainFromUrlOrEmailAddress, readIndexNumber, readKeysFrom, readKeysFromFilterUniqueFunctionAdditionalKeys, readKeysFromFilterUniqueFunctionAdditionalKeysInput, readKeysFunction, readKeysSetFrom, readKeysSetFunction, readKeysToMap, readModelKey, readModelKeyFromObject, readModelKeys, readModelKeysFromObjects, readMultipleKeysToMap, readUniqueModelKey, readableError, readableStreamToBase64, readableStreamToBuffer, readableStreamToStringFunction, rectangleOverlapsRectangle, reduceBooleansFn, reduceBooleansWithAnd, reduceBooleansWithAndFn, reduceBooleansWithOr, reduceBooleansWithOrFn, reduceNumbers, reduceNumbersFn, reduceNumbersWithAdd, reduceNumbersWithAddFn, reduceNumbersWithMax, reduceNumbersWithMaxFn, reduceNumbersWithMin, reduceNumbersWithMinFn, removeByKeyFromBooleanKeyArray, removeCharactersAfterFirstCharacterOccurence, removeCharactersAfterFirstCharacterOccurenceFunction, removeExtensionFromPhoneNumber, removeFromBooleanKeyArray, removeFromSet, removeFromSetCopy, removeHttpFromUrl, removeModelsWithKey, removeModelsWithSameKey, removeModifiers, removeTrailingFileTypeSeparators, removeTrailingSlashes, removeWebProtocolPrefix, repeatString, replaceCharacterAtIndexIf, replaceCharacterAtIndexWith, replaceInvalidFilePathTypeSeparatorsInSlashPath, replaceInvalidFilePathTypeSeparatorsInSlashPathFunction, replaceLastCharacterIf, replaceLastCharacterIfIsFunction, replaceMultipleFilePathsInSlashPath, replaceStringsFunction, requireModelKey, restoreOrder, restoreOrderWithValues, reverseCompareFn, roundNumberToStepFunction, roundNumberUpToStep, roundToPrecision, roundToPrecisionFunction, roundingFunction, runAsyncTaskForValue, runAsyncTasksForValues, safeCompareEquality, safeEqualityComparatorFunction, safeFindBestIndexMatch, searchStringFilterFunction, separateValues, separateValuesToSets, serverError, setContainsAllValues, setContainsAnyValue, setContainsNoneOfValue, setDeltaChangeKeys, setDeltaFunction, setHasValueFunction, setIncludes, setIncludesFunction, setKeysOnMap, setWebProtocolPrefix, setsAreEquivalent, simpleSortValuesFunctionWithSortRef, slashPathFactory, slashPathInvalidError, slashPathName, slashPathParts, slashPathStartTypeFactory, slashPathType, slashPathValidationFactory, sliceIndexRangeFunction, sortAscendingIndexNumberRefFunction, sortByIndexAscendingCompareFunction, sortByIndexRangeAscendingCompareFunction, sortByLabelFunction, sortByNumberFunction, sortByStringFunction, sortCompareNumberFunction, sortNumbersAscendingFunction, sortValues, sortValuesFunctionOrMapIdentityWithSortRef, sortValuesFunctionWithSortRef, spaceSeparatedCssClasses, splitCommaSeparatedString, splitCommaSeparatedStringToSet, splitJoinNameString, splitJoinRemainder, splitStringAtFirstCharacterOccurence, splitStringAtFirstCharacterOccurenceFunction, splitStringAtIndex, stepsFromIndex, stepsFromIndexFunction, stringFactoryFromFactory, stringToLowercaseFunction, stringToUppercaseFunction, stringTrimFunction, sumOfIntegersBetween, swMostLatLngPoint, symmetricDifferenceArray, symmetricDifferenceArrayBetweenSets, symmetricDifferenceWithModels, takeFront, takeLast, takeValuesFromIterable, telUrlString, telUrlStringForE164PhoneNumberPair, terminatingFactoryFromArray, throwKeyIsRequired, toAbsoluteSlashPathStartType, toCaseInsensitiveStringArray, toModelFieldConversions, toModelMapFunctions, toReadableError, toRelativeSlashPathStartType, toggleInSet, toggleInSetCopy, transformNumberFunction, transformNumberFunctionConfig, transformStringFunction, transformStringFunctionConfig, transformStrings, trimArray, typedServiceRegistry, unique, uniqueCaseInsensitiveStrings, uniqueCaseInsensitiveStringsSet, uniqueKeys, uniqueModels, unitedStatesAddressString, urlWithoutParameters, useAsync, useCallback, useContextFunction, useIterableOrValue, useModelOrKey, usePromise, useValue, validLatLngPoint, validLatLngPointFunction, valueAtIndex, valuesAreBothNullishOrEquivalent, valuesFromPOJO, valuesFromPOJOFunction, vectorMinimumSizeResizeFunction, vectorsAreEqual, waitForMs, websiteDomainAndPathPair, websiteDomainAndPathPairFromWebsiteUrl, websitePathAndQueryPair, websitePathFromWebsiteDomainAndPath, websitePathFromWebsiteUrl, websiteUrlFromPaths, wrapIndexRangeFunction, wrapLatLngPoint, wrapLngValue, wrapMapFunctionOutput, wrapNumberFunction, wrapTuples, wrapUseAsyncFunction, wrapUseFunction };
16029
+ export { ALL_DOUBLE_SLASHES_REGEX, ALL_SLASHES_REGEX, ALL_SLASH_PATH_FILE_TYPE_SEPARATORS_REGEX, ASSERTION_ERROR_CODE, ASSERTION_HANDLER, AUTH_ADMIN_ROLE, AUTH_ONBOARDED_ROLE, AUTH_ROLE_CLAIMS_DEFAULT_CLAIM_VALUE, AUTH_ROLE_CLAIMS_DEFAULT_EMPTY_VALUE, AUTH_TOS_SIGNED_ROLE, AUTH_USER_ROLE, AbstractUniqueModel, Assert, AssertMax, AssertMin, AssertionError, AssertionIssueHandler, BooleanKeyArrayUtilityInstance, BooleanStringKeyArrayUtilityInstance, CATCH_ALL_HANDLE_RESULT_KEY, CUT_VALUE_TO_ZERO_PRECISION, DATE_NOW_VALUE, DEFAULT_LAT_LNG_STRING_VALUE, DEFAULT_RANDOM_EMAIL_FACTORY_CONFIG, DEFAULT_RANDOM_PHONE_NUMBER_FACTORY_CONFIG, DEFAULT_READABLE_ERROR_CODE, DEFAULT_SLASH_PATH_ILLEGAL_CHARACTERS, DEFAULT_SLASH_PATH_ILLEGAL_CHARACTER_REPLACEMENT, DEFAULT_UNKNOWN_MODEL_TYPE_STRING, DOLLAR_AMOUNT_PRECISION, DOLLAR_AMOUNT_STRING_REGEX, DataDoesNotExistError, DataIsExpiredError, Day, DestroyFunctionObject, E164PHONE_NUMBER_REGEX, E164PHONE_NUMBER_WITH_EXTENSION_REGEX, E164PHONE_NUMBER_WITH_OPTIONAL_EXTENSION_REGEX, FINAL_PAGE, FIRST_PAGE, FRACTIONAL_HOURS_PRECISION_FUNCTION, FullStorageObject, HAS_WEBSITE_DOMAIN_NAME_REGEX, HOURS_IN_DAY, HTTP_OR_HTTPS_REGEX, HashSet, ISO8601_DAY_STRING_REGEX, ISO8601_DAY_STRING_START_REGEX, ISO_8601_DATE_STRING_REGEX, KeyValueTypleValueFilter, LAT_LNG_PATTERN, LAT_LNG_PATTERN_MAX_PRECISION, LAT_LONG_100KM_PRECISION, LAT_LONG_100M_PRECISION, LAT_LONG_10CM_PRECISION, LAT_LONG_10KM_PRECISION, LAT_LONG_10M_PRECISION, LAT_LONG_1CM_PRECISION, LAT_LONG_1KM_PRECISION, LAT_LONG_1MM_PRECISION, LAT_LONG_1M_PRECISION, LAT_LONG_GRAINS_OF_SAND_PRECISION, LEADING_SLASHES_REGEX, MAP_IDENTITY, MAX_BITWISE_SET_SIZE, MAX_LATITUDE_VALUE, MAX_LONGITUDE_VALUE, MINUTES_IN_DAY, MINUTES_IN_HOUR, MIN_LATITUDE_VALUE, MIN_LONGITUDE_VALUE, MONTH_DAY_SLASH_DATE_STRING_REGEX, MS_IN_DAY, MS_IN_HOUR, MS_IN_MINUTE, MS_IN_SECOND, MemoryStorageInstance, ModelRelationUtility, NOOP_MODIFIER, PHONE_EXTENSION_NUMBER_REGEX, PRIMATIVE_KEY_DENCODER_VALUE, PageCalculator, PropertyDescriptorUtility, REGEX_SPECIAL_CHARACTERS, REGEX_SPECIAL_CHARACTERS_SET, RelationChange, SECONDS_IN_MINUTE, SHARED_MEMORY_STORAGE, SLASH_PATH_FILE_TYPE_SEPARATOR, SLASH_PATH_SEPARATOR, SORT_VALUE_EQUAL, SORT_VALUE_GREATER_THAN, SORT_VALUE_LESS_THAN, ServerErrorResponse, SetDeltaChange, SimpleStorageObject, StorageObject, StorageObjectUtility, StoredDataError, SyncState, TOTAL_LATITUDE_RANGE, TOTAL_LONGITUDE_RANGE, TOTAL_SPAN_OF_LONGITUDE, TRAILING_FILE_TYPE_SEPARATORS_REGEX, TRAILING_SLASHES_REGEX, TimeAM, TypedServiceRegistryInstance, UNLOADED_PAGE, US_STATE_CODE_STRING_REGEX, UTC_DATE_STRING_REGEX, UTC_TIMEZONE_STRING, UTF_8_START_CHARACTER, UTF_PRIVATE_USAGE_AREA_START, UnauthorizedServerErrorResponse, WEB_PROTOCOL_PREFIX_REGEX, ZIP_CODE_STRING_REGEX, addHttpToUrl, addLatLngPoints, addModifiers, addPlusPrefixToNumber, addPrefix, addPrefixFunction, addSuffix, addSuffixFunction, addToSet, addToSetCopy, allFalsyOrEmptyKeys, allIndexesInIndexRange, allKeyValueTuples, allMaybeSoKeys, allNonUndefinedKeys, allObjectsAreEqual, allValuesAreMaybeNot, allValuesAreNotMaybe, allowValueOnceFilter, applyBestFit, applyToMultipleFields, areEqualContext, areEqualPOJOValues, arrayContainsDuplicateValue, arrayContentsDiffer, arrayDecision, arrayDecisionFunction, arrayFactory, arrayInputFactory, arrayToLowercase, arrayToMap, arrayToObject, arrayToUppercase, asArray, asDecisionFunction, asGetter, asIndexRangeCheckFunctionConfig, asIterable, asNumber, asObjectCopyFactory, asPromise, asSet, assignValuesToPOJO, assignValuesToPOJOFunction, authClaims, authRoleClaimsService, authRolesSetHasRoles, baseWebsiteUrl, batch, batchCalc, bitwiseObjectDencoder, bitwiseObjectEncoder, bitwiseObjectdecoder, bitwiseSetDecoder, bitwiseSetDencoder, booleanFactory, boundNumber, boundNumberFunction, boundToRectangle, build, cachedGetter, capLatValue, capitalizeFirstLetter, caseInsensitiveFilterByIndexOfDecisionFactory, caseInsensitiveString, catchAllHandlerKey, chainMapFunction, chainMapSameFunctions, coerceToEmailParticipants, combineMaps, compareEqualityWithValueFromItemsFunction, compareEqualityWithValueFromItemsFunctionFactory, compareFnOrder, computeNextFractionalHour, computeNextFreeIndexFunction, concatArrays, concatArraysUnique, containsAllStringsAnyCase, containsAllValues, containsAnyStringAnyCase, containsAnyValue, containsAnyValueFromSet, containsNoValueFromSet, containsNoneOfValue, containsStringAnyCase, convertEmailParticipantStringToParticipant, convertMaybeToArray, convertParticipantToEmailParticipantString, convertToArray, copyArray, copyField, copyLatLngBound, copyLatLngPoint, copyObject, copySetAndDo, countAllInNestedArray, countPOJOKeys, countPOJOKeysFunction, cronExpressionRepeatingEveryNMinutes, cssClassesSet, cutToPrecision, cutValueToInteger, cutValueToPrecision, cutValueToPrecisionFunction, dateFromLogicalDate, dayOfWeek, daysOfWeekArray, daysOfWeekFromEnabledDays, daysOfWeekNameFunction, daysOfWeekNameMap, decisionFunction, decodeHashedValues, decodeHashedValuesWithDecodeMap, decodeModelKeyTypePair, defaultFilterFromPOJOFunctionNoCopy, defaultForwardFunctionFactory, defaultLatLngPoint, defaultLatLngString, dencodeBitwiseSet, diffLatLngBoundPoints, diffLatLngPoints, dollarAmountString, e164PhoneNumberExtensionPair, e164PhoneNumberFromE164PhoneNumberExtensionPair, enabledDaysFromDaysOfWeek, encodeBitwiseSet, encodeModelKeyTypePair, errorMessageContainsString, errorMessageContainsStringFunction, escapeStringForRegex, excludeValues, excludeValuesFromArray, excludeValuesFromSet, existsInIterable, expandArrayMapTuples, expandArrayValueTuples, expandFlattenTreeFunction, expandIndexSet, expandTreeFunction, expandTrees, extendLatLngBound, filterAndMapFunction, filterEmptyValues, filterFalsyAndEmptyValues, filterFromIterable, filterFromPOJO, filterFromPOJOFunction, filterKeyValueTupleFunction, filterKeyValueTuples, filterKeyValueTuplesFunction, filterKeyValueTuplesInputToFilter, filterMaybeValues, filterNullAndUndefinedValues, filterOnlyUndefinedValues, filterUndefinedValues, filterUniqueCaseInsensitiveStrings, filterUniqueFunction, filterUniqueTransform, filterUniqueValues, filterValuesByDistance, filterValuesByDistanceNoOrder, filterValuesToSet, filterValuesUsingSet, filteredPage, findAllCharacterOccurences, findAllCharacterOccurencesFunction, findBest, findBestIndexMatch, findBestIndexMatchFunction, findBestIndexSetPair, findFirstCharacterOccurence, findInIterable, findIndexOfFirstDuplicateValue, findItemsByIndex, findNext, findPOJOKeys, findPOJOKeysFunction, findStringsRegexString, findToIndexSet, findValuesFrom, firstAndLastCharacterOccurrence, firstAndLastValue, firstValue, firstValueFromIterable, fitToIndexRangeFunction, fixExtraQueryParameters, fixMultiSlashesInSlashPath, flattenArray, flattenArrayOrValueArray, flattenArrayToSet, flattenArrayUnique, flattenArrayUniqueCaseInsensitiveStrings, flattenTree, flattenTreeToArray, flattenTreeToArrayFunction, flattenTrees, forEachInIterable, forEachKeyValue, forEachKeyValueOnPOJOFunction, forEachWithArray, forwardFunction, fractionalHoursToMinutes, generateIfDoesNotExist, getArrayNextIndex, getDayOffset, getDayTomorrow, getDayYesterday, getDaysOfWeekNames, getFunctionType, getNextDay, getNextPageNumber, getOverlappingRectangle, getPageNumber, getPreviousDay, getValueFromGetter, groupValues, handlerBindAccessor, handlerConfigurerFactory, handlerFactory, handlerMappedSetFunction, handlerMappedSetFunctionFactory, handlerSetFunction, hasDifferentStringsNoCase, hasDifferentValues, hasHttpPrefix, hasNonNullValue, hasSameTimezone, hasSameValues, hasValueFunction, hasValueOrNotEmpty, hasValueOrNotEmptyObject, hasWebsiteDomain, hashSetForIndexed, hourToFractionalHour, idBatchFactory, incrementingNumberFactory, indexDeltaGroup, indexDeltaGroupFunction, indexRange, indexRangeCheckFunction, indexRangeCheckReaderFunction, indexRangeForArray, indexRangeOverlapsIndexRange, indexRangeOverlapsIndexRangeFunction, indexRangeReaderPairFactory, indexedValuesArrayAccessorFactory, insertIntoBooleanKeyArray, invertBooleanReturnFunction, invertDecision, invertFilter, isAllowed, isClassLikeType, isCompleteUnitedStatesAddress, isConsideredUtcTimezoneString, isDate, isDefaultLatLngPoint, isDefaultLatLngPointValue, isDefaultReadableError, isDefinedAndNotFalse, isDollarAmountString, isE164PhoneNumber, isE164PhoneNumberWithExtension, isEmptyIterable, isEqualContext, isEqualToValueDecisionFunction, isEvenNumber, isFalseBooleanKeyArray, isFinalPage, isGetter, isISO8601DateString, isISO8601DayString, isISO8601DayStringStart, isInAllowedDaysOfWeekSet, isInNumberBoundFunction, isInSetDecisionFunction, isIndexNumberInIndexRange, isIndexNumberInIndexRangeFunction, isIndexRangeInIndexRange, isIndexRangeInIndexRangeFunction, isIterable, isLatLngBound, isLatLngBoundWithinLatLngBound, isLatLngPoint, isLatLngPointWithinLatLngBound, isLatLngString, isLogicalDateStringCode, isMapIdentityFunction, isMaybeNot, isMaybeNotOrTrue, isMaybeSo, isModelKey, isMonthDaySlashDate, isNonClassFunction, isNotNullOrEmptyString, isNumberDivisibleBy, isObjectWithConstructor, isOddNumber, isPromise, isPromiseLike, isSameLatLngBound, isSameLatLngPoint, isSameNonNullValue, isSameVector, isSelectedDecisionFunctionFactory, isSelectedIndexDecisionFunction, isServerError, isSlashPathFile, isSlashPathFolder, isSlashPathTypedFile, isStringOrTrue, isTrueBooleanKeyArray, isUTCDateString, isUsStateCodeString, isValidLatLngPoint, isValidLatitude, isValidLongitude, isValidNumberBound, isValidPhoneExtensionNumber, isValidSlashPath, isWebsiteUrl, isWebsiteUrlWithPrefix, isWithinLatLngBoundFunction, isolateSlashPath, isolateSlashPathFunction, isolateWebsitePathFunction, itemCountForBatchIndex, iterableToArray, iterableToMap, iterablesAreSetEquivalent, iterate, iterateFilteredPages, joinHostAndPort, joinStringsWithSpaces, keepCharactersAfterFirstCharacterOccurence, keepCharactersAfterFirstCharacterOccurenceFunction, keepFromSetCopy, keepValuesFromArray, keepValuesFromSet, keyValueMapFactory, lastValue, latLngBound, latLngBoundCenterPoint, latLngBoundEastBound, latLngBoundFromInput, latLngBoundFullyWrapsMap, latLngBoundFunction, latLngBoundNorthBound, latLngBoundNorthEastPoint, latLngBoundNorthWestPoint, latLngBoundOverlapsLatLngBound, latLngBoundSouthBound, latLngBoundSouthEastPoint, latLngBoundSouthWestPoint, latLngBoundStrictlyWrapsMap, latLngBoundTuple, latLngBoundTupleFunction, latLngBoundWestBound, latLngBoundWrapsMap, latLngDataPointFunction, latLngPoint, latLngPointFromString, latLngPointFunction, latLngPointPrecisionFunction, latLngString, latLngStringFunction, latLngTuple, latLngTupleFunction, limitArray, lonLatTuple, lowercaseFirstLetter, mailToUrlString, makeBestFit, makeCopyModelFieldFunction, makeDateMonthForMonthOfYear, makeGetter, makeHandler, makeHashDecodeMap, makeKeyPairs, makeModelConversionFieldValuesFunction, makeModelMap, makeModelMapFunctions, makeMultiModelKeyMap, makeValuesGroupMap, makeWithFactory, makeWithFactoryInput, mapArrayFunction, mapFunctionOutput, mapFunctionOutputPair, mapGetter, mapGetterFactory, mapIdentityFunction, mapIterable, mapKeysIntersectionObjectToArray, mapMaybeFunction, mapObjectMap, mapObjectMapFunction, mapObjectToTargetObject, mapPromiseOrValue, mapToObject, mapToTuples, mapValuesToSet, mappedUseAsyncFunction, mappedUseFunction, mapsHaveSameKeys, maybeMergeModelModifiers, maybeMergeModifiers, maybeModifierMapToFunction, maybeSet, mergeArrayIntoArray, mergeArrayOrValueIntoArray, mergeArrays, mergeArraysIntoArray, mergeFilterFunctions, mergeIntoArray, mergeModifiers, mergeObjects, mergeObjectsFunction, mergeSlashPaths, messageFromError, minAndMaxFunction, minAndMaxIndex, minAndMaxIndexFunction, minAndMaxIndexItemsFunction, minAndMaxNumber, minutesToFractionalHours, modelFieldConversions, modelFieldMapFunction, modelFieldMapFunctions, modelTypeDataPairFactory, modifier, modifierMapToFunction, modifyModelMapFunction, modifyModelMapFunctions, monthDaySlashDateToDateString, monthOfYearFromDate, monthOfYearFromDateMonth, multiKeyValueMapFactory, multiValueMapBuilder, neMostLatLngPoint, nearestDivisibleValues, objectCopyFactory, objectDeltaArrayCompressor, objectFieldEqualityChecker, objectFlatMergeMatrix, objectHasKey, objectHasKeys, objectHasNoKeys, objectIsEmpty, objectKeyEqualityComparatorFunction, objectKeysEqualityComparatorFunction, objectMergeMatrix, objectToMap, objectToTuples, overlapsLatLngBoundFunction, overrideInObject, overrideInObjectFunctionFactory, pairGroupValues, parseISO8601DayStringToUTCDate, partialServerError, passThrough, percentNumberFromDecimal, percentNumberToDecimal, performAsyncTask, performAsyncTasks, performBatchLoop, performMakeLoop, performTaskCountLoop, performTaskLoop, performTasksFromFactoryInParallelFunction, performTasksInParallel, performTasksInParallelFunction, pickOneRandomly, poll, primativeKeyDencoder, primativeKeyDencoderMap, primativeKeyStringDencoder, primativeValuesDelta, promiseReference, protectedFactory, pushArrayItemsIntoArray, pushElementOntoArray, pushItemOrArrayItemsIntoArray, randomArrayFactory, randomArrayIndex, randomBoolean, randomEmailFactory, randomFromArrayFactory, randomLatLngFactory, randomLatLngFromCenterFactory, randomNumber, randomNumberFactory, randomPhoneNumberFactory, randomPickFactory, range, rangedIndexedValuesArrayAccessorFactory, rangedIndexedValuesArrayAccessorInfoFactory, readBooleanKeySafetyWrap, readDomainFromEmailAddress, readDomainsFromEmailAddresses, readEmailDomainFromUrlOrEmailAddress, readIndexNumber, readKeysFrom, readKeysFromFilterUniqueFunctionAdditionalKeys, readKeysFromFilterUniqueFunctionAdditionalKeysInput, readKeysFunction, readKeysSetFrom, readKeysSetFunction, readKeysToMap, readModelKey, readModelKeyFromObject, readModelKeys, readModelKeysFromObjects, readMultipleKeysToMap, readUniqueModelKey, readableError, readableStreamToBase64, readableStreamToBuffer, readableStreamToStringFunction, rectangleOverlapsRectangle, reduceBooleansFn, reduceBooleansWithAnd, reduceBooleansWithAndFn, reduceBooleansWithOr, reduceBooleansWithOrFn, reduceNumbers, reduceNumbersFn, reduceNumbersWithAdd, reduceNumbersWithAddFn, reduceNumbersWithMax, reduceNumbersWithMaxFn, reduceNumbersWithMin, reduceNumbersWithMinFn, removeByKeyFromBooleanKeyArray, removeCharactersAfterFirstCharacterOccurence, removeCharactersAfterFirstCharacterOccurenceFunction, removeExtensionFromPhoneNumber, removeFromBooleanKeyArray, removeFromSet, removeFromSetCopy, removeHttpFromUrl, removeModelsWithKey, removeModelsWithSameKey, removeModifiers, removeTrailingFileTypeSeparators, removeTrailingSlashes, removeWebProtocolPrefix, repeatString, replaceCharacterAtIndexIf, replaceCharacterAtIndexWith, replaceInvalidFilePathTypeSeparatorsInSlashPath, replaceInvalidFilePathTypeSeparatorsInSlashPathFunction, replaceLastCharacterIf, replaceLastCharacterIfIsFunction, replaceMultipleFilePathsInSlashPath, replaceStringsFunction, requireModelKey, restoreOrder, restoreOrderWithValues, reverseCompareFn, roundNumberToStepFunction, roundNumberUpToStep, roundToPrecision, roundToPrecisionFunction, roundingFunction, runAsyncTaskForValue, runAsyncTasksForValues, safeCompareEquality, safeEqualityComparatorFunction, safeFindBestIndexMatch, searchStringFilterFunction, separateValues, separateValuesToSets, serverError, setContainsAllValues, setContainsAnyValue, setContainsNoneOfValue, setDeltaChangeKeys, setDeltaFunction, setHasValueFunction, setIncludes, setIncludesFunction, setKeysOnMap, setWebProtocolPrefix, setsAreEquivalent, simpleSortValuesFunctionWithSortRef, slashPathFactory, slashPathInvalidError, slashPathName, slashPathParts, slashPathStartTypeFactory, slashPathType, slashPathValidationFactory, sliceIndexRangeFunction, sortAscendingIndexNumberRefFunction, sortByIndexAscendingCompareFunction, sortByIndexRangeAscendingCompareFunction, sortByLabelFunction, sortByNumberFunction, sortByStringFunction, sortCompareNumberFunction, sortNumbersAscendingFunction, sortValues, sortValuesFunctionOrMapIdentityWithSortRef, sortValuesFunctionWithSortRef, spaceSeparatedCssClasses, splitCommaSeparatedString, splitCommaSeparatedStringToSet, splitJoinNameString, splitJoinRemainder, splitStringAtFirstCharacterOccurence, splitStringAtFirstCharacterOccurenceFunction, splitStringAtIndex, stepsFromIndex, stepsFromIndexFunction, stringFactoryFromFactory, stringToLowercaseFunction, stringToUppercaseFunction, stringTrimFunction, sumOfIntegersBetween, swMostLatLngPoint, symmetricDifferenceArray, symmetricDifferenceArrayBetweenSets, symmetricDifferenceWithModels, takeFront, takeLast, takeValuesFromIterable, telUrlString, telUrlStringForE164PhoneNumberPair, terminatingFactoryFromArray, throwKeyIsRequired, toAbsoluteSlashPathStartType, toCaseInsensitiveStringArray, toModelFieldConversions, toModelMapFunctions, toReadableError, toRelativeSlashPathStartType, toggleInSet, toggleInSetCopy, transformNumberFunction, transformNumberFunctionConfig, transformStringFunction, transformStringFunctionConfig, transformStrings, trimArray, typedServiceRegistry, unique, uniqueCaseInsensitiveStrings, uniqueCaseInsensitiveStringsSet, uniqueKeys, uniqueModels, unitedStatesAddressString, urlWithoutParameters, useAsync, useCallback, useContextFunction, useIterableOrValue, useModelOrKey, usePromise, useValue, validLatLngPoint, validLatLngPointFunction, valueAtIndex, valuesAreBothNullishOrEquivalent, valuesFromPOJO, valuesFromPOJOFunction, vectorMinimumSizeResizeFunction, vectorsAreEqual, waitForMs, websiteDomainAndPathPair, websiteDomainAndPathPairFromWebsiteUrl, websitePathAndQueryPair, websitePathFromWebsiteDomainAndPath, websitePathFromWebsiteUrl, websiteUrlFromPaths, wrapIndexRangeFunction, wrapLatLngPoint, wrapLngValue, wrapMapFunctionOutput, wrapNumberFunction, wrapTuples, wrapUseAsyncFunction, wrapUseFunction };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/util",
3
- "version": "10.0.22",
3
+ "version": "10.0.24",
4
4
  "exports": {
5
5
  ".": {
6
6
  "types": "./src/index.d.ts",
@@ -1,5 +1,6 @@
1
1
  import { type PrimativeKey, type ReadKeyFunction } from '../key';
2
2
  import { type Maybe } from '../value/maybe.type';
3
+ import { type DecisionFunction } from '../value/decision';
3
4
  export declare function concatArraysUnique<T extends PrimativeKey = PrimativeKey>(...arrays: Maybe<T[]>[]): T[];
4
5
  export declare function flattenArrayUnique<T extends PrimativeKey = PrimativeKey>(array: T[][]): T[];
5
6
  /**
@@ -33,3 +34,21 @@ export declare function readKeysFromFilterUniqueFunctionAdditionalKeys<T, K exte
33
34
  */
34
35
  export declare function filterUniqueFunction<T, K extends PrimativeKey = PrimativeKey>(readKey: ReadKeyFunction<T, K>, additionalKeysInput?: FilterUniqueFunctionAdditionalKeysInput<T, K>): FilterUniqueFunction<T, K>;
35
36
  export declare function filterUniqueValues<T, K extends PrimativeKey = PrimativeKey>(values: T[], readKey: ReadKeyFunction<T, K>, additionalKeys?: K[]): T[];
37
+ /**
38
+ * Function that returns true for a value the first time that value's key is visited. Will return false for all visits after that.
39
+ */
40
+ export type AllowValueOnceFilter<T, K extends PrimativeKey = PrimativeKey> = DecisionFunction<T> & {
41
+ /**
42
+ * ReadKey function
43
+ */
44
+ readonly _readKey: ReadKeyFunction<T, K>;
45
+ /**
46
+ * Set of all visited keys used to return false if a key is visited again.
47
+ */
48
+ readonly _visitedKeys: Set<Maybe<K>>;
49
+ };
50
+ /**
51
+ * Creates a new AllowValueOnceFilter.
52
+ */
53
+ export declare function allowValueOnceFilter<T extends PrimativeKey = PrimativeKey>(): AllowValueOnceFilter<T, T>;
54
+ export declare function allowValueOnceFilter<T, K extends PrimativeKey = PrimativeKey>(readKey?: ReadKeyFunction<T, K>): AllowValueOnceFilter<T, K>;
package/test/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [10.0.24](https://github.com/dereekb/dbx-components/compare/v10.0.23-dev...v10.0.24) (2024-02-28)
6
+
7
+
8
+
9
+ ## [10.0.23](https://github.com/dereekb/dbx-components/compare/v10.0.22-dev...v10.0.23) (2024-02-27)
10
+
11
+
12
+
5
13
  ## [10.0.22](https://github.com/dereekb/dbx-components/compare/v10.0.21-dev...v10.0.22) (2024-02-19)
6
14
 
7
15
 
package/test/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/util/test",
3
- "version": "10.0.22",
3
+ "version": "10.0.24",
4
4
  "type": "commonjs",
5
5
  "peerDependencies": {
6
6
  "@dereekb/util": "*"