{"_id":"@briancavalier/most-adapter","_rev":"2-38f03cc95e5851d23755e296b9676698","name":"@briancavalier/most-adapter","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@briancavalier/most-adapter","version":"1.0.0","main":"dist/index.js","module":"dist/index.mjs","author":{"name":"Brian Cavalier","email":"brian@briancavalier.com"},"license":"MIT","scripts":{"build":"rollup -c && cpy src/*.js.flow dist/","typecheck":"tsc --noEmit && flow check"},"devDependencies":{"cpy-cli":"^2.0.0","flow-bin":"^0.86.0","rollup":"^0.67.3","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-typescript2":"^0.18.0","typescript":"^3.1.6"},"dependencies":{"@most/types":"^1.0.1"},"description":"Mostjs emphasizes declarative event streams, which have many advantages, such as helping to avoid race conditions.  However, getting data into a mostjs event stream graph from 3rd party libraries that weren't designed with that approach in mind can be tri","_id":"@briancavalier/most-adapter@1.0.0","dist":{"shasum":"d0f3367aa9e47cb63e0075b4ae60e57ad1d862ed","integrity":"sha512-KwjuaxptQwB72cZOCc4IkcIjKgabqc0HBa8Feker5oE1vaU7/UBL1J1qDdeQ/qsQ/EIy+LHM9mV1OQE1JWmrvg==","tarball":"https://registry.npmjs.org/@briancavalier/most-adapter/-/most-adapter-1.0.0.tgz","fileCount":10,"unpackedSize":5748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb+FAvCRA9TVsSAnZWagAA4/oP+wR4LrLcCnrOrvkIgsGT\nAE2qivWOtPNYlfk7kfCdrjdNljKtOX3MxY+WBaR+xFPSmrvHuPMcVVeHgMDb\n9xgdcd0E1NQ94YTS3XrHIOkUEbxDxGvKpk5FKRlhmZSRO3vloB9vLbzV8HYR\ndlIZitbM7Yo9pvVxRERexmlU0746zwLSU/KPbLH4meVqqVe66uFFtoX8qE4L\nGAVphG0pRZm639d57Bzu8tFeo1G8LBswDTommXnnzGued0MuG/01LlOL0PYb\nUfDr+RwZv3EydC+hCUrpOcFQ22f3WrkdEXzlZE1qJEdbEnYDLiwXE549k8Jg\nWnBNXDsn+JmuWW5xcf3NG/a3QjYRxU1irTl3NpYwXRuo+TOtP9xFVgZsU+QF\njDE8IrDPL5jOTGFb+dhoJWCVY/YJ7UAPVkuBHuDlLOCrF1+cWnrc8XaEUEjb\nL5utCzP9xvaS3jxgzTuVwkUvicUmZgo5E0vCAswN/ItZOSbSo26OUQpkadxs\nffLK8zhTbTGAm156fDsrtYH9fiuYIas34THdSEbWBr5xPqjLbrT4628mnwhI\n1ZgOu24MqPg3c/PGArZXrXT7lPTeeL2sn8o02QRJRmVGb/pUPoRkF4WPmmcp\nJ5DYZoQpXR2+qcrPMbe5f3BN0bUfltu+Vu3Ldo7NXCLV5ThuQUZZ/LUFEH/L\nQLXW\r\n=BsQ9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCF1vBTOWeIrUb2fHc2UEf2Sd4OxszL/kS+oXsb5Ch/GwIhAKsNTnIy5jx8l3OB+PKn5b3ncMqf904rP11gaF/i1NeM"}]},"maintainers":[{"name":"briancavalier","email":"brian@hovercraftstudios.com"}],"_npmUser":{"name":"briancavalier","email":"brian@hovercraftstudios.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/most-adapter_1.0.0_1543000110428_0.04840905999181122"},"_hasShrinkwrap":false,"deprecated":"Use the official @most/adapter package instead"}},"time":{"created":"2018-11-23T19:08:30.427Z","1.0.0":"2018-11-23T19:08:30.587Z","modified":"2022-04-04T20:31:58.342Z"},"maintainers":[{"name":"briancavalier","email":"brian@hovercraftstudios.com"}],"description":"Mostjs emphasizes declarative event streams, which have many advantages, such as helping to avoid race conditions.  However, getting data into a mostjs event stream graph from 3rd party libraries that weren't designed with that approach in mind can be tri","author":{"name":"Brian Cavalier","email":"brian@briancavalier.com"},"license":"MIT","readme":"# most-adapter\n\nMostjs emphasizes declarative event streams, which have many advantages, such as helping to avoid race conditions.  However, getting data into a mostjs event stream graph from 3rd party libraries that weren't designed with that approach in mind can be tricky.  Often, trying to force a library into that model leads to a messy solution.\n\nMost-adapter provides a disciplined imperative API for getting external data into a mostjs stream, with the goal of making it simpler to integrate libraries that don't lend themselves to a declarative approach.\n\n## API\n\n### Adapter\n\n```js\ntype Adapter<A, B = A> = [(event: A) => void, Stream<B>]\n```\n\nAn adapter is an entangled pair of an event stream, and a function to induce\n(cause) events in that stream.\n\n### createAdapter :: () &rarr; Adapter<A>\n\nCreate an Adapter.\n\n```js\nconst [induce, events] = createAdapter<string>()\n\ninduce('hello') // cause an event with value \"hello\" to occur in events\ninduce('world') // cause an event with value \"world\" to occur in events\n```\n\n","readmeFilename":"README.md"}