{"_id":"miniwrite","_rev":"17-6e7e151a7287395a1ebc147178905db5","name":"miniwrite","description":"Minimal semantic output writer","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.0":{"name":"miniwrite","description":"Minimal semantic output writer","version":"0.1.0","homepage":"https://github.com/Bartvds/miniwrite","author":{"name":"Bart van der Schoor","url":"https://github.com/Bartvds"},"repository":{"type":"git","url":"https://github.com/Bartvds/miniwrite"},"bugs":{"url":"https://github.com/Bartvds/miniwrite/issues"},"licenses":[{"type":"MIT","url":"https://github.com/Bartvds/miniwrite/blob/master/LICENSE-MIT"}],"keywords":["cli","ansi","color","stream","adapter","writer"],"main":"lib/miniwrite.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.0","grunt-mocha-test":"~0.7.0","mocha-unfunk-reporter":"~0.3.7","grunt-contrib-clean":"~0.5.0","grunt-contrib-jshint":"~0.7.2","jshint-path-reporter":"~0.1.3","chai":"~1.8.1"},"peerDependencies":{"grunt":"~0.4.2"},"_id":"miniwrite@0.1.0","dist":{"shasum":"ca22eaf533e781353feca9da3b22f77375807c7b","tarball":"https://registry.npmjs.org/miniwrite/-/miniwrite-0.1.0.tgz","integrity":"sha512-lg9xkOp7mCurbQymUiB/nXpVsSfvbraRnDNQi+ZdIJZuzb32XPwE94osC+nqxR/qq6Z1Ygk344ZmPEPZRb+r/A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDIi53lLyPWD03ui5If9T3Kw0+5VObyT91TwAGFYjpYjAiB5+ldAWWkY0dx60XPOA9FeZF1nc+OTArx/SduSfUFLSA=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"bartvds","email":"bartvanderschoor@gmail.com"},"maintainers":[{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"directories":{}},"0.1.1":{"name":"miniwrite","description":"Minimal semantic output writer","version":"0.1.1","homepage":"https://github.com/Bartvds/miniwrite","author":{"name":"Bart van der Schoor","url":"https://github.com/Bartvds"},"repository":{"type":"git","url":"https://github.com/Bartvds/miniwrite"},"bugs":{"url":"https://github.com/Bartvds/miniwrite/issues"},"licenses":[{"type":"MIT","url":"https://github.com/Bartvds/miniwrite/blob/master/LICENSE-MIT"}],"keywords":["cli","ansi","color","stream","adapter","writer"],"main":"lib/miniwrite.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.0","grunt-mocha-test":"~0.7.0","mocha-unfunk-reporter":"~0.3.7","grunt-contrib-clean":"~0.5.0","grunt-contrib-jshint":"~0.7.2","jshint-path-reporter":"~0.1.3","chai":"~1.8.1"},"_id":"miniwrite@0.1.1","dist":{"shasum":"bec628b7f92ace5d55c1269c76a5a51b697cda02","tarball":"https://registry.npmjs.org/miniwrite/-/miniwrite-0.1.1.tgz","integrity":"sha512-Oo8QZf6+74aoq0Nayk1L00Z3MtMGEl3ZdVNnQ2V7ndOJYU0uk02yfV5v+0u5jXvOOhUhepa1FxsiE06IYTsuyw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIbfvVbwP+wWKpICdCJ3bq3E6rtJ7mQsqj+YwGeNURsAIgT9W2E+16j+ZUahvQ9p7IiLAksjCfKjzMkWSZ0d20j8s="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"bartvds","email":"bartvanderschoor@gmail.com"},"maintainers":[{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"directories":{}},"0.1.2":{"name":"miniwrite","description":"Minimal semantic output writer","version":"0.1.2","homepage":"https://github.com/Bartvds/miniwrite","author":{"name":"Bart van der Schoor","url":"https://github.com/Bartvds"},"repository":{"type":"git","url":"https://github.com/Bartvds/miniwrite"},"bugs":{"url":"https://github.com/Bartvds/miniwrite/issues"},"licenses":[{"type":"MIT","url":"https://github.com/Bartvds/miniwrite/blob/master/LICENSE-MIT"}],"keywords":["cli","ansi","color","stream","adapter","writer"],"main":"lib/","engines":{"node":">= 0.10.0"},"scripts":{"test":"grunt test"},"dependencies":{"mkdirp":"~0.3.5"},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.0","grunt-mocha-test":"~0.7.0","mocha-unfunk-reporter":"~0.3.7","grunt-contrib-clean":"~0.5.0","grunt-contrib-jshint":"~0.7.2","jshint-path-reporter":"~0.1.3","chai":"~1.8.1"},"_id":"miniwrite@0.1.2","dist":{"shasum":"a6deaada4440e85c07dc3160704d0cb93c7269b9","tarball":"https://registry.npmjs.org/miniwrite/-/miniwrite-0.1.2.tgz","integrity":"sha512-nw/gvbtuAokRwAM4huwkyBc0T7VGaoZ3AXJNH6sSxanW6fBxCZATyxjhDUA3VHKhETwBZBVvH+UfImhYw/9NYQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrtWIx3ARLAp/OqhDQvr9gV3DRmfrl4++CTOoaA62UvwIgC+JgTNjW5ADNGIl8n1ahgGOU3DTd72KqxhPUaEmOLww="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"bartvds","email":"bartvanderschoor@gmail.com"},"maintainers":[{"name":"bartvds","email":"bartvanderschoor@gmail.com"}]},"0.1.3":{"name":"miniwrite","description":"Minimal semantic output writer","version":"0.1.3","homepage":"https://github.com/Bartvds/miniwrite","author":{"name":"Bart van der Schoor","url":"https://github.com/Bartvds"},"repository":{"type":"git","url":"https://github.com/Bartvds/miniwrite"},"bugs":{"url":"https://github.com/Bartvds/miniwrite/issues"},"licenses":[{"type":"MIT","url":"https://github.com/Bartvds/miniwrite/blob/master/LICENSE-MIT"}],"keywords":["cli","ansi","text","color","stream","adapter","writer"],"main":"lib/","engines":{"node":">= 0.10.0"},"scripts":{"test":"grunt test"},"dependencies":{"mkdirp":"~0.3.5"},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.0","grunt-mocha-test":"~0.7.0","mocha-unfunk-reporter":"~0.3.7","grunt-contrib-clean":"~0.5.0","grunt-contrib-jshint":"~0.7.2","jshint-path-reporter":"~0.1.3","chai":"~1.8.1"},"_id":"miniwrite@0.1.3","dist":{"shasum":"9e893efb435f853454ca0321b86a44378e8c50c6","tarball":"https://registry.npmjs.org/miniwrite/-/miniwrite-0.1.3.tgz","integrity":"sha512-FiC7Wmp/EEgLD9AKNyeDMwMn71UUX7JE0yMUuVutSPTLY9/C9VZtHlxhD4gQzsJzG+t7mk9kCRlkORO93GCPww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCG0zNOffJPmOvRclYNDEUTvsDq4B9vNldLjF3Luc1M6QIhALBPRL93WbAgWOzOIkEHyyFsmDLUHJ9pI1Tmbob7vsjo"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"bartvds","email":"bartvanderschoor@gmail.com"},"maintainers":[{"name":"bartvds","email":"bartvanderschoor@gmail.com"}]},"0.1.4":{"name":"miniwrite","description":"Minimal semantic output writer","version":"0.1.4","homepage":"https://github.com/Bartvds/miniwrite","author":{"name":"Bart van der Schoor","url":"https://github.com/Bartvds"},"repository":{"type":"git","url":"https://github.com/Bartvds/miniwrite"},"bugs":{"url":"https://github.com/Bartvds/miniwrite/issues"},"licenses":[{"type":"MIT","url":"https://github.com/Bartvds/miniwrite/blob/master/LICENSE-MIT"}],"keywords":["cli","ansi","text","color","stream","adapter","writer"],"main":"lib/","engines":{"node":">= 0.10.0"},"scripts":{"test":"grunt test"},"dependencies":{"mkdirp":"~0.3.5"},"devDependencies":{"grunt":"~0.4.2","grunt-cli":"~0.1.0","grunt-mocha-test":"~0.7.0","mocha-unfunk-reporter":"~0.3.7","grunt-contrib-clean":"~0.5.0","grunt-contrib-jshint":"~0.7.2","jshint-path-reporter":"~0.1.3","chai":"~1.8.1"},"_id":"miniwrite@0.1.4","_shasum":"72f02385c0ac37d542efe27dc6764b31908725ce","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"bartvds","email":"bartvanderschoor@gmail.com"},"maintainers":[{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"dist":{"shasum":"72f02385c0ac37d542efe27dc6764b31908725ce","tarball":"https://registry.npmjs.org/miniwrite/-/miniwrite-0.1.4.tgz","integrity":"sha512-DqfQBUZyn1X966AxHozdgP0fp++SExNkeGa5gdVJKCVtLB916ZGh8tay7he4d89J/cI+EkLVhtqHqeEpdezPVQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAL/bkuVm3w6kOw+ECaGal4MZMG5/LNgQssBS62XOpAQIgdQpFco/plRGUqorXaifo2Rh1qwA1GtDtCmjqYd81tMA="}]}}},"readme":"# miniwrite\r\n\r\n[![Build Status](https://secure.travis-ci.org/Bartvds/miniwrite.png?branch=master)](http://travis-ci.org/Bartvds/miniwrite) [![Dependency Status](https://gemnasium.com/Bartvds/miniwrite.png)](https://gemnasium.com/Bartvds/miniwrite) [![NPM version](https://badge.fury.io/js/miniwrite.png)](http://badge.fury.io/js/miniwrite)\r\n\r\n> Minimal output-stream writer API. \r\n\r\nA pluggable output writer interface/adapter to embed/expose in tools and reporters, also a simplified stream.  \r\n\r\nThis is not a logging framework or full console or stream replacement. Instead this is an abstraction to build on or expose in other tools. Intend as companion to [ministyle](https://github.com/Bartvds/ministyle) (et al).\r\n\r\n## API\r\n\r\nMain usage:\r\n````js\r\n// simplified node.js.browser compatible console.log()\r\nvar mw = miniwrite.console();\r\n\r\n// write plain text line\r\nmw.writeln('hello world!');\r\n````\r\n\r\n## Helpers\r\n\r\nBuffer writes:\r\n````js\r\n// buffer own lines\r\nvar mw = miniwrite.buffer();\r\n// buffer other writes (handy for testing)\r\nvar mw = miniwrite.buffer(myMiniWrite);\r\n\r\n// get buffer\r\nvar str = mw.concat();\r\nvar str = mw.concat('\\n\\n', '\\t');\r\n// iterate buffer if you must\r\nmw.lines.forEach(function(line) {\r\n\t//..\r\n})\r\n// clear buffer\r\nmw.clear();\r\n````\r\n\r\nAdapter to buffer character writes via `mw.write(chars)`, auto-flushes on newlines:\r\n````js\r\nvar mw = miniwrite.chars(miniwrite.console());\r\n\r\n// write plain text line\r\nmw.write('hello');\r\nmw.write(' ');\r\nmw.writeln('world!'); // \"hello world\\n\"\r\n\r\n//or accumulate chars\r\nmw.write('one');\r\nmw.write('two');\r\nmw.flush(true); // onetwo\r\n\r\n// clear buffer\r\nmw.write('one');\r\nmw.clear();\r\nmw.write('two');\r\nmw.flush(true); // two\r\n\r\n````\r\n\r\nSpread of multiple writers\r\n````js\r\nvar mw = miniwrite.multi([myANSIConsole, myRemoteSocket, myDiskLogger]);\r\nmw.enabled = true;\r\nmw.targets.forEach(function(subw, num) {\r\n\t// .. \r\n});\r\n````\r\n\r\nProxy to toggle stream or swap output target:\r\n````js\r\nvar mw = miniwrite.peek(myMiniWrite, callback);\r\nmw.enabled = true;\r\nmw.target = myOherWrite;\r\nmw.callback = function(line) {\r\n\t// return string, or false to ignore\r\n});\r\n````\r\n\r\nProxy to toggle stream or swap output target:\r\n````js\r\nvar mw = miniwrite.proxy(myMiniWrite);\r\nmw.enabled = true;\r\nmw.target = myOherWrite;\r\nmw.target = myOherWrite;\r\n````\r\n\r\nConvenience preset for [grunt](https://github.com/gruntjs/grunt) (same as in `grunt ~0.4.1`):\r\n````js\r\nvar mw = miniwrite.grunt(grunt);\r\n````\r\n## Examples\r\n\r\nBuild your own:\r\n````js\r\nvar mw = {};\r\nmw.writeln = function(line) {\r\n\tmyWebSocketHyperStream.send({line: line})\r\n};\r\n// pass to supporting tools\r\nawesomeModule.useMiniWritePlz(mw);\r\n````\r\n\r\nTap into output\r\n````js\r\nawesomeModule.writer = miniwrite.splitter([awesomeModule.writer, myMiniWrite]);\r\n````\r\n\r\n## Installation \r\n\r\n```shell\r\n$ npm install miniwrite --save\r\n```\r\n\r\n## History\r\n\r\n* 0.1.2 - Enabled strict mode, split in internal modules\r\n* 0.1.0 - Extracted styling to [ministyle](https://github.com/Bartvds/ministyle).\r\n* 0.0.1 - Extracted code from existing projects\r\n\r\n## Build\r\n\r\nInstall development dependencies in your git checkout:\r\n\r\n    $ npm install\r\n\r\n~Build and run tests:\r\n\r\n    $ grunt\r\n\r\nSee the `Gruntfile.js` for additional commands.\r\n\r\n## Contributing\r\n\r\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\r\n\r\n*Note:* this is an opinionated module: please create a [ticket](https://github.com/Bartvds/miniwrite/issues) to discuss any big ideas. Pull requests for bug fixes are of course always welcome. \r\n\r\n## License\r\n\r\nCopyright (c) 2013 Bart van der Schoor\r\n\r\nLicensed under the MIT license.\r\n\r\n\r\n","maintainers":[{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"time":{"modified":"2022-06-19T21:44:41.491Z","created":"2013-11-28T14:24:35.948Z","0.1.0":"2013-11-28T14:24:40.229Z","0.1.1":"2013-11-28T14:31:23.005Z","0.1.2":"2013-12-02T15:14:44.207Z","0.1.3":"2013-12-12T20:28:33.001Z","0.1.4":"2014-12-03T21:05:21.254Z"},"author":{"name":"Bart van der Schoor","url":"https://github.com/Bartvds"},"repository":{"type":"git","url":"https://github.com/Bartvds/miniwrite"},"homepage":"https://github.com/Bartvds/miniwrite","keywords":["cli","ansi","text","color","stream","adapter","writer"],"bugs":{"url":"https://github.com/Bartvds/miniwrite/issues"},"readmeFilename":"README.md"}