{"_id":"@alizeait/flatto","_rev":"4-5e3baa1bb09b86bbe342a97aa9bacf4d","name":"@alizeait/flatto","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@alizeait/flatto","version":"1.0.0","description":"A super fast and tiny nested object flattener","scripts":{"build":"microbundle","dev":"microbundle watch","test":"npx jest"},"main":"dist/index.js","browser":"dist/index.modern.js","exports":{".":{"browser":"./dist/index.modern.js","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json","./":"./"},"types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/alizeait/flatto.git"},"keywords":["object","flatten","seperator","fast","tiny","small"],"author":{"name":"Ali Zeaiter","email":"rassoali.arz@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/alizeait/flatto/issues"},"homepage":"https://github.com/alizeait/flatto#readme","devDependencies":{"@types/jest":"^26.0.20","benchmark":"^2.1.4","codecov":"^3.8.1","jest":"^26.6.3","microbundle":"^0.13.0","ts-jest":"^26.4.4","typescript":"^4.1.3"},"gitHead":"df2cf80783d522d53fcd330c52634b4c24abfe2f","_id":"@alizeait/flatto@1.0.0","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-6MD9nuezigrbxb8Zp3eUHBuZnJA4OpdMf4JiOz2Q51zDOevsRvwHrWa93mgEGm50sBoI0ZnFCbfItaqQD8uNQA==","shasum":"7194eaa906c84a2ce1d11c3acf7879b6c5f28ebe","tarball":"https://registry.npmjs.org/@alizeait/flatto/-/flatto-1.0.0.tgz","fileCount":14,"unpackedSize":13071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgB2iPCRA9TVsSAnZWagAAr1EP/22FTqx0Pl49tG2QsOk4\nZmsB/d9aaeuesL22bmx1V5yjnXDKjA6cjiIbxRgI3POI4HxBU0CTfNEUE+zB\na0qSWyarRpFmsza/3fR6iDcfQs4XDjhj604Us0JrAEXBd+A04NXGdCmPX0bS\nbI+6wnOmGYlUgMw9YW7yB5D1CXjD5SuyePoX+uu9xStUfiS8RXnke/C3GvJU\nkaTgd9ycF5ywFCbYdXG5vpYeTTMGA3MR88XCi3QDDhIczkYKnhIkFxE6Vjod\nEglotehA+ZW0RRPENomqtY3u9TRI8CFhfkacdHwXN65OnF4oG9Y5PtzSwmNk\nGlywBBre/AHsd7qxIeT8kv+9Nf/l7VuNGjcKBdSjNZqZtn+TuuqAgT3B9Hzv\n2+H+STdWAo89QwGhPHpcU9+bdfbi7vtKSs9k+69ESeJkgnGJVWjtqlKkTBdK\nqTB2DBW04geENgPTkOkJisnOrMj5Y8z+AM+tym0fylDmbdYpguSUwbYTNkQy\nMv1xRu39lLF0bLVE1hahLPR2x5hRBBSF6Kv3urSurUsAT70IaCjbWVPV4FKE\nyQfVc6i/YP6t0Z4Y1zIdwhvnneEcHjAt9OS16q8Tr1uiLabjFjnOsRX4uU7G\nA/b1dqYHcw2dXF6taz/cVKJKWXHUBxfG3ToD//S3c33ZcCoNWuIN0j7FwOYA\nZOyP\r\n=SMtp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnXVLXUMvrlm59iY32iqjmOTbUIeeZU2bI+evDRwhzfAIgVPwPtjW3zODDmrAf5Z9bwMRCdqKSV4+jCGeKv60RLbo="}]},"_npmUser":{"name":"alizeait","email":"ali.zeaiter@volvocars.com"},"directories":{},"maintainers":[{"name":"alizeait","email":"ali.zeaiter@volvocars.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flatto_1.0.0_1611098254766_0.4674682963676471"},"_hasShrinkwrap":false},"1.0.1":{"name":"@alizeait/flatto","version":"1.0.1","description":"A tiny (~200B) and fast nested object flattener","scripts":{"build":"microbundle","dev":"microbundle watch","test":"npx jest"},"main":"dist/index.js","module":"dist/index.module.js","unpkg":"dist/index.umd.js","browser":"dist/index.modern.js","exports":{".":{"browser":"./dist/index.modern.js","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json","./":"./"},"types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/alizeait/flatto.git"},"keywords":["object","array","nested","flat","flatten","seperator","fast","tiny","small"],"author":{"name":"Ali Zeaiter","email":"rassoali.arz@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/alizeait/flatto/issues"},"homepage":"https://github.com/alizeait/flatto#readme","devDependencies":{"@types/jest":"^26.0.20","benchmark":"^2.1.4","codecov":"^3.8.1","flat":"^5.0.2","flatify-obj":"^2.0.0","jest":"^26.6.3","microbundle":"^0.13.0","objnest":"^5.1.0","ts-jest":"^26.4.4","typescript":"^4.1.3"},"gitHead":"6ad929140ad57a846a1cf68d910d67edf1cb8b50","_id":"@alizeait/flatto@1.0.1","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-8qSNNDZV5w4fLPxrrBhkT4H7vTtzqgu7zDZzBneUZgy7JuuNjcpcLtQyd8LuQEzMiM3L98l+2ulcUe8mTF9udQ==","shasum":"bfac9e90ca81f4fbc5286629875fbf2acd65531c","tarball":"https://registry.npmjs.org/@alizeait/flatto/-/flatto-1.0.1.tgz","fileCount":12,"unpackedSize":11989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgB2nPCRA9TVsSAnZWagAAMmEP/R418S5ZcLq/fwUh5rJ6\ncoPr1X9tAMMgnSrKwr6z7hBbZoNt6SSrOF8FOXJpcpVeg2BRh1rArTAiyji2\nQMfWtWTLsPMbWZvlEuRvkRJ1IKAqyEF4vcbLErN2vmE++qMoq+aI2YHi8Bii\nzPxLbh2wmoM1ZeElYG90AmivIXyLjcxohNlWxOz7ba901aYWFcznqya+SzGH\nvk360YgpsblqZsX0fMhfGuLITmOOBXzr+DeXBpsaAPkopDcivAstvmPl/zc9\n8xL2HoW+I6nQF0/FK/Abe2rZqVvZ7ObbsAQcgCX9fz/VmjMr4NgjtFAovYNP\nbjuGVBjTtCMScJpW3ZL8WB+ypTLjldQa51gziYvXsRDeijRrc4SMOUGoqvoh\nvNPj6VYQrxkFaka8qdQZLzQhdv2V/MbrwfApMySWngw82u85Ya4kzvWw0cLp\n+eed+0gt9L0lAaEb0M5RBU2mxhNU9N69qtTTaz7jTh1rV9U6NgUIbpX6Ap3a\nBI9P4vsK9NM5PLBqBRJtb5mZeWrxx3i38HcyldWtcmp7yKZJoW7tZzd7CDWM\niXh01KVkSE30BnjMZu56Vte7nTBSJH0eMTJ3wqDtMBCnYhmDwiT6RgDglLbV\nQApG/ST2j+SIefIKqbqmp6KuHVxIWDqcF4y8nhhOMJr4URXMkKm9Xo38I2Qj\nreb4\r\n=GNSK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICjfaH15HiIIPmlgbI3QNbWNJeLV2GxmOETnn6b1s2JCAiEA2scUYzj0eWaM9MqJaQzCKvBv3Ftq/k5e0XcpcKqEV1I="}]},"_npmUser":{"name":"alizeait","email":"ali.zeaiter@volvocars.com"},"directories":{},"maintainers":[{"name":"alizeait","email":"ali.zeaiter@volvocars.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flatto_1.0.1_1611098574885_0.7326767166375283"},"_hasShrinkwrap":false},"1.0.2":{"name":"@alizeait/flatto","version":"1.0.2","description":"A tiny (~200B) and fast nested object flattener","scripts":{"build":"microbundle","dev":"microbundle watch","test":"npx jest"},"main":"dist/index.js","module":"dist/index.module.js","unpkg":"dist/index.umd.js","browser":"dist/index.modern.js","exports":{".":{"browser":"./dist/index.modern.js","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json","./":"./"},"types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/alizeait/flatto.git"},"keywords":["object","array","nested","flat","flatten","seperator","fast","tiny","small"],"author":{"name":"Ali Zeaiter","email":"rassoali.arz@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/alizeait/flatto/issues"},"homepage":"https://github.com/alizeait/flatto#readme","devDependencies":{"@types/jest":"^26.0.20","benchmark":"^2.1.4","codecov":"^3.8.1","flat":"^5.0.2","flatify-obj":"^2.0.0","jest":"^26.6.3","microbundle":"^0.13.0","objnest":"^5.1.0","ts-jest":"^26.4.4","typescript":"^4.1.3"},"gitHead":"7fe1a10bcf01591b6e4311631fc3f836944edbb8","_id":"@alizeait/flatto@1.0.2","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-e2dkIbCraqIcU/koZT1jESXemm0luRyf5uo65FzPp3n4iZ/AHwgfEQIAgawTMWFhe1/8owo/5H81Nqz9/BrR+g==","shasum":"d0e1ca7f0838e8ceb2bbfa8f521dd2209950b70e","tarball":"https://registry.npmjs.org/@alizeait/flatto/-/flatto-1.0.2.tgz","fileCount":12,"unpackedSize":12025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCEOoCRA9TVsSAnZWagAAHRAP/10kSAO5hJJIDbnhHdtu\nS8DGgw5WPZSm3UadFYvWVv0R+hzz+eyydY1lCYO4ohi5mcxtSUEvtm+NfHpm\n1Zqw0ortIyW6qEdIHXbicQXtEgy42HHPr84gUuMhUpmU+fr54yuM09GLmFut\nCjqT9INFRvc90fGBBc5AoEM/FsaydYzwh7Bn9tpvGKgGYo/HGWAkgk/jJRTD\nDye1/Fl8kmbDzrbE0CBzd6raKJkKkfXm/mOdQ2a4CUuFpLixSlNGu4AU61bc\nEivPefPSuZhiheFPxXzqL640p4Z71IoEDH3wNuihlCSCz2/+Gd2ncTv+kx4e\nCUF05bBIK2rswUCKR67QYupH4n/vwmTudqRORSBBfJf0KLdGDTHNTKDkd5QT\nL1LxAZn6i79TGuRjYuVWKazrZkvN5scuzSRZ1fCAJzGrZ5Q/u6BwqJxkiWoT\nCDKhEsd/T0wkozLcAbJNMffN/LR84vY5skC1ZZM5w0sWamqdn0A/vgswAwJJ\nIsV1q0ctfIP/4rDbZ1Kjk4X2en3V3J3sJBT/Kz3q3S0iTi3GFOaUkZ5DSZ9s\nqyJa1xsA4GtDUART3raB1FCb1AHnb+qH94bCbi5lzNXx1Zeh1Ufy6H2kcxQ9\n66+j6V8wIwA2QljVnRg/Z/XXOsCTXnUfhDKvyFBp5ABpujKzN+5iQa7Cd0pw\nSxFB\r\n=ElmP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDyzWbrWS6af/RcGVbGH613wvJhqVP07AMKGb5+iNieaAIgc7L7+2JD17gKt6mq8Y4S9x1h6mC8aMzAGO23idv+zlg="}]},"_npmUser":{"name":"alizeait","email":"ali.zeaiter@volvocars.com"},"directories":{},"maintainers":[{"name":"alizeait","email":"ali.zeaiter@volvocars.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flatto_1.0.2_1611154343691_0.7951720166809608"},"_hasShrinkwrap":false},"2.0.0":{"name":"@alizeait/flatto","version":"2.0.0","description":"A tiny (~200B) and fast nested object flattener","scripts":{"build":"microbundle -f modern,cjs","dev":"microbundle watch","test":"npx jest"},"main":"dist/index.js","module":"dist/index.modern.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/alizeait/flatto.git"},"keywords":["object","array","nested","flat","flatten","seperator","fast","tiny","small"],"author":{"name":"Ali Zeaiter","email":"rassoali.arz@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/alizeait/flatto/issues"},"homepage":"https://github.com/alizeait/flatto#readme","devDependencies":{"@types/jest":"^26.0.20","benchmark":"^2.1.4","codecov":"^3.8.1","flat":"^5.0.2","flatify-obj":"^2.0.0","jest":"^26.6.3","microbundle":"^0.13.0","objnest":"^5.1.0","ts-jest":"^26.4.4","typescript":"^4.1.3"},"gitHead":"3ac890e4c517c8629f15da25dba815e0fdc2ed8e","_id":"@alizeait/flatto@2.0.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-mebhFd/WcTxHoOmMuXIOOo8vP7aUihtLD3xk9ZXYl9wkzbiBm5cq5Z6cYoMhrDFeD1GCSqTy5jerk2ySNKGxsw==","shasum":"33d55dc5e475137d1ad203ec5f6465770fb20447","tarball":"https://registry.npmjs.org/@alizeait/flatto/-/flatto-2.0.0.tgz","fileCount":8,"unpackedSize":8236,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+kdM6+k9MBuRKYJ3LtTxBZDseik3PJVgJXNq/+W73IQIhALS8/vjCAeUl7jEiodPMtMdSR7RxKBQPSvEWtCdgbWQC"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj4szIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpTbg//QUlySwmYLKukSp8zAdX+/cQ3CUyRv6wY6uNKJp7vvCe6ZCbe\r\nSf2wqDn56txUSqi2jjmYyToQxWqikqzoz6y/eNhuLZqP13LeCaX6XJ5iOTKs\r\n/O7HT9s5THt4NK+puhdtWn4QpWybaWXsoG3aLUDP9gvX8fYfawraIto2bz8f\r\nQddyiQ31GLQHA9LNhQRgQLNxluSOQSyWVJhEY4MyEpXJ13qDTgJ+4k2oxscN\r\nDraJN9IGPI/uxP7AbygRPckl8+HdxQh2yWafDvRxgz3+cA8pjl3ELEyTe80W\r\npstYc0ACQUE0huoVxLX3kt1sqkf1HvkGTNG6Ab1z/RNMSg4Ys3XdsS6YrRM0\r\n1BxuiyGEPfrzpU0I/oYEnDnaPsej2pOazNnJ/if5ALpGe1o1wFGCRK3RU2tI\r\nQD775BcUP+fTFQPO7fpL6hGAlzCI4JcCq/I9iFogF/aUEcvYP+Zyc8updeLu\r\nJMTyxeERPkq2M+iEhOBttzQQMicH/EYGIXg1yueMn+qlXDnv2k+Mw3JiAd06\r\nWW35uYrU4ou8SZKA7GOzueJkkQztz+74ttCNxkRsvq3TOPjhecA8e6f2uMn3\r\nGnnG2IPyaVJfEW3WsO2sXX/jSrOIYd7YdXn32Mq/+oz+CpxDNf/XuGgfU7fe\r\njHWWwJ2YRL2/BUy5AZSx4Nean4+pc57gfks=\r\n=7Aqf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alizeait","email":"rassoali.arz@gmail.com"},"directories":{},"maintainers":[{"name":"alizeait","email":"rassoali.arz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/flatto_2.0.0_1675807944217_0.7490780420028842"},"_hasShrinkwrap":false}},"time":{"created":"2021-01-19T23:17:34.726Z","1.0.0":"2021-01-19T23:17:34.914Z","modified":"2023-02-07T22:12:24.468Z","1.0.1":"2021-01-19T23:22:55.044Z","1.0.2":"2021-01-20T14:52:23.887Z","2.0.0":"2023-02-07T22:12:24.383Z"},"maintainers":[{"name":"alizeait","email":"rassoali.arz@gmail.com"}],"description":"A tiny (~200B) and fast nested object flattener","homepage":"https://github.com/alizeait/flatto#readme","keywords":["object","array","nested","flat","flatten","seperator","fast","tiny","small"],"repository":{"type":"git","url":"git+https://github.com/alizeait/flatto.git"},"author":{"name":"Ali Zeaiter","email":"rassoali.arz@gmail.com"},"bugs":{"url":"https://github.com/alizeait/flatto/issues"},"license":"MIT","readme":"# @alizeait/flatto ![Check](https://github.com/alizeait/flatto/workflows/Check/badge.svg) ![Coverage](https://img.shields.io/codecov/c/github/alizeait/flatto)\r\n\r\n> A tiny (~200B) and [super fast](#benchmarks) nested object flattener.\r\n\r\nTakes a nested object/array and returns a flattened object, e.i. an object with a single nested level.\r\n\r\nIt seperates the keys with a `.` by default but this can be changed to anything with the seperator option.\r\n\r\n## Installation\r\n\r\n```bash\r\n$ npm install @alizeait/flatto\r\n```\r\n\r\n## Usage\r\n\r\n```js\r\nimport { flatto } from \"@alizeait/flatto\";\r\n\r\nconst flattened = flatto({\r\n  key1: {\r\n    keyA: \"valueI\",\r\n  },\r\n  key2: {\r\n    keyB: \"valueII\",\r\n  },\r\n  key3: { a: { b: { c: 2 } } },\r\n  key4: [],\r\n  key5: {\r\n    a: [\r\n      \"value1\",\r\n      \"value2\",\r\n      {\r\n        key1: {\r\n          keyA: \"valueI\",\r\n          keyB: [1, 2, 3, 4],\r\n        },\r\n      },\r\n    ],\r\n    b: null,\r\n    c: undefined,\r\n  },\r\n  key6: {},\r\n});\r\n\r\n/*\r\n{\r\n  \"key1.keyA\": \"valueI\",\r\n  \"key2.keyB\": \"valueII\",\r\n  \"key3.a.b.c\": 2,\r\n  \"key4\": [],\r\n  \"key5.a.0\": \"value1\",\r\n  \"key5.a.1\": \"value2\",\r\n  \"key5.a.2.key1.keyA\": \"valueI\",\r\n  \"key5.a.2.key1.keyB.0\": 1,\r\n  \"key5.a.2.key1.keyB.1\": 2,\r\n  \"key5.a.2.key1.keyB.2\": 3,\r\n  \"key5.a.2.key1.keyB.3\": 4,\r\n  \"key5.b\": null,\r\n  \"key5.c\": undefined,\r\n  \"key6\": {}\r\n}\r\n  */\r\n\r\nconst flattoCustom = flatto(\r\n  {\r\n    key1: {\r\n      keyA: \"valueI\",\r\n    },\r\n    key2: {\r\n      keyB: \"valueII\",\r\n    },\r\n    key3: { a: { b: { c: 2 } } },\r\n  },\r\n  \"-\"\r\n);\r\n\r\n/*\r\n{\r\n  \"key1-keyA\": \"valueI\",\r\n  \"key2-keyB\": \"valueII\",\r\n  \"key3-a-b-c\": 2,\r\n}\r\n*/\r\n```\r\n\r\n## Benchmarks\r\n\r\n```\r\nBenchmarks:\r\n  flat                         x 139,061 ops/sec ±0.70% (90 runs sampled)\r\n  objnest                      x 52,776 ops/sec ±0.48% (90 runs sampled)\r\n  @alizeait/flatto             x 335,535 ops/sec ±0.45% (94 runs sampled)\r\n  flatify-obj                  x 103,834 ops/sec ±0.78% (93 runs sampled)\r\n```\r\n\r\n> Running on Node.js v12.13.0, 64-bit OS, Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz, 16.0 GB RAM\r\n\r\n## API\r\n\r\n### flatto(input: Object | Array, seperator?:string)\r\n\r\nReturns: `Object`\r\n\r\nReturns a new flattened object that is only one level deep.\r\n\r\nIf the input is not an object or an array, the input itself is returned instead of an object.\r\n","readmeFilename":"README.md"}