{"_id":"noflo-handyman","_rev":"31-349da4821336e73e5619ae74f0f9ad57","name":"noflo-handyman","description":"Handy tools for debugging in NoFlo","dist-tags":{"latest":"0.0.9"},"versions":{"0.0.1":{"name":"noflo-handyman","description":"Handy tools for debugging in NoFlo","keywords":["noflo","debugging","tools"],"author":{"name":"Kenneth Kan","email":"kenhkan@gmail.com"},"version":"0.0.1","licenses":[{"type":"MIT","url":"https://github.com/kenhkan/noflo-handyman/blob/master/LICENSE.md"}],"engines":{"node":">=0.6.0"},"repository":{"type":"git","url":"git://github.com/kenhkan/noflo-handyman"},"dependencies":{"noflo":"0.3.x","underscore":"1.4.x","underscore.string":"2.3.x"},"devDependencies":{"coffeelint":"*","coffee-script":"1.6.x"},"noflo":{"components":{"Quit":"./components/Quit.coffee","Log":"./components/Log.coffee"}},"scripts":{"pretest":"./node_modules/.bin/coffeelint -r components"},"readme":"Handy tools for debugging in NoFlo [![Build Status](https://secure.travis-ci.org/kenhkan/noflo-handyman.png?branch=master)](https://travis-ci.org/kenhkan/noflo-handyman)\n===============================\n\nThis package provides various components to drop-in debugging in\n[NoFlo](http://noflojs.org/).\n\nFeel free to contribute new components and graphs! I'll try to\nincorporate as soon as time allows.\n","readmeFilename":"README.md","_id":"noflo-handyman@0.0.1","dist":{"shasum":"18125e33146c858f1e9007360876cc75cf7045ba","tarball":"https://registry.npmjs.org/noflo-handyman/-/noflo-handyman-0.0.1.tgz","integrity":"sha512-OMcEuVOv1+8tho/yaBQZV2a2vIiKUU/GmaxieuS8O9rTirF0K9ZV02eyN/kQWyV6I8jBNnFOhdEKHIpcaFAZaQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhyXYmOTsprLy+3RA/zJZcCqsk5vsbOfvo4thz86imGQIgHGFLaTCGuIOsxUsf+7jwEK1KBMJJFrdkpzc8GFKo2M4="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"kenhkan","email":"kenhkan@gmail.com"},"maintainers":[{"name":"kenhkan","email":"kenhkan@gmail.com"}],"directories":{}},"0.0.2":{"name":"noflo-handyman","description":"Handy tools for debugging in NoFlo","keywords":["noflo","debugging","tools"],"author":{"name":"Kenneth Kan","email":"kenhkan@gmail.com"},"version":"0.0.2","licenses":[{"type":"MIT","url":"https://github.com/kenhkan/noflo-handyman/blob/master/LICENSE.md"}],"engines":{"node":">=0.6.0"},"repository":{"type":"git","url":"git://github.com/kenhkan/noflo-handyman"},"dependencies":{"noflo":"https://github.com/kenhkan/noflo/tarball/master","underscore":"1.4.x","underscore.string":"2.3.x","node-print":"0.0.x"},"devDependencies":{"coffeelint":"*","coffee-script":"1.6.x"},"noflo":{"components":{"Quit":"./components/Quit.coffee","Log":"./components/Log.coffee"}},"scripts":{"pretest":"./node_modules/.bin/coffeelint -r components"},"readme":"Handy tools for debugging in NoFlo [![Build Status](https://secure.travis-ci.org/kenhkan/noflo-handyman.png?branch=master)](https://travis-ci.org/kenhkan/noflo-handyman)\n===============================\n\nThis package provides various components to drop-in debugging in\n[NoFlo](http://noflojs.org/).\n\nFeel free to contribute new components and graphs! I'll try to\nincorporate as soon as time allows.\n","readmeFilename":"README.md","_id":"noflo-handyman@0.0.2","dist":{"shasum":"17d2bd6ebb69392ede5ac181d8194a174820f41b","tarball":"https://registry.npmjs.org/noflo-handyman/-/noflo-handyman-0.0.2.tgz","integrity":"sha512-IscXTzjRQFv0TkmI462gby5YeJCNj3pGlkbTnJlvpPBWk+6qAlDC2vx+0pm07MEgx1TdwMQuZJcdfv1ZhBp9kQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBjXHAOTzITTvxZE6G/tU/XYA9p9C5++xWrNEcTHtW88AiEAiLb58VrvX5Z21Z5A44vnXSawYZpM4Nm4D/qQRGBKjsM="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"kenhkan","email":"kenhkan@gmail.com"},"maintainers":[{"name":"kenhkan","email":"kenhkan@gmail.com"}]},"0.0.3":{"name":"noflo-handyman","description":"Handy tools for debugging in NoFlo","keywords":["noflo","debugging","tools"],"author":{"name":"Kenneth Kan","email":"kenhkan@gmail.com"},"version":"0.0.3","licenses":[{"type":"MIT","url":"https://github.com/kenhkan/noflo-handyman/blob/master/LICENSE.md"}],"engines":{"node":">=0.6.0"},"repository":{"type":"git","url":"git://github.com/kenhkan/noflo-handyman"},"dependencies":{"noflo":"https://github.com/kenhkan/noflo/tarball/master","underscore":"1.4.x","underscore.string":"2.3.x","node-print":"0.0.x"},"devDependencies":{"coffeelint":"*","coffee-script":"1.6.x"},"noflo":{"components":{"Quit":"./components/Quit.coffee","Log":"./components/Log.coffee"}},"scripts":{"pretest":"./node_modules/.bin/coffeelint -r components"},"readme":"Handy tools for debugging in NoFlo [![Build Status](https://secure.travis-ci.org/kenhkan/noflo-handyman.png?branch=master)](https://travis-ci.org/kenhkan/noflo-handyman)\n===============================\n\nThis package provides various components to drop-in debugging in\n[NoFlo](http://noflojs.org/).\n\nFeel free to contribute new components and graphs! I'll try to\nincorporate as soon as time allows.\n","readmeFilename":"README.md","_id":"noflo-handyman@0.0.3","dist":{"shasum":"31441e3f190554dd37a1ec4d2802e96c5c6ca6af","tarball":"https://registry.npmjs.org/noflo-handyman/-/noflo-handyman-0.0.3.tgz","integrity":"sha512-AdTRctd2Kv+8XuIcucSRP66f21PN5EBSSOpDqz9Cxr7kkNny/gjrY0tG4RKlMemIBIo7sQDXC/MM53ID5dpjbw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHruwnK+bJ7bXTOx8wM2jR1UI6BPI1nstca3kWSMp1cPAiBeWUec9IBinqQopecwp5oNvwUF2M8cgs4UWBYopT9fuw=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"kenhkan","email":"kenhkan@gmail.com"},"maintainers":[{"name":"kenhkan","email":"kenhkan@gmail.com"}]},"0.0.4":{"name":"noflo-handyman","description":"Handy tools for debugging in NoFlo","keywords":["noflo","debugging","tools"],"author":{"name":"Kenneth Kan","email":"kenhkan@gmail.com"},"version":"0.0.4","licenses":[{"type":"MIT","url":"https://github.com/kenhkan/noflo-handyman/blob/master/LICENSE.md"}],"engines":{"node":">=0.6.0"},"repository":{"type":"git","url":"git://github.com/kenhkan/noflo-handyman"},"dependencies":{"noflo":"https://github.com/kenhkan/noflo/tarball/master","underscore":"1.4.x","underscore.string":"2.3.x","node-print":"0.0.x","deep-copy":"1.0.x"},"devDependencies":{"coffeelint":"*","coffee-script":"1.6.x"},"noflo":{"components":{"Quit":"./components/Quit.coffee","Log":"./components/Log.coffee"}},"scripts":{"pretest":"./node_modules/.bin/coffeelint -r components"},"readme":"Handy tools for debugging in NoFlo [![Build Status](https://secure.travis-ci.org/kenhkan/noflo-handyman.png?branch=master)](https://travis-ci.org/kenhkan/noflo-handyman)\n===============================\n\nThis package provides various components to drop-in debugging in\n[NoFlo](http://noflojs.org/).\n\nFeel free to contribute new components and graphs! I'll try to\nincorporate as soon as time allows.\n","readmeFilename":"README.md","_id":"noflo-handyman@0.0.4","dist":{"shasum":"89e7a9f8ab803115a90d781d1ef744e135b52e27","tarball":"https://registry.npmjs.org/noflo-handyman/-/noflo-handyman-0.0.4.tgz","integrity":"sha512-h82Vkvn6U85pZev/jFL1ZOpL2w29aoXAP6aB3oVXbq8TTKI8ZLhEIugsAU8Ngnor751XxxvbZvIDcFD2OtDmSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFN7KAUU2RDjtp8CzfA8Q7+YvD8OJLAfCVoas3H5cho0AiEAphSSYH/gBWbx00HQSU1GiKLG+IQthhuQrtcQoelt+kc="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"kenhkan","email":"kenhkan@gmail.com"},"maintainers":[{"name":"kenhkan","email":"kenhkan@gmail.com"}]},"0.0.6":{"name":"noflo-handyman","description":"Handy tools for debugging in NoFlo","keywords":["noflo","debug","debugging","tools"],"author":{"name":"Kenneth Kan","email":"kenhkan@gmail.com"},"version":"0.0.6","licenses":[{"type":"MIT","url":"https://github.com/kenhkan/noflo-handyman/blob/master/LICENSE.md"}],"engines":{"node":">=0.6.0"},"repository":{"type":"git","url":"git://github.com/kenhkan/noflo-handyman"},"dependencies":{"noflo":"https://github.com/kenhkan/noflo/tarball/master","underscore":"1.4.x","underscore.string":"2.3.x","node-print":"0.0.x","owl-deepcopy":"0.0.x"},"devDependencies":{"coffeelint":"*","coffee-script":"1.6.x"},"noflo":{"components":{"Quit":"./components/Quit.coffee","Log":"./components/Log.coffee"}},"scripts":{"pretest":"./node_modules/.bin/coffeelint -r components"},"readme":"Handy tools for debugging in NoFlo [![Build Status](https://secure.travis-ci.org/kenhkan/noflo-handyman.png?branch=master)](https://travis-ci.org/kenhkan/noflo-handyman)\n===============================\n\nThis package provides various components to drop-in debugging in\n[NoFlo](http://noflojs.org/).\n\nFeel free to contribute new components and graphs! I'll try to\nincorporate as soon as time allows.\n\n\nUsage\n-------------------------------\n\n### Quit ###\n\nQuit the Node.js process.\n\n#### In-ports\n\n  * IN: everything is dropped and call `process.exit` upon disconnect.\n\n#### Out-ports\n\n  * OUT: no data packets are emitted. This is simply here for drop-in\n    use of this component.\n\n#### Examples\n\nQuit the process.\n\n    'whatever' -> IN Quit(handyman/Quit) OUT -> IN NotReceivingIt(core/Output)\n\n\n### Log ###\n\nOutput all connect, begingroup, data, endgroup, and disconnect signals\nto screen in a formatted manner. Because NoFlo passes packets of all\nkinds immediately for performance (i.e. all the begingroups would be\nemitted before the data packets enclosed by the begingroups are\nemitted), The entire stream of packets passing through a particular\nprocess isn't conclusive until all packets are sent.\n\nTherefore, if you place an 'Output' component after a 'Log' component,\ndata packets passing through 'Output' will always be displayed on screen\nbefore anything emitted from/to the 'Log' component is displayed.\nHowever, 'Log' displays all packets in the appropriate order when other\n'Log' processes are involved.\n\n'Log' also distinguishes between \"streams\". A packet passing through two\ndistinct 'Log' processes share a stream when it passes the processes\nbefore the whole flow of packets completes. For instance,\n\n    'X' -> IN A(handyman/Log) OUT -> IN Repeat(core/Repeat) OUT -> IN B(handyman/Log)\n\n'X' is displayed twice because it passes through both processes 'A' and\n'B' and it is grouped in a single stream. However, if...\n\n    'Y' -> IN A(handyman/Log) OUT -> IN Repeat(core/RepeatAsync) OUT -> IN B(handyman/Log)\n\n'Y' is still displayed twice becauses it passes through the two\nprocesses but it's displayed separately in two streams because there is\nan asynchronous operation in the middle and the flow completes at the\n'Repeat' process.\n\n#### In-ports\n\n  * IN: anything that will be displayed on screen.\n  * OPTIONS: an object to be passed to\n    [`util.inspect`](http://nodejs.org/docs/latest/api/util.html#util_util_inspect_object_options)\n\n#### Out-ports\n\n  * OUT: if attached, everything from 'IN' will be forwarded to this\n    port.\n\n#### Examples\n\nPrint:\n```\n------------ STREAM ------------\n-\n-       CONNECT | \n-    BEGINGROUP | Group\n-          DATA | 'Data'\n-      ENDGROUP | Group\n-    DISCONNECT | \n-\n-       CONNECT | \n-    BEGINGROUP | Group\n-          DATA | 'Data'\n-      ENDGROUP | Group\n-    DISCONNECT | \n-\n--------------------------------\n```\n\n    'Group' -> GROUP Group(core/Group)\n    'Data' -> IN Group() OUT -> IN A(handyman/Log) OUT -> IN Repeat(core/Repeat) OUT -> IN B(handyman/Log)\n\nPrint:\n```\n------------ STREAM ------------\n-\n-       CONNECT | \n-    BEGINGROUP | Group\n-          DATA | 'Data'\n-      ENDGROUP | Group\n-    DISCONNECT | \n-\n--------------------------------\n-\n-\n------------ STREAM ------------\n-\n-       CONNECT | \n-    BEGINGROUP | Group\n-          DATA | 'Data'\n-      ENDGROUP | Group\n-    DISCONNECT | \n-\n--------------------------------\n```\n\n    'Group' -> GROUP Group(core/Group)\n    'Data' -> IN Group() OUT -> IN A(handyman/Log) OUT -> IN RepeatAsync(core/RepeatAsync) OUT -> IN B(handyman/Log)\n","readmeFilename":"README.md","_id":"noflo-handyman@0.0.6","dist":{"shasum":"6fd4d84699195302d15e7e343ee3efc740d2b686","tarball":"https://registry.npmjs.org/noflo-handyman/-/noflo-handyman-0.0.6.tgz","integrity":"sha512-udCveefRF2HiM4iSbrffjf3h+IDGYxuXtcaBWJdLswvL0hMpfzluqdCQF6cpw8B6ITzSQMgriiUdXzonBdYflw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICVwwgZt9tTZoGkmzACErPqDQ/+k5cB/LMM5t8+SyUnbAiEA/NA3p2cYPIQ3qgT7+nIMLB3Cp9+Q6IZLlzngeoqRKJg="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"kenhkan","email":"kenhkan@gmail.com"},"maintainers":[{"name":"kenhkan","email":"kenhkan@gmail.com"}]},"0.0.7":{"name":"noflo-handyman","description":"Handy tools for debugging in NoFlo","keywords":["noflo","debug","debugging","tools"],"author":{"name":"Kenneth Kan","email":"kenhkan@gmail.com"},"version":"0.0.7","licenses":[{"type":"MIT","url":"https://github.com/kenhkan/noflo-handyman/blob/master/LICENSE.md"}],"engines":{"node":">=0.6.0"},"repository":{"type":"git","url":"git://github.com/kenhkan/noflo-handyman"},"dependencies":{"noflo":"https://github.com/kenhkan/noflo/tarball/master","underscore":"1.4.x","underscore.string":"2.3.x","node-print":"0.0.x","owl-deepcopy":"0.0.x"},"devDependencies":{"coffeelint":"*","coffee-script":"1.6.x"},"noflo":{"components":{"Quit":"./components/Quit.coffee","Log":"./components/Log.coffee","Print":"./components/Print.coffee"}},"scripts":{"pretest":"./node_modules/.bin/coffeelint -r components"},"readme":"Handy tools for debugging in NoFlo [![Build Status](https://secure.travis-ci.org/kenhkan/noflo-handyman.png?branch=master)](https://travis-ci.org/kenhkan/noflo-handyman)\n===============================\n\nThis package provides various components to drop-in debugging in\n[NoFlo](http://noflojs.org/).\n\nFeel free to contribute new components and graphs! I'll try to\nincorporate as soon as time allows.\n\n\nUsage\n-------------------------------\n\n### Quit ###\n\nQuit the Node.js process.\n\n#### In-ports\n\n  * IN: everything is dropped and call `process.exit` upon disconnect.\n\n#### Out-ports\n\n  * OUT: no data packets are emitted. This is simply here for drop-in\n    use of this component.\n\n#### Examples\n\nQuit the process.\n\n    'whatever' -> IN Quit(handyman/Quit) OUT -> IN NotReceivingIt(core/Output)\n\n\n### Log ###\n\nOutput all connect, begingroup, data, endgroup, and disconnect signals\nto screen in a formatted manner. Because NoFlo passes packets of all\nkinds immediately for performance (i.e. all the begingroups would be\nemitted before the data packets enclosed by the begingroups are\nemitted), The entire stream of packets passing through a particular\nprocess isn't conclusive until all packets are sent.\n\nTherefore, if you place an 'Output' component after a 'Log' component,\ndata packets passing through 'Output' will always be displayed on screen\nbefore anything emitted from/to the 'Log' component is displayed.\nHowever, 'Log' displays all packets in the appropriate order when other\n'Log' processes are involved.\n\n'Log' also distinguishes between \"streams\". A packet passing through two\ndistinct 'Log' processes share a stream when it passes the processes\nbefore the whole flow of packets completes. For instance,\n\n    'X' -> IN A(handyman/Log) OUT -> IN Repeat(core/Repeat) OUT -> IN B(handyman/Log)\n\n'X' is displayed twice because it passes through both processes 'A' and\n'B' and it is grouped in a single stream. However, if...\n\n    'Y' -> IN A(handyman/Log) OUT -> IN Repeat(core/RepeatAsync) OUT -> IN B(handyman/Log)\n\n'Y' is still displayed twice becauses it passes through the two\nprocesses but it's displayed separately in two streams because there is\nan asynchronous operation in the middle and the flow completes at the\n'Repeat' process.\n\n#### In-ports\n\n  * IN: anything that will be displayed on screen.\n  * OPTIONS: an object to be passed to\n    [`util.inspect`](http://nodejs.org/docs/latest/api/util.html#util_util_inspect_object_options)\n\n#### Out-ports\n\n  * OUT: if attached, everything from 'IN' will be forwarded to this\n    port.\n\n#### Examples\n\nPrint:\n```\n------------ STREAM ------------\n-\n-       CONNECT | \n-    BEGINGROUP | Group\n-          DATA | 'Data'\n-      ENDGROUP | Group\n-    DISCONNECT | \n-\n-       CONNECT | \n-    BEGINGROUP | Group\n-          DATA | 'Data'\n-      ENDGROUP | Group\n-    DISCONNECT | \n-\n--------------------------------\n```\n\n    'Group' -> GROUP Group(core/Group)\n    'Data' -> IN Group() OUT -> IN A(handyman/Log) OUT -> IN Repeat(core/Repeat) OUT -> IN B(handyman/Log)\n\nPrint:\n```\n------------ STREAM ------------\n-\n-       CONNECT | \n-    BEGINGROUP | Group\n-          DATA | 'Data'\n-      ENDGROUP | Group\n-    DISCONNECT | \n-\n--------------------------------\n-\n-\n------------ STREAM ------------\n-\n-       CONNECT | \n-    BEGINGROUP | Group\n-          DATA | 'Data'\n-      ENDGROUP | Group\n-    DISCONNECT | \n-\n--------------------------------\n```\n\n    'Group' -> GROUP Group(core/Group)\n    'Data' -> IN Group() OUT -> IN A(handyman/Log) OUT -> IN RepeatAsync(core/RepeatAsync) OUT -> IN B(handyman/Log)\n","readmeFilename":"README.md","_id":"noflo-handyman@0.0.7","dist":{"shasum":"34f09e75433adee117a64420f1873fd5d5c16423","tarball":"https://registry.npmjs.org/noflo-handyman/-/noflo-handyman-0.0.7.tgz","integrity":"sha512-cNfy1a5hOwQ74eIrP4Rcqz2ky4vh1LlCkVeeNwwDgPv3L27haBYxJ3lJq5BjN2UcsoqgounSI7LLWG8JPgf8oA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIrGbjhpuK5DbrymhQpMseMqZTF1gQGPWke6wf1LntcAIgfzG3PolsxNu+FZ0n7IPGtjJhyhovdacye6wc1yUc050="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"kenhkan","email":"kenhkan@gmail.com"},"maintainers":[{"name":"kenhkan","email":"kenhkan@gmail.com"}]},"0.0.8":{"name":"noflo-handyman","description":"Handy tools for debugging in NoFlo","keywords":["noflo","debug","debugging","tools"],"author":{"name":"Kenneth Kan","email":"kenhkan@gmail.com"},"version":"0.0.8","licenses":[{"type":"MIT","url":"https://github.com/kenhkan/noflo-handyman/blob/master/LICENSE.md"}],"engines":{"node":">=0.6.0"},"repository":{"type":"git","url":"git://github.com/kenhkan/noflo-handyman"},"dependencies":{"noflo":"~0.4.0","underscore":"1.4.x","node-print":"0.0.x","owl-deepcopy":"0.0.2"},"devDependencies":{"coffeelint":"*","coffee-script":"1.6.x"},"noflo":{"components":{"Quit":"./components/Quit.coffee","Log":"./components/Log.coffee","Print":"./components/Print.coffee"}},"scripts":{"pretest":"./node_modules/.bin/coffeelint -r components"},"readme":"Handy tools for debugging in NoFlo [![Build Status](https://secure.travis-ci.org/kenhkan/noflo-handyman.png?branch=master)](https://travis-ci.org/kenhkan/noflo-handyman)\n===============================\n\nThis package provides various components to drop-in debugging in\n[NoFlo](http://noflojs.org/).\n\nFeel free to contribute new components and graphs! I'll try to\nincorporate as soon as time allows.\n\n\nUsage\n-------------------------------\n\n### Quit ###\n\nQuit the Node.js process.\n\n#### In-ports\n\n  * IN: everything is dropped and call `process.exit` upon disconnect.\n\n#### Out-ports\n\n  * OUT: no data packets are emitted. This is simply here for drop-in\n    use of this component.\n\n#### Examples\n\nQuit the process.\n\n    'whatever' -> IN Quit(handyman/Quit) OUT -> IN NotReceivingIt(core/Output)\n\n\n### Log ###\n\nOutput all connect, begingroup, data, endgroup, and disconnect signals\nto screen in a formatted manner. Because NoFlo passes packets of all\nkinds immediately for performance (i.e. all the begingroups would be\nemitted before the data packets enclosed by the begingroups are\nemitted), The entire stream of packets passing through a particular\nprocess isn't conclusive until all packets are sent.\n\nTherefore, if you place an 'Output' component after a 'Log' component,\ndata packets passing through 'Output' will always be displayed on screen\nbefore anything emitted from/to the 'Log' component is displayed.\nHowever, 'Log' displays all packets in the appropriate order when other\n'Log' processes are involved.\n\n'Log' also distinguishes between \"streams\". A packet passing through two\ndistinct 'Log' processes share a stream when it passes the processes\nbefore the whole flow of packets completes. For instance,\n\n    'X' -> IN A(handyman/Log) OUT -> IN Repeat(core/Repeat) OUT -> IN B(handyman/Log)\n\n'X' is displayed twice because it passes through both processes 'A' and\n'B' and it is grouped in a single stream. However, if...\n\n    'Y' -> IN A(handyman/Log) OUT -> IN Repeat(core/RepeatAsync) OUT -> IN B(handyman/Log)\n\n'Y' is still displayed twice becauses it passes through the two\nprocesses but it's displayed separately in two streams because there is\nan asynchronous operation in the middle and the flow completes at the\n'Repeat' process.\n\n#### In-ports\n\n  * IN: anything that will be displayed on screen.\n  * OPTIONS: an object to be passed to\n    [`util.inspect`](http://nodejs.org/docs/latest/api/util.html#util_util_inspect_object_options)\n\n#### Out-ports\n\n  * OUT: if attached, everything from 'IN' will be forwarded to this\n    port.\n\n#### Examples\n\nPrint:\n```\n------------ STREAM ------------\n-\n-       CONNECT | \n-    BEGINGROUP | Group\n-          DATA | 'Data'\n-      ENDGROUP | Group\n-    DISCONNECT | \n-\n-       CONNECT | \n-    BEGINGROUP | Group\n-          DATA | 'Data'\n-      ENDGROUP | Group\n-    DISCONNECT | \n-\n--------------------------------\n```\n\n    'Group' -> GROUP Group(core/Group)\n    'Data' -> IN Group() OUT -> IN A(handyman/Log) OUT -> IN Repeat(core/Repeat) OUT -> IN B(handyman/Log)\n\nPrint:\n```\n------------ STREAM ------------\n-\n-       CONNECT | \n-    BEGINGROUP | Group\n-          DATA | 'Data'\n-      ENDGROUP | Group\n-    DISCONNECT | \n-\n--------------------------------\n-\n-\n------------ STREAM ------------\n-\n-       CONNECT | \n-    BEGINGROUP | Group\n-          DATA | 'Data'\n-      ENDGROUP | Group\n-    DISCONNECT | \n-\n--------------------------------\n```\n\n    'Group' -> GROUP Group(core/Group)\n    'Data' -> IN Group() OUT -> IN A(handyman/Log) OUT -> IN RepeatAsync(core/RepeatAsync) OUT -> IN B(handyman/Log)\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/kenhkan/noflo-handyman/issues"},"_id":"noflo-handyman@0.0.8","dist":{"shasum":"02b1fb7414300279d69a1d7f1b00e154dcac4bb4","tarball":"https://registry.npmjs.org/noflo-handyman/-/noflo-handyman-0.0.8.tgz","integrity":"sha512-g3i2NxOUrQ0a04nl7jkNK3X7S7dq7owS1nMdo5YOa2nSAtxMxQ9Zit4TapOp9cE0DTQE5X/w9UnM8j9x2ZKssQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9ev2kUDREw8+klz4XjQ6RK5HGGUmEOj+3C9ziEAhYVwIgIAa5yn8gnYBnDZBQcXD7DHrsP4knxGywlpGWztTaI8w="}]},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"kenhkan","email":"kenhkan@gmail.com"},"maintainers":[{"name":"kenhkan","email":"kenhkan@gmail.com"}]},"0.0.9":{"name":"noflo-handyman","description":"Handy tools for debugging in NoFlo","keywords":["noflo","debug","debugging","tools"],"author":{"name":"Kenneth Kan","email":"kenhkan@gmail.com"},"version":"0.0.9","licenses":[{"type":"MIT","url":"https://github.com/kenhkan/noflo-handyman/blob/master/LICENSE.md"}],"engines":{"node":">=0.6.0"},"repository":{"type":"git","url":"git://github.com/kenhkan/noflo-handyman"},"dependencies":{"noflo":"~0.4.0","underscore":"1.4.x","node-print":"0.0.x","owl-deepcopy":"0.0.2"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-coffee":"~0.6.6","grunt-coffeelint":"~0.0.6","grunt-cafe-mocha":"~0.1.2","chai":"~1.5.0","mocha":"~1.9.0","grunt-mocha-phantomjs":"~0.2.2","grunt-component-build":"~0.2.7","grunt-contrib-uglify":"~0.2.0","grunt-contrib-watch":"~0.3.1","component-json":"~0.1.4","grunt-combine":"~0.8.3","grunt-component":"~0.1.2"},"noflo":{"components":{"Quit":"./components/Quit.coffee","Log":"./components/Log.coffee","Print":"./components/Print.coffee"}},"scripts":{},"readme":"# Handy tools for debugging <br/>[![Build Status](https://secure.travis-ci.org/kenhkan/noflo-handyman.png?branch=master)](https://travis-ci.org/kenhkan/noflo-handyman) [![Dependency Status](https://gemnasium.com/kenhkan/noflo-handyman.png)](https://gemnasium.com/kenhkan/noflo-handyman) [![NPM version](https://badge.fury.io/js/noflo-handyman.png)](http://badge.fury.io/js/noflo-handyman) [![Stories in Ready](https://badge.waffle.io/kenhkan/noflo-handyman.png)](http://waffle.io/kenhkan/noflo-handyman)\n\nThis package provides various components to drop-in debugging in\n[NoFlo](http://noflojs.org/).\n\nFeel free to contribute new components and graphs! I'll try to\nincorporate as soon as time allows.\n\n\n## Usage\n\n### Quit ###\n\nQuit the Node.js process.\n\n#### In-ports\n\n  * IN: everything is dropped and call `process.exit` upon disconnect.\n\n#### Out-ports\n\n  * OUT: no data packets are emitted. This is simply here for drop-in\n    use of this component.\n\n#### Examples\n\nQuit the process.\n\n    'whatever' -> IN Quit(handyman/Quit) OUT -> IN NotReceivingIt(core/Output)\n\n\n### Log ###\n\nOutput all connect, begingroup, data, endgroup, and disconnect signals\nto screen in a formatted manner. Because NoFlo passes packets of all\nkinds immediately for performance (i.e. all the begingroups would be\nemitted before the data packets enclosed by the begingroups are\nemitted), The entire stream of packets passing through a particular\nprocess isn't conclusive until all packets are sent.\n\nTherefore, if you place an 'Output' component after a 'Log' component,\ndata packets passing through 'Output' will always be displayed on screen\nbefore anything emitted from/to the 'Log' component is displayed.\nHowever, 'Log' displays all packets in the appropriate order when other\n'Log' processes are involved.\n\n'Log' also distinguishes between \"streams\". A packet passing through two\ndistinct 'Log' processes share a stream when it passes the processes\nbefore the whole flow of packets completes. For instance,\n\n    'X' -> IN A(handyman/Log) OUT -> IN Repeat(core/Repeat) OUT -> IN B(handyman/Log)\n\n'X' is displayed twice because it passes through both processes 'A' and\n'B' and it is grouped in a single stream. However, if...\n\n    'Y' -> IN A(handyman/Log) OUT -> IN Repeat(core/RepeatAsync) OUT -> IN B(handyman/Log)\n\n'Y' is still displayed twice becauses it passes through the two\nprocesses but it's displayed separately in two streams because there is\nan asynchronous operation in the middle and the flow completes at the\n'Repeat' process.\n\n#### In-ports\n\n  * IN: anything that will be displayed on screen.\n  * OPTIONS: an object to be passed to\n    [`util.inspect`](http://nodejs.org/docs/latest/api/util.html#util_util_inspect_object_options)\n\n#### Out-ports\n\n  * OUT: if attached, everything from 'IN' will be forwarded to this\n    port.\n\n#### Examples\n\nPrint:\n```\n------------ STREAM ------------\n-\n-       CONNECT | \n-    BEGINGROUP | Group\n-          DATA | 'Data'\n-      ENDGROUP | Group\n-    DISCONNECT | \n-\n-       CONNECT | \n-    BEGINGROUP | Group\n-          DATA | 'Data'\n-      ENDGROUP | Group\n-    DISCONNECT | \n-\n--------------------------------\n```\n\n    'Group' -> GROUP Group(core/Group)\n    'Data' -> IN Group() OUT -> IN A(handyman/Log) OUT -> IN Repeat(core/Repeat) OUT -> IN B(handyman/Log)\n\nPrint:\n```\n------------ STREAM ------------\n-\n-       CONNECT | \n-    BEGINGROUP | Group\n-          DATA | 'Data'\n-      ENDGROUP | Group\n-    DISCONNECT | \n-\n--------------------------------\n-\n-\n------------ STREAM ------------\n-\n-       CONNECT | \n-    BEGINGROUP | Group\n-          DATA | 'Data'\n-      ENDGROUP | Group\n-    DISCONNECT | \n-\n--------------------------------\n```\n\n    'Group' -> GROUP Group(core/Group)\n    'Data' -> IN Group() OUT -> IN A(handyman/Log) OUT -> IN RepeatAsync(core/RepeatAsync) OUT -> IN B(handyman/Log)\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/kenhkan/noflo-handyman/issues"},"_id":"noflo-handyman@0.0.9","dist":{"shasum":"d4dd68a431fe4a170ae524a04cbe1efa6266f579","tarball":"https://registry.npmjs.org/noflo-handyman/-/noflo-handyman-0.0.9.tgz","integrity":"sha512-68Y0psIFbh/lBwZnLxTxyRY6QtZkaKb8kMbyyhqdNo4xZgFZze2KBq/rRjRY+Xih5tb1wnG/z7VUsJQ8DtIE7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGLJN5Q4GFRymlCUhyJGSXsifY4loXrgtnSoY5WxdqxrAiEAyYt/8gFScXOzUYxzdIhfcBV6+hqHjuNIV9Rmi3Do+M4="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"kenhkan","email":"kenhkan@gmail.com"},"maintainers":[{"name":"kenhkan","email":"kenhkan@gmail.com"}]}},"readme":"Handy tools for debugging in NoFlo [![Build Status](https://secure.travis-ci.org/kenhkan/noflo-handyman.png?branch=master)](https://travis-ci.org/kenhkan/noflo-handyman)\n===============================\n\nThis package provides various components to drop-in debugging in\n[NoFlo](http://noflojs.org/).\n\nFeel free to contribute new components and graphs! I'll try to\nincorporate as soon as time allows.\n","maintainers":[{"name":"kenhkan","email":"kenhkan@gmail.com"}],"time":{"modified":"2022-06-22T04:23:30.816Z","created":"2013-04-30T01:36:48.254Z","0.0.1":"2013-04-30T01:36:49.817Z","0.0.2":"2013-05-01T22:14:01.925Z","0.0.3":"2013-05-06T08:52:46.683Z","0.0.4":"2013-05-10T01:45:40.037Z","0.0.6":"2013-05-26T03:52:57.133Z","0.0.7":"2013-06-03T09:17:09.932Z","0.0.8":"2013-08-01T09:34:58.365Z","0.0.9":"2013-09-18T02:09:40.195Z"},"author":{"name":"Kenneth Kan","email":"kenhkan@gmail.com"},"repository":{"type":"git","url":"git://github.com/kenhkan/noflo-handyman"}}