{"_id":"unist-util-flatmap","_rev":"2-cf132c003bc01db3a3976fe93f510f07","name":"unist-util-flatmap","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"unist-util-flatmap","version":"1.0.0","description":"Create a new Unist tree by mapping (to an array) and flattening","license":"MIT","keywords":["unist","textlint","util"],"repository":{"type":"git","url":"git+https://gitlab.com/staltz/unist-util-flatmap.git"},"author":{"email":"contact@staltz.com"},"main":"index.js","devDependencies":{"mocha":"^5.0.0","object-assign":"4.1.1","prettier":"^1.12.1","remark-cli":"^5.0.0","remark-preset-wooorm":"^4.0.0"},"scripts":{"format":"remark . -qfo && prettier --write '**/*.js'","test-api":"mocha","test":"npm run format && npm run test-api"},"prettier":{"tabWidth":2,"useTabs":false,"singleQuote":true,"bracketSpacing":false,"semi":false,"trailingComma":"none"},"remarkConfig":{"plugins":["preset-wooorm"]},"gitHead":"898d82bd2072783a6869e49009b0ed24f59841c0","bugs":{"url":"https://gitlab.com/staltz/unist-util-flatmap/issues"},"homepage":"https://gitlab.com/staltz/unist-util-flatmap#README","_id":"unist-util-flatmap@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"staltz","email":"andre+npm@staltz.com"},"dist":{"integrity":"sha512-IG32jcKJlhARCYT2LsYPJWdoXYkzz3ESAdl1aa2hn9Auh+cgUmU6wgkII4yCc/1GgeWibRdELdCZh/p3QKQ1dQ==","shasum":"f914ed6b36ff040afce938d848f379f88b94b448","tarball":"https://registry.npmjs.org/unist-util-flatmap/-/unist-util-flatmap-1.0.0.tgz","fileCount":6,"unpackedSize":6069,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbU4mCCRA9TVsSAnZWagAAcoAP/2HJude8MlcGfX1SG7TI\nwuEIx3nVwWWqhLXK8RGhY1NFMvfIwu1RfvvxUZrUlQ0iFhCWK/DZpaGuWejs\nriUZYzuGjSyDRPFol2/bPb0akEH3IP01/XLiHhaBmLsC++Vmsh7RBsvkABbS\nT23l84bQ8wGTFT5gbUNAQH11A8+yrRUbsEsrqvglV2SONPI5C7HX85H085fp\nNnVBu49GO5KMz+cpjt+PC3lmdRU9UaofmhdUQIWtd+EqmpC1KqPqMnl1ktRx\ndxEs78cuuDxEIMjivneM7dLgssmzJVLX+kGOeaHCD0S1Phl4PagP08PvkkkO\nb6ozlg2C6McuM3id5RcyaiccsinChXBcCSHswGt90HHuXBzRHXAqEKa9FP5P\nc4WzbDyaEF1xG7IivsXlYCiZVMORX4c8TzBPIQJvDBGvJP/Tr6yr1TH2xIIn\nMgVTYvQuAcV9hHWj9rjepZ4h7PtAlIC5UAmfYJovTKgQwa2wSAOEzKoW74Mj\nUtFhvW8owxCCygK7J2gz3ShawZVFD+kvZzJI8uPfJK9Cu32jFuO+ltU4x1LB\nXSyt1MqqZe26uIam+dcks7weLWVJZ92F+3ilkTr+M6gAI8IFwzzudq3UCpil\nQ6asSHXXA9WpUee1B2Zq3fyslh9HJOKeVvxgJ1OJ9wIblFzkaXRKJJt5SI4c\ntWC8\r\n=Fusz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDY/FivmqtsQMtx8l0yMUXh6Hvut23HyPrj6gXEU9f7lAIhAKyk9fJFc6s88WYrWVBzzVtgWPlxoY5lP3BWH/Suhe63"}]},"maintainers":[{"name":"staltz","email":"andre+npm@staltz.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/unist-util-flatmap_1.0.0_1532201346537_0.1065009210957375"},"_hasShrinkwrap":false}},"time":{"created":"2018-07-21T19:29:06.536Z","1.0.0":"2018-07-21T19:29:06.641Z","modified":"2023-04-29T04:57:39.514Z"},"maintainers":[{"name":"staltz","email":"andre+npm@staltz.com"}],"description":"Create a new Unist tree by mapping (to an array) and flattening","homepage":"https://gitlab.com/staltz/unist-util-flatmap#README","keywords":["unist","textlint","util"],"repository":{"type":"git","url":"git+https://gitlab.com/staltz/unist-util-flatmap.git"},"author":{"email":"contact@staltz.com"},"bugs":{"url":"https://gitlab.com/staltz/unist-util-flatmap/issues"},"license":"MIT","readme":"# unist-util-flatmap\n\nCreate a new Unist tree by mapping (to an array) with the provided function and\nthen flattening.\n\nHelper for creating [unist: Universal Syntax Tree](https://github.com/syntax-tree/unist).\n\n## Installation\n\n```sh\nnpm install unist-util-flatmap\n```\n\n## Usage\n\n### `flatMap(AST, (node, index, parent) => /* array */): AST`\n\nflatMap function returns new AST object, but the argument function should return\nan array of ASTs.\n\n```js\nconst assert = require('assert')\nconst assign = require('object-assign')\nconst flatMap = require('unist-util-flatmap')\n\n// Input\nconst tree = {\n  type: 'root',\n  children: [\n    {\n      type: 'node',\n      children: [{type: 'leaf', value: '1'}]\n    },\n    {type: 'leaf', value: '2'}\n  ]\n}\n\n// Transform:\nconst actual = flatMap(tree, node => {\n  if (node.type === 'leaf') {\n    return [\n      assign({}, node, {value: 'FIRST'}),\n      assign({}, node, {value: 'SECOND'})\n    ]\n  }\n  // No change\n  return [node]\n})\n\n// Expected output:\nconst expected = {\n  type: 'root',\n  children: [\n    {\n      type: 'node',\n      children: [\n        {type: 'leaf', value: 'FIRST'},\n        {type: 'leaf', value: 'SECOND'}\n      ]\n    },\n    {type: 'leaf', value: 'FIRST'},\n    {type: 'leaf', value: 'SECOND'}\n  ]\n}\n\nassert.deepEqual(actual, expected)\n```\n\n## Tests\n\n```sh\nnpm test\n```\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md","users":{"flumpus-dev":true}}