@zelgadis87/utils-core 4.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,8 +26,17 @@ export declare class TimeInstant extends TimeBase<TimeInstant> {
26
26
  isToday(): boolean;
27
27
  asTimeString(): string;
28
28
  asDateString(): string;
29
+ /**
30
+ * @returns this instant, in ISO 8601 format (eg, 2024-11-01T15:49:22.024+0200). The format is meant to always be realiable.
31
+ */
29
32
  asIso8601(): TIso8601DateString;
33
+ /**
34
+ * @returns this instant, in ISO 8601 format and UTC time zone (eg, 2024-11-01T15:49:22.024Z). The format is meant to always be realiable.
35
+ */
30
36
  asIso8601UTC(): TIso8601DateUtcString;
37
+ /**
38
+ * @returns this instant, in a human readable format. The format COULD change in the future, do NOT use this method for consistent outputs.
39
+ */
31
40
  asHumanTimestamp(): string;
32
41
  get twoDigitsDays(): TTwoDigitsDate;
33
42
  get twoDigitsMonths(): TTwoDigitsMonth;
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2016.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2017.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2018.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2019.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2021.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.dom.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.decorators.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/types/functions.ts","../src/sorting/types.ts","../src/utils/constant.ts","../src/sorting/comparisonchain.ts","../src/sorting/sorter.ts","../src/sorting/index.ts","../src/types/nulls.ts","../src/types/arrays.ts","../src/types/booleans.ts","../src/types/json.ts","../src/types/numbers.ts","../src/async/deferred.ts","../src/random/randominterval.ts","../src/random/randompercentage.ts","../src/random/index.ts","../src/utils/aserror.ts","../src/utils/bindthis.ts","../src/utils/entries.ts","../src/utils/groupby.ts","../src/utils/iff.ts","../src/utils/indexby.ts","../src/utils/jsonclonedeep.ts","../src/utils/math.ts","../src/utils/noop.ts","../src/utils/omit.ts","../src/types/strings.ts","../src/utils/pad.ts","../src/utils/pluralize.ts","../src/utils/round.ts","../src/utils/sortby.ts","../src/async/cancelabledeferred.ts","../src/lazyasync.ts","../src/time/timeunit.ts","../src/time/timebase.ts","../src/time/types.ts","../src/time/timeinstantbuilder.ts","../src/time/timeinstant.ts","../src/logger.ts","../src/optional.ts","../src/time/randomtimeduration.ts","../src/time/timefrequency.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","../src/async/ratethrottler.ts","../src/async/semaphore.ts","../src/async/index.ts","../src/utils/throttle.ts","../src/utils/uniqby.ts","../src/utils/uniq.ts","../src/utils/uniqbykey.ts","../src/utils/withtrycatch.ts","../src/utils/withtrycatchasync.ts","../src/utils/wrap.ts","../src/utils/index.ts","../src/time/timeduration.ts","../src/types/promises.ts","../src/types/records.ts","../src/types/index.ts","../src/lazy.ts","../src/utils/upsert.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc",{"version":"4af6b0c727b7a2896463d512fafd23634229adf69ac7c00e2ae15a09cb084fad","affectsGlobalScope":true},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"710972dab6016ae9e74c1513276811dbf00f345c85efe27740f9f0977a374a5d","signature":"d6a90ccda7da792c44876fd0970a64091edb80a12a6cc4180b711359a16b6ad7"},{"version":"f7f78db9933db871fef76a88b2b3e9e4a55cfc8a1d10a57d094089eee4916112","signature":"2d0ac519b493abc8d75b554343855f640bebe392026a85c8011f2f7b55e0cde0"},{"version":"41a70337edbaebfb0fdd366ddf0816fefea5989c75bdffdbb9ff698256951c74","signature":"14ec40ede4588be7502237d1e7e701f90a6507417b6b98401f550bb12e2fbf55"},{"version":"3368ada33db31e713d715d379245783f2f83807f8bf451e8984d6cb9798006b8","signature":"3f9a02628d3942552af0db48dd1aec763a73f64e23b51b4c90b8698bb9e28a3e"},{"version":"6e81a5902f4aa66d5f23b7e5e0719142b460030946365085f20678cb22ba78d2","signature":"ab7ae87ac3f478b45407c86f5279125a3d7cc2b254a8695527d7cbfd13f1d4ce"},{"version":"1ab20f387ef7fa5cf94272900952596792f583f45bbd58d9adf2d623349d060e","signature":"ec49ec1ca3ddc1fbcdb45f1740ccd72d20fbf450036286c4373d9d13ddf2c4a2"},{"version":"0d578fa07b7e41030f7ad5176898a0a70a092fc45a264ce67498f63e544344e1","signature":"eb96292ecf52597cf826715047ec8411375f0ac8a43d0bd12f87dd3190838a04"},{"version":"0c2d31de31c722f2a2d217b0dd927ad459eaf7a088d1ffc53a1f082cb58f59f6","signature":"1f2802076d77a350fa013e69a8cbcdd819634d5f7cd410c4c647a436af39c5e3"},{"version":"56571c3f44c6312462e8395ed75d05887dcbcb1581a0ad47dd72bcdbb898ea84","signature":"853de26cb0c4a51d7b511bf303ff4d6680bc18d36b3f2f6d7b8008c8927b58a1"},{"version":"32d1cc98171225b1ea747e71c378c6f3047770698a4fb37aec8b98032efa0b37","signature":"3d6fc989ab9610df8f8dd2ebd81a166725150dbf29ee8a7ac864fe07a17e7ab1"},{"version":"7b64ad79eab8b8f6f7ba60ae55d44ef817385165ae3588c09fab650efcdc35da","signature":"33e73f88f0bd53d987b909847e6e5656c535a52b4e1062c867ea7f00fa681bf9"},{"version":"3155487a2925982e7752894e6d9f784489f51876b3e34a1634e7d6e32002a373","signature":"fd6665b27ab1c8457bf118b0ba61a501ddfab19ace7aa102ae11f173f98ca678"},{"version":"2d8a26fb3b5b1815c7073e91d1e6b98488dd92617ca04f5c70a26426bba59264","signature":"92cfe3b0878714459d8f4c46d1870cc0c1ced7f3726b5831560ee90bb52e6948"},{"version":"830cc95dc9e66f24fa3fb16e9eb1ccc2b6a082f8fb6479e523f24e8b4835061d","signature":"b52d36a910abd362550396a7ae3e970cc6360fb6599e08d0445290c6a0aadb90"},{"version":"20714847850a2d8390184047b6150784221d19ecf514a07c01fe7b40db0e62ab","signature":"46dcacf4f84ed7578dd5d15147953ffd6f17832c7a99d5bb66f9f7dc63784a6c"},{"version":"d32d4a1ac03938f3c9ac7bb44d658f153a54ec157133876e935200a19a556445","signature":"ecf709d0cad44f6b90e6008d5465bb4b75b588c3d57dd8885d22c0bcaa7c684a"},{"version":"c9be16daf6b334ccff7002c844eff5a6f5f8f406dd8ef9ae4059308b70f0c90b","signature":"d464231cd26c11d9ae98811b64266bbff099ba26f467e8ac8833cc2af2614ced"},{"version":"d2218597f31f96afc7b29b386697c93a94395fd616d905b863c3685c7547abd7","signature":"5907986ed181648bd0dbe28ab20ed531b6a8ba080199d9beab0a5973e3d25753"},{"version":"d1dc9203a262a1a20848a5c3b37e3929536a96aee6f128658ebd399a676ee88e","signature":"dfc54c72097f1526237c6f148d959587f6c3a6309db8c454fbb68bac92233e20"},{"version":"818fd4b3a3f948731d148152a80b5ae5e42cf5597a0c339830a0bb05d70ff686","signature":"a552668dda1fd06d526afb31afd8624c2fd2f0ecb65e4ffd8d27fbbf36f68468"},{"version":"bff44eee0154de48dd5202be47dd0d4c1cac773ef58296c89d312a4112a33772","signature":"42c9d1fa4c702692045f9d20d0fbea589a5255ec239d1a5f331902d9f9912a59"},{"version":"e04775f0e7743ace633a34fb715d42a80c85b5f92aa3eac8e83aff236c9020c3","signature":"a6952f6b1acfebcbc9d07e3d00e474531f0e98bed4e1c5e760dabe4d98f3d89d"},{"version":"115bd1440e08ba1115368f8e99e5371f837ed5dd4dfe5c11a0dabad03ede355c","signature":"a6632950be386e363cd24bc5f52f38bae67dd4ba0cb38a430d0ebf6c225d38b7"},{"version":"b862cbefe08dc2ac3b6806e7cf34230c9ace74fef0f6238aaf9528e1ef71827d","signature":"4bbaa921f498157fb3f9363c817ff16c414926f74bb935aab976e2bb56c1b84d"},{"version":"aec72d1243ed24d05cc8c1399b6ca2d709f478dc93fa2411c9373f422195610c","signature":"ceb685f7feca8029035f2028a681bfb25a33a81cb870f235c77bd1f1e48af2e5"},{"version":"68deaf2f260cd5857b1f45c1dc25a03b77c093ee08e3d1f587c6919927bbc990","signature":"8b33421a86e308df04613596fcb083a760872e0745c277011f4ad9672e3f227b"},{"version":"b36c59ff9135b3af0b65147146881dbc6d21dbb4b5857fc3ff0db4ae4d404d06","signature":"99ba7f0dfda819667065b7cd4323a5b4c82a05fb63922de358458cd368fb88b2"},{"version":"d41b2a6d9a8e1ee09e7953f93c261f3942d800f433023fc80668d447a6017a9f","signature":"e0a0f81b2fdf45f1211811255afafc322b7cc9e784ee465ac31f4abdde07e5a9"},{"version":"1b72e1f3724b04b5b19a7514ecfdb59445816ccde3d016cb77d70bd6fbaff6f8","signature":"a29a11ea1f06a29ebc9d88a8439d78598d2d4977115a70705902c117d2a19e76"},{"version":"dd16e4f177955dda7ff4d566808a315dcfd18cd0906da204d7efb47277286530","signature":"a3578bc3b767f260c900afed6813bd0f56c98a1216379749dd76202a4f2e4b14"},{"version":"18818ba8aeeafab2e39ce44fdbb46d1cce2b0b14f7231f8f6fa8a66384f389b1","signature":"fc47ef594e6a4c0675efed0d833eba33dc0dd8e9e6afe116332cb29a1bb58d1b"},{"version":"4c14e4a188a74583fea33c58b17fcd44b0536b9a09f9938a7fa0a4411cdf5722","signature":"d08bdc2df3b64a80c3870fcc3f1a802c1bbd88d9efaefe46bf5a7aeeb749b5ad"},{"version":"cb6e4d47248ad5cbeed78f4164cf996fb276d54a580ac52e3a7feb92c4336d77","signature":"86463269677354ddc223e39011b4b5f231cdc5d072d08fb0e4b431a915e1f6eb"},{"version":"88a4ce51deb93d98ee68f7237a8aaae8ea49e7aa3c3953daabdd79a26aff06d2","signature":"58686fcfd1c2f6e21d3dd7f52d347e73a9879aa634acd1baafe5f2c2e4c09e9a"},{"version":"67b4645f4fc756789696814e6e3c192a57a7e89b138d890442547b047417f148","signature":"13339d499ac59712315f756a08c00109fa86ddbdf0579d573a8526bcaf5e3700"},{"version":"fdfbcb1d437a70ef8653d5757156f0b19a476aac851dd78f67ad522242e4928a","signature":"626afa709798521c427847bb617e1379d22b90d6098118ce08e137383dab2965"},{"version":"e51ab8d52687a6c2d23dc513955a4b8cfea9288ea1ea81231358fc27f886ce20","signature":"d2e5010c7b6cda6257a079513c2fc232f3cf54d3daeb2df53e4231872e079dfc"},{"version":"aafa6811259f5f175367f3f482898789514aae6434e9ac911d0a9cd21b6b6269","signature":"d79d663e6b621d15b39aca1d448793fc2acee759e6e7c10f3432023972ddf007"},{"version":"140b8538a2c0cd54e0f007caf1f90c33a58594116fbf56a1f27f426afae5b36d","signature":"7daad2dae15c28accd363a5f69cad8ae2fa0ad110eadc6f319c4715a8bbb29aa"},{"version":"cc0e85ac3c026b4c42d865beaf4e4b6144fe9ff826657a844838879fda3dde6f","signature":"975d013c31f48ecb26867d0f98f13d2eaebb4af2bfbe6b5fd9a4d38fdccd5656"},{"version":"4cbaf1a0c6ef2813e50255154c26b68481478ec170c8999bfc1d4292d2e671da","signature":"11c308cc51acb6c9d4f5fcc77fba289bcaa0647477092fbbbd777cc0fd95d8cb"},{"version":"c3ab2d3bcd3acda91736013f2338127ecae65463a900647b522726454785b24d","signature":"c0d7f918c226764cc6a345557ebb59bfa4d72dd93b23dd3399b454474ce056f6"},{"version":"5b2927131599d55e0ee730c7a2afc764ff39199a5d186b510fc3eca82f4ef1ff","signature":"d6fc507f1c2ecd14c0882a0e00a1ba2a580c6e45550a3a5e868d7bee4b1922b6"},{"version":"9ef6e64d9f81af5e6e0a06b056fa74638a5e48ba3e5bdedc9d262148609dec43","signature":"ec5154c62fc54d4c9c9aac0d79c1a2e57cef6dddfe9f6ff9ae9933ce93350516"},{"version":"279b25dd44e5e11771ebc653f95380fdb60d0d0caf3df6cd4b6510700d25e1ce","signature":"deb20c0cf80a8512b23dacaaccff1a96f13056a57b4b329d8106e70987639f3e"},{"version":"685c56fb04c565cca70a3e9660c1db15b56125f0929e9e1c8651071b1625ca4a","signature":"9ba1e380251d5b6c73fc0ef3c153f691e963c36cca9e2ba61864b24246791a0c"},{"version":"22577c900676846354224462f8a6b3e0e5033cd14a501ea46107e67a4ab7863f","signature":"70fd81e903686acf6e994565edb1588cc619b816646ea1a89ac9a47b45d25737"},{"version":"4e92eb4d4fa5bd21987ba473e0054d0393184ec9a33b351ffa4dbcef5fb9ecc3","signature":"ab815d46f9952bd31fc7602ab41ef6fdfcaef4b7dd3cd4c7557a75c52fd9001c"},{"version":"de9892afb7f873f59777bccfb79600799e79399d3f5000a9c36e428b8d6f9e3c","signature":"c25a63b006ce54b05918dc5df4650a4b72580eef3ef3e889fdaba83925dfb367"},{"version":"a4cb5065d57197fb7b342b20282fd75d5196e5ea50cf07b0644a96629c7a0480","signature":"522645ec1ae54b25f88a6ec7acc684b638483ccd19e4dca248931b8fdb94a18c"},{"version":"1d0ec7969ec2b4b1bec65e7924b5f64d3dd0c39dba60a6c65d6a301589bf6e76","signature":"86122f878833e22a38a54656b9fe61736ba6c103b6a2fa01dae70458aec4353d"},{"version":"60f9a401c5109b96a9d833d5676a78afef722f974119b6a353dafb2d260c0fb3","signature":"a83bb6c06a593ff08f3f92127360478f9088d84473f12d971fe69595d0ac237d"},{"version":"68c2ad396b93b1c5d39c3d2fc221fac5db3a79687d000ab8a3595b92eb28927c","signature":"217bd1741b991da9879e53c23ad81eeca2c7316d13ae177727e531704c13dce3"},{"version":"33d51bd6a2bdc9a2fc5c80e1c459c3c597ee98ab02fb52d8dd1acd89161ed6e6","signature":"a335f0f94e1c439bfe040fa754d093ecf6beb6357a4da1db70ffa188dc4415dd"},{"version":"4632c48d8d0bbb103a5594c6ea37eb345e884e7c11da3f7c341a4e944ef2d3dc","signature":"4ffb82aa0d7f0e2079d4c08f3fbb390bc6ee370f289216dab37a31ea748ee18d"},{"version":"d25c0065d7871c9dd0ece7c01aef726eaaced9f67ff10d5528d4872764b81ffa","signature":"2d7b8c35d9f482db0f39d60ce9ff6717149e22acbdfa87b30def9cecb2e66b5d"},{"version":"0c09691edb10e12b21a0705bab47ad712306a5bcf0714514545489bf876cef4a","signature":"afbee399954c8db6614dddb0e0a16b02e72a0a44995f8e69d82c34f4215cc06a"},{"version":"cbc0f868094b3915e03e854f3ecdd83a8b8bdc4a2b4a4952ab3fcaa05227a9c4","signature":"ac7c8f5bf90bc90b3d5a938a0d83f118f17a53cd68d48f17a61ef0e1054c4bae"},{"version":"6efc963070c16ffbab1f6b05778eb581188d8ba4fedbdae94cd744c34260236e","signature":"9a61e6e2d59f0a6268b21f587741519f9fdee6e970c7bf9553bc11378bc64eea"},{"version":"c6505ebb6a549d99595bcabb6f3bdd7aebd8122b495866a2022418943e366544","signature":"d5672aad98abdd649fe984de0676032bccb9baf697c1714987b2647a818ae897"},{"version":"d3816328a097970f46726b8e2f34f1e66fab2d95a2463fe0a3a3460308fc06aa","signature":"0cce1783c4c412541b1118f66a401ee1076d2b45f6de005ffa10d7a3138bdbc3"},{"version":"9e76484f48fec7c4a847c991843a325918216e773d5b2159df76b543b602560c","signature":"3b349d96bd6b1e310928928bc5494dd96d57f15033223fdec867c95eb70d327e"},{"version":"f986efc048f3a0f73e094e121d297d5dcd5fadaaa3c81ae71a5df60ce2be24d6","signature":"341f9956850dff2e7d08a2fe99a69b2300b105ad74d358164056c15899d05e11"},{"version":"9d436df13ce6e1aeb2fd98bf9ec67aebd51e6e59bc14392c83f449c952527295","signature":"c5c9b67f95b65ea2c92336169a4f48b1033a9c4ac73c3acbc5d691a73dc688e8"},{"version":"dba5166ad9db9ba648c1032ebbd34dcd0d085b50023b839ef5c68ca1db93a563","signature":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}],"root":[[59,123]],"options":{"allowImportingTsExtensions":true,"composite":true,"declaration":true,"emitDeclarationOnly":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":7,"noFallthroughCasesInSwitch":true,"noImplicitAny":false,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./","rootDir":"../src","skipLibCheck":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":9,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"fileIdsList":[[70],[59],[70,89,107,108],[70,99,106],[70,106],[64,73,90,96,97,100,105,109,117,121,122],[121],[65],[82,95],[59,65],[71,72],[71],[60,61,121],[60,62,63],[91,93,95,98,99,118],[71,91,118],[91],[64,70,73,91,92,95,117,121],[118,121],[64,70,91,92,93,94,117,118,121],[59,65,93,95],[59,64,65],[59,65,66,67,68,69,84,119,120],[59,118],[65,66],[101,102,103,117,121],[102,121],[102,104],[61,74,75,76,77,78,79,80,81,82,83,85,86,87,88,110,111,112,113,114,115,116],[66],[65,84],[99,109,121],[61,111],[111],[74,121]],"referencedMap":[[89,1],[70,2],[109,3],[107,4],[108,5],[106,6],[122,7],[90,8],[96,9],[97,10],[73,11],[72,12],[62,13],[64,14],[63,13],[60,2],[100,15],[98,16],[92,17],[118,18],[99,19],[95,20],[94,21],[93,7],[66,22],[121,23],[65,2],[69,2],[119,24],[84,25],[104,26],[103,27],[105,28],[102,7],[76,7],[77,7],[78,7],[117,29],[79,7],[80,7],[81,30],[83,7],[85,31],[88,7],[110,32],[112,33],[111,7],[113,34],[114,35],[115,35]],"latestChangedDtsFile":"./Optional.d.ts"},"version":"5.5.4"}
1
+ {"program":{"fileNames":["../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2016.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2017.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2018.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2019.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2021.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2023.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.dom.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.decorators.d.ts","../../../../auto-harem-heroes/node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/types/functions.ts","../src/sorting/types.ts","../src/utils/constant.ts","../src/sorting/comparisonchain.ts","../src/sorting/sorter.ts","../src/sorting/index.ts","../src/types/nulls.ts","../src/types/arrays.ts","../src/types/booleans.ts","../src/types/errors.ts","../src/types/json.ts","../src/types/numbers.ts","../src/async/deferred.ts","../src/random/randominterval.ts","../src/random/randompercentage.ts","../src/random/index.ts","../src/utils/bindthis.ts","../src/utils/entries.ts","../src/utils/groupby.ts","../src/utils/iff.ts","../src/utils/indexby.ts","../src/utils/jsonclonedeep.ts","../src/utils/math.ts","../src/utils/noop.ts","../src/utils/omit.ts","../src/types/strings.ts","../src/utils/pad.ts","../src/utils/pluralize.ts","../src/utils/round.ts","../src/utils/sortby.ts","../src/async/cancelabledeferred.ts","../src/lazyasync.ts","../src/time/timeunit.ts","../src/time/timebase.ts","../src/time/types.ts","../src/time/timeinstantbuilder.ts","../src/time/timeinstant.ts","../src/logger.ts","../src/optional.ts","../src/time/randomtimeduration.ts","../src/time/timefrequency.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","../src/async/ratethrottler.ts","../src/async/semaphore.ts","../src/async/index.ts","../src/utils/throttle.ts","../src/utils/uniqby.ts","../src/utils/uniq.ts","../src/utils/uniqbykey.ts","../src/utils/withtrycatch.ts","../src/utils/withtrycatchasync.ts","../src/utils/wrap.ts","../src/utils/index.ts","../src/time/timeduration.ts","../src/types/promises.ts","../src/types/records.ts","../src/types/index.ts","../src/lazy.ts","../src/utils/upsert.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10",{"version":"4af6b0c727b7a2896463d512fafd23634229adf69ac7c00e2ae15a09cb084fad","affectsGlobalScope":true},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true},{"version":"9d540251809289a05349b70ab5f4b7b99f922af66ab3c39ba56a475dcf95d5ff","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"710972dab6016ae9e74c1513276811dbf00f345c85efe27740f9f0977a374a5d","signature":"d6a90ccda7da792c44876fd0970a64091edb80a12a6cc4180b711359a16b6ad7"},{"version":"f7f78db9933db871fef76a88b2b3e9e4a55cfc8a1d10a57d094089eee4916112","signature":"2d0ac519b493abc8d75b554343855f640bebe392026a85c8011f2f7b55e0cde0"},{"version":"41a70337edbaebfb0fdd366ddf0816fefea5989c75bdffdbb9ff698256951c74","signature":"14ec40ede4588be7502237d1e7e701f90a6507417b6b98401f550bb12e2fbf55"},{"version":"3368ada33db31e713d715d379245783f2f83807f8bf451e8984d6cb9798006b8","signature":"3f9a02628d3942552af0db48dd1aec763a73f64e23b51b4c90b8698bb9e28a3e"},{"version":"6e81a5902f4aa66d5f23b7e5e0719142b460030946365085f20678cb22ba78d2","signature":"ab7ae87ac3f478b45407c86f5279125a3d7cc2b254a8695527d7cbfd13f1d4ce"},{"version":"1ab20f387ef7fa5cf94272900952596792f583f45bbd58d9adf2d623349d060e","signature":"ec49ec1ca3ddc1fbcdb45f1740ccd72d20fbf450036286c4373d9d13ddf2c4a2"},{"version":"0d578fa07b7e41030f7ad5176898a0a70a092fc45a264ce67498f63e544344e1","signature":"eb96292ecf52597cf826715047ec8411375f0ac8a43d0bd12f87dd3190838a04"},{"version":"3f547ac405acecda43d7c1f91b9a11fddb39af7e629e7303c18eef50f1da28a7","signature":"9633a8d205be88be6c282f5d1d20e7ec8e1c493ac27471d1d66fca65d3c2be7d"},{"version":"56571c3f44c6312462e8395ed75d05887dcbcb1581a0ad47dd72bcdbb898ea84","signature":"853de26cb0c4a51d7b511bf303ff4d6680bc18d36b3f2f6d7b8008c8927b58a1"},{"version":"1f21eecb15abc3e5a80f5da077d28867200550954f682591cab49942f818a7da","signature":"0fe0ea76c20ca9ee0577bacb7ffabec72f138baa6f605009f241f9a2db6984d4"},{"version":"32d1cc98171225b1ea747e71c378c6f3047770698a4fb37aec8b98032efa0b37","signature":"3d6fc989ab9610df8f8dd2ebd81a166725150dbf29ee8a7ac864fe07a17e7ab1"},{"version":"7b64ad79eab8b8f6f7ba60ae55d44ef817385165ae3588c09fab650efcdc35da","signature":"33e73f88f0bd53d987b909847e6e5656c535a52b4e1062c867ea7f00fa681bf9"},{"version":"3155487a2925982e7752894e6d9f784489f51876b3e34a1634e7d6e32002a373","signature":"fd6665b27ab1c8457bf118b0ba61a501ddfab19ace7aa102ae11f173f98ca678"},{"version":"2d8a26fb3b5b1815c7073e91d1e6b98488dd92617ca04f5c70a26426bba59264","signature":"92cfe3b0878714459d8f4c46d1870cc0c1ced7f3726b5831560ee90bb52e6948"},{"version":"830cc95dc9e66f24fa3fb16e9eb1ccc2b6a082f8fb6479e523f24e8b4835061d","signature":"b52d36a910abd362550396a7ae3e970cc6360fb6599e08d0445290c6a0aadb90"},{"version":"20714847850a2d8390184047b6150784221d19ecf514a07c01fe7b40db0e62ab","signature":"46dcacf4f84ed7578dd5d15147953ffd6f17832c7a99d5bb66f9f7dc63784a6c"},{"version":"c9be16daf6b334ccff7002c844eff5a6f5f8f406dd8ef9ae4059308b70f0c90b","signature":"d464231cd26c11d9ae98811b64266bbff099ba26f467e8ac8833cc2af2614ced"},{"version":"d2218597f31f96afc7b29b386697c93a94395fd616d905b863c3685c7547abd7","signature":"5907986ed181648bd0dbe28ab20ed531b6a8ba080199d9beab0a5973e3d25753"},{"version":"d1dc9203a262a1a20848a5c3b37e3929536a96aee6f128658ebd399a676ee88e","signature":"dfc54c72097f1526237c6f148d959587f6c3a6309db8c454fbb68bac92233e20"},{"version":"818fd4b3a3f948731d148152a80b5ae5e42cf5597a0c339830a0bb05d70ff686","signature":"a552668dda1fd06d526afb31afd8624c2fd2f0ecb65e4ffd8d27fbbf36f68468"},{"version":"bff44eee0154de48dd5202be47dd0d4c1cac773ef58296c89d312a4112a33772","signature":"42c9d1fa4c702692045f9d20d0fbea589a5255ec239d1a5f331902d9f9912a59"},{"version":"e04775f0e7743ace633a34fb715d42a80c85b5f92aa3eac8e83aff236c9020c3","signature":"a6952f6b1acfebcbc9d07e3d00e474531f0e98bed4e1c5e760dabe4d98f3d89d"},{"version":"115bd1440e08ba1115368f8e99e5371f837ed5dd4dfe5c11a0dabad03ede355c","signature":"a6632950be386e363cd24bc5f52f38bae67dd4ba0cb38a430d0ebf6c225d38b7"},{"version":"b862cbefe08dc2ac3b6806e7cf34230c9ace74fef0f6238aaf9528e1ef71827d","signature":"4bbaa921f498157fb3f9363c817ff16c414926f74bb935aab976e2bb56c1b84d"},{"version":"aec72d1243ed24d05cc8c1399b6ca2d709f478dc93fa2411c9373f422195610c","signature":"ceb685f7feca8029035f2028a681bfb25a33a81cb870f235c77bd1f1e48af2e5"},{"version":"68deaf2f260cd5857b1f45c1dc25a03b77c093ee08e3d1f587c6919927bbc990","signature":"8b33421a86e308df04613596fcb083a760872e0745c277011f4ad9672e3f227b"},{"version":"b36c59ff9135b3af0b65147146881dbc6d21dbb4b5857fc3ff0db4ae4d404d06","signature":"99ba7f0dfda819667065b7cd4323a5b4c82a05fb63922de358458cd368fb88b2"},{"version":"d41b2a6d9a8e1ee09e7953f93c261f3942d800f433023fc80668d447a6017a9f","signature":"e0a0f81b2fdf45f1211811255afafc322b7cc9e784ee465ac31f4abdde07e5a9"},{"version":"1b72e1f3724b04b5b19a7514ecfdb59445816ccde3d016cb77d70bd6fbaff6f8","signature":"a29a11ea1f06a29ebc9d88a8439d78598d2d4977115a70705902c117d2a19e76"},{"version":"dd16e4f177955dda7ff4d566808a315dcfd18cd0906da204d7efb47277286530","signature":"a3578bc3b767f260c900afed6813bd0f56c98a1216379749dd76202a4f2e4b14"},{"version":"18818ba8aeeafab2e39ce44fdbb46d1cce2b0b14f7231f8f6fa8a66384f389b1","signature":"fc47ef594e6a4c0675efed0d833eba33dc0dd8e9e6afe116332cb29a1bb58d1b"},{"version":"4c14e4a188a74583fea33c58b17fcd44b0536b9a09f9938a7fa0a4411cdf5722","signature":"d08bdc2df3b64a80c3870fcc3f1a802c1bbd88d9efaefe46bf5a7aeeb749b5ad"},{"version":"cb6e4d47248ad5cbeed78f4164cf996fb276d54a580ac52e3a7feb92c4336d77","signature":"86463269677354ddc223e39011b4b5f231cdc5d072d08fb0e4b431a915e1f6eb"},{"version":"fe78af98b38dddb04bbf42a17e0ff5d3509ad062a97cd04d08cadbea7425627c","signature":"58686fcfd1c2f6e21d3dd7f52d347e73a9879aa634acd1baafe5f2c2e4c09e9a"},{"version":"67b4645f4fc756789696814e6e3c192a57a7e89b138d890442547b047417f148","signature":"13339d499ac59712315f756a08c00109fa86ddbdf0579d573a8526bcaf5e3700"},{"version":"fdfbcb1d437a70ef8653d5757156f0b19a476aac851dd78f67ad522242e4928a","signature":"626afa709798521c427847bb617e1379d22b90d6098118ce08e137383dab2965"},{"version":"302cd145aac46fdfaab27e6f9fad018a598b4c24b49a0a8f034103692e225c44","signature":"be1db63a0fd7dc4dc82a5059dbd3389830f946209680b53b8bc8db7cf7ee2a1a"},{"version":"aafa6811259f5f175367f3f482898789514aae6434e9ac911d0a9cd21b6b6269","signature":"d79d663e6b621d15b39aca1d448793fc2acee759e6e7c10f3432023972ddf007"},{"version":"140b8538a2c0cd54e0f007caf1f90c33a58594116fbf56a1f27f426afae5b36d","signature":"7daad2dae15c28accd363a5f69cad8ae2fa0ad110eadc6f319c4715a8bbb29aa"},{"version":"cc0e85ac3c026b4c42d865beaf4e4b6144fe9ff826657a844838879fda3dde6f","signature":"975d013c31f48ecb26867d0f98f13d2eaebb4af2bfbe6b5fd9a4d38fdccd5656"},{"version":"4cbaf1a0c6ef2813e50255154c26b68481478ec170c8999bfc1d4292d2e671da","signature":"11c308cc51acb6c9d4f5fcc77fba289bcaa0647477092fbbbd777cc0fd95d8cb"},{"version":"c3ab2d3bcd3acda91736013f2338127ecae65463a900647b522726454785b24d","signature":"c0d7f918c226764cc6a345557ebb59bfa4d72dd93b23dd3399b454474ce056f6"},{"version":"5b2927131599d55e0ee730c7a2afc764ff39199a5d186b510fc3eca82f4ef1ff","signature":"d6fc507f1c2ecd14c0882a0e00a1ba2a580c6e45550a3a5e868d7bee4b1922b6"},{"version":"9ef6e64d9f81af5e6e0a06b056fa74638a5e48ba3e5bdedc9d262148609dec43","signature":"ec5154c62fc54d4c9c9aac0d79c1a2e57cef6dddfe9f6ff9ae9933ce93350516"},{"version":"279b25dd44e5e11771ebc653f95380fdb60d0d0caf3df6cd4b6510700d25e1ce","signature":"deb20c0cf80a8512b23dacaaccff1a96f13056a57b4b329d8106e70987639f3e"},{"version":"685c56fb04c565cca70a3e9660c1db15b56125f0929e9e1c8651071b1625ca4a","signature":"9ba1e380251d5b6c73fc0ef3c153f691e963c36cca9e2ba61864b24246791a0c"},{"version":"22577c900676846354224462f8a6b3e0e5033cd14a501ea46107e67a4ab7863f","signature":"70fd81e903686acf6e994565edb1588cc619b816646ea1a89ac9a47b45d25737"},{"version":"4e92eb4d4fa5bd21987ba473e0054d0393184ec9a33b351ffa4dbcef5fb9ecc3","signature":"ab815d46f9952bd31fc7602ab41ef6fdfcaef4b7dd3cd4c7557a75c52fd9001c"},{"version":"de9892afb7f873f59777bccfb79600799e79399d3f5000a9c36e428b8d6f9e3c","signature":"c25a63b006ce54b05918dc5df4650a4b72580eef3ef3e889fdaba83925dfb367"},{"version":"a4cb5065d57197fb7b342b20282fd75d5196e5ea50cf07b0644a96629c7a0480","signature":"522645ec1ae54b25f88a6ec7acc684b638483ccd19e4dca248931b8fdb94a18c"},{"version":"1d0ec7969ec2b4b1bec65e7924b5f64d3dd0c39dba60a6c65d6a301589bf6e76","signature":"86122f878833e22a38a54656b9fe61736ba6c103b6a2fa01dae70458aec4353d"},{"version":"60f9a401c5109b96a9d833d5676a78afef722f974119b6a353dafb2d260c0fb3","signature":"a83bb6c06a593ff08f3f92127360478f9088d84473f12d971fe69595d0ac237d"},{"version":"68c2ad396b93b1c5d39c3d2fc221fac5db3a79687d000ab8a3595b92eb28927c","signature":"217bd1741b991da9879e53c23ad81eeca2c7316d13ae177727e531704c13dce3"},{"version":"33d51bd6a2bdc9a2fc5c80e1c459c3c597ee98ab02fb52d8dd1acd89161ed6e6","signature":"a335f0f94e1c439bfe040fa754d093ecf6beb6357a4da1db70ffa188dc4415dd"},{"version":"4632c48d8d0bbb103a5594c6ea37eb345e884e7c11da3f7c341a4e944ef2d3dc","signature":"4ffb82aa0d7f0e2079d4c08f3fbb390bc6ee370f289216dab37a31ea748ee18d"},{"version":"2d89647698d15852528c3efcafd97aba15bef14cc98391792723c35ac628807a","signature":"2d7b8c35d9f482db0f39d60ce9ff6717149e22acbdfa87b30def9cecb2e66b5d"},{"version":"fc1cf2de5e836c1061c3d90d6d3e3e6083643bd8cd6e523aaf085ce760b5918c","signature":"afbee399954c8db6614dddb0e0a16b02e72a0a44995f8e69d82c34f4215cc06a"},{"version":"cbc0f868094b3915e03e854f3ecdd83a8b8bdc4a2b4a4952ab3fcaa05227a9c4","signature":"ac7c8f5bf90bc90b3d5a938a0d83f118f17a53cd68d48f17a61ef0e1054c4bae"},{"version":"c482b9dc3260ee480bd85622832539a991d855ec6fe5576194ceea2ee7b49992","signature":"b81d918a2ec75aa4223800b1a563fdca1a5db2e889794e93206c58590e898408"},{"version":"c6505ebb6a549d99595bcabb6f3bdd7aebd8122b495866a2022418943e366544","signature":"d5672aad98abdd649fe984de0676032bccb9baf697c1714987b2647a818ae897"},{"version":"d3816328a097970f46726b8e2f34f1e66fab2d95a2463fe0a3a3460308fc06aa","signature":"0cce1783c4c412541b1118f66a401ee1076d2b45f6de005ffa10d7a3138bdbc3"},{"version":"9e76484f48fec7c4a847c991843a325918216e773d5b2159df76b543b602560c","signature":"3b349d96bd6b1e310928928bc5494dd96d57f15033223fdec867c95eb70d327e"},{"version":"fa6084939018b0779685f9aaebe173b43a03de22abdb72aa7ef9203416db3168","signature":"71033ae5d3c7ffb2710b30073d2405aca9622f3f557b5adc3b5792486f66cde6"},{"version":"9d436df13ce6e1aeb2fd98bf9ec67aebd51e6e59bc14392c83f449c952527295","signature":"c5c9b67f95b65ea2c92336169a4f48b1033a9c4ac73c3acbc5d691a73dc688e8"},{"version":"dba5166ad9db9ba648c1032ebbd34dcd0d085b50023b839ef5c68ca1db93a563","signature":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}],"root":[[63,127]],"options":{"allowImportingTsExtensions":true,"composite":true,"declaration":true,"emitDeclarationOnly":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":7,"noFallthroughCasesInSwitch":true,"noImplicitAny":false,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./","rootDir":"../src","skipLibCheck":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":10,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"fileIdsList":[[75],[63],[75,93,111,112],[75,103,110],[75,110],[68,78,94,100,101,104,109,113,121,125,126],[125],[69],[86,99],[63,69],[76,77],[76],[64,65,125],[64,66,67],[95,97,99,102,103,122],[76,95,122],[95],[68,75,78,95,96,99,121,125],[122,125],[68,75,95,96,97,98,121,122,125],[63,69,97,99],[63,68,69],[63,69,70,71,72,73,74,88,123,124],[63,122],[69,70],[105,106,107,121,125],[106,125],[106,108],[65,79,80,81,82,83,84,85,86,87,89,90,91,92,114,115,116,117,118,119,120],[70],[69,88],[103,113,125],[65,115],[115]],"referencedMap":[[93,1],[75,2],[113,3],[111,4],[112,5],[110,6],[126,7],[94,8],[100,9],[101,10],[78,11],[77,12],[66,13],[68,14],[67,13],[64,2],[104,15],[102,16],[96,17],[122,18],[103,19],[99,20],[98,21],[97,7],[70,22],[125,23],[69,2],[74,2],[123,24],[88,25],[108,26],[107,27],[109,28],[106,7],[80,7],[81,7],[82,7],[121,29],[83,7],[84,7],[85,30],[87,7],[89,31],[92,7],[114,32],[116,33],[115,7],[117,34],[118,7],[119,7]],"latestChangedDtsFile":"./utils/upsert.d.ts"},"version":"5.5.4"}
@@ -30,4 +30,3 @@ export declare function sortedArray<T>(arr: ReadonlyArray<T>, sortFn?: TComparis
30
30
  * Custom implementation of includes which allows checking for arbitrary items inside the array.
31
31
  */
32
32
  export declare function includes<T>(arr: TReadableArray<T>, item: unknown, fromIndex?: number): boolean;
33
- export declare function filterTruthy<T>(arr: TReadableArray<T | false>): TReadableArray<T>;
@@ -0,0 +1,2 @@
1
+ export declare function asError(e: unknown): Error;
2
+ export declare function isError(e: unknown): e is Error;
@@ -3,6 +3,7 @@ export type TIntervalHandle = ReturnType<typeof setInterval>;
3
3
  export type TPrimitive = string | number | boolean | null;
4
4
  export * from './arrays';
5
5
  export * from './booleans.ts';
6
+ export * from './errors.ts';
6
7
  export * from './functions';
7
8
  export * from './json';
8
9
  export * from './nulls';
@@ -1,4 +1,3 @@
1
- export { default as asError } from './asError';
2
1
  export { default as bindThis } from './bindThis';
3
2
  export * from './constant.js';
4
3
  export * from './entries.js';
package/esbuild/index.cjs CHANGED
@@ -71,7 +71,6 @@ __export(src_exports, {
71
71
  extendArray: () => extendArray,
72
72
  extendArrayWith: () => extendArrayWith,
73
73
  fill: () => fill,
74
- filterTruthy: () => filterTruthy,
75
74
  groupByNumber: () => groupByNumber,
76
75
  groupByNumberWith: () => groupByNumberWith,
77
76
  groupByString: () => groupByString,
@@ -96,6 +95,7 @@ __export(src_exports, {
96
95
  isAllowedTimeDuration: () => isAllowedTimeDuration,
97
96
  isArray: () => isArray,
98
97
  isDefined: () => isDefined,
98
+ isError: () => isError,
99
99
  isFalse: () => isFalse,
100
100
  isFunction: () => isFunction,
101
101
  isNegativeNumber: () => isNegativeNumber,
@@ -206,9 +206,6 @@ function sortedArray(arr, sortFn) {
206
206
  function includes(arr, item, fromIndex) {
207
207
  return arr.includes(item, fromIndex);
208
208
  }
209
- function filterTruthy(arr) {
210
- return arr.filter((x) => x !== false);
211
- }
212
209
 
213
210
  // src/types/booleans.ts
214
211
  function isTrue(x) {
@@ -218,6 +215,22 @@ function isFalse(x) {
218
215
  return x === false;
219
216
  }
220
217
 
218
+ // src/types/errors.ts
219
+ function asError(e) {
220
+ if (e === void 0 || e === null)
221
+ return new Error("Void message");
222
+ if (isError(e))
223
+ return e;
224
+ if (typeof e === "string")
225
+ return new Error(e);
226
+ if (e instanceof String)
227
+ return new Error(e.toString());
228
+ return new Error(JSON.stringify(e));
229
+ }
230
+ function isError(e) {
231
+ return e instanceof Error;
232
+ }
233
+
221
234
  // src/types/functions.ts
222
235
  function isFunction(t) {
223
236
  return typeof t === "function";
@@ -633,19 +646,6 @@ var Deferred = class {
633
646
  };
634
647
  var Deferred_default = Deferred;
635
648
 
636
- // src/utils/asError.ts
637
- function asError(e) {
638
- if (e === void 0 || e === null)
639
- return new Error("Void message");
640
- if (e instanceof Error)
641
- return e;
642
- if (typeof e === "string")
643
- return new Error(e);
644
- if (e instanceof String)
645
- return new Error(e.toString());
646
- return new Error(JSON.stringify(e));
647
- }
648
-
649
649
  // src/utils/bindThis.ts
650
650
  function bindThis(fn, _this) {
651
651
  return fn.bind(_this);
@@ -1047,19 +1047,19 @@ var TimeBase = class {
1047
1047
  this._ms = unit.toMs(value);
1048
1048
  }
1049
1049
  get ms() {
1050
- return this._ms / TimeUnit.MILLISECONDS.multiplier;
1050
+ return Math.floor(this._ms / TimeUnit.MILLISECONDS.multiplier);
1051
1051
  }
1052
1052
  get seconds() {
1053
- return this._ms / TimeUnit.SECONDS.multiplier;
1053
+ return Math.floor(this._ms / TimeUnit.SECONDS.multiplier);
1054
1054
  }
1055
1055
  get minutes() {
1056
- return this._ms / TimeUnit.MINUTES.multiplier;
1056
+ return Math.floor(this._ms / TimeUnit.MINUTES.multiplier);
1057
1057
  }
1058
1058
  get hours() {
1059
- return this._ms / TimeUnit.HOURS.multiplier;
1059
+ return Math.floor(this._ms / TimeUnit.HOURS.multiplier);
1060
1060
  }
1061
1061
  get days() {
1062
- return this._ms / TimeUnit.DAYS.multiplier;
1062
+ return Math.floor(this._ms / TimeUnit.DAYS.multiplier);
1063
1063
  }
1064
1064
  addMs(milliseconds) {
1065
1065
  return this.addUnits(milliseconds, TimeUnit.MILLISECONDS);
@@ -1566,17 +1566,26 @@ var TimeInstant = class _TimeInstant extends TimeBase {
1566
1566
  const date = this.asDate();
1567
1567
  return `${this.doGetTwoDigitsDays(date)}/${this.doGetTwoDigitsMonths(date)}/${this.doGetFourDigitsYears(date)}`;
1568
1568
  }
1569
+ /**
1570
+ * @returns this instant, in ISO 8601 format (eg, 2024-11-01T15:49:22.024+0200). The format is meant to always be realiable.
1571
+ */
1569
1572
  asIso8601() {
1570
1573
  const dash = "-", colon = ".", doublecolon = ":", T = "T", date = this.asDate();
1571
1574
  return this.doGetFourDigitsYears(date) + dash + this.doGetTwoDigitsMonths(date) + dash + this.doGetTwoDigitsDays(date) + T + this.doGetTwoDigitsHours(date) + doublecolon + this.doGetTwoDigitsMinutes(date) + doublecolon + this.doGetTwoDigitsSeconds(date) + colon + this.doGetThreeDigitsMilliseconds(date) + this.doGetFourDigitsTimezoneOffset(date);
1572
1575
  }
1576
+ /**
1577
+ * @returns this instant, in ISO 8601 format and UTC time zone (eg, 2024-11-01T15:49:22.024Z). The format is meant to always be realiable.
1578
+ */
1573
1579
  asIso8601UTC() {
1574
1580
  const dash = "-", colon = ".", doublecolon = ":", T = "T", utcDate = this.asDateUTC();
1575
1581
  return this.doGetFourDigitsYears(utcDate) + dash + this.doGetTwoDigitsMonths(utcDate) + dash + this.doGetTwoDigitsDays(utcDate) + T + this.doGetTwoDigitsHours(utcDate) + doublecolon + this.doGetTwoDigitsMinutes(utcDate) + doublecolon + this.doGetTwoDigitsSeconds(utcDate) + colon + this.doGetThreeDigitsMilliseconds(utcDate) + "Z";
1576
1582
  }
1583
+ /**
1584
+ * @returns this instant, in a human readable format. The format COULD change in the future, do NOT use this method for consistent outputs.
1585
+ */
1577
1586
  asHumanTimestamp() {
1578
- const dash = "-", colon = ".", doublecolon = ":", T = "T", date = this.asDate();
1579
- return this.doGetFourDigitsYears(date) + dash + this.doGetTwoDigitsMonths(date) + dash + this.doGetTwoDigitsDays(date) + T + this.doGetTwoDigitsHours(date) + doublecolon + this.doGetTwoDigitsMinutes(date) + doublecolon + this.doGetTwoDigitsSeconds(date) + colon + this.doGetThreeDigitsMilliseconds(date);
1587
+ const dash = "-", doublecolon = ":", space = " ", T = "T", date = this.asDate();
1588
+ return this.doGetFourDigitsYears(date) + dash + this.doGetTwoDigitsMonths(date) + dash + this.doGetTwoDigitsDays(date) + space + this.doGetTwoDigitsHours(date) + doublecolon + this.doGetTwoDigitsMinutes(date) + doublecolon + this.doGetTwoDigitsSeconds(date);
1580
1589
  }
1581
1590
  // Please do not use this method internally, as it is not optimized for continued usage.
1582
1591
  get twoDigitsDays() {
@@ -2592,7 +2601,6 @@ function isUpgradable(obj) {
2592
2601
  extendArray,
2593
2602
  extendArrayWith,
2594
2603
  fill,
2595
- filterTruthy,
2596
2604
  groupByNumber,
2597
2605
  groupByNumberWith,
2598
2606
  groupByString,
@@ -2617,6 +2625,7 @@ function isUpgradable(obj) {
2617
2625
  isAllowedTimeDuration,
2618
2626
  isArray,
2619
2627
  isDefined,
2628
+ isError,
2620
2629
  isFalse,
2621
2630
  isFunction,
2622
2631
  isNegativeNumber,
package/esbuild/index.mjs CHANGED
@@ -55,9 +55,6 @@ function sortedArray(arr, sortFn) {
55
55
  function includes(arr, item, fromIndex) {
56
56
  return arr.includes(item, fromIndex);
57
57
  }
58
- function filterTruthy(arr) {
59
- return arr.filter((x) => x !== false);
60
- }
61
58
 
62
59
  // src/types/booleans.ts
63
60
  function isTrue(x) {
@@ -67,6 +64,22 @@ function isFalse(x) {
67
64
  return x === false;
68
65
  }
69
66
 
67
+ // src/types/errors.ts
68
+ function asError(e) {
69
+ if (e === void 0 || e === null)
70
+ return new Error("Void message");
71
+ if (isError(e))
72
+ return e;
73
+ if (typeof e === "string")
74
+ return new Error(e);
75
+ if (e instanceof String)
76
+ return new Error(e.toString());
77
+ return new Error(JSON.stringify(e));
78
+ }
79
+ function isError(e) {
80
+ return e instanceof Error;
81
+ }
82
+
70
83
  // src/types/functions.ts
71
84
  function isFunction(t) {
72
85
  return typeof t === "function";
@@ -482,19 +495,6 @@ var Deferred = class {
482
495
  };
483
496
  var Deferred_default = Deferred;
484
497
 
485
- // src/utils/asError.ts
486
- function asError(e) {
487
- if (e === void 0 || e === null)
488
- return new Error("Void message");
489
- if (e instanceof Error)
490
- return e;
491
- if (typeof e === "string")
492
- return new Error(e);
493
- if (e instanceof String)
494
- return new Error(e.toString());
495
- return new Error(JSON.stringify(e));
496
- }
497
-
498
498
  // src/utils/bindThis.ts
499
499
  function bindThis(fn, _this) {
500
500
  return fn.bind(_this);
@@ -896,19 +896,19 @@ var TimeBase = class {
896
896
  this._ms = unit.toMs(value);
897
897
  }
898
898
  get ms() {
899
- return this._ms / TimeUnit.MILLISECONDS.multiplier;
899
+ return Math.floor(this._ms / TimeUnit.MILLISECONDS.multiplier);
900
900
  }
901
901
  get seconds() {
902
- return this._ms / TimeUnit.SECONDS.multiplier;
902
+ return Math.floor(this._ms / TimeUnit.SECONDS.multiplier);
903
903
  }
904
904
  get minutes() {
905
- return this._ms / TimeUnit.MINUTES.multiplier;
905
+ return Math.floor(this._ms / TimeUnit.MINUTES.multiplier);
906
906
  }
907
907
  get hours() {
908
- return this._ms / TimeUnit.HOURS.multiplier;
908
+ return Math.floor(this._ms / TimeUnit.HOURS.multiplier);
909
909
  }
910
910
  get days() {
911
- return this._ms / TimeUnit.DAYS.multiplier;
911
+ return Math.floor(this._ms / TimeUnit.DAYS.multiplier);
912
912
  }
913
913
  addMs(milliseconds) {
914
914
  return this.addUnits(milliseconds, TimeUnit.MILLISECONDS);
@@ -1415,17 +1415,26 @@ var TimeInstant = class _TimeInstant extends TimeBase {
1415
1415
  const date = this.asDate();
1416
1416
  return `${this.doGetTwoDigitsDays(date)}/${this.doGetTwoDigitsMonths(date)}/${this.doGetFourDigitsYears(date)}`;
1417
1417
  }
1418
+ /**
1419
+ * @returns this instant, in ISO 8601 format (eg, 2024-11-01T15:49:22.024+0200). The format is meant to always be realiable.
1420
+ */
1418
1421
  asIso8601() {
1419
1422
  const dash = "-", colon = ".", doublecolon = ":", T = "T", date = this.asDate();
1420
1423
  return this.doGetFourDigitsYears(date) + dash + this.doGetTwoDigitsMonths(date) + dash + this.doGetTwoDigitsDays(date) + T + this.doGetTwoDigitsHours(date) + doublecolon + this.doGetTwoDigitsMinutes(date) + doublecolon + this.doGetTwoDigitsSeconds(date) + colon + this.doGetThreeDigitsMilliseconds(date) + this.doGetFourDigitsTimezoneOffset(date);
1421
1424
  }
1425
+ /**
1426
+ * @returns this instant, in ISO 8601 format and UTC time zone (eg, 2024-11-01T15:49:22.024Z). The format is meant to always be realiable.
1427
+ */
1422
1428
  asIso8601UTC() {
1423
1429
  const dash = "-", colon = ".", doublecolon = ":", T = "T", utcDate = this.asDateUTC();
1424
1430
  return this.doGetFourDigitsYears(utcDate) + dash + this.doGetTwoDigitsMonths(utcDate) + dash + this.doGetTwoDigitsDays(utcDate) + T + this.doGetTwoDigitsHours(utcDate) + doublecolon + this.doGetTwoDigitsMinutes(utcDate) + doublecolon + this.doGetTwoDigitsSeconds(utcDate) + colon + this.doGetThreeDigitsMilliseconds(utcDate) + "Z";
1425
1431
  }
1432
+ /**
1433
+ * @returns this instant, in a human readable format. The format COULD change in the future, do NOT use this method for consistent outputs.
1434
+ */
1426
1435
  asHumanTimestamp() {
1427
- const dash = "-", colon = ".", doublecolon = ":", T = "T", date = this.asDate();
1428
- return this.doGetFourDigitsYears(date) + dash + this.doGetTwoDigitsMonths(date) + dash + this.doGetTwoDigitsDays(date) + T + this.doGetTwoDigitsHours(date) + doublecolon + this.doGetTwoDigitsMinutes(date) + doublecolon + this.doGetTwoDigitsSeconds(date) + colon + this.doGetThreeDigitsMilliseconds(date);
1436
+ const dash = "-", doublecolon = ":", space = " ", T = "T", date = this.asDate();
1437
+ return this.doGetFourDigitsYears(date) + dash + this.doGetTwoDigitsMonths(date) + dash + this.doGetTwoDigitsDays(date) + space + this.doGetTwoDigitsHours(date) + doublecolon + this.doGetTwoDigitsMinutes(date) + doublecolon + this.doGetTwoDigitsSeconds(date);
1429
1438
  }
1430
1439
  // Please do not use this method internally, as it is not optimized for continued usage.
1431
1440
  get twoDigitsDays() {
@@ -2440,7 +2449,6 @@ export {
2440
2449
  extendArray,
2441
2450
  extendArrayWith,
2442
2451
  fill,
2443
- filterTruthy,
2444
2452
  groupByNumber,
2445
2453
  groupByNumberWith,
2446
2454
  groupByString,
@@ -2465,6 +2473,7 @@ export {
2465
2473
  isAllowedTimeDuration,
2466
2474
  isArray,
2467
2475
  isDefined,
2476
+ isError,
2468
2477
  isFalse,
2469
2478
  isFunction,
2470
2479
  isNegativeNumber,
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": "4.0.0",
4
+ "version": "4.1.0",
5
5
  "author": "Zelgadis87",
6
6
  "license": "ISC",
7
7
  "private": false,
@@ -120,23 +120,23 @@
120
120
  "types": "./dist/index.d.ts",
121
121
  "exports": {
122
122
  ".": {
123
+ "types": "./dist/index.d.ts",
123
124
  "import": "./esbuild/index.mjs",
124
- "require": "./esbuild/index.cjs",
125
- "types": "./dist/index.d.ts"
125
+ "require": "./esbuild/index.cjs"
126
126
  }
127
127
  },
128
128
  "devDependencies": {
129
- "@stylistic/eslint-plugin-ts": "2.6.0-beta.1",
130
- "@typescript-eslint/eslint-plugin": "rc-v8",
131
- "@typescript-eslint/parser": "rc-v8",
132
- "@vitest/coverage-v8": "^2.0.4",
133
- "@vitest/ui": "^2.0.4",
134
- "esbuild": "^0.23.0",
135
- "eslint": "^9.8.0",
129
+ "@stylistic/eslint-plugin-ts": "2.9.0",
130
+ "@typescript-eslint/eslint-plugin": "8.12.2",
131
+ "@typescript-eslint/parser": "8.12.2",
132
+ "@vitest/coverage-v8": "^2.1.4",
133
+ "@vitest/ui": "^2.1.4",
134
+ "esbuild": "^0.24.0",
135
+ "eslint": "^9.13.0",
136
136
  "rimraf": "^6.0.1",
137
- "typescript": "^5.5.4",
138
- "vitest": "^2.0.4",
139
- "wireit": "^0.14.5"
137
+ "typescript": "^5.6.3",
138
+ "vitest": "^2.1.4",
139
+ "wireit": "^0.14.9"
140
140
  },
141
141
  "scripts": {
142
142
  "clean": "rimraf .wireit dist esbuild coverage",
@@ -4,7 +4,7 @@ interface ICancelablePromise<T> extends Promise<T> {
4
4
  cancel(): void;
5
5
  }
6
6
 
7
- /** @deprecated use CancelableDeferredV2 instead. */
7
+ /** @deprecated use Deferred instead. */
8
8
  export default class CancelableDeferred<T = void> extends Deferred<T> implements ICancelablePromise<T> {
9
9
 
10
10
  private _canceled: boolean;
@@ -10,7 +10,11 @@ export interface ICancelablePromise<T> extends Promise<T> {
10
10
  cancel(): void;
11
11
  }
12
12
 
13
- export class DeferredCanceledError extends Error { }
13
+ export class DeferredCanceledError extends Error {
14
+ constructor() {
15
+ super( "Execution canceled" );
16
+ }
17
+ }
14
18
 
15
19
  export class Deferred<T = void> implements Promise<T>, ICancelablePromise<T> {
16
20
 
@@ -18,7 +22,9 @@ export class Deferred<T = void> implements Promise<T>, ICancelablePromise<T> {
18
22
  private readonly _internals: DeferredInternals<T>;
19
23
 
20
24
  public get pending(): boolean { return this._pending; }
21
- /** @deprecated: Use resolve, then and catch directly; use asPromise to return a promise type. */ public get promise(): Promise<T> { return this._internals.promise; }
25
+
26
+ /** @deprecated: Use resolve, then and catch directly; use asPromise to return a promise type. */
27
+ public get promise(): Promise<T> { return this._internals.promise; }
22
28
 
23
29
  constructor() {
24
30
  this._pending = true;
@@ -26,16 +32,43 @@ export class Deferred<T = void> implements Promise<T>, ICancelablePromise<T> {
26
32
  }
27
33
 
28
34
  public resolve( val: T ): void {
29
- if ( !this._pending ) throw new Error( 'Illegal state exception' );
35
+ if ( !this._pending )
36
+ throw new Error( 'Illegal state exception' );
37
+ this.resolveIfPending( val );
38
+ }
39
+
40
+ public reject( reason: Error ): void {
41
+ if ( !this._pending )
42
+ throw new Error( 'Illegal state exception' );
43
+ this.rejectIfPending( reason );
44
+ }
45
+
46
+ public cancel(): void {
47
+ if ( !this._pending )
48
+ throw new Error( 'Illegal state exception' );
49
+ this.cancelIfPending();
50
+ }
51
+
52
+ public resolveIfPending( val: T ): void {
53
+ if ( !this._pending )
54
+ return;
30
55
  this._pending = false;
31
56
  this._internals.resolve( val );
32
57
  }
33
58
 
34
- public reject( reason: Error ): void {
35
- if ( !this._pending ) throw new Error( 'Illegal state exception' );
59
+ public rejectIfPending( reason: Error ): void {
60
+ if ( !this._pending )
61
+ return;
36
62
  this._pending = false;
37
63
  this._internals.reject( reason );
38
64
  }
65
+
66
+ public cancelIfPending(): void {
67
+ if ( !this._pending )
68
+ return;
69
+ this.reject( new DeferredCanceledError() );
70
+ }
71
+
39
72
 
40
73
  public then<R = T, S = T>( onFulfilled: ( ( value: T ) => R | PromiseLike<R> ) | null | undefined, onRejected?: ( ( reason: Error ) => S | PromiseLike<S> ) | null | undefined ): Promise<R | S> {
41
74
  return this._internals.promise.then( onFulfilled, onRejected );
@@ -49,11 +82,6 @@ export class Deferred<T = void> implements Promise<T>, ICancelablePromise<T> {
49
82
  return this._internals.promise.finally( onfinally );
50
83
  }
51
84
 
52
- public cancel(): void {
53
- if ( !this._pending ) throw new Error( 'Illegal state exception' );
54
- this._internals.reject( new DeferredCanceledError( 'Execution aborted by the user' ) );
55
- }
56
-
57
85
  public get asPromise(): Promise<T> {
58
86
  return this;
59
87
  }
@@ -3,32 +3,35 @@ import Deferred from "./Deferred";
3
3
 
4
4
  export class Semaphore {
5
5
 
6
- private readonly _waitingRequests: Deferred<void>[];
6
+ private readonly _queuedRequests: Deferred<void>[];
7
+ private _inProgress = 0;
7
8
 
8
9
  constructor(
9
10
  private _availableSlots: number = 1
10
11
  ) {
11
- this._waitingRequests = [];
12
+ this._queuedRequests = [];
12
13
  }
13
14
 
14
15
  private async _awaitSlot(): Promise<void> {
15
16
  if ( this._availableSlots > 0 ) {
16
17
  this._availableSlots -= 1;
18
+ this._inProgress += 1;
17
19
  return void 0;
18
20
  } else {
19
21
  // Semaphore implementation using promises.
20
22
  const deferred = new Deferred();
21
- this._waitingRequests.push( deferred );
23
+ this._queuedRequests.push( deferred );
22
24
  return deferred.asPromise;
23
25
  }
24
26
  }
25
27
 
26
28
  private _releaseSlot() {
27
- const waitingSlotToResolve = this._waitingRequests.shift();
29
+ const waitingSlotToResolve = this._queuedRequests.shift();
28
30
  if ( waitingSlotToResolve ) {
29
31
  waitingSlotToResolve.resolve();
30
32
  } else {
31
33
  this._availableSlots += 1;
34
+ this._inProgress -= 1;
32
35
  }
33
36
  }
34
37
 
@@ -40,6 +43,18 @@ export class Semaphore {
40
43
  } );
41
44
  }
42
45
 
46
+ public get availableSlots() {
47
+ return this._availableSlots;
48
+ }
49
+
50
+ public get queueSize() {
51
+ return this._queuedRequests.length;
52
+ }
53
+
54
+ public get inProgressSize() {
55
+ return this._inProgress;
56
+ }
57
+
43
58
  }
44
59
 
45
60
  export default Semaphore;
@@ -14,23 +14,23 @@ export default abstract class TimeBase<T> {
14
14
  protected abstract create( value: number, unit: TimeUnit ): T;
15
15
 
16
16
  public get ms(): number {
17
- return this._ms / TimeUnit.MILLISECONDS.multiplier;
17
+ return Math.floor( this._ms / TimeUnit.MILLISECONDS.multiplier );
18
18
  }
19
19
 
20
20
  public get seconds(): number {
21
- return this._ms / TimeUnit.SECONDS.multiplier;
21
+ return Math.floor( this._ms / TimeUnit.SECONDS.multiplier );
22
22
  }
23
23
 
24
24
  public get minutes(): number {
25
- return this._ms / TimeUnit.MINUTES.multiplier;
25
+ return Math.floor( this._ms / TimeUnit.MINUTES.multiplier );
26
26
  }
27
27
 
28
28
  public get hours(): number {
29
- return this._ms / TimeUnit.HOURS.multiplier;
29
+ return Math.floor( this._ms / TimeUnit.HOURS.multiplier );
30
30
  }
31
31
 
32
32
  public get days(): number {
33
- return this._ms / TimeUnit.DAYS.multiplier;
33
+ return Math.floor( this._ms / TimeUnit.DAYS.multiplier );
34
34
  }
35
35
 
36
36
  public addMs( milliseconds: number ): T {
@@ -93,6 +93,9 @@ export class TimeInstant extends TimeBase<TimeInstant> {
93
93
  return `${this.doGetTwoDigitsDays( date )}/${this.doGetTwoDigitsMonths( date )}/${this.doGetFourDigitsYears( date )}`;
94
94
  }
95
95
 
96
+ /**
97
+ * @returns this instant, in ISO 8601 format (eg, 2024-11-01T15:49:22.024+0200). The format is meant to always be realiable.
98
+ */
96
99
  public asIso8601(): TIso8601DateString {
97
100
  const dash = '-', colon = '.', doublecolon = ':', T = 'T', date = this.asDate();
98
101
  return (
@@ -113,6 +116,9 @@ export class TimeInstant extends TimeBase<TimeInstant> {
113
116
  ) as TIso8601DateString;
114
117
  }
115
118
 
119
+ /**
120
+ * @returns this instant, in ISO 8601 format and UTC time zone (eg, 2024-11-01T15:49:22.024Z). The format is meant to always be realiable.
121
+ */
116
122
  public asIso8601UTC(): TIso8601DateUtcString {
117
123
  const dash = '-', colon = '.', doublecolon = ':', T = 'T', utcDate = this.asDateUTC();
118
124
  return (
@@ -133,22 +139,23 @@ export class TimeInstant extends TimeBase<TimeInstant> {
133
139
  ) as TIso8601DateUtcString;
134
140
  }
135
141
 
142
+ /**
143
+ * @returns this instant, in a human readable format. The format COULD change in the future, do NOT use this method for consistent outputs.
144
+ */
136
145
  public asHumanTimestamp(): string {
137
- const dash = '-', colon = '.', doublecolon = ':', T = 'T', date = this.asDate();
146
+ const dash = '-', doublecolon = ':', space = ' ', T = 'T', date = this.asDate();
138
147
  return (
139
148
  this.doGetFourDigitsYears( date )
140
149
  + dash
141
150
  + this.doGetTwoDigitsMonths( date )
142
151
  + dash
143
152
  + this.doGetTwoDigitsDays( date )
144
- + T
153
+ + space
145
154
  + this.doGetTwoDigitsHours( date )
146
155
  + doublecolon
147
156
  + this.doGetTwoDigitsMinutes( date )
148
157
  + doublecolon
149
158
  + this.doGetTwoDigitsSeconds( date )
150
- + colon
151
- + this.doGetThreeDigitsMilliseconds( date )
152
159
  );
153
160
  }
154
161
 
@@ -0,0 +1,19 @@
1
+
2
+ /**
3
+ * Define a new type that is true if T is the empty object, false otherwise.
4
+ */
5
+ export type TIsEmptyObject<T> = keyof T extends never ? true : false;
6
+
7
+ /**
8
+ * Defines a new type that is the empty array, if T is an empty object, or is the array containing T if T is not the empty object.<br/>
9
+ * This type can be used as function argument, to conditionally require an argument based on type T.<br/>
10
+ * Usage example:
11
+ * ```
12
+ * type TMetadata = { a: {}, b: {}, c: { x: 1 } };
13
+ * function foo<X extends keyof TMetadata>( type: X, metadata: TMetadata[X] ) { ... };
14
+ * export function fooWrapper<X extends keyof TMetadata>( type: X, ...args: TConditionalOptionalType<TMetadata[X]> ) {
15
+ * const bar = foo( type, args.length === 0 ? void 0 : args[ 0 ] );
16
+ * }
17
+ * ```
18
+ */
19
+ export type TConditionalOptionalType<T> = TIsEmptyObject<T> extends true ? [] : [ T ];
@@ -1,8 +1,8 @@
1
1
 
2
- export default function asError( e: unknown ): Error {
2
+ export function asError( e: unknown ): Error {
3
3
  if ( e === undefined || e === null )
4
4
  return new Error( 'Void message' );
5
- if ( e instanceof Error )
5
+ if ( isError( e ) )
6
6
  return e;
7
7
  if ( typeof e === 'string' )
8
8
  return new Error( e );
@@ -10,3 +10,8 @@ export default function asError( e: unknown ): Error {
10
10
  return new Error( e.toString() );
11
11
  return new Error( JSON.stringify( e ) );
12
12
  }
13
+
14
+ export function isError( e: unknown ): e is Error {
15
+ return e instanceof Error;
16
+ }
17
+
@@ -8,6 +8,8 @@ export type TPrimitive = string | number | boolean | null;
8
8
 
9
9
  export * from './arrays';
10
10
  export * from './booleans.ts';
11
+ export * from './empties.ts';
12
+ export * from './errors.ts';
11
13
  export * from './functions';
12
14
  export * from './json';
13
15
  export * from './nulls';
@@ -1,5 +1,4 @@
1
1
 
2
- export { default as asError } from './asError';
3
2
  export { default as bindThis } from './bindThis';
4
3
  export * from './constant.js';
5
4
  export * from './entries.js';
@@ -1,5 +1,4 @@
1
- import { TFunction } from "../types";
2
- import asError from "./asError";
1
+ import { asError, TFunction } from "../types";
3
2
 
4
3
  export default function withTryCatch<R>( fn: TFunction<void, R> ): R | Error {
5
4
  try {
@@ -1,5 +1,4 @@
1
- import { TFunction } from "../types";
2
- import asError from "./asError";
1
+ import { asError, TFunction } from "../types";
3
2
 
4
3
  export default async function withTryCatchAsync<R>( fn: TFunction<void, Promise<R>> ): Promise<R | Error> {
5
4
  return fn().catch( ( e: unknown ) => asError( e ) );
@@ -1 +0,0 @@
1
- export default function asError(e: unknown): Error;