@zelgadis87/utils-core 5.3.4 → 5.3.6

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.
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/utils/functions/constant.ts","../src/utils/nulls.ts","../src/optional.ts","../src/time/timeunit.ts","../src/time/timebase.ts","../src/time/timeduration.ts","../src/sorting/types.ts","../src/sorting/sorter.ts","../src/sorting/_index.ts","../src/utils/arrays/groupby.ts","../src/utils/arrays/indexby.ts","../src/utils/arrays/statistics.ts","../src/utils/arrays/uniqby.ts","../src/utils/arrays.ts","../src/utils/booleans.ts","../src/utils/records/entries.ts","../src/utils/records.ts","../src/utils/css.ts","../src/utils/empties.ts","../src/utils/operations.ts","../src/utils/errors/withtrycatch.ts","../src/utils/errors.ts","../src/utils/json.ts","../src/utils/numbers/round.ts","../src/utils/numbers.ts","../src/utils/primitives.ts","../src/utils/promises.ts","../src/utils/random.ts","../src/utils/strings/stringparts.ts","../src/utils/strings.ts","../src/utils/_index.ts","../src/utils/functions/iff.ts","../src/utils/functions/predicatebuilder.ts","../src/utils/functions/_index.ts","../src/utils/functions.ts","../src/async/deferred.ts","../src/time/constants.ts","../src/time/types.ts","../src/time/timeinstantbuilder.ts","../src/time/timeinstant.ts","../src/logger.ts","../src/time/timefrequency.ts","../src/async/ratethrottler.ts","../src/async/semaphore.ts","../src/async/_index.ts","../src/lazy/lazy.ts","../src/lazy/lazyasync.ts","../src/lazy/lazydictionary.ts","../src/lazy/cached.ts","../src/lazy/_index.ts","../src/time/randomtimeduration.ts","../src/time/timerange.ts","../src/time/_index.ts","../src/upgrade/errors.ts","../src/upgrade/types.ts","../src/upgrade/gettransitionspath.ts","../src/upgrade/dataupgrader.ts","../src/upgrade/_index.ts","../src/index.ts"],"fileIdsList":[[94,101,102],[93],[94,100,117],[94,117],[61,67,89,99,103,108,111,116],[104,105,106,107],[60,64,89,94,98,99],[89],[60],[89,98],[60,93],[65,66],[59,64,65,89,98],[62,63,64,96,98,100,109,110],[62,64,86],[62],[62,63,67,89,94,98],[64,89],[62,63,64,67,94,96,97],[60,93,95,96,98],[98,111],[89,95],[113,115],[89,112,113,114],[89,113],[60,72,73,75,76,77,78,80,81,83,84,85,86,88,93],[60,61,67,68,69,70,71,93],[72],[75,89],[60,79],[78,80,93],[59,92],[59,90,91],[80],[60,80,82,93],[64,93],[83],[74],[60,72,87],[60,72,88]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"97fda9a66baf7f1644a76c27160698be6bc5da3cddb7109d0f12d4c7def0f353","impliedFormat":1},{"version":"6ae308f5abdd675b08bd2b3d6b78018b08a148a1d84f8dea19a6794e5653eca9","impliedFormat":1},{"version":"5a174a590b47d8dab224a6e8b798d2033deb15423bd519258e9beb9401c1d08a","impliedFormat":1},{"version":"070a92b6c7b3061a032d072e87b845b9cdbc8692ba83c54ad73c5ac72a06e7f3","impliedFormat":1},{"version":"a914c8e64e5f910f90cd2e64d1b822a5ef0578862ead57520bcb67f895417b51","impliedFormat":1},{"version":"34fe0fa41bd124512ead7c3d91f2a74293d01ed81056932711c4a09c38f3be66","impliedFormat":1},{"version":"b37ee4d946ad2f6e52cb0ff9571966c6302be51032ba3ea97870bee115b9eacd","impliedFormat":1},{"version":"2f6e6fee948d386ccd3614b7dd1c53ad53424898f7f62bae60c0de87df9d9417","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"6666becd625655c6662a29a744786dffbf6d66c28f068f5137760ff419ac8adc","affectsGlobalScope":true,"impliedFormat":1},{"version":"345afca9429c9143e0016cdeee715a9bf39c55a2ff46954fe0c9d5764feaf895","affectsGlobalScope":true,"impliedFormat":1},{"version":"408ca1d716d3df0961a473392d55ef872a3e1ce6de4fb8dc7fd6001fba6a1c4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc3ed3562e3c791f2e74ecd3819d15ef58fd3b47939de9853db5dd808253b00f","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac6a91d78291f82d060a24001518a9f5f2a94324722df8c159691c08d39c6bf5","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ce0fcc6c7dc07b2a97cf3bdd4f3df2fdd7056e93acc52de8d15ced40c603602","affectsGlobalScope":true,"impliedFormat":1},{"version":"999e86d04e508d25e374dc1cf37aa4f7f733ad93a8076b20203b3028c7398fc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"c1f9879f76b5409ceaad951b084533d8abc39451a72d6ec55dcc5b9e5f098309","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ee7bdffdbb8462f9973063563f8822e6e2b3b7ce05d4651e4879d00f1479899f","affectsGlobalScope":true,"impliedFormat":1},{"version":"9b0111e0b9c98b0bc610bdeb1486f14c60e8c08852552f692d57becf2fe42ea7","affectsGlobalScope":true,"impliedFormat":1},{"version":"6338d9121d2f1b5cf1c757c65949fc41e1e9e5300dc4105d55f8c27ebfcd5fe2","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6a8f68eed8ff0386d27d17e4a162c21923e3b8c41f3353a9ad6ecfdd7cf2ddb","affectsGlobalScope":true,"impliedFormat":1},{"version":"4e9dccd4588b6a893b02963b1f00ade1b2cc244164cdb3ebb857e3c913d2f921","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"c4ce7db6ecc881e6f3e0f446d17f18d29acdf703e66ff0df6cf0c6471a83a481","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fe84185f18c70ba5e1a4bcc634b7144c525a7e045c204b60d358e4314d452e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"84d43d8bf818f0a82dd57ac3cfb33ab8706a7d5b6978684342c0e3d17a4a7bc2","affectsGlobalScope":true,"impliedFormat":1},{"version":"45678430c8312f11ed1e429b1cd7d139a7adec4310598bc4c8ed6c2ff975ee4c","affectsGlobalScope":true,"impliedFormat":1},{"version":"d5b7aaa53a6c14f4239fb8c2625513d8573946a110bb88a355c0ba10d781d7d9","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3c08438c9c085e92b48a464b34c0ec0da55ff6459411cf6f02619043b5f474","affectsGlobalScope":true,"impliedFormat":1},{"version":"5b460121cb8201504e9becddb2e3dda74fa2561d14de92f452fed81ad794f2bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"03f5b59a2d05a77266490ec195365773e2947c6022962fd8104e0d23941b0648","affectsGlobalScope":true,"impliedFormat":1},{"version":"8283b753d7dd802450c38f8cd841dd0b1a0b246f9ab429e9b7fa5d8157fc2897","affectsGlobalScope":true,"impliedFormat":1},{"version":"7455bf53aacdd935681c5b701af026368e9eefd34f043605c514d1cce9d5bc7a","affectsGlobalScope":true,"impliedFormat":1},{"version":"9b7b68b72b0727055f8f823a766b888c1dc21aa7f0038e0190168967916eec28","affectsGlobalScope":true,"impliedFormat":1},{"version":"5503f40f563cb65c20d01ba44486450a837786393944ddd2e85e3a4fbaf8c205","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b312bc67316c027e88130f2fc3192eddcb714ce22b20e048c7cd3c878ffbf02","affectsGlobalScope":true,"impliedFormat":1},{"version":"692900ca89d92745df9fb1c425c73c4646fbb32d0806ac52eb6bd7bd234434fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"0069bee860a9c2ffbd29738234c7e72d849358355833913160ef46df10214e0f","affectsGlobalScope":true,"impliedFormat":1},{"version":"2a3f88bcd76a6b4b017a3d90e3e9500ef608ab110c6b0a692307a4fe71ba9e5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0089f4c24a96d79ea2f6d96cb475df1d63a8a129a0bf41a86f3ba00a4d566752","affectsGlobalScope":true,"impliedFormat":1},{"version":"820bd08ba14d07b36701dd25cbc54e0a21b3ea531c5d8f269d2db9046736a47b","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb4ab2aceef0699b248072fd6459072c398049dc45d5e55ff0c2e51abc537820","affectsGlobalScope":true,"impliedFormat":1},{"version":"1b0048315f80cd412b02bd819ce0dfc0b5d682acc02da1d78037a8fc60b95260","affectsGlobalScope":true,"impliedFormat":1},{"version":"535c56a8849d541e0d1ed96ab68ea1742fb46a96d11dfd2b23843d3426ced988","affectsGlobalScope":true,"impliedFormat":1},{"version":"d1e388e9b1bcd2d29af3a6a6fe1627a25944bd3210f05c45f42e77acb7992a68","affectsGlobalScope":true,"impliedFormat":1},{"version":"562732440ea01ab3e998713ca4acf1041d07ba6857ee35bf874dcfa02033bffc","affectsGlobalScope":true,"impliedFormat":1},{"version":"0172bf6476c793a7ade0388f4e5d4fac45acf0d9f7958c40c893dfe7ca84b45f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6ed037605cb3740c89ec8c3eaf21eafb20c56c64784f3d4eb9df506ce6417a6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"4da1991bdb0fbcf81fb73e8af5d41e52decf2555a0b878d3493f5957bf47f079","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4c05910fafb3e62d1d7b03b2d6b5247ec7e50cc3c7e036716748fe3ed3f3531","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"a425d6c16c4d990f501c7bd399bdc7437cc73e1344b26594ce5e34dca1f88e10","affectsGlobalScope":true,"impliedFormat":1},{"version":"a37d801def41ad25cf62fc6808979546e71cb7a8212e3deda6bb2a373107bae3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e5b3b6af88552d9589d69a52f41d0ceaaf0ecd8c159119fb9491a1b580a85f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"4033c51052514a6c3e4564f22671fb7a1cc6aa7746943c2dbf7fb5aa60bb37e5","affectsGlobalScope":true,"impliedFormat":1},{"version":"b333b85aa74c3b92988940ab51d50c533c93e2bb0d78be2b5e9e948e76fece0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"97b4610fc57d7cb7bcd15d1c202d20ac13a0e62139d73b74b3728059972c214b","signature":"a0fe2024d137cc3066147a81ddc351fbf3c9a3376d39eab199878183e34dc7c6"},{"version":"974f6b38739fa55710a8d952b844a9966c1c3ddd57b3d995f528c7436014740d","signature":"26d664c8bd390124da755369abb46e32f59c4a7b2d34afbe8a3cdd73dfd05f6a"},{"version":"9d731ba242d613c2ca90c151356621d90655703a2dde7b470c5a2aeb7a4d2c0f","signature":"bb0e1c6c9873d069c8585d22bf0d827ee16b863bd72304fdd7905a1d2bafb94e"},{"version":"d8c0717016b8bbec4175b6a305e92a6a97e23ad2394e679651f1daa0651c8721","signature":"4ea44ed8a9f07c53b4c5731b390ca7933bd8642cec9c83d81415113ac74d38f4"},{"version":"7c3bfec21c91a0573d6b274aeeb88535e98edba40ee671fbf58bc4b6ec739099","signature":"5ef87cdf7d90c033d498320f5cf99e8d498ae03cd067cec648364e8847c22e49"},{"version":"caa5148346ef8007b2666eb429fe49551ead61bab426ce75ada21d635a6b493c","signature":"480ac82e1d700ee85b4bf6017d71ab9c0bdbfb61e8c6542d72567a7066dd1051"},{"version":"d3781289f931d1fd6da732725be3a924271f3126a60a11f738dab07a9de2f7d8","signature":"4d79eeb5415637be3229c2667895b56383253c77b8b33e61549b5128daf9e37a"},{"version":"04e7c40153b200903b1bbae64cac1f0f5b169d7d13f4b52892cd38a5cae42555","signature":"1e8929b769d7ef7a92fd776e340d7e795163c82119e79c0584e63460a39bc212"},{"version":"5143161b3eb7c229459037342dc8c08b3d83caf2eefdc0eca32e936b2f6d2ff3","signature":"ac1e60dde0f406f199f7ba55a4e6672672ba0e1f168287bfce3a5850b1d1baf1"},{"version":"9bb731f3e096c8fefced74e859609e059b9dfb51a3c9e03aae66853658a7f392","signature":"7c3cba64a692fecb43ac72f63682567b08bfd43d4a2635021cb402f0e01e210f"},{"version":"56e3835871eed19c9de92b780c5e7b3577dec86aa0233a4a0b593c99872c2fe2","signature":"b83f12746862dc2cd51884912b044f565a6262510502a884d425713acb3eb1a3"},{"version":"065815c5d2b778f409ae78a366079628d6b28c689647b358ee4cb854e92eead2","signature":"8da47ddef220dd11a8a0f431127f8d083ba95b7e2b45b266233812bcf1f13888"},{"version":"2fdcc3f88b19bda7bc74c8c6430b9e2f6eb6d252d812c508f48669a27b680d5f","signature":"e2ab4c29fa06a89dc35759aaf3354bb06cad41d3d6f1bf9e1ce482187cd1fb91"},{"version":"8fcc72bb0b96ec234b146f45df6617000d892cfae267029713ee978a0a1f1d82","signature":"e5b82c43693ed38e7a36ddd94ee902619f7a347d8710e87061cccbbb6d7fe4ca"},{"version":"56571c3f44c6312462e8395ed75d05887dcbcb1581a0ad47dd72bcdbb898ea84","signature":"853de26cb0c4a51d7b511bf303ff4d6680bc18d36b3f2f6d7b8008c8927b58a1"},{"version":"70c8b0b1b54592827549014aac9193b037f6e1545572611c1b62c9a1b3c49739","signature":"46e174a254ea0e7b245c8dc35fcb430608e4d0bfba777e4c019a3a9ba055433b"},{"version":"b94823044eb88016e2983f27cd03908d0bf9a09c6d039af6fc026b86b051fd21","signature":"b7fb90103dc08cf90bec58f65c7d3de2f8a25410e7641311aa8156a18d78387e"},{"version":"a46374f16a16216d0b5b81c73044e4cb28dcc1dc9302757091548cc98e12d5b2","signature":"bf9ac00497f14af2cd1578e76cee191b7af9aa5bd657fa69e9eb7c972eab5453"},{"version":"378e70c02bd89d6b9aaa5b9330c4d63d6b5fc3063dbaf48501b8cba0b66fd7be","signature":"d374a2a5aa9485d6e0f4d41f11e000811e7874b0c78f87c5ae35daf3134ccbc8"},{"version":"8b8d66cde1dfd47c100b94d4cb0260ea18e295985755ee6cfc5b050474a299a4","signature":"c88d6c104b1991a032fa875f5eeb249b6681e717d81fc8f0e373db316a989338"},{"version":"f8767e0060c57dc52f2979f2f606e3c4ffcdda3461b670f5149e155a4318b708","signature":"27855538eb5e86ebcb82eeaa4b4fbae816686f922d235920e585bc57e1829668"},{"version":"90c482f7c2132fa8fcb44d05e914a9b541b52d7660e7572e7ae69f7fbb1b4541","signature":"bb45e88f8ffd472fe1d183d404e24435f1a3c91dda352362530a4ce3aa6f3a0c"},{"version":"3f7431b9ae7f791fa6a21e289d8b7d0cb43d9e3e2bd40d34a236f2507a57db46","signature":"b9115d738885990a2574782d6b28acd0121d145c5c1ab14593cdb4d7a09fc511"},{"version":"d0f71922ce0d6ce8aecef7b85158c6726e0db4d0ef23d71f2b14b9a2e5bef9fb","signature":"a29a11ea1f06a29ebc9d88a8439d78598d2d4977115a70705902c117d2a19e76"},{"version":"d25b8301aced1d8db8b7456a2a76e9a2cb7f134c0e913f90585a95704de736e6","signature":"d89529fc712f1462709febaee1905cbdcb62a9863fd9b22638b8923eb16be2e9"},{"version":"70a58316dfec322f94bb980c05315faafd93f6fe6c56015efc7f0a4fb87636e2","signature":"d98d28f45f2fd50c72d82ea27d9fb213df06bc2456eb0748c657c6da8e77a1d4"},{"version":"c50d92b66b0b827cca09519452a1bb77dfbbc370b14bc412685d6ed291d33977","signature":"57bd25f9ba4de40de020fb142b4906c3283ed255fa310e20bcf682b2bd938f82"},{"version":"02e0d326f67f99158a21740b1d839fe4f47c88699c74e80f4c80de5cc513b5f0","signature":"e430a8dd3a6948218c1a6bee846325188fe0e0e0ad218cd3e959043c4eb24431"},{"version":"4b138f8cb1344d1062368b0fd0a8b7a4bc38dad34e8515f8333eadfba67fd439","signature":"7c9ecd4cb18a753eaa5001d5dafe992cdd263474b078d006dd945ce9f9f8a112"},{"version":"eaff56964bd490f30099b5ad721e75870c4a032471ce4246e2a9aca2d149a73a","signature":"a214cb7674ea917cd12866a1e973cfa0c674cfb3571b27ab08036d3b58683692"},{"version":"ea48d1f7ba16c713639db5b7ba6d15004ddcad9abb70aa3851a1057a006d29c6","signature":"133c2c646abcef0342babf68388e9c39aeb66a11b98cec91018aa3b32a14689e"},{"version":"f1c9ce005dfab7214e6c57516b25a7c3f6b1523b9a83e6c2fb86368157139391","signature":"1866b8ac774b21b5e2324ea228ec1414753f0abb511fa939256dd5c4024ad754"},{"version":"cbadb93e0efda2ac169da49518530cc1c13f26a1b9dd5850ebef9cc899742c99","signature":"80f5e541cc3f1efd0f44863687cc201993f149d218490bf58b5de53364c704e1"},{"version":"f44be29660d29fd101dd71ea1f7ace66cae61fca94ed3353940c59f666baf914","signature":"b4089a46f3991d019b4ef9a173c78663e9ecfe571261c61f6eb7e90fd59e442d"},{"version":"eb791885d12b9705c35c8703b6b3a49f0bcfdbb96d5a00b8bff5bd222ade45b4","signature":"9689291b32464a65610dd9de9b58e2e0e0fcb9e8cd2a1760b867e72f80601356"},{"version":"c516228d6b75220a25338869ed1aa20cdacd95d1da3d0cde029d1b6cee28f319","signature":"a8507cb07b2b50e1fd4d2a3a198538675a8f13a456ef4dad1c9843e973edbce9"},{"version":"f15931a4c4029a3ca8817875a7e67f16e123dfd5943ea5786c1e17c06a7659f3","signature":"c7200383751f584e39a032d6e50982a633656abcec573deafe15c209712992db"},{"version":"a2243579f8b0ba6f4233adeff78f6d192ccbd22325e8c304acf7c20477cb3372","signature":"4bf9800765ab21c5faf551e72074f12473fe1c6718efc0586188df09359cb234"},{"version":"45e436b76d4ea3d38b63d91f99132327998e13bd2aedb94af8bde80da0ac1cf6","signature":"14311410bc72fc59cd347b676a75f209479bceb0b0294d5a9285ae2746cb79f1"},{"version":"3738a4946a2bd2e5b7304fa68643a4600fa826cbea642e15ea734dcc49c6017e","signature":"c385be711df22e0997cd9b5e5a7f1146573afbd14778e4f7c468248c22662707"},{"version":"ae5b83c9754e8146a88f1e7e1ec82b8ac40589b9541156780068952f21e7b9a2","signature":"09a62f4bbcd618cbbbf19a2bdaf8b08c2dfc17ca71d795f8191dba8e2da7f98b"},{"version":"43501c9d2147c49e15765a559f560f79c87f6e7b83436ba0ea522870df1061e6","signature":"ddfccc296127843c5b204e359ecda0cdb987705c8306722967a889b4a9ba8379"},{"version":"141dac9588bca23bfc8a13b99560bae0cf818733218861bba342a5418e55d86f","signature":"3d58a3363bb571062abeb1fdc96e174e8a6a61bcdd3e7491c2bf65dbb5a17750"},{"version":"1169850a4c64b90116e950c9b1ed1647cc42cdc0406aaef72accb23fa31de94a","signature":"edaa819d2cda320db8a15b0345db7f7589cdc27fd94f8fb464f46677670ac427"},{"version":"37f6203f49f4cc6f5810c37b56f30d37d4374f1e3865010604f093a5b230efd1","signature":"cdb7a8fa8314942d7e149f25242996fbf6f2e7f0e7da19b958726981325b5e91"},{"version":"9e0a1aa258df69eadd4cb0268adbb5514437b67b1a1d939b925194f6f74e263c","signature":"490241975c2ec59f666f51ed3c0e7adc4dbf26963712aa01506b0b64a7c085f9"},{"version":"1f5b2f5622aa8ec787aaa7d1f00bc9d3588fab96d94a721633ce18021c97c571","signature":"20f962e184263b58d36498c1eb31aff5fc3d69dbc305b25b4b8e063c4f8f04dc"},{"version":"13e6352373152686a4cb50d944016ae117aba28d7a6c7c0d182bd0ce176c9cce","signature":"be0a97abb04589ab9c8a1186667481e0969e020087416d9eb8bee5cec57f69e3"},{"version":"637bb04f2270e0567d615f367331f72bfda1fe159d18acf044069f198952cfa0","signature":"8234f7792b162ab0ac6b3e0ee0be4ee2230ab5bb4e1e7a36b85994bc9525e5ce"},{"version":"6c5909433463444176c99ba6276aa4cf9d91e1ea7496b640ab2be3bcea68ebec","signature":"8e68a922b01802aa90ae8976c31339b1f014564cb213a7936eaf63918292aa8f"},{"version":"1012d17c9bc77cdca9b913d9aa658cddfd9436bfca537dd2a51528262b0f8109","signature":"975d013c31f48ecb26867d0f98f13d2eaebb4af2bfbe6b5fd9a4d38fdccd5656"},{"version":"4f47067f81a6ac0c9ff28cbd5ed810a21ed5e0933db8866c110d044f8d02e855","signature":"36c65fb17300b0e8f2b90fd9a48be672c8342dc101698bcd8ecc3c6aab679e21"},{"version":"101af4aa7dbc1e81255965e9959cf6117f16e8573f61fe853b11cc73a4790640","signature":"58e49c02bb92ca745437c5ce7bd068e11ee2ad1313171db3949b662dfbc04441"},{"version":"5b2927131599d55e0ee730c7a2afc764ff39199a5d186b510fc3eca82f4ef1ff","signature":"d6fc507f1c2ecd14c0882a0e00a1ba2a580c6e45550a3a5e868d7bee4b1922b6"},{"version":"ce8de69cc158052736c206413883472a49b94d182bef19c38430b2da75fe71eb","signature":"c2b8c9951fff3bf59901b9efdae3ddc11b89f77deaeceb66ab299ceeb2737fcd"},{"version":"123953eda79c2e207b266eeb23e32ed233cf3cbbb9022a399189cbf61dfddbbb","signature":"08dccec6fc0c466ee550f9f84b89d88d17ff2b9c80cb3c9f4138e5e60b2c4039"},{"version":"3e11c4733414b0fd622a6c7fb89d19c2218d453e7a8c8c01c4d31310f61b978d","signature":"4e5f8dd5a2c15896f4547444291938881a33044bcfaf82c16a80fb0d7f3441f3"},{"version":"22577c900676846354224462f8a6b3e0e5033cd14a501ea46107e67a4ab7863f","signature":"70fd81e903686acf6e994565edb1588cc619b816646ea1a89ac9a47b45d25737"},{"version":"470e7c461e6c3284465505b0ddc0b240dea9c996845f237144dc6044b0094887","signature":"ee5829ba071cdf53ccbd789a46a4bfb3b85833395fc8361352c0cae454d8e3ad"}],"root":[[59,117]],"options":{"allowImportingTsExtensions":true,"composite":false,"declaration":false,"declarationMap":false,"emitDeclarationOnly":false,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"module":99,"noEmitHelpers":true,"noFallthroughCasesInSwitch":true,"noImplicitAny":false,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":9,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"referencedMap":[[103,1],[94,2],[101,3],[102,4],[117,5],[108,6],[107,7],[104,8],[105,9],[106,8],[99,10],[61,11],[67,12],[66,13],[65,2],[111,14],[109,15],[63,16],[64,17],[100,18],[98,19],[97,20],[110,21],[96,22],[116,23],[115,24],[114,25],[113,8],[89,26],[72,27],[68,8],[69,8],[70,28],[71,2],[76,29],[80,30],[79,31],[93,32],[92,33],[90,8],[91,2],[81,34],[60,2],[83,35],[85,36],[86,37],[75,38],[74,8],[88,39],[87,40]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117],"version":"5.9.2"}
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/utils/functions/constant.ts","../src/utils/nulls.ts","../src/optional.ts","../src/time/timeunit.ts","../src/time/timebase.ts","../src/time/timeduration.ts","../src/sorting/types.ts","../src/sorting/sorter.ts","../src/sorting/_index.ts","../src/utils/arrays/groupby.ts","../src/utils/arrays/indexby.ts","../src/utils/arrays/statistics.ts","../src/utils/arrays/uniqby.ts","../src/utils/arrays.ts","../src/utils/booleans.ts","../src/utils/records/entries.ts","../src/utils/records.ts","../src/utils/css.ts","../src/utils/empties.ts","../src/utils/operations.ts","../src/utils/errors/withtrycatch.ts","../src/utils/errors.ts","../src/utils/json.ts","../src/utils/numbers/round.ts","../src/utils/numbers.ts","../src/utils/primitives.ts","../src/utils/promises.ts","../src/utils/random.ts","../src/utils/strings/stringparts.ts","../src/utils/strings.ts","../src/utils/_index.ts","../src/utils/functions/iff.ts","../src/utils/functions/predicatebuilder.ts","../src/utils/functions/_index.ts","../src/utils/functions.ts","../src/async/deferred.ts","../src/time/constants.ts","../src/time/types.ts","../src/time/timeinstantbuilder.ts","../src/time/timeinstant.ts","../src/logger.ts","../src/time/timefrequency.ts","../src/async/ratethrottler.ts","../src/async/semaphore.ts","../src/async/_index.ts","../src/lazy/lazy.ts","../src/lazy/lazyasync.ts","../src/lazy/lazydictionary.ts","../src/lazy/cached.ts","../src/lazy/_index.ts","../src/time/randomtimeduration.ts","../src/time/timerange.ts","../src/time/_index.ts","../src/upgrade/errors.ts","../src/upgrade/types.ts","../src/upgrade/gettransitionspath.ts","../src/upgrade/dataupgrader.ts","../src/upgrade/_index.ts","../src/index.ts"],"fileIdsList":[[94,101,102],[93],[94,100,117],[94,117],[61,67,89,99,103,108,111,116],[104,105,106,107],[60,64,89,94,98,99],[89],[60],[89,98],[60,93],[65,66],[59,64,65,89,98],[62,63,64,96,98,100,109,110],[62,64,86],[62],[62,63,67,89,94,98],[64,89],[62,63,64,67,94,96,97],[60,93,95,96,98],[98,111],[89,95],[113,115],[89,112,113,114],[89,113],[60,72,73,75,76,77,78,80,81,83,84,85,86,88,93],[60,61,67,68,69,70,71,93],[60,72],[75,89],[60,79],[78,80,93],[59,92],[59,90,91],[80],[60,80,82,93],[64,93],[83],[74],[60,72,87],[60,72,88]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"97fda9a66baf7f1644a76c27160698be6bc5da3cddb7109d0f12d4c7def0f353","impliedFormat":1},{"version":"6ae308f5abdd675b08bd2b3d6b78018b08a148a1d84f8dea19a6794e5653eca9","impliedFormat":1},{"version":"5a174a590b47d8dab224a6e8b798d2033deb15423bd519258e9beb9401c1d08a","impliedFormat":1},{"version":"070a92b6c7b3061a032d072e87b845b9cdbc8692ba83c54ad73c5ac72a06e7f3","impliedFormat":1},{"version":"a914c8e64e5f910f90cd2e64d1b822a5ef0578862ead57520bcb67f895417b51","impliedFormat":1},{"version":"34fe0fa41bd124512ead7c3d91f2a74293d01ed81056932711c4a09c38f3be66","impliedFormat":1},{"version":"b37ee4d946ad2f6e52cb0ff9571966c6302be51032ba3ea97870bee115b9eacd","impliedFormat":1},{"version":"2f6e6fee948d386ccd3614b7dd1c53ad53424898f7f62bae60c0de87df9d9417","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"6666becd625655c6662a29a744786dffbf6d66c28f068f5137760ff419ac8adc","affectsGlobalScope":true,"impliedFormat":1},{"version":"345afca9429c9143e0016cdeee715a9bf39c55a2ff46954fe0c9d5764feaf895","affectsGlobalScope":true,"impliedFormat":1},{"version":"408ca1d716d3df0961a473392d55ef872a3e1ce6de4fb8dc7fd6001fba6a1c4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc3ed3562e3c791f2e74ecd3819d15ef58fd3b47939de9853db5dd808253b00f","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac6a91d78291f82d060a24001518a9f5f2a94324722df8c159691c08d39c6bf5","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ce0fcc6c7dc07b2a97cf3bdd4f3df2fdd7056e93acc52de8d15ced40c603602","affectsGlobalScope":true,"impliedFormat":1},{"version":"999e86d04e508d25e374dc1cf37aa4f7f733ad93a8076b20203b3028c7398fc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"c1f9879f76b5409ceaad951b084533d8abc39451a72d6ec55dcc5b9e5f098309","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ee7bdffdbb8462f9973063563f8822e6e2b3b7ce05d4651e4879d00f1479899f","affectsGlobalScope":true,"impliedFormat":1},{"version":"9b0111e0b9c98b0bc610bdeb1486f14c60e8c08852552f692d57becf2fe42ea7","affectsGlobalScope":true,"impliedFormat":1},{"version":"6338d9121d2f1b5cf1c757c65949fc41e1e9e5300dc4105d55f8c27ebfcd5fe2","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6a8f68eed8ff0386d27d17e4a162c21923e3b8c41f3353a9ad6ecfdd7cf2ddb","affectsGlobalScope":true,"impliedFormat":1},{"version":"4e9dccd4588b6a893b02963b1f00ade1b2cc244164cdb3ebb857e3c913d2f921","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"c4ce7db6ecc881e6f3e0f446d17f18d29acdf703e66ff0df6cf0c6471a83a481","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fe84185f18c70ba5e1a4bcc634b7144c525a7e045c204b60d358e4314d452e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"84d43d8bf818f0a82dd57ac3cfb33ab8706a7d5b6978684342c0e3d17a4a7bc2","affectsGlobalScope":true,"impliedFormat":1},{"version":"45678430c8312f11ed1e429b1cd7d139a7adec4310598bc4c8ed6c2ff975ee4c","affectsGlobalScope":true,"impliedFormat":1},{"version":"d5b7aaa53a6c14f4239fb8c2625513d8573946a110bb88a355c0ba10d781d7d9","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3c08438c9c085e92b48a464b34c0ec0da55ff6459411cf6f02619043b5f474","affectsGlobalScope":true,"impliedFormat":1},{"version":"5b460121cb8201504e9becddb2e3dda74fa2561d14de92f452fed81ad794f2bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"03f5b59a2d05a77266490ec195365773e2947c6022962fd8104e0d23941b0648","affectsGlobalScope":true,"impliedFormat":1},{"version":"8283b753d7dd802450c38f8cd841dd0b1a0b246f9ab429e9b7fa5d8157fc2897","affectsGlobalScope":true,"impliedFormat":1},{"version":"7455bf53aacdd935681c5b701af026368e9eefd34f043605c514d1cce9d5bc7a","affectsGlobalScope":true,"impliedFormat":1},{"version":"9b7b68b72b0727055f8f823a766b888c1dc21aa7f0038e0190168967916eec28","affectsGlobalScope":true,"impliedFormat":1},{"version":"5503f40f563cb65c20d01ba44486450a837786393944ddd2e85e3a4fbaf8c205","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b312bc67316c027e88130f2fc3192eddcb714ce22b20e048c7cd3c878ffbf02","affectsGlobalScope":true,"impliedFormat":1},{"version":"692900ca89d92745df9fb1c425c73c4646fbb32d0806ac52eb6bd7bd234434fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"0069bee860a9c2ffbd29738234c7e72d849358355833913160ef46df10214e0f","affectsGlobalScope":true,"impliedFormat":1},{"version":"2a3f88bcd76a6b4b017a3d90e3e9500ef608ab110c6b0a692307a4fe71ba9e5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0089f4c24a96d79ea2f6d96cb475df1d63a8a129a0bf41a86f3ba00a4d566752","affectsGlobalScope":true,"impliedFormat":1},{"version":"820bd08ba14d07b36701dd25cbc54e0a21b3ea531c5d8f269d2db9046736a47b","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb4ab2aceef0699b248072fd6459072c398049dc45d5e55ff0c2e51abc537820","affectsGlobalScope":true,"impliedFormat":1},{"version":"1b0048315f80cd412b02bd819ce0dfc0b5d682acc02da1d78037a8fc60b95260","affectsGlobalScope":true,"impliedFormat":1},{"version":"535c56a8849d541e0d1ed96ab68ea1742fb46a96d11dfd2b23843d3426ced988","affectsGlobalScope":true,"impliedFormat":1},{"version":"d1e388e9b1bcd2d29af3a6a6fe1627a25944bd3210f05c45f42e77acb7992a68","affectsGlobalScope":true,"impliedFormat":1},{"version":"562732440ea01ab3e998713ca4acf1041d07ba6857ee35bf874dcfa02033bffc","affectsGlobalScope":true,"impliedFormat":1},{"version":"0172bf6476c793a7ade0388f4e5d4fac45acf0d9f7958c40c893dfe7ca84b45f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6ed037605cb3740c89ec8c3eaf21eafb20c56c64784f3d4eb9df506ce6417a6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"4da1991bdb0fbcf81fb73e8af5d41e52decf2555a0b878d3493f5957bf47f079","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4c05910fafb3e62d1d7b03b2d6b5247ec7e50cc3c7e036716748fe3ed3f3531","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"a425d6c16c4d990f501c7bd399bdc7437cc73e1344b26594ce5e34dca1f88e10","affectsGlobalScope":true,"impliedFormat":1},{"version":"a37d801def41ad25cf62fc6808979546e71cb7a8212e3deda6bb2a373107bae3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e5b3b6af88552d9589d69a52f41d0ceaaf0ecd8c159119fb9491a1b580a85f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"4033c51052514a6c3e4564f22671fb7a1cc6aa7746943c2dbf7fb5aa60bb37e5","affectsGlobalScope":true,"impliedFormat":1},{"version":"b333b85aa74c3b92988940ab51d50c533c93e2bb0d78be2b5e9e948e76fece0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"97b4610fc57d7cb7bcd15d1c202d20ac13a0e62139d73b74b3728059972c214b","signature":"a0fe2024d137cc3066147a81ddc351fbf3c9a3376d39eab199878183e34dc7c6"},"974f6b38739fa55710a8d952b844a9966c1c3ddd57b3d995f528c7436014740d","9d731ba242d613c2ca90c151356621d90655703a2dde7b470c5a2aeb7a4d2c0f",{"version":"d8c0717016b8bbec4175b6a305e92a6a97e23ad2394e679651f1daa0651c8721","signature":"4ea44ed8a9f07c53b4c5731b390ca7933bd8642cec9c83d81415113ac74d38f4"},{"version":"7c3bfec21c91a0573d6b274aeeb88535e98edba40ee671fbf58bc4b6ec739099","signature":"5ef87cdf7d90c033d498320f5cf99e8d498ae03cd067cec648364e8847c22e49"},{"version":"caa5148346ef8007b2666eb429fe49551ead61bab426ce75ada21d635a6b493c","signature":"480ac82e1d700ee85b4bf6017d71ab9c0bdbfb61e8c6542d72567a7066dd1051"},"d3781289f931d1fd6da732725be3a924271f3126a60a11f738dab07a9de2f7d8",{"version":"04e7c40153b200903b1bbae64cac1f0f5b169d7d13f4b52892cd38a5cae42555","signature":"1e8929b769d7ef7a92fd776e340d7e795163c82119e79c0584e63460a39bc212"},{"version":"5143161b3eb7c229459037342dc8c08b3d83caf2eefdc0eca32e936b2f6d2ff3","signature":"ac1e60dde0f406f199f7ba55a4e6672672ba0e1f168287bfce3a5850b1d1baf1"},"9bb731f3e096c8fefced74e859609e059b9dfb51a3c9e03aae66853658a7f392","56e3835871eed19c9de92b780c5e7b3577dec86aa0233a4a0b593c99872c2fe2","b5fa14b93088d48523bce63d6ea40e843835c60f6b85aad996fed9f0f2eb8632","2fdcc3f88b19bda7bc74c8c6430b9e2f6eb6d252d812c508f48669a27b680d5f",{"version":"869eb5ed5878e1c717f3ce21fba2a4fff31dcd504bc3a6ad8777e84e44769656","signature":"48d0f2ddb8abba5953482697bcff9ddb4babb99829873f8fd7a5190591df9d74"},{"version":"56571c3f44c6312462e8395ed75d05887dcbcb1581a0ad47dd72bcdbb898ea84","signature":"853de26cb0c4a51d7b511bf303ff4d6680bc18d36b3f2f6d7b8008c8927b58a1"},"70c8b0b1b54592827549014aac9193b037f6e1545572611c1b62c9a1b3c49739","b94823044eb88016e2983f27cd03908d0bf9a09c6d039af6fc026b86b051fd21","a46374f16a16216d0b5b81c73044e4cb28dcc1dc9302757091548cc98e12d5b2",{"version":"378e70c02bd89d6b9aaa5b9330c4d63d6b5fc3063dbaf48501b8cba0b66fd7be","signature":"d374a2a5aa9485d6e0f4d41f11e000811e7874b0c78f87c5ae35daf3134ccbc8"},{"version":"8b8d66cde1dfd47c100b94d4cb0260ea18e295985755ee6cfc5b050474a299a4","signature":"c88d6c104b1991a032fa875f5eeb249b6681e717d81fc8f0e373db316a989338"},"f8767e0060c57dc52f2979f2f606e3c4ffcdda3461b670f5149e155a4318b708","90c482f7c2132fa8fcb44d05e914a9b541b52d7660e7572e7ae69f7fbb1b4541","3f7431b9ae7f791fa6a21e289d8b7d0cb43d9e3e2bd40d34a236f2507a57db46",{"version":"d0f71922ce0d6ce8aecef7b85158c6726e0db4d0ef23d71f2b14b9a2e5bef9fb","signature":"a29a11ea1f06a29ebc9d88a8439d78598d2d4977115a70705902c117d2a19e76"},"d25b8301aced1d8db8b7456a2a76e9a2cb7f134c0e913f90585a95704de736e6",{"version":"70a58316dfec322f94bb980c05315faafd93f6fe6c56015efc7f0a4fb87636e2","signature":"d98d28f45f2fd50c72d82ea27d9fb213df06bc2456eb0748c657c6da8e77a1d4"},{"version":"c50d92b66b0b827cca09519452a1bb77dfbbc370b14bc412685d6ed291d33977","signature":"57bd25f9ba4de40de020fb142b4906c3283ed255fa310e20bcf682b2bd938f82"},"02e0d326f67f99158a21740b1d839fe4f47c88699c74e80f4c80de5cc513b5f0","4b138f8cb1344d1062368b0fd0a8b7a4bc38dad34e8515f8333eadfba67fd439","eaff56964bd490f30099b5ad721e75870c4a032471ce4246e2a9aca2d149a73a",{"version":"ea48d1f7ba16c713639db5b7ba6d15004ddcad9abb70aa3851a1057a006d29c6","signature":"133c2c646abcef0342babf68388e9c39aeb66a11b98cec91018aa3b32a14689e"},"f1c9ce005dfab7214e6c57516b25a7c3f6b1523b9a83e6c2fb86368157139391","cbadb93e0efda2ac169da49518530cc1c13f26a1b9dd5850ebef9cc899742c99","f44be29660d29fd101dd71ea1f7ace66cae61fca94ed3353940c59f666baf914","eb791885d12b9705c35c8703b6b3a49f0bcfdbb96d5a00b8bff5bd222ade45b4","c516228d6b75220a25338869ed1aa20cdacd95d1da3d0cde029d1b6cee28f319",{"version":"f15931a4c4029a3ca8817875a7e67f16e123dfd5943ea5786c1e17c06a7659f3","signature":"c7200383751f584e39a032d6e50982a633656abcec573deafe15c209712992db"},"a2243579f8b0ba6f4233adeff78f6d192ccbd22325e8c304acf7c20477cb3372",{"version":"45e436b76d4ea3d38b63d91f99132327998e13bd2aedb94af8bde80da0ac1cf6","signature":"14311410bc72fc59cd347b676a75f209479bceb0b0294d5a9285ae2746cb79f1"},{"version":"5252ca684acecd18ad32284c50fd81e4e19e4ee587a8282c817f658b2d6ee3c2","signature":"f45c5ad4589dc6dd6a2e4d6728179c7064b4c860154479c6a6a3dd8fee1c80f8"},{"version":"ae5b83c9754e8146a88f1e7e1ec82b8ac40589b9541156780068952f21e7b9a2","signature":"09a62f4bbcd618cbbbf19a2bdaf8b08c2dfc17ca71d795f8191dba8e2da7f98b"},{"version":"43501c9d2147c49e15765a559f560f79c87f6e7b83436ba0ea522870df1061e6","signature":"ddfccc296127843c5b204e359ecda0cdb987705c8306722967a889b4a9ba8379"},{"version":"141dac9588bca23bfc8a13b99560bae0cf818733218861bba342a5418e55d86f","signature":"3d58a3363bb571062abeb1fdc96e174e8a6a61bcdd3e7491c2bf65dbb5a17750"},{"version":"1169850a4c64b90116e950c9b1ed1647cc42cdc0406aaef72accb23fa31de94a","signature":"edaa819d2cda320db8a15b0345db7f7589cdc27fd94f8fb464f46677670ac427"},{"version":"37f6203f49f4cc6f5810c37b56f30d37d4374f1e3865010604f093a5b230efd1","signature":"cdb7a8fa8314942d7e149f25242996fbf6f2e7f0e7da19b958726981325b5e91"},"9e0a1aa258df69eadd4cb0268adbb5514437b67b1a1d939b925194f6f74e263c","1f5b2f5622aa8ec787aaa7d1f00bc9d3588fab96d94a721633ce18021c97c571","13e6352373152686a4cb50d944016ae117aba28d7a6c7c0d182bd0ce176c9cce",{"version":"637bb04f2270e0567d615f367331f72bfda1fe159d18acf044069f198952cfa0","signature":"8234f7792b162ab0ac6b3e0ee0be4ee2230ab5bb4e1e7a36b85994bc9525e5ce"},{"version":"6c5909433463444176c99ba6276aa4cf9d91e1ea7496b640ab2be3bcea68ebec","signature":"8e68a922b01802aa90ae8976c31339b1f014564cb213a7936eaf63918292aa8f"},{"version":"1012d17c9bc77cdca9b913d9aa658cddfd9436bfca537dd2a51528262b0f8109","signature":"975d013c31f48ecb26867d0f98f13d2eaebb4af2bfbe6b5fd9a4d38fdccd5656"},{"version":"4f47067f81a6ac0c9ff28cbd5ed810a21ed5e0933db8866c110d044f8d02e855","signature":"36c65fb17300b0e8f2b90fd9a48be672c8342dc101698bcd8ecc3c6aab679e21"},{"version":"101af4aa7dbc1e81255965e9959cf6117f16e8573f61fe853b11cc73a4790640","signature":"58e49c02bb92ca745437c5ce7bd068e11ee2ad1313171db3949b662dfbc04441"},{"version":"5b2927131599d55e0ee730c7a2afc764ff39199a5d186b510fc3eca82f4ef1ff","signature":"d6fc507f1c2ecd14c0882a0e00a1ba2a580c6e45550a3a5e868d7bee4b1922b6"},"ce8de69cc158052736c206413883472a49b94d182bef19c38430b2da75fe71eb","123953eda79c2e207b266eeb23e32ed233cf3cbbb9022a399189cbf61dfddbbb","3e11c4733414b0fd622a6c7fb89d19c2218d453e7a8c8c01c4d31310f61b978d","22577c900676846354224462f8a6b3e0e5033cd14a501ea46107e67a4ab7863f",{"version":"470e7c461e6c3284465505b0ddc0b240dea9c996845f237144dc6044b0094887","signature":"ee5829ba071cdf53ccbd789a46a4bfb3b85833395fc8361352c0cae454d8e3ad"}],"root":[[59,117]],"options":{"allowImportingTsExtensions":true,"composite":false,"declaration":false,"declarationMap":false,"emitDeclarationOnly":false,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"module":99,"noEmitHelpers":true,"noFallthroughCasesInSwitch":true,"noImplicitAny":false,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":9,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"referencedMap":[[103,1],[94,2],[101,3],[102,4],[117,5],[108,6],[107,7],[104,8],[105,9],[106,8],[99,10],[61,11],[67,12],[66,13],[65,2],[111,14],[109,15],[63,16],[64,17],[100,18],[98,19],[97,20],[110,21],[96,22],[116,23],[115,24],[114,25],[113,8],[89,26],[72,27],[68,8],[69,8],[70,28],[71,2],[76,29],[80,30],[79,31],[93,32],[92,33],[90,8],[91,2],[81,34],[60,2],[83,35],[85,36],[86,37],[75,38],[74,8],[88,39],[87,40]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117],"version":"5.9.2"}
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## 5.3.6 (2026-02-18)
2
+
3
+ ### 🩹 Fixes
4
+
5
+ - TimeInstant: Reworked how parse/format work internally, to handle cases where no explicit separator is present
6
+
7
+ ## 5.3.5 (2026-01-27)
8
+
9
+ ### 🚀 Features
10
+
11
+ - Arrays: Added fillWith, created unit tests
12
+ - Statistics: Added averageBy method
13
+ - Statistics: Return null on empty array
14
+
1
15
  ## 5.3.4 (2025-12-29)
