0.1.3 • Published 10 years ago

stringray v0.1.3

Weekly downloads
3
License
MIT
Repository
github
Last release
10 years ago

stringray

Build Status

Module that transforms a JS Array into a single String of newline-separated elements.

Getting started.

$ npm install stringray

Let's say you have a JSON Array dataset with 50 songs, where each element is an Object with 20+ keys. Once converted, stringray can convert these songs into a a single String of newline-separated elements. Specifically, it will:

  • process null elements on conversion,
  • converts Function elements to a 'Function : Function' string, and
  • adds a newline at the end of every result

When used in conjunction with the split and through modules, you can consume and process each song one at a time as you wish.

Examples.

    // JavaScript Usage
    var stringray = require('stringray');

    // Instead of doing this...
    var ceeDee = [{ "c" : 3 }, {"d" : 4}];
    var output = '';

    for (var i = 0, il = ceeDee.length, obj; i < il; i++) {
      obj = ceeDee[i];
      output += JSON.stringify(obj) + '\n'
    }

    console.log(output);                //=> '{"c":3}\n{"d":4}\n'

    // stringray does the above in a single line.
    stringray([{ "c" : 3 }, {"d" : 4}]) //=> '{"c":3}\n{"d":4}\n'

    // stringray writes `null` to the output.
    stringray([null, 1, 2])             //=> 'null\n1\n2\n'

    // Any function elements are converted to a `[Function: Function]` string
    stringray([function() { }])         //=> '[Function: Function]\n'
    # CoffeeScript Usage
    stringray = require 'stringray'

    nest = 
      artist: 'Slakah the Beatchild ft. Ebrahim'
      title: 'This Beautiful Feeling'
      meta:
          time: 231
          tags: ['neo-soul', 'summer vibes', 'slakah', 'ebrahim']

    stringray(nest)
    # =>'{"artist":"Slakah the Beatchild ft. Ebrahim","title":"This Beautiful Feeling","meta":{"time":231,"tags":["neo-soul","summer vibes","slakah","ebrahim"]}}\n'

Test.

# clone this repo and cd inside it
$ git clone https://github.com/francismakes/stringray && cd $_ 

# install jasmine-node as a dev-dependency
$ npm install

# runs tests
$ npm test        

Tasks.

  • Local Add example on using this stringray in conjunction with Node.js streams.
  • Local JSHint - include either a precommit hook, config, or gulp task to hint