@irrelon/emitter 6.0.0 → 6.0.1

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
- {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../src/emitter.ts","../../tests/emitter.test.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/jest-matcher-utils/node_modules/chalk/index.d.ts","../../node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/@jest/schemas/build/index.d.ts","../../node_modules/pretty-format/build/index.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/index.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","bed7b7ba0eb5a160b69af72814b4dde371968e40b6c5e73d3a9f7bee407d158c",{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","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":"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":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","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":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"4350e5922fecd4bedda2964d69c213a1436349d0b8d260dd902795f5b94dc74b","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"26fbc5e2e6ca6b5341a2c1b0f2a22d7727cb461f45924569dee7c39b41477756","signature":"815c63ed250d406ad551ba3690048484ee5fc4a788410760301a13d5b2af10d8"},{"version":"f7f80f896c5dbc24c28c7d2589e922de1e6258c3a47509d4e97ebe94000d58c9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"e31b69b603075736c59065f0c89606f93068600d94b456dda77248c8b2a803a9","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"002d6d5f044365b3fbfba0ba9be3bb57cac09b81547c8df4b0795755d2081d90","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","c4cfc9a6e2ebb8bc8c0e2392dfc4056993ced3b35069ebf132ac18ca7a562881","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"bae4ea23beb8397755b935cb84d3cdc6cdb0b1b4a329b90de9fc6c8774d71994","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","df36874d9e56aff601e921c4b3971d37cf66d14f6455935ce821e6cad13b1823","3c135ff5bda0355f6b52a10ea931736ec7c5a80b7fb8772019054e0eaa0fd6b6","1abb206a4ecd13b21536b677d7d5f66e0d7316f0d44610197cfcc5776f78884a","dbe5aa5a5dd8bd1c6a8d11b1310c3f0cdabaacc78a37b394a8c7b14faeb5fb84","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"76527127c8b749bee5977408861ce3ee56ec19ddcea8704c628f98ca610283e6","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b68bd7bef90dab08b1866a9fee24f03d9fee10bcb3f587b074e96e61abf6d3f0","cb4f3f03480e1727eae46400606cecaa97f550186ff8fa909ebc00db4180531b",{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","556bf5c36deb62cffa1bf697c1789fe008ec82db0273025001db66732714e9d9","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","24ad30a03d6c9266b63540956868dd70fa2dc523d60d780d6586eb0c281946bc",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"bfe39beb986d2a2e512c091cbe924f1c415bc65de54de0e2f6a0dc6f84c183d9","affectsGlobalScope":true},"2d526e6f21d8cc66ac11ada32874e95ae88d870c6c9d3d9d4e03b1d1f9ad7b8e","06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","d2ec52f565f0570e90b659811347bd689f8c6039b11eaaccd0f243759d46da6e","8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"854a39fe9c9e32cc0855380e0f16bbb25217c3b62d8a687fe2b663ba44b3b5a1","763e521cf114b80e0dd0e21ca49b9f8ae62e8999555a5e7bade8ce36b33001c2","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","032cbd1883827ca3728c1400145403b62e65b7b584a0d2115ae538c9edec7936","427ce5854885cfc34387e09de05c1d5c1acf94c2143e1693f1d9ff54880573e7","bed2c4f96fab3348be4a34d88dcb12578c1b2475b07c6acd369e99e227718d81","e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","cda0cb09b995489b7f4c57f168cd31b83dcbaa7aad49612734fb3c9c73f6e4f2","3b105d5a0dacc73812d93e90d3c7243fd5a9c0566a2e63bc2964ca12d882c8e8",{"version":"458e2fd1185e659cb800ef68d01ef77de70dcab8860bedf6d94eaebe736751f1","affectsGlobalScope":true}],"root":[64,65],"options":{"allowJs":false,"allowSyntheticDefaultImports":true,"declaration":true,"downlevelIteration":true,"esModuleInterop":true,"inlineSourceMap":false,"module":99,"outDir":"./","skipLibCheck":false,"strict":true,"target":99},"fileIdsList":[[111],[111,121],[111,123,126],[66,111],[69,111],[70,75,111],[71,81,82,89,99,110,111],[71,72,81,89,111],[73,111],[74,75,82,90,111],[75,99,107,111],[76,78,81,89,111],[77,111],[78,79,111],[80,81,111],[81,111],[81,82,83,99,110,111],[81,82,83,99,102,111],[111,115],[84,89,99,110,111],[81,82,84,85,89,99,107,110,111],[84,86,99,107,110,111],[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],[81,87,111],[88,110,111],[78,81,89,99,111],[90,111],[91,111],[69,92,111],[93,109,111,115],[94,111],[95,111],[81,96,97,111],[96,98,111,113],[81,99,100,101,102,111],[99,101,111],[99,100,111],[102,111],[103,111],[81,105,106,111],[105,106,111],[75,89,99,107,111],[108,111],[89,109,111],[70,84,95,110,111],[75,111],[99,111,112],[111,113],[111,114],[70,75,81,83,92,99,110,111,113,115],[99,111,116],[111,119,125],[111,123],[111,120,124],[111,122],[64,66,111]],"referencedMap":[[119,1],[122,2],[121,1],[127,3],[66,4],[67,4],[69,5],[70,6],[71,7],[72,8],[73,9],[74,10],[75,11],[76,12],[77,13],[78,14],[79,14],[80,15],[81,16],[82,17],[83,18],[68,19],[117,1],[84,20],[85,21],[86,22],[118,23],[87,24],[88,25],[89,26],[90,27],[91,28],[92,29],[93,30],[94,31],[95,32],[96,33],[97,33],[98,34],[99,35],[101,36],[100,37],[102,38],[103,39],[104,1],[105,40],[106,41],[107,42],[108,43],[109,44],[110,45],[111,46],[112,47],[113,48],[114,49],[115,50],[116,51],[126,52],[124,53],[125,54],[120,1],[123,55],[62,1],[63,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[4,1],[22,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[8,1],[49,1],[46,1],[47,1],[48,1],[50,1],[9,1],[51,1],[52,1],[53,1],[56,1],[54,1],[55,1],[57,1],[58,1],[10,1],[1,1],[11,1],[61,1],[60,1],[59,1],[64,1],[65,56]],"exportedModulesMap":[[119,1],[122,2],[121,1],[127,3],[66,4],[67,4],[69,5],[70,6],[71,7],[72,8],[73,9],[74,10],[75,11],[76,12],[77,13],[78,14],[79,14],[80,15],[81,16],[82,17],[83,18],[68,19],[117,1],[84,20],[85,21],[86,22],[118,23],[87,24],[88,25],[89,26],[90,27],[91,28],[92,29],[93,30],[94,31],[95,32],[96,33],[97,33],[98,34],[99,35],[101,36],[100,37],[102,38],[103,39],[104,1],[105,40],[106,41],[107,42],[108,43],[109,44],[110,45],[111,46],[112,47],[113,48],[114,49],[115,50],[116,51],[126,52],[124,53],[125,54],[120,1],[123,55],[62,1],[63,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[4,1],[22,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[8,1],[49,1],[46,1],[47,1],[48,1],[50,1],[9,1],[51,1],[52,1],[53,1],[56,1],[54,1],[55,1],[57,1],[58,1],[10,1],[1,1],[11,1],[61,1],[60,1],[59,1]],"semanticDiagnosticsPerFile":[119,122,121,127,66,67,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,68,117,84,85,86,118,87,88,89,90,91,92,93,94,95,96,97,98,99,101,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,126,124,125,120,123,62,63,13,12,2,14,15,16,17,18,19,20,21,3,4,22,26,23,24,25,27,28,29,5,30,31,32,33,6,37,34,35,36,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,56,54,55,57,58,10,1,11,61,60,59,64,65]},"version":"5.3.2"}
1
+ {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../src/emitter.ts","../../tests/emitter.test.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/jest-matcher-utils/node_modules/chalk/index.d.ts","../../node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/@jest/schemas/build/index.d.ts","../../node_modules/pretty-format/build/index.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/index.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","bed7b7ba0eb5a160b69af72814b4dde371968e40b6c5e73d3a9f7bee407d158c",{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","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":"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":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","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":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"4350e5922fecd4bedda2964d69c213a1436349d0b8d260dd902795f5b94dc74b","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"56d457af26414c080c425574ed0b56e75cc0bf96ab12d6b6977e44b7ca938934","signature":"0e330e7814a04b66aa6f8192d6da8ae183a826b5f5977bcc536b6c267170a535"},{"version":"75bacf6089744c7f756cbc4076105b078708a164084eb522ec88a14da79e5efe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"e31b69b603075736c59065f0c89606f93068600d94b456dda77248c8b2a803a9","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"002d6d5f044365b3fbfba0ba9be3bb57cac09b81547c8df4b0795755d2081d90","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","c4cfc9a6e2ebb8bc8c0e2392dfc4056993ced3b35069ebf132ac18ca7a562881","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"bae4ea23beb8397755b935cb84d3cdc6cdb0b1b4a329b90de9fc6c8774d71994","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","df36874d9e56aff601e921c4b3971d37cf66d14f6455935ce821e6cad13b1823","3c135ff5bda0355f6b52a10ea931736ec7c5a80b7fb8772019054e0eaa0fd6b6","1abb206a4ecd13b21536b677d7d5f66e0d7316f0d44610197cfcc5776f78884a","dbe5aa5a5dd8bd1c6a8d11b1310c3f0cdabaacc78a37b394a8c7b14faeb5fb84","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"76527127c8b749bee5977408861ce3ee56ec19ddcea8704c628f98ca610283e6","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b68bd7bef90dab08b1866a9fee24f03d9fee10bcb3f587b074e96e61abf6d3f0","cb4f3f03480e1727eae46400606cecaa97f550186ff8fa909ebc00db4180531b",{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","556bf5c36deb62cffa1bf697c1789fe008ec82db0273025001db66732714e9d9","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","24ad30a03d6c9266b63540956868dd70fa2dc523d60d780d6586eb0c281946bc",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"bfe39beb986d2a2e512c091cbe924f1c415bc65de54de0e2f6a0dc6f84c183d9","affectsGlobalScope":true},"2d526e6f21d8cc66ac11ada32874e95ae88d870c6c9d3d9d4e03b1d1f9ad7b8e","06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","d2ec52f565f0570e90b659811347bd689f8c6039b11eaaccd0f243759d46da6e","8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"854a39fe9c9e32cc0855380e0f16bbb25217c3b62d8a687fe2b663ba44b3b5a1","763e521cf114b80e0dd0e21ca49b9f8ae62e8999555a5e7bade8ce36b33001c2","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","032cbd1883827ca3728c1400145403b62e65b7b584a0d2115ae538c9edec7936","427ce5854885cfc34387e09de05c1d5c1acf94c2143e1693f1d9ff54880573e7","bed2c4f96fab3348be4a34d88dcb12578c1b2475b07c6acd369e99e227718d81","e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","cda0cb09b995489b7f4c57f168cd31b83dcbaa7aad49612734fb3c9c73f6e4f2","3b105d5a0dacc73812d93e90d3c7243fd5a9c0566a2e63bc2964ca12d882c8e8",{"version":"458e2fd1185e659cb800ef68d01ef77de70dcab8860bedf6d94eaebe736751f1","affectsGlobalScope":true}],"root":[64,65],"options":{"allowJs":false,"allowSyntheticDefaultImports":true,"declaration":true,"downlevelIteration":true,"esModuleInterop":true,"inlineSourceMap":false,"module":99,"outDir":"./","skipLibCheck":false,"strict":true,"target":99},"fileIdsList":[[111],[111,121],[111,123,126],[66,111],[69,111],[70,75,111],[71,81,82,89,99,110,111],[71,72,81,89,111],[73,111],[74,75,82,90,111],[75,99,107,111],[76,78,81,89,111],[77,111],[78,79,111],[80,81,111],[81,111],[81,82,83,99,110,111],[81,82,83,99,102,111],[111,115],[84,89,99,110,111],[81,82,84,85,89,99,107,110,111],[84,86,99,107,110,111],[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],[81,87,111],[88,110,111],[78,81,89,99,111],[90,111],[91,111],[69,92,111],[93,109,111,115],[94,111],[95,111],[81,96,97,111],[96,98,111,113],[81,99,100,101,102,111],[99,101,111],[99,100,111],[102,111],[103,111],[81,105,106,111],[105,106,111],[75,89,99,107,111],[108,111],[89,109,111],[70,84,95,110,111],[75,111],[99,111,112],[111,113],[111,114],[70,75,81,83,92,99,110,111,113,115],[99,111,116],[111,119,125],[111,123],[111,120,124],[111,122],[64,66,111]],"referencedMap":[[119,1],[122,2],[121,1],[127,3],[66,4],[67,4],[69,5],[70,6],[71,7],[72,8],[73,9],[74,10],[75,11],[76,12],[77,13],[78,14],[79,14],[80,15],[81,16],[82,17],[83,18],[68,19],[117,1],[84,20],[85,21],[86,22],[118,23],[87,24],[88,25],[89,26],[90,27],[91,28],[92,29],[93,30],[94,31],[95,32],[96,33],[97,33],[98,34],[99,35],[101,36],[100,37],[102,38],[103,39],[104,1],[105,40],[106,41],[107,42],[108,43],[109,44],[110,45],[111,46],[112,47],[113,48],[114,49],[115,50],[116,51],[126,52],[124,53],[125,54],[120,1],[123,55],[62,1],[63,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[4,1],[22,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[8,1],[49,1],[46,1],[47,1],[48,1],[50,1],[9,1],[51,1],[52,1],[53,1],[56,1],[54,1],[55,1],[57,1],[58,1],[10,1],[1,1],[11,1],[61,1],[60,1],[59,1],[64,1],[65,56]],"exportedModulesMap":[[119,1],[122,2],[121,1],[127,3],[66,4],[67,4],[69,5],[70,6],[71,7],[72,8],[73,9],[74,10],[75,11],[76,12],[77,13],[78,14],[79,14],[80,15],[81,16],[82,17],[83,18],[68,19],[117,1],[84,20],[85,21],[86,22],[118,23],[87,24],[88,25],[89,26],[90,27],[91,28],[92,29],[93,30],[94,31],[95,32],[96,33],[97,33],[98,34],[99,35],[101,36],[100,37],[102,38],[103,39],[104,1],[105,40],[106,41],[107,42],[108,43],[109,44],[110,45],[111,46],[112,47],[113,48],[114,49],[115,50],[116,51],[126,52],[124,53],[125,54],[120,1],[123,55],[62,1],[63,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[4,1],[22,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[8,1],[49,1],[46,1],[47,1],[48,1],[50,1],[9,1],[51,1],[52,1],[53,1],[56,1],[54,1],[55,1],[57,1],[58,1],[10,1],[1,1],[11,1],[61,1],[60,1],[59,1]],"semanticDiagnosticsPerFile":[119,122,121,127,66,67,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,68,117,84,85,86,118,87,88,89,90,91,92,93,94,95,96,97,98,99,101,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,126,124,125,120,123,62,63,13,12,2,14,15,16,17,18,19,20,21,3,4,22,26,23,24,25,27,28,29,5,30,31,32,33,6,37,34,35,36,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,56,54,55,57,58,10,1,11,61,60,59,64,65]},"version":"5.3.2"}
package/package.json CHANGED
@@ -1,70 +1,70 @@
1
1
  {
2
- "author": "Rob Evans - Irrelon Software Limited",
3
- "name": "@irrelon/emitter",
4
- "description": "Simple JavaScript event emitter with some powerful features.",
5
- "version": "6.0.0",
6
- "keywords": [
7
- "javascript",
8
- "browser",
9
- "node",
10
- "client-side",
11
- "server-side",
12
- "emitter",
13
- "events",
14
- "on",
15
- "off",
16
- "once",
17
- "listener"
18
- ],
19
- "devDependencies": {
20
- "@babel/polyfill": "^7.2.5",
21
- "@babel/runtime": "^7.3.1",
22
- "@types/jest": "^29.5.0",
23
- "@types/node": "^18.7.23",
24
- "@typescript-eslint/eslint-plugin": "^5.38.1",
25
- "@typescript-eslint/parser": "^5.38.1",
26
- "chokidar": "^3.5.3",
27
- "eslint": "8.22.0",
28
- "eslint-config-prettier": "^8.5.0",
29
- "eslint-config-standard-with-typescript": "^23.0.0",
30
- "eslint-plugin-import": "^2.26.0",
31
- "eslint-plugin-jest": "^27.0.4",
32
- "eslint-plugin-node": "^11.1.0",
33
- "eslint-plugin-prettier": "^4.2.1",
34
- "eslint-plugin-promise": "^6.0.1",
35
- "eslint-plugin-standard": "^5.0.0",
36
- "eslint-plugin-tree-shaking": "^1.10.0",
37
- "eslint-plugin-unused-imports": "^2.0.0",
38
- "jest": "^29.1.1",
39
- "minimatch": "^7.4.2",
40
- "prettier": "^2.7.1",
41
- "ts-jest": "^29.0.2",
42
- "typescript": "^5.3.2",
43
- "@trivago/prettier-plugin-sort-imports": "^4.3.0"
44
- },
45
- "engines": {
46
- "node": "*"
47
- },
48
- "scripts": {
49
- "build": "tsc -p tsconfig-esm.json && tsc -p tsconfig-cjs.json && sh ./fixup.sh",
50
- "build-watch": "tsc --watch",
51
- "fixPaths": "node fixPaths.cjs",
52
- "test": "NODE_OPTIONS=--experimental-vm-modules npx jest --testMatch \"**/*.test.js\"",
53
- "test-watch": "NODE_OPTIONS=--experimental-vm-modules npx jest --testMatch \"**/*.test.js\" --watchAll"
54
- },
55
- "repository": {
56
- "type": "git",
57
- "url": "git://github.com/irrelon/emitter.git"
58
- },
59
- "main": "dist/cjs/src/Emitter.js",
60
- "module": "dist/esm/src/Emitter.js",
61
- "exports": {
62
- ".": {
63
- "import": "./dist/esm/src/Emitter.js",
64
- "require": "./dist/cjs/src/Emitter.js"
65
- }
66
- },
67
- "bugs": {
68
- "url": "https://github.com/irrelon/emitter/issues"
69
- }
2
+ "author": "Rob Evans - Irrelon Software Limited",
3
+ "name": "@irrelon/emitter",
4
+ "description": "Simple JavaScript event emitter with some powerful features.",
5
+ "version": "6.0.1",
6
+ "keywords": [
7
+ "javascript",
8
+ "browser",
9
+ "node",
10
+ "client-side",
11
+ "server-side",
12
+ "emitter",
13
+ "events",
14
+ "on",
15
+ "off",
16
+ "once",
17
+ "listener"
18
+ ],
19
+ "devDependencies": {
20
+ "@babel/polyfill": "^7.2.5",
21
+ "@babel/runtime": "^7.3.1",
22
+ "@types/jest": "^29.5.0",
23
+ "@types/node": "^18.7.23",
24
+ "@typescript-eslint/eslint-plugin": "^5.38.1",
25
+ "@typescript-eslint/parser": "^5.38.1",
26
+ "chokidar": "^3.5.3",
27
+ "eslint": "8.22.0",
28
+ "eslint-config-prettier": "^8.5.0",
29
+ "eslint-config-standard-with-typescript": "^23.0.0",
30
+ "eslint-plugin-import": "^2.26.0",
31
+ "eslint-plugin-jest": "^27.0.4",
32
+ "eslint-plugin-node": "^11.1.0",
33
+ "eslint-plugin-prettier": "^4.2.1",
34
+ "eslint-plugin-promise": "^6.0.1",
35
+ "eslint-plugin-standard": "^5.0.0",
36
+ "eslint-plugin-tree-shaking": "^1.10.0",
37
+ "eslint-plugin-unused-imports": "^2.0.0",
38
+ "jest": "^29.1.1",
39
+ "minimatch": "^7.4.2",
40
+ "prettier": "^2.7.1",
41
+ "ts-jest": "^29.0.2",
42
+ "typescript": "^5.3.2",
43
+ "@trivago/prettier-plugin-sort-imports": "^4.3.0"
44
+ },
45
+ "engines": {
46
+ "node": "*"
47
+ },
48
+ "scripts": {
49
+ "build": "tsc -p tsconfig-esm.json && tsc -p tsconfig-cjs.json && sh ./fixup.sh",
50
+ "build-watch": "tsc --watch",
51
+ "fixPaths": "npx @irrelon/fixPaths --write",
52
+ "test": "NODE_OPTIONS=--experimental-vm-modules npx jest --testMatch \"**/*.test.js\"",
53
+ "test-watch": "NODE_OPTIONS=--experimental-vm-modules npx jest --testMatch \"**/*.test.js\" --watchAll"
54
+ },
55
+ "repository": {
56
+ "type": "git",
57
+ "url": "git://github.com/irrelon/emitter.git"
58
+ },
59
+ "main": "dist/cjs/src/Emitter.js",
60
+ "module": "dist/esm/src/Emitter.js",
61
+ "exports": {
62
+ ".": {
63
+ "import": "./dist/esm/src/Emitter.js",
64
+ "require": "./dist/cjs/src/Emitter.js"
65
+ }
66
+ },
67
+ "bugs": {
68
+ "url": "https://github.com/irrelon/emitter/issues"
69
+ }
70
70
  }
package/readme.md CHANGED
@@ -11,12 +11,22 @@ const emitter = new Emitter();
11
11
  // example this listener will be called with
12
12
  // `isEnabled = true` and `id = "1234"`. You can pass
13
13
  // any number of arguments when calling emit() and
14
- // they will be recieved in order by your listeners
14
+ // they will be recieved in the same order by your
15
+ // event listeners
15
16
  emitter.on("someEvent", (isEnabled, id) => {
16
- return;
17
+ return "someReturnValue1";
17
18
  });
18
19
 
19
- emitter.emit("someEvent", true, "1234");
20
+ // Lets register another listener on the same event
21
+ // that returns a slightly different value
22
+ emitter.on("someEvent", (isEnabled, id) => {
23
+ return "someReturnValue2";
24
+ });
25
+
26
+ // The `results` will contain the return values from
27
+ // all the event listeners registered for the event
28
+ // so in this case ["someReturnValue1", "someReturnValue2"]
29
+ const results = emitter.emit("someEvent", true, "1234");
20
30
  ```
21
31
 
22
32
  ### TypeScript Compatibility
@@ -54,6 +64,11 @@ emitter.emit("event1");
54
64
  // This will not error as you are passing the
55
65
  // expected string argument
56
66
  emitter.emit("event1", "John Smith");
67
+
68
+ // This will correctly infer the type of `result`
69
+ // as a number since the return type was defined
70
+ // in the MyEvents.event1 interface
71
+ const result = emitter.emit("event1", "John Smith");
57
72
  ```
58
73
 
59
74
  ### Extending The Emitter Class
@@ -84,6 +99,8 @@ Your class now inherits the emitter methods:
84
99
  * cancelStatic
85
100
  * deferEmit
86
101
  * willEmit
102
+ * rpc
103
+ * rpcId
87
104
 
88
105
  ### EcmaScript Modules and CommonJS Modules
89
106
  > The package includes both ESM and CJS modules for ease of use.
package/src/Emitter.ts CHANGED
@@ -151,7 +151,7 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
151
151
  * @param listener The method to call when the event is fired.
152
152
  * @returns The emitter instance.
153
153
  */
154
- _on<EventName extends keyof EventsInterface> (
154
+ _on<EventName extends keyof EventsInterface>(
155
155
  eventName: EventName,
156
156
  id: string,
157
157
  listener: EventListenerCallback<EventsInterface[EventName]>
@@ -198,7 +198,7 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
198
198
  * @param listener The method to call when the event is fired.
199
199
  * @returns The emitter instance.
200
200
  */
201
- _once<EventName extends keyof EventsInterface> (
201
+ _once<EventName extends keyof EventsInterface>(
202
202
  eventName: EventName,
203
203
  id: string,
204
204
  listener: EventListenerCallback<EventsInterface[EventName]>
@@ -229,7 +229,7 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
229
229
  * or once() call to cancel.
230
230
  * @returns The emitter instance.
231
231
  */
232
- _off<EventName extends keyof EventsInterface> (
232
+ _off<EventName extends keyof EventsInterface>(
233
233
  eventName: EventName,
234
234
  id: string,
235
235
  listener?: EventListenerCallback<EventsInterface[EventName]>
@@ -291,7 +291,7 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
291
291
  eventName: EventName,
292
292
  listener: EventListenerCallback<EventsInterface[EventName]>
293
293
  ): this;
294
- on<EventName extends keyof EventsInterface> (
294
+ on<EventName extends keyof EventsInterface>(
295
295
  eventName: EventName,
296
296
  idOrListener: string | EventListenerCallback<EventsInterface[EventName]>,
297
297
  listener?: EventListenerCallback<EventsInterface[EventName]>
@@ -320,7 +320,7 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
320
320
  eventName: EventName,
321
321
  listener: EventListenerCallback<EventsInterface[EventName]>
322
322
  ): this;
323
- once<EventName extends keyof EventsInterface> (eventName: EventName, ...rest: any[]): this {
323
+ once<EventName extends keyof EventsInterface>(eventName: EventName, ...rest: any[]): this {
324
324
  const restTypes = rest.map((arg) => typeof arg);
325
325
 
326
326
  if (restTypes[0] === "function") {
@@ -351,7 +351,7 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
351
351
  eventName: EventName,
352
352
  listener: EventListenerCallback<EventsInterface[EventName]>
353
353
  ): this;
354
- overwrite<EventName extends keyof EventsInterface> (eventName: EventName, ...rest: any[]) {
354
+ overwrite<EventName extends keyof EventsInterface>(eventName: EventName, ...rest: any[]) {
355
355
  const restTypes = rest.map((arg) => typeof arg);
356
356
 
357
357
  if (restTypes[0] === "function") {
@@ -381,7 +381,7 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
381
381
  listener?: EventListenerCallback<EventsInterface[EventName]>
382
382
  ): this;
383
383
  off<EventName extends keyof EventsInterface>(eventName: EventName): this;
384
- off<EventName extends keyof EventsInterface> (eventName: EventName, ...rest: any[]) {
384
+ off<EventName extends keyof EventsInterface>(eventName: EventName, ...rest: any[]) {
385
385
  if (rest.length === 0) {
386
386
  // Only event was provided, use * as the id to mean "any without"
387
387
  // a specific id
@@ -400,7 +400,14 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
400
400
  return this._off(eventName, rest[0], rest[1]);
401
401
  }
402
402
 
403
- _emitToArrayOfListeners<EventName extends keyof EventsInterface> (
403
+ _emitToSingleListener<EventName extends keyof EventsInterface>(
404
+ listener: EventListenerCallback<EventsInterface[EventName]>,
405
+ data: Parameters<EventsInterface[EventName]>
406
+ ): ReturnType<EventsInterface[EventName]> | ListenerReturnFlag {
407
+ return listener(...data);
408
+ }
409
+
410
+ _emitToArrayOfListeners<EventName extends keyof EventsInterface>(
404
411
  arr: EventListenerCallback<EventsInterface[EventName]>[],
405
412
  data: Parameters<EventsInterface[EventName]>
406
413
  ): (ReturnType<EventsInterface[EventName]> | ListenerReturnFlag)[] {
@@ -427,6 +434,95 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
427
434
  return resultArr;
428
435
  }
429
436
 
437
+ /**
438
+ * Call an event listener by name. The `rpc()` function differs from `emit()` in
439
+ * that it will only call and return data from the first event listener for the
440
+ * event rather than all event listeners. If you have more than one event listener
441
+ * assigned to the event, all others except the first will be ignored and will
442
+ * not receive the event.
443
+ * @param eventName The name of the event to call the listener for.
444
+ * @param {...any} data The arguments to send to the listening method.
445
+ * If you are sending multiple arguments, separate them with a comma so
446
+ * that they are received by the function as separate arguments.
447
+ * @return {number}
448
+ * @example #Call the Event Listener
449
+ * // Emit the event named "hello"
450
+ * myEntity.emit('hello');
451
+ * @example #Call the Event Listener With Data Object
452
+ * // Emit the event named "hello"
453
+ * myEntity.emit('hello', {moo: true});
454
+ * @example #Call the Event Listener With Multiple Data Values
455
+ * // Emit the event named "hello"
456
+ * myEntity.emit('hello', {moo: true}, 'someString');
457
+ * @example #Register the Listener for Event Data
458
+ * // Set a listener to listen for the data (multiple values emitted
459
+ * // from an event are passed as function arguments)
460
+ * myEntity.on('hello', function (arg1, arg2) {
461
+ * console.log("Arguments:", arg1, arg2);
462
+ * return "foo";
463
+ * }
464
+ *
465
+ * // Emit the event named "hello"
466
+ * const result = myEntity.emit('hello', 'data1', 'data2');
467
+ * console.log("Result:", result);
468
+ *
469
+ * // The console output is:
470
+ * // Arguments: data1 data2
471
+ * // Result: "foo"
472
+ */
473
+ rpc<EventName extends keyof EventsInterface>(
474
+ eventName: EventName,
475
+ ...data: Parameters<EventsInterface[EventName]>
476
+ ): ReturnType<EventsInterface[EventName]> | ListenerReturnFlag {
477
+ return this.rpcId<EventName>(eventName, "*", ...data);
478
+ }
479
+
480
+ rpcId<EventName extends keyof EventsInterface>(
481
+ eventName: EventName,
482
+ id: string,
483
+ ...data: Parameters<EventsInterface[EventName]>
484
+ ): ReturnType<EventsInterface[EventName]> | ListenerReturnFlag {
485
+ if (!this._eventListeners || !this._eventListeners[eventName]) {
486
+ throw new Error("Cannot make an rpc call without at least one event listener and none were found");
487
+ }
488
+
489
+ let emitterResult: ReturnType<EventsInterface[EventName]> | ListenerReturnFlag;
490
+ this._eventsEmitting = true;
491
+
492
+ if (this._eventListeners[eventName]![id]) {
493
+ // Handle id emit
494
+ const arr = this._eventListeners[eventName]![id];
495
+ emitterResult = this._emitToSingleListener<EventName>(arr[0], data);
496
+ } else if (id !== "*" && this._eventListeners[eventName]!["*"]) {
497
+ // Handle global emit if the id passed wasn't already a global (*) id
498
+ const arr = this._eventListeners[eventName]!["*"];
499
+ emitterResult = this._emitToSingleListener<EventName>(arr[0], data);
500
+ } else {
501
+ if (id === "*") {
502
+ throw new Error(
503
+ `Cannot make an rpc call to event "${
504
+ eventName as string
505
+ }" without at least one event listener and none were found, register a listener via on("${
506
+ eventName as string
507
+ }", () => { ...some listener code })`
508
+ );
509
+ }
510
+
511
+ throw new Error(
512
+ `Cannot make an rpc call to event "${
513
+ eventName as string
514
+ }" and id "${id}" without at least one event listener and none were found, register a listener via on("${
515
+ eventName as string
516
+ }", "${id}", () => { ...some listener code })`
517
+ );
518
+ }
519
+
520
+ this._eventsEmitting = false;
521
+ this._processRemovalQueue();
522
+
523
+ return emitterResult;
524
+ }
525
+
430
526
  /**
431
527
  * Emit an event by name.
432
528
  * @param eventName The name of the event to emit.
@@ -446,24 +542,29 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
446
542
  * @example #Listen for Event Data
447
543
  * // Set a listener to listen for the data (multiple values emitted
448
544
  * // from an event are passed as function arguments)
449
- * myEntity.on('hello', function (arg1, arg2) {
450
- * console.log(arg1, arg2);
545
+ * myEntity.on('hello', function (arg1, arg2) {
546
+ * console.log("Arguments:", arg1, arg2);
547
+ * return "foo";
451
548
  * }
452
549
  *
453
550
  * // Emit the event named "hello"
454
- * myEntity.emit('hello', 'data1', 'data2');
551
+ * // The result is returned as an array of all return values
552
+ * // from all the listeners for the event
553
+ * const result = myEntity.emit('hello', 'data1', 'data2');
554
+ * console.log("Result:", result);
455
555
  *
456
556
  * // The console output is:
457
- * // data1, data2
557
+ * // Arguments: data1 data2
558
+ * // Result: ["foo"]
458
559
  */
459
- emit<EventName extends keyof EventsInterface> (
560
+ emit<EventName extends keyof EventsInterface>(
460
561
  eventName: EventName,
461
562
  ...data: Parameters<EventsInterface[EventName]>
462
563
  ): (ReturnType<EventsInterface[EventName]> | ListenerReturnFlag)[] {
463
564
  return this.emitId<EventName>(eventName, "*", ...data);
464
565
  }
465
566
 
466
- emitId<EventName extends keyof EventsInterface> (
567
+ emitId<EventName extends keyof EventsInterface>(
467
568
  eventName: EventName,
468
569
  id: string,
469
570
  ...data: Parameters<EventsInterface[EventName]>
@@ -502,7 +603,7 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
502
603
  * @returns The emitter instance.
503
604
  * @private
504
605
  */
505
- emitStatic<EventName extends keyof EventsInterface> (
606
+ emitStatic<EventName extends keyof EventsInterface>(
506
607
  eventName: EventName,
507
608
  ...data: Parameters<EventsInterface[EventName]>
508
609
  ) {
@@ -549,7 +650,7 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
549
650
  * @returns The emitter instance.
550
651
  * @private
551
652
  */
552
- emitStaticId<EventName extends keyof EventsInterface> (
653
+ emitStaticId<EventName extends keyof EventsInterface>(
553
654
  eventName: EventName,
554
655
  id: string,
555
656
  ...data: Parameters<EventsInterface[EventName]>
@@ -611,7 +712,7 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
611
712
  * @returns The emitter instance.
612
713
  * @private
613
714
  */
614
- cancelStatic<EventName extends keyof EventsInterface> (eventName: EventName) {
715
+ cancelStatic<EventName extends keyof EventsInterface>(eventName: EventName) {
615
716
  this._eventStaticEmitters = this._eventStaticEmitters || {};
616
717
  this._eventStaticEmitters[eventName] = [];
617
718
 
@@ -624,7 +725,7 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
624
725
  * @returns True if one or more event listeners are registered for
625
726
  * the event. False if none are found.
626
727
  */
627
- willEmit<EventName extends keyof EventsInterface> (eventName: EventName) {
728
+ willEmit<EventName extends keyof EventsInterface>(eventName: EventName) {
628
729
  const id = "*";
629
730
 
630
731
  if (!this._eventListeners || !this._eventListeners[eventName]) {
@@ -653,7 +754,7 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
653
754
  * @returns True if one or more event listeners are registered for
654
755
  * the event. False if none are found.
655
756
  */
656
- willEmitId<EventName extends keyof EventsInterface> (eventName: EventName, id: string) {
757
+ willEmitId<EventName extends keyof EventsInterface>(eventName: EventName, id: string) {
657
758
  if (!this._eventListeners || !this._eventListeners[eventName]) {
658
759
  return false;
659
760
  }
@@ -701,7 +802,7 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
701
802
  * @param {...any} data Optional arguments to emit with the event.
702
803
  * @returns The emitter instance.
703
804
  */
704
- deferEmit<EventName extends keyof EventsInterface> (
805
+ deferEmit<EventName extends keyof EventsInterface>(
705
806
  eventName: EventName,
706
807
  ...data: Parameters<EventsInterface[EventName]>
707
808
  ) {
@@ -729,7 +830,7 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
729
830
  * argument contains a cancellation flag.
730
831
  * @param resultArr
731
832
  */
732
- didCancel (resultArr: (unknown | ListenerReturnFlag)[]) {
833
+ didCancel(resultArr: (unknown | ListenerReturnFlag)[]) {
733
834
  return resultArr.findIndex((result) => result === ListenerReturnFlag.cancel) > -1;
734
835
  }
735
836
 
@@ -742,7 +843,7 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
742
843
  * the event emitter is finished processing.
743
844
  * @private
744
845
  */
745
- _processRemovalQueue () {
846
+ _processRemovalQueue() {
746
847
  if (!this._eventRemovalQueue || !this._eventRemovalQueue.length) {
747
848
  return;
748
849
  }
@@ -760,7 +861,7 @@ export class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterf
760
861
  export function makeEmitter(obj: AnyConstructor, prototypeMode: boolean): Emitter;
761
862
  export function makeEmitter(obj: boolean): Emitter;
762
863
  export function makeEmitter(obj: Record<string, unknown>, prototypeMode: boolean): Emitter;
763
- export function makeEmitter (obj: any, prototypeMode?: any) {
864
+ export function makeEmitter(obj: any, prototypeMode?: any) {
764
865
  let operateOnObject;
765
866
 
766
867
  if (obj === undefined && prototypeMode === undefined) {