2
16
 
3
17
  ### Improvements
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package",
3
3
  "name": "@zelgadis87/utils-core",
4
- "version": "5.3.4",
4
+ "version": "5.3.6",
5
5
  "author": "Zelgadis87",
6
6
  "license": "ISC",
7
7
  "private": false,
@@ -20,13 +20,13 @@
20
20
  },
21
21
  "devDependencies": {
22
22
  "@stylistic/eslint-plugin-ts": "4.4.1",
23
- "@vitest/coverage-v8": "3.2.4",
24
- "@vitest/ui": "3.2.4",
25
- "eslint": "9.35.0",
26
- "nx": "22.3.3",
27
- "rimraf": "6.0.1",
23
+ "@vitest/coverage-v8": "4.0.18",
24
+ "@vitest/ui": "4.0.18",
25
+ "eslint": "9.39.2",
26
+ "nx": "22.4.2",
27
+ "rimraf": "6.1.2",
28
28
  "typescript": "5.8.3",
29
29
  "typescript-eslint": "8.43.0",
30
- "vitest": "3.2.4"
30
+ "vitest": "4.0.18"
31
31
  }
32
32
  }
@@ -501,9 +501,53 @@ function normalizeMonthName( name: string ): string {
501
501
  .trim();
502
502
  }
