{"_id":"string-to-file-stream","_rev":"6-9019712e01fea5fc7428b966e4c66d11","time":{"1.0.0":"2019-08-17T15:54:24.316Z","created":"2019-08-18T16:09:26.781Z","1.1.0":"2019-08-18T16:09:26.898Z","modified":"2023-09-16T08:47:52.156Z","1.2.0":"2020-06-15T05:51:12.156Z","1.3.0":"2020-12-01T11:47:50.263Z","2.0.0":"2023-09-16T08:47:51.966Z"},"name":"string-to-file-stream","dist-tags":{"latest":"2.0.0"},"versions":{"1.1.0":{"name":"string-to-file-stream","version":"1.1.0","description":"Create file stream from string.","main":"index.js","directories":{"test":"test"},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/ayqy/string-to-file-stream.git"},"keywords":["nodejs","string2file","string2filestream","covert","string","to","file","stream"],"author":{"name":"ayqy"},"license":"MIT","bugs":{"url":"https://github.com/ayqy/string-to-file-stream/issues"},"homepage":"https://github.com/ayqy/string-to-file-stream#readme","devDependencies":{"form-data":"^2.5.0","formidable":"^1.2.1","mocha":"^6.2.0"},"gitHead":"4b8d823b7cdb08cf7b7136a118b19459946fbbe2","_id":"string-to-file-stream@1.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"ayqy","email":"nwujiajie@163.com"},"dist":{"integrity":"sha512-BCUUWyFcYQNchUl/h4pBnYR/8FV6hCXAtaPlhiSDXRftw87TGKs7tRDxUH7k02eTyuZFHe4AKBr4OHs9qbctvw==","shasum":"cfb05657efd33e6aed5aba7671ca41515677ae43","tarball":"https://registry.npmjs.org/string-to-file-stream/-/string-to-file-stream-1.1.0.tgz","fileCount":4,"unpackedSize":11511,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWXg3CRA9TVsSAnZWagAAB7IP/35XaEj6TLyo0V/usor2\nndZB4gDp+QyjKykbWEG02692OycHmBcQ4S60ubXDADVCVnrnVdf9WzDREiEv\nX7ILQYttKe5Y4M8FqaLinnBvQyobfuUQLBmZR1vwo6fhMb4ox46ikB5hQrm7\nTg09LzpjFHHmpQOUo+UcPVRjp6EF8jl9TY2cm67tUrmyNNxvGXxx1mBeP5wi\njnVVOV4aS//lQT3ZNpdHUcQvT4RzTX0OSU4x/V3hBYh0xHIf5AUFdwUWITHa\n44F8MjPCXQwwPikfezBDU1g7rc/khXh4GbhM+HALNln49OaIhM+QzvK51dmE\nAisuD74eclZqnt+se7RvcoIISFM/KNuDN7dGNUMPs/2cdjg3lD8xVAx/rzGI\nn91fPfctXbUWkV9vcfO3w7D6gzMXnfsQR8aGTD42krPOB2UXN2SLqj9RYLsI\ncyekdBvgIQUOGN3G6HSyBTZKXxVKeYsvOi1CSyyTjxpqXfwZzj89APcCaCRr\nfJwTGx/N+PHtbXUm/iJ8pqB8QuYT6M67/WRONh+HF2lgyaTFMqSSwbnWgfje\n/qD2UU05rfK4OGsX7MsZZ3yUxjTj9VjhFOvM8TM9KvPyMz+ydrt14yt0ubNW\n7YGw44EKRVclDcNjTyFlLQ9EyqEHXm5Lat/5yPAiTuOm7GnOFZuGZ5duXTeH\nyyPq\r\n=/5mE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjdDYCVz273xCMzMNPembzgo/yqOt0/pXHvIgRs4d90gIgc/MoPKMJJmqTzOi/mF5Hmdfm4LSHidzvKazaKFQ5wCg="}]},"maintainers":[{"name":"ayqy","email":"nwujiajie@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/string-to-file-stream_1.1.0_1566144566782_0.6247494660495017"},"_hasShrinkwrap":false},"1.2.0":{"name":"string-to-file-stream","version":"1.2.0","description":"Create file stream from string.","main":"index.js","directories":{"test":"test"},"scripts":{"test":"npx mocha"},"repository":{"type":"git","url":"git+https://github.com/ayqy/string-to-file-stream.git"},"keywords":["nodejs","string2file","string2filestream","covert","string","to","file","stream"],"author":{"name":"ayqy"},"license":"MIT","bugs":{"url":"https://github.com/ayqy/string-to-file-stream/issues"},"homepage":"https://github.com/ayqy/string-to-file-stream#readme","devDependencies":{"form-data":"^2.5.0","formidable":"^1.2.1","is-file-stream":"^1.0.0","mocha":"^8.0.1"},"gitHead":"53cafb954cf473db85dae96d904b3f4ac68af0a4","_id":"string-to-file-stream@1.2.0","_nodeVersion":"10.18.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-fsYZxP8L2xC/LkWsEOZ36r3rAfCQ0Bw3bn8ZS6Q//k0AdMcZLihh59y/qWk7q/7F87jlYzmwNy8FCu4t/RDGWg==","shasum":"278674163b5d480591cd3292cbe81908ccd25471","tarball":"https://registry.npmjs.org/string-to-file-stream/-/string-to-file-stream-1.2.0.tgz","fileCount":4,"unpackedSize":11589,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5wxQCRA9TVsSAnZWagAAlFQP/R7fMilJLqLhjiMVuQqN\nIVSXUvkLQEJTHmGJ5H7JizYGciutOZqpyEsy41coGrzLWh6frz8FZFAqc7oE\n4rjSasefEyKjiC3W8h9+gOawyLEsDzV6vRtDxjWbDvW80qrLuBeRZELVSwBH\nx3J7RoMkT6WsqX66URItrqumxOr47+80KwECZf/A5WTBUqOwsJFrmJ1JTD/+\nZJA7zNBiHIFGn1G9OLOYF0dyKfhIC+oLUpMDn7dSM287lt7o56mDOgIsL1m/\n43FkqgTEXE6ms2sVqQo9UGGYI9exhrXZ9PZGUXyPXx1TXSe47GxIQtPoccG5\nKk5vG0cOGMOkUsojy0SKNpVXSf/awS+83jCBTdaal42OKB0eg0EVPiZDU+LW\nWY0kgEJg7Cw7NfZdZ/RJg3nnFJFIAVDYged0XNNDd7g/HLiaqsRqoHtq/JS7\n5lYlZ/043f9q8lSQ8caON2tTuEyMooaAQn4swZbQ4NSGrUPDpJVAOJ5sKfwB\nXjYwgzPJ7G1LgYfCFKSjNXYr3ywQDLmwUSgJkmGuhoqn/hsNdGggPZnghCkh\nMlCZU9qPCIvY62Wo4jdbJOi5vTkeB6KiOl2g5jOYvETslcl7VCFTDrtMxaHj\n+d2C6B72hARm/TyGJkXOX6ZK7YLcyVuDwgB/62d/pWr2Xy9ekbrloF2oretY\n4wDq\r\n=/+g8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDawTUsbxT4jqe84zDsbVRk90jG/vSLrjf28SLd0WnbWQIhAPUR+RGopHNA9Ofz6esZzmyeY1ZXmAki0DWWCV12VCV5"}]},"maintainers":[{"name":"ayqy","email":"nwujiajie@163.com"}],"_npmUser":{"name":"ayqy","email":"nwujiajie@163.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/string-to-file-stream_1.2.0_1592200272010_0.3394274758438396"},"_hasShrinkwrap":false},"1.3.0":{"name":"string-to-file-stream","version":"1.3.0","description":"Create file stream from string.","main":"index.js","directories":{"test":"test"},"scripts":{"test":"npx mocha"},"repository":{"type":"git","url":"git+https://github.com/ayqy/string-to-file-stream.git"},"keywords":["nodejs","string2file","string2filestream","covert","string","to","file","stream"],"author":{"name":"ayqy"},"license":"MIT","bugs":{"url":"https://github.com/ayqy/string-to-file-stream/issues"},"homepage":"https://github.com/ayqy/string-to-file-stream#readme","devDependencies":{"form-data":"^2.5.0","formidable":"^1.2.1","is-file-stream":"^1.0.0","mocha":"^8.2.1"},"gitHead":"2f43145ca9515345fb0b9b697414bcfd0effe276","_id":"string-to-file-stream@1.3.0","_nodeVersion":"10.18.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Vc5kWTjo2YWwZdY//bfy8yO47L4s06a16X76RKRW4YbrbBfG+8nl/sJcRyzP/gi8i8EYdtMlFSgUaMRqofRWig==","shasum":"11eeca5ba6a2ccd907a876095e0c794e3ff2b146","tarball":"https://registry.npmjs.org/string-to-file-stream/-/string-to-file-stream-1.3.0.tgz","fileCount":4,"unpackedSize":11900,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxi1mCRA9TVsSAnZWagAAiGYP/Rp0IfNwSbXHgUmVQpW9\nYWhiUg1FWGs/1awxiNVvSZv9Rew6GfKlHiZ5gatPAzc/qaDHN29Ah/hVAZRt\nHNaoZ1PWJT0cTCsBLFVOyC1G8Rjm32MhhuRPFPCgqTBizJrmrL6GASxMpL4x\nARBzwnURT8wg5HOAwI06tQfWnru7mKbRiLpvNfJSVmjNaMdMGkvTrb0uJ3y9\n+rb+UKDeRk7skJ3q9/dxfRF4MIzEQc18ztC/tbcfXflRB/8D+Ln36ckg/jhq\nvEhMb+DKNC5fe51UQxAKMiZWFr2hLDfYlsICcjYTbgrNyWg9x3+d7fAaQVUD\ndwaGJydqKoySJn9tDXBtQtfgTfpbygoQ4w5pJ/7FdCEu8UErPm+NbU76GLSY\ncxi+FCzrnJSQERyL40BJ/qyafvmixskJgHKsRVZcTMxLSUdJEPsL+uH4Y65U\nX0m6CxuWzbcnMBQ5MoSBGBgGJ8/TOapkMHJPWOpAtwUUTm7BElPcgjYUZwk6\nnvyB3GBuH9zPyWkcZ27ceK128TmJ//bQ74RYR65SS9XDI2faxmrI7pZX9avC\nTZt3z0atbbZFIClYxLjnBHyhnOTyWzETuxIty9cOrsz7SciRSje4g+I8eNgc\nu/w+ZnVLOKkSjUl9qmmmvy9A2gqzg16rQ6ubIQ1wk8GyS59iIgDYknO9u66b\nSbxP\r\n=byS2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6B6xN6JQssmkdr/Zka+OL5qmh9ky2ykoAI8ZRw0DqEQIgDXQQzqganrVX3V4WDrKizdF9ftRJXXx6h0UXO6wXFf0="}]},"_npmUser":{"name":"ayqy","email":"nwujiajie@163.com"},"maintainers":[{"name":"ayqy","email":"nwujiajie@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/string-to-file-stream_1.3.0_1606823270158_0.35820943419372786"},"_hasShrinkwrap":false},"2.0.0":{"name":"string-to-file-stream","version":"2.0.0","description":"Create file stream from string.","main":"index.js","directories":{"test":"test"},"scripts":{"test":"npx mocha"},"repository":{"type":"git","url":"git+https://github.com/ayqy/string-to-file-stream.git"},"keywords":["nodejs","string2file","string2filestream","covert","string","to","file","stream"],"author":{"name":"ayqy"},"license":"MIT","bugs":{"url":"https://github.com/ayqy/string-to-file-stream/issues"},"homepage":"https://github.com/ayqy/string-to-file-stream#readme","devDependencies":{"form-data":"^2.5.0","formidable":"^1.2.1","is-file-stream":"^1.0.0","mocha":"^8.2.1"},"gitHead":"833b3873aa154c154f4cfca6ad11a606f7606c3d","_id":"string-to-file-stream@2.0.0","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-Ka1pk7bh6V0m2RDS1tmkei4h9NOFvK/YGxYSJctvRbNNd0g5MC3JWEg503R2mf0vUmRd2GEKVdLsTKm15OouvA==","shasum":"fe51c72bee15aebc1206fd751ac57138f61c6fcf","tarball":"https://registry.npmjs.org/string-to-file-stream/-/string-to-file-stream-2.0.0.tgz","fileCount":4,"unpackedSize":11851,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE4L6G7LY45gjVNblk6Lu1gLuVyuX/O6RTOqkJaZtqz3AiADEAc7CA7V9il3n9OaHTDbbo9QB61LN1NOMex6CIgmgQ=="}]},"_npmUser":{"name":"ayqy","email":"nwujiajie@163.com"},"maintainers":[{"name":"ayqy","email":"nwujiajie@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/string-to-file-stream_2.0.0_1694854071780_0.2359667677194044"},"_hasShrinkwrap":false}},"maintainers":[{"name":"ayqy","email":"nwujiajie@163.com"}],"description":"Create file stream from string.","homepage":"https://github.com/ayqy/string-to-file-stream#readme","keywords":["nodejs","string2file","string2filestream","covert","string","to","file","stream"],"repository":{"type":"git","url":"git+https://github.com/ayqy/string-to-file-stream.git"},"author":{"name":"ayqy"},"bugs":{"url":"https://github.com/ayqy/string-to-file-stream/issues"},"license":"MIT","readme":"## Target\n\nCreate a file stream from a string.\n\nThat is:\n\n```js\nstring2fileStream('string-content') === fs.createReadStream(/* path to a text file with content 'string-content' */)\n```\n\n## Implementation\n\nRewrite [<fs.ReadStream>](https://nodejs.org/dist/latest-v10.x/docs/api/fs.html#fs_class_fs_readstream), and **replace all file operations with equivalent string operations.**\n\n## Installation & Usage\n\n```bash\nnpm install string-to-file-stream --save\n```\n\nThen, follow your intuitive feelings:\n\n```js\nconst string2fileStream = require('string-to-file-stream');\nconst assert = require('assert');\n\nconst input = 'Oh, my great data!';\nconst s = string2fileStream(input);\ns.on('data', (chunk) => {\n  assert.equal(chunk.toString(), input);\n});\n```\n\nOr the more useful example, upload a fake file:\n\n```js\nconst string2fileStream = require('string-to-file-stream');\nconst FormData = require('form-data');\n\nconst formData = new FormData();\nformData.append('filetoupload', string2fileStream('my-string-data', { path: 'no-this-file.txt' }));\nform.submit('http://127.0.0.1:8123/fileupload', function(err, res) {\n  console.log(res.statusCode);\n});\n```\n\nSee [Test Cases](https://github.com/ayqy/string-to-file-stream/blob/master/test/test.js) for more details.\n\n## API Details\n\n```js\n/**\n * @typedef {Object} FileStreamOptions\n * @property {string} [flags = 'r']\n * @property {string} [encoding = 'utf8'] String encoding, 'utf8' by default.\n * @property {number} [fd = null]\n * @property {number} [mode = 0o666]\n * @property {number} [autoClose = true]\n * @property {number} [start = 0] Read bytes from specified position, start counting at 0.\n * @property {number} [end] Byte length of the input string.\n * @property {number} [highWaterMark = 64 * 1024]\n * @property {string} [path = 'no-this-file.txt'] Fake file path, which can be relative or absolute path, null by default.\n */\n\n/**\n * Create file stream from a string.\n * @param {*} str The input string.\n * @param {FileStreamOptions} options Other options, including 'encoding', 'path' etc.\n * @return {fs.ReadStream} https://nodejs.org/dist/latest-v10.x/docs/api/fs.html#fs_class_fs_readstream\n */\nfunction string2fileStream(str, options) {\n  return new ReadStream(str, options);\n}\n```\n\nP.S.Above option fileds without description are the same as `options` for [fs.createReadStream(path[, options])](https://nodejs.org/dist/latest-v10.x/docs/api/fs.html#fs_fs_createreadstream_path_options).\n\n## Contribution\n\n```bash\ngit clone https://github.com/ayqy/string-to-file-stream.git\ncd string-to-file-stream\nnpm install\nnpm test\n```\n\n## Changelog\n\n### v1.3.0\n\n- feat: Node.js < 9.3.0 supports ([#4](https://github.com/ayqy/string-to-file-stream/pull/4))\n\n### v1.2.0\n\n- feat: attach fake file path by default\n\n### v1.1.0\n\nInitial release.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}