{"_id":"rxjs-marbles","_rev":"57-f48e386a1f225d596e5b972dccc863eb","name":"rxjs-marbles","description":"An RxJS marble testing library for any test framework","dist-tags":{"rc":"3.0.0-rc.4","latest":"7.0.1"},"versions":{"0.0.1-rc.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jsnext:main":"./index.js","keywords":["jasmine","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"0.0.1-rc.0","_id":"rxjs-marbles@0.0.1-rc.0","_shasum":"31019ba51ddde24f6298952655f110986053b968","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"shasum":"31019ba51ddde24f6298952655f110986053b968","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-0.0.1-rc.0.tgz","integrity":"sha512-eg//Zze8gVFnuoHDH/xriBQVBZndPA3Xp4RDbOhlNPfFWalDd639hSsWrfi0XA3gLh6ZwyPVj5h7WKQ5jgmKdg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/rSldaZ75Rp8c7ygSLRpqZ+nTIwtwHoR/fh6NtVKmcAIhAJmP05Jvi8SdGnZaBBDhiGAKEytSpPJQLu7DZ/I1/gV1"}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-0.0.1-rc.0.tgz_1500518006204_0.47116839443333447"},"directories":{}},"1.0.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jsnext:main":"./index.js","keywords":["jasmine","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"1.0.0","_id":"rxjs-marbles@1.0.0","_shasum":"e0c3e78ecb1ff3775f1cf86560f70ff52849ed28","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"shasum":"e0c3e78ecb1ff3775f1cf86560f70ff52849ed28","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-1.0.0.tgz","integrity":"sha512-phpxP7UVRU+hbY+JUnWZ5SzDi+Thp0kW1xt0U+IdoDjTuNfstPPm4HQnhIDkKBqXzH730Fc0ZS5S/7JX9BOheA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrTYjR5qPC5cmS/FmO6XOnPyMVKLtaKXzJpf9aDpXViAIgEx4Z83uNprqlNmCuQ/lwjXW8gtUfimujYxEm+LU0l6c="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-1.0.0.tgz_1500534902073_0.3705844369251281"},"directories":{}},"1.0.1":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jsnext:main":"./index.js","keywords":["jasmine","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"1.0.1","_id":"rxjs-marbles@1.0.1","_shasum":"c66dacc315fefcae67af53d32338880939a1f191","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"shasum":"c66dacc315fefcae67af53d32338880939a1f191","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-1.0.1.tgz","integrity":"sha512-24Az73g91rD/89bC1uk7r5rQ1LRnihlEo0lfLIuy7kJ+ZowEe1Zqya0lUizSI/niq6v6yfCID2CFdFq290ogDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDugw15hkCYS97WC8S+kzbsBllyEDT0wh5Od9gf7JSeNAiBdOJDhR2pK9LS8mo0MYVlwxq61mXKl12ZLJjSsKNwm/Q=="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-1.0.1.tgz_1500552525316_0.18287379969842732"},"directories":{}},"1.0.2":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jsnext:main":"./index.js","keywords":["jasmine","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"1.0.2","_id":"rxjs-marbles@1.0.2","_shasum":"8a60d9a08306e67d747d76b5c9d5f3f6cf8aea28","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"shasum":"8a60d9a08306e67d747d76b5c9d5f3f6cf8aea28","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-1.0.2.tgz","integrity":"sha512-5qlCjaujYC8YrV1BhkW/lMt2CMXn7BgmbatUon68qlWVsm7nOORltmbA3ytY2iHKXGYoypGWOqNJa0hvD/5wKQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICiml9hkRasqGPpz516881Bm6VnZ0tF9xzGZzbFqHg96AiB3+yaAOn4v+Je0zTwdBShAZEJfjWsgQxCsVR8GvlRoHg=="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-1.0.2.tgz_1500603499011_0.46074483124539256"},"directories":{}},"1.1.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jsnext:main":"./index.js","keywords":["jasmine","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"1.1.0","_id":"rxjs-marbles@1.1.0","_shasum":"be3508eab428ed324e48f9fdb9b50c5f96d790ac","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"shasum":"be3508eab428ed324e48f9fdb9b50c5f96d790ac","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-1.1.0.tgz","integrity":"sha512-W/NGaVwxG5tWKUClocJbF1no57s0b+9pNRjxOYCzehMTkUwJtQwVeF0Fmjws8ImbXrVh00+VSIfTjP9MZrOnmQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHXyPqIF09upIDRLXMRzG/gXq5w17d4gpsKTvAghak2yAiBjiC4dzal3VPV9imUphIpZhm3KKQrfCHUDZfN5J75Sfg=="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-1.1.0.tgz_1500640607589_0.3853488150052726"},"directories":{}},"1.2.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jsnext:main":"./index.js","keywords":["jasmine","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"1.2.0","_id":"rxjs-marbles@1.2.0","_shasum":"312f2009acfd34738b749da42e31c13865b5e275","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"shasum":"312f2009acfd34738b749da42e31c13865b5e275","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-1.2.0.tgz","integrity":"sha512-99Rm+DnR4jg911vX/bBPAYsOrJ+p3LILc1KKFUvtLP+eBdvTG1HcCEPOEsv1+eAPNIuRjb27UbAA35DfGQXHgg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWHCD/zwVKbdyGXUX11MOG5qwLXJxyRXW86ZOgtsLS7QIhAKxlc6qaFcbvlZUyZcn62AlgmcvXhtEImPgg3HxQXPmH"}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-1.2.0.tgz_1500685488557_0.6785581561271101"},"directories":{}},"1.3.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jsnext:main":"./index.js","keywords":["jasmine","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"1.3.0","_id":"rxjs-marbles@1.3.0","_shasum":"ad2ae549ef3a0e6152eac858edbc8c4c340d7b90","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"shasum":"ad2ae549ef3a0e6152eac858edbc8c4c340d7b90","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-1.3.0.tgz","integrity":"sha512-8Bg79deJnIV3JK6ANR9j93YbHaE6lYUOvAHYr/BpoEdxZhieE08UZZOaDsRvq7voRkGh39YiLrvNga+FRZxghQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3CyPNCt2xSPCVj7kw0eT5ba67yIvqtQuBRBArvy8NEgIhAOLCecfUJcqZx7Mm4JjjyRDfI/jI2qpI/xckTpQapjRI"}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-1.3.0.tgz_1500703167207_0.7157277839723974"},"directories":{}},"1.3.1":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jsnext:main":"./index.js","keywords":["jasmine","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"1.3.1","_id":"rxjs-marbles@1.3.1","_shasum":"059710fbbbde29bb72bfe996962f12d203fccc3d","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"shasum":"059710fbbbde29bb72bfe996962f12d203fccc3d","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-1.3.1.tgz","integrity":"sha512-3cm6meHNfE0c2encIEj7nBSvPRSnbZbB5mf5BfvC8gj2IBUHA9QADbvATsNtCDsS0tJq8HFZ1Nt6L6T8JL7gTA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCn2E2pHCS+2YSKXGUT1NAXTSL8zxoJf+adxzqZaOy8ZAIgPWVrqwZbhjbV4o040MRD8QDBILiGysTyOB5sNqEPNys="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-1.3.1.tgz_1500704250321_0.091074263677001"},"directories":{}},"1.3.2":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jsnext:main":"./index.js","keywords":["jasmine","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"1.3.2","_id":"rxjs-marbles@1.3.2","_shasum":"ed4acacd9affa501efdd6bf7937615d59eb51dfa","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"shasum":"ed4acacd9affa501efdd6bf7937615d59eb51dfa","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-1.3.2.tgz","integrity":"sha512-tHMllxTKQY/SAIj6dMv6Tp2FYdEYWMOYxU990kCrZGSgk7u87qoKahnaHgXSkBZESO/PS9N54t8X6FyqGOjAww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWOCYRrf6wxOOeUOIZxXcQsblnXes8rVxYc44w8PsY1AIgH1mqIaJV5FVvqzVbQDSr8VRa5b00dnPXBWN1qjitJKA="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-1.3.2.tgz_1500766819589_0.07174713863059878"},"directories":{}},"1.4.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"jsnext:main":"./index.js","keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"1.4.0","ava":{},"_id":"rxjs-marbles@1.4.0","_shasum":"5484c009e2572483fa4151cf5f9113791c972c48","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"shasum":"5484c009e2572483fa4151cf5f9113791c972c48","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-1.4.0.tgz","integrity":"sha512-Eo52xSb3PKA60O8pFxK7zjERCBzq165qccz7cKPZQkGihWdMWXKlUJV35eCbZ+5lgwyyQNc5XlcPSi1EjocH9Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG+8vzztAzwqikWCxpJBX4jaXEuEOhsv1yAJ9bdCUqA0AiBya3KXDbz888xQiivf0Jlu/hxJxGoHaY15Vv9ZSuaqMg=="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-1.4.0.tgz_1500778170030_0.5590770877897739"},"directories":{}},"1.5.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"jsnext:main":"./index.js","keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"1.5.0","ava":{},"_id":"rxjs-marbles@1.5.0","_shasum":"8960a0e557a751b80edc26a6cffd5d443acce11c","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"shasum":"8960a0e557a751b80edc26a6cffd5d443acce11c","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-1.5.0.tgz","integrity":"sha512-t/courYlJ5iQQmBLs038kueEpP1b0oyFOhQ6S346COt4xiYNi4lLHhLGNPNNv4PRxITdyLI6wAxarVxyhmDjiQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXB2CD1dXI7ZcHNqJVOYrvJKIBUl9LtZ6SwLbcj8QplAIhAJjayKY1zh2lv5+ospKyC+mX0O16SzyHS8C3GygyvKP9"}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-1.5.0.tgz_1500868039766_0.18910335772670805"},"directories":{}},"1.5.1":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"jsnext:main":"./index.js","keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"1.5.1","ava":{},"_id":"rxjs-marbles@1.5.1","_shasum":"71da06e6b79fd46e8e87e5681c1abeb6c174db01","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"shasum":"71da06e6b79fd46e8e87e5681c1abeb6c174db01","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-1.5.1.tgz","integrity":"sha512-IGMvWXJPQ0JqLLXbb8mQn4rzqEoqkGOYUXJh00UZCay07fSwBR8Eu8AUzoWUvvFXs4Q643jjkRPnTX1O2mERjA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBZ/Ypl7WSgXcrBGsrI2YZLjS1Cqq/4O4GUYviTFNSAzAiBIbX97MssaGoGeK4uAnxp93uTv+EWDpmvzLfnPQdhMbw=="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-1.5.1.tgz_1500868584087_0.4304102931637317"},"directories":{}},"1.5.2":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"jsnext:main":"./index.js","keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"1.5.2","ava":{},"_id":"rxjs-marbles@1.5.2","_shasum":"6d8bce1af9fe2650a5a06b35d55ea14e5c12ca7d","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"shasum":"6d8bce1af9fe2650a5a06b35d55ea14e5c12ca7d","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-1.5.2.tgz","integrity":"sha512-soxeJeW3Va4HEODpD1IO3x+Wj0zsCLr9/+gzzk6cBa4nLOvdCtpWk5EmYGgiHAMhCby2eguMS7y7C56x3B3iTA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIArE0KgfAy+tGnXAZG05LGpCtMLnQgOzIbRPZbw/v2SrAiEAo5q9AaOcDpXrRyCI6Fg2bLw20g6fIVdtNQRIW7HaJvk="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-1.5.2.tgz_1501296876179_0.9930829114746302"},"directories":{}},"1.6.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"jsnext:main":"./index.js","keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"1.6.0","ava":{},"_id":"rxjs-marbles@1.6.0","_shasum":"c1f741659a03d014816c39d32ccc5260004c2bcc","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"shasum":"c1f741659a03d014816c39d32ccc5260004c2bcc","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-1.6.0.tgz","integrity":"sha512-90cNlHBgWYgcrMzJwUWFsQyPa3bQNvLm7Er6VUB0kBZd+DN0YqHKgIU7vq0jCTq5yzpkAMPPV5RARdSrDuDoFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA1pM9QVUQBD314NEmJuH+Lh+GU9be2D04RVqCAEF8ClAiA59SWXZ2loReRfB20DyXhVjDCdmpi9AhBjiLwM4VZSYw=="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-1.6.0.tgz_1502194140721_0.19160318979993463"},"directories":{}},"2.0.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"jsnext:main":"./index.js","keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"2.0.0","ava":{},"_id":"rxjs-marbles@2.0.0","_shasum":"f9c510373d8dcc9cb6406086d797ea005bece102","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"shasum":"f9c510373d8dcc9cb6406086d797ea005bece102","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-2.0.0.tgz","integrity":"sha512-nJolR5RaogQ6rtIiI3Z+XSaPvFd3QrczHwvr4AGVwU1hMFQvScOYPygM6r00e5izOix0U8xyNDaChAKGeL9ioQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGBrAKL70wwZufS0eOOnkd68B6UdfLzdxUku7Molx3PpAiEAzX7u3U8geoSK0Xg6Y3zS1G4gZBLMqdwKVvFrVViqMm4="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-2.0.0.tgz_1505111337543_0.9059812088962644"},"directories":{}},"2.1.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"jsnext:main":"./index.js","keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"2.1.0","ava":{},"_id":"rxjs-marbles@2.1.0","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-XxLn9KpbYGdKfCIpwlM25bV9je/1vMm8AyfC1PcxBZDUOgLNyZ+DVJf88GAjFNhLphPiyfQoJCluWUkB5tIqEA==","shasum":"fc52caa11f4017259539f96ca48372d036fc33f6","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-2.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCEJh8j2PAPRCeN8GOID8zgIQPsDJg2tyc4MZrCqZ9pgIhAIe06BRELTq7ojQPRM/oqGPwRp22gYRHuI+Ad71gNfu0"}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-2.1.0.tgz_1507446613513_0.383547306060791"},"directories":{}},"2.2.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"jsnext:main":"./index.js","keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"2.2.0","ava":{},"_id":"rxjs-marbles@2.2.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-3Hh8+sBs+KkE0XapRKkem3i0W7iCcIv46KUzN28QySMVbn4dfxX0z6TNLrdmbCkdd+3wYCjbknrF50TgMzleQw==","shasum":"9ae32f8c9853841c5f61641c50aec72868eaf969","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-2.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLsqbDCen+W2GNRtUwvXYqffd/YyG0IqTnuqlORmt8VAIgfBJ2GlyKkzuSmmpnQpg5nINfB2TppVFy1VCfmH0pdes="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-2.2.0.tgz_1512029325059_0.8478212561458349"},"directories":{}},"2.3.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"jsnext:main":"./index.js","keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"typings":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"2.3.0","ava":{},"_id":"rxjs-marbles@2.3.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-bNAnXdpYOmBmEHaCfmNN914fidlfrYtRsVm/7LWe07IhfEk2yZJ7ritX4SGmnMFjNqJ60TG+xDjaXVaZ4tSoJQ==","shasum":"749fa477ae34808f0d6f18b1eb4f0ebd3dd61f38","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-2.3.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfx78Y2QOW5EiHt60fDEZS75tQRkpD2qlBMzNOTGuQqAIhAPvN0dHSz0p1eKRB/zqe46zcsQsWkY8y+f0DGhutuLmi"}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles-2.3.0.tgz_1513818086134_0.2094659002032131"},"directories":{}},"2.3.1":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"jsnext:main":"./index.js","keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"2.3.1","ava":{},"_id":"rxjs-marbles@2.3.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-tGGYlAux+vSFQvXsUE2dgODm2LXYtKHFL+vmMryxmbroWHH0RSOsbPPflU8DDvUcq6st51wcNRzdCSALJHUMCw==","shasum":"49e6b305868f2a1881ea2cfc7e3dae5ffc8bbf79","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-2.3.1.tgz","fileCount":43,"unpackedSize":442947,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBdFZzrQvk0ineF0aNfHSAiK1Qtw7L8fOxaizMb5lVFgIhAP57knChZVS0s6IKmMtcPngR9K3jZdtJyfl3C804oCXX"}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_2.3.1_1518655148488_0.6726110208825709"},"_hasShrinkwrap":false},"2.3.2":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"jsnext:main":"./index.js","keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"2.3.2","ava":{},"_id":"rxjs-marbles@2.3.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-8WaYXU4v9g62NnGPDz6oAmVO4TKd2gY2uJ0sT7xANtPIB9mje12bNAETTeYaeWWv2C96sbZIr/CsDsnKrqkCmQ==","shasum":"f8d589cd080521b8da7317d96243cc6a6e967b23","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-2.3.2.tgz","fileCount":43,"unpackedSize":444309,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8eUu/g2wp4S2ezYmTEV97bwVkzdcCJv3TdD4iCneyjgIgIqhJj5EJiq/CoPM1xBAFMysNHZyQpZWCBeCK2I6O7mc="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_2.3.2_1520225582686_0.5458998190115769"},"_hasShrinkwrap":false},"2.3.3":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"jsnext:main":"./index.js","keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"2.3.3","ava":{},"_id":"rxjs-marbles@2.3.3","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-HU5lveKYGaxrE5MNVHjdBF9lkXalNXESkJufFqVexw0XzshBMMFVF5G678BKMAyh0tPDfec8hHTVYohUr/j57Q==","shasum":"ae5d59618f37fdfcbb4d1bef8e465ee16502848f","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-2.3.3.tgz","fileCount":43,"unpackedSize":492012,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCwrSoqjNh0u5YhnJNfvOW6pe31xyG5wiEsfZ7kgtt6LwIgES4QnamK6FX6JHvhwn+aQU+1+ec/4W/gvZYWoAlclWk="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_2.3.3_1522273745873_0.13134727417809122"},"_hasShrinkwrap":false},"3.0.0-rc.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash":"^4.0.0","lodash":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"publishConfig":{"tag":"rc"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"3.0.0-rc.0","ava":{},"readme":"# rxjs-marbles\n\n[![GitHub License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/cartant/rxjs-marbles/blob/master/LICENSE)\n[![NPM version](https://img.shields.io/npm/v/rxjs-marbles.svg)](https://www.npmjs.com/package/rxjs-marbles)\n[![Downloads](http://img.shields.io/npm/dm/rxjs-marbles.svg)](https://npmjs.org/package/rxjs-marbles)\n[![Build status](https://img.shields.io/travis/cartant/rxjs-marbles.svg)](http://travis-ci.org/cartant/rxjs-marbles)\n[![dependency status](https://img.shields.io/david/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles)\n[![devDependency Status](https://img.shields.io/david/dev/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles#info=devDependencies)\n[![peerDependency Status](https://img.shields.io/david/peer/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles#info=peerDependencies)\n[![Greenkeeper badge](https://badges.greenkeeper.io/cartant/rxjs-marbles.svg)](https://greenkeeper.io/)\n\n### What is it?\n\n`rxjs-marbles` is an RxJS [marble testing](https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md) library that should be compatible with any test framework. It wraps the RxJS [`TestScheduler`](https://github.com/ReactiveX/rxjs/blob/5.4.2/src/testing/TestScheduler.ts) and provides methods similar to the [basic methods](https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md#basic-methods) used in RxJS's marble tests.\n\nIt can be used with [AVA](https://github.com/avajs/ava), [Jasmine](https://github.com/jasmine/jasmine), [Jest](https://facebook.github.io/jest/), [Mocha](https://github.com/mochajs/mocha) or [Tape](https://github.com/substack/tape) in the browser or in Node and it supports CommonJS and ES module bundlers.\n\n### Why might you need it?\n\nI created this package because I wanted to use RxJS marble tests in a number of projects and those projects used different test frameworks.\n\nThere are a number of marble testing packages available - including the Mocha-based implementation in RxJS itself - but I wanted something that was simple, didn't involve messing with globals and `beforeEach`/`afterEach` functions and was consistent across test frameworks.\n\nIf you are looking for something similar, this might suit.\n\n## Install\n\nInstall the package using NPM:\n\n```\nnpm install rxjs-marbles --save-dev\n```\n\n## Getting started\n\nIf you're just getting started with marble testing, you might be interested in how I wasted some of my time by not carefully reading the manual: [RxJS Marble Testing: RTFM](https://medium.com/@cartant/rxjs-marble-testing-rtfm-a9a6cd3db758).\n\n## Usage\n\n### With Jasmine and Mocha\n\nInstead of passing your test function directly to `it`, pass it to the library's `marbles` function, like this:\n\n```ts\nimport { marbles } from \"rxjs-marbles\";\n\ndescribe(\"rxjs-marbles\", () => {\n\n    it(\"should support marble tests\", marbles((m) => {\n\n        const values = { a: 1, b: 2, c: 3, d: 4 };\n\n        const source =  m.hot(\"--^-a-b-c-|\", values);\n        const subs =            \"^-------!\";\n        const expected = m.cold(\"--b-c-d-|\", values);\n\n        const destination = source.map((value) => value + 1);\n        m.expect(destination).toBeObservable(expected);\n        m.expect(source).toHaveSubscriptions(subs);\n    }));\n});\n```\n\n### With Jest\n\nInstead of passing your test function directly to Jest, pass it to the library's `marbles` function:\n\n```ts\nimport { marbles } from \"rxjs-marbles\";\n\ntest(\"it should support marble tests\", marbles((m) => {\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n\n    const source =  m.hot(\"--^-a-b-c-|\", values);\n    const subs =            \"^-------!\";\n    const expected = m.cold(\"--b-c-d-|\", values);\n\n    const destination = source.map((value) => value + 1);\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n```\n\n### With AVA\n\nInstead of passing your test function directly to AVA, pass it to the library's `marbles` function. The `marbles` function will concatenate the additional `TestContext` argument it receives from AVA.\n\nThere is an `/ava` directory in the package that includes a wrapper that will correctly type additional argument and will call `configure` - passing AVA's assertion methods to ensure marble assertions will be counted towards AVA's `plan` - so be sure to specify `rxjs-marbles/ava` in the `import` statement or `require` call:\n\n```ts\nimport { test } from \"ava\";\nimport { marbles } from \"rxjs-marbles/ava\";\n\ntest(\"it should support marble tests\", marbles((m, t) => {\n\n    t.plan(2);\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n\n    const source =  m.hot(\"--^-a-b-c-|\", values);\n    const subs =            \"^-------!\";\n    const expected = m.cold(\"--b-c-d-|\", values);\n\n    const destination = source.map((value) => value + 1);\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n\n```\n\n### With Tape\n\nInstead of passing your test function directly to Tape, pass it to the library's `marbles` function. The `marbles` function will concatenate the additional `Test` argument it receives from Tape.\n\nThere is a `/tape` directory in the package that includes a wrapper that will correctly type additional argument and will call `configure` - passing Tape's assertion methods to ensure marble assertions will be counted towards Tape's `plan` - so be sure to specify `rxjs-marbles/tape` in the `import` statement or `require` call:\n\n```ts\nimport * as tape from \"tape\";\nimport { marbles } from \"rxjs-marbles/tape\";\n\ntape(\"it should support marble tests\", marbles((m, t) => {\n\n    t.plan(2);\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n\n    const source =  m.hot(\"--^-a-b-c-|\", values);\n    const subs =            \"^-------!\";\n    const expected = m.cold(\"--b-c-d-|\", values);\n\n    const destination = source.map((value) => value + 1);\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n```\n\n### Alternate assertion methods\n\nIf the BDD syntax is something you really don't like, there are some alternative methods on the `Context` that are more terse:\n\n```ts\nconst source =  m.hot(\"--^-a-b-c-|\", values);\nconst subs =            \"^-------!\";\nconst expected = m.cold(\"--b-c-d-|\", values);\n\nconst destination = source.map((value) => value + 1);\nm.equal(destination, expected);\nm.has(source, subs);\n```\n\n### Using cases for test variations\n\nIn addition to the `marbles` function, the library exports a `cases` function that can be used to reduce test boilerplate by specifying multiple cases for variations of a single test. The API is based on that of [`jest-in-case`](https://github.com/Thinkmill/jest-in-case), but also includes the marbles context.\n\nThe `cases` implementation is framework-specific, so the import should specify the framework. For example, with Jasmine, you would import `cases` and use it instead of the `it` function, like this:\n\n```ts\nimport { cases } from \"rxjs-marbles/jasmine\";\n\ndescribe(\"rxjs-marbles\", () => {\n\n    cases(\"should support cases\", (m, c) => {\n\n        const values = { a: 1, b: 2, c: 3, d: 4 };\n        const source =  m.hot(c.s, values);\n        const expected = m.cold(c.e, values);\n        const destination = source.map((value) => value + 1);\n        m.expect(destination).toBeObservable(expected);\n\n    }, {\n        \"non-empty\": {\n            s: \"-a-b-c-|\",\n            e: \"-b-c-d-|\"\n        },\n        \"empty\": {\n            s: \"-|\",\n            e: \"-|\"\n        }\n    });\n});\n```\n\nWith AVA and Tape, the `cases` function also receives the test context. For example, with AVA, you would import `cases` and use it instead of the `test` function, like this:\n\n```ts\nimport { cases } from \"rxjs-marbles/ava\";\n\ncases(\"should support cases\", (m, c, t) => {\n\n    t.plan(1);\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n    const source =  m.hot(c.s, values);\n    const expected = m.cold(c.e, values);\n    const destination = source.map((value) => value + 1);\n    m.equal(destination, expected);\n\n}, {\n    \"non-empty\": {\n        s: \"-a-b-c-|\",\n        e: \"-b-c-d-|\"\n    },\n    \"empty\": {\n        s: \"-|\",\n        e: \"-|\"\n    }\n});\n```\n\n### Dealing with deeply-nested schedulers\n\nSometimes, passing the `TestScheduler` instance to the code under test can be tedious. The context includes a `bind` method that can be used to bind a scheduler's `now` and `schedule` methods to those of the context's `TestScheduler`.\n\n`bind` can be passed specific scheduler instances or can be called with no arguments to bind RxJS's `animationFrame`, `asap`, `async` and `queue` schedulers to the context's `TestScheduler`.\n\nFor example:\n\n```ts\nit(\"should support binding non-test schedulers\", marbles((m) => {\n\n    m.bind();\n\n    const source =  m.hot(\"--^-a-b-c-|\");\n    const subs =            \"^--------!\";\n    const expected =        \"---a-b-c-|\";\n\n    // Note that delay is not passed a scheduler:\n    const destination = source.delay(m.time(\"-|\"));\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n```\n\n## API\n\nThe `rxjs-marbles` API is comprised of two functions:\n\n* [configure](#configure)\n* [marbles](#marbles)\n\n<a name=\"configure\"></a>\n\n### configure\n\n```ts\ninterface Configuration {\n    assert?: (value: any, message: string) => void;\n    assertDeepEqual?: (a: any, b: any) => void;\n    frameworkMatcher?: boolean;\n}\n\nfunction configure(options: Configuration): void;\n```\n\nThe `configure` method can be used to specify the assertion functions that are to be used. Calling it is optional; it's only necessary if particular assertion functions are to be used.\n\nThe default implementations simply perform the assertion and throw an error for failed assertions.\n\n<a name=\"marbles\"></a>\n\n### marbles\n\n```ts\nfunction marbles(test: (context: Context) => any): () => any;\nfunction marbles<T1>(test: (context: Context, t1: T1) => any): (t1: T1) => any;\nfunction marbles<T1, T2>(test: (context: Context, t1: T1, t2: T2) => any): (t1: T1, t2: T2) => any;\nfunction marbles<T1, T2, T3>(test: (context: Context, t1: T1, t2: T2, t3: T3) => any): (t1: T1, t2: T2, t3: T3) => any;\n```\n\n`marbles` is passed the test function, which it wraps, passing the wrapper to the test framework. When the test function is called, it is passed the `Context` - which contains methods that correspond to the [basic methods](https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md#basic-methods) described in the RxJS documentation:\n\n```ts\ninterface Context {\n    autoFlush: boolean;\n    bind(...schedulers: IScheduler[]): void;\n    cold<T = any>(marbles: string, values?: any, error?: any): ColdObservable<T>;\n    configure(options: Configuration): void;\n    equal<T = any>(actual: Observable<T>, expected: Observable<T>): void;\n    equal<T = any>(actual: Observable<T>, expected: string, values?: { [key: string]: T }, error?: any): void;\n    equal<T = any>(actual: Observable<T>, unsubscription: string, expected: Observable<T>): void;\n    equal<T = any>(actual: Observable<T>, unsubscription: string, expected: string, values?: { [key: string]: T }, error?: any): void;\n    expect<T = any>(actual: Observable<T>, unsubscription?: string): Expect<T>;\n    flush(): void;\n    has<T = any>(actual: Observable<T>, expected: string | string[]): void;\n    hot<T = any>(marbles: string, values?: any, error?: any): HotObservable<T>;\n    readonly scheduler: TestScheduler;\n    teardown(): void;\n    time(marbles: string): number;\n}\n\ninterface Expect<T> {\n    toBeObservable(expected: ColdObservable<T> | HotObservable<T>): void;\n    toBeObservable(expected: string, values?: { [key: string]: T }, error?: any): void;\n    toHaveSubscriptions(expected: string | string[]): void;\n}\n```","readmeFilename":"README.md","_id":"rxjs-marbles@3.0.0-rc.0","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-/PAmkp6i5qaZZc8hwEhjhra2GCoPMneAXXDLZN5ngnPUBizrtU1x/XwOfxuyLENPoMTpp5Guw/j4UiQ15k9MMA==","shasum":"0abe7c1c49fd959cbbd9f890e790b61abe3fd026","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-3.0.0-rc.0.tgz","fileCount":71,"unpackedSize":856880,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDemT0ZHjvOuLqM1dcGqTOotQogx51dyVXdmbtMhGQzogIgRGBdKhOrOsckUhS/nlgiwwM5pUXYqmf5f4GeVzg8nh8="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_3.0.0-rc.0_1522900751848_0.9938890355256387"},"_hasShrinkwrap":false},"3.0.0-rc.1":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash":"^4.0.0","lodash":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0-rc.0"},"private":false,"publishConfig":{"tag":"rc"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"3.0.0-rc.1","ava":{},"readme":"# rxjs-marbles\n\n[![GitHub License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/cartant/rxjs-marbles/blob/master/LICENSE)\n[![NPM version](https://img.shields.io/npm/v/rxjs-marbles.svg)](https://www.npmjs.com/package/rxjs-marbles)\n[![Downloads](http://img.shields.io/npm/dm/rxjs-marbles.svg)](https://npmjs.org/package/rxjs-marbles)\n[![Build status](https://img.shields.io/travis/cartant/rxjs-marbles.svg)](http://travis-ci.org/cartant/rxjs-marbles)\n[![dependency status](https://img.shields.io/david/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles)\n[![devDependency Status](https://img.shields.io/david/dev/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles#info=devDependencies)\n[![peerDependency Status](https://img.shields.io/david/peer/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles#info=peerDependencies)\n[![Greenkeeper badge](https://badges.greenkeeper.io/cartant/rxjs-marbles.svg)](https://greenkeeper.io/)\n\n### What is it?\n\n`rxjs-marbles` is an RxJS [marble testing](https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md) library that should be compatible with any test framework. It wraps the RxJS [`TestScheduler`](https://github.com/ReactiveX/rxjs/blob/5.4.2/src/testing/TestScheduler.ts) and provides methods similar to the [basic methods](https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md#basic-methods) used in RxJS's marble tests.\n\nIt can be used with [AVA](https://github.com/avajs/ava), [Jasmine](https://github.com/jasmine/jasmine), [Jest](https://facebook.github.io/jest/), [Mocha](https://github.com/mochajs/mocha) or [Tape](https://github.com/substack/tape) in the browser or in Node and it supports CommonJS and ES module bundlers.\n\n### Why might you need it?\n\nI created this package because I wanted to use RxJS marble tests in a number of projects and those projects used different test frameworks.\n\nThere are a number of marble testing packages available - including the Mocha-based implementation in RxJS itself - but I wanted something that was simple, didn't involve messing with globals and `beforeEach`/`afterEach` functions and was consistent across test frameworks.\n\nIf you are looking for something similar, this might suit.\n\n## Install\n\nInstall the package using NPM:\n\n```\nnpm install rxjs-marbles --save-dev\n```\n\n## Getting started\n\nIf you're just getting started with marble testing, you might be interested in how I wasted some of my time by not carefully reading the manual: [RxJS Marble Testing: RTFM](https://medium.com/@cartant/rxjs-marble-testing-rtfm-a9a6cd3db758).\n\n## Usage\n\n### With Jasmine and Mocha\n\nInstead of passing your test function directly to `it`, pass it to the library's `marbles` function, like this:\n\n```ts\nimport { marbles } from \"rxjs-marbles\";\n\ndescribe(\"rxjs-marbles\", () => {\n\n    it(\"should support marble tests\", marbles((m) => {\n\n        const values = { a: 1, b: 2, c: 3, d: 4 };\n\n        const source =  m.hot(\"--^-a-b-c-|\", values);\n        const subs =            \"^-------!\";\n        const expected = m.cold(\"--b-c-d-|\", values);\n\n        const destination = source.map((value) => value + 1);\n        m.expect(destination).toBeObservable(expected);\n        m.expect(source).toHaveSubscriptions(subs);\n    }));\n});\n```\n\n### With Jest\n\nInstead of passing your test function directly to Jest, pass it to the library's `marbles` function:\n\n```ts\nimport { marbles } from \"rxjs-marbles\";\n\ntest(\"it should support marble tests\", marbles((m) => {\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n\n    const source =  m.hot(\"--^-a-b-c-|\", values);\n    const subs =            \"^-------!\";\n    const expected = m.cold(\"--b-c-d-|\", values);\n\n    const destination = source.map((value) => value + 1);\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n```\n\n### With AVA\n\nInstead of passing your test function directly to AVA, pass it to the library's `marbles` function. The `marbles` function will concatenate the additional `TestContext` argument it receives from AVA.\n\nThere is an `/ava` directory in the package that includes a wrapper that will correctly type additional argument and will call `configure` - passing AVA's assertion methods to ensure marble assertions will be counted towards AVA's `plan` - so be sure to specify `rxjs-marbles/ava` in the `import` statement or `require` call:\n\n```ts\nimport { test } from \"ava\";\nimport { marbles } from \"rxjs-marbles/ava\";\n\ntest(\"it should support marble tests\", marbles((m, t) => {\n\n    t.plan(2);\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n\n    const source =  m.hot(\"--^-a-b-c-|\", values);\n    const subs =            \"^-------!\";\n    const expected = m.cold(\"--b-c-d-|\", values);\n\n    const destination = source.map((value) => value + 1);\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n\n```\n\n### With Tape\n\nInstead of passing your test function directly to Tape, pass it to the library's `marbles` function. The `marbles` function will concatenate the additional `Test` argument it receives from Tape.\n\nThere is a `/tape` directory in the package that includes a wrapper that will correctly type additional argument and will call `configure` - passing Tape's assertion methods to ensure marble assertions will be counted towards Tape's `plan` - so be sure to specify `rxjs-marbles/tape` in the `import` statement or `require` call:\n\n```ts\nimport * as tape from \"tape\";\nimport { marbles } from \"rxjs-marbles/tape\";\n\ntape(\"it should support marble tests\", marbles((m, t) => {\n\n    t.plan(2);\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n\n    const source =  m.hot(\"--^-a-b-c-|\", values);\n    const subs =            \"^-------!\";\n    const expected = m.cold(\"--b-c-d-|\", values);\n\n    const destination = source.map((value) => value + 1);\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n```\n\n### Alternate assertion methods\n\nIf the BDD syntax is something you really don't like, there are some alternative methods on the `Context` that are more terse:\n\n```ts\nconst source =  m.hot(\"--^-a-b-c-|\", values);\nconst subs =            \"^-------!\";\nconst expected = m.cold(\"--b-c-d-|\", values);\n\nconst destination = source.map((value) => value + 1);\nm.equal(destination, expected);\nm.has(source, subs);\n```\n\n### Using cases for test variations\n\nIn addition to the `marbles` function, the library exports a `cases` function that can be used to reduce test boilerplate by specifying multiple cases for variations of a single test. The API is based on that of [`jest-in-case`](https://github.com/Thinkmill/jest-in-case), but also includes the marbles context.\n\nThe `cases` implementation is framework-specific, so the import should specify the framework. For example, with Jasmine, you would import `cases` and use it instead of the `it` function, like this:\n\n```ts\nimport { cases } from \"rxjs-marbles/jasmine\";\n\ndescribe(\"rxjs-marbles\", () => {\n\n    cases(\"should support cases\", (m, c) => {\n\n        const values = { a: 1, b: 2, c: 3, d: 4 };\n        const source =  m.hot(c.s, values);\n        const expected = m.cold(c.e, values);\n        const destination = source.map((value) => value + 1);\n        m.expect(destination).toBeObservable(expected);\n\n    }, {\n        \"non-empty\": {\n            s: \"-a-b-c-|\",\n            e: \"-b-c-d-|\"\n        },\n        \"empty\": {\n            s: \"-|\",\n            e: \"-|\"\n        }\n    });\n});\n```\n\nWith AVA and Tape, the `cases` function also receives the test context. For example, with AVA, you would import `cases` and use it instead of the `test` function, like this:\n\n```ts\nimport { cases } from \"rxjs-marbles/ava\";\n\ncases(\"should support cases\", (m, c, t) => {\n\n    t.plan(1);\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n    const source =  m.hot(c.s, values);\n    const expected = m.cold(c.e, values);\n    const destination = source.map((value) => value + 1);\n    m.equal(destination, expected);\n\n}, {\n    \"non-empty\": {\n        s: \"-a-b-c-|\",\n        e: \"-b-c-d-|\"\n    },\n    \"empty\": {\n        s: \"-|\",\n        e: \"-|\"\n    }\n});\n```\n\n### Dealing with deeply-nested schedulers\n\nSometimes, passing the `TestScheduler` instance to the code under test can be tedious. The context includes a `bind` method that can be used to bind a scheduler's `now` and `schedule` methods to those of the context's `TestScheduler`.\n\n`bind` can be passed specific scheduler instances or can be called with no arguments to bind RxJS's `animationFrame`, `asap`, `async` and `queue` schedulers to the context's `TestScheduler`.\n\nFor example:\n\n```ts\nit(\"should support binding non-test schedulers\", marbles((m) => {\n\n    m.bind();\n\n    const source =  m.hot(\"--^-a-b-c-|\");\n    const subs =            \"^--------!\";\n    const expected =        \"---a-b-c-|\";\n\n    // Note that delay is not passed a scheduler:\n    const destination = source.delay(m.time(\"-|\"));\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n```\n\n## API\n\nThe `rxjs-marbles` API is comprised of two functions:\n\n* [configure](#configure)\n* [marbles](#marbles)\n\n<a name=\"configure\"></a>\n\n### configure\n\n```ts\ninterface Configuration {\n    assert?: (value: any, message: string) => void;\n    assertDeepEqual?: (a: any, b: any) => void;\n    frameworkMatcher?: boolean;\n}\n\nfunction configure(options: Configuration): void;\n```\n\nThe `configure` method can be used to specify the assertion functions that are to be used. Calling it is optional; it's only necessary if particular assertion functions are to be used.\n\nThe default implementations simply perform the assertion and throw an error for failed assertions.\n\n<a name=\"marbles\"></a>\n\n### marbles\n\n```ts\nfunction marbles(test: (context: Context) => any): () => any;\nfunction marbles<T1>(test: (context: Context, t1: T1) => any): (t1: T1) => any;\nfunction marbles<T1, T2>(test: (context: Context, t1: T1, t2: T2) => any): (t1: T1, t2: T2) => any;\nfunction marbles<T1, T2, T3>(test: (context: Context, t1: T1, t2: T2, t3: T3) => any): (t1: T1, t2: T2, t3: T3) => any;\n```\n\n`marbles` is passed the test function, which it wraps, passing the wrapper to the test framework. When the test function is called, it is passed the `Context` - which contains methods that correspond to the [basic methods](https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md#basic-methods) described in the RxJS documentation:\n\n```ts\ninterface Context {\n    autoFlush: boolean;\n    bind(...schedulers: IScheduler[]): void;\n    cold<T = any>(marbles: string, values?: any, error?: any): ColdObservable<T>;\n    configure(options: Configuration): void;\n    equal<T = any>(actual: Observable<T>, expected: Observable<T>): void;\n    equal<T = any>(actual: Observable<T>, expected: string, values?: { [key: string]: T }, error?: any): void;\n    equal<T = any>(actual: Observable<T>, unsubscription: string, expected: Observable<T>): void;\n    equal<T = any>(actual: Observable<T>, unsubscription: string, expected: string, values?: { [key: string]: T }, error?: any): void;\n    expect<T = any>(actual: Observable<T>, unsubscription?: string): Expect<T>;\n    flush(): void;\n    has<T = any>(actual: Observable<T>, expected: string | string[]): void;\n    hot<T = any>(marbles: string, values?: any, error?: any): HotObservable<T>;\n    readonly scheduler: TestScheduler;\n    teardown(): void;\n    time(marbles: string): number;\n}\n\ninterface Expect<T> {\n    toBeObservable(expected: ColdObservable<T> | HotObservable<T>): void;\n    toBeObservable(expected: string, values?: { [key: string]: T }, error?: any): void;\n    toHaveSubscriptions(expected: string | string[]): void;\n}\n```","readmeFilename":"README.md","_id":"rxjs-marbles@3.0.0-rc.1","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-0v52J4H1ItvqYDmIRDEMe0NcpnHZnowwq+Gpget8nbE60tlalNNnNzmjeG0zm+nQNgjQ+T72hPLVAM0q5muUpQ==","shasum":"1227e09f47c3afa5b8545166feef38ee84845509","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-3.0.0-rc.1.tgz","fileCount":71,"unpackedSize":856885,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDriD5RNruxE5wH0FNEohIQ89s/UQetzHCT/N2vkBQ8+wIgTHXVwpagCddJ7yBkqt2OpEUCjjmlz7DetJVZT7FjSiQ="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_3.0.0-rc.1_1522912556215_0.2657937093037428"},"_hasShrinkwrap":false},"3.0.0-rc.2":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash":"^4.0.0","lodash":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0-rc.0"},"private":false,"publishConfig":{"tag":"rc"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"3.0.0-rc.2","ava":{},"readme":"# rxjs-marbles\n\n[![GitHub License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/cartant/rxjs-marbles/blob/master/LICENSE)\n[![NPM version](https://img.shields.io/npm/v/rxjs-marbles.svg)](https://www.npmjs.com/package/rxjs-marbles)\n[![Downloads](http://img.shields.io/npm/dm/rxjs-marbles.svg)](https://npmjs.org/package/rxjs-marbles)\n[![Build status](https://img.shields.io/travis/cartant/rxjs-marbles.svg)](http://travis-ci.org/cartant/rxjs-marbles)\n[![dependency status](https://img.shields.io/david/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles)\n[![devDependency Status](https://img.shields.io/david/dev/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles#info=devDependencies)\n[![peerDependency Status](https://img.shields.io/david/peer/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles#info=peerDependencies)\n[![Greenkeeper badge](https://badges.greenkeeper.io/cartant/rxjs-marbles.svg)](https://greenkeeper.io/)\n\n### What is it?\n\n`rxjs-marbles` is an RxJS [marble testing](https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md) library that should be compatible with any test framework. It wraps the RxJS [`TestScheduler`](https://github.com/ReactiveX/rxjs/blob/5.4.2/src/testing/TestScheduler.ts) and provides methods similar to the [basic methods](https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md#basic-methods) used in RxJS's marble tests.\n\nIt can be used with [AVA](https://github.com/avajs/ava), [Jasmine](https://github.com/jasmine/jasmine), [Jest](https://facebook.github.io/jest/), [Mocha](https://github.com/mochajs/mocha) or [Tape](https://github.com/substack/tape) in the browser or in Node and it supports CommonJS and ES module bundlers.\n\n### Why might you need it?\n\nI created this package because I wanted to use RxJS marble tests in a number of projects and those projects used different test frameworks.\n\nThere are a number of marble testing packages available - including the Mocha-based implementation in RxJS itself - but I wanted something that was simple, didn't involve messing with globals and `beforeEach`/`afterEach` functions and was consistent across test frameworks.\n\nIf you are looking for something similar, this might suit.\n\n## Install\n\nInstall the package using NPM:\n\n```\nnpm install rxjs-marbles --save-dev\n```\n\n## Getting started\n\nIf you're just getting started with marble testing, you might be interested in how I wasted some of my time by not carefully reading the manual: [RxJS Marble Testing: RTFM](https://medium.com/@cartant/rxjs-marble-testing-rtfm-a9a6cd3db758).\n\n## Usage\n\n### With Jasmine and Mocha\n\nInstead of passing your test function directly to `it`, pass it to the library's `marbles` function, like this:\n\n```ts\nimport { marbles } from \"rxjs-marbles\";\n\ndescribe(\"rxjs-marbles\", () => {\n\n    it(\"should support marble tests\", marbles((m) => {\n\n        const values = { a: 1, b: 2, c: 3, d: 4 };\n\n        const source =  m.hot(\"--^-a-b-c-|\", values);\n        const subs =            \"^-------!\";\n        const expected = m.cold(\"--b-c-d-|\", values);\n\n        const destination = source.map((value) => value + 1);\n        m.expect(destination).toBeObservable(expected);\n        m.expect(source).toHaveSubscriptions(subs);\n    }));\n});\n```\n\n### With Jest\n\nInstead of passing your test function directly to Jest, pass it to the library's `marbles` function:\n\n```ts\nimport { marbles } from \"rxjs-marbles\";\n\ntest(\"it should support marble tests\", marbles((m) => {\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n\n    const source =  m.hot(\"--^-a-b-c-|\", values);\n    const subs =            \"^-------!\";\n    const expected = m.cold(\"--b-c-d-|\", values);\n\n    const destination = source.map((value) => value + 1);\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n```\n\n### With AVA\n\nInstead of passing your test function directly to AVA, pass it to the library's `marbles` function. The `marbles` function will concatenate the additional `TestContext` argument it receives from AVA.\n\nThere is an `/ava` directory in the package that includes a wrapper that will correctly type additional argument and will call `configure` - passing AVA's assertion methods to ensure marble assertions will be counted towards AVA's `plan` - so be sure to specify `rxjs-marbles/ava` in the `import` statement or `require` call:\n\n```ts\nimport { test } from \"ava\";\nimport { marbles } from \"rxjs-marbles/ava\";\n\ntest(\"it should support marble tests\", marbles((m, t) => {\n\n    t.plan(2);\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n\n    const source =  m.hot(\"--^-a-b-c-|\", values);\n    const subs =            \"^-------!\";\n    const expected = m.cold(\"--b-c-d-|\", values);\n\n    const destination = source.map((value) => value + 1);\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n\n```\n\n### With Tape\n\nInstead of passing your test function directly to Tape, pass it to the library's `marbles` function. The `marbles` function will concatenate the additional `Test` argument it receives from Tape.\n\nThere is a `/tape` directory in the package that includes a wrapper that will correctly type additional argument and will call `configure` - passing Tape's assertion methods to ensure marble assertions will be counted towards Tape's `plan` - so be sure to specify `rxjs-marbles/tape` in the `import` statement or `require` call:\n\n```ts\nimport * as tape from \"tape\";\nimport { marbles } from \"rxjs-marbles/tape\";\n\ntape(\"it should support marble tests\", marbles((m, t) => {\n\n    t.plan(2);\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n\n    const source =  m.hot(\"--^-a-b-c-|\", values);\n    const subs =            \"^-------!\";\n    const expected = m.cold(\"--b-c-d-|\", values);\n\n    const destination = source.map((value) => value + 1);\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n```\n\n### Alternate assertion methods\n\nIf the BDD syntax is something you really don't like, there are some alternative methods on the `Context` that are more terse:\n\n```ts\nconst source =  m.hot(\"--^-a-b-c-|\", values);\nconst subs =            \"^-------!\";\nconst expected = m.cold(\"--b-c-d-|\", values);\n\nconst destination = source.map((value) => value + 1);\nm.equal(destination, expected);\nm.has(source, subs);\n```\n\n### Using cases for test variations\n\nIn addition to the `marbles` function, the library exports a `cases` function that can be used to reduce test boilerplate by specifying multiple cases for variations of a single test. The API is based on that of [`jest-in-case`](https://github.com/Thinkmill/jest-in-case), but also includes the marbles context.\n\nThe `cases` implementation is framework-specific, so the import should specify the framework. For example, with Jasmine, you would import `cases` and use it instead of the `it` function, like this:\n\n```ts\nimport { cases } from \"rxjs-marbles/jasmine\";\n\ndescribe(\"rxjs-marbles\", () => {\n\n    cases(\"should support cases\", (m, c) => {\n\n        const values = { a: 1, b: 2, c: 3, d: 4 };\n        const source =  m.hot(c.s, values);\n        const expected = m.cold(c.e, values);\n        const destination = source.map((value) => value + 1);\n        m.expect(destination).toBeObservable(expected);\n\n    }, {\n        \"non-empty\": {\n            s: \"-a-b-c-|\",\n            e: \"-b-c-d-|\"\n        },\n        \"empty\": {\n            s: \"-|\",\n            e: \"-|\"\n        }\n    });\n});\n```\n\nWith AVA and Tape, the `cases` function also receives the test context. For example, with AVA, you would import `cases` and use it instead of the `test` function, like this:\n\n```ts\nimport { cases } from \"rxjs-marbles/ava\";\n\ncases(\"should support cases\", (m, c, t) => {\n\n    t.plan(1);\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n    const source =  m.hot(c.s, values);\n    const expected = m.cold(c.e, values);\n    const destination = source.map((value) => value + 1);\n    m.equal(destination, expected);\n\n}, {\n    \"non-empty\": {\n        s: \"-a-b-c-|\",\n        e: \"-b-c-d-|\"\n    },\n    \"empty\": {\n        s: \"-|\",\n        e: \"-|\"\n    }\n});\n```\n\n### Dealing with deeply-nested schedulers\n\nSometimes, passing the `TestScheduler` instance to the code under test can be tedious. The context includes a `bind` method that can be used to bind a scheduler's `now` and `schedule` methods to those of the context's `TestScheduler`.\n\n`bind` can be passed specific scheduler instances or can be called with no arguments to bind RxJS's `animationFrame`, `asap`, `async` and `queue` schedulers to the context's `TestScheduler`.\n\nFor example:\n\n```ts\nit(\"should support binding non-test schedulers\", marbles((m) => {\n\n    m.bind();\n\n    const source =  m.hot(\"--^-a-b-c-|\");\n    const subs =            \"^--------!\";\n    const expected =        \"---a-b-c-|\";\n\n    // Note that delay is not passed a scheduler:\n    const destination = source.delay(m.time(\"-|\"));\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n```\n\n## API\n\nThe `rxjs-marbles` API is comprised of two functions:\n\n* [configure](#configure)\n* [marbles](#marbles)\n\n<a name=\"configure\"></a>\n\n### configure\n\n```ts\ninterface Configuration {\n    assert?: (value: any, message: string) => void;\n    assertDeepEqual?: (a: any, b: any) => void;\n    frameworkMatcher?: boolean;\n}\n\nfunction configure(options: Configuration): void;\n```\n\nThe `configure` method can be used to specify the assertion functions that are to be used. Calling it is optional; it's only necessary if particular assertion functions are to be used.\n\nThe default implementations simply perform the assertion and throw an error for failed assertions.\n\n<a name=\"marbles\"></a>\n\n### marbles\n\n```ts\nfunction marbles(test: (context: Context) => any): () => any;\nfunction marbles<T1>(test: (context: Context, t1: T1) => any): (t1: T1) => any;\nfunction marbles<T1, T2>(test: (context: Context, t1: T1, t2: T2) => any): (t1: T1, t2: T2) => any;\nfunction marbles<T1, T2, T3>(test: (context: Context, t1: T1, t2: T2, t3: T3) => any): (t1: T1, t2: T2, t3: T3) => any;\n```\n\n`marbles` is passed the test function, which it wraps, passing the wrapper to the test framework. When the test function is called, it is passed the `Context` - which contains methods that correspond to the [basic methods](https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md#basic-methods) described in the RxJS documentation:\n\n```ts\ninterface Context {\n    autoFlush: boolean;\n    bind(...schedulers: IScheduler[]): void;\n    cold<T = any>(marbles: string, values?: any, error?: any): ColdObservable<T>;\n    configure(options: Configuration): void;\n    equal<T = any>(actual: Observable<T>, expected: Observable<T>): void;\n    equal<T = any>(actual: Observable<T>, expected: string, values?: { [key: string]: T }, error?: any): void;\n    equal<T = any>(actual: Observable<T>, unsubscription: string, expected: Observable<T>): void;\n    equal<T = any>(actual: Observable<T>, unsubscription: string, expected: string, values?: { [key: string]: T }, error?: any): void;\n    expect<T = any>(actual: Observable<T>, unsubscription?: string): Expect<T>;\n    flush(): void;\n    has<T = any>(actual: Observable<T>, expected: string | string[]): void;\n    hot<T = any>(marbles: string, values?: any, error?: any): HotObservable<T>;\n    readonly scheduler: TestScheduler;\n    teardown(): void;\n    time(marbles: string): number;\n}\n\ninterface Expect<T> {\n    toBeObservable(expected: ColdObservable<T> | HotObservable<T>): void;\n    toBeObservable(expected: string, values?: { [key: string]: T }, error?: any): void;\n    toHaveSubscriptions(expected: string | string[]): void;\n}\n```","readmeFilename":"README.md","_id":"rxjs-marbles@3.0.0-rc.2","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-ECCQM496oXlJJ/XrrBu8pLWzBtayQnQHE0iZlobbwCoqlewt2v/yo3eDwlTEDcpZUdfebZCtNTqPeClXqNhsAw==","shasum":"d04f7ceb4f11ff8bd1238e698a575d565653708b","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-3.0.0-rc.2.tgz","fileCount":75,"unpackedSize":857327,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDxeo2jlZg+e2sNff+eTG2793Vrn77iS62rAZwwoUNXHAiB6sVCtY5jVUnWni+KahYBtF1XOQJmIASwCPnTesmYroA=="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_3.0.0-rc.2_1522966815889_0.4289825557888194"},"_hasShrinkwrap":false},"3.0.0-rc.3":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash":"^4.0.0","lodash":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0-rc.0"},"private":false,"publishConfig":{"tag":"rc"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"3.0.0-rc.3","ava":{},"readme":"# rxjs-marbles\n\n[![GitHub License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/cartant/rxjs-marbles/blob/master/LICENSE)\n[![NPM version](https://img.shields.io/npm/v/rxjs-marbles.svg)](https://www.npmjs.com/package/rxjs-marbles)\n[![Downloads](http://img.shields.io/npm/dm/rxjs-marbles.svg)](https://npmjs.org/package/rxjs-marbles)\n[![Build status](https://img.shields.io/travis/cartant/rxjs-marbles.svg)](http://travis-ci.org/cartant/rxjs-marbles)\n[![dependency status](https://img.shields.io/david/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles)\n[![devDependency Status](https://img.shields.io/david/dev/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles#info=devDependencies)\n[![peerDependency Status](https://img.shields.io/david/peer/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles#info=peerDependencies)\n[![Greenkeeper badge](https://badges.greenkeeper.io/cartant/rxjs-marbles.svg)](https://greenkeeper.io/)\n\n### What is it?\n\n`rxjs-marbles` is an RxJS [marble testing](https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md) library that should be compatible with any test framework. It wraps the RxJS [`TestScheduler`](https://github.com/ReactiveX/rxjs/blob/5.4.2/src/testing/TestScheduler.ts) and provides methods similar to the [basic methods](https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md#basic-methods) used in RxJS's marble tests.\n\nIt can be used with [AVA](https://github.com/avajs/ava), [Jasmine](https://github.com/jasmine/jasmine), [Jest](https://facebook.github.io/jest/), [Mocha](https://github.com/mochajs/mocha) or [Tape](https://github.com/substack/tape) in the browser or in Node and it supports CommonJS and ES module bundlers.\n\n### Why might you need it?\n\nI created this package because I wanted to use RxJS marble tests in a number of projects and those projects used different test frameworks.\n\nThere are a number of marble testing packages available - including the Mocha-based implementation in RxJS itself - but I wanted something that was simple, didn't involve messing with globals and `beforeEach`/`afterEach` functions and was consistent across test frameworks.\n\nIf you are looking for something similar, this might suit.\n\n## Install\n\nInstall the package using NPM:\n\n```\nnpm install rxjs-marbles --save-dev\n```\n\n## Getting started\n\nIf you're just getting started with marble testing, you might be interested in how I wasted some of my time by not carefully reading the manual: [RxJS Marble Testing: RTFM](https://medium.com/@cartant/rxjs-marble-testing-rtfm-a9a6cd3db758).\n\n## Usage\n\n### With Jasmine and Mocha\n\nInstead of passing your test function directly to `it`, pass it to the library's `marbles` function, like this:\n\n```ts\nimport { marbles } from \"rxjs-marbles\";\n\ndescribe(\"rxjs-marbles\", () => {\n\n    it(\"should support marble tests\", marbles((m) => {\n\n        const values = { a: 1, b: 2, c: 3, d: 4 };\n\n        const source =  m.hot(\"--^-a-b-c-|\", values);\n        const subs =            \"^-------!\";\n        const expected = m.cold(\"--b-c-d-|\", values);\n\n        const destination = source.map((value) => value + 1);\n        m.expect(destination).toBeObservable(expected);\n        m.expect(source).toHaveSubscriptions(subs);\n    }));\n});\n```\n\n### With Jest\n\nInstead of passing your test function directly to Jest, pass it to the library's `marbles` function:\n\n```ts\nimport { marbles } from \"rxjs-marbles\";\n\ntest(\"it should support marble tests\", marbles((m) => {\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n\n    const source =  m.hot(\"--^-a-b-c-|\", values);\n    const subs =            \"^-------!\";\n    const expected = m.cold(\"--b-c-d-|\", values);\n\n    const destination = source.map((value) => value + 1);\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n```\n\n### With AVA\n\nInstead of passing your test function directly to AVA, pass it to the library's `marbles` function. The `marbles` function will concatenate the additional `TestContext` argument it receives from AVA.\n\nThere is an `/ava` directory in the package that includes a wrapper that will correctly type additional argument and will call `configure` - passing AVA's assertion methods to ensure marble assertions will be counted towards AVA's `plan` - so be sure to specify `rxjs-marbles/ava` in the `import` statement or `require` call:\n\n```ts\nimport { test } from \"ava\";\nimport { marbles } from \"rxjs-marbles/ava\";\n\ntest(\"it should support marble tests\", marbles((m, t) => {\n\n    t.plan(2);\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n\n    const source =  m.hot(\"--^-a-b-c-|\", values);\n    const subs =            \"^-------!\";\n    const expected = m.cold(\"--b-c-d-|\", values);\n\n    const destination = source.map((value) => value + 1);\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n\n```\n\n### With Tape\n\nInstead of passing your test function directly to Tape, pass it to the library's `marbles` function. The `marbles` function will concatenate the additional `Test` argument it receives from Tape.\n\nThere is a `/tape` directory in the package that includes a wrapper that will correctly type additional argument and will call `configure` - passing Tape's assertion methods to ensure marble assertions will be counted towards Tape's `plan` - so be sure to specify `rxjs-marbles/tape` in the `import` statement or `require` call:\n\n```ts\nimport * as tape from \"tape\";\nimport { marbles } from \"rxjs-marbles/tape\";\n\ntape(\"it should support marble tests\", marbles((m, t) => {\n\n    t.plan(2);\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n\n    const source =  m.hot(\"--^-a-b-c-|\", values);\n    const subs =            \"^-------!\";\n    const expected = m.cold(\"--b-c-d-|\", values);\n\n    const destination = source.map((value) => value + 1);\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n```\n\n### Alternate assertion methods\n\nIf the BDD syntax is something you really don't like, there are some alternative methods on the `Context` that are more terse:\n\n```ts\nconst source =  m.hot(\"--^-a-b-c-|\", values);\nconst subs =            \"^-------!\";\nconst expected = m.cold(\"--b-c-d-|\", values);\n\nconst destination = source.map((value) => value + 1);\nm.equal(destination, expected);\nm.has(source, subs);\n```\n\n### Using cases for test variations\n\nIn addition to the `marbles` function, the library exports a `cases` function that can be used to reduce test boilerplate by specifying multiple cases for variations of a single test. The API is based on that of [`jest-in-case`](https://github.com/Thinkmill/jest-in-case), but also includes the marbles context.\n\nThe `cases` implementation is framework-specific, so the import should specify the framework. For example, with Jasmine, you would import `cases` and use it instead of the `it` function, like this:\n\n```ts\nimport { cases } from \"rxjs-marbles/jasmine\";\n\ndescribe(\"rxjs-marbles\", () => {\n\n    cases(\"should support cases\", (m, c) => {\n\n        const values = { a: 1, b: 2, c: 3, d: 4 };\n        const source =  m.hot(c.s, values);\n        const expected = m.cold(c.e, values);\n        const destination = source.map((value) => value + 1);\n        m.expect(destination).toBeObservable(expected);\n\n    }, {\n        \"non-empty\": {\n            s: \"-a-b-c-|\",\n            e: \"-b-c-d-|\"\n        },\n        \"empty\": {\n            s: \"-|\",\n            e: \"-|\"\n        }\n    });\n});\n```\n\nWith AVA and Tape, the `cases` function also receives the test context. For example, with AVA, you would import `cases` and use it instead of the `test` function, like this:\n\n```ts\nimport { cases } from \"rxjs-marbles/ava\";\n\ncases(\"should support cases\", (m, c, t) => {\n\n    t.plan(1);\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n    const source =  m.hot(c.s, values);\n    const expected = m.cold(c.e, values);\n    const destination = source.map((value) => value + 1);\n    m.equal(destination, expected);\n\n}, {\n    \"non-empty\": {\n        s: \"-a-b-c-|\",\n        e: \"-b-c-d-|\"\n    },\n    \"empty\": {\n        s: \"-|\",\n        e: \"-|\"\n    }\n});\n```\n\n### Dealing with deeply-nested schedulers\n\nSometimes, passing the `TestScheduler` instance to the code under test can be tedious. The context includes a `bind` method that can be used to bind a scheduler's `now` and `schedule` methods to those of the context's `TestScheduler`.\n\n`bind` can be passed specific scheduler instances or can be called with no arguments to bind RxJS's `animationFrame`, `asap`, `async` and `queue` schedulers to the context's `TestScheduler`.\n\nFor example:\n\n```ts\nit(\"should support binding non-test schedulers\", marbles((m) => {\n\n    m.bind();\n\n    const source =  m.hot(\"--^-a-b-c-|\");\n    const subs =            \"^--------!\";\n    const expected =        \"---a-b-c-|\";\n\n    // Note that delay is not passed a scheduler:\n    const destination = source.delay(m.time(\"-|\"));\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n```\n\n## API\n\nThe `rxjs-marbles` API is comprised of two functions:\n\n* [configure](#configure)\n* [marbles](#marbles)\n\n<a name=\"configure\"></a>\n\n### configure\n\n```ts\ninterface Configuration {\n    assert?: (value: any, message: string) => void;\n    assertDeepEqual?: (a: any, b: any) => void;\n    frameworkMatcher?: boolean;\n}\n\nfunction configure(options: Configuration): void;\n```\n\nThe `configure` method can be used to specify the assertion functions that are to be used. Calling it is optional; it's only necessary if particular assertion functions are to be used.\n\nThe default implementations simply perform the assertion and throw an error for failed assertions.\n\n<a name=\"marbles\"></a>\n\n### marbles\n\n```ts\nfunction marbles(test: (context: Context) => any): () => any;\nfunction marbles<T1>(test: (context: Context, t1: T1) => any): (t1: T1) => any;\nfunction marbles<T1, T2>(test: (context: Context, t1: T1, t2: T2) => any): (t1: T1, t2: T2) => any;\nfunction marbles<T1, T2, T3>(test: (context: Context, t1: T1, t2: T2, t3: T3) => any): (t1: T1, t2: T2, t3: T3) => any;\n```\n\n`marbles` is passed the test function, which it wraps, passing the wrapper to the test framework. When the test function is called, it is passed the `Context` - which contains methods that correspond to the [basic methods](https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md#basic-methods) described in the RxJS documentation:\n\n```ts\ninterface Context {\n    autoFlush: boolean;\n    bind(...schedulers: IScheduler[]): void;\n    cold<T = any>(marbles: string, values?: any, error?: any): ColdObservable<T>;\n    configure(options: Configuration): void;\n    equal<T = any>(actual: Observable<T>, expected: Observable<T>): void;\n    equal<T = any>(actual: Observable<T>, expected: string, values?: { [key: string]: T }, error?: any): void;\n    equal<T = any>(actual: Observable<T>, unsubscription: string, expected: Observable<T>): void;\n    equal<T = any>(actual: Observable<T>, unsubscription: string, expected: string, values?: { [key: string]: T }, error?: any): void;\n    expect<T = any>(actual: Observable<T>, unsubscription?: string): Expect<T>;\n    flush(): void;\n    has<T = any>(actual: Observable<T>, expected: string | string[]): void;\n    hot<T = any>(marbles: string, values?: any, error?: any): HotObservable<T>;\n    readonly scheduler: TestScheduler;\n    teardown(): void;\n    time(marbles: string): number;\n}\n\ninterface Expect<T> {\n    toBeObservable(expected: ColdObservable<T> | HotObservable<T>): void;\n    toBeObservable(expected: string, values?: { [key: string]: T }, error?: any): void;\n    toHaveSubscriptions(expected: string | string[]): void;\n}\n```","readmeFilename":"README.md","_id":"rxjs-marbles@3.0.0-rc.3","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-L4K7TPutHusbLMnRx3s3yWIjdztL1F6XLTLYp+1qMeCNqff+AXUscrzWv1Sr+IISOG66XlTQNvkuBPWrZ+blug==","shasum":"c229058516f90dfab089ace604e833f536235588","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-3.0.0-rc.3.tgz","fileCount":75,"unpackedSize":857312,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDRceLN8YnFwHP7TKMBpAS4iUphj86jYTo4AQqssGk8CAiAaZ30zTawu86PBurVQbpXgthEJgA8Bgmi6LQX52zS7/Q=="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_3.0.0-rc.3_1523341700252_0.5197849231239715"},"_hasShrinkwrap":false},"2.4.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"jsnext:main":"./index.js","keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"2.4.0","ava":{},"_id":"rxjs-marbles@2.4.0","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-KiQIqU7t7ih61k4OWHsRyzFrAKBIjtWAEByBYYQG6kTlCu9qX+HCYg6YMuuo5b9wRzNRr/jE+399TCXpCfVitg==","shasum":"08b6909d87b54a0e38c3dcdf161188694eaae627","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-2.4.0.tgz","fileCount":43,"unpackedSize":669621,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpdthcUCbck1oT6YK7pK6CIXePYd2vtY8hPfOBUdQgNAIhANgQ6wg2J3od/1Ib0vgFYK2Us8phZrr+NJrLCJ7ln/5e"}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_2.4.0_1523431862390_0.9256451163082859"},"_hasShrinkwrap":false},"2.4.1":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash-es":"^4.0.0","lodash-es":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"jsnext:main":"./index.js","keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./bundles/rxjs-marbles.umd.js","module":"./index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^5.0.0"},"private":false,"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"2.4.1","ava":{},"_id":"rxjs-marbles@2.4.1","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-LQo0ZYan28k5uD4nSv2EI7OYVxNmxmjlaN6A8juN1H0a5y4bY6cuU58vS3DdN0MNfTOvltGgXHZ9Y3PgBIGWdg==","shasum":"0b1ae8f66fb3d3b6a6e5be9de35de1b47582771c","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-2.4.1.tgz","fileCount":43,"unpackedSize":669848,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHpi8thftK0vtCXRAq/4nH789Q52OiuVyQc+G0iWr1eWAiEAlV/BFu9hn8+cdbbl6adov+oAdBMsniG0KyizEojdhzA="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_2.4.1_1523432646853_0.9491349735424517"},"_hasShrinkwrap":false},"3.0.0-rc.4":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash":"^4.0.0","lodash":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0-rc.0"},"private":false,"publishConfig":{"tag":"rc"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"3.0.0-rc.4","ava":{},"readme":"# rxjs-marbles\n\n[![GitHub License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/cartant/rxjs-marbles/blob/master/LICENSE)\n[![NPM version](https://img.shields.io/npm/v/rxjs-marbles.svg)](https://www.npmjs.com/package/rxjs-marbles)\n[![Downloads](http://img.shields.io/npm/dm/rxjs-marbles.svg)](https://npmjs.org/package/rxjs-marbles)\n[![Build status](https://img.shields.io/travis/cartant/rxjs-marbles.svg)](http://travis-ci.org/cartant/rxjs-marbles)\n[![dependency status](https://img.shields.io/david/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles)\n[![devDependency Status](https://img.shields.io/david/dev/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles#info=devDependencies)\n[![peerDependency Status](https://img.shields.io/david/peer/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles#info=peerDependencies)\n[![Greenkeeper badge](https://badges.greenkeeper.io/cartant/rxjs-marbles.svg)](https://greenkeeper.io/)\n\n### What is it?\n\n`rxjs-marbles` is an RxJS [marble testing](https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md) library that should be compatible with any test framework. It wraps the RxJS [`TestScheduler`](https://github.com/ReactiveX/rxjs/blob/5.4.2/src/testing/TestScheduler.ts) and provides methods similar to the [basic methods](https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md#basic-methods) used in RxJS's marble tests.\n\nIt can be used with [AVA](https://github.com/avajs/ava), [Jasmine](https://github.com/jasmine/jasmine), [Jest](https://facebook.github.io/jest/), [Mocha](https://github.com/mochajs/mocha) or [Tape](https://github.com/substack/tape) in the browser or in Node and it supports CommonJS and ES module bundlers.\n\n### Why might you need it?\n\nI created this package because I wanted to use RxJS marble tests in a number of projects and those projects used different test frameworks.\n\nThere are a number of marble testing packages available - including the Mocha-based implementation in RxJS itself - but I wanted something that was simple, didn't involve messing with globals and `beforeEach`/`afterEach` functions and was consistent across test frameworks.\n\nIf you are looking for something similar, this might suit.\n\n## Install\n\nInstall the package using NPM:\n\n```\nnpm install rxjs-marbles --save-dev\n```\n\n## Getting started\n\nIf you're just getting started with marble testing, you might be interested in how I wasted some of my time by not carefully reading the manual: [RxJS Marble Testing: RTFM](https://medium.com/@cartant/rxjs-marble-testing-rtfm-a9a6cd3db758).\n\n## Usage\n\n### With Jasmine and Mocha\n\nInstead of passing your test function directly to `it`, pass it to the library's `marbles` function, like this:\n\n```ts\nimport { marbles } from \"rxjs-marbles\";\n\ndescribe(\"rxjs-marbles\", () => {\n\n    it(\"should support marble tests\", marbles((m) => {\n\n        const values = { a: 1, b: 2, c: 3, d: 4 };\n\n        const source =  m.hot(\"--^-a-b-c-|\", values);\n        const subs =            \"^-------!\";\n        const expected = m.cold(\"--b-c-d-|\", values);\n\n        const destination = source.map((value) => value + 1);\n        m.expect(destination).toBeObservable(expected);\n        m.expect(source).toHaveSubscriptions(subs);\n    }));\n});\n```\n\n### With Jest\n\nInstead of passing your test function directly to Jest, pass it to the library's `marbles` function:\n\n```ts\nimport { marbles } from \"rxjs-marbles\";\n\ntest(\"it should support marble tests\", marbles((m) => {\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n\n    const source =  m.hot(\"--^-a-b-c-|\", values);\n    const subs =            \"^-------!\";\n    const expected = m.cold(\"--b-c-d-|\", values);\n\n    const destination = source.map((value) => value + 1);\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n```\n\n### With AVA\n\nInstead of passing your test function directly to AVA, pass it to the library's `marbles` function. The `marbles` function will concatenate the additional `TestContext` argument it receives from AVA.\n\nThere is an `/ava` directory in the package that includes a wrapper that will correctly type additional argument and will call `configure` - passing AVA's assertion methods to ensure marble assertions will be counted towards AVA's `plan` - so be sure to specify `rxjs-marbles/ava` in the `import` statement or `require` call:\n\n```ts\nimport { test } from \"ava\";\nimport { marbles } from \"rxjs-marbles/ava\";\n\ntest(\"it should support marble tests\", marbles((m, t) => {\n\n    t.plan(2);\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n\n    const source =  m.hot(\"--^-a-b-c-|\", values);\n    const subs =            \"^-------!\";\n    const expected = m.cold(\"--b-c-d-|\", values);\n\n    const destination = source.map((value) => value + 1);\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n\n```\n\n### With Tape\n\nInstead of passing your test function directly to Tape, pass it to the library's `marbles` function. The `marbles` function will concatenate the additional `Test` argument it receives from Tape.\n\nThere is a `/tape` directory in the package that includes a wrapper that will correctly type additional argument and will call `configure` - passing Tape's assertion methods to ensure marble assertions will be counted towards Tape's `plan` - so be sure to specify `rxjs-marbles/tape` in the `import` statement or `require` call:\n\n```ts\nimport * as tape from \"tape\";\nimport { marbles } from \"rxjs-marbles/tape\";\n\ntape(\"it should support marble tests\", marbles((m, t) => {\n\n    t.plan(2);\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n\n    const source =  m.hot(\"--^-a-b-c-|\", values);\n    const subs =            \"^-------!\";\n    const expected = m.cold(\"--b-c-d-|\", values);\n\n    const destination = source.map((value) => value + 1);\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n```\n\n### Alternate assertion methods\n\nIf the BDD syntax is something you really don't like, there are some alternative methods on the `Context` that are more terse:\n\n```ts\nconst source =  m.hot(\"--^-a-b-c-|\", values);\nconst subs =            \"^-------!\";\nconst expected = m.cold(\"--b-c-d-|\", values);\n\nconst destination = source.map((value) => value + 1);\nm.equal(destination, expected);\nm.has(source, subs);\n```\n\n### Using cases for test variations\n\nIn addition to the `marbles` function, the library exports a `cases` function that can be used to reduce test boilerplate by specifying multiple cases for variations of a single test. The API is based on that of [`jest-in-case`](https://github.com/Thinkmill/jest-in-case), but also includes the marbles context.\n\nThe `cases` implementation is framework-specific, so the import should specify the framework. For example, with Jasmine, you would import `cases` and use it instead of the `it` function, like this:\n\n```ts\nimport { cases } from \"rxjs-marbles/jasmine\";\n\ndescribe(\"rxjs-marbles\", () => {\n\n    cases(\"should support cases\", (m, c) => {\n\n        const values = { a: 1, b: 2, c: 3, d: 4 };\n        const source =  m.hot(c.s, values);\n        const expected = m.cold(c.e, values);\n        const destination = source.map((value) => value + 1);\n        m.expect(destination).toBeObservable(expected);\n\n    }, {\n        \"non-empty\": {\n            s: \"-a-b-c-|\",\n            e: \"-b-c-d-|\"\n        },\n        \"empty\": {\n            s: \"-|\",\n            e: \"-|\"\n        }\n    });\n});\n```\n\nWith AVA and Tape, the `cases` function also receives the test context. For example, with AVA, you would import `cases` and use it instead of the `test` function, like this:\n\n```ts\nimport { cases } from \"rxjs-marbles/ava\";\n\ncases(\"should support cases\", (m, c, t) => {\n\n    t.plan(1);\n\n    const values = { a: 1, b: 2, c: 3, d: 4 };\n    const source =  m.hot(c.s, values);\n    const expected = m.cold(c.e, values);\n    const destination = source.map((value) => value + 1);\n    m.equal(destination, expected);\n\n}, {\n    \"non-empty\": {\n        s: \"-a-b-c-|\",\n        e: \"-b-c-d-|\"\n    },\n    \"empty\": {\n        s: \"-|\",\n        e: \"-|\"\n    }\n});\n```\n\n### Dealing with deeply-nested schedulers\n\nSometimes, passing the `TestScheduler` instance to the code under test can be tedious. The context includes a `bind` method that can be used to bind a scheduler's `now` and `schedule` methods to those of the context's `TestScheduler`.\n\n`bind` can be passed specific scheduler instances or can be called with no arguments to bind RxJS's `animationFrame`, `asap`, `async` and `queue` schedulers to the context's `TestScheduler`.\n\nFor example:\n\n```ts\nit(\"should support binding non-test schedulers\", marbles((m) => {\n\n    m.bind();\n\n    const source =  m.hot(\"--^-a-b-c-|\");\n    const subs =            \"^--------!\";\n    const expected =        \"---a-b-c-|\";\n\n    // Note that delay is not passed a scheduler:\n    const destination = source.delay(m.time(\"-|\"));\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n```\n\n## API\n\nThe `rxjs-marbles` API is comprised of two functions:\n\n* [configure](#configure)\n* [marbles](#marbles)\n\n<a name=\"configure\"></a>\n\n### configure\n\n```ts\ninterface Configuration {\n    assert?: (value: any, message: string) => void;\n    assertDeepEqual?: (a: any, b: any) => void;\n    frameworkMatcher?: boolean;\n}\n\nfunction configure(options: Configuration): void;\n```\n\nThe `configure` method can be used to specify the assertion functions that are to be used. Calling it is optional; it's only necessary if particular assertion functions are to be used.\n\nThe default implementations simply perform the assertion and throw an error for failed assertions.\n\n<a name=\"marbles\"></a>\n\n### marbles\n\n```ts\nfunction marbles(test: (context: Context) => any): () => any;\nfunction marbles<T1>(test: (context: Context, t1: T1) => any): (t1: T1) => any;\nfunction marbles<T1, T2>(test: (context: Context, t1: T1, t2: T2) => any): (t1: T1, t2: T2) => any;\nfunction marbles<T1, T2, T3>(test: (context: Context, t1: T1, t2: T2, t3: T3) => any): (t1: T1, t2: T2, t3: T3) => any;\n```\n\n`marbles` is passed the test function, which it wraps, passing the wrapper to the test framework. When the test function is called, it is passed the `Context` - which contains methods that correspond to the [basic methods](https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md#basic-methods) described in the RxJS documentation:\n\n```ts\ninterface Context {\n    autoFlush: boolean;\n    bind(...schedulers: IScheduler[]): void;\n    cold<T = any>(marbles: string, values?: any, error?: any): ColdObservable<T>;\n    configure(options: Configuration): void;\n    equal<T = any>(actual: Observable<T>, expected: Observable<T>): void;\n    equal<T = any>(actual: Observable<T>, expected: string, values?: { [key: string]: T }, error?: any): void;\n    equal<T = any>(actual: Observable<T>, unsubscription: string, expected: Observable<T>): void;\n    equal<T = any>(actual: Observable<T>, unsubscription: string, expected: string, values?: { [key: string]: T }, error?: any): void;\n    expect<T = any>(actual: Observable<T>, unsubscription?: string): Expect<T>;\n    flush(): void;\n    has<T = any>(actual: Observable<T>, expected: string | string[]): void;\n    hot<T = any>(marbles: string, values?: any, error?: any): HotObservable<T>;\n    readonly scheduler: TestScheduler;\n    teardown(): void;\n    time(marbles: string): number;\n}\n\ninterface Expect<T> {\n    toBeObservable(expected: ColdObservable<T> | HotObservable<T>): void;\n    toBeObservable(expected: string, values?: { [key: string]: T }, error?: any): void;\n    toHaveSubscriptions(expected: string | string[]): void;\n}\n```","readmeFilename":"README.md","_id":"rxjs-marbles@3.0.0-rc.4","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-4Rybs46IS8o56qtzcelizH1sLlrUtZwReIyU6+41CuyjHv8iuqEEbkR7nAx1VHFZJZsD1xBORqGn/q7n2g5v/A==","shasum":"d13fc1a7dd5edcc6e1a623cf254355f93aa60097","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-3.0.0-rc.4.tgz","fileCount":75,"unpackedSize":867733,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB1xdd6sIUDClwpF17FLnGPF2UXV3Lkti+UMfWQmlEdxAiAWY+d+6z7eKWQXcyEEyKcLQGK20aPNbIQlTKLg7P3Ljw=="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_3.0.0-rc.4_1523434856911_0.6699907427750875"},"_hasShrinkwrap":false},"3.0.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash":"^4.0.0","lodash":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"3.0.0","ava":{},"_id":"rxjs-marbles@3.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-o6DrQFJR9SQlVSIcTkNmT9PWE2puYxrjBAgzdXAVK8s526LQINeRhnjPycHIs3M1HxtEmFuzmxWoT5H7YdQKPA==","shasum":"7969f499a1c9054ddd1a9cf7ac1772ba5590482d","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-3.0.0.tgz","fileCount":75,"unpackedSize":867806,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa380kCRA9TVsSAnZWagAAjhUP/29pk1M+QT2DoXoSxjlr\nMM9QqWr5UwuWLrP7Seni9w+EzsNI5WoOwpsCh7v+IqlbEVoQLRH+46DK6KQx\nFMHeEALS1/FagIxKBERVxoqXnQ2YZYVJBeZ2eiRreiSvl6Bxs6s1L+mq5JKr\nizAGcZ0kjyl4GmthjcuJmRZQcKhn4wiOg40xnZUn2ElvUfO750/zeeaz7wdN\nMgD5zWnSC2onzYCYo5jQvxYEuQ9I917D8Eoso4suA48XGiZzn+RJpFqj9vwx\nKM2dNvEBj9PlNL+PfiXXfzQlCvUcE5yx0jca0U6vOtad8ThS6I1GFqPJnIU7\nk31+Kl+pCMcs8cudm90iCRQofXoC7j3+bBDm8NmSvkCrUa9wuomlYJxpoQ6t\naiovIv1h3gBip0UBV6TIk9MkEuDnDE76P65PZMOWCqbiul+Vpu+EtudCdK6G\nMbzMKlrd4l2AcRivG2nX5ed3DpwsZ8Mgg4CCwPF7s89jxsgO5FNO3XG3j5ka\nUmt96laduJhNJz3M7qaalAjY+RHl7RvB2BPLyh0fO4Zy1F0LS/1O/aGIlsNb\nLEC9b2ZHZNRIaiJ8b5lOfGAACzkcsdK7B7kmJ7NqyD9CDkE4ZIETQMfgb6ck\nJmk9ZCkBT1ZQX0zdoHT1RJah2EFl6tpvWkVlYUfRZ2oZdlYgGBdr1uW3XhHH\nmyrj\r\n=O6V1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHMUf//iDrX1JHfSsEEMs6/UcRFll+id2VlqYsnTw/qtAiBYgeSnyTNhRpmmlkaka2EQmKDGtXdvh6gAd+3R5B2gig=="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_3.0.0_1524616483808_0.9970811241481545"},"_hasShrinkwrap":false},"3.0.1":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash":"^4.0.0","lodash":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"3.0.1","ava":{},"_id":"rxjs-marbles@3.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-CIP2J+LSD5gNDLWeX7ELXn37qnT+HtMHr2GILxNvJ0TSGKHDUGio2ecqa464DRIVXgm68An9c8SsJyV0KadClg==","shasum":"696d7eddd39ecbb542c3841634fe0ca9ad26ce13","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-3.0.1.tgz","fileCount":75,"unpackedSize":868197,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa4Z41CRA9TVsSAnZWagAAY/IQAJ5kSrA8TpfsVazF6JbS\n/BN9XRE98Mexe1g0DmhDW62y4mzejNiojkQT9wY3+p/Vi3cg7x1JCT9jtQiy\nor8PoI+RpUiOLW1Dlp84tR1JUpFCtVbX5tH+0DcdSd6sxTOkXoAvM/zJnvBT\nYtuWwyZF5uduz+oTnVMU7N60toKAmo9Qdv37UXmzq9QifOBjFPM7Bf0M0BYK\nTK5fejgbJsxKo50uE3cYszoHiovtCtqr4u0hebKisou/RY3ZZ2lUVN6TYKBN\nM6GWT/DdsTImU/rtidt4oJCqwE1XdEvBDkgpOXKusVcnLxUCQJzzW/Qp3yiz\npAS24r37EXt3WzbUJ4fb6MOQGYQaW9nR32rVY2P5i+as+gN3T4jsXhGBj6A7\nxevGWFyok3KnKJWQbqsl5BhCs/P3jX1YmRITicLHy6PSV4zNq3rj1BDXeOS6\nm1lIjpkp98DWCFK5vhsMdYVpgEBPm0JrYwEhwXrc7Q75YBcX3ut+05ErZGUr\nY1bwQCBI4RhygWaRjmiZB/f2fXJvC0HktoYmZQ6j0bhg+7ycQMeiCzHInYQ0\niiWUtHG4pqHyB5qHvv0QDnb1WfIabRjLfmvO4YrAHyN6P3F/Rz20V7XyFTeo\nFXZfniJaY3QEoeS6DHXssMgDXh/9SxMYVl1Ce0TrjtZTJGXlYBZskt1WRssy\nJ7jF\r\n=fkw9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCU3JZ2o8Sup4PnaSWmoQx+MlD/gU2D1+mjbIO0efUj7wIge0kiBmQLTRJP3hVJ43SsanAggRsY61BRe5KVrg1a4Ag="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_3.0.1_1524735539525_0.5669250451184296"},"_hasShrinkwrap":false},"4.0.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash":"^4.0.0","lodash":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"4.0.0","ava":{},"_id":"rxjs-marbles@4.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-LxermCL9xq2i9/d9AlSNkDjMz3CPIGIbEZYAhLJv/YYiBtT7ONSboF/quOJCY9kXn7i3Q0yOfxaXEw+okTKdhA==","shasum":"9b101c20375801397857341b35313f916a54a8cb","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-4.0.0.tgz","fileCount":83,"unpackedSize":937924,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/R6FCRA9TVsSAnZWagAAuSUP/ixSGQ1+4GXYn2ofQzyk\nb9DlHko0TauO8QKg3e0RG/zYVJoCbzlVnI8+4KnROxaZiIPl9kU0nBVRrG9G\nhOWzL5xtMt1Eau/XDaoIq+OHbjvJOwlitRbJo231ll7sUMU9Kpgdcu3aeiF5\n3Ksg8kEhlp50414uBBFXgvHkSJZQU50hGpcPogxHZifmxJh8mVRXen8t0cQE\noTQnOan2dpy0ipmSqbu1U1YhHDrGnUWKITrRsBig51ljiMbEG/qIkeEGsSAx\nfXBM85/34hvCFCbbWzzMGJ/+a/HsHGKfGYY5nRF0GPbO8gjIiuxsl+1re1Bk\nYwlapG4ihSUnzgng0nBlSOXPu1vVEyF+QI0FlWGYuxD0uIrVt21eI41WCIuz\n3Wit+KJT88hS22YmD6CL/qKduGtjoBVD4m7iInhAHVcXUVDkU0xb2V3ha520\nqPLN68eZocsxaukPcVROLj3adZZ+/nRxIADzxkYxPkuMvnk2pLrtcvKP8uXI\nethZdV6IHX20u1XqSYdGZ/uh2+B8ZmXBuifXGAPWJ8p8NcHywhEWYgdrwQJC\n5uL4f4FdytSaInuJxuYDnHllgmGyxnjWGQquLEa8bh4eEj/MCi2P5FUFiQwV\nOHEuF6+VNwYLI4Wj+SSm5TXMfp9hTibtwltJhGDy11jJ0jSWQtEkvHCdSBJ1\n3VYE\r\n=myM/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9M1hsnx0jJWGG4cV85IQqIFRvD7SDdtlwhzmBZIBn+wIgc5qho7PNTPYStczptzR+8Fi+oAXwCrMVR8h0JIiRyRw="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_4.0.0_1526537860596_0.6788563881606289"},"_hasShrinkwrap":false},"4.0.1":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash":"^4.0.0","lodash":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"4.0.1","ava":{},"_id":"rxjs-marbles@4.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-SsQtFC9FUYTg4P6YiUxXVRMrwq8wfyc2qXelbAVMef5KxY8k1w34kmU9s6Vp/gxqCvJmDvgg9ysKn6Hi+GFyEg==","shasum":"6bd0fe713d952e396f1737aacb01bde3eadfd728","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-4.0.1.tgz","fileCount":83,"unpackedSize":940622,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/kS/CRA9TVsSAnZWagAAtHQP/j447gxjx8D49TOxvO2i\nknrN7L+iXCqVUcCg6FcOzgV2czia9dt1XJxv/HN46Dij/74Fq8JZC7VYnGIg\nejiRkf+ekw2k9bDJTHtqMj+U1F+RGsc6RIyos6zM9p2u443psOEhgBpgJu7I\nJpc6Gh6rudL/uiRRt/U0F7d+rfjQiJOtoa4kL9NXMeB4ccPNnpB5CDtqNbRG\ndxVC1gpRwCLixwGQZEmNsNu7nybo7ji7lvcE0M6VFXExZsb8QaKD5p7vsiKS\nlSw987HLEiw8KulICQKqzti5RFqE8oeWC9rStX0Ek3ifCULJDrc5QV5tHp89\nSHI5sqM8Oa5yjQcGzP/Mnf1/cJGncrlCLLkTzCCGa56z3VV/Wmu+ElC8Y7JF\n6p5TZa+EH6Ze2ZpAtQd2EJpyxyd85/vTcrb7DlrVyhkPTF+2ZiSvcH+9O5vd\n2O+L7lJdx3Ehsx2f9uJ0Wb+SW+uaQ4yvTRKuQgvIAQDGWYp18GOMBVNQyT4B\nFhS6fy46Mfa7dwjIpWQmyiUD6th3YrRFuQk0dVbjzibb1FGPWhtLQBpZfHkJ\nbE186+CJL1jRbT+8JHXtX6X9FSU51gibouGUgahj1BfocU1Eq8NQh2bZgDD3\n8hMT0HejgaYGJ9AK7JetPLZAsjRZF++0yZO10ndrlZgXh0oT9yhs8ww3sZf5\nyttl\r\n=9FKz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBEkx6QGpbq0k20lYgsQJTuPSSh5tln3QtG+RrQuh7kVAiEA0B91yVi9by6V699auGnKTwYzPjlOUBSJmlRYZC8UGps="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_4.0.1_1526613182306_0.22949882229166407"},"_hasShrinkwrap":false},"4.0.2":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash":"^4.0.0","lodash":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"4.0.2","ava":{},"_id":"rxjs-marbles@4.0.2","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-FHbCj7z0EMWKcjtyk8g/r9tR/qpoJ10Ps0IjL5Atm6Lz+lDpnQwwP9kWLLSsFSMtU2si9li7Jy6//yq+i3dMog==","shasum":"a02ec3c5d28ad2bf8b21b86d6cb529aab7819e73","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-4.0.2.tgz","fileCount":83,"unpackedSize":941130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/lPxCRA9TVsSAnZWagAA0OEP/2rAtGRIHI50v/JN8//M\n0aJW2LPah7l27yoDK24/nD73oOtI0SLx9aeG1K++50wwLaWn+NTuat0lnH2q\nIWv/F9Vd+9xqAR5G/LrVOQ8NdItkB0IhpPIVcGWJZvm8EUavmPeqrGkj5IKc\nPPQYHFS7/QUFpCUBgPymUMqDkyM/HlKsCpNh1byNiUpML1k6audBWMWiPdzy\nvlt+Sc2DrJ5XgCnYZrgFvdX2WQpuoogD/qt1cMsWplxZxobtHhGps4TPpc6z\n7qJH8xEq5GQZdAN0WdkLAeSNyRYg6r9t0XMVVBfuCOKfg3ukOS27QeeTCo+p\n7hZ+JI0OMAkBKX9DnZJLjZT6S8s4SZEXMcAQJxpvluvj31hROD0PrOUo1Vg2\nos3c5iF4kP+Yw2UJobOrrjDgqBAEz+Mub1P++YMIYwsp7umSbIIu8jNZSqMO\n5cPIJQwQrqMNW4Lhha8buZq3/V/PnQ7PdWHwJvfMH7FTlJEF1PfIBDz2OUJV\nsfjVI8U7kATjfmSZVTe4RPftuTAjBcYnAuLKgHC9EDvyxgH0dJX++cNWk5HO\n92AqsUgYLvNTnaW4L/tywxvbQFzVEZfq7n3xUeloVIMZ3Tcaj8ntYd6njZo1\nptnse7j2Hlgkns+4EJOCZ4ZagaQkQAQbshxdSxNfldOLwvz/CUyipwZ0uFWS\nfD8y\r\n=4X2k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEAgSmh5ILpsSbOLRZWNWZIpaqbk2F8CLOM1pzroXZGEAiBRLGu9a+q4ttV5WcSSZHFnhqBnoA+2HvErbN/T2pvFog=="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_4.0.2_1526617072709_0.8266881703868036"},"_hasShrinkwrap":false},"4.1.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash":"^4.0.0","lodash":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"4.1.0","ava":{},"_id":"rxjs-marbles@4.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-Pb4FAxQx/KHC0UE5mDAeFqfMKKh4Huu3IcMGgNsWXC8P1zXOrShRi2/goYx09mt1+raN8Vtk5edodoDzmLFb4g==","shasum":"f73fe49553bfcbe91c0085b4aa6dadb99bb4a6c1","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-4.1.0.tgz","fileCount":95,"unpackedSize":945940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/5OaCRA9TVsSAnZWagAAhWEP/iTLfkCCXmKD5kF/z7U8\natLxcAvRoSYT1ccDX5s8kemQnnRL1Xkb2dilRDbB6LYoRzfOMZo/y0QOVCrf\nCjBJak1J0tKIhlAhOmye6ZWM5l2z0GGkD5E/C8ozoJgyWg4vLhTffXI9k4yF\ncb4l65NXtWgGZ97V2l6iCKPBIN4FxF15qptVpOZd11McVq4skITMPGgwkR37\nKfSKA8A6lbORlE8vmn1T9efqwaCu3W1ZmhmJuw0VNwAqj690OEvQ4xcU22k2\n6x9ATYL0EEG29NZlUKPHtIWzDpAIR0+FPQPC2J0cTgyc1OaAfvE7Pebw0wGI\nXVxypiG+5xiQzI0UFBtxgODnFmkjZT8Igi4J5wO2GKO16j1GXIX9O3VflVg1\nCN+v3h0xPHlgbPkN8g6m7AKPuSky96XrfN824gsJEuwvZHWF2sC4mjMb52Q8\nNdOsrsFoA+iselXY6jcdeVPSL72nH6h4B8FInE9vLUv94OPi5Loipuflj3y7\nLQ7kxBBgehApwRTKcQD0T8MR0DnbOub4VLiJxT8cMVHtSFlU9xgn5MzUe8Sq\nlPfqkf6odxVCjSWgFirLF2A1W6iixCQPitwb93x1ObQhzp/Bs3vQVKtfWa/s\nwc1glCqkf+sRyjpvh5gJQKR2QRbnA/+dNbSkmGBxUAB1IusvtBqF/jS/t46M\ngVrK\r\n=pMWg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICdF7WdOY6uq/TRr8F7r7uYwyRFzQQNtXa3Dr8GApu8oAiEAtzcYGMvf3kyIIDM1GvgzlpVmPMvlGtKhdlMnEZOZYx4="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_4.1.0_1526698904440_0.8819783346850525"},"_hasShrinkwrap":false},"4.2.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash":"^4.0.0","lodash":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"4.2.0","ava":{},"_id":"rxjs-marbles@4.2.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-V0FIUmW7sVHm+rfgf/25M0y9Hl89EtGjdA+gtJ152IBz5ue6hQHAzV+yGq7RKBsZQFyErDXFCAgwVd55CrgeYg==","shasum":"3d806d692f842fbf0527f69b1dd540ad71470fed","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-4.2.0.tgz","fileCount":103,"unpackedSize":957162,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbG6oxCRA9TVsSAnZWagAADHgP/34yYVADP+w9t+NW//R9\n9BsumpaB2P1nMCUn1HrFH7vk3K3nn9a4taKroaOG9cDk9RAfuDhXNp3L10t5\n1UgZNLJ5wksfUqS+6wBfh4LYU1+gkrauXYOUASducLC0+1eKy0JHr+krr3mg\nlT0l2xz5Ao6DjwIDJxVGw+qCdAD4lAryHw2JCIBZyr7rADb2SalH85rTGL10\noKnVuPiaOnHuDTvY8LfzUqn8+fT975uIpG5VFTpv5K7dQ4uuRXZWTXLRfoRC\ntHadfQjbPdr48bwOFDFZus9cCUbquU/HLfhESYlBc8LSfD6ib3kbkREMf32c\ns1QD7HOOkbDGBl9Rfgh/ER4oTNmaNlKEk+LOKG1Q5u2zsKEmT4/79xUa0wn8\nqbX5gUr4tyvNtRZUsrxwCo+NNr6OtH521u7Tc40XZT+9z7Lc/UMz0jwtuKjS\n8j9Grp0+0D25PZShYZISSMJagi70yO8iNaT71R8LFjxGZtWAVpM9n0h3nMFz\nBE9vLT8CLRiUzKd2rOZ1kx5MYiyVbpiJhprf/xx4VCG2kWxIxy7ehoMYQ3sg\nkfH20e1CGC269H9munN223HWHIUjS4TK9tiCb9FKYX2Iym5vNS6ShXjtEsOw\nPN4XPP0Fo0V80MJwAphw6JbwCAdFRC7jufly9CXeEpr053nUFhLutStXnB8O\nN5+K\r\n=r/dW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB4uK9T5xRB5+GdfZtV57slQZlORz1tm+3tjzFKFeM4WAiBRFK8pVuBzZueB9tvkz+PouOGNrRTt59kBAIM/ln9d4A=="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_4.2.0_1528539695923_0.8173250641962044"},"_hasShrinkwrap":false},"4.2.1":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash":"^4.0.0","lodash":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"4.2.1","ava":{},"_id":"rxjs-marbles@4.2.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-Jsq/e890adD6qMh3DSHdO6mhiGyv7C61c78dhSmXUCXKJ652z9UPhGSVmY5W+j5CojwZWB5ZR9E+tHmsoFe9UA==","shasum":"446968349589a9e64d85de2269e3645e6b5a596f","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-4.2.1.tgz","fileCount":103,"unpackedSize":958010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbHJiFCRA9TVsSAnZWagAAOqsQAIf9zqk2K7JiX85JjsPb\nzlqFmt2D26A9H7PNYzzczun4rNvAVezpQIlA34V/o3pNsn8UujukLo9MVqnB\nwWdIcWm7LpPQS19Hr7MVBL1wrVRpExBMsk5ZOIVMGAJF5zqkScOVp6qC3SFB\nIUDCjR5g3xymmogCLMBDS/t/E1YXeWgXklKNz/gtdoZjSO0PFSPxYa7Y+ZRP\nXQSsjxxRhgSSRfV13tJSgUN9V6fbKAhflFFt1qaOLsJMfW/5H+ezFf9te09I\nuoAgJ2PGeiTuUJ3yyvY2LHOpYwihzHlncqRs5SwATnqZAnsNfNFoLk9xk5AF\nYmBnGAFxJH2LC40n/T2I0Y33ZB9qlhAQpCWyHWnD9EUZBIlnGl2DIousQsOE\niRu9QwyLqulT2zAOWGORg0DOtyYa7kAApzGJRIB0qtjrNA+wcE/gtKzc2b+S\nwn4HAVQLbxCP3ilnu1esouyqKJsUHfY3RH50Ekc1t+bOcO0Gz0KYPMmjrt/T\ni1nRYCdpO+aLh+trkY6xCc+LNyc5/7Xa2tVNC0fn1yFS/cQ+5d1B2wOI5PK0\ndt7YONY2DtkN/UyLeu486t8kpqFmWOVCa/eDMjRxbL6jGe/4MGp1IK0o+Fv9\n6ncTtuu/9Bwfun6eEt7j1ugOtSptCFoNQop1cu492ffOIeEcfTnqNqnFZaQ7\nfQQO\r\n=cQDx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEJCi9xqBVfg24WswEhklbaWgXau3DMI8B7gHDe0Fg1rAiEArVwt4BG7VoL5OctjhDFX+2UYi9FAk7wIqwuErsWjT1c="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_4.2.1_1528600708203_0.5479460451034226"},"_hasShrinkwrap":false},"4.3.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash":"^4.0.0","lodash":"^4.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"4.3.0","ava":{},"_id":"rxjs-marbles@4.3.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-5L5ruifi6GyWmCXcLkQ2LnvoaAYV3ANc7nELmU3tsqgwOHL9qAN0Vq6G5n37T+eRtN/ABQkRZ0+cyHMzlmTkiA==","shasum":"18343705ec0e048200b56ded9c06950cafe25b8e","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-4.3.0.tgz","fileCount":107,"unpackedSize":968654,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbLzNnCRA9TVsSAnZWagAAu0kP/0KOZPNjF154jGm2ZT4V\n4eOhEfDCS8sWuUYAarR6fMPPHnfqjR2fnEjrlFLdWrxGMdMcpdRvC6gxkEEh\n1AwBmhR9+b8IVyP4loME9lW+yaLJ6yrs+UQMpTPr6OPvGrOSZqT8bL2KfKz6\nxisR6QhJI6lCbLa6fo7i/l+zXJ6cbqGbEro8IVQSsszWjs4XjLV0EzXl8YOX\nuZbwTt7rdIzLmO1qcrOiUyT9S/qOrnaMdAKfwlgbL0ABlj9OwNOxrbKdvkwp\nyxbeTXesfnb/9aFbdXW9Gla0cq0ikCQiyU5GHBq5QYCReN0oqzfWXgwvzd8G\nurDaiTeP9KOU/wMaXqeDbnB6Z4+qO/QcBWAd1OH/zUT3q0gXgX4ili4z7Z/o\nKxwdPKgCjuGR52Yd9vQfJYpLnCSAE5nl+zwGgiVbiZGeg8iqIi6TsLsrOBqi\nO/aDaR761vEEMg0zO7qN26KJVEJrF0uOSIlB1vlskGzv8UMwaXTzkn0Cb4YA\ni2RfDhdWWMRQaBxchDQDZkhjQrEZKHC9h7yLpXvY6XD+Ttp5IxMDhCckV0I6\nr6nL9L2r/Ao+r3B/+ZwDQfUQ1vDQYlVEaXziIo+N/SjdsamBw+O9FMoMlE1U\nDdpQ2n1On2EaeaK71uxoVHQm3Ih2AXr0lr60hamxP7R4R6SUi0Ri8w6I6R7H\nSJxT\r\n=LZWb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGtW405fFWVCZW4q5/ZEsqOpUeLiTWsImasufqW9YVoWAiEAoj92eOqJyPRtuvnyh7srBpwUU93dqeTOgTKSTeaxKKg="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_4.3.0_1529820007652_0.8263605242627106"},"_hasShrinkwrap":false},"4.3.1":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"@types/lodash":"^4.0.0","lodash":"^4.17.5"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"4.3.1","ava":{},"_id":"rxjs-marbles@4.3.1","_npmVersion":"6.2.0","_nodeVersion":"8.11.3","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-ZstjS6vTF+9kbNV3ENj7Uah7k5g7hs0DFHs+4vdxelphccqK6/v6rNH0MVzps2alYOs1Wqap/qfzT05UmwP3nw==","shasum":"b20156be06106003c0164fe75a9cab871fdf9fc4","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-4.3.1.tgz","fileCount":107,"unpackedSize":969046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbXncHCRA9TVsSAnZWagAAI0YQAJ3KEJNlHk9NnaihOY/F\naQsvHGEYT2ce0xADylP9LV1sOtbIMc6c8Ucr2sWGdZXphgPGfmM2mxm5gKHp\nR5EeElcVItZTCqPlQQ/83pCycWq7ndaFvkVxFm0xaUAVBWuDKGy/Fy8hai5q\nfoLiO0zeFuA0WCP84bDL5mp3ts6O1UJ+o7Whc8y+/HE9WaZ3eOFDqrQ1NjmH\nmQDZ1vy4JHjKwqCrVFxDqgoSUm6sqCVsVJSFIEiFMbkHVumn81OYdDtEulTK\nENwUFTEl8M1lgIfxNjKafP9kE1yvLbfle/RQIPFpCtTa1BSMVdzpwNGdssKt\nNIkoxTUuBacnrOJ1mt3dAHSrPBQ6WCJgZNhs04o19AMPqWKEjSnmarXJpWp8\noJdMGejdwB5Gj9ulv1gd3j9gjGKKXK6O7BPjVdJhS2Z/VaOpTHqOnsbw77WY\nMdptafQd2PYcGoqRPvxOE9kT2PXBHbqbvRp17c2rqO/IJ018pd/+szuGxGVm\nZPdUonO9KATuhRrd4YSd2er70Y/AEucm0WkmvFLRL30JFuOgG3ouz9iTgyu5\nOQpKRybz5ctuPJTeW0LIYnVCErUFXoOseK1B0pGUfZnuJNJbJ8uyWs+7xc1Y\n67qgw1WKr6g/lsZIxfO/r9SWNsPuvdoLGkTMKpgcxytPUacrR/IcSxSwIN8W\nwFbC\r\n=pJ/r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHekRnTthjoaY1BHx1J6hL0dG2MWE/VextnvVlkTJulzAiB/VTJvIAtkAv+UQFXXqXAAa6/gKyc31wuRNCaj4IOkGA=="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_4.3.1_1532917511538_0.14031566892650904"},"_hasShrinkwrap":false},"4.3.2":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"fast-equals":"^1.6.1"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"4.3.2","ava":{},"_id":"rxjs-marbles@4.3.2","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-gbdU29YXWkURa5ih7iaOMn2siGalfcD1u4mtj5ebzTy/mQG4XSUdyCzVxN5FwlEwzzucIEY8S3NPmR5h3iIELA==","shasum":"b579ac3b0f58f7ed0ba5d0ef1863f6a2ea4556fa","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-4.3.2.tgz","fileCount":107,"unpackedSize":441623,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb3B89CRA9TVsSAnZWagAAPUsP/1iB8Z+n4f/24DgjAZjm\nC4KpcNNZWInrxWSiH7AqqORZrHBGp1iaeB4W87I8zMyV51dgOQqe9Hy0VsZF\nedX4Z/AX3fFgH9irb/xVlYS9JAhKgWOGNEiop08WJRaJj1sD8R1Kz/FDcjlF\nqYn/w5BsrLDMdDXYIl5VNU9hEPQGlB511jAFgjqHZOHBLA4T6Z5TyUxdOsfD\nR6lutA1p4e+WBRkb+utIgUIP5lfFTn9reohJSrKtH2HsFDcY7aQPnukMiAuE\nta8Zn4NeQYgfNW3cLQNlkUPGGSWmaQum36bzPmiVOb2Lgd28YhTgznElrQxo\n04JF4XH3FJshlE7pwpUMf596QqAUs6wpGGG40+Hpmb/Fvvu0/nTMmKPkWipi\nzG8VUK27Y/YEDjsytZpjy+rK/g9VU3V3DOH5XxvViB2722It5DbPt7JFL3LV\nrGnPpnyw+orVX/QvG1nXxP8KmKBR+72YZxqR6fmJhbROuw+fMx9Y1LVr1LgJ\nNwdFQzna9ogyDMpwAOSKX1VcMwAdHhqJ57B1rOUpCxbFMVLOAyDEk/CZ/ptK\nOKUffXhaVIvX3qNL4O5go4Jwph7SdRWYAKWOXp4ezg/+tsI/XnhJ6vawWb0X\n0Q7DH+Sdcs1bVn2uJCfkG/Oybj0wkXHJ+27ZmD+foTpcIkrcm1BDAPSULNW/\nFova\r\n=X8IS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCntDjXaoTC718mG9naX3ueSl4M089vF8ERLXEhZ1DXugIgcFrAVnOdeSKNZMZHDER5fKymVUbJUGMpYct2gAu9djE="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_4.3.2_1541152573122_0.20470679487225163"},"_hasShrinkwrap":false},"4.3.3":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"fast-equals":"^1.6.1"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"4.3.3","ava":{},"_id":"rxjs-marbles@4.3.3","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-F/SikW36TS/r0jY+xDgBteT+8vxHddp2M2UsihcNviapWv/PR7fPU4ftbL9pRRPscXTKB1fA4hBd64685BiygQ==","shasum":"9a364f6281ac3d526676a37e8f7a362d0348d085","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-4.3.3.tgz","fileCount":107,"unpackedSize":443672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb54bbCRA9TVsSAnZWagAASWoP/33tjI9WhUzcnkFP9Xlc\nSZ7uMpMa+yaztusDTxHdtf/YrLK/D+f26CCFOxBGbiCjAt1RqjMQjkePVtmw\ny9xC6UVlKTpsX9Z5QvnXzQQRv1brXaEf88AQ9y4+N7KIaEUP/u8k5vae0WB8\nyyNCVkddOcs2k6KhQshyjmFR7fCiC1jNGX3i5kMJn8DuVWyz9XLbEDLvRjG5\nGLLP2WJl8HqDax6VZ7XQCKszmfIP8EXkfjz4atCO6ltVD3Fc354n20MkUTeN\nka8dzM7Jw4tHL5RuZCUuGBJaxD9jnnkwNNHPZzGm5B5NmGiXHUMSlYv0TMXz\nP4jNVnvHxz6qtAZVqmtCwN2bQxM7qkv/nxkttaIeaMOvxU8Vr3kFC5y3NIVA\nIfVZGch66S2HSaxPpsfaf5mPrdbD38UltMwgf3wlVkpbb38132EEawhd5Grn\n53kiWR2WZ5q/ccf01DjDkEIA3CTA/d3ksKdzLAgM7/EwbILF9i9kOwQlMjbo\nb8k06wNT4dWedpCvBY8Knggj7FAVAhQJAZe7AfF9bRFDD/GFm+QwePlG2Q2O\n2XmZP604736eWJWtVnCbKC/6BGhRSQY+LPfqtgkSJarULHSjBPsWeKHPfE5X\n/qRty/4th4gL48R0CCfglZzJjgY8w1s1XPOr/VJJQ3r0qShJG03DJG3Br3Mh\nXEZ6\r\n=loao\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKRxVsBxfm0+oAnbxve285J/9AXmBnHKHDbaIha10KEgIhAJ/vJjyQ7bLsHQyWDQL69pdVlnPoxrqaUbyydy63xnIF"}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_4.3.3_1541899994754_0.0738294807359332"},"_hasShrinkwrap":false},"4.3.4":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"fast-equals":"^1.6.1"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"4.3.4","ava":{},"_id":"rxjs-marbles@4.3.4","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-xHFThTO6LdM+KQoOsA29zHaIaYfmqmqItbwCEw5zeZPN7M1aCZ+xLd3M6bMdko484VrVat13/b+9BEz5TlVIfQ==","shasum":"f61aa87b53b57adb1bfef3249d3bfc06971364de","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-4.3.4.tgz","fileCount":107,"unpackedSize":443948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb6Br9CRA9TVsSAnZWagAAYU0P/A5UKQsMqiaeeYHtOgyW\nWVqc8VHLCLRnq+MYuFQ2wo/M2JIeZN1rLsNEVEhVsvk6YXhK2t+zTlj3w9xC\nR2QBLqfaXknyMFU0Jjv4DiImuwtv6hRzEidGtF7jOI3vOOQkufaNreowEPWE\nzKiW+6Wwdmb25rqTXy0YrENwlNyjk6SMLaKDsmoJK1aAKhOJsZn3FTT7AAXq\nJyuZe6RMMVazO5sy76d3jsuslR6PLTzkZqCCcU7JeQKxag/O9ghtbR4njIkc\n7ZpZ5KVZpP5x3eSgBpldtef1CR9UK0uJ6Npc1MTk48gTd/oIl4akGBbzGAas\n/aTe98UC0qv3b8RcZR5PnftuBGxcoQaG873vtgjceqiLdNgJtu6b5pfirEvA\nIRSJNxDvYu8LfcJuZihk2G9+/64coDn8UnxJOEM5qx+6YtergurgBvkLF6xA\n3PT1q/VVQD3CUlUjxkZ/c/tOSblxWzmq6pW2e331J5Qwhj06d8p94YPwDPPT\nPvY/7qLMyek5Xuq2eF8L7HL3cx9ywL9NqUM9NSmfvtghu/HpExTNcerTHax5\nDnsllbcXrCiVFFtJoAfa79SxlAQnw/zf5zDn2G1Ii8nK1EhzhFPHacYWVvo4\nib2VkzGvxKQ9LIidjGKY93YgJwFDEixHUVY8iWdYJo11Pg9axWswaH9vNccw\nx9pJ\r\n=9pgk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCX8HDnmIrXiy/4G4byf0UpSlQtOjxclgkxfLJxWtGRVwIgePapp0MfRxU/uB3BEfTcXbjIlt3vL867oZI8R3wxcJc="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_4.3.4_1541937916521_0.6539721730332515"},"_hasShrinkwrap":false},"4.3.5":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"fast-equals":"^1.6.1"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"4.3.5","ava":{},"_id":"rxjs-marbles@4.3.5","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-608NiJj7eFoUnOVbOtJQV/A/rNYlHLUtlO6SuLD3hA0HKkKEGbOY7op9v2KxmcxDU0avmSioKOvJqnyrLHXqyQ==","shasum":"aa98167152273071cde4d3f929bcd66de98a8341","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-4.3.5.tgz","fileCount":107,"unpackedSize":445210,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb6KY+CRA9TVsSAnZWagAAT54P/iITgwIVjxIdtNvi02vC\nY2tY7gbmV8GDAYa3XmuRKUVxyVlRRUofcsGHdgZ+53rFJisaPeFDrsQ/2jNe\naxojkpYpdFY2UqYJnfg42FFBImsKfyYkfsoqeL2Te3sR+Q1MQ89E382gDarM\nXx3vp/Xs/98ze+Re4oOfuIwQo4n4Qa44KGcCpBrwmBvfcejs1f/2AD7R2jqG\niMTDFOtcRcjeQ42m2aEFkgDhtmPQL5fFHgOZKJVXb5pTPDt3h576Ld01XkQl\nxKHfNwJZG976H87wAzCAiYwATarhtqAkzqMUUky2Cvgm3RpTQy7qYqrjf3x4\nWtW4zELfKvBgBDamt2+4n/Y6hKjht73XZQfOEI2m7DQSUPtIs8jgEe6MXyUh\nBK++q2I6ayHVQBSZan/6RUXdV7Z31UHmSl38xE+4B6X2/r0n8kFaQFCZ9byf\nNHuOgiYetqIYgGKC7KleJ2v+OATWEpIeQ4PPB9w+XMXCCww72Aujwp9HQoxh\n5fIc4tpZO2zFlQCLuUQO9AtL7Xl+xBH6TA+C/37upBfkSMR1tNTs4qXB8SSl\nrK/m1H5dTCSWQfqQBks6xBSx+7jU7X6WJIBMex42P8mJ2tgbtoMYAgWwBTgd\nZO8JejueWWx8AGxctKHnEoVG8/Hump4FCx7eQcNDnWVwttNOc1KgcIvjOWq8\nBOsV\r\n=CSLs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICQP5C8aC3wgw2RL3LicbF+zQN/2FEbZjFIjyVP8bYRIAiBe7g8t1SnEkgGPZbsd2sXJYoFY9W5iPiuDhWgi7EvVJQ=="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_4.3.5_1541973565233_0.9014634580761798"},"_hasShrinkwrap":false},"5.0.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"fast-equals":"^1.6.1"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"5.0.0","ava":{},"_id":"rxjs-marbles@5.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-Twr69tKSxC4ObE/afKJtSPuw+hVE5Paul8KlHhVsnOpqnSHiOd9Ff94RUx+fsCXYsnEILrf4qLsXpHlYzG4a9Q==","shasum":"b46b4d6ed8ff62da9b5da6df1bcb423df56c72f4","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-5.0.0.tgz","fileCount":107,"unpackedSize":445668,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcFXPeCRA9TVsSAnZWagAAYy8P/1mhyR1+BSri5H7EQAJA\ncNOsdMpeB0o5RS1OkqemNVVtMQ1DjNLrE6sAcf5wTAstFKU37/mLtGfec9q9\n95Cf/wnTLoOxbPT7t4p5ZsIeQCU2m1aQpRJhogeQ7LYUJ0u3eh9zF2MbGD1k\nY/xVHalLbXIDcxG7pT5PVofTIuZon6lVMkf2afXqBlS1JPG7hKmZceaB2QBb\nI3ykpy4etQKn4f0CChHWBABaEuGlt90ulzoIwCVBxKA1438F3uCnSCWqChRo\nFpqKLsx2oLZy/WEJT0qLs8uKGr5BTYQmcrfwNQxfsk2ftRvmFgSCGugdiY67\npmoNbHK8F++Lyw+cqE1YJH7b7MDKIWDbhRdvFrEAOQv+va03ZQp9yiHrScjt\nBnwfFcaHdshDHvzaLAXfkrwIRwpucBuwNk4gpRV/qpgVBohjJemeOZ2EQCjT\njsOUKzvfchxH7mXYLIK4MqAGnb6C5YHZcxPvPfqQ8TNvIoNe6eTApcF9AR8q\nMGkVr7piElG+txsLU3BNLcI/6/6Bk3qQG9KdCtA2FZoOJSvos9xmj0Y3lFgl\nOaxTQWoP1nTY7ieuNd18CkX9ifQr/eerASrVJWZTyx0gGgSis4s2vqck9eGw\naQ81SDDgK+hTF3FLg95y03kUc6EdiHShNOkC/+PPzm8BPgXJcI58CQLUrFPo\nXUOq\r\n=VRAa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC9nZwYcE0M6SWSKEflGrj59BkD1L8szGDqIR0OGICpMAiEAldn7wUxFq12uTJ4Ivtqfqjh0YdC3Ltg4HJ81RspqHIs="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_5.0.0_1544909789552_0.13460642096153785"},"_hasShrinkwrap":false},"5.0.1":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"fast-equals":"^1.6.1"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","lint-staged":{"*.{js,jsx,ts,tsx}":["prettier --write","git add"]},"main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"5.0.1","ava":{},"_id":"rxjs-marbles@5.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-qjKgZojswpIzVuRqrOcN+93C7Nv3GiAvOmhQy4NdeYn0kBwkMZzI2n65aJPIgPKDSsT8QZXIoQZ5euD7zBl+Bw==","shasum":"cb89b811bdc1640e1a1752bfba1c6b0da291250a","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-5.0.1.tgz","fileCount":107,"unpackedSize":417313,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcu6IxCRA9TVsSAnZWagAAz9gP/1X3+S2jQKe0Ncc0Crh2\n/+KE08YbXcnOJKL4yTjN+W2GJswzAmHsn5uF9HKuCwchbQGr2V8NLwvLK0+w\npLe8QwlGxSA6wVx3t6TCiFTG6Ktb9BESLNKFUckfKh5/JQsWRag6y4KVAydT\noE/ND4dZ3/CTumc7eas9NnPPSWBkrZdQ2x3hN8hTNhyMXgsM5RhZGG+J7fzP\np46QQLRBIVrEz00uiqjEEmnphUWMJ2qn00F3Yo/FWDEs+zYbyJRhHh0PH/FE\nVti8+2WvhTxModz2COUb8D/A2XLwNKOW7gehSuZP5H+n/oS2qs/CHOoKP25+\nK3pZM+VqPnpgsdbwYw96EnE8jraFBrtTkITWOUe6Ypgg9LeK8ADr/tIuLfHR\nfyJyOYSCY4ZNcmvoXkIzZXeDwQs1FeK29E0Eca9LV2tjaqG+tfa+PTACzuSO\nPR0ybFHg3nMN2zc9aVPVx1s6GdZBdSTR7/SnB3ougzfBVsbHxa3M7MtwDXfk\nmst5TXx+kJcOAhpR2oXBZfNiJPiGUW1njPn47aCX8y7PB+FvGLxEw1PeBgJg\nfO1ekpmw8Iv4W/0B5KuPWgoC6sAbrk23VHNJNqhY4dZp/Vp4BMFhafIhUKJH\nWoTH9maji+q5uGGWJ7VS69AOfxbH0o2pdjVYkIiG4UeBORXApppWaqOYMk3d\nzRxr\r\n=8tox\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYkD46l3NO5j0gGE2VPDgMVrfz4hpQ+IScCnbsYDhnFwIhAIaX3OGXCx6rItzN5wIKZSxe2vuex0DsDsgkUc3JkWDW"}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_5.0.1_1555800624666_0.7522528443373411"},"_hasShrinkwrap":false},"5.0.2":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"fast-equals":"^1.6.1"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","lint-staged":{"*.{js,jsx,ts,tsx}":["prettier --write","git add"]},"main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"5.0.2","ava":{},"_id":"rxjs-marbles@5.0.2","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"dist":{"integrity":"sha512-/THFXEVM7tTGseEn30Uap/CFs53E464H8sA1HztZg5KdPGs8t3cz5EeYYKyEa1bJmuNxVntltudFfgudMLtH6A==","shasum":"ec2ec8110caa548e9c17997ba1fdb89ec8387723","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-5.0.2.tgz","fileCount":107,"unpackedSize":418219,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvqG+CRA9TVsSAnZWagAAHusQAJIKrXw9rXC41usyhI1P\nKZkOCE40jboVv9DF3s80bK3Wg2ic5PMQ4CuDALj4jkVwXafamh9YDyIO4wy9\nDawaZh3y0gip6vuzLfLyrR5Bx22+/tIpEeyQPG+WQUB6Eo+0Xj7FkPK5tim+\nQ43Y3vuiEYiTza+HFi5iRk4Bs1m3GDXB5FR7/R0YWBL3MOYnXcawUs0+iq+D\ngIXIlVtvqFVHJxZ37PMaBwmeFxov2NSp2RXRjwx42MgXm///S4ONEUohwh8V\n9bYSv01ESalIl+sXFYZUBCRczubz1JTZl9H0CmE4XbVAPJXBrxbQZAi/su/T\na5yV9wBGiZDBAW71AqX+IYZOZcAcMIMF3E/P271LfvwXc0PW1hU+RBEWuA0A\nIpOwfK5ctk8sIWiG0nf7f4tKYwsMOSp7FCs39sEG1hbZ5yyoZCVQgMpgeNgm\n1nAE1neql/aZlWHZbMllPir7H9/F1g1qjy+UIRH6ndzJFqJfG/hUuqbKaceZ\nJuWM+ivWzfzrzS9Z8iUJB9SSDgVMSAvEe3U1NBltFL3gpC3dyt0eEyvxxA56\nkxDc6rRSc6+yHS9d1Apx5+K9d055iLuWrG2RhyvXL45UQRcexBkk+DkCCNqV\nwfLgek2jUW6RMn/Puz1FDgzsCltbqQ8k1kdr5k6xMYRQcSZHczdaOH55GXf0\n9Cl8\r\n=z9/J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3mATlXsbcOkSvGQIp6zHUFo+nzAPLmYTuu+lmXD4yBQIgTggfBgt1Mgvi0YO2r0ghNlBZGTE4jRYTvGReGQVBWjI="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_5.0.2_1555997116808_0.6740163790361839"},"_hasShrinkwrap":false},"5.0.3":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"fast-equals":"^2.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","husky":{"hooks":{"pre-commit":"lint-staged"}},"jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","lint-staged":{"*.{js,jsx,ts,tsx}":["prettier --write","git add"]},"main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"5.0.3","ava":{},"_id":"rxjs-marbles@5.0.3","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-JK6EvLe9uReJxBmUgdKrpMB2JswV+fDcKDg97x20LErLQ7Gi0FG3YEr2Uq9hvgHJjgZXGCvonpzcxARLzKsT4A==","shasum":"d3ca62a4e02d032b1b4ffd558e93336ad78fd100","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-5.0.3.tgz","fileCount":107,"unpackedSize":433367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdfCDECRA9TVsSAnZWagAA3v0P/RkqJAWP5uUepKEiDFq9\nRVtlkFe+OL0/OHUR5RjWfCbdVCVgsJCIfibhmr8lI+aLNN2HAq0ETbaYIxwz\nJKPgVqKvEdpSFLJYWdSutyIGOgBpPULlLm6O9fv06CpxjcJHe3+GOK+2LyUM\n030J1RH6nAe0kX3pf6efsiKOGJVDWKraKGOtdxS0g3Vp66UmDNEV/sE0gPHd\nNzNaNSJGlIS/yW3WlDav7TfGEd+1P+J77yB17zdtzNlv1JMZb30Q9vdXdL6+\ny6NF881q687/XdRir/7ikOZWLEv2/UZBoR+Sos6ShQsWeLLQYxvMv4zBVhXG\n+Jg+8vzrydSdKrZ9HByHNgbRhVgXii6/VHvs7U51q9onUR/opFsd/8uOZXih\nZa8z8HuNPzrQfPIGXq/zDOb46IdHapUdQWlGPWn9733IhY6TzaCCG08ICnwY\npJaHjZt6zginkO3ZPASFY8SgIs987TffkniRPmg79KHVow8149mVDCbHN7H/\n6kIOsFp/TqzDa7QYYZJ/s5PwgwEsEjL3wQKjlHUuhcM5Jtua2SHSCdUrZbd5\nXoiDG45BXoenQYESyVsNlvuEGP095Ohr/WzmIqaX5TVqRVhFrorS/6FPquL8\nrOwdNAKjr43WD277gFAOIJCTcJoCEIKQm8Gk8J6hUsJLTUVC0PDM2BWGtvRD\niYe2\r\n=Xrh3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFK41NF3jS+I3pZvs9H+m/yrAFj0hzaDxXs0S+FxjFzwAiBDtzVbHmVmP+E0RZMreqblJpg4RQbVhn+VVwCcviq3kw=="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_5.0.3_1568415939572_0.47402143372555017"},"_hasShrinkwrap":false},"5.0.4":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"fast-equals":"^2.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","husky":{"hooks":{"pre-commit":"lint-staged"}},"jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","lint-staged":{"*.{js,jsx,ts,tsx}":["prettier --write","git add"]},"main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"5.0.4","ava":{},"_id":"rxjs-marbles@5.0.4","_nodeVersion":"12.13.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-3WGNoUtlQ7NBVROzkQthpKDF+cFPSbtkd5KvEHqoVup36s67WSOt+krnA09QjM7j5a076j4bsaAxmOBqpA+Y8w==","shasum":"6895718572a3de8d76e823b0bd54b9e27a6da3be","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-5.0.4.tgz","fileCount":111,"unpackedSize":443033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd9GX3CRA9TVsSAnZWagAAHUMP/3l7do5/Qgxd9qSzM61C\ndynGqrTqHuxTwHQs40oclt3fLlei5ZdWk1fInuns2tU61LL5QE42B4W+ZNY/\nBBJQoHB+QokDzgW2goUe5BE1CcVs/z29Wi3YS+FMWER86YhR25cfn1KGZpVn\n/AGOZLD/OHNeSY50mkoD13Sh1ZE//RrA7DpblJrkMH3MQnu/ZeKAYiADRwHb\ny2ALLTw6VVtvilzbqNCNncsKuin7VQzff0VovzPGyuGjfK3qrCc/hEIym0Y1\nj8+dCyp4Lpebfa8SGlHC30oW4UnOgGago+4pOfez9HC6bMDXHP0da6H2uWW9\n/2eSYlfs7PxkRoXAxF3WosGvBqg4afGPeckzpRmrg9Ybjmb+kuGURQAcZSeK\ngvKbpKrRYUMMvqEgaZEi9KYFWO0UbjtKcJ/v0+j4D+w86PKDen95LUqsrOOq\nJhYWRmQisiNKs5Y5RX4eVLnz0F2q3RkmYuDrIjk3PJ95NlK2VHl+TnLRsrKn\nIzdjL9jhx8D37MidOPkPwIpbMWAdQkIlJGFTTVlRWVAe9v6+LsMULreM4uL7\n7Y3a9LBS3pnJqXmU+XAaQEx7e1xfmnYJE0qsTxAualonj4WSbRtxlNplJEuW\nOwVaECTV3yD7b4+hHSVug0KcW5UQBhLMW+UB5jWkmN2Ro/3ikH5swXuFxq31\nWgeq\r\n=486g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCagJXHRd9xR7zkLsT+UDbJ7Qs9RGIsfF00i+e+rZ8wsAIgSj4N9dI5Wg/q1ivNBzwKBhesp2VfSEEdR84AyY0to/Y="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_5.0.4_1576297975275_0.9610130334469218"},"_hasShrinkwrap":false},"5.0.5":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"fast-equals":"^2.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","husky":{"hooks":{"pre-commit":"lint-staged"}},"jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","lint-staged":{"*.{js,jsx,ts,tsx}":["prettier --write","git add"]},"main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"5.0.5","ava":{},"_id":"rxjs-marbles@5.0.5","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-Ni1AAVdq28CEIZaAQpD2+WhoaaRQ7FOObLVf26rc7g7S/QEc6GmfoG8lZicyy2KKxsExhJzTnyUCcLBG28/0zA==","shasum":"374aa289f5488b6c6a99d7d164d96a8db1df40e1","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-5.0.5.tgz","fileCount":111,"unpackedSize":443716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJec9ctCRA9TVsSAnZWagAAE5UP/jcGWngWO4XEv1u4glO5\nxKCF3H7zXUmT3NM+uFCUbdZrFCDtYwdkHwQmohRf3/24n9sf+dZoGhq7HLqT\nQRjdg5XUMHkpUueSodBtFgQzMT/HnJW8DlPYINcsG1fUALmBWlDGE3MNkdGl\n6WX/rO+0aA64Te+HA/aF36Li4yEKAtmMr7wwkkZMHu306/6hHpXPLztyiUpa\ncW3lBk9WkctzjWG517VhIbtlWR52jhHMYQXqYVLNjsVXzs/uGcsG7VcLvdb6\nrHZ+XGv7sdDqR/g9lGuopo06nPtFUZ7S3t0WgyNzZwyy2GL7QFls/CtQd+r3\n9bqdZaEVNT5SmRTGgb1pHjckKodUigQNp+ZIzptvziKX8mYzIISvW+ZQxiR9\nqUwG5ExQakgBF4Rk2CaSOvj/XyI4VTRbvIYsC+MXO3U0i+pMmXtMOUOP+0Xp\nQkeNk/sM9AicCieIII1M9SGxh4rIFQWamGsqtoWCvnEz27diCc6C2iva+nG3\n/PO9KNsnobtoy3x4enl4LBoUJOr+m9GIJvh5RoKGYTNVl9SBWsf1nw/U9mTD\nLWcincIqRR4o9yGe23ZK6N5w38Xx3+YU2E9xHtNBjSUjh6WLjEQ6DDjylKgV\n2w+N/TCm8iAwMlSJDpXoaF7sHfSSDiwFp4Vn+1ShwwPTpE96RI1BTwKpuKKd\nclMy\r\n=+Mwh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCE++jVvASrMDupKLRGyHKXbp/S1zzlHy4YiptdcFfZpwIhALBsHBIT68IFl9mDoe9BSXhp57ASUoatls0m9Z1jMEpk"}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_5.0.5_1584650028625_0.05879161325515403"},"_hasShrinkwrap":false},"5.0.6":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"fast-equals":"^2.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","husky":{"hooks":{"pre-commit":"lint-staged"}},"jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","lint-staged":{"*.{js,jsx,ts,tsx}":["prettier --write","git add"]},"main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"5.0.6","ava":{},"_id":"rxjs-marbles@5.0.6","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-VEcWhSR2QwgmpOh4iL/8BtSqXwnfSsM9JjCVVG/NXbHOuPIzLQ/RJpgvdt0eHixP5mjLof2VODVR62XRCdOqgA==","shasum":"e8e71df3b82b49603555f017f2fd3d8c359c4c24","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-5.0.6.tgz","fileCount":111,"unpackedSize":444499,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefBeuCRA9TVsSAnZWagAAG+gP/2qR0ma3QQt3NhCguadl\nYcf7HCIbT6uJk6ZZ99km+eaVAc/+KdYmrb8IZBBu2S9AWUItYCTnrKP/C5vm\nhtE+gzlSwq55oJNFuJabsRCa838FaKUPatrPb2jH+EpMBobo5VjlmnTXwJYd\nTlKK26z9YtTId81Cj8m1A4X3/1NjrKqrOdIgq16vDnnZAgcWC9OwnAFmRryz\nSDL9erhT0QKfGvPiowHrsRD5ARwhHke+B0l9dDeGHJ350h4Pmrk7U2Dco13/\nzaKNZrLCqF7sxB4Cc09304r98IvtKOtlFJfnofHdzd3OHKKypMEiWogJ77Zk\nWqjSzTWHDbbEK9Dp18JdcqfC16Qkie+Lmz4x2xWuuXPRpVkjjNw3ZDqgbxod\nSDsUuD8lsG018EWAEcfAbmu/+VGogadxWQFSb5Ek/WFLYyJ0VMB4S3TS5Ygn\nDgdREWnhkNGPKu1XMO7Cto400chZ1ZKVazH1etamYenEK6i2W8ZuaG2HVmG4\n7BNFPMgK5SXrg6V5YTmsmngFK5+p6q/Y83I+4KRV+gA+vLJW6uS5tF5CVSfl\nc8/Mlu6hr6R0XTZbyELlgzStlIvvy3JkKN3xmF12nXegNJ+Pjw0PxWr63tld\nekGPKaZF+0WjxJ30YAesunEG7PvY8b6Tu4e+egc1JExEjXhpznJWbE8fMmf4\neT/0\r\n=QuMC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBY9l65DvQeBdXNy0L21Gjs4AoZcXKkp+h7tfWccDpCjAiBdSZgtilydQIRTbd5CuU6H+0GiQlstlTSDxj0tZNvB8Q=="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_5.0.6_1585190830094_0.6274072840035803"},"_hasShrinkwrap":false},"6.0.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"fast-equals":"^2.0.0"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","husky":{"hooks":{"pre-commit":"lint-staged"}},"jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","lint-staged":{"*.{js,jsx,ts,tsx}":["prettier --write","git add"]},"main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"6.0.0","ava":{},"_id":"rxjs-marbles@6.0.0","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-d9EzhUc0VWeY8OaF/qpZNmunelzE6tml+dOPlyJ7bUWFnmUrQuHAvIOP9C5eJil36dkANNqna1Ev/aPtAd5joA==","shasum":"b8862b20e94cf0e685222dddc248eb8bceaf4f31","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-6.0.0.tgz","fileCount":111,"unpackedSize":444788,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefBqwCRA9TVsSAnZWagAAI6MQAJdiCctmkMyggcYsX2Nu\n+0uix2hhqbd26/cFXusaY6STTQW+LLz8juKcE6GILC1x1MQbDvMjqBV0tskl\nQYvXFp4fpRSNPSkcubW8RRBqgPvMicg3Y/st9S7y7vZdPj41Vc3if4riTdgH\nQGBqwIj+HrBGDN/qq0GJxdc3qZ6Wi0D7dZwSYyNnUU0p+HdySlGTYA1I1vxy\n1VPxL8It1Tv/TAwD1TNI2dW0AHzTLrkoccTM3ecvb7OAYRoQoeo7lHcjUAR5\n9ZtBlWrRN6eW10r6j+hnj1v0sQVDfCzuL6ysaAcAqwThgnS2/huWiPQs7QSj\nTWb1PV3ykhlIEFKFHfpsOekhtUjl/m5dn8fJ093ft+0Z+16y4T4c5s+bVQTE\nPN+c1Zs9ZbNS5kitND/cKrV5TpVg1vQxnWmRMLWLacwQy5E5UJQuDn69j3Dq\nZccV/ow4nSXmPyROZJB7GLuB8Y7Q7HGGXuZF8d479zUullKKLGwgd8XCMc8k\nL0CyrAowecRtuOWZFpzp3+y47vMv4+xnNeSZGcv8glBz6tSYPiSYDgUF45fT\nzn8fKU6znS1CLgMrG+7CNYJAjNYD+4y3eC0g41I4JXochTlIBwQNklTa70jr\n/Jl+sjEGa1UYp4qYbWf+WWn3KxxNNLn/T4Uq9tSU3XhrBBrPjBXZOJgXIYTD\nN2L9\r\n=muGo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBoVEaXCzaOOMn8b5F5P44N060TssUmvpgwhk/H+AXedAiBW2eVtsuuxMJJ6bKQylOSd0dA0DR8AACDOdKSMcZzLjg=="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_6.0.0_1585191600245_0.7516985603825106"},"_hasShrinkwrap":false},"6.0.1":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"fast-equals":"^2.0.0","rxjs-report-usage":"^1.0.4"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","husky":{"hooks":{"pre-commit":"lint-staged"}},"jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","lint-staged":{"*.{js,jsx,ts,tsx}":"prettier --write"},"main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^6.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"6.0.1","ava":{},"_id":"rxjs-marbles@6.0.1","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-k9bqj3oRHDRIwnoetpifxXfWRM10Udd1RxgdYLltrE8FmRmKzaHLzxv8oabUlWhQj4/2sfHNR/y7UuhPIcODwA==","shasum":"aef219bd51e1e65caf811c267a05f729e04a1c8e","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-6.0.1.tgz","fileCount":111,"unpackedSize":457493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8ERsCRA9TVsSAnZWagAAQ9UQAI3zl/yEqmwZiMWN0EyL\nTKYLx+mZ2xIFAukF5Zur93i8JlRyWd0P3TcrPPGg/SioDzpGf/1Mdd4+ntyi\nkRCKaL2Ie4oQldYaZalTaKCZl8xcCJG0j5kZ1iI7FrJiEgs/xZUDbmzT2ClI\n5ZxZ1+aSSDM9/VNwnISz6VL0/bBCR8wqh1y2bsN5Kf9VpdV0EqOFL8VqKEVk\nS4WfrbJ954q5PpNSmnFC24+26pWrnWbQP4h8HFX9vdKxcCfC6uo8cATJI0O6\np3tSZcRe0rI/OUPAejz3bGFSsY26/Iv5YXt2svcUBGG29za9FaYMokMZRAel\n7Ie6RHC3pnV4v/mf1ahK+gu0L7BWId6PKJjV4sojLGFku7MN57Oseu2pxwfq\n2f5OftquxMfabR8j2zWfqNjd+30sobAjRXgdb4RKklE2oQeM9u+tIYkwbZOr\nB9tk2FtQ+vIKFcpMbJr/WfVsAmEJ8LRtaqU/n8y3ycoTHf0d/3p0H/N78hrI\npIEh0XQ4VLMjZuLJMt3yGqDllT+LJbRJl75n8X9cxNJ37TRyf8pe8/s5bSV+\n5nlOpgt/r5k4k1vTn6wBn7iJrQWVTQDpfYxGmdkBfv9uygBn7BjPW8xk+T8m\nZoSRbbJ1eRgMSbgLfvqtY+G30haiTKlZ1Qew3e6dRejp/A3zmQ6XrtDOxBDC\nt32Y\r\n=DCGS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID5KaBwrbDw+lp1tRgqu0wZlfdnTmlpILbqfT1dsjxPAAiEA4VJI9ud9JU8o5OCrUNznpzCnKR/Bk6QrNUihpE6Kr/8="}]},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_6.0.1_1592804459648_0.7636292154104709"},"_hasShrinkwrap":false},"7.0.0":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"fast-equals":"^2.0.0","rxjs-report-usage":"^1.0.4"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","lint-staged":{"*.{js,jsx,ts,tsx}":"prettier --write"},"main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^7.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"7.0.0","ava":{},"_id":"rxjs-marbles@7.0.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-9wH5+5ZjMIu0KPcTS5l4Nut38IIXbtgleSTGLf1+DTSt5FtPtO1oaLt+uZO8u6DVFgxGcKZzomtqaCrEgcTaZg==","shasum":"fc8c6d2db7ec54fce270ca9628d6ca7e8e7939b3","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-7.0.0.tgz","fileCount":111,"unpackedSize":456889,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgloWCCRA9TVsSAnZWagAA+moP/A/NjCgcOxkj21BV74MD\nXE66Sfgp7pVXE2RfUWz+zLAbllelfIMjdoByjSX+I/PkNrZQbLOptxGinAAH\ni8lJPW4rihol9x3AgJhqvb7jWeJwYmJj2/Oofa6+ppBrKAB5CqEuXvQug/sJ\nqZwBPP5YhhJKRNg7RGZptW1199tiAono1DRUhU+ThZzjfzMAbIyfUr7d19+e\nVv54SrMud3gcYjyUlFAaixlXk6vPe9xX5z81VuL+NQeBIaiySZQ1RfRP0+rg\npjQJtbqJUIYxKdyl0GfGPeoS9CObippwRaZ/JQtH3gRMWy4KAwuGMaAI3/8J\ng/7MEelgpGpcdYNPpcmKEiiCwzSgfTDTJdgDlzILu9SPGD1uFmjUT3yF9Ona\nwYCy3aMz45QHuHLylPro9YPjHw9yE8n1QvBN/1CPKI59QZNJpqhNMt9tA9EX\nOV6wzGhH/j7ti6g9VgsDSOR3jjsLJyMsjB/7UeEPmL3n697Ikd+2oO/rR3BO\nrsqOA/18OK2+m159nVBnJtV6Iq+LpUht3t3TZTPTUmNlpeUzw8/XG4hqbM4b\nsmkrFmUBeFz99H/wJLven8m0omShNgnqhKuZp+lkCpRiGUhZkCPfXN7YQqoZ\n15hSYZv5mUXuuHYu7VCqPPNfZDce8FNHID+0nsTNDs8LwpcBLfuRGS1wUzWu\nsaP5\r\n=nkr/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDbPP5J8PtVL4a3jJhQbvszL8plCJPLCDBP5vcVcw8OvAiEA2tHScUtK1wE7+iDSSZt7BSndtNKUupdTe5sx4jbMP2Q="}]},"_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"directories":{},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_7.0.0_1620477313968_0.3810414327209515"},"_hasShrinkwrap":false},"7.0.1":{"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"dependencies":{"fast-equals":"^2.0.0","rxjs-report-usage":"^1.0.4"},"description":"An RxJS marble testing library for any test framework","devDependencies":{},"es2015":"./esm2015/index.js","homepage":"https://github.com/cartant/rxjs-marbles","jest":{},"keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"license":"MIT","lint-staged":{"*.{js,jsx,ts,tsx}":"prettier --write"},"main":"./index.js","module":"./esm5/index.js","name":"rxjs-marbles","optionalDependencies":{},"peerDependencies":{"rxjs":"^7.0.0"},"private":false,"publishConfig":{"tag":"latest"},"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"scripts":{},"types":"./index.d.ts","unpkg":"./bundles/rxjs-marbles.umd.js","version":"7.0.1","ava":{},"_id":"rxjs-marbles@7.0.1","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-QBJcNSml6uqx1BunqQOA2Nwh8jSFwbLF+w7b13WVC/XkheTjGrqzR6GvkES1+7DEjH58nVi4qO9KxKIofgngQQ==","shasum":"92e99366a26497197f0c701ff944dc46ba876487","tarball":"https://registry.npmjs.org/rxjs-marbles/-/rxjs-marbles-7.0.1.tgz","fileCount":111,"unpackedSize":438390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7XlcCRA9TVsSAnZWagAA8ycP/i0jmDEOx4nn0T/JeeN3\nERjSjGMSpfyk5CyVPhj7hZLerYwBZb+3RWywdWCk/2kf10XbTaqIIP2MBn8R\nZtNK6c/D5wzjl7G+tDS2XXcs4/dAauz+psRbH8d2yZOFfEB9iWvwpeiBC07a\nmkMqzAOMTP7arO8Xo9BC31/4gBLWL7kPZTBEhnp5Y2roMAFYRdFT8Ou0Z2ej\n6JCltLkyJl9MvE9eDsj+5owu3K4AnYWxZur4M42i04dW42h/Bcqh+JCBFQjk\nipKwGY7dpanExCaWt7oIpxZhQoWrpQLMEBHOstpTFr+rhKDGmI3Q8P4Oo1T7\n3o8eUhEnTYfQGBVbEHf0Pz5AvuLD3ajB+sfSpFU2NiEN+y2I5WEQGHCemfTv\nWleNIFqLshDNKsB/xGyybhiPZLKccSKpWfwn1VDdhbsmobd+Gd8IVCVfie9a\njbfDE9VknCI+p9w3+P6CzCIEMdv7EPHF7xjLqRmega6y441G+w268ie6vSyq\n5G4cFagyoOXRu03hIw0qYrY6BFsTVg7ORQtizTN+u6GtOKwjC6Frp6P1CVV7\nsNc092hz4SpFwIbm9+4fqrxnTkU6/W5jS1+HriCh9o4RQvBq8fxWsnycyPL0\nznsZTCNeWERS7p6qLlODUYIZa6gZXIs411bYtvhxch1zqScoUZE+eVhG1zge\nJ9e5\r\n=+EXe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBljD5vYrtN32VIdwsHcOKD4RJLE6Dy1ecMieEm5wm21AiEAu0JtliIvrq3LmKy0CRMFuY4YjlYbthjEcwDf6LWBb40="}]},"_npmUser":{"name":"cartant","email":"nicholas@cartant.com"},"directories":{},"maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rxjs-marbles_7.0.1_1626175836158_0.043773540173308145"},"_hasShrinkwrap":false}},"readme":"# rxjs-marbles\n\n[![GitHub License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/cartant/rxjs-marbles/blob/master/LICENSE)\n[![NPM version](https://img.shields.io/npm/v/rxjs-marbles.svg)](https://www.npmjs.com/package/rxjs-marbles)\n[![Downloads](http://img.shields.io/npm/dm/rxjs-marbles.svg)](https://npmjs.org/package/rxjs-marbles)\n[![Build status](https://img.shields.io/travis/cartant/rxjs-marbles.svg)](http://travis-ci.org/cartant/rxjs-marbles)\n[![dependency status](https://img.shields.io/david/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles)\n[![devDependency Status](https://img.shields.io/david/dev/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles#info=devDependencies)\n[![peerDependency Status](https://img.shields.io/david/peer/cartant/rxjs-marbles.svg)](https://david-dm.org/cartant/rxjs-marbles#info=peerDependencies)\n[![Greenkeeper badge](https://badges.greenkeeper.io/cartant/rxjs-marbles.svg)](https://greenkeeper.io/)\n\n### What is it?\n\n`rxjs-marbles` is an RxJS [marble testing](https://github.com/ReactiveX/rxjs/blob/6.5.4/docs_app/content/guide/testing/marble-testing.md) library that should be compatible with any test framework. It wraps the RxJS [`TestScheduler`](https://github.com/ReactiveX/rxjs/blob/6.5.4/src/internal/testing/TestScheduler.ts) and provides methods similar to the [helper methods](https://github.com/ReactiveX/rxjs/blob/6.5.4/docs_app/content/guide/testing/marble-testing.md#api) used the `TestScheduler` API.\n\nIt can be used with [AVA](https://github.com/avajs/ava), [Jasmine](https://github.com/jasmine/jasmine), [Jest](https://facebook.github.io/jest/), [Mocha](https://github.com/mochajs/mocha) or [Tape](https://github.com/substack/tape) in the browser or in Node and it supports CommonJS and ES module bundlers.\n\n### Why might you need it?\n\nI created this package because I wanted to use RxJS marble tests in a number of projects and those projects used different test frameworks.\n\nThere are a number of marble testing packages available - including the Mocha-based implementation in RxJS itself - but I wanted something that was simple, didn't involve messing with globals and `beforeEach`/`afterEach` functions and was consistent across test frameworks.\n\nIf you are looking for something similar, this might suit.\n\n## Install\n\nInstall the package using NPM:\n\n```\nnpm install rxjs-marbles --save-dev\n```\n\n## Getting started\n\nIf you're just getting started with marble testing, you might be interested in how I wasted some of my time by not carefully reading the manual: [RxJS Marble Testing: RTFM](https://ncjamieson.com/marble-testing-rtfm/).\n\nIn particular, you should read the RxJS documentation on [marble syntax](https://github.com/ReactiveX/rxjs/blob/6.5.4/docs_app/content/guide/testing/marble-testing.md#marble-syntax) and [synchronous assertion](https://github.com/ReactiveX/rxjs/blob/6.5.4/docs_app/content/guide/testing/marble-testing.md#synchronous-assertion).\n\n## Usage\n\n`rxjs-marbles` contains framework-specific import locations. If there is a location for the test framework that you are using, you should use the specific import. Doing so will ensure that you receive the best possible integration with your test framework.\n\nFor example, importing from `\"rxjs-marbles/jest\"` will ensure that Jest's matcher is used and the output for test failures will be much prettier.\n\n### With Mocha\n\nInstead of passing your test function directly to `it`, pass it to the library's `marbles` function, like this:\n\n```ts\nimport { marbles } from \"rxjs-marbles/mocha\";\nimport { map } from \"rxjs/operators\";\n\ndescribe(\"rxjs-marbles\", () => {\n\n    it(\"should support marble tests\", marbles(m => {\n\n        const source =  m.hot(\"--^-a-b-c-|\");\n        const subs =            \"^-------!\";\n        const expected =        \"--b-c-d-|\";\n\n        const destination = source.pipe(\n            map(value => String.fromCharCode(value.charCodeAt(0) + 1))\n        );\n        m.expect(destination).toBeObservable(expected);\n        m.expect(source).toHaveSubscriptions(subs);\n    }));\n});\n```\n\n### With other test frameworks\n\nTo see how `rxjs-marbles` can be used with other test frameworks, see the [examples](./examples) within the repository.\n\nWith AVA and Tape, the callback passed to the `marbles` function will receive an addional argument - the AVA `ExecutionContext` or the Tape `Test` - which can be used to specify the number of assertions in the test plan. See the framework-specific examples for details.\n\n### Using cases for test variations\n\nIn addition to the `marbles` function, the library exports a `cases` function that can be used to reduce test boilerplate by specifying multiple cases for variations of a single test. The API is based on that of [`jest-in-case`](https://github.com/Thinkmill/jest-in-case), but also includes the marbles context.\n\nThe `cases` implementation is framework-specific, so the import must specify the framework. For example, with Mocha, you would import `cases` and use it instead of the `it` function, like this:\n\n```ts\nimport { cases } from \"rxjs-marbles/mocha\";\nimport { map } from \"rxjs/operators\";\n\ndescribe(\"rxjs-marbles\", () => {\n\n    cases(\"should support cases\", (m, c) => {\n\n        const source =  m.hot(c.s);\n        const destination = source.pipe(\n            map(value => String.fromCharCode(value.charCodeAt(0) + 1))\n        );\n        m.expect(destination).toBeObservable(c.e);\n\n    }, {\n        \"non-empty\": {\n            s: \"-a-b-c-|\",\n            e: \"-b-c-d-|\"\n        },\n        \"empty\": {\n            s: \"-|\",\n            e: \"-|\"\n        }\n    });\n});\n```\n\n### `TestScheduler` behaviour changes in RxJS version 6\n\nIn RxJS version 6, a `run` method was added to the `TestScheduler` and when it's used, the scheduler's behaviour is significantly changed.\n\n`rxjs-marbles` now defaults to using the scheduler's `run` method. To use the scheduler's old behaviour, you can call the `configure` function, passing `{ run: false }`, like this:\n\n```ts\nimport { configure } from \"rxjs-marbles/mocha\";\nconst { cases, marbles } = configure({ run: false });\n```\n\n### Dealing with deeply-nested schedulers\n\n**WARNING**: `bind` is deprecated and can only be used with `configure({ run: false })`.\n\nSometimes, passing the `TestScheduler` instance to the code under test can be tedious. The context includes a `bind` method that can be used to bind a scheduler's `now` and `schedule` methods to those of the context's `TestScheduler`.\n\n`bind` can be passed specific scheduler instances or can be called with no arguments to bind RxJS's `animationFrame`, `asap`, `async` and `queue` schedulers to the context's `TestScheduler`.\n\nFor example:\n\n```ts\nit(\"should support binding non-test schedulers\", marbles(m => {\n\n    m.bind();\n\n    const source =  m.hot(\"--^-a-b-c-|\");\n    const subs =            \"^--------!\";\n    const expected =        \"---a-b-c-|\";\n\n    // Note that delay is not passed a scheduler:\n    const destination = source.delay(m.time(\"-|\"));\n    m.expect(destination).toBeObservable(expected);\n    m.expect(source).toHaveSubscriptions(subs);\n}));\n```\n\n### Changing the time per frame\n\n**WARNING**: `reframe` is deprecated and can only be used with `configure({ run: false })`.\n\nThe RxJS `TestScheduler` defaults to 10 virtual milliseconds per frame (each character in the diagram represents a frame) with a maximum of 750 virtual milliseconds for each test.\n\nIf the default is not suitable for your test, you can change it by calling the context's `reframe` method, specifying the time per frame and the (optional) maximum time. The `reframe` method must be called before any of the `cold`, `flush`, `hot` or `time` methods are called.\n\nThe [examples](./examples) include tests that use `reframe`.\n\n### Alternate assertion methods\n\nIf the BDD syntax is something you really don't like, there are some alternative methods on the `Context` that are more terse:\n\n```ts\nconst source =  m.hot(\"--^-a-b-c-|\", values);\nconst subs =            \"^-------!\";\nconst expected = m.cold(\"--b-c-d-|\", values);\n\nconst destination = source.map((value) => value + 1);\nm.equal(destination, expected);\nm.has(source, subs);\n```\n\n## API\n\nThe `rxjs-marbles` API includes the following functions:\n\n* [configure](#configure)\n* [marbles](#marbles)\n* [observe](#observe)\n* [fakeSchedulers](#fakeSchedulers)\n\n<a name=\"configure\"></a>\n\n### configure\n\n```ts\ninterface Configuration {\n    assert?: (value: any, message: string) => void;\n    assertDeepEqual?: (a: any, b: any) => void;\n    frameworkMatcher?: boolean;\n    run?: boolean;\n}\n\nfunction configure(options: Configuration): { marbles: MarblesFunction };\n```\n\nThe `configure` method can be used to specify the assertion functions that are to be used. Calling it is optional; it's only necessary if particular assertion functions are to be used. It returns an object containing a `marbles` function that will use the specified configuration.\n\nThe default implementations simply perform the assertion and throw an error for failed assertions.\n\n<a name=\"marbles\"></a>\n\n### marbles\n\n```ts\nfunction marbles(test: (context: Context) => any): () => any;\nfunction marbles<T>(test: (context: Context, t: T) => any): (t: T) => any;\n```\n\n`marbles` is passed the test function, which it wraps, passing the wrapper to the test framework. When the test function is called, it is passed the `Context` - which contains methods that correspond to the `TestScheduler` [helper methods](https://github.com/ReactiveX/rxjs/blob/6.5.4/docs_app/content/guide/testing/marble-testing.md#api):\n\n```ts\ninterface Context {\n    autoFlush: boolean;\n    bind(...schedulers: IScheduler[]): void;\n    cold<T = any>(marbles: string, values?: any, error?: any): ColdObservable<T>;\n    configure(options: Configuration): void;\n    equal<T = any>(actual: Observable<T>, expected: Observable<T>): void;\n    equal<T = any>(actual: Observable<T>, expected: string, values?: { [key: string]: T }, error?: any): void;\n    equal<T = any>(actual: Observable<T>, subscription: string, expected: Observable<T>): void;\n    equal<T = any>(actual: Observable<T>, subscription: string, expected: string, values?: { [key: string]: T }, error?: any): void;\n    expect<T = any>(actual: Observable<T>, subscription?: string): Expect<T>;\n    flush(): void;\n    has<T = any>(actual: Observable<T>, expected: string | string[]): void;\n    hot<T = any>(marbles: string, values?: any, error?: any): HotObservable<T>;\n    reframe(timePerFrame: number, maxTime?: number): void;\n    readonly scheduler: TestScheduler;\n    teardown(): void;\n    time(marbles: string): number;\n}\n\ninterface Expect<T> {\n    toBeObservable(expected: ColdObservable<T> | HotObservable<T>): void;\n    toBeObservable(expected: string, values?: { [key: string]: T }, error?: any): void;\n    toHaveSubscriptions(expected: string | string[]): void;\n}\n```\n\n<a name=\"observe\"></a>\n\n### observe\n\nIn Jasmine, Jest and Mocha, the test framework recognises asynchronous tests by their taking a `done` callback or returning a promise.\n\nThe `observe` helper can be useful when an observable cannot be tested using a marble test. Instead, expectations can be added to the observable stream and the observable can be returned from the test.\n\nSee the [examples](./examples) for usage.\n\n<a name=\"fakeSchedulers\"></a>\n\n### fakeSchedulers\n\nWith Jest and Jasmine, the test framework can be configured to use its own concept of fake time. AVA, Mocha and Tape don't have built-in support for fake time, but the functionality can be added via `sinon.useFakeTimers()`.\n\nIn some situations, testing asynchronous observables with marble tests can be awkward. Where testing with marble tests is too difficult, it's possible to test observables using the test framework's concept of fake time, but the `now` method of the `AsyncScheduler` has to be patched. The `fakeSchedulers` helper can be used to do this.\n\nSee the [examples](./examples) for usage.\n\nAlso, I've written an article on the `fakeSchedulers` function: [RxJS: Testing with Fake Time](https://ncjamieson.com/testing-with-fake-time/).","maintainers":[{"name":"cartant","email":"nicholas@cartant.com"}],"time":{"modified":"2022-06-26T15:04:48.379Z","created":"2017-07-20T02:33:26.286Z","0.0.1-rc.0":"2017-07-20T02:33:26.286Z","1.0.0":"2017-07-20T07:15:02.485Z","1.0.1":"2017-07-20T12:08:45.492Z","1.0.2":"2017-07-21T02:18:19.092Z","1.1.0":"2017-07-21T12:36:47.672Z","1.2.0":"2017-07-22T01:04:48.658Z","1.3.0":"2017-07-22T05:59:27.415Z","1.3.1":"2017-07-22T06:17:30.613Z","1.3.2":"2017-07-22T23:40:19.737Z","1.4.0":"2017-07-23T02:49:30.128Z","1.5.0":"2017-07-24T03:47:19.932Z","1.5.1":"2017-07-24T03:56:24.208Z","1.5.2":"2017-07-29T02:54:36.278Z","1.6.0":"2017-08-08T12:09:00.978Z","2.0.0":"2017-09-11T06:28:57.632Z","2.1.0":"2017-10-08T07:10:13.848Z","2.2.0":"2017-11-30T08:08:45.216Z","2.3.0":"2017-12-21T01:01:26.276Z","2.3.1":"2018-02-15T00:39:08.990Z","2.3.2":"2018-03-05T04:53:02.734Z","2.3.3":"2018-03-28T21:49:06.000Z","3.0.0-rc.0":"2018-04-05T03:59:11.977Z","3.0.0-rc.1":"2018-04-05T07:15:56.399Z","3.0.0-rc.2":"2018-04-05T22:20:15.954Z","3.0.0-rc.3":"2018-04-10T06:28:20.364Z","2.4.0":"2018-04-11T07:31:02.488Z","2.4.1":"2018-04-11T07:44:06.964Z","3.0.0-rc.4":"2018-04-11T08:20:57.072Z","3.0.0":"2018-04-25T00:34:43.869Z","3.0.1":"2018-04-26T09:39:00.397Z","4.0.0":"2018-05-17T06:17:40.726Z","4.0.1":"2018-05-18T03:13:02.594Z","4.0.2":"2018-05-18T04:17:52.808Z","4.1.0":"2018-05-19T03:01:44.550Z","4.2.0":"2018-06-09T10:21:36.058Z","4.2.1":"2018-06-10T03:18:28.282Z","4.3.0":"2018-06-24T06:00:07.792Z","4.3.1":"2018-07-30T02:25:11.643Z","4.3.2":"2018-11-02T09:56:13.337Z","4.3.3":"2018-11-11T01:33:14.925Z","4.3.4":"2018-11-11T12:05:16.635Z","4.3.5":"2018-11-11T21:59:25.349Z","5.0.0":"2018-12-15T21:36:29.695Z","5.0.1":"2019-04-20T22:50:24.811Z","5.0.2":"2019-04-23T05:25:17.763Z","5.0.3":"2019-09-13T23:05:39.732Z","5.0.4":"2019-12-14T04:32:55.405Z","5.0.5":"2020-03-19T20:33:48.773Z","5.0.6":"2020-03-26T02:47:10.357Z","6.0.0":"2020-03-26T03:00:00.446Z","6.0.1":"2020-06-22T05:40:59.843Z","7.0.0":"2021-05-08T12:35:14.116Z","7.0.1":"2021-07-13T11:30:36.270Z"},"homepage":"https://github.com/cartant/rxjs-marbles","keywords":["ava","jasmine","jest","marble","marbles","mocha","rxjs","tape","test","testing"],"repository":{"type":"git","url":"git+https://github.com/cartant/rxjs-marbles.git"},"author":{"name":"Nicholas Jamieson","email":"nicholas@cartant.com"},"bugs":{"url":"https://github.com/cartant/rxjs-marbles/issues"},"license":"MIT","readmeFilename":"README.md","users":{"liunian":true}}