503
503
 
504
- const PATTERN_REGEX = /(M|y|d|D|h|H|m|s|S|G|Z|P|a)+/g;
505
504
  const ESCAPE_REGEX = /\\"|"((?:\\"|[^"])*)"/g;
506
505
 
506
+ /**
507
+ * Tokenize a date/time pattern by detecting character changes.
508
+ *
509
+ * This function uses a character-change detection algorithm to split a pattern into tokens:
510
+ * 1. Iterates through the pattern character by character
511
+ * 2. Detects when the character changes (e.g., 'y' → 'M' → 'd')
512
+ * 3. Creates tokens based on consecutive identical characters
513
+ * 4. Marks tokens as pattern tokens only if they consist of repeated pattern characters
514
+ *
515
+ * This approach works correctly for patterns with or without separators:
516
+ * - "yyyy-MM-dd" → [{token:"yyyy", type:"y"}, {token:"-", type:null}, {token:"MM", type:"M"}, {token:"-", type:null}, {token:"dd", type:"d"}]
517
+ * - "yyyyMMdd" → [{token:"yyyy", type:"y"}, {token:"MM", type:"M"}, {token:"dd", type:"d"}]
518
+ *
519
+ * @param pattern - The date/time pattern to tokenize
520
+ * @returns Array of tokens with their types (null for separators/literals, pattern char for pattern tokens)
521
+ */
522
+ function tokenizePattern( pattern: string ): Array<{ token: string; type: string | null }> {
523
+ const result: Array<{ token: string; type: string | null }> = [];
524
+
525
+ let currentToken = '';
526
+ let currentChar = '';
527
+
528
+ for ( const char of pattern ) {
529
+ if ( char === currentChar ) {
530
+ // Same character, extend current token
531
+ currentToken += char;
532
+ } else {
533
+ // Character changed, end current token and start new one
534
+ if ( currentToken ) {
535
+ // Mark the token with its character (caller will decide if it's a valid pattern)
536
+ result.push( { token: currentToken, type: currentChar } );
537
+ }
538
+ currentToken = char;
539
+ currentChar = char;
540
+ }
541
+ }
542
+
543
+ // Don't forget the last token
544
+ if ( currentToken ) {
545
+ result.push( { token: currentToken, type: currentChar } );
546
+ }
547
+
548
+ return result;
549
+ }
550
+
507
551
  // Formatter configuration with optional extraction metadata
