{"_id":"@ack_inc/rand-str","_rev":"3-feeb12a8e2cfacb0d73d997aba359e76","name":"@ack_inc/rand-str","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@ack_inc/rand-str","version":"1.0.0","description":"Generate a random string of specified length, and satisfying specified constraints","license":"MIT","author":{"name":"Anirudh Nimmagadda","email":"anirudh.nimmagadda@gmail.com"},"engines":{"node":">=12"},"repository":{"type":"git","url":"git+https://github.com/ackinc/node-rand-str.git"},"bugs":{"url":"https://github.com/ackinc/node-rand-str/issues"},"main":"index.js","scripts":{"test":"jest"},"devDependencies":{"eslint":"^7.25.0","eslint-plugin-jest":"^24.3.6","jest":"^26.6.3","prettier":"^2.2.1"},"keywords":["generate random","generate random string","generate random token","random string","random string generator","random token","random token generator"],"gitHead":"f0d396d38eab2cdd951954998aa23f8c17a90f66","homepage":"https://github.com/ackinc/node-rand-str#readme","_id":"@ack_inc/rand-str@1.0.0","_nodeVersion":"12.19.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-fRByQ8l/12yNC9XZkfQWJ/68NPd3ye1cOU9P8cfH+xyC8LCZTgBMeE84pDCiM9eUwwnvylGpi87nT8YL1TK18Q==","shasum":"cd1832f920dc20dac889fc96e1898511f9f0e678","tarball":"https://registry.npmjs.org/@ack_inc/rand-str/-/rand-str-1.0.0.tgz","fileCount":7,"unpackedSize":7840,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglRtmCRA9TVsSAnZWagAA0b0P+QGXAEeoD+u6OkvH8Lj/\n2Faoc5lJ8dXfHPjsiUljZ23m5cvSaY59r8YpBuuxSKBYJ69r7qtra25U2NfA\n1octoqpnZZysEZQJRLaWpgbl2dd+VLeXDIMqdFxnBVCgHZ99x42y/KpLB95G\nY4IXYTKLr4fJzsNOxXMFFBxa1hOjd4CcKzEaM88K39EbWW4UaCsIUBmnVU/f\nAvL7Np3Ng9p4Kq94XuVbOqTxcCxa6XaOPQgeT9yE/wivZKLCVWuQXy0OGuot\nJMFjY/vUEzG6509GPYqZD/jszQdDoRsbfM9Z+KIch4WymiF1q4vPEJA+g2El\n9qgrMZbzqA/RizkHkPTmRFvpb282TzaGRmYi+cicoEapqQ8HYWxHzrkth2Sq\nz6NyhTtHNKAUqg8d1INlDDh63SN2ELZ7+bNUqMNBYh9flEqmKhZYujrzZiVs\nJeaKdfDgxpvQl9aCjSVEz3gbOjKZyfKIu0PYD/9mxcaU77o7OCGgobrTphda\nTesVK95mCfxr8OFRv/w9075KiYByXMERouKdl4WRTkrnYKkjEXVMgThnCqHJ\nHSQkNbg+aOSQiN1AHgOzIzBNM6f1xXliulPZO0DO0KgNEYVO5ZOg4H8/Pt+B\nPJITxpHgvVz4n86S+pEuxGosz2h83Qvpd6DP71bH1GTR76HRPbqHjqrYKihG\nVjgj\r\n=gc+b\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBg5L6s8Eh6nU17YhsezmzHYuRaRJ119JzrIYe4StWBhAiBf3CaLHlM/u4jIC/KXdtgy6ktHx0xuS2zK2Z2v6tfk7w=="}]},"_npmUser":{"name":"ack_inc","email":"anirudh.nimmagadda@gmail.com"},"directories":{},"maintainers":[{"name":"ack_inc","email":"anirudh.nimmagadda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rand-str_1.0.0_1620384613840_0.14769382691692945"},"_hasShrinkwrap":false},"1.0.1":{"name":"@ack_inc/rand-str","version":"1.0.1","description":"Generate a random string of specified length, and satisfying specified constraints","license":"MIT","author":{"name":"Anirudh Nimmagadda","email":"anirudh.nimmagadda@gmail.com"},"engines":{"node":">=12"},"repository":{"type":"git","url":"git+https://github.com/ackinc/node-rand-str.git"},"bugs":{"url":"https://github.com/ackinc/node-rand-str/issues"},"main":"index.js","scripts":{"test":"jest"},"devDependencies":{"eslint":"^7.25.0","eslint-plugin-jest":"^24.3.6","jest":"^26.6.3","prettier":"^2.2.1"},"keywords":["generate random","generate random string","generate random token","random string","random string generator","random token","random token generator"],"gitHead":"9437d9b8c6d0716552909926a9323ebed5698b0d","homepage":"https://github.com/ackinc/node-rand-str#readme","_id":"@ack_inc/rand-str@1.0.1","_nodeVersion":"14.15.5","_npmVersion":"6.14.11","dist":{"integrity":"sha512-vi9QzpDJG7fCp0vrQN/HFw98gCiiwf2FX95p1yuMPARdMi94yyJF6ed5LImIEqtzWKUZymYxPYyR5LeD47+Vzg==","shasum":"a055d6f773aa818fc9c4cee9697d1a22d69e3cf0","tarball":"https://registry.npmjs.org/@ack_inc/rand-str/-/rand-str-1.0.1.tgz","fileCount":7,"unpackedSize":8018,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgl7vSCRA9TVsSAnZWagAAimEP/3ilaC2efgn425CBHrLL\nsgE337hNTwYnB4h2SqI+eD3Yo4IujFXA5ks6+ZI68iLuevMOwIO7dcKDsV80\nezlEVMtm1T+SeRk3fjtfe/nlO5wYnL3h/SgTUmUP+dP+D/c73rqNnV/4+AWd\n5QYGFzkz5IQEJmibVj+cxiUvfcatQyS52yj8Xs1XWPC3RV8ITN9WWDPd99J0\nUV8yidgkBxQedJ4/vBy8418BWORoFImomNF9xBgLqNgjrP/k1yQSzROhvD/z\nquVVEHp6Elkj8XucYw4ylqBTcAKY9T8ReNy6X2rXvhUVJ+DXjNez7WK6hHcm\n9rNR3ZqKeu15ds9C4DHpphJvWvjwvHljRGrKTkRgqPTjk+R/inyigl+5kl+d\nv6XfRxTEeQyW6c5ZGpg5O6V4CXuzLj+ItJS0b8RonPjQ7neSaRHSpk1Xvel0\nFgbWdFwOFzPX0B1QCJPjVRBJOuzMqOGBuEAH7hrXcuyJucpZEGQm6hv5Jg5u\nl21XGaz84caoc2pepYMSwX/k+ovRE8y3TRi8c6N5TxHI1Mrcv3Bqe7W0uIsj\nxGFVU9hTWsbx73ZFKruMrupgieUpK/BV8fRPklDSM95wQKvAnxX3a17qpXdn\n7KJUboPxT3fcumeCFkvwfZG7EpWPP719cC6moWLBJV4g4Qo3dUaWaVkqL0oE\nG/BS\r\n=ka8J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhwB8zJ/KqmgZIu0duYlO+dqFtY+CYJgKK0x+g1DZdHgIgFZ3FBKUeMgAAl94/3BoFUMYZaru/AuS52fEF1WZwVTc="}]},"_npmUser":{"name":"ack_inc","email":"anirudh.nimmagadda@gmail.com"},"directories":{},"maintainers":[{"name":"ack_inc","email":"anirudh.nimmagadda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rand-str_1.0.1_1620556753652_0.4696486471088601"},"_hasShrinkwrap":false},"1.0.2":{"name":"@ack_inc/rand-str","version":"1.0.2","description":"Generate a random string of specified length, and satisfying specified constraints","license":"MIT","author":{"name":"Anirudh Nimmagadda","email":"anirudh.nimmagadda@gmail.com"},"engines":{"node":">=12"},"repository":{"type":"git","url":"git+https://github.com/ackinc/node-rand-str.git"},"bugs":{"url":"https://github.com/ackinc/node-rand-str/issues"},"main":"index.js","scripts":{"test":"jest"},"devDependencies":{"eslint":"^7.25.0","eslint-plugin-jest":"^24.3.6","jest":"^26.6.3","prettier":"^2.2.1"},"keywords":["generate random","generate random string","generate random token","random string","random string generator","random token","random token generator"],"gitHead":"4bd0f3c3e6a61456156dc1f01be77981ecba932d","homepage":"https://github.com/ackinc/node-rand-str#readme","_id":"@ack_inc/rand-str@1.0.2","_nodeVersion":"14.15.5","_npmVersion":"7.12.0","dist":{"integrity":"sha512-d3LA/+UWaiWbMg6SE4wsY8jHqFeEiiTCGFnw/+vlfT8m5rcSJwdRABqAHscB5RLBDJqVZBuIGFpGLU82aPQ1Xg==","shasum":"b1716378e3df4d18521835e2de5fced2b59dda10","tarball":"https://registry.npmjs.org/@ack_inc/rand-str/-/rand-str-1.0.2.tgz","fileCount":7,"unpackedSize":8019,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmVQ1CRA9TVsSAnZWagAA9T4QAIvc/L6Fwf+D55EjIKGt\nWSBhGPW+yRSdNiOU+sBQlXnhWTHOatyLsf023CiGKVfgeTCciRJVZZtqHwvY\nPPl6mYiCkd6q3men87UcqqMtS+ZyxsKAv05wzyC+stCny5akFMvL31RgFM14\ngntB6ofOyip2JqIhh7cqPJLPm1uxGK9SUxuCGkZFfpByQ4h0l9O8NeYny2F0\nLcXo1e5aHrq4xNhvmZjMkUEKARnzIp3q1xeiDPpJBjgE7TanME+++RviLdTa\nGJJiU1MiPjWq0hMyiYb5Hgj0c6HAfCz+3Ewu7u2nbJ4Q8UtW5IIQUb90Usqm\nIlrDKsZJEp66UJr/LT9Mm3n+XE/e6KyZcZANEXYVk3O71x1XTYEl7GO1IVnT\nilVZ+mEdf8ReHAP3YuYBAWf/DxUUHT1Kjk26fLNTLy6HP3PibCIDjjis3CNm\nyTLO9R5IQyGhn/rcJ9sJD6RTIoJcGHogdgInQSTfJs109ZtcfxYXG67nH1Z1\nGzdES4z+QFcQ7SeaYlrD45ib/W6wSCWSg5t6PEZFwFAtKkFTsQO2oEJhtSNq\nJefAnCgHxK+PzKKE1yazQCcZ/6GYyN5SqnyacrZSK90kRBjfBThHrtghLKZV\noB3HBDwW7gDbUbncugRECcDs6tInu8kc1k9yDwa+xPj/SQLTEdkTf+h5UFlz\ngbSc\r\n=kGrf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC6mzmI3Mb/Q2O43BiacCxDIN12+hksf5PC4HS6QWLRYAiBJ5srbxCZ467DAadfJp9UKvelBs7ZS+ma3lDqXwQ9SlA=="}]},"_npmUser":{"name":"ack_inc","email":"anirudh.nimmagadda@gmail.com"},"directories":{},"maintainers":[{"name":"ack_inc","email":"anirudh.nimmagadda@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rand-str_1.0.2_1620661300956_0.9487182832125405"},"_hasShrinkwrap":false}},"time":{"created":"2021-05-07T10:50:13.786Z","1.0.0":"2021-05-07T10:50:13.962Z","modified":"2022-04-04T11:11:27.861Z","1.0.1":"2021-05-09T10:39:13.820Z","1.0.2":"2021-05-10T15:41:41.094Z"},"maintainers":[{"name":"ack_inc","email":"anirudh.nimmagadda@gmail.com"}],"description":"Generate a random string of specified length, and satisfying specified constraints","homepage":"https://github.com/ackinc/node-rand-str#readme","keywords":["generate random","generate random string","generate random token","random string","random string generator","random token","random token generator"],"repository":{"type":"git","url":"git+https://github.com/ackinc/node-rand-str.git"},"author":{"name":"Anirudh Nimmagadda","email":"anirudh.nimmagadda@gmail.com"},"bugs":{"url":"https://github.com/ackinc/node-rand-str/issues"},"license":"MIT","readme":"# node-rand-str\n\nGenerate a random string (lower/upper alphabets, digits, symbols) of specified length,\nand satisfying the specified constraints\n\nIf no constraints are specified, the library assumes all characters are allowed\n\nMain use case: password or temporary token generation\n\n## Deprecation Notice\n\nAs of 9 May 2021, this function has been subsumed into the [ack_inc/node-utils](https://www.npmjs.com/package/@ack_inc/utils) repo\n\nThis package will no longer be updated\n\n## Usage\n\n```\nconst rsg = require('@ack_inc/rand-str');\nconsole.log(rsg(<anything but a whole number>)); //=> throws TypeError\nconsole.log(rsg(0)); //=> \"\"\nconsole.log(rsg(5)); //=> \"3`8aE\"\nconsole.log(rsg(5, { lowercase: true })); //=> \"fewjk\"\nconsole.log(rsg(5, { lowercase: true, uppercase: true, digits: true, symbols: true })); //=> \"%q31G\"\n```\n\n## API\n\n### rsg(nChars, constraints)\n\nGenerate a string of length `nChars` that satisfies `constraints`\n\n#### Parameters\n\n###### nChars\n\nRequired. Must be a whole number.\n\n###### constraints\n\nObject specifying what characters can be in the generated string.\nIt can have the following keys:\n\n| Key       | Type    | Effect                                  |\n| --------- | ------- | --------------------------------------- |\n| lowercase | Boolean | if `true`, include lowercase characters |\n| uppercase | Boolean | if `true`, include uppercase chracters  |\n| digits    | Boolean | if `true`, include digits               |\n| symbols   | Boolean | if `true`, include symbols              |\n\nIf `constraints` is not provided or is empty, it is assumed that all characters are allowed\n\n## To Do\n\n- Constraint: whitelisted chars\n- Constraint: blacklisted chars\n- Constraint: symbols that can be part of a url-component (See https://stackoverflow.com/questions/695438/what-are-the-safe-characters-for-making-urls)\n","readmeFilename":"README.md"}