{"_id":"dsn-parser","_rev":"6-614f632c0c36efc8905c8875875d4a28","name":"dsn-parser","description":"Parse and create database connection strings fluently","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"dsn-parser","version":"1.0.0","description":"Parse and create database connection strings fluently","main":"index.js","scripts":{"test":"mocha --reporter spec"},"author":{"name":"Jonnas Fonini","email":"jonnasfonini@gmail.com","url":"https://fonini.github.io"},"license":"WTFPL","devDependencies":{"chai":"^3.5.0","mocha":"^3.2.0"},"gitHead":"2d35c19eb2541b476e7bbb5a10465554b2603ef4","_id":"dsn-parser@1.0.0","_shasum":"555a5639377500dab276868a7bc3d0a21f035d63","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"fonini","email":"jonnasfonini@gmail.com"},"dist":{"shasum":"555a5639377500dab276868a7bc3d0a21f035d63","tarball":"https://registry.npmjs.org/dsn-parser/-/dsn-parser-1.0.0.tgz","integrity":"sha512-TWKDGIMJWdv6WoVlCboBShPMJWfxJIZklv2vCtWE0xVh6YFgqh9PcSukoWW9RNXo2eHFNvj+9v1rttQZHPLFbg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDaZ9MM2jsKUi1Dqrry06lU5pkfXgfmMBqJ9WB5+DRtKQIgdAAxDZEnyVuNocwAIQHHXeRvL2UySwKc0WSyoOLOIXM="}]},"maintainers":[{"name":"fonini","email":"jonnasfonini@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/dsn-parser-1.0.0.tgz_1489609079459_0.9634821563959122"},"directories":{}},"1.0.1":{"name":"dsn-parser","version":"1.0.1","description":"Parse and create database connection strings fluently","main":"index.js","scripts":{"test":"mocha --reporter spec"},"author":{"name":"Jonnas Fonini","email":"jonnasfonini@gmail.com","url":"https://fonini.github.io"},"repository":{"type":"git","url":"git+https://github.com/fonini/dsn-parser.git"},"bugs":{"url":"https://github.com/fonini/dsn-parser/issues"},"keywords":["dsn","parse","jdbc","odbc","database"],"license":"WTFPL","devDependencies":{"chai":"^3.5.0","mocha":"^3.2.0"},"gitHead":"0c9b82a0f65f7c6d7314858fb76590d0c6c44053","homepage":"https://github.com/fonini/dsn-parser#readme","_id":"dsn-parser@1.0.1","_shasum":"88302b28ab3d1c75be2bad15972fae3d9a9f47d8","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"fonini","email":"jonnasfonini@gmail.com"},"dist":{"shasum":"88302b28ab3d1c75be2bad15972fae3d9a9f47d8","tarball":"https://registry.npmjs.org/dsn-parser/-/dsn-parser-1.0.1.tgz","integrity":"sha512-fGGXzGO9gzy/fYA66RiVVnzpTeLxukg/4cx8pkKvgGqG+SJ6d3RKECXIixm49XUwYd0wza1b6m3CUJO6yk0BEQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC664pxrw1f+jy1L6jlps+kQvWbNhRfIAR/NzfQvxm56AiBqSCoC7T0zrWL8XwejtQaXblxEE7e82Vm5w6NHTmUeHA=="}]},"maintainers":[{"name":"fonini","email":"jonnasfonini@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/dsn-parser-1.0.1.tgz_1489689966737_0.0739379667211324"},"directories":{}},"1.0.2":{"name":"dsn-parser","version":"1.0.2","description":"Parse and create database connection strings fluently","main":"index.js","scripts":{"test":"mocha --reporter spec"},"author":{"name":"Jonnas Fonini","email":"jonnasfonini@gmail.com","url":"https://fonini.github.io"},"repository":{"type":"git","url":"git+https://github.com/fonini/dsn-parser.git"},"bugs":{"url":"https://github.com/fonini/dsn-parser/issues"},"keywords":["dsn","parse","jdbc","odbc","database"],"license":"WTFPL","devDependencies":{"chai":"^3.5.0","mocha":"^3.2.0"},"gitHead":"7fab449081dc54bc2eee00534868979516a20e28","homepage":"https://github.com/fonini/dsn-parser#readme","_id":"dsn-parser@1.0.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fonini","email":"jonnasfonini@gmail.com"},"dist":{"integrity":"sha512-ic2HvetGCtbvCUQMaKV/IEO8kBnw7ZyRytF3M301UsTn1ueNQLqbjxZT7BpmCBAt0lZmScBKMfvYTD3QbFivFw==","shasum":"8f5d89b09b078b6e59f1e90b790a9a86f7e25916","tarball":"https://registry.npmjs.org/dsn-parser/-/dsn-parser-1.0.2.tgz","fileCount":4,"unpackedSize":7663,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpFndCRA9TVsSAnZWagAA0TQP/0gRfKUt1SopjeIB1LxF\nH/5239owKjfHdj4VwcUUgpG1KDooMsugvKJJzaee8G0qdRljW2AsXjZfqV2i\npMycV3sxBpaU20BD7jNnC6KkU1+hP8GtiZVGw7bwrHEeTi2+B9ZANXvb1oAC\n9d7kf5JtOCPGWmnZf/byXPQA/fBBL2PsPt7kCx2+qHnPfqCPLl/l1sJU3nqd\n7Gktq60j/nBkox2KZM7jr+eRw/ka+PnYv5Ikyn2x+rsfw96N1TR2H+MBnZyN\n+/4MYNyUPLHymVJLO2ITI3GVEKlnUeQTRtSc+94bMmLRu+Vd1ZtC9jJCK5Rv\nU8FSDz+VIDZxrMO/uCYzCMMbY6jiTgLChOPRPxv2zH0LhGc1w3zrJ2/4/OsP\nB4+BdVOX5TQi9IoAM3SDIGmAiFHmI6Acnp7794knAOtLd+pP2srhde5gdwQK\n6I70wjLG7239qZEGDzPPJtWGj3gxFDbtk+oYoflxUQLuwGItAr0P+3hQjJKf\nEmpBWMwuF2h91slg3JzJdQ2mcnJsLftSuwHfnjKfqA2/Eqk9rEkfrKETY8V8\nT2XDJjPig5EB/7NtFO9nRXaFWfcxfbehl78bSuiyeX795QAJFzh81plGzAHv\nKIsJOau+tRWB8lyKfwAeTM/i3oTxDknW6ThFORFQBOGsO1B3Z7EYlDLvuluB\n0noG\r\n=C8YN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8z8hyRV5QSd1AFRM0frfR249nnzsVw2zeowtt4wOlgQIhAL3+R8VA/HTxVXj7XYK0ZeJfgazZLLtys7F6wdWwaOqh"}]},"maintainers":[{"name":"fonini","email":"jonnasfonini@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dsn-parser_1.0.2_1571051997036_0.3927083118636565"},"_hasShrinkwrap":false},"1.0.3":{"name":"dsn-parser","version":"1.0.3","description":"Parse and create database connection strings fluently","main":"index.js","scripts":{"test":"mocha --reporter spec"},"author":{"name":"Jonnas Fonini","email":"jonnasfonini@gmail.com","url":"https://fonini.github.io"},"repository":{"type":"git","url":"git+https://github.com/fonini/dsn-parser.git"},"bugs":{"url":"https://github.com/fonini/dsn-parser/issues"},"keywords":["dsn","parse","jdbc","odbc","database"],"license":"WTFPL","devDependencies":{"chai":"^3.5.0","mocha":"^7.1.1"},"gitHead":"68465db4bd94120c4aa22e8ed77867df4f32a5c6","homepage":"https://github.com/fonini/dsn-parser#readme","_id":"dsn-parser@1.0.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fonini","email":"jonnasfonini@gmail.com"},"dist":{"integrity":"sha512-1sbyfm2ZCM0fMGK6UKo2RHZm8p4W3lWf5CcrVOfBg3bCQOT38q0MUhroep2FKp/nmMV+AlZVi1cFIL0KgzsiWQ==","shasum":"36d973f7004ead886d98f97483dd499ff9df8585","tarball":"https://registry.npmjs.org/dsn-parser/-/dsn-parser-1.0.3.tgz","fileCount":4,"unpackedSize":8106,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoXpxCRA9TVsSAnZWagAA2asP/20fkW5gzelNY4miQVVI\nefp0Yo95L5DIrTx887tKClgBoH6/lvlWykSLuiV82is7UTWjx8NreCj8pY97\n5OV1h5qvIBWbkAVsvdvrJqJ9auidPRKNblM1tJnzxL7j/o+KUR7HueCyt5YJ\nqKzR0hTsDw0iktQf6yYWC72VwE8PYONG2EtTsbQyw/B2ii14a4ZuKmajoDI9\nYXBaZEvRq5z1OamwrPDLIMrglDe4sFqZb4UFwfL1NXptqat7isWAHefu6/Ge\n+RImkeFR4qknnqV7xHDR8jInpXsKv7LePF5dKYvaGXN/j2fFrR8nwQ41ahGU\nCMuR0wAgGLX31xplCUC5QPh56238ZQ2Bt+smxmXwpVGWAUHor+J7GWtR1fLC\nmrtOxdGV4lqW98xg9CSquJfEyINCVv3PzWmLWjBRf77rQZNKprDZng8BIUzj\nPJN1zax5WNTt/XaZoD/wNILRXh0TX/R7SIT7gMrdsGvn06+yzOOMzKFw4lGB\nZfZpLxVMT4leSU9C11uE7hAzDQu9RvAqiYW0rS8XOx1e5UsRzN5JNy5IIya8\nsSbv1p9U9bHsxuNxnoIc5NAPaQQjk2C3hES9ckFRD4BQuzPZKNx8ijEz9oIT\nZH9TqddVb4/x6F3I5mOq6dowszqJR+1TU643I842rciLm+kiMJNwly9LDD+2\nksGn\r\n=D55k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWXLS/SGNCEUqtuz3k6CX4JdGEzb/vVOdp5+uiRTwV1QIgSHOqGU7qA8havSNJwqlP70pYNmX7FmIKezn1WCg9Vt4="}]},"maintainers":[{"name":"fonini","email":"jonnasfonini@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dsn-parser_1.0.3_1587640945091_0.5427885680302367"},"_hasShrinkwrap":false}},"readme":"DSN Parser for Node\r\n===================\r\n\r\nParse and create database connection strings fluently.\r\n\r\n## Use case\r\n\r\nI've setup a node app on [Heroku](https://www.heroku.com) and added a PostgreSQL database. Heroku provides the database credentials\r\nas an enviroment variable with the following form: `pgsql://user:pass@127.0.0.1:5432/my_db`. \r\n\r\nI needed to parse it to the following way, in order to use with [node-postgres](https://github.com/brianc/node-postgres) package:\r\n\r\n````js\r\nvar config = new DSNParser(process.env.HEROKU_POSTGRESQL_COPPER_URL).getParts();\r\n\r\nvar pool = new pg.Pool(config);\r\n````\r\n\r\n## Installation\r\n\r\n`npm install dsn-parser`\r\n\r\n## Usage\r\n\r\n### Parse Data Source Name\r\n\r\n````js\r\nvar DSNParser = require('dsn-parser');\r\n\r\nvar dsn = new DSNParser('pgsql://user:pass@127.0.0.1:5432/my_db?sslmode=verify-full&application_name=myapp');\r\ndsn.getParts();\r\n\r\n/*\r\n{ \r\n  driver: 'pgsql',\r\n  user: 'user',\r\n  password: 'pass',\r\n  host: '127.0.0.1',\r\n  port: 5432,\r\n  database: 'my_db',\r\n  params: { sslmode: 'verify-full', application_name: 'myapp' } \r\n} */\r\n\r\ndsn.get('database'); // my_db\r\ndsn.get('host'); // 127.0.0.1\r\n\r\ndsn.set('driver', 'mysql');\r\ndsn.set('user', 'root');\r\ndsn.set('password', null);\r\ndsn.set('port', 3306);\r\ndsn.set('params', null);\r\n\r\ndsn.getDSN();\r\n// mysql://root@127.0.0.1:3306/my_db\r\n\r\n````\r\n\r\n### Build new DSN\r\n\r\n````js\r\nvar DSNParser = require('dsn-parser');\r\n\r\nvar dsn = new DSNParser();\r\n\r\ndsn.set('driver', 'mysql')\r\n\t.set('user', 'root')\r\n\t.set('password', 'mypass')\r\n\t.set('host', 'localhost')\r\n\t.set('port', 3306)\r\n\t.set('database', '7gh4d78sh2')\r\n\t.set('params', {\r\n\t\tcharset: 'utf8',\r\n\t\tstrict: true\r\n\t});\r\n\r\ndsn.getDSN();\r\n\r\n// mysql://root:mypass@localhost:3306/7gh4d78sh2?charset=utf8&strict=true\r\n````\r\n\r\n## Run tests\r\n\r\n`npm test`\r\n\r\n## Author\r\n\r\n#### Jonnas Fonini\r\n\r\n- https://fonini.github.io\r\n\r\n## License\r\n[![Licensed under the WTFPL](http://www.wtfpl.net/wp-content/uploads/2012/12/wtfpl-badge-2.png \"Licensed under the WTFPL\")](http://www.wtfpl.net)","maintainers":[{"name":"fonini","email":"jonnasfonini@gmail.com"}],"time":{"modified":"2022-06-16T00:58:29.440Z","created":"2017-03-15T20:18:01.428Z","1.0.0":"2017-03-15T20:18:01.428Z","1.0.1":"2017-03-16T18:46:08.636Z","1.0.2":"2019-10-14T11:19:57.144Z","1.0.3":"2020-04-23T11:22:25.214Z"},"author":{"name":"Jonnas Fonini","email":"jonnasfonini@gmail.com","url":"https://fonini.github.io"},"license":"WTFPL","readmeFilename":"README.md","homepage":"https://github.com/fonini/dsn-parser#readme","keywords":["dsn","parse","jdbc","odbc","database"],"repository":{"type":"git","url":"git+https://github.com/fonini/dsn-parser.git"},"bugs":{"url":"https://github.com/fonini/dsn-parser/issues"}}