{"_id":"@darylcecile/nsearch","_rev":"6-6fce0fc485a5a0735494244f4f6f667b","name":"@darylcecile/nsearch","dist-tags":{"latest":"1.2.13"},"versions":{"1.0.0":{"name":"@darylcecile/nsearch","version":"1.0.0","main":"dist/index.js","author":{"name":"Daryl Cecile","email":"darylcecile@gmail.com"},"license":"MIT","dependencies":{"@types/node":"^17.0.9","typescript":"^4.5.4","wink-lemmatizer":"^3.0.2"},"type":"module","scripts":{"build":"tsc -p tsconfig.json","test":"jest"},"devDependencies":{"@babel/preset-env":"^7.16.10","jest":"^27.4.7"},"gitHead":"cea68173ea8021f2d27c60992e5c31ef8e3757c4","description":"### Local development","_id":"@darylcecile/nsearch@1.0.0","_nodeVersion":"17.0.1","_npmVersion":"8.1.0","dist":{"integrity":"sha512-CFJKf5dIpq725s027bcEQH4FFkMNtKi64OcPOkKx2h+ZevbgTiR1i4BUsDJWsFTh6fI74ZGcLFAociQhYiPwuw==","shasum":"c0d03312efb83d602821bd60ceb12607ae57c0fb","tarball":"https://registry.npmjs.org/@darylcecile/nsearch/-/nsearch-1.0.0.tgz","fileCount":12,"unpackedSize":20802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6LgUCRA9TVsSAnZWagAAaz8P/ijkyVRi3RwgVmjOqa42\n+yX9eKnx1601KG4pCntjSkVgb5Td09vR3XRdid5fGxpIBAKGKRzmPpASbPvL\nzffTyqBfwsNG9BUjprjPbcLUgA4S/LvUBimYtqNvsR76WcYv3ZME2AZIHDp8\n1KwxP+TaMYBvqbY4JAlPAnmsEM3ygpIbrPjAkTER7kf9rx4yLLObfGFVcNwb\nWr2Ftzr14LAcVaJqYp9B1iWBfm0n00hBDKkvNlrpN4V2O930Gh2fkbsX29nV\nVNwZbg2yW5FWVM2QEOe3PeBApQ835HOdWAuBVenZ+FDe7yq2WroOanY/qeR2\nKPky2SkAvdO8BYrpp52YZK5e/i1fBy9YGSpxsmYAJHpxc4pbabNwUIdoQgx0\nFmHXIcsbJOPQJygA+3ctYnIgN59GB1HdlXAbZc8xu4Vm1ZKp2FHzjCK0M1hj\nEjLVqvKvTXOWxboUJhlbOKd+0b6lzVIrwH0wIyAv0K6uXjTWcN9Mr7mArfps\n+e2NOFiVEWaO+w+Fyrb/DJ3KnEza9lyNRq5zLdk6s+9kqbrdhc1yQ+QqnvzZ\n5pXm8L3U4RmW2Hk69MxXcGhx/Nt+DUSA9Y8QqttnsvvG5Hf+B5Vg53odQjgx\np0JeV3jzOaBQ4Ggvg/mqYPdpJY2tAKJ4lqDrLRG6Dct8MOLIHijwEfNOqmMK\nQGYx\r\n=klk/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDT86tZVMfcVYMxkDLRQRBCyKzYIKg7f/urPBDwYBXCBAiEA0ft402I8WyN7c6y5fsDvhAp34boTIQ+C349AmtnWoX0="}]},"_npmUser":{"name":"darcectech","email":"darylcecile@gmail.com"},"directories":{},"maintainers":[{"name":"darcectech","email":"darylcecile@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nsearch_1.0.0_1642641428640_0.7695488522659855"},"_hasShrinkwrap":false},"1.0.1":{"name":"@darylcecile/nsearch","version":"1.0.1","main":"dist/index.js","author":{"name":"Daryl Cecile","email":"darylcecile@gmail.com"},"license":"MIT","dependencies":{"@types/node":"^17.0.9","typescript":"^4.5.4","wink-lemmatizer":"^3.0.2"},"type":"module","scripts":{"build":"tsc -p tsconfig.json","test":"jest"},"devDependencies":{"@babel/preset-env":"^7.16.10","jest":"^27.4.7"},"types":"./dist/index.d.ts","gitHead":"673860f52c458cb75b3e4f0fcca9b7a03c67f561","description":"### Local development","_id":"@darylcecile/nsearch@1.0.1","_nodeVersion":"17.0.1","_npmVersion":"8.1.0","dist":{"integrity":"sha512-g9m0g8/U5q7o0WI0U8wzj5y2kXN7YVq3eOGQobiRD3s2ekfsveNLaFBIgtQdMzWHY1Kqjz8vCcNUCvgXjHgasw==","shasum":"121006abd4fc55052a026f65f4c86ecd2acc4062","tarball":"https://registry.npmjs.org/@darylcecile/nsearch/-/nsearch-1.0.1.tgz","fileCount":14,"unpackedSize":22103,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6LkfCRA9TVsSAnZWagAA4YEP/2EDPv1R/hwMP+92zin0\n17pO/jUEVRtDpiI6U3uZEAuWBWAC6+d+i1UGujcoqfFtWznKs8DPL4NrHZPX\nFWp/BsFBVS8ncg8zrZ83h4WsydUd0Lm0tAzW2aus3sH2EDrI+ChQ8Rd6Myqx\nEqz9pWuzPCWk1GuG3ieU2SsbSK5XgluyCp0QhYT+ioFvF3B83ItreouKrfRi\nzvdlv5t1+/QgmTvydag00Jn84axVEMU7KQ26Vre33BA5qSiTuR7epiVk4lAS\n+uqbXbfMzu8qkqGsCQOROdRHtXMTgdCo5rve6HykzZA3TRsiDeZgLUTDPaRC\n9MjdZK5weNFyKEShLdqcDWQas1FhTQc1f8eFxkXwgljqWu8ZErxhVc2GJ3Hw\nE641YpHiS8lRN8mI4ZSXNUlu0cUGBKC5aMJ9TJRuVPRkdP7qxgQO8wmkSzWQ\nKy+pPkKKehbdUG77Wd8OEKN6ckU2j9JBTJBjWib+oaPO8QW/iGH/AezDS+cM\nmuOJ2LOJQvHJbnJXtM4osbhUIEf5HRRP3Z8W+v66BztWcIQVFEnE12hK2zQ4\n79tjokgW6K6pzRa3eEhCLAnBuI9nNe1mGrifbB1d+KzjkIy08vpKBJHgOqTS\nhGPgr1DqgvGtu8wSTOtWWV+QHpKxKw4i9vnmeTpupfYF8pFtegVsTf0J4sHO\nh9Th\r\n=sMAQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCl5MwRo6XX7LNigm/YwX/JzkGEW8pCuxWfy1lmv9OrZQIgL+WgTRd98nJxu4Yjn1oSCXQQfLhOjxqWc801O/E4VlY="}]},"_npmUser":{"name":"darcectech","email":"darylcecile@gmail.com"},"directories":{},"maintainers":[{"name":"darcectech","email":"darylcecile@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nsearch_1.0.1_1642641695500_0.7445266716278955"},"_hasShrinkwrap":false},"1.1.3":{"name":"@darylcecile/nsearch","version":"1.1.3","main":"dist/index.js","author":{"name":"Daryl Cecile","email":"darylcecile@gmail.com"},"license":"MIT","dependencies":{"wink-lemmatizer":"^3.0.2"},"type":"module","scripts":{"build":"tsc -p tsconfig.json","test":"jest"},"devDependencies":{"typescript":"^4.5.4","@types/node":"^17.0.9","@babel/preset-env":"^7.16.10","jest":"^27.4.7"},"types":"./dist/index.d.ts","gitHead":"67478c5ce7a2428efe41b5d7b5a3c5460c0c448e","description":"### Local development","_id":"@darylcecile/nsearch@1.1.3","_nodeVersion":"17.0.1","_npmVersion":"8.1.0","dist":{"integrity":"sha512-L7SJNJqWwCbFL/dQlALDhSNkbm2dN1Hk2fUBf3mHRFp8Nd09Vq3qlgTmVh/WQPgILsRtTYJ0XiEOIIMUgWerSw==","shasum":"bd5714d8c6a8af3cf1fe1204e6244f98ea10e506","tarball":"https://registry.npmjs.org/@darylcecile/nsearch/-/nsearch-1.1.3.tgz","fileCount":14,"unpackedSize":27220,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7Gs3CRA9TVsSAnZWagAAqw0P/2p5Upxqwr68PLhtXgND\n5rArJ4/ROCollxxwvOCkKrL5TwJL8C229NK9ZpV5vqJtJSyMoZ2zoWsByRyh\nWKCxHU18YaeLQB75h3lCMwt2M0pF/usqBavEPee/OqxsBYbw/D32e8GcY+/Q\n+1b3hGZbFYw+aA4I+C8kge/OoofpPTeg/s9XMZgbUcF/HDAI+RkokXmILc7v\nvn/1IG1vwCLeIssA3G+hYM6Kabgf2URnq1OX7EwD8+YPaqjYyWlWszcirzfZ\n372xBmZjCPHHYXbgA1bWIDbNPPViDaagQZ5d/HMeWkNNo1yzPYTTd1Y82fCr\nZlZmWpS77128O0FPC7ipMto8kAJAOquiGTr8BgIxwf8ufcjURvSdOlYJZhRN\nohT/zBakn6aADLHgoQTbT9h5Oldj/OV4N/+nxt0bDiIihdItBzmpz5TDmobZ\nsWfv/s5AlUHOvm4RVZnaHg8Bqzt7QCrvq+FVcDDRv5Bz4B0SYJ4AHSjnST6g\nQMQusj9Squ9SX200id1+dPuSD6w+BnsA3z55crlZjQ2/DKYiddicx/+JrIhZ\nw2WmItnqY1lD9DnezJMH7kxPTScC+PJoVq6v5Yn1Fsgu1OMxot4036EyZ65J\nw3mZVIuQg4b0IyYqZSTIHktylLqVW/bs2YtWmjIY7LbifnqNVRWQfxD6A81W\nUgnd\r\n=GikF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC2d4njTfuZimUtuuWX0s3TNMd6OtU02F03juZo47Y2oAiEAoNVLde6ntOCq6YT3c61EB8AOOeNIMgmDOh01ySZoCys="}]},"_npmUser":{"name":"darcectech","email":"darylcecile@gmail.com"},"directories":{},"maintainers":[{"name":"darcectech","email":"darylcecile@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nsearch_1.1.3_1642883895097_0.4347059651503167"},"_hasShrinkwrap":false},"1.2.12":{"name":"@darylcecile/nsearch","version":"1.2.12","main":"dist/index.js","author":{"name":"Daryl Cecile","email":"darylcecile@gmail.com"},"license":"MIT","dependencies":{"nanoid":"^3.2.0","wink-lemmatizer":"^3.0.2"},"type":"module","scripts":{"build":"tsc -p tsconfig.json","test":"jest"},"devDependencies":{"@babel/preset-env":"^7.16.10","@types/node":"^17.0.9","jest":"^27.4.7","typescript":"^4.5.4"},"types":"./dist/index.d.ts","gitHead":"7eafa76f2df69e0cbe770ac433daa9083ef5ba4a","description":"### Local development","_id":"@darylcecile/nsearch@1.2.12","_nodeVersion":"17.0.1","_npmVersion":"8.1.0","dist":{"integrity":"sha512-qNNmpoo9/UN3U9OKgRPT1f1OEJHS7k0muPSsJBsxwqDGNExE8R9BVA/k8nH0qIYS70+GTaAMicKn1AC4tLCQnw==","shasum":"5dfe12d92d9708e1caf1064df6b67cb3a70fb254","tarball":"https://registry.npmjs.org/@darylcecile/nsearch/-/nsearch-1.2.12.tgz","fileCount":18,"unpackedSize":43090,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7Jf6CRA9TVsSAnZWagAAhxkP/ik1DJdprTBBvH9RVaM6\nQ7V0l4x36Ikcd3VU9UcJGit8okZSsrPecjkce0PFdbdrYFtXo0s+zlLjghZD\n3KPojzha/k62FhsBEdaGxbHBuvBEL9sAx5EJp/8KUmpYpC704NOpW3jkRg5I\ntSXjOkOeoJYgH7kIPRTYAmzKPTC9JJUvX2TtCEPkx7FDfGl7CbzU0JjZmMYe\nKEXuvSm0jlgvYMtIFWh/3vWi2MfTXdS2/BPL8t55TF2MjRUe7FJdHO+8Meah\npRBpLR9VE/e5Te65B5TCoK+wNygBnht3VlZr6vc5GFrv91SOumGYEcuVUixl\niL6e9FFByiDNMZyne0n0aCbQgKSfKR23ScHO47UNlMoDH/mP5YOif7bqjKAG\nLBMP/73GXzkSl3E907wK1aHND0dL5xo6pXDlVyVO9NBRUuw4Haa4j/97nfJe\nwyFQYsy++cJQcK9l2I4kJJwz6AaFp1+yUIKv2Mz3F7jsTWXspM87IFQM/0RV\nHNedJkuphHbW7/peKGggowkMrfzPiEtgRTxdfZbBBg+pXD6EIFVH3dd8FDHv\nU6JQhCqr0QE2dmtv6eqxEgcpBKv0p9sEQtKFyA1QyBdbmOIvQoIHgtrk+iSE\nyqpYqO9H73GN7PzRcjY3oWr46Y0KjFugHUNwMUSY7frixx23ZNeGAW7xHjhj\nvuIO\r\n=wYhH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChMovbAHRdnIz6dujk3qL6S3v1ySYsTWHoak/adwNH8AIhALFcnEGsm8QUpxMAO1BMLDLd+yDUUxZeHDSLTZ37oOB6"}]},"_npmUser":{"name":"darcectech","email":"darylcecile@gmail.com"},"directories":{},"maintainers":[{"name":"darcectech","email":"darylcecile@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nsearch_1.2.12_1642895353947_0.6568203258675007"},"_hasShrinkwrap":false},"1.2.14":{"name":"@darylcecile/nsearch","version":"1.2.14","main":"dist/index.js","author":{"name":"Daryl Cecile","email":"darylcecile@gmail.com"},"license":"MIT","dependencies":{"nanoid":"^3.2.0","wink-lemmatizer":"^3.0.2"},"type":"module","scripts":{"build":"tsc -p tsconfig.json","test":"jest"},"devDependencies":{"@babel/preset-env":"^7.16.10","@types/node":"^17.0.9","jest":"^27.4.7","typescript":"^4.5.4"},"types":"./dist/index.d.ts","gitHead":"9a9a1ae4e9c08890cd01902632df8234a459b663","description":"","_id":"@darylcecile/nsearch@1.2.14","_nodeVersion":"17.0.1","_npmVersion":"8.1.0","dist":{"integrity":"sha512-FyvcvSlwYQC7BIXUKW/BNEWzplJ7qpfhYAhIVmxJ8zMvHhW/63g9eZr061b1dHgS2nVpn/c/mDX3jvK5CZiV1Q==","shasum":"62d793cd0f11672174b849c15e43131407d51a89","tarball":"https://registry.npmjs.org/@darylcecile/nsearch/-/nsearch-1.2.14.tgz","fileCount":18,"unpackedSize":45913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7Kc2CRA9TVsSAnZWagAAkSYP/ixxe1gGZQI1vy+SlN+i\njkk72O4ZE981xz4sqjurBNrYE9OrA8dTIoPT6VDtptDvYwEV6bU7eA4ZE7Ev\nQ/dHgsqA2Rb9ZEluPZJAHjtamcWIiFLh7L7FiMY3TWgnU4lgsyLTTn22IaWO\nH3ntSE4CMDeLL/7B8A/Yj9+u/1AwqKHWrKDRSR5nVCXkju77UwEk3r2zhlhe\nXcD74Hr9AcodsdLsW+Ejm5ryGrxjrhuxQMT/7A4xqF23KrYhY0+m7jqoiShl\n7fAkPNi/+JpWpDcKr+3QXkeQKwD9S7HUy6qISGcvM9gNG8VGiyZS0vdrP9PX\nEXLkkR3rmVhq8xiKgA6K9NXOkkbKAfyJfJ74woGTvXfpbu5IvW5HBjB3hdEw\nTfwBgyC4KH5sgts3bphxuW1NCF4iKzE59QTol5OGrUiTw+uGBWboCceUkCDw\nsp2LX5bKTlHDZNqZf0HOP6hZRwI2Oo6vokusrKEf7HjJ9W6kRoVf9rW7CJFx\nD3W5JUD+H7Xs+Lx1r0dRwzN1AXFBYNM4FAlABuhMgkkacDk31ZqvxkpWJD7S\n5dQ7sUKviCuaf3PxuwYaZjBBLNSlZwWNdJ4mn0vHNjQ8Gno1sk66KvJ0rFYO\n66hSFiKUPNmm0rG2o/UnvZDrWCHh04Alred3Umh4zmVTNyj6wiXe9GKuAPco\nPQVq\r\n=9iii\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSHXVXVLA0ICdGQniLgJy01SMGpY+pjQjM5oA1SeDFLwIhAJuK4Oj3pISefpYki/d/m+THhvppTrpul/XXU8FOIYuH"}]},"_npmUser":{"name":"darcectech","email":"darylcecile@gmail.com"},"directories":{},"maintainers":[{"name":"darcectech","email":"darylcecile@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nsearch_1.2.14_1642899253982_0.11670128530046653"},"_hasShrinkwrap":false},"1.2.13":{"name":"@darylcecile/nsearch","version":"1.2.13","main":"dist/index.js","author":{"name":"Daryl Cecile","email":"darylcecile@gmail.com"},"license":"MIT","dependencies":{"nanoid":"^3.2.0","wink-lemmatizer":"^3.0.2"},"type":"module","scripts":{"build":"tsc -p tsconfig.json","test":"jest"},"devDependencies":{"@babel/preset-env":"^7.16.10","@types/node":"^17.0.9","jest":"^27.4.7","typescript":"^4.5.4"},"gitHead":"4864276d4100f67a6fe3c7b3dd9e93680c8392ff","description":"","_id":"@darylcecile/nsearch@1.2.13","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-MBW9AWO+guzMqHqNbU5jy97+i5FqhoHbCPqn0QJ4pZMsjb06C0pZ6WZ4gOsGtWHuHLC5wE9kptuuOK4038qzzg==","shasum":"2a9e29785aaa9ef219eb9a14bb3020d2bf829cea","tarball":"https://registry.npmjs.org/@darylcecile/nsearch/-/nsearch-1.2.13.tgz","fileCount":16,"unpackedSize":45832,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7sFCCRA9TVsSAnZWagAA4G0P/RcZs7MzsMgiSHQDwBJV\n8wv/qitK4hov1BZCMdH598m5azhfV7F3CxAJN28aPmuRnwUloaORQeqSuKAI\nmjnpaevtuy+pptUBa5V3FwghRgb5ykEikSKBJAqmBfWqobu9ETIOR5hYZGWc\nQd+xngTd8KJK7+ESHdOlFVALACZf6eM3UoCt63cxTLRJcKhLlH0fjh+Kjpbu\nL5baaQg8W+FBq7Ifir87EII8t4aBws2m3DFBAPRytN12nq2qJbCKTD4n8H6c\nJDrwrnQD1LltjMgdQBKGw7MS1x4wcU3IQY3Ne5JxuQepWKZ5lXSj6ViQso4U\nJpUnGW04/SjGiecTeNnYKRLt+dsTPxG0PbXbmxWs6Bs0GQdtj5IHg5yhVJ+0\n4qeTNH5FHiM4CfK9ZazvA+24QRsajQG9CZ3uGDGn4lIzwhpgy8a3+0/dGP2I\n4LxSQPWLd8FdNYuZVppumK6UjWunf+plvffI5e4vUXxCJOi0yE2BhR4EWtzO\noPfcxxTAsFrQsz5946cVk0kY2+yY27QBojqM4XlnIDhhqxtyg4mjA/pXxedg\nGz92RTzViPc+W+8CDbrA5eLJstljmnq0+ss62Ybgybx6MUVRMk/uOe4O2QS7\nBx8GCG67y1c4k9Xo0xiTKWizG/eTt/XXjluQcTZ06ohBCR/pYg9tStcTpzn9\n+dQq\r\n=Tp5O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBFhH5Yt47meLGo57q/8WKn47lOt7srvZBDbiWCZt5FjAiEAkoHmgy5Y1HaYuIwjT9eOeB44TRzoTN7lJAPRWZYpGAA="}]},"_npmUser":{"name":"darcectech","email":"darylcecile@gmail.com"},"directories":{},"maintainers":[{"name":"darcectech","email":"darylcecile@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nsearch_1.2.13_1643036994414_0.5476089373182493"},"_hasShrinkwrap":false}},"time":{"created":"2022-01-20T01:17:08.585Z","1.0.0":"2022-01-20T01:17:08.803Z","modified":"2022-04-05T02:46:32.764Z","1.0.1":"2022-01-20T01:21:35.741Z","1.1.3":"2022-01-22T20:38:15.234Z","1.2.12":"2022-01-22T23:49:14.155Z","1.2.14":"2022-01-23T00:54:14.206Z","1.2.13":"2022-01-24T15:09:54.598Z"},"maintainers":[{"name":"darcectech","email":"darylcecile@gmail.com"}],"author":{"name":"Daryl Cecile","email":"darylcecile@gmail.com"},"license":"MIT","readme":"\n# Getting Started\n\n\n### To use in your application\n\nIn order to use this package in your project, you'll need to:\n\nInstall the package as a dependency:\n```bash\nyarn add @darylcecile/nsearch\n```\n\nOnce you have it set up as a dependency, you can import the library. This library comes with two main features, Search and Semantics. Both are very early stages and should be considered POC only.\n\n#### Search\n\nThe Search feature can be used to rank a collection based on a given search query:\n```ts\nimport {Search} from \"@darylcecile/nsearch\";\n\nconst collectionExample = [\n    {title:'Creating a new react 3.1 application'},\n    {title:\"Testing application on version 3.1\"},\n    {title:\"Onboarding app onto turbo\"},\n    {title:\"Setting up webhooks on github\"},\n    {title:\"setting up a new github application\"},\n    {title:\"Running your application on react 2.12.1\"}\n]\n\n// will return the collection sorted by match probability\nSearch.rank({\n    query: \"cape crap treat\", \n    collection: collectionExample,  // list of string or objects to sort through\n    expander: (item) => item.title  // (optional) expand objects to specify which property to use\n    topN: 0                         // (optional) number of results to return. Zero returns all\n    ignoreTypos: false              // (optional) when false will attempt to sort through typos\n    dropNonMatches: false           // (optional) when true, items that dont match wont be included\n});\n```\n\nIf you need to know the estimates of the matches, `weighMatches()` can be used instead:\n```ts\nimport {Search} from \"@darylcecile/nsearch\";\n\n// collection must be a list of object containing at least one key or label property\nconst collectionExample = [...];\n\n// will return an object containing: 'weight', 'atomicProduct', and 'item'\n// weight is the match estimation (percentage)\n// atomicProduct is the match estimation in terms of characters (percentage)\n// item is each induvidual item\nSearch.weighMatches(collectionExample, \"cape crap treat\");\n```\n\n#### Semantic and Search Tokenization\n\nThe semantic feature can be used to tokenize search queries (inspired by [Google WebSearch - Refine Searches](https://support.google.com/websearch/answer/2466433?hl=en)).\n\n```ts\nimport {Semantics} from \"@darylcecile/nsearch\";\n\n// returns an object which may contain: query, exclude, categories, limits, ranges, and exact\n// query - the user query (excluding other filters; e.g. migration to gcp cli)\n// exclude - a list of terms to exclude (e.g. [\"azure\"])\n// categories - a dictionary of categories (e.g. {source:\"notion.so\", type:\"meeting-notes\"})\n// limits - a dictionary of terms with 'over'/'under'/'within' limits\n// ranges - a dictionary of terms with upper/lower values\n// exact - any user queries within double quotes\nSemantics.getFormattedSemantics(`source:notion.so type:meeting-notes migration to gcp -azure cli`);\n```\n\nFor more examples of usages, check out the tests. More usage details Coming soon!\n\n---\n\n### Local development\n\nTo get you started locally, pull down the repo and run one of the followin:\n\n- Install: `yarn` - To install the dependencies\n- Build: `yarn build` - To transpile the typescript files to javascript\n- Test: `yarn test` - To run the tests (You may need to build before running)\n\n\n\n---\n## Explaination and Disclaimer\n\nThis project allows for an easy way to filter and rank a collection of string/objects by its similary to a given query. For example, ordering a collection of results by a search query.\n\nThis POC was created to investigate and alternative way to filter/rank a list of strings, without checking that the query exists in each possible match. This solution is by no way the fastest or most efficient; plus it requires being able to loop through the collection multiple times - so avoid using this with large datasets if you can. My use-case for this was on a SSG search page.\n\n**Disclaimer:** This project is a PoC and not fully developed. If you decide to use the contents of this work, do so at your own risk; with all its faults and quirks - PRs and feedback are both welcome. Again, this is obviously not battle-tested - so if you need to use it as-is, proceed with caution.\n","readmeFilename":"README.md"}