{"_id":"stringifier","_rev":"299406","name":"stringifier","description":"Yet another stringify function","dist-tags":{"latest":"2.1.0"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"time":{"modified":"2021-06-03T19:02:52.000Z","created":"2014-07-18T05:40:34.118Z","2.1.0":"2019-07-14T12:23:43.146Z","2.0.0":"2018-11-23T01:43:36.601Z","1.4.0":"2018-08-23T00:58:17.724Z","1.3.0":"2016-05-25T06:53:26.513Z","1.2.1":"2015-10-25T19:27:05.187Z","1.2.0":"2015-07-10T08:13:19.182Z","1.1.0":"2015-04-27T13:44:45.300Z","1.0.1":"2015-02-14T06:58:06.308Z","1.0.0":"2014-11-08T15:47:42.376Z","0.1.2":"2014-10-26T18:06:55.269Z","0.1.1":"2014-08-10T10:18:51.785Z","0.1.0":"2014-07-18T05:59:25.543Z","0.0.1":"2014-07-18T05:40:34.118Z"},"users":{"chocolateboy":true,"yatsu":true},"author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"repository":{"type":"git","url":"git://github.com/twada/stringifier.git"},"versions":{"2.1.0":{"name":"stringifier","description":"Yet another stringify function","version":"2.1.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/twada/stringifier/issues"},"contributors":[{"name":"Stuart Cook","url":"https://github.com/Zalathar"}],"dependencies":{"traverse":"^0.6.6","type-name":"^2.0.1"},"devDependencies":{"mocha":"^6.0.0","semistandard":"^13.0.0","snazzy":"^8.0.0"},"homepage":"https://github.com/twada/stringifier","keywords":["stringify"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/twada/stringifier.git"},"scripts":{"preversion":"npm test","fmt":"semistandard --fix index.js strategies.js test/*.js","lint":"semistandard --verbose index.js strategies.js test/*.js | snazzy","test":"mocha test"},"semistandard":{"globals":["BigInt","describe","beforeEach","it"]},"gitHead":"6f5333ce4eedf613c147ed9b4a489b36531f1a96","_id":"stringifier@2.1.0","_nodeVersion":"12.2.0","_npmVersion":"6.9.0","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"dist":{"shasum":"44f0364a3c02f7aa0c3c6ea455da25cea8c12dd9","size":7495,"noattachment":false,"key":"/stringifier/-/stringifier-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/stringifier/download/stringifier-2.1.0.tgz"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stringifier_2.1.0_1563107022976_0.9824632963705229"},"_hasShrinkwrap":false,"publish_time":1563107023146,"_cnpm_publish_time":1563107023146},"2.0.0":{"name":"stringifier","description":"Yet another stringify function","version":"2.0.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/twada/stringifier/issues"},"dependencies":{"traverse":"^0.6.6","type-name":"^2.0.1"},"devDependencies":{"mocha":"^5.0.0","semistandard":"^13.0.0","snazzy":"^8.0.0"},"homepage":"https://github.com/twada/stringifier","keywords":["stringify"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/twada/stringifier.git"},"scripts":{"preversion":"npm test","fmt":"semistandard --fix index.js strategies.js test/*.js","lint":"semistandard --verbose index.js strategies.js test/*.js | snazzy","test":"mocha test"},"semistandard":{"globals":["describe","beforeEach","it"]},"gitHead":"d7faea0275b0cae70cacacf7855588de56f84162","_id":"stringifier@2.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"dist":{"shasum":"dd1718e0d67e5ee355861ccd4ba2fe0007539c26","size":7267,"noattachment":false,"key":"/stringifier/-/stringifier-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/stringifier/download/stringifier-2.0.0.tgz"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stringifier_2.0.0_1542937416461_0.01971884568558413"},"_hasShrinkwrap":false,"publish_time":1542937416601,"_cnpm_publish_time":1542937416601},"1.4.0":{"name":"stringifier","description":"Yet another stringify function","version":"1.4.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/twada/stringifier/issues"},"dependencies":{"core-js":"^2.0.0","traverse":"^0.6.6","type-name":"^2.0.1"},"devDependencies":{"browserify":"^13.0.0","del":"^2.0.2","gulp":"^3.9.0","gulp-derequire":"^2.1.0","gulp-dereserve":"^0.2.1","gulp-mocha":"^2.1.3","gulp-mocha-phantomjs":"^0.11.0","gulp-util":"^3.0.6","gulp-webserver":"^0.9.1","licensify":"^3.1.0","mocha":"^2.3.3","vinyl-source-stream":"^1.1.0"},"files":["CHANGELOG.md","README.md","index.js","strategies.js","build/stringifier.js","package.json"],"homepage":"https://github.com/twada/stringifier","keywords":["stringify"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/twada/stringifier.git"},"scripts":{"preversion":"npm test","version":"npm run build && git add -A build","bower":"bower install --config.interactive=false","build":"npm prune && npm dedupe && gulp bundle","lint":"jshint index.js strategies.js","es6":"./test/travis_es6.sh","unit":"npm run es6 && gulp unit","test":"npm run es6 && gulp test"},"gitHead":"b66592fe43ceab362161b943b6e7d670800c0625","_id":"stringifier@1.4.0","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"dist":{"shasum":"d704581567f4526265d00ed8ecb354a02c3fec28","size":18628,"noattachment":false,"key":"/stringifier/-/stringifier-1.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/stringifier/download/stringifier-1.4.0.tgz"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stringifier_1.4.0_1534985897666_0.9319359351329202"},"_hasShrinkwrap":false,"publish_time":1534985897724,"_cnpm_publish_time":1534985897724},"1.3.0":{"name":"stringifier","description":"Yet another stringify function","version":"1.3.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/twada/stringifier/issues"},"dependencies":{"core-js":"^2.0.0","traverse":"^0.6.6","type-name":"^2.0.1"},"devDependencies":{"browserify":"^13.0.0","del":"^2.0.2","gulp":"^3.9.0","gulp-derequire":"^2.1.0","gulp-dereserve":"^0.2.1","gulp-mocha":"^2.1.3","gulp-mocha-phantomjs":"^0.11.0","gulp-util":"^3.0.6","gulp-webserver":"^0.9.1","licensify":"^3.1.0","mocha":"^2.3.3","vinyl-source-stream":"^1.1.0"},"files":["CHANGELOG.md","README.md","index.js","strategies.js","build/stringifier.js","package.json"],"homepage":"https://github.com/twada/stringifier","keywords":["stringify"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/twada/stringifier.git"},"scripts":{"preversion":"npm test","version":"npm run build && git add -A build","bower":"bower install --config.interactive=false","build":"npm prune && npm dedupe && gulp bundle","lint":"jshint index.js strategies.js","es6":"./test/travis_es6.sh","unit":"npm run es6 && gulp unit","test":"npm run es6 && gulp test"},"gitHead":"a0eca68da7c626b77a7be0252ce98f17722e985d","_id":"stringifier@1.3.0","_shasum":"def18342f6933db0f2dbfc9aa02175b448c17959","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.1.0","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"def18342f6933db0f2dbfc9aa02175b448c17959","size":15262,"noattachment":false,"key":"/stringifier/-/stringifier-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/stringifier/download/stringifier-1.3.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/stringifier-1.3.0.tgz_1464159206095_0.5168266317341477"},"directories":{},"publish_time":1464159206513,"_cnpm_publish_time":1464159206513,"_hasShrinkwrap":false},"1.2.1":{"name":"stringifier","description":"Yet another stringify function","version":"1.2.1","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/twada/stringifier/issues"},"dependencies":{"array-filter":"^1.0.0","array-foreach":"^1.0.1","array-reduce-right":"^1.0.0","indexof":"^0.0.1","traverse":"^0.6.6","type-name":"^1.1.0","xtend":"^4.0.0"},"devDependencies":{"browserify":"^11.2.0","del":"^2.0.2","gulp":"^3.9.0","gulp-derequire":"^2.1.0","gulp-dereserve":"^0.2.1","gulp-mocha":"^2.1.3","gulp-mocha-phantomjs":"^0.10.1","gulp-util":"^3.0.6","gulp-webserver":"^0.9.1","licensify":"^2.0.1","mocha":"^2.3.3","vinyl-source-stream":"^1.1.0"},"files":["CHANGELOG.md","README.md","index.js","strategies.js","build/stringifier.js","package.json","test"],"homepage":"https://github.com/twada/stringifier","keywords":["stringify"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/twada/stringifier.git"},"scripts":{"bower":"bower install --config.interactive=false","build":"npm prune && npm dedupe && gulp bundle","lint":"jshint index.js strategies.js","es6":"./test/travis_es6.sh","unit":"npm run es6 && gulp unit","test":"npm run es6 && gulp test"},"gitHead":"459e0a3bf62833c6d1425908f27e6160877ece3b","_id":"stringifier@1.2.1","_shasum":"033931dc86dc5e153166d08b6ebb26247e0e27cb","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"033931dc86dc5e153166d08b6ebb26247e0e27cb","size":15289,"noattachment":false,"key":"/stringifier/-/stringifier-1.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/stringifier/download/stringifier-1.2.1.tgz"},"directories":{},"publish_time":1445801225187,"_cnpm_publish_time":1445801225187,"_hasShrinkwrap":false},"1.2.0":{"name":"stringifier","description":"Yet another stringify function","version":"1.2.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/twada/stringifier/issues"},"dependencies":{"array-filter":"^1.0.0","array-foreach":"^1.0.1","array-reduce-right":"^1.0.0","indexof":"^0.0.1","traverse":"^0.6.6","type-name":"^1.0.1","xtend":"^4.0.0"},"devDependencies":{"browserify":"^10.2.6","del":"^1.2.0","gulp":"^3.9.0","gulp-derequire":"^2.1.0","gulp-dereserve":"^0.2.1","gulp-mocha":"^2.1.2","gulp-mocha-phantomjs":"^0.6.1","gulp-util":"^3.0.6","gulp-webserver":"^0.9.1","licensify":"^1.1.0","mocha":"^2.2.5","vinyl-source-stream":"^1.1.0"},"files":["CHANGELOG.md","README.md","index.js","strategies.js","build/stringifier.js","package.json","test"],"homepage":"https://github.com/twada/stringifier","keywords":["stringify"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git://github.com/twada/stringifier.git"},"scripts":{"bower":"bower install --config.interactive=false","build":"npm prune && npm dedupe && gulp bundle","lint":"jshint index.js strategies.js","es6":"./test/travis_es6.sh","test":"npm run es6 && gulp test"},"gitHead":"08a206e66799a8c2b1370eb0b3bffa59ee21d2c6","_id":"stringifier@1.2.0","_shasum":"daa4ddb8efd17a53c529b51fc23a8c1fae88e0c5","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"daa4ddb8efd17a53c529b51fc23a8c1fae88e0c5","size":14987,"noattachment":false,"key":"/stringifier/-/stringifier-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/stringifier/download/stringifier-1.2.0.tgz"},"directories":{},"publish_time":1436515999182,"_cnpm_publish_time":1436515999182,"_hasShrinkwrap":false},"1.1.0":{"name":"stringifier","description":"Yet another stringify function","version":"1.1.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/twada/stringifier/issues"},"dependencies":{"array-filter":"~0.2.0","array-foreach":"~1.0.1","array-reduce-right":"~1.0.0","indexof":"~0.0.1","traverse":"~0.6.6","type-name":"~1.0.1","xtend":"~4.0.0"},"devDependencies":{"browserify":"~9.0.8","del":"~1.1.1","gulp":"~3.8.11","gulp-derequire":"~2.0.0","gulp-dereserve":"^0.2.0","gulp-mocha":"~2.0.1","gulp-mocha-phantomjs":"~0.6.1","gulp-util":"~3.0.4","gulp-webserver":"~0.9.0","mocha":"~2.2.4","vinyl-source-stream":"~1.1.0"},"files":["CHANGELOG.md","README.md","index.js","strategies.js","build/stringifier.js","package.json","test"],"homepage":"https://github.com/twada/stringifier","keywords":["stringify"],"license":{"type":"MIT","url":"http://twada.mit-license.org/2014-2015"},"main":"index.js","repository":{"type":"git","url":"git://github.com/twada/stringifier.git"},"scripts":{"bower":"bower install --config.interactive=false","lint":"jshint index.js strategies.js","test":"gulp test"},"gitHead":"918f2bdac9ecbe4146bee7ea0e42ac06bfc77307","_id":"stringifier@1.1.0","_shasum":"a72a04f91ccda163027f714638d17a0993fb008f","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"a72a04f91ccda163027f714638d17a0993fb008f","size":14439,"noattachment":false,"key":"/stringifier/-/stringifier-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/stringifier/download/stringifier-1.1.0.tgz"},"directories":{},"publish_time":1430142285300,"_cnpm_publish_time":1430142285300,"_hasShrinkwrap":false},"1.0.1":{"name":"stringifier","description":"Yet another stringify function","version":"1.0.1","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/twada/stringifier/issues"},"dependencies":{"traverse":"~0.6.6","type-name":"~1.0.1","xtend":"~4.0.0"},"devDependencies":{"browserify":"~8.1.3","del":"~1.1.0","gulp":"~3.8.11","gulp-derequire":"~2.0.0","gulp-mocha":"~2.0.0","gulp-mocha-phantomjs":"~0.5.1","gulp-util":"~3.0.3","gulp-webserver":"~0.9.0","mocha":"~2.1.0","vinyl-source-stream":"~1.0.0"},"files":["CHANGELOG.md","README.md","index.js","strategies.js","package.json","test"],"homepage":"https://github.com/twada/stringifier","keywords":["stringify"],"license":{"type":"MIT","url":"http://twada.mit-license.org/2014-2015"},"main":"index.js","repository":{"type":"git","url":"git://github.com/twada/stringifier.git"},"scripts":{"bower":"bower install --config.interactive=false","lint":"jshint index.js strategies.js","test":"gulp test"},"gitHead":"1e2fc63edaad9100ddd1214782d76b41e5b589e9","_id":"stringifier@1.0.1","_shasum":"24394d437bc92aa1dd69dabbcbd3630e842de512","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"24394d437bc92aa1dd69dabbcbd3630e842de512","size":10309,"noattachment":false,"key":"/stringifier/-/stringifier-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/stringifier/download/stringifier-1.0.1.tgz"},"directories":{},"publish_time":1423897086308,"_cnpm_publish_time":1423897086308,"_hasShrinkwrap":false},"1.0.0":{"name":"stringifier","description":"Yet another stringify function","version":"1.0.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/twada/stringifier/issues"},"dependencies":{"traverse":"~0.6.6","type-name":"~1.0.0","xtend":"~4.0.0"},"devDependencies":{"browserify":"~6.2.0","del":"~0.1.3","gulp":"~3.8.9","gulp-derequire":"~2.0.0","gulp-mocha":"~1.1.1","gulp-mocha-phantomjs":"~0.5.1","gulp-util":"~3.0.1","gulp-webserver":"~0.8.3","mocha":"~2.0.1","vinyl-source-stream":"~1.0.0"},"files":["CHANGELOG.md","README.md","index.js","strategies.js","package.json","test"],"homepage":"https://github.com/twada/stringifier","keywords":["stringify"],"license":{"type":"MIT","url":"http://twada.mit-license.org/"},"main":"index.js","repository":{"type":"git","url":"git://github.com/twada/stringifier.git"},"scripts":{"bower":"bower install --config.interactive=false","lint":"jshint index.js strategies.js","test":"gulp test"},"gitHead":"bb52755d6c0d0e6c0e3662b20d980e44c0a52361","_id":"stringifier@1.0.0","_shasum":"9233536a65c42cf822dece0e911efe3ac0c2b583","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"9233536a65c42cf822dece0e911efe3ac0c2b583","size":9777,"noattachment":false,"key":"/stringifier/-/stringifier-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/stringifier/download/stringifier-1.0.0.tgz"},"directories":{},"publish_time":1415461662376,"_cnpm_publish_time":1415461662376,"_hasShrinkwrap":false},"0.1.2":{"name":"stringifier","version":"0.1.2","description":"Yet another stringify function","keywords":["stringify"],"main":"index.js","files":["CHANGELOG.md","README.md","index.js","strategies.js","package.json","test"],"dependencies":{"traverse":"~0.6.6","type-name":"~1.0.0","xtend":"~4.0.0"},"devDependencies":{"browserify":"~6.1.0","del":"~0.1.3","gulp":"~3.8.9","gulp-derequire":"~2.0.0","gulp-mocha":"~1.1.1","gulp-mocha-phantomjs":"~0.5.1","gulp-util":"~3.0.1","gulp-webserver":"~0.8.3","mocha":"~2.0.1","vinyl-source-stream":"~1.0.0"},"scripts":{"bower":"bower install --config.interactive=false","jshint":"jshint index.js strategies.js","test":"gulp test"},"author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"repository":{"type":"git","url":"git://github.com/twada/stringifier.git"},"homepage":"https://github.com/twada/stringifier","bugs":{"url":"https://github.com/twada/stringifier/issues"},"licenses":[{"type":"MIT","url":"http://twada.mit-license.org/"}],"gitHead":"65d9c8f436f1257729665da60b31efa0141cf7cb","_id":"stringifier@0.1.2","_shasum":"de866adab2812a92e3fe4fcf115f166ecb995342","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"de866adab2812a92e3fe4fcf115f166ecb995342","size":9579,"noattachment":false,"key":"/stringifier/-/stringifier-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/stringifier/download/stringifier-0.1.2.tgz"},"directories":{},"publish_time":1414346815269,"_cnpm_publish_time":1414346815269,"_hasShrinkwrap":false},"0.1.1":{"name":"stringifier","version":"0.1.1","description":"Yet another stringify function","keywords":["stringify"],"main":"index.js","files":["README.md","index.js","strategies.js","package.json","test"],"dependencies":{"traverse":"~0.6.6","type-name":"~1.0.0","xtend":"~4.0.0"},"devDependencies":{"browserify":"~5.9.1","del":"~0.1.1","gulp":"~3.8.7","gulp-derequire":"~0.3.0","gulp-mocha":"~0.5.2","gulp-mocha-phantomjs":"~0.3.0","gulp-util":"~3.0.0","gulp-webserver":"~0.6.0","mocha":"~1.21.4","vinyl-source-stream":"~0.1.1"},"scripts":{"bower":"bower install --config.interactive=false","jshint":"jshint index.js strategies.js","test":"gulp test"},"author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"repository":{"type":"git","url":"git://github.com/twada/stringifier.git"},"homepage":"https://github.com/twada/stringifier","bugs":{"url":"https://github.com/twada/stringifier/issues"},"licenses":[{"type":"MIT","url":"http://twada.mit-license.org/"}],"gitHead":"2f5dc5827f4a03832b621e868545aae670de3239","_id":"stringifier@0.1.1","_shasum":"991125c12f93098e663bb81f1e679a9939f74b3c","_from":".","_npmVersion":"2.0.0-alpha-5","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"991125c12f93098e663bb81f1e679a9939f74b3c","size":9272,"noattachment":false,"key":"/stringifier/-/stringifier-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/stringifier/download/stringifier-0.1.1.tgz"},"directories":{},"publish_time":1407665931785,"_cnpm_publish_time":1407665931785,"_hasShrinkwrap":false},"0.1.0":{"name":"stringifier","version":"0.1.0","description":"Yet another stringify function","keywords":["stringify"],"main":"index.js","files":["README.md","index.js","strategies.js","package.json","test"],"dependencies":{"traverse":"~0.6.6","type-name":"~1.0.0","xtend":"~3.0.0"},"devDependencies":{"browserify":"~4.2.1","gulp":"~3.8.6","gulp-clean":"~0.3.1","gulp-connect":"~2.0.6","gulp-mocha":"~0.5.1","gulp-mocha-phantomjs":"~0.3.0","gulp-util":"~2.2.20","mocha":"~1.20.1","vinyl-source-stream":"~0.1.1"},"scripts":{"bower":"bower install --config.interactive=false","jshint":"jshint index.js strategies.js","test":"gulp test"},"author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"repository":{"type":"git","url":"git://github.com/twada/stringifier.git"},"homepage":"https://github.com/twada/stringifier","bugs":{"url":"https://github.com/twada/stringifier/issues"},"licenses":[{"type":"MIT","url":"http://twada.mit-license.org/"}],"_id":"stringifier@0.1.0","_shasum":"7145ddc91bfe047eb51630f99e5db2b0d5382b10","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"7145ddc91bfe047eb51630f99e5db2b0d5382b10","size":9263,"noattachment":false,"key":"/stringifier/-/stringifier-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/stringifier/download/stringifier-0.1.0.tgz"},"directories":{},"publish_time":1405663165543,"_cnpm_publish_time":1405663165543,"_hasShrinkwrap":false},"0.0.1":{"name":"stringifier","version":"0.0.1","description":"Yet another stringify function","keywords":["stringify"],"main":"index.js","files":["README.md","index.js","strategies.js","package.json","test"],"dependencies":{"traverse":"~0.6.6","type-name":"~0.1.1","xtend":"~3.0.0"},"devDependencies":{"browserify":"~4.2.1","gulp":"~3.8.6","gulp-clean":"~0.3.1","gulp-connect":"~2.0.6","gulp-mocha":"~0.5.1","gulp-mocha-phantomjs":"~0.3.0","gulp-util":"~2.2.20","mocha":"~1.20.1","vinyl-source-stream":"~0.1.1"},"scripts":{"bower":"bower install --config.interactive=false","jshint":"jshint index.js strategies.js","test":"gulp test"},"author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"repository":{"type":"git","url":"git://github.com/twada/stringifier.git"},"homepage":"https://github.com/twada/stringifier","bugs":{"url":"https://github.com/twada/stringifier/issues"},"licenses":[{"type":"MIT","url":"http://twada.mit-license.org/"}],"_id":"stringifier@0.0.1","_shasum":"c848f72b50edc78053c4e69a12ee692abdb56fde","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"c848f72b50edc78053c4e69a12ee692abdb56fde","size":9256,"noattachment":false,"key":"/stringifier/-/stringifier-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/stringifier/download/stringifier-0.0.1.tgz"},"directories":{},"publish_time":1405662034118,"_cnpm_publish_time":1405662034118,"_hasShrinkwrap":false}},"readme":"stringifier\n================================\n\nYet another stringify function.\n\n[![Build Status][travis-image]][travis-url]\n[![NPM package][npm-image]][npm-url]\n[![Code Style][style-image]][style-url]\n[![License][license-image]][license-url]\n\n\nDESCRIPTION\n---------------------------------------\n\n`stringifier` is a function like `JSON.stringify` but intended to be more customizable. For example,\n\n- Max depth for recursive object tree traversal\n- Per-type output customization\n- Circular reference handling\n\n\nPull-requests, issue reports and patches are always welcomed. `stringifier` is a spin-off product of [power-assert](https://github.com/power-assert-js/power-assert) project.\n\n\nAPI\n---------------------------------------\n\n\n### stringifier(options)\n\n`require('stringifier')` exports single function `stringifier` that accepts `options` as optional parameters and returns configured function for stringify. This is the comprehensive usage.\n\n```javascript\nvar stringifier = require('stringifier');\nvar stringify = stringifier(options);\nconsole.log(stringify(anyVar));\n```\n\n\n### stringifier.stringify(val, options)\n\nFor more simplified usage, `stringifier` has a function `stringify`, that simply takes target object/value and returns stringified result string. `stringifier.stringify` accepts `options` as optional parameter too.\n\n```javascript\nvar stringify = require('stringifier').stringify;\nconsole.log(stringify(anyVar));\n```\n\n\nINSTALL\n---------------------------------------\n\n### via npm\n\nInstall\n\n    $ npm install --save stringifier\n\nUse\n\n```javascript\nvar stringify = require('stringifier').stringify;\nconsole.log(stringify(anyVar));\n```\n\n\nEXAMPLE\n---------------------------------------\n\nFor given context,\n\n```javascript\nvar stringifier = require('stringifier'),\n    assert = require('assert');\n\nfunction Student (name, age, gender) {\n    this.name = name;\n    this.age = age;\n    this.gender = gender;\n}\n\nvar AnonStudent = function(name, age, gender) {\n    this.name = name;\n    this.age = age;\n    this.gender = gender;\n};\n\nvar student = new Student('tom', 10, 'M');\nvar anonStudent = new AnonStudent('mary', 9, 'F');\n\nvar values = [\n    'string', \n    [null, undefined],\n    {\n        primitives: [true, false, -5, 98.6],\n        specific: {\n            regex: /^not/,\n            numbers: [NaN, Infinity, -Infinity]\n        },\n        userDefined: [\n            student,\n            anonStudent\n        ]\n    }\n];\n```\n\n\n#### default single-line output\n\n```javascript\nvar stringify = stringifier();\nconsole.log(stringify(values));\n```\nresult:\n\n```javascript\n[\"string\",[null,undefined],Object{primitives:[true,false,-5,98.6],specific:Object{regex:/^not/,numbers:[NaN,Infinity,-Infinity]},userDefined:[Student{name:\"tom\",age:10,gender:\"M\"},@Anonymous{name:\"mary\",age:9,gender:\"F\"}]}]\n```\n\n\n#### pretty printing with indentation\n\nUse `indent` option for pretty printing. Using four spaces for indentation in this case.\n\n```javascript\nvar stringify = stringifier({indent: '    '});\nconsole.log(stringify(values));\n```\n\nresult:\n\n```javascript\n[\n    \"string\",\n    [\n        null,\n        undefined\n    ],\n    Object{\n        primitives: [\n            true,\n            false,\n            -5,\n            98.6\n        ],\n        specific: Object{\n            regex: /^not/,\n            numbers: [\n                NaN,\n                Infinity,\n                -Infinity\n            ]\n        },\n        userDefined: [\n            Student{\n                name: \"tom\",\n                age: 10,\n                gender: \"M\"\n            },\n            @Anonymous{\n                name: \"mary\",\n                age: 9,\n                gender: \"F\"\n            }\n        ]\n    }\n]\n```\n\n\n#### depth limitation\n\nUse `maxDepth` option to stringify at most specified levels.\n\n```javascript\nvar stringify = stringifier({maxDepth: 3, indent: '    '});\nconsole.log(stringify(values));\n```\n\nresult:\n\n```javascript\n[\n    \"string\",\n    [\n        null,\n        undefined\n    ],\n    Object{\n        primitives: [\n            true,\n            false,\n            -5,\n            98.6\n        ],\n        specific: Object{\n            regex: /^not/,\n            numbers: #Array#\n        },\n        userDefined: [\n            #Student#,\n            #@Anonymous#\n        ]\n    }\n]\n```\n\n\n#### anonymous class label\n\nUse `anonymous` option to specify alternate type name for anonymous constructors.\n\n```javascript\nvar stringify = stringifier({anonymous: 'ANON'});\nassert(stringify(anonStudent) === 'ANON{name:\"mary\",age:9,gender:\"F\"}');\n```\n\n\n#### omit specific property from output\n\nCustomize `options.handlers`\n\n```javascript\nvar stringify;\n\n// property whitelist and reordering\nstringify = stringifier({\n    handlers: {\n        'Student': s.object(null, ['gender', 'age'])\n    }\n});\nassert(stringify(student) === 'Student{gender:\"M\",age:10}');\n\n// blacklist by property name\nstringify = stringifier({\n    handlers: {\n        'Student': s.object(function (kvp) {\n            return ['age', 'gender'].indexOf(kvp.key) === -1;\n        })\n    }\n});\nassert(stringify(student) === 'Student{name:\"tom\"}');\n\n// blacklist by property value\nstringify = stringifier({\n    handlers: {\n        'Student': s.object(function (kvp) {\n            return kvp.value !== 'M';\n        })\n    }\n});\nassert(stringify(student) === 'Student{name:\"tom\",age:10}');\n\n// whitelist by property value\nstringify = stringifier({\n    handlers: {\n        'Student': s.object(function (kvp) {\n            return typeName(kvp.value) === 'string';\n        })\n    }\n});\nassert(stringify(student) === 'Student{name:\"tom\",gender:\"M\"}');\n```\n\n\n#### truncate property value\n\nReturn number from object predicate\n\n```javascript\nstringify = stringifier({\n    handlers: {\n        'Student': s.object(function (kvp) {\n            if (kvp.key === 'name') {\n                return 3;\n            }\n            return true;\n        })\n    }\n});\nassert(stringify(student) === 'Student{name:\"to..(snip),age:10,gender:\"M\"}');\n```\n\n\n\nCONFIGURATION\n---------------------------------------\n\n### options\n\n\n#### options.maxDepth\nType: `number`\nDefault value: `null`\n\nMax depth for recursive Object tree traversal\n\n\n#### options.indent\nType: `String`\nDefault value: `null`\n\nstring value for indentation.\nIf this value is not empty, stringified result may contain multiple lines.\n\n\n#### options.lineSeparator\nType: `String`\nDefault value: `'\\n'`\n\nstring value for line-separator.\nMakes sense only if `options.indent` is not empty.\n\n\n#### options.anonymous\nType: `String`\nDefault value: `'@Anonymous'`\n\nType name string alternative for displaying Object created by anonymous constructor\n\n\n#### options.circular\nType: `String`\nDefault value: `'#@Circular#'`\n\nAlternative string for displaying Circular reference\n\n\n#### options.snip\nType: `String`\nDefault value: `'..(snip)'`\n\nFor displaying truncated string\n\n\n#### options.handlers\n\n`options.handlers` is a object where property names are type names (string, number, ...) and values are per-type stringify strategy functions. Various strategies are defined in `stringifier.strategies`, and default strategies are defined as follows.\n\n```javascript\nvar s = require('./strategies');\nfunction defaultHandlers () {\n    return {\n        'null': s.always('null'),\n        'undefined': s.always('undefined'),\n        'function': s.prune(),\n        'string': s.json(),\n        'boolean': s.json(),\n        'number': s.number(),\n        'bigint': s.bigint(),\n        'symbol': s.toStr(),\n        'RegExp': s.toStr(),\n        'String': s.newLike(),\n        'Boolean': s.newLike(),\n        'Number': s.newLike(),\n        'Date': s.newLike(),\n        'Array': s.array(),\n        'Object': s.object(),\n        'Error': s.object(null, ['message', 'code']),\n        '@default': s.object()\n    };\n}\n```\n\nIf unknown type is detected, strategy function registered by `'@default'` key will be used.\n\n\n### strategies\n\nFor given `Student` pseudo-class and a `stringifier`,\n\n```javascript\nvar stringifier = require('stringifier'),\n    s = stringifier.strategies,\n    assert = require('assert'),\n\nfunction Student (name, age, gender) {\n    this.name = name;\n    this.age = age;\n    this.gender = gender;\n}\n\nvar student = new Student('tom', 10, 'M');\n```\n\n#### always\n\n`always` strategy always returns passed constant (In this case, `'foo'`).\n\n```javascript\nvar stringify = stringifier({\n    handlers: {\n        'Student': s.always('foo')\n    }\n});\nassert(stringify(student) === 'foo');\n```\n\n#### json\n\n`json` strategy applies `JSON.stringify` to input value then return the result string.\n\n```javascript\nvar stringify = stringifier({\n    handlers: {\n        'Student': s.json()\n    }\n});\nassert(stringify(student) === '{\"name\":\"tom\",\"age\":10,\"gender\":\"M\"}');\n```\n\n#### toStr\n\n`toStr` strategy calls `toString()` to input value then return the result string.\n\n```javascript\nvar stringify = stringifier({\n    handlers: {\n        'Student': s.toStr()\n    }\n});\nassert(stringify(student) === '[object Object]');\n```\n\n#### prune\n\n`prune` strategy does not serialize target value but returns target type name surrounded by `#`.\n\n```javascript\nvar stringify = stringifier({\n    handlers: {\n        'Student': s.prune()\n    }\n});\nassert(stringify(student) === '#Student#');\n```\n\n#### newLike\n\n`newLike` strategy emulates \"new constructor call pattern\".\n\n```javascript\nvar stringify = stringifier({\n    handlers: {\n        'Student': s.newLike()\n    }\n});\nassert(stringify(student) === 'new Student({\"name\":\"tom\",\"age\":10,\"gender\":\"M\"})');\n```\n\n#### object\n\n`object` strategy stringifies target object recursively and decorate object literal-like syntax with its type name. `object` is a default strategy for objects, and any other unknown types.\n\n```javascript\nvar stringify = stringifier({\n    handlers: {\n        'Student': s.object()\n    }\n});\nassert(stringify(student) === 'Student{name:\"tom\",age:10,gender:\"M\"}');\n```\n\n#### array\n\n`array` strategy is an array specific stringification strategy, and is a default strategy for arrays.\n\n```javascript\nvar stringify = stringifier({\n    handlers: {\n        'Array': s.array()\n    }\n});\nassert(stringify(['foo', 'bar', 'baz']) === '[\"foo\",\"bar\",\"baz\"]');\n```\n\n#### number\n\n`number` strategy is a number specific stringification strategy, and is a default strategy for number. `number` strategy also provides `NaN`,`Infinity` and `-Infinity` handling.\n\n```javascript\nvar stringify = stringifier({\n    handlers: {\n        'Array': s.array(),\n        'number': s.number()\n    }\n});\nassert(stringify([NaN, 0, Infinity, -0, -Infinity]) === '[NaN,0,Infinity,0,-Infinity]');\n```\n\n#### bigint\n\n`bigint` strategy stringifies `BigInt` values as literals with a trailing `n`.\n\n```javascript\nvar stringify = stringifier({\n    handlers: {\n        'bigint': s.bigint()\n    }\n});\nassert(stringify(BigInt('-100000000000000005')) === '-100000000000000005n');\n```\n\n\nAUTHOR\n---------------------------------------\n* [Takuto Wada](https://github.com/twada)\n\n\nCONTRIBUTORS\n---------------------------------------\n* [Stuart Cook (Zalathar)](https://github.com/Zalathar)\n\n\nLICENSE\n---------------------------------------\nLicensed under the [MIT](https://twada.mit-license.org/2014-2019) license.\n\n\n[travis-url]: https://travis-ci.org/twada/stringifier\n[travis-image]: https://secure.travis-ci.org/twada/stringifier.svg?branch=master\n\n[npm-url]: https://npmjs.org/package/stringifier\n[npm-image]: https://badge.fury.io/js/stringifier.svg\n\n[style-url]: https://github.com/Flet/semistandard\n[style-image]: https://img.shields.io/badge/code%20style-semistandard-brightgreen.svg\n\n[license-url]: https://twada.mit-license.org/2014-2019\n[license-image]: https://img.shields.io/badge/license-MIT-brightgreen.svg\n","_attachments":{},"homepage":"https://github.com/twada/stringifier","bugs":{"url":"https://github.com/twada/stringifier/issues"},"license":"MIT"}