{"_id":"@acusti/uniquify","_rev":"18-0428a4f827225f70484c607727376584","name":"@acusti/uniquify","dist-tags":{"latest":"0.8.1"},"versions":{"0.1.0":{"name":"@acusti/uniquify","version":"0.1.0","author":{"url":"http://acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/uniquify@0.1.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/uniquify#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"d2c1620ebbde5f4b596d17a1dbdfea194d48d528","tarball":"https://registry.npmjs.org/@acusti/uniquify/-/uniquify-0.1.0.tgz","fileCount":10,"integrity":"sha512-AhFqTYX7qMAD/fkKSeprYkXBPB0vu0CHxT0y0ZAPJNM0KbqZlvb3CABlclvj/VSHP1SnP9LFVbik7Vv/uB7hxQ==","signatures":[{"sig":"MEUCIQCC6PUs0QkDdqeYntbim4jKM7oa4Fcp8rE/ukh0Y+XSTAIgF3SfLGTo6cJAApIv3M3ahsEWi+aqclU43IiH+TQ9skk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24156},"main":"./dist/useBoundingClientRect.js","type":"module","types":"./dist/useBoundingClientRect.d.ts","exports":"./dist/useBoundingClientRect.js","_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git"},"_npmVersion":"7.21.0","description":"[![latest version](https://img.shields.io/npm/v/@acusti/uniquify?style=for-the-badge)](https://www.npmjs.com/package/@acusti/uniquify) [![dependencies status](https://img.shields.io/david/acusti/uikit?path=packages%2Funiquify&style=for-the-badge)](https:/","directories":{},"sideEffects":false,"_nodeVersion":"16.8.0","dependencies":{"lodash.escaperegexp":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.2.3","@types/lodash.escaperegexp":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/uniquify_0.1.0_1632436189108_0.49517429900003984","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@acusti/uniquify","version":"0.1.1","author":{"url":"http://acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/uniquify@0.1.1","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/uniquify#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"7a154667b92033d759f394ccd88c4967a7e41948","tarball":"https://registry.npmjs.org/@acusti/uniquify/-/uniquify-0.1.1.tgz","fileCount":6,"integrity":"sha512-ilWuciJV7ub2gSNhv9A+tYUky8+f6kYtAEw1yZCJHjOqemctUNphnDLybzXCwJzs61+omuOiibWsF7w27d8cjQ==","signatures":[{"sig":"MEQCIEuaaVcfx0KAc2UVoJcFNb7czHuNtkFUpwrQYgERvzkNAiBaETOe2ZkKmRG7j7FIzEAeSfs/rGzocf4Nel3rfvq3HQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14206},"main":"./dist/uniquify.js","type":"module","types":"./dist/uniquify.d.ts","exports":"./dist/uniquify.js","_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git"},"_npmVersion":"7.21.0","description":"[![latest version](https://img.shields.io/npm/v/@acusti/uniquify?style=for-the-badge)](https://www.npmjs.com/package/@acusti/uniquify) [![dependencies status](https://img.shields.io/david/acusti/uikit?path=packages%2Funiquify&style=for-the-badge)](https:/","directories":{},"sideEffects":false,"_nodeVersion":"16.8.0","dependencies":{"lodash.escaperegexp":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.2.3","@types/lodash.escaperegexp":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/uniquify_0.1.1_1632508910947_0.5073468438625746","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@acusti/uniquify","version":"0.2.0","author":{"url":"http://acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/uniquify@0.2.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/uniquify#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"983edcb44ee81016aef1f89094a9baea8ac94e48","tarball":"https://registry.npmjs.org/@acusti/uniquify/-/uniquify-0.2.0.tgz","fileCount":6,"integrity":"sha512-5Qls+2BpQcI4SYd7KvxMux4pl9Pbh/UazXZzOjQ+9sxX5y+P0J6xQsdYXuXytmZN7/SrgJmDckW8mqN9zEMkkw==","signatures":[{"sig":"MEQCICk/9ayUK0I0gBtU3j7Km8g/l2iLXDnEbK3VUE996YMIAiBs161iDy9INZrNdcIwIqd/r9lnwEKxBFn4ZdLO0CqgUg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15140},"main":"./dist/uniquify.js","type":"module","types":"./dist/uniquify.d.ts","exports":"./dist/uniquify.js","_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git"},"_npmVersion":"7.21.0","description":"[![latest version](https://img.shields.io/npm/v/@acusti/uniquify?style=for-the-badge)](https://www.npmjs.com/package/@acusti/uniquify) [![dependencies status](https://img.shields.io/david/acusti/uikit?path=packages%2Funiquify&style=for-the-badge)](https:/","directories":{},"sideEffects":false,"_nodeVersion":"16.8.0","dependencies":{"lodash.escaperegexp":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.2.3","@types/lodash.escaperegexp":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/uniquify_0.2.0_1632512232733_0.36122735998943667","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"@acusti/uniquify","version":"0.2.1","keywords":["unique","name","filename","slug"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/uniquify@0.2.1","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/uniquify#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"529ac4e8eb9f3bd7a5ac411220a48f48c6d0292d","tarball":"https://registry.npmjs.org/@acusti/uniquify/-/uniquify-0.2.1.tgz","fileCount":6,"integrity":"sha512-u0ljK8kpdg8Zg6L2XSVctk9IAnnJItwHpTBrjiVhD7xN9FuuLPuHmgmBUMQvyBY3+/2WVoAeGwrRPJuWDUrzgg==","signatures":[{"sig":"MEQCIE+XUAz+KvlAaoEL6FfajOPIhxTc7aT7AnI4g2+48I3CAiAINHjr9iHKz2NNVeRSjbm5DVIMUSeRU2PjeAVdsJnK9g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhxHp4CRA9TVsSAnZWagAAwjAP/35iReP2CzgQmBlTq3jb\n4Kqjdsm/qIZCN03e320oY16nQ95PZK4S6FIUf/S+7ZsYVUE9YbSjuzwu8eb2\nwb9EngcKcSeYuMQQlgBdM2nILZeUPLFjLbH5lXUm7HC48fLIecjGPJYlGSCY\nF+WCzK0Prb/SmDH15lH8uWbkz18wicQ7k2EtWERF0TvNXE3CqVcN27mDBLkH\nzcklamJwpvUZbKAnyFbB7l58qF+bB0eGv/qMe0XH0TkrY+qlpKIygtgxSFnz\nJMwhYuq+FQXMkVCG55joNA0/6URP94sQfFT+nx52U29QdDpoAh+K1AG0ItlS\nndgW/68DUAhpI5STuLxCZnMtx9pbRTrKptLmUjYmqM9ToxyefCWnFLjTBuEY\nLN22GAPh2/XWZgvJUJ9MihTAwbpEWkDuWLzXdtT1ZmJIrbdqHDrNJnw2AC1D\nOoMXGH9zP4ozE3lGPlgJS8IRke7bNmRtJPpxuusPldGrUb0Oj7lxMisdM+EH\nQtOQIbp8crON4I8E8tt71s3xQLSC5FVOKVGVjlvPIARbq0aBPKVzy+sIamIV\nh+p+VJSp78KZP4ephbzutfyetQARjs1tqXs6uFe3MtFJhtoNjAp/fvOF9xvI\nlHhXZgeQ15a6sHiDrO2A0R2YbZQQ5xwsQBrHoSI0+rHM+ZVZWp3XQuKVp4Iq\nUJyj\r\n=RiqO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/uniquify.js","type":"module","types":"./dist/uniquify.d.ts","exports":"./dist/uniquify.js","_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git"},"_npmVersion":"7.21.0","description":"[![latest version](https://img.shields.io/npm/v/@acusti/uniquify?style=for-the-badge)](https://www.npmjs.com/package/@acusti/uniquify) [![dependencies status](https://img.shields.io/david/acusti/uikit?path=packages%2Funiquify&style=for-the-badge)](https:/","directories":{},"sideEffects":false,"_nodeVersion":"16.8.0","dependencies":{"lodash.escaperegexp":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.4.3","@types/lodash.escaperegexp":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/uniquify_0.2.1_1632869268765_0.9678510892354613","host":"s3://npm-registry-packages"}},"0.3.0-alpha.0":{"name":"@acusti/uniquify","version":"0.3.0-alpha.0","keywords":["unique","name","filename","slug"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/uniquify@0.3.0-alpha.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/uniquify#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"790b5eed485a6c307fd26f692044a83dcddaed36","tarball":"https://registry.npmjs.org/@acusti/uniquify/-/uniquify-0.3.0-alpha.0.tgz","fileCount":8,"integrity":"sha512-vgmg2u1fHY6SHbZxXVXSTkBY8NFaLgy20f9KwlNNh8bzUMp+lEsouP8OJoJuVarKTm7zaeg3quOCnJY8kUWBww==","signatures":[{"sig":"MEQCICPzv02Z4MYVdM7hW7G7dA0OWL96v7GGja7/Egc4t9KtAiB3j2ko1NNGwa7fVgnj0AfxkfOx5BrHLQeYRbEMY8DWyg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36136,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiL7buACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqFLQ//en5m2mjLTEHs799vV8qx3OMpfDzhH7+tXRauyT86bXJB13rR\r\nkOYqBz0WNBsaTr7cAAzXJ336hzcbycc0S+O256ZoDbiaWu90drpBEbgp156C\r\nhTRzdS/znj7rsWsUIusN4faxQqMyqqwMprt+G2TZotVbm5GAGpolL4xcsrTJ\r\nj9woa8sJeH4IshgsjkaOPeF2xvIsMPgK8q3ebMt1HSdq1FjkV6DJ0fgw7pNB\r\n9bjBQ0j4yusVJvsOVfUqKRcIu37FfgtszJgECRGpYt/GAzdByBUXqckQoM0B\r\nP9aygYsipAnMBF8ZjFrEVXmOmPHRZeiK4wLcXbz5jBBofh2u34OABUs5W8VD\r\nhI6PffHGVPg1Jft3vwmXQVYnkSuYRRI83xuzAXYQ0ps9GdNlrpcxB3LzKtcl\r\nl4jYAiNo9S5OIo0tJ4R68/C43oAWF+prm3epWi8EGApJj1m3VFprE0HZOkP3\r\nlZH8SMW9tAjI9O7JQSuVZVfUnCxOQY6FxkP90PQ+UmUfwopLsFJLmaM4G2zu\r\nl44fvR2eis8eVd1PjpNsYtdCfPytxRhX+YZw4qIjI+eXEU9MxP9JkNj+JGyh\r\n0pKcnHD3hEFxpAMd0APQIgjKPldHgMZ5gyMI7bb3P70iRxoWmNvNm+k3MFlt\r\n9PFoD3+e9s/A0ulpgL8SEGIXEiRRyQCXH3U=\r\n=cqjZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/uniquify.js","type":"module","types":"./dist/uniquify.d.ts","exports":"./dist/uniquify.js","gitHead":"ec629a640ddaf864fe3ff9dfa5cb91f315a483bd","_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git"},"_npmVersion":"8.5.4","description":"[![latest version](https://img.shields.io/npm/v/@acusti/uniquify?style=for-the-badge)](https://www.npmjs.com/package/@acusti/uniquify) [![dependencies status](https://img.shields.io/david/acusti/uikit?path=packages%2Funiquify&style=for-the-badge)](https:/","directories":{},"sideEffects":false,"_nodeVersion":"17.3.0","dependencies":{"lodash.escaperegexp":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.4.3","@types/lodash.escaperegexp":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/uniquify_0.3.0-alpha.0_1647294190659_0.447241707305857","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@acusti/uniquify","version":"0.3.0","keywords":["unique","name","filename","slug"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/uniquify@0.3.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/uniquify#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"9eebcc853361fd5cb19710d0a949b4b4b056480d","tarball":"https://registry.npmjs.org/@acusti/uniquify/-/uniquify-0.3.0.tgz","fileCount":8,"integrity":"sha512-MJ5YL30X2VLGrwHU0v8qCReRBFo7mSPaJySm8WF8IpBGl05HPEbAxX+/hENIWpLkPTufiaJh8PIGSdNj8ZVvkQ==","signatures":[{"sig":"MEYCIQDmVxr8aRcHjVQ7Wsk/8Tb5F+H7dhp3HtJu6PYNbQZS3AIhAMmCNbHnVGGWVofZtd7RZ1ZQ4FHKAdyWA4GXNZ0iG/hA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiL7nFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpOtg/9Fxfc1lpKjKsLrjN6wkH61ZXx01V4KYrvNxpXO+wRkyCiAuRa\r\ncWni36X6s1kqboy6Xfvw4eH7OnVGYaJ443Drg3I+h/dtmi2lqGhOQCMnuerL\r\nVIGXsHDqFMxfi3aIPvgMsGiODtgG40cZfNYzv9VY779nyBsNkMOWI38V3TLT\r\n8F5sWoCvpJCsYIZfqpyG8mZLa999wdQ0YRIhjDv9KJ8EUb74U2LWaHH4gL3I\r\nGbr5Gt0tsxGfQTrQ4RdemdWaiuAet8zqoLnamvF2Eo8xCaZRGYfZ4caK5YAR\r\nuSKnzMGempiRefUbMjzznmZOjDYuGoyBAb5pNO/NmRanYMAlzl4qCix/K9yd\r\nksubU6xk/WIuHTGu154wkwV2zhMxpoJUJ4DkmEOZxoUjRQsVWoWYTITd/+q8\r\nDAx71OGAzUUaI38asUvPmPvu0ktZfXzMd7chpCJZWface4sdk5BR9kZoWlLi\r\ndqxDwAgzYMJUmwmwOdD6F9pkgvFwvACvItLddlWGPC7ixWti4k/PYX3exMNp\r\nq3B9GjLvCp7CpmOjnJYR4IxcvVKlvhwMKKkYtM59Lr59xZyr3A+XmgDKyEYP\r\n1DV5XNbp2lS0bFQ657as1P21T0snS3kLAh3l1Q9oaOnq+6JchKtrAd1U1C8t\r\nGgShMlPU82oAMW426ZY0d42b/PpNJ8zKBcI=\r\n=0dMw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/uniquify.js","type":"module","types":"./dist/uniquify.d.ts","exports":"./dist/uniquify.js","gitHead":"ec629a640ddaf864fe3ff9dfa5cb91f315a483bd","_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git"},"_npmVersion":"8.5.4","description":"[![latest version](https://img.shields.io/npm/v/@acusti/uniquify?style=for-the-badge)](https://www.npmjs.com/package/@acusti/uniquify) [![dependencies status](https://img.shields.io/david/acusti/uikit?path=packages%2Funiquify&style=for-the-badge)](https:/","directories":{},"sideEffects":false,"_nodeVersion":"17.3.0","dependencies":{"lodash.escaperegexp":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.4.3","@types/lodash.escaperegexp":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/uniquify_0.3.0_1647294917423_0.7974755444667727","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"@acusti/uniquify","version":"0.4.0","keywords":["unique","uniq","file","name","filename","url","slug","upload","utils","utilities","typescript","ts","flow","isomorphic","universal"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/uniquify@0.4.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/uniquify#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"bfc957746128142b649fa9514f730925712bce21","tarball":"https://registry.npmjs.org/@acusti/uniquify/-/uniquify-0.4.0.tgz","fileCount":8,"integrity":"sha512-W2/Yi0B6V0jip3fXXXaka/827lrD7D565AexDXceYuaLfq+lMmfQZ1uI5cxZ1rWSp0277ZdSmiiDvSbuULHONw==","signatures":[{"sig":"MEQCIAWoey4UXOAivBnfZAsdOYtELurzbmIESa/fuzx50KMvAiBTz3Kkbe/RqJsD9atSWh4a2vkLKvUSPLQGodXpH4vwtg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36491,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiVkDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMZg/7BwACp0JWVjXOIFfQ3aWUgYMIjE3mi8/KcSqr17/T9PvMKfZI\r\nN0xOyVbW9l/ByibEUvrv2ztzXELA3qCtc2h2uoEny2Q5w5zTvURMPTofrTb8\r\nvGNdGlkY1ZVKg/nO+eXAqNBTlHQFmJ+W8jEgaF544bT9SqWTyBU/EGPTR/WD\r\nk94yl86Z4qG2Z3yoSCwT8srPg1foXpn7uKRF90JcEyeowDMMvxGHsheeUK17\r\nWcHotYbnij2NQb+k53RPLGxcE4Q58U5gN/s8glDUjt7Rdi9sE6fyEAtqUJ4g\r\nnfe9c41h/eJ3d6ycSSV9sPeO3zUq6pXT9NHEyNQX++ijypQhr6Nf6d8ZjNJn\r\nMKdDoHG/ZAQZ1EJ8/Zo/UPHBKYhNQ1NDrt9Db4DuFaObIvVNJ1EBY0cDJ3Po\r\nx1CLVxA8MVS1M41EYvmnSfuPZVLQZbTC37gpekYvIam+q4bZBn7//AlqdrjW\r\nW3WqM/Dj3VJEyEO2kgil4ptm0ytYQti9FtFbQwmoQil4bBgBk8JZXfgTNM+y\r\n5hGYm0xqC36N6owv4AcSVIXDnoWzliHCeLxUk9lNGSsCw3FWX4CSjRsLlMhE\r\nesC2vxOqGHdo3YI8cyvpj3xl6GzuPokg9mt/ADzuOf9DfZlFLqcyMsYJORRv\r\naplNz2Tl4uvQQySrnFd738vaYShjEWJow4M=\r\n=YYtY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/uniquify.js","type":"module","types":"./dist/uniquify.d.ts","exports":"./dist/uniquify.js","gitHead":"723d0d60c879370934c9ce38baa45043ec987f3f","_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/uniquify"},"_npmVersion":"8.15.0","description":"Generate a unique string (e.g. for filenames or url slugs) using an incremental counter","directories":{},"sideEffects":false,"_nodeVersion":"18.7.0","dependencies":{"lodash.escaperegexp":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.9.3","@types/lodash.escaperegexp":"^4.1.7"},"_npmOperationalInternal":{"tmp":"tmp/uniquify_0.4.0_1669945603397_0.12208004398965988","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"@acusti/uniquify","version":"0.5.0","keywords":["unique","uniq","file","name","filename","url","slug","upload","utils","utilities","typescript","ts","flow","isomorphic","universal"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/uniquify@0.5.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/uniquify#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"0f16d0495c44d89ccc5f93b3dd4c58ecbf6d44a2","tarball":"https://registry.npmjs.org/@acusti/uniquify/-/uniquify-0.5.0.tgz","fileCount":12,"integrity":"sha512-GifPpmiWqqJHCKVwe1qBYn7pDYY2+4pIFz/7rwo1zXf5H9tm51X5n5hn11JXBhcQC3l8D12Ty7/Ws8Likkrffw==","signatures":[{"sig":"MEQCIEjUjEU9Bh1g9wDGbRVgqTlRfMK7IiOhHX5wbMqBiVR9AiAFOv9zXhrp1J7T1mlgPM3+Hs38E++y0OIuX/i+TVXfnQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58382},"main":"./dist/uniquify.js","type":"module","types":"./dist/uniquify.d.ts","exports":"./dist/uniquify.js","gitHead":"254fc34d4cced0e04858c8e97dbf4b53b662d4d7","_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/uniquify"},"_npmVersion":"10.2.3","description":"Generate a unique string (e.g. for filenames or url slugs) using an incremental counter","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"lodash.escaperegexp":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.1.0","typescript":"^5.3.3","@types/lodash.escaperegexp":"^4.1.7"},"_npmOperationalInternal":{"tmp":"tmp/uniquify_0.5.0_1703790206356_0.7025908530841964","host":"s3://npm-registry-packages"}},"0.5.1":{"name":"@acusti/uniquify","version":"0.5.1","keywords":["unique","uniq","file","name","filename","url","slug","upload","utils","utilities","typescript","ts","flow","isomorphic","universal"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/uniquify@0.5.1","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/uniquify#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"770e822962bdd1637211a11fbc844d430643d14d","tarball":"https://registry.npmjs.org/@acusti/uniquify/-/uniquify-0.5.1.tgz","fileCount":12,"integrity":"sha512-oDL7e/lUFRLgPC9LSEKjzVozKNl2YkHsIvUKhaYa1XAwKqtVFrsRXyG3lvpY9C8s1zKgBtPADMqUkyRRd00Wcw==","signatures":[{"sig":"MEQCICHC5U4tuLxKm/f9s9XnhLfnucEcPPM4f6gsiS9fQbxZAiAD3Rc18Uc7LW8osh0fgY/iC8+gDwkoLtCAM/xpca94Iw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58431},"main":"./dist/uniquify.js","type":"module","types":"./dist/uniquify.d.ts","exports":"./dist/uniquify.js","gitHead":"e9c6481223323731573761a49dbbc62670eae094","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/uniquify"},"_npmVersion":"10.2.3","description":"Generate a unique string (e.g. for filenames or url slugs) using an incremental counter","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"lodash.escaperegexp":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.1.0","typescript":"^5.3.3","@types/lodash.escaperegexp":"^4.1.7"},"_npmOperationalInternal":{"tmp":"tmp/uniquify_0.5.1_1705959907503_0.3333828255889171","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"@acusti/uniquify","version":"0.6.0","keywords":["unique","uniq","file","name","filename","url","slug","upload","utils","utilities","typescript","ts","flow","isomorphic","universal"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/uniquify@0.6.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/uniquify#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"19b0a37ee8f4edbc2953b6b100b4c638294150ec","tarball":"https://registry.npmjs.org/@acusti/uniquify/-/uniquify-0.6.0.tgz","fileCount":12,"integrity":"sha512-t1+dk5ob0e8f/12r1jcMAHynAcjQiy5Nqw73OsmBENQ8RK1n8UFgDtASw2NE1uu2nFdac8ywfef2bGlsVcbiDg==","signatures":[{"sig":"MEYCIQCCa/a/W7QeVtSuicJGteikrsRgiisAY8JJfKR5mhJSwwIhAPzxO6Ze5j0bJ1mcGlSKgzJYUFxMK077jXWPrqEQnkeM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61714},"main":"./dist/uniquify.js","type":"module","types":"./dist/uniquify.d.ts","exports":"./dist/uniquify.js","gitHead":"71eacc56e70c0623d7bfe833aa4d940645364ae5","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/uniquify"},"_npmVersion":"10.8.2","description":"Generate a unique string (e.g. for filenames or url slugs) using an incremental counter","directories":{},"sideEffects":false,"_nodeVersion":"22.7.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/uniquify_0.6.0_1734628820133_0.12215865272013482","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@acusti/uniquify","version":"0.6.1","keywords":["unique","uniq","file","name","filename","url","slug","upload","utils","utilities","typescript","ts","flow","isomorphic","universal"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/uniquify@0.6.1","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/uniquify#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"e9cf801932559564942a68e9eab4858d67cf0a73","tarball":"https://registry.npmjs.org/@acusti/uniquify/-/uniquify-0.6.1.tgz","fileCount":12,"integrity":"sha512-h4xM+HVEt4F4fBteNZsis6kBJWWsTGwrVGW1J5A3ng+r09vQUDkKdw3721BZC4oCYu+Sh4tIGSTT68Y5Db8XZw==","signatures":[{"sig":"MEQCIHyosws5cCFDJnLTlrNiQxCvxmrenkBz1JMu6YBdc6aqAiAPfoQSARK5vdS4ZYfzbJH+m3HSCKexu4Mlkk5C1pIHLQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63936},"main":"./dist/uniquify.js","type":"module","types":"./dist/uniquify.d.ts","exports":"./dist/uniquify.js","gitHead":"6916a424996a6a6daa27d5063d0020294422e267","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/uniquify"},"_npmVersion":"10.8.2","description":"Generate a unique string (e.g. for filenames or url slugs) using an incremental counter","directories":{},"sideEffects":false,"_nodeVersion":"22.7.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/uniquify_0.6.1_1737222723421_0.6343514667245862","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@acusti/uniquify","version":"0.7.0","keywords":["unique","uniq","file","name","filename","url","slug","upload","utils","utilities","typescript","ts","flow","isomorphic","universal"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/uniquify@0.7.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/uniquify#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"8cbdd06d836d5ce414dbdfe38fa0cca391ef138c","tarball":"https://registry.npmjs.org/@acusti/uniquify/-/uniquify-0.7.0.tgz","fileCount":12,"integrity":"sha512-iyu+8xQJ5t+H78yJWMnqoL63ix0VlUCl5bbJ8Bq+0YWHBdYkoE9Yom+6TjV1l4vYw3hboqImElD0vdxsB7x5VA==","signatures":[{"sig":"MEQCIDQAOpElVUDwZEC1S54IuKiU2MI1Kq3At2qRBGDEPAElAiAa1Gb65VL3Y4izPyWMt75E8RY3+HHfCQx4hRU/tuZKTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61559},"main":"./dist/uniquify.js","type":"module","types":"./dist/uniquify.d.ts","exports":"./dist/uniquify.js","gitHead":"f7b9c709590d20f31d79898030974f40cd73e68d","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/uniquify"},"_npmVersion":"10.9.2","description":"Generate a unique string (e.g. for filenames or url slugs) using an incremental counter","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.1","typescript":"5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/uniquify_0.7.0_1744399574727_0.7335396392591014","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@acusti/uniquify","version":"0.8.0","keywords":["unique","uniq","file","name","filename","url","slug","upload","utils","utilities","typescript","ts","isomorphic","universal"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/uniquify@0.8.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/uniquify#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"f7a36cc2cbf0daa5f467bdcf6a882f300b7636b6","tarball":"https://registry.npmjs.org/@acusti/uniquify/-/uniquify-0.8.0.tgz","fileCount":5,"integrity":"sha512-9vY+dfDvnRcBpogUN5YFP6ghe9pF0aWHHOV9/toNSbd9FyoziaUtB5+y2XgS37GU7WQqcaHXsBMCfJIt6uegBA==","signatures":[{"sig":"MEYCIQCQpA8ZMQ5VLMWbtlGc8kCdHcIcWI8TzDeyQvuhNpMN5gIhAJzEno6va8qfaFNy0YTHuSkXOTwW61RONQFPloAcpsmK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20144},"main":"./dist/uniquify.js","type":"module","types":"./dist/uniquify.d.ts","exports":"./dist/uniquify.js","gitHead":"11ef240d8f08d99bbc9a65f62ec4274cf9c086a8","scripts":{"test":"vitest","build":"vite build"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/uniquify"},"_npmVersion":"10.9.2","description":"Generate a unique string (e.g. for filenames or url slugs) using an incremental counter","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","vitest":"^3.1.4","typescript":"5.8.3","unplugin-dts":"^1.0.0-beta.0"},"_npmOperationalInternal":{"tmp":"tmp/uniquify_0.8.0_1748819288445_0.9001057677637911","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@acusti/uniquify","version":"0.8.1","type":"module","sideEffects":false,"exports":"./dist/uniquify.js","main":"./dist/uniquify.js","types":"./dist/uniquify.d.ts","description":"Generate a unique string (e.g. for filenames or url slugs) using an incremental counter","keywords":["unique","uniq","file","name","filename","url","slug","upload","utils","utilities","typescript","ts","isomorphic","universal"],"scripts":{"build":"vite build","test":"vitest"},"repository":{"type":"git","url":"git+https://github.com/acusti/uikit.git","directory":"packages/uniquify"},"author":{"name":"andrew patton","email":"andrew@acusti.ca","url":"https://www.acusti.ca"},"license":"Unlicense","bugs":{"url":"https://github.com/acusti/uikit/issues"},"homepage":"https://github.com/acusti/uikit/tree/main/packages/uniquify#readme","devDependencies":{"typescript":"5.9.2","unplugin-dts":"^1.0.0-beta.6","vite":"^7.1.10","vitest":"^3.2.4"},"gitHead":"6acec11d929d3d5b08d044327eae3e598a08fc24","_id":"@acusti/uniquify@0.8.1","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-wbFU+XwZo/sp4hu1tWqMoJSMsNmGfSFoibJ41m4ngWtzsit1d0CCfs0kTEdL9glmi2YWA55iVbhBnrIZePiFSA==","shasum":"de689c2177fc996c018a05973de7821ace187692","tarball":"https://registry.npmjs.org/@acusti/uniquify/-/uniquify-0.8.1.tgz","fileCount":5,"unpackedSize":20219,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGrowfZW80cgBa7iD2qbPvB/3TcI/1T9qs8Sag0GW+KmAiBmuq1MAVv+0TSwHQ14McHsw3awXPV6I0MwYVDW6pVrwg=="}]},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"directories":{},"maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/uniquify_0.8.1_1769823712296_0.4680042152892714"},"_hasShrinkwrap":false}},"time":{"created":"2021-09-23T22:29:49.063Z","modified":"2026-01-31T01:41:52.588Z","0.1.0":"2021-09-23T22:29:49.288Z","0.1.1":"2021-09-24T18:41:51.067Z","0.2.0":"2021-09-24T19:37:12.869Z","0.2.1":"2021-09-28T22:47:48.893Z","0.3.0-alpha.0":"2022-03-14T21:43:10.782Z","0.3.0":"2022-03-14T21:55:17.666Z","0.4.0":"2022-12-02T01:46:43.562Z","0.5.0":"2023-12-28T19:03:26.584Z","0.5.1":"2024-01-22T21:45:07.712Z","0.6.0":"2024-12-19T17:20:20.301Z","0.6.1":"2025-01-18T17:52:03.660Z","0.7.0":"2025-04-11T19:26:14.910Z","0.8.0":"2025-06-01T23:08:08.627Z","0.8.1":"2026-01-31T01:41:52.449Z"},"bugs":{"url":"https://github.com/acusti/uikit/issues"},"author":{"name":"andrew patton","email":"andrew@acusti.ca","url":"https://www.acusti.ca"},"license":"Unlicense","homepage":"https://github.com/acusti/uikit/tree/main/packages/uniquify#readme","keywords":["unique","uniq","file","name","filename","url","slug","upload","utils","utilities","typescript","ts","isomorphic","universal"],"repository":{"type":"git","url":"git+https://github.com/acusti/uikit.git","directory":"packages/uniquify"},"description":"Generate a unique string (e.g. for filenames or url slugs) using an incremental counter","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"readme":"# @acusti/uniquify\n\n[![latest version](https://img.shields.io/npm/v/@acusti/uniquify?style=for-the-badge)](https://www.npmjs.com/package/@acusti/uniquify)\n[![maintenance status](https://img.shields.io/npms-io/maintenance-score/@acusti/uniquify?style=for-the-badge)](https://npms.io/search?q=%40acusti%2Funiquify)\n[![downloads per month](https://img.shields.io/npm/dm/@acusti/uniquify?style=for-the-badge)](https://www.npmjs.com/package/@acusti/uniquify)\n[![bundle size](https://deno.bundlejs.com/badge?q=@acusti/uniquify)](https://bundlejs.com/?q=%40acusti%2Funiquify)\n\n`uniquify` is a function that takes an array of items and a string and\nreturns a string that is unique amongst those items, appending a counter\n(or incrementing an existing counter) if necessary. Much of the default\nbehavior is based on how the macOS file system handles filename conflicts\nwithin a folder.\n\n## Usage\n\n```\nnpm install @acusti/uniquify\n# or\nyarn add @acusti/uniquify\n```\n\n### Default Usage\n\n```ts\nimport uniquify from '@acusti/uniquify';\n\nlet items = ['bear', 'chickaree', 'coyote', 'marmot', 'pika'];\n\nconsole.log(uniquify({ items, value: 'chipmunk' }));\n//=> 'chipmunk'\nconsole.log(uniquify({ items, value: 'bear' }));\n//=> 'bear 2'\n\nitems = [...items, 'bear 2'];\n\nconsole.log(uniquify({ items, value: 'bear' }));\n//=> 'bear 3'\nconsole.log(uniquify({ items, value: 'bear 2' }));\n//=> 'bear 3'\n```\n\n### Payload Options\n\nThis is the type signature for the payload you pass to `uniquify`. Only\n`items` and `value` are required:\n\n```ts\ntype Payload = {\n    items: Array<string> | Array<object>; // for Array<object>, pass propertyPath also\n    value: string;\n    // Options:\n    caseSensitive?: boolean;\n    propertyPath?: Array<string>; // the path of the property to compare\n    separator?: string; // defaults to ' '\n    suffix?: string; // add a suffix to the value (prepended with separator)\n    isSuffixOptional?: boolean;\n};\n```\n\nThey can be used like so:\n\n```ts\nimport uniquify from '@acusti/uniquify';\n\nlet routes = ['home', 'about', 'contact'];\n\nconsole.log(\n    uniquify({\n        items: routes,\n        separator: '-',\n        value: 'about',\n    }),\n);\n//=> 'about-2'\n\nlet files = [\n    { file: { name: 'Ticket Receipt' } },\n    { file: { name: 'Manifesto' } },\n];\n\nconsole.log(\n    uniquify({\n        items: files,\n        propertyPath: ['file', 'name'],\n        value: 'Ticket Receipt',\n    }),\n);\n//=> 'Ticket Receipt 2'\nconsole.log(\n    uniquify({\n        items: files,\n        propertyPath: ['file', 'name'],\n        value: 'ticket receipt',\n    }),\n);\n//=> 'ticket receipt 2'\nconsole.log(\n    uniquify({\n        caseSensitive: true,\n        items: files,\n        propertyPath: ['file', 'name'],\n        value: 'ticket receipt',\n    }),\n);\n//=> 'ticket receipt'\nconsole.log(\n    uniquify({\n        items: files,\n        propertyPath: ['file', 'name'],\n        suffix: 'copy',\n        value: 'Ticket Receipt',\n    }),\n);\n//=> 'Ticket Receipt copy'\nconsole.log(\n    uniquify({\n        items: files,\n        propertyPath: ['file', 'name'],\n        suffix: 'copy',\n        value: 'Ticket Receipt 2',\n    }),\n);\n//=> 'Ticket Receipt 2 copy'\nconsole.log(\n    uniquify({\n        items: files,\n        propertyPath: ['file', 'name'],\n        isSuffixOptional: true, // <= changed\n        suffix: 'copy',\n        value: 'Ticket Receipt 2',\n    }),\n);\n//=> 'Ticket Receipt 2'\n```\n","readmeFilename":"README.md"}