508
552
  type TFormatterConfig = {
509
553
  options: Intl.DateTimeFormatOptions;
@@ -617,12 +661,16 @@ function formatTimeInstant( instant: TimeInstant, pattern: string, config: { loc
617
661
  return sub;
618
662
  }
619
663
 
620
- return sub.replace( PATTERN_REGEX, ( match ) => {
621
- const type = match.charAt( 0 );
622
- const length = match.length;
664
+ // Tokenize the pattern by detecting character changes
665
+ const tokens = tokenizePattern( sub );
623
666
 
624
- return formatType( type, length, date, locale, timeZone ) || match;
625
- } );
667
+ // Format each token and join the results
668
+ return tokens.map( ( { token, type } ) => {
669
+ // If type is null or formatting fails, keep token as-is
670
+ if ( !type ) return token;
671
+ const formatted = formatType( type, token.length, date, locale, timeZone );
672
+ return formatted !== undefined ? formatted : token;
673
+ } ).join( '' );
626
674
  } )
627
675
  .join( '' );
628
676
  }
@@ -657,47 +705,59 @@ export function parseTimeInstantComponents( dateString: string, pattern: string,
657
705
  return sub.replace( /[.*+?^${}()|[\]\\]/g, '\\$&' ); // Escape special regex chars
658
706
  }
659
707
 
660
- return sub.replace( PATTERN_REGEX, ( match ) => {
661
- const type = match.charAt( 0 );
662
- tokens.push( { type, length: match.length, position: position++ } );
708
+ // Tokenize the pattern by detecting character changes
709
+ const patternTokens = tokenizePattern( sub );
710
+
711
+ // Build regex pattern from tokens
712
+ return patternTokens.map( ( { token, type } ) => {
713
+ // Check if this is a valid pattern by looking it up in formatterConfigs
714
+ const isValidPattern = type && formatterConfigs[ token ];
715
+
716
+ if ( !isValidPattern ) {
717
+ // This is a literal/separator, escape it for regex
718
+ return token.replace( /[.*+?^${}()|[\]\\]/g, '\\$&' );
719
+ }
720
+
721
+ // This is a pattern token, track it and create regex
722
+ tokens.push( { type, length: token.length, position: position++ } );
663
723
 
664
724
  // Create appropriate regex for each token type
665
725
  switch ( type ) {
666
726
  case 'y':
667
- return match.length === 2 ? '(\\d{2})' : '(\\d{4})';
727
+ return token.length === 2 ? '(\\d{2})' : '(\\d{4})';
668
728
  case 'M':
669
- if ( match.length === 1 ) return '(\\d{1,2})';
670
- if ( match.length === 2 ) return '(\\d{2})';
671
- if ( match.length === 3 ) return '([A-Za-z.]{1,7})';
729
+ if ( token.length === 1 ) return '(\\d{1,2})';
730
+ if ( token.length === 2 ) return '(\\d{2})';
731
+ if ( token.length === 3 ) return '([A-Za-z.]{1,7})';
672
732
  return '([A-Za-z]+)';
673
733
  case 'd':
674
- return match.length === 1 ? '(\\d{1,2})' : '(\\d{2})';
734
+ return token.length === 1 ? '(\\d{1,2})' : '(\\d{2})';
675
735
  case 'H':
676
736
  case 'h':
677
- return match.length === 1 ? '(\\d{1,2})' : '(\\d{2})';
737
+ return token.length === 1 ? '(\\d{1,2})' : '(\\d{2})';
678
738
  case 'm':
679
739
  case 's':
680
- return match.length === 1 ? '(\\d{1,2})' : '(\\d{2})';
740
+ return token.length === 1 ? '(\\d{1,2})' : '(\\d{2})';
681
741
  case 'S':
682
- return `(\\d{${match.length}})`;
742
+ return `(\\d{${token.length}})`;
683
743
  case 'a':
684
744
  return '([aApP][mM])';
685
745
  case 'D':
686
- if ( match.length === 1 ) return '([A-Za-z])';
687
- if ( match.length === 2 ) return '([A-Za-z]{3})';
746
+ if ( token.length === 1 ) return '([A-Za-z])';
747
+ if ( token.length === 2 ) return '([A-Za-z]{3})';
688
748
  return '([A-Za-z]+)';
689
749
  case 'G':
690
- if ( match.length === 1 ) return '([A-Za-z])';
691
- if ( match.length === 2 ) return '([A-Za-z]{2})';
750
+ if ( token.length === 1 ) return '([A-Za-z])';
751
+ if ( token.length === 2 ) return '([A-Za-z]{2})';
692
752
  return '([A-Za-z\\s]+)';
693
753
  case 'Z':
694
- return match.length === 1 ? '([A-Za-z0-9+\\-:]+)' : '([A-Za-z\\s]+)';
754
+ return token.length === 1 ? '([A-Za-z0-9+\\-:]+)' : '([A-Za-z\\s]+)';
695
755
  case 'P':
696
756
  return '([A-Za-z\\s]+)';
697
757
  default:
698
- return match;
758
+ return token;
699
759
  }
700
- } );
760
+ } ).join( '' );
701
761
  } ).join( '' );
702
762
 
703
763
  const regex = new RegExp( '^' + regexPattern + '$' );
@@ -869,12 +929,13 @@ export type TBasicTimePattern =
869
929
  */
870
930
  export function parseTimeInstantBasicComponents(
871
931
  dateString: string,
872
- pattern: TBasicTimePattern
932
+ pattern: TBasicTimePattern,
933
+ ignoreIntlAvailability = false
873
934
  ): Partial<TTimeInstantParameters> {
874
935
 
875
936
  // Check if Intl is available, if so warn the user about the existing function
876
937
  const isIntlAvailable = typeof Intl !== 'undefined' && typeof Intl.DateTimeFormat !== 'undefined';
877
- if ( isIntlAvailable )
938
+ if ( isIntlAvailable && !ignoreIntlAvailability )
878
939
  console.warn( 'Intl is available, use parseTimeInstantComponents instead of parseTimeInstantBasicComponents.' );
879
940
 
880
941
  const result: Partial<TTimeInstantParameters> = {};
@@ -888,88 +949,88 @@ export function parseTimeInstantBasicComponents(
888
949
  // Token extraction rules dictionary
889
950
  const tokenRules: Record<string, {
890
951
  maxLength?: number;
891
- validator?: (value: string) => boolean;
952
+ validator?: ( value: string ) => boolean;
892
953
  description?: string;
893
954
  }> = {
894
955
  '': { maxLength: undefined }, // Default rule
895
956
  'H': {
896
957
  maxLength: 2,
897
- validator: (value) => /^\d{1,2}$/.test(value) && parseInt(value, 10) >= 0 && parseInt(value, 10) <= 23,
958
+ validator: ( value ) => /^\d{1,2}$/.test( value ) && parseInt( value, 10 ) >= 0 && parseInt( value, 10 ) <= 23,
898
959
  description: 'Hour (0-23, 1-2 digits)'
899
960
  },
900
961
  'HH': {
901
962
  maxLength: 2,
902
- validator: (value) => /^\d{2}$/.test(value) && parseInt(value, 10) >= 0 && parseInt(value, 10) <= 23,
963
+ validator: ( value ) => /^\d{2}$/.test( value ) && parseInt( value, 10 ) >= 0 && parseInt( value, 10 ) <= 23,
903
964
  description: 'Hour (00-23, exactly 2 digits)'
904
965
  },
905
966
  'M': {
906
967
  maxLength: 2,
907
- validator: (value) => /^\d{1,2}$/.test(value) && parseInt(value, 10) >= 1 && parseInt(value, 10) <= 12,
968
+ validator: ( value ) => /^\d{1,2}$/.test( value ) && parseInt( value, 10 ) >= 1 && parseInt( value, 10 ) <= 12,
908
969
  description: 'Month (1-12, 1-2 digits)'
909
970
  },
910
971
  'MM': {
911
972
  maxLength: 2,
912
- validator: (value) => /^\d{2}$/.test(value) && parseInt(value, 10) >= 1 && parseInt(value, 10) <= 12,
973
+ validator: ( value ) => /^\d{2}$/.test( value ) && parseInt( value, 10 ) >= 1 && parseInt( value, 10 ) <= 12,
913
974
  description: 'Month (01-12, exactly 2 digits)'
914
975
  },
915
976
  'd': {
916
977
  maxLength: 2,
917
- validator: (value) => /^\d{1,2}$/.test(value) && parseInt(value, 10) >= 1 && parseInt(value, 10) <= 31,
978
+ validator: ( value ) => /^\d{1,2}$/.test( value ) && parseInt( value, 10 ) >= 1 && parseInt( value, 10 ) <= 31,
918
979
  description: 'Day (1-31, 1-2 digits)'
919
980
  },
920
981
  'dd': {
921
982
  maxLength: 2,
922
- validator: (value) => /^\d{2}$/.test(value) && parseInt(value, 10) >= 1 && parseInt(value, 10) <= 31,
983
+ validator: ( value ) => /^\d{2}$/.test( value ) && parseInt( value, 10 ) >= 1 && parseInt( value, 10 ) <= 31,
923
984
  description: 'Day (01-31, exactly 2 digits)'
924
985
  },
925
986
  'm': {
926
987
  maxLength: 2,
927
- validator: (value) => /^\d{1,2}$/.test(value) && parseInt(value, 10) >= 0 && parseInt(value, 10) <= 59,
988
+ validator: ( value ) => /^\d{1,2}$/.test( value ) && parseInt( value, 10 ) >= 0 && parseInt( value, 10 ) <= 59,
928
989
  description: 'Minutes (0-59, 1-2 digits)'
929
990
  },
930
991
  'mm': {
931
992
  maxLength: 2,
932
- validator: (value) => /^\d{2}$/.test(value) && parseInt(value, 10) >= 0 && parseInt(value, 10) <= 59,
993
+ validator: ( value ) => /^\d{2}$/.test( value ) && parseInt( value, 10 ) >= 0 && parseInt( value, 10 ) <= 59,
933
994
  description: 'Minutes (00-59, exactly 2 digits)'
934
995
  },
935
996
  's': {
936
997
  maxLength: 2,
937
- validator: (value) => /^\d{1,2}$/.test(value) && parseInt(value, 10) >= 0 && parseInt(value, 10) <= 59,
998
+ validator: ( value ) => /^\d{1,2}$/.test( value ) && parseInt( value, 10 ) >= 0 && parseInt( value, 10 ) <= 59,
938
999
  description: 'Seconds (0-59, 1-2 digits)'
939
1000
  },
940
1001
  'ss': {
941
1002
  maxLength: 2,
942
- validator: (value) => /^\d{2}$/.test(value) && parseInt(value, 10) >= 0 && parseInt(value, 10) <= 59,
1003
+ validator: ( value ) => /^\d{2}$/.test( value ) && parseInt( value, 10 ) >= 0 && parseInt( value, 10 ) <= 59,
943
1004
  description: 'Seconds (00-59, exactly 2 digits)'
944
1005
  },
945
1006
  'S': {
946
1007
  maxLength: 3,
947
- validator: (value) => /^\d{1,3}$/.test(value) && parseInt(value, 10) >= 0 && parseInt(value, 10) <= 999,
1008
+ validator: ( value ) => /^\d{1,3}$/.test( value ) && parseInt( value, 10 ) >= 0 && parseInt( value, 10 ) <= 999,
948
1009
  description: 'Milliseconds (0-999, 1-3 digits)'
949
1010
  },
950
1011
  'SS': {
951
1012
  maxLength: 2,
952
- validator: (value) => /^\d{2}$/.test(value) && parseInt(value, 10) >= 0 && parseInt(value, 10) <= 99,
1013
+ validator: ( value ) => /^\d{2}$/.test( value ) && parseInt( value, 10 ) >= 0 && parseInt( value, 10 ) <= 99,
953
1014
  description: 'Milliseconds (0-99, exactly 2 digits)'
954
1015
  },
955
1016
  'SSS': {
956
1017
  maxLength: 3,
957
- validator: (value) => /^\d{3}$/.test(value) && parseInt(value, 10) >= 0 && parseInt(value, 10) <= 999,
1018
+ validator: ( value ) => /^\d{3}$/.test( value ) && parseInt( value, 10 ) >= 0 && parseInt( value, 10 ) <= 999,
958
1019
  description: 'Milliseconds (000-999, exactly 3 digits)'
959
1020
  },
960
1021
  'y': {
961
1022
  maxLength: 4,
962
- validator: (value) => /^\d{1,4}$/.test(value) && parseInt(value, 10) >= 0 && parseInt(value, 10) <= 9999,
1023
+ validator: ( value ) => /^\d{1,4}$/.test( value ) && parseInt( value, 10 ) >= 0 && parseInt( value, 10 ) <= 9999,
963
1024
  description: 'Year (0-9999, 1-4 digits)'
964
1025
  },
965
1026
  'yy': {
966
1027
  maxLength: 2,
967
- validator: (value) => /^\d{2}$/.test(value),
1028
+ validator: ( value ) => /^\d{2}$/.test( value ),
968
1029
  description: 'Year (2 digits)'
969
1030
  },
970
1031
  'yyyy': {
971
1032
  maxLength: 4,
972
- validator: (value) => /^\d{4}$/.test(value),
1033
+ validator: ( value ) => /^\d{4}$/.test( value ),
973
1034
  description: 'Year (4 digits)'
974
1035
  }
975
1036
  };
@@ -978,27 +1039,27 @@ export function parseTimeInstantBasicComponents(
978
1039
  const extractValue = ( tokenType: string, tokenLength: number ): string => {
979
1040
  const tokenKey = tokenType.repeat( tokenLength );
980
1041
  const rule = tokenRules[ tokenKey ] || tokenRules[ '' ];
981
-
1042
+
982
1043
  // Extract consecutive digits up to maxLength
983
1044
  let endIndex = dateStringIndex;
984
1045
  let digitCount = 0;
985
1046
  const maxChars = rule.maxLength || tokenLength;
986
-
1047
+
987
1048
  while ( endIndex < dateString.length && /\d/.test( dateString[ endIndex ] ) && digitCount < maxChars ) {
988
1049
  endIndex++;
989
1050
  digitCount++;
990
1051
  }
991
-
1052
+
992
1053
  const value = dateString.substring( dateStringIndex, endIndex );
993
1054
  dateStringIndex = endIndex;
994
-
1055
+
995
1056
  // Validate the extracted value if a validator is provided
996
1057
  if ( rule.validator && !rule.validator( value ) ) {
997
1058
  // Extract field name from description for better error messages
998
- const fieldName = (rule.description || tokenKey).split(' ')[0].toLowerCase();
1059
+ const fieldName = ( rule.description || tokenKey ).split( ' ' )[ 0 ].toLowerCase();
999
1060
  throw new Error( `Invalid ${fieldName} value: "${value}"` );
1000
1061
  }
1001
-
1062
+
1002
1063
  return value;
1003
1064
  };
1004
1065
 
@@ -1064,7 +1125,7 @@ export function parseTimeInstantBasicComponents(
1064
1125
  let ms = parseInt( value, 10 );
1065
1126
  if ( isNaN( ms ) )
1066
1127
  throw new Error( `Invalid milliseconds value: ${value}` );
1067
-
1128
+
1068
1129
  // Normalize to milliseconds based on length
1069
1130
  if ( tokenLength === 1 ) ms *= 100;
1070
1131
  else if ( tokenLength === 2 ) ms *= 10;
@@ -1,10 +1,17 @@
1
1
  import type { TReadableArray } from "../arrays.js";
2
+ import type { TMaybe } from "../nulls.js";
2
3
 
3
- export function average( arr: TReadableArray<number> ): number {
4
+ export function average( arr: TReadableArray<number> ): TMaybe<number> {
5
+ if ( arr.length === 0 )
6
+ return null;
4
7
  const f = 1 / arr.length;
5
8
  return arr.reduce( ( tot, cur ) => tot + ( cur * f ), 0 );
6
9
  }
7
10
 
11
+ export function averageBy<T>( arr: TReadableArray<T>, getter: ( t: T ) => number ): TMaybe<number> {
12
+ return average( arr.map( getter ) );
13
+ }
14
+
8
15
  export function sum( arr: TReadableArray<number> ): number {
9
16
  return arr.reduce( ( tot, cur ) => tot + cur, 0 );
10
17
  }
@@ -13,20 +20,22 @@ export function sumBy<T>( arr: TReadableArray<T>, getter: ( t: T ) => number ):
13
20
  return sum( arr.map( getter ) );
14
21
  }
15
22
 
16
- export function min( arr: TReadableArray<number> ): number {
17
- if ( arr.length === 0 ) throw new Error( 'Cannot calculate value on empty array' );
23
+ export function min( arr: TReadableArray<number> ): TMaybe<number> {
24
+ if ( arr.length === 0 )
25
+ return null;
18
26
  return arr.reduce( ( min, cur ) => cur < min ? cur : min );
19
27
  }
20
28
 
21
- export function minBy<T>( arr: TReadableArray<T>, getter: ( t: T ) => number ): number {
29
+ export function minBy<T>( arr: TReadableArray<T>, getter: ( t: T ) => number ): TMaybe<number> {
22
30
  return min( arr.map( getter ) );
23
31
  }
24
32
 
25
- export function max( arr: TReadableArray<number> ): number {
26
- if ( arr.length === 0 ) throw new Error( 'Cannot calculate value on empty array' );
33
+ export function max( arr: TReadableArray<number> ): TMaybe<number> {
34
+ if ( arr.length === 0 )
35
+ return null;
27
36
  return arr.reduce( ( max, cur ) => cur > max ? cur : max );
28
37
  }
29
38
 
30
- export function maxBy<T>( arr: TReadableArray<T>, getter: ( t: T ) => number ): number {
39
+ export function maxBy<T>( arr: TReadableArray<T>, getter: ( t: T ) => number ): TMaybe<number> {
31
40
  return max( arr.map( getter ) );
32
41
  }
@@ -1,6 +1,6 @@
1
1
  import Optional, { type TOptional } from "../Optional.js";
2
2
  import type { TComparisonFunction } from "../sorting/_index.js";
3
- import type { TAccumulator, TBiPredicate, TPredicate, TTransformer } from "./functions.js";
3
+ import type { TAccumulator, TBiPredicate, TFunction, TPredicate, TTransformer } from "./functions.js";
4
4
  import { isNullOrUndefined, type TMaybe } from "./nulls.js";
5
5
 
6
6
  export * from './arrays/groupBy.js';
@@ -53,10 +53,38 @@ export function range( start: number, end: number ): Array<number> {
53
53
  return new Array( length ).fill( 1 ).map( ( _, i ) => start + i );
54
54
  }
55
55
 
56
+ /**
57
+ * Creates an array of the specified length, where each element is filled with the given value.
58
+ * @param length - The length of the array to create. Must be a non-negative integer.
59
+ * @param value - The value to fill each element with.
60
+ * @returns A new array with all elements set to the given value.
61
+ * @throws {RangeError} If length is negative, not an integer, or NaN.
62
+ * @example
63
+ * ```ts
64
+ * fill(3, 'a'); // ['a', 'a', 'a']
65
+ * fill(0, 42); // []
66
+ * fill(5, null); // [null, null, null, null, null]
67
+ * ```
68
+ */
56
69
  export function fill<T>( length: number, value: T ): Array<T> {
70
+ if ( !Number.isInteger( length ) || length < 0 )
71
+ throw new RangeError( `Length must be a non-negative integer. Got: ${length}` );
57
72
  return new Array<T>( length ).fill( value );
58
73
  }
59
74
 
75
+ /**
76
+ * Creates an array of the specified length, where each element is generated by the provided generator function.
77
+ * @param length - The length of the array to create. Must be a non-negative integer.
78
+ * @param generator - A function that takes an index and returns the value for that position.
79
+ * @returns A new array with elements generated by the generator function.
80
+ * @throws {RangeError} If length is negative or not an integer.
81
+ */
82
+ export function fillWith<T>( length: number, generator: TFunction<number, T> ): Array<T> {
83
+ if ( !Number.isInteger( length ) || length < 0 )
84
+ throw new RangeError( `Length must be a non-negative integer. Got: ${length}` );
85
+ return Array.from( { length }, ( _, i ) => generator( i ) );
86
+ }
87
+
60
88
  export function extendArray<T extends Record<string | number | symbol, unknown>, X extends Record<string | number | symbol, unknown>>( arr: TReadableArray<T>, props: X ): Array<( T & X )> {
61
89
  return arr.map( ( t: T ) => ( {
62
90
  ...t,
@@ -100,7 +128,7 @@ export function arrayIncludes<T>( arr: TReadableArray<T>, item: unknown, fromInd
100
128
  return arr.includes( item as any, fromIndex );
101
129
  }
102
130
  /** @deprecated[2025.11.08]: Use {@link arrayIncludes} instead. */
103
- export const includes= arrayIncludes;
131
+ export const includes = arrayIncludes;
104
132
 
105
133
  export function mapTruthys<T, R>( arr: Array<T>, mapper: ( value: T, index: number, array: T[] ) => R | undefined ): Array<R> {
106
134
  return arr.map( mapper ).filter( value => value !== undefined ) as Array<R>;