{"_id":"@amandaghassaei/event-dispatcher","_rev":"9-0a0ac90b5da4234e7a6caba6eda25420","name":"@amandaghassaei/event-dispatcher","dist-tags":{"latest":"2.0.2"},"versions":{"1.0.0":{"name":"@amandaghassaei/event-dispatcher","version":"1.0.0","author":{"name":"Amanda Ghassaei"},"license":"MIT","_id":"@amandaghassaei/event-dispatcher@1.0.0","maintainers":[{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"}],"homepage":"https://github.com/amandaghassaei/event-dispatcher#readme","bugs":{"url":"https://github.com/amandaghassaei/event-dispatcher/issues"},"dist":{"shasum":"92ea468f9981564bb634f222d7eb42d62727fbef","tarball":"https://registry.npmjs.org/@amandaghassaei/event-dispatcher/-/event-dispatcher-1.0.0.tgz","fileCount":9,"integrity":"sha512-eE7W22H3Liz2aG+SgDibXpauRBGGgpE7LypkMJdXUqDvIjki18vVZgp8RBysTnNbC6dfQTk3EJJ4y8CNBS2NQg==","signatures":[{"sig":"MEUCIQDpO7Zi8A7gpfoGJWiksGELGLyVHLPu8D7gzVV0gbrisgIgIywiNM7afeYHZUyrN9YUmO93etN2Zx3vIPTTqLnZETo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33182},"main":"dist/event-dispatcher.js","types":"dist/event-dispatcher.d.ts","gitHead":"0882d8509797cc7e59adb141f196c3c4a9723d75","scripts":{"docs":"typedoc --options ./typedoc.json","test":"env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'test/**/*.ts'","build":"rollup --config && npm run docs && npm run make-coverage-badge","test-with-coverage":"nyc env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'test/**/*.ts'","make-coverage-badge":"nyc --reporter=json-summary env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'test/**/*.ts' && coverage-badge-creator"},"_npmUser":{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"},"repository":{"url":"git+https://github.com/amandaghassaei/event-dispatcher.git","type":"git"},"_npmVersion":"8.19.2","description":"Parent class to support custom event listeners, written in typescript.","directories":{},"_nodeVersion":"16.18.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.3.7","mocha":"^10.2.0","tslib":"^2.5.0","rollup":"^3.20.2","ts-node":"^10.9.1","typedoc":"^0.24.1","typescript":"^5.0.4","@types/chai":"^4.3.4","@types/mocha":"^10.0.1","rollup-plugin-dts":"^5.3.0","rollup-plugin-delete":"^2.0.0","@rollup/plugin-terser":"^0.4.3","coverage-badge-creator":"^1.0.17","@rollup/plugin-commonjs":"^24.1.0","typedoc-plugin-markdown":"^3.15.1","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.0.2"},"_npmOperationalInternal":{"tmp":"tmp/event-dispatcher_1.0.0_1686202653937_0.8416420025407527","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@amandaghassaei/event-dispatcher","version":"1.0.1","keywords":["event","listener","addEventListener","removeEventListener","dispatch"],"author":{"name":"Amanda Ghassaei"},"license":"MIT","_id":"@amandaghassaei/event-dispatcher@1.0.1","maintainers":[{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"}],"homepage":"https://github.com/amandaghassaei/event-dispatcher#readme","bugs":{"url":"https://github.com/amandaghassaei/event-dispatcher/issues"},"dist":{"shasum":"8bd11cef338df4b65f58ecd9fcb0314451dc229a","tarball":"https://registry.npmjs.org/@amandaghassaei/event-dispatcher/-/event-dispatcher-1.0.1.tgz","fileCount":9,"integrity":"sha512-MjpVu3tOrbQ+lNM2E9iEm1HCdAI6cReD9TYKay1ssb/FrrRJmFRFL2opYxoxFshRLJszvN4G6byKX61w4pnwJQ==","signatures":[{"sig":"MEUCIQDfcDsGCqlrX1ZoqDlEYQT0dwbW27hIcNiL+42zA/5mMwIga8WmOaSRnm45W4J7/Ti4Lnk8y8ofDpVWGU5J+Fy81V0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33791},"main":"dist/event-dispatcher.js","types":"dist/event-dispatcher.d.ts","gitHead":"806578a0dc2ec901d5befd3d4dd838e760091539","scripts":{"docs":"typedoc --options ./typedoc.json","test":"env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'test/**/*.ts'","build":"rollup --config && npm run docs && npm run make-coverage-badge","test-with-coverage":"nyc env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'test/**/*.ts'","make-coverage-badge":"nyc --reporter=json-summary env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'test/**/*.ts' && coverage-badge-creator"},"_npmUser":{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"},"repository":{"url":"git+https://github.com/amandaghassaei/event-dispatcher.git","type":"git"},"_npmVersion":"8.19.2","description":"Parent class to support custom event listeners, written in TypeScript.","directories":{},"_nodeVersion":"16.18.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.3.7","mocha":"^10.2.0","tslib":"^2.5.0","rollup":"^3.20.2","ts-node":"^10.9.1","typedoc":"^0.24.1","typescript":"^5.0.4","@types/chai":"^4.3.4","@types/mocha":"^10.0.1","rollup-plugin-dts":"^5.3.0","rollup-plugin-delete":"^2.0.0","@rollup/plugin-terser":"^0.4.3","coverage-badge-creator":"^1.0.17","@rollup/plugin-commonjs":"^24.1.0","typedoc-plugin-markdown":"^3.15.1","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.0.2"},"_npmOperationalInternal":{"tmp":"tmp/event-dispatcher_1.0.1_1686244566161_0.6714207834394488","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@amandaghassaei/event-dispatcher","version":"1.0.2","keywords":["event","listener","addEventListener","removeEventListener","dispatch"],"author":{"name":"Amanda Ghassaei"},"license":"MIT","_id":"@amandaghassaei/event-dispatcher@1.0.2","maintainers":[{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"}],"homepage":"https://github.com/amandaghassaei/event-dispatcher#readme","bugs":{"url":"https://github.com/amandaghassaei/event-dispatcher/issues"},"dist":{"shasum":"bac0122e11420cab1c410621f25cbff34cd26409","tarball":"https://registry.npmjs.org/@amandaghassaei/event-dispatcher/-/event-dispatcher-1.0.2.tgz","fileCount":9,"integrity":"sha512-dAfg9vgFVPSZcwDTEV6l5+/rZjIzcyKEF/TmA/TzP1XlH3xa2PS6opCNaRZp+IZInZjuc48qAMhYnZwDsiFvBg==","signatures":[{"sig":"MEUCIHOATFFWfpbeZAlvwZnIJBHgt7zHsH/oP2dDahZkFlePAiEAjkUoYl5TF0Qg0yZSgTvXj44WjfDJ9+s0OsksnckjCZk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33305},"main":"dist/event-dispatcher.js","types":"dist/event-dispatcher.d.ts","gitHead":"d5675e238ed1d55dc5f26805c8306343f705b659","scripts":{"docs":"typedoc --options ./typedoc.json","test":"env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'test/**/*.ts'","build":"rollup --config && npm run docs && npm run make-coverage-badge","test-with-coverage":"nyc env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'test/**/*.ts'","make-coverage-badge":"nyc --reporter=json-summary env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'test/**/*.ts' && coverage-badge-creator"},"_npmUser":{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"},"repository":{"url":"git+https://github.com/amandaghassaei/event-dispatcher.git","type":"git"},"_npmVersion":"8.19.2","description":"Parent class to support custom event listeners, written in TypeScript.","directories":{},"_nodeVersion":"16.18.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.3.7","mocha":"^10.2.0","tslib":"^2.5.0","rollup":"^3.20.2","ts-node":"^10.9.1","typedoc":"^0.24.1","typescript":"^5.0.4","@types/chai":"^4.3.4","@types/mocha":"^10.0.1","rollup-plugin-dts":"^5.3.0","rollup-plugin-delete":"^2.0.0","@rollup/plugin-terser":"^0.4.3","coverage-badge-creator":"^1.0.17","@rollup/plugin-commonjs":"^24.1.0","typedoc-plugin-markdown":"^3.15.1","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.0.2"},"_npmOperationalInternal":{"tmp":"tmp/event-dispatcher_1.0.2_1686337315816_0.8487913667402216","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@amandaghassaei/event-dispatcher","version":"1.0.3","keywords":["event","listener","addEventListener","removeEventListener","dispatch"],"author":{"name":"Amanda Ghassaei"},"license":"MIT","_id":"@amandaghassaei/event-dispatcher@1.0.3","maintainers":[{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"}],"homepage":"https://github.com/amandaghassaei/event-dispatcher#readme","bugs":{"url":"https://github.com/amandaghassaei/event-dispatcher/issues"},"dist":{"shasum":"6c1105167674bb167e1744ee0b0f301036240faa","tarball":"https://registry.npmjs.org/@amandaghassaei/event-dispatcher/-/event-dispatcher-1.0.3.tgz","fileCount":9,"integrity":"sha512-IEJJFhHQSp5M/b3fYvDiao7PHVe6SZ+BqLyBxupFu6wsd9GeTXNnw8NNRrqoWOPko3HftZSZeMV3eDLXk7VKzw==","signatures":[{"sig":"MEUCIQDMYTOFvB8AXg+XgWecRZybzuHx1N3g3qUzmyVn5kTFAgIgLYYvjh0gJ8rg6Wmbf1KLpiYtl8natXzaQz1uQl90pew=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32027},"main":"dist/event-dispatcher.js","types":"dist/event-dispatcher.d.ts","gitHead":"ea39aceea016016801c30a8cc9d9a3370519e82f","scripts":{"docs":"typedoc --options ./typedoc.json","test":"env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'test/**/*.ts'","build":"rollup --config && npm run docs && npm run make-coverage-badge","test-with-coverage":"nyc env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'test/**/*.ts'","make-coverage-badge":"nyc --reporter=json-summary env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'test/**/*.ts' && coverage-badge-creator"},"_npmUser":{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"},"repository":{"url":"git+https://github.com/amandaghassaei/event-dispatcher.git","type":"git"},"_npmVersion":"8.19.2","description":"Parent class to support custom event listeners, written in TypeScript.","directories":{},"_nodeVersion":"16.18.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.3.7","mocha":"^10.2.0","tslib":"^2.5.0","rollup":"^3.20.2","ts-node":"^10.9.1","typedoc":"^0.24.1","typescript":"^5.0.4","@types/chai":"^4.3.4","@types/mocha":"^10.0.1","rollup-plugin-dts":"^5.3.0","rollup-plugin-delete":"^2.0.0","@rollup/plugin-terser":"^0.4.3","coverage-badge-creator":"^1.0.17","@rollup/plugin-commonjs":"^24.1.0","typedoc-plugin-markdown":"^3.15.1","@rollup/plugin-typescript":"^11.1.0","@rollup/plugin-node-resolve":"^15.0.2"},"_npmOperationalInternal":{"tmp":"tmp/event-dispatcher_1.0.3_1687063378205_0.3788569197535758","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@amandaghassaei/event-dispatcher","version":"1.0.4","keywords":["event","listener","addEventListener","removeEventListener","dispatch"],"author":{"name":"Amanda Ghassaei"},"license":"MIT","_id":"@amandaghassaei/event-dispatcher@1.0.4","maintainers":[{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"}],"homepage":"https://github.com/amandaghassaei/event-dispatcher#readme","bugs":{"url":"https://github.com/amandaghassaei/event-dispatcher/issues"},"dist":{"shasum":"36272c5169dce3e827003e4b043d6a41d3f21d95","tarball":"https://registry.npmjs.org/@amandaghassaei/event-dispatcher/-/event-dispatcher-1.0.4.tgz","fileCount":7,"integrity":"sha512-/fhKKFt3xrh5NaMJFgRghPo2mgogYHP+zk7Wc/lxnrrPRJJB7QeUXDICE7cOC7r4rsCkW2vHXnLY83YTLdwQNw==","signatures":[{"sig":"MEUCIQCB6jRoFP+BoEfnWPw8ieD9/uIHhPJROxzIYXCb0tVu+gIgRFf0dDPDWOf2VnktY3J6O2Jv9ZvP74mwMkWb0YlnwTQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19346},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"42ef6c876e718cc4bd18dbd822e308eb8991d72c","scripts":{"docs":"typedoc --options ./typedoc.json","test":"env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'test/**/*.ts'","build":"tsc && npm run docs && npm run make-coverage-badge","test-with-coverage":"nyc env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'test/**/*.ts'","make-coverage-badge":"nyc --reporter=json-summary env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'test/**/*.ts' && coverage-badge-creator"},"_npmUser":{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"},"repository":{"url":"git+https://github.com/amandaghassaei/event-dispatcher.git","type":"git"},"_npmVersion":"8.19.2","description":"Parent class to support custom event listeners, written in TypeScript.","directories":{},"_nodeVersion":"16.18.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.3.7","mocha":"^10.2.0","ts-node":"^10.9.1","typedoc":"^0.24.1","typescript":"^5.0.4","@types/chai":"^4.3.4","@types/mocha":"^10.0.1","coverage-badge-creator":"^1.0.17","typedoc-plugin-markdown":"^3.15.1"},"_npmOperationalInternal":{"tmp":"tmp/event-dispatcher_1.0.4_1687116121684_0.2095620539325893","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@amandaghassaei/event-dispatcher","version":"1.0.5","keywords":["event","listener","addEventListener","removeEventListener","dispatch"],"author":{"name":"Amanda Ghassaei"},"license":"MIT","_id":"@amandaghassaei/event-dispatcher@1.0.5","maintainers":[{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"}],"homepage":"https://github.com/amandaghassaei/event-dispatcher#readme","bugs":{"url":"https://github.com/amandaghassaei/event-dispatcher/issues"},"dist":{"shasum":"0e375d6837159cad17037cfa786ff435fbed7859","tarball":"https://registry.npmjs.org/@amandaghassaei/event-dispatcher/-/event-dispatcher-1.0.5.tgz","fileCount":7,"integrity":"sha512-shywbFkRVcpmCELHQNbXchkp4JcSIBtRPflWI/GfiXb8SAQt1L6wa4Y2Fx35SrUB0mxC+xwXPjv/xnNzy0uVlg==","signatures":[{"sig":"MEUCIQChHEPK8jLZyo8GslhCKqHtjibmYNuuEghSFJZJF95hwAIgKUbkzoRLIjIt54Piu3lWuov9bQ+86ORAlPEaIfG7XhE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19126},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"e99dbf22f904abaed22642715b2f389c3402461c","scripts":{"docs":"typedoc --options ./typedoc.json","test":" mocha 'test/**/*.ts'","build":"tsc && npm run docs && npm run make-coverage-badge","test-with-coverage":"c8 mocha 'test/**/*.ts'","make-coverage-badge":"c8 --reporter=json-summary mocha 'test/**/*.ts' && coverage-badge-creator"},"_npmUser":{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"},"repository":{"url":"git+https://github.com/amandaghassaei/event-dispatcher.git","type":"git"},"_npmVersion":"8.19.2","description":"Parent class to support custom event listeners, written in TypeScript.","directories":{},"_nodeVersion":"16.18.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.0","chai":"^4.3.7","mocha":"^10.2.0","ts-node":"^10.9.1","typedoc":"^0.24.1","typescript":"^5.0.4","@types/chai":"^4.3.4","@types/mocha":"^10.0.1","coverage-badge-creator":"^1.0.17","typedoc-plugin-markdown":"^3.15.1"},"_npmOperationalInternal":{"tmp":"tmp/event-dispatcher_1.0.5_1688948510337_0.12382713598749184","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@amandaghassaei/event-dispatcher","version":"1.0.6","keywords":["event","listener","addEventListener","removeEventListener","dispatch"],"author":{"name":"Amanda Ghassaei"},"license":"MIT","_id":"@amandaghassaei/event-dispatcher@1.0.6","maintainers":[{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"}],"homepage":"https://github.com/amandaghassaei/event-dispatcher#readme","bugs":{"url":"https://github.com/amandaghassaei/event-dispatcher/issues"},"dist":{"shasum":"2712255ac9cbbd4b505741cba710df529928a5e4","tarball":"https://registry.npmjs.org/@amandaghassaei/event-dispatcher/-/event-dispatcher-1.0.6.tgz","fileCount":7,"integrity":"sha512-k3YBDsI/1SzFdvjZa4H4qqw3/BIDhoJ2qeHCkiVY7iWA7tt03tZov4kZHt1qKpD88fr7+ykD+mTNjEkYEtrJGA==","signatures":[{"sig":"MEUCIBRpiN2MNeipeQkHgBH1+882LiSxl9OdZju4RVTwzG4tAiEAof7bzbIuhZAissnsTRzUweWwcpjwypQOnYzhdUp5fPo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19832},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"027f445c74d6474356a8dbcedab7e33081a52f97","scripts":{"docs":"typedoc --options ./typedoc.json","test":"NODE_OPTIONS=--enable-source-maps mocha 'test/**/*.ts'","build":"tsc && npm run docs && npm run make-coverage-badge","test-with-coverage":"NODE_OPTIONS=--enable-source-maps c8 mocha 'test/**/*.ts'","make-coverage-badge":"NODE_OPTIONS=--enable-source-maps c8 --reporter=json-summary mocha 'test/**/*.ts' && coverage-badge-creator"},"_npmUser":{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"},"repository":{"url":"git+https://github.com/amandaghassaei/event-dispatcher.git","type":"git"},"_npmVersion":"10.2.3","description":"Parent class to support custom event listeners, written in TypeScript.","directories":{},"_nodeVersion":"21.2.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.0","chai":"^4.3.7","mocha":"^10.2.0","ts-node":"^10.9.1","typedoc":"^0.24.1","typescript":"^5.0.4","@types/chai":"^4.3.4","@types/mocha":"^10.0.1","coverage-badge-creator":"^1.0.17","typedoc-plugin-markdown":"^3.15.1"},"_npmOperationalInternal":{"tmp":"tmp/event-dispatcher_1.0.6_1702266687889_0.9001112073326467","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"@amandaghassaei/event-dispatcher","version":"2.0.1","keywords":["event","listener","addEventListener","removeEventListener","dispatch"],"author":{"name":"Amanda Ghassaei"},"license":"MIT","_id":"@amandaghassaei/event-dispatcher@2.0.1","maintainers":[{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"}],"homepage":"https://github.com/amandaghassaei/event-dispatcher#readme","bugs":{"url":"https://github.com/amandaghassaei/event-dispatcher/issues"},"dist":{"shasum":"113de9d2ade68674eecdae848eafe456844324f7","tarball":"https://registry.npmjs.org/@amandaghassaei/event-dispatcher/-/event-dispatcher-2.0.1.tgz","fileCount":7,"integrity":"sha512-Q1PsdJR5DasV+Qo4c55z+yrSjBRBC2Ri7TWf9X3r4TTmpklmZEtDrseIOavIxmUUVlO/cjh1LmWmtOsGEP5o9Q==","signatures":[{"sig":"MEQCIAigJraWAIP2xOO3WyxMv0JTzdcVFEbLBgVkxukCblvvAiAObp167E8qV4OGqicOz1W5pnLqgnlSZySud4DImvr4Pg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19021},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c06780c2fd35a816af2da7a896f08deeb7f2ab35","scripts":{"docs":"typedoc --options ./typedoc.json","test":"NODE_OPTIONS=--enable-source-maps mocha 'test/**/*.ts'","build":"tsc && npm run docs && npm run make-coverage-badge","test-with-coverage":"NODE_OPTIONS=--enable-source-maps c8 mocha 'test/**/*.ts'","make-coverage-badge":"NODE_OPTIONS=--enable-source-maps c8 --reporter=json-summary mocha 'test/**/*.ts' && coverage-badge-creator"},"_npmUser":{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"},"repository":{"url":"git+https://github.com/amandaghassaei/event-dispatcher.git","type":"git"},"_npmVersion":"10.2.3","description":"Parent class to support custom event listeners, written in TypeScript.","directories":{},"_nodeVersion":"21.2.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.0","chai":"^4.3.7","mocha":"^10.2.0","ts-node":"^10.9.1","typedoc":"^0.24.1","typescript":"^5.0.4","@types/chai":"^4.3.4","@types/mocha":"^10.0.1","coverage-badge-creator":"^1.0.17","typedoc-plugin-markdown":"^3.15.1"},"_npmOperationalInternal":{"tmp":"tmp/event-dispatcher_2.0.1_1707188144209_0.416672378321725","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"@amandaghassaei/event-dispatcher","version":"2.0.2","description":"Parent class to support custom event listeners, written in TypeScript.","main":"dist/index.js","types":"dist/index.d.ts","type":"module","keywords":["event","listener","addEventListener","removeEventListener","dispatch"],"scripts":{"build":"tsc && npm run docs && npm run make-coverage-badge","test":"NODE_OPTIONS=--enable-source-maps mocha 'test/**/*.ts'","test-with-coverage":"NODE_OPTIONS=--enable-source-maps c8 mocha 'test/**/*.ts'","make-coverage-badge":"NODE_OPTIONS=--enable-source-maps c8 --reporter=json-summary mocha 'test/**/*.ts' && coverage-badge-creator","docs":"typedoc --options ./typedoc.json"},"author":{"name":"Amanda Ghassaei"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/amandaghassaei/event-dispatcher.git"},"devDependencies":{"@types/chai":"^4.3.4","@types/mocha":"^10.0.1","c8":"^8.0.0","chai":"^4.3.7","coverage-badge-creator":"^1.0.17","mocha":"^10.2.0","ts-node":"^10.9.1","typedoc":"^0.24.1","typedoc-plugin-markdown":"^3.15.1","typescript":"^5.0.4"},"_id":"@amandaghassaei/event-dispatcher@2.0.2","gitHead":"ce70af5cc0c45dc13b11d0fd70fe88d53cd644ec","bugs":{"url":"https://github.com/amandaghassaei/event-dispatcher/issues"},"homepage":"https://github.com/amandaghassaei/event-dispatcher#readme","_nodeVersion":"24.5.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-zYKSiAxAYIKXQJ/yi9Rs4irzYCeksE3Sx1Xgfsp1oriOIk4jBNXHq+WZ9wgABwgIltPXHNVB6li5yZRLHGxuCg==","shasum":"556d9b14bf367d517e34ccfb470d77d7f2e3f6f3","tarball":"https://registry.npmjs.org/@amandaghassaei/event-dispatcher/-/event-dispatcher-2.0.2.tgz","fileCount":7,"unpackedSize":19882,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDcCcr09xPrhD82Y55YXMGmaUCwi5ZE6QpxKEF4fV1XjAIgNYYb00p55c+Xcdmw7iK8VxEDKdF5HjoIT42i3ijPdeE="}]},"_npmUser":{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"},"directories":{},"maintainers":[{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/event-dispatcher_2.0.2_1755735766743_0.45330047775924864"},"_hasShrinkwrap":false}},"time":{"created":"2023-06-08T05:37:33.875Z","modified":"2025-08-21T00:22:47.155Z","1.0.0":"2023-06-08T05:37:34.128Z","1.0.1":"2023-06-08T17:16:06.329Z","1.0.2":"2023-06-09T19:01:55.958Z","1.0.3":"2023-06-18T04:42:58.420Z","1.0.4":"2023-06-18T19:22:01.956Z","1.0.5":"2023-07-10T00:21:50.580Z","1.0.6":"2023-12-11T03:51:28.091Z","2.0.1":"2024-02-06T02:55:44.383Z","2.0.2":"2025-08-21T00:22:46.970Z"},"bugs":{"url":"https://github.com/amandaghassaei/event-dispatcher/issues"},"author":{"name":"Amanda Ghassaei"},"license":"MIT","homepage":"https://github.com/amandaghassaei/event-dispatcher#readme","keywords":["event","listener","addEventListener","removeEventListener","dispatch"],"repository":{"type":"git","url":"git+https://github.com/amandaghassaei/event-dispatcher.git"},"description":"Parent class to support custom event listeners, written in TypeScript.","maintainers":[{"name":"amandaghassaei","email":"amandaghassaei@gmail.com"}],"readme":"# @amandaghassaei/event-dispatcher\n\n[![NPM Package](https://img.shields.io/npm/v/@amandaghassaei/event-dispatcher)](https://www.npmjs.com/package/@amandaghassaei/event-dispatcher)\n[![Build Size](https://img.shields.io/bundlephobia/min/@amandaghassaei/event-dispatcher)](https://bundlephobia.com/result?p=@amandaghassaei/event-dispatcher)\n[![NPM Downloads](https://img.shields.io/npm/dw/@amandaghassaei/event-dispatcher)](https://www.npmtrends.com/@amandaghassaei/event-dispatcher)\n[![License](https://img.shields.io/npm/l/@amandaghassaei/event-dispatcher)](https://github.com/amandaghassaei/event-dispatcher/blob/main/LICENSE)\n![](https://img.shields.io/badge/Coverage-100%25-83A603.svg?prefix=$coverage$)\n\nParent class to support custom event listeners.\n\n-   Written in TypeScript with exported type declarations.\n-   Includes unit tests with 100% coverage.\n\nTable of Contents:\n\n-   [Installation](#installation)\n-   [Use](#use)\n-   [License](#license)\n-   [Acknowledgments](#acknowledgments)\n-   [Development](#development)\n\n## Installation\n\n### Install via NPM\n\n```sh\nnpm install @amandaghassaei/event-dispatcher\n```\n\nThen import via:\n\n```js\nimport { EventDispatcherPrototype } from '@amandaghassaei/event-dispatcher';\n```\n\n## Use\n\nSee full API documentation in [docs/](https://github.com/amandaghassaei/event-dispatcher/tree/main/docs).\n\n```js\nimport { EventDispatcher, Listener } from '../src/index';\n\n// Define events and class event types.\nconst ADDED_EVENT = 'ADDED_EVENT';\nconst CHANGE_EVENT = 'CHANGE_EVENT';\nconst FINISHED_EVENT = 'FINISHED_EVENT';\nconst REMOVED_EVENT = 'REMOVED_EVENT';\ntype MyClassEventType =\n    | typeof ADDED_EVENT\n    | typeof CHANGE_EVENT\n    | typeof FINISHED_EVENT\n    | typeof REMOVED_EVENT;\n\n// Create an EventDispatcher subclass.\n// Use function overloads to define correct typing of subclass event/listener pairs.\n// Event listeners may accept an optional parameter.\nclass MyClass extends EventDispatcher<MyClassEventType> {\n    addOneTimeEventListener(type: typeof ADDED_EVENT, listener: () => void): () => void;\n    addOneTimeEventListener(type: typeof REMOVED_EVENT, listener: () => void): () => void;\n    addOneTimeEventListener<S extends MyClassEventType>(type: S, listener: () => void) {\n        return super.addOneTimeEventListener(type, listener);\n    }\n\n    addEventListener(type: typeof CHANGE_EVENT, listener: (object: MyClass) => void): () => void;\n    addEventListener(type: typeof FINISHED_EVENT, listener: (object: MyClass) => void): () => void;\n    addEventListener<S extends MyClassEventType>(type: S, listener: Listener) {\n        return super.addEventListener(type, listener);\n    }\n\n    removeEventListener(type: typeof CHANGE_EVENT, listener: (object: MyClass) => void): void;\n    removeEventListener(type: typeof FINISHED_EVENT, listener: (object: MyClass) => void): void;\n    removeEventListener<S extends MyClassEventType>(type: S, listener: Listener) {\n        super.removeEventListener(type, listener);\n    }\n\n    // You may decide to make dispatchEvent a protected function,\n    // which can only be called from within the subclass.\n    protected _dispatchEvent(type: typeof CHANGE_EVENT, object: MyClass): void;\n    protected _dispatchEvent(type: typeof FINISHED_EVENT, object: MyClass): void;\n    protected _dispatchEvent(type: typeof REMOVED_EVENT): void;\n    protected _dispatchEvent<S extends MyClassEventType>(type: S, object?: any) {\n        super._dispatchEvent(type, object);\n    }\n}\n\nconst instance = new MyClass();\nconst listener = (object) => {\n    console.log('instance changed:', object);\n}\nconst removeListenerFunction = instance.addEventListener(CHANGE_EVENT, listener);\n\n// Remove the event listener by calling the returned function:\nremoveListenerFunction()\n// or by calling removeEventListener directly:\ninstance.removeEventListener(CHANGE_EVENT, listener);\n\n// The following will throw type errors:\n\n// REMOVED_EVENT is not a valid event type for MyClass.addEventListener().\n// instance.addEventListener(REMOVED_EVENT, (object) => {});\n\n// The object parameter must be of type MyClass.\n// instance.addEventListener(CHANGE_EVENT, (object: number) => {});\n```\n\n## License\n\nThis work is distributed under an [MIT license](https://github.com/amandaghassaei/event-dispatcher/blob/main/LICENSE). It has no dependencies.\n\n## Acknowledgments\n\nInspired by [Three.js's](https://github.com/mrdoob/three.js) EventDispatcher class.\n\n## Development\n\nInstall dev-dependencies:\n\n```sh\nnpm install\n```\n\nBuild from `src` to `dist` and compile docs:\n\n```sh\nnpm run build\n```\n\nTest with code coverage:\n\n```sh\nnpm run test-with-coverage\n```\n","readmeFilename":"README.